64bitová architektura procesoru
x86 se tradičně zaměřuje na maximální výkon na úkor všeho ostatního, což je klíčový rozdíl oproti procesorům Arm, které se snaží o lepší energetickou účinnost. V dnešním světě máme 64bitové architektury rozšířené napříč chytrými telefony a počítači. Tato změna nepřišla tak rychle, teprve kolem roku 2012 přešly i telefony, ale to nezměnilo způsob, jakým tato zařízení používáme, jen se s nimi lépe pracuje. Dnes obě architektury podporují 64bitovou architekturu, ale v chytrých telefonech má větší význam.
Počítače přešly na 64bitovou architekturu mnohem dříve než chytré telefony, ale nebyl to Intel, kdo vymyslel moderní architekturu x86-64 (známou také jako x64). Toto ocenění patří oznámení společnosti AMD z roku 1999, které modernizovalo stávající architekturu x86 společnosti Intel.
Architektura ARM
ARM je založena na RISC (Reduced Instruction Set Computing), zatímco Intel (x86) je CISC (Complex Instruction Set Computing). Instrukce procesoru Arm jsou přiměřeně atomické, s velmi těsnou korelací mezi počtem instrukcí a mikrooperací. CISC oproti tomu nabízí mnohem více instrukcí, z nichž mnohé provádějí více operací (například optimalizované matematické operace a přesuny dat). To vede k vyššímu výkonu, ale větší spotřebě energie při dekódování těchto složitých instrukcí.
Arm představil svou 64bitovou architekturu ARMv8 v roce 2011. Namísto rozšíření své 32bitové instrukční sady nabízí Arm čistou 64bitovou implementaci. K tomu architektura ARMv8 používá dva prováděcí stavy, AArch32 a AArch64. Jak názvy napovídají, jeden je určen pro spouštění 32bitového kódu a druhý pro 64bitový. Krása návrhu ARM spočívá v tom, že procesor může během běžného vykonávání plynule přecházet z jednoho režimu do druhého. To znamená, že dekodér pro 64bitové instrukce je nový návrh, který nemusí udržovat kompatibilitu s 32bitovou érou, a přesto procesor jako celek zůstává zpětně kompatibilní.
Vítězství ARM v mobilním ekosystému
Výše uvedené architektonické rozdíly částečně vysvětlují současné úspěchy a problémy, kterým oba čipoví giganti čelí. Přístup společnosti Arm k nízké spotřebě dokonale vyhovuje požadavkům na 3,5W tepelný návrhový výkon (TDP) v mobilních zařízeních, avšak výkon se škáluje tak, aby se vyrovnal i čipům společnosti Intel pro notebooky. Zatímco typické 100W TDP Core i7 od Intelu vítězí v serverech a vysoce výkonných stolních počítačích, ale historicky se potýká s problémy při škálování pod 5 W.
Jedna jedinečná vlastnost architektury Arm byla obzvláště důležitá pro udržení nízkého TDP pro mobilní aplikace, heterogenní výpočty. Myšlenka je poměrně jednoduchá, vytvořit architekturu, která umožní různým částem procesoru (z hlediska výkonu a spotřeby) spolupracovat pro zvýšení efektivity. Heterogenní multiprocessing (HMP) je již v oblasti Androidu velkou záležitostí, viz čipy jako Snapdragon 810, Exynos 7420 nebo Helio X20, ale Heterogeneous Compute (HC) je další evolucí.
Víte, procesory mohou být navrženy tak, aby vykonávaly určité úlohy efektivněji, ale jediný návrh se snaží být skvělý ve všem. Typický procesor může být dobrý v sériovém zpracování, zatímco GPU zvládne proudy paralelních dat a DSP je lépe optimalizován pro chroupání čísel s vysokou přesností v reálném čase. Díky širší škále možností, z nichž lze vybírat, teorie říká, že výběr nejlepšího procesoru pro konkrétní úlohu povede k vyššímu výkonu a energetické účinnosti.
Nejrychlejší počítač na světě v době psaní tohoto článku je založen na architektuře ARM!
Fugaku je nyní nejrychlejším superpočítačem na světě. V rámci projektu TOP500 byl japonský počítač Fugaku zařazen mezi nejrychlejší na světě a je poháněn bu procesorem A64FX. Fugaku se nachází v Centru výpočetní vědy RIKEN v japonském městě Wakó.
Kompatibilita softwaru
Aplikace a software musí být kompilovány pro architekturu procesoru, na kterém běží, historicky ekosystémy jako Android na Armu nebo Windows na x86 nemají problém běžet na více platformách nebo architekturách. Počítače Mac společnosti Apple na architektuře Arm, operační systém Chrome OS společnosti Google a systém Windows na architektuře Arm společnosti Microsoft jsou moderními příklady, kdy software musí běžet jak na architektuře Arm, tak na architektuře Intel. Kompilace nativního softwaru pro obě tyto architektury je možností pro nové aplikace a vývojáře, kteří jsou ochotni investovat do rekompilace. Pro vyplnění mezer se tyto platformy spoléhají také na emulaci kódu. Jinými slovy, překlad kódu zkompilovaného pro jednu architekturu procesoru tak, aby běžel na jiné. To je ve srovnání s nativními aplikacemi méně efektivní a snižuje to výkon, ale v současné době je možné dobrou emulací zajistit, aby aplikace fungovaly.
Po letech vývoje je emulace Windows na Armu pro většinu aplikací v docela dobrém stavu. Aplikace pro Android běží na Chromeboocích Intel z větší části také slušně. Budeme si muset počkat, zda na Macboocích s Armem poběží stejně dobře.
Doufám, že se vám článek líbil a získali jste z něj informace, které jste chtěli, pokud ano, sledujte mě v budoucnu pro další podobné příspěvky. Snažím se poskytovat cenné informace všem, kteří je hledají.