Mali (GPU)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The Mali series of graphics processing units (GPUs) are semiconductor intellectual property cores produced by ARM Holdings for licensing in various ASIC designs by ARM partners.

This line of GPUs was a result of ARM Holdings acquisition of Falanx Microsystems A/S June 23, 2006.[1]

Technical details

Like other embedded IP cores for 3D rendering acceleration, the Mali GPU does not include display controllers driving monitors (such as the combination often found in common video cards). Instead the Mali ARM core is a pure 3D engine that renders graphics into memory and hands the rendered image over to another core that handles the display.

ARM does, however, license display controller SIP cores independently of the Mali 3D accelerator SIP block, e.g. Mali DP500, DP550 and DP650.[2]

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.[3]

Variants

The Mali core grew out of the cores previously produced by Falanx and currently constitute:

Model Micro-
archi-
tecture
Launch date Shader core count Fab (nm) Die size (mm2) Core clock rate (MHz) Max L2 cache size Fillrate Bus width (bits) GFLOPS
(per core)
API (version) Fused
multiply–
add
Usage in SoCs HSA/
Zero-
copy
Usage
M△/s (GP/s) Vulkan Open
GL/ES
Open
VG
Open
CL
Direct
3D
Mali-55 ? ? 1 ? ? ? N/A ? ? ? ? N/A 1.1 1.0 N/A N/A No  ?  ? Graphics
Mali-200 Utgard[4] 2007[5] 1 ? ? ? N/A ? ? ? ? 2.0 1.1
Mali-300 ? 1 40
28
? 500 8 KiB 55 0.5 ? 5 K1892VM14Ya
Mali-400 MP 2008 1–4 40
28
? 200–600 256 KiB 55 0.5 ? 1.2–5.4 Allwinner A10, A20, A33, H3, A64
Mali-450 MP 2012 1–8 40
28
? 300–750 512 KiB 142 2.6 ? 4.5–11.9 Amlogic S805, S802, S812, S905

Allwinner H5

Mali-470 MP 2015 1–4 40
28
? 250–650 8–256 KiB 71 0.65 ? ?  ?
Mali-T604[6] Midgard 1st gen ? 1–4 32
28
? 533 32–256 KiB 90 0.533 ? 17 3.1 Full Profile 1.1 DirectX 11,
feature level 9_3
Yes Exynos 5250 Graphics
& Compute
Mali-T658[6] ? 1–8 ? ? ? ? ? ? ?
Mali-T622 Midgard 2nd gen ? 1–2 32
28
? 533 ? ? ? 8.5
Mali-T624 Aug 2012 1–4 32
28
? 533–600 ? ? ? 17-19.2 RK3288
Mali-T628 Aug 2012 1–8 32
28
? 533–695 ? ? ? 17–23.7 Kirin 930/935
Mali-T678[7] Aug 2012 1–8 28 ? ? ? ? ? ?
Mali-T720 Midgard 3rd gen Oct 2013 1–8 28 ? 400–700 32–256 KiB[8] 650 5.2 ? 6.8–11.9 Exynos 7580, MT6735, MT6753
Mali-T760 Oct 2013 1–16 28 / 14 1.75 mm 2 per shader core at 14 nm[9] 600–772 256–2048 KiB[10] 1300 10.4 ? 17–26.2 1.0[11] 3.2[12] Direct3D 11.1,
feature level 11_1[13]
Exynos 7420, Exynos 5433, MT6752, MT6732
Mali-T820 Midgard 4th gen Q4 2015 1–4 28 ? 600 32–256 KiB[10] 400 2.6 ? 10.2 Full Profile 1.2 Direct3D 11.1,
feature level 9_3
Amlogic S912
Mali-T830 28 ? 600–950 32–256 KiB[10] 400 2.6 ? 20.4–23.8 Kirin 650/655, Exynos 7870, Exynos 7880
Mali-T860 1–16 28 ? 350–700 256–2048 KiB[10] 1300 10.4 ? 11.9–23.8 Direct3D 11.2,
feature level 11_1
Helio P10 (MT6755) / PineCone Surge S1
Mali-T880 Q2 2016 1–16 16 ? 650–1000 256–2048 KiB[10] 1700 13.6 ? 22.1–34 Direct3D 11.2,
feature level 11_1
Exynos 8890, Helio X20 (MT6797), Kirin 950
Mali-G51[14] Bifrost Q4 2016 ? 16
14
10
? ? ? ? ? ? ? Full Profile 2.0 ?
Mali-G71 1–32 16
14
10
? 700-1037 256–2048 KiB 850 27.2 ? ? Direct3D 11.0,
feature level 11_2
Kirin 960

Exynos 8895

Model Micro-
archi-
tecture
Launch date Shader core count Fab

(nm)

Die size (mm2) Core clock rate (MHz) Max L2 cache size Fillrate Bus width (bits) GFLOPS
(per core)
Vulkan Open
GL/ES
Open
VG
Open
CL
Direct
3D
Fused multiply-add Usage in SoCs HSA/
Zero-
copy
Usage

Some Malis support cache coherency for the L2 cache with the CPU.[15][16]

Adaptive Scalable Texture Compression (ASTC) supported by Mali™-T620, Mali-T720, Mali-T760, Mali-T820/T830, Mali-T860/T880 and Mali-G71.[17]

Implementations

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[18][19][20] @ 300 MHz
A20, A23, A33, H2, H3, A64, H64, R8, R16, R40, R18 Mali-400 MP2[21] @ 350/350/350/600/600/?/?/?/?/?/? MHz
H5 Mali-450 MP4
Amlogic 8726-M series (8726-M1, 8726-M3, 8726-M6, 8726-MX) Mali-400 MP/MP2[22] @ 250/400 MHz
8726-M8 series (M801, M802, S801, S802, S812) Mali-450 MP6[22] @ 600 MHz
8726-M8B series (M805, S805) Mali-450 MP2[22] @ 500 MHz
S905, S905X/D/L Mali-450 MP3 @ 750 MHz
S912 Mali-T820 MP3 @ 600 MHz
T966 Mali-T830 MP2 @ 650 MHz
CSR Quatro 5300 Series Mali-400 MP
InfoTM iMAP×15 Mali-400
iMAP×820 Mali-400 MP2
iMAP×912 Mali-400 MP2
HiSilicon Kirin 620 Mali-450 MP4 @ 533 MHz
Kirin 650/655 Mali-T830 MP2 @ 900 MHz
Kirin 910/910T Mali-450 MP4 @ 533/700 MHz
Kirin 920/925/928 Mali-T628 MP4 @ 600/600/? MHz
Kirin 930/935 Mali-T628 MP4 @ 600/680 MHz
Kirin 950/955 Mali-T880 MP4 @ 900 MHz
Kirin 960 Mali-G71 MP8 @ 1037 MHz
Leadcore LC1810, LC1811, LC1813, LC1913 Mali-400[23][24][25][26]
LC1860, LC1860C, LC1960 Mali-T628 MP2 @ 600 MHz
MediaTek MT6571, MT6572, MT6572M Mali-400 MP @ ?/500/400 MHz
MT6582/MT6582M Mali-400 MP2 @ 500/416 MHz
MT6591, MT6592, MT6592M, MT8127 Mali-450 MP4 @ 600/700/600/600 MHz[27]
MT6732, MT6732M, MT6752, MT6752M Mali-T760 MP2 @ 500/500/700/700 MHz[28]
MT6753 Mali-T720 MP4 @ 600 (Boost) MHz[29]
MT6797, MT6797T Mali-T880 MP4 @ 700/850 MHz
MT8735 Mali-T720 MP2 @ 450 MHz
NetLogic Au1380, Au1350 Mali-200[30][31]
Nufront NS2816, NS2816M Mali-400 MP
NS115, TL7688, TL7689 Mali-400 MP2
Rockchip RK2818 Mali-200
RK2926, RK2628, RK3036, RK3229 Mali-400 MP @ 400/400/500/600 MHz[32]
RK3026, RK3126, RK3128 Mali-400 MP2 @ 500/600/600 MHz
RK3066, RK3188, RK3188T Mali-400 MP4 @ 266/533/~400 MHz[33][34]
RK3288 Mali-T760 MP4 @ 600 MHz
RK3328 Mali-450 MP2
RK3399 Mali-T860 MP4 @ 600 MHz
Samsung Exynos 3 Quad (3470), Exynos 4 Dual, Quad (4210, 4212 and 4412) Mali-400 MP4[35]
Exynos 5 Dual (5250) Mali-T604 MP4[36]
Exynos 5 Hexa (5260) Mali-T624 MP3
Exynos 5 Octa (5420, 5422, 5430 and 5800) Mali-T628 MP6
Exynos 7 Octa (5433/7410) Mali-T760 MP6
Exynos 7 Octa (7420) Mali-T760 MP8
Exynos 8 Octa (8890) Mali-T880 MP12
Exynos 9 Octa (8895) Mali-G71 MP20[37]
S5P6450 Vega Mali-400 MP[38]
Sigma Designs SMP8750 Series Mali-400 MP4 @ 350 MHz[39]
Socle-Tech Leopard-6 Mali-200[40]
Spreadtrum SC68xx, SC57xx, SC77xx, SC8xxx, SC983x Mali-400 MP Series[41]
SC9860, SC9860GV Mali-T880 MP4
ST-Ericsson NovaThor U9500, U8500, U5500 Mali-400 MP[42]
STMicroelectronics SPEAr1340 Mali-200[43]
STi7108, STiH416 Mali-400 MP[44][45]
Telechips TCC8803, TCC8902, TCC8900, TCC9201 Mali-200[22][46]
WonderMedia WM8750 Mali-200
WM8850, WM8950 Mali-400 MP[47]
WM8880, WM8980 Mali-400 MP2
WM8860 Mali-450

Mali Video

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.

V500

The first version of a Mali Video processor was the V500, released in 2013 with the Mali-T622 GPU.[48] 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.

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.[49] The V550 also included technology improvements to better handle latency and save bandwidth.[50] 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.

V61

The Mali V61 video processor (formerly named Egil) was released with the Mali Bifrost GPU in 2016.[51][52] 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.[53] The design continues the 1–8 variable core number design, with a single core supporting 1080p60 while 8 cores can drive 4Kp120.

The Lima FOSS driver

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

On January 21, 2012, Phoronix reported that Luc Verhaegen is driving a reverse-engineering attempt aimed at the Mali series of GPUs, specifically the Mali 200 and Mali 400 versions. The project will be known as Lima and support OpenGL ES 2.0.[54] The reverse-engineering project was presented at FOSDEM, February 4, 2012,[55][56] 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.[57]

See also

  • Adreno – GPU developed by Qualcomm (formerly AMD, then Freescale)
  • PowerVR – by Imagination Technologies
  • Vivante – available as SIP block to third parties
  • Tegra – family of SoCs for mobile computers, the graphics core could be available as SIP block to third parties
  • VideoCore – family of SOCs, by Broadcom, for mobile computers, the graphics core could be available as SIP block to third parties.
  • Atom family of SoCs – with Intel graphics core, not licensed to third parties
  • AMD mobile APUs – with AMD graphics core, not licensed to third parties

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. https://lwn.net/Articles/667575/
  4. Mali Graphics Webpage; Arm Holdings.
  5. http://www.anandtech.com/show/8234/arms-mali-midgard-architecture-explored/2
  6. 6.0 6.1 http://www.khronos.org/assets/uploads/developers/library/2012-pan-pacific-road-show/OpenGL-and-OpenGL-ES-Taiwan_Feb-2012.pdf Khronos Group OpenGL and OpenGL ES Taiwan Feb 2012
  7. AnandTech | ARM Announces 8-core 2nd Gen Mali-T600 GPUs
  8. depending on number of GPU shader core groups
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 10.2 10.3 10.4 depending on number of shader core groups
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Supported as of June 2016 with r12p0 userspace driver
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. http://www.heterogeneouscompute.org/hipeac2011Presentations/OpenCL-Midgard.pdf Midgard OpenCL Cache coherency
  16. http://www.chipdesignmag.com/pallab/2011/06/30/arm-mali-gpu-unifying-graphics-across-platforms/ Heterogeneous Computing
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. 22.0 22.1 22.2 22.3 Limadriver.org: Hardware
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Mediatek MT8127
  28. http://www.notebookcheck.net/ARM-Mali-T760-MP2.146753.0.html
  29. http://www.notebookcheck.net/ARM-Mali-T720-MP4.150999.0.html
  30. NetLogic Au1300
  31. RMI Au1300 Press release
  32. Filla Sapphire 7 Product Specification
  33. Rockchip Licenses a Wide Range of ARM IP for Turnkey Solution Targeting Mass Market, Cost-Effective Android Tablets
  34. http://sg.finance.yahoo.com/news/28nm-quad-core-era-rk3188-144500035.html
  35. (English) ARM Powered Smartphone Sets New Graphics Benchmark on ARM blog
  36. Samsung Confirms Mali is in the Exynos 5250 Processor - ARM Community
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Hardkernel ODROID-E7 development board
  39. Sigma Designs announces HEVC capable SMP8750 family
  40. Socle Leopard-6 SoC
  41. Spreadtrum SC8819
  42. ST-Ericsson NovaThor product page
  43. STMicro SPEAr1340
  44. STMicro STi7108 Press release
  45. STMicro STiH416 Press release
  46. 2010, ARM Limited: TCC8900 development board
  47. WonderMedia Prizm WM8950 Press release
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Phoronix, Jan 27 2012: Announcing The Lima Open-Source GPU Driver
  55. Phoronix, Jan 21 2012: An Open-Source, Reverse-Engineered Mali GPU Driver
  56. FOSDEM schedule, Jan 21 2012: Liberating ARM's Mali GPU
  57. Quake 3 Arena timedemo on top of the lima driver!

External links