Uusimmat

ARM esitteli uuden Bifrost-arkkitehtuurin ja Mali-G71-grafiikkaohjaimen

30.05.2016 17:11 Petrus Laine

ARM Mali-G71

ARM on esitellyt uuden Artemis- eli Cortex-A73-ytimen lisäksi myös uuden grafiikka-arkkitehtuurin ja -ohjaimen. ARM on nimennyt uuden Mali-G71:n takana olevan arkkitehtuurin Bifrostiksi.

Korkealla tasolla Bifrost-arkkitehtuuri on hyvin samankaltainen uudistus ARM:lle, kuin mitä GCN oli AMD:lle. ARM:n edellinen Midgard-arkkitehtuuri perustui käskyjen väliseen rinnakkaisuuteen (ILP, Instruction Level Parallelism), ja käskyt niputettiin neljän ryppäisiin VLIW4-hengessä. Uusi Bifrost-arkkitehtuuri heittää ILP:n ja VLIW:n mäkeen, ja korvaa ne säikeiden rinnakkaistamisella (TLP, Thread Level Parallelism) ja nelikkoihin niputetuilla skalaariyksiköillä (Quad). Bifrostin skalaarinelikot saavat kerralla syötäväksi neljä säiettä, ja kukin skalaariyksikkö suorittaa niistä omaansa.

Bifrostin ominaisuudet

Muutokset parantavat varjostinyksiköiden käyttöastetta merkittävästi, ja tehtävästä riippuen myös suorituskyky nousee siinä ohessa; ARM antoi esimerkiksi yhden vec3-operaation, joka vie Midgardin VLIW-arkkitehtuurilla neljä kellojaksoa, mutta uudella Bifrostilla vain kolme. Säästynyt aika kääntyy mobiiligrafiikkaohjaimissa suoraan tehonkulutuksen pienentymiseen. Skalaariyksiköt ja keskittyminen säikeiden rinnakkaisuuteen parantaa myös laskentasuorituskykyä verrattuna VLIW-arkkitehtuureihin.

Bifrost-arkkitehtuurissa on tehty myös käskyjen skedulointiin eli vuorontamiseen. Tyypillisesti vuorontaja tekee töitään jokaisen käskyn välissä, mutta Bifrost-arkkitehtuurissa vuoronnus perustuu erilaisiin ehtoihin (Clause). Ehtojen myötä voidaan vuorontaa kerralla yksi tai useampi käsky. Useamman käskyn vuorontamisessa kerralla säästetään aikaa ja tehonkulutusta, kun vuorontajan ei tarvitse toimia joka käskyn välillä.

Mali-G71 / Bifrost-arkkitehtuuri

Mali-G71 rakentuu mallista riippuen 4 – 32 Shader-ytimestä, joista kukin sisältää oman frontendinsä, vuorontajansa ja kolme Quad-yksikköä sekä teksturointiyksikön ja muut tarpeelliset yksiköt. Kaikki Shader-ytimet jakavat yhteisen L2-muistin. Mali-G71 tukee OpenGL ES- ja Vulkan-rajapintoja, ja on ARM:n mukaan yhteensopiva myös tulevan Vulkan 1.1 -version kanssa. Lisäksi tuettuna on luonnollisesti OpenCL 2.x, ja todennäköisesti myös DirectX, mutta ARM ei maininnut siitä omissa dioissaan.

Mali-G71 on suunniteltu toimimaan yhdessä erityisesti uuden Cortex-A73-ytimen kanssa. Mali ja uusi Cortex tukevat täyttä välimuistikoherenttiutta keskeään, kun käytössä on esimerkiksi CoreLink CCI-550 -yhteysväylä. ARM:n mukaan heidän välimuistikoherentti toteutuksensa mahdollistaa grafiikkaohjaimen ja prosessorin muistinkäytön samanaikaisesti, kun useimmissa toteutuksissa ne joutuvat vuorottelemaan samasta osoiteavaruudesta huolimatta.

Muropaketti suosittelee lukemaan myös Anandtechin syväluotaavamman artikkelin Bifrost-arkkitehtuurista ja Mali-G71-grafiikkaohjaimesta.

Petrus Laine

Muropaketin uusimmat