A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Az ARM processzor architektúrában a 26 bit az eredeti ARM processzorok egyik tervezési sajátosságára vonatkozik, mikor is a programszámláló (PC) és az állapotregiszter (PSR, processor status register) egyetlen regiszterbe van összevonva, ill. a kettő egyetlen 32 bites processzor-regisztert alkot, az R15-öst; amelyben az állapotbitek a felső 6 bitet foglalják el, a programszámláló pedig a maradék 26 bitet használja.
Az ARM2 processzor tervezésekor a címmezőt egyszerűen 26 bitesnek választották, ami 64 MiB memória címzését teszi lehetővé. A programszámlálónak a memóriában lévő utasításokat kell címeznie, ezért ennek mérete is szükségszerűen 26 bit. Azonban az eredeti ARM architektúrában az utasítások mérete rögzített 32 bit, azaz 4 bájt, és az utasításoknak szükségszerűen a négybájtos szóhatárra igazítva kell a memóriában elhelyezkedniük, ezért az utasítások címzésekor a programszámláló alsó 2 bitje mindig nulla. Ezt kihasználva a tervezők úgy döntöttek, hogy erre a két bitnyi helyre a processzor üzemmódbitjeit helyezik el, amely négy értéket kódolhat, azaz négy üzemmód jelzésére alkalmas. A négy üzemmód a USR26, SVC26, IRQ26, FIQ26 jelű, ellentétben a modern ARM processzorok 32 üzemmódjával (5 bit), amelyet már a programszámlálótól elkülönített programállapotszóban tárolnak az újabb ARM architektúrákban.
Ez a kialakítás hatékonyabb programvégrehajtást tett lehetővé, mivel a programszámláló és az állapotbitek egyetlen művelettel elmenthető vagy visszatölthető, ami gyorsabb szubrutinhívásokat és a megszakításokra való gyorsabb reagálást eredményezett a tradicionális kialakításokkal ellentétben, amelyekben két regiszter tartalmát kell elmenteni a szubrutinhívások esetén.
Rövid történet
Annak ellenére, hogy az ARM architektúra 32 bites, az architektúra 1-es és 2-es változatában a programszámláló és a processzor címsíne csak 26 bites, ami következésképpen 64 MiB-ra korlátozta a címezhető RAM méretét. Ez a csipek megjelenésekor még mindig hatalmas méretű memóriának számított, ám az architektúra későbbi változatai különböző módszerekkel igyekeznek elkerülni ezt a korlátozást.
Az ARM architektúra 3-as változatában bevezették a 32 bites PC-t és a különálló PSR regisztert, valamint a 32 bites címsínt, ami 4 GiB memória címzését engedi meg. Ez a változtatás a PC/PSR regiszterek elrendezésében inkompatibilitást okozott a korábbi architektúrákra írt programoknál, ezért az újabb processzoroknak van egy 26 bites kompatibilitási üzemmódjuk is, amelyben a korábbi PC/PSR kombinációt alkalmazzák. A processzor ebben a módban még mindig 4 MiB címzésére képes, azonban nem tud semmit végrehajtani a 3FFFFFC cím (64 MB) fölött. Ezt az üzemmódot használja az újabb processzorokkal szerelt Acorn Risc PC-ken futó RISC OS is, kihasználva az újabb processzorokat és megtartva a kompatibilitást a régebbi programokkal.
Az ARM architektúra 4-es változatában a 26 bites üzemmód támogatását opcionálissá (választhatóvá) tették, és az ARM architektúra 5-ös változatától kezdve teljesen el is hagyták, tehát ez az 5-ös és későbbi típusokból teljesen hiányzik.
MIPS
A MIPS-architektúra nem tartalmazott ilyen korlátokat, de a 26 bit ennél is felbukkan az egyik utasítás formátumában: a 32 bites MIPS architektúrákban az elágazási utasítások ill. a programvezérlő utasítások J típusú utasításaiban szintén a 6+26 bites elrendezést alkalmazzák: ezekben a 6 felső bit kódolja az utasítást és a maradék 26 bit tárolja az ugrás v. elágazás célcímét, amely érdekes módon nem a PC-hez viszonyított relatív címkülönbség (ofszet), hanem egy 256 MiB-os szegmensen belüli abszolút cím. A cím kiszámításához az értéket még 4-gyel meg kell szorozni, mivel a MIPS utasítások szintén 4 bájtosak és a 32 bites szóhatárra igazítva tárolódnak a memóriában, így a címnek nem bájtra, hanem (32 bites) szóra kell mutatnia, és a legalsó 2 bit itt is elhagyható. Ez 228, azaz 256 MiB címzését engedi meg; a teljes 32 bites címet a processzor úgy képzi, hogy ezt a 28 bitet kiegészíti az éppen aktuális programszámláló legfelső 4 bitjével.[1]
A szegmenshatárokon átnyúló ugrásokra másfajta utasítások szolgálnak, amelyek regiszterben tárolt címeket használnak.[1]
Saturn Launch Vehicle Digital Computer
Mindezeket időben megelőzte a Saturn Launch Vehicle Digital Computer, amely a NASA egy konstrukciója, az 1960-as és 1970-es években volt üzemben a Saturn V rakéták automata vezérlőegységében. Ebben a gépben 13+1 bites memóriaszavakat használtak, amelyeket szótagoknak – syllable – neveztek. A szótagban 13 bit tárolta az értékes adatot és 1 bit pedig a paritásellenőrzést szolgálta. Az utasítások egy szótag, az adatszavak két szótag méretűek voltak, tehát egy adatszó mérete ebben a gépben is 26 bites volt. A memória ebben a gépben mágnesmagos kialakítású volt.
Jegyzetek
- ↑ a b 1.5.2 Addressing and Memory Accesses. In Dominic Sweetman: See MIPS Run. (angolul) 2. kiad. (hely nélkül): Morgan Kaufman, Elsevier. 2007. 24–25. o. ISBN 978-0-12-088421-6, ISBN 0-12-088421-6 „Rather than make this branch PC relative, this is interpreted as an absolute address within a 256-MB segment.”
Fordítás
Ez a szócikk részben vagy egészben a(z) 26-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 jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
További információk
- Differences Between ARM6 and Earlier ARM Processors
- "Using the Acorn C/C++ Development Environment to write 32-bit RISC OS software" - Details on the architectural changes and converting code between 26-bit and 32-bit.
- http://www.heyrick.co.uk/assembler/32bit.html - Information on converting assembler to 32-bit
Kapcsolódó szócikkek
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.
Analóg multiméterek túlterhelés elleni védelme
Egyenáram
Egyenáram mérése
Egyenirányítós lengőtekercses műszer
Elektromágnes (fizika)
Elektromos feszültség
Elektromos térerősség
Fáziseltolódás
Fázismutató
Fajlagos ellenállás
Feszültséggenerátor
Feszültségváltó
Forgó mágneses tér
Háromfázisú hálózat
Hőelektromosság
Hatásos ellenállás
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.