Mali (processor)
The Mali and Immortalis series of graphics processing units 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. Arm Holdings acquired Falanx Microsystems A/S on June 23, 2006 and renamed the company to Arm Norway.
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.
On June 28, 2022, Arm announced their Immortalis series of GPUs with hardware-based Ray Tracing support.
Graphics processors
Utgard
In 2005, Falanx announced their Utgard GPU Architecture, the Mali-200 GPU. Arm followed up with the Mali-300, Mali-400, Mali-450, and Mali-470. Utgard was a non-unified GPU.Midgard
1st generation
On November 10, 2010, Arm announced their Midgard 1st gen GPU Architecture, including the Mali-T604 and later the Mali-T658 GPU in 2011. Midgard uses a Hierarchical Tiling system.2nd generation
On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU. Midgard 2nd gen introduced Forward Pixel Kill.3rd generation
On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.4th generation
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:- Up to 16 cores for the Mali-T880, with 256KB – 2MB L2 cache
Bifrost
1st generation
On May 27, 2016, Arm announced their Bifrost GPU Architecture, including the Mali-G71 GPU. New microarchitectural features include:- 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
- 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
- 8 execution lanes per engine. 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
1st generation
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:- 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
- 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
- Arm claims the Mali-G78 has 15% more performance density and 10% better energy efficiency than the Mali-G77
3rd generation
- Larger shader cores
- New GPU frontend, Command Stream Frontend 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
- Ray Tracing support
- Variable Rate Shading
- New Execution Engine, with doubled the FMA block, Matrix Multiply instruction support, and PPA improvements
- Arm Fixed Rate Compression
- Arm claims the Immortalis-G715 has 15% more performance & 15% better energy efficiency than the Mali-G710
5th generation
- Deferred vertex shading pipeline
- Arm claims the Immortalis-G720 has 15% more performance and uses up to 40% less memory bandwidth than the Immortalis-G715
Technical details
ARM does, however, license display controller SIP cores independently of the Mali 3D accelerator SIP block, e.g. Mali DP500, DP550 and DP650.
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.
Variants
The Mali core grew out of the cores previously produced by Falanx and currently constitute:Some microarchitectures support cache coherency for the L2 cache with the CPU.
Adaptive Scalable Texture Compression is supported by Mali-T620, T720/T760, T820/T830/T860/T880 and Mali-G series.
Implementations
The Mali GPU variants can be found in the following systems on chips :| Vendor | SoC name | Mali version |
| Allwinner | Allwinner A1X | Mali-400 MP @ 300 MHz |
| Allwinner | A20, A23, A33, A64, H2, H3, H64, R8, R16, R40, R18 | Mali-400 MP2 @ 350/350/350/600/600/?/?/?/?/?/? MHz |
| Allwinner | H5 | Mali-450 MP4 |
| Allwinner | H6 | Mali-T720 MP2 |
| Allwinner | H313, H616, H618 | Mali-G31 MP2 |
| Amlogic | 8726-M series | Mali-400 MP/MP2 @ 250/400 MHz |
| Amlogic | 8726-M8 series | Mali-450 MP6 @ 600 MHz |
| Amlogic | 8726-M8B series | Mali-450 MP2 @ 500 MHz |
| Amlogic | S905, S905X/D/L | Mali-450 MP3 @ 750 MHz |
| Amlogic | S905X2, S905X3, S905Y2, S905D2, S905X4 | Mali-G31 MP2 |
| Amlogic | S905X5 | Mali-G310 @ 1 GHz |
| Amlogic | S912 | Mali-T820 MP3 @ 600 MHz |
| Amlogic | S922X, A311D | Mali-G52 MP4 |
| Amlogic | T966 | Mali-T830 MP2 @ 650 MHz |
| ARM | Morello | Mali-G76 |
| Asus | Tinkerboard, Tinkerboard S | Mali-T760 |
| Baikal Electronics | Baikal-M | Mali-T628 MP8 |
| CSR | Quatro 5300 Series | Mali-400 MP |
| ELVEES Multicore | 1892VM14Ya | Mali-300 |
| InfoTM | iMAP×15 | Mali-400 |
| InfoTM | iMAP×820 | Mali-400 MP2 |
| InfoTM | iMAP×912 | Mali-400 MP2 |
| Tensor | Mali-G78 MP20 @ 848 MHz | |
| Tensor G2 | Mali-G710 MP7 @ 848 MHz | |
| Tensor G3 | Mali-G715 MP7 @ 890 MHz | |
| Tensor G4 | Mali-G715 MP7 @ 940 MHz | |
| HiSilicon | Kirin 620 | Mali-450 MP4 @ 533 MHz |
| HiSilicon | Kirin 650/655/658/659 | Mali-T830 MP2 @ 900 MHz |
| HiSilicon | Kirin 710 | Mali-G51 MP4 @ 1000 MHz |
| HiSilicon | Kirin 810 | Mali-G52 MP6 @ 820 MHz |
| HiSilicon | Kirin 820 | Mali-G57 MP6 @??? MHz |
| HiSilicon | Kirin 910/910T | Mali-450 MP4 @ 533/700 MHz |
| HiSilicon | Kirin 920/925/928 | Mali-T628 MP4 @ 600/600/? MHz |
| HiSilicon | Kirin 930/935 | Mali-T628 MP4 @ 600/680 MHz |
| HiSilicon | Kirin 950/955 | Mali-T880 MP4 @ 900 MHz |
| HiSilicon | Kirin 960 | Mali-G71 MP8 @ 1037 MHz |
| HiSilicon | Kirin 970 | Mali-G72 MP12 @ 746 MHz |
| HiSilicon | Kirin 980 | Mali-G76 MP10 @ 720 MHz |
| HiSilicon | Kirin 985 | Mali-G77 MP8 @??? MHz |
| HiSilicon | Kirin 990/990 5G | Mali-G76 MP16 @ 600 MHz |
| HiSilicon | Kirin 9000 5G/Kirin 9000E 5G | Mali-G78 MP24/22 @ 759 MHz |
| HiSilicon | Hi3798cv200 | Mali-T720 @ 450/600 MHz |
| Leadcore | LC1810, LC1811, LC1813, LC1913 | Mali-400 |
| Leadcore | LC1860, LC1860C, LC1960 | Mali-T628 MP2 @ 600 MHz |
| MediaTek | MSD6683 | Mali-470 MP3 |
| MediaTek | MT5595, MT5890 | Mali-T624 MP3 |
| MediaTek | MT5596, MT5891 | Mali-T860 MP2 |
| MediaTek | MT6571, MT6572, MT6572M | Mali-400 MP1 @ ?/500/400 MHz |
| MediaTek | MT6580 | Mali-400 MP1 @ 500 MHz |
| MediaTek | MT6582/MT6582M | Mali-400 MP2 @ 500/416 MHz |
| MediaTek | MT6588, MT6591, MT6592, MT6592M, MT8127 | Mali-450 MP4 @ 600/700/600/600 MHz |
| MediaTek | MT6735, MT6735M, MT6735P | Mali-T720 MP2 @ 600/500/400 MHz |
| MediaTek | MT6737, MT6737T | Mali-T720 MP2 @ 550/600 MHz |
| MediaTek | MT8735 | Mali-T720 MP2 @ 450 MHz |
| MediaTek | MT6753 | Mali-T720 MP3 @ 700 MHz |
| MediaTek | MT6732, MT6732M, MT6752, MT6752M | Mali-T760 MP2 @ 500/500/700/700 MHz |
| MediaTek | MT6750 | Mali-T860 MP2 @ 520 MHz |
| MediaTek | MT6755 | Mali-T860 MP2 @ 700/650/800 MHz |
| MediaTek | MT6757 | Mali-T880 MP2 @ 900 MHz/1.0 GHz |
| MediaTek | MT6797 | Mali-T880 MP4 @ 780/850/875 MHz |
| MediaTek | MT6763T, MT6758 | Mali-G71 MP2 @ 770/950 MHz |
| MediaTek | MT6771 | Mali-G72 MP3 @ 800/900 MHz |
| MediaTek | MT6768, MT6769 | Mali-G52 MC2 @ 820/950/1000 MHz |
| MediaTek | Helio G91 | Mali-G52 MC2 @ 1 GHz |
| MediaTek | MT6785 | Mali-G76 MC4 @ 720/800/900 MHz |
| MediaTek | MT6781 | Mali-G57 MC2 @ 950/1000 MHz |
| MediaTek | MT6833 | Mali-G57 MC2 @ 950/1068/950 MHz |
| MediaTek | MT6853 | Mali-G57 MC3 @ 850 MHz |
| MediaTek | MT6873 | Mali-G57 MC4 @ 650 MHz |
| MediaTek | MT6875, MT6883Z | Mali-G57 MC5 @ 900 MHz |
| MediaTek | MT6877/MT6877T | Mali-G68 MC4 @ 900 MHz |
| MediaTek | MT6885Z | Mali-G77 MC7 @ 695 MHz |
| MediaTek | MT6889 | Mali-G77 MC9 @ 850 MHz |
| MediaTek | MT6891/MT6893 | Mali-G77 MC9 @ 850 MHz |
| MediaTek | MT8192 | Mali-G57 MC5 GPU @ ??? MHz |
| MediaTek | Kompanio 838 | Mali-G57 MC3 |
| MediaTek | MT8195/MT8195T | Mali-G57 MC5 GPU @ ??? MHz |
| MediaTek | MT8791 | Mali-G68 MP4 GPU @ 900 MHz |
| MediaTek | MT8797 | Mali-G77 MP9 @ 850 MHz |
| MediaTek | MT6886 | Mali-G610 MC4 @ 1.13 GHz |
| MediaTek | MT6878 | Mali-G615 MC2 @ 1.05 GHz |
| MediaTek | MT6895/MT6895Z/MT6896 | Mali-G610 MC6 @ 700/860/950 MHz |
| MediaTek | MT6897 | Mali-G615 MC6 @ 1400 MHz |
| MediaTek | MT6899 | Mali-G720 MC7 @ 1300 MHz |
| MediaTek | MT6983 | Mali-G710 MP10 @ 848/950 MHz |
| MediaTek | MT6985 | Immortalis-G715 MP11 @ 981/1150 MHz |
| MediaTek | MT6989 | Immortalis-G720 MP12 @ 1.3 GHz |
| MediaTek | Dimensity 9400 | Immortalis-G925 MP12 |
| MediaTek | MT6993 | Mali-G1 Ultra MC12 @ 1716 MHz |
| NetLogic | Au1380, Au1350 | Mali-200 |
| Nufront | NS2816, NS2816M | Mali-400 MP |
| Nufront | NS115, TL7688, TL7689 | Mali-400 MP2 |
| NXP | i.MX95 | Mali-G310 MP1 |
| Realtek | RTD1294, RTD1295, RTD1296 | Mali-T820 MP3 |
| Realtek | RTD1395 | Mali-470 |
| Rockchip | RK2818 | Mali-200 |
| Rockchip | RK2926, RK2628, RK3036, RK3229 | Mali-400 MP @ 400/400/500/600 MHz |
| Rockchip | RK3026, RK3126, RK3128 | Mali-400 MP2 @ 500/600/600 MHz |
| Rockchip | RK3066, RK3188, RK3188T | Mali-400 MP4 @ 266/533/~400 MHz |
| Rockchip | RK3288 | Mali-T760 MP4 @ 600 MHz |
| Rockchip | RK3326 | Mali-G31 MP2 |
| Rockchip | RK3328 | Mali-450 MP2 |
| Rockchip | RK3399 | Mali-T860 MP4 @ 600 MHz |
| Rockchip | RK3566, RK3568 | Mali-G52 MC1 @ 800 MHz |
| Rockchip | RK3576 | Mali-G52 MC3 @ 1000 MHz |
| Rockchip | RK3588 | Mali-G610 MC4 @ 1000 MHz |
| Samsung | Exynos 3 Quad 3470 | Mali-400 MP4 @ 450 MHz |
| Samsung | Exynos 3 Quad 3475 | Mali-T720 @ 600 MHz |
| Samsung | Exynos 4 Dual 4210 | Mali-400 MP4 @ 266 MHz |
| Samsung | Exynos 4 Dual 4212 | Mali-400 MP4 @ 400 MHz |
| Samsung | Exynos 3 Quad 4412/4415 | Mali-400 MP4 @ 533 MHz |
| Samsung | Exynos 5 Dual 5250 | Mali-T604 MP4 @ 533 MHz |
| Samsung | Exynos 5 Hexa 5260 | Mali-T624 MP4 @ 600 MHz |
| Samsung | Exynos 5 Octa 5420/5422 | Mali-T628 MP6 @ 533 MHz |
| Samsung | Exynos 5 Octa 5430/5800 | Mali-T628 MP6 @ 600 MHz |
| Samsung | Exynos 5 Hexa 7872 | Mali-G71 MP1 @ 1200 MHz |
| Samsung | Exynos 7 Octa 5433/7410 | Mali-T760 MP6 @ 700 MHz |
| Samsung | Exynos 7 Octa 7420 | Mali-T760 MP8 @ 772 MHz |
| Samsung | Exynos 7 Quad 7570 | Mali-T720 MP1 @ 830 MHz |
| Samsung | Exynos 7 Octa 7578/7580 | Mali-T720 MP2 @ 668 MHz |
| Samsung | Exynos 7 Octa 7870 | Mali-T830 MP1 @ 700 MHz |
| Samsung | Exynos 7 Octa 7880 | Mali-T830 MP3 @ 950 MHz |
| Samsung | Exynos 7 Series 7884A | Mali-G71 MP2 @ 450 MHz |
| Samsung | Exynos 7 Series 7884 | Mali-G71 MP2 @ 676/845 MHz |
| Samsung | Exynos 7 Series 7885 | Mali-G71 MP2 @ 1100 MHz |
| Samsung | Exynos 7 Series 7904 | Mali-G71 MP2 @ 770 MHz |
| Samsung | Exynos 850 | Mali-G52 MP1 @ 1001 MHz |
| Samsung | Exynos 880 | Mali-G76 MP5 @ 546 MHz |
| Samsung | Exynos 8 Octa 8890 | Mali-T880 MP10 @650 MHz Mali-T880 MP12 @650 MHz |
| Samsung | Exynos 9 Octa 8895 | Mali-G71 MP20 @ 546 MHz |
| Samsung | Exynos 7 Series 9609 | Mali-G72 MP3 |
| Samsung | Exynos 7 Series 9610 | Mali-G72 MP3 @ 1053 MHz |
| Samsung | Exynos 7 Series 9611 | Mali-G72 MP3 @ 850 MHz |
| Samsung | Exynos 9 Series 9810 | Mali-G72 MP18 @ 572 MHz |
| Samsung | Exynos 9 Series 9820 | Mali-G76 MP12 @ 702 MHz |
| Samsung | Exynos 9 Series 9825 | Mali-G76 MP12 @ 754 MHz |
| Samsung | Exynos 9 Series 980 | Mali-G76 MP5 @ 728 MHz |
| Samsung | Exynos 9 Series 990 | Mali-G77 MP11 @ 832 MHz |
| Samsung | Exynos 1080 | Mali-G78 MP10 @ 800 MHz |
| Samsung | Exynos 1280 | Mali-G68 MP4 @ 897 MHz |
| Samsung | Exynos 1330 | Mali G68 MP2 @ 949 MHz |
| Samsung | Exynos 1380 | Mali-G68 MP5 @ 949 MHz |
| Samsung | Exynos 2100 | Mali-G78 MP14 @ 854 MHz |
| Samsung | S5P6450 Vega | Mali-400 MP |
| Sigma Designs | SMP8750 Series | Mali-400 MP4 @ 350 MHz |
| Socle-Tech | Leopard-6 | Mali-200 |
| Spreadtrum | SC68xx, SC57xx, SC77xx, SC8xxx, SC983x | Mali-400 MP Series |
| Spreadtrum | SC9860, SC9860GV | Mali-T880 MP4 |
| ST-Ericsson | NovaThor U9500, U8500, U5500 | Mali-400 MP |
| STMicroelectronics | SPEAr1340 | Mali-200 |
| STMicroelectronics | STi7108, STiH416 | Mali-400 MP |
| Telechips | TCC8803, TCC8902, TCC8900, TCC9201 | Mali-200 |
| WonderMedia | WM8750 | Mali-200 |
| WonderMedia | WM8850, WM8950 | Mali-400 MP |
| WonderMedia | WM8880, WM8980 | Mali-400 MP2 |
| WonderMedia | WM8860 | Mali-450 |
| Xiaomi | Surge S1 | Mali-T860 MP4 @ 800 MHz |
| Xiaomi | Surge S2 | Mali-G71 MP12 @ 900 MHz |
| Xiaomi | Xring O1 | Immortalis-G925 MP16 |