Машинное слово: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Нет описания правки |
м откат правок 46.50.230.225 (обс) к версии 145.255.161.89 |
||
Строка 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-и [[бит]]ам. Тогда использовалась [[шестибитная кодировка]]. Для представления всех цифр и букв [[Английский алфавит|английского алфавита]] достаточно было 6-и бит: <math>2^6=64</math> возможных комбинации позволяли закодировать 32 буквы (в верхнем регистре), 10 цифр и некоторые символы [[Пунктуация|пунктуации]]. |
||
Требования к точности научных вычислений возросли, и в 1974 году появилась первая машина с 64-битным словом — [[суперкомпьютер]] [[Cray-1]]. |
|||
Первой машиной, в которой появилось 64-битное слово, стал [[суперкомпьютер]] [[Cray-1]] (1974 г.), так как к тому времени требования к точности вещественных чисел при проведении научных вычислений возросли. |
|||
В подавляющем большинстве современных компьютеров длина слова является [[двоичная система счисления|степенью двойки]]; при этом используются [[8-бит]]ные символы. |
В подавляющем большинстве современных компьютеров длина слова является [[двоичная система счисления|степенью двойки]]; при этом используются [[8-бит]]ные символы. |
||
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является байт, а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах [[80386]] и их потомках «словом» традиционно называют [[16 бит]] (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных. |
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является [[байт]], а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах [[80386]] и их потомках «словом» традиционно называют [[16 бит]] (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных. |
||
Слова длиной |
Слова длиной ''n'' [[бит]]ов принимают численные (беззнаковые) значения от [[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'' |
||
Строка 78: | Строка 90: | ||
|1994 ||[[SPARC]] v9 ||64 ||¼''w'', ½''w'', ''w'' ||''w'', 2''w'' ||''w'' |
|1994 ||[[SPARC]] v9 ||64 ||¼''w'', ½''w'', ''w'' ||''w'', 2''w'' ||''w'' |
||
|- |
|- |
||
| |
|2001 ||[[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-битных процессоров [[x86]]: исторически машинным словом считается 16 бит, реально — [[32 бит]]а. |
<nowiki>*</nowiki> Для 32-битных [[Процессор|процессоров]] архитектуры [[x86]]: исторически машинным словом считается 16 бит, реально — [[32 бит]]а. |
||
== См. также == |
== См. также == |
||
* [[Порядок байтов]] |
* [[Порядок байтов]] |
||
* [[Регистр процессора]] |
* [[Регистр процессора]] |
Версия от 15:43, 24 сентября 2015
Машинное слово — машинно-зависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки). Адрес машинного слова в памяти компьютера равен адресу младшего байта, входящего в это слово.
Занесение информации в память, а также извлечение её из памяти производится по адресам. Это свойство памяти называется адресуемостью.
На ранних компьютерах размер слова совпадал с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики аппаратной платформы:
- разрядность данных, обрабатываемых процессором;
- разрядность адресуемых данных (разрядность шины данных);
- максимальное значение беззнакового целого типа, напрямую поддерживаемого процессором: если результат арифметической операции превосходит это значение, то происходит переполнение;
- максимальный объём оперативной памяти, напрямую адресуемой процессором.
История
На ранних компьютерах встречалась самая разная длина слова. В те времена компьютеры делились на бизнес-ориентированные и научные. В бизнес-ориентированных компьютерах, занимавшихся экономическими и бухгалтерскими расчётами, не требовалась высокая точность вычислений, так как суммы всегда округлялись лишь до двух знаков после запятой. В научных же вычислениях наиболее часто проводятся операции с вещественными числами, и точность вычислений (количество знаков после запятой) очень важна. Так как модули памяти для ранних компьютеров стоили дорого, выбор размера слова напрямую отражался как на точности вычислений, которые мог выполнять компьютер, так и на его стоимости. 48-битное слово в научных компьютерах пользовалось большой популярностью[1], потому что 32-битное слово позволяло выразить вещественные числа с 6-7-ю знаками после запятой, что было недостаточно из-за накопления ошибки округления при больших расчётах, а 64-битное слово с 15-16 знаками после запятой выходило далеко за рамки требований к точности. 48-битное слово позволяло выразить вещественное число с 10-ю знаками после запятой (считалось приемлемым для научных вычислений того времени).
В 1950-х — 1960-х годах во многих компьютерах, производимых в США, длина слова была кратна 6-и битам. Тогда использовалась шестибитная кодировка. Для представления всех цифр и букв английского алфавита достаточно было 6-и бит: возможных комбинации позволяли закодировать 32 буквы (в верхнем регистре), 10 цифр и некоторые символы пунктуации.
Требования к точности научных вычислений возросли, и в 1974 году появилась первая машина с 64-битным словом — суперкомпьютер Cray-1.
В подавляющем большинстве современных компьютеров длина слова является степенью двойки; при этом используются 8-битные символы.
На ранних компьютерах слово было минимально адресуемой ячейкой памяти; сейчас минимально адресуемой ячейкой памяти является байт, а слово состоит из нескольких байтов. Это приводит к неоднозначному толкованию размера слова. Например, на процессорах 80386 и их потомках «словом» традиционно называют 16 бит (2 байта), хотя эти процессоры могут одновременно обрабатывать и более крупные блоки данных.
Слова длиной n битов принимают численные (беззнаковые) значения от 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 |
2001 | Itanium (IA-64) | 64 | 8 b, ¼w, ½w, w | ½w, w | 41 b |
2002 | XScale | 32 | w | w, 2w | ½w, w |
2003 | x86-64 | 64 | 8b, ¼w, ½w, w | ½w, w, 1¼w, 17d | 8 b |
Этот раздел не завершён. |
Обозначения:
- 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-и разрядным словом
Для улучшения этой статьи желательно:
|