All Mali GPU architectures are based on the principle of tile-based rendering, a technique designed to improve system-wide energy efficiency by minimizing the external DDR memory bandwidth needed for framebuffer access. The key principles of the Mali GPU tile-based rendering approach are:
- All primitives are vertex shaded and assigned to screen-space tiles based on pixel coverage.
- Fragment shading renders into an intermediate tile-buffer stored in a local memory that is tightly coupled to each shader core, and only written back to main memory at the end of rendering for that screen region. All frame buffer accesses during shading, such as depth testing or alpha blending, are energy efficient accesses made to this local memory instead of external DDR.
- The use of local memory for intermediate storage enables energy efficient blending, zero bandwidth transient attachments, and almost free 4x multi-sample anti-aliasing.
Over time the Mali GPU architecture has evolved with new features to meet the needs of the latest standard APIs — such as OpenGL ES, OpenCL and Vulkan — and to provide further improvements in area efficiency and energy efficiency.
The Mali GPU architectures provide a configurable set of graphics and GPU compute IP, allowing a silicon implementor to select the shader core count and level two cache size. This configurability allows each implementation to find the appropriate balance of performance, power, and silicon area that meets its requirements.
Mali GPU Architectures
The Bifrost architecture – implemented by the Mali-G3x, Mali-G5x, and Mali-G7x series of products, is the successor to the Midgard architecture. The main design goal of the Bifrost architecture is to improve energy efficiency and area efficiency. The application-visible feature set is very similar to the Midgard architecture; with minor feature additions needed to support Vulkan 1.1 and OpenCL 2.0.
The Midgard architecture – implemented by the Mali-T6xx, Mali-T7xx, and Mali-T8xx series of products, is a unified shader core architecture which was first released with support for OpenGL ES 3.0 and OpenCL 1.1, but the later GPUs in the family also support OpenGL ES 3.2 and Vulkan APIs when paired with newer driver releases.
The Utgard architecture – implemented by the Mali-2xx, Mali-3xx, and Mali-4xx series products, is the most successful GPU architecture in history based on total volume shipment. It was the first programmable shader core architecture developed by Arm, supporting an OpenGL ES 2.0 feature set using a pair of very energy and area efficient shader core designs: one dedicated vertex processor, and one dedicated fragment processor.