Grafikprocessor

En grafikprocessor ( engelsk grafikbehandlingsenhet eller GPU för kort; denna delvis överför grafikenhet [1] och, mer sällan, videoenhet [1] eller engelsk videobearbetningsenhet och visuell bearbetningsenhet , kallad VPU för kort [2] ) används för att beräkna grafikspecialiserad och optimerad processor för datorer , spelkonsoler och smartphones . Dessutom matar den ut den beräknade grafiken till en eller flera skärmar. Tidigare hade grafikkort inga egna beräkningsförmågor och var rent utdatakort. Från mitten av 1990-talet integrerades 2D-funktioner och senare rudimentära 3D-funktioner, grafikprocessorn var trådbunden eller programmerbarheten begränsad till dess fasta programvara . Sedan mitten av 2000-talet har huvudprocessorn (CPU) kunnat ladda program på grafikkortet eller i grafikenheten, vilket kan begränsas flexibelt.
GPU kan hittas på de processorer med integrerad grafikenhet på moderkortet (Onboard som integrerade grafikprocessorn ) samt på expansionskort ( instickskort ). I det senare fallet är flera grafikkort möjliga på ett grafikkort eller flera grafikkort per dator. Det finns externa expansionsboxar för bärbara datorer i vilka ett grafikkort kan sättas in. En dedikerad grafikenhet kan byggas in i dockningsstationer . Nästan alla grafikprocessorer för persondatorer som produceras idag kommer från AMD , Intel eller Nvidia . Integrationen på plug-in-kort har å andra sidan funnits hos andra tillverkare under en tid, med undantag för special- och referensmodeller .
Komponenter
Displaykontroll
För att ansluta en skärm till en dator - till exempel via MDA , CGA, etc. - behöver du en så kallad skärmadapter (analog nätverkskort). Chippet på (t.ex.) ISA -kortet är en jämförelsevis enkel bildskärmskontroller . Alla beräkningar för bildsyntes utförs på CPU: n, displaykontrollen packar bara denna dataström till en motsvarande signal (CGA, EGA, ...) för skärmen. Kortet innehåller också lite minne, den så kallade skärmbufferten. displaybuffert.
RAMDAC
RAMDAC är ansvarig för konvertering av digital data, som finns i videominnet / skärmbufferten, till en analog bildsignal.
GCA
Engelsmännen som kallas Graphics and Compute Array (kort GCA) eller "3D -motorn" (från den engelska, 3D -motorn lånad kan också) Grafisk utformas beräkningar. Arrayen består också av de så kallade shader- processorerna , men inkluderar också geometriprocessorn (se även geometry shader ).
Videokomprimering / dekomprimering
Olika komprimeringsalgoritmer har utvecklats för att minska mängden data i en video. Dessa beskriver omfattande beräkningar som måste utföras med den okomprimerade dataströmmen - som redan är omfattande i sig - för att få den komprimerade data från den. För att spela en komprimerad video måste motsvarande beräkningar utföras på den komprimerade dataströmmen.
Dessa beräkningar kan utföras helt eller delvis på grafikkortet , grafikprocessorn eller på en annan applikationsspecifik integrerad krets som utvecklats för detta ändamål.
berättelse
Föregångare till grafikprocessorer har funnits sedan början av 1980 -talet. Vid den tiden fungerade dessa bara som en länk mellan CPU och skärmutgång och kallades därför skärmadaptrar (analoga nätverkskort) videodisplaykontroller . De hade varken funktionen eller var avsedda för oberoende beräkningar. Ursprungligen var de främst ansvariga för oberoende text- och grafikutmatning och skyddade därmed systembussen . Några av dem kunde senare visa sprites på egen hand.
Det förändrades i mitten av 1980-talet med datorer som Commodore Amiga eller Atari ST . Dessa hade redan blitting -funktioner . I x86 -PC -området uppstod grafikprocessorer med sådana ytterligare funktioner med den ökande spridningen av grafiska gränssnitt, särskilt Windows -operativsystemet . Block som ET-4000 / W32 kan bearbeta enkla kommandon (t.ex. "rita fyrkant") oberoende av varandra. På grund av deras huvudsakliga användning under Windows kallades de också "Windows -acceleratorer".
De första 3D-acceleratorerna kom ut på marknaden i mitten av 1990-talet. Dessa grafikprocessorer kunde köra några effekter och triangelbaserade algoritmer (som Z-buffertar , texturmappning ) och anti-aliasing . Sådana plug-in-kort (som 3dfx Voodoo Graphics ) gav dataspelsektorn ett uppsving i utvecklingen. Vid den tiden var sådana applikationer främst begränsade av processorn.
Termen GPU användes först intensivt av Nvidia för att marknadsföra Nvidia GeForce 256 -serien , som dök upp 1999. Detta grafikkort var det första (i detaljhandeln) som utrustades med en T & L -enhet .
På grund av deras specialisering i grafiska beräkningar och koncentration på massivt parallelliserbara uppgifter var och är vanligtvis klart GPU: er överlägsna CPU: er vad gäller deras teoretiska datorkraft. En CPU är utformad för universell databehandling, de enskilda CPU -kärnorna är också mestadels optimerade för snabb behandling av sekventiella uppgifter. GPU, å andra sidan, kännetecknas av en hög grad av parallellisering , eftersom 3D -beräkningar kan parallelliseras mycket bra; för detta specialiserar hon sig på 3D -beräkningar, hon är snabb med beräkningar som använder denna funktionalitet. GPU: n innehåller fortfarande specialiserade enheter ("Fixed Function Units") för vissa uppgifter (t.ex. för texturfiltrering). Ett för närvarande vanligt tillämpningsprogram kan jag på grund av bristen på universalitet. A. Körs inte på en GPU. En algoritm som är begränsad till GPU: s kapacitet, men som fungerar mycket seriellt med relativt liten dataparallellism, kan inte utnyttja GPU: n fullt ut. De relativt små cacheminnena i GPU: n skulle leda till större fördröjningar i programkörningen, vilket på grund av bristande parallellisering av programmet inte kunde kompenseras genom att bearbeta många uppgifter samtidigt. CPU: n är därför snabbare för sekventiella uppgifter.
Prestandafördelen jämfört med processorer för uppgifter som kan parallelliseras mycket och de redan befintliga SIMD- egenskaperna gör nuvarande GPU: er intressanta för vetenskapliga, grafiska och / eller datakrävande applikationer. Denna användning kallas GPGPU . Införandet av GPU har t.ex. B. i volontärdataprojektet Folding @ home ledde till en enorm ökning av datorkraften. Det var ursprungligen begränsat till chips från tillverkaren ATI / AMD, men 2008 tillkom Nvidia GPU: er från GeForce 8 -serien. För grafikkort från Nvidia finns CUDA som ett API för att använda GPU för beräkningar. Detta används nu också för att utföra fysikberäkningar i spel med PhysX . Under tiden finns det den öppna programmeringsplattformen OpenCL , med vilken program för CPU och GPU kan utvecklas lika. Dessutom kan dagens GPU: er beräkna med dubbel precision och inte bara med en enda precision .
Arkitekturer
Ett grafikkort är ett tilläggskort som innehåller grafikprocessorn. Detta grafikkort innehåller också ett antal komponenter som krävs för att grafikprocessorn ska fungera och anslutas till resten av systemet.
Det finns två grundläggande typer av grafikprocessorer: integrerade och diskreta. En integrerad GPU kommer inte alls på sitt eget kort och är istället inbäddad bredvid CPU: n . En diskret GPU är en fristående integrerad krets (mikrochip) som är monterad på sitt eget kretskort och är vanligtvis ansluten till en Perifer Component Interconnect- kortplats .
De flesta GPU: er på marknaden är faktiskt integrerade grafikprocessorer . En CPU med en fullt integrerad GPU på moderkortet möjliggör tunnare och lättare system, lägre strömförbrukning och lägre systemkostnader.
Många datorprogram kan fungera bra med inbyggda GPU: er. För mer resurskrävande applikationer med höga prestandakrav är en diskret GPU bättre lämpad. Dessa GPU: er ökar datorkraften på bekostnad av ytterligare energiförbrukning och värmeproduktion. Diskreta GPU: er kräver i allmänhet sin egen kylning för maximal processorkraft. [3]
Fermi GPU -arkitektur
I den så kallade Fermi GPU-arkitekturen består huvudprocessorn av komplexa processorkärnor med stora cacheminne . Kärnorna är optimerade för enkeltrådad prestanda och kan bearbeta upp till två hårdvarutrådar per kärna med Hyper-Threading .
Däremot består en GPU av hundratals enklare kärnor som kan hantera tusentals samtidiga hårdvarutrådar. GPU: er är utformade för att maximera flytande genomströmning, med de flesta transistorerna i varje kärna ägnad åt beräkning snarare än komplex parallellism på instruktionsnivå och stora cacheminne. Dagens Fermi GPU -arkitektur har acceleratorkärnor som kallas CUDA -kärnor. Varje CUDA kärnan har en enhet för heltal operationer och logiska operationer ( aritmetisk-logisk enhet ) och en enhet för flyttalsoperationer ( FPU ), som exekverar ett heltal eller efter instruktion per flytande klockcykel . En värdgränssnitt ansluter GPU till CPU via Peripheral Component Interconnect Express Bus. GigaThread Global Scheduler distribuerar trådblock till multiprocessor trådschemaläggare. Denna schemaläggare hanterar samtidig körning av kärnan och körningen av block av trådar som är ur funktion.
Varje multiprocessor har belastnings- och lagringsenheter så att käll- och destinationsadresser kan beräknas för flera trådar per klockcykel . Specialfunktionsenheter utför aritmetiska operationer som sinus , cosinus, kvadratrot och interpolering . Varje specialfunktionsenhet utför ett kommando per tråd och per cykel. Multiprocessorn schemalägger trådar i grupper av parallella trådar som kallas varps . Varje multiprocessor har två varp -schemaläggare och två instruktionsutfärdande enheter så att två varp kan utfärdas och köras samtidigt. [4]
Ansökningar
Grafikprocessorn tar på beräkningsintensiva 2D- och 3D- dator grafik uppgifter och därigenom avlastar huvudprocessorn (CPU). Funktionerna styrs via programvarubibliotek som DirectX eller OpenGL . Den frigjorda processortiden kan således användas för andra uppgifter:
- Stöd för de grafiska gränssnitten DirectX och OpenGL
- Antialiasing- delvis vinkeloberoende anti-aliasing
- Anisotrop filtrering - kartläggning / rasterisering av texturer
- Multi -GPU -tekniker - flera grafikprocessorer som arbetar tillsammans
- Gratis programmerbarhet för nästan alla GPU -komponenter ( skuggare , inkluderar T&L )
- Texture - mönsterkartläggning, med hjälp av minst en Texture Mapping Unit (TMU)
- Bildsyntes , med hjälp av minst en Raster Operation Processor (ROP), även känd som en Render Output Unit eller Raster Operations Pipeline
Tidigare användes grafikprocessorer främst för att påskynda 3D -grafikapplikationer i realtid . Men i början av 2000 -talet insåg datavetenskapliga forskare att GPU: er hade potential att lösa några av världens tuffaste dataproblem.
Idag tillämpas grafiktekniken mer och mer på ett ökande antal problem. Dagens grafikprocessorer är mer programmerbara än någonsin, med möjlighet att accelerera ett brett spektrum av applikationer som går långt utöver de traditionella grafik rendering .
Datorspel har blivit mer beräkningsintensiva, med hyperrealistisk grafik och enorma, invecklade världar i spelet. Med avancerad displayteknik som 4K -skärmar och höga uppdateringshastigheter samt virtual reality -spel ökar kraven på grafikbehandling snabbt. GPU: er kan återge grafik i både 2D och 3D .
Tack vare den parallella bearbetningen av GPU: er kan videor och grafik återges snabbare och enklare i format med högre upplösning. Dessutom har moderna GPU: er egna media- och displaymotorer, vilket möjliggör mycket mer energieffektivt skapande och uppspelning av videor.
GPU -teknik kan också användas för artificiell intelligens och maskininlärning . Eftersom GPU: er erbjuder en extra stor datorkraft kan de uppnå en otrolig acceleration som utnyttjar parallell bearbetning i bildigenkänning . Många av dagens djupinlärningstekniker är baserade på GPU: er som fungerar tillsammans med processorer . [3]
Arkitekturer
Familj (kodnamn) | Chipnamn | Varumärken (med namn) | installerad i försäljningsserier (utan att byta namn) |
---|---|---|---|
AMD / ATI [5] | |||
R100 | R100, RV100, RV200, RS100, RS200 | 7xxx, 320-345 | |
R200 | R200, RV250, RV280, RS300 | 8xxx - 9250 | |
R300 | R300, R350, RV350, RV380, RS400, RS480 | 9500 - 9800, X300 - X600, X1050 - X1150, 200M | ATI Radeon 9000 -serien , ATI Radeon X -serien , ATI Radeon X1000 -serien |
R400 | R420, R423, RV410, RS600, RS690, RS740 | X700 - X850, X12xx, 2100 | ATI Radeon X -serien, ATI Radeon X1000 -serien |
R500 | RV515, R520, RV530, RV560, RV570, R580 | X1300 - X2300, HD2300 | ATI Radeon X1000 -serien |
R600 | R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880 | HD2400 - HD4290 | ATI Radeon HD 2000 -serien , ATI Radeon HD 3000 -serien |
R700 | RV770, RV730, RV710, RV740 | HD4330 - HD5165, HD5xxV | ATI Radeon HD 4000 -serien |
Evergreen | Cederträ, Redwood, Juniper, Cypress, Palm ( AMD Wrestler / Ontario ), Sumo / Sumo2 ( AMD Llano ) | HD5430 - HD5970, alla HD6000 som inte är listade under Northern Islands , HD7350 | ATI Radeon HD 5000 -serien |
Norra öarna | Aruba ( AMD Trinity / Richland ), Barts, Turks, Caicos, Cayman | HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670 | AMD Radeon HD 6000 -serien |
GCN 1.0 södra öarna | Kap Verde, Pitcairn, Tahiti, Oland, Hainan | HD7750 - HD7970, R7 240, R7 250, R9 270, R9-280, R7 370, 520, 530 | AMD-Radeon-HD-7000-serien , AMD-Radeon-HD-8000-serien , AMD-Radeon-R200-serien , AMD-Radeon-500-serien |
GCN 1.1 Havsöarna | Bonaire, Kabini , Kaveri och Godavari , Hawaii | HD7790, R7 260, R9 290, R7 360, R9 390 | AMD Radeon R200 -serien , AMD Radeon R300 -serien |
GCN 1.2 vulkaniska öar | Tonga, Fiji, Carrizo, Carrizo-L | R9 285, R9 M295X, R9 380, R9 Fury | AMD Radeon R300 -serien |
GCN 4: e generationen | Polaris | RX 480, RX 470, RX 460, RX540 (X) - RX590 | AMD Radeon 400 -serien , AMD Radeon 500 -serien |
GCN 5: e generationen | Vega | RX Vega 56, RX Vega 64 (vätskekyld), Vega Frontier Edition, VII | AMD Radeon Vega -serien |
RDNA | Navi | RX 5700, RX 5700 XT | AMD Radeon 5000 -serien |
Nvidia [6] | |||
NV04 Fahrenheit | Riva TNT, TNT2 | Nvidia Riva | |
NV10 Celsius | GeForce 256, GeForce 2, GeForce 4 MX | Nvidia GeForce 256 -serien , Nvidia GeForce 2 -serien , Nvidia GeForce 4 -serien MX | |
NV20 Kelvin | GeForce 3, GeForce 4 Ti | Nvidia GeForce 2 -serien , Nvidia GeForce 4 -serien Ti | |
NV30 Rankine | GeForce 5 / GeForce FX | Nvidia GeForce FX -serie | |
NV40 Curie | GeForce 6, GeForce 7 | Nvidia GeForce 6 -serien , Nvidia GeForce 7 -serien | |
NV50 Tesla | GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300 | Nvidia GeForce 8 -serien , 9 -serien , 100 -serien , 300 -serien | |
NVC0 Fermi | GeForce 400, GeForce 500 | Nvidia GeForce 400 -serien , Nvidia GeForce 500 -serien | |
NVE0 Kepler | GeForce 600, GeForce 700, GeForce GTX Titan | Nvidia GeForce 600 -serien , Nvidia GeForce 700 -serien | |
NV110 Maxwell | GeForce 750, GeForce 900 | Nvidia GeForce 900 -serien | |
NV130 Pascal | GeForce GTX 1060, GeForce GTX 1070 (ti), GeForce GTX 1080 (ti), Titan X | Nvidia Geforce 1000 -serien | Nvidia GeForce 10 -serien |
NV140 Volta | GV100 | Titan V, Quadro GV100 | |
NV160 Turing | GeForce RTX 2080 TI, GeForce RTX 2080 Super, GeForce RTX 2080, GeForce RTX 2070 Super, GeForce RTX 2070, GeForce RTX 2060 Super, GeForce RTX 2060 | Nvidia Geforce 2000 -serien | Nvidia GeForce 20 -serien |
Energiförbrukning
Efter att de stora tillverkarna av processorer började i början av 2005 för att minska strömförbrukningen för sina produkter, i vissa fall mycket signifikant, särskilt när belastningen var låg, var det tryck på tillverkarna av grafikprocessorer i detta avseende, men de har hittills gjort motsatsen: avancerade grafikkort konverterar ofta mer än 50 W till värmeförlust även utan belastning [7] , även om det i det här läget praktiskt taget inte är några skillnader i prestanda jämfört med mycket enklare modeller eller inbyggd grafik. I slutet av 2007 lade AMD för första gången effektiva energisparande mekanismer till sina stationära grafikkort med ATI Radeon HD 3000-serien . Nvidia utvecklade HybridPower- processen, vilket gjorde det möjligt att stänga av ett avancerat grafikkort i 2D-läge och byta till det ekonomiska inbyggda grafikkretsen, även om ett hybrid SLI-kompatibelt moderkort var en förutsättning för detta. Efter en relativt kort tid sa Nvidia adjö till detta koncept. Under tiden (2009) har GPU: erna från båda tillverkarna behärskat relativt effektiva energibesparande mekanismer. ( Se även: Grön IT )
tillverkare
För närvarande
AMD , ARM Limited , Qualcomm , Intel , Nvidia , PowerVR
I åratal har Intel varit marknadsledande inom grafikprocessorer för datorer . Den främsta orsaken är det stora antalet kontorsdatorer, som nästan uteslutande är utrustade med grafikprocessorer integrerade på moderkortet , som är en del av kretsarna som huvudsakligen levereras av Intel. AMD och Nvidia delar marknaden när det gäller plug-in-kortbaserade grafiklösningar som är mer lämpliga för PC-spelare.
Före detta
3dfx , 3DLabs , Cirrus Logic , Cyrix , D-Systems , Diamond Multimedia , Matrox , NeoMagic , Oak Technology , S3 Graphics , S3 Inc. , SiS , Trident Microsystems , Tseng Labs , XGI Technology Inc.
På grund av den starka konkurrensen och de därtill hörande höga utvecklingskostnaderna har de flesta tillverkare köpts upp (3dfx, 3DLabs) eller koncentrerar sig på en nischmarknad (Matrox, XGI).
webb-länkar
- Grafikkort 2006–2008 i siffror (tyska)
- GPU -databas (engelska)
- Beräkning för allmänna ändamål med grafikhårdvara
Individuella referenser och kommentarer
- ↑ a b Mali -G52 / V52: ARM ger ny GPU / VPU för AI -smartphones - Golem , den 6 mars 2018
- ↑ Den tidigare grafikkretsstillverkaren 3DLabs använde förkortningen VPU för att referera till hela programmerbarheten av fragment och vertex shaders i sina produkter.
- ↑ a b Intel Corporation: Vad är en GPU?
- ^ ResearchGate GmbH: Grafikbehandlingsenhet (GPU) programmeringsstrategier och trender inom GPU -beräkning
- ↑ RadeonFeature
- ↑ nouveau / CodeNames
- ↑ grafiskt kort: 78 kort i testet ( sidan är inte längre tillgänglig , sök i webbarkiv ) Info: Länken markerades automatiskt som defekt. Kontrollera länken enligt instruktionerna och ta sedan bort detta meddelande. . Obs! GeForce 7600 GS, det mest ekonomiska chipet i tabellen, sägs fortfarande vara 10 W i 2D och 20 till 27 W i 3D -drift i ett test senast 04/2007.