В компьютерной архитектуре 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]
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 кг) и был установлен на прочных роликах, что облегчало перемещение устройства.
В архитектурах 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
64-разрядная архитектура z/Architecture также поддерживает 24- и 31-разрядные режимы адресации для совместимости со старыми приложениями.
Интерпретаторы языков Ruby и Smalltalk используют младший бит для определения того, является ли значение неупакованным целым числом или нет. Это означает, что на 32-битных машинах (или 16-битных машинах с 32-битными указателями) 31-битные целые числа неупаковываются. В случае переполнения результат помещается в упакованный объект, что означает, что его необходимо выделить и собрать мусор. Таким образом, если у вас есть 32-битные значения, которые не помещаются в 31-битный знаковый формат, они будут очень неэффективны в этих интерпретаторах. То же самое касается 63-битных неупакованных целых чисел на 64-битных компьютерах. Похожие конструкции можно найти в LISP и некоторых других языках, переменные которых могут принимать значения любого типа. В некоторых случаях существовала аппаратная поддержка такого рода конструкции: см. Архитектура с тегами и Машина Lisp .
{{cite book}}
: |work=
проигнорировано ( помощь )Librazette: июль 1956 г. —
Royal Precision Plans — LGP-30 Promotion
; ноябрь 1956 г. —
LGP-30, Flow Computer Spearhead — коммерческие продажи и производство — они в производстве
, и
Пол Коутс представит LGP-30 в декабрьских телешоу
[ требуется проверка ]