31 bits
En arquitectura d'ordenadors, 31 bits és un adjectiu usat per a descriure sancers, direccionar de memòria o atres unitats de senyes que comprenen fins a 31 bits (32 bits menys 1 sense utilisar/bit reservat) d'ample, o per a referir-se a una arquitectura de CPU i ALU basades en registres, bus de direccions o bus de senyes d'eixe ample.
Tal volta l'única arquitectura de computadors basada en direccionament de 31 bits és una de les més famoses i rendables. En 1983, IBM va introduir el direccionament de 31 bits en l'arquitectura del mainframe IBM S/370-XA com una actualisació del direccionament de 24 bits dels primers models. Esta millora permetia espais de direccions 128 voltes majors, permetent als programes direccionar memòria per damunt de 16 MiB.
En l'IBM S/360 i les primeres arquitectura de el IBM S/370, les direccions eren sempre almagasenades en paraules de 32 bits, pero les màquines ignoraven els 8 bits superiors de la direcció resultant un direccionament de 24 bits. En l'extensió XA, cap bit en la paraula s'ignorava.
La transició va ser difícil: els programadors havien estat utilisant el byte de farcidura per a flags durant casi 20 anys. IBM va elegir soportar dos formes d'direccionar per a minimisar el dolor: si el bit més significatiu d'una direcció de 32 bits era 1, els següents 31 eren interpretats com a direccions virtuals. Si el bit més significatiu era zero, llavors només els 24 bits més baixos eren tractats com a direccions virtuals (just com en els sistemes pre-XA). Aixina, els programes podien continuar utilisant sèt bits per a atres propòsits sempre que posaren a 0 el bit de major pes. Els únics programes que requerien modificacions eren els que utilisaven el bit de major pes i IBM va ajudar a la transició en hardware dual durant un periodo de temps.
Certes instruccions màquina en esta arquitectura de 31 bits alteraven el bit de modo de direccionament com un possible efecte colateral intencionat. Per eixemple, la subrutina original BAL almagasena certa informació d'estat en el byte superior de les direccions tornades. Una instrucció BAS es va afegir per a soportar direccions de 31 bits tornades.
En els anys 1990 IBM va introduir l'arquitectura 370/ESA (despuix cridat 390/ESA i finalment cridat IBM ESA/390 o System/390), completant l'evolució a un direccionament virtual complet de 31 bits i mantenint este flag de modo de direccionament. Notar que estes arquitectura posteriors soporten més de 2 GiB de memòria física i múltiples espais de direccions concurrents per damunt de 2 GiB cada u. A mitan de 2006 no hi havia ya molts programes excessivament restringits per esta arquitectura múltiple de 31 bits.
No obstant, IBM va trencar la barrera del direccionament llineal de 2 GiB en 2000 en l'introducció del primer sistema de 64 bits, la IBM zSeries Model 900. A diferència de la transició en el XA, la z/Architecture no reserva un bit per a identificar el còdic primitiu. Pero la z/Architecture manté la compatibilitat en còdic de 24 bits i de 31 bits, inclús còdic més antic eixecutant-se concurrentement en nou còdic de 64 bits.
Com el Linux/390 va ser la primera versió de l'existent direccionament de 31 bits hardware en 1999, les aplicacions mainframe inicials sobre Linux compiladas en un modo pre-z/Architecture també estaven llimitades a un direccionament de 31 bits. Esta llimitació va desaparéixer en l'hardware de 64 bits, el Linux de 64 bits en zSeries i aplicacions Linux de 64 bits. Les distribucions Linux de 64 bits seguixen soportant programes de 31 bits.
L'arquitectura IBM de 31 bits soporta almagasenament expandit, permetent a còdic de 31 bits fer us de la memòria adicional. No obstant, en qualsevol instant, un màxim de 2 GiB està en cada espai de treball. Per a Linux 31 bits és possible assignar memòria per damunt de la barrera dels 2 GiB assignant-la com si fora un disc RAM.
Referències
[editar | editar còdic]- Este artícul conté una traducció derivada de «31 bits» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.