32 bites architektúra

Számítógép-architektúra

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 videójátékok) azon generációját, melyekben a 32 bites mikroprocesszorok voltak a legelterjedtebbek.

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

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 GiB-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 mikrovezérlők (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. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

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: 2012. december 3.)  
  2. Léteztek továbbá a 80286-ra írt UNIX-változatok is..