Mali- arkitekturen er en familie af grafikprocessorer designet til smartphones og touch-tablets ; det er udviklet af ARM- firmaet til SoC'er baseret på ARM-arkitekturen og integreret under licens af forskellige producenter af mikroelektronik . Det blev udviklet af ARM Norge (tidligere Falanx) i Trondheim . Arkitekturerne har skandinaviske navne (Utgard, Midgard, Bifrost og Valhall).
Disse grafikprocessorer kan især findes i visse Exynos SoC'er fra Samsung , A1X'er fra Allwinner Technology , visse WonderMedia SoC'er fra VIA , visse Amlogic eller Rockchip SoC'er , og især i visse Novathor chipsæt fra STMicroelectronics såsom U8500 .
Den Lima driver projektet blev oprettet i 2011 for at producere en fri driver giver adgang til Mali-200 og Mali-400 generationer af Udgård arkitektur, så det blev opgivet mellem 2012 og 2013. Det har været aktiv igen sidenjuni 2017 og er integreret i Mesa siden version 19, og DRM-delen i Linux siden version 5.2.
Projektet, Panfrost, sigter mod at støtte Midgard (Txxx) og Bifrost (Gxx) versioner af disse GPU'er. Fordi det er baseret på Gallium, oversættes nogle OpenGL-desktopfunktioner automatisk til OpenGL ES-funktioner, så desktop-applikationer kan køre på Midgard-arkitektur, hvilket ikke er tilfældet med den proprietære driver. Det er også integreret i de stabile versioner af Mesa siden version 19, og DRM-delen i Linux siden version 5.2. Det understøtter et stort antal fulde OpenGL-funktioner (ikke kun ES) uden at nå OpenGL 3.0 inseptember 2019.
Imidlertid inkluderer mange ARM SoC'er en PowerVR GPU eller mere sjældent andre grafikprocessorer ( Adreno fra Qualcomm , Vivante , Nvidia og VideoCore fra Broadcom ), som alle har drivere til Linux. 3D-drivere er til stede i Mesa for Adreno (Freedreno), Vivante (Etnaviv) og VideoCore (vc4 og vc5) samt nvidia ( Ny ).
Den generiske MALI GPU-adgangs-API, der er kompatibel med gratis EXA / DRI2- åbne kilder ( Apache- og MIT- licenser ), er tilgængelig til Mali 200, 300, 400 og 600 på Linux-platformen, men den laveste adgangsdel til processoren afhængigt af producenten forbliver lukket.
På den anden side er X11-driveren minimal, og et alternativt projekt har vist, at det er muligt at accelerere i gennemsnit 3 gange udførelsen af 3D-operationer og op til 10 gange de geometriske 2D-operationer ved at tilføje styringen af visse komponenter i 'X11 .
Selvom den officielle ARM-driver ikke understøtter OpenGL, gør de gratis licenserede drivere til Linux, Lima og Panfrost dog (se OpenGL ES-afsnittet ovenfor).
Den OpenCL Development Kit , kaldet " Mali OpenCL SDK ", stilles til rådighed af ARM til GPU'er T600 og derover, det er foreneligt med Linux og Microsoft Windows. Kilderne er tilgængelige, men den proprietære licens. En ARM-licens er påkrævet for at kunne omfordele kilder.
Google Android tilbyder en Renderscript API, der er kompatibel med Mali T600 og højere drivere.
Mali-T760 og højere processorer i Midgard-arkitekturen såvel som hele Bifrost-arkitekturen har funktioner, der er kompatible med Vulkan 1.0 API . Driverne skal arbejde i brugerrum til Android 7.0 og GNU / Linux og kun for et par platforme.
Udviklingen af en open source Vulkan-pilot til Midgard- og Bifrost-familierne (Mali-Txxx og Mali-Gxx) kaldet PanVk begynder i 2021 inden for Mesa3D-projektet.
Mali-55 understøtter hardware-beregning af fragmenter og kun software-vektorer. Den er kompatibel med OpenGL ES 1.1 og OpenVG 1.0
Processorerne, hvis navn inkluderer Mali-xxx-navnet, svarer til Utgard- arkitekturen .
Mali-200-serienDen første serie, Mali 200, brugt i processorer som SoC Telechips TCC890x. Fyldningshastigheden er en pixel pr. Kerne og pr. Urcyklus med dog en begrænsning, når vektortælleren er mættet, for eksempel for 1 kerne ved 100 MHz , 100 Mpixels / s.
Mali-300-serienDen anden serie, Mali-300, ser ikke ud til at være integreret i kommercielle processorer.
Mali-4xx-serienDen tredje serie, Mali-400 MP, den første mobile grafikprocessor, der tilbyder en multi-core arkitektur, tilbydes på mere avancerede processorer, generelt, der indeholder en Cortex A9 CPU, som ST-Ericsson U8500, som Samsung Exynos 4 den Amlogic 8726-M og 8726-MX eller Rockchip RK3188, men også på Soc indeholdende Cortex A8 Allwinner a1x . Den kan bruges i 1 til 4-kerneversion og uafhængigt ved frekvenser fra 200 til 400 MHz . For at give en idé understøtter en firdobbelt kerne ved 200 MHz en fyldningshastighed på 44 M. triangler / sekunder og 800 Mpixels / sekunder og opretholder dermed den rå fyldningshastighed pr. Kerne og urcyklus af Mali 200.
Mali-450 MP tilbyder dobbelt så stor effekt pr. Kerne end Mali-400 MP til gengivelse af OpenGL ES 2.0 og kan håndtere op til 8 kerner samtidigt. Den første implementering er Amlogic AML8726-M8, en SoC smeltet i 28 nm ved TSMC indeholdende 4 kerner cortex A9 2 GHz og 6 hjerter Mali-450 MP, og som bør være tilvejebragt i serie fra 3 e kvartal 2013.
I oktober 2015, ARM annoncerer Mali-470, der er rettet mod ekstraudstyr til tøj med lavt forbrug (ure, chips, der kan sys i tøj osv. ). Det forbedrer Mali-450, hovedsagelig med hensyn til effektivitet. Den bruger halvdelen af Mali-400s strøm til en tilsvarende behandlingshastighed. Det tilføjer en vektorprocessor sammenlignet med sine forgængere og reducerer yderligere genberegningen af blokke, der ikke ville være blevet ændret.
Processorer, hvis navn inkluderer Mali-Txxx-navnet, svarer til Midgard- arkitekturen .
Mali-T6xx-serienMali-T600-serien er beregnet til Cortex A15. Især udstyrer den Samsung Exynos 5.-serien. Den første model var Mali-T604.
Mali-T600-serien introducerer 64-bit floating point computing. Bygget på et skalerbart arkitektonisk design med flere rørledninger og omfattede mange avancerede funktioner såsom:
Mali-T6XX-serien bringer også følgende nye funktioner
ARM annoncerer 2. august 2012i Shanghai , giver Khronos-gruppen en komplet " OpenCL 1.1 Full Profile" -konformitetstest til Mali-T604 grafikprocessorer for at opnå certificering. Dette er den fulde profil til desktop computing og ikke kun mobile eller indlejrede applikationer ( Embedded Profile ), hvilket viser ARMs ønske om at vinde på alle områder.
Anden generation, inkluderet Mali-T622, Mali-T624, Mali-T628, Mali-T678?
Mali-T7xx-serienDen første generation af Mali-T7xx, præsenteret den 29. oktober 2013, fås i to modeller, begge kompatible med OpenGL ES 3.0 og DirectX11. De er også OpenCL 1.1 og RenderScript-kompatible:
Mali-T760 understøtter også Vulkan API .
Mali-T8xx-serienEnde oktober 2014, ARM præsenterer Mali-T8xx-serien, denne nye serie tilføjer support til OpenGL ES 3.1, OpenCL 1.2 og forskellige optimeringer, der gør GPU'en mere effektiv med hensyn til forbrug. Vulkan 1.0 API support blev tilføjet efter udgivelsen:
Processorerne, hvis navn inkluderer Mali-Gxx-navnet, svarer til Bifrost- arkitekturen .
Mali-G71ARM annoncerer i Maj 2016Mali-G71 grafikprocessoren bruger Bifrost-arkitekturen, som kan kobles med den nye Cortex-A73- processor til virtual reality- opgaver . Dette er den første ARM GPU, der er kompatibel med Vulkan API , hvorefter API'en overføres til modellerne i Mali-Txxx-serien, men der blev ikke givet nogen oplysninger om porten på Mali-xxx. Der er foretaget forbedringer af rørledningssystemet, cachernes granularitet og eliminering af trekanter, der er mindre end en pixel.
Mali-G51Annonceret i oktober 2016, Mali-G51 er beregnet til skærme med virtual reality og højere opløsning. Den har to pixelskygger pr. Grafikkerne, hvilket fordobler texel- og pixelhastighederne pr. Kerne sammenlignet med Mali-G71. Det understøtter også ARM Frame Buffer Compression (AFBC) 1.2-billedbufferkomprimering samt Vulkan API'er, OpenGL ES 3.2 og OpenCL 2.0.
Mali-G52 Mali-G31 Mali-G72Annonceret i Maj 2017 (anden generation af Bifrost), Mali-G72 er beregnet til at efterkomme Mali-G71, den generelle præstation i forhold til sin forgænger er blevet forbedret med 40%, og energieffektiviteten forbedret med 25%.
Mali-G76Annonceret i Maj 2018(tredje generation af Bifrost) forbedrer Mali-G76 sin præstation med 30% sammenlignet med G72 og forbedrer effektiviteten i Machine Learning (ML) med 2,7 gange. Det understøtter 4 til 20 kerner. Hver kerne har tre motorer, og hver motor har otte udførelsesveje.
Mali-G78 er anden generation af Valhall-arkitekturen.
Her er den aktuelle liste over Mali-kernemodeller:
Efternavn | Maks. Kerner maks. shaders |
Maks. Cache størrelse niveau 2 | API-kompatibilitet | Arkitektur | Reference |
---|---|---|---|---|---|
Mali-55 | 1 | - | OpenGL ES 1.1, OpenVG 1.0 | - | |
Mali-200 | 1 | - | OpenGL ES 1.1 & 2.0, OpenVG 1.1 | Utgård | |
Mali-300 | 1 | 8 KB | OpenGL ES 1.1 & 2.0, OpenVG 1.1 | ||
Mali-400 MP | 4 | 256 KB | OpenGL ES 1.1 & 2.0, OpenVG 1.1 | ||
Mali-450 MP | 8 | 512 KB | OpenGL ES 1.1 og 2.0, OpenVG 1.1 | ||
Mali-470 | 4 | 8 KB (L1) 256 KB (L2) |
OpenGL ES 1.1 og 2.0, OpenVG 1.1 | ||
Mali-T604 | 4 | 256 KB |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
Midgard 1 st gen. |
|
Mali-T622 | 2 | 256 KB pr. Kerne |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
||
Mali-T624 | 4 | 256 KB |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
Midgard 2 e Gen. |
|
Mali-T628 | 8 | 256 KB |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
||
Mali-T658 | 8 | 256 KB |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
||
Mali-T678 | 8 | 256 KB |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
||
Mali-T720 | 8 | 64 KiB til 256 KiB afhængigt af antallet af processorer. |
OpenGL ES 1.1, 2.0 og 3.0, OpenVG 1.1, OpenCL 1.1, DirectX 11, Renderscript |
Midgard 3 e Div. |
|
Mali-T760 | 16 | 256 KiB til 2 Mio (256 til 512 KiB delt af en gruppe på 4 kerner) |
OpenGL ES 1.1, 2.0 og 3.0 til 3.2, OpenVG 1.1, Vulkan 1.0 OpenCL 1.1, DirectX 11, Renderscript |
||
Mali-T820 | 1 til 4 | 32 KiB til 256 KiB afhængigt af antallet af processorer. |
OpenGL ES 1.1, 2.0, 3.0 til 3.2, Vulkan 1.0 OpenCL 1.1 / 1.2 Fuld profil, DirectX 11 FL9_3, Renderscript |
Midgård 4 th gen. |
|
Mali-T830 | 1 til 4 | 32 KiB til 256 KiB afhængigt af antallet af processorer. |
OpenGL ES 1.1, 2.0, 3.0 til 3.2, Vulkan 1.0 OpenCL 1.1 / 1.2 Fuld profil, DirectX 11 FL9_3, Renderscript |
||
Mali-T860 | 1 til 16 | 256 KiB til 2 MioB afhængigt af antallet af processorer. |
OpenGL ES 1.1, 2.0, 3.0 til 3.2, Vulkan 1.0 OpenCL 1.1 / 1.2 Fuld profil, DirectX 11 FL9_3, Renderscript |
||
Mali-T880 | 1 til 16 | 256 KiB til 2 MiB afhængigt af antallet af processorer (256 til 512 kiB / 4 skyggeenheder) |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 Fuld profil DirectX 11 FL11_2, Renderscript |
||
Mali-G31 meget lavt forbrug. |
1 (enkelt eller dobbelt pixel) | 32 KiB til 512 KiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 / 2.0 Full Profile Renderscript |
Bifrost | |
Mali-G51 | 1 til 32 | 128 KiB til 2 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 / 2.0 Fuld profil DirectX 11 FL11_2, Renderscript |
||
Mali-G52 | 1,2,3,4 eller 6 (dobbelt pixel) | 32 KiB til 512 KiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 / 2.0 Full Profile Renderscript |
||
Mali-G71 | 1 til 32 | 128 KiB til 2 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 / 2.0 Fuld profil DirectX 11 FL11_2, Renderscript |
||
Mali-G72 | 1 til 32 | 128 KiB til 2 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.0 OpenCL 1.1 / 1.2 / 2.0 Fuld profil DirectX 12 FL11_1, Renderscript |
||
Mali-G76 | 4 til 20 | 512 KiB til 4 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.1 OpenCL 1.1 / 1.2 / 2.0 Fuld profil |
||
Mali-G77 | 7 til 16 | 512 KiB til 4 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.1 OpenCL 1.1, 1.2, 2.0 Fuld profil |
Valhall | |
Mali-G78 | 7 til 24 | 512 KiB til 2 MiB niveau 2 |
OpenGL ES 1.1, 2.0, 3.0 til 3.2 Vulkan 1.1, 1.2 OpenCL 1.1, 1.2, 2.0 Fuld profil |
Valhall 2 e Gen. |
De forskellige varianter af Mali GPU kan findes i følgende SoC'er:
Maker | SoC-navn | Mali-version |
---|---|---|
Telechips | TCC8803, TCC8902, TCC8900, TCC9201 | Mali-200 |
NetLogic | Au1380, Au1350 | Mali-200 |
Base-Tech | Leopard-6 | Mali-200 |
STMikroelektronik | SPEAr1340 | Mali-200 |
Spreadtrum | SC8810, SC6820 | Mali-400 MP1 |
Amlogic | 8726-M, 8726-MX | Mali-400 MP1 / MP2 (1 eller 2 kerner 400 MHz ) |
Allwinner | A10, A13 , R8 | Mali-400 MP1 (1 kerne ved 300 ~ 400 MHz ) |
Allwinner | A20 | Mali-400 MP2 (2 kerner) |
Nufront | Nusmart 2816 | Mali-400 MP |
Rockchip | RK3188 , PX2 | Mali-400 MP4 (4 kerner) |
MediaTek | MT6572 | Mali-400 MP (1 kerne) |
Samsung | Exynos 4210, 4212, 4412 | Mali-400 MP4 (4 kerner) |
Samsung | S5P6450 Vega | Mali-400 MP |
ST-Ericsson | NovaThor U9500, U8500, U5500 | Mali-400 MP |
STMikroelektronik | STi7108, STiH416 | Mali-400 MP |
WonderMedia | Prizm WM8850, WM8950 | Mali-400 MP |
WonderMedia | Prizm WM8880, WM8980 | Mali-400 MP2 |
WonderMedia | Prizm WM8860 | Mali-450 MP |
Amlogic | S805 | Mali-450 MP2 (2 kerner) |
Amlogic | AML8726-M8 | Mali-450 MP4 (4 kerner) |
Amlogic | S802, S812 | Mali-450 MP8 (8 kerner) |
Samsung | Exynos 5250, 5440 | Mali-T604 MP |
Samsung | Exynos 5260 | Mali-T624 MP |
HiSilicon | Kirin 935 | Mali-T628 MP4 (4 kerner) |
Samsung | Exynos 5420, 5422, 5800 | Mali-T628 MP6 (6 kerner) |
HiSilicon | K3V3 (eller Kirin 910) | Mali-T658 |
Samsung | Exynos 7580 | Mali-T720 MP2 (2 kerner) |
Allwinner | H6 V200 og H6 VC200 | Mali-T720 Mutli-Core |
Rockchip | RK3288 | Mali-T760 MP4 (4 kerner) |
MediaTek | MT6732 | Mali-T760 |
Rockchip | RK3399 | Mali-T860 MP4 (4 kerner) |
MediaTek | Helio P20 | Mali-T880 MP2 (2 kerner) |
HiSilicon | Kirin 950 | Mali-T880 MP4 (4 kerner) |
MediaTek | Helio X20 | Mali-T880 MP4 (4 kerner) |
MediaTek | Helio X25 | Mali-T880 MP4 (4 kerner) |
Samsung | Exynos 8 Octa 8890 | Mali-T880 MP12 (12 kerner) |
HiSilicon | Kirin 960 | Mali-G71 MP8 (8 kerner) |
Samsung | Exynos 8895 | Mali-G71 MP20 (20 kerner) |
Allwinner | Allwinner H616 | Mali-G31 MP2 (2 kerner) |
Rockchip | RK3530 | Mali-G52 |
HiSilicon | Kirin 970 | Mali-G72 MP12 (12 kerner) |
Samsung | Exynos 9810 | Mali-G72 MP18 (18 kerner) |
HiSilicon | Kirin 980 | Mali-G76 MP16 (16 kerner) |
Samsung | Exynos 9820 | Mali-G76 MP12 (12 kerner) |