Сколько бит памяти занимает слово микропроцессора

Обновлено: 03.07.2024

Кто-то говорит, что в 32-битной ОС СЛОВО означает 16-битную, правда?

@compiler В каком еще контексте? Или вы действительно думаете, что на открытые вопросы есть ответы в закрытой форме?

3 ответа 3

Понятие "слово" имеет несколько значений. В этом вопросе заключено 3 значения.

  • Общий термин "слово процессора" в контексте архитектуры ЦП
  • «Разрядность» программного обеспечения/ОС по сравнению с «разрядностью» оборудования.
  • Термин WORD, написанный заглавными буквами и означающий 16-битное значение – это часть API языка C для Win32 для Windows.

При описании определения типа Win32 WORD также всплывает следующее:

  • Концепция набора инструкций Intel/AMD: "Слово", "Двойное слово" и "Квадрослово"

Общий термин «слово процессора» в контексте архитектур ЦП

В обычном/общем использовании слово процессора относится к размеру регистра процессора. Это также может относиться к размеру инструкции ЦП или размеру указателя (в зависимости от конкретной архитектуры ЦП). В простых случаях 32-битный процессор будет иметь 32-битный размер слова (и размер указателя). 64-битный процессор будет иметь 64-битный размер слова (и размер указателя).

В Википедии есть статья об этом понятии "процессорное слово", в которой подробно описаны все общие варианты использования этого термина, а также размеры для нескольких текущих и исторических архитектур ЦП.

«Разрядность» программного обеспечения/ОС и «разрядность» оборудования

Для запуска "64-разрядного" программного обеспечения необходимы "64-разрядный" ЦП и "64-разрядная" ОС. Это, вероятно, очевидно.

«64-битное программное обеспечение» использует 64-битные инструкции (например, сложение 64-битных чисел или одновременное копирование 64-битных данных из регистра процессора в ОЗУ). Он также может использовать 64-битный размер указателя. Это означает, что вместо того, чтобы использовать максимум 4 гигабайта ОЗУ (например, "32-разрядное программное обеспечение"), он теоретически может использовать около 17 миллиардов гигабайт ОЗУ (16 экзабайт).

«64-разрядный» процессор x64/x86 также может запускать «32-разрядное» (или даже «16-разрядное») программное обеспечение. Это можно сделать без каких-либо изменений в коде и без пересборки программного обеспечения. Это связано с тем, что все старые инструкции ЦП все еще существуют в новых ЦП, и они обратно совместимы.

Эти понятия не совсем совпадают с общим понятием "процессорное слово", но тесно связаны между собой.

Примечание: эта концепция становится немного сложнее, когда вы говорите о старых и более специализированных процессорах (особенно о старых системах видеоигр), но на самом деле вопрос был не о них, поэтому я не буду вдаваться в подробности. Обычно о них говорят как о «64-битных» или «8-битных» системах, но на самом деле все немного сложнее. См. вики-статью «processor word», на которую я дал ссылку выше, или статью о конкретной рассматриваемой системе.

Конкретный контекст вопроса — СЛОВО , заглавными буквами

Заглавные буквы и конкретные размеры в вопросе (16 бит для WORD , в 32-битной ОС) подразумевают нечто иное, чем общий термин "процессорное слово".

В устаревшем программировании Windows (Win32 API) определен макрос WORD , размер которого составляет 16 бит. Это имело смысл, когда процессоры были 16-битными. Однако даже если вы скомпилируете код, содержащий этот макрос, для 32-битной или 64-битной цели, он все равно будет 16-битным. DWORD в Win32 API имеет длину 32 бита, а QWORD — 64 бита.

Это связано с тем, что Microsoft очень старается в своем Win32 API поддерживать обратную совместимость без внесения каких-либо изменений в код. По большей части вы можете скомпилировать образцы Win32 из эпохи Windows 95 без изменений, и они будут работать точно так же и сегодня.

Майкрософт, скорее всего, унаследовал эту схему именования из документации Intel (и, возможно, AMD).

Концепция набора инструкций Intel/AMD "Слово", "Двойное слово" и т. д.

В документах Intel слово "Word" (Win32 WORD) имеет длину 16 бит. «Двойное слово» (Win32 DWORD) составляет 32 бита. «Квадрослово» (Win32 QWORD) составляет 64 бита. Связанные имена ассемблерных инструкций также отражают эту схему именования (например, инструкции MMX Add Packed Integers PADD: PADDW , PADDD , PADDQ ).

Эта схема именования не обязательно имеет смысл с точки зрения общей концепции "процессорного слова", поскольку эти концепции относятся только к части регистра. Однако они имеют смысл с точки зрения создания стабильного интерфейса программирования для программ x86. Это большая часть того, почему вы можете использовать «32-разрядные» (и 16-разрядные) программы поверх «64-разрядной» ОС.

«В вычислениях слово — это естественная единица данных, используемая процессором определенной конструкции. Слово — это фрагмент данных фиксированного размера, обрабатываемый как единое целое набором инструкций или аппаратным обеспечением процессора. Количество бит в слове (размер слова, ширина слова или длина слова) является важной характеристикой любой конкретной конструкции процессора или компьютерной архитектуры."

В вычислениях слово — это естественная единица данных, используемая процессором определенной конструкции. Слово — это фрагмент данных фиксированного размера, обрабатываемый как единое целое набором инструкций или оборудованием процессора. Количество битов в слове (размер слова, ширина слова или длина слова) является важной характеристикой любой конкретной конструкции процессора или архитектура компьютера.

Размер слова отражается во многих аспектах структуры и работы компьютера; большинство регистров в процессоре обычно имеют размер слова, и самый большой фрагмент данных, который может быть передан в рабочую память и из нее за одну операцию, во многих (не во всех) архитектурах является словом. Максимально возможный размер адреса, используемый для обозначения местоположения в памяти, обычно является аппаратным словом (здесь «аппаратное слово» означает полноразмерное естественное слово процессора, в отличие от любого другого используемого определения).

Современные процессоры, включая встроенные системы, обычно имеют размер слова 8, 16, 24, 32 или 64 бита, в то время как современные компьютеры общего назначения обычно используют 32 или 64 бита. Цифровые процессоры специального назначения, такие как, например, DSP, могут использовать другие размеры, и многие другие размеры использовались исторически, включая 9, 12, 18, 24, 26, 36, 39, 40, 48 и 60 бит. Плита является примером системы с более ранним размером слова. Некоторые из самых ранних компьютеров (а также некоторые современные) использовали двоично-десятичный формат, а не обычный двоичный код, обычно с размером слова 10 или 12 десятичных цифр, а некоторые ранние десятичные компьютеры вообще не имели фиксированной длины слова.

Размер слова иногда может отличаться от ожидаемого из-за обратной совместимости с более ранними компьютерами. Если несколько совместимых вариантов или семейств процессоров имеют общую архитектуру и набор инструкций, но различаются размерами слов, их документация и программное обеспечение могут стать сложными для записи, чтобы учесть разницу (см. Семейства размеров ниже).

Использование слов

В зависимости от того, как организован компьютер, единицы размера слова могут использоваться для:

Числа с фиксированной точкой Держатели для числовых значений с фиксированной точкой, обычно целочисленных, могут быть доступны в одном или нескольких различных размерах, но одним из доступных размеров почти всегда будет слово. Другие размеры, если они есть, скорее всего, будут кратными или дробными от размера слова. Меньшие размеры обычно используются только для эффективного использования памяти; при загрузке в процессор их значения обычно попадают в более крупный держатель размером со слово. Числа с плавающей запятой Держателями для числовых значений с плавающей запятой обычно являются либо слово, либо кратное слову. Адреса Держатели для адресов памяти должны иметь размер, способный выразить необходимый диапазон значений, но не быть чрезмерно большими, поэтому часто используемый размер - это слово, хотя он также может быть кратным или дробным от размера слова. Регистры Регистры процессора рассчитаны на размер, соответствующий типу данных, которые они содержат, т.е. целые числа, числа с плавающей запятой или адреса. Во многих компьютерных архитектурах используются «регистры общего назначения», которые могут хранить любой из нескольких типов данных, эти регистры должны иметь размер, чтобы хранить самые большие типы, исторически это размер слова архитектуры, хотя все более крупные регистры специального назначения имеют был добавлен для работы с новыми типами. Передача памяти процессору Когда процессор читает из подсистемы памяти в регистр или записывает значение регистра в память, объем передаваемых данных часто представляет собой слово. Исторически это количество битов, которое можно было передать за один цикл, также называлось catena в некоторых средах (например, Bull GAMMA 60 (fr)). В простых подсистемах памяти слово передается по шине данных памяти, ширина которой обычно равна слову или полуслову. В подсистемах памяти, использующих кеши, передача размером слова — это передача между процессором и первым уровнем кеша; на более низких уровнях иерархии памяти обычно используются более крупные передачи (кратные размеру слова). Единица разрешения адреса В данной архитектуре последовательные значения адреса обозначают последовательные единицы памяти; эта единица является единицей разрешения адреса. В большинстве компьютеров единицей измерения является либо символ (например, байт), либо слово. (Некоторые компьютеры использовали битовое разрешение.) Если единицей является слово, то можно получить доступ к большему объему памяти, используя адрес заданного размера за счет дополнительной сложности для доступа к отдельным символам. С другой стороны, если единицей измерения является байт, то можно адресовать отдельные символы (т. е. выбирать их во время работы с памятью). Инструкции Машинные инструкции обычно имеют размер слова архитектуры, например, в архитектуре RISC, или кратны размеру «символа», который составляет его часть. Это естественный выбор, поскольку инструкции и данные обычно используют одну и ту же подсистему памяти.В гарвардских архитектурах размер слов инструкций и данных не обязательно должен быть связан, поскольку инструкции и данные хранятся в разных памяти; например, процессор электронного телефонного коммутатора 1ESS имел 37-битные инструкции и 23-битные слова данных.

Выбор размера слова

При проектировании компьютерной архитектуры выбор размера слова имеет существенное значение. Существуют соображения проектирования, которые поощряют определенные размеры битовых групп для конкретных применений (например, для адресов), и эти соображения указывают на разные размеры для разных применений. Однако соображения экономии при проектировании сильно подталкивают к одному размеру или очень небольшому количеству размеров, связанных кратными или дробными (дольными) размерами с основным размером. Этот предпочтительный размер становится размером слова архитектуры.

В прошлом размер символа (до кодирования символов с переменным размером) был одним из факторов, влияющих на разрешение единицы адреса и выбор размера слова. До середины 1960-х символы чаще всего хранились в шести битах; это позволяло использовать не более 64 символов, поэтому алфавит был ограничен прописными буквами. Поскольку с точки зрения времени и пространства эффективно, чтобы размер слова был кратен размеру символа, размеры слова в этот период обычно были кратны 6 битам (в двоичных машинах). Тогда обычным выбором было 36-битное слово, которое также является хорошим размером для числовых свойств формата с плавающей запятой.

После появления дизайна IBM System/360, в котором использовались восьмибитные символы и поддерживались строчные буквы, стандартный размер символа (точнее, байта) стал восьмибитным. После этого размеры слов, естественно, были кратны восьми битам, причем обычно использовались 16, 32 и 64 бита.

Архитектура переменных слов

Ранние конструкции машин включали в себя некоторые, которые использовали то, что часто называют переменной длиной слова. В этом типе организации числовой операнд не имеет фиксированной длины, а скорее его конец обнаруживается, когда встречается символ со специальной маркировкой, часто называемой словесной меткой. Такие машины часто использовали двоично-десятичные числа для чисел. К этому классу машин относятся IBM 702, IBM 705, IBM 7080, IBM 7010, UNIVAC 1050, IBM 1401 и IBM 1620.

Большинство этих машин работают с одной единицей памяти за раз, и, поскольку каждая инструкция или данные имеют длину в несколько единиц, каждой инструкции требуется несколько циклов только для доступа к памяти. Эти машины часто довольно медленные из-за этого. Например, выборка инструкции в IBM 1620 Model I занимает 8 циклов только для чтения 12 цифр инструкции (в Model II это время сократилось до 6 циклов или 4 циклов, если инструкции не нужны оба адресных поля). Выполнение инструкции занимало совершенно переменное количество циклов, в зависимости от размера операндов.

Адресация слов и байтов

На модель памяти архитектуры сильно влияет размер слова. В частности, в качестве слова часто выбирали разрешение адреса памяти, то есть наименьшую единицу, которую можно обозначить адресом. В этом подходе значения адреса, отличающиеся на единицу, обозначают соседние слова памяти. Это естественно для машин, которые почти всегда оперируют единицами слов (или нескольких слов), и имеет то преимущество, что позволяет инструкциям использовать поля минимального размера для содержания адресов, что может позволить меньший размер инструкции или большее разнообразие инструкций. /p>

Когда обработка байтов должна составлять значительную часть рабочей нагрузки, обычно более выгодно использовать байт, а не слово, в качестве единицы разрешения адреса. Это позволяет напрямую обращаться к произвольному символу в строке символов. Слово по-прежнему может быть адресовано, но используемый адрес требует на несколько бит больше, чем альтернатива разрешения слова. Размер слова должен быть целым числом, кратным размеру символа в этой организации. Этот подход к адресации использовался в IBM 360 и с тех пор является наиболее распространенным подходом в машинах, разработанных.

Доступ к отдельным байтам на компьютере, ориентированном на слова, можно получить одним из двух способов. Байтами можно манипулировать с помощью комбинации операций сдвига и маски в регистрах. Для перемещения одного байта из одного произвольного места в другое может потребоваться эквивалент следующего:

  • ЗАГРУЗИТЬ слово, содержащее исходный байт
  • Сдвиньте исходное слово, чтобы выровнять нужный байт по правильной позиции в целевом слове.
  • И исходное слово с маской для обнуления всех битов, кроме нужных.
  • ЗАГРУЗИТЬ слово, содержащее целевой байт
  • И целевое слово с маской для обнуления целевого байта
  • ИЛИ регистры, содержащие исходное и целевое слова, для вставки исходного байта
  • СОХРАНИТЬ результат в целевом расположении

Кроме того, многие машины, ориентированные на слова, реализуют байтовые операции с инструкциями, используя специальные указатели байтов в регистрах или памяти. Например, указатель байта PDP-10 содержит размер байта в битах (что позволяет получить доступ к байтам разного размера), позицию бита байта в слове и адрес слова данных. Инструкции могут автоматически настраивать указатель на следующий байт, например, при операциях загрузки и размещения (сохранения).

Степени двойки

Для хранения значений данных с разной степенью точности используются разные объемы памяти. Обычно используемые размеры представляют собой степень двойки, кратную единице разрешения адреса (байт или слово). Преобразование индекса элемента в массиве в адрес элемента требует только операции сдвига, а не умножения. В некоторых случаях это отношение может также избежать использования операций деления. В результате большинство современных компьютерных систем имеют размеры слов (и других размеров операндов), которые в два раза превышают размер байта.

Размер семей

По мере усложнения конструкции компьютеров центральное значение размера одного слова для архитектуры уменьшилось. Хотя более мощное аппаратное обеспечение может использовать более широкий спектр размеров данных, рыночные силы вынуждают поддерживать обратную совместимость при расширении возможностей процессора. В результате то, что могло бы быть центральным размером слова в новом дизайне, должно сосуществовать в качестве альтернативного размера исходному размеру слова в обратно совместимом дизайне. Исходный размер слова остается доступным в будущих дизайнах, образуя основу семейства размеров.

В середине 1970-х компания DEC разработала модель VAX, которая должна была прийти на смену PDP-11. Они использовали word для 16-битной величины, а longword для 32-битной величины. Это отличалось от более ранних машин, где естественная единица адресации памяти называлась словом, а количество, равное половине слова, называлось полусловом. В соответствии с этой схемой четверное слово VAX имеет длину 64 бита.

Другим примером является семейство x86, в котором были выпущены процессоры с тремя разными длинами слов (16-разрядные, позже 32- и 64-разрядные). Поскольку программное обеспечение обычно переносится с одной длины слова на другую, некоторые API и документация определяют или ссылаются на более старую (и, следовательно, более короткую) длину слова, чем полная длина слова на ЦП, для которого может быть скомпилировано программное обеспечение. Кроме того, аналогично тому, как байты используются для небольших чисел во многих программах, более короткое слово (16 или 32 бита) может использоваться в контекстах, где диапазон более широкого слова не требуется (особенно когда это может сэкономить значительное пространство стека или кэша). пространство памяти). Например, Microsoft Windows API поддерживает определение языка программирования WORD как 16-битное, несмотря на то, что API может использоваться на 32- или 64-битном процессоре x86, где стандартный размер слова будет быть 32 или 64 бита соответственно. Структуры данных, содержащие слова такого разного размера, обозначаются как WORD (16 бит/2 байта), DWORD (32 бита/4 байта) и QWORD (64 бит/8 байт) соответственно. Аналогичное явление развилось в языке ассемблера Intel x86 - из-за поддержки различных размеров (и обратной совместимости) в наборе инструкций некоторые мнемоники инструкций содержат идентификаторы «d» или «q», обозначающие «двойной-», «квадратный-» или "двойной-четыре-", которые относятся к исходному 16-битному размеру слова архитектуры.

Как правило, новые процессоры должны использовать ту же длину слова данных и ширину виртуального адреса, что и старый процессор, чтобы иметь двоичную совместимость с этим старым процессором.

Часто тщательно написанный исходный код — написанный с учетом совместимости исходного кода и переносимости программного обеспечения — может быть перекомпилирован для работы на различных процессорах, даже с разной длиной слова данных или разной шириной адреса, или и тем, и другим.

Название: Основы работы с компьютером

Чтение: Приложение по основам работы с компьютером, стр. 1–11

Знакомство с двоичной нумерацией и количеством возможных комбинаций, связанных с битами и байтами

Знать три основных компонента компьютера

Понимать базовую архитектуру шины

Знайте, что ограничивает общую скорость обработки

Описать характеристики базовых систем памяти

Знать характеристики различных интерфейсов ввода-вывода

Современные боевые системы в значительной степени зависят от компьютеров. На самом деле в некотором смысле можно утверждать, что современная система вооружения фактически построена вокруг центрального компьютера, который стал самым важным элементом оборудования в системе.

<ПР>
  • Получать, хранить, обрабатывать и доставлять информацию
  • Связь с другими системами
  • Разработка решений для пожаротушения
  • Проверьте состояние системы
  • <ОЛ>
  • Как работают компьютеры?
  • Внутренне все компьютеры работают в двоичной цифровой среде, т.е. 0,1 вкл/выкл

    Итак, давайте рассмотрим, что такое двоичная система счисления:

    двоичный код — это основание 2, мы знакомы с основанием 10

    в двоичном формате есть только 2 числа 0 и 1

    все остальные числа представлены комбинациями 0 и 1 (см. пример p2)

    каждая цифра представляет собой степень числа 2, т. е. единицы равны 2 0 , десятки равны 2 1 , сотни равны 2 2 и т. д.

    поэтому число 1001101 равно 1 x 2 6 + 1 x 2 3 + 1 x 2 2 + 1 x 2 0 = 64 + 8 + 4 + 1 = 77

    В 8-битной машине у нас есть 8 цифр , поэтому максимальное количество доступных комбинаций: 2 7 + 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 1 + 2 0 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 + все нули = 256

    В общем случае формула

    где N = количество комбинаций (или чисел)

    и b= количество битов, чем больше битов, тем больше комбинаций

    Два байта вместе, как в 16-битной машине, составляют слово, 32-битная машина — это 4 байта, то есть двойное слово, а 64-битная машина — это 8 байтов, то есть четверное слово.

    Компьютеры различаются, но все они будут иметь некоторые основные компоненты, такие как ЦП, память, соединительная шина и интерфейс ввода/вывода (I/O).

    Это выполняет операции.

    Двоичный код на самом фундаментальном уровне.

    Таблицы истинности (см. стр. 4)

    (если вы добавите два числа, которые вместе превышают разрядность машины, вы получите классическую "ошибку переполнения"

    <ПР>
  • Блок управления — управляет работой ЦП в целом.
  • Арифметико-логическое устройство — выполняет основные арифметические и логические операции.
  • Внутренняя память - временное хранилище для данных во время вычислений и хранит адрес программных инструкций.
  • Системная шина – соединяет остальные три компонента.
  • ЦП работает по 3-этапному циклу

    Выбрать — получить следующую инструкцию и сохранить

    Декодировать — интерпретировать инструкции и собирать любые другие необходимые данные

    Выполнить - выполнить инструкцию и сохранить результат во внутренней памяти

    Соединяет все компоненты. Три части:

    BUS работает по 4-этапному циклу

    Расположение данных размещается на адресной шине

    Адрес сохраняется во временной памяти (освобождает адресную шину)

    Данные извлекаются и помещаются на шину данных

    Данные отправляются в ЦП

    Время движения автобуса контролируется часами. например 200 МГц означает 200 000 000 тактовых циклов в секунду. Каждый тактовый цикл является шагом в рабочем процессе. Итак, 200 млн шагов в секунду

    Каждый шаг может включать 64 бита, поэтому у вас может быть 64 x 200M = 12,8 гигабит/с

    ПЗУ — память только для чтения — программируется ультрафиолетовым светом (СППЗУ) или напряжением (ЭСППЗУ), например. CD-ROM

    ОЗУ — оперативное запоминающее устройство — возможность чтения и записи

    SRAM – статическая оперативная память – сохраняется даже после отключения питания — не требует обновления

    DRAM – динамическая RAM – требуется постоянное обновление

    Время доступа: время, необходимое для извлечения фрагмента данных. SRAM быстрее, но дороже и больше

    Если время доступа больше, чем тактовый цикл, система должна создать паузу в ожидании доступа к памяти.

    например. система Pentium 233 МГц имеет тактовый цикл 1/233 МГц = 4 нс, что означает, что она может выполнять операцию каждые 4 нс. Если время доступа к памяти составляет 10 нс, система должна ждать 6 нс между операциями, чтобы дождаться доступа к памяти.

    Емкость: сколько данных можно сохранить. Измеряется в байтах (8 бит)

    Режим передачи: как данные отправляются после первого запроса (устраняет циклы)

    EDO – 2 цикла после первого запроса

    Кэш: высокоскоростная (малое время доступа) память ограниченного объема. (SRAM) В нем хранятся наиболее часто используемые данные для экономии времени. Сначала система проверяет кэш, а затем оперативную память

    Модемы, мониторы, жесткие диски, компакт-диски, мышь, клавиатура, принтер и т. д.

    У вас может быть много проблем совместимости с устройствами ввода-вывода, поскольку все они созданы разными производителями, обычно являются аналоговыми, а интерфейсы не стандартизированы в отрасли.

    Последовательный режим — все биты передаются в одной строке по порядку. Медленно

    Параллельный режим — биты передаются по отдельным строкам (например, 32 бита — 32 строки) Быстро

    Синхронная передача — устройство ввода-вывода и ЦП сохраняют общую синхронизацию между собой, чтобы данные могли быть отправлены в любое время.

    Асинхронный режим требует команды запуска и остановки, чтобы сообщить компьютеру о поступлении данных.

    Я готовлюсь к экзамену в конце семестра, и меня смущает следующий вопрос. Если ЦП имеет 16-битную адресную шину и 8-битные слова, сколько памяти в КБ он может адресовать? Насколько я понимаю, он может адресовать 64 КБ, однако для этого я просто использовал 2 ^ 16 = 65 536. В этом расчете никогда не учитывались 8-битные слова, поэтому я не уверен, что он правильный. И что означают 8-битные слова?

    Вы использовали его косвенно: общий объем адресуемой памяти 2^16*8 бит. Поскольку один байт = 8 битам, это 2 ^ 16 байтов, то есть 65536 байтов или 64 КиБ. Обратите внимание, что K — это префикс SI для 1000. Если вы имеете в виду 1024, используйте Ki.

    Обратите внимание на разницу между килобайтами префикса SI (1000 байт) и кибибайтами двоичного префикса (1024 байта). 2^16 = 65 536 = 64 киби ~ 65,5 кг. Искомый ответ вероятно тот, где килограмм понимается как киби, но бывают случаи, когда разница действительно имеет значение. Если вы хотите быть полностью уверенным, выберите безопасный путь и укажите количество байтов и предложите перевод в более удобные единицы, такие как килобайты или кибибайты, для удобства вашего учителя. Сравните Википедию: двоичный префикс. Микросхемы памяти обычно указывают, например, 65 536x8 бит.

    Я полагаю, вы не предполагаете обмена банками. Большинство 16-битных процессоров используют ту или иную форму подкачки банков, что затрудняет ответ на этот вопрос.

    5 ответов 5

    Слово в большинстве архитектур — это самый большой фрагмент данных, который можно передать в рабочую память и из нее за одну операцию.

    Максимально возможный размер адреса, используемый для обозначения местоположения в памяти, обычно называется аппаратным словом.

    Таким образом, ваш ЦП сможет адресовать 64 КБ (2^16), но сможет передать за одну операцию только 8 бит.

    Я уверен, что именно этот ответ и нужен учителю, но действительно ли он правильный? Не могли бы вы использовать что-то вроде PAE, чтобы разрешить трехуровневую иерархию (или даже больше), чтобы разрешить процессору доступ к более чем 64 КБ? Я не эксперт по оборудованию, но разве Commodore 128 не смог сделать что-то подобное на 8-битном слове и 16-битной шине, разрешив переключение банков ОЗУ?

    Не совсем уверен, что понял ваше предложение "за одну операцию можно будет передать только 256Б (2^8)"? Он может передавать только 1 слово = 1 байт = 8 бит за одну операцию.

    @davidgo по-прежнему PAE требует соответствующего размера адресной шины. ЦП Intel, поддерживающие PAE, имеют 36-битную адресную шину.

    PAE — это более или менее торговая марка/функция, характерная для современных процессоров x86. Да, схемы для косвенной адресации больших объемов памяти были реализованы на протяжении веков (например, XMS), они, в конце концов, рассматривают подсистему памяти как периферийное устройство, которое можно постоянно перенастраивать, чтобы предоставлять другую память в меньшее адресное пространство. Также см. модель сегментированной памяти старой школы x86.

    Машинное слово, или обычно просто слово, — это самая большая единица данных, с которой ЦП может работать как единое целое, используя общие инструкции. Это не имеет ничего общего с адресацией памяти.

    Но я использовал машины, где единица разрешения адреса составляла 16 бит. (Поэтому концепция имеет смысл.)

    @glglgl — это очень похоже. Я не верю, что существуют какие-либо архитектуры, в которых не используется адресная единица либо 8 бит, или их размер слова.

    Я не согласен с утверждением, что слово — это самая большая единица, которой процессор может манипулировать в целом. Intel i7 имеет 64-битную шину данных и может использовать 256-битные инструкции SIMD. Если Википедия верна, то слово относится к ширине шины данных, а не к внутренним ресурсам процессора.

    @ThomasWeller: 8088 имеет 8-битную шину данных, но все же 16-битные инструкции. Фактически это 8086 с меньшей шиной данных. Примечание: ширина шины данных и фактическая передача также различаются (подумайте о смещенных данных).

    Кроме того, что означают 8-битные слова?

    В контексте размер слова соответствует размеру адреса для описания шины памяти. В памяти есть 16 бит, поэтому она может выбирать 64-килобайтные ячейки. Затем каждое местоположение содержит 8 бит.

    Размер слова здесь может соответствовать или не соответствовать размеру вычислительной единицы ЦП, а также может соответствовать или не соответствовать логической гранулярности адресации.

    Например, ЦП может объявить 16-битную шину (для этой цели). Он использует в своих инструкциях 16-битные адреса, и как в вашем примере имеет 64ки. Но у него 15 бит адресной шины и 16 бит шины данных. Ему нужно только 32k адресов, и он всегда получает 2 байта для каждого местоположения. (Если инструкции требуется 1 байт, она отправит адрес с отсутствующим наименьшим битом, выберет оба байта на этом шаге, а затем просмотрит наименьший бит желаемого адреса, чтобы решить, какую половину использовать.)

    Обратите внимание, что переключение банков, PAE и т. д., упомянутые другими, здесь неуместны. Блок управления памятью может использовать 16-битные адреса и иметь 20-битный аппаратный адрес, поэтому ЦП должен переключаться и сопоставлять вещи, чтобы использовать реальный диапазон 20-битных адресов микросхем ОЗУ, к которым можно обращаться.

    Читайте также: