16-битные вычисления - 16-bit computing

В  компьютерной архитектуры , 16-битных чисел , адресов памяти , или других данных единиц являются те , которые являются 16 битов (2 октета ) в ширину. Кроме того, 16-битные архитектуры ЦП и ALU основаны на регистрах , адресных шинах или шинах данных такого размера. 16-битные микрокомпьютеры - это компьютеры, в которых 16-битные микропроцессоры были нормой.

16-битный регистр может хранить 2 16 различных значений. Диапазон из целочисленных значений , которые могут быть сохранены в 16 битах зависит от целочисленного представления используется. В двух наиболее распространенных представлениях диапазон составляет от 0 до 65 535 (2 16 - 1) для представления в виде ( беззнакового ) двоичного числа и от −32 768 (−1 × 2 15 ) до 32 767 (2 15 - 1) для представления в виде два дополнения . Поскольку 2 16 равно 65 536, процессор с 16-разрядными адресами памяти может напрямую обращаться к 64 КБ (65 536 байтам) памяти с байтовой адресацией . Если система использует сегментацию со смещением 16-битных сегментов, можно получить доступ к большему количеству.

16-битная архитектура

MIT Вихрь ( с. 1951) было вполне возможно, первый в мире 16-разрядный компьютер. Другие ранние 16-разрядные компьютеры ( около 1965–1970 гг.) Включают IBM 1130 , HP 2100 , Data General Nova и DEC PDP-11 .

Ранние мультичиповые 16-битные микропроцессоры ( ок. 1973–76) включают пятичиповый National Semiconductor IMP-16 (1973), двухчиповый NEC μCOM-16 (1974), трехчиповый Western Digital MCP-1600. (1975) и пятичиповый Toshiba T-3412 (1976).

Ранние однокристальные 16-разрядные микропроцессоры ( ок. 1975–76) включают Panafacom MN1610 (1975), National Semiconductor PACE (1975), General Instrument CP1600 (1975), Texas Instruments TMS9900 (1976), Ferranti F100-L и HP BPC . Другие известные 16-разрядные процессоры включают Intel 8086 , Intel 80286 , WDC 65C816 и Zilog Z8000 . Intel 8088 был двоичным совместит с Intel 8086, и был 16-бит в том , что его регистры были 16 бит, и арифметические команды могут работать на 16-битных величинах, даже если его внешняя шина была 8 битыми.

16-битное целое число может хранить 2 16 (или 65 536) различных значений. В представлении без знака эти значения представляют собой целые числа от 0 до 65 535; с использованием дополнения до двух возможные значения находятся в диапазоне от -32 768 до 32 767. Следовательно, процессор с 16-разрядными адресами памяти может напрямую обращаться к 64 КБ памяти с байтовой адресацией .

16-битные процессоры почти полностью вытеснены в индустрии персональных компьютеров и используются менее чем 32-битные (или 8-битные) процессоры во встроенных приложениях.

16/32-битные Motorola 68000 и Intel 386SX

Motorola 68000 иногда называют 16-бит , потому что , как она обрабатывается основы математики. Набор команд был основан на 32-битных числах, а внутренние регистры были 32-битными , так что по общепринятым определениям 68000 является 32-битным дизайном. Внутренне базовая 32-битная арифметика выполняется с использованием двух 16-битных операций, что приводит к некоторым описаниям системы как 16-битной, или «16/32». Хотя в то время это не было обычным решением, в начале 1980-х такие решения имели долгую историю в компьютерной области, когда различные конструкции выполняли математические вычисления, даже 1-битные за раз, что известно как «последовательная арифметика», в то время как большинство проектов к 1970-м годам обрабатывались по крайней мере несколько бит за раз.

Типичным примером является Data General Nova , представлявшая собой 16-разрядную архитектуру, выполнявшую математические вычисления как четыре 4-разрядные операции, поскольку это был размер обычного однокристального ALU того времени. Используя определение, применяемое к 68000, Nova будет 4-битным компьютером, или 4/16. Вскоре после появления Nova была представлена ​​вторая версия, SuperNova, которая включала четыре из 4-битных ALU для выполнения 16-битных математических вычислений за раз и, следовательно, обеспечивала более высокую производительность. Однако это было незаметно для пользователя и программ, которые всегда использовали 16-битные инструкции. Аналогичным образом, более поздние члены семейства 68000, такие как Motorola 68020 , имели 32-битные ALU.

Можно также увидеть ссылки на системы, являющиеся или не являющиеся 16-битными, исходя из некоторых других критериев. Один из распространенных - это когда размер адресного пространства отличается от размера внутренних регистров. Большинство 8-битных процессоров 1970-х годов попадают в эту категорию; MOS 6502 , Intel 8080 , Zilog Z80 и большинство других было 16-битное адресное пространство, 64 КБ, то есть адрес манипуляции требуется два цикла команд. По этой причине у большинства процессоров были специальные 8-битные режимы адресации для нулевой страницы , повышающие скорость. Такая разница между размером внутреннего регистра и размером внешнего адреса сохранялась в 1980-х годах, хотя часто менялась на противоположную, поскольку из-за стоимости памяти той эпохи машина с 32-битной адресацией, 2 или 4 ГБ стала практически невозможной. Например, 68000 выставлял только 24 бита адресации на DIP , ограничивая его все еще огромными (для той эпохи) 16 МБ.

Аналогичный анализ применим к замене процессора Intel 80286 , названному 386SX , который представляет собой 32-битный процессор с 32-битным ALU и внутренними 32-битными путями данных с 16-битной внешней шиной и 24-битной адресацией процессора, который он заменил.

16-битное приложение

В контексте совместимости с IBM PC и платформ Wintel , 16-битное приложение - это любое программное обеспечение, написанное для MS-DOS , OS / 2 1.x или более ранних версий Microsoft Windows, которое изначально работало на 16-битных Intel 8088 и Intel 80286. микропроцессоры . Такие приложения использовали 20- битный или 24-битный сегмент или представление адреса со смещением селектора, чтобы расширить диапазон адресуемых ячеек памяти за пределы того, что было возможно при использовании только 16-битных адресов. Программы, содержащие более 2 16 байт (65 536 байт ) инструкций и данных, поэтому требовали специальных инструкций для переключения между их 64-килобайтными сегментами , что увеличивало сложность программирования 16-битных приложений.

Список 16-битных процессоров

Смотрите также

использованная литература