Adreno - Adreno

Aus Wikipedia, der freien Enzyklopädie

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

Geschichte

Adreno (ein Anagramm der AMD -Grafikkartenmarke Radeon ) begann als Qualcomms firmeninterne Grafiktechnologiemarke und wurde in ihren mobilen Chipsatzprodukten verwendet. Zu den frühen Adreno-Modellen gehörten die Adreno 100 und 110 mit 2D-Grafikbeschleunigung und eingeschränkten Multimedia-Funktionen. Zu dieser Zeit wurden 3D-Grafiken auf mobilen Plattformen häufig mit softwarebasierten Rendering-Engines verarbeitet, was ihre Leistung einschränkte. Aufgrund der wachsenden Nachfrage nach erweiterten Multimedia- und 3D-Grafikfunktionen lizenzierte Qualcomm das Imageon IP von AMD, um seinen mobilen Produkten hardwarebeschleunigte 3D-Funktionen hinzuzufügen. Die weitere Zusammenarbeit mit AMD führte zur Entwicklung des 2008 veröffentlichten Adreno 200, der in den ersten Snapdragon SoC integriert wurde . Im Januar 2009 verkaufte AMD seine gesamte Imageon -Division für Handheld-Gerätegrafiken an Qualcomm.

Technische Details

Varianten

Das Unternehmen bietet Adreno-GPUs in verschiedenen Typen als Bestandteil seiner Snapdragon- SoCs an:

Name Mikroarchitektur Fab ( nm ) Takt [ MHz ] Speichertechnologie Füllrate GFLOPS API (Version) Verwendet in Qualcomm ... Verweise
Art 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
Stargate 0,6 0,09 1.1
Adreno 1xx Serie
Adreno 100 1.0
Adreno 110 1.1
Adreno 120 Pipeline mit fester Funktion 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 Einkanaliges 32-Bit bei 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
( Funktionsstufe 9_3 )
Löwenmaul S1 (MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53
Adreno 200 'verbessert' 45 200 245 LPDDR -400 Einkanaliges 32-Bit bei 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 Einkanaliges 32-Bit bei 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
( Funktionsstufe 9_3 )
Löwenmaul S3 (APQ8060, MSM8x60)
Adreno 225 28 200 300 400 LPDDR2 -1000 Zweikanaliges 32-Bit (64-Bit) bei 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 Einheitliches Shader-Modell
Skalar-Befehlssatz
24

[24]

96 KB 28 400 LPDDR2 / 3 -768/1066 Einkanaliges 32-Bit bei 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
( Funktionsstufe 9_3 )
Löwenmaul 208 , Löwenmaul 210 , Löwenmaul 212
Adreno 305 (1. Gen.) 256 KB 400 450 LPDDR2 -800 Einkanaliges 32-Bit bei 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 Einkanal 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 Einkanaliges 32-Bit bei 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 Einkanaliges 32-Bit bei 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 Zweikanaliges 32-Bit (64-Bit) bei 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 Zweikanaliges 32-Bit (64-Bit) bei 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 Serie
Adreno 405 Einheitliches Shader-Modell 48

[48]

256 KB 28 550 LPDDR3 -1333/1866 Einkanaliges 32-Bit bei 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
( Funktionsstufe 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 Zweikanaliges 32-Bit (64-Bit) bei 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 Zweikanaliger 64-Bit (128-Bit) bei 800 MHz (25,6 GB / s) 281,3 337,5

(0,56 Tr / Uhr)

4

4.8

(8,2 Px / Uhr)

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 Zweikanalige 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 Unified Shader-Modell + Unified Memory ? ? 12 ? LPDDR3 -1600 Einkanaliges 32-Bit bei 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
( Funktionsstufe 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 Einkanaliges 32-Bit bei 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 Zweikanaliger 16-Bit (32-Bit) bei 1333 MHz (10,6 GB / s) ? ? ? 41.6 166.4 332.8 Löwenmaul 630
Adreno 509 256 + 16 KB 720 LPDDR4 -2666 Zweikanaliges 32-Bit (64-Bit) bei 1333 MHz (21,3 GB / s) ? ? ? 46.0 184.3 368.6 Löwenmaul 636
Adreno 510 256 KB 28 600 LPDDR3 -1866 Zweikanaliges 32-Bit (64-Bit) bei 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 (MSM8900),

Löwenmaul 653 (MSM8976PRO)

Adreno 512 256 + 16 KB 14 850 LPDDR4 -3732 Vierkanal-16-Bit (64-Bit) bei 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
( Funktionsstufe 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 Unified Shader-Modell + Unified Memory 128 + 8 KB 14 1.0 und 1.1 3.2 2.0 voll WIP (Freedreno-Treiber) 12
( Funktionsstufe 12_1 )
Adreno 610 128 [128] ? 11 1067 68.2 273.1 546.3 Löwenmaul 460
Löwenmaul 662
Löwenmaul 665
Adreno 612 256 + 16 KB 845 LPDDR4X -3732 Zweikanaliger 16-Bit (32-Bit) bei 1866 MHz (14,9 GB / s) Löwenmaul 675
Löwenmaul 678
Adreno 615 256

[128]

512 KB 10 700 89.6 358.4 716.8 QCS603, QCS605, Snapdragon 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
Adreno 619L Löwenmaul 690
Adreno 619 825

950

LPDDR4X -4266 Zweikanaliger 16-Bit (32-Bit) bei 2133 MHz (17,0 GB / s)
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) bei 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) bei 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
Adreno 650 1024

[512]

? und 300 Go / s 24 * 2 587 670 LPDDR4X -4266 oder LPDDR5 -6400 Vierkanal-16-Bit (64-Bit) bei 2133 MHz oder 2750 MHz (34,1 GB / s oder 44,0 GB / s) 14.x (est.) 28,1 (est.) 300,5 343,0 1202.1 1372.1 2404,3 2744,3 Löwenmaul 865/865 +
Löwenmaul 870
Adreno 660 1024

[512]

5 792 905 LPDDR5 -6400 Vierkanal-16-Bit (64-Bit) bei 3200 MHz (51,2 GB / s) 405,5 463,3 1622.0 1853.4 3244.0 3706.8 Löwenmaul 888
Adreno 675 1344 [672] ? 7 590 LPDDR4X -4266 Quad-Channel 16-Bit (64-Bit) bei 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) bei 2133 MHz (68,2 GB / s) 460.8 1843.2 3686,4 Löwenmaul 8cx Gen 1/2
Adreno 685 ? 661 680 507,6 522,2 2030,5 2088,9 4061,1 4177,9 Microsoft SQ1
Adreno 690 250 590 192.0 453.1 768,0 1812,4 1536.0 3624.9 Microsoft SQ2
Name Art 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 Millionen Dreiecke / Sekunde, 133 Millionen 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 Millionen Dreiecke / Sekunde, 200 Millionen Pixel / Sekunde, Taktrate bis zu 200 MHz).
  • Adreno 203 im MSM8225 und MSM8225Q (400 MHz). Es ist eine Verbesserung gegenüber Adreno 205. Es verfügt über eine höhere Frequenz, eine bessere Pixelfüllrate, einen geringeren Stromverbrauch und eine bessere 3D-Leistung. Es ist ungefähr 50-100% schneller als Adreno 200 (erweitert) und 10–25% schneller als Adreno 205. Es könnte 2-mal höher als Adreno 205 sein. 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 M Dreiecke / Sekunde, 250-300 M Pixel / Sekunde, Taktrate von 192-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 das Adreno 200. 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. (57 Millionen Dreiecke / Sekunde, 250 Millionen Pixel / Sekunde, Taktrate bis zu 400 MHz)
  • Adreno 220 im MSM8660 oder MSM8260 (266 MHz) mit einkanaligem 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 M Dreiecke / Sekunde, 500 M Pixel / Sekunde, Standardtaktrate bis 266 MHz, Übertaktung bis 400 MHz).
  • Adreno 225 im MSM8960 (400 MHz) mit einheitlicher Shader-Architektur und zweikanaligem 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-Serie mit einheitlicher Shader-Architektur und zweikanaligem Speicher. Es unterstützt Direct3D-Funktionsstufe 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 und SVGT 1.2
  • Adreno 330 im Nexus 5, Tablets der Amazon Kindle HDX-Serie, Amazon Fire-Telefon, Nokia Lumia 2520-Tablet, Nokia Lumia 1520, Nokia Lumia-Symbol, Nokia Lumia 930, Samsung Galaxy S5, Samsung Galaxy Note 3, Sony Xperia Z1, Sony Xperia Z1 Kompakte Smartphones: 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.
  • Adreno 420 im Qualcomm Snapdragon 805 unterstützt die Direct3D 11.2-Laufzeit ( Funktionsstufe 11_1 ). Im Google Nexus 6 befinden sich das Samsung Galaxy S5 LTE-A, das Samsung Galaxy Note 4, das Samsung Galaxy Note Edge und das LG G3 Cat. 6, Amazon Fire HDX 8.9 (2014). Der Qualcomm Snapdragon 805 ist der erste SoC eines Telefons, der über einen 128-Bit-Speicherbus verfügt.
  • Adreno 540 im Qualcomm Snapdragon 835 ist der erste Telefon-SoC mit variabler Aktualisierungsrate und Foveated Rendering / Variate Rate Shading. Qualcomm nennt seine Implementierungen Q-Sync und Adreno Foveation.
  • Adreno 630 innerhalb des Qualcomm Snapdragon 845 ist das erste Handy SoC - Funktion Inside-Out - Raum-Skala 6DoF mit SLAM
  • Der Adreno 640 im Qualcomm Snapdragon 855 ist der erste Telefon-SoC mit aktualisierbaren GPU-Treibern aus dem Google Play Store
  • Der Adreno 660 im Qualcomm Snapdragon 888 ist der erste Telefon-SoC mit VRS ( Variable Rate Shading ).

Betriebssystemunterstützung

Es gibt proprietäre Treiber für das Linux- basierte mobile Betriebssystem Android, die von Qualcomm selbst erhältlich sind. In der Vergangenheit war die einzige Möglichkeit, GPU-Unterstützung unter Nicht-Android-Linux zu erhalten, der libhybris- Wrapper.

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

Siehe auch

Verweise

Externe Links