ARM architektura - nejen mobilní procesory
21. 4. 2010 07:00 Rubrika: Technologie Autor: Bořek Kuzník
V současné době se velice rozmohly mobilní zařízení se stále vyšším výkonem. Nejedná se jen o notebooky, ale také mobilní telefony s operačním systémem dostávají do výbavy procesory, které se již svou frekvencí přiblížily k 1 GHz a výkon takovéhoto řešení začíná být velice zajímavý. Když vezmeme navíc v potaz, že ARM procesory jsou oproti normálnímu řešení daleko úspornější, tak nás možná do budoucna může čekat střet dvou architektur.
V dnešním světě počítačů jsou známy především procesory založené na architektuře x86 a x64, což jsou 32 a 64bitové architektury využívající registry a instrukční sadu typu CISC. Přesněji CISC s mikrokódem, což znamená, že je procesor konstruován interně jako RISC ( RISC má redukovanou instrukční sadu a může tak mít více paralelních jednodušších instrukčních jednotek) a tento procesor operuje s tkzv. mikroinstrukcemi, pomocí nichž jsou prováděny běžné strojové CISC instrukce.
ARM je oproti tomu založena jako 32bitová mikroprocesorová architektura typu RISC (instrukce vykonává přímo hardware a ne mikrokód). Procesory tohoto typu obsahují 44 základních instrukcí s jednotnou šířkou 32 bitů. V jediném taktu jsou schopny vykonávat pouze instrukce s aritmeticko-logickou jednotkou, s registry nebo s přímými operandy. Procesor je schopen pracovat ve 4 režimech (uživatelský režim USR, privilegovaný režim supervizora SUP, privilegovaný režim přerušení IRQ a privilegovaný režim rychlého přerušení FIQ).
Co se týče registrů, je jich v procesoru k dispozici 25 (32bit) a vzájemně se částečně překrývají (15 univerzálních, 10 pro speciální funkce), z tohoto je v každém režimu činnosti 16 registrů programově přístupných
Název ARM znamenal dříve zkratku Advanced RISC Machine, dnes je spíše užito zkratky jako Acorn RISC Machine. První procesor byl vyroben firmou ARM Limited v roce 1984 a dnes po 26 letech tvoří ARM procesory více jak 75% veškerých 32bitových RISC procesorů ve vestavěných zařízeních, což je staví do role nejpoužívanější architektury na světě.
Tyto procesory mají výborný poměr mezi výkonem a spotřebou, tudíž je můžeme najít snad ve všech odvětvích spotřební elektroniky od PDA a mobilních telefonů přes multifunkční přehrávače, přenosné herní konzole až po počítačové periferie (disky,routery...). V současné době se již plánují netbooky využívající nejmodernější ARM procesory, což nasvědčuje slibnou budoucnost pro tuto architekturu. Nejdůležitější procesory jsou zejména produkty Marvell XScale a OMAP od společnosti Texas Instruments.
Teď se podívejme trochu do historie, kterak se ARM vyvíjela. Dnes považuji za zbytečné rozebírat zastaralé systémy, které již nepotkáme, takže toto přeskočím velice rychle a více bych se zaměřil na systémy dnes využívané.
ARM1-ARM3
Dnes již zastaralé, jedná se o jádra ARM1, ARM2, ARM250, ARM2a, kde až poslední jmenovaný disponoval miniaturní cache. Dosahoval výkonu 12 MIPS@ 25 MHz. Zástupcem je procesor Acorn Archimedes.
(MIPS = milion operací za sekundu)
ARM6
Architektura ARMv3, jádra ARM60, ARM600 a ARM 610. Dnes již také zastaralé, dosáhla výkonu 17 MIPS @ 20 MHz. Nejznámější představitel je Acorn Risc PC 600 a Apple Newton 100 series.
ARM7
Stejná architektura ARMv3, jádra ARM700, 710, 710a, 7100, 7500 a 7500FE. Zastaralá, přidává až 8kB cache a nepatrně vyšší výkon. Zástupce této série je například Apple eMate 300.
ARM7TDMI
Architektura ARMv4T přidává 3stupňovou pipeline. Jádra ARM7TDMI(-s), ARM710T, 720T, 740T. 8kB cache, MMU, MPU. Výkon 60 MIPS @ 59,8 MHz (720T). Procesor této série známe z těchto zařízení: Game Boy Advance, Nintendo DS, iPod.
Sem také patří architektura ARMv5TEJ, která přinesla 5stupňovou pipeline, DBX a DSP instrukce.
StrongARM
Architektura AMRv4, jádra SA-110 a SA-1110. Zde použita cache až 16 kB. Tento procesor dosahuje frekvence až 233 MHz a setkat se s ním můžeme například v PDA Palm Zire 31.
ARM8
Opět se jedná o architekturu ARMv4, jenž využívá 5stupňovou pipeline, statickou predikci skoku a paměť s dvojnásobnou propustností. Jádro je pouze v jedné podobě, a to s označením ARM810 s unifikovanou 8kB cache. Výkon dosahoval hodnot 84 MIPS @ 72 MHz.
ARM9TDMI
Architektura ARMv4T, jádra ARM9TDMI, 920T, 922T, 940T. 5stupňová pipeline, 16kB/16kB MMU s FCSE u jádra 920T. Výkon dosahoval 200 MIPS @ 180 MHz. Nejznámějším zástupcem této rodiny je procesor Samsung S3C2442, který pohání komunikátor HTC TyTN taktován na frekvenci 400 MHz a při použití baterie o kapacitě 1350 mAh vydrží kolem 10 dní v pohotovosti a při zatížení udrží komunikátor v provozu zhruba 5 hodin.
ARM9E
Nová architektura ARMv5TEJ a ARMv5TE. Jádra ARM926EJ-S a ARM996HS, variabilní cache. Výkon 220 MIPS@ 200 MHz. Toto je jeden z nejpoužívanějších procesorů, například mobilní telefony: Sony Ericsson série K a W; Siemens a Benq (série x65 a novější);
Texas Instruments OMAP1710, OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138;
Qualcomm MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800;
Freescale i.MX21, i.MX27
ARM10E
Architektura ARMv5TE a ARMv5TEJ s jádry ARM1020E, 1022E a 1026EJ-S. Zde 6stupňová pipeline a 32kB/32kB (1020E) nebo 16kB/16kB (1022E) nebo variabilní u 1026EJ-S. Posledně jmenované jádro najdeme u Western Digital MyBook II World Edition
X Scale
Toto označení shrnuje velké množství jader založených na architektuře ARMv5TE.
Jmenoval bych PXA210/PXA250, což je aplikační procesor se 7stupňovou pipeline. PXA210: 133 a 200 MHz, PXA250: 200, 300 a 400 MHz. Tyto procesory najdeme v zařízení iPAQ H3900 a Sony CLIÉ NX60.
Další zajímavé jádro je PXA26x, jenž je schopno pracovat až do taktu 624 MHz (standart 400 MHz) a nejdeme jej u zařízení Palm Tungsten T3.
Nejrozšířenějším jádrem této série je však PXA27x, jenž disponuje 32kB/32kB cache a dosahuje výkonu 800 MIPS @ 624 MHz. Toto jádro bylo použito například u Motoroly Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Trēo 650-755p, HTC Universal nebo HP hx4700.
Ještě bych vzpomněl, že sem také patří jádro PXA3XX (Monahans), které najdeme u populárního komunikátoru Samsung Omnia a jádro PXA900 pohánějící komunikátory Blackberry 8700, Blackberry Pearl (8100).
ARM11
Taktéž velice rozsáhlá rodina jader, které najdeme v dnešních komunikátorech. První jádro nese název ARM1136J(F)-S a je postaveno na architektuře ARMv6, která přináší 8stupňovou pipeline, MMU (Správa paměťové jednotky- tato komponenta je odpovědná za zpracování přístupů k paměti požadované CPU. Jeho funkce zahrnují překlad virtuální adresy na fyzické adresy (tj. virtuální řízení paměti), ochranu paměti , kontrolu cache...) a variabilní cache. Toto jádro bývá taktováno na cca 400 MHz až 665 MHz a najdeme jej u spousty přístrojů:
Texas Instruments OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, Nokia N800, Nokia N810
Qualcomm MSM7200 s integrovaným koprocesorem ARM926EJ-S na frekvenci @274 MHz, použitým ve Eten Glofiish, HTC TyTN II, HTC Nike
Freescale i.MX31 použitý v originálním Zune 30gb a Toshiba Gigabeat S
Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia 5800, Nokia E51, Nokia E75, Nokia N97, Nokia N81)
Qualcomm MSM7201A viděn v HTC Dreamu, HTC Magic, Motorola Z6, HTC Hero, & Samsung SGH-i627
Další zajímavé jádro této rodiny nese označení ARM1176JZ(F)-S a je založen na architektuře ARMv6KZ. Toto jádro je vybaveno 9stupňovou pipeline, SIMD, Thumb2 a DSP instrukcemi, variabilní cache a MPU,MMU a TrustZone. Toto jádro najdeme v těchto zařízeních:
Apple iPhone, Apple iPod touch
Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10
NVIDIA GoForce 6100
Telechips TCC9101, TCC9201, TCC8900
Fujitsu MB86H60, Samsung S3C6410, S3C6430
Cortex
V této opět rozsáhle rodině bych vyzdvihl jádro Cortex-A8 postavené na architektuře ARMv7-A se superskalární 13stupňovou pipeline. Toto jádro spolupracuje s variabilní cache L1+L2 a dosahuje frekvence od 600 MHz až nad 1 GHz. Toto jádro využívá spoustu moderních zařízení, nejznámější jsou například:
Texas Instruments OMAP3xxx, SBM7000,
Apple iPod touch (třetí generace),
Apple iPhone 3GS, Motorola Droid, Palm Pre, Samsung i8910, Sony Ericsson Satio, Touch Book, Nokia N900
Dalším zajímavým jádrem je Cortex-A9 MPCore, který přidává možnost 1-4 jader a provádění instrukcí mimo pořadí. Dosahuje zde výkonu cca 2,5 MIPS @ MHz a najdeme je v novinkách tohoto roku jako je Apple iPad nebo NVIDIA Tegra2.
Další jádra z této rodiny jsou zaměřeny na mikrokontrolery, těm se již dále věnovat nebudu.
Takže jak si z tohoto pohledu do historie můžete všimnout, procesory ARM začínaly v obyčejných kalkulačkách a podobných zařízeních a dnes již pohání například tablet společnosti Apple a komunikátory jako například HTC Desire, jenž je vybaveno 1GHz ARM procesorem (“Snapdragon“) a 512 MB RAM, což již značí velice zajímavý výkon se spotřebou CPU kolem 330 mW.
V dnešní době se již chystá netbook od společnosti Lenovo, jenž nese název Skylight a je poháněn právě procesorem Snapdragon společnosti Qualcomm. Tento netbook by se měl vyznačovat výdrží až 10 hodin a na trh by se měl dostat v létě tohoto roku, takže na praktické testy a závěry je bohužel ještě brzy.
Ovšem společnost Pioneer Computers již představila své řešení netbooku spolu s ARM procesorem. Jedná se o 7“ netbook s názvem DreamBook Lite E79, jenž je vybaven procesorem Samsung na frekvenci 533 MHz a 128 MB RAM. Výkonnost tohoto zařízení ovšem není vysoká, ovšem na přehrávání videa, Skype či internet by dostačovat mohla. Zajímavá je koncová cena, která by neměla po přepočtu přesáhnout 4000 Kč.
Pioneer DreamBook Lite E79 s Windows CE 5.0, ať vypadá desktop jakkoliv :-)
Na internetu je dokonce možno dohledat test ARM procesoru proti Intel Atom. ARM procesor je údajně relativně stejně rychlý, ale jelikož test byl prováděn systémem, který se zakládal pouze na subjektivním dojmu při práci na PC, tak bych řekl, že je velice nevypovídající a na reálné závěry bude nutno ještě počkat.
V tuto chvíli je nutno konstatovat, že ARM procesory ušly za poměrně krátký čas docela velikou vzdálenost, ovšem v nejbližší budoucnosti to vypadá zatím na doplnění procesorů společnosti Intel. Na praktické testy bude nutno si počkat, jelikož spousta netbooků vybavených ARM je plánována ke konci roku, ale jistě bude zajímavé sledovat vývoj konkurenčního boje v této oblasti. Na oblast klasických notebooku podle mého názoru ARM zatím nestačí a ještě bude trvat nějaký čas, než budou disponovat takovým výkonem, aby se vůbec přiblížili plnohodnotnému řešení společnosti Intel a AMD. Otázkou je, zda tam vůbec ARM bude směřovat.