Adreno - Adreno

Adreno ist eine Reihe von Intellectual Property Cores für Grafikprozessoren (GPU) , die von Qualcomm entwickelt und in vielen ihrer SoCs verwendet werden .

Geschichte

Adreno (ein Anagramm von AMDs Grafikkartenmarke Radeon ) begann als Qualcomms Inhouse-Marke für Grafiktechnologien und wurde in ihren mobilen Chipsatzprodukten verwendet. Zu den frühen Adreno-Modellen gehörten die Adreno 100 und 110, die über 2D-Grafikbeschleunigung und begrenzte Multimedia-Fähigkeiten verfügten. Zu dieser Zeit wurden 3D-Grafiken auf mobilen Plattformen häufig mit softwarebasierten Rendering-Engines verarbeitet, was ihre Leistung einschränkte. Angesichts der wachsenden Nachfrage nach fortschrittlicheren Multimedia- und 3D-Grafikfunktionen lizenzierte Qualcomm die Imageon IP von AMD, um ihren mobilen Produkten hardwarebeschleunigte 3D-Funktionen hinzuzufügen. Eine weitere Zusammenarbeit mit AMD führte zur Entwicklung des 2008 erschienenen Adreno 200, der in den ersten Snapdragon- SoC integriert wurde . Im Januar 2009 verkaufte AMD seine gesamte Imageon- Grafikabteilung für Handheld-Geräte an Qualcomm.

Technische Details

Varianten

Das Unternehmen bietet Adreno-GPUs in verschiedenen Ausführungen als Bestandteil seiner Snapdragon- SoCs an:

Name Mikroarchitektur Fab ( nm ) Takt [ MHz ] Speichertechnologie Füllrate GFLOPS API (Version) Verwendet in Qualcomm... Verweise
Typ ALUs

[SIMDs] ( FP32 )

On-Chip-Grafikspeicher TMU Speicherbandbreite Dreieck

[MT/s]

Pixel

[ GP /s]

Textur

[ GT /s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D
Vor Adreno
Verteidiger2 0,25 0,007 1.0
Verteidiger3 0,25 0,022
Sternentor 0,6 0,09 1.1
Adreno 1xx-Serie
Adreno 100 1.0
Adreno 110 1.1
Adreno 120 feste Funktionspipeline 1.1
Adreno 130 ? ? 90 oder 65 ? 1,6

4

?

0,133

?

0,3

?

1,2

?

2.4

N / A N / A Direct3D-Mobile MSM7x00, MSM7x00A, MSM7x01, MSM7x01A
Adreno 2xx-Serie - Yamato
Adreno 200 (AMD Z430) Unified Shader-Modell
5-Wege- VLIW
8

[2]

256 KB 65 133 LPDDR -333 Einzelkanal 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 (Freedreno-Treiber) 11
( Funktionsebene 9_3 )
Snapdragon S1 (MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53
Adreno 200 'erweitert' 45 200 245 LPDDR -400 Einzelkanal 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 Löwenmaul S1 (MSM7227A, MSM7627A, MSM7225A, MSM7625A)
Adreno 203 16

[4]

245 294 LPDDR2 -600 Einzelkanal 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 Zweikanalige 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 Löwenmaul S2 (MSM7x30, MSM8x55, APQ8055)
Adreno 2xx-Serie - leia
Adreno 220 Unified Shader-Modell
5-Wege- VLIW
32

[8]

512 KB 45 266 LPDDR2 -666 Einkanal-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 (Freedreno-Treiber) 11
( Funktionsebene 9_3 )
Löwenmaul 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 Löwenmaul S4 Plus (APQ8060A, MSM8x60A, MSM8960)
Adreno 3xx Serie - Oxili
Adreno 304 Unified Shader Model
Scalar Instruction Set
24

[24]

96 KB 28 400 LPDDR2 / 3 -768/1066 Einzelkanal 32-Bit @ 384-533 MHz (3,0-4,2 GB/s) 4.80 19.2 38,4 N / A 3.0 (freedreno-Treiber: 3.0, 3.1 unvollständig, 3.2 teilweise) 1.1 1.1 eingebettetes Profil 3.1 (Freedreno-Treiber, 3.2 unvollständig, 3.3 vollständig) 11
( Funktionsebene 9_3 )
Löwenmaul 208 , Löwenmaul 210 , Löwenmaul 212
Adreno 305 (1. Gen.) 256 KB 400 450 LPDDR2 -800 Einzelkanal 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 Löwenmaul S4 Plus (MSM8x27)
Adreno 305 (2. Gen.) 128 KB LPDDR2 / 3 -1066 Einzelkanal 32-Bit 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 Einzelkanal 32-Bit @ 533 MHz (4,2 GB/s) 84,3 0.8 4.80 19.2 38,4 Löwenmaul 410 (MSM8916), Löwenmaul 412 (MSM8916v2)
Adreno 308 500 LPDDR3 -1333 Einzelkanal 32 Bit @ 666,5 MHz (5,3 GB/s) 105,4 1.0 6.00 24,0 48.0 Löwenmaul 425 (MSM8917) Löwenmaul 427 (MSM8920)
Adreno 320 (1. Gen.) 64

[64]

512 KB 400 LPDDR2 -1066 Zweikanalige 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 (2. Gen.) 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 Löwenmaul 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 Löwenmaul 800 (MSM8974, APQ8074), Löwenmaul 801 (MSM8274AB, MSM8974AB, MSM8974AC)
Adreno 4xx-Serie
Adreno 405 Einheitliches Shader-Modell 48

[48]

256 KB 28 550 LPDDR3 -1333/1866 Einzelkanal 32-Bit @ 666,5-933 MHz (5,3-7,4 GB/s) 13.2 52,8 105,6 N / A 3.2 (Freedreno-Treiber: 3.0, 3.1 unvollständig, 3.2 teilweise) 1.1 1.2 vollständiges Profil 3.1 (Freedreno-Treiber, 3.2 unvollständig, 3.3 vollständig) 11
( Funktionsebene 11_1 )
Löwenmaul 415 (MSM8929), Löwenmaul 610 (MSM8936), Löwenmaul 615 (MSM8939), Löwenmaul 616 (MSM8939v2), Löwenmaul 617 (MSM8952)
Adreno 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 Löwenmaul 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/Uhr)

4

4.8

(8,2 Px/Takt)

32,0 38,4 128,0 153,6 256,0 307,2 1.0 Löwenmaul 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 Löwenmaul 810 (APQ8094, MSM8994)
Adreno 5xx-Serie
Adreno 504 Einheitliches Shader-Modell + Einheitlicher Speicher ? ? 12 ? LPDDR3 -1600 Einzelkanal 32 Bit @ 800 MHz (6,4 GB/s) ? ? ? ? 1.0 3.2 (Freedreno-Treiber: 3.1, 3.2 teilweise) ? 2.0 Voll 3.1 (Freedreno-Treiber, 3.2 unvollständig, 3.3 vollständig) 11
( Funktionsebene 11_1 )
Löwenmaul 429
Adreno 505 48

[48]

128 + 8 KB 28 450 ? 10.8 43,2 86,4 Löwenmaul 430 (MSM8937), Löwenmaul 435, Löwenmaul 439
Adreno 506 96

[96]

14 600 650 LPDDR3 -1866 Einzelkanal 32 Bit @ 933 MHz (7,4 GB/s) ? ? ? 28,8 31,2 115,2 124,8 230,4 249,6 Löwenmaul 450, Löwenmaul 625, Löwenmaul 626, Löwenmaul 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 Löwenmaul 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 Löwenmaul 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) (Freedreno-Treiber: 3.1, 3.2 teilweise) Löwenmaul 650 (MSM8956), Löwenmaul 652 (MSM8976),

Löwenmaul 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 Löwenmaul 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
( Funktionsebene 11_1 )
Löwenmaul 820 (MSM8996),

Löwenmaul 821 (MSM8996PRO)

Adreno 540 384

[384]

10 710 739 >450 ? 11.36 (16 Texel/Uhr) 136,3 141,8 545,2 567,5 1090,0 1135.1 Löwenmaul 835 (MSM8998)
Adreno 6xx-Serie
Adreno 605 Einheitliches Shader-Modell + Einheitlicher Speicher 128+8 KB 14 1,0 und 1,1 3.2 2.0 Voll WIP (Freedreno-Treiber) 12
( Funktionsebene 12_1 )
Adreno 608 10 LPDDR4X -4266 Dual-Channel 16-Bit (32-Bit) @ 2133 MHz (17,0 GB/s) Löwenmaul SA6155P
Adreno 610 128 [128] ? 11 600

750

950

28,8

36

68
115,2

144

273

230,4

288

546

Löwenmaul 460
Löwenmaul 662
Löwenmaul 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

Löwenmaul 675
Löwenmaul 678
Adreno 615 256

[128]

512 KB 10 700

780

89,6 358.4 716.8 QCS603

QCS605

Löwenmaul 670

Adreno 616 750 96,0 384.0 768.0 Löwenmaul 710
Löwenmaul 712
Adreno 618 8 700

825

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

Löwenmaul 7c Gen 2

Adreno 619L 950 LPDDR4X -4266 Dual-Channel 16-Bit (32-Bit) @ 2133 MHz (17,0 GB/s) Löwenmaul 690
Adreno 619 825

950

116,4

134

465,5

536

930.9

1072


Löwenmaul 480 Löwenmaul 750G
Adreno 620 384

[192]

7 625
750
6,7/8.1 120,0 144,0 480,0 576,0 960,0 1152,0
Löwenmaul 765 Löwenmaul
765G Löwenmaul 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 Löwenmaul 845
Löwenmaul 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 Löwenmaul 855/855+
Löwenmaul 860

Löwenmaul 855A (SA8155P)

Adreno 642L 384

[192]

6 490 LPDDR4X -4266 Dual-Channel 16-Bit (32-Bit) @ 2133 MHz (17,0 GB/s) Löwenmaul 778G
Adreno 642 5 Löwenmaul 780G
Adreno 643L 6 812 LPDDR4X -4266 oder LPDDR5 -6400 Quad-Channel 16-Bit (64-Bit) @ 2133 MHz oder 3200 MHz (34,1 GB/s oder 44,0 GB/s) QCS6490
Adreno 650 1024

[512]

? und 300 Go/s 24*2 7 587 670 LPDDR4X -4266 oder LPDDR5 -6400 Quad-Channel 16-Bit (64-Bit) @ 2133 MHz oder 3200 MHz (34,1 GB/s oder 44,0 GB/s) 14.x (geschätzt) 28,1 (geschätzt) 300,5 343,0 1202.1 1372.1 2404.3 2744.3 Löwenmaul 865/865+
Löwenmaul 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 Löwenmaul 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 Löwenmaul 8c
Adreno 680 1536

[768]

? 600 LPDDR4X -4266 Octa-Kanal 16 Bit (128 Bit) @ 2133 MHz (68,2 GB/s) 460.8 1843.2 3686.4 Löwenmaul 8cx Gen 1/2

Löwenmaul 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 200.5 2088.9 4061,1 4177.9 Microsoft SQ2
Adreno 702 845 LPDDR3 -1866 Einzelkanal 32 Bit @ 933 MHz (7,4 GB/s) oder

LPDDR4X -3732 Dual-Channel 16-Bit (32-Bit) @ 1866 MHz (14,9 GB/s)

QCS2290
Name Typ ALUs

(SIMDs) ( FP32 )

On-Chip-Grafikspeicher TMU Fab ( nm ) Uhr

[MHz]

Speicherbandbreite Dreieck

[MT/s]

Pixel

[ GP /s]

Textur

[ GT /s]

( FP64 ) ( FP32 ) ( FP16 ) Vulkan OpenGL ES OpenVG OpenCL OpenGL Direct3D Verwendet in Qualcomm... Verweise
Mikroarchitektur Speichertechnologie Füllrate GFLOPS API (Version)
Anmerkungen
  • Adreno 130 im MSM7x01 und MSM7x01A. Es unterstützt OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile , SVGT 1.2, Direct Draw und GDI .
  • Adreno 200 (AMD Z430) im QSD8x50 und MSM7x27 (133 MHz). Es bietet eine programmierbare Funktionspipeline und Streaming-Texturen mit Unterstützung für OpenGL ES 1.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2 und DirectDraw. (22 Mio. Dreiecke/Sekunde, 133 Mio. Pixel/Sekunde, Taktrate bis zu 133 MHz).
  • Adreno 200 im MSM7x25A und MSM7x27A (200 MHz) verbessert . Es unterstützt OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw und GDI. (40 Mio. Dreiecke/Sekunde, 200 Mio. Pixel/Sekunde, Taktrate bis zu 200 MHz).
  • Adreno 203 im MSM8225 und MSM8225Q (400 MHz). Es ist eine Verbesserung gegenüber Adreno 205. Es bietet eine höhere Frequenz, eine bessere Pixelfüllrate, einen geringeren Stromverbrauch und eine bessere 3D-Leistung. Es ist etwa 50-100% schneller als Adreno 200 (erweitert) und 10-25% als Adreno 205. Es könnte 2x höher takten als Adreno 205. Es unterstützt OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw und GDI. (42-50 Mio. Dreiecke/Sekunde, 250-300 Mio. Pixel/Sekunde, Taktrate von 192 bis 400 MHz)
  • Adreno 205 im QSD8x50A, MSM7x30 und MSM8x55 (245 MHz). Zu den Verbesserungen gehören hardwarebeschleunigtes SVG und Adobe Flash sowie eine bessere Shader-Leistung als die Adreno 200. Sie unterstützt OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw und GDI. (57 Mio. Dreiecke/Sekunde, 250 Mio. Pixel/Sekunde, Taktrate bis zu 400 MHz)
  • Adreno 220 im MSM8660 oder MSM8260 (266MHZ) mit Single-Channel-Speicher. Es unterstützt OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw und GDI. (88 Mio. Dreiecke/Sekunde, 500 Mio. Pixel/Sekunde, Standardtakt bis 266 MHz, Übertaktung bis 400 MHz).
  • Adreno 225 im MSM8960 (400 MHz), mit Unified-Shader-Architektur und Dual-Channel-Speicher. Es unterstützt Direct3D 9.0c zusätzlich zu OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw und GDI.
  • Adreno 320 in der Qualcomm S4 Pro & Prime Series, mit Unified Shader-Architektur und Dual-Channel-Speicher. Es unterstützt Direct3D Feature Level 9_3 zusätzlich zu 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 im Nexus 5, Tablets der Amazon Kindle HDX-Serie, Amazon Fire Phone, Nokia Lumia 2520 Tablet, 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) und LG G2/G3 Smartphones.
  • Adreno 420 im Qualcomm Snapdragon 805 unterstützt die Direct3D 11.2-Laufzeit ( Funktionsebene 11_1 ). Im Inneren des 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). Der Qualcomm Snapdragon 805 ist der erste Telefon-SoC mit einem 128-Bit-Speicherbus.
  • Adreno 540 im Qualcomm Snapdragon 835 ist der erste Telefon-SoC mit variabler Bildwiederholrate und Foveated Rendering /Variate Rate Shading. Qualcomm nennt ihre Implementierungen Q-Sync und Adreno Foveation.
  • Adreno 630 im Qualcomm Snapdragon 845 ist der erste Telefon-SoC mit Inside-Out Room-scale 6DoF mit SLAM
  • Adreno 640 im Qualcomm Snapdragon 855 ist der erste Telefon-SoC mit aktualisierbaren GPU-Treibern aus dem Google Play Store
  • Adreno 660 im Qualcomm Snapdragon 888 ist der erste Telefon-SoC mit Variable Rate Shading (VRS)

Betriebssystemunterstützung

Für das Linux- basierte mobile Betriebssystem Android gibt es proprietäre Treiber von Qualcomm selbst. Historisch gesehen war die einzige Möglichkeit, GPU-Unterstützung auf Nicht-Android-Linux zu haben, mit dem libhybris- Wrapper.

Linux und Mesa unterstützen die GPUs der Adreno 200/300/400/500-Serie mit einem Treiber namens freedreno. Freedreno ermöglicht vollständig Open-Source-Grafiken auf Geräten wie dem 96Boards Dragonboard 410c und Nexus 7 (2013) .

Siehe auch

Verweise

Externe Links