Кіріспе
31/32 бит желіге және 31 биттік субжелі маскаларына қалай қолданылады Компьютерлік архитектурада 31 биттік бүтін сандар, жад адрестері немесе басқа да деректер бірліктері 31 биттік ені бар. 1983 жылы IBM System/370 XA магистральдық архитектурасында 31 биттік адрестеуді 24 биттік физикалық және виртуалды, ал System/370-те 24 биттік виртуалды/26 биттік физикалық адрестеуді енгізді. Бұл жақсарту адрестік кеңістіктерді 128 есе үлкен етіп, бағдарламаларға 16 МБ-дан жоғары жадқа (жобаның үстінде) жол беруге мүмкіндік берді.
In computer architecture, 31 bit integers, memory addresses, or other data units are those that are 31 bits wide. In 1983, IBM introduced 31 bit addressing in the System/370 XA mainframe architecture as an upgrade to the 24 bit physical and virtual, and transitional 24 bit virtual/26 bit physical, addressing in System/370. This enhancement allowed address spaces to be 128 times larger, permitting programs to address memory above 16 MB (referred to as "above the line").
31 биттік компьютер
Librascope LGP 30 - бұл компьютерлердің алғашқысы. LGP 30 алғаш рет 1956 жылы шығарылды, оның бөлшек сауда бағасы 47000 долларды құрады, бұл 1956 жылы 47000.0 шамамен соңғы жылдары <есептелген сомаға> тең. Бұл 31 биттік екілік компьютер, 4096 сөзді қамтитын барабанды жады бар. Бір барабан сөзінде 32 биттік орын бар еді, бірақ тек 31 ғана пайдаланылды, бұл 32-бит уақытында "басындағы магниттік ағысты қалпына келтіруге" мүмкіндік берді. Вакуумды құбырлардың саны қатты күйдегі диодтық логиканы, біттік сериялық архитектураны және оның 15 флип-флопының әрқайсысын бірнеше рет пайдалану арқылы азайтылды. LGP 30 әдетте үстел компьютері деп аталатын. Оның биіктігі, ені мен тереңдігі, жазу машинасының сөресін қоспағанда, 33 х 44 х 26 дюйм (84 х 112 х 66 см) болды. Оның салмағы шамамен 360 кг болатын. Ол бірлікті жылжытуды жеңілдететін берік роликтерге орнатылған.
IBM-дің 31-биттік адрестеу жүйесі бар мейнфреймдері
360/67 және System/370 архитектурасынан басқа System/360-да жалпы мақсаттағы регистрлер 32 бит енімен, машина 32 бит арифметикалық операцияларды орындады және адрестер әрқашан 32 бит сөздермен сақталады, сондықтан архитектура 32 бит деп саналды, бірақ машиналар адрестің жоғарғы 8 битін елемеді, нәтижесінде 24 бит адрестеу пайда болды. System/370 XA архитектурасы мен IBM Enterprise Systems Architecture-да ескі қолданбалармен үйлесімділік үшін 24 биттік адрестеу режиміне қоса, 31 биттік адрестеу режимі бар, онда адрестеу үшін сөздегі жоғары рет биті (бит 0) ғана ескерілмейді. Ерекшелік режимді ауыстыру нұсқаулары да 0 битті пайдаланады. IBM-дің 360/67 циклінің 32 биттік адрестеуін іске асырмауының кем дегенде екі себебі болды. Қолданыстағы бағдарламалық жасақтаманың көп бөлігі 0 битті тізімнің соңы ретінде қолданды. 64 биттік z/архитектура 24 биттік және 31 биттік адрестеу режимдерін де қолданады.
The loop control instructions BXH and BXLE did signed comparisons. Much of the existing software used bit 0 as an end of list indicator. The 64 bit z/Architecture also supports 24 bit and 31 bit addressing modes for compatibility with older applications.
Ruby & Smalltalk (Қарапайым әңгіме)
Ruby & Smalltalk тілдерінің интерпретаторлары мәннің қораптан тыс бүтін сан екенін немесе болмағанын анықтау үшін ең төменгі битті қолданады. Бұл дегеніміз, 32 битті машиналарда (немесе 32 биттік сілтемесі бар 16 битті машиналарда) 31 биттік бүтін сандар қораптан шығарылады. Ашып кеткен жағдайда, нәтиже қорапқа орналасады, яғни оны бөлу және қоқыс жинау керек. Егер 32 биттік мәндер 31 биттік форматта орналаспаса, онда олар интерпретаторларда өте тиімсіз болады. 64 битті компьютерлерде 63 битті бүтін сандар да солай. LISP-те және басқа да тілдерде ұқсас дизайндар кездеседі, олардың айнымалылары кез келген типті мәндерді ала алады. Кейбір жағдайларда, бұл жобалау үшін аппараттық қолдау болды: қараңыз Тагталған архитектура және Lisp машинасы.