Кіріспе

31/32 бит желіге және 31 биттік субжелі маскаларына қалай қолданылады Компьютерлік архитектурада 31 биттік бүтін сандар, жад адрестері немесе басқа да деректер бірліктері 31 биттік ені бар. 1983 жылы IBM System/370 XA магистральдық архитектурасында 31 биттік адрестеуді 24 биттік физикалық және виртуалды, ал System/370-те 24 биттік виртуалды/26 биттік физикалық адрестеуді енгізді. Бұл жақсарту адрестік кеңістіктерді 128 есе үлкен етіп, бағдарламаларға 16 МБ-дан жоғары жадқа (жобаның үстінде) жол беруге мүмкіндік берді.

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 биттік адрестеу режимдерін де қолданады.

Ruby & Smalltalk (Қарапайым әңгіме)

Ruby & Smalltalk тілдерінің интерпретаторлары мәннің қораптан тыс бүтін сан екенін немесе болмағанын анықтау үшін ең төменгі битті қолданады. Бұл дегеніміз, 32 битті машиналарда (немесе 32 биттік сілтемесі бар 16 битті машиналарда) 31 биттік бүтін сандар қораптан шығарылады. Ашып кеткен жағдайда, нәтиже қорапқа орналасады, яғни оны бөлу және қоқыс жинау керек. Егер 32 биттік мәндер 31 биттік форматта орналаспаса, онда олар интерпретаторларда өте тиімсіз болады. 64 битті компьютерлерде 63 битті бүтін сандар да солай. LISP-те және басқа да тілдерде ұқсас дизайндар кездеседі, олардың айнымалылары кез келген типті мәндерді ала алады. Кейбір жағдайларда, бұл жобалау үшін аппараттық қолдау болды: қараңыз Тагталған архитектура және Lisp машинасы.