Mali ARM Cortex A57 A53 big.LITTLE SoC Mali-T624 grafikus processzorral Megjelenés 2005 Architektúra Modellek Lásd Változatok Magok száma 1 – 32 mag Gyártási folyamat 4 – 40 nm API támogatás Direct3D OpenCL OpenGL Vulkan

A Mali és Immortalis grafikus processzorok (GPU-k) és multimédiás processzorok sorozatai az Arm Holdings által gyártott félvezető szellemi tulajdonú magok (IP magok), amelyeket az Arm partnerek licencelnek és különböző ASIC terveikben és kialakításaikban felhasználnak.

A Mali GPU-kat a norvég Falanx Microsystems A/S fejlesztette ki, ami a Norvég Tudományos és Technológiai Egyetem (NTNU) egy kutatási projektjének eredményeit felhasználó spin-off cég volt. Az Arm Holdings 2006. június 23-án felvásárolta a Falanx Microsystems A/S-t és a nevét Arm Norway-ra változtatta.

A processzor eredeti neve Malaik volt, ami eleve nem túl hosszú, de a fejlesztőcsapat ezt Mali-ra rövidítette, ami szerbhorvátul „kicsi”-t jelent (ld. „small”), mivel úgy gondolták, hogy ez éppen találó elnevezés egy mobil GPU számára.

2022. június 28-án az Arm bejelentette az Immortalis GPU sorozatát, amely hardveresen támogatja a sugárkövetési eljárást.

Grafikus processzorok

Utgard 2005-ben a Falanx bejelentette Utgard GPU architektúráját, a Mali-200 GPU-t. Az Arm folytatta a kezdő modell fejlesztését, amely a további Mali-300, Mali-400, Mali-450 és Mali-470 modellekkel sorozattá alakult. Az Utgard egy nem egyesített GPU, diszkrét pixel- és vertex shaderekkel rendelkezik. A Mali Utgard grafikus feldolgozó egységek összehasonlítása Modell meg­je­lent típus EU/shader mag­szám mag órajel­frekvencia (MHz) L2 gyorsító­tár méret kitöltési sebesség GFLOPS(magonként) OpenGL ESM△/sGT/s(GP/s) Mali-55/110 2005 Falanx Mali 110/55 IP Cores .., 2005 rögzített funkciójú futószalag 1 2.8 Mali-200 Mali-200 2007 programozható futószalag 1 5 2.0 Mali-300 Mali-300 2010 1 500 55 5 Mali-400 MP Mali-400 MP 2008 1–4 200–600 8– 55 – Mali-450 MP Mali-450 MP 2012 1–8 300–750 142 – Mali-470 MP Mali-470 MP 2015 1–4 250–650 8– 71 8–

Midgard

A Mali-magok száma az egylapkás rendszerekben (SoC) méretezhető, az adott SoC teljesítménykövetelményeinek megfelelően, ami a Midgardra is érvényes. A Mali-T624 például egytől négy magig skálázható. A magok mindegyike egy három utas (tri-pipe) futószalagot tartalmaz, amely két aritmetikai (A), egy betöltési-tárolási (LS) és egy textúrázási (T) futószalagból áll.https://community.arm.com/arm-community-blogs/b/mobile-graphics-and-gaming-blog/posts/arm-mali-compute-architecture-fundamentals

A Midgard egy VLIW (Very Long Instruction Word) architektúra, azaz a magok futószalagjai több végrehajtó egységet vezérelnek, és az utasításszavak nagy része több egység utasításait tartalmazza. A kialakítás továbbá egy SIMD (Single Instruction Multiple Data) architektúra is, azaz a legtöbb utasítás több adatelemmel dolgozik, amelyek 128 bites vektorregiszterekbe vannak csomagolva. Végül ez egy finomszemcsés többszálas (Fine-Grain Multi-Threaded, FGMT) architektúra, melyben minden mag a szálakat úgy futtatja, hogy körkörösen minden ciklusban átvált a következő, végrehajtásra kész szálra, a barrel processzorokhoz hasonlóan. Minden szálnak külön programszámlálója van.

1. generáció 2010. november 10-én az Arm bejelentette a Midgard 1. generációs GPU architektúráját, amelyen a Mali-T604 alapul, majd 2011-ben a Mali-T658 GPU-t. A Midgard hierarchikus csempézési rendszert használ.

2. generáció 2012. augusztus 6-án az Arm bejelentette a Midgard 2. generációs GPU architektúráját, melynek része a Mali-T678 GPU. A második generációs Midgardban bevezették az előrehozott pixel elvetést (Forward Pixel Kill), ami igen hatékony a hierarchikus csempézéssel együtt.

3. generáció 2013. október 29-én az Arm bejelentette a Midgard 3. generációs GPU architektúráját, melynek része a Mali-T760 GPU.

4. generáció 2014. október 27-én az Arm bejelentette a Midgard 4. generációs GPU architektúráját, benne a Mali-T860, Mali-T830, Mali-T820 modelleket. A zászlóshajó Mali-T880 GPU-t 2015. február 3-án jelentették be. Az új mikroarchitektúra jellemzői a következők:

Max. 16 mag a Mali-T880-hoz, – L2 gyorsítótárral

Bifrost

1. generáció 2016. május 27-én az Arm bejelentette a Bifrost GPU architektúráját, benne a Mali-G71 GPU-t. Az új mikroarchitektúra jellemzői a következők: egyesített shaderek quad vektorizációval skalár utasításkészlet (ISA) záradékos végrehajtás (clauses) teljes gyorsítótár-koherencia max. 32 mag a Mali-G71-hez, – L2 gyorsítótárral Az Arm állítása szerint a Mali-G71 40%-kal nagyobb teljesítménysűrűséggel és 20%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-T880. Az Arm „teljesítménysűrűség” fogalma egy absztrakt koncepció, valamilyen teljesítményadat és a lapkaméret arányával fejezik ki; különböző architektúrák térfelhasználását, energiafelhasználását és hőkezelését jellemzi.

2. generáció 2017. május 29-én az Arm bejelentette a Bifrost 2. generációs GPU architektúráját, benne a Mali-G72 GPU-t. Az új mikroarchitekturális jellemzők között találhatók az alábbiak: aritmetikai optimalizálások és megnövelt gyorsítótárak max. 32 mag a Mali-G72-höz, – L2 gyorsítótárral Az Arm állítása szerint a Mali-G72 20%-kal nagyobb teljesítménysűrűséggel és 25%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G71.

3. generáció 2018. május 31-én az Arm bejelentette a Bifrost 3. generációs GPU architektúráját és ezzel együtt a Mali-G76 GPU-t. Az új mikroarchitektúra főbb jellemzői a következők: 8 végrehajtási sáv a végrehajtási egységekben (az előzőekben 4); kétszeresére növelt pixel és texel adatátviteli sebesség max. 20 mag a Mali-G76-hoz, – L2 gyorsítótárral Az Arm állítása szerint a Mali-G76 30%-kal nagyobb teljesítménysűrűséggel és 30%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G72.

Valhall

1. generáció 2019. május 27-én az Arm bejelentette a Valhall GPU architektúráját, beleértve a Mali-G77 GPU-t, az év októberében pedig a Mali-G57 GPU-t. Az új mikroarchitektúra jellemzői a következők: új szuperskalár végrehajtómotor egyszerűsített skalár ISA új dinamikus ütemezés max. 16 mag a Mali-G77-hez, – L2 gyorsítótárral Az Arm állítása szerint a Mali-G77 30%-kal nagyobb teljesítménysűrűséggel és 30%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G76.

2. generáció 2020. május 26-án az Arm bejelentette a Valhall 2. generációs GPU architektúráját, beleértve a Mali-G78 modellt. Az új mikroarchitektúra jellemzői a következők: aszinkron órajel-tartományok új FMA egységek és megnövelt csempekezelő adatátviteli sebesség (az FMA itt a Fused Multiply-Add, a fuzionált szorzás-összeadás művelet, amelyet egy lépésben végez el a processzor) max. 24 mag a Mali-G78-hoz, – L2 gyorsítótárral Arm képpuffer-tömörítés (Frame Buffer Compression, AFBC) Az Arm állítása szerint a Mali-G78 15%-kal nagyobb teljesítménysűrűséggel és 10%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G77.

3. generáció 2021. május 25-én az Arm bejelentette a Valhall 3. generációs GPU architektúráját (a TCS21 részeként, ahol a TCS a „Total Compute Solutions” fejlesztési platformot jelzi), és az architektúrába tartozó Mali-G710, Mali-G510 és Mali-G310 GPU-kat. Az új mikroarchitektúra jellemzői a következők: nagyobb árnyaló magok (a Valhall 2. generációban lévők kétszeresei) új GPU frontend, a Command Stream Frontend (CSF) váltja fel a Job Managert max. 16 mag a Mali-G710-hez, – L2 gyorsítótárral Az Arm állítása szerint a Mali-G710 20%-kal nagyobb teljesítménysűrűséggel és 20%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G78.

4. generáció 2022. június 28-án az Arm bejelentette a Valhall 4. generációs GPU architektúráját (a TCS22 részeként), beleértve az Immortalis-G715, Mali-G715, és Mali-G615 GPU-kat. Az új mikroarchitektúra jellemzői a következők: hardveres sugárkövetési támogatás változó árnyalási sebesség új végrehajtási rendszer, kétszeresére növelt FMA blokkal, mátrix-szorzás utasítás támogatása, és teljesítmény, energiafogyasztás és terület terén (PPA) történt javítások Arm fix arányú tömörítés (Fixed Rate Compression, AFRC) Az Arm állítása szerint az Immortalis-G715 15%-kal nagyobb teljesítményt nyújt és 15%-kal jobb energiahatékonysággal rendelkezik, mint a Mali-G710.

5. generáció 2023. május 29-én az Arm bejelentette 5. generációs Arm GPU architektúráját (a TCS23 részeként), beleértve az Immortalis-G720, Mali-G720 és Mali-G620 GPU-kat. Az új mikroarchitektúra jellemzői a következők: halasztott csúcspont­árnyékolás (deferred vertex shading, DVS) futószalag Az Arm állítása szerint az Immortalis-G720 15%-kal nagyobb teljesítményt nyújt és 40%-kal kevesebb memória-sávszélességet használ, mint az Immortalis-G715.

Technikai részletek A 3D-s képalkotás hardveres gyorsítására szolgáló beágyazott IP magokhoz hasonlóan, a Mali GPU sem tartalmaz monitorokat meghajtó képernyővezérlőket, ellentétben az általános asztali videókártyákkal. A Mali ARM mag egy tisztán 3D-s képalkotásra szolgáló feldolgozóeszköz, ami a memóriában rendereli a grafikát (kiszámítja a megjelenítendő képet), és átadja a kiszámított képet egy másik magnak, amely a megjelenítő eszközt kezeli.

Az Arm azonban képernyő- ill. kijelzővezérlő SiP magok licenceit is kínálja, a Mali 3D gyorsító SIP blokktól függetlenül, ilyenek például a Mali DP500, DP550 és DP650.

Az Arm szoftveres eszközöket is biztosít az OpenGL ES árnyalók (shader) kifejlesztéséhez, ilyenek a Mali GPU Shader Development Studio és a Mali GPU User Interface Engine.

A kijelzővezérlők, mint például az ARM HDLCD kijelzővezérlő, külön elérhetők.

Biztonsági hibák Az Arm Mali GPU kernel-illesztőprogramja lehetővé teszi, hogy jogosulatlan felhasználók hozzáférjenek a felszabadított memóriához, mivel a GPU memóriaműveletei rosszul vannak kezelve. Ez érinti a Bifrost r0p0-tól r38p1-ig és r39p0-ig; a Valhall r19p0-tól r38p1-ig és r39p0-ig; és a Midgard r4p0-tól r32p0-ig terjedő változatait. A hibát aktívan ki is használták, 2023. március 30. és április 20. között.

Változatok A Mali mag a Falanx által korábban gyártott magokból volt kifejlesztve és jelenleg a következő modellek alkotják:

Modell mikro­ar­chi­tek­túra típus kibo­csá­tás EU/shader magok száma árnyékoló egységek (shaderek, magon­ként) shaderek össz. Fab (nm) lapka­méret (mm2) mag órajel­frek. (MHz) másod­lagos gyorsí­tótár méret (KiB) kitöltési ráta GFLOPS (magonként) GFLOPS (teljes) API (verzió)M△/sGT/s(GP/s) Vulkan ES OpenCL Mali-T604 Mali-T604 Midgard 1. gen.egye­sített shader modell + SIMD ISA2010. nov.1–488–3232 nm 28533 32–256133 / 600 MHz / 600 MHz – / 600 MHz rowspan="7" 3.1 1.1 teljes profil Mali-T658 Mali-T658 2011. nov.1–81616–128 / 600 MHz – / 600 MHz Mali-T622 Mali-T622 Midgard 2. gen.2013. jún. 1–2 4 4–83228533 / 600 MHz – / 600 MHzMali-T624 Mali-T624 2012 aug. 1–4 8 8–32533–600 / 600 MHz – / 600 MHzMali-T628 Mali-T6281–81616–128533–695 / 600 MHz – / 600 MHzMali-T678 Mali-T6781–828Mali-T720 Mali-T720 Midgard 3. gen.2013 okt.1–81010–80281410400–700600 (MP8/ 600 MHz) / 600 MHz12 / 600 MHz12–96 / 600 MHzMali-T760 Mali-T7601–161414–224282014 / árnyaló mag -en 600–772256–2048 1300 / 600 MHz – / 600 MHz 1.0 3.2 1.2 teljes profilMali-T820 Mali-T820 Midgard 4. gen. 2015 4. negyed. 1–4 8 8–3228 600 32–256 400 / 600 MHz – / 600 MHzMali-T830 Mali-T830 16 16–64281614600–950400 / 600 MHz – / 600 MHzMali-T860 Mali-T860 1–16 14 14–224 350–700 256–2048 1300 / 600 MHz – / 600 MHzMali-T880 Mali-T880 2016 2. negyed. 1–16 21 21–351 201614 650–1000 1700 / 600 MHz – / 600 MHzMali-G31 Mali-G31 Bifrost 1. gen.egye­sített shader modell + egye­sített memória +