Какова длина машинного слова в байтах для 32-разрядного процессора

Обновлено: 10.12.2024

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

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

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

Современные процессоры, включая встроенные системы, обычно имеют размер слова 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, или кратны размеру «char», который составляет его часть. Это естественный выбор, поскольку инструкции и данные обычно используют одну и ту же подсистему памяти. В гарвардских архитектурах размер слов инструкций и данных не обязательно должен быть связан, поскольку инструкции и данные хранятся в разных памяти; например, процессор электронного телефонного коммутатора 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-битному размеру слова архитектуры.

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

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

Число битов процессора представляет собой размер слова.

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

Определяет, насколько большим может быть объем памяти (т. е. насколько большим может быть номер смещения памяти). См. объем памяти

Статьи по теме

Управление

Значения

Размер слова зависит от процессора.

Компьютерный мир находится на этапе перехода от 8-битных к 16-битным, 32-битным и 64-битным компьютерам.

Ограничение

Единственным ограничением является 32-битный или 64-битный режим процесса.

Документация/Справочник

Рекомендуемые страницы

Память — (основная|основная|внутренняя) память

Память – (основная|основная|внутренняя) память. Основная память также известна как: * первичная память * внутренняя память (в отличие от внешней памяти, такой как жесткие диски), которую часто называют si ".

Сегмент памяти — Регистр сегмента

Сегмент памяти — регистр сегмента О регистрах сегментов (CS, DS, SS, ES, FS и GS) хранятся 16-битные селекторы сегментов. Для доступа к определенному сегменту в памяти используется селектор сегментов для этого сегмента ".

Компьютер — Центральный процессор (ЦП)

Компьютер — центральный процессор (ЦП) О ЦП — это просто имя устройства, которое указывает на устройство, управляющее компьютерной системой. ЦП также известен как: * a * или основная операция ".

Windows — процессор (архитектура набора инструкций и размер слова — 32 или 64 бита)

Windows - ЦП (архитектура набора инструкций и размер слова - 32 или 64 бита) Информация о Windows, в частности: * размер и размер слова * 64-битный * и 32-битный * ключ реестра ".

Каков размер слова ОЗУ в 32/64-битной машине (процессоре)?

Этот вопрос сводит меня с ума. Каков именно размер слова, которое сохраняет данные в самой оперативной памяти на 64-битных машинах, таких как микропроцессоры Intel Core i5?

Кроме того, изменяется ли размер слова, содержащего данные, с 32 бит на 64 бит?

2 ответа 2

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

Однако с тех пор, как байтовая адресация стала популярной, эта концепция стала размытой. (Вероятно, за это мы можем отдать должное IBM System/360 и PDP-11 со стороны миникомпьютера.)

С точки зрения адресации памяти, определенной архитектурой ЦП, то есть того, как программисты видят машину, понятие "слово" не существует в x86/x64, если только вы не считаете его синонимом байтов. Каждый байт памяти имеет свой собственный адрес, и адрес байта также является адресом любой более крупной области, которая начинается с этого байта (расширяясь до адресов с более высокими номерами). Мы, конечно, можем перемещать один, два, четыре или (на x64) восемь байтов за раз между регистром и ОЗУ — или намного больше, из памяти в память, с помощью инструкций REP — но адрес, который мы утверждаем, по-прежнему принадлежит адресу байт. Мы можем выполнять арифметические действия над словами всех этих размеров. (И другие.)

Если рассматривать регистры, обычно считается, что "размер слова" машины такой же, как и у ее регистров общего назначения. Это будет 32 бита на x86, 64 бита на x64. В большинстве архитектур размер GPR — это размер наибольшего целого числа, с которым ЦП может выполнять простые арифметические действия с помощью одной инструкции.

Теперь давайте внесем больше путаницы. !

С точки зрения платформы (материнская плата, модули и микросхемы ОЗУ и т. д.) на всех машинах, использующих «товарные» процессоры и наборы микросхем Intel и AMD, ОЗУ адресуется 64-разрядными фрагментами — я полагаю, вы могли бы назвать их словами . Вы могли видеть это очень ясно на более ранних процессорах, которые имели отдельные контакты для адреса и данных: наименее значимый адресный контакт называется A3, а не A0! Биты физического адреса A0, A1 и A2 никогда не покидают процессор. Но программисты таких адресов никогда не увидят.

В средах программирования Microsoft, производных от C, "слово" имеет длину 16 бит. Так было задолго до Microsoft, а имя и определение типа данных были перенесены в 32- и 64-разрядные среды. для совместимости. «Двойное слово» (или DWORD или LONG, для «длинного слова», которое было распространено в VAX) составляет 32 бита. 64-битные целые числа в архитектуре называются "четверными словами", но в C обычно имеют более конкретные имена, например UINT64 (64-битное целое, беззнаковое).

Итак, это зависит от того, где вы находитесь в системе и на что смотрите. Обычно в наши дни мы вообще не думаем о «размере слова», а скорее о «размере GPR».

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

Чтение: Приложение по основам работы с компьютером, стр. 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 строки) Быстро

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

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

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