Co znamená paže? Procesory ARM versus x86: dojde k boji?

V současné době existují dvě nejoblíbenější architektury procesorů. Jedná se o x86, který byl vyvinut již v 80. letech a používá se v osobních počítačích a ARM - modernějším, díky kterému jsou procesory menší a ekonomičtější. Používá se ve většině mobilních zařízení nebo tabletů.

Obě architektury mají svá pro a proti, stejně jako oblasti použití, ale jsou zde i společné rysy. Mnoho odborníků říká, že ARM je budoucnost, ale stále má některé nevýhody, které x86 nemá. V našem dnešním článku se podíváme na to, jak se architektura ramen liší od x86. Podívejme se na základní rozdíly mezi ARM a x86 a také se pokusíme určit, co je lepší.

Procesor je hlavní součástí jakéhokoli výpočetního zařízení, ať už je to chytrý telefon nebo počítač. Jeho výkon určuje, jak rychle bude zařízení fungovat a jak dlouho vydrží na baterii. Jednoduše řečeno, architektura procesoru je soubor instrukcí, které lze použít ke skládání programů a které jsou hardwarově implementovány pomocí určitých kombinací procesorových tranzistorů. Umožňují programům interakci s hardwarem a určují, jak budou data přenášena a čtena z paměti.

V současné době existují dva typy architektur: CISC (Complex Instruction Set Computing) a RISC (Reduced Instruction Set Computing). První předpokládá, že procesor bude implementovat instrukce pro všechny příležitosti, druhý, RISC, dává vývojářům za úkol vytvořit procesor se sadou minimálních instrukcí nutných pro provoz. RISC instrukce jsou menší a jednodušší.

architektura x86

Architektura procesoru x86 byla vyvinuta v roce 1978 a poprvé se objevila v procesorech Intel a je typu CISC. Jeho název je převzat z modelu prvního procesoru s touto architekturou – Intel 8086. Postupem času, při absenci lepší alternativy, začali tuto architekturu podporovat i další výrobci procesorů, například AMD. Nyní je standardem pro stolní počítače, notebooky, netbooky, servery a další podobná zařízení. Občas se ale v tabletech používají procesory x86, to je celkem běžná praxe.

První procesor Intel 8086 měl 16bitovou kapacitu, v roce 2000 pak vyšel procesor s 32bitovou architekturou a ještě později se objevila architektura 64bitová. Tomu jsme se podrobně věnovali v samostatném článku. Během této doby se architektura velmi vyvinula a byly přidány nové sady instrukcí a rozšíření, které mohou výrazně zvýšit výkon procesoru.

x86 má několik významných nevýhod. Za prvé je to složitost příkazů, jejich zmatenost, která vznikla díky dlouhé historii vývoje. Za druhé, takové procesory kvůli tomu spotřebovávají příliš mnoho energie a generují hodně tepla. Inženýři x86 se zpočátku vydali cestou získání maximálního výkonu a rychlost vyžaduje zdroje. Než se podíváme na rozdíly mezi arm x86, promluvme si o architektuře ARM.

architektura ARM

Tato architektura byla představena o něco později po x86 - v roce 1985. Byla vyvinuta slavnou britskou společností Acorn, poté se tato architektura jmenovala Arcon Risk Machine a patřila k typu RISC, ale poté byla vydána její vylepšená verze Advanted RISC Machine, která je nyní známá jako ARM.

Při vývoji této architektury si inženýři dali za cíl odstranit všechny nedostatky x86 a vytvořit zcela novou a nejefektivnější architekturu. Čipy ARM získaly minimální spotřebu a nízkou cenu, ale měly nízký výkon ve srovnání s x86, takže zpočátku nezískaly velkou oblibu na osobních počítačích.

Na rozdíl od x86 se vývojáři zpočátku snažili dosáhnout minimálních nákladů na zdroje, mají méně instrukcí pro procesor, méně tranzistorů, ale také v důsledku toho méně doplňkových funkcí. Ale v posledních letech se výkon ARM procesorů zlepšuje. Vzhledem k tomu a nízké spotřebě energie se staly velmi široce používány v mobilních zařízeních, jako jsou tablety a smartphony.

Rozdíly mezi ARM a x86

A nyní, když jsme se podívali na historii vývoje těchto architektur a jejich zásadní rozdíly, pojďme provést podrobné srovnání ARM a x86 na základě jejich různých charakteristik, abychom určili, která je lepší, a přesněji pochopili, jaké jsou jejich rozdíly.

Výroba

Výroba x86 vs arm je jiná. Procesory x86 vyrábějí pouze dvě společnosti: Intel a AMD. Zpočátku to byla jedna společnost, ale to je úplně jiný příběh. Pouze tyto společnosti mají právo vyrábět takové procesory, což znamená, že pouze ony budou řídit směr rozvoje infrastruktury.

ARM funguje velmi odlišně. Společnost, která vyvíjí ARM, nic nevydává. Jednoduše vydají povolení k vývoji procesorů této architektury a výrobci si mohou dělat, co potřebují, například vyrábět konkrétní čipy s moduly, které potřebují.

Počet instrukcí

Toto jsou hlavní rozdíly mezi architekturou arm a x86. Procesory x86 se rychle vyvíjely jako výkonnější a produktivnější. Vývojáři přidali velké množství instrukcí procesoru a není zde jen základní sada, ale poměrně hodně příkazů, bez kterých by se to dalo obejít. Zpočátku to bylo děláno pro snížení množství paměti obsazené programy na disku. Bylo také vyvinuto mnoho možností ochrany a virtualizace, optimalizace a mnoho dalšího. To vše vyžaduje další tranzistory a energii.

ARM je jednodušší. Instrukcí procesoru je zde mnohem méně, pouze těch, které operační systém potřebuje a jsou skutečně využívány. Pokud porovnáme x86, tak tam je použito pouze 30 % všech možných instrukcí. Snadněji se učí, pokud se rozhodnete psát programy ručně, a také vyžadují méně tranzistorů k implementaci.

Spotřeba energie

Další závěr vyplývá z předchozího odstavce. Čím více tranzistorů na desce, tím větší je její plocha a spotřeba energie a platí to i obráceně.

Procesory x86 spotřebují mnohem více energie než ARM. Spotřebu energie ale ovlivňuje i velikost samotného tranzistoru. Například procesor Intel i7 spotřebovává 47 wattů a jakýkoli procesor smartphonu ARM nespotřebovává více než 3 watty. Dříve se vyráběly desky s velikostí jednoho prvku 80 nm, Intel pak dosáhl snížení na 22 nm a letos vědci dokázali vytvořit desku s velikostí prvku 1 nanometr. To výrazně sníží spotřebu energie bez ztráty výkonu.

V posledních letech se spotřeba x86 procesorů velmi snížila, například nové procesory Intel Haswell vydrží déle na baterii. Nyní rozdíl mezi arm vs x86 postupně mizí.

Odvod tepla

Počet tranzistorů ovlivňuje další parametr – tvorbu tepla. Moderní zařízení nedokážou přeměnit veškerou energii na efektivní činnost; část z ní je rozptýlena ve formě tepla. Účinnost desek je stejná, to znamená, že čím méně tranzistorů a čím menší jejich velikost, tím méně tepla bude procesor generovat. Zde již nevyvstává otázka, zda bude méně tepla generovat ARM nebo x86.

Výkon procesoru

ARM nebyl původně navržen pro maximální výkon, tady x86 exceluje. To je částečně způsobeno menším počtem tranzistorů. V poslední době se ale výkon procesorů ARM zvyšuje a lze je již plně využít v noteboocích nebo serverech.

Závěry

V tomto článku jsme se podívali na to, jak se ARM liší od x86. Rozdíly jsou docela vážné. Ale v poslední době se hranice mezi oběma architekturami stírá. Procesory ARM jsou stále produktivnější a rychlejší a procesory x86 díky zmenšení konstrukčního prvku desky začínají spotřebovávat méně energie a generovat méně tepla. Procesory ARM již najdete na serverech a noteboocích a procesory x86 na tabletech a chytrých telefonech.

Co si myslíte o těchto x86 a ARM? Jaká technologie je podle vás budoucností? Pište do komentářů! Mimochodem, .

Na závěr videa o vývoji architektury ARM:

V poslední době se samotná formulace otázky zdála nemyslitelná, ale vývoj technologií a výstřednosti trhu vedly k situaci, kdy je možná skutečná konkurence.

Poměrně nedávno se samotná formulace otázky zdála nemyslitelná: je vůbec možné srovnávat „telefonní“ procesor s čipy používanými v „osobních počítačích“, serverech a dokonce i superpočítačích? Mezitím vývoj technologií a tržní výstřednosti vedly k situaci, kdy odborníci vážně diskutují o možnosti nejen konkurence mezi procesory ARM a čipy x86, ale i tvrdé bitvě mezi nimi.

Nejprve si definujme pojmy a seznamme se s potenciálními soupeři.

Centrální procesory x86 jsou mikroprocesory, které podporují stejnojmennou instrukční sadu a mají mikroarchitekturu odvozenou od IA-32, tedy Intel Architecture 32-bit. Čipy jsou postaveny na architektuře CISC (Complex Instruction Set Computing), ve které každá instrukce může provádět několik nízkoúrovňových operací najednou.

Historicky se rodina x86 datuje od 16bitového Intel 8086, vydaného v roce 1978. Tyto procesory se staly 32bitovými až v roce 1985, kdy byla představena první „třistaosmdesátšestá“. V roce 1989 Intel vydal první skalární (to znamená, že provádí jednu operaci na takt) čip, i486 (80486), který poprvé představil vestavěnou mezipaměť a FPU. Procesory Pentium, představené v roce 1993, byly prvními superskalárními (to znamená, že provádějí několik operací za hodinový cyklus) a superpipelinem (tyto čipy měly dvě potrubí).

Tak, moderní x86 kompatibilní čipy jsou superskalární superpipeline mikroprocesory postavené na architektuře CISC.

Procesory ARM jsou 32bitové čipy založené na architektuře RISC (Reduced Instruction Set Computer), tedy s redukovanou instrukční sadou. Tato architektura je založena na myšlence zvýšení výkonu maximalizací zjednodušení instrukcí a omezením jejich délky.

Historie procesorů ARM začala v roce 1978, kdy byla založena britská společnost Acorn Computers. Značka Acorn vyrobila na místním trhu několik extrémně oblíbených modelů osobních počítačů založených na osmibitových čipech MOS Tech 6502. Mimochodem, stejný CPU byl nalezen v Apple I a II a Commodore PET.

S příchodem pokročilejšího modelu 6510, který se do Commodore 64 začal instalovat v roce 1982, však řada počítačů Acorn včetně populárního vzdělávacího BBC Micro ztratila na aktuálnosti. To přimělo majitele Acornu k vytvoření vlastního procesoru založeného na architektuře 6502, který by jim umožnil konkurovat za stejných podmínek strojům třídy IBM PC.

První sériový model ARM2, vyvinutý v rámci projektu Acorn RISC Machine, byl uveden na trh v roce 1986 a stal se v té době konstrukčně nejjednodušším a nejlevnějším 32bitovým procesorem: postrádal nejen vyrovnávací paměť, která byla normou pro čipy té doby, ale také mikroprogramy: na rozdíl od procesorů CISC se mikrokód spouštěl jako jakýkoli jiný strojový kód, a to tak, že byl převeden na jednoduché instrukce. Čip ARM2 sestával z 30 000 tranzistorů a tento kompaktní design zůstal charakteristickým rysem této rodiny: ARM6 měl pouze o 5 000 tranzistorů více.

Na rozdíl od Intelu nebo AMD si ARM nevyrábí procesory sám, raději prodá licence jiným. Mezi společnostmi s takovými licencemi jsou stejné Intel a AMD, stejně jako VIA Technologies, IBM, NVIDIA, Nintendo, Texas Instruments, Freescale, Qualcomm a Samsung. Orientační fakt: zatímco AMD, druhá společnost na trhu procesorů x86, slavila v roce 2009 uvedení svého 500miliontého CPU, jen v roce 2009 byly na trh dodány téměř tři miliardy procesorů ARM!

Moderní procesory ARM jsou superskalární superpipeline čipy postavené na architektuře RISC.

Soudě podle těchto dvou definic je téměř jediným formálním rozdílem mezi rodinami ARM a x86 mikroarchitektury RISC a CISC. To však již nelze považovat za zásadní rozdíl: počínaje úpravou i486DX se čipy x86 začaly více podobat procesorům RISC. Počínaje touto generací čipy při zachování kompatibility se všemi předchozími instrukčními sadami prokazují maximální výkon pouze s omezenou sadou jednoduchých instrukcí, která se až podezřele podobá instrukční sadě RISC. Proto lze dnešní x86 bezpečně považovat za CISC procesory s RISC jádry: hardwarový překladač zabudovaný v čipu dekóduje složité CISC instrukce do sady jednoduchých interních RISC instrukcí. I když lze každou CISC instrukci rozložit na několik RISC instrukcí, rychlost provádění posledně jmenovaných poskytuje významné zvýšení výkonu. Kromě toho bychom neměli zapomínat na superskalaritu a superpipelining moderních čipů.

Další rozdíl je mnohem důležitější: lví podíl na x86 jsou univerzální procesory „ověšené“ řadou různých bloků a modulů, které jsou navrženy tak, aby úspěšně zvládly téměř jakýkoli úkol - od surfování po webu a zpracování textových souborů až po vysoké rozlišení. kódování videa a práce s trojrozměrnou grafikou. Čipy ARM zaměřené na použití v chytrých telefonech a dalších přenosných zařízeních mají zcela jiné cíle a možnosti.

Na co by se pak měly takové různé produkty dělit? Samozřejmě je absurdní srovnávat čtyřjádrový Core i5 a „telefonní“ Qualcomm MSM7201A nalezený v komunikátorech HTC Dream a Hero, ale existují měřítka, kde se dnes trhy ARM a i86 překrývají. Jedná se jednak o nejnovější ARM čipy jako Cortex-A8 (architektura ARMv7-A), jednak o nízkonapěťové x86 procesory třídy Intel Atom. Módní tablet Apple iPad je založen na Cortex-A8 a Intel Atom pohání drtivou většinu netbooků.

Tyto čipy mají ještě jednu důležitou společnou vlastnost: oba tyto procesory fungují na principu sekvenčního provádění instrukcí, zatímco většina procesorů x86 jsou procesory mimo provoz. Tento obvod je navržen tak, aby dosahoval maximálního výkonu na watt spotřeby energie eliminací modulů odpovědných za provádění instrukcí mimo pořadí.

Atom má také několik zásadních rozdílů od Cortex-A8. Za prvé, téměř všechny čipy v této rodině podporují technologii paralelních výpočtů Hyper-Threading, která umožňuje reprezentovat jedno fyzické jádro jako dvě virtuální. To je velmi významná výhoda, která výrazně zvyšuje výkon nejen v dosud poměrně vzácných vícevláknových aplikacích, ale také při provádění příkazů, které intenzivně využívají I/O systémy. Například Atom s Hyper-Threadingem načítá Windows znatelně rychleji než srovnatelný jednojádrový VIA Nano bez podpory tohoto režimu.

Praktické srovnání výkonu Atomu a Cortexu-A8 provedl Van Smith, autor testovacích balíčků OpenSourceMark a miniBench a jeden ze spoluautorů SiSoftware Sandra. Testovali jsme stroje založené na procesorech Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050 a pro srovnání založené na mobilním Athlonu XP-M na jádře Barton. Vzhledem k tomu, že za výchozí bod byla vzata charakteristika Cortex-A8 s taktovací frekvencí 800 MHz, byly pracovní frekvence VIA Nano a Athon sníženy na stejnou hodnotu a Atomu na 1000 MHz (další snížení nebylo možné ). Cortex-A8 má přitom stále několik zjevně slabých míst: podporu pomalé 32bitové paměti DDR2-200 a více než skromnou integrovanou grafiku s maximálním rozlišením 1024 x 768 se šestnáctibitovou barevnou hloubkou. Všechny testy byly provedeny na systémech s operačním systémem Ubuntu 9.04 Linux.

Výsledky testu se ukázaly být více než zajímavé: Cortex-A8 prokázal celkem konkurenceschopný výkon v celočíselných výpočtech s výrazně nižší spotřebou energie ve srovnání s jeho konkurenty. Jak se dalo očekávat, pouze testy šířky pásma paměti a výpočty s pohyblivou řádovou čárkou, tradiční „Achillova pata“ čipů ARM, se ukázaly jako selhání. Procesory ARM po dlouhou dobu obecně postrádaly FPU moduly, a přestože Cortex-A8 má dva takové moduly (Neon 32-bit SP a VFP), jejich výkon zjevně nestačí. Výpočty s pohyblivou řádovou čárkou zahrnují trojrozměrné hry, vědecké modelování a některé typy zpracování a kódování videa a zvuku. Pokud se tedy výrobci procesorů ARM skutečně zaměřují na netbooky, nettopy a tablety, musí výrazně zlepšit výkon FPU. Podrobné výsledky všech testů naleznete zde (http://www.brightsideofnews.com/news/2010/4/7/the-coming-war-arm-versus-x86.aspx).

Máme očekávat boj mezi tak odlišnými a tak podobnými rodinami procesorů ARM a x86? Z hlediska výkonu v aplikacích pro masovou zábavu jsou zatím „paže“ výrazně horší i než „atomy“. Vyhlídky jsou však povzbudivé: nejnovější architektura Cortex-A9 je navržena tak, aby vytvářela procesory s jedním až čtyřmi jádry a podle ARM Limited výrazně zlepšila výkon s pohyblivou řádovou čárkou. První čipy založené na Cortex-A9 – NVIDIA Tegra 2 – jsou dvoujádrové čipy s grafickým jádrem, které podporuje Full HD 1080p video a trojrozměrnou grafiku se softwarovým rozhraním OpenGL ES 2.0. Tablet nebo netbook s takovými vlastnostmi může snadno konkurovat jakémukoli zařízení na bázi Atom. Zde připočtěme mimořádnou účinnost, která znamená dlouhou výdrž baterie. Apple iPad se tedy může stát symbolem začátku boje mezi čipy ARM a procesory x86 na jejich vlastním poli.

Zrovna nedávno (před 10 lety) byly na trhu spotřebitelských procesorů tři architektury a všechny byly víceméně dobře odděleny: procesory ARM byly instalovány do mobilních zařízení, kde byla důležitá výdrž baterie, procesory x86 byly instalovány do zařízení s Windows a Apple navzdory Intelu používal ve svých zařízeních procesory založené na architektuře PowerPC (i když víme, že se k x86 přesto „proplížil“). V tuto chvíli však na trhu pro zakázkové procesory zbývají pouze dvě architektury – PowerPC vypadl ze závodu a poměrně nedávno: poslední zařízení na této architektuře, PlayStation 3, se přestalo vyrábět teprve před pár týdny. Navíc stále více uniká, že na ARM procesorech bude možné provozovat plnohodnotná Windows a na druhou stranu Android skvěle funguje s x86 procesory počínaje verzí 4.0. To znamená, jak vidíme, rozdíl mezi těmito architekturami se v očích uživatelů stále více stírá a v tomto článku zjistíme, proč se to děje.

architektura x86

Nejprve si definujme, co je architektura. Zjednodušeně řečeno, z pohledu programátora je architektura procesoru jeho kompatibilita se specifickou sadou instrukcí, které lze použít při psaní programů a jsou hardwarově implementovány pomocí různých kombinací procesorových tranzistorů.


Procesory x86 jsou postaveny na architektuře CISC (Complex Instruction Set Computing, procesory s plnou sadou instrukcí) - to znamená, že procesor implementuje maximální počet instrukcí, což na jedné straně zjednodušuje psaní programů a snižuje jejich hmotnost a na druhou stranu procesor prakticky nelze vytížit na 100 %.

Prvním x86 procesorem byl Intel 8086, první 16bitový procesor od Intelu pracující na frekvenci až 10 MHz a vydaný v roce 1978. Procesor se ukázal jako extrémně populární a vyráběl se až do roku 1990 a všechny následující procesory s ním začaly být kompatibilní. Nejprve se tato kompatibilita ukázala jako konec názvu procesoru s 86, ale později, s vydáním Pentia, se rozhodli architekturu nazvat x86.

V roce 1985 byl vydán procesor i386, který se stal prvním 32bitovým procesorem od Intelu, a v roce 1989 Intel vydal první skalární procesor i486 – tento procesor mohl provádět jednu operaci za takt. Později, s vydáním Pentia v roce 1993, se procesory Intel staly superskalárními, to znamená, že se naučily provádět několik operací v jednom hodinovém cyklu a superpipeline, to znamená, že měly dvě výpočetní potrubí. To ale nebylo vše – ve skutečnosti všechny procesory Intel, počínaje i486DX, jsou CISC procesory s jádrem RISC (Reduced Instruction Set Computer, procesory s redukovanou instrukční sadou): v mikroprocesoru je zabudován hardwarový překladač, který je převedeny na CISC bezprostředně před provedením – instrukce procesorů x86 na jednodušší sadu interních instrukcí RISC, zatímco jedna instrukce x86 může generovat několik instrukcí RISC.

Od té doby se nic moc nezměnilo – ano, rostl počet pipeline, rostl počet operací na takt, procesory se staly vícejádrovými a 64bitovými, ale až dosud jsou všechna řešení od Intelu a AMD superpipeline superskalární mikroprocesory postavené na architektuře CISC s jádrem RISC.

architektura ARM

Architektura ARM se objevila později než x86, v roce 1986 s vydáním procesoru ARM2. Cílem jeho vývoje byla maximalizace optimalizace a snížení počtu tranzistorů – například v zátěži procesor x86 pak využíval sotva 30 % všech tranzistorů, všechny ostatní byly prostě nečinné. ARM proto vyvinul svůj vlastní čip na architektuře RISC, který nazvali ARM2 - měl pouze 30 000 tranzistorů (ve srovnání s 275 tisíci tranzistorů v tehdy aktuálním i386) a neměl cache (což bylo obecně normou pro procesory pak - cache je možné, bylo nutné zakoupit a dodat samostatně), ale i mikroprogram jako takový - mikrokód byl proveden jako každý jiný strojový kód, převedením na jednoduché instrukce:


Díky tomu, že počet tranzistorů v ARM procesorech je výrazně menší než u x86, dostáváme, že i jejich odvod tepla je výrazně nižší. Ale na druhou stranu, díky zjednodušené architektuře je výkon ARM také výrazně nižší než u x86.

Později byla do ARM přidána také podpora pro superskalaritu a superpipelining; procesory se staly vícejádrovými a před několika lety se staly 64bitovými. Výsledkem jsou moderní řešení od ARM superpipeline superskalární mikroprocesory postavené na architektuře RISC.

Výsledky

V důsledku toho vidíme dva extrémy: x86 jsou výkonná řešení nabitá instrukcemi, která dokážou s dobrou rychlostí provést naprosto jakýkoli úkol. Ale musíte za to zaplatit zvýšenou tvorbou tepla. ARM jsou naproti tomu jednoduché procesory s výrazně menší instrukční sadou, takže provádění mnoha vážných úkolů na nich nedává vzhledem k pomalosti procesu příliš smysl. Ale zároveň je produkce tepla nízká. Nejdůležitější však je, že obě architektury podporují instrukce RISC, což znamená, že na obou architekturách lze provozovat stejný OS, což vidíme v případě Androidu, Linuxu a Windows, a to znamená, že v budoucnu bude rozdíl mezi x86 a ARM bude stále více rozmazaný.

První čipy ARM se objevily před třemi desetiletími díky úsilí britské společnosti Acorn Computers (nyní ARM Limited), ale dlouhou dobu zůstávaly ve stínu svých slavnějších bratrů - procesorů x86. Vše se obrátilo vzhůru nohama s přechodem IT průmyslu do post-počítačové éry, kdy místo počítačů začaly vládnout mobilní gadgety.

Vlastnosti architektury ARM

Možná stojí za to začít s tím, že architektura procesoru x86, kterou v současnosti používají Intel a AMD, využívá instrukční sadu CISC (Complex Instruction Set Computer), i když ne v její čisté podobě. Velké množství složitých příkazů, které jsou již dlouhou dobu charakteristickým znakem CISC, je tedy nejprve dekódováno na jednoduché a teprve poté zpracováváno. Je jasné, že celý tento řetězec akcí vyžaduje hodně energie.

Energeticky efektivní alternativou jsou čipy architektury ARM s instrukční sadou RISC (Reduced Instruction Set Computer). Jeho výhodou je zpočátku malá sada jednoduchých příkazů, které jsou zpracovány s minimální námahou. Výsledkem je, že dvě architektury procesorů – x86 a ARM – koexistují mírumilovně (ve skutečnosti ne příliš mírumilovně) na trhu spotřební elektroniky, z nichž každá má své výhody a nevýhody.


Architektura x86 je umístěna jako univerzálnější, pokud jde o úkoly, které zvládne, včetně těch náročných na zdroje, jako je úprava fotografií, hudby a videa, stejně jako šifrování a komprese dat. Architektura ARM zase vyniká extrémně nízkou spotřebou a obecně dostatečným výkonem pro nejdůležitější účely současnosti: vykreslování webových stránek a přehrávání mediálního obsahu.


Obchodní model společnosti ARM Limited

V současné době se ARM Limited zabývá pouze vývojem architektur referenčních procesorů a jejich licencováním. Tvorba konkrétních modelů čipů a jejich následná hromadná výroba je úkolem držitelů licence ARM, kterých je celá řada. Jsou mezi nimi společnosti známé jen v úzkých kruzích jako STMicroelectronics, HiSilicon a Atmel, ale i IT giganti, jejichž jména jsou známá – Samsung, NVIDIA a Qualcomm. Úplný seznam společností, které jsou držiteli licence, lze nalézt na příslušné stránce oficiálního webu společnosti ARM Limited.


Tak vysoký počet držitelů licencí je způsoben především množstvím aplikací pro procesory ARM a mobilní gadgety jsou jen špičkou ledovce. Levné a energeticky úsporné čipy se používají ve vestavěných systémech, síťových zařízeních a přístrojovém vybavení. Platební terminály, externí 3G modemy a sportovní měřiče srdečního tepu – všechna tato zařízení jsou založena na architektuře procesoru ARM.


Podle analytiků samotná ARM Limited vydělává 0,067 $ na licenčních poplatcích za každý vyrobený čip. To je ale velmi průměrná částka, protože náklady na nejnovější vícejádrové procesory jsou výrazně vyšší než u jednojádrových čipů zastaralé architektury.

Jednočipový systém

Z technického hlediska není označování čipů architektury ARM za procesory zcela správné, protože kromě jednoho nebo více výpočetních jader obsahují řadu souvisejících komponent. Vhodnější jsou v tomto případě pojmy single-chip system a system-on-a-chip (z anglického system on a chip).

Nejnovější jednočipové systémy pro chytré telefony a tablety tedy zahrnují řadič RAM, grafický akcelerátor, video dekodér, audio kodek a volitelné moduly bezdrátové komunikace. Vysoce specializované čipy mohou obsahovat další řadiče pro rozhraní s periferními zařízeními, jako jsou senzory.


Jednotlivé komponenty jednočipového systému mohou být vyvíjeny buď přímo společností ARM Limited, nebo společnostmi třetích stran. Nápadným příkladem toho jsou grafické akcelerátory, které kromě ARM Limited (Mali grafika) vyvíjejí Qualcomm (grafika Adreno) a NVIDIA (grafika GeForce ULP).

Zapomenout bychom neměli ani na společnost Imagination Technologies, která nedělá nic jiného než designové grafické akcelerátory PowerVR. Vlastní však téměř polovinu celosvětového trhu s mobilní grafikou: gadgety Apple a Amazon, tablety Samsung Galaxy Tab 2 a také levné smartphony založené na procesorech MTK.

Zastaralé generace čipů

Morálně zastaralé, ale stále hojně používané procesorové architektury jsou ARM9 a ARM11, které patří do rodin ARMv5, respektive ARMv6.

ARM9. Čipy ARM9 mohou dosahovat taktovací rychlosti 400 MHz a jsou s největší pravděpodobností tím, co se nachází uvnitř vašeho bezdrátového routeru a starších, ale stále spolehlivých mobilních telefonů, jako je Sony Ericsson K750i a Nokia 6300. Rozhodující pro čipy ARM9 je instrukční sada Jazelle, která umožňuje pohodlnou práci s Java aplikacemi (Opera Mini, Jimm, Foliant atd.).

ARM11. Procesory ARM11 se mohou pochlubit rozšířenou sadou instrukcí oproti ARM9 a mnohem vyšší taktovací frekvencí (až 1 GHz), i když jejich výkon na moderní úkoly také nestačí. Kvůli nízké spotřebě energie a neméně důležitým nákladům se však čipy ARM11 stále používají v chytrých telefonech základní úrovně: Samsung Galaxy Pocket a Nokia 500.

Moderní generace čipů

Všechny víceméně nové čipy architektury ARM patří do rodiny ARMv7, jejíž vlajkoví zástupci dosáhli již osmi jader a taktu přes 2 GHz. Procesorová jádra vyvinutá přímo ARM Limited patří do řady Cortex a většina výrobců jednočipových systémů je používá bez výraznějších změn. Pouze Qualcomm a Apple vytvořili své vlastní modifikace založené na ARMv7 - první nazvala své výtvory Scorpion a Krait a druhá - Swift.


ARM Cortex-A8. Historicky prvním procesorovým jádrem rodiny ARMv7 byl Cortex-A8, který tvořil základ pro tak slavné SoC své doby jako Apple A4 (iPhone 4 a iPad) a Samsung Hummingbird (Samsung Galaxy S a Galaxy Tab). Prokazuje přibližně dvojnásobný výkon ve srovnání s předchůdcem ARM11. Jádro Cortex-A8 navíc dostalo koprocesor NEON pro zpracování videa ve vysokém rozlišení a podporu zásuvného modulu Adobe Flash.

Je pravda, že to vše negativně ovlivnilo spotřebu energie Cortex-A8, která je výrazně vyšší než u ARM11. Navzdory tomu, že čipy ARM Cortex-A8 se stále používají v levných tabletech (jednočipový systém Allwiner Boxchip A10), jejich dny na trhu jsou zjevně sečteny.

ARM Cortex-A9. Po Cortex-A8 představila společnost ARM Limited novou generaci čipů - Cortex-A9, která je nyní nejběžnější a zaujímá průměrnou cenovou mezeru. Výkon jader Cortex-A9 se oproti Cortex-A8 zvýšil přibližně trojnásobně a na jednom čipu je možné kombinovat i dvě nebo dokonce čtyři.

NEON koprocesor se stal volitelným: NVIDIA ho zrušila ve svém jednočipovém systému Tegra 2 a rozhodla se uvolnit více místa pro grafický akcelerátor. Pravda, nevzešlo z toho nic dobrého, protože většina aplikací pro přehrávání videa stále spoléhala na časem prověřený NEON.


Právě za „vlády“ Cortex-A9 se objevily první implementace konceptu big.LITTLE navrženého společností ARM Limited, podle kterého by jednočipové systémy měly mít výkonná i slabá, avšak energeticky úsporná procesorová jádra. První implementací konceptu big.LITTLE byl systém na čipu NVIDIA Tegra 3 se čtyřmi jádry Cortex-A9 (až 1,7 GHz) a pátým energeticky účinným doprovodným jádrem (500 MHz) pro provádění jednoduchých úloh na pozadí.

ARM Cortex-A5 a Cortex-A7. Při návrhu procesorových jader Cortex-A5 a Cortex-A7 sledovala společnost ARM Limited stejný cíl – dosáhnout kompromisu mezi minimální spotřebou energie ARM11 a přijatelným výkonem Cortex-A8. Nezapomněli ani na možnost kombinace dvou nebo čtyř jader – postupně se v prodeji objevují vícejádrové čipy Cortex-A5 a Cortex-A7 (Qualcomm MSM8625 a MTK 6589).


ARM Cortex-A15. Procesorová jádra Cortex-A15 se stala logickým pokračováním Cortex-A9 – díky tomu se čipy architektury ARM poprvé v historii dokázaly výkonově zhruba porovnat s Intel Atom, a to už je velký úspěch. Ne nadarmo Canonical v systémových požadavcích pro verzi Ubuntu Touch OS s plným multitaskingem specifikoval dvoujádrový procesor ARM Cortex-A15 nebo podobný Intel Atom.


Velmi brzy se do prodeje dostane řada gadgetů založených na NVIDIA Tegra 4 se čtyřmi jádry ARM Cortex-A15 a pátým společníkem Cortex-A7. Po NVIDII převzal koncept big.LITTLE Samsung: „srdcem“ smartphonu Galaxy S4 byl čip Exynos 5 Octa se čtyřmi jádry Cortex-A15 a stejným počtem energeticky účinných jader Cortex-A7.


Vyhlídky do budoucna

Mobilní gadgety založené na čipech Cortex-A15 se zatím v prodeji neobjevily, ale hlavní trendy dalšího vývoje architektury ARM jsou již známy. Společnost ARM Limited již oficiálně představila další rodinu procesorů ARMv8, jejíž zástupci budou nutně 64bitové. Jádra Cortex-A53 a Cortex-A57 otevírají novou éru RISC procesorů: první je energeticky úsporný, druhý je vysoce výkonný, ale oba jsou schopné pracovat s velkým množstvím paměti RAM.

Výrobci spotřební elektroniky se zatím o rodinu procesorů ARMv8 nijak zvlášť nezajímali, ale na obzoru se chystají noví držitelé licencí, kteří plánují přinést čipy ARM na serverový trh: AMD a Calxeda. Myšlenka je inovativní, ale má právo na život: stejné grafické akcelerátory NVIDIA Tesla, sestávající z velkého počtu jednoduchých jader, prokázaly svou účinnost v praxi jako serverová řešení.

Odpověď je pro aplikace se zvýšenou funkční bezpečností. K tomu se používají minimálně jádra ARM Cortex-R ve vysoce výkonných „real-time“ mikrokontrolérech od Texas Instruments.


Přestože jsou procesory Cortex-R z hlediska instrukční sady téměř zcela kompatibilní s procesory Cortex-A a Cortex-M, stále jsou mezi nimi značné rozdíly. Konkrétně jádro Cortex-R nabízí vyšší výkon než Cortex-M, přičemž je stále schopno provádět deterministické operace, kterých je na aplikačních procesorech Cortex-A obtížné dosáhnout. Výkonově tedy Cortex-R spadá mezi Cortex-M a Cortex-A, ale zároveň může být použit jak v mikrokontrolérech, tak v procesorech.


Jádro Cortex-R je postaveno na architektuře Harvard a poskytuje vysoké takty díky 8-stupňovému pipeline a superskalárnímu provádění instrukcí. Hardwarové instrukce SIMD umožňují vysoce výkonné digitální zpracování signálu a zpracování médií. Cortex-M také obsahuje funkce zvyšující výkon, jako je prefetcher instrukcí, prediktor větví a hardwarový rozdělovač. Tyto architektonické komponenty pomáhají procesorům Cortex-R4 a Cortex-R5 dosáhnout vysokého výkonu DMIPS/MHz. Další zajímavou vlastností jádra Cortex-R je, že potrubí s plovoucí desetinnou čárkou vyhovující standardu IEEE-754 podporuje formáty s jednoduchou přesností (32bitové) i s dvojitou přesností (64bitové) a běží paralelně s plovoucí desetinnou čárkou. čísla pevných bodů.



Díky paměti s nízkou latencí pevně spojené s procesorem se na události v reálném čase reaguje co nejrychleji a zpracování přerušení se provádí co nejrychleji. Tyto schopnosti spolu s vysokým výkonem a determinismem jádra Cortex-R pomáhají splnit požadavky aplikací v reálném čase, které také vyžadují funkční bezpečnost.


Pokud pracujete v oboru bezpečnosti a spolehlivosti zařízení, pravděpodobně jste již slyšeli o funkční bezpečnosti programovatelných elektronických součástek a první, která by vás mohla napadnout, je IEC 61508. Jedná se o hlavní mezinárodní bezpečnostní standard, který existuje již přibližně 20 let a je dodržován v mnoha průmyslových odvětvích. Funkční bezpečnost je zajištěna v dopravě (letecký, železniční a automobilový průmysl), průmyslu, medicíně, obnovitelné energii a dalších oblastech. Tato průmyslová odvětví buď vyvinula své vlastní bezpečnostní normy, nebo upravila mezinárodní normy, jako je IEC 61508. Za zvláštní zmínku stojí, že automobilový průmysl přijal v roce 2012 vlastní normu funkční bezpečnosti ISO 26262.


Co je tedy dobrého na Cortex-R z hlediska funkční bezpečnosti? Především unikátní konfigurační funkce, které umožňují opravu chyb. Tyto funkce jsou možnosti, které ARM zabudoval přímo do jádra, které zahrnují funkce detekce a opravy chyb, ochranu paměti sběrnice a L1, uživatelské a privilegované režimy pro software jednotky ochrany paměti (MPU) a podporu dvoujádrových konfigurací Lock Step (DCLS).


Co je DCLS a proč je potřeba? Pokud jste softwarový inženýr pracující na projektu, který vyžaduje, aby zařízení fungovalo spolehlivě a bezpečně, DCLS vám výrazně usnadní život. To je zvláště užitečné, pokud používáte dva mikrokontroléry nebo dvě nezávislá jádra k diagnostice chyb v jednom jádru.


Při práci s nezávislým jádrem existuje několik specifických problémů. Nejprve musíte napsat "extra" kód pro každý mikrokontrolér, který bude monitorovat jiný mikrokontrolér. Za druhé, nyní musíte tento kód učinit hlavní součástí vašeho modulu zabezpečení systému, to znamená, že musíte v každém řádku tohoto kódu uvést spolehlivost a bezpečnost dalšího provozu. S DCLS se tento „extra“ kód a potřeba jeho zabezpečení stávají minulostí. Vývojář samozřejmě musí ještě napsat spoustu řádků kódu souvisejícího se zabezpečením, ale tento mechanismus mu stále usnadňuje život.


Pro snadnější pochopení lze mechanismus DCLS chápat jako kombinaci hlavního procesoru a ověřovacího modulu. Z pohledu programátora se programování takového systému nebude lišit od programování běžného jednojádrového mikrokontroléru. Druhé jádro, tedy ověřovací modul, spolu s porovnávací logikou vykonává práci výše popsaného „extra“ kódu a mnoho dalšího. Srovnávací logika dokáže detekovat chybu během několika cyklů procesoru, zatímco diskrétnímu jádru to může trvat stovky nebo dokonce tisíce cyklů. Proto je DCLS mnohem rychlejší při zjišťování chyb a může ušetřit cenný čas při vývoji spolehlivého kódu.




Nahoru