Az ARM a mai napon már bemutatta a Cortex-A73-as processzormagot, amiről az alábbi hírben beszámoltunk. Valójában azonban nem ez volt a cég legnagyobb bejelentése, ugyanis az új GPU IP-jük még ennél is sokkal nagyobbat fog szólni. Mint ismeretes az ARM idén szeretné leváltani az aktuális Mali-T sorozatú modelleknél használt Midgard architektúrát, aminek a helyét az eddigi adatok szerint a Mimir architektúra venné át. Titokban azonban készült egy abszolút új generációs dizájn, amely a Bifrost kódnévre hallgat, és ez lesz az ARM igazi fegyvere a csúcskategóriában.
Azt tudni kell, hogy az ultramobil GPU-k nem kifejezetten olyan megoldások, amelyeket kompromisszumok nélkül terveznek a cégek. Sajnos a szűkös fogyasztási keret már az architektúra kialakításánál meghatározza, hogy mire is jó az adott rendszer, így a Midgard modellek ugyan jól teljesítenek a saját kategóriájukban, de nem túl jövőbiztos konstrukciók. A probléma az, hogy nem igazán lehet olyan GPU-architektúrát tervezni, ami egyszerre energiahatékony, okos és skálázható is. Ezt persze úgy értve, amire az ultramobil szinten szükség van. A legfrissebb adatok szerint az ARM ezt a problémát látja, így olyan jövőképet alakítottak ki, amelyben egyszerre két architektúrát is a piacra küldenek. Várhatóan a korábban már emlegetett Mimir fogja alulról lefedni az igényeket, míg a Bifrost képviseli a felsőházat igazán durva tudást kínálva.
A Bifrost architektúráról rögtön érdemes kijelenteni, hogy az ARM történetének legnagyobb előrelépésének számít a grafikus vezérlők között. Egyrészt a vállalat megszabadult a Midgard architektúrában használt VLIW dizájntól, ami bár hihetetlenül jól viselkedik azokban a kiszámítható környezetekben, amelyek manapság előfordulnak a célpiacokon, probléma vele, hogy a GPGPU-ra már jóval kevésbé hatékony. Emiatt az ARM áttért a skalár feldolgozásra, továbbá az utasításszintű párhuzamosságot szálszintű párhuzamosság váltja.
Itt már önmagában látszik, hogy mekkora előrelépés történt, ugyanis efféle konstrukciót az AMD és az NVIDIA újabb architektúrái használnak, főleg amiatt, hogy egy ilyen váltást nem olyan egyszerű kivitelezni, ugyanakkor a szálszintű párhuzamosságot megvalósító hardverek sokkal egyszerűbben programozhatók, így jóval hatékonyabban lehet compute programokat írni rájuk.
A váltással egyébként ugyanaz történik az ARM-mal, ami történt az AMD és az NVIDIA rendszereivel is a hasonlóan radikális módosítások bevezetése során. Más területekre kerülnek ugyanis a limitációk. Ha az utasításszintű és a szálszintű párhuzamosság különbségeit vizsgáljuk, akkor előbbi függőség-, míg utóbbi kihasználtságlimites. Azt persze program válogatja, hogy melyikkel lehet jobban járni, de mérnöki szemmel nézve manapság egyértelműen a függőséglimit a rosszabb, így nem véletlen, hogy az ARM bevállalta a bonyolultabb és minden bizonnyal többet fogyasztó hardverdizájnt a kihasználtságlimitre való áttérés érdekében.
A váltás azt is jelenti, hogy új utasításarchitektúrát használ a cég, amivel jön az új memóriamodell is. Utóbbi a jobb skálázást teszi lehetővé, így olyan teljesítményszinteket is meg lehet célozni, amilyeneket a korábbi dizájnokkal egyszerűen képtelenség volt elérni. A fentiek miatt most az ARM nem jött elő a szokásos ultramobil marketingekkel, ugyanis a Bifrost architektúrára épített dizájnok nem bánnak túl kíméletesen a tranzisztorokkal, emiatt nem is lehet rájuk igazán kicsi IGP-ket építeni. Ugyanakkor a váltás egyértelműen előnyös, mivel egységnyi helyigényre levetítve nő a rendszer kihasználhatósága.
A működés szempontjából az ARM Bifrost leginkább az AMD GCN architektúrájához hasonlítható, de vannak azért eltérések, illetve a rendszer a tiszta méreteit tekintve nem annyira robusztus. A fő feldolgozóelem a Bifrost esetében a quad, aminek például a GCN-es megfelelője a wavefront. Ugyanakkor a quad 4, míg a wavefront 64 szál széles. Mindemellett efféle konstrukciók előnye még, hogy a klasszikus, többletterheléssel tarkított feldolgozási modellt finomítani lehet, mivel nem kötelező, hogy az ütemező minden feldolgozóelem előtt döntsön. Ilyen formában a Bifrost vektormotorjára betölthető quadok száma egytől négyig terjed. Összehasonlításképpen a GCN-nél az egy vektormotorra betölthető wavefrontok száma egytől tízig skálázható. Ezekből a pontokból azért még mindig látszik, hogy az ARM elsődlegesen az ultramobil irányra fókuszál, tehát a modernizálás mellett sem tervezték extrém skálázhatóra a rendszert.
A Bifrost multiprocesszora, vagy ahogy az ARM hívja BAFU (Bifrost Arithmetic Functional Unit) kifejezetten egyszerűnek tűnik. Összesen két 128 bites vektormotor található benne, amelyek közül az egyik FMA utasítást is végrehajtó lebegőpontos, míg a másik ADD utasításra kialakított fixpontos feldolgozó, illetve utóbbi hajtja végre a speciális funkciókat is, ideértve a trigonometrikus és transzcendens utasításokat. A regiszterfájl méretét az ARM nem adta meg, de a vállalat annyit elárult, hogy a korábbi architektúrákhoz képest növelték a kapacitást. Ez azért fontos, mert minél több a regiszter, annál több quad futhat, márpedig arra érdemes törekedni, hogy lehetőség szerint mindig négy quad legyen betöltve egy vektormotorra, ez biztosítja ugyanis, hogy adatelérés esetén is legyen elég feldolgozásra váró szál a folyamatos munka biztosításához.
A Bifrost 32 darab feldolgozómotorig skálázható, de az ARM ezeket shader magoknak hívja majd, illetve egy ilyenben három BAFU található. Minden mag a belső fabric interfészhez kapcsolódik, amihez tartozik minden más részegység ideértve az MMU-t, quad menedzsment egységet, a különböző load/store egységeket, illetve a mozaikos feldolgozást elősegítő vezérlőt, ami a ROP blokknak a része.
Ez már így is elég ütősnek hangzik, de a végére jön a slusszpoén, ugyanis a Bifrost az ARM első olyan GPU-dizájnja, amely a CoreLink CCI-550-re teljes értékű ACE protokollokon kapcsolódhat. Utóbbiban az a lényeges, hogy ilyen formában teljesen gyorsítótárkoherens összeköttetés jön létre a CPU és az IGP között. Az ARM szerint a konstrukciójuk teljes mértékben megfelel az OpenCL 2.0, egységes virtuális memóriára vonatkozó, Fine Grain Buffer mód melletti specifikációjának. Ugyanakkor a vállalat közölte, hogy nem ez volt a fókusz, hanem a készülő SPIR-V kiterjesztések, illetve a Vulkan 1.1-es API specifikációja, amely számos OpenCL-ben már elérhető funkciót kínál majd fel az iparág számára.
A vállalat első körben a Mali-G71-et teszi licencelhetővé, amely többféle MP konfigurációban lesz elérhető. Sajnos a nyers teljesítményadatokat az ARM kerülte, de a cég szerint az MP16-os dizájn a GFXBench 4.0 Manhattan tesztjében, Full HD-s felbontáson gyorsabb az egyes 2015-ben kiadott notebookok dedikált grafikus vezérlőjénél is. Ez sajnos azért csalóka mert igen gyenge MXM modulokkal is szállítottak a cégek notebookokat az előző évben. Mindenesetre rossz konstrukció biztos nem lehet a Mali-G71.