ARM11
Az ARM11 egy ARM-processzorgeneráció: ARM architektúrájú 32 bites RISC mikroprocesszormagok egy családja.
Áttekintés
[szerkesztés | forrásszöveg szerkesztése]| Bemutatva | |
|---|---|
| Év | mag |
| 2002 | ARM1136J(F)-S |
| 2003 | ARM1156T2(F)-S |
| 2003 | ARM1176JZ(F)-S |
| 2007 | ARM11MPCore |
A 2002. április 29-én bemutatott ARM11 mikroarchitektúrában mutatkoztak be elsőként az ARMv6 architekturális bővítései, amelyeket még 2001 októberében jelentettek be. Ezek között találhatók a SIMD médiautasítások, a multiprocesszoros támogatás és egy új gyorsítótár-architektúra. Az implementáció magában foglalt egy az előző ARM9 vagy ARM10 családokhoz képest jelentősen javított utasításfeldolgozó futószalagot, és az Apple, Nokia, és más cégek okostelefonjaiban volt alkalmazva. Az első ARM11 mag, az ARM1136, 2002 októberében vált licencelhetővé.
Jelenleg csak az ARM11 család tagjaiban találhatók ARMv6 architektúrájú magok. Léteznek azonban ARMv6-M magok (Cortex-M0 és Cortex-M1), amelyek a mikrovezérlő alkalmazási területet célozzák;[1] az ARM11 magok jóval nagyobb igényű alkalmazások céljaira készülnek.
Thumb-2 technológia
[szerkesztés | forrásszöveg szerkesztése]A Thumb-2 technológia az ARMv6T2 és újabb architektúrákban érhető el. A Thumb-2 technológia a 16 bites Thumb utasításkészlet továbbfejlesztése. A készletet 32 bites utasításokkal bővíti, amelyek szabadon keverhetők a 16 bites utasításokkal egy programban. A hozzáadott 32 bites utasítások lehetővé teszik az architektúra számára, hogy a Thumb üzemmódban az ARM utasításkészlet legtöbb funkcióját lefedje. A 16 és 32 bites utasítások elérhetősége a Thumb-2 technológiában biztosítja a Thumb korábbi verzióinak kódsűrűségét és az ARM utasításkészlet teljesítményének jobb kihasználását.
A 32 bites Thumb utasításkészlet és az ARM utasításkészlet közötti fontos különbség, hogy a legtöbb 32 bites Thumb utasítás feltétel nélküli, míg a legtöbb ARM utasítás feltételes lehet. A Thumb-2 technológiában bevezettek egy „IT” jelölésű feltételes végrehajtási utasítást, amely egy logikai „if-then-else” művelet, amely az utána következő utasításokra alkalmazható, hogy azokon érvényesítse a feltételes végrehajtást.[2]
Eltérések az ARM9-től
[szerkesztés | forrásszöveg szerkesztése]Az utasításkészlet elemei szerint az ARM11 az ezt megelőző ARM9 generációra épül. Magában foglalja az összes ARM926EJ-S jellemzőt és hozzáadott ARMv6 (SIMD) utasításokat tartalmaz a médiatámogatáshoz, valamint az IRQ-válaszok gyorsítására.
A mikroarchitektúra újításai az ARM11 magokban[3] a következők:
- SIMD utasítások, melyek képesek megduplázni az MPEG-4 és audio digitális jelfeldolgozási algoritmusok sebességét
- a gyorsítótár fizikailag címezhető, ezáltal több gyorsítótár átnevezési probléma megoldódik és csökken a kontextusváltás költsége (ideje, felhasznált erőforrások mennyisége)
- nem-igazított és vegyes bájtsorrendű (mixed-endian) adathozzáférés támogatott
- csökkentett hőtermelés és alacsonyabb túlhevülési kockázat
- újratervezett, magasabb órajeleket támogató futószalag (max. 1 GHz órajel használható)
- 64 bites adatutak
A JTAG debug támogatása (megállítás, léptetés, töréspontok és figyelőpontok kezelése) egyszerűsödött. Az EmbeddedICE modult felváltotta egy interfész, ami az ARMv7 architektúra részévé vált. A hardveres nyomkövető modulok (ETM és ETB) kompatibilis, csak éppen továbbfejlesztett változatai az ARM9-ben alkalmazott megfelelőiknek. Konkrétan, a nyomkövetési szemantika továbbfejlesztett változatában alkalmas a párhuzamos utasításvégrehajtás és adattovábbítás követésére.
Az ARM nagy hangsúlyt fektet a jó Verilog kódolási stílus és a helyes technikák támogatására és elterjesztésére. Ez biztosítja a szemantikailag szigorú terveket, végig megőrzi az azonos szemantikát a csip kialakításának folyamata során, mindezt formális bizonyítás eljárások kiterjedt használata támogatja. Enélkül a figyelem nélkül az ARM11 integrálása külső felek terveibe kockázatos lenne, nehezen felfedhető látens hibákat hordozhatna. Az ARM magokat számos különböző tervezetbe integrálják, változatos logikai szintetizáló eszközökkel és különböző eltérő gyártási folyamatokkal készülnek, ennek hatására a regiszterátvitel szintjén a minőségi követelmények sokszorosára nagyítódnak.[4] Az ARM11 generáció sokkal inkább a szintézisre koncentrál, mint az előző generációk, és sokkal nagyobb figyelmet szentelnek a megelőzésnek.
Magok
[szerkesztés | forrásszöveg szerkesztése]Négy ARM11 mag van:
Csipek
[szerkesztés | forrásszöveg szerkesztése]- Ez a lista egyelőre nem teljes. Segíts te is bővíteni, hogy teljes lista lehessen belőle!
- Ambarella A5s, A7, A7L
- Broadcom BCM2835 (Raspberry Pi), BCM21553
- Cavium ECONA CNS3000 sorozat[7]
- CSR Quatro 4230, Quatro 4500 sorozat, Quatro 5300 sorozat
- Freescale Semiconductor i.MX3x sorozat, mint például i.MX31, i.MX35
- Nintendo 1048 0H
- Infotmic IMAPX200, IMAPX210, IMAPX220
- Nvidia Tegra
- PLX Technology NAS7820, NAS7821, NAS7825
- MediaTek MTK6573_S01 / MTK6573_S00
- Philips Semiconductor / NXP / ST-NXP Wireless Nomadik STn8820
- Qualcomm MSM720x, MSM7x27
- Qualcomm Atheros AR7400
- Samsung S3C64x0, S5P6422
- Telechips [tcc8902]
- Texas Instruments OMAP2 sorozat, egy TMS320 C55x vagy C64x DSP-vel a második mag szerepében
Termékek
[szerkesztés | forrásszöveg szerkesztése]Dokumentáció
[szerkesztés | forrásszöveg szerkesztése]Az ARM processzorokat hatalmas mennyiségű dokumentáció támogatja. A tervező és a gyártók a dokumentációt hierarchikus rendbe szervezték, amelyben a marketing céljait szolgáló bemutató diáktól kezdve a gyártók számára szolgáló igen részletes leírásokig fokozatosan egyre részletesebb információkat tartalmazó csoportokba osztják azt. Ezt a szerkezetet dokumentációs fának nevezték el. Bővebben ld. az ARM7-nél.
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- ↑ ezeket nem támogatja a Linux a 3.3-as verzióig
- ↑ "Thumb-2 technology" (angol nyelven). arm developer. 1995–2025.
{{cite web}}: CS1 karbantartás: dátumformátum (link) - ↑ "The ARM11 Microarchitecture", ARM Ltd, 2002
- ↑ The Dangers of Living with an X (bugs hidden in your Verilog), Version 1.1 (14 October 2003).
- ↑ ARM1136JF-S and ARM1136J-S Technical Reference Manual Revision: r1p5; ARM DDI 0211K
- ↑ ARM1176JZF-6 Technical Reference Manual Revision: r0p7; accessed on 4 October 2012.
- ↑ ECONA CNS3XXX ARM Based SoC Processors Archiválva 2013. június 14-i dátummal a Wayback Machine-ben at Cavium.com
- ↑ "Kindle 2 First Look". iFixit.com. Hozzáférés: 2012. február 16..
- 1 2 3 4 Patterson, Blake (2008. július 7.). "Under the Hood: The iPhone's Gaming Mettle". touchArcade. Hozzáférés: 2012. február 16..
- ↑ "Archivált másolat". 2014. augusztus 29. dátummal az eredeti címről archiválva. Hozzáférés: 2014. augusztus 31..
Fordítás
[szerkesztés | forrásszöveg szerkesztése]Ez a szócikk részben vagy egészben az ARM11 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.
Források
[szerkesztés | forrásszöveg szerkesztése]További információk
[szerkesztés | forrásszöveg szerkesztése]- ARM Holdings
- ARM11 Technikai referencia-kézikönyvek
- ARMv6 Architecture Reference Manual (regisztráció szükséges)
- Gyorsreferencia-kártyák
- Utasítások: Thumb (1), ARM és Thumb-2 (2), vektoros lebegőpontos (3)
- Opcodes: Thumb (1, 2 Archiválva 2018. szeptember 18-i dátummal a Wayback Machine-ben), ARM (3, 4 Archiválva 2018. szeptember 18-i dátummal a Wayback Machine-ben), GNU Assembler Directives 5.
- Egyéb
- ARM11 lacks an integer hardware division instruction Archiválva 2020. július 4-i dátummal a Wayback Machine-ben
- Yurichev, Dennis, "An Introduction To Reverse Engineering for Beginners" benne ARM assembly. Online könyv: http://yurichev.com/writings/RE_for_beginners-en.pdf