В вычислениях , А слово является естественной единицей данных , используемых в конкретном процессоре конструкции. Слово - это фрагмент данных фиксированного размера, обрабатываемый как единица набором команд или аппаратным обеспечением процессора. Количество бит в слове (от размера слова , шириной слова или длины слова ) является важной характеристикой любой конструкции конкретного процессора или компьютерной архитектуры .
Размер слова отражается во многих аспектах структуры и работы компьютера; Большинство регистров в процессоре обычно имеют размер слова, и самый большой фрагмент данных, который может быть передан в рабочую память и из нее за одну операцию, во многих (не во всех) архитектурах является словом. Максимально возможный размер адреса , используемый для обозначения места в памяти, обычно представляет собой аппаратное слово (здесь «аппаратное слово» означает полноразмерное естественное слово процессора, в отличие от любого другого используемого определения).
Некоторые из самых ранних компьютеров (а также некоторые современные) использовали десятичную систему с двоичным кодом, а не простой двоичный код , обычно имеющий размер слова 10 или 12 десятичных цифр, а некоторые ранние компьютеры с десятичной системой представления не имели фиксированной длины слова вообще. Ранние двоичные системы имели тенденцию использовать длину слова, которая была несколько кратна 6-битному, причем 36-битное слово было особенно распространено на мэйнфреймах . Введение ASCII привело к переходу к системам с длиной слова, кратной 8-битной, с 16-битными машинами, которые были популярны в 1970-х годах до перехода на современные процессоры с 32 или 64 битами. [1] Специальные конструкции, такие как процессоры цифровых сигналов , могут иметь любую длину слова от 4 до 80 бит. [1]
Размер слова иногда может отличаться от ожидаемого из-за обратной совместимости с более ранними компьютерами. Если несколько совместимых вариантов или семейство процессоров имеют общую архитектуру и набор инструкций, но различаются размером слов, их документация и программное обеспечение могут стать сложными с точки зрения нотации, чтобы учесть разницу (см. Семейства размеров ниже).
Использование слов
В зависимости от того, как устроен компьютер, единицы размера слова могут использоваться для:
- Числа с фиксированной точкой
- Держатели для фиксированной точки , обычно целочисленные , числовые значения могут быть доступны в одном или нескольких разных размерах, но один из доступных размеров почти всегда будет подходящим. Другие размеры, если таковые имеются, скорее всего, будут кратны или дроби размера слова. Меньшие размеры обычно используются только для эффективного использования памяти; при загрузке в процессор их значения обычно попадают в более крупный держатель размером с слово.
- Числа с плавающей запятой
- Держатели для числовых значений с плавающей запятой обычно представляют собой либо слово, либо кратное ему слово.
- Адреса
- Держатели для адресов памяти должны иметь размер, способный выражать необходимый диапазон значений, но не быть чрезмерно большим, поэтому часто используется размер слова, хотя он также может быть кратным или долей размера слова.
- Регистры
- Регистры процессора разработаны с размером, соответствующим типу данных, которые они хранят, например, целые числа, числа с плавающей запятой или адреса. Многие компьютерные архитектуры используют регистры общего назначения , которые могут хранить данные в нескольких представлениях.
- Перенос памяти и процессора
- Когда процессор считывает из подсистемы памяти в регистр или записывает значение регистра в память, количество передаваемых данных часто является словом. Исторически такое количество битов, которое может быть передано за один цикл, в некоторых средах также называлось катеной (например, Bull GAMMA 60 ). [2] [3] В простых подсистемах памяти слово передается по шине данных памяти , которая обычно имеет ширину слова или полуслова. В подсистемах памяти, которые используют кеши , передача размером с слово - это передача между процессором и первым уровнем кеша; на более низких уровнях иерархии памяти обычно используются большие передачи (которые кратны размеру слова).
- Единица разрешения адреса
- В данной архитектуре последовательные значения адреса обозначают последовательные единицы памяти; эта единица - единица разрешения адреса. В большинстве компьютеров единицей измерения является либо символ (например, байт), либо слово. (Несколько компьютеров использовали битовое разрешение.) Если единицей измерения является слово, то можно получить доступ к большему объему памяти, используя адрес заданного размера за счет дополнительной сложности доступа к отдельным символам. С другой стороны, если единица измерения - байт, то можно адресовать отдельные символы (т. Е. Выбирать во время операции с памятью).
- инструкции
- Машинные инструкции обычно имеют размер слова архитектуры, например, в архитектурах 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 циклов, если инструкции не нужны оба поля адреса). Выполнение инструкции занимало совершенно переменное количество циклов в зависимости от размера операндов.
Пословная и байтовая адресация
Модель памяти в архитектуре сильно зависит от размера слова. В частности, в качестве слова часто выбирается разрешение адреса памяти, то есть наименьшая единица, которая может быть обозначена адресом. В этом подходе, слово адресации машины подход, значение адресов , которые различаются по одному обозначают соседние слова памяти. Это естественно для машин, которые почти всегда имеют дело с единицами слова (или нескольких слов), и имеет то преимущество, что позволяет командам использовать поля минимального размера для хранения адресов, что может допускать меньший размер команд или большее разнообразие команд.
Когда обработка байтов должна составлять значительную часть рабочей нагрузки, обычно более выгодно использовать байт , а не слово в качестве единицы разрешения адреса. Значения адресов, которые отличаются на единицу, обозначают соседние байты в памяти. Это позволяет напрямую обращаться к произвольному символу в строке символов. Слово все еще может быть адресовано, но используемый адрес требует на несколько бит больше, чем альтернатива разрешения слов. Размер слова должен быть целым числом, кратным размеру символа в этой организации. Такой подход к адресации использовался в IBM 360 и с тех пор является наиболее распространенным подходом в машинах, разработанных.
В машине с побайтовой ориентацией (с байтовой адресацией ) перемещение одного байта из одного произвольного места в другое обычно:
- ЗАГРУЗИТЬ исходный байт
- СОХРАНИТЬ результат обратно в целевой байт
К отдельным байтам можно получить доступ на машине, ориентированной на слова, одним из двух способов. Байтами можно манипулировать с помощью комбинации операций сдвига и маски в регистрах. Для перемещения одного байта из одного произвольного места в другое может потребоваться эквивалент следующего:
- ЗАГРУЗИТЬ слово, содержащее исходный байт
- СДВИГАЙТЕ исходное слово, чтобы выровнять желаемый байт с правильной позицией в целевом слове
- И исходное слово с маской, чтобы обнулить все, кроме желаемых битов
- ЗАГРУЗИТЬ слово, содержащее целевой байт
- И целевое слово с маской для обнуления целевого байта
- ИЛИ регистры, содержащие исходное и целевое слова, чтобы вставить исходный байт
- СОХРАНИТЬ результат обратно в целевом месте
В качестве альтернативы многие машины, ориентированные на слова, реализуют байтовые операции с инструкциями, используя специальные байтовые указатели в регистрах или памяти. Например, байтовый указатель PDP-10 содержал размер байта в битах (позволяющий получить доступ к байтам разного размера), битовую позицию байта в слове и адрес слова данных. Инструкции могут автоматически настраивать указатель на следующий байт, например, при операциях загрузки и депонирования (сохранения).
Полномочия двух
Разные объемы памяти используются для хранения значений данных с разной степенью точности. Обычно используемые размеры - это степень, кратная двум единицам разрешения адреса (байтам или словам). Преобразование индекса элемента в массиве в смещение адреса в памяти элемента требует только операции сдвига, а не умножения. В некоторых случаях это отношение также позволяет избежать использования операций деления. В результате большинство современных компьютерных разработок имеют размеры слов (и других размеров операндов), которые в два раза превышают размер байта.
Размер семьи
По мере того, как компьютерные конструкции становились все более сложными, центральная важность одного размера слова для архитектуры уменьшалась. Хотя более мощное оборудование может использовать более широкий диапазон размеров данных, рыночные силы оказывают давление, чтобы поддерживать обратную совместимость при одновременном расширении возможностей процессора. В результате то, что могло быть центральным размером слова в новом дизайне, должно сосуществовать в качестве альтернативного размера исходному размеру слова в обратно совместимом дизайне. Исходный размер слова остается доступным в будущих проектах, формируя основу семейства размеров.
В середине 1970-х годов DEC разработала VAX как 32-битный преемник 16-битного PDP-11 . Они использовали слово для 16-битной величины, в то время как длинное слово относилось к 32-битной величине. Это отличалось от более ранних машин, где естественная единица адресации памяти называлась словом , а величина, равная половине слова, называлась полусловом . В соответствии с этой схемой, квадраслово VAX составляет 64 бита. Они продолжили эту терминологию слова / длинного слова / четверного слова с 64-битной Alpha .
Другим примером является семейство x86 , из которого были выпущены процессоры с тремя разными длинами слов (16-разрядные, позже 32- и 64-разрядные), а слово продолжает обозначать 16-разрядное количество. Поскольку программное обеспечение обычно переносится с одного слова на другое, некоторые API и документация определяют или ссылаются на более старую (и, следовательно, более короткую) длину слова, чем полная длина слова на ЦП, для которого может быть скомпилировано программное обеспечение. Кроме того, аналогично тому, как байты используются для небольших чисел во многих программах, более короткое слово (16 или 32 бита) может использоваться в контекстах, где диапазон более широкого слова не требуется (особенно там, где это может сэкономить значительное пространство стека или кеш пространство памяти). Например, Microsoft Windows API поддерживает определение языка программирования WORD как 16-битное, несмотря на то, что API может использоваться на 32- или 64-битном процессоре x86, где стандартный размер слова будет 32 или 64 бит, соответственно. . Структуры данных, содержащие слова разного размера, называют их СЛОВО (16 бит / 2 байта), DWORD (32 бита / 4 байта) и QWORD (64 бит / 8 байтов) соответственно. Аналогичное явление развилось в ассемблере Intel x86 - из-за поддержки различных размеров (и обратной совместимости) в наборе команд некоторые мнемоники команд содержат идентификаторы «d» или «q», обозначающие «двойной», «четырехугольный». или "double-quad-", которые относятся к исходному 16-битному размеру слова архитектуры.
Как правило, новые процессоры должны использовать ту же длину слова данных и ширину виртуального адреса, что и старый процессор, чтобы иметь двоичную совместимость с этим старым процессором.
Часто тщательно написанный исходный код - написанный с учетом совместимости исходного кода и переносимости программного обеспечения - может быть перекомпилирован для работы на различных процессорах, даже на тех, которые имеют разную длину слова данных или разную ширину адресов, или и то, и другое.
Таблица размеров слов
ключ: бит: биты , d: десятичные цифры , w : размер слова архитектуры, n : переменный размер | |||||||
---|---|---|---|---|---|---|---|
Год | Компьютерная архитектура | Размер слова w | Целочисленные размеры | С плавающей точкой размеры | Размеры инструкции | Единица разрешения адреса | Размер символа |
1837 г. | Аналитическая машина Бэббиджа | 50 дн. | ш | - | Для разных функций использовалось пять разных карт, точный размер карт неизвестен. | ш | - |
1941 г. | Цузе Z3 | 22 бит | - | ш | 8 бит | ш | - |
1942 г. | ABC | 50 бит | ш | - | - | - | - |
1944 г. | Гарвард Марк I | 23 дн. | ш | - | 24 бит | - | - |
1946 (1948) {1953} | ENIAC (с панелью №16 [4] ) {с панелью №26 [5] } | 10 дней | ш , 2 ш (ш) {ш} | - | - (2 д, 4 д, 6 д, 8 д) {2 д, 4 д, 6 д, 8 д} | - - {w} | - |
1948 г. | Манчестер Бэби | 32 бит | ш | - | ш | ш | - |
1951 г. | UNIVAC I | 12 дн. | ш | - | 1 ⁄ 2 нед | ш | 1 день |
1952 г. | Машина IAS | 40 бит | ш | - | 1 ⁄ 2 нед | ш | 5 бит |
1952 г. | Быстрая универсальная цифровая вычислительная машина М-2 | 34 бит | ш? | ш | 34 бита = 4-битный код операции плюс 3 × 10-битный адрес | 10 бит | - |
1952 г. | IBM 701 | 36 бит | 1 ⁄ 2 w , w | - | 1 ⁄ 2 нед | 1 ⁄ 2 w , w | 6 бит |
1952 г. | UNIVAC 60 | н д | 1 дн, ... 10 дн | - | - | - | 2 д, 3 д |
1952 г. | ARRA I | 30 бит | ш | - | ш | ш | 5 бит |
1953 г. | IBM 702 | н д | 0 дн, ... 511 дн | - | 5 дней | d | 1 день |
1953 г. | UNIVAC 120 | н д | 1 дн, ... 10 дн | - | - | - | 2 д, 3 д |
1953 г. | ARRA II | 30 бит | ш | 2 нед | 1 ⁄ 2 нед | ш | 5 бит |
1954 (1955) | IBM 650 (с IBM 653 ) | 10 дней | ш | - (ж) | ш | ш | 2 дн. |
1954 г. | IBM 704 | 36 бит | ш | ш | ш | ш | 6 бит |
1954 г. | IBM 705 | н д | 0 дн, ... 255 дн | - | 5 дней | d | 1 день |
1954 г. | IBM NORC | 16 дней | ш | Вт , 2 Вт | ш | ш | - |
1956 г. | IBM 305 | н д | 1 дн, ... 100 дн | - | 10 дней | d | 1 день |
1956 г. | ARMAC | 34 бит | ш | ш | 1 ⁄ 2 нед | ш | 5 бит, 6 бит |
1957 г. | Autonetics Recomp I | 40 бит | w , 79 бит, 8 d, 15 d | - | 1 ⁄ 2 нед | 1 ⁄ 2 w , w | 5 бит |
1958 г. | UNIVAC II | 12 дн. | ш | - | 1 ⁄ 2 нед | ш | 1 день |
1958 г. | МУДРЕЦ | 32 бит | 1 ⁄ 2 нед | - | ш | ш | 6 бит |
1958 г. | Autonetics Recomp II | 40 бит | w , 79 бит, 8 d, 15 d | 2 нед | 1 ⁄ 2 нед | 1 ⁄ 2 w , w | 5 бит |
1958 г. | Сетунь | 6 trit (~ 9,5 бит) [ требуется пояснение ] | до 6 трите | до 3-х попыток | 4 трита ? | ||
1958 г. | Electrologica X1 | 27 бит | ш | 2 нед | ш | ш | 5 бит, 6 бит |
1959 г. | IBM 1401 | н д | 1 д, ... | - | 1 д, 2 д, 4 д, 5 д, 7 д, 8 д | d | 1 день |
1959 (подлежит уточнению) | IBM 1620 | н д | 2 д, ... | - (4 д, ... 102 д) | 12 дн. | d | 2 дн. |
1960 г. | LARC | 12 дн. | Вт , 2 Вт | Вт , 2 Вт | ш | ш | 2 дн. |
1960 г. | CDC 1604 | 48 бит | ш | ш | 1 ⁄ 2 нед | ш | 6 бит |
1960 г. | IBM 1410 | н д | 1 д, ... | - | 1 д, 2 д, 6 д, 7 д, 11 д, 12 д | d | 1 день |
1960 г. | IBM 7070 | 10 дней | ш | ш | ш | ш , д | 2 дн. |
1960 г. | PDP-1 | 18 бит | ш | - | ш | ш | 6 бит |
1960 г. | Эллиот 803 | 39 бит | |||||
1961 г. | IBM 7030 (растягивающийся) | 64 бит | 1 бит, ... 64 бит, 1 день, ... 16 дней | ш | 1 ⁄ 2 w , w | б, 1 ⁄ 2 w , w | 1 бит, ... 8 бит |
1961 г. | IBM 7080 | н д | 0 дн, ... 255 дн | - | 5 дней | d | 1 день |
1962 г. | GE-6xx | 36 бит | Вт , 2 Вт | w , 2 w , 80 бит | ш | ш | 6 бит, 9 бит |
1962 г. | UNIVAC III | 25 бит | ш , 2 ш , 3 ш , 4 ш , 6 пр, 12 д | - | ш | ш | 6 бит |
1962 г. | Компьютер управления Autonetics D-17B Minuteman I | 27 бит | 11 бит, 24 бит | - | 24 бит | ш | - |
1962 г. | UNIVAC 1107 | 36 бит | 1 ⁄ 6 Вт , 1 ⁄ 3 нед , 1 ⁄ 2 w , w | ш | ш | ш | 6 бит |
1962 г. | IBM 7010 | н д | 1 д, ... | - | 1 д, 2 д, 6 д, 7 д, 11 д, 12 д | d | 1 день |
1962 г. | IBM 7094 | 36 бит | ш | Вт , 2 Вт | ш | ш | 6 бит |
1962 г. | SDS 9 серии | 24 бит | ш | 2 нед | ш | ш | |
1963 (1966) | Компьютер наведения Apollo | 15 бит | ш | - | Вт , 2 Вт | ш | - |
1963 г. | Цифровой компьютер ракеты-носителя "Сатурн" | 26 бит | ш | - | 13 бит | ш | - |
1964/1966 | PDP-6 / PDP-10 | 36 бит | ш | Вт , 2 Вт | ш | ш | 6 бит, 9 бит (типовая) |
1964 г. | Титан | 48 бит | ш | ш | ш | ш | ш |
1964 г. | CDC 6600 | 60 бит | ш | ш | 1 ⁄ 4 нед , 1 ⁄ 2 нед | ш | 6 бит |
1964 г. | Компьютер управления Autonetics D-37C Minuteman II | 27 бит | 11 бит, 24 бит | - | 24 бит | ш | 4 бит, 5 бит |
1965 г. | Компьютер наведения Близнецов | 39 бит | 26 бит | - | 13 бит | 13 бит, 26 | -немного |
1965 г. | IBM 360 | 32 бит | 1 ⁄ 2 ш , ш , 1 д, ... 16 д | Вт , 2 Вт | 1 ⁄ 2 ш , ш , 1 1 ⁄ 2 нед | 8 бит | 8 бит |
1965 г. | UNIVAC 1108 | 36 бит | 1 ⁄ 6 Вт , 1 ⁄ 4 нед , 1 ⁄ 3 нед , 1 ⁄ 2 w , w , 2 w | Вт , 2 Вт | ш | ш | 6 бит, 9 бит |
1965 г. | PDP-8 | 12 бит | ш | - | ш | ш | 8 бит |
1965 г. | Electrologica X8 | 27 бит | ш | 2 нед | ш | ш | 6 бит, 7 бит |
1966 г. | SDS Sigma 7 | 32 бит | 1 ⁄ 2 w , w | Вт , 2 Вт | ш | 8 бит | 8 бит |
1969 г. | Четырехфазные системы AL1 | 8 бит | ш | - | ? | ? | ? |
1970 г. | MP944 | 20 бит | ш | - | ? | ? | ? |
1970 г. | PDP-11 | 16 бит | ш | 2 Вт , 4 Вт | ш , 2 ш , 3 ш | 8 бит | 8 бит |
1971 г. | TMS1802NC | 4 бит | ш | - | ? | ? | - |
1971 г. | Intel 4004 | 4 бит | ш , д | - | 2 Вт , 4 Вт | ш | - |
1972 г. | Intel 8008 | 8 бит | ш , 2 д | - | ш , 2 ш , 3 ш | ш | 8 бит |
1972 г. | Calcomp 900 | 9 бит | ш | - | Вт , 2 Вт | ш | 8 бит |
1974 г. | Intel 8080 | 8 бит | ш , 2 нед , 2 д | - | ш , 2 ш , 3 ш | ш | 8 бит |
1975 г. | ИЛЛИАК IV | 64 бит | ш | ш , 1 ⁄ 2 нед | ш | ш | - |
1975 г. | Motorola 6800 | 8 бит | ш , 2 д | - | ш , 2 ш , 3 ш | ш | 8 бит |
1975 г. | MOS Tech. 6501 MOS Tech. 6502 | 8 бит | ш , 2 д | - | ш , 2 ш , 3 ш | ш | 8 бит |
1976 г. | Крей-1 | 64 бит | 24 бит, w | ш | 1 ⁄ 4 нед , 1 ⁄ 2 нед | ш | 8 бит |
1976 г. | Зилог Z80 | 8 бит | ш , 2 нед , 2 д | - | ш , 2 ш , 3 ш , 4 ш , 5 ш | ш | 8 бит |
1978 (1980) | 16-битный x86 ( Intel 8086 ) (с плавающей запятой: Intel 8087 ) | 16 бит | 1 ⁄ 2 нед , ш , 2 д | - (2 сбн , 4 сбн , 5 сбн , 17 сб) | 1 ⁄ 2 w , w , ... 7 w | 8 бит | 8 бит |
1978 г. | VAX | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 w , w , 1 d, ... 31 d, 1 бит, ... 32 бит | Вт , 2 Вт | 1 ⁄ 4 Вт , ... 14 1 ⁄ 4 нед. | 8 бит | 8 бит |
1979 (1984) | Motorola серии 68000 (с плавающей запятой) | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 нед , ш , 2 д | - ( ш , 2 ш , 2 1 ⁄ 2 нед ) | 1 ⁄ 2 ш , ш , ... 7 1 ⁄ 2 нед | 8 бит | 8 бит |
1985 г. | IA-32 ( Intel 80386 ) (с плавающей запятой) | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 w , w | - ( ш , 2 ш , 80 бит) | 8 бит, ... 120 бит 1 ⁄ 4 Вт ... 3 3 ⁄ 4 Вт | 8 бит | 8 бит |
1985 г. | ARMv1 | 32 бит | 1 ⁄ 4 Вт , Вт | - | ш | 8 бит | 8 бит |
1985 г. | MIPS | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 w , w | Вт , 2 Вт | ш | 8 бит | 8 бит |
1991 г. | Cray C90 | 64 бит | 32 бит, w | ш | 1 ⁄ 4 нед , 1 ⁄ 2 Вт , 48 бит | ш | 8 бит |
1992 г. | Альфа | 64 бит | 8 бит, 1 ⁄ 4 нед , 1 ⁄ 2 w , w | 1 ⁄ 2 w , w | 1 ⁄ 2 нед | 8 бит | 8 бит |
1992 г. | PowerPC | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 w , w | Вт , 2 Вт | ш | 8 бит | 8 бит |
1996 г. | ARMv4 (с большим пальцем ) | 32 бит | 1 ⁄ 4 нед , 1 ⁄ 2 w , w | - | w ( 1 ⁄ 2 ш , ш ) | 8 бит | 8 бит |
2000 г. | IBM z / Architecture (с векторной функцией) | 64 бит | 1 ⁄ 4 нед , 1 ⁄ 2 ш , ш 1 д, ... 31 д | 1 ⁄ 2 w , w , 2 w | 1 ⁄ 4 нед , 1 ⁄ 2 нед , 3 ⁄ 4 Вт | 8 бит | 8 бит, UTF-16 , UTF-32 |
2001 г. | IA-64 | 64 бит | 8 бит, 1 ⁄ 4 нед , 1 ⁄ 2 w , w | 1 ⁄ 2 w , w | 41 бит | 8 бит | 8 бит |
2001 г. | ARMv6 (с VFP) | 32 бит | 8 бит, 1 ⁄ 2 w , w | - (ш, 2 нед) | 1 ⁄ 2 w , w | 8 бит | 8 бит |
2003 г. | x86-64 | 64 бит | 8 бит, 1 ⁄ 4 нед , 1 ⁄ 2 w , w | 1 ⁄ 2 w , w , 80 бит | 8 бит, ... 120 бит | 8 бит | 8 бит |
2013 | ARMv8-A и ARMv9-A | 64 бит | 8 бит, 1 ⁄ 4 нед , 1 ⁄ 2 w , w | 1 ⁄ 2 w , w | 1 ⁄ 2 нед | 8 бит | 8 бит |
Год | Компьютерная архитектура | Размер слова w | Целочисленные размеры | С плавающей точкой размеры | Размеры инструкции | Единица разрешения адреса | Размер символа |
ключ: бит: биты, d: десятичные цифры, w : размер слова архитектуры, n : переменный размер |
[6] [7]
Смотрите также
- Целое число (информатика)
Рекомендации
- ^ a b Биби, Нельсон Х.Ф. (22.08.2017). «Глава I. Целочисленная арифметика». Справочник по математическим вычислениям функций - Программирование с использованием переносимой программной библиотеки MathCW (1-е изд.). Солт-Лейк-Сити, Юта, США: Springer International Publishing AG . п. 970. DOI : 10.1007 / 978-3-319-64110-2 . ISBN 978-3-319-64109-6. LCCN 2017947446 . S2CID 30244721 .
- ^ Дрейфус, Филипп (1958-05-08) [1958-05-06]. Написано в Лос-Анджелесе, Калифорния, США. Системный дизайн Gamma 60 (PDF) . Совместная западная компьютерная конференция : контрасты в компьютерах. ACM, Нью-Йорк, Нью-Йорк, США. С. 130–133. IRE-ACM-AIEE '58 (западный). Архивировано (PDF) из оригинала на 2017-04-03 . Проверено 3 апреля 2017 .
[...] Используется внутренний код данных: количественные (числовые) данные кодируются в 4-битном десятичном коде; качественные (буквенно-цифровые) данные кодируются в 6-битном буквенно-цифровом коде. Внутренний код инструкции означает, что инструкции закодированы в прямом двоичном коде.
Что касается длины внутренней информации, квант информации называется « катеной », и он состоит из 24 битов, представляющих либо 6 десятичных цифр, либо 4 буквенно-цифровых символа. Этот квант должен содержать число, кратное 4 и 6 битам, чтобы представлять целое число десятичных или буквенно-цифровых символов. Было обнаружено, что двадцать четыре бита являются хорошим компромиссом между минимальными 12 битами, которые привели бы к слишком низкому потоку передачи из параллельного считывающего ядра памяти, и 36 битами или более, что было сочтено слишком большим квантом информации. Катена должна рассматриваться как эквивалент символа в машинах с переменной длиной слова, но ее нельзя так называть, так как она может содержать несколько символов. Он передается последовательно в основную память и из нее.
Не желая называть «квант» словом или набор символов буквой (слово - это слово, а квант - это что-то еще), было создано новое слово, которое было названо «катена». Это английское слово, которое существует в Webster's, хотя его нет во французском языке. Вебстер определяет слово «катена» как «связный ряд»; следовательно, 24-битный информационный элемент. Слово катена будет использоваться в дальнейшем.
Таким образом, внутренний код был определен. Каковы же коды внешних данных? Они зависят в первую очередь от задействованного устройства обработки информации. Гамма - 60 предназначен для обработки информации , имеющей отношение к какой - либо двоично структуре. Таким образом, перфокарта с 80 столбцами считается 960-битным информационным элементом; 12 строк, умноженных на 80 столбцов, равняются 960 возможным ударам; хранится в виде точного изображения в 960 магнитных сердечниках основной памяти с двумя столбцами карты, занимающими одну катену. [...] - ^ Блаау, Геррит Энн ; Брукс-младший, Фредерик Филлипс ; Бухгольц, Вернер (1962). «4: Единицы естественных данных» (PDF) . В Бухгольце, Вернер (ред.). Планирование компьютерной системы - Project Stretch . McGraw-Hill Book Company, Inc. / The Maple Press Company, Йорк, Пенсильвания. С. 39–40. LCCN 61-10466 . Архивировано (PDF) из оригинала на 2017-04-03 . Проверено 3 апреля 2017 .
[...] Термины, используемые здесь для описания конструкции, обусловленной конструкцией машины, помимо долота , перечислены ниже.
Байт обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно в блоки ввода-вывода и из них. Здесь используется термин, отличный от символа , потому что данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. Е. Разные размеры байтов). При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь отношения к реальным символам. (Термин придуман от укуса , но respelled , чтобы избежать случайной мутации к биту .) Слово состоит из числа бит данных , передаваемых параллельно от или к памяти в одном цикле памяти. Таким образом, размер слова определяется как структурное свойство памяти. (Термин катена был придуман для этой цели разработчиками компьютера Bull GAMMA 60 .) Блок относится к количеству слов, переданных в или из блока ввода-вывода в ответ на одну команду ввода-вывода. Размер блока - это структурное свойство устройства ввода-вывода; это могло быть исправлено разработкой или оставлено для изменения программой. [...]
- ^ Клиппер, Ричард Ф. (1948-09-29). «Система логического кодирования, применяемая к ENIAC (электронный числовой интегратор и компьютер)» . Абердинский испытательный полигон, Мэриленд, США: лаборатории баллистических исследований . Отчет № 673; Проект № TB3-0007 Отдела исследований и разработок Управления боеприпасов . Проверено 5 апреля 2017 .
- ^ Клиппер, Ричард Ф. (1948-09-29). «Система логического кодирования, применяемая к ENIAC» . Абердинский испытательный полигон, Мэриленд, США: лаборатории баллистических исследований . Раздел VIII: Модифицированный ENIAC . Проверено 5 апреля 2017 .
- ^ Блаау, Геррит Энн ; Брукс-младший, Фредерик Филлипс (1997). Компьютерная архитектура: концепции и эволюция (1-е изд.). Эддисон-Уэсли . ISBN 0-201-10557-8. (1213 страниц) (NB. Это однотомное издание. Этот труд был также доступен в двухтомном варианте.)
- ^ Ральстон, Энтони; Рейли, Эдвин Д. (1993). Энциклопедия компьютерных наук (3-е изд.). Ван Ностранд Рейнхольд . ISBN 0-442-27679-6.