VYSOKÁ ŠKOLA BÁŇSKÁ – TECHNICKÁ UNIVERZITA OSTRAVA
Architektura procesoru ARM Cortex-A9 MPCore Pokročilé architektury počítačů Marek Wija, WIJ003 23.11.2009
Obsah 1.
Procesory ARM (Advanced RISC machine) ...................................................................................... 1
2.
ARM Cortex-A9 MPCore .................................................................................................................. 2
3.
Architektura Cortex-A9 single core ................................................................................................. 2 3.1
Nabízené funkce procesoru (features) .................................................................................... 3
3.2
Řetězení instrukcí podrobněji ................................................................................................. 4
4.
Architektura Cortex-A9 MPCore...................................................................................................... 4
5.
Závěr ................................................................................................................................................ 5
6.
Zdroje............................................................................................................................................... 6
1. Procesory ARM (Advanced RISC machine) Jak již zkratka napovídá, jedná se o procesory s redukovanou instrukční sadou. ARM je vedoucí poskytovatel široké škály 32 bitových embedded (vestavěný) mikroprocesorů vyznačující se vysokým výkonem a nízkou spotřebou spolu s nízkými pořizovacími náklady. První procesor s Architekturou ARM byl vyvinut v roce 1984. Dnes tvoří nejpoužívanější procesor ve vestavěných systémech. Najdeme ho snad všude od použití v odvětvích spotřební elektroniky, zábavné elektroniky, automobilech, real-time systémech, až po bezpečnostní systémy. Protože nabídka ARM pokrývá širokou škálu procesorů, dělí se na 3 skupiny rozdělené podle optimálního výkonu, spotřeby a ceny: • • •
Vestavěné real-time systémy pro použití v automobilech, vlacích, průmyslu a síťových aplikacích (přepínače, směrovače) [Cortex–M0 ] Aplikační procesory určené pro systémy, na kterých běží operační systém (odnože Linuxu, Windows CE), spotřební a zábavná technika, např. již zmíněné HD přehrávače, PDA, mobily, a další. [ Cortex-A9 MPCore ] Procesory určené pro provoz bezpečnostních aplikací například při ověřování identity čipovou kartou, otiskem prstu [ SC300 ]
ARM tyto procesory přímo nevyrábí, nabízí licencované řešení, z nichž si zákazník vybere pro něj nejvhodnější pro jeho zařízení. Navržené zařízení pak již vyrábí, jako celek obsahující vybraný procesor.
1
2. ARM Cortex-A9 MPCore Nová generace více-jádrových super-skalárních aplikačních procesorů. Obsahuje až 4 jádra procesoru Cortex-A9 single core, který je založen na společné architektuře ARMv7. Jedná se o Harvardskou architekturu, tedy data jsou oddělena od instrukcí programu. Je vyráběn 40nm technologií. Maximální příkon jednoho jádra ARM uvádí 250 mW. Díky až čtyřem jádrům je zde velká možnost škálovatelnosti výkonu. V závislosti na náročnosti aplikace mohou pracovat 1 až 4 jádra. Procesor, je určen pro výkonná mobilní zařízení, síťová a automobilová zařízení. Díky škálovatelnosti výkonu je efektivnější spotřeba energie, je rozdíl, zda je naše zařízení v pohotovostním režimu nebo hrajeme náročnou hru. Protože procesor obsahuje 4 jádra procesoru Cortex-A9 single core, charakterizuji nejdříve architekturu tohoto procesoru samotného, potom architekturu více-jádrového procesoru MPCore.
3. Architektura Cortex-A9 single core Architektura procesoru je naznačena na obrázku 1. Tento procesor implementuje vysoce účinné super-skalární zřetězení, ARM uvádí, že procesor v ideálním případě zvládne vykonat až 2 DMIPS na MHz, což při taktu 2GHz znamená až 2000 DMIPS. Procesor efektivně využívá energii a je velmi úsporný. Procesor má k dispozici duální 64 bitovou sběrnici AMBA® 3 AXI™, kde instrukce a data proudí nezávisle na sobě. Tato sběrnice je obousměrná a podporuje i zařízení s dlouhou dobou odezvy. Je schopná přenést čtyři double-word slova na pět cyklu procesoru z paměti do cache.
Obrázek 1
2
ARM nabízí různá řešení procesoru, výběr závisí na zákazníkovi, ten si vybere z nabízených vymožeností, speciálních bloků procesoru a tyto pak procesor implementuje. Toto řešení nabízí zákazníkovi sestrojit si procesor podle svých požadavků na jeho zařízení. Pokud například vyrábí inteligentní pračku, nepotřebuje v ní procesor s podporou multimediálních 2D/3D aplikací. Naopak procesor určen pro směrovač bude potřebovat velkou L2 cache, nebo ještě lépe nasazení vícejádrového procesoru s velkou společnou L2 cache. Může si například přát 2 jádrový procesor, kde jeden obsahuje jednotku pro podporu medií (NEON) a druhý obsahující jednotku pro urychlení práce s plovoucí desetinnou čárkou.
3.1
Nabízené funkce procesoru (features)
Názvy funkcí nejsou přeloženy. Můj překlad by nemusel být přesný. Funkce
Přínos Rychlé vykonávání instrukcí až 2 DMIPS/MHz, snaha udržet nízkou spotřebu energie pro delší životnost baterií. Urychluje zpracování multimédií. Zvyšuje výkon multimediálních aplikací. Přináší významné zrychlení práce při počítání s plovoucí desetinnou čárkou využívané pro vědecké výpočty i pro práci s grafikou. Kombinuje techniku minimální doby přístupu k maximalizování výkonu a minimalizace spotřeby energie, umožňuje udržovat souvislou cache při provozování mezi-procesní komunikace Zvyšuje rychlost vykonávání tradičního kódu původního ARM kódu a snižuje velikost potřebné paměti pro uložení instrukcí o 30% Zajišťuje spolehlivou implementaci bezpečnostních aplikací, správa digitálních práv, elektronický podpis, elektronické platby 3 násobné snížení velikosti kódu pro just-in-time kompilátory, zvyšuje rychlost vykonávání bytekódu virtuálních strojů Poskytuje vysokou propustnost a rychlý přístup. Až 2MB cache Umožňuje programátorovi optimalizovat a ladit program přes trasovací rozhraní (Coresight trace) pomocí CoreSight Design Kit který se připojí na trasovací rozhraní procesoru.
High-Efficiency Superscalar Pipeline
NEON Media Processing Engine Floating-Point Unit
Optimized Level 1 Caches
Thumb-2 Technology
TrustZone® Technology
Jazelle® RCT and DBX Technology
L2 Cache Controller Program Trace Macrocell and CoreSight™ Design Kit
3
3.2
Řetězení instrukcí podrobněji
Procesor je schopen dekódovat 2 až 4 instrukce, využívá super-skalárního zřetězení. Snižuje datové závislosti mezi vedlejšími instrukcemi a tím snižuje přerušení provádění, zatímco se čeká na výsledek závislých instrukcí. Jednotka obsahuje blok „fast-loop mode“ který slouží pro rychlé vykonávání krátkých smyček s minimální spotřebou energie. Super-skalární dekodér je schopen dekódovat 2 plné instrukce během jednoho cyklu. Umí také spekulativní provádění instrukcí (přejmenovávání registrů), k tomu má k dispozici virtuální pool registrů.
4. Architektura Cortex-A9 MPCore Architektura MPCore je naznačena na obrázku 2. Jedná se až o 4 jádra procesoru Cortex-A9 single core na jednom čipu. Jádra sdílí společnou vyrovnávací paměť druhé úrovně. Každé jádro je nezávisle konfigurovatelné, výrobce zařízení si předem vybere, co které jádro bude obsahovat. (Velikost L1 cache, bude-li obsahovat NEON, FPU, Program Trace) a určí, kolik jader bude procesor obsahovat. Komunikaci mezi jádry a to které jádro má co vykonávat, řídí nejdůležitější blok nazvaný „Snoop Control Unit“ (SCU). Tato jednotka také řídí proud dat a instrukcí, práci s vyrovnávací paměti a paměťové přesuny.
Obrázek 2
K okolním zařízením a k paměti se procesor připojuje prostřednictvím jednoduché nebo dvojité (rozhraní master/slave jako u HDD) rozšířené 64 bitové sběrnice AMBA 3 AXI. Při plné zátěži je sběrnice (master) schopná dosáhnout rychlosti 12GB/s. Každé rozhraní lze provozovat na jiné frekvenci.
4
Accelerator coherent port (obrázek 3) poskytuje přímé propojení non-cached zařízení k L1 cache procesorů, udržuje tuto paměť konzistentní. Jednotka ACP nejdříve hledá požadovanou informaci v L1 cache, pokud nenajde potřebná data, pošle příkaz k hledání dat ve vyrovnávací paměti druhé úrovně. Pokud ani tam nenalezne potřebná data, teprve potom se čte z hlavní paměti. Toto přímé načítání z L1 cache paměti zrychluje práci (přístup do hlavní paměti je mnohem pomalejší než do cache) a má za následek i nižší spotřebu. Postup je nastíněn na obrazku 3.
Obrázek 3
O řešení požadavků přerušení dbá Generic interrupt controller. Tato jednotka podporuje až 224 přerušení a rozděluje je mezi jednotlivá jádra. Rozdávání prostředků je řízeno software-ově operačním systémem.
5. Závěr Procesor Cortex-A9 je výkonný vysoce škálovatelný vestavěný procesor, který má využití ve výkonných mobilních zařízeních, multimediálních přehrávačích, HD přehrávačích, v síťových prvcích a mnoha dalších zařízeních, kde je v neposlední řadě kladen důraz na spotřebu zařízení. Na webových stránkách ARM lze najít obchodní značky výrobců, kteří používají jejich architekturu ve svých výrobcích a je možno podívat se na krátký popis produktu. Například Firma NVIDIA osadila tento procesor (architekturu) do netbooku zvaném Mobinnova elan Netbook, který umožňuje přehrávání pěti až deseti hodin HD filmu na jedno nabití baterií. Dvacet čtyři hodin přehrávání hudby, pokud nepoužíváme obrazovku. Tento procesor má spotřebu 50 až 150 mW během přehrávání videa. Tedy oproti konkurentovi Atomu od Intelu v tomto vyhrává.
5
Tento procesor je rovněž použit ve světě populárním Zune HD přehrávači, který vyrábí rovněž Nvidia. Nutno poznamenat, že procesor nepracuje pod Windows x86, ale podporuje Windows Embedded CE, operační systémy odvozeny od Linuxu (Symbian, Android) a IPhone OS (Apple).
6. Zdroje http://arm.com/ http://corporate.mobinnova.com/technology.html http://cs.wikipedia.org/wiki/ARM
6