1. Architecture
2. Development process
3. Mali GPU Linux kernel device driver
The Linux version of the Mali GPU DDK contains the following three components running in the kernel:
1) device driver:
It is the most important component that provides low-level access to the Mali-200 or Mali-400 GPU. Its main functions are as follows:
? access to the Mali GPU hardware
? Interrupt handling
? Low-level memory management
2) Unified memory Provider (UMP):
It is important for auxiliary components to be used in a variety of ways to implement 0 copy operations in the driver stack.
Access the allocated UMP memory through the security ID. This allows the sharing of memory between different applications, drivers, and hardware components for 0 copy operations
? Set the physical address information required for the MMU or MPU table
The method of mapping UMP memory to the CPU address space for Read and write
3) Mali Direct Render Manager (DRM):
It integrates the Mali GPU DDK into the X11 environment and enables the direct rendering interface (DRI2).
4. Mali GPU Composition4.1 utgard Architecture (mali-x00, support 1.1/2.0)
The Mali GPU can contain the following components:
? Vertex processor (Vertex processor)
? Pixel Processor (Fragment processors)
? Memory Management Unit Memory Management Units (MMUs)
? Power Management Unit Power Management Unit (PMU)
? L2 caching (L2 cache)
4.2 Midgard Architecture (mali-t6xx/support 1.1/2.0/3.0)
The Mali GPU contains the following components:
? Shader Cores: Handles the process of vertex processing, pixel processing, rasterization, etc. of the graphics pipeline, and finally produces the framebuffer results displayed on the screen.
? Memory Management Units.
? L2 Cache.
? Hierarchical Tiler.
5. OpenGL ES Graphics Management
6. Communication between the application and the shader program
Introduction to ARM GPU architecture