Adreno - Adreno

Adreno este o serie de nuclee de proprietate intelectuală semiconductoare ale unității de procesare grafică (GPU) dezvoltate de Qualcomm și utilizate în multe dintre SoC - urile lor .

Istorie

Adreno (o anagramă a mărcii de plăci grafice AMD Radeon ) a început ca marca internă a tehnologiilor grafice Qualcomm și a fost folosit în produsele lor cu chipset mobil. Primele modele Adreno includeau Adreno 100 și 110, care aveau accelerare grafică 2D și capacități multimedia limitate. La acea vreme, grafica 3D pe platformele mobile a fost tratată în mod obișnuit folosind motoare de redare bazate pe software, ceea ce le-a limitat performanța. Cu o cerere crescândă pentru capacități multimedia și grafică 3D mai avansate, Qualcomm a licențiat Imageon IP de la AMD, pentru a adăuga capabilități 3D accelerate hardware produselor lor mobile. O colaborare suplimentară cu AMD a dus la dezvoltarea modelului Adreno 200, lansat în 2008, care a fost integrat în primul Snapdragon SoC . În ianuarie 2009, AMD a vândut întreaga divizie grafică a dispozitivelor portabile Imageon către Qualcomm.

Detalii tehnice

Variante

Compania oferă GPU-uri Adreno în diferite tipuri, ca o componentă a SoC-urilor lor Snapdragon :

Nume Microarhitectura Fab ( nm ) Ceas [ MHz ] Tehnologie de memorie Rată de umplere GFLOPS API (versiune) Folosit în Qualcomm ... Referințe
Tip ALU-uri

[SIMD-uri] ( FP32 )

Memorie grafică on-chip TMU Lățimea de bandă a memoriei Triunghi

[MT / s]

Pixel

[ GP / s]

Textură

[ GT / s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D
Înainte de Adreno
Apărător2 0,25 0,007 1.0
Apărător3 0,25 0,022
Stargate 0,6 0,09 1.1
Seria Adreno 1xx
Adreno 100 1.0
Adreno 110 1.1
Adreno 120 conductă cu funcție fixă 1.1
Adreno 130 ? ? 90 sau 65 ? 1.6

4

?

0,133

?

0,3

?

1.2

?

2.4

N / A N / A Direct3D Mobile MSM7x00, MSM7x00A, MSM7x01, MSM7x01A
Seria Adreno 2xx - yamato
Adreno 200 (AMD Z430) Model unificat
de umbrire VLIW cu 5 căi
8

[2]

256 KB 65 133 LPDDR -333 Single-channel 32-bit @ 166,5 MHz (1,3 GB / s) 22,85 0,133 0,53 2.12 4.25 N / A 2.0 1.1 N / A 1.4 (șofer liber) 11
( nivel de caracteristică 9_3 )
Snapdragon S1 (MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53
Adreno 200 „îmbunătățit” 45 200 245 LPDDR -400 Single-channel 32-bit @ 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 -600 Single-channel 32-bit @ 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 -666 Dual-channel 32-bit (64-bit) @ 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 Snapdragon S2 (MSM7x30, MSM8x55, APQ8055)
Seria Adreno 2xx - leia
Adreno 220 Model unificat
de umbrire VLIW cu 5 căi
32

[8]

512 KB 45 266 LPDDR2 -666 Single-channel 32-bit @ 333 MHz (2,6 GB / s) 88,7 0,532 4.25 17.0 34,0 N / A 2.0 1.1 N / A 1.4 (șofer liber) 11
( nivel de caracteristică 9_3 )
Snapdragon S3 (APQ8060, MSM8x60)
Adreno 225 28 200 300 400 LPDDR2 -1000 Dual-channel 32-bit (64-bit) @ 500 MHz (8,0 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)
Adreno 3xx series - oxili
Adreno 304 Model unificat de umbră
Set de instrucțiuni scalare
24

[24]

96 KB 28 400 LPDDR2 / 3 -768/1066 monocanal pe 32 de biți @ 384-533 MHz (3,0-4,2 GB / s) 4,80 19.2 38.4 N / A 3.0 (driver freedreno: 3.0, 3.1 incomplet, 3.2 parțial) 1.1 1.1 profil încorporat 3.1 (driver freedreno, 3.2 incomplet, 3.3 complet) 11
( nivel de caracteristică 9_3 )
Snapdragon 208 , Snapdragon 210 , Snapdragon 212
Adreno 305 (prima generație) 256 KB 400 450 LPDDR2 -800 Single-channel 32-bit @ 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 (a doua generație) 128 KB LPDDR2 / 3 -1066 monocanal pe 32 de biți 533 MHz (4,2 GB / s) 66,7 75 0,8 Snapdragon 200 (MSM8210, MSM8610, MSM8212, MSM8612)
Snapdragon 400 (MSM8x26, MSM8x28, MSM8x30, MSM8x30AB, APQ8026, APQ8030)

Adreno 306 400 LPDDR2 / 3 -1066 monocanal 32-bit @ 533 MHz (4,2 GB / s) 84.3 0,8 4,80 19.2 38.4 Snapdragon 410 (MSM8916), Snapdragon 412 (MSM8916v2)
Adreno 308 500 LPDDR3 -1333 monocanal pe 32 de biți @ 666,5 MHz (5,3 GB / s) 105.4 1.0 6.00 24.0 48.0 Snapdragon 425 (MSM8917) Snapdragon 427 (MSM8920)
Adreno 320 (prima generație) 64

[64]

512 KB 400 LPDDR2 -1066 Dual-channel 32-bit (64-bit) @ 533 MHz (8,5 GB / s) 225 1.6 3.2 12.8 51.2 102.4 Snapdragon S4 Pro (MSM8960T, APQ8064, APQ8064-1AA), Snapdragon S4 Prime (MPQ8064)
Adreno 320 (a doua generație) 96

[96]

400 450 LPDDR3 -1200 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)
Adreno 330 128

[128]

1024 KB 450 550 578 LPDDR3 -1600 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)
Seria Adreno 4xx
Adreno 405 Model unificat de umbrire 48

[48]

256 KB 28 550 LPDDR3 -1333/1866 monocanal pe 32 de biți @ 666,5-933 MHz (5,3-7,4 GB / s) 13.2 52,8 105,6 N / A 3.2 (driver freedreno: 3.0, 3.1 incomplet, 3.2 parțial) 1.1 1.2 profil complet 3.1 (driver freedreno, 3.2 incomplet, 3.3 complet) 11
( nivel de caracteristică 11_1 )
Snapdragon 415 (MSM8929), Snapdragon 610 (MSM8936), Snapdragon 615 (MSM8939), Snapdragon 616 (MSM8939v2), Snapdragon 617 (MSM8952)
418 128

[128]

512 KB 20 600 LPDDR3 -1866 Dual-channel 32-bit (64-bit) @ 933 MHz (14.9 GB / s) 38.4 153.6 307.2 1.0 Snapdragon 808 (MSM8992)
Adreno 420 1536 KB 28 500 600 LPDDR3 -1600 Dual-channel 64-bit (128-bit) @ 800 MHz (25,6 GB / s) 281,3 337,5

(0,56 Tr / ceas)

4

4.8

(8,2 Px / ceas)

32,0 38,4 128,0 153,6 256,0 307,2 1.0 Snapdragon 805 (APQ8084)
Adreno 430 256

[256]

20 500 600 650 LPDDR4 -3200 Dual-channel 32-bit (64-bit) @ 1600 MHz (25,6 GB / s) ? 4.8

6.0 6.6

64,0 76,8 83,2 256,0 307,2 332,8 512,0 614,4 665,6 1.0 Snapdragon 810 (APQ8094, MSM8994)
Seria Adreno 5xx
Adreno 504 Model unificat de umbrire + Memorie unificată ? ? 12 ? LPDDR3 -1600 Single-channel 32-bit @ 800 MHz (6,4 GB / s) ? ? ? ? 1.0 3.2 (conducător auto liber: 3.1, 3.2 parțial) ? 2.0 complet 3.1 (driver freedreno, 3.2 incomplet, 3.3 complet) 11
( nivel de caracteristică 11_1 )
Snapdragon 429
Adreno 505 48

[48]

128 + 8 KB 28 450 ? 10.8 43.2 86.4 Snapdragon 430 (MSM8937), Snapdragon 435, Snapdragon 439
Adreno 506 96

[96]

14 600 650 LPDDR3 -1866 Single-channel 32-bit @ 933 MHz (7,4 GB / s) ? ? ? 28,8 31,2 115,2 124,8 230,4 249,6 Snapdragon 450, Snapdragon 625, Snapdragon 626, Snapdragon 632
Adreno 508 128

[128]

650 LPDDR4 -2666 Dual-channel 16-bit (32-bit) @ 1333 MHz (10,6 GB / s) ? ? ? 41.6 166.4 332,8 Snapdragon 630
Adreno 509 256 + 16 KB 720 LPDDR4 -2666 Dual-channel 32-bit (64-bit) @ 1333 MHz (21,3 GB / s) ? ? ? 46.0 184.3 368.6 Snapdragon 636
Adreno 510 256 KB 28 600 LPDDR3 -1866 Dual-channel 32-bit (64-bit) @ 933 MHz (14,9 GB / s) ? ? ? 38.4 153.6 307.2 3.2 (3.1 + AEP) (driver freedreno: 3.1, 3.2 parțial) Snapdragon 650 (MSM8956), Snapdragon 652 (MSM8976),

Snapdragon 653 (MSM8976PRO)

Adreno 512 256 + 16 KB 14 850 LPDDR4 -3732 Quad-channel 16-bit (64-bit) @ 1866 MHz (29,8 GB / s) ? ? ? 54.4 217.6 435.2 Snapdragon 660 (MSM8976 Plus)
Adreno 530 256

[256]

1024 KB 510 624 653 ? 6.7

8.1

7.7

8.1

65,2 79,8 83,5 261,1 319,4 334,3 522,2 638,9 668,6 12
( nivel de caracteristică 11_1 )
Snapdragon 820 (MSM8996),

Snapdragon 821 (MSM8996PRO)

Adreno 540 384

[384]

10 710 739 > 450 ? 11,36 (16 Texel / ceas) 136,3 141,8 545,2 567,5 1090,0 1135,1 Snapdragon 835 (MSM8998)
Seria Adreno 6xx
Adreno 605 Model unificat de umbrire + Memorie unificată 128 + 8 KB 14 1.0 și 1.1 3.2 2.0 complet WIP (freedreno driver) 12
( nivel de caracteristică 12_1 )
Adreno 608 10 LPDDR4X -4266 Dual-channel 16-bit (32-bit) @ 2133 MHz (17.0 GB / s) Snapdragon SA6155P
Adreno 610 128 [128] ? 11 600

750

950

28,8

36

68
115.2

144

273

230.4

288

546

Snapdragon 460
Snapdragon 662
Snapdragon 665

QCS4290

Adreno 612 128 256 + 16 KB 745

845

LPDDR4X -3732 Dual-channel 16-bit (32-bit) @ 1866 MHz (14.9 GB / s) 47.7

54.1

190,7

216.3

381.4

432,6

Snapdragon 675
Snapdragon 678
Adreno 615 256

[128]

512 KB 10 700

780

89.6 358.4 716,8 QCS603

QCS605

Snapdragon 670

Adreno 616 750 96,0 384,0 768,0 Snapdragon 710
Snapdragon 712
Adreno 618 8 700

825

89,6 105,6 358,4 422,4 716,8 844,8 Snapdragon 720G
Snapdragon 730
Snapdragon 730G
Snapdragon 732G
Snapdragon 7c

Snapdragon 7c Gen 2

Adreno 619L 950 LPDDR4X -4266 Dual-channel 16-bit (32-bit) @ 2133 MHz (17.0 GB / s) Snapdragon 690
Adreno 619 825

950

116.4

134

465,5

536

930,9

1072

Snapdragon 480
Snapdragon 750G
Adreno 620 384

[192]

7 625
750
6.7 / 8.1 120,0 144,0 480,0 576,0 960,0 1152,0 Snapdragon 765
Snapdragon 765G
Snapdragon 768G
Adreno 630 512

[256]

1024 KB 10 710 LPDDR4X -4266 Quad-channel 16-bit (64-bit) @ 1866 MHz (29,8 GB / s) > 500 ? 15.4 181,7 727,0 1454,0 Snapdragon 845
Snapdragon 850
Adreno 640 768

[384]

12 * 2 7 585
675
LPDDR4X -4266 Quad-channel 16-bit (64-bit) @ 2133 MHz (34,1 GB / s) ? 9.4 28.1 224,6 259,2 898,5 1036,8
1797,1 2073,6 Snapdragon 855/855 +
Snapdragon 860

Snapdragon 855A (SA8155P)

Adreno 642L 384

[192]

6 490 LPDDR4X -4266 Dual-channel 16-bit (32-bit) @ 2133 MHz (17.0 GB / s) Snapdragon 778G
Adreno 642 5 Snapdragon 780G
Adreno 643L 6 812 LPDDR4X -4266 sau LPDDR5 -6400 Quad-channel 16-bit (64-bit) @ 2133 MHz sau 3200 MHz (34,1 GB / s sau 44,0 GB / s) QCS6490
Adreno 650 1024

[512]

? și 300 Go / s 24 * 2 7 587 670 LPDDR4X -4266 sau LPDDR5 -6400 Quad-channel 16-bit (64-bit) @ 2133 MHz sau 3200 MHz (34,1 GB / s sau 44,0 GB / s) 14.x (estimat) 28,1 (estimat) 300,5 343,0 1202,1 1372,1 2404,3 2744,3 Snapdragon 865/865 +
Snapdragon 870

QCS8250

Adreno 660 1024

[512]

5 792 905 LPDDR5 -6400 Quad-channel 16-bit (64-bit) @ 3200 MHz (51,2 GB / s) 405,5 463,3 1622,0 1853,4 3244,0 3706,8 Snapdragon 888/888 +
Adreno 675 1344 [672] ? 7 590 LPDDR4X -4266 Quad-channel 16-bit (64-bit) @ 2133 MHz (34,1 GB / s) 396.4 1585,9 3171,8 Snapdragon 8c
Adreno 680 1536

[768]

? 600 LPDDR4X -4266 Octa-canal pe 16 biți (128 biți) @ 2133 MHz (68,2 GB / s) 460,8 1843.2 3686.4 Snapdragon 8cx Gen 1/2

Snapdragon SA8195P

685 ? 250 590 192,0 453,1 768,0 1812,4 1536,0 3624,9 Microsoft SQ1
Adreno 690 661 680 507,6 522,2 2030,5 2088,9 4061,1 4177,9 Microsoft SQ2
Adreno 702 845 LPDDR3 -1866 Single-channel 32-bit @ 933 MHz (7,4 GB / s) or

LPDDR4X -3732 Dual-channel 16-bit (32-bit) @ 1866 MHz (14.9 GB / s)

QCS2290
Nume Tip ALU-uri

(SIMD-uri) ( FP32 )

Memorie grafică on-chip TMU Fab ( nm ) Ceas

[MHz]

Lățimea de bandă a memoriei Triunghi

[MT / s]

Pixel

[ GP / s]

Textură

[ GT / s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D Folosit în Qualcomm ... Referințe
Microarhitectura Tehnologie de memorie Rată de umplere GFLOPS API (versiune)
Note
  • Adreno 130 în interiorul MSM7x01 și MSM7x01A. Suportă OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile , SVGT 1.2, Direct Draw și GDI .
  • Adreno 200 (AMD Z430) în interiorul QSD8x50 și MSM7x27 (133 MHz). Oferă o conductă funcțională programabilă și texturi de streaming cu suport pentru OpenGL ES 1.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2 și DirectDraw. (22M triunghiuri / secundă, 133M pixeli / secundă, viteză de ceas de până la 133 MHz).
  • Adreno 200 îmbunătățit în interiorul MSM7x25A și MSM7x27A (200 MHz). Suportă OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw și GDI. (40M triunghiuri / secundă, 200M pixeli / secundă, viteză de ceas de până la 200 MHz).
  • Adreno 203 în interiorul MSM8225 și MSM8225Q (400 MHz). Este o îmbunătățire față de Adreno 205. Are o frecvență mai mare, are o viteză mai bună de umplere a pixelilor, un consum redus de energie, o performanță 3D mai bună. Este cu aproximativ 50-100% mai rapid decât Adreno 200 (îmbunătățit) și 10-25% decât Adreno 205. Poate avea un ceas de 2 ori mai mare decât Adreno 205. Suportă OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw și GDI. (42-50M triunghiuri / secundă, 250-300M pixeli / secundă, viteză de ceas de la 192 la 400 MHz)
  • Adreno 205 în interiorul QSD8x50A, MSM7x30 și MSM8x55 (245 MHz). Îmbunătățirile sale includ SVG și Adobe Flash accelerate de hardware și performanțe mai bune la shader decât Adreno 200. Suportă OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw și GDI. (57M triunghiuri / secundă, 250M pixeli / secundă, viteză de ceas de până la 400 MHz)
  • Adreno 220 în interiorul MSM8660 sau MSM8260 (266MHZ) cu ​​memorie cu un singur canal. Suportă OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw și GDI. (88M triunghiuri / secundă, 500M pixeli / secundă, viteză standard a ceasului până la 266 MHz, overclockare până la 400 MHz).
  • Adreno 225 în interiorul MSM8960 (400 MHz), cu arhitectură shader unificată și memorie cu două canale. Suportă Direct3D 9.0c în plus față de OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw și GDI.
  • Adreno 320 în seria Qualcomm S4 Pro & Prime Series, cu arhitectură shader unificată și memorie cu două canale. Suportă funcția Direct3D nivel 9_3 pe lângă OpenGL ES 3.0, OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2
  • Adreno 330 în interiorul Nexus 5, tablete din seria Amazon Kindle HDX, telefon Amazon Fire, tabletă Nokia Lumia 2520, Nokia Lumia 1520, pictogramă Nokia Lumia, Nokia Lumia 930, Samsung Galaxy S5, Samsung Galaxy Note 3, Sony Xperia Z1, Sony Xperia Z1 Compact, Sony Xperia Z2, Sony Xperia Z3, Sony Xperia Z3 Compact, Sony Xperia Z Ultra, Xiaomi Mi3, Xiaomi Mi4, OnePlus One, HTC One (M8) și smartphone-uri LG G2 / G3.
  • Adreno 420 în cadrul Qualcomm Snapdragon 805 acceptă runtime Direct3D 11.2 ( nivel de caracteristică 11_1 ). În interiorul Google Nexus 6, Samsung Galaxy S5 LTE-A, Samsung Galaxy Note 4, Samsung Galaxy Note Edge, LG G3 Cat. 6, Amazon Fire HDX 8.9 (2014). Qualcomm Snapdragon 805 este primul telefon SoC care dispune vreodată de o magistrală de memorie pe 128 de biți.
  • Adreno 540 din Qualcomm Snapdragon 835 este primul SoC de telefon care prezintă o rată de reîmprospătare variabilă și redare Foveated / Variate Rate Shading, Qualcomm numește implementările lor Q-Sync și Adreno Foveation.
  • Adreno 630 în interiorul Qualcomm Snapdragon 845 este primul telefon SoC care dispune de 6DoF la scară de cameră Inside-Out cu SLAM
  • Adreno 640 din Qualcomm Snapdragon 855 este primul telefon SoC care oferă drivere GPU actualizabile din Google Play Store
  • Adreno 660 din Qualcomm Snapdragon 888 este primul telefon SoC care dispune de Variable Rate Shading (VRS)

Suport pentru sistemul de operare

Există drivere proprietare pentru sistemul de operare Android bazat pe Linux , disponibile de la Qualcomm însuși. Din punct de vedere istoric, singura modalitate de a avea suport pentru GPU pe Linux non-Android a fost folosirea libhybris wrapper.

Linux și Mesa acceptă seria de GPU-uri Adreno 200/300/400/500 cu un driver numit freedreno. Freedreno permite grafică complet open-source pe dispozitive precum 96Boards Dragonboard 410c și Nexus 7 (2013) .

Vezi si

Referințe

linkuri externe