Машинное слово

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Машинное слово — машинно-зависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки). На ранних компьютерах размер слова совпадал также с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики аппаратной платформы:

Размер машинного слова на различных архитектурах[править | править исходный текст]

На ранних компьютерах встречалась самая разная длина слова. В те времена компьютеры делились на бизнес-ориентированные и научные. В бизнес-ориентированных компьютерах, занимавшихся экономическими и бухгалтерскими расчетами, не требовалась высокая точность вычислений, так как суммы всегда округлялись лишь до двух знаков после запятой. В научных же вычислениях наиболее часто проводятся операции с вещественными числами, и точность вычислений с большим количеством знаков после запятой очень важна. Так как модули памяти в ранних компьютерах стоили дорого, выбор размера слова напрямую отражался как на точности вычислений, которые мог выдавать компьютер, так и на его стоимости. 48-битное слово в научных компьютерах пользовалось большой популярностью[1], потому что 32-битное слово позволяло выразить вещественные числа с 6-7-ю знаками после запятой, что было недостаточно из-за накопления ошибки округления при больших расчетах, а 64-битное слово с 15-16 знаками после запятой выходило далеко за рамки требований к точности. 48-битное слово позволяло выразить вещественное число с 10-ю знаками после запятой, в самый раз для уровня научных вычислений того времени.

В 1950-х — 1960-х годах во многих компьютерах, производимых в США, длина слова была кратна шести битам, поскольку там использовалась шестибитная кодировка так как для представления всех цифр и букв английского алфавита достаточно было 6-бит: 64 возможных комбинации позволяли закодировать 32 буквы (в верхнем регистре), 10 цифр и достаточное количество символов пунктуации.

Первой машиной, в которой появилось 64-битное слово, стал суперкомпьютер Cray-1 (1974 г.), так как к тому времени требования к точности вещественных чисел при проведении научных вычислений возросли.

В подавляющем большинстве современных компьютеров длина слова является степенью двойки; при этом используются 8-битные символы.

На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является байт, а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах 80386 и их потомках «словом» традиционно называют 16 бит (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных.

Слова длиной n битов принимают численные (беззнаковые) значения от 0 до 2^n-1 включительно.

Год Архитектура Размер слова
(w), битов
Размер целого Размер чисел
с плавающей запятой
Размер инструкции
1952 IBM 701 36 ½w, w  — ½w
1954 IBM 704 36 w w w
1960 PDP-1 18 w  — w
1960 CDC 1604 48 w w ½w
1964 CDC 6600 60 w w ¼w, ½w, w
1965 IBM 360 32 ½w, w,
1d … 31d
w, 2w ½w, w, 1½w
1965 PDP-8 12 w  — w
1968 БЭСМ-6 48 w w, 2w ½w
1970 IBM 370 32 ½w, w,
1d … 31d
w, 2w, 4w ½w, w, 1½w
1970 PDP-11 16 ½w, w 2w, 4w w, 2w, 3w
1971 Intel 4004 4 w, d  — 2w, 4w
1972 Intel 8008 8 w, 2d  — w, 2w, 3w
1974 Intel 8080 8 w, 2w, 2d  — w, 2w, 3w
1975 Cray-1 64 24 b, w w ¼w, ½w
1975 MOS Tech. 6501
MOS Tech. 6502
8 w, 2d  — w, 2w, 3w
1976 Zilog Z80 8 w, 2w, 2d  — w, 2w, 3w, 4w
1978
(1980)
Intel 8086
(w/Intel 8087)
16 ½w, w, 2d
(w, 2w, 4w)

(2w, 4w, 5w, 17d)
½w, w, … 7w
1978 VAX-11/780 32 ¼w, ½w, w, 1d, … 31d, 1b, … 32b w, 2w ¼w, … 14¼w
1979 Motorola 68000 32 ¼w, ½w, w, 2d  — ½w, w, … 7½w
1982
(1983)
Motorola 68020
(w/Motorola 68881)
32 ¼w, ½w, w, 2d
(w, 2w, 2½w)
½w, w, … 7½w
1985 ARM1 32 w  — w
1985 MIPS32 32 ¼w, ½w, w w, 2w w
1989 Intel 80486 16 (32)* ½w, w, 2w, 2d
w, 2w, 4w
2w, 4w, 5w, 17d ½w, w, … 7w
1989 Motorola 68040 32 ¼w, ½w, w, 2d w, 2w, 2½w ½w, w, … 7½w
1991 MIPS64 64 ¼w, ½w, w w, 2w w
1991 PowerPC 32 ¼w, ½w, w w, 2w w
1992 SPARC v8 32 ¼w, ½w, w w, 2w w
1994 SPARC v9 64 ¼w, ½w, w w, 2w w
2000 Itanium (IA-64) 64 8 b, ¼w, ½w, w ½w, w 41 b
2002 XScale 32 w w, 2w ½w, w


Обозначения: b — бит (двоичная цифра), d — децит (десятичная цифра), w — размер машинного слова, n — переменное значение.

* Для 32-битных процессоров x86: исторически машинным словом считается 16 бит, реально — 32 бита.

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

Ссылки[править | править исходный текст]