Машинное слово: различия между версиями
[непроверенная версия] | [непроверенная версия] |
→История: Исправлено слово "возросли". |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Значения|Слово (значения)}} |
{{Значения|Слово (значения)}} |
||
'''Машинное слово''' — машинно-зависимая и платформозависимая величина, [[единицы измерения информации|измеряемая]] в [[бит]]ах или [[байт]]ах ([[трит]]ах или [[трайт]]ах), равная [[разрядность|разрядности]] регистров [[центральный процессор|процессора]] и/или разрядности [[шина данных|шины данных]] (обычно некоторая степень двойки). |
'''Машинное слово''' — машинно-зависимая и платформозависимая величина, [[единицы измерения информации|измеряемая]] в [[бит]]ах или [[байт]]ах ([[трит]]ах или [[трайт]]ах), равная [[разрядность|разрядности]] регистров [[центральный процессор|процессора]] и/или разрядности [[шина данных|шины данных]] (обычно некоторая степень двойки). На ранних компьютерах размер слова совпадал также с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики [[аппаратная платформа|аппаратной платформы]]: |
||
⚫ | |||
Занесение информации в [[Оперативная память|память]], а также извлечение её из памяти производится по адресам. Это свойство памяти называется ''адресуемостью''. |
|||
На ранних компьютерах размер слова совпадал с минимальным размером адресуемой информации ([[Разрядность|разрядностью]] данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является [[байт]], а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики [[аппаратная платформа|аппаратной платформы]]: |
|||
⚫ | |||
* разрядность адресуемых данных (разрядность шины данных); |
* разрядность адресуемых данных (разрядность шины данных); |
||
* максимальное значение беззнакового [[целый тип|целого типа]], напрямую поддерживаемого процессором: если результат [[Компьютерная арифметика|арифметической операции]] превосходит это значение, то происходит [[арифметическое переполнение|переполнение]]; |
* максимальное значение беззнакового [[целый тип|целого типа]], напрямую поддерживаемого процессором: если результат [[Компьютерная арифметика|арифметической операции]] превосходит это значение, то происходит [[арифметическое переполнение|переполнение]]; |
||
* максимальный объём [[ |
* максимальный объём [[оперативная память|оперативной памяти]], напрямую [[адресация памяти|адресуемой]] процессором. |
||
⚫ | |||
== История == |
|||
⚫ | На ранних компьютерах встречалась самая разная длина слова. В те времена компьютеры делились на бизнес-ориентированные и научные. В бизнес-ориентированных компьютерах, занимавшихся экономическими и бухгалтерскими расчетами, не требовалась высокая точность вычислений, так как суммы всегда округлялись лишь до двух знаков после запятой. В научных же вычислениях наиболее часто проводятся операции с вещественными числами, и точность вычислений с большим количеством знаков после запятой очень важна. Так как модули памяти в ранних компьютерах стоили дорого, выбор размера слова напрямую отражался как на точности вычислений, которые мог выдавать компьютер, так и на его стоимости. 48-битное слово в научных компьютерах пользовалось большой популярностью<ref>[http://www.quadibloc.com/comp/cp0303.htm Real Machines with 24-bit and 48-bit words]</ref>, потому что 32-битное слово позволяло выразить вещественные числа с 6-7-ю знаками после запятой, что было недостаточно из-за накопления ошибки округления при больших расчетах, а 64-битное слово с 15-16 знаками после запятой выходило далеко за рамки требований к точности. 48-битное слово позволяло выразить вещественное число с 10-ю знаками после запятой, в самый раз для уровня научных вычислений того времени. |
||
⚫ | На ранних компьютерах встречалась самая разная длина слова. В те времена компьютеры делились на бизнес-ориентированные и научные. В бизнес-ориентированных компьютерах, занимавшихся экономическими и бухгалтерскими |
||
В [[1950-е|1950-х]] — [[1960-е|1960-х годах]] во многих компьютерах, производимых в [[США]], длина слова была кратна |
В [[1950-е|1950-х]] — [[1960-е|1960-х годах]] во многих компьютерах, производимых в [[США]], длина слова была кратна шести битам, поскольку там использовалась [[шестибитная кодировка]] так как для представления всех цифр и букв английского алфавита достаточно было 6-бит: 64 возможных комбинации позволяли закодировать 32 буквы (в верхнем регистре), 10 цифр и достаточное количество символов пунктуации. |
||
Первой машиной, в которой появилось 64-битное слово, стал [[суперкомпьютер]] [[Cray-1]] (1974 г.), так как к тому времени требования к точности вещественных чисел при проведении научных вычислений возросли. |
|||
Требования к точности научных вычислений возросли, и в 1974 году появилась первая машина с 64-битным словом — [[суперкомпьютер]] [[Cray-1]]. |
|||
В подавляющем большинстве современных компьютеров длина слова является [[двоичная система счисления|степенью двойки]]; при этом используются [[8-бит]]ные символы. |
В подавляющем большинстве современных компьютеров длина слова является [[двоичная система счисления|степенью двойки]]; при этом используются [[8-бит]]ные символы. |
||
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является |
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является байт, а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах [[80386]] и их потомках «словом» традиционно называют [[16 бит]] (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных. |
||
Слова длиной |
Слова длиной <math>n</math> [[бит]]ов принимают численные (беззнаковые) значения от [[0 (число)|0]] до <math>2^n-1</math> включительно. |
||
⚫ | |||
{| class="standard sortable" style="text-align: center" |
{| class="standard sortable" style="text-align: center" |
||
!Год ||Архитектура ||Размер слова<br />(''w''), битов ||Размер целого ||Размер чисел<br />с плавающей запятой ||Размер инструкции |
|||
! Год |
|||
! [[Архитектура компьютера|Архитектура]] |
|||
! Размер слова<br />(''w'') в [[бит]]ах |
|||
! Размер [[Целое число|целого]] |
|||
! Размер чисел<br />с [[Число с плавающей запятой|плавающей запятой]] |
|||
! Размер [[Код операции|инструкции]] |
|||
|- |
|- |
||
|1952 ||[[IBM 701]] ||36 ||½''w'', ''w'' || — ||½''w'' |
|1952 ||[[IBM 701]] ||36 ||½''w'', ''w'' || — ||½''w'' |
||
Строка 90: | Строка 78: | ||
|1994 ||[[SPARC]] v9 ||64 ||¼''w'', ½''w'', ''w'' ||''w'', 2''w'' ||''w'' |
|1994 ||[[SPARC]] v9 ||64 ||¼''w'', ½''w'', ''w'' ||''w'', 2''w'' ||''w'' |
||
|- |
|- |
||
| |
|2000 ||[[Itanium]] ([[IA-64]]) ||64 ||8 b, ¼''w'', ½''w'', ''w'' ||½''w'', ''w'' ||41 b |
||
|- |
|- |
||
|2002 ||[[Intel XScale|XScale]] ||32 ||''w'' ||''w'', 2''w'' ||½''w'', ''w'' |
|2002 ||[[Intel XScale|XScale]] ||32 ||''w'' ||''w'', 2''w'' ||½''w'', ''w'' |
||
|- |
|||
|2003||[[x86-64]]||64||8b, ¼''w'', ½''w'', ''w''||½''w'', ''w'', 1¼''w'', 17''d''||8 b |
|||
|} |
|} |
||
{{заготовка раздела}} |
{{заготовка раздела}} |
||
''Обозначения:'' b — бит (двоичная цифра), d — децит (десятичная цифра), ''w'' — размер машинного слова, ''n'' — переменное значение. |
|||
Обозначения: |
|||
* b — бит (двоичная цифра); |
|||
* d — децит (десятичная цифра); |
|||
* ''w'' — размер машинного слова; |
|||
* ''n'' — переменное значение. |
|||
<nowiki>*</nowiki> Для 32-битных |
<nowiki>*</nowiki> Для 32-битных процессоров [[x86]]: исторически машинным словом считается 16 бит, реально — [[32 бит]]а. |
||
== См. также == |
== См. также == |
||
* [[Порядок байтов]] |
* [[Порядок байтов]] |
||
* [[Регистр процессора]] |
* [[Регистр процессора]] |
Версия от 14:04, 24 сентября 2015
Машинное слово — машинно-зависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки). На ранних компьютерах размер слова совпадал также с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики аппаратной платформы:
- разрядность данных, обрабатываемых процессором;
- разрядность адресуемых данных (разрядность шины данных);
- максимальное значение беззнакового целого типа, напрямую поддерживаемого процессором: если результат арифметической операции превосходит это значение, то происходит переполнение;
- максимальный объём оперативной памяти, напрямую адресуемой процессором.
Размер машинного слова на различных архитектурах
На ранних компьютерах встречалась самая разная длина слова. В те времена компьютеры делились на бизнес-ориентированные и научные. В бизнес-ориентированных компьютерах, занимавшихся экономическими и бухгалтерскими расчетами, не требовалась высокая точность вычислений, так как суммы всегда округлялись лишь до двух знаков после запятой. В научных же вычислениях наиболее часто проводятся операции с вещественными числами, и точность вычислений с большим количеством знаков после запятой очень важна. Так как модули памяти в ранних компьютерах стоили дорого, выбор размера слова напрямую отражался как на точности вычислений, которые мог выдавать компьютер, так и на его стоимости. 48-битное слово в научных компьютерах пользовалось большой популярностью[1], потому что 32-битное слово позволяло выразить вещественные числа с 6-7-ю знаками после запятой, что было недостаточно из-за накопления ошибки округления при больших расчетах, а 64-битное слово с 15-16 знаками после запятой выходило далеко за рамки требований к точности. 48-битное слово позволяло выразить вещественное число с 10-ю знаками после запятой, в самый раз для уровня научных вычислений того времени.
В 1950-х — 1960-х годах во многих компьютерах, производимых в США, длина слова была кратна шести битам, поскольку там использовалась шестибитная кодировка так как для представления всех цифр и букв английского алфавита достаточно было 6-бит: 64 возможных комбинации позволяли закодировать 32 буквы (в верхнем регистре), 10 цифр и достаточное количество символов пунктуации.
Первой машиной, в которой появилось 64-битное слово, стал суперкомпьютер Cray-1 (1974 г.), так как к тому времени требования к точности вещественных чисел при проведении научных вычислений возросли.
В подавляющем большинстве современных компьютеров длина слова является степенью двойки; при этом используются 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 |
Этот раздел не завершён. |
Обозначения: b — бит (двоичная цифра), d — децит (десятичная цифра), w — размер машинного слова, n — переменное значение.
* Для 32-битных процессоров x86: исторически машинным словом считается 16 бит, реально — 32 бита.
См. также
Примечания
Ссылки
- Real Machines with 24-bit and 48-bit words сравнение различных компьютеров с 48-и разрядным словом
- Real Machines with 16, 32, and 30-bit words сравнение различных компьютеров с 16-, 32- и 30-и разрядным словом
Для улучшения этой статьи желательно:
|