Машинное слово
Машинное слово — машиннозависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки). На ранних компьютерах размер слова совпадал также с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики аппаратной платформы:
- разрядность данных, обрабатываемых процессором;
- разрядность адресуемых данных (разрядность шины данных);
- максимальное значение беззнакового целого типа, напрямую поддерживаемого процессором: если результат арифметической операции превосходит это значение, то происходит переполнение;
- максимальный объём оперативной памяти, напрямую адресуемой процессором.
Размер машинного слова на различных архитектурах [править]
На ранних компьютерах встречалась самая разная длина слова. В 1950-х — 1960-х годах во многих компьютерах, производимых в США, длина слова была кратна шести битам, поскольку там использовалась шестибитная кодировка, и, таким образом, в машинном слове умещалось целое число символов. В подавляющем большинстве современных компьютеров длина слова является степенью двойки; при этом используются 8-битные символы.
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является байт, а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах 80386 и их потомках «словом» традиционно называют 16 бит (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных.
Слова длиной
битов принимают численные (беззнаковые) значения от 0 до
включительно.
| Год | Архитектура | Размер слова (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 |
| 2004 | Athlon 64 | 64 | ? | ? | ? |
| Этот раздел не завершён.
Вы поможете проекту, исправив и дополнив его.
|
Обозначения: b — бит (двоичная цифра), d — децит (десятичная цифра), w — размер машинного слова, n — переменное значение.
* Для 32-битных процессоров x86: исторически машинным словом считается 16 бит, реально — 32 бита.
См. также [править]
Для улучшения этой статьи желательно?:
|
| Единицы измерения информации | |
|---|---|
| Базовые единицы | Бит · Байт |
| Связанные единицы | Ниббл · Слово · Октет |
| Традиционные битовые единицы | Килобит · Мегабит · Гигабит · Терабит · Петабит · Эксабит · Зеттабит · Йоттабит |
| Традиционные байтовые единицы | Килобайт · Мегабайт · Гигабайт · Терабайт · Петабайт · Эксабайт · Зеттабайт · Йоттабайт |
| Битовые единицы МЭК (IEC) | Кибибит · Мебибит · Гибибит · Тебибит · Пебибит · Эксбибит · Зебибит · Йобибит |
| Байтовые единицы МЭК (IEC) | Кибибайт · Мебибайт · Гибибайт · Тебибайт · Пебибайт · Эксбибайт · Зебибайт · Йобибайт |
| Типы данных | |
|---|---|
| Неинтерпретируемые | |
| Числовые | |
| Текстовые | |
| Указатель | |
| Композитные |
Алгебраический тип данных (обобщённый) • Массив • Ассоциативный массив • Класс • Список • Кортеж • Объект • Option type • Product • Структура • Множество • Объединение (tagged) |
| Другие |
Логический • Низший тип • Коллекция • Перечисляемый тип • Исключение • First-class function • Opaque data type • Recursive data type • Семафор • Поток • Высший тип • Type class • Unit type • Void |
| Связанные темы | |