Konečně jsem si našel čas, abych dopsal článek, kde vyjadřuji názor na ukončení spolupráce mez Applem a Intelem. Titulek a první odstavce jsem začal psát už v říjnu 2019 a místy je to asi trochu znát. Přemýšlel jsem, že článek upravím a změním titulek. Nakonec jsem ho moc neměnil a pouze přepsal několik časových údajů a doplnil existenci Ryzenu 4000, který tu je od lednového CESu. Přeji všem lehký návrat do podzimu roku 2019 a hezké čtení!
Internetem už přes rok kolují spekulace o tom, že vedení Intelu počítá s odchodem Applu, jakožto zákazníka, v první polovině roku 2020. Automaticky je tato spekulace spojována s přechodem Maců na procesory ARM, které si Apple sám dodá. Rád bych nabídl ucelený názor na tuto spekulaci.
V první řadě je potřeba zdůraznit, že se jedná opravdu o spekulaci, která navíc mluví pouze o opuštění Intelu a informace o náhradě formou vlastních ARMových procesorů je spíše jen “novinářský” dodatek. Je to pochopitelné, protože se tato varianta přímo nabízí. Hlavně pokud přihlédnu na fakt, že Apple vyvíjí nejlepší ARMové procesory pro mobilní zařízení na trhu a nedávno představil projekt Catalist, který vývojářům umožňuje “snadno” převést aplikaci z iOS na macOS.
Pojďme se na to podívat blíže
Dalším klíčovým faktorem, který podporuje nahrazení procesorů od Intelu vlastními ARM procesory je aktuální situace Intelu, který je už několik let zaseknutý na 14nm výrobním procesu. Ten je sice za ty roky výborně optimalizován, ale přestává být konkurenceschopný, protože AMD se vyšvihlo se svojí architekturou Zen 2, která je na 7nm procesu.
Intel tedy momentálně zaostává na poli desktopových a serverových procesorů a jediné místo, kde se jak takž drží jsou notebookové procesory, které se nachází například v MacBooku Pro. Nicméně i zde dochází ke změnám. Na letošním CESu (2020) AMD představilo notebookové procesory Ryzen 4000 založené na architektuře Zen 2. Zatím vypadají velmi slibně, ale teprve čas a reálné nasazení ukáže jestli AMD sesadilo Intel z trůnu i zde.
Intel tedy pomyslně drží nad vodou jeho brand v serverových procesorech a to, že drtivá většina počítačů, které se prodávají jsou notebooky. Většina výrobců totiž předpokládá brzké vyřešení problémů a návrat Intelu zpět před AMD. Tudíž nemají potřebu vypovídat nejrůznější smlouvy a utrácet peníze za vývoj počítačů založených na procesorech od AMD a velký návrat Intelu se očekává právě v roce 2020.
Ale bude tomu tak?
To nikdo moc neví, protože Intel uvedení nové architektury neustále odkládá (tedy skutečné nové architektury založené na menším výrobním procesu). Letos by jsme se měli dočkat nějakého pokroku a Intel by měl začít prodávat 10nm procesory.
Bohužel s největší pravděpodobností 10nm procesorů moc nebude. S desktopem se údajně nepočítá vůbec a v noteboocích pravděpodobně půjde jen o ty nejvíce úsporné verze. Ostatně pokud se podíváme na jednu uniklou road mapu Intelu (je trochu starší, ale to moc nevadí 😃 ), vidíme většinu mobilních procesorů na 14nm výrobním procesu. Pokud jste se tedy těšili na podzimní nákup MacBook Pro s 10nm procesorem od Intelu, tak Vás musím zklamat.
Přehřívání MacBooků Pro
Nicméně zpět k Applu, pro který je největší problém právě onen zásek. Způsobil totiž nemalé problémy. Nejlepším příkladem jsou 13″ a 15″ MacBooky Pro z let 2016, 2017, 2018 a 2019 (hlavně 15” modely z roku 2017 a výš), které trpěly přehříváním procesorů, což vedlo k následnému snížení frekvence (thermal throttling).
Tento problém vznikl při navrhování chladícího systému, kdy Apple počítal s road mapou Intelu, která se postupem času kvůli rychlému postupu AMD měnila. Intel totiž kvůli udržení konkurenceschopnosti přidal dvě jádra navíc a procesory najednou začaly mnohem více hřát. Zmenšování výrobního procesu, které by přineslo procesory generující méně tepla, se najednou nekonalo a problém byl na světě. Jednoduše řečeno chladící systém v MacBoocích Pro měl najednou uchladit něco na co nebyl nikdy navržen.
Dalším možným příkladem je 12″ MacBook, který Apple musel přestat vyrábět jednoduše proto, že byl navržen pouze s pasivním chladičem a Intel nemá žádné novější procesory, které by Apple mohl použít.
V Applu podle mě čekali, že Intel své problémy vyřeší, ale momentálně vůbec není jasné, kdy Intel uvedené nové procesory na menším výrobním procesu. A jelikož to možná neví ani Intel sám, tak v Cupertinu zcela určitě přemýšlí, jak se zbavit závislosti na Intelu.
Je Mac na ARMu to správné řešení?
Jedním řešením je již zmíněné nahrazení procesorů Intel vlastními procesory, které budou vycházet z aktuálních procesorů řady A (například úpravou A12X). To se může zdát jako nejjednodušší řešení, protože Apple má přece veškerou potřebnou technologii k dispozici (procesory, řadiče pamětí, atd…). Softwarová příprava by tady taky byla. Například již zmínění projekt Catalist umožní portovat iOS aplikace na Mac, nebo App Store, který umí distribuovat aplikace na základě platformy daného zařízení.
Ovšem pravdou je, že to zdaleka tak jednoduché není. Stále by bylo potřeba upravit nebo kompletně předělat hodně věcí na úrovni HW. S přechodem by pravděpodobně zmizela podpora Bootcampu, která je pro spousty uživatelů důležitá. Nemluvě o velkém množství SW, které by najednou nebylo podporováno. Řešení pomocí novodobé Rosety, která by emulovala procesor od Intelu nemusí být plně funkční.
Roseta totiž na procesoru Intel s rozsáhlými a komplexními instrukcemi emulovala mnohem “jednoduší” PowerPC procesor. Obrácený postup, kdy by se na ARMu emuloval složitější procesor od Intelu nemusí být prakticky funkční. Celé řešení by mohlo být poměrně pomalé a to hlavně v momentě emulace 64 bitových instrukcí.
Nehledě na to, že Apple by v nejbližší době byl schopný dodat pouze procesory pro MacBook/MacBook Air a základní Mac Mini či 21,5” iMac. V ostatních případech současné ARM procesory prostě nejsou konkurence schopné s výkonnými procesory řady i7, i9 a Xeon (a otázkou je zda-li vůbec někdy budou).
Apple by tedy musel udržovat Mac na dvou odlišných platformách což by pravděpodobně bylo ekonomicky velmi náročné a pro vývojáře poměrně nevýhodné, protože by nebylo jasné, kdy Mac navždy opustí Intel (x76-64).
Když jsem psal o emulaci procesorů Intel, tak jsem záměrně vynechal informaci, že Microsoft se momentálně o něco podobného pokouší. Má funkční emulaci 32-bitových aplikací a představil “tablet” Surface Pro X s ARMovým procesorem a Windows 10 a pracuje na emulaci 64-bitových aplikací, o které se ještě v roce 2016 říkalo, že bude nemožná. Jenže zde je část této emulace prováděná přímo samotnými ARMovými procesory a jde tak více o hardwarovou než softwarovou emulaci.
Microsoft je nyní v naprosto odlišené situaci. Nezareagoval vhodně na vývoj chytrých telefonů a potom tabletů. Jeho jediná šance je dostat Windows do 2v1 zařízení. Už několik let se o to taky snaží. Jenže Intel není schopný dodat x86-64 procesory, které by byly vhodné pro použití v tabletech. Microsoftu tedy nezbylo nic jiného než zkusit cestou ARMového tabletu s Windows 10 a emulaci aplikací.
Apple ovšem dominuje na trhu s tablety a dlouhodobě říká, že nebude kombinovat iPad a Mac. Myslím si, že jeden z důvodů ukončení 12″ MacBooku je uvolnění cesty iPadu Pro. Je potřeba vzít na vědomí tvrzení Applu, že iPad většině lidí nahradí počítač. Apple se může v klidu zaměřit na rozvíjení schopností iPadu a iPadOS aniž by ho něco omezovalo nebo musel řešit potíže s kompatibilitou softwaru. Maca může bez problému nechat beze změny lidem, kteří potřebují spolehlivý počítač na dnes již velmi specifické použití.
Prostě mnohem jednoduší je postupně dostat iPad co nejblíž k Macu a specifické profesionální aplikace budou jen přibývat. Myslím si, že MacBook na ARMu nikdy nepřijde a všechny spekulace, které ho zmiňují mluví spíše o iPad Pro, který se velmi přiblíží k MacBooku.
Poznámka: Výše popsané odstavce jsou odvozeny z předpokladu využití upraveného procesoru řady A. Existuje ještě možnost nasazení ARMové instrukční sady na upravený procesor x86-64, ale to si nechávám na další článek 😉 .
Spolupráce s AMD
Apple s AMD velmi intenzivně spolupracuje na grafických čipech pro Macy (velmi dobře je to vidět například na novém Macu Pro), tak proč by nemohli spolupracovat i na procesorech?
Druhým řešením by tedy mohlo být nahrazení Intelu AMDéčkem. Je to totiž mnoha ohledech jednoduší. Jak z hlediska HW, tak i SW, kde by bylo potřeba méně úprav ze strany Applu, tak i ze strany vývojářů aplikací.
AMD je totiž vlastník licence pro využívání technologií procesorů x86 (32 bitová technologie Intelu). Naopak AMD přišlo jako první s 64 bitovými procesory, a tak AMD zase licencuje x64 Intelu. Jednoduše řečeno, to co běží dnes na Intelu dokáže bez problému po menších úpravách a optimalizaci běžet stejně dobře i na AMD.
Apple může bez větší námahy použít procesory Ryzen, Threadripper nebo Epyc v Macu. Ale proč zůstávat jen u tohoto? Spolupráci s AMDmůže hodně prohloubit.
Vlastní procesory x64
Za poslední dekádu Apple vyvinul několik ARMových procesorů. Každý z nich vznikl zhruba tak, že si Apple od společnosti ARM koupil licenci na konkrétní ARMové jádro, které chtěl využít. V rámci této licence dostal instrukční sadu pro procesor a možnost upravit si jádro pro svoje potřeby. Upravené jádro následně spolu s dalšími komponenty implementoval do svého procesoru (SoC).
Není jisté, že Apple bude vyvíjet jen ARMové procesory. Tým, který je vyvíjí může vyvíjet i “klasické” x86-64 procesory. Vysoký výkon a nízkou energetickou spotřebu totiž nezaručuje to, že je procesor vybaven instrukční sadou ARM, ale pouze jeho navržení.
Apple si může od AMD koupit licenci na jádro Zen 2 (a všechny jeho budoucí verze) a licenci na instrukční sadu x64. S využitím svých znalostí může jádro Zen 2 upravit a vytvořit tím výkonné a energeticky nenáročné procesory pro Mac. Stejně jako v případě využití už hotových procesorů Ryzen by bylo potřeba provést mnohem menší počet změň než při kompletním přechodu na ARM.
Lze argumentovat chybějící podpory 32-bitové x86, kterou vlastní Intel a ten jí licencovat určitě nebude. Jenže Apple licenci na x86 nepotřebuje. macOS Catalina už 32-bitové aplikace nepodporuje. Apple je tak v pozici, kdy si může vyrábět procesory bez podpory 32-bitových instrukcí.
Hlavní výhoda tohoto řešení by spočívali v možnosti nabídnout vlastní procesory všem počítačům Mac a to včetně nového Maca Pro.
Ještě by tu bylo jedno řešení
Nakonec je třeba zmínit i třetí řešení, které by Apple mohl využít a vlastně jej už tak trochu využívá dnes.
Nové Macy si ponechají x86-64 procesor bez ohledu na to jestli bude od Intelu nebo AMD. Apple by se totiž mohl vydat cestou rozvoje funkcí T2 čipu, který má dnes prakticky každý nový Mac (vyjma iMacu, ale i tam bude brzy).
Už dnes T2 čip řídí kompletně celou boot sekvenci počítače a piny, které boot sekvenci obvykle řídí na procesoru Intel jsou vyvedeny na zem/nulu. A to nejsou zdaleka jediné funkce, které ARMový procesor řady T nabízí.
Apple tím dává jasně najevo, že pomocí vlastního procesoru (a bridgeOS, který na něm běží) může přebírat úkoly, které tradičně řeší procesor od Intelu. Dá se tedy předpokládat, že budoucí T3 čip by mohl přebrat další klíčové funkce. Nabízí se i možnost použití více samostatných čipů, kdy každý z nich by měl na starosti něco jiného.
Postupně mohou na procesoru od Intelu nebo od AMD běžet jen aplikace, které ho vyžadují a zbytek budou mít na starosti specializované čipy, které si Apple sám navrhl a dodal.
Nevím zda je to technicky možné a podle toho co jsem hledal, tak by to mohlo způsobovat hodně problémů, ale faktem je i to, že správně vytvoření bridgeOS by mohl umět zajistit správný chod celého systému.
Ať už to dopadne jakkoliv, tak můj šestý smysl mi říká, že Apple upnul svoji pozornost na Macy a letos nás čekají velké věci.