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!

ARM procesor od Nvidie vyvíjený s MediaTekem je tady

AMD na CES představilo procesory, Intel představil procesory, i Qualcomm přestavil Snapdragon X pro levnější ARM notebooky. I Nvidia ovšem vyrukovala s procesorem, který může být první vlaštovkou v jejím obnoveném zájmu nabízet do počítačů víc než jen grafické karty. Firma představila stanici nazvanou Digits, kterou prezentuje jako řešení pro AI aplikace, ale to není vše. Není založená na samostatném GPU, ale na čemsi jako APU. Celý článok „ARM procesor od Nvidie vyvíjený s MediaTekem je tady“ »

  •  
  •  
  •  

Qualcomm nemusí zničit jádra od Nuvie, soud smetl žalobu ARMu

Závěr roku nepřinesl jen obvyklé Vánoce, ale také finále důležité soudní bitvy – totiž žaloby ARMu proti Qualcommu, jednomu z největších výrobců procesorů této platformy a nejdůležitějšímu hráči v čipech pro chytré telefony s Androidem. Šlo o hodně, protože požadavky ARMu hrozily Qualcomm potopit a současně musely zasít strach mezi všechny další výrobce. Verdikt, který nakonec přišel, je pro jednu ze stran vyloženě vánoční. Celý článok „Qualcomm nemusí zničit jádra od Nuvie, soud smetl žalobu ARMu“ »

  •  
  •  
  •  

Raspberry Pi 500: Úsporný ARM počítač v klávesnici na bázi RPi 5

Firma Raspberry Pi vydala v roce 2020 první kompletní počítač – základní, ale až by se chtělo říct roztomilý model RPi 400 integrovaný do klávesnice ve stylu, který pamětníci znají z osmibitů, Atari ST a Amig. Tento počítač byl založený na hardwaru Raspberry Pi 4, ale mezitím vyšla generace pět s mnohem dospělejším SoC. Klávesnicové mini PC teď dostane tuto péči také – firma uvádí na RPi 5 založenou novinku Raspberry Pi 500 a opět je dost zajímavá. Celý článok „Raspberry Pi 500: Úsporný ARM počítač v klávesnici na bázi RPi 5“ »

  •  
  •  
  •  

Pridaj komentár

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