32 bites architektúra
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 | |||||||||||||||
x½ | 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 videójá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 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]- HOW Stuff Works "How Bits and Bytes work"
- Ken Colburn on LockerGnome.com: 32-Bit Vs. 64-Bit Windows Archiválva 2016. március 30-i dátummal a Wayback Machine-ben
Jegyzetek
[szerkesztés]- ↑ Gwennap, Linley (1995. február 16.). „Intel’s P6 Uses Decoupled Superscalar Design”, Kiadó: Microprocessor Report. (Hozzáférés: 2012. december 3.)
- ↑ Léteztek továbbá a 80286-ra írt UNIX-változatok is..