Adreno
From Wikipedia, the free encyclopedia
Adreno est une série de processeur graphiques développée par la société américaine Qualcomm pour équiper ses SoC ARM Snapdragon. Initialement, ces unités de traitement graphique (GPU) faisaient partie de la gamme Imageon appartenant à AMD, rachetée par Qualcomm en janvier 2009. Ces GPU sont optimisés pour les architectures mobiles ARM et intègrent des fonctionnalités avancées de rendu 3D et de calcul parallèle adaptées aux contraintes d’énergie et de performances des appareils mobiles.
Pilotes
Les pilotes officiels des processeurs graphiques Adreno sont tous des logiciels propriétaires. Néanmoins, le projet de pilote libre Freedreno, initié à la fin de l'année 2011, a connu un développement rapide. Ce pilote reposant sur l’architecture Gallium3D est intégré au projet Mesa 3D. En juillet 2014, Freedreno constituait le seul pilote graphique libre supportant les SoC ARM au sein de Mesa. Depuis la version 11.1 de Mesa 3D, publiée le 15 décembre 2015, Freedreno assure la prise en charge de l’API OpenGL 3.1 pour les séries Adreno 300 (a3xx) et 400 (a4xx).
Variantes
| Nom | Microarchitecture | Fab (nm) | Fréquence [MHz] | Technologie de mémoire | Fillrate | GFLOPS | API (version) | Utilisé dans les snapdragon | Références | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | ALUs
(SIMD) [FP32] |
Mémoire intégrée au GPU | TMU | Bande passante | Triangle
[MT/s] |
Pixel
[GP/s] |
Texture
[GT/s] |
(FP64) | (FP32) | (FP16) | Vulkan | OpenGL ES | OpenVG | OpenCL | OpenGL | EGL | Direct3D | |||||
| Adreno 1xx series | ||||||||||||||||||||||
| Adreno 120 | Pipeline à fonction fixe | 1.1 | 1.1 | ? | [1] | |||||||||||||||||
| Adreno 130 | ? | ? | 90 or 65 | ? | 4 | 0.133 | 1.2 | 1.3 | Direct3D Mobile | MSM7x00, MSM7x00A, MSM7x01, MSM7x01A | [3],[4],[5] | |||||||||||
| Adreno 2xx series - yamato | ||||||||||||||||||||||
| Adreno 200 (AMD Z430) | Unified shader model 5-way VLIW[6] |
8
(2) |
256 KB | 65 | 133 | LPDDR Single-channel
166 MHz (1.33 GB/s) |
22.85 | 0.133 | 0.53 | 2.12 | 4.25 | 2.0 | 1.1 | 1.4 (freedreno driver) | 1.3 | 11 (feature level 9_3) [7] |
Snapdragon S1 (MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53 | |||||
| Adreno 200 'enhanced' | 45 | 200 245 | LPDDR Single-channel 200 MHz (1.6 GB/s) | 42 | 0.200 0.245 | 0.80 0.98 | 3.20 3.92 | 6.40 12.8 | Snapdragon S1 (MSM7227A, MSM7627A, MSM7225A, MSM7625A) | |||||||||||||
| Adreno 203 | 16
(4) |
245 294 | LPDDR2 Single-channel 300 MHz (2.4 GB/s) |
40.8 49.0 | 0.245 0.294 | 1.96 2.35 | 7.84 9.40 | 15.6 18.8 | Snapdragon S4 Play (MSM8225, MSM8625), Snapdragon 200 (MSM8225Q, MSM8625Q) | |||||||||||||
| Adreno 205 | 245 266 | LPDDR2 Dual-channel 333 MHz (5.3 GB/s) |
40.8 44.3 | 0.245 0.266 | 1.96 2.12 | 7.84 8.51 | 15.6 17.0 | 2.0 | 1.3 | Snapdragon S2 (MSM7x30, MSM8x55, APQ8055,
QSD8x50A) |
||||||||||||
| Adreno 2xx series - leia | ||||||||||||||||||||||
| Adreno 220 | Unified shader model 5-way VLIW[6] |
32
(8) |
512 KB | 45 | 266 | LPDDR2 Single-channel 333 MHz (2.67 GB/s) | 88.7 | 0.532 | 4.25 | 17.0 | 34.0 | NC | 2.0 | 1.1 | NC | 1.4 (freedreno driver) | 1.3 | 11 (feature level 9_3) [7] |
Snapdragon S3 (APQ8060, MSM8x60) | |||
| Adreno 225 | 28 | 200 300 400 | LPDDR2 Dual-channel 500 MHz (8 GB/s) | 133.3 | 0.8 | 3.20 4.80 6.40 | 12.8 19.2 25.6 | 25.6 38.4 51.2 | Snapdragon S4 Plus (APQ8060A, MSM8x60A, MSM8960) | [8] | ||||||||||||
| Adreno 3xx series - oxili | ||||||||||||||||||||||
| Adreno 302[9] | Unified shader model Scalar instruction set[10] |
28 | 400 | 3.0[7] (freedreno driver: 3.0, 3.1 incomplete, 3.2 partial) | 3.1 (freedreno driver, 3.2 incomplete, 3.3 complete) | 11 (feature level 9_3) [7] |
Snapdragon 200
(MSM8210, MSM8212) |
|||||||||||||||
| Adreno 304 | 24
[24] |
96 KB | 400 | LPDDR2/3 Single-channel 384-533 MHz (3.1-4.3 GB/s) | 4.80 | 19.2 | 38.4 | NC | 1.1 | 1.1 embedded profile,
1.2e |
Snapdragon 208, Snapdragon 210, Snapdragon 212 | |||||||||||
| Adreno 305 (1re Gen.) | 256 KB | 400 450 | LPDDR2 Single-channel 400 MHz (3.2 GB/s) | 66.7 75 | 0.8 | 4.80 5.40 | 19.2 21.6 | 38.4 43.2 | Snapdragon S4 Plus (MSM8x27) | |||||||||||||
| Adreno 305 (2de Gen.) | 128 KB | 400 450 | LPDDR2/3 Single-channel 533 MHz (4.3 GB/s) | 66.7 75 | 0.8 | 4.80 5.40 | 19.2 21.6 | 38.4 43.2 | Snapdragon 200 (MSM8210, MSM8610, MSM8212, MSM8612) Snapdragon 400[11] (MSM8x26, MSM8x28, MSM8x30, MSM8x30AB, APQ8026, APQ8030) |
[12] [13] | ||||||||||||
| Adreno 306 | 400 | LPDDR2/3 Single-channel 32-bit 533 MHz (4.2 GB/s) | 84.3 | 0.8 | 4.80 | 19.2 | 38.4 | Snapdragon 410 (MSM8916), Snapdragon 412 (MSM8916v2) | [14] | |||||||||||||
| Adreno 308 | 500 | LPDDR3 Single-channel 667 MHz (5.34 GB/s) | 105.4 | 1.0 | 6.00 | 24.0 | 48.0 | Snapdragon 425 (MSM8917) Snapdragon 427 (MSM8920) | ||||||||||||||
| Adreno 320 (1re Gen.) | 64
[64] |
512 KB[14] | 400 | LPDDR2 Dual-channel 533 MHz (8.53 GB/s) | 225 | 1.6 | 3.2 | 12.8 | 51.2 | 102.4 | Snapdragon S4 Pro (MSM8960T, APQ8064, APQ8064-1AA), Snapdragon S4 Prime (MPQ8064) | [15] | ||||||||||
| Adreno 320 (2de Gen.) | 96
[96] |
400 450 | LPDDR3 Dual-channel 32-bit (64-bit) 600 MHz (9.6 GB/s) | 225 253.1 | 2.4 2.7 | >3.2 | 19.2 21.6 | 76.8 86.4 | 153.6 172.8 | Snapdragon 600 (APQ8064T, APQ8064AB) | [15] | |||||||||||
| Adreno 330 | 128
[128] |
1024 KB | 450 550 578 | LPDDR3 Dual-channel 32-bit (64-bit) 800 MHz (12.8 GB/s) | 253.1 309.4 325.1 | 3.6 4.4 4.624 | 28.8 35.2 36.9 | 115.2 140.8 147.9 | 230.4 281.6 295.9 | Snapdragon 800 (MSM8974, APQ8074), Snapdragon 801 (MSM8274AB, MSM8974AB, MSM8974AC) | ||||||||||||
| Adreno 4xx series | ||||||||||||||||||||||
| Adreno 405 | Unified shader model | 48
[48] |
256 KB | 28 | 550 | LPDDR3 Single-channel 667-933 MHz (5.34-7.46 GB/s) | 52.8 | NC | 3.2 (freedreno driver: 3.0, 3.1 incomplete, 3.2 partial) | 1.1 | 1.2 full profile | 3.1 (freedreno driver, 3.2 incomplete, 3.3 complete) | 11 (11_1)[7] |
Snapdragon 415 (MSM8929), Snapdragon 610 (MSM8936), Snapdragon 615 (MSM8939), Snapdragon 616 (MSM8939v2), Snapdragon 617 (MSM8952) | ||||||||
| Adreno 418 | 128
[128] |
512 KB | 20 | 600 | LPDDR3 Dual-channel 32-bit (64-bit) 933 MHz (14.9 GB/s) | 153.6 | 1.0 [16] | Snapdragon 808 (MSM8992) | ||||||||||||||
| Adreno 420 | 1536 KB | 28 | 500
600 |
LPDDR3 Dual-channel 64-bit (128-bit) 800 MHz (25.6 GB/s) | 281.3
337.5 (0.56[17] Tr/Hertz) |
4
4.8 (8.2 Px/Hertz) |
128
153.6 |
1.0 [note 2] | Snapdragon 805 (APQ8084) | [18] | ||||||||||||
| Adreno 430 | 256
[256] |
20 | 500
600 650 |
LPDDR4 Dual-channel 32-bit (64-bit) 1 600 MHz (25.6 GB/s) | ? | 4.8
6.0 6.6 |
324
420 |
1.0 [16] | Snapdragon 810 (APQ8094, MSM8994) | |||||||||||||
| Adreno 5xx series | ||||||||||||||||||||||
| Adreno 504 | Unified shader model + Unified memory | ? | ? | 12 | ? | LPDDR3 Single-channel 800 MHz (6.4 GB/s) | ? | ? | ? | ? | 1.0[16] | 3.2[19] (freedreno driver: 3.1, 3.2 partial) | 1.1 | 2.0 Full | 3.1 (freedreno driver, 3.2 incomplete, 3.3 complete) | 12 (11_1) |
Snapdragon 429 | |||||
| Adreno 505 | 48
[48] |
128 + 8 KB | 28 | 450 | ? | 48.6 | Snapdragon 430 (MSM8937), Snapdragon 435, Snapdragon 439 | |||||||||||||||
| Adreno 506 | 96
[96] |
14 | 600
650 |
LPDDR3 Single-channel 933 MHz (7.46 GB/s) | ? | ? | ? | 115.2
124.8 |
Snapdragon 450, Snapdragon 625, Snapdragon 626, Snapdragon 632 | |||||||||||||
| Adreno 508 | 128
[128] |
650 | LPDDR4 Dual‑channel 16‑bit (32-bit) 1 333 MHz (10.66 GB/s) | ? | ? | ? | 163.2 | Snapdragon 630 | ||||||||||||||
| Adreno 509 | 256 + 16 KB | 720 | LPDDR4 Dual‑channel 32‑bit (64-bit) 1 333 MHz (21.33 GB/s) | ? | ? | ? | 184.3 | Snapdragon 636 | ||||||||||||||
| Adreno 510 | 256 KB | 28 | 600 | LPDDR3 Dual‑channel
32‑bit (64-bit) 933 MHz (14.9 GB/s) |
? | ? | ? | 153.6 | 3.2 (3.1 + AEP) (freedreno driver: 3.1, 3.2 partial) | Snapdragon 650 (MSM8956), Snapdragon 652 (MSM8976),
Snapdragon 653 (MSM8976PRO) |
||||||||||||
| Adreno 512 | 256 + 16 KB | 14 | 850 | LPDDR4 Quad-channel 16-bit (64-bit)
1 866 MHz (29.8 GB/s) |
? | ? | ? | 217.6 | Snapdragon 660 (MSM8976 Plus) | |||||||||||||
| Adreno 530 | 256
[256] |
1024 KB | 510
624 653 |
? | 6.7
8.1 |
7.7
8.1 |
407.4
498.5 |
Snapdragon 820 (MSM8996),
Snapdragon 821 (MSM8996PRO) |
||||||||||||||
| Adreno 540 | 384
[384] |
10 | 710 | >450 | ? | 11.36 (16 Texel/Hertz) [21],[22] | 567 | Snapdragon 835 (MSM8998) | ||||||||||||||
| Adreno 6xx series | ||||||||||||||||||||||
| Adreno 605 | Unified shader model + Unified memory | 128+8 KB | 14 | 1.0 and 1.1[23],[16] | 3.2 | 2.0 Full | WIP (freedreno driver) | 12
(12_1) |
||||||||||||||
| Adreno 610 | ? | 11 | 273 | Snapdragon 460 Snapdragon 662 Snapdragon 665 |
[24] | |||||||||||||||||
| Adreno 612 | 256+16 KB | 845 | LPDDR4X Dual‑channel
16‑bit (32-bit) 1 866 MHz (14.9 GB/s) |
Snapdragon 675 Snapdragon 678 |
||||||||||||||||||
| Adreno 615 | 256
[128] |
512 KB | 10 | 700 | 358.4 | QCS603, QCS605, Snapdragon 670 | [25],[26] | |||||||||||||||
| Adreno 616 | 750 | 384 | Snapdragon 710 Snapdragon 712 |
|||||||||||||||||||
| Adreno 618 | 8 | 700
825 |
?
422 |
Snapdragon 720G Snapdragon 730 Snapdragon 730G Snapdragon 732G Snapdragon 7c |
[28] | |||||||||||||||||
| Adreno 620 | 384
[192] |
7 | 625 750 |
LPDDR4X Dual-channel 16-bit (32-bit)
2 133 MHz (17 GB/s) |
6.7/8.1 | ? | Snapdragon 765 Snapdragon 765G Snapdragon 768G |
|||||||||||||||
| Adreno 630 | 512
[256] |
1024 KB | 10 | 710 | LPDDR4X Quad-channel 16-bit (64-bit)
1 866 MHz (29.9 GB/s) |
>500 | ? | 15.4 | 184 | 727 | 1474 | Snapdragon 845 Snapdragon 850 |
[29],[30],[31],[32] | |||||||||
| Adreno 640 | 768
[384] |
12*2[33] | 7 | 585 675 |
LPDDR4X Quad-channel 16-bit (64-bit)
2 133 MHz (34.13 GB/s) |
? | 9.4 | 28.1 | 242
279 |
954 [27] 1037 |
1853.3 [34] | Snapdragon 855/855+ | [35],[29] | |||||||||
| Adreno 650 | 1024
[512] |
? and 300 Go/s[36] | 24*2[33] | 587
670 |
LPDDR4X or LPDDR5 Quad-channel 16-bit (64-bit)
2 133 MHz ou 2 750 MHz 33.4GB/s or 44.0GB/s |
14.x (est.) [33] | 28.1 (est.) [33] | 313
344 |
1244 | 2000
2752 |
Snapdragon 865/865+ | [29],[38] | ||||||||||
| Adreno 660 | Snapdragon 888 | |||||||||||||||||||||
| Adreno 675 | ? | ? | 590 | LPDDR4X Quad-channel 16-bit (64-bit)
2 133 MHz (34.13 GB/s) |
388 | 1550 | 3100 | Snapdragon 8c | [39] | |||||||||||||
| Adreno 680 | 1536
[768] |
? | 590 | LPDDR4X Octa-channel 16-bit (128-bit)
2 133 MHz (68.26 GB/s) |
461 | 1842.5 [40] | 3685 [41] | Snapdragon 8cx, 8CX Gen 2 | [41] | |||||||||||||
| Adreno 685 | ? | ~2100 [42] | Microsoft SQ1 | |||||||||||||||||||
| Nom | Microarchitecture | Fab (nm) | Fréquence | Technologie de mémoire | Fillrate | (FP64) | (FP32) | (FP16) | API (version) | Utilisé dans les snapdragon | Références | |||||||||||
| Type | ALUs
[FP32] |
Mémoire intégrée au GPU | TMU | Bande passante | Triangle
[MT/s] |
Pixel
[GP/s] |
Texture
[GT/s] |
GFLOPS | Vulkan | OpenGL ES | OpenVG | OpenCL | OpenGL | Direct3D | ||||||||
- Adreno 130, supporte SVGT 1.2, Direct Draw et GDI.
- Adreno 200. Il offre un pipeline de fonctions programmables et le flux de textures. Il est compatible SVGT 1.2 et DirectDraw. (22 mégatriangles par seconde, 133 mégapixels par seconde, vitesse d'horloge maximum de 128 MHz).
- Adreno 205. Ses améliorations incluent ; Support du SVG, accélération matérielle d'Adobe Flash et de meilleures performances des shaders que l'Adreno 200. Il est compatible avec SVGT 1.2, Direct Draw and GDI. Il peut tracer 40 mégatriangles par seconde, 432 mégapixels par seconde et à une vitesse d'horloge pouvant atteindre 200 MHz.
- Adreno 220 est compatible avec DirectX 9.0c, SVGT 1.2, Direct Draw et GDI. Il peut tracer 88 mégatriangles par seconde, 2.4 gigapixels par seconde, il peut être surcadencé à 400 MHz.
- Adreno 225, supporte Direct3D Mobile, SVGT 1.2, Direct Draw et GDI.
Lien externe
- Adreno GPU Le site pour les développeurs de Qualcomm.