ARM Mali

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Mali (GPU))
Aller à : navigation, rechercher

L'architecture Mali est une famille de processeurs graphiques conçue pour les smartphones et les tablettes tactiles ; elle est développée par la société ARM pour les SoC basés sur l'architecture ARM et intégrée sous licence par différents fabricants de microélectronique. Elle a été développée par ARM Norway (anciennement Falanx) à Trondheim[réf. nécessaire].

On peut notamment retrouver ces processeurs graphiques dans certains SoC Exynos de Samsung, les A1X de AllWinner Technology, certains SoC WonderMedia de VIA, certains SoC AMLogic ou Rockchip, et notamment dans certains chipset Novathor de ST Microelectronics comme le U8500.

Pilotes[modifier | modifier le code]

OpenGL[modifier | modifier le code]

Le projet Lima driver a été créé en 2011 pour produire un pilote libre permettant d'accéder à ces processeurs.

De nombreux SoC ARM comportent cependant un GPU PowerVR ou plus rarement d'autres processeurs graphiques (Qualcomm Adreno, Vivante, Nvidia), qui possèdent tous des pilotes pour Linux, mais dont la partie 3D est propriétaire et à sources fermées.

L'API générique d'accès au GPU MALI compatible EXA/DRI2 libres à sources ouvertes (licences Apache et MIT) est disponible pour les Mali 200, 300, 400 et 600 sur la plateforme Linux[1], mais la partie la plus basse d'accès au processeur, dépendant du constructeur reste fermée.

D'autre part le pilote X11 est minimum et un projet alternatif a démontré qu'il est possible d’accélérer en moyenne 3 fois les performances des opérations 3D et jusqu'à 10 fois les opérations géométriques 2D en ajoutant la gestion de certains composant d'X11[2].

OpenCL[modifier | modifier le code]

Le Kit de développement OpenCL, appelé « Mali OpenCL SDK », est mis à disposition par ARM pour les GPU T600 et supérieur, il est compatible Linux et Microsoft Windows. Les sources sont disponibles, mais la licence propriétaire. Il faut une license d'ARM pour pouvoir redistribuer les sources[3].

Renderscript[modifier | modifier le code]

Google Android fournit une API Renderscript compatible avec les pilotes Mali T600 et supérieurs[4].

Les séries[modifier | modifier le code]

Mali-55[modifier | modifier le code]

Le Mali-55 supporte le calcul matériel des fragments et logiciel seulementdes vecteurs. Il est compatible avec OpenGL ES 1.1 et OpenVG 1.0 [5]

Série Mali-200[modifier | modifier le code]

La première série, Mali 200, utilisée dans des processeurs tels que le SoC Telechips TCC890x[6]. Le taux de remplissage est d'un pixel par cœurs et par cycle d'horloge avec toutefois une limitation lorsque le compteur de vecteurs est saturé, cela donne par exemple pour 1 cœur à 100MHz, 100Mpixels/s[7].

Série Mali-300[modifier | modifier le code]

La seconde série, Mali-300 ne semble pas avoir été intégrée dans des processeurs commercialisés.

Série Mali-4xx[modifier | modifier le code]

La troisième série, Mali-400 MP, premier processeur graphique mobile à proposer une architecture multi-cœur est proposée sur des processeurs plus haut de gamme, généralement, contenant un CPU Cortex A9, comme le ST-Ericsson U8500[8], comme les Samsung Exynos 4, les Amlogic 8726-M et 8726-MX ou les Rockchip RK3188, mais aussi sur des Soc contenant des Cortex A8 AllWinner A1X. Il peut être utilisé en version 1 à 4 cœurs et indépendamment à des fréquences de 200 à 400 MHz. Pour donner un ordre d'idée, un quadruple cœur à 200 MHz, supporte une vitesse de remplissage de 44 M.triangles/secondes et 800 Mpixels/secondes, conservant ainsi la vitesse de remplissage brut par cœur et cycle d'horloge des Mali 200.

Le Mali-450 MP offre une puissance deux fois supérieure par cœur à celle du Mali-400 MP pour le rendu d'OpenGL ES 2.0[9] et peut gérer jusqu'à 8 cœurs simultanés. La première implémentation est l'AMLogic AML8726-M8, un SoC fondu en 28 nm par TMSC, contenant 4 cœurs cortex A9 à 2 Ghz et 6 cœurs Mali-450 MP et qui devrait être disponible en série à partir du 3e trimestre 2013[10].

Série Mali-T6xx[modifier | modifier le code]

La série Mali-T600 est à destination des Cortex A15. Elle équipe notamment la série de Samsung Exynos 5. Le premier modèle a été le Mali-T604[11].

La série des Mali-T600 introduit le calcul flottant 64 bits. Construit sur une conception architecturale multicœur scalable et multi-pipeline et inclus de nombreuses fonctions avancées telles que[12] :

  • opération scalaire et vectorielle native pour les type de donnée flottantes et entières d'OpenCL (dont les 64 bits).
  • Support pour la compilation statique et dynamique
  • types de données d'image et d'échantillon pour l'accélération matérielle
  • opération atomiques rapides
  • compatibilité avec la précision requise par la norme IEEE754-2008
  • Support d'OpenGL ES 3.0[13]

La série Mali-T6XX apporte également les nouveautés suivantes[14]

  • 256+ thread par cœur au lieu de 128 sur les Mali-400 et deux pipes arithmétiques à faible latence.
  • Un pipeline avec les 3 principales taches unifiées.
  • L'anticrénelage par suréchantillonnage (MSAA) 4x maintient un taux de remplissage de 90 % et en 16x ne divise que par 4 le taux de remplissage
  • Une gestion de l'énergie améliorée, l'horloge d'un cœur est immédiatement et automatiquement arrêtée lorsque inutilisée et différentes fréquence possible pouvant être géré en automatique ou par le système et compatible avec le contrôle DVFS (Dynamic Voltage and Frequency Scaling).

ARM annonce le 2 août 2012 à Shanghai, rendre au groupe Khronos un test complet de conformité « OpenCL 1.1 Full Profile » pour les processeurs graphiques Mali-T604 afin d'en obtenir la certification[12]. Il s'agit du Full profile à l'intention des ordinateurs de calcul de bureau et non uniquement des applications mobiles ou embarquées (Embedded Profile), démontrant la volonté d'ARM de s'imposer dans tous les domaines.

La seconde génération, inclus les Mali-T622, Mali-T624, Mali-T628, Mali-T678?

Série Mali-T7xx[modifier | modifier le code]

La première génération des Mali-T7xx, présentée le 29 octobre 2013, est décliné sous deux modèles, tous deux compatibles OpenGL ES 3.0 et DirectX11[15] :

  • Mali-T720, destiné à remplacer les Mali-300 et Mali-400 MP, en y apportant le support OpenGL ES 3.0 et des performances 2 fois supérieures au Mali-400 MP. Il comporte 8 processeurs de shaders, ainsi que 2 MMU. Il sera notamment adapté au fonctionnement avec les processeurs ARM Cortex-A17 MPCore.
  • Le Mali-T760 double le nombre de processeurs de shaders des Mali-T604, en les passant de 8 à 16 et comporte une unité de tuillage avancé, permettant de calculer l'image en rectangle séparés et d'améliorer ainsi l'élimination des polygones inutiles (clipping) ou le traçage de surface n'ayant pas changé.

Modèles[modifier | modifier le code]

Voici la liste actuelle des modèles de cœurs Mali :

Nom Max
cœurs
GPU
Max taille L2 cache compatibilité API Architecture Référence
Mali-55 1 - OpenGL ES 1.1, OpenVG 1.0 - [5]
Mali-200 1 - OpenGL ES 1.1 & 2.0, OpenVG 1.1 Utgard[16] [17]
Mali-300 1 8 Kio OpenGL ES 1.1 & 2.0, OpenVG 1.1 [18]
Mali-400 MP 4 256 Kio OpenGL ES 1.1 & 2.0, OpenVG 1.1 [19]
Mali-450 MP 8 512 Kio OpenGL ES 1.1 et 2.0, OpenVG 1.1 [20]
Mali-T604 4 256 Kio OpenGL ES 1.1, 2.0 et 3.0[13], OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
Midgard
1re gén.
[21],[22]
Mali-T622 (gen2) 2 256 Kio par cœur OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
[23]
Mali-T624 (gen2) 4 256 Kio OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
Midgard
2e gén.
[24],[25]
Mali-T628 (gen2) 8 256 Kio OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
[26],[25]
Mali-T658 8 256 Kio OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
[27],[28]
Mali-T678 (gen2) 8 256 Kio OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
[29],[25]
Mali-T720 8 64 Kio à 256 Kio selon
le nombre de processeurs.
OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
Midgard
3e gén.
[30]
Mali-T760 16 256 Kio à 2 Mio (256 à
512 Kio partagé par
groupe de 4 cœurs)
OpenGL ES 1.1, 2.0 et 3.0, OpenVG 1.1,
OpenCL 1.1, DirectX 11, Renderscript
[31]

Implémentations[modifier | modifier le code]

Les variantes du GPU Mali peut être trouvé dans les SoC suivants :

Fabricant nom du SoC version de Mali
Telechips TCC8803, TCC8902, TCC8900, TCC9201 Mali-200[32],[33]
NetLogic Au1380, Au1350 Mali-200[34],[35]
Socle-Tech Leopard-6 Mali-200[36]
STMicroelectronics SPEAr1340 Mali-200[37]
Spreadtrum SC8810, SC6820 Mali[38]
AMLogic 8726-M, 8726-MX Mali-400 MP1/MP2 (1 ou 2 cœurs 400 Mhz)[33]
Allwinner A10, A13 Mali-400 MP1 (1 cœur à 300~400MHz) [33]
Allwinner A20 Mali-400 MP2 (2 cœurs)
NuFront NuSmart 2816 Mali-400 MP
Rockchip RK3188 Mali-400 MP4 (4 cœurs)[39]
MediaTek MT6572 Mali-400 MP (1 cœur)[40]
Samsung Exynos 4210, 4212, 4412 Mali-400 MP4 (4 cœurs)[41]
Samsung S5P6450 Vega Mali-400 MP[42]
ST-Ericsson NovaThor U9500, U8500, U5500 Mali-400 MP[43]
STMicroelectronics STi7108, STiH416 Mali-400 MP[44],[45]
WonderMedia Prizm WM8850, WM8950 Mali-400 MP[46]
WonderMedia Prizm WM8880, WM8980 Mali-400 MP2
WonderMedia Prizm WM8860 Mali-450 MP
AMLogic AML8726-M8 Mali-450 MP6 (6 cœurs)[47]
Samsung Exynos 5250, 5440 Mali-T604 MP[48]
Samsung Exynos 5260 Mali-T624 MP[49]
Samsung Exynos 5420 Mali-T628 MP6 (6 cœurs)[50]
HiSilicon K3V3 Mali-T658
Rockchip RK3288 Mali-T764 MP8 (8 cœurs)[51]
MediaTek MT6732 Mali-T760[52]

Références[modifier | modifier le code]

  1. (en) Open Source Mali GPUs Linux EXA/DRI2 And X11 Display Drivers sur malideveloper.com
  2. (en) New xf86-video-sunxifb DDX driver for Xorg
  3. Mali OpenCL SDK
  4. (en) RenderScript
  5. a et b (en) 55 3D Graphics Core Technical Reference Manual
  6. (en) TCC8900 development board
  7. Lima driver - Hardware
  8. (en) MOP500 development board
  9. (en) Mali-450 MP sur le site d'ARM
  10. http://www.cnx-software.com/2013/04/28/amlogic-to-unveil-4-core-cortex-a9-aml8726-m8-soc-with-8-core-mali-gpu/
  11. (en) Mali-T604 sur ARM
  12. a et b (en)(zh) ARM引领图形处理器计算潮流,有效提升系统性能与能效 le 2 août 2011
  13. a et b Khronos G–roup Conformant Products
  14. [1]
  15. (en) ARM unveils Mali-T760, Mali-T720 graphics
  16. Mali Graphics Webpage; Arm Holdings.
  17. (en)(ja)(zh-CN)Mali-200 Webpage; Arm Holdings.
  18. (en)(ja)(zh-CN)Mali-300 Webpage; Arm Holdings.
  19. (en)(ja)(zh-CN)Mali-400 Webpage; Arm Holdings.
  20. (en)(ja)(zh-CN)Mali-450 Webpage; Arm Holdings.
  21. (en)(ja)(zh-CN)Mali-T604 Webpage; Arm Holdings.
  22. (en)Khronos Group OpenGL and OpenGL ES Taiwan Feb 2012
  23. (en)(ja)(zh-CN)Mali-T624
  24. (en)(ja)(zh-CN)Mali-T624
  25. a, b et c (en)(ja)(zh)ARM Launches Second Generation of MALI-T600 Graphics Processors Driving Improved User Experience for Tablets, Smartphones and Smart-TVs, le 6 août 2012, sur le blog d'ARM
  26. (en)(ja)(zh-CN)Mali-T628
  27. (en)(ja)(zh-CN)Mali-T658 Webpage; Arm Holdings.
  28. 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] (PDF)
  29. (en)(ja)(zh-CN)Mali-T678
  30. http://www.arm.com/zh/products/multimedia/mali-mid-range-graphics/mali-t720.php
  31. http://www.arm.com/zh/products/multimedia/mali-high-end-graphics/mali-t760.php
  32. (en)2010, ARM Limited: TCC8900 development board
  33. a, b et c (en)Limadriver.org: Hardware
  34. (en)NetLogic Au1300
  35. (en)RMI Au1300 Press release
  36. (en)Socle Leopard-6 SoC
  37. (en)STMicro SPEAr1340
  38. (en)Spreadtrum SC8819 SC6820 Press release
  39. (en)(ja)(zh)Rockchip Licenses a Wide Range of ARM IP for Turnkey Solution Targeting Mass Market, Cost-Effective Android Tablets sur ARM.com
  40. Mediatek Announces MTK6572 Dual Core Cortex A7 SoC For Entry-Level Smartphones sur cnx-software.com
  41. (en)ARM Powered Smartphone Sets New Graphics Benchmark sur le Blog d'ARM
  42. (en)Hardkernel ODROID-E7 development board
  43. (en)ST-Ericsson NovaThor product page
  44. STMicro STi7108 Press release
  45. STMicro STiH416 Press release
  46. (zh)WonderMedia Prizm WM8950 Press release
  47. (en)AMLogic To Unveil 4 Core Cortex A9 AML8726-M8 SoC with 8 Core Mali GPU
  48. (en)Samsung Updates Exynos 5 Octa (5420), Switches Back to ARM GPU le 22 juillet 3013 sur Anandtech.com.
  49. (en) « Samsung Galaxy Note 3 Neo » (consulté en 2014-02-03)
  50. (en)Exynos 5 Octa series specifications.
  51. ARM Unveils Cortex A17 Processor, First Used in Mediatek MT6595 and Rockchip RK3288 SoCs sur cnx-software.com
  52. « MediaTek introduces MT6732 64-bit processor »

Liens externes[modifier | modifier le code]