První ARMv9 jádra Cortex jsou tu. Nové malé jádro je jako Bulldozer

Cortex-A510: úplná novinka v malých jádrech se starým překvapením

ARM letos oznámil novou generaci instrukční sady: ARMv9, s níž přichází třeba nové instrukce SVE. Teď tyto novinky přechází z papíru do reality: firma odhalila první CPU jádra, která přinesou ARMv9 do mobilů, ale asi i PC: Cortex-A710, dále vůbec nejvýkonnější jádro Cortex-X2 a také po letech nové úsporné malé jádro Cortex-A510. To je hodně zajímavé, Arm totiž sáhl po řešení se sdílenou FPU připomínajícím CMT architekturu AMD Bulldozer.
Zatímco X2 a A710 jsou poslední výhonky z už léta se odvíjející linie, třetí jádro je úplně nové a mělo by jít o novou architekturu, tentokrát vyvinutou týmem ARMu v Cambridge v průběhu minulých čtyř let. Také zde přišlo nové trojmístné označení, jde ovšem o následníka Cortexu-A55.

Cortex-A510 bude plnit roli malého jádra, zaměřeného na co nejnižší spotřebu a velmi malou zabranou plochu. Také toto jádro podporuje instrukční sadu ARMv9, oproti A710 je to už ale zase bez 32bitové kompatibility.

Zatímco Apple (a v budoucnu Intel) svá malá jádra staví relativně výkonná a s out-of-order architekturou, ARM zdá se toto nesdílí, nejspíš právě kvůli nárokům na energii a počet tranzistorů – tato jádra totiž musí pokrývat procesory pro levné telefony, kde je tlak na co nejnižší cenu. Cortex-A710 je proto opět in-order architektura. Ovšem ARM slibuje, že z něho přesto vymáčkl značný výkon.

Jako Bulldozer?

Největší pozdvižení na začátek. ARM pro toto úsporné in-order jádro převzal koncepci, která proslavila (ale typicky spíš negativně) architekturu AMD Bulldozer a její deriváty. Cortexy-A510 budou mít totiž jednotku SIMD/FPU sdílenou mezi dvěma jádry, čímž vzniká stavební kámen nazvaný komplex. ARM tomu říká Merged-Core architektura.

Komplex je tvořen dvěma spojenými jádry, která mají každé vlastní celočíselnou část. A to celou včetně frontendu, dekodérů a fetche, takže integrace/sdílení není tak velká jako u Bulldozeru. Ale L2 cache, L2 TLB a zejména FPU a SIMD jednotka jsou přítomné jen v jedné instanci sdílené mezi oběma polovinami komplexu. Mimo SIMD operací je takto sdílená také akcelerace šifrování.

V mobilním procesoru tak typicky místo čtyř jader A55 budete mít dva komplexy Cortex-A510, nicméně ty se budou chovat jako čtyři jádra. Architektura podle ARMu umožňuje zredukovat komplex na 100% plnohodnotné jádro tím, že v něm bude se stejnou FPU jednotkou umístěno jen jedno celočíselné jádro místo dvou. Toto ale nebude asi příliš efektivní na zabranou plochu, takže pravděpodobně nepůjde o častou implementaci.

Důvod použití sdílené FPU je asi právě snížení plochy jader. Cortex-A710 má totiž jako předchozí jádra podporu pro SVE, a to buď s dvěma 128bitovými, nebo dokonce jen s dvěma 64bitovými pipeline (v big.LITTLE procesoru mohou být i 64bitové, ale šířka vektoru z pohledu softwaru bude kvůli kompatibilitě pořád 128bitová, všechny SVE instrukce pak budou konzumovat obě pipeline naráz).

Podpora těchto SIMD instrukcí ale zřejmě je o dost náročnější a potřebuje víc tranzistorů, což vedlo ARM k tomuto pokusu plochu jader (přesněji celého jejich klastru) snížit. Protože SIMD instrukce jsou méně běžné než základní celočíselné operace, může zvlášť pro malá jádra toto být dobrý kompromis. Bulldozer neměl zas tak špatný výkon ani v úlohách, které SIMD silně využívaly, takže v malých jádrech, určených spíše pro pomocné účely, by to mohlo být úspěšnější než v AMD FX. Při použití dvou 128bitových pipeline je ostatně výkon této jednotky teoreticky 2× než výkon jednotky Cortexu-A55, takže zde by skutečně nemusela nastat regrese ve finálním výkonu. ARM tvrdí, že negativní dopad je jen v jednotkách procent.

In-order jádro s výkonem (starého) out-of-order jádra

Samotné jádro Cortex-A510 je 3-wide, tedy stavěná na zpracování až tří instrukcí za takt s jednoduchým in-order vykonáváním instrukcí. Neumí tedy za běhu instrukce přeházet v pořadí, aby tím zlepšilo výkon skrze maximální využití svých výpočetních jednotek. Více instrukcí najednou může vykonat, jen když sou v kódu hned vedle sebe a jejich složení odpovídá volným jednotkám.

Tuto slabinu ARM kompenzuje použitím pokročilých prediktorů větvení a prefetcherů z Cortexu X2. Jádro má 32KB+32KB nebo 64KB+64KB L1 cache, L2 cache v komplexu může mít kapacitu od nula do 512 KB.

Zatímco fetch jádra bude číst až čtyři instrukce (128 bitů kódu) za cyklus, dekodéry už jsou jen tři, což dává onen limit třech instrukcí za cyklus. To je ovšem zlepšení proti Cortexu-A55 s dvěma dekodéry.

Stejně jako dekodéry také byl zvýšen počet ALU ze dvou na tři, dále je ve celočísleném výpočetním backendu komplexní jednotka pro násobení nebo dělení a jednotka zpracovávající větvení.

Load/Store jednotky jsou dvě a umožňují buď jedno čtení a jeden zápis za cyklus, nebo dvě čtení (dva zápisy nelze), šířka čtení je 128bitů, tedy dost pro 128bitový vektor Neon/SVE. Cortex-A55 měl šířku těchto cest jen 64 bitů. Navíc mělo toto jádro podporu jen pro jedno čtení a jeden zápis za takt, nepodporovalo místo toho dvě čtení za takt (mělo totiž vyhrazené jednotky store a load, kdežto A710 má jednotky load a kombinovanou load/store).

[

Podle ARMu se u této architektury podařilo přes in-order zpracování instrukcí dosáhnout výkonu, který se blíží do určité míry velkým jádrům v minulých procesorech. Cortex-A510 má údajně zaostává jen o 10 % v IPC za out-of-order jádrem Cortex-A73 z roku 2017. To jinak pořád často používají levné telefony jako „big“ jádro (pokud tedy SoC není ještě lacinější a nemá jen samá jádra CortexA-55/A53). Je ovšem pravda, že A510 také dosáhne nižších frekvencí, jen asi 85 % taktu, který by zvládl Cortex-A73 (a výkon je IPC krát takt). Ovšem Cortex-A510 má zejména spotřebovávat o 35 % méně energie.

Tímto srovnáním chce automaticky ARM ukázat, že in-order jádro nemusí automaticky znamenat pomalost, ovšem je pravda, že Cortex-A73 je ještě jádro z doby, než začal ARM dělat největší pokroky ve výkonu (pak přišly kumulativně Cortexy A75, A76, A77 a výkon se dostal úplně jinam).

IPC

Ve srovnání s Cortexem-A55 coby přímým předchůdcem má nový Cortex-A510 dosáhnout až o 35 % lepší výkon v SPECint2006, o 50 % lepší výkon v SPECfp2006 (asi půjde o jednovláknový test, takže se neprojeví postih ze sdílení FPU). V LMbench má dokonce být nárůst výkonu až 62 %. Toto má být při stejných frekvencích, ale zase je zde ten problém, že ARM srovnává stará jádra s 4MB L3 cache s novým opatřeným 8MB L3 cache, což způsobuje, že nárůst IPC vypadá lepší, než co jádro samo o sobě dosáhlo.

Cortex-A510 však při výrobě stejným procesem má mít sice výrazně vyšší maximální výkon, ale také s o dost vyšší spotřebou. Efektivita se má zlepšit také, ale méně, než výkon. Pokud by se obě jádra zekvalizovala na stejnou spotřebu, pak bude mít Cortex-A510 o 10 % vyšší výkon. Při stejném výkonu (který A510 dodá už při nižším taktu) má být spotřeba nižší až o 20 %, což ale platí pro pásmo, kdy A55 běží na svých nejvyšších možných frekvencích, které jsou méně efektivní. Jinak se na nižších taktech podle grafu ARMu křivka efektivity de fakto překrývá s novým jádrem, což by znamenalo, že jádro A510 dosáhlo jen parity v efektivitě a čím se odlišuje, je schopnost vyškálovat výkon výš než A55.

I zde lze tedy říct, že ARM neudělal v této generaci nějaké revoluční pokroky (ve výkonu ano, ale vycházíme z toho, že má měřítkem úspěchu malých jader být právě efektivita). Opět ale asi může platit, že v této generaci si vybralo daň přidání podpory pro ARMv9, takže v když je ta konečně z krku, možná se v dalších generacích objeví větší pokrok v úspornosti. Otázka samozřejmě je, kdy se další generace objeví, protože malá jádra ARM typicky neaktualizuje každoročně. Nyní by prý novější verze měly přicházet častěji, ale jednoleté odstupy to asi pořád nebudou.

Propojení DSU-110

ARM jinak pro tuto generaci jader jádra uvádí i novou propojovací logiku DynamIQ Shared Unit-110, která je úplně nově redesignovaná proti předchozímu propojení používanému v mobilních procesorech. Tato logika má vylepšit energetickou efektivitu i řadu dalších věcí, asi nejviditelnější novinka ale je, že podporuje větší maximální L3 cache – nově až 16 MB. To logicky může zvýšit výkon procesorů. Má ale stoupnout i propustnost, kterou jádra budou moci z L3 cache vytěžit, a to také propustnost dostupná pro jedno jediné aktivní jádro.

Je zajímavé, že ARM změnil topologii tohoto propojení. Dříve nebyla její povaha prozrazována, ale dost možná šlo o crossbar, tedy plně propojenou sběrnici, kde mělo každé jádro jednotlivá přímá napojení na všechna ostatní.

Nyní ARM ale přešel na prstencovou sběrnici, jakou má Intel v desktopových a notebookových procesorech. Přesněji, jsou to prstence dva propojené, kdy každý obsluhuje čtyři jádra, přesněji čtyři bloky L3 cache, které k jádru přísluší (komplex dvou jader A510 zřejmě vystupuje jako jen jeden takový klient). Oba prstence jsou obousměrné a použití dvou propojených místo jediného má zkrátit maximální latence komunikace.

Budou čtyřjádra nebo osmijádra Cortex-X2?

Na základě této propojovací logiky lze mít konfigurace začínající u jednoduchých čtyřjader (s dvěma komplexy) Cortex-A510 až k osmijádrovým procesorům. Ty mohou mít třeba dvě jádra A710 a šest (tři komplexy) A570, nebo složení 4+4. Podporovaná je i konfigurace čtyř A510, tří výkonnějších prostředních A710 a jednoho výkonného X2, což se asi objeví v mobilech – letošní čipy jako Snapdragon 888 a Exynos 2100 toto používají.

Ovšem pro notebooky nebo PC už nyní ARM explicitně uvádí variantu, kdy by procesor měl čtyři prostřední jádra Cortex-A710 a k tomu čtyři výkonnější Cortexy-X2, Logika dokonce má již podporovat i úplně homogenní osmijádro se samými jádry Cortex-X2. To by mohlo mít maximální zátěžovou spotřebu třeba až 40–50W, při snížení frekvencí v all-core zátěži by to ale mohlo být docela použitelné i v noteboocích.

U Cortexu-X1 ještě ARM vůbec podobné konfigurace jako možnost neuváděl a naopak uvedl design počítající pro osobní počítače a notebooky s osmi jádry Cortex-A78C. Proti tomu tedy teď nastává posun a je možné, že nyní nějaký partner ARMu opravdu vytvoří takový výkonnější procesor pro notebooky nebo dokonce desktopy.

Zdroje: ARM, AnandTech

Jan Olšan, redaktor Cnews.cz


  •  
  •  
  •  
Flattr this!

Huawei má ARM CPU pro servery, které dohnalo Zen 3. IPC má lepší

Americké sankce na nějakou dobu odstřihly čínský koncern Huawei od nejmodernějších architektur ARM a výrobních procesů u TSMC, ale firmě se, zdá se, podařilo přežít a možná i posílit. Zatímco samotnou křemíkovou výrobu se bude nějak snažit suplovat SMIC, po stránce architektury divize HiSilicon už před zákazy vyvíjela vlastní jádra CPU a teď se s nimi dostala na překvapivě dobrou úroveň. Celý článok „Huawei má ARM CPU pro servery, které dohnalo Zen 3. IPC má lepší“ »

  •  
  •  
  •  

ARM jádro Blackhawk, které má dohnat Apple, trápí vysoká spotřeba

Zní to jako zákon schválnosti – jen nedávno prosákly informace, že příští jádro Cortex od ARMu nebude jen další v řadě, ale že s ním firma chce smazat, nebo aspoň plus minus dohnat náskok architektur Applu. To ale vyžaduje mimořádný skok ve výkonu a možná se to úplně nepovede. Podle drbů, které se objevily na internetu, má prý jádro s kódovým označením Blackhawk (zřejmě Cortex-X5) značné problémy se spotřebou. Celý článok „ARM jádro Blackhawk, které má dohnat Apple, trápí vysoká spotřeba“ »

  •  
  •  
  •  

ARM chystá CPU architekturu, která má porazit Apple: Blackhawk

Sotva Samsung uvedl do telefonů svůj procesor Exynos 2400, už se objevily zvěsti o jeho nástupci, Exynosu 2500, který by měl pohánět příští generaci telefonů Galaxy. Zatímco Exynos 2400 příjemně překvapil proti dost negativním očekáváním, Exynos 2500 by prý mohl být takřka pecka. Dokonce přicházejí informace, že může porazit ve výkonu krále telefonních procesorů Apple a jeho SoC A17 Pro, což je ale asi třeba brát s hodně velkou rezervou. Celý článok „ARM chystá CPU architekturu, která má porazit Apple: Blackhawk“ »

  •  
  •  
  •  

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *