ARM odhalil plán budoucích CPU jader: Deimos a Hercules pro přímý útok na Intel

7

Firma ARM letos vystupňovala svůj zatím stále hlavně papírový souboj s Intelem. Spolu s Qualcommem a Microsoftem připravuje notebooky s Windows poháněné čipy s jádry ARM, jejichž první generace s Cortexy-A73 už je venku a druhá by měla být na cestě. Při představení jádra Cortex-A76 v červnu byl přislíben výkon (nebo alespoň IPC) blízké architekturám Intelu a nyní ARM říká, že už příští rok by mohl možná dosáhnout ještě víc. Firma představila roadmapu procesorů na následující léta, což doposud nedělala, a v ní nové architektury, které mají opět přinést výrazná zlepšení výkonu.

 

ARM chce každý rok zvýšit výkon o 15 %

ARM měl v posledních letech docela agresivní „kadenci“ vydávání nových architektur. Cortex-A73, Cortex-A75 a nyní A76 přicházely v ročních intervalech, což výrobcům mobilních čipů dovolovalo rychle po sobě vydávat SoCy se zvyšujícím se výkonem CPU. ARM je na to logicky patřičně hrdý a nyní prozradil, že toto tempo bude udržovat i do budoucna. Také v roce 2019 a 2020 uvede nová výkonná jádra Cortex, které mají opět rychlosti čipů ARM nakopnout. ARM s nimi totiž údajně chce nastavit či držet trend, kdy se výkon jeho CPU architektur bude každý rok zvyšovat v průměru o 15 %.

2019: Deimos

Finální označení těchto jader zatím sdělena nebyla. ARM se ale podělil o jejich interní kódová jména, která jsou u firmy tradičně odvozena od řeckých božstev a mytologických postav. Na rok 2019 (pravděpodobně opět bude odhaleno začátkem léta) připravuje ARM jádro Deimos. Deimos je následníkem Cortexu-A76 a počítá se u něj s tím, že se bude vyrábět na různých variantách 7nm procesu, pro nějž je optimalizován (A76 je vyvinuta pro 7nm, ale také i pro 10nm proces). Deimos má údajně zvýšit výpočetní výkon proti architektuře Cortex-A76 o 15 % nebo i o víc. Ačkoliv odhalení má být v roce 2019 a procesory s touto architekturou asi trh obsadí hlavně v roce dalším, ARM uvádí, že výrobci už k tomuto IP budou mít přístup od letoška, aby své SoC připravili.

2020: Hercules

V roce 2020 pak pravděpodobně s ročním odstupem vyjde další generace, která má kódové označení Hercules (jméno možná může svědčit o ambicích, vkládaných do tohoto návrhu). Hercules má „pokračovat v trajektorii zvyšování výkonu“, což asi má znamenat opět oněch 15 % výkonu navíc, ale přesné číslo zde už ARM uvést nechce. Zároveň má Hercules také vylepšit efektivitu co do spotřeby a co do spotřebovaných tranzistorů o 10 %. Je zajímavé, že u Deimosu toto jmenováno není. Teoreticky by to mohlo značit, že Deimos půjde trošku cestou hrubé síly, zatímco Hercules možná naopak cestou šikovné optimalizace, kdy se podobný výkon bude dosahovat méně prostředky (něco jako v případě rozdílných koncepcí jader Cortex-A72 a pak užšího A73). Ovšem asi je třeba dát si pozor na to, abychom pár vět zvolených marketingem nepřeanalyzovali. Toto je přece jen dost spekulativní.

Roadmapa výkonných jader ARM určených i pro notebooky a PC
Roadmapa výkonných jader ARM určených i pro notebooky a PC

Hercules opět ještě počítá s výrobou na 7nm procesu. Spolu s ním ale bude optimalizován paralelně už i pro 5nm proces. Architektura bude odhalena v roce 2020, ale partneři opět dostanou IP už v roce 2019. A hotové čipy by se asi mohly objevovat během roku 2021, nejdřív asi hlavně na 7nm procesu. Nicméně se asi dá čekat, že výrobci mobilních SoC s jádry ARM v letech 2021–2022 budou přecházet na 5nm proces, když s tím ARM v návrhu architektury počítá. TSMC sice říká, že 5nm výrobu spustí zkušebně už v roce 2019, ale do komerčního nasazení to asi bude chvíli trvat.

Je třeba říct, že ony údaje o zvýšeném výkonu jsou jen prognózy a očekávání. Benchmarky dávané takto v předstihu je vždy třeba brát s rezervou, navíc je jako obvykle možné, že jde o „až“ čísla pro případy, kde nová jádra budou mít nadprůměrně vysoké přínosy, a typická zlepšení budou menší. ARM bohužel také nespecifikuje, jaká část oněch každoročních 15% zlepšení má být v architektonických změnách zlepšujících IPC a jakou roli bude hrát pouhé zvýšení frekvence díky pokročilejší výrobě.

HP Envy X2
HP Envy X2: tzv. „Always Connected PC“ s ARM procesorem procesorem Snapdragon 435 a Windows 10

Cortex-A76 má být rychlejší než Skylake… v SPECInt2006

ARM tato jádra prezentuje jako architektury, které mohou pohánět procesory určené už nejen pro mobilní zařízení, ale i plnotučné notebooky a PC. V tomto kontextu jinak také zveřejnil nová výkonnostní čísla pro již odhalený Cortex-A76. Jde o test SPECint2006 kompilovaný pomocí GCC 7. V něm údajně Cortex-A76 běžící na 3 GHz a s 4MB L3 cache má dosáhnout prakticky stejný jednovláknový výkon, jako Intel Core i5-7300U, což je dvoujádro generace Kaby Lake s taktem v turbu 3,5 GHz. ARM bohužel dodal jen graf (na němž je sloupeček ARMu o pár pixelů nižší), přesná čísla nejsou. Také není úplně jasné, na jaké frekvenci přesně Kaby Lake běželo. Podle žlutého sloupečku, což je výsledek pro jeho základní takt 2,6 GHz, bych si tipl, že to nebylo plných 3,5 GHz. Podle velikosti sloupečku (což může být zavádějící) by to mohlo být okolo 3,15 GHz. Ale pokud benchmark neškáluje lineárně, tak i víc. SPECint2006 ale údajně částečně závisí na rychlosti pamětí, takže škálování  lineární být nemusí.

I tak by asi tento test ukazoval přinejmenším na docela blízké IPC, bohužel kvůli nejasné frekvenci Kaby Lake nevíme, zda IPC nemá být dokonce není vyšší. Jde ovšem o jen jeden vybraný test, který možná nemusí ukazovat úplně typický obrázek (vzpomeňte si na to, jak například jádrům Zen jde nadprůměrně dobře Cinebench, ale třeba x265 mají zase naopak nadprůměrnou výhodu Intely). Také je dost možné, že IPC jádra Cortex-A76 může pocházet i z věcí jako je nízká latence L1, které ale zase způsobí, že jeho frekvence bude mít strop hodně nízko. ARM uvádí, že čipy pro notebooky budou moci běžet na 3,0 až 3,3 GHz. Vzhledem k tomu, že Kaby Lake se dokáže dostat na 4,5 GHz i výš při OC, je jasné, že při započítání jak IPC, tak frekvence bude Intel pořád o hodně vepředu. Také je tu jeden malý detail: výkon Cortexu-A76 je odhadovaný, ne reálně naměřený.

Ve SPECint2006 má údajně 3Ghz Cortex-A76 vyvíjet podobný výkon jako Intel Core i5-7300U (Kaby Lake na 2,6 až 3,5 GHz)
Ve SPECint2006 má podle ARMu údajně 3Ghz Cortex-A76 vyvíjet podobný výkon jako Intel Core i5-7300U (Kaby Lake na 2,6 až 3,5 GHz)

Lepší energetická efektivita ARMu (ovšem na 7nm procesu)

ARM také uvádí, že onen uvažovaný SoC s 3GHz jádry Cortex-A76 bude mít TDP okolo 5 W, zatímco Core i5-7300U má stanoveno 15W TDP. To má být ukázka lepší energetické efektivity. Zde je ale třeba namítnout, že SPECint2006 by měla být jednovláknová zátěž, při které asi čip Intelu nespotřebovává plných 15 W (kolik bude potřebovat při 3,0 GHz jedno jádro A76, to ale také nevíme). Kromě toho je procesor Intelu 14nm, kdežto onen uvažovaný ARM je modelován s 7nm tranzistory. Test je jinak na Ubuntu 18.04.

Jak se tato nacházející jádra ARM budou schopné popasovat s jádry Intel (a potažmo AMD), to asi bude nejlepší hodnotit až na reálných čipech. Ony notebooky se systémem Windows by pro to možná mohly poskytovat dobrou příležitost. Většina x86 aplikací na nich sice běží v emulaci, ale je možné na nich spouštět i nativní binárky architektury ARMv8. Takže s vhodnou aplikací bude možné srovnávat nativní výkon jader Intel a ARM na jednom operačním systému a na podobné platformě (což je problém při benchmarkování třeba mobilů proti notebookům). Mohly by to být každopádně zajímavé časy.

ARM odhalil plán budoucích CPU jader: Deimos a Hercules pro přímý útok na Intel

Ohodnoťte tento článek!
4.8 (96.67%) 24 hlas/ů

7 KOMENTÁŘE

  1. Zdravím, chtěl bych se zeptat, když se mluví o IPC u x86tek (nebo i jiných CISC jader)…má se na mysli počet microOPS/takt nebo počet „makro/ciscových“ instrukcí/takt? Vždy jsem totiž předpokládal, že se mají na mysli právě „makro“ instrukce…protože to jsou ty co tvoří instrukční sadu (navenek)…takže IPC by se mělo udávat logicky asi v nich…je tento předpoklad správný, nebo jsem úplně mimo? A pokud to jsou opravdu makro ins/takt….potom IPC x86 a ARM jader asi nejde jen tak porovnávat?

    • Smysl má asi mluvit jenom o IPC těch instrukcí x86, protože počet těch mikroOPů, které z toho uvnitř jádra CPU udělá, může kolísat.
      Jinak když se o tom IPC mluví, tak se (většinou) nemyslí nějaké konkrétní číslo, ale poměrné porovnání mezi dvěma architekturami – například zvýšení IPC mezi starším a novějším jádrem, srovnání IPC mezi dvěma jádry různých výrobců a tak. To se dá celkem dobře změřit tím, že se vezme výkon v nějakém benchmarku a vydělí se to jako frekvencí nebo lépe se to změří na stejné frekvenci. Ono to stejně platí jen pro jednu konkrétní úlohu, protože to „IPC“ se liší podle programu. Takže takhle v tom kontextu, jak to tady používáme, tak se tím vlastně myslí abstraktně něco jako průměr IPC přes větší množství aplikací. Ale zase když se bude zvýšením IPC o x % chlubit nějaký výrobce CPU, tak to může mít podložené zase třeba jenom jednou aplikací, v které to zrovna vychází hezky.

      • Děkuji za odpověď, já si jsem vědom toho že IPC je jen průměrná hodnota, která se v podstatě nikde absolutně neudává a pouze se dávají do poměru IPC různých jader (i když by mě celkem zajímalo jaké je zhruba průměrné IPC Zen/Skylake opravdu číselně vyjádřené)..že se bude IPC lišit podle toho jak zrovna strojový kód daného programu architektuře a možnostem jádra „sedne“ tomu „rozumím“. Pokud to teda celé dobře chápu, tak to že bude mít ARMové jádro stejné IPC jako pomyslné x86 v nějakém SW ani zdaleka neznamená že by při stejném taktu měly mít tyto dvě jádra i stejný „výkon“ že? Protože stejný program zapsaný x86 instrukcemi jich bude mít daleko méně než ten pro to RISCové jádro, třeba i pouze polovinu. To by znamenalo že runtime toho programu na x86 bude poloviční oproti tomu na RISC jádru -> to x86 jádro má při stejné f a stejném průměrném IPC 2x vyšší výkon (- přece jenom to stihlo dvakrát rychleji/za polovinu času). Takže to, že nějaké budoucí ARM jádro dožene IPC Intelu ještě vůbec neznamená, že dohnalo jeho skutečný výkon, ani při stejné frekvenci. Nejsem si jist jestli jsou mé úvahy správné takže bych chtěl poprosit ještě o ujasnění tohoto „problému“. Předem děkuji a přeji hezký den.

      • Jen by jaksi postrádalo smysl to nazývat IPC.
        Kdysi dávno se rychlost měřila v převrácené hodnotě, tedy v CPI a tam to bylo jasné. Každá konkrétní instrukce vždy trvala pevně daný počet cyklů, takže se nechaly dva různé procesory krásně porovnat a to v čemkoliv a nemuselo se to ani testovat.
        Dneska je doba trvání instrukce proměnlivá v rozmezí dvou řádů, záleží na vytížení výpočetních jednotek i na tom, jestli je paměťová buňka nacachovaná, případně v které cachi se nachází. Takže jinak, než tím benchmarkem se to změřit nedá. Problém benchmarku ale je v tom, že nikdy nebude objektivní, protože jednomu procesoru se vejde do cache, druhému ne, pro jeden procesor bude mít instrukce správně poskládané, pro druhý ne.

    • To IPC sa hlavne používa na tak široký záber vecí, že s pôvodným významom IPC to nemá už takmer nič spoločné.

      Dnešné CPU sú príliš netransparentné (najmä x86 ktoré sa ani nelicencujú) a IPC sa dá zmerať akurát na simulátore.

      V reálnych testoch zasahuje príliš veľa premenných, okrem spomenutej pamäte aj spomenutý RISC86 (či už rozklad alebo fúzia inštrukcií), niektoré inštukcie sa preskakujú úplne, niektoré podľa stavu, ďalej tu je vektorizácia (v x86 prakticky nieje kód bez SSE/AVX) a v neposlednom rade aj turbo alebo throtling…

      Tiež je povedzme kontroverzné porovnávať IPC alebo celkový výkon samotného procesora v SPEC benchmarkoch. Pokiaľ viem tak nesprávna verzia/nastavenie kompilátora tam má väčší vplyv ako použitie +/- 2 generácie staršieho Xeonu. SPEC by som bral za smerodajný maximálne pri porovnaní dvoch inštalovaných systémov, aj tam by som si musel byť istý.

      To len na okraj pretože pre toho kto berie IPC v klasickom zmysle môžu byť tieto prehlásenia mätúce.