ARM9

A Wikipédiából, a szabad enciklopédiából

Az ARM9 egy ARM architektúrájú 32 bites RISC CPU család. Ezzel a kialakítás-típussal az ARM elmozdult a Neumann-architektúrától a Harvard-architektúra felé, amelyben külön buszok és cache-ek szolgálnak az utasítások és az adatok számára, jelentősen növelve a sebességet. Az ilyen magokat magukban foglaló chipek általában a módosított Harvard architektúra kialakítást valósítják meg; a különálló CPU gyorsítótárak és szorosan csatolt memóriák "külső" oldalán egyesítve a két címbuszt. Két, különböző architektúrát implementáló alcsaládja van.

Eltérések az ARM7 magoktól[szerkesztés | forrásszöveg szerkesztése]

A nagyobb tranzisztorszám több javítást tett lehetővé az ARM7 magon; ezek közül a fontosabbak:

  • Csökkentett hőtermelés és alacsonyabb túlhevülési kockázat.
  • Az órajel-frekvenciával kapcsolatos fejlesztések. A háromfokozatúról ötfokozatú utasítás-futószalagra való áttérés önmagában lehetővé tette az órajel kb. megduplázását, ugyanazon gyártási eljáráson belül.
  • A végrehajtási ciklusszámmal kapcsolatos fejlesztések. Mérhető, hogy több különböző ARM7 típusú bináris program végrehajtása 30 %-kal kevesebb ciklust igényel az ARM9 magokon. A főbb javítások:
    • A betöltő és kiíró utasítások gyorsultak; több utasítás végrehajtása csak 1 ciklust igényel, ez főleg a módosított Harvard-architektúrának (a sín- és cache-versengés megszűnése miatt) és a hosszabb futószalagnak köszönhető.
    • A futószalag-függőségek felfedése lehetővé teszi a fordítókban való optimalizálást az állapotok (fokozatok) közötti blokkolások elkerülésére.

Ezen felül néhány ARM9 mag tartalmaz olyan "kiemelt DSP" utasításokat is, mint pl. a szorzás-összeadás (multiply-accumulate), ami lehetővé teszi a DSP algoritmusok hatékonyabb megvalósítását.

A Harvard-architektúrára való váltás következménye a gyorsítótárak elkülönülése; ennek következtében az utasítás-olvasás nem ütközik az adat-olvasással (és viszont). Az ARM9 magokban az adat- és címsínek különválnak – ezt a tényt a chiptervezők különféle módokon ki is használják. Legtöbb esetben a címtér legalább egy részét a Neumann-féle felépítéshez hasonlóan összekapcsolják, ezzel egy olyan memóriaterület keletkezik, amely adatként és utasításként is kezelhető. Ezt általában egy (ARM technológiájú) AHB összekapcsolással érik el, amely egy DRAM és egy NOR flash memóriával használható External Bus Interface (EBI) interfészhez csatlakozik. Az ilyen és hasonló hibrid felépítések már nem nevezhetők tiszta Harvard architektúrájú processzoroknak.

ARM9TDMI-alapú magok[szerkesztés | forrásszöveg szerkesztése]

Az ARM9TDMI a népszerű ARM7TDMI mag utóda, és szintén az ARMv4T felépítésen alapul. Az ilyen alapú magok egyaránt tartalmazzák a 32 bites ARM valamint a 16 bites Thumb utasításkészletet:

  • ARM920T – 16-16 KB adat- és utasítás-cache és egy MMU (memory management unit)
  • ARM922T – 8-8 KB adat- és utasítás-cache és egy MMU
  • ARM940T – 4-4 KB adat- és utasítás-cache és egy memóriavédelmi egység (Memory Protection Unit, MPU) (ld.: ARM cores, ARM9TDMI)

ARM9E-alapú magok[szerkesztés | forrásszöveg szerkesztése]

Az ARM9E, és testvére, az ARM9EJ egy általános ARM9TDMI futószalagot tartalmaz; ehhez járul az ARMv5TE architektúra támogatása, amiben bizonyos DSP-szerű utasítások is megtalálhatók. A szorzóegység adatszélességét megduplázták, miáltal a szorzások végrehajtási ideje a felére csökkent. Ezek a processzorok 32 bites, 16 bites és bizonyos esetekben 8 bites utasításkészleteket támogatnak. Változataik:

  • ARM926EJ-S (ez tartalmazza az ARM Jazelle technológiát, ami lehetővé teszi 8 bites Java bájtkód végrehajtását a hardverben) és egy MMU-t
  • ARM946
  • ARM966
  • ARM968

ARM9-alapú processzorok[szerkesztés | forrásszöveg szerkesztése]

ARM9-et tartalmazó termékek[szerkesztés | forrásszöveg szerkesztése]

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Fordítás[szerkesztés | forrásszöveg szerkesztése]

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