Adreno - Adreno

Adreno to seria grafik Processing Unit (GPU) półprzewodnikowych rdzeni własności intelektualnej , opracowanych przez Qualcomm i wykorzystywane w wielu swoich SoC .

Historia

Adreno (an anagram od AMD „karty graficznej marki s Radeon ) zaczynał jako Qualcomm ” s wewnątrzobiektowych marki technologii graficznych, i był używany w swoich produktach chipsetów mobilnych. Wczesne modele Adreno obejmowały Adreno 100 i 110, które miały akcelerację grafiki 2D i ograniczone możliwości multimedialne. W tamtych czasach grafika 3D na platformach mobilnych była powszechnie obsługiwana za pomocą silników renderujących opartych na oprogramowaniu, co ograniczało ich wydajność. Wraz z rosnącym zapotrzebowaniem na bardziej zaawansowane funkcje multimedialne i grafiki 3D, Qualcomm udzielił licencji na Imageon IP firmy AMD, aby dodać akcelerację sprzętową możliwości 3D do swoich produktów mobilnych. Dalsza współpraca z AMD zaowocowała opracowaniem Adreno 200, wydanego w 2008 roku, które zostało zintegrowane z pierwszym Snapdragonem SoC . W styczniu 2009 r. AMD sprzedało firmie Qualcomm cały swój dział grafiki do urządzeń przenośnych Imageon .

Szczegóły techniczne

Warianty

Firma oferuje procesory graficzne Adreno w różnych typach, jako składnik swoich układów SoC Snapdragon :

Nazwa Mikroarchitektura Fab ( nm ) Zegar [ MHz ] Technologia pamięci Szybkość wypełniania GFLOPS API (wersja) Używany w Qualcomm... Bibliografia
Rodzaj Jednostki ALU

[karty SIMD] ( FP32 )

Wbudowana pamięć graficzna TMU Przepustowość pamięci Trójkąt

[MT/s]

Piksel

[ GP /s]

Tekstura

[ GT / s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D
Przed Adreno
Obrońca2 0,25 0,007 1,0
Obrońca3 0,25 0,022
Gwiezdne Wrota 0,6 0,09 1,1
Seria Adreno 1xx
Adreno 100 1,0
Adreno 110 1,1
Adreno 120 rurociąg o stałej funkcji 1,1
Adreno 130 ? ? 90 lub 65 ? 1,6

4

?

0,133

?

0,3

?

1.2

?

2,4

Nie dotyczy Nie dotyczy Direct3D Mobile MSM7x00, MSM7x00A, MSM7x01, MSM7x01A
Seria Adreno 2xx - yamato
Adreno 200 (AMD Z430) Zunifikowany model cieniowania
5-drożny VLIW
8

[2]

256 KB 65 133 LPDDR- 333 Jednokanałowy 32-bit @ 166,5 MHz (1,3 GB/s) 22.85 0,133 0,53 2.12 4.25 Nie dotyczy 2,0 1,1 Nie dotyczy 1.4 (sterownik freedreno) 11
( poziom funkcji 9_3 )
Snapdragon S1 (MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53
Adreno 200 „ulepszony” 45 200 245 LPDDR - 400 Jednokanałowy 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 Lwia paszcza S1 (MSM7227A, MSM7627A, MSM7225A, MSM7625A)
Adreno 203 16

[4]

245 294 LPDDR2 -600 Jednokanałowy 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 Dwukanałowy 32-bitowy (64-bitowy) @ 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 Lwia paszcza S2 (MSM7x30, MSM8x55, APQ8055)
Seria Adreno 2xx - leia
Adreno 220 Zunifikowany model cieniowania
5-drożny VLIW
32

[8]

512 KB 45 266 LPDDR2 -666 Jednokanałowy 32-bit @ 333 MHz (2,6 GB/s) 88,7 0,532 4.25 17,0 34,0 Nie dotyczy 2,0 1,1 Nie dotyczy 1.4 (sterownik freedreno) 11
( poziom funkcji 9_3 )
Lwia paszcza S3 (APQ8060, MSM8x60)
Adreno 225 28 200 300 400 LPDDR2 -1000 Dwukanałowy 32-bitowy (64-bitowy) @ 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 Lwia paszcza S4 Plus (APQ8060A, MSM8x60A, MSM8960)
Seria Adreno 3xx - oxili
Adreno 304 Ujednolicony model cieniowania
Zestaw instrukcji skalarnych
24

[24]

96 KB 28 400 LPDDR2 / 3 -768/1066 Jednokanałowy 32-bitowy @ 384-533 MHz (3,0-4,2 GB/s) 4.80 19,2 38,4 Nie dotyczy 3.0 (sterownik freedreno: 3.0, 3.1 niekompletny, 3.2 częściowy) 1,1 1.1 osadzony profil 3.1 (sterownik freedreno, 3.2 niekompletny, 3.3 kompletny) 11
( poziom funkcji 9_3 )
Lwia paszcza 208 , Lwia paszcza 210 , Lwia paszcza 212
Adreno 305 (1 Gen.) 256 KB 400 450 LPDDR2 -800 Jednokanałowy 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 Lwia paszcza S4 Plus (MSM8x27)
Adreno 305 (2 gen.) 128 KB LPDDR2 / 3 -1066 Jednokanałowy 32-bitowy 533 MHz (4,2 GB/s) 66,7 75 0,8 Lwia paszcza 200 (MSM8210, MSM8610, MSM8212, MSM8612) Lwia
paszcza 400 (MSM8x26, MSM8x28, MSM8x30, MSM8x30AB, APQ8026, APQ8030)

Adreno 306 400 LPDDR2 / 3 -1066 Jednokanałowy 32-bit @ 533 MHz (4,2 GB/s) 84,3 0,8 4.80 19,2 38,4 Lwia paszcza 410 (MSM8916), Lwia paszcza 412 (MSM8916v2)
Adreno 308 500 LPDDR3 -1333 jednokanałowy 32-bitowy @ 666,5 MHz (5.3 Gb / s) 105,4 1,0 6.00 24,0 48,0 Lwia paszcza 425 (MSM8917) Lwia paszcza 427 (MSM8920)
Adreno 320 (1. Generacji) 64

[64]

512 KB 400 LPDDR2 -1066 Dwukanałowy 32-bitowy (64-bitowy) @ 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 (2 gen.) 96

[96]

400 450 LPDDR3 -1200 dwukanałowej 32-bitowa (64 bitów) przy 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 Lwia paszcza 600 (APQ8064T, APQ8064AB)
Adreno 330 128

[128]

1024 KB 450 550 578 LPDDR3 -1600 dwukanałowej 32-bitowa (64 bitów) @ 800 MHz (12,8 GB / e) 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 Lwia paszcza 800 (MSM8974, APQ8074), Lwia paszcza 801 (MSM8274AB, MSM8974AB, MSM8974AC)
Seria Adreno 4xx
Adreno 405 Zunifikowany model shadera 48

[48]

256 KB 28 550 LPDDR3 -1333 / 1866 jednokanałowy 32-bitowy @ 666.5-933 MHz (5.3-7.4 Gb / s) 13.2 52,8 105,6 Nie dotyczy 3.2 (sterownik freedreno: 3.0, 3.1 niekompletny, 3.2 częściowy) 1,1 1.2 pełny profil 3.1 (sterownik freedreno, 3.2 niekompletny, 3.3 kompletny) 11
( poziom funkcji 11_1 )
Lwia paszcza 415 (MSM8929), Lwia paszcza 610 (MSM8936), Lwia paszcza 615 (MSM8939), Lwia paszcza 616 (MSM8939v2), Lwia paszcza 617 (MSM8952)
Adreno 418 128

[128]

512 KB 20 600 LPDDR3 -1866 dwukanałowej 32-bitowa (64 bitów) @ 933 MHz (14,9 GB / e) 38,4 153,6 307.2 1,0 Lwia paszcza 808 (MSM8992)
Adreno 420 1536 KB 28 500 600 LPDDR3 -1600 dwukanałowej 64-bitowej (128-bitowy) @ 800 MHz (25,6 GB / e) 281,3 337,5

(0,56 tr/zegar)

4

4,8

(8,2 piks./zegar)

32,0 38,4 128,0 153,6 256,0 307,2 1,0 Lwia paszcza 805 (APQ8084)
Adreno 430 256

[256]

20 500 600 650 LPDDR4 -3200 Dwukanałowy 32-bitowy (64-bitowy) @ 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 Lwia paszcza 810 (APQ8094, MSM8994)
Seria Adreno 5xx
Adreno 504 Zunifikowany model shadera + ujednolicona pamięć ? ? 12 ? LPDDR3 -1600 jednokanałowy 32-bitowy @ 800 MHz (6.4 Gb / s) ? ? ? ? 1,0 3.2 (sterownik freedreno: 3.1, 3.2 częściowy) ? 2.0 Pełna 3.1 (sterownik freedreno, 3.2 niekompletny, 3.3 kompletny) 11
( poziom funkcji 11_1 )
Lwia paszcza 429
Adreno 505 48

[48]

128 + 8 KB 28 450 ? 10,8 43,2 86,4 Lwia paszcza 430 (MSM8937), Lwia paszcza 435, Lwia paszcza 439
Adreno 506 96

[96]

14 600 650 LPDDR3 -1866 jednokanałowy 32-bitowy @ 933 MHz (7.4 Gb / s) ? ? ? 28,8 31,2 115,2 124,8 230,4 249,6 Lwia paszcza 450, Lwia paszcza 625, Lwia paszcza 626, Lwia paszcza 632
Adreno 508 128

[128]

650 LPDDR4 -2666 Dwukanałowy 16-bitowy (32-bitowy) @ 1333 MHz (10,6 GB/s) ? ? ? 41,6 166,4 332,8 Lwia paszcza 630
Adreno 509 256 + 16 KB 720 LPDDR4 -2666 Dwukanałowy 32-bitowy (64-bitowy) @ 1333 MHz (21,3 GB/s) ? ? ? 46,0 184,3 368,6 Lwia paszcza 636
Adreno 510 256 KB 28 600 LPDDR3 -1866 dwukanałowej 32-bitowa (64 bitów) @ 933 MHz (14,9 GB / e) ? ? ? 38,4 153,6 307.2 3.2 (3,1 + AEP) (sterownik freedreno: 3.1, 3.2 częściowy) Lwia paszcza 650 (MSM8956), Lwia paszcza 652 (MSM8976),

Lwia paszcza 653 (MSM8976PRO)

Adreno 512 256 + 16 KB 14 850 LPDDR4 -3732 Czterokanałowy 16-bitowy (64-bitowy) @ 1866 MHz (29,8 GB/s) ? ? ? 54,4 217,6 435.2 Lwia paszcza 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
( poziom funkcji 11_1 )
Lwia paszcza 820 (MSM8996),

Lwia paszcza 821 (MSM8996PRO)

Adreno 540 384

[384]

10 710 739 >450 ? 11.36 (16 Tekseli/zegar) 136,3 141,8 545,2 567,5 1090,0 1135,1 Lwia paszcza 835 (MSM8998)
Seria Adreno 6xx
Adreno 605 Zunifikowany model shadera + ujednolicona pamięć 128+8 KB 14 1,0 i 1,1 3.2 2.0 Pełna WIP (sterownik freedreno) 12
( poziom funkcji 12_1 )
Adreno 608 10 LPDDR4X -4266 Dwukanałowy 16-bitowy (32-bitowy) @ 2133 MHz (17,0 GB/s) Lwia paszcza SA6155P
Adreno 610 128 [128] ? 11 600

750

950

28,8

36

68
115,2

144

273

230,4

288

546

Lwia paszcza 460
Lwia paszcza 662
Lwia paszcza 665

QCS4290

Adreno 612 128 256+16 KB 745

845

LPDDR4X -3732 Dwukanałowy 16-bitowy (32-bitowy) @ 1866 MHz (14,9 GB/s) 47,7

54,1

190,7

216,3

381,4

432,6

Lwia paszcza 675
Lwia paszcza 678
Adreno 615 256

[128]

512 KB 10 700

780

89,6 358.4 716,8 QCS603

QCS605

Lwia paszcza 670

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

825

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

Lwia paszcza 7c Gen 2

Adreno 619L 950 LPDDR4X -4266 Dwukanałowy 16-bitowy (32-bitowy) @ 2133 MHz (17,0 GB/s) Lwia paszcza 690
Adreno 619 825

950

116,4

134

465,5

536

930,9

1072

Lwia paszcza 480
Lwia paszcza 750G
Adreno 620 384

[192]

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

[256]

1024 KB 10 710 LPDDR4X -4266 Czterokanałowy 16-bitowy (64-bitowy) @ 1866 MHz (29,8 GB/s) >500 ? 15,4 181,7 727,0 1454,0 Lwia paszcza 845
Lwia paszcza 850
Adreno 640 768

[384]

12*2 7 585
675
LPDDR4X -4266 Czterokanałowy 16-bitowy (64-bitowy) @ 2133 MHz (34,1 GB/s) ? 9,4 28,1 224,6 259,2 898,5 1036,8
1797,1 2073,6 Lwia paszcza 855/855+
Lwia paszcza 860

Lwia paszcza 855A (SA8155P)

Adreno 642L 384

[192]

6 490 LPDDR4X -4266 Dwukanałowy 16-bitowy (32-bitowy) @ 2133 MHz (17,0 GB/s) Lwia paszcza 778G
Adreno 642 5 Lwia paszcza 780G
Adreno 643L 6 812 LPDDR4X -4266 lub LPDDR5 -6400 Czterokanałowy 16-bitowy (64-bitowy) @ 2133 MHz lub 3200 MHz (34,1 GB/s lub 44,0 GB/s) QCS6490
Adreno 650 1024

[512]

? i 300 Go/s 24*2 7 587 670 LPDDR4X -4266 lub LPDDR5 -6400 Czterokanałowy 16-bitowy (64-bitowy) @ 2133 MHz lub 3200 MHz (34,1 GB/s lub 44,0 GB/s) 14.x (szac.) 28,1 (szac.) 300,5 343,0 1202,1 1372,1 2404,3 2744,3 Lwia paszcza 865/865+
Lwia paszcza 870

QCS8250

Adreno 660 1024

[512]

5 792 905 LPDDR5 -6400 Czterokanałowy 16-bitowy (64-bitowy) @ 3200 MHz (51,2 GB/s) 405,5 463,3 1622,0 1853,4 3244,0 3706,8 Lwia paszcza 888/888+
Adreno 675 1344 [672] ? 7 590 LPDDR4X -4266 Czterokanałowy 16-bitowy (64-bitowy) @ 2133 MHz (34,1 GB/s) 396,4 1585.9 3171,8 Lwia paszcza 8c
Adreno 680 1536

[768]

? 600 LPDDR4X -4266 ośmiokanałowy 16-bit (128-bit) @ 2133 MHz (68,2 GB/s) 460,8 1843,2 3686,4 Lwia paszcza 8cx Gen 1/2

Lwia paszcza SA8195P

Adreno 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 jednokanałowy 32-bitowy @ 933 MHz (7.4 Gb / s) lub

LPDDR4X -3732 Dwukanałowy 16-bitowy (32-bitowy) @ 1866 MHz (14,9 GB/s)

QCS2290
Nazwa Rodzaj Jednostki ALU

(karty SIMD) ( FP32 )

Wbudowana pamięć graficzna TMU Fab ( nm ) Zegar

[MHz]

Przepustowość pamięci Trójkąt

[MT/s]

Piksel

[ GP /s]

Tekstura

[ GT / s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D Używany w Qualcomm... Bibliografia
Mikroarchitektura Technologia pamięci Szybkość wypełniania GFLOPS API (wersja)
Uwagi
  • Adreno 130 wewnątrz MSM7x01 i MSM7x01A. Obsługuje OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile , SVGT 1.2, Direct Draw i GDI .
  • Adreno 200 (AMD Z430) wewnątrz QSD8x50 i MSM7x27 (133 MHz). Oferuje programowalny potok funkcji i tekstury strumieniowe z obsługą OpenGL ES 1.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2 i DirectDraw. (22 mln trójkątów/sekundę, 133 mln pikseli/sekundę, taktowanie do 133 MHz).
  • Adreno 200 wzmocniony wewnątrz MSM7x25A i MSM7x27A (200 MHz). Obsługuje OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw i GDI. (40M trójkątów/sekundę, 200M pikseli/sekundę, taktowanie do 200 MHz).
  • Adreno 203 wewnątrz MSM8225 i MSM8225Q (400 MHz). Jest to ulepszenie w stosunku do Adreno 205. Charakteryzuje się wyższą częstotliwością, lepszą szybkością wypełniania pikseli, niższym zużyciem energii, lepszą wydajnością 3D. Jest o około 50-100% szybszy niż Adreno 200 (ulepszony) i 10-25% niż Adreno 205. Może taktować 2x szybciej niż Adreno 205. Obsługuje 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 trójkątów/sekundę, 250-300M pikseli/sekundę, taktowanie od 192 do 400 MHz)
  • Adreno 205 wewnątrz QSD8x50A, MSM7x30 i MSM8x55 (245 MHz). Jego ulepszenia obejmują sprzętową akcelerację SVG i Adobe Flash oraz lepszą wydajność shaderów niż Adreno 200. Obsługuje OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw i GDI. (57 mln trójkątów/sekundę, 250 mln pikseli/sekundę, taktowanie do 400 MHz)
  • Adreno 220 wewnątrz MSM8660 lub MSM8260 (266MHZ) z pamięcią jednokanałową. Obsługuje 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 trójkątów/sekundę, 500M pikseli/sekundę, standardowe taktowanie do 266 MHz, podkręcanie do 400 MHz).
  • Adreno 225 wewnątrz MSM8960 (400 MHz), z ujednoliconą architekturą shaderów i pamięcią dwukanałową. Obsługuje Direct3D 9.0c oprócz 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 w serii Qualcomm S4 Pro i Prime, z ujednoliconą architekturą shaderów i dwukanałową pamięcią. Obsługuje Direct3D poziom funkcji 9_3 oprócz 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 w Nexusie 5, tablety Amazon Kindle HDX, telefon Amazon Fire, tablet Nokia Lumia 2520, Nokia Lumia 1520, Nokia Lumia Icon, 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 LG G2/G3.
  • Adreno 420 w Qualcomm Snapdragon 805 obsługuje środowisko wykonawcze Direct3D 11.2 ( poziom funkcji 11_1 ). Wewnątrz 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 to pierwszy telefon SoC z 128-bitową magistralą pamięci.
  • Adreno 540 w Qualcomm Snapdragon 835 to pierwszy telefon SoC z funkcją zmiennej częstotliwości odświeżania i Foveated rendering /Variate Rate Shading, Qualcomm nazywa swoje implementacje Q-Sync i Adreno Foveation.
  • Adreno 630 w Qualcomm Snapdragon 845 to pierwszy telefon SoC z funkcją Inside-Out Room-scale 6DoF z SLAM
  • Adreno 640 w Qualcomm Snapdragon 855 to pierwszy telefon SoC z aktualizowalnymi sterownikami GPU ze sklepu Google Play
  • Adreno 660 w Qualcomm Snapdragon 888 to pierwszy telefon SoC z funkcją Variable Rate Shading (VRS)

Obsługa systemu operacyjnego

Firma Qualcomm udostępnia własne sterowniki dla mobilnego systemu operacyjnego Android opartego na Linuksie . Historycznie jedynym sposobem obsługi GPU w systemie innym niż Android Linux było opakowanie libhybris .

Linux i Mesa obsługują serię procesorów graficznych Adreno 200/300/400/500 ze sterownikiem o nazwie freedreno. Freedreno pozwala na grafikę w pełni open source na urządzeniach takich jak 96Boards Dragonboard 410c i Nexus 7 (2013) .

Zobacz też

Bibliografia

Zewnętrzne linki