Poslední dobou se hodně spekuluje nad tím, že Apple nahradí v Macu procesory Intel za svoje ARMové procesory. Existují dva tábory s rozdílnými názory na tuto otázku. Jedni tvrdí, že ARM nikdy nedokáže nahradit výkonem Intel a druzí, že je ARM je schopný nahradit Intel a hlavně je energeticky úspornější. Já osobně bych byl raději, aby v Macu zůstal Intel, ale uvědomuji si, že vlastně neznám relevantní srovnání a ARM byl pro mě do psaní tohoto článku pouze RISCOvý procesor, který na x86-64 pravděpodobně nemá. V tomhle článku se pokusím srovnat oba dva druhy procesorů srozumitelnou řečí.

Než začneme

Aby si tento článek mohl přečíst i někdo, kdo do této chvíle neslyšel výraz CISC a RISC, tak na začátku článku vysvětlím důležité pojmy, které vám usnadní porozumění textu. Zároveň budu hodně termínů zjednodušovat, aby byly srozumitelné. Tím tento text nebude tolik odborný a rozhodně se nebude dát považovat za akademický.

Základní pojmy

  • CPU (Central Processing Unit) – procesor v počítači. Dále lze použít označení mozek stroje.
  • Instrukční sada (tzv. ISA – Instruction Set Architecture) – jedná se o  souhrn/”balík” schopností (instrukcí), které procesor umí.
  • CISC (Complex Instruction Set Computer) – instrukční sada pokrývá velmi široký okruh instrukcí, které by jinak šly naprogramovat pomocí již obsažených instrukcí.
  • RISC (Reduced Instruction Set Computer) – opak CISCu. Má redukovanou instrukční sadu. Instrukce, které chybí lze nahradit již obsaženými instrukcemi (například násobení lze nahradit sčítáním a bitovým posunem).
  • x86-64 – 64-bitová verze instrukční sady x86, která byla založená na CISCu.
  • ARM (původně Advanced RISC Machine) – můžeme nalézt ve všech mobilech, tabletech a další spotřební elektronice.

Teď se na všechno podíváme trochu podrobněji.

CISC

Je velmi rozsáhlá instrukční sada a proto považujeme CISC procesory za univerzální. Jednotlivé instrukce bývají natolik složité, že každé operaci stačí načtení jediné instrukce z paměti. Dá se říct, že na každou operaci existuje odpovídající instrukce.

RISC

Tato instrukční sada vznikla na konci 70. let jako protipól k CISC. V podstatě jde o zcela odlišnou filozofii. Instrukční sada je natolik redukovaná, aby obsahovala pouze jednoduché a nejčastěji používané instrukce. Složité instrukce jsou nahrazeny použitím několika jednoduchých instrukcí.

RISCové procesory: ARM, MIPS, Atmel AVR, POWER (dřívě PowerPC), SPARC.

x86-64

Instrukční sada x86 vznikla s procesorem Intel 8086 pro počítače IBM PC kompatibilní. Byla založena na CISC, ale dnes jde převážně o kombinaci CISC a RISC.

Filozofií procesorů s touto instrukční sadou je maximální výkon, který zpočátku nebral ohled na případnou spotřebu. Až s technologickým pokrokem, zmenšování výrobní technologie, optimalizací a přidáváním prvků, které jsou typické pro procesory RISC došlo ke snižování spotřeby energie.

Procesory s touto instrukční sadou najdeme každém notebooku, desktopu a serveru.

ARM

Tyto procesory byly od začátku navrhovány, tak aby měly co nejmenší spotřebu. Stejně jako CISC a RISC jsou dvě zcela odlišené filozofie, tak zde je to tomu podobné, protože zatímco dnes u x86-64 dochází ke snižování spotřeby, tak u ARMu dochází ke zvyšování výkonu.

Stejně jako u x86-64 nejde říci, že jde o čisté CISC procesory, tak ARMu nejde říci, že se jedná o čisté RISC procesory, protože některé ARMy mohou mít velmi komplexní instrukce, které se vyrovnávají komplexnosti instrukcí, které najdeme na procesorech x86-64.

Výhodou ARMu může být druh licencování. ARM totiž procesory nevyrábí, ale pouze navrhuje. Tento návrh následně prodává pod licencí, která každému umožňuje provádět zásadní změny. Díky tomu může mít Apple procesor založený na stejném návrhu, ale mnohem výkonnější.

Procesory ARM najdeme v každém mobilu, tabletu a dalších různých zařízeních, kde je potřeba minimální spotřeba energie.

ARM vs x86-64 (Intel)

Teď je potřeba zmínit, že přes rozdílné určení procesorů obou dvou firem dochází k tomu, že se ARM a Intel navzájem snaží proniknout do trhů toho druhého.

Tradiční energeticky nenáročné procesory ARM vstoupili na trh vysoko výkonných procesorů a tradiční vysoko výkonnostní x86-64 zase na trh energeticky nenáročných procesorů.

Může tedy ARM/X86-64 nahradit x86-64/ARM?

Po přečtení několika předchozích odstavců se tato otázka logicky nabízí. Faktem je, že některé procesory ARM jsou dnes natolik výkonné, že v benchmarkcích dosahují hodnot, které mají základní notebookové procesory od Intelu.

A to nemají ani aktivní chlazení. Proto se začíná spekulovat o možném využití ARMových procesorů například v notebooku, protože mají nižší spotřebu a došlo by k prodloužení výdrže baterie.

Jenže to není tak jednoduché, protože na ARM nenainstalujete Windows. Na ARMu totiž běží Android, iOS, některé distribuce Linuxu a další specifické operační systémy (macOS je údajně připravené na procesory ARM). Microsoft proto zkoušel Windows RT, které běželo na ARMu, ale na tomto druhu systému zase nefungovali standardní Windows aplikace. Projekt Windows RT byl poté ukončen.

Dnes má Microsoft Windows 10 IoT (Internet of Things/Internet věcí) core, který je určený pro zařízení s procesory ARM. Zároveň spolupracuje se Qualcomem (výrobce procesorů ARM) na zařízení s Windows 10, které dokáže emulovat x86 (zatím pouze 32-bit), aby zajistili podporu starších aplikací. Navíc při každé emulaci dochází ke ztrátě výkonu.

U serverů by to mohlo být poněkud jednoduší, protože drtivá většina z nich běží na Linuxu. Nicméně ani tam se nejedná o jednoduchý krok, protože ne všechny distribuce a aplikace na to jsou připravené.

Apple Má zkušenosti s přechodem

Apple už jednou přecházel z PowerPC (RISC) na Intel (x86-64), aby umožnil fungování aplikací psané pro PowerPC vytvořil emulátor Roseta, který je umožnil spouštět na procesorech Intel. Tento krok je možné na přechodnou dobu opakovat.

Dneska je na tom Apple navíc lépe, protože hodně aplikací má dnes své iOS klony (a přijde i Photoshop pro iPad) a na WWDC 2018 Apple ukázal, že pracuje na portování aplikací z iOS na macOS. V případě, že by Apple v Macu využíval stejné procesory jako v iPhonu a iPadu byl by port jednoduší.

Co tedy Applu brání?

Ok, tak ARM nám už teď může v některých případech nabídnout srovnatelný výkon a nižší spotřebu energie, tak na co se čeká?

Na tohle se velmi těžko odpovídá, protože momentálně jde hodně o věc názoru. Někdo tvrdí, že ARM nemá šanci nahradit x86-64 a někdo zase tvrdí, že ano. Ostatně můžeme si vzít abstrakt této studie (pro naše potřeby je abstrakt dostačující), která se zabývá tím, jak moc velký vliv má rozdílnost ARMu a x86-64 na spotřebu energie.

Kdybych chtěl výsledek jednoduše popsat, tak nezáleží na tom jestli procesor má instrukční sadou typickou pro ARM nebo x86-64, ale na tom, jak je (na co je) procesor navržen a optimalizován. Dá se tedy velmi těžko odhadnout zda ARM dokáže nahradit x86-64, protože instrukční sada na spotřebu energie a výkon nemá podle všeho vliv.

Záleží tedy čistě na procesorech, které dané společnosti nabízí a zatím zde není od ARMu nic co by mohlo konkurovat výkonným procesorům od Intelu určené pro výkonné počítače.

Sice GIGABYTE teď chystá počítač, který odpovídá specifikací typickým “workstation” PC s procesorem ARM, ale stejně si myslím, že bude chvíli trvat (říká se, že asi 10 let) než se ARM dotáhne na výkonné Intely a Intel mezitím určitě nezahálí a bude se snažit maximálně snižovat spotřebu energie.

Můj osobní názor

Myslím si, že stejně jako Microsoft experimentuje s Windows 10 na ARMu, tak i Apple experimentuje s Macem na ARMu a dokonce si myslím, že levnější MacBook na ARMu se může objevit brzy, protože o aplikace pro danou cílovou skupinu asi nebude nouze a určitě vznikne něco jako Roseta. To je asi tak všechno co můžeme očekávat pokud se bavíme o Macu, který bude pouze na ARMu.

Konec konců například pro Adobe to může nový začátek, protože například Photoshop a další aplikace jsou za ty léta neskutečné “zbastlené”, že nejsou pro Mac ani moc optimalizované.

Hybrid

Mnohem zajímavější může být myšlenka využít kombinace ARMu upraveného Applem a Intelu. Spojení procesoru (CPU) a externího grafického čipu (GPU) využíváme podobně, tak proč nevyužívat stejnou kombinaci i zde?

V momentě, kdy v Macbooku Pro (nebo klidně jen v Macbooku) bude speciální ARM procesor s velmi nízkou spotřebou, který se bude starat o základní systémové procesy a programy (Mail, Safari, Kalendář, Kontakty, atd. + programy, které mohou běžet na ARMu), tak může dojít k výraznému snížení spotřeby energie. Zároveň bude možnost spustit programy, které nemohou běžet na ARMu nebo potřebují mnohem větší výkon v druhém procesoru od Intelu.

RISC-V

Do toho všeho tady existuje ještě jedna proměnná a tou je RISC-V (čte se RISC-Five). Jedná se o akademický projekt, který se snaží vytvořit konkurenci ARMu. Zásadní rozdíl je v tom, že jde o open source. Apple a další firmy by nemusely platit licence ARMu a zdarma si upravovat procesory podle svých potřeb.

Závěrem

Apple je úspěšný v úpravách procesorů ARM a v neprospěch Intelu mluví množství chyb typu Spectre a to může zásadně ovlivnit rozhodování o přechodu.

Nečekám, že by Apple v blízké době nahradil procesory Intel vlastními (maximálně představí levný Macbook na ARMu), protože ARM není připravený na to, aby nahradil procesory od Intelu v Macu Pro či iMacu Pro. Mnohem víc se mi líbí myšlenka hybridu, protože takovéhle řešení očekávám právě od Applu.