Mali (processor)

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. 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.

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 (discrete pixel and vertex shaders).

Midgard 1st gen
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.

Midgard 2nd gen
On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU. Midgard 2nd gen introduced Forward Pixel Kill.

Midgard 3rd gen
On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.

Midgard 4th gen
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 Gen
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 claim the Mali-G71 has 40% more performance density and 20% better energy efficiency than the Mali-T880

Bifrost 2nd gen
On May 29, 2017, Arm announced their Bifrost 2nd gen GPU Architecture, including the Mali-G72 GPU. New microarchitectural features include:


 * Arithmetic optimizations and increased caches
 * Up to 32 cores for the Mali-G72, with 128KB – 2MB L2 cache
 * Arm claim the Mali-G72 has 20% more performance density and 25% better energy efficiency than the Mali-G71

Bifrost 3rd Gen
On May 31, 2018, Arm announced their Bifrost 3rd gen GPU Architecture, including the Mali-G76 GPU. New microarchitectural features include:


 * 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 claim the Mali-G76 has 30% more performance density and 30% better energy efficiency than the Mali-G72

Valhall 1st Gen
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 claim the Mali-G77 has 30% more performance density and 30% better energy efficiency than the Mali-G76

Valhall 2nd Gen
On May 26, 2020, Arm announced their Valhall 2nd Gen GPU Architecture, including the Mali-G78. New microarchitectural features include:


 * 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 claim the Mali-G78 has 15% more performance density and 10% better energy efficiency than the Mali-G77

Valhall 3rd Gen
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:


 * 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 claim the Mali-G710 has 20% more performance density and 20% better energy efficiency than the Mali-G78

Valhall 4th Gen
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:


 * Ray Tracing support (hardware-based)
 * Variable Rate Shading
 * New Execution Engine, with doubled the FMA block, Matrix Multiply instruction support, and PPA improvements
 * Arm Fixed Rate Compression (AFRC)
 * Arm claim the Immortalis-G715 has 15% more performance & 15% better energy efficiency than the Mali-G710

5th Gen
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. New microarchitectural features include:


 * Deferred vertex shading (DVS) pipeline
 * Arm claim the Immortalis-G720 has 15% more performance and uses up to 40% less memory bandwidth than the Immortalis-G715

Technical details
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.

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 (or just some chips?) support cache coherency for the L2 cache with the CPU.

Adaptive Scalable Texture Compression (ASTC) 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 (SoCs):

Mali video processors
Mali Video is the name given to ARM Holdings' dedicated video decoding and video encoding ASIC. There are multiple versions implementing a number of video codecs, such as HEVC, VP9, H.264 and VP8. As with all ARM products, the Mali video processor is a semiconductor intellectual property core licensed to third parties for inclusion in their chips. Real time encode-decode capability is central to videotelephony. An interface to ARM's TrustZone technology is also built-in to enable digital rights management of copyrighted material.

Mali-V500
The first version of a Mali Video processor was the V500, released in 2013 with the Mali-T622 GPU. The V500 is a multicore design, sporting 1–8 cores, with support for H.264 and a protected video path using ARM TrustZone. The 8 core version is sufficient for 4K video decode at 120 frames per second (fps). The V500 can encode VP8 and H.264, and decode H.264, H.263, MPEG4, MPEG2, VC-1/WMV, Real, VP8.

Mali-V550
Released with the Mali-T800 GPU, ARM V550 video processors added both encode and decode HEVC support, 10-bit color depth, and technologies to further reduced power consumption. The V550 also included technology improvements to better handle latency and save bandwidth. Again built around the idea of a scalable number of cores (1–8) the V550 could support between 1080p60 (1 core) to 4K120 (8 cores). The V550 supported HEVC Main, H.264, VP8, JPEG encode, and HEVC Main 10, HEVC Main, H.264, H.263, MPEG4, MPEG2, VC-1/WMV, Real, VP8, JPEG decode.

Mali-V61
The Mali V61 video processor (formerly named Egil) was released with the Mali Bifrost GPU in 2016. V61 has been designed to improve video encoding, in particular HEVC and VP9, and to allow for encoding either a single or multiple streams simultaneously. The design continues the 1–8 variable core number design, with a single core supporting 1080p60 while 8 cores can drive 4Kp120. It can decode and encode VP9 10-bit, VP9 8-bit, HEVC Main 10, HEVC Main, H.264, VP8, JPEG and decode only MPEG4, MPEG2, VC-1/WMV, Real, H.263.

Mali-V52
The Mali V52 video processor was released with the Mali G52 and G31 GPUs in March 2018. The processor is intended to support 4K (including HDR) video on mainstream devices.

The platform is scalable from 1 to 4 cores and doubles the decode performance relative to V61. It also adds High 10 H.264 encode (Level 5.0) and decode (Level 5.1) capabilities, as well as AVS Part 2 (Jizhun) and Part 16 (AVS+, Guangdian) decode capability for YUV420.

Mali-V76
The Mali V76 video processor was released with the Mali G76 GPU and Cortex-A76 CPU in 2018. The V76 was designed to improve video encoding and decoding performance. The design continues the 2–8 variable core number design, with 8 cores capable of 8Kp60 decoding and 8Kp30 encoding. It claims improves HEVC encode quality by 25% relative to Mali-V61 at launch. The AV1 codec is not supported.

Mali-V77
The Mali V77 video processor was released with the Mali G77 GPU and Cortex-A77 CPU in 2019.

Mali-D71
The Mali-D71 added Arm Framebuffer Compression (AFBC) 1.2 encoder, support for ARM CoreLink MMU-600 and Assertive Display 5. Assertive Display 5 has support for HDR10 and hybrid log–gamma (HLG).

Mali-D77
The Mali-D77 added features including asynchronous timewarp (ATW), lens distortion correction (LDC), and chromatic aberration correction (CAC). The Mali-D77 is also capable of 3K (2880x1440) @ 120 Hz and 4K @ 90 Hz.

Mali-C71
On April 25, 2017 the Mali-C71 was announced, ARM's first image signal processor (ISP).

Mali-C52 and Mali-C32
On January 3, 2019 the Mali-C52 and C32 were announced, aimed at everyday devices including drones, smart home assistants and security, and internet protocol (IP) camera.

Mali-C71AE
On September 29, 2020 the Mali-C71AE image signal processor was introduced, alongside the Cortex-A78AE CPU and Mali-G78AE GPU. It supports up to 4 real-time cameras or up to 16 virtual cameras with a maximum resolution of 4096 x 4096 each.

Mali-C55
On June 8, 2022 the Mali-C55 ISP was introduced as successor to the C52. It is the smallest and most configurable image signal processor from Arm, and support up to 8 camera with a max resolution of 48 megapixel each. Arm claims improved tone mapping and spatial noise reduction compared to the C52. Multiple C55 ISPs can be combined to support higher than 48 megapixel resolutions.

The Lima, Panfrost and Panthor FOSS drivers
On January 21, 2012, Phoronix reported that Luc Verhaegen was driving a reverse-engineering attempt aimed at the Mali series of GPUs, specifically the Mali 200 and Mali 400 versions. The project was known as Lima and targeted support for OpenGL ES 2.0. The reverse-engineering project was presented at FOSDEM, February 4, 2012, followed by the opening of a website demonstrating some renders. On February 2, 2013, Verhaegen demonstrated Quake III Arena in timedemo mode, running on top of the Lima driver. In May 2018, a Lima developer posted the driver for inclusion in the Linux kernel. In May 2019, the Lima driver became part of the mainline Linux kernel. The Mesa userspace counterpart was merged at the same time. It currently supports OpenGL ES 1.1, 2.0 and parts of Desktop OpenGL 2.1, and the fallback emulation in MESA provides full support for graphical desktop environments.

Panfrost is a reverse-engineered driver effort for Mali Txxx (Midgard) and Gxx (Bifrost) GPUs. Introducing Panfrost talk was presented at X.Org Developer's Conference 2018. As of May 2019, the Panfrost driver is part of the mainline Linux kernel. and MESA. Panfrost supports OpenGL ES 2.0, 3.0 and 3.1, as well as OpenGL 3.1.

Later Collabora has developed panthor driver for G310, G510, G710 GPUs.