Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

ARM architektúra

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
(ARM szócikkből átirányítva)

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2025. február 16.

Pontosságellenőrzött

ARM

Gyártás1985–
Tervező
  • Acorn Computers
  • Arm Holdings
GyártóARM Holdings
UtasításkészletARM, NEON, Thumb,Jazelle, VFP, A64
Magok száma1–48
Az ARM weboldala
AWikimédia Commons tartalmazARM témájú médiaállományokat.

AzARM architektúra (korábbanAdvanced RISC Machine, azelőttAcorn RISC Machine) egy 32/64 bites, azARM Limited fejlesztetteRISCCPU-architektúra, amely többbeágyazott rendszerben található meg. Energiatakarékosságuk miatt az ARM architektúrájú CPU-k a vezetők a hordozható elektronikai piacon, ahol az alacsony energiafogyasztás fontos tervezési szempont.

Manapság az összes beágyazott 32 bites RISC CPU kb. 75%-a az ARM családból származik,[1] így ez a világ egyik legelterjedtebb 32 bites architektúrája. Sokféle felhasználói elektronikai eszközben található ARM CPU, kezdve a hordozható eszközöktől (PDA-k,mobiltelefonok,médialejátszók, kézi számítógépkonzolok ésszámológépek) egészen a számítógép-perifériákig (merevlemezek, asztalirouterek). A család kiemelten fontos ágai aMarvell Technology Group által fejlesztettXScale és aTexas Instruments által készítettOMAP-sorozat.

Történet

[szerkesztés]
EgyConexant ARM processzor, amely főkéntrouterekben található

Az ARM fejlesztése egy kísérleti projektként indult1983-ban azAcorn Computers Ltd-nél.

ARoger Wilson ésSteve Furber vezette csoport egyMOS Technology 6502-re emlékeztető, ám annál fejlettebb processzort kezdett fejleszteni. AzAcorn sok, a6502-re épülő számítógépet kínált, így egy hasonlóan programozható chip jelentős előnyt jelentett a cégnek.

A csapat1985 áprilisában készült el azARM1-nek nevezett fejlesztői mintákkal,[2] majd az első eladásra szánt rendszerrel, azARM2-vel a következő évben. Az ARM2 32 bites adatbusszal és 16 darab 32 bitesregiszterrel rendelkezett, valamint 26 bitet használt címzésre (így összesen 64MiB memória volt címezhető). Ezen regiszterek egyike szolgált a (szóhatárra igazított)utasításszámlálóként(program counter), úgy, hogy a felső 6 és alsó 2 bitje tárolta a processzor állapotjelző bitjeit. Valószínűleg az ARM2 volt a legegyszerűbb, használható 32 bites mikroprocesszor a világon, mindössze kb. 30 000 tranzisztorral (összehasonlításként: a Motorola 6 évvel korábbi68000-eskomplex utasításkészletű processzora kb. 70 000 tranzisztort tartalmazott). Ennek az egyszerűségnek a nagy része a mikrokód (a Motorola 68000 tranzisztorainak kb. negyede-harmada) és a – legtöbb mai CPU-ban megtalálható – gyorsítótár hiányának köszönhető. Az egyszerűsége miatti alacsony áramfelvétele ellenére jobb teljesítményt nyújtott, mint azIntel 80286-os. Az egyik utódját, azARM3-t, 4 Kbyte méretű gyorsítótárral készítették, amely a teljesítményt tovább növelte.

Advanced RISC Machines Ltd. – ARM6

[szerkesztés]
ARM610 mikroprocesszor-lapka
Mikroprocesszor-alapú rendszer egy chipen

Az 1980-as évek végén azApple Computer és azAcorn együttműködésbe kezdett az ARM mag új változatának kidolgozásában. A munka annyira fontos volt azAcornnak, hogy a fejlesztő csapatot 1990-ben egy új cégbe, azAdvanced RISC Machines Ltd.-be szervezték,[3][4][5] ami „ARM Ltd.”-re változott, amikor anyavállalata, azARM Holdings plc, 1998-ban floatolt aLondoni Értéktőzsdén és aNasdaqon.[6][7] Ezért nevezik néha az ARM-otAdvanced RISC Machine-nakAcorn RISC Machine helyett.Az új Apple–ARM együttműködésből született végül azARM6, aminek első változatát1991 elején adtak ki. Az ARM6 az ARM3 utódja.Az Apple az ARM6-alapú ARM610-et azApple NewtonPDA-k processzoraként használta, míg később StrongARM processzorokra nem váltottak.

Az ARM610 volt az első olyan ARM processzor, amely teljes32 bites címtartományt támogatott, így 4GiB memóriát képes leképezni. Ezen kívül memóriavezérlővel (MMU) és 4 KiB belső utasítás-gyorsítótárral is rendelkezik. AzARMv3 utasításkészletet támogatja. Visszafelé kompatibilis a korábbi 26 bites címzési módú üzemmódokkal. 20, 25, 30, 33 és 40 MHz-esórajelű változatai jelentek meg 1993 és 1994-ben.[8]

Korai licencelők

[szerkesztés]

1994-ben azAcorn az ARM610-et alkalmazta főközponti egységként (CPU) sajátRiscPC számítógépeiben. ADEC megvásárolta az architektúra licencét (ezzel némi zavart okozva, mivel ők gyártották aDEC Alpha-t is) és elkészítette aStrongARM-ot.[9] 233 MHz-en aStrongARM mindössze 1watt energiát használt, az újabb változatok pedig még kevesebbet. Ezt a fejlesztést később egy peres egyezség részeként átadták azIntelnek, és az így kibővítette RISC processzorainak vonalát (i860,i960) a StrongARM-mal. Az Intel később kifejlesztette saját nagy teljesítményű implementációját(XScale) néven, amelyet aztán eladott aMarvell csoportnak.Az ARM mag tranzisztorszáma lényegében változatlan maradt a változások során: az ARM2 30 000 tranzisztorral rendelkezik,[10] míg az ARM6-ban a tranzisztorszám csak 35 000-re nőtt.[11]

Piaci részesedés

[szerkesztés]

2005-ben az összes eladott mobiltelefon mintegy 98% -a használt legalább egy ARM processzort.[12] 2010-ben az ARM architektúrákon alapuló chipek gyártói 6,1 milliárd ARM-alapú processzor szállításáról számoltak be, ami azokostelefon-ok 95%-át, adigitális televíziók ésset-top boxok 35%-át, valamint a mobil számítógépek 10%-át teszi ki. 2011-ben a 32 bites ARM architektúra volt a legszélesebb körben használt architektúra a mobil eszközökben és a legnépszerűbb 32 bites a beágyazott rendszerekben.[13] 2013-ban 10 milliárdot gyártottak[14] és ARM-alapú csipek találhatók a világ mobil eszközeinek közel 60%-ában.[15]

Üzleti stratégia

[szerkesztés]

Az elképzelés szerint a gyártó az ARM mag mellé opcionális részeket kínál, amelyekkel egy teljes CPU összeállítható, így alacsony költséggel nagy teljesítmény érhető el.

Az ARM Ltd. szellemi terméket árul, és ezen licencek alapján építhetőek mikrokontrollerek és CPU-k az ARM magra. A legsikeresebb azARM7TDMI volt, amelyből több százmillió példányt adtak el majdnem minden mikrokontrollerrel.

Jelenleg az ARMv7 generáció a legelterjedtebb okostelefonokban, tabletekben, és más okos eszközökben.

Az ARM Ltd.-t 2016-ban felvásárolta egy japán befektetői csoport.[16]

ARM magok

[szerkesztés]
Bővebben:ARM processzorok listája
CsaládArchitektúraMagKépességekGyorsítótár (I/D)/MMUTipikusMIPS @ MHzFelhasználása
ARM1ARMv1ARM1NincsARM Evaluation System második processzor aBBC Micro mikrogépben
ARM2ARMv2ARM2MUL (szorzás) műveletNincs4 MIPS @ 8 MHzAcorn Archimedes,Chessmachine
ARMv2aARM250Integrált MEMC (memória-kezelő modul), grafikus és I/O processzor. SWP és SWPB (csere) utasításokNincs, MEMC1a7 MIPS @ 12 MHzAcorn Archimedes
ARM3ARMv2aARM2aProcesszor gyorsítótár4K egységes12 MIPS @ 25 MHzAcorn Archimedes
ARM6ARMv3ARM6032 bites memóriacímek támogatása (korábban: 26 bit)Nincs10 MIPS @ 12 MHz3DO Interactive Multiplayer, Zarlink GPS vevő
ARM600Cache és segédprocesszor busz (FPA10-es egység számára)4K egységes28 MIPS @ 33 MHz
ARM610Cache, nincs segédprocesszor busz4K egységes17 MIPS @ 20 MHzAcorn Risc PC 600,Apple Newton 100 series
ARM7ARMv3ARM7008KB egységes40 MHz
ARM710a8KB egységes40 MHzAcorn Risc PC 700,Apple eMate 300
ARM7100Integrált SoC.8KB egységes18 MHzPsion Series 5
ARM7500Integrált SoC.4KB egységes40 MHzAcorn A7000
ARM7500FEIntegrált SoC. FPA és EDO memória vezérlő.4KB egységes56 MHzAcorn A7000+
ARM7TDMIARMv4TARM7TDMI(-S)3 fokozatúfutószalagNincs15 MIPS @ 16.8 MHzGame Boy Advance,Nintendo DS,iPod,Lego NXT
ARM710T8KB egységes, MMU36 MIPS @ 40 MHzPsion Series 5mx
ARM720T8KB egységes, MMU60 MIPS @ 59.8 MHzZipit
ARM740TMPU
ARMv5TEJARM7EJ-SJazelle DBX, Enhanced DSP utasítások, 5-lépéses pipelineNincs
StrongARMARMv4SA-11016KB/16KB, MMU200 MHzApple Newton 2x00 series, Risc PC, Rebel/Corel Netwinder, Chalice CATS, Psion Netbook
SA-111016KB/16KB, MMU233 MHzLART, Intel Assabet,Ipaq H36x0,Balloon2,Zaurus SL-5x00
ARM9TDMIARMv4TARM9TDMI5-lépéses pipelineNincs
ARM920T16KB/16KB, MMU200 MIPS @ 180 MHzArmadillo,GP32,GP2X (első mag),Tapwave Zodiac (Motorola i. MX1),Hp49g+,Sun SPOT,Samsung SC32442 (HTC TyTN,FICNeo1973[17])
ARM922T8KB/8KB, MMU
ARM940T4KB/4KB, MPUGP2X (második mag)
ARM9EARMv5TEARM946E-SEnhanced DSP utasításokváltozó, szorosan csatolt memóriák, MPUNintendo DS,NokiaN-Gage Conexant 802.11 chipek
ARM966E-SNincs, TCMs

ST Micro STR91xF (Ethernet[2])

ARM968E-SNincs, TCMs
ARMv5TEJARM926EJ-SJazelle DBX, Enhanced DSP utasításokváltozó, TCMs, MMU220 MIPS @ 200 MHz,Mobile phones:Sony Ericsson (K, W sorozatok),Siemens ésBenq (x65 sorozat és újabbak), Texas InstrumentsOMAP1710,Qualcomm MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800
ARMv5TEARM996HSÓrajel-mentes processzor, Enhanced DSP utasításokNincs, TCMs, MPU
ARM10EARMv5TEARM1020E(VFP), 6 fokozatú futószalag, Enhanced DSP utasítások32KB/32KB, MMU
ARM1022E(VFP)16KB/16KB, MMU
ARMv5TEJARM1026EJ-SJazelle DBX, Enhanced DSP utasításokVáltozó, MMU or MPU
XScaleARMv5TE80200/IOP310/IOP315I/O Processzor, Enhanced DSP utasítások
80219400/600 MHzThecus N2100
IOP321600BogoMips @ 600 MHzIyonix
IOP33x
IOP34x1-2 mag, RAID gyorsítás32K/32K L1, 512K L2, MMU
PXA210/PXA250Alkalmazás processzor, 7 fokozatú futószalagZaurus SL-5600,iPAQ H3900
PXA25532KB/32KB, MMU400BogoMips @ 400 MHzGumstix,Palm Tungsten E2,Mentor Ranger & Stryder
PXA26xalapbeállítás 400 MHz, 624 MHz-igPalm Tungsten T3
PXA27xAlkalmazás processzor800 MIPS @ 624 MHzHTC Universal,Zaurus SL-C1000, 3000, 3100, 3200,Dell Axim x30, x50, x51 sorozatok, Motorola Q,Balloon3,Trolltech Greenphone,Palm TX, Motorola Ezx Platform A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6
PXA800(E)F
Monahans1000 MIPS @ 1.25 GHz
PXA900Blackberry 8700, Blackberry Pearl (8100)
IXC1100Control Plane Processzor
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42xNSLU2
IXP460/IXP465
ARM11ARMv6ARM1136J(F)-SSIMD, Jazelle DBX, (VFP), 8 fokozatú futószalagVáltozó, MMU740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHzTexas InstrumentsOMAP2420 (Nokia N95,Nokia N93),Zune,Nokia N800,Qualcomm MSM7200 (integrált ARM926EJ-S segédprocesszorral@274 MHz, aHTC TyTN II-ban (Kaiser) ésHTC Nike-ban),
Amazon Kindle 3 (keyboard)e-könyv olvasó (Freescale i.MX353)[18]
ARMv6T2ARM1156T2(F)-SSIMD, Thumb-2, (VFP), 9 fokozatú futószalagvariable, MPU
ARMv6KZARM1176JZ(F)-SSIMD, Jazelle DBX, (VFP)változó, MMU+TrustZoneApple iPhone,Conexant CX2427X,Motorola RIZR Z8,Raspberry Pi
ARMv6KARM11 MPCore1-4 core SMP,SIMD, Jazelle DBX, (VFP)változó, MMU
CortexARMv7-ACortex-A8Alkalmazás profil, VFP, NEON, Jazelle RCT, Thumb-2, 13 fokozatú szuperskalár futószalagVáltozó (L1+L2), MMU+TrustZone2000-ig (2.0 DMIPS/MHz a 600 MHz-től több mint 1 GHz-ig)Texas InstrumentsOMAP3,
Barnes and Noble Nookcolore-könyv-olvasó (TI OMAP3621 processzor)[19]
Cortex-A9Alkalmazás profil, (VFP), (NEON), Jazelle RCT és DBX, Thumb-2, Spekulatív szuperskalárisMMU+TrustZone2.0 DMIPS/MHzSamsung Galaxy S II[20]
Cortex-A9 MPCoreAs Cortex-A9, 1-4 core SMPMMU+TrustZone2.0 DMIPS/MHz
ARMv7-RCortex-R4(F)Embedded profile, (FPU)Változó gyorsítótár, opcionális MPU600DMIPSBroadcom az egyik felhasználója
ARMv7-MCortex-M3Microvezérlő profil, csak Thumb-2Nincs gyorsítótár, (MPU)125 DMIPS @ 100 MHzLuminary Micro[3] mikrovezérlő család, ST Microelectronics STM32[4]
ARMv6-MCortex-M1FPGA-ra tervezett, Microkontroller profil, Thumb-2 (BL, MRS, MSR, ISB, DSB, and DMB).Nincs, opcionális szorosan csatolt memória136 DMIPS-ig @ 170 MHz[21] (0.8 DMIPS/MHz,[22] MHz érhető el FPGA-tól függően)"Az Actel ProASIC3 és Actel Fusion PSC eszközök 2007 harmadik negyedévében várhatók"[23]

Felépítés

[szerkesztés]

Az egyszerűség és gyorsaság miatt mikrokód nélkül készült, mint a korábbi Acorn mikroszámítógépekben használt, jóval egyszerűbb8 bites6502.

Az ARM architektúra a következőRISC képességekkel rendelkezik:

  • Load/store architektúra
  • Csak illesztett (aligned) memória elérés az ARMv6-ig
  • Ortogonális utasítás-készlet
  • Nagy, 16×32 bit regiszter-készlet
  • Egységes, 32 bites utasítások (egyszerűbb dekódolás és pipelining, csökkentett kódsűrűség)
  • Többnyire egy-ciklusos végrehajtás

Az egyszerűbb felépítés kompenzálására, néhány egyedi jellemzőt is hozzáadtak:

  • A legtöbb utasításhoz feltételes végrehajtás, így csökkentve az elágazás idejét és kompenzálva az elágazás predikátor hiányát.
  • Az aritmetikai utasítások a feltételes kód regisztert csak kérésre módosítják
  • 32 bites léptető, amellyel teljesítmény-veszteség nélkül lehet aritmetikai és cím-számolásokat végezni
  • Erőteljes indexelt címzési módok
  • Egyszerű, de gyors, két prioritási szintű megszakítás-alrendszer cserélt regiszer-készlettel

Egy érdekes ARM újítás a 4 bitesfeltételes kód minden utasítás elején, így minden utasítás végrehajtása feltételhez köthető. Ez jelentősen korlátozza a memória-elérési utasításokban az eltolást, viszont rövidif utasítások esetén szükségtelenné teszi az elágazás utasításokat. A standard példa erre azEuklideszi algoritmus:

C programozási nyelven aciklus:

intgcd(inti,intj){while(i!=j){if(i>j)i-=j;elsej-=i;}returni;}

ARMassembly-ben a ciklus:

loopCMPRi,Rj; a feltétel beállítása: GT - nagyobb, mint (i > j),;               LE - kisebb vagy egyenlő, mint (i <= j);               NE - Nem egyenlő (i != 0)SUBGTRi,Ri,Rj; ha "GT", i = i-j;SUBLERj,Rj,Ri; ha "LE", j = j-i;BNEloop; ha "NE", akkor ugrás a loop-hoz

így elkerülhetőek az elágazások athen és azelse kikötések körül.

Az utasításkészlet egy másik egyedi képessége a léptető és forgató utasítások beépíthetősége az adatfeldolgozó (aritmetikai, logikai, és regiszter-regiszter mozgatás) utasításokban, így például a következő C utasítása += (j << 2);

egy egy-ciklusú utasítás lehet az ARM-on: ADD Ra, Ra, Rj, LSL #2.

Ennek eredményeképp egy szokásos ARM program jóval sűrűbb és kevesebb memória-hozzáféréssel rendelkezik, mint elvárnánk; így a pipeline hatékonyabban kihasználható. Bár az ARM egy sokak által alacsonynak vélt sebességen fut, felveszi a versenyt összetettebb CPU architektúrákkal.

Az ARM processzoroknak vannak további, RISC architektúrán ritkán látott képességei, például az utasításszámláló-relatív címzés (azutasításszámláló az egyike az ARM processzorok 16 bites regisztereinek), elő- és utónövekményes címzési módok.

Említésre méltó még, hogy bár az ARM már jó ideje elérhető, az utasítás-készlet alig nőtt. Például néhány korai processzor (az ARM7TDMI előttiek), nem rendelkezett 2 byte-os betöltővel, így ezeken lehetetlen olyan kódot gyártani, amely úgy működne, ahogy az elvárható egy C "volatile short" objektumnál.

Az ARM7 és a legtöbb korábbi felépítés háromfokozatúutasítás-futószalaggal rendelkeztek: utasításbehívás, dekódolás és végrehajtás. A nagyobb teljesítményűek, mint azARM9, ötfokozatú futószalaggal rendelkeznek. A nagyobb teljesítmény elérésének módjai között szerepel a gyorsabb összeadó és a kiterjedtebb predikciós rendszer.

Az architektúrautasításkészlete kiegészíthető „koprocesszorok” használatával, amelyek szoftveresen címezhetőek az MCR, MRC, MRRC és MCRR utasításokkal. A koprocesszor-tér 16 logikai koprocesszorra van felosztva (0-tól 15-ig számozva), a 15-ös (cp15) tipikus vezérlési funkcióknak (gyorsítótár és memória kezelés) van fenntartva (ahol van).

Az ARM alapú gépekben a perifériák általában a fizikai regisztereik ARM memóriájába, a koprocesszor-térbe vagy egy, a processzorhoz kapcsolódó másik eszköz (sín) való leképezésével kapcsolódnak a processzorhoz. A koprocesszor elérés kisebb késleltetésű, így néhány periféria (például az XScale megszakítás-vezérlő) mindkét módon elérhető (memórián és koprocesszoron keresztül is).

Thumb

[szerkesztés]

Az újabb ARM processzorok rendelkeznek egy tömörített utasításkészlettel, aThumb-bal, amely 16 bites utasításokat használ (de továbbra is 32 bites adatokkal dolgozik). A Thumb rövidebbopkódjaival kevesebb funkció érhető el. Például csak az elágazások köthetők feltételhez és sok opkód nem érheti el a CPU regisztereit. A rövidebb opkódok használatával növekszik a kódsűrűség, annak ellenére, hogy néhány művelethez több utasítás szükséges. Különösen azokban a helyzetekben, amelyekben a memória, port vagy busz kevesebb mint 32 bitre van korlátozva, a rövidebb Thumb opkódok jobb teljesítményt nyújtanak, mint a 32 bites, a limitált memória-sávszélesség jobb kihasználása miatt. A beágyazott hardvereknek többnyire kevesebb a 32 bites adatútja, a többi 16 bites, vagy még vékonyabb (pl.: aGame Boy Advance). Ebben az esetben van értelme a Thumb code-ra fordításának, majd a CPU-t inkább igénybe vevő részeket kézzel átírni a 32 bites nem Thumb utasításkészlettel, és utóbbiakat a 32 bites busz szélességű memóriába elhelyezni.

Az első Thumb utasítás dekóderrel készült processzor az ARM7TDMI volt. AzARM9 és a későbbiek (ideértve azXScale-t is) rendelkeznek ilyen értelmezővel.

DSP Enhancement utasítások

[szerkesztés]

Az ARM digitális jelfeldolgozásra és multimédiás programokra fejlesztéseként néhány új utasítással egészítették ki[5]. Úgy tűnik, ezt az ARMv5TE és ARMv5TEJ nevekben az „E” jelöli.

Ezek az új utasítások gyakoriak a digitális jelfeldolgozó architektúrákban. Ezek különböző variációk az előjeles szorzásra, telített összeadásra és kivonásra és a vezető nullák számolására.

Jazelle

[szerkesztés]

AJazelle DBX (közvetlen bytekód futtatás) technológia segítségével néhány ARM architektúra képesJava bytekódot futtatni az ARM és Thumb futtatási módok mellett. Néhány bytekódot gyorsítva futtat, a többit szoftver-kérésekkel hajtja végre.

Az első Jazelle-t támogató processzor azARM926EJ-S[24] volt: a névben szereplő J jelöli a Jazelle-képességet. Ezt főként mobiltelefonokban használják, így gyorsítva aJava ME játékok és programok futását.

Thumb-2

[szerkesztés]

AThumb-2, azARM1156 core-ban, 2003-ban debütáló technológia, a Thumb 16 bites utasításkészletét egészíti ki 32 bites utasításokkal, hogy az utasításkészlet átfogóbb legyen. Így a Thumb-2 a Thumb kódsűrűségével és 32 bites memóriával rendelkező ARM utasításkészlet sebességével bír.

A Thumb-2 mind az ARM mind a Thumb utasításkészletet kiegészíti új utasításokkal, így példáulbitmező-módosításokkal, ugrótáblákkal (elágazási tábla) és feltételes futtatással.

Minden ARMv7 chip támogatja a Thumb-2 utasításkészletet.Néhány chip, mint például a Cortex-M3 csak a Thumb-2-t támogatja. Másik Cortex és ARM 11 sorozatú chipek támogatják az „ARM utasításkészlet módot” és a „Thumb-2 utasításkészlet módot”.

[6]http://www.linuxdevices.com/news/NS7814673959.html. [2012. december 9-i dátummal azeredetiből archiválva]. (Hozzáférés: 2009. április 18.)[7].

Thumb Futtatási környezet (ThumbEE)

[szerkesztés]

AThumbEE (esetlegThumb-2EE), a 2005-ben bejelentett, majd aCortex-A8 processzorban debütáló[8],Jazelle RCT néven ismert technológia. A ThumbEE a Thumb-2 utasításkészletét egészíti ki úgy, hogy az alkalmas legyen futási időben létrehozott kód futtatására (pl.Just-in-time compilation ("Pont időben fordítás")) megfelelően kezelt futtatókörnyezetekben. A ThumbEE célnyelvei között megtalálható a Limbo, aJava, a C#, aPerl és a Python, továbbá a segítségével a JIT fordítók teljesítmény-veszteség nélkül képesek rövidebb kódot előállítani.

A ThumbEE nyújtotta új szolgáltatások között megtalálható a minden írás/olvasás műveletkor lefutó automatikus null pointer ellenőrzés (tömbhatár-ellenőrzésnél hasznos), az r8-r15 regiszterek (ezekben tárolódik a Jazelle/DBX Java virtuális gép állapota) elérhetősége, és az ún. handlerek („kezelők”: gyakran meghívott kódok) feltételhez kötése (így a magas szintű programozási nyelvek szolgáltatásai (mint például a memória-allokáció) egyszerűen megvalósíthatók).

Advanced SIMD (NEON)

[szerkesztés]

AzAdvanced SIMD (Továbbfejlesztett Egy utasítás - több adat), a NEON néven ismert technológia a média és jelfeldolgozás gyorsítására kínál utasításokat. Egy 10 MHz-en futó NEON-képes processzor képesMP3-dekódolására, egy 13 MHz-es pedig a GSM-eknél használt AMR (Adaptive Multi-Rate) kodek használatára. Az ASIMD új utasításokból, új regiszterkészletből és külön futtató hardverből áll. Támogatja a 8, 16, 32 ill. 64 bites egészeket és az egyszeres pontosságú lebegőpontos értékeket, amelyeket SIMD módon kezel így audió/videó/grafika- és játékszámításokra alkalmas. A NEON-ban a SIMD párhuzamosan akár 16 művelet elvégzésére is képes.

Lebegőpontos koprocesszor (VFP)

[szerkesztés]

AVFP egy az ARM-hoz készült segédprocesszor, azIEEE 754 szabványnak megfelelő lebegőpontos aritmetikát támogató, alacsony költségű megoldás. A VFP széles körben felhasználhatóan támogatja a lebegőpontos számításokat, így például használható PDA-kban, nyomtatókban, set-top boxokban, autókban, okos telefonokban, hangtömörítésre és kitömörítésre, 3 dimenziós grafikára valamint digitális audió feldolgozásra. Alkalmas továbbá egyszerűbb vektor-műveletekre, így SIMD párhuzamosságra. Ez jól kihasználható grafikai és jelfeldolgozó programoknál, a kód rövidítése és így az átviteli képesség növelése révén.

Az ARM-hoz készültek további lebegőpontos és/vagy SIMD segédprocesszorok (pl.: FPA, FPE,iwMMXt). Ezek az VFP funkcionalitását biztosít(hat)ják, de azzal nem opkód-kompatibilisek.

Biztonsági kiterjesztések (TrustZone)

[szerkesztés]

ATrustZone (TM) néven hirdetett biztonsági kiegészítések az ARMv6KZ-től kezdődően találhatók meg az architektúrákban. Ez egy olcsó alternatívát jelent a dedikált biztonsági mag beépítése mellett. A TrustZone két virtuális processzort szolgáltat, hardver-alapú biztonsági rendszerrel. Így egy program két állapot (ún. világ) között váltogathat, így a megbízható világból a kevésbé megbízhatóbb világba nem kerülhetnek információk. Ez a világ-váltás általában ortogonális a processzor további képességeivel, így mindkét világ függetlenül működhet egy rendszermagot használva. A memória és a perifériák is észlelik ezt a váltást, így engedhetik jelszavak és egyéb titkosított adatok elérését az eszközön. Egy tipikus felhasználási módja, hogy egy teljes értékű operációs rendszer fut a kevésbé megbízható világban, míg egy biztonságra specializált kód fut a megbízható világban.

64/32 bites architektúra

[szerkesztés]

ARMv8-A

[szerkesztés]

A 2011 októberében bejelentettARMv8-A megjelenése[25] alapvető változást hozott az ARM architektúrába. A családot gyakran gyakran ARMv8-ként emlegetik, pedig ebben nem minden változat 64 bites, például az ARMv8-R sem. Ebben vezették be az „AArch64” jelölésű 64 bites végrehajtási állapotot (architektúrát) és az ennek megfelelő „A64”-gyel jelölt utasításkészletet. Az AArch64 biztosítja afelhasználói tér kompatibilitását a régi 32 bites ARMv7-A utasításkészlet-architektúrával, amelyben az architektúra az „AArch32”, az utasításkészlet pedig az „A32” jelölést kapta.A Thumb utasításkészletek a „T32” jelölést kapták, ezeknek nincs 64 bites megfelelője. Az ARMv8-A lehetővé teszi 32 bites alkalmazások végrehajtását a 64 bites operációs rendszerekben, és a 32 bites operációs rendszerek futtatását egy 64 bitesHypervisor felügyelete alatt.[26] Az ARM 2012. október 30-án jelentette be a Cortex-A53 és Cortex-A57 magokat.[27] Az első fogyasztói termékbe épített ARMv8-A kompatibilis magot az Apple bocsátotta ki ez volt azApple A7 aziPhone 5S-ben.Az ARMv8-A architektúrát elsőként azAppliedMicro mutatta be, amelyet egyFPGA-n megvalósított rendszerrel demonstrált.[28]Az első ARMv8-Aegylapkás rendszert (SoC) aSamsung készítette, ez azExynos 5433 a Galaxy Note 4-ben, amelyben egy big.LITTLE konfigurációnak megfelelő két klaszterbe szervezett négy Cortex-A57 és négy Cortex-A53 mag található, ám ezek csak AArch32 üzemmódban működnek.[29]

Az AArch32 és AArch64 architektúrákhoz az ARMv8-A szabványosította a VFPv3/v4 és fejlett SIMD (NEON) kiterjesztéseket ésAES ésSHA-1/SHA-256 algoritmusokat támogató kriptográfia utasításokat is tartalmaz.

ARMv8.1-A

[szerkesztés]

2014 decemberében jelentették be az ARMv8.1-A architektúrát,[30] amely a v8.0-hoz képest „hozzáadott javításokkal” rendelkező frissítés. A hozzáadott javítások két kategóriába esnek:

  • Változtatások az utasításkészletben
  • Változtatások a végrehajtási modellben és a memóriafordításban

Az architektúrát alkalmazó termékek megjelenése 2015 közepén várható a szerver-CPU gyártók körében és az Apple cég is feltehetőleg alkalmazza majd.[31]„Az ARMv8.1-A architektúra inkrementális javításai a memóriacímzés, biztonság, virtualizáció és adatátviteli sebesség körül forognak. Az ARMv8-A kód futni fog a v8.1 magokon is.”

AArch64 jellemzők

[szerkesztés]
  • Új utasításkészlet, A64
    • 31 általános célú 64 bites regisztert tartalmaz
    • Dedikált SP vagy nulla regiszter: az r31 az SP veremmutató vagy a nulla-regiszter szerepét veszi fel az utasítástól függően; a nulla-regiszter a hardveres nulla értéket adja vissza
    • A programszámláló (PC) már nem érhető el közönséges regiszterként
    • Az utasítások még mindig 32 bit hosszúak és többnyire megegyeznek az A32-es párjukkal (az LDM/STM utasításokat és több feltételes végrehajtású utasítást elhagytak)
      • Párosított betöltő/tároló(load/store) utasítások (az LDM/STM helyett)
      • Megszüntették a feltételes végrehajtást(predication) a legtöbb utasításnál, az elágazásokat kivéve
    • Az utasítások többsége 32 bites vagy 64 bites argumentumokkal is szerepelhet
    • A címek 64 bitesként vannak értelmezve
  • Advanced SIMD (NEON) javítások
    • 32 128 bites regiszter (16 helyett), a VFPv4-en (vektoros lebegőpontos koprocesszor-kiterjesztés) keresztül is elérhetők
    • Támogatja a dupla pontosságú lebegőpontos formátumot
    • Teljesen megfelel az IEEE 754 szabványnak
    • Az AES kódoló/dekódoló és SHA-1/SHA-2 hash-képző utasítások szintén ezeket a regisztereket használják
  • Új kivételrendszer(exception)
    • Kevesebb regiszterbank és üzemmód
  • A 48 bites virtuális címekről való címfordítás a már létező nagy fizikai címkezelő kiterjesztésen (Large Physical Address Extension, LPAE) alapul, ami könnyen kiterjeszthető a 64 bites címekre

ARM licencelők

[szerkesztés]

Az ARM Ltd. nem gyárt a terveik alapján CPU-kat, hanem az architektúrákat az érdeklődő cégeknek licenceli. Az ARM többféle licencelési módot is ajánl, az ár és az eladható daraboktól függően. Minden ARM licenccel az ARM az ARM mag egy elkészíthető hardver leírását, teljes szoftverfejlesztői készletet (fordító, debugger,SDK) és a legyártott ARM CPU-t tartalmazószilícium eladásának jogát adja. Azon a gyártók számára, amelyek az ARM magot saját chipjeikben kívánják beépíteni, többnyire csak a gyártásra kész mag szellemi termékét kívánják felvásárolni, az ARM egy az adott ARM magot leíró kapulistát ad egy absztrakt szimulációs modellel egyetemben, amellyel a programok tesztelhetők és az architektúra integrációja és ellenőrzése egyszerűbbé tehető. Az ambiciózusabb vásárlók (pl. gyártók) választhatják a processzor szellemi terménekVerilog formában való megvásárlását, amellyel architektúra szintű optimalizálás és kiegészítések érhetők el. Így a tervezők különleges célokat érhetnek el, amelyek egyébként elérhetetlenek (magasabb órajel, nagyon alacsony energiafogyasztás, utasítás-készlet kiegészítések stb). Az ARM a továbbadás jogát nem adja el, a licencelők az előállított termékeket (chipek, kártyák, teljes rendszerek stb.) eladhatják. A kereskedő gyártók egy külön csoportot alkotnak: nem csak az ARM magot tartalmazó szilíciumot árulhatják, általában birtokolják az ARM magok további vásárlók számára történő építésének jogát is.

Mint a legtöbb szellemi terméket áruló cég, az árait az ARM is az észlelt értékhez viszonyítja. Architekturálisan ez azt jelenti, hogy a kisebb teljesítményű ARM magok licence kevesebbe kerül, mint egy magasabb teljesítményűé. Megvalósítás szempontjából ez annyit jelent, hogy egy egységbe foglalható mag drágább, mint egy macro mag. Az árakat bonyolítja, hogy a kereskedő gyártók (például a Samsung és a Fujitsu) alacsonyabb licencköltséget kínálhat a nagyobb vásárlóknak. Azért cserébe, hogy az ARM magot a gyártó saját tervezőin keresztül kapja meg, a vásárló csökkentheti vagy megszüntetheti az ARM licencdíját. A saját tervezőket nélkülöző kijelölt gyártókhoz (mint aUMC) képest a Fujitsu/Samsung kétszer-háromszor többet kér darabonként. Kis és közepes mennyiség esetén a tervezői szolgáltatásokat is nyújtó gyár alacsonyabb összköltséget jelent (a licencdíj elosztása miatt). A nagy tömegű termelésnél hosszú távon elérhető az alacsonyabb darabár a kijelölt gyárak melletti döntéssel, mivel így az ARM felé egy egyszeri tervezési költséget kell fizetni.

Sok félvezetőgyártó cég rendelkezik ARM licenccel, ezek közül néhány:Analog Devices,Atmel,Broadcom,Qualcomm ,Cirrus Logic,Faraday technology,Freescale (a Motorolából 2004-ben kivált cég),Fujitsu,Intel (DEC-el való kapcsolata miatt),IBM,Infineon Technologies,Nintendo,NXP Semiconductors (aPhilips-ből 2006-ban kivált cég),OKI,Samsung,Sharp,STMicroelectronics,Texas Instruments ésVLSI. Habár az ARM licencfeltételeit védi egy közzétételt tiltó egyezség, az ARM-ot sokan az egyik legdrágább CPU magnak tartják. Egy fogyasztói termék, amely egy ARM magot tartalmaz a 200 000 USD-t is meghaladható licencköltséget foglalhat magában. Nagy mennyiségű gyártásnál, vagy az architektúra módosításának esetében a licencdíj meghaladhatja a 10 millió USD-t is.

Az ARM szerint a több mint 200 licence jó esélyt ad az Intellel szemben a folyamatban levő vitában, hogy melyik architektúrát használják hordozható számítógépekben.

Megközelítő licenc-költség

[szerkesztés]

Az ARM 2006-os éves jelentése szerint a 2,45 milliárd eladott darabból származó jogdíj 88,7 millió GBP (164,1 millió USD).[32] Ez darabonként 0,036 GBP-t (0,067 USD-t) jelent. Akárhogyis, ez az összes mag átlaga, beleértve az újabb, drágább, és a régebbi, olcsóbb magokat.

Ugyanebben az évben, az ARM licencekből származó bevétele 65,2 millió GBP volt (119,5 millió USD),[33] átlagosan 1 millió GBP licencenként. Ismételten, ez egy átlag, mind a régi, mind az új magokkal.

Figyelembe véve, hogy az ARM 2006-os bevételének 60%-a a jogdíjból, 40%-a a licencekből származott, az ARM átlagosan 0,06 GBP-t (0,11 USD) szerez a processzorokért (beleértve a jogdíjakat és a licencet). Azonban mivel többnyire az újabb technológiák licencei kerülnek eladásra, az eladott egységek (és így a jogdíjak) nagyobb részét az elfogadottabb termékek teszik ki. Így a fenti számítás nem tükrözi egy ARM termék valós árát.

Jegyzetek

[szerkesztés]
  1. https://web.archive.org/web/20041014143736/http://www.arm.com/miscPDFs/3823.pdf
  2. "Néhány tény az Acorn RISC Machine-ról"Roger Wilson üzenete a comp.arch-on, Nov 2 1988.
  3. ARM Company Milestones. ARM. [2015. április 20-i dátummal azeredetiből archiválva]. (Hozzáférés: 2015. április 8.)
  4. 3 SoC Verification Topics for the ARM Architecture,Co-verification of hardware and software for ARM SoC design. Oxford, UK: Elsevier,69. o. (2005).ISBN 0-7506-7730-9 „ARM started as a branch of Acorn Computer in Cambridge, England, with the formation of a joint venture between Acorn, Apple and VLSI Technology. A team of twelve employees produced the design of the first ARM microprocessor between 1983 and 1985.” 
  5. Weber, Jonathan. „Apple to Join Acorn, VLSI in Chip-Making Venture”,Los Angeles Times, 1990. november 28. (Hozzáférés: 2012. február 6.) „Apple has invested about $3 million (roughly 1.5 million pounds) for a 30% interest in the company, dubbed Advanced Risc Machines Ltd. (ARM) [...]” 
  6. ARM Corporate Backgrounder. ARM. [2006. október 4-i dátummal azeredetiből archiválva].
  7. [1]
  8. ARM6, WikiChip, 2023
  9. (1997) „A 160-MHz, 32-b, 0.5-W CMOS RISC Microprocessor”.Digital Technical Journal 9 (1), 49–62. o. [halott link]
  10. ARM's Race to Embedded World Domination. Real World Technologies, 2000. november 9. (Hozzáférés: 2015. október 6.)
  11. March of the Machines. technologyreview.com. MIT Technology Review, 2010. április 20. [2015. október 16-i dátummal azeredetiből archiválva]. (Hozzáférés: 2015. október 6.)
  12. Krazit, Tom. „ARMed for the living room”,CNET, 2006. április 3. 
  13. (2011) „An Interview with Steve Furber”.Communications of the ACM 54 (5), 34–39. o.DOI:10.1145/1941487.1941501. 
  14. Celebrating 50 Billion shipped ARM-powered Chips, 2014. február 12.
  15. ARM's Reach: 50 Billion Chip Milestone, 2014. március 3. [2014. szeptember 16-i dátummal azeredetiből archiválva].
  16. ARM aquisition
  17. Neo1973: GTA01Bv4 versus GTA02 comparison. (Hozzáférés: 2007. november 15.)
  18. ( Homepage; Markets; Mobile; ) Amazon Kindle Wi-Fi (angol nyelven). ARM. (Hozzáférés: 2012. július 13.)
  19. ( Homepage; Markets; Mobile; ) Barnes and Noble Nookcolor (angol nyelven). ARM. (Hozzáférés: 2012. július 13.)
  20. ( Homepage; Markets; Mobile; Smartphones;) Samsung Galaxy S II (angol nyelven). ARM. (Hozzáférés: 2012. július 13.)
  21. "Az ARM kiegészíti a Cortex családot az első FPGA-ra optimalizált processzorral", ARM press release, March 19 2007.
  22. "ARM Cortex-M1", ARM termék weboldal.
  23. ARM Extends Cortex Family with First Processor Optimized for FPGA
  24. Shanghai Jade Licenses ARM Prime Starter Kit for DCP SoC
  25. ARM Holdings (27 October 2011). "ARM Discloses Technical Details Of The Next Version Of The ARM Architecture". Sajtóközlemény. Elérés: 20 September 2013.
  26. Grisenthwaite, Richard: ARMv8-A Technology Preview, 2011. [2018. június 10-i dátummal azeredetiből archiválva]. (Hozzáférés: 2011. október 31.)
  27. ARM Holdings. "ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors". Sajtóközlemény. Elérés: 31 October 2012.
  28. AppliedMicro (28 October 2011). "AppliedMicro Showcases World’s First 64-bit ARM v8 Core". Sajtóközlemény. Elérés: 11 February 2014.
  29. Samsung's Exynos 5433 is an A57/A53 ARM SoC. AnandTech. (Hozzáférés: 2014. szeptember 17.)
  30. Brash, David: The ARMv8-A architecture and its ongoing development, 2014. december 2. (Hozzáférés: 2015. január 23.)
  31. Shah, Agam. „ARM technology in Apple's A7, A8 chips gets an upgrade”, 2014. december 3. (Hozzáférés: 2015. január 23.) 
  32. "Business review/Financial review/IFRS", p. 10,ARM éves jelentés, 2006. May 7 2007
  33. A teljes, 110,6 millió GBP-s (202,5 millió USD) elosztva a "Termékenkénti licencbevétellel"; "Üzleti áttekintés/Pénzügyi áttekintés/IFRS" és "Teljesítmény mutatók", p. 10 / p. 3ARM éves jelentés, 2006. May 7 2007

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben azARM architecture című angol Wikipédia-szócikkezen 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]
Commons:Category:ARM microprocessors
AWikimédia Commons tartalmazARM architektúra témájú médiaállományokat.

Kapcsolódó szócikkek

[szerkesztés]
Utasításkészlet kiterjesztések
SIMD (RISC)
SIMD (x86)
Bit manipuláció
  • BMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)
  • ADX (2014)
Tömörített utasítások
Biztonság éskriptográfia
Tranzakciós memória
Virtualizáció
  • A kiadatlan bővítmények dátumaitáthúztuk.
Nemzetközi katalógusok
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=ARM_architektúra&oldid=27912429
Kategória:
Rejtett kategóriák:

[8]ページ先頭

©2009-2025 Movatter.jp