Overzicht
De nieuwe generatie Mali-gpu's is formeel op te delen in drie series, maar stiekem zijn er vier. De vierde serie is namelijk een afgeleide van het topmodel: de Mali-G710. De afgeleide daarvan is de G610, die voor het subtopsegment bedoeld is. De G710 volgt het huidige topmodel op: de G78. De G610 zit daar net onder als opvolger van de G68. De G510-gpu is de opvolger de G57 en bedient de mainstreammarkt, terwijl de kleinste Mali, de G310, de G31 opvolgt en voor apparaten met minder grafisch intensieve eisen bedoeld is.
Alle Mali-gpu's zijn vanaf nu op de Valhall-architectuur gebaseerd. Voorheen was de G31 nog op een oudere architectuur, Bifrost, gebaseerd. Dat is nu dus gelijkgetrokken. De topmodellen moeten in high-end smartphones en laptops als Chromebooks gebruikt gaan worden. De minder krachtige modellen moeten in onder meer mainstreamsmartphones en smart-tv's gebruikt worden. Die laatste categorie is niet onbelangrijk, aangezien volgens Arm maar liefst 80 procent van de tv's met een Mali-gpu is uitgerust, tegenover 'slechts' 50 procent van de smartphones.
Een van de fundamenteelste wijzigingen in de nieuwe Mali-generatie is de manier waarop opdrachten naar de execution-units van de gpu worden gestuurd. Voorheen werd daarvoor de Mali Job Manager-functie gebruikt, maar die is nu vervangen door de Command Stream Frontend. Dat moet beter aansluiten bij api's als Vulkan en vermindert de cpu-load bij het genereren van draw calls. Daarnaast is de execution-engine volledig opnieuw ontworpen en om de rekenkracht bij te houden, is de texture-unit verdubbeld.
De nieuwe shadercores hebben tweemaal de fma-throughput van voorheen, wat mede leidt tot 20 procent prestatieverbetering in de G710 vergeleken met de G78. De cores zijn groter geworden, zodat de gedeelde resources verdeeld worden over meer shaders, wat het rendement ten goede komt; de G710 is 20 procent zuiniger dan de G78. Ten slotte is ook de machinelearningcapaciteit verbeterd. De prestaties daarvan zijn met 35 procent verbeterd. Volgens Arm is dat handig om aan veranderende eisen voor ML-netwerken te kunnen voldoen; configureerbare ML-capaciteit op de gpu is flexibeler dan in een dedicated mpu.
De G710 en G610
De G710 is opgebouwd uit zeven tot zestien shadercores, ieder met eigen registers en schedulers. De shaders delen een advanced tiling- en memory-unit en beschikken gezamenlijk over twee tot vier L2-caches van 256 of 512kB per stuk, voor maximaal 2MB L2-cache of minimaal 512kB. Ook de vier ACE-interfaces zijn configureerbaar met een busbreedte van 128 of 256bit. Elke shadercore heeft twee execution-engines. Die bestaan uit een frontend die voor de Warps, of instructies zorgt, en twee processing-units. De processing-units hebben weer vier processing-elements, met onder andere de fma-unit en de special-function-unit. Elke shadercore heeft dus zestien processing-units met eigen resources en is gebouwd voor 64 fpa's per cycle. De nieuwe execution-units zijn dankzij hun nieuwe ontwerp aanzienlijk zuiniger en leveren meer texels per kloktik.
De G610 is in essentie identiek aan de G710, maar het aantal shadercores is beperkt tot zes. De overige componenten, inclusief de opbouw van de shaders, zijn gelijk aan die van de G710.
Mali-overzicht | G710 | G610 | G510 | G310 |
---|---|---|---|---|
Shadercores | 7 tot 16 | 6 | 2 tot 6 | 1 |
Architectuur | Valhall | Valhall | Valhall | Valhall |
Voorganger (architectuur) | G78 (Valhall) | G68 (Valhall) | G57 (Valhall) | G31 (Bifrost) |
Performanceboost | 20% (tov G78) | Nnb | 100% (tov G57) | Nnb |
Energy saving | 20% | 22% | ||
ML-boost | 35% | 100% |
De G510 en G310
De G510 moet voor onder meer smartphones, settopboxes, tv's, VR- en AR-apparaten gebruikt gaan worden. De G510 is net als zijn voorganger G57 een Valhall-gpu. De G310 is de eerste Valhall-gpu voor het zuinige segment, waar de voorganger G31 nog op de Bifrost-architectuur was gebaseerd. De G310 moet voor onder meer instaptelefoons en wearables gebruikt gaan worden. De G510 en G310 hebben features van de G710, zoals de Command Stream, de vernieuwde execution-units en de verbeterde texture-unit.
De G510 krijgt tien configuraties, waarbij het aantal fma-units in de gpu varieert van 96 tot 384 stuks, met twee tot zes shadercores. De exacte shaderconfiguratie is lastig te definiëren op grond hiervan, aangezien een shadercore geconfigureerd kan worden voor 48 of 64. Klanten kunnen kiezen tussen een voor prestaties geoptimaliseerd of juist een zo compact en zuinig mogelijk cfs en ook de tiler en geheugeninterface kunnen op prestaties of zuinigheid worden aangepast. De G310 is in vijf configuraties leverbaar, met 16 tot 64 fma-units in de configuraties. Er is dus maar één shadercore aanwezig. Bij de G310 zijn de logicablokken geoptimaliseerd om zo min mogelijk ruimte in te nemen. Zowel de G510 als de G310 (optioneel) ondersteunt afrc, een techniek om de geheugenbehoefte door middel van compressie te reduceren, wat de prestaties bijna zonder extra die-oppervlakte verhoogt. Ook de cfs, de tiler en het geheugensubsysteem van de G310 kunnen aan de gekozen configuratie van het aantal fma's aangepast worden om de gpu in balans te houden.