stringtranslate.com

31-битные вычисления

В компьютерной архитектуре 31 -битные целые числа , адреса памяти или другие единицы данных — это те, которые имеют ширину 31 бит .

В 1983 году IBM представила 31-битную адресацию в архитектуре мэйнфрейма System/370-XA в качестве обновления 24-битной физической и виртуальной [1] и переходной 24-битной виртуальной/ 26-битной физической [2] [3] адресации в System/370 . [4] [5] Это усовершенствование позволило увеличить адресное пространство в 128 раз, что позволило программам адресовать память свыше 16  МБ (называлось «над линией»). [6] [1] Была включена поддержка COBOL , FORTRAN и позднее Linux/390 .

В начале 1980-х годов был представлен Motorola 68012 ; он имел 32-битные регистры данных и адреса, как и Motorola 68010 , но вместо предоставления нижних 24 бит адреса на адресных контактах, он предоставлял все, кроме бита 30, на адресных контактах. [7]

31-битный компьютер

Librascope LGP-30 был одним из первых компьютеров, доступных на полках магазинов. Впервые LGP-30 был произведен в 1956 году [8] по розничной цене 47 000 долларов, [ нужна цитата ] что эквивалентно 530 000 долларов в 2023 году. [9]

Это был двоичный 31-битный компьютер с барабанной памятью на 4096 слов . На каждое барабанное слово приходилось 32 битных ячейки, но использовались только 31, что позволяло «восстанавливать магнитный поток в головке» на 32-м бите. Количество электронных ламп было сведено к минимуму за счет использования твердотельной диодной логики , бит-последовательной архитектуры и многократного использования каждого из 15 триггеров.

LGP-30 обычно называли настольным компьютером. Его высота, ширина и глубина, без учета полки для пишущей машинки, составляли 33 x 44 x 26 дюймов (84 x 112 x 66 см). Он весил около 800 фунтов (360 кг) и был установлен на прочных роликах, что облегчало перемещение устройства.

Мейнфреймы IBM с 31-битной адресацией

В архитектурах System/360 , за исключением 360/67 и ранних архитектур System/370 , регистры общего назначения имели ширину 32 бита, машина выполняла 32-битные арифметические операции, а адреса всегда хранились в 32-битных словах, поэтому архитектура считалась 32-битной , но машины игнорировали верхние 8 бит адреса, что приводило к 24-битной адресации.

В архитектуре System/370-XA и IBM Enterprise Systems Architecture , в дополнение к 24-битному режиму адресации для совместимости со старыми приложениями, есть 31-битный режим адресации, в котором для адресации игнорируется только старший бит (бит 0) в слове. Исключением является то, что инструкции переключения режимов также используют бит 0. Было по крайней мере две причины, по которым IBM не реализовала 32-битную адресацию 360/67

  1. Инструкции управления циклом BXH и BXLE выполняли знаковые сравнения.
  2. Большая часть существующего программного обеспечения использовала бит 0 как индикатор конца списка. [10]

64-разрядная архитектура z/Architecture также поддерживает 24- и 31-разрядные режимы адресации для совместимости со старыми приложениями.

Ruby и Smalltalk

Интерпретаторы языков Ruby и Smalltalk используют младший бит для определения того, является ли значение неупакованным целым числом или нет. Это означает, что на 32-битных машинах (или 16-битных машинах с 32-битными указателями) 31-битные целые числа неупаковываются. В случае переполнения результат помещается в упакованный объект, что означает, что его необходимо выделить и собрать мусор. Таким образом, если у вас есть 32-битные значения, которые не помещаются в 31-битный знаковый формат, они будут очень неэффективны в этих интерпретаторах. То же самое касается 63-битных неупакованных целых чисел на 64-битных компьютерах. Похожие конструкции можно найти в LISP и некоторых других языках, переменные которых могут принимать значения любого типа. В некоторых случаях существовала аппаратная поддержка такого рода конструкции: см. Архитектура с тегами и Машина Lisp .

Ссылки

  1. ^ ab "Краткая история виртуального хранения и 64-битной адресации". IBM .
  2. ^ "с переходной поддержкой 26-бит"
  3. ^ KE Plambeck (2002). "Развитие и атрибуты z/Architecture"" (PDF) .
  4. ^ Роберт Т. Фертиг (май 1983 г.). "XA: Взгляд из окопов (стр. 122-136)". Datamation .
  5. ^ Рональд Л. Бонд (май 1983 г.). "XA: Вид с Уайт-Плейнс (стр. 139–152)". Datamation .
  6. ^ "...для запуска в 31-битной области над строкой,... "Перезапись для запуска в 31-битной области". Computerworld . 27 октября 1986 г. стр. 13.
  7. ^ "4.1 ОПИСАНИЕ СИГНАЛА" (PDF) . MC68010/MC68012 16-/32-битные микропроцессоры виртуальной памяти (PDF) . Motorola Semiconductor. Май 1985. стр. 4-1–4-2. ADI942R2. {{cite book}}: |work=проигнорировано ( помощь )
  8. ^ "1950-1959 Librazettes". www.librascopememories.com . Архивировано из оригинала 27.12.2014 . Получено 19.03.2018 . Librazette: июль 1956 г. — Royal Precision Plans — LGP-30 Promotion ; ноябрь 1956 г. — LGP-30, Flow Computer Spearhead — коммерческие продажи и производство — они в производстве , и Пол Коутс представит LGP-30 в декабрьских телешоу[ требуется проверка ]
  9. ^ 1634–1699: McCusker, JJ (1997). Сколько это в реальных деньгах? Исторический индекс цен для использования в качестве дефлятора денежных ценностей в экономике Соединенных Штатов: Дополнения и исправления (PDF) . Американское антикварное общество .1700–1799: Маккаскер, Дж. Дж. (1992). Сколько это в реальных деньгах? Исторический индекс цен для использования в качестве дефлятора стоимости денег в экономике Соединенных Штатов (PDF) . Американское антикварное общество .1800–настоящее время: Федеральный резервный банк Миннеаполиса. "Индекс потребительских цен (оценка) 1800–" . Получено 29 февраля 2024 г.
  10. ^ "... старший бит в последнем полном слове должен быть установлен в единицу, чтобы обозначить конец списка." "WAIT — Ожидание одного или нескольких событий". IBM .