Grafikkort

Videokort (även videoadapter [1] , grafikkort [2] , grafikkort [1] , grafikkort , grafikkort , grafikaccelerator [3] ) är en enhet som konverterar en grafisk bild som lagras som innehållet i en dator . s minne (eller själva adaptern) i form som lämpar sig för ytterligare visning på skärmen . Vanligtvis är grafikkortet gjort i form av ett tryckt kretskort ( förlängningskort ) och sätts in i expansionsfacket på moderkortet, universell eller specialiserad ( AGP [4] , PCI Express ) [5] [6] .

Grafikkort som finns på moderkortet är också utbredda  - både i form av ett separat separat GPU-chip och som en integrerad del av den norra bryggan av chipset eller CPU ; i fallet med en CPU kan den inbyggda (integrerade [7] ) GPU:n strängt taget inte kallas ett grafikkort .

Grafikkort är inte begränsade till enkel bildutmatning, de har en integrerad grafikprocessor som kan utföra ytterligare bearbetning, vilket tar bort denna uppgift från datorns centrala processor [8] . Till exempel, Nvidia och AMD ( ATi ) grafikkort återger OpenGL och DirectX och Vulkan grafik pipeline i hårdvara [9] .

Det finns också en tendens att använda datorkraften hos GPU:n för att lösa icke-grafiska uppgifter (till exempel cryptocurrency mining ).

Historik

Whirlwind , byggd mellan 1944 och 1953, anses vara den första datorn utrustad med en bildvisningsenhet . Videoadaptern på Whirlwind-datorn kunde visa upp till 6250 punkter per sekund med adressering 2048 × 2048 positioner, eller upp till 550 siffror, och var också utrustad med en ljuspenna [10] .

I mars 1973 kom minidatorn Xerox Alto , som kan kallas den första persondatorn [11] . Alto hade ett grafiskt gränssnitt med en fönster- och skrivbordsmetafor , för vilken den var utrustad med en skärmkontroll [12][ betydelsen av faktum? ] , som gjorde det möjligt att visa en monokrom bild med en upplösning på 606 × 808 pixlar och en porträttmonitor.

1975 började Altair 8800 säljas . Från början var den inte utrustad med någon I/O, förutom en uppsättning växlingsknappar och lysdioder på frontpanelen. Den skulle vara ansluten till en teletyp- eller textterminal. Men 1976 började ett grafikkort säljas [13] Cromemco Dazzler , som gjorde det möjligt att visa en färgbild bildad i datorns minne på skärmen på en vanlig hushålls-TV [14] . Den första versionen tillät att visa en bild upp till 128×128 pixlar, nästa generation - upp till 756×484.

Videoadaptern MDA ( Monochrome  Display Adapter ) släpptes av IBM 1981 för IBM PC [15] . Den stödde en upplösning på 720x350 pixlar och fungerade endast i textläge, och visade upp till 25 rader på skärmen. Det kunde inte överföra någon färg eller grafisk information [1] . Hercules släppte 1982 en vidareutveckling av MDA-adaptern, HGC ( Hercules Graphics Controller ) videoadapter , som stödde två grafiska sidor, men som fortfarande inte tillät arbete med färg.  

Det första färggrafikkortet för PC :n var CGA ( Color Graphics Adapter ), som släpptes av IBM 1981 .  Det kan fungera antingen i textläge, visa 16 färger av tecken, eller i grafiskt läge, visa fyrfärgsbilder i låg (320 × 200) upplösning. 640x200 högupplöst läge var monokromt. I utvecklingen av detta kort, 1984, dök EGA upp ( Engelska Enhanced Graphics Adapter ) - en förbättrad grafikadapter, med en palett utökad till 64 färger [1] . Upplösningen har förbättrats till 640×350. En egenskap hos dessa adaptrar var att de använde ISA -bussplatsen , som har en öppen arkitektur, i samband med vilken användaren självständigt kunde ändra grafikkortet till det önskade [1] .  

Gränssnitten med bildskärmen för alla dessa typer av videoadaptrar var digitala, MDA och HGC överfördes endast oavsett om punkten är tänd eller inte tänd och en extra ljusstyrkasignal för textattributet "bright", på samma sätt som CGA på tre kanaler (röd, grön, blå) sände huvudvideosignalen och kunde dessutom sända en luminanssignal (totalt 16 färger), EGA hade två transmissionslinjer för var och en av primärfärgerna, det vill säga varje primärfärg kunde visas med full ljusstyrka, 2 /3 eller 1/3 av full ljusstyrka, vilket gav totalt max 64 färger.

1987 dök en ny grafikadapter MCGA ( Engelska  Multicolor Graphics Adapter ) upp, där IBM-ingenjörer lyckades öka textläget till 50 rader, och grafikläget till 262 144 färger, och därför blev det nödvändigt att byta från digital till analog signal för monitorn . Sedan gick IBM ännu längre och släppte några månader senare VGA ( English  Video Graphics Array ), som blev de facto-standarden för videoadaptrar under många år. I grafikläge var dess upplösning 640x480 och var anmärkningsvärd för det faktum att förhållandet mellan antalet pixlar horisontellt och vertikalt sammanföll med standardformatet (för den tiden) för bildskärmen - 4:3. Sedan 1991 har konceptet SVGA (Super VGA) dykt upp - en förlängning av VGA med tillägg av högre lägen. Antalet samtidigt visade färger med en upplösning på 800x600 ökar till 65 536 (Hög färg, 16 bitar) och 16 777 216 (True Color, 24 bitar) [1] . Stöd för VBE framgår av servicefunktionerna (VESA BIOS Extention - VESA standard BIOS extension ). SVGA har accepterats som de facto videoadapterstandard sedan ungefär mitten av 1992 , efter antagandet av VBE version 1.0-standarden av VESA . Fram till det ögonblicket var nästan alla SVGA-videoadaptrar inkompatibla med varandra.

Det grafiska användargränssnittet , som dök upp i många operativsystem , stimulerade ett nytt steg i utvecklingen av videoadaptrar [1] . Begreppet "grafisk accelerator" (grafisk accelerator) visas. Dessa är videoadaptrar som utför vissa grafikfunktioner på hårdvarunivå. Dessa funktioner inkluderar: flytta stora bildblock från ett område på skärmen till ett annat (till exempel när du flyttar ett fönster), fylla ut områden i bilden, rita linjer, bågar, typsnitt, stöd för en hårdvarumarkör, etc. A direkt drivkraft för utvecklingen av en sådan specialiserad enhet Det visade sig att det grafiska användargränssnittet utan tvekan är bekvämt, men dess användning kräver avsevärda datorresurser från centralprocessorn, och grafikacceleratorn är bara utformad för att ta bort lejonparten av beräkningarna för den sista visningen av bilden på skärmen.

3D-acceleratorer

Termen 3D-accelerator i sig betyder formellt ett extra expansionskort som utför hjälpfunktioner för att påskynda bildandet av tredimensionell grafik . Att visa resultatet som en 2D-bild och överföra det till monitorn är inte 3D-acceleratorns uppgift. 3D-acceleratorer i form av en separat enhet hittas nästan aldrig. Nästan alla (förutom mycket specialiserade) grafikkort, inklusive integrerade grafikadaptrar som en del av processorer och systemlogik , utför hårdvaruacceleration för att visa tvådimensionell och tredimensionell grafik .

Hårdvaruacceleration av bildandet av grafiska bilder ingick ursprungligen i egenskaperna hos många persondatorer , men den första modellen av IBM PC hade bara textlägen och hade inte förmågan att visa grafik. Även om de första grafikkorten för IBM PC-kompatibla datorer med stöd för hårdvaruacceleration av 2D- och 3D-grafik dök upp ganska tidigt. Så redan 1984 började IBM tillverka och sälja grafikkort av PGC -standarden . PGC designades för professionellt bruk, hårdvaruaccelererade 2D- och 3D-primitiver, och var en lösning främst för CAD - applikationer. IBM PGC hade en extremt hög kostnad. Priset på detta grafikkort var mycket högre än själva datorn, så sådana lösningar fick ingen betydande distribution. Det fanns grafikkort och 3D-acceleratorer från andra tillverkare på marknaden för professionella lösningar.

Distributionen av prisvärda 3D-acceleratorer för IBM PC-kompatibla datorer började 1994 . Det första grafikkortet som stödde hårdvaruaccelererad 3D-grafikvisning var Matrox Impression Plus , som släpptes 1994 (med Matrox Athena -chip ). Senare samma år introducerar Matrox det nya Matrox Storm -chippet och ett grafikkort baserat på dess Matrox Millennium.

1995 släppte S3 Graphics , som vid den tiden var en erkänd och lovande tillverkare av grafikkort med 2D-rastergrafikacceleration, en av de första massproducerade 3D-acceleratorerna baserade på S3 ViRGE- chipset . Men användningen av dessa grafikkort i verkliga scenarier visade medioker prestanda, och därför var det omöjligt att kalla dem 3D- grafikacceleratorer i bokstavlig mening. Samtidigt visade grafikkorten Matrox Mistique och ATI 3D Rage de bästa resultaten [16] .

Samma år släpper flera företag redan nya grafikchip med stöd för hårdvaruacceleration av 3D-grafikgenerering. Så Matrox släpper MGA-2064W, Number Nine Visual Technology firar lanseringen av Imagine 128-II GPU, Yamaha introducerar YGV611 och YGV612 chips, 3DLabs släpper Glint 300SX och Nvidia  släpper NV1 (som också släpps under en avtal med SGS-THOMSON under namnet STG2000). Samma år släpps, baserat på dessa lösningar, ett stort antal grafikkort från olika tillverkare med stöd för 3D-grafikacceleration.

Ett verkligt genombrott på marknaden för 3D-acceleratorer och grafikkort med hårdvaruaccelererad 3D-grafik var 1996. I år var året för massintroduktion och popularisering av hårdvaru-3D-grafik på IBM PC-kompatibla datorer. I år finns det nya grafiska lösningar från 3DLabs, Matrox, ATI Technologies , S3 , Rendition , Chromatic Research , Number Nine Visual Technology , Trident Microsystems , PowerVR . Även om det finns många 3D-acceleratorer och fullfjädrade grafikkort med 3D-grafikaccelerationsfunktioner baserade på dessa GPU:er i år, är huvudhändelsen lanseringen av 3D-acceleratorer baserade på 3Dfx Voodoo Graphics -chipset . 3dfx Interactive, som tidigare producerade specialiserade 3D-acceleratorer för arkadmaskiner , introducerade en uppsättning chips för IBM PC-kompatibla datormarknaden. Hastigheten och kvaliteten på renderingen av 3D-scener gjorda av Voodoo Graphics-kort var på samma nivå som spelmaskiner , och de flesta grafikkortstillverkare började släppa 3D-acceleratorer baserade på Voodoo Graphics-setet, och snart stödde de flesta datorspelstillverkare Voodoo Graphics och släppte nya spel för IBM PC-kompatibla datorer med en helt ny nivå av 3D-grafik. Det har skett en explosion av intresse för 3D-spel och följaktligen för 3D-acceleratorer.

Sedan 1998 har SLI-teknik (Scan Line Interleave) utvecklats (3dfx-företaget, Voodoo2-kort ) , som gör det möjligt att använda  kraften hos flera sammankopplade grafikkort för att bearbeta en tredimensionell bild.  

Professionella videoacceleratorer

Professionella grafikkort är grafikkort orienterade för att fungera i grafikstationer och användas i matematiska och grafiska paket av 2D- och 3D-modellering ( AutoCAD , MATLAB ), som belastas hårt när man beräknar och ritar modeller av designade objekt.

Kärnan i professionella videoacceleratorer från huvudtillverkarna, AMD och NVIDIA , "inifrån" skiljer sig lite från sina spelmotsvarigheter. De har länge förenat sina GPU:er och använder dem inom olika områden. Det var detta drag som gjorde det möjligt för dessa företag att tvinga bort företag från marknaden som är involverade i utveckling och marknadsföring av specialiserade grafikkretsar för professionella applikationer.

Särskild uppmärksamhet ägnas åt undersystemet för videominne , eftersom detta är en särskilt viktig komponent i professionella acceleratorer, som bär huvudbelastningen när man arbetar med gigantiska modeller; I synnerhet, förutom märkbart stora mängder minne för jämförbara kort, kan videokort från det professionella segmentet använda ECC-minne [17] .

Separat finns det Matrox- produkter , vars högspecialiserade acceleratorer, från och med 2017, användes för videokodning, TV-signalbehandling och arbete med komplex 2D-grafik.

Enhet

Grafikkortet består av följande delar [3] :

GPU

Grafikprocessorn ( eng.  Graphics Processing Unit (GPU) - lit .: "graphic processing unit") är engagerad i beräkningen av den utgående bilden ( rendering ), bearbetar 2D och 3D-grafik [3] . Grafiska processorer är inte mycket sämre i komplexitet än en dators centralenhet och överträffar den ofta både i antal transistorer och i datorkraft, på grund av det stora antalet universella beräkningsenheter. Men den tidigare generationens GPU-arkitektur förutsätter vanligtvis närvaron av flera informationsbehandlingsenheter , nämligen: en 2D-grafikbehandlingsenhet, en 3D-grafikbehandlingsenhet, i sin tur, vanligtvis uppdelad i en geometrisk kärna (plus en vertexcache) och en rastreringsenhet (plus en texturcache ) och etc.

Videominne

Förutom databussen är den andra flaskhalsen för en videoadapter bandbredden ( engelska  bandwidth ) på minnet för själva videoadaptern. Dessutom uppstod problemet initialt inte så mycket på grund av hastigheten för att bearbeta videodata (ofta finns det ett problem med informations "hunger" hos videostyrenheten , när den bearbetar data snabbare än den hinner läsa/skriva från/till video minne), men på grund av behovet av att komma åt dem från videoprocessor, CPU och RAMDAC- sidor . Faktum är att vid höga upplösningar och ett stort färgdjup, för att visa en sida av skärmen på monitorn, är det nödvändigt att läsa all denna data från videominnet och konvertera den till en analog signal, som kommer att gå till bildskärmen lika många gånger per sekund som bildskärmen visar bilder per sekund. Låt oss ta volymen på en sida på skärmen med en upplösning på 1024x768 pixlar och ett färgdjup på 24 bitar (True Color), detta är 2,25 MB. Vid en bildhastighet på 75 Hz är det nödvändigt att läsa denna sida från videoadapterns minne 75 gånger per sekund (de lästa pixlarna överförs till RAMDAC, och den omvandlar digitala data om pixelns färg till en analog signal som skickas till monitorn), och du kan inte dröja eller hoppa över en pixel, därför är den nominellt erforderliga videominnets bandbredd för denna upplösning cirka 170 MB/s, och detta tar inte hänsyn till det faktum att videokontrollenheten själv måste skriva och läsa data från detta minne. För en upplösning på 1600x1200x32 bitar vid samma bildhastighet på 75 Hz är den nominella erforderliga bandbredden redan 550 MB/s. Som jämförelse hade Pentium II-processorn en maximal minneshastighet på 528 MB/s. Problemet skulle kunna lösas på två sätt - antingen använd speciella typer av minne som gör att två enheter kan läsa från det samtidigt, eller installera mycket snabbt minne.

Typer av videominne [18] :

  • Tidiga grafikkort ställde inga speciella prestandakrav och använde standardminnestyper - statiskt statiskt RAM (till exempel i en MDA-adapter) eller dynamiskt dynamiskt RAM .
  • FPM DRAM (Fast Page Mode Dynamic RAM - dynamiskt RAM med snabb sidåtkomst) är huvudtypen av videominne, identisk med det som används på moderkort. Använder asynkron åtkomst, där styrsignaler inte är styvt bundna till systemets klockfrekvens. Används aktivt fram till ca 1996.
  • VRAM (Video RAM - video RAM) - den så kallade dual-port DRAM. Denna typ av minne ger åtkomst till data från två enheter samtidigt, det vill säga det är möjligt att samtidigt skriva data till valfri minnescell och samtidigt läsa data från någon angränsande cell. På grund av detta låter den dig samtidigt visa bilden på skärmen och dess bearbetning i videominnet, vilket minskar åtkomstförseningar och ökar arbetshastigheten. Det vill säga, RAMDAC kan fritt visa skärmbufferten på monitorskärmen om och om igen, utan att det minsta störa videoprocessorn för att utföra några datamanipulationer. Men detta är fortfarande samma DRAM, och dess hastighet är inte för hög.
  • WRAM (Window RAM) är en variant av VRAM med en bandbredd ökad med ~25% och stöd för vissa ofta använda funktioner, såsom rendering av typsnitt, rörliga bildblock, etc. Det används nästan uteslutande på Matrox och Number Nine acceleratorer, eftersom kräver speciella metoder för att komma åt och bearbeta data. Närvaron av endast en tillverkare av denna typ av minne ( Samsung ) minskade avsevärt möjligheten för dess användning. Videoadaptrar som är byggda med den här typen av minne tenderar inte att sjunka i prestanda när höga upplösningar och skärmuppdateringshastigheter är inställda; på minne med en port tar RAMDAC i sådana fall upp videominnesåtkomstbussen mer och mer tid, och videoadapterns prestanda kan sjunka avsevärt.
  • EDO DRAM (Extended Data Out DRAM - dynamiskt RAM med utökad datalagringstid vid utgången) är en typ av minne med pipelining-element som gör att du kan påskynda utbytet av datablock med videominne något med cirka 25%.
  • SDRAM (Synchronous Dynamic RAM - synkront dynamiskt RAM) har ersatt EDO DRAM och andra asynkrona enportsminnestyper. Efter den första minnesläsningen eller den första minnesskrivningen sker efterföljande läsningar eller skrivningar med noll latens. Detta uppnår högsta möjliga hastighet för att läsa och skriva data.
  • DDR SDRAM (Double Data Rate) är en variant av SDRAM med dataöverföring över två signalskivor som erhålls som ett resultat av fördubbling av drifthastigheten. Ytterligare utveckling sker fortfarande i form av ytterligare en komprimering av antalet paket i en busscykel - DDR2 SDRAM (GDDR2), DDR3 SDRAM , etc.
  • SGRAM (Synchronous Graphics RAM) är en variant av DRAM med synkron åtkomst. I princip är driften av SGRAM helt lik SDRAM, men vissa mer specifika funktioner stöds dessutom, såsom block- och maskinspelning. Till skillnad från VRAM och WRAM är SGRAM enport, men det kan öppna två sidor med minne som en, vilket emulerar dubbla portar av andra typer av videominne.
  • MDRAM (Multibank DRAM - multibank RAM) är en variant av DRAM utvecklad av MoSys, organiserad i form av många oberoende banker på 32 KiB vardera, som arbetar i ett pipeline-läge.
  • RDRAM (RAMBus DRAM) är ett minne som använder en speciell dataöverföringskanal (Rambus Channel), som är en databuss en byte bred. Det är möjligt att överföra information över denna kanal i mycket stora strömmar, den högsta dataöverföringshastigheten för en kanal för tillfället är 1600 MB/s (frekvens 800 MHz, data överförs över båda pulssnitten). Flera minneschips kan anslutas till en sådan kanal. Styrenheten för detta minne fungerar med en Rambus-kanal, fyra sådana styrenheter kan placeras på ett logikchip, vilket innebär att det i teorin är möjligt att stödja upp till 4 sådana kanaler, vilket ger en maximal genomströmning på 6,4 Gb/s. Nackdelen med detta minne är att du behöver läsa information i stora block, annars sjunker dess prestanda kraftigt.

Mängden RAM-minne för grafikkort varierar från 4 KB (till exempel i MDA) till 48 GB (till exempel NVIDIA Quadro RTX 8000 ) [19] . Eftersom åtkomst till GPU-videominne och andra elektroniska komponenter måste ge önskad hög prestanda för hela grafiska delsystemet som helhet, används specialiserade höghastighetsminnestyper, såsom SGRAM , VRAM med dubbla portar , WRAM och andra .  Sedan cirka 2003 var videominne som regel baserat på DDR -tekniken för SDRAM-minne , med dubbelt så effektiv frekvens (dataöverföring synkroniseras inte bara på den stigande kanten av klocksignalen, utan också på den fallande kanten). Och i framtiden DDR2 , GDDR3 , GDDR4 , GDDR5 och vid tiden för 2016 [20] GDDR5X . I och med lanseringen av AMD Fury-serien med högpresterande grafikkort, tillsammans med det redan väletablerade GDDR -minnet på marknaden , började en ny typ av HBM- minne användas , som erbjuder betydligt högre bandbredd och förenklar själva grafikkortet, på grund av frånvaron av behov av ledningar och avlödning av minneschips. Toppdataöverföringshastigheten (bandbredden) för grafikkortsminnet når 480 GB / s för minnestypen GDDR5X (till exempel NVIDIA TITAN X Pascal [21] ) och 672 GB / s för GDDR6-minnestypen (till exempel TITAN RTX [22] ).

Videominne används för tillfällig lagring, förutom själva bilddata och andra: texturer , shaders , vertexbuffertar , Z-buffert (avstånd för bildelement i 3D-grafik ) och liknande grafikundersystemdata (med undantag för det mesta, av Video BIOS-data, GPU-internminne, etc.) och koder.

Video RAM

Videominnet utför funktionen av en bildbuffert , som lagrar en bild som genereras och ständigt modifieras av GPU:n och visas på skärmen (eller flera skärmar). Videominnet lagrar också mellanliggande delar av bilden som är osynliga på skärmen och annan data. För närvarande (2021) finns det 7 typer av minne för grafikkort : DDR , GDDR2 , GDDR3 , GDDR4 , GDDR5 , GDDR6 och HBM . Förutom videominnet som finns på grafikkortet använder grafikprocessorer vanligtvis en del av datorns totala systemminne i sitt arbete, direkt åtkomst till detta organiseras av grafikkortets drivrutin via AGP- eller PCI-e-bussen . Vid användning av Uniform Memory Access -arkitekturen används en del av datorns systemminne som videominne.

Videokontroll

Videostyrenheten är ansvarig för att bilda bilden i videominnet, instruerar RAMDAC att generera avsökningssignaler för monitorn och behandlar förfrågningar från den centrala processorn. Dessutom finns det vanligtvis en extern databusskontroller (till exempel PCI eller AGP), en intern databusskontroller och en videominneskontroller. Bredden på den interna bussen och videominnesbussen är vanligtvis större än den externa (64, 128 eller 256 bitar mot 16 eller 32), RAMDAC är också inbyggd i många videokontroller.

Grafikadaptrar (AMD, nVidia) har vanligtvis minst två videokontroller som fungerar oberoende av varandra och styr en eller flera skärmar samtidigt vardera.

RAMDAC och TMDS

En digital-till-analog-omvandlare (DAC; RAMDAC - Random Access Memory Digital-to-Analog Converter ) används för att omvandla bilden som genereras av videokontrollen till färgintensitetsnivåer som levereras till en analog monitor. Det möjliga färgomfånget för bilden bestäms endast av RAMDAC-parametrarna. Oftast har RAMDAC fyra huvudblock: tre digital-till-analog-omvandlare, en för varje färgkanal (röd, grön, blå - RGB) och SRAM för lagring av gammakorrigeringsdata. De flesta DAC:er har ett bitdjup på 8 bitar per kanal - det visar sig 256 ljusstyrkanivåer för varje primärfärg, vilket ger totalt 16,7 miljoner färger (och på grund av gammakorrigering är det möjligt att visa de ursprungliga 16,7 miljoner färgerna i mycket större färgrymd). Vissa RAMDAC:er har 10 bitar per kanal (1024 ljusstyrkanivåer), vilket gör att du omedelbart kan visa mer än 1 miljard färger, men den här funktionen används praktiskt taget inte. För att stödja en andra bildskärm installeras ofta en andra DAC.

TMDS ( Transition-minimized differential signaling  ) digital signalsändare utan DAC-konverteringar. Används för DVI-D, HDMI, DisplayPort-anslutningar. Med spridningen av LCD-skärmar och plasmapaneler har behovet av att överföra en analog signal försvunnit - till skillnad från CRT-apparater har de inte längre en analog komponent och arbetar internt med digital data. För att undvika onödiga konverteringar utvecklar Silicon Image TMDS.

Video ROM

Video ROM (Video ROM) är ett skrivskyddat minne (ROM) som innehåller grafikkorts BIOS , skärmteckensnitt , servicetabeller, etc. ROM används inte direkt av videostyrenheten - bara den centrala processorn kommer åt det.

BIOS säkerställer initieringen och driften av grafikkortet innan huvudoperativsystemet laddas , ställer in alla lågnivåparametrar för grafikkortet, inklusive driftfrekvenser och matningsspänningar för GPU:n och videominnet, och minnestider. VBIOS innehåller också systemdata som kan läsas och tolkas av videodrivrutinen under drift (beroende på metod för ansvarsfördelning mellan drivrutinen och BIOS). Många kort är utrustade med elektriskt omprogrammerbar ROM ( EEPROM , Flash ROM ) som gör att användaren kan skriva över video-BIOS av användaren med hjälp av ett speciellt program.

Gränssnitt

Det första hindret för att öka hastigheten på ett videosystem är datagränssnittet som videoadaptern är ansluten till. Oavsett hur snabb processorn på videoadaptern är, kommer de flesta av dess funktioner att förbli oanvända om de lämpliga kanalerna för utbyte av information mellan den, centralprocessorn, datorns RAM och ytterligare videoenheter inte tillhandahålls.

Den huvudsakliga dataöverföringskanalen är naturligtvis moderkortets gränssnittsbussen, genom vilken data utbyts med centralprocessorn och RAM. Den allra första bussen som användes i IBM PC var XT-Bus , den hade en bredd på 8 bitar av data och 20 bitar av adress och arbetade med en frekvens på 4,77 MHz . Sedan kom ISA-bussen (Industry Standard Architecture - industristandardarkitektur), den hade en bitbredd på 8/16 bitar och opererade med en frekvens på 8 MHz. Toppkapaciteten var drygt 5,5 MiB/s. Detta var mer än tillräckligt för att visa textinformation och spel med 16-färgsgrafik.

Ett ytterligare genombrott var uppkomsten av MCA -bussen (Micro Channel Architecture) i den nya serien av PS/2-datorer från IBM. Den hade redan ett bitdjup på 32/32 bitar och en toppbandbredd på 40 Mb/s. Men det faktum att MCI-arkitekturen stängdes (IBMs egendom) fick andra tillverkare att leta efter andra sätt att öka genomströmningen av huvudåtkomstkanalen till videoadaptern.

Med tillkomsten av 486-seriens processorer föreslogs det att använda den lokala bussen för själva processorn för att ansluta kringutrustning, som ett resultat föddes VLB (VESA Local Bus - lokal buss av VESA-standarden). VLB körde på en extern processorklocka som sträckte sig från 25 MHz till 50 MHz och 32 bitar bred, och gav en toppkapacitet på cirka 130 MiB/s. Detta var redan mer än tillräckligt för alla befintliga applikationer, dessutom möjligheten att använda det inte bara för videoadaptrar, närvaron av tre anslutningsplatser och bakåtkompatibilitet med ISA (VLB är bara ytterligare en 116-stiftskontakt bakom ISA-platsen) garanterade det en tillräckligt lång livslängd och stöd av många tillverkare av chipset för moderkort och kringutrustning, även trots att det vid frekvenser på 40 MHz och 50 MHz verkade problematiskt att säkerställa driften av även två enheter anslutna till den på grund av en alltför hög belastning på centralprocessorns steg (trots allt gick de flesta styrkretsarna från VLB till processorn direkt, utan någon buffring).

Och ändå, med hänsyn till det faktum att inte bara videoadaptern började kräva en hög hastighet av informationsutbyte, och den uppenbara omöjligheten att ansluta alla enheter till VLB (och behovet av en plattformsoberoende lösning som inte bara är begränsad till datorer) uppträdde PCI-bussen (Peripheral Component Interconnect - integration av externa komponenter) först och främst på moderkort för Pentium-processorer. När det gäller prestanda på PC-plattformen förblev allt detsamma - med en bussklockhastighet på 33 MHz och ett bitdjup på 32/32 bitar gav den en toppkapacitet på 133 MiB/s - samma som VLB. Det var dock bekvämare och ersatte till slut VLB-bussen på moderkort för 486-klassprocessorer.

Med tillkomsten av Pentium II-processorn och PC:ns seriösa anspråk på marknaden för högpresterande arbetsstationer, såväl som tillkomsten av 3D-spel med komplex grafik, blev det tydligt att PCI- bandbredden som den fanns på PC-plattformen (vanligtvis 33 MHz och ett bitdjup på 32 bitar), kommer snart inte att räcka för att uppfylla systemets krav. Därför beslutade Intel att göra en separat buss för grafikundersystemet, uppgraderade PCI-bussen något, försåg den nya resulterande bussen med separat minnesåtkomst med stöd för vissa specifika videoadapterförfrågningar och kallade det AGP (Accelerated Graphics Port - accelerated graphics port) . AGP-bussen är 32 bitar bred och arbetar på 66 MHz. Den första versionen av kontakten stödde 1x och 2x dataöverföringslägen, den andra - 4x, den tredje - 8x. I dessa moder överförs ett, två, fyra eller åtta 32-bitars ord per cykel. Versioner av AGP var inte alltid kompatibla med varandra på grund av användningen av olika matningsspänningar i olika versioner. För att förhindra skador på utrustningen användes en nyckel i kontakten. Maximal genomströmning i 1x-läge är 266 MiB/s. Utgången av videoadaptrar baserade på PCI- och AGP-bussar är försumbar, eftersom AGP-bussen har upphört att uppfylla kraven på kraften hos nya datorer och dessutom inte kan tillhandahålla den nödvändiga strömförsörjningen. För att lösa dessa problem har en PCI-busstillägg skapats -  PCI Express versionerna 1.0, 1.1, 2.0, 2.1, 3.0 och den senaste 4.0. Detta är ett seriellt, till skillnad från AGP, gränssnitt, dess genomströmning kan nå flera tiotals Gb/s. För tillfället har det skett ett nästan fullständigt avslag på AGP-bussen till förmån för PCI Express. Det är dock värt att notera att vissa tillverkare fortfarande erbjuder grafikkort med PCI- och AGP-gränssnitt - i många fall är detta ett ganska enkelt sätt att dramatiskt öka prestandan hos en föråldrad PC i vissa grafikuppgifter.

Connector

Videoadaptrarna MDA, Hercules, EGA och CGA var utrustade med en 9-stifts D - Sub -kontakt . Ibland fanns det också en koaxial kompositvideokontakt , så att du kan mata ut en svartvit bild till en tv-mottagare eller monitor utrustad med en lågfrekvent videoingång.

VGA och senare videoadaptrar hade vanligtvis bara en VGA-kontakt ( 15 - stifts D-Sub ). Ibland hade tidiga versioner av VGA-adaptrar också en tidigare generations kontakt (9-stift) för kompatibilitet med äldre bildskärmar. Valet av arbetsutgång ställdes in av omkopplarna på videoadapterkortet.

Korten är utrustade med DVI- eller HDMI-kontakter , eller DisplayPort i en mängd från en till tre (vissa senaste generationens ATI-grafikkort är utrustade med sex kontakter).

DVI- och HDMI-portar är evolutionära steg i utvecklingen av videosignalöverföringsstandarden, därför kan adaptrar användas för att ansluta enheter med dessa typer av portar (DVI-kontakt till D-Sub-jack är en analog signal, HDMI-kontakt till DVI-D jack är en digital signal som inte stöder tekniskt upphovsrättsskydd ( High Bandwidth D igital  C opy Protection , HDCP ) , därför utan möjlighet att överföra flerkanaligt ljud och högkvalitativa bilder). DVI-I-porten innehåller även analoga signaler, vilket gör att du kan ansluta en bildskärm till en äldre D-SUB-kontakt (DVI-D tillåter inte detta).

DisplayPort låter dig ansluta upp till fyra enheter, inklusive ljudenheter, USB- hubbar och andra I/O-enheter.

Komposit- och komponent S- videoutgångar kan också placeras på grafikkortet ; även videoingång (kallad ViVo )

Kylsystem

Kylsystemet är utformat för att hålla temperaturen på videoprocessorn och (ofta) videominnet inom acceptabla gränser.

I specifikationen för ett grafikkort ger utvecklaren möjligheten att anpassa det för tillverkare. Till exempel kan tillverkare välja kapacitet och typ av kondensatorer (POSCAP, SP-CAP, MLCC). Otillräckliga tester eller användning av billigare komponenter kan leda till instabil drift av grafikkort. [23]

Egenskaper

  • Minnesbussbredd , mätt i bitar  - antalet informationsbitar som överförs per klocka. En viktig parameter i kortprestanda.
  • Mängden videominne , mätt i megabyte  , är mängden grafikkortets eget RAM -minne . Mer volym betyder inte alltid mer prestanda.

Grafikkort som är integrerade i systemlogikuppsättningen på moderkortet eller är en del av CPU:n har vanligtvis inget eget videominne och använder en del av datorns RAM för sina behov ( UMA - Unified Memory Access ).

  • kärn- och minnesfrekvenser  - mätt i megahertz, ju fler, desto snabbare kommer grafikkortet att bearbeta information.
  • textur och pixelfyllningshastighet , mätt i miljoner pixlar per sekund, visar mängden utdatainformation per tidsenhet.

Viktiga tekniska egenskaper som kännetecknar ett grafikkort inkluderar ett integrerat kylsystem, om det är implementerat, och kontakter för dataöverföringsgränssnitt [24] [25] .

Typer av grafikkort

Diskreta grafikkort

Den mest högpresterande klassen av grafikadaptrar. Som regel är den ansluten till PCI Express -databussen med hög hastighet . Tidigare fanns det grafikkort kopplade till AGP -bussar (en specialiserad datautbytesbuss för att endast ansluta grafikkort), PCI , VESA och ISA . Grafikkort ansluts via PCI Express-bussen , och alla andra typer av anslutningar är föråldrade. I datorer med en annan arkitektur än den IBM-kompatibla fanns det andra typer av grafikkortsanslutningar.

Det diskreta kortet behöver inte nödvändigtvis tas bort från enheten (till exempel på bärbara datorer löds det diskreta kortet ofta fast på moderkortet). Det kallas diskret på grund av att det är gjort i form av ett separat chip (eller chipset) och inte är en del av andra datorkomponenter (till skillnad från grafiklösningar som är inbyggda i moderkortets systemlogikchip eller direkt i centralprocessorn) . De flesta diskreta grafikkort har ett eget random access memory (VRAM), som ofta kan ha snabbare accesshastigheter eller en snabbare accessbuss än vanliga dator-RAM. Även om det tidigare fanns grafikkort som använde hela eller delar av huvudminnet för att lagra och bearbeta grafisk information, använder grafikkort sitt eget videominne. Ibland (men ganska sällan) finns det också grafikkort vars RAM inte är installerat i form av separata minneskretsar, utan är en del av grafikkretsen (i form av separata kristaller eller på samma chip med grafikprocessorn).

Implementerade som en separat chipset snarare än som en del av andra chips, kan diskreta grafikkort vara ganska komplexa och mycket kraftfullare än integrerad grafik. Dessutom, med sitt eget videominne, behöver diskreta grafikkort inte dela RAM med andra datorkomponenter (främst med centralprocessorn). Med eget RAM-minne kan du inte slösa med huvud-RAM-minnet för att lagra information som inte behövs av centralprocessorn och andra datorkomponenter. Däremot behöver videoprocessorn inte stå i kö för att få tillgång till datorns RAM-minne, som kan nås av både centralprocessorn och andra komponenter för tillfället. Allt detta har en positiv effekt på prestandan hos diskreta grafikkort jämfört med integrerad grafik.

Teknologier som Nvidias SLI och AMD:s CrossFire gör att flera grafikadaptrar kan köras parallellt för samma uppgift.

Integrerad grafik

Integrerade grafikadaptrar har inget eget minne och använder datorns RAM, vilket påverkar prestandan till det sämre. Även om Intel Iris Graphics sedan Broadwell- processorgenerationen har 128 megabyte L4-cache till sitt förfogande, kan de ta resten av minnet från datorns RAM [26] . Inbyggda grafiklösningar används i bärbara enheter på grund av deras låga strömförbrukning. Deras prestanda är redan på en tillräckligt hög nivå och låter dig spela enkla tredimensionella spel.

Integrerade grafikprocessorer är placerade på samma chip som processorn (till exempel Intel HD Graphics eller Intel Iris Graphics ), tidigare generationer (till exempel Intel GMA ) var placerade som ett separat chip.

Hybridlösningar

Hybridlösningar används där både energieffektivitet och hög grafikprestanda krävs, vilket gör att du kan använda den integrerade grafikadaptern i vardagliga uppgifter och använda den diskreta grafikadaptern endast där det behövs.

Före tillkomsten av hybridgrafik byggde tillverkarna in en diskret adapter utöver den inbyggda, att byta mellan dem krävde en omstart, vilket inte var särskilt användarvänligt. Hybridadaptrar använder endast den inbyggda grafikadaptern för bildskärmsutmatning, men vissa beräkningar kan överföras till ett diskret grafikkort istället för att utföras av sig själva. För användaren blir bytet mellan videoadaptrar osynligt. Exempel på sådana lösningar är Nvidias Optimus-teknik och AMD:s DualGraphics.

GPGPU

GPGPU (Eng. General-purpose computing for graphics processing units, icke-specialiserade beräkningar på grafikprocessorer) - användningen av ett grafikkorts grafikprocessor för parallell beräkning. Grafikadaptrar kan ha upp till flera tusen processorer, vilket gör det möjligt att lösa vissa uppgifter på grafikkort en storleksordning snabbare än på centrala processorer. Applikationer som använder denna teknik är skrivna med hjälp av teknologier som OpenCL eller CUDA .

Externt grafikkort

Termen eGPU hänvisar till ett diskret grafikkort placerat utanför datorn [27] . Den kan till exempel användas för att öka prestandan i 3D-applikationer på bärbara datorer.

Vanligtvis är PCI Express den enda lämpliga bussen för detta ändamål. Porten kan vara ExpressCard , mPCIe (PCIe ×1, upp till 5 respektive 2,5 Gb/s ) eller en Thunderbolt 1, 2 eller 3 port (PCIe × 4, upp till 10, 20 eller 40 Gb/s, respektive) [28 ] [29] .

2016 gjorde AMD ett försök att standardisera externa grafikprocessorer [30] .

Programvara

På mjukvarunivå använder videoprocessorn ett eller annat applikationsprogrammeringsgränssnitt (API) för sin organisation av beräkningar ( tredimensionella grafiska beräkningar).

De allra första vanliga acceleratorerna använde Glide  , ett 3D-grafik-API utvecklat av 3dfx Interactive för grafikkort baserat på Voodoo Graphics egenutvecklade GPU:er.

Sedan kan generationerna av acceleratorer i grafikkort räknas av den version av DirectX som de stöder. Det finns följande generationer:

  • DirectX 7  - kortet stöder inte shaders , alla bilder är ritade med texturmapping;
  • DirectX 8  - stöd för pixel shaders version 1.0, 1.1 och 1.2, i DX 8.1 även version 1.4, stöd för vertex shaders version 1.0;
  • DirectX 9  - stöd för pixelshaders version 2.0, 2.0a och 2.0b, 3.0;
  • DirectX 10  - stöd för unified shaders version 4.0;
  • DirectX 10.1  - stöd för unified shaders version 4.1;
  • DirectX 11  - stöd för unified shaders version 5.0;
  • DirectX 12  - stöd för unified shaders version 6.0;

Med lanseringen av DirectX 11 och tillkomsten av API Feature Level (FLxx) stödmodell är de flesta grafikkort inte längre bundna till en specifik version av DirectX .

Enhetsdrivrutin

Dessutom säkerställs korrekt och fullt fungerande drift av grafikadaptern med hjälp av videodrivrutinen  - specialprogramvara som tillhandahålls av tillverkaren av grafikkortet och laddas under uppstarten av operativsystemet. Videodrivrutinen fungerar som ett gränssnitt mellan systemet som kör applikationer på den och videoadaptern. Precis som video- BIOS , organiserar och kontrollerar videodrivrutinen driften av alla delar av videoadaptern genom speciella kontrollregister som nås via motsvarande buss.

En drivrutin stöder vanligtvis ett eller flera kort och måste skrivas specifikt för ett specifikt operativsystem (OS).

De flesta enheter kräver proprietära drivrutiner för att använda all funktionalitet, dessa drivrutiner för populära operativsystem levereras vanligtvis med enheten och är ofta tillgängliga för gratis nedladdning från tillverkarens webbplats. Det finns flera drivrutiner för grafikkort med öppen källkod under utveckling , men många av dem kan bara använda kortens kärnfunktionalitet.

Användningen av grafikkort vid brytning av kryptovaluta

Mining på ett grafikkort är processen att bryta kryptovaluta med hjälp av grafikprocessorer (GPU). För brytning av kryptovalutor används grafikkort istället för processorer, eftersom de bearbetar mer information på kortare tid. Deras enda nackdel är den höga förbrukningen av el, men den höga avkastningen kompenserar lätt för denna svaghet [31] .

För gruvdrift används fullfjädrade diskreta grafikkort, chips integrerade i processorn används inte. Det finns även artiklar på nätet om mining på ett externt grafikkort, men detta fungerar inte heller i alla fall och är inte den bästa lösningen [32] .

Se även

  • Lista över Nvidia GPU:er
  • Lista över AMD GPU:er

Anteckningar

  1. 1 2 3 4 5 6 7 ComputerBild nr 11, 2011 , sid. 38.
  2. Grafikkort: AMD och NVIDIA  // Chip  : magazine. - 2011. - Juli ( nr 7 ). - S. 46 . — ISSN 1609-4212 .
  3. 1 2 3 ComputerBild nr 11, 2011 , sid. 39.
  4. Intel Corporation. AGP V3.0 gränssnittsspecifikation  . - "grafikkort, tilläggskort".
  5. Vad du behöver veta om grafikkort? THG Nybörjarguide, del I. THG.ru. _ Tom's Hardware (24 augusti 2006). Hämtad 22 juli 2021. Arkiverad från originalet 21 juli 2021.
  6. Grafikkortskomponenter  , pctechguide.com (  23 september 2011). Arkiverad från originalet den 12 december 2017. Hämtad 24 mars 2021.
  7. Vad är skillnaden mellan integrerad grafik och diskret grafik?  (engelska) . Intel . Hämtad 2 september 2021. Arkiverad från originalet 21 september 2021.
  8. ↑ ExplainingComputers.com : Hårdvara  . www.explainingcomputers.com . Hämtad 11 december 2017. Arkiverad från originalet 17 december 2017.
  9. OpenGL vs DirectX - Cprogramming.com . www.cprogramming.com . Hämtad 11 december 2017. Arkiverad från originalet 12 december 2017.
  10. Kent C. Redmond, Thomas M. Smith. Projekt Virvelvind. A Case History in Contemporary Technology. The MITER Corporation, Bedford MA, USA. 1975 _ Hämtad 25 juli 2021. Arkiverad från originalet 21 januari 2022.
  11. Historia om datorer och datorer, den moderna datorns födelse, Persondator, Xerox Alto . Hämtad 19 april 2016. Arkiverad från originalet 5 december 2020.
  12. DISPLAY CONTROLLER. — F: 09aDISPL // xerox :: alt :: scheman.
  13. Kuhman, Robert The Cro's Nest RCP/M-RBBS . www.kuhmann.com. Hämtad 10 februari 2012. Arkiverad från originalet 10 februari 2012.
  14. Les Solomon, "Salomons minne" Arkiverad 25 oktober 2012. , i Digital Deli , Workman Publications, 1984, ISBN 0-89480-591-6
  15. Mikhail Guk. IBM PC-hårdvara. Encyclopedia, 2:a uppl. - St Petersburg: Peter, 2002. - 928 s.: ill. - s. 530
  16. Kommer du ihåg hur allt började? 3D acceleratorer . 3DNews (31 december 2017). Hämtad 17 juli 2021. Arkiverad från originalet 26 maj 2021.
  17. Översikt Quadro Fermi . www.nvidia.com Hämtad 9 december 2018. Arkiverad från originalet 9 december 2018.
  18. Mikhail Guk. IBM PC-hårdvara. Encyclopedia, 2:a uppl. - St Petersburg: Peter, 2002. - 928 s.: ill. - S. 526-528, 542
  19. NVIDIA TITAN RTX är det snabbaste PC-grafikkortet som någonsin byggts | NVIDIA . Datum för åtkomst: 22 februari 2019. Arkiverad från originalet 22 februari 2019.
  20. NVIDIA GeForce GTX 1080 . Hämtad 21 februari 2017. Arkiverad från originalet 26 februari 2017.
  21. NVIDIA TITAN X Pascal . Hämtad 21 februari 2017. Arkiverad från originalet 22 februari 2017.
  22. TITAN RTX Ultimate PC-grafikkort med Turing | NVIDIA . Hämtad 22 februari 2019. Arkiverad från originalet 26 december 2018.
  23. Tillverkare svarar på problem med GeForce RTX 3080/3090-krasch på  skrivbordet . videocardz.com . Hämtad 25 februari 2021. Arkiverad från originalet 22 februari 2021.
  24. Vanliga frågor om grafikkort/videokort . Hämtad 18 juli 2021. Arkiverad från originalet 18 juli 2021.
  25. ↑ Köpguide för grafikkort: Viktiga egenskaper hos grafikkort . Hämtad 18 juli 2021. Arkiverad från originalet 19 april 2021.
  26. " A Survey Of Architectural Approaches for Managing Embedded DRAM and Non-volatile On-chip caches Archivered 8 januari 2016 at the Wayback Machine ", Mittal et al., IEEE TPDS, 2014
  27. Semit. Erfarenhet av att bygga en eGPU och dess interaktion med en bärbar dator . Hämtad 26 mars 2016. Arkiverad från originalet 7 april 2016.
  28. eGPU-kandidatsystemlista . Tech Inferno Forum .
  29. Neil Mohr. Hur man gör en extern grafikadapter för bärbar dator . techradar . Hämtad 26 mars 2016. Arkiverad från originalet 26 juni 2017.
  30. Mark Walton. AMD vill standardisera den externa grafikprocessorn . Hämtad 29 september 2017. Arkiverad från originalet 1 december 2017.
  31. Hur kryptovaluta är relaterat till ett grafikkort och funktioner för gruvdrift på ett grafikkort . kripto365.ru (8 oktober 2018). Hämtad 4 oktober 2019. Arkiverad från originalet 28 september 2020.
  32. GPU Mining - Den kompletta guiden . prostocoin.com. Hämtad 4 oktober 2019. Arkiverad från originalet 20 september 2019.

Litteratur

  • Scott Mueller. Uppgradera och reparera datorer = Uppgradera och reparera datorer. - 17:e upplagan. - M . : "Williams" , 2007. - S. 889-970. — ISBN 0-7897-3404-4 .
  • Jurij Valerianov. Grafisk utveckling  // Computer Bild  : magazine. - 2011. - 23 maj ( nr 11 ). - S. 38-41 . — ISSN 2308-815X .
  • Mikhail Guk. IBM PC-hårdvara. Encyclopedia, 2:a uppl. - St Petersburg: Peter, 2002. - 928 s.: ill.
  • Stan VeitStan Veits historia om persondatorn. - 1993. -ISBN 978-1566640237.

Länkar