Mali (processor)
ARM Cortex A57 A53 big.LITTLE SoC with a Mali-T624 GPU | |
| Release date | 2005 |
|---|---|
| Architecture |
|
| Models | See Variants |
| Cores | 1 to 32 cores |
| Fabrication process | 4 to 40 nm |
| API support | |
| Direct3D | 9 to 12 |
| OpenCL | 1.1 to 3.0 |
| OpenGL | 2.0 to 3.0 |
| Vulkan | 1.0 to 1.3 |
The Mali and Immortalis series of graphics processing units (GPUs) and multimedia processors are semiconductor intellectual property cores produced by Arm Holdings for licensing in various ASIC designs by Arm partners.
Mali GPUs were developed by Falanx Microsystems A/S, which was a spin-off of a research project from the Norwegian University of Science and Technology.[1] Arm Holdings acquired Falanx Microsystems A/S on June 23, 2006 and renamed the company to Arm Norway.[2]
It was originally named Malaik, but the team shortened the name to Mali, Serbo-Croatian for "small", which was thought to be fitting for a mobile GPU.[3]
On June 28, 2022, Arm announced their Immortalis series of GPUs with hardware-based ray tracing support.[4]
Graphics processors
[edit]Utgard
[edit]In 2005, Falanx announced their Utgard GPU Architecture, the Mali-200 GPU.[5] Arm followed up with the Mali-300, Mali-400, Mali-450, and Mali-470. Utgard was a non-unified GPU (discrete pixel and vertex shaders).[1]
| Model | Launch date | Type | EUs/Shader core count | Core clock rate
(MHz) |
L2 cache size | Fillrate | GFLOPS (per core) |
OpenGL ES | ||
|---|---|---|---|---|---|---|---|---|---|---|
| M△/s | GT/s | (GP/s) | ||||||||
| Mali-55/110[link removed] | 2005 | Fixed function pipeline[6] | 1 | 2.8 | 0.1 | ? | 1.1 | |||
| Mali-200 | 2007[7] | Programmable pipeline[6] | 1 | 5 | ? | 0.2 | 2.0 | |||
| Mali-300 | 2010[8] | 1 | 500 | 8 KiB | 55 | 0.5 | 5 | |||
| Mali-400 MP | 2008 | 1–4 | 200–600 | 8–256 KiB | 55 | 0.5 | 1.2–5.4 | |||
| Mali-450 MP | 2012 | 1–8 | 300–750 | 8–512 KiB | 142 | 2.6 | 4.5–11.9 | |||
| Mali-470 MP | 2015 | 1–4 | 250–650 | 8–256 KiB | 71 | 0.65 | 8–20.8 | |||
Midgard
[edit]1st generation
[edit]On November 10, 2010, Arm announced their Midgard 1st gen GPU Architecture, including the Mali-T604 and later the Mali-T658 GPU in 2011.[9][10][11][12] Midgard uses a Hierarchical Tiling system.[1]
2nd generation
[edit]On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU.[13] Midgard 2nd gen introduced Forward Pixel Kill.[1][14]
3rd generation
[edit]On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.[15][1][16][17][18]
4th generation
[edit]On October 27, 2014, Arm announced their Midgard 4th gen GPU Architecture, including the Mali-T860, Mali-T830, Mali-T820. Their flagship Mali-T880 GPU was announced on February 3, 2015. New microarchitectural features include:[19]
- Up to 16 cores for the Mali-T880, with 256KB – 2MB L2 cache
Bifrost
[edit]1st generation
[edit]On May 27, 2016, Arm announced their Bifrost GPU Architecture, including the Mali-G71 GPU. New microarchitectural features include:[20][21]
- Unified shaders with quad vectorization
- Scalar ISA
- Clauses execution
- Full cache coherency
- Up to 32 cores for the Mali-G71, with 128KB – 2MB L2 cache
- Arm claims the Mali-G71 has 40% more performance density and 20% better energy efficiency than the Mali-T880
2nd generation
[edit]On May 29, 2017, Arm announced their Bifrost 2nd gen GPU Architecture, including the Mali-G72 GPU. New microarchitectural features include:[22][23]
- Arithmetic optimizations and increased caches
- Up to 32 cores for the Mali-G72, with 128KB – 2MB L2 cache
- Arm claims the Mali-G72 has 20% more performance density and 25% better energy efficiency than the Mali-G71
3rd generation
[edit]On May 31, 2018, Arm announced their Bifrost 3rd gen GPU Architecture, including the Mali-G76 GPU. New microarchitectural features include:[24][25]
- 8 execution lanes per engine (up from 4). Doubled pixel and texel throughput
- Up to 20 cores for the Mali-G76, with 512KB – 4MB L2 cache
- Arm claims the Mali-G76 has 30% more performance density and 30% better energy efficiency than the Mali-G72
Valhall
[edit]1st generation
[edit]On May 27, 2019, Arm announced their Valhall GPU Architecture, including the Mali-G77 GPU, and in October Mali-G57 GPUs. New microarchitectural features include:[26][27][28]
- New superscalar engine
- Simplified scalar ISA
- New dynamic scheduling
- Up to 16 cores for the Mali-G77, with 512KB – 2MB L2 cache
- Arm claims the Mali-G77 has 30% more performance density and 30% better energy efficiency than the Mali-G76
2nd generation
[edit]On May 26, 2020, Arm announced their Valhall 2nd Gen GPU Architecture, including the Mali-G78. New microarchitectural features include:[29][30][31]
- Asynchronous clock domains
- New FMA units and increase Tiler throughput
- Up to 24 cores for the Mali-G78, with 512KB – 2MB L2 cache
- Arm Frame Buffer Compression (AFBC)
- Arm claims the Mali-G78 has 15% more performance density and 10% better energy efficiency than the Mali-G77
3rd generation
[edit]On May 25, 2021, Arm announced their Valhall 3rd Gen GPU Architecture (as part of TCS21), including the Mali-G710, Mali-G510, and Mali-G310 GPUs. New microarchitectural features include:[32][33][34]
- Larger shader cores (2x compared to Valhall 2nd Gen)
- New GPU frontend, Command Stream Frontend (CSF) replaces the Job Manager
- Up to 16 cores for the Mali-G710, with 512KB – 2MB L2 cache
- Arm claims the Mali-G710 has 20% more performance density and 20% better energy efficiency than the Mali-G78
4th generation
[edit]On June 28, 2022, Arm announced their Valhall 4th Gen GPU Architecture (as part of TCS22), including the Immortalis-G715, Mali-G715, and Mali-G615 GPUs. New microarchitectural features include:[4][35]
- Ray Tracing support (hardware-based)
- Variable Rate Shading[36]
- New Execution Engine, with doubled the FMA block, Matrix Multiply instruction support, and PPA improvements
- Arm Fixed Rate Compression (AFRC)
- Arm claims the Immortalis-G715 has 15% more performance & 15% better energy efficiency than the Mali-G710[37]
5th generation
[edit]On May 29, 2023, Arm announced their 5th Gen Arm GPU Architecture (as part of TCS23), including the Immortalis-G720, Mali-G720 and Mali-G620 GPUs.[38][39][40] New microarchitectural features include:[41]
- Deferred vertex shading (DVS) pipeline
- Arm claims the Immortalis-G720 has 15% more performance and uses up to 40% less memory bandwidth than the Immortalis-G715
Technical details
[edit]Like other embedded IP cores for 3D rendering acceleration, the Mali GPU does not include display controllers driving monitors, in contrast to common desktop video cards. Instead, the Mali ARM core is a pure 3D engine that renders graphics into memory and passes the rendered image over to another core to handle display.
ARM does, however, license display controller SIP cores independently of the Mali 3D accelerator SIP block, e.g. Mali DP500, DP550 and DP650.[42]
ARM also supplies tools to help in authoring OpenGL ES shaders named Mali GPU Shader Development Studio and Mali GPU User Interface Engine.
Display controllers such as the ARM HDLCD display controller are available separately.[43]
Variants
[edit]The Mali core grew out of the cores previously produced by Falanx and currently constitute:[44]
| Model | Microarchi- tecture |
Type | Launch date | EUs/Shader core count | Shading Units (per core) | Total Shaders | Fab (nm) | Die size (mm2) |
Core clock rate (MHz) | L2 cache size (KiB) | Fillrate | GFLOPS (per core) |
GFLOPS (total) |
API (version) | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| M△/s | GT/s | (GP/s) | Vulkan | OpenGL ES | OpenCL | |||||||||||||
| Mali-T604[45] | Midgard 1st gen | Unified shader model + | Nov 2010[46] | 1–4 | 8 | 8–32 | 32 28 |
? | 533 | 32–256 | 133 | 0.6 @ 600 MHz | 9.6 @ 600 MHz | 9.6–38.4 @ 600 MHz | N/a | 3.1 | 1.1 Full Profile | |
| Mali-T658[45] | Nov 2011[47] | 1–8 | 16 | 16–128 | ? | ? | ? | 19.2 @ 600 MHz | 19.2–153.6 @ 600 MHz | |||||||||
| Mali-T622 | Midgard 2nd gen | Jun 2013[48] | 1–2 | 4 | 4–8 | 32 28 |
? | 533 | ? | ? | 4.8 @ 600 MHz | 4.8–9.6 @ 600 MHz | ||||||
| Mali-T624 | Aug 2012 | 1–4 | 8 | 8–32 | ? | 533–600 | ? | ? | 9.6 @ 600 MHz | 9.6–38.4 @ 600 MHz | ||||||||
| Mali-T628 | 1–8 | 16 | 16–128 | ? | 533–695 | ? | ? | 19.2 @ 600 MHz | 19.2–153.6 @ 600 MHz | |||||||||
| Mali-T678[49] | 1–8 | 28 | ? | ? | ? | ? | ||||||||||||
| Mali-T720 | Midgard 3rd gen | Oct 2013 | 1–8 | 10 | 10–80 | 28 14 10 |
? | 400–700 | 600 (MP8@ 600 MHz) |
0.6 @ 600 MHz | 12 @ 600 MHz | 12–96 @ 600 MHz | ||||||
| Mali-T760 | 1–16 | 14 | 14–224 | 28 20 14 |
1.75 mm2 per shader core at 14 nm[50] | 600–772 | 256–2048[51] | 1300 | 16.8 @ 600 MHz | 16.8–268.8 @ 600 MHz | 1.0[52] | 3.2[53] | 1.2 Full Profile | |||||
| Mali-T820 | Midgard 4th gen | Q4 2015 | 1–4 | 8 | 8–32 | 28 | ? | 600 | 32–256[51] | 400 | 9.6 @ 600 MHz | 9.6–38.4 @ 600 MHz | ||||||
| Mali-T830 | 16 | 16–64 | 28 16 14 |
? | 600–950 | 400 | 19.2 @ 600 MHz | 19.2–76.8 @ 600 MHz | ||||||||||
| Mali-T860 | 1–16 | 14 | 14–224 | ? | 350–700 | 256–2048[51] | 1300 | 16.8 @ 600 MHz | 16.8–268.8 @ 600 MHz | |||||||||
| Mali-T880 | Q2 2016 | 1–16 | 21 | 21–351 | 20 16 14 |
? | 650–1000 | 1700 | 25.2 @ 600 MHz | 25.2–403.2 @ 600 MHz | ||||||||
| Mali-G31 | Bifrost 1st gen | Unified shader model + Unified memory +
scalar, clause-based ISA |
Q1 2018 | 1–6[54] | 4 or 8 | 4–48 | 28 12 |
? | 650 | 32–512 | 0.5 @ 1000 MHz | 8–16 @ 1000 MHz | 48–576 @ 1000 MHz | 1.2[55] | 2.0 Full Profile | |||
| Mali-G51[56] | Q4 2016 | 1–6[57] | 8 or 12 | 8–72 | 28 16 14 12 10 |
? | 1000 | 16–24 @ 1000 MHz | 16–144 @ 1000 MHz | 1.0[58] | ||||||||
| Mali-G71 | Q2 2016 | 1–32 | 12 | 12–384 | 16 14 10 |
? | 546–1037 | 128–2048 | 1850 | 1 @ 1000 MHz | 24 @ 1000 MHz | 24–768 @ 1000 MHz | ||||||
| Mali-G52 | Bifrost 2nd gen | Q1 2018 | 1–6 | 16 or 24 | 16–144 | 16 12 8 7 |
? | 850 | 32-512 | 2 @ 1000 MHz | 32–48 @ 1000 MHz | 32–288 @ 1000 MHz | 2.1 Full Profile | |||||
| Mali-G72 | Q2 2017 | 1–32 | 12 | 12–384 | 16 12 10 |
1.36 mm2 per shader core at 10 nm[59] | 572–1050 | 128–2048 | 1 @ 1000 MHz | 24 @ 1000 MHz | 24–768 @ 1000 MHz | 2.0 Full Profile | ||||||
| Mali-G76 | Bifrost 3rd gen | Q2 2018 | 4–20 | 24 | 96–480 | 12 8 7 |
? | 600–800 | 512–4096 | ? | 2 @ 1000 MHz | 2 @ 1000 MHz | 48 @ 1000 MHz | 192–960 @ 1000 MHz | 1.1 | 2.1 Full Profile | ||
| Mali-G57 | Valhall 1st gen | Superscalar engine + Unified memory +
simplified scalar ISA |
Q2 2019 | 1–6 | 32 | 32–192 | 12 7 6 |
? | 950[60] | 64–512 | ? | 4 @ 1000 MHz | 64 @ 1000 MHz | 64–384 @ 1000 MHz | ||||
| Mali-G77 | 7–16 | 224–512 | 7 6 |
? | 695–850 | 512–2048 | ? | 448–1024 @ 1000 MHz | ||||||||||
| Mali-G68 | Valhall 2nd gen | Q2 2020 | 1–6 | 32–192 | 6 5 3 |
64–384 @ 1000 MHz | 1.2 | 3.0 Full Profile | ||||||||||
| Mali-G78 | 7–24 | 224–768 | 5 | 759-848 | 448–1536 @ 1000 MHz | |||||||||||||
| Mali-G310 | Valhall 3rd gen | Q2 2021 | 1 | 16 or 32 or 64 | 16–64 | 6 5 4 |
256–1024 | 2, 4 or 8 @ 1000 MHz | 2 or 4 @ 1000 MHz | 32–128 @ 1000 MHz | ||||||||
| Mali-G510 | 2–6 | 48 or 64 | 96–384 | 4 or 8 @ 1000 MHz | 4 @ 1000 MHz | 96–128 @ 1000 MHz | 192–768 @ 1000 MHz | |||||||||||
| Mali-G610 | 1–6 | 64 | 64–384 | 512–2048 | 8 @ 1000 MHz | 128 @ 1000 MHz | 128–768 @ 1000 MHz | |||||||||||
| Mali-G710 | 7–16 | 448–1024 | 650,850 900 |
2648 | 896–2048 @ 1000 MHz | |||||||||||||
| Mali-G615 | Valhall 4th gen | Q2 2022 | 1–6 | 128 | 128–768 | 4 | 256 @ 1000 MHz | 256–1536 @ 1000 MHz | 1.3[61] | |||||||||
| Mali-G715 | 7–9 | 896–1152 | 1792–2304 @ 1000 MHz | |||||||||||||||
| Immortalis-G715 | 10–16 | 1280–2048 | 2560–4096 @ 1000 MHz | |||||||||||||||
| Mali-G620 | 5th Gen[62] | Deferred Vertex Shading (DVS) | Q2 2023 | 1–5 | 128–640 | 256–1024 | 256–1280 @ 1000 MHz | |||||||||||
| Mali-G720 | 6–9 | 768–1152 | 512–2048 | 1536–2304 @ 1000 MHz | ||||||||||||||
| Immortalis-G720 | Q4 2023 | 10–16 | 1280–2048 | 2560–4096 @ 1000 MHz | ||||||||||||||
| Mali-G625 | Q2 2024 | 1–5 | 128–640 | 4 3 |
256–1024 | 256–1280 @ 1000 MHz | ||||||||||||
| Mali-G725 | 6–9 | 768–1152 | 512–4096 | 1536–2304 @ 1000 MHz | ||||||||||||||
| Immortalis-G925 | 10–24 | 1280–3072 | 2560–6144 @ 1000 MHz | |||||||||||||||
| Mali G1-Pro | Q3 2025 | 1–5 | 128–640 | 3 | 512–2048 | 256–1280 @ 1000 MHz | 1.4 | |||||||||||
| Mali G1-Premium | 6–9 | 768–1152 | 512–4096 | 1536–2304 @ 1000 MHz | ||||||||||||||
| Mali G1-Ultra | 10–24 | 1280–3072 | 2560–6144 @ 1000 MHz | |||||||||||||||
| Model | Microarchi- tecture |
Type | Launch date | EUs/Shader core count | Shading Units (per core) | Total Shaders | Fab
(nm) |
Die size (mm2) |
Core clock rate (MHz) | Max L2 cache size (KiB) | Fillrate (per core) | FP32 GFLOPS (per core) |
GFLOPS (total) |
Vulkan | Open GL/ES |
Open CL | ||
Some microarchitectures (or just some chips?) support cache coherency for the L2 cache with the CPU.[63][64]
Adaptive Scalable Texture Compression (ASTC) is supported by Mali-T620, T720/T760, T820/T830/T860/T880[65] and Mali-G series.
Implementations
[edit]The Mali GPU variants can be found in the following systems on chips (SoCs):
| Vendor | SoC name | Mali version |
|---|---|---|
| Allwinner | Allwinner A1X (A10, A10s, A13) | Mali-400 MP[66][67][68] @ 300 MHz |
| A20, A23, A33, A64,[69] H2, H3, H64, R8, R16, R40, R18 | Mali-400 MP2[70] @ 350/350/350/600/600/?/?/?/?/?/? MHz | |
| H5 | Mali-450 MP4 | |
| H6 | Mali-T720 MP2 | |
| H313, H616, H618 | Mali-G31 MP2 | |
| Amlogic | 8726-M series (8726-M1, 8726-M3, 8726-M6, 8726-MX) | Mali-400 MP/MP2[71] @ 250/400 MHz |
| 8726-M8 series (M801, M802, S801, S802, S812) | Mali-450 MP6[71] @ 600 MHz | |
| 8726-M8B series (M805, S805) | Mali-450 MP2[71] @ 500 MHz | |
| S905, S905X/D/L | Mali-450 MP3 @ 750 MHz | |
| S905X2, S905X3, S905Y2, S905D2, S905X4[72] | Mali-G31 MP2 | |
| S905X5[73] | Mali-G310 @ 1 GHz[74] | |
| S912 | Mali-T820 MP3 @ 600 MHz | |
| S922X, A311D | Mali-G52 MP4 | |
| T966 | Mali-T830 MP2 @ 650 MHz | |
| ARM | Morello | Mali-G76 |
| Asus | Tinkerboard, Tinkerboard S | Mali-T760 |
| Baikal Electronics | Baikal-M | Mali-T628 MP8 |