Elsöprő az Apple A9 SoC ereje
Nem blöffölt az Apple a szeptemberi eseményén. Az A9-es rendszerchip a gyakorlatban is jelentős előrelépést mutat elődjéhez képest. A CPU-magok mellett a GPU is rengeteget fejlődött, a gyorsítótárak összesített mérete pedig már a négymagos Intel Skylake lapka értékét is meghaladja.
Az Apple igen konzisztens módon frissíti legfontosabb termékét, az iPhone-t, a fejlesztési stratégia nagyon hasonlít az Intel tikk-takk modelljére. Minden második évben frissül a telefon ipari formaterve, a köztes években pedig inkább a "belsőségekre" fektet nagyobb hangsúlyt a cég. Ennek megfelelően az "s" jelölésű telefonok esetében fejlődik nagyobbat a központi egység, azaz a SoC számítási teljesítménye.
Jó példa a két esztendővel ezelőtt megjelent iPhone 5s. Ebben debütált az Apple A7 processzor, amely (az egész iparág megdöbbenésére) bevezette az ARMv8 AArch64 utasításarchitektúrát, vagyis teljes 64 bites kompatibilitással rendelkezett, a világon elsőként. Emellett a Cyclone kódnevű mikroarchitektúra is gyökeres váltást hozott, amely kijelölte az utat az Apple saját fejlesztésű processzorai számára: magas órajel és sok mag helyett kevesebb, alacsonyabb órajelű, de elképesztően erős magok. Már a Cyclone is nagyon erősnek bizonyult, a 6 uop széles mikroarchitektúra kategóriájában addig egyedülálló számítási teljesítményt eredményezett, amivel az A7-nek még a Bay Trail családba tartozó Intel Atomokkal való összevetés sem okozott kellemetlen pillanatokat, a konkurens ARM-os megoldásokról már nem is beszélve.
Amikor a kevesebb a több
Nagyjából szintén az iPhone 5 és 5s megjelenésének időszakára tehető egy másik szemléletváltás eredménye is. Korábban az Apple kimondottan konzervatív volt a gyártástechnológia kiválasztásánál és bevált, bejáratott eljárásokon készíttette (bérgyártókkal) a processzorait. Az új paradigmában az Apple már agresszívebben mozog, és igyekszik az aktuálisan elérhető legjobb technológiát kihasználni a processzoroknál, az ezzel vállalt kockázatot pedig azzal igyekszik kezelni, hogy egyszerre két beszállítoval dolgozik.
Mindez jól mutatja, hogy a vállalat az elmúlt néhány évben mennyire ráfeküdt a processzorainak fejlesztésére, illetve a számítási teljesítmény feltornászására. Egyszálas teljesítményt, illetve az ARM mezőnyét tekintve az Apple megoldásai per pillanat verhetetlenek. A processzoraik felépítését ismerve ugyanakkor erre szükségük is van, hisz míg a konkurensek már 4-8 magnál járnak, addig okostelefonjai esetében az Apple továbbra is csupán két magot alkalmaz. Ezt persze nem is verik nagy dobra, bár a vállalatnak sosem volt szokása megosztani a nagyközönséggel az ilyen, mélyebb technikai részleteket, miközben a konkurens gyártók manapság még a magok számát és a memória méretét is előszeretettel használják fel marketing célokra.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
Általánosságban elmondható, hogy a magok számát tekintve "a kevesebb több" elv érvényesül, néhány magas frekvenciájú, erős mag általában magasabb teljesítményt tud nyújtani, mint rengeteg apró, de gyenge mag. Az elmúlt időszakban mégis inkább ez utóbbi filozófia érvényesül - ennek prózai a magyarázata, az ilyen lapkákat kényelmesebb és olcsóbb gyártani, hiszen az egyes magok mérete szinte elhanyagolható, egy Cortex-A53 mag mérete mintegy 0,8 négyzetmilliméter, vagyis elképesztően olcsón gyártható belőle akár nyolcmagos modell is.
Ezzel a mérnökök elegánsan átpasszolták a labdát a programozók térfelére, hisz a több magban rejlő számítási teljesítmény kiaknázása különféle, az esetek többségében bonyolultabb szoftveres optimalizációkat kíván meg, melyre ráadásul bizonyos esetekben nincs is lehetőség. Vagyis rengeteg esetben a sok magból csak egy vagy néhány mag kap terhelést, így csak ezek teljesítménye járul hozzá a jobb felhasználói élményhez. Ennek tükrében nem csoda tehát, hogy az Apple végül a kevesebb, de erősebb magok mellett tette le a voksát, mely a szoftverfejlesztőknek kényelmes, ugyanakkor az újabbnál-újabb processzorokon dolgozó mérnökök számára ez nehezebb helyzetet teremt, hisz több magot egymás mellé pakolni sokkal egyszerűbb, mint egy már meglévő mikroarchitektúrális alapból generációról-generációra, további 20-30%-os sebességnövekedést kipréselni. Pusztán a végeredményt, azaz a teljes rendszer sebességét, illetve a felhasználói élményt vizsgálva kétség kívül ez a legjobb megoldás, mint ahogy azt hamarosan látni fogjuk.
Mint a hurrikán
A 28 nanométeres csíkszélességen készült A7-ben debütált, nagy változásokat bevezető Cyclone magot követően csak kisebb mikroarchitektúrális frissítést prezentált az Apple, mely tökéletesen megfelel az első bekezdésben taglalt stratégiának. Ehhez a tervezőknek viszonylag kis mozgásterük volt, hisz jobb alternatíva híján csak a TSMC 20 nanométeres bulk gyártástechnológiája állt rendelkezésükre, mely több szempontból sem kínált igazán nagy előrelépést a korábbi 28 nanométerhez képest, így végül számos partner egyáltalán nem is használta ki ezt a node-ot. Az Apple mindezek ellenére elvégzett bizonyos fejlesztéseket az A8-on, illetve az abban található Typhoon kódnevű magokon. A mikroarchitektúra fejlesztésére a szivárgási áram miatti mindenképpen szükség volt, hisz órajel tekintetében nem mehettek sokkal magasabbra, különben ugyanabba a (forró) csapdába estek volna mint a Qualcomm a Snapdragon 810-zel.
A megváltást az idén elkészült, a Samsung és a TSMC által kínált 14, illetve 16 nanométeres FinFET tranzisztorra épülő eljárások jelentették, melyek közül mindkettőre épít a vállalat. Ez megnyitotta a kapukat a komolyabb horderejű fejlesztések előtt, hisz amellett, hogy a nagyobb tranzisztorsűrűség okán több részegység helyezhető el egységnyi területre, még az órajel további, jelentős emelésére is van lehetőség anélkül, hogy a disszipáció egekbe szökne. Mindezt kihasználva az Apple már alaposabban hozzányúlt az A8-as dizájnjához, aminek egy rendkívül erős A9 SoC lett a végeredménye.
Alapnak továbbra is megmaradt a Cyclone magokkal lefektetett mikroarchitektúra, mely minden valószínűség szerint jó néhány generációig nem is fog távozni, hisz bőven van benne fejlesztési potenciál. Ennek megfelelően az Apple A9-ben található Twister CPU-mag is 6 uop széles, a ROB (Re-Order Buffer) mérete pedig változatlan, azaz 192 utasítás maradt. Jelentősen csökkent viszont az elágazásbecslés esetleges tévedéséből fakadó büntetés súlya, átlag 16-ról 9 ciklusra, mely akár egy rövidebb futószalagot is sejtethet. Duplázódott az ARM mikroarchitektúrák esetében fontos bitléptető és forgató, azaz az úgynevezett shifter ALU-k száma, melyekből már 4 darab található egyetlen magban. Csökkent a lebegőpontos (FP32) összeadáshoz és szorzáshoz szükséges órajelek száma, előbbit 4-ről 3-ra, míg utóbbit 5-ről 4-re redukálták a tervezők. Emellett még az egyszeres pontosságú szorzások végrehajtási kapacitása is nőtt: a korábbi 2 helyett már 3 szorzás/órajel tempó lehetséges.
Ezeknél szó szerint nagyobb és szembetűnőbb fejlesztés a gyorsítótárak méretének megsokszorozása. A két mag között megosztott L2 cache háromszor(!) nagyobb lett, ugyanis ennek kapacitása már 3 MB, míg az L3 cache mérete duplázódott, így ez mostantól 8 MB-os, mely a korábbiaknak megfelelően, egy a CPU és a GPU magokkal közös gyorsítótárként operál. Utóbbi növekedését kissé árnyalja, hogy az Apple inkluzív cache szervezést alkalmaz, ami dióhéjban annyit tesz, hogy az egyes tárak tartalmának másolata megtalálható magasabb szinteken is, ami ebben az esetben konkrétan annyit tesz, hogy a 3 MB-os L2 cache-ben helyet foglaló mindenkori adathalmaz az L3-ban is jelen van, így a szabad L3 kapacitás "csak" 5 MB. A gyorsítótárak növekedése mellett az általuk elfoglalt relatív kis hely is említésre érdemes, mely a FinFET eljárások által biztosított tranzisztorsűrűségnek köszönhető. Egyszerű kalkulációnk alapján a Samsung által gyártott lapkán körülbelül 5,3 mm2-t foglal el a 8MB-os harmadszintű gyorsítótár. Az Anandtech tesztje szerint a cache-ek késleltetés 30-40%-kal csökkent, ráadásul az eredmények alapján a magasabb órajel ellenére sem kellett növelni a gyorsítótárak ciklusidejét.
Az már korábban kitudódott, hogy a memória kapacitása (végre) 2 GB-ra duplázódott, az viszont jó ideig csak valószínűsíthető volt, hogy mindez már egy LPDDR4 lapka formájában került fel a SoC-ra. Ez nem csak a fogyasztást csökkenti az alacsonyabb üzemi feszültségből adódóan (1,2 helyett 1,1 volt), hanem az elérhető maximális sávszélesség is jócskán megugrik a DDR3-hoz képest. Az Apple nem kispályázott, ugyanis azonnal egy LPDDR4-3200 szabványú, azaz egy effektív 3200 MHz-es modellel párosította az A9-et, ami a kapacitás mellett az elérhető maximális elméleti sávszélességet is megkétszerezi. Persze az egyes mérések szerint ez a gyakorlatban már "csak" 50-80% közötti ugrást jelent, de ez is hatalmas előrelépés - a rendszerlapkákat ugyanis jellemzően a szűk sávszélesség fogja vissza, főleg játékok alatt, amikor a CPU-nak és a GPU-nak is osztoznia kell ezen.
A hab a tortán CPU magok órajelének nagymértékű emelése, ami számszerűen 1850 MHz-es üzemi frekvenciát jelent. Órajelben az A6 óta nem láthattunk ilyen nagy mértékű ugrást, ugyanis ez 450 Mhz-es, azaz nagyjából 32%-os emelés az A8-as értékéhez viszonyítva, ami már önmagában, a mikroarchitektúrális változtatások által biztosított IPC (órajelenként végrehajtott utasítások száma) növekedéstől eltekintve is elég nagy lökést eredményez.
forrás: Anandtech
Mindez az eredmények tükrében meglehetősen pozitív képet fest. Az Anandtech által SPECint2000 alatt elvégzett, A8-A9 összevetés során 24 és 120% közötti a legújabb SoC előnye, ami azonos órajelre levetítve -8 és 88% közötti különbséget jelent, ez pedig átlagosan 30%-os javulás. A The Motley Fool ennél tovább ment, ők ugyanis egy bár már öregecske, de a maga idejében igencsak erősnek számított asztali processzorral, a Core 2 Duo E6700-zal vetették össze az A9 eredményeit. Bár az Intel korábbi CPU-ja kicsivel több mint 800 MHz-es, azaz körülbelül 44%-os órajel előnyben van az A9-cel szemben, néhány tesztben az Apple processzora még így is maga mögé utasította a rendhagyó ellenfelet, ergo hasonló órajelek esetében már az A9 felé billenne a mérleg.
Ezen felbuzdulva kerestünk egy órajelben hasonló Core 2 Duo processzort a SPEC adatbázisában. Az E4300 típusjelzésű modell üzemi frekvenciája 1,8 GHz, amivel csupán 50 MHz-es lemaradásban van az A9-hez képest. Így már csak két mérésben tudott előzni az Intel, ott is csak minimális különbséggel.
Mi van a grafikával?
Az integrált grafikus processzor is sokat fejlődött az A8-ban található megoldáshoz képest. A szóban forgó A9-ben már a PowerVR 7-es, Rogue architektúrára épülő szériájának, pontosabban nevén a Series7XT-nek harmadik legerősebb, GT7600 elnevezésű tagja található, melynek tranzisztorai a lapka tetemes részét felemésztik. A dizájn hat darab USC-t (Unified Shading Cluster) foglal magában, ami az A8-ban található megoldáshoz képest épp 50%-kal több végrehajtót, és pontosan ennyivel nagyobb számítási kapacitást, azaz 115,2 GFLOPS-ot eredményez. Mindez a nagyobb L3-as gyorsítótárral, illetve a teoretikusan kétszer nagyobb sávszélességet biztosító DDR4 memóriával társítva szintén hatalmas ugrást eredményez. Egyes tesztekben az iPhone 6 (A8) és az iPhone 6s (A9) között több mint 100%-os különbséget is kimértek az utóbbi javára, míg más benchmarkokban már "csak" 50% volt a legújabb SoC-cal hajtott mobil előnye. Egy szó mint száz, az Apple nem túlzott amikor a szeptemberi bemutató alkalmával kétszeres gyorsulásról beszélt a grafika terén.
Hova ez a nagy sietség?
Összességében elmondható, hogy az Apple alaposan kigyúrta az A9-et, mely lassan már közelebb áll az asztali architektúrákhoz, mint a versenytársak ARM-os modelljeihez. A vállalat szeptemberi eseményén az óriási, processzort érintő növekedések hangzatos ismételgetésekor még mindenki 3 vagy 4 CPU magra tippelt, mely alól mi sem képeztünk kivételt. Mindez tehát érdekes, hisz az Apple az elmúlt években óriási léptékkel növelte processzorainak teljesítményét, így most felmerülhet a kérdés, hogy erre mégis mi szükség van. Az kvázi bizonyos, hogy a konkurens ARM SoC gyártóktól nem kell tartaniuk, hisz a következő iPhone vagy iPad processzoráról csak és kizárólag ők döntenek, arra pedig jelenleg zéró közeli esély mutatkozik, hogy valaha is egy külső beszállítóra bíznák ezt a komponenst. Emellett valószínűleg az sem lenne hatással az iPhone-ok eladására, ha épp nem a piacon lévő leggyorsabb SoC dohogna az almás okostelefonokban, hisz vásárlóik döntő többségét nem ez izgatja leginkább. A rohamlépteken folyó fejlesztések tehát kissé távolabbra mutatnak, ergo egyre közelebb kerül a fordulópont, amikor a cég kiadja az Intel útját, a MacBookokban pedig felbukkannak saját fejlesztésű, ARM architektúrára alapozó processzoraik.