Szerző: Gálffy Csaba

2016. május 31. 10:00:00

ARM Cortex-A73 - újra igazi telefonos mag

Leleplezte legújabb processzormag-generációját az ARM. A licencelhető Cortex-A73 egy régi irányt hoz vissza és újra elhozná a tervezőcég aranykorát.

HIRDETÉS

Az okostelefonos piacon a tavalyi év nem hozott fejlődést, legalábbis ami a processzorokat illeti. A mindenhová utat talált Cortex-A57-es processzormagok illetve a TSMC 20 nanométeres eljárása semmilyen előrelépést nem hozott a 2014-es csúcshoz képest, sőt, rengeteg ponton még vissza is lépett - a teljesítmény érdemben nem nőtt, a fogyasztás viszont emelkedett.

A kiesett évről már többször értekeztünk hosszabban, a lényeg: az Apple váratlanul megjelent a piacon az első 64 bites telefonos processzorral, ami egy csapásra eladhatatlanná tette a meglévő 32 bites lapkákkal szerelt telefonokat és tableteket. A chipgyártók pánikszerűen fogták a kezük ügyébe első 64 bites magot, és teljesítményt, optimalizációt és egyéb finomságokat feledve piacra dobták a termékeket. A magot Cortex-A57-nek hívták, és ez dolgozott egy adott ponton az összes, a csúcsmodelleket megcélzó chipben, a Snapdragonoktól az Exynosokig. A problémás magot mára az ARM is leváltotta saját portfóliójában, a Cortex-A72 a legsürgősebb javításokat végezte el a mikroarchitektúrán, ez teljesít szolgáltatot már a 2016-os modellek egy részében.

Más tőről fakad

Ezt váltja majd az ARM portfóliójában az "egy számmal nagyobb" Cortex-A73, vagy a marketingosztály szerint "Artemis". A név azonban ezúttal erősen félrevezető, ez a processzormag ugyanis nem az A15-A57-A72 sorozat újabb eleme, hanem egy párhuzamos, szinte elfeledett családba tartozik, az A12-A17 kései utódjaként. Ennek tudható be, hogy a mikroarchitektúrát és filozófiáját tekintve az A73 sokkal távolabb áll az eddig ismert magoktól, mint azt pusztán a neve alapján sejteni lehet.

Az architekturális különbségek a két processzorcsalád tagja között nagyon mélyek, és ugyan mind az A72, mind az A73 hasonló piacot céloz és az ARMv8-as utasításarchitektúrát implementálja, nagyon más tervezési filozófia mentén épül fel a két egység. Csak egy példa az Anandtech cikkéből: az A72 szuperszéles, 3 utasítást egyszerre feldolgozni (dekódolni) képes architektúrája helyett az A73 csak két utasítás széles, ennek ellenére az ARM szerint magasabb teljesítmény elérésére képes, mint a közvetlen előd.

A fejlesztés abszolút vezérfonala a huzamos terhelés alatt elérhető teljesítmény maximalizálása volt. A rosszemlékű Cortex-A57-es család ugyanis néhány másodpercre nagyon magas teljesítményre tudta turbózni magát, eközben azonban óriási hőt is termelt. És ahogy a passzívan hűtött készülék felmelegedett, a processzornak vissza kellett fognia magát. A probléma különösen a huzamos terhelés alatt jött elő, tipikusan játékoknál, a telefon néhány perc után kiforrósodott, a teljesítmény pedig visszaesett.

Mikroarchitektúra, a hatékonyság jegyében

A Cortex-A72 és A73 közötti legnagyobb különbség a sokkal rövidebb futószalag. Míg az A72-ben az egész számos futószalag 14, a leghosszabb pedig 16 fokozatból áll, az A73 több ponton is lecsíp egy-egy fokozatot, így az egész számos műveletek például 11 fokozatból készen lehetnek. A két párhuzamosan fejlesztett mikroarchitektúra között persze van átjárás, az európai fejlesztőcsapat minimális módosításokkal emelte be az A72-nél megismert lebegőpontos végrehajtó egységet, amelyet az austini mérnökök rajzoltak.

A direkt felmenőkhöz hasonlóan az A73 is egy úgynevezett "slot-alapú mikroarchitektúrát" használ. Ez azt jelenti, hogy a processzormag nyolc ilyen slottal rendelkezik, amelyek minden erőforrást tartalmaznak az utasítások feldolgozásához. A megközelítés az ARM szerint azért hasznos, mert ha egy slotnak olyan információra van szüksége, ami egy korábbi slotban megtalálható, akkor egész egyszerűen lemásolja magának, ahelyett, hogy kívülről húzná be azt. A cég szerint ez sokat javít a teljesítményen és az energiahatékonyságon is.

Normál esetben a futószalag rövidítése az órajel csökkenéséhez vezet, a komplexebb fokozatok ugyanis visszafogják a teljes futószalagot. Az ARM ezt a kiegészítő egységek megerősítésével kerülte el, a dekódolás esetében például a kétfunkciós load-store egységek használata (a dedikált load és store helyett) spórolt fokozatokat. Ahogy a Prohardver rövid elemzése kiemeli, az új mag fizikai regiszteres konstrukciót használ, ez is hozzájárul ahhoz, hogy a futószalag még rövidebb lehessen, mivel a dekódolás utáni lépcsőket jelentősen leegyszerűsíti.

Szintén az energiahatékonyságot javítja, hogy az ARM megszüntetett egy futószalagkiürüléses problémát. A CPU esetében az elágazásbecslő felel azért, hogy a futószalagra olyan utasításokat küldjön sorban, amelyek nem függenek egymástól, így a processzor dolgozhat rajtuk egy időben. De előfordul, hogy a dekódolás során olyan műveletek állnak elő, amelyek függenek egymástól, és ilyenkor a reakció a végrehajtás leállítása és a feldolgozás újrakezdése. Ez a processzor erőforrásainak szuboptimális kihasználáshoz vezet, az A73 ezért az ilyen eseteket sokkal korábban fel tudja fedezni, kiürülésre így ritkábban kerül sor, ami közvetlenül növeli az órajelenként végrehajtott utasítások számát.

A processzormagokat kiszolgáló infrastruktúra is az A17-es családtól származik. A magok fürtökbe rendezhetőek, egy ilyen klaszter 1-4 magot tartalmazhat, és rendelkezik a cache-koherenciára felügyelő elemmel, illetve egy közös gyorsítótárral, ennek méretét a gyártópartnerek választhatják meg 1 és 8 megabájt között. A koherencia egyébként kiterjeszthető, az opcionális ACP (accelerated coherency port) segítsével a CPU mellé extra gyorsítók ültethetőek úgy, hogy a koherencia megmaradjon - ez konzumer termékekben kevésbé érdekes, de specializált területeken (hálózati eszközök, szerveres termékek) hasznos lehet.

Mit nyertünk ezzel?

A puding próbája az evés: a rengeteg kisebb-nagyobb módosítás összegződő hatása hogyan javítja a versenyképességet? Az ARM szerint a Cortex-A73 hasonló gyártástechnológián megvalósítva és azonos órajel mellett mintegy 10 százalékkal gyorsabb az előd A72-höz viszonyítva, úgy, hogy a fő cél nem is e mutató javítása volt. A legfontosabb a fogyasztás visszaszorítása volt, ebben pedig nagyot lépett az A73 - egész számos műveleteknél 25, lebegőpontos műveleteknél 30 százalékkal alacsonyabb az energiahasználat. A tervezőcég szerint aggregáltan, valós környezetben 20 százalékos fogyasztáscsökkenéssel lehet számolni, azonos gyártástechnológia mellett.

Az eltérő gyökereknek köszönhetően az A73 lényegesen kompaktabb felépítéssel bír, mint az eredetileg "nagy" gépekhez, például szerverekhez tervezett A57-A72 sorozat. A telefonokban felesleges elemek elhagyásával mintegy 25 százalékos területcsökkenést ért el az ARM, ami e chipek gyártási költségében is szinte lineárisan tükröződni fog. Ehhez (ahogy a fogyasztás esetében is) hozzá lehet venni, hogy az A72 még 20 nanométeren készült, az A73 pedig 16 illetve 10 nanométeren lesz implementálva, ami területre vetítve például azt jelenti, hogy csak harmadannyi helyet foglal az új CPU-mag.

A Cortex-A73-at az ARM tervei szerint nem csak a negyedmilliós zászlóshajókban üdvözölhetjük majd, a mikroarchitektúra rugalmassága miatt változatos konfigurációkban a középkategóriában is elérhető lesz, így a Cortex-A53 fölé (végre!) érkezik egy új "olcsó" CPU-mag is. A Cortex-A73 ugyanis szintetizálható 10 és 28 nanométer között szinte bármilyen eljárásra, optimalizálható sebességre és területre, illetve természetesen a magok számán és a gyorsítótárak méretén is tudnak a gyártók változtatni.

Az ARM szerint a középkategóriában általánosnak számító 4+4 Cortex-A53-as konfigurációt válthatja a 2+4-es konfigurációban az A73+A53 kombináció, azonos helyfoglalás, de 30-90 százalékkal magasabb teljesítmény mellett. Ez jelentősen megdobhatja jövőre a középkategóriás telefonok várható élettartamát, így nem lesz a prémium kategória kiváltsága az évekig kielégítő teljesítmény.

a címlapról