32 bites architektúra

A Wikipédiából, a szabad enciklopédiából
(32 bit szócikkből átirányítva)
Bit
1 4 8 12 16 18 24 31 32 36 48 60 64 128 256 512
Alkalmazás
16 32 64
Lebegőpontos számítás pontossága
x1 x2 x4
Lebegőpontos számítás decimális pontossága
32 64 128

A számítógép-architektúrák területén 32 bites egészek, memóriacímek és más adategységek azok, melyek legfeljebb 32 biten (4 oktett) kifejezhetők, illetve ilyen szélesek. 32 bites mikroprocesszor-, illetve ALU-architektúrák továbbá azok, melyek ilyen méretű regisztereket, címsíneket és adatsíneket használnak. 32 bites érának nevezik a mikroszámítógépek (és videojátékok) azon generációját, melyekben a 32 bites mikroprocesszorok voltak a legelterjedtebbek.

Egy 32 bites regiszter 232 különböző értéket tárolhat. Előjeles egészeket 32 biten −2 147 483 648-tól 2 147 483 647-ig lehet tárolni, előjel nélkül 0-tól 4 294 967 295-ig. Ebből következik, hogy egy 32 bites memóriacímzéssel rendelkező CPU 4 GB-nyi bájtcímzésű memóriát tud közvetlenül címezni.


Történeti és technikai visszatekintés[szerkesztés]

A 32 bites architektúrák első évtizedeiben (az 1960-as évektől az 1980-as évekig) a memória, általában a digitális elektronikai áramkörök és a kábelezés drágának számított. A korai 32 bites processzorcsaládok (illetve ezek egyszerűbb és olcsóbb változatai) tervezésekor ezért sok kompromisszumot kellett kötni a költségcsökkentés érdekében. Ez jelenthetett 16 bites ALU-t, netán 32 bitnél keskenyebb szélességű belső vagy külső síneket (pl. ilyen volt a 386SX, 16 bites külső adatbusszal), korlátozott memóriaméretet vagy az utasításlehíváshoz, végrehajtáshoz vagy visszaíráshoz szükséges órajelciklusok számának növekedését.

Ennek ellenére ezeket a processzorokat is 32 bitesnek lehetett nevezni abban az értelemben, hogy 32 bites regiszterekkel, továbbá 32 bites mennyiségeket kezelni képes utasításkészlettel rendelkeztek. Az eredeti Motorola 68000 CPU jó példája ennek: az 1970-es évek végén alapjában 16 bitesre tervezett processzor 32 bites regiszterekkel és 32 bites utasításokkal. Az újabb 32 bites designokra épp az ellenkezője igaz. Például a Pentium Pro processzor 32 bites, de a külső címbusz 36 bit széles, tehát 4 GB-nál nagyobb méretű memóriát képes megcímezni, a külső adatsín pedig 64 bites, elsősorban azért, hogy az utasítások és az adatok előre lehívását hatékonyabban tudja elvégezni.[1]

Architektúra[szerkesztés]

Az általános célú számítástechnika legelterjedtebb 32 bites utasításkészlet-architektúrái közé tartozott az IBM System/360 és 32 bites utódai; a DEC VAX, az NS320xx, a Motorola 68000 processzorcsalád, az IA-32, ami az Intel x86-architektúrájának 32 bites változata, továbbá az ARM, SPARC, MIPS, PowerPC és PA-RISC-architektúrák 32 bites változatai. A beágyazott rendszerekben a 68000 processzorcsalád és a ColdFire, x86, ARM, MIPS, PowerPC és Infineon TriCore architektúrák voltak elterjedtek.

32 bites alkalmazások[szerkesztés]

Az x86 architektúrán a 32 bites alkalmazások jellemzően (de nem szükségszerűen) a 80386-os és későbbi CPU-kban elérhetővé vált 32 bites lineáris címteret (vagyis egységes/flat memóriamodellt) használják. Ebben a kontextusban a „32 bites alkalmazás” megkülönböztetésre azért volt szükség, mert eredetileg a DOS, Microsoft Windows és OS/2[2] operációs rendszereket eredetileg a 8088/8086 és/vagy 80286, 16 bites mikroprocesszorokra írták, melyek szegmentált címterében a programoknak szegmensek között kellett váltaniuk, ha 64 kilobájtnál nagyobb mennyiségű kódra és/vagy adatra volt szükségük. Más műveletekhez képest ez a váltás sok időt vett igénybe, ezért az alkalmazás teljesítményét visszafogta. A szegmentált memóriamodell használata a programozást is bonyolítja; különleges „far” (távoli) és „near” (közeli) kulcsszavakat kell használni, nem csak assemblyben, de Pascalban, kompilált BASIC-ben, C-ben stb. is.

A 80386-os és későbbi Intel processzorok támogatják a 80286-osban megjelent 16 bites szegmensek mellett a 32 bites címeltolási szegmentálást is. Ha minden 32 bites szegmens báziscíme 0-ra van állítva és a szegmensregiszterek nincsenek használatban, a szegmentálástól el lehet tekinteni és a processzor úgy viselkedik, mintha egyetlen, lineáris 32 bites címtér állna a rendelkezésére. Egyes operációs rendszerek, mint a Windows vagy az OS/2 képesek 16 bites (szegmentált) és 32 bites programok futtatására is. Az előbbieket általában visszamenőleges kompatibilitási célból teszik lehetővé, az utóbbi pedig az új szoftverek fejlesztését támogatja.

Átállás 64 bitre[szerkesztés]

A 32 bites technológiáról a 64 bites technológiákra hardver- és szoftveroldalon egyaránt lassú, de határozott migrációs folyamat figyelhető meg – a szerverhardvereknél kezdődött, és fokozatosan gyűrűzik be a fogyasztói elektronikai eszközökre, végül, leglassabban a szoftverek területére.

Az utolsó általános célú 32 bites Intel CPU a Dual-Core Xeon LV (Sossaman), 2006 márciusában; az alacsony fogyasztású Intel Atom N2xx 2008 júniusában jelent meg. A Microsoft Windows Server termékcsaládjában az utolsó 32 bites processzoron is futó verzió a Windows Server 2008 volt. A Windows Server 2008 R2 Server Core-változatában kikapcsolható volt a 32 bites kompatibilitási réteg (a WoW64), a vNext-alapú Nano Serverben már egyáltalán nem lesz jelen 32 bites kompatibilitás.

Az első 64 bites okostelefon a 2013-ban megjelent iPhone 5S volt; a 64 bit támogatását tartalmazó Android Lollipop 2014 végi megjelenésével lassan az androidos világban is várható a 64 bites technológiák elterjedése.

A mikrokontrollerek jellemzően máig (2015) legfeljebb 32 bitesek.

Képformátumok[szerkesztés]

Digitális képeknél a 32 bit általában az RGBA színtérre utal – 24 bites True Color képek 8 bites átlátszósági információval (alfa csatorna) – tehát 8 bit jut a vörös, zöld, kék színekre és az átlátszóságra, azaz összesen 32 bit pixelenként. Néhány ritkábban használatos képformátum is pixelenként 32 bitet igényel, például az RGBE formátum.

A digitális fényképezésben a 32 bittel néha olyan, nagy dinamikatartományú képekre (HDR) utalnak, melyek 32 bitet használnak csatornánként – tehát összesen 96 bitet pixelenként.

32 bites fájlformátum[szerkesztés]

32 bitesnek nevezzük az olyan bináris fájlformátumokat, ahol az alapinformációk 32 bites (avagy 4 bájtos) egységekben tárolódnak. Ilyen például az Enhanced Metafile Format.

Kapcsolódó szócikkek[szerkesztés]

Fordítás[szerkesztés]

  • Ez a szócikk részben vagy egészben a 32-bit című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

További információk[szerkesztés]

Jegyzetek[szerkesztés]

  1. Gwennap, Linley (1995. február 16.). „Intel’s P6 Uses Decoupled Superscalar Design”, Kiadó: Microprocessor Report. (Hozzáférés ideje: 2012. december 3.)  
  2. Léteztek továbbá a 80286-ra írt UNIX-változatok is..