Video kort

Videokort (også videoadapter [1] , videokort [2] , grafikkort [1] , grafikkort , grafikkort , grafikaccelerator [3] ) er en enhed, der konverterer et grafisk billede , der er gemt som indholdet på en computer . s hukommelse (eller selve adapteren) i form, der er egnet til yderligere visning på monitorskærmen . Normalt er videokortet lavet i form af et printkort ( udvidelseskort ) og indsat i bundkortets udvidelsesslot , universel eller specialiseret ( AGP [4] , PCI Express ) [5] [6] .

Videokort placeret på systemkortet er også udbredt  - både i form af en separat separat GPU-chip og som en integreret del af den nordlige bro af chipsættet eller CPU'en ; i tilfælde af en CPU kan den indbyggede (integrerede [7] ) GPU strengt taget ikke kaldes et videokort .

Videokort er ikke begrænset til simpelt billedoutput, de har en integreret grafikprocessor, der kan udføre yderligere behandling, hvilket fjerner denne opgave fra computerens centrale processor [8] . For eksempel gengiver Nvidia og AMD ( ATi ) grafikkort OpenGL og DirectX og Vulkan grafik pipeline i hardware [9] .

Der er også en tendens til at bruge GPU'ens computerkraft til at løse ikke-grafiske opgaver (for eksempel cryptocurrency mining ).

Historie

Whirlwind , bygget mellem 1944 og 1953, betragtes som den første computer udstyret med en billedvisningsenhed . Videoadapteren på Whirlwind-computeren kunne vise op til 6250 punkter i sekundet med adressering af 2048 × 2048 positioner eller op til 550 cifre og var også udstyret med en lyspen [10] .

I marts 1973 udkom Xerox Alto minicomputeren , som kan kaldes den første personlige computer [11] . Alto havde en grafisk grænseflade med en vindues- og skrivebordsmetafor , hvortil den var udstyret med en skærmcontroller [12][ betydningen af ​​det faktum? ] , som gjorde det muligt at vise et monokromt billede med en opløsning på 606 × 808 pixels og en portrætskærm.

I 1975 kom Altair 8800 til salg . I starten var den ikke udstyret med nogen I/O, bortset fra et sæt vippekontakter og LED'er på frontpanelet. Det skulle være forbundet til en teletype- eller tekstterminal. Men i 1976 kom et videokort til salg [13] Cromemco Dazzler , som gjorde det muligt at vise et farvebillede dannet i computerens hukommelse på skærmen af ​​et konventionelt husholdnings-tv [14] . Den første version tillod at vise et billede op til 128×128 pixels, den næste generation - op til 756×484.

MDA ( Monochrome Display Adapter )  videoadapter blev frigivet af IBM i 1981 til IBM PC [15] . Den understøttede en opløsning på 720x350 pixels og fungerede kun i teksttilstand, der viste op til 25 linjer på skærmen. Det kunne ikke overføre farve- eller grafiske oplysninger [1] . Hercules i 1982 udgav en videreudvikling af MDA-adapteren, HGC ( Hercules Graphics Controller ) videoadapter , som understøttede to grafiske sider, men stadig ikke tillod arbejde med farver.  

Det første farvegrafikkort til pc'en var CGA ( Color Graphics Adapter ), udgivet af IBM i 1981 .  Det kunne fungere enten i teksttilstand, der viser 16 farver af tegn, eller i grafisk tilstand, der viser firefarvede billeder i lav (320 × 200) opløsning. 640x200 høj opløsning tilstand var monokrom. I udviklingen af ​​dette kort, i 1984, dukkede EGA op ( Engelsk Enhanced Graphics Adapter ) - en forbedret grafikadapter, med en palet udvidet til 64 farver [1] . Opløsningen er blevet forbedret til 640×350. Et kendetegn ved disse adaptere var, at de brugte ISA bus slot , som har en åben arkitektur, i forbindelse med hvilken brugeren selvstændigt kunne ændre videokortet til det ønskede [1] .  

Grænsefladerne til skærmen på alle disse typer videoadaptere var digitale, MDA og HGC blev kun transmitteret, uanset om prikken er tændt eller ikke tændt, og et ekstra lysstyrkesignal for "bright" tekstattributtet, på samme måde som CGA på tre kanaler (rød, grøn, blå) transmitterede hovedvideosignalet og kunne desuden transmittere et luminanssignal (16 farver i alt), EGA havde to transmissionslinjer for hver af primærfarverne, dvs. hver primærfarve kunne vises med fuld lysstyrke, 2 /3 eller 1/3 af fuld lysstyrke, hvilket gav i alt maksimalt 64 farver.

I 1987 dukker en ny grafikadapter MCGA ( Engelsk  Multicolor Graphics Adapter ) op, hvor IBM-ingeniører formåede at øge teksttilstanden til 50 linjer, og grafiktilstanden til 262.144 farver, og derfor blev det nødvendigt at skifte fra digitalt til analogt signal til monitoren . Så gik IBM endnu længere og udgav et par måneder senere VGA ( Engelsk  Video Graphics Array ), som blev de facto-standarden for videoadaptere i mange år. I grafiktilstand var dens opløsning 640x480 og var bemærkelsesværdig for det faktum, at forholdet mellem antallet af pixels vandret og lodret faldt sammen med standardformatet (for det tidspunkt) skærmen - 4:3. Siden 1991 er konceptet SVGA (Super VGA) dukket op - en udvidelse af VGA med tilføjelse af højere tilstande. Antallet af samtidigt viste farver ved en opløsning på 800x600 stiger til 65.536 (Høj farve, 16 bit) og 16.777.216 (True Color, 24 bit) [1] . Understøttelse af VBE fremgår af servicefunktionerne (VESA BIOS Extention - VESA standard BIOS extension ). SVGA er blevet accepteret som de facto videoadapterstandard siden omkring midten af ​​1992 , efter vedtagelsen af ​​VBE version 1.0-standarden af ​​VESA . Indtil det øjeblik var næsten alle SVGA-videoadaptere inkompatible med hinanden.

Den grafiske brugergrænseflade , som dukkede op i mange operativsystemer , stimulerede en ny fase i udviklingen af ​​videoadaptere [1] . Begrebet "grafisk accelerator" (grafisk accelerator) vises. Disse er videoadaptere, der udfører nogle grafikfunktioner på hardwareniveau. Disse funktioner omfatter: flytning af store billedblokke fra et område af skærmen til et andet (f.eks. når du flytter et vindue), udfyldning af områder af billedet, tegning af linjer, buer, skrifttyper, understøttelse af en hardwaremarkør osv. A direkte drivkraft til udviklingen af ​​en sådan specialiseret enhed Det viste sig, at den grafiske brugergrænseflade utvivlsomt er praktisk, men dens brug kræver betydelige computerressourcer fra den centrale processor, og grafikacceleratoren er netop designet til at fjerne brorparten af ​​beregningerne for den endelige visning af billedet på skærmen.

3D acceleratorer

Selve udtrykket 3D-accelerator betyder formelt et ekstra udvidelseskort, der udfører hjælpefunktioner til at accelerere dannelsen af ​​tredimensionel grafik . At vise resultatet som et 2D-billede og overføre det til skærmen er ikke 3D-acceleratorens opgave. 3D-acceleratorer i form af en separat enhed findes næsten aldrig. Næsten alle (undtagen højt specialiserede) videokort, inklusive integrerede grafikadaptere som en del af processorer og systemlogik , udfører hardwareacceleration til visning af todimensionel og tredimensionel grafik .

Hardwareacceleration af dannelsen af ​​grafiske billeder var oprindeligt inkluderet i karakteristika for mange personlige computere , men den første model af IBM PC'en havde kun teksttilstande og havde ikke evnen til at vise grafik. Selvom de første videokort til IBM PC-kompatible computere med understøttelse af hardwareacceleration af 2D- og 3D-grafik dukkede op ret tidligt. Så tilbage i 1984 begyndte IBM at fremstille og sælge videokort af PGC -standarden . PGC blev designet til professionel brug, hardware-accelererede 2D- og 3D-primitiver, og var en løsning primært til CAD - applikationer. IBM PGC havde en ekstrem høj pris. Prisen på dette videokort var meget højere end selve computeren, så sådanne løsninger modtog ikke betydelig distribution. Der var videokort og 3D-acceleratorer fra andre producenter på markedet for professionelle løsninger.

Distributionen af ​​overkommelige 3D-acceleratorer til IBM PC-kompatible computere begyndte i 1994 . Det første grafikkort, der understøttede hardwareaccelereret 3D-grafikvisning, var Matrox Impression Plus , udgivet i 1994 (ved hjælp af Matrox Athena -chippen ). Senere samme år introducerer Matrox den nye Matrox Storm -chip og et grafikkort baseret på dens Matrox Millennium.

I 1995 udgav S3 Graphics , som på det tidspunkt var en anerkendt og lovende producent af videokort med 2D-rastergrafikacceleration, en af ​​de første masseproducerede 3D-acceleratorer baseret på S3 ViRGE- chipsættet . Brugen af ​​disse videokort i virkelige scenarier viste imidlertid middelmådig ydeevne, og derfor var det umuligt at kalde dem 3D-grafikacceleratorer i bogstavelig forstand. Samtidig viste videokortene Matrox Mistique og ATI 3D Rage de bedste resultater [16] .

I samme år udgiver flere virksomheder allerede nye grafikchips med understøttelse af hardwareacceleration af 3D-grafikgenerering. Så Matrox frigiver MGA-2064W, Number Nine Visual Technology fejrer frigivelsen af ​​Imagine 128-II GPU, Yamaha introducerer YGV611 og YGV612 chips, 3DLabs frigiver Glint 300SX, og Nvidia frigiver NV1  ( som også udgives under en aftale med SGS-THOMSON under navnet STG2000). Samme år udgives, baseret på disse løsninger, et stort antal videokort fra forskellige producenter med understøttelse af 3D-grafikacceleration.

Et reelt gennembrud på markedet for 3D-acceleratorer og videokort med hardwareaccelereret 3D-grafik var 1996. I år var året for masseintroduktion og popularisering af hardware 3D-grafik på IBM PC-kompatible computere. I år er der nye grafiske løsninger fra 3DLabs, Matrox, ATI Technologies , S3 , Rendition , Chromatic Research , Number Nine Visual Technology , Trident Microsystems , PowerVR . Selvom der er mange 3D-acceleratorer og fuldgyldige videokort med 3D-grafikaccelerationsfunktioner baseret på disse GPU'er i år, er hovedbegivenheden udgivelsen af ​​3D-acceleratorer baseret på 3Dfx Voodoo Graphics -chipsættet . 3dfx Interactive, som tidligere producerede specialiserede 3D-acceleratorer til arkademaskiner , introducerede et sæt chips til det IBM PC-kompatible computermarked. Hastigheden og kvaliteten af ​​gengivelse af 3D-scener lavet af Voodoo Graphics-kort var på niveau med spillemaskiner , og de fleste videokortproducenter begyndte at frigive 3D-acceleratorer baseret på Voodoo Graphics-sættet, og snart understøttede de fleste computerspilsproducenter Voodoo Graphics og udgav nye spil til IBM PC-kompatible computere med et helt nyt niveau af 3D-grafik. Der har været en eksplosion af interesse for 3D-spil og følgelig for 3D-acceleratorer.

Siden 1998 har SLI (Scan Line Interleave)-teknologien udviklet sig (3dfx-virksomhed, Voodoo2-kort ) , som gør det muligt at bruge  kraften fra flere sammenkoblede videokort til at behandle et tredimensionelt billede.  

Professionelle videoacceleratorer

Professionelle grafikkort er videokort, der er orienteret til at fungere i grafikstationer og bruges i matematiske og grafiske pakker af 2D- og 3D-modellering ( AutoCAD , MATLAB ), som belastes tungt ved beregning og tegning af modeller af designet objekter.

Kernerne i professionelle videoacceleratorer fra hovedproducenterne, AMD og NVIDIA , "indefra" adskiller sig lidt fra deres gaming-modstykker. De har længe forenet deres GPU'er og bruger dem på forskellige områder. Det var dette skridt, der gjorde det muligt for disse firmaer at tvinge virksomheder ud af markedet, der var involveret i udvikling og promovering af specialiserede grafikchips til professionelle applikationer.

Der lægges særlig vægt på videohukommelsesundersystemet , da dette er en særlig vigtig komponent i professionelle acceleratorer, som bærer hovedbelastningen, når du arbejder med gigantiske modeller; Især kan videokort fra det professionelle segment ud over mærkbart store mængder hukommelse til sammenlignelige kort bruge ECC-hukommelse [17] .

Separat er der Matrox -produkter , hvis højt specialiserede acceleratorer fra 2017 blev brugt til videokodning, tv-signalbehandling og arbejde med kompleks 2D-grafik.

Enhed

Videokortet består af følgende dele [3] :

GPU

Grafikprocessoren ( eng.  Graphics Processing Unit (GPU) - lit .: "graphic processing unit") er engageret i beregningen af ​​outputbilledet ( rendering ), behandler 2D og 3D-grafik [3] . Grafiske processorer er ikke meget ringere i kompleksitet i forhold til en computers centrale behandlingsenhed og overgår den ofte både i antallet af transistorer og i computerkraft på grund af det store antal universelle computerenheder. Den tidligere generation af GPU-arkitektur forudsætter dog normalt tilstedeværelsen af ​​flere informationsbehandlingsenheder , nemlig: en 2D-grafikbehandlingsenhed, en 3D-grafikbehandlingsenhed, som til gengæld normalt er opdelt i en geometrisk kerne (plus en vertex-cache) og en rasteriseringsenhed (plus en teksturcache ) og osv.

Videohukommelse

Ud over databussen er den anden flaskehals ved enhver videoadapter båndbredden ( engelsk  båndbredde ) af hukommelsen på selve videoadapteren. Desuden opstod problemet i starten ikke så meget på grund af hastigheden af ​​behandling af videodata (ofte er der et problem med informations-"sult" hos videocontrolleren , når den behandler data hurtigere, end den har tid til at læse/skrive fra/til video hukommelse), men på grund af behovet for at få adgang til dem fra videoprocessor, CPU og RAMDAC sider . Faktum er, at ved høje opløsninger og en stor farvedybde, for at vise en side af skærmen på skærmen, er det nødvendigt at læse alle disse data fra videohukommelsen og konvertere dem til et analogt signal, som vil gå til skærmen lige så mange gange pr. sekund, som skærmen viser billeder pr. sekund. Lad os tage volumen på én side af skærmen med en opløsning på 1024x768 pixels og en farvedybde på 24 bit (True Color), dette er 2,25 MB. Ved en billedhastighed på 75 Hz er det nødvendigt at læse denne side fra videoadapterens hukommelse 75 gange i sekundet (de læste pixels overføres til RAMDAC, og den konverterer de digitale data om farven på pixlen til analogt signal, der sendes til skærmen), og du kan ikke blive hængende eller springe en pixel over, derfor er den nominelt nødvendige videohukommelsesbåndbredde for denne opløsning cirka 170 MB/s, og dette tager ikke højde for det faktum, at videocontrolleren selv skal skrive og læse data fra denne hukommelse. For en opløsning på 1600x1200x32 bits ved samme billedhastighed på 75 Hz er den nominelle nødvendige båndbredde allerede 550 MB/s. Til sammenligning havde Pentium II-processoren en maksimal hukommelseshastighed på 528 MB/s. Problemet kan løses på to måder - enten brug specielle typer hukommelse, der gør det muligt for to enheder at læse fra det samtidigt, eller installer meget hurtig hukommelse.

Typer af videohukommelse [18] :

  • Tidlige videokort pålagde ikke særlige ydeevnekrav og brugte standardhukommelsestyper - statisk statisk RAM (for eksempel i en MDA-adapter) eller dynamisk dynamisk RAM .
  • FPM DRAM (Fast Page Mode Dynamic RAM - dynamisk RAM med hurtig sideadgang) er hovedtypen af ​​videohukommelse, identisk med den, der bruges på bundkort. Bruger asynkron adgang, hvor styresignaler ikke er bundet stift til systemets klokfrekvens. Aktivt brugt indtil omkring 1996.
  • VRAM (Video RAM - video RAM) - den såkaldte dual-port DRAM. Denne type hukommelse giver adgang til data fra to enheder på én gang, det vil sige, at det er muligt samtidigt at skrive data til en hvilken som helst hukommelsescelle og samtidig læse data fra en nabocelle. På grund af dette giver det dig mulighed for samtidig at vise billedet på skærmen og dets behandling i videohukommelsen, hvilket reducerer adgangsforsinkelser og øger arbejdshastigheden. Det vil sige, at RAMDAC frit kan vise skærmbufferen på monitorskærmen igen og igen, uden det mindste at forstyrre videoprocessoren for at udføre nogen datamanipulationer. Men dette er stadig den samme DRAM, og dens hastighed er ikke for høj.
  • WRAM (Window RAM) er en variant af VRAM med en båndbredde øget med ~25% og understøttelse af nogle hyppigt anvendte funktioner, såsom gengivelse af skrifttyper, bevægelige billedblokke osv. Det bruges næsten udelukkende på Matrox og Number Nine acceleratorer, da kræver særlige metoder til at få adgang til og behandle data. Tilstedeværelsen af ​​kun én producent af denne type hukommelse ( Samsung ) reducerede i høj grad muligheden for dens brug. Videoadaptere bygget ved hjælp af denne type hukommelse har ikke en tendens til at falde i ydeevne, når høje opløsninger og skærmopdateringshastigheder er indstillet; på single-port hukommelse, i sådanne tilfælde, optager RAMDAC adgangsbussen til videohukommelsen mere og mere tid, og videoadapterens ydeevne kan falde betydeligt.
  • EDO DRAM (Extended Data Out DRAM - dynamisk RAM med forlænget dataopbevaringstid ved udgangen) er en type hukommelse med pipelining-elementer, der giver dig mulighed for en smule at fremskynde udvekslingen af ​​datablokke med videohukommelse med cirka 25%.
  • SDRAM (Synchronous Dynamic RAM - Synchronous Dynamic RAM) har erstattet EDO DRAM og andre asynkrone single-port hukommelsestyper. Efter den første hukommelseslæsning eller den første hukommelsesskrivning, sker efterfølgende læsninger eller skrivninger med nul latens. Dette opnår den højest mulige hastighed for læsning og skrivning af data.
  • DDR SDRAM (Double Data Rate) er en variant af SDRAM med dataoverførsel over to signalsnit opnået som et resultat af en fordobling af driftshastigheden. Yderligere udvikling foregår stadig i form af endnu en komprimering af antallet af pakker i én buscyklus - DDR2 SDRAM (GDDR2), DDR3 SDRAM osv.
  • SGRAM (Synchronous Graphics RAM) er en variant af DRAM med synkron adgang. I princippet er driften af ​​SGRAM fuldstændig magen til SDRAM, men nogle mere specifikke funktioner understøttes desuden, såsom blok- og maskeoptagelse. I modsætning til VRAM og WRAM er SGRAM single-port, men det kan åbne to sider af hukommelsen som én, der emulerer dual-port karakteren af ​​andre typer videohukommelse.
  • MDRAM (Multibank DRAM - multibank RAM) er en variant af DRAM udviklet af MoSys, organiseret i form af mange uafhængige banker på hver 32 KiB, der opererer i en pipelinet tilstand.
  • RDRAM (RAMBus DRAM) er en hukommelse, der bruger en speciel dataoverførselskanal (Rambus Channel), som er en databus en byte bred. Det er muligt at transmittere information over denne kanal i meget store strømme, den højeste dataoverførselshastighed for en kanal i øjeblikket er 1600 MB/s (frekvens 800 MHz, data transmitteres over begge dele af pulsen). Flere hukommelseschips kan tilsluttes en sådan kanal. Styringen af ​​denne hukommelse arbejder med én Rambus-kanal, fire sådanne controllere kan placeres på én logisk chip, hvilket betyder, at det i teorien er muligt at understøtte op til 4 sådanne kanaler, hvilket giver en maksimal gennemstrømning på 6,4 Gb/s. Ulempen ved denne hukommelse er, at du skal læse information i store blokke, ellers falder dens ydeevne kraftigt.

Mængden af ​​RAM til videokort varierer fra 4 KB (for eksempel i MDA) til 48 GB (for eksempel NVIDIA Quadro RTX 8000 ) [19] . Da adgang til GPU-videohukommelse og andre elektroniske komponenter skal give den ønskede høje ydeevne af hele det grafiske delsystem som helhed, bruges der specialiserede højhastighedshukommelsestyper, såsom SGRAM , dual-port VRAM , WRAM og andre .  Siden omkring 2003 var videohukommelsen som regel baseret på DDR - teknologien fra SDRAM-hukommelse , med dobbelt så effektiv frekvens (dataoverførsel synkroniseres ikke kun på den stigende kant af ursignalet, men også på den faldende kant). Og i fremtiden DDR2 , GDDR3 , GDDR4 , GDDR5 og på tidspunktet for 2016 [20] GDDR5X . Med udgivelsen af ​​AMD Fury-serien af ​​højtydende videokort, sammen med den allerede veletablerede GDDR -hukommelse på markedet , begyndte en ny type HBM -hukommelse at blive brugt , som tilbyder betydeligt højere båndbredde og forenkler selve videokortet, på grund af fraværet af behovet for ledninger og aflodning af hukommelseschips. Den maksimale dataoverførselshastighed (båndbredde) for videokorthukommelse når 480 GB / s for GDDR5X-hukommelsestypen (for eksempel NVIDIA TITAN X Pascal [21] ) og 672 GB / s for GDDR6-hukommelsestypen (for eksempel TITAN RTX [22] ).

Videohukommelse bruges til midlertidig lagring, ud over selve billeddata og andre: teksturer , shaders , vertexbuffere , Z-buffer (afstand mellem billedelementer i 3D-grafik ) og lignende grafikundersystemdata (med undtagelse af for det meste af Video BIOS-data, GPU intern hukommelse osv.) og koder.

Video RAM

Videohukommelse udfører funktionen som en rammebuffer , som gemmer et billede, der genereres og konstant ændres af GPU'en og vises på skærmen (eller flere skærme). Videohukommelsen gemmer også mellemelementer af billedet, som er usynlige på skærmen, og andre data. I øjeblikket (2021) er der 7 typer hukommelse til videokort : DDR , GDDR2 , GDDR3 , GDDR4 , GDDR5 , GDDR6 og HBM . Ud over den videohukommelse, der er placeret på videokortet, bruger grafikprocessorer normalt en del af computerens samlede systemhukommelse i deres arbejde, hvortil direkte adgang organiseres af videoadapterdriveren via AGP- eller PCI-e-bussen . I tilfælde af brug af Uniform Memory Access -arkitekturen bruges en del af computerens systemhukommelse som videohukommelse.

Videocontroller

Videocontrolleren er ansvarlig for at danne billedet i videohukommelsen, instruerer RAMDAC om at generere scanningssignaler til monitoren og behandler anmodninger fra den centrale processor. Derudover er der normalt en ekstern databuscontroller (for eksempel PCI eller AGP), en intern databuscontroller og en videohukommelsescontroller. Bredden af ​​den interne bus og videohukommelsesbussen er normalt større end den eksterne (64, 128 eller 256 bit mod 16 eller 32), RAMDAC er også indbygget i mange videocontrollere.

Grafikkort (AMD, nVidia) har normalt mindst to videocontrollere , der fungerer uafhængigt af hinanden og styrer en eller flere skærme på samme tid hver.

RAMDAC og TMDS

En digital-til-analog-konverter (DAC; RAMDAC - Random Access Memory Digital-to-Analog Converter ) bruges til at konvertere det billede, der genereres af videocontrolleren, til farveintensitetsniveauer, der leveres til en analog skærm. Billedets mulige farveområde bestemmes kun af RAMDAC-parametrene. Oftest har RAMDAC fire hovedblokke: tre digital-til-analog-konvertere, en for hver farvekanal (rød, grøn, blå - RGB) og SRAM til lagring af gammakorrektionsdata. De fleste DAC'er har en bitdybde på 8 bit pr. kanal - det viser sig 256 lysstyrkeniveauer for hver primærfarve, hvilket giver i alt 16,7 millioner farver (og på grund af gammakorrektion er det muligt at vise de originale 16,7 millioner farver i meget større farverum). Nogle RAMDAC'er har 10 bits pr. kanal (1024 lysstyrkeniveauer), hvilket giver dig mulighed for straks at vise mere end 1 milliard farver, men denne funktion bruges praktisk talt ikke. For at understøtte en anden skærm er der ofte installeret en anden DAC.

TMDS ( Transition-minimized differential signaling  ) digital signaltransmitter uden DAC-konverteringer. Bruges til DVI-D, HDMI, DisplayPort tilslutninger. Med udbredelsen af ​​LCD-skærme og plasmapaneler er behovet for at transmittere et analogt signal forsvundet - i modsætning til CRT'er har de ikke længere en analog komponent og arbejder internt med digitale data. For at undgå unødvendige konverteringer udvikler Silicon Image TMDS.

Video ROM

Video ROM (Video ROM) er en skrivebeskyttet hukommelse (ROM), der indeholder videokort-BIOS , skærmskrifttyper , servicetabeller osv. ROM bruges ikke direkte af videocontrolleren - kun den centrale processor har adgang til den.

BIOS'en sikrer initialisering og drift af videokortet før indlæsning af hovedoperativsystemet , indstiller alle lavniveauparametre for videokortet, inklusive driftsfrekvenser og forsyningsspændinger for GPU'en og videohukommelsen og hukommelsestidspunkter. VBIOS indeholder også systemdata, der kan læses og fortolkes af videodriveren under drift (afhængigt af metoden til ansvarsfordeling mellem driveren og BIOS). Mange kort er udstyret med elektrisk omprogrammerbar ROM ( EEPROM , Flash ROM ), der giver brugeren mulighed for at overskrive video-BIOS af brugeren ved hjælp af et specielt program.

Interface

Den første hindring for at øge hastigheden af ​​et videosystem er datagrænsefladen, som videoadapteren er tilsluttet. Uanset hvor hurtig processoren på videoadapteren er, vil de fleste af dens muligheder forblive ubrugte, hvis de passende kanaler til udveksling af information mellem den, centralprocessoren, computerens RAM og yderligere videoenheder ikke leveres.

Den vigtigste dataoverførselskanal er naturligvis bundkortets grænsefladebussen, hvorigennem data udveksles med den centrale processor og RAM. Den allerførste bus, der blev brugt i IBM PC'en, var XT-Bus , den havde en bredde på 8 bit data og 20 bit adresse og arbejdede med en frekvens på 4,77 MHz . Så kom henholdsvis ISA-bussen (Industry Standard Architecture - industristandardarkitektur), den havde en bitbredde på 8/16 bit og kørte med en frekvens på 8 MHz. Den maksimale gennemstrømning var lidt over 5,5 MiB/s. Dette var mere end nok til at vise tekstinformation og spil med 16-farve grafik.

Et yderligere gennembrud var udseendet af MCA -bussen (Micro Channel Architecture) i den nye serie af PS/2-computere fra IBM. Den havde allerede en bitdybde på 32/32 bit og en spidsbåndbredde på 40 Mb/s. Men det faktum, at MCI-arkitekturen var lukket (IBM's ejendom), fik andre producenter til at lede efter andre måder at øge gennemstrømningen af ​​hovedadgangskanalen til videoadapteren.

Med fremkomsten af ​​486-seriens processorer blev det foreslået at bruge selve processorens lokale bus til at forbinde perifere enheder, som et resultat blev VLB (VESA Local Bus - lokal bus af VESA-standarden) født. VLB'en kørte ved et eksternt processorur, der varierede fra 25 MHz til 50 MHz og 32 bit bredt, og leverede en maksimal gennemstrømning på omkring 130 MiB/s. Dette var allerede mere end nok til alle eksisterende applikationer, desuden muligheden for at bruge det ikke kun til videoadaptere, tilstedeværelsen af ​​tre forbindelsesslots og bagudkompatibilitet med ISA (VLB er blot endnu et 116-bens stik bag ISA-slottet) garanteret det en lang nok levetid og understøttelse af mange producenter af chipsæt til bundkort og periferiudstyr, selv på trods af, at det ved frekvenser på 40 MHz og 50 MHz virkede problematisk at sikre driften af ​​selv to enheder tilsluttet til det på grund af en overdrevent høj belastning på den centrale processors trin (de fleste styrekredsløb gik trods alt fra VLB til processoren direkte uden nogen buffering).

Og alligevel, under hensyntagen til det faktum, at ikke kun videoadapteren begyndte at kræve en høj hastighed for informationsudveksling, og den åbenlyse umulighed af at forbinde alle enheder til VLB (og behovet for en cross-platform løsning, der ikke kun er begrænset til pc'er), dukkede PCI-bussen (Peripheral Component Interconnect - integration af eksterne komponenter) først og fremmest op på bundkort til Pentium-processorer. Med hensyn til ydeevne på pc-platformen forblev alt det samme - med en bus clock-hastighed på 33 MHz og en bitdybde på 32/32 bit, gav det en maksimal gennemstrømning på 133 MiB/s - det samme som VLB. Det var dog mere bekvemt og erstattede i sidste ende VLB-bussen på bundkort til 486-klassens processorer.

Med fremkomsten af ​​Pentium II-processoren og pc'ens seriøse krav på markedet for højtydende arbejdsstationer, samt fremkomsten af ​​3D-spil med kompleks grafik, blev det klart, at PCI - båndbredden , som den eksisterede på pc-platformen (typisk 33 MHz og bitdybde på 32 bit), vil snart ikke være nok til at opfylde systemets krav. Derfor besluttede Intel at lave en separat bus til det grafiske undersystem, opgraderede PCI-bussen lidt, forsynede den nye resulterende bus med separat hukommelsesadgang med understøttelse af nogle specifikke videoadapteranmodninger og kaldte det AGP (Accelerated Graphics Port - accelerated graphics port) . AGP-bussen er 32 bit bred og fungerer ved 66 MHz. Den første version af stikket understøttede 1x og 2x dataoverførselstilstande, den anden - 4x, den tredje - 8x. I disse tilstande overføres henholdsvis et, to, fire eller otte 32-bit ord pr. cyklus. Versioner af AGP var ikke altid kompatible med hinanden på grund af brugen af ​​forskellige forsyningsspændinger i forskellige versioner. For at forhindre beskadigelse af udstyret blev der brugt en nøgle i stikket. Maksimal gennemløb i 1x-tilstand er 266 MiB/s. Outputtet af videoadaptere baseret på PCI- og AGP-busser er ubetydeligt, da AGP-bussen er ophørt med at opfylde kravene til strømmen af ​​nye pc'er og desuden ikke kan levere den nødvendige strømforsyning. For at løse disse problemer er der oprettet en PCI-busudvidelse -  PCI Express version 1.0, 1.1, 2.0, 2.1, 3.0 og den seneste 4.0. Dette er en seriel, i modsætning til AGP, grænseflade, dens gennemstrømning kan nå op på flere snesevis af Gb/s. I øjeblikket har der været en næsten fuldstændig afvisning af AGP-bussen til fordel for PCI Express. Det er dog værd at bemærke, at nogle producenter stadig tilbyder videokort med PCI- og AGP-grænseflader – i mange tilfælde er dette en ret simpel måde at dramatisk øge ydeevnen på en forældet pc i nogle grafikopgaver.

Connector

Videoadaptere MDA, Hercules, EGA og CGA var udstyret med et 9-benet D - Sub stik . Nogle gange var der også et koaksialt Composite- videostik , så du kan sende et sort/hvidt billede til en tv-modtager eller skærm udstyret med en lavfrekvent videoindgang.

VGA og senere videoadaptere havde normalt kun ét VGA-stik ( 15 - bens D-Sub ). Nogle gange havde tidlige versioner af VGA-adaptere også et tidligere generationsstik (9-bens) for kompatibilitet med ældre skærme. Valget af arbejdsoutput blev indstillet af kontakterne på videoadapterkortet.

Kortene er udstyret med DVI- eller HDMI-stik , eller DisplayPort i en mængde fra en til tre (nogle nyeste generation af ATI-skærmkort er udstyret med seks stik).

DVI- og HDMI-porte er evolutionære stadier i udviklingen af ​​videosignaltransmissionsstandarden, derfor kan adaptere bruges til at forbinde enheder med disse typer porte (DVI-stik til D-Sub-stik er et analogt signal, HDMI-stik til DVI-D jack er et digitalt signal, der ikke understøtter teknisk copyright-beskyttelse ( High Bandwidth D igital  C opy Protection , HDCP ) , derfor uden mulighed for at transmittere flerkanalslyd og billeder af høj kvalitet). DVI-I-porten indeholder også analoge signaler, så du kan tilslutte en skærm til et ældre D-SUB-stik (DVI-D tillader ikke dette).

DisplayPort giver dig mulighed for at tilslutte op til fire enheder, inklusive lydenheder, USB - hubs og andre I/O-enheder.

Komposit- og komponent S-Video- udgange kan også placeres på videokortet ; også videoinput (benævnt ViVo )

Kølesystem

Kølesystemet er designet til at holde temperaturen på videoprocessoren og (ofte) videohukommelsen inden for acceptable grænser.

I specifikationen af ​​et videokort giver udvikleren mulighed for at tilpasse det til producenter. For eksempel kan producenterne vælge kapaciteten og typen af ​​kondensatorer (POSCAP, SP-CAP, MLCC). Utilstrækkelig test eller brug af billigere komponenter kan føre til ustabil drift af videokort. [23]

Karakteristika

  • Memory bus width , målt i bits  - antallet af bits information transmitteret pr. ur. En vigtig parameter i kortets ydeevne.
  • Mængden af ​​videohukommelse , målt i megabyte  , er mængden af ​​videokortets egen RAM . Mere lydstyrke betyder ikke altid mere ydeevne.

Videokort, der er integreret i systemlogiksættet på bundkortet eller er en del af CPU'en, har normalt ikke deres egen videohukommelse og bruger en del af computerens RAM til deres behov ( UMA - Unified Memory Access ).

  • kerne- og hukommelsesfrekvenser  - målt i megahertz, jo flere, jo hurtigere behandler videokortet information.
  • tekstur og pixelfyldningshastighed , målt i millioner pixels pr. sekund, viser mængden af ​​outputinformation pr. tidsenhed.

Vigtige tekniske funktioner, der karakteriserer et videokort, omfatter et integreret kølesystem, hvis det er implementeret, og stik til dataoverførselsgrænseflader [24] [25] .

Grafikkorttyper

Diskrete grafikkort

Den mest højtydende klasse af grafikadaptere. Som regel er den forbundet til højhastigheds- PCI Express -databussen . Tidligere var der videokort forbundet til AGP -busser (en specialiseret dataudvekslingsbus til kun at forbinde videokort), PCI , VESA og ISA . Videokort forbindes via PCI Express-bussen , og alle andre typer forbindelser er forældede. I computere med en anden arkitektur end den IBM-kompatible var der andre typer videokortforbindelser.

Det diskrete kort kan ikke nødvendigvis fjernes fra enheden (for eksempel på bærbare computere er det diskrete kort ofte loddet til bundkortet). Det kaldes diskret på grund af det faktum, at det er lavet i form af en separat chip (eller chipset) og ikke er en del af andre computerkomponenter (i modsætning til grafikløsninger, der er indbygget i bundkortsystemlogikchips eller direkte i den centrale processor) . De fleste diskrete grafikkort har deres egen random access memory (VRAM), som ofte kan have hurtigere adgangshastigheder eller en hurtigere adgangsbus end almindelig computer RAM. Selvom der tidligere var videokort, der brugte hele eller en del af hoved-RAM til at gemme og behandle grafisk information, bruger videokort deres egen videohukommelse. Også nogle gange (men ret sjældent) er der videokort, hvis RAM ikke er installeret i form af separate hukommelseschips, men er en del af grafikchippen (i form af separate krystaller eller på den samme chip med grafikprocessoren).

Implementeret som et separat chipset snarere end som en del af andre chips, kan diskrete grafikkort være ret komplekse og meget mere kraftfulde end integreret grafik. Dertil kommer, at diskrete videokort, der har deres egen videohukommelse, ikke behøver at dele RAM med andre computerkomponenter (primært med den centrale processor). Egen RAM giver dig mulighed for ikke at spilde hoved-RAM til at gemme information, som ikke er nødvendig for den centrale processor og andre computerkomponenter. Til gengæld skal videoprocessoren ikke stå i kø for at få adgang til computerens RAM, som kan tilgås af både centralprocessoren og andre komponenter i øjeblikket. Alt dette har en positiv effekt på ydeevnen af ​​diskrete grafikkort sammenlignet med integreret grafik.

Teknologier som Nvidias SLI og AMDs CrossFire tillader flere grafikadaptere at køre parallelt til den samme opgave.

Integreret grafik

Integrerede grafikadaptere har ikke deres egen hukommelse og bruger computerens RAM, hvilket påvirker ydeevnen til det værre. Selvom Intel Iris Graphics siden Broadwell- processorgenerationen har 128 megabyte L4-cache til deres rådighed, kan de tage resten af ​​hukommelsen fra computerens RAM [26] . Indlejrede grafikløsninger bruges i bærbare enheder på grund af deres lave strømforbrug. Deres præstation er allerede på et højt nok niveau og giver dig mulighed for at spille enkle tredimensionelle spil.

Integrerede GPU'er er placeret på den samme chip som CPU'en (for eksempel Intel HD Graphics eller Intel Iris Graphics ), tidligere generationer (for eksempel Intel GMA ) var placeret som en separat chip.

Hybridløsninger

Hybridløsninger bruges, hvor der kræves både strømeffektivitet og høj grafikydeevne, så du kan bruge den integrerede grafikadapter til hverdagsopgaver og kun bruge den diskrete grafikadapter, hvor det er nødvendigt.

Før fremkomsten af ​​hybridgrafik indbyggede producenter en diskret adapter ud over den indbyggede, skift mellem dem krævede en genstart, hvilket ikke var særlig brugervenligt. Hybridadaptere bruger kun den integrerede grafikadapter til skærmoutput, men nogle beregninger kan overføres til et diskret grafikkort i stedet for at blive udført af dem selv. For brugeren bliver skift mellem videoadaptere usynligt. Eksempler på sådanne løsninger er Nvidias Optimus-teknologi og AMDs DualGraphics.

GPGPU

GPGPU (Eng. General-purpose computing for graphics processing units, ikke-specialiserede beregninger på grafikprocessorer) - brugen af ​​et videokorts grafikprocessor til parallel computing. Grafikkort kan have op til flere tusinde processorer, hvilket gør det muligt at løse nogle opgaver på grafikkort en størrelsesorden hurtigere end på centrale processorer. Applikationer, der bruger denne teknologi, er skrevet ved hjælp af teknologier som OpenCL eller CUDA .

Eksternt videokort

Udtrykket eGPU refererer til et diskret grafikkort placeret uden for computeren [27] . Det kan f.eks. bruges til at øge ydeevnen i 3D-applikationer på bærbare computere.

Typisk er PCI Express den eneste egnede bus til dette formål. Porten kan være ExpressCard , mPCIe (PCIe ×1, op til henholdsvis 5 eller 2,5 Gb/s ) eller en Thunderbolt 1, 2 eller 3 port (PCIe × 4, op til 10, 20 eller 40 Gb/s, henholdsvis) [28 ] [29] .

I 2016 gjorde AMD et forsøg på at standardisere eksterne GPU'er [30] .

Software

På softwareniveau bruger videoprocessoren en eller anden applikationsprogrammeringsgrænseflade (API) til sin organisering af beregninger ( tredimensionelle grafiske beregninger).

De allerførste mainstream-acceleratorer brugte Glide  , et 3D-grafik-API udviklet af 3dfx Interactive til videokort baseret på Voodoo Graphics' proprietære GPU'er.

Så kan generationerne af acceleratorer i videokort tælles efter den version af DirectX , som de understøtter. Der er følgende generationer:

  • DirectX 7  - kortet understøtter ikke shaders , alle billeder er tegnet med teksturmapping;
  • DirectX 8  - understøttelse af pixel shaders version 1.0, 1.1 og 1.2, i DX 8.1 også version 1.4, understøttelse af vertex shaders version 1.0;
  • DirectX 9  - understøttelse af pixel shaders version 2.0, 2.0a og 2.0b, 3.0;
  • DirectX 10  - understøttelse af unified shaders version 4.0;
  • DirectX 10.1  - understøttelse af unified shaders version 4.1;
  • DirectX 11  - understøttelse af unified shaders version 5.0;
  • DirectX 12  - understøttelse af unified shaders version 6.0;

Med udgivelsen af ​​DirectX 11 og fremkomsten af ​​API Feature Level (FLxx) supportmodellen er de fleste videokort ikke længere bundet til en specifik version af DirectX .

Enhedsdriver

Også den korrekte og fuldfunktionelle drift af grafikadapteren sikres ved hjælp af videodriveren -  speciel software leveret af producenten af ​​videokortet og indlæst under opstart af operativsystemet. Videodriveren fungerer som en grænseflade mellem det system, der kører programmer på den, og videoadapteren. Ligesom video- BIOS organiserer og styrer videodriveren betjeningen af ​​alle dele af videoadapteren via specielle kontrolregistre, der tilgås via den tilsvarende bus.

En enhedsdriver understøtter normalt et eller flere kort og skal være skrevet specifikt til et specifikt operativsystem (OS).

De fleste enheder kræver proprietære drivere for at bruge al funktionalitet, disse drivere til populære operativsystemer leveres normalt med enheden og er ofte tilgængelige til gratis download fra producentens websted. Der er flere open source-skærmkortdrivere under udvikling , men mange af dem kan kun bruge kortenes kernefunktionalitet.

Brugen af ​​videokort i cryptocurrency mining

Mining på et videokort er processen med at udvinde kryptovaluta ved hjælp af grafikbehandlingsenheder (GPU'er). Til cryptocurrency- mining bruges videokort i stedet for processorer, fordi de behandler mere information på kortere tid. Deres eneste ulempe er det høje forbrug af elektricitet, men det høje afkast kompenserer let for denne svaghed [31] .

Til minedrift bruges fuldgyldige diskrete videokort, chips integreret i processoren bruges ikke. Der er også artikler på nettet om minedrift på et eksternt videokort, men dette virker heller ikke i alle tilfælde og er ikke den bedste løsning [32] .

Se også

Noter

  1. 1 2 3 4 5 6 7 ComputerBild nr. 11, 2011 , s. 38.
  2. Videokort: AMD og NVIDIA  // Chip  : magasin. - 2011. - Juli ( nr. 7 ). - S. 46 . — ISSN 1609-4212 .
  3. 1 2 3 ComputerBild nr. 11, 2011 , s. 39.
  4. Intel Corporation. AGP V3.0 grænsefladespecifikation  . - "grafikkort, tilføjelseskort".
  5. Hvad skal du vide om videokort? THG begyndervejledning, del I. THG.ru. _ Toms hardware (24. august 2006). Hentet 22. juli 2021. Arkiveret fra originalen 21. juli 2021.
  6. Graphic Card Components  , pctechguide.com (  23. september 2011). Arkiveret fra originalen den 12. december 2017. Hentet 24. marts 2021.
  7. Hvad er forskellen mellem integreret grafik og diskret grafik?  (engelsk) . Intel . Hentet 2. september 2021. Arkiveret fra originalen 21. september 2021.
  8. ↑ ExplainingComputers.com : Hardware  . www.explainingcomputers.com . Hentet 11. december 2017. Arkiveret fra originalen 17. december 2017.
  9. OpenGL vs DirectX - Cprogramming.com . www.cprogramming.com . Hentet 11. december 2017. Arkiveret fra originalen 12. december 2017.
  10. Kent C. Redmond, Thomas M. Smith. Projekt hvirvelvind. En casehistorie i moderne teknologi. MITER Corporation, Bedford MA, USA. 1975 _ Hentet 25. juli 2021. Arkiveret fra originalen 21. januar 2022.
  11. Computers og computers historie, den moderne computers fødsel, personlig computer, Xerox Alto . Hentet 19. april 2016. Arkiveret fra originalen 5. december 2020.
  12. DISPLAY CONTROLLER. — Q: 09aDISPL // xerox :: alt :: skemaer.
  13. Kuhman, Robert The Cro's Nest RCP/M-RBBS . www.kuhmann.com. Hentet 10. februar 2012. Arkiveret fra originalen 10. februar 2012.
  14. Les Solomon, "Salomons minde" Arkiveret 25. oktober 2012. , i Digital Deli , Workman Publications, 1984, ISBN 0-89480-591-6
  15. Mikhail Guk. IBM PC hardware. Encyklopædi, 2. udg. - Sankt Petersborg: Peter, 2002. - 928 s.: ill. - s. 530
  16. Kan du huske, hvordan det hele begyndte? 3D acceleratorer . 3DNews (31. december 2017). Hentet 17. juli 2021. Arkiveret fra originalen 26. maj 2021.
  17. Oversigt Quadro Fermi . www.nvidia.com Hentet 9. december 2018. Arkiveret fra originalen 9. december 2018.
  18. Mikhail Guk. IBM PC hardware. Encyklopædi, 2. udg. - Sankt Petersborg: Peter, 2002. - 928 s.: ill. - S. 526-528, 542
  19. NVIDIA TITAN RTX er det hurtigste pc-grafikkort, der nogensinde er bygget | NVIDIA . Dato for adgang: 22. februar 2019. Arkiveret fra originalen 22. februar 2019.
  20. NVIDIA GeForce GTX 1080 . Hentet 21. februar 2017. Arkiveret fra originalen 26. februar 2017.
  21. NVIDIA TITAN X Pascal . Hentet 21. februar 2017. Arkiveret fra originalen 22. februar 2017.
  22. TITAN RTX Ultimate PC-grafikkort med Turing | NVIDIA . Hentet 22. februar 2019. Arkiveret fra originalen 26. december 2018.
  23. Producenter reagerer på GeForce RTX 3080/3090-nedbrud på  skrivebordsproblemer . videocardz.com . Hentet 25. februar 2021. Arkiveret fra originalen 22. februar 2021.
  24. Ofte stillede spørgsmål om videokort/videokort . Hentet 18. juli 2021. Arkiveret fra originalen 18. juli 2021.
  25. Købervejledning til grafikkort: Nøglefunktioner ved grafikkort . Hentet 18. juli 2021. Arkiveret fra originalen 19. april 2021.
  26. " A Survey Of Architectural Approaches for Managing Embedded DRAM and Non-volatile On-chip caches Archited January 8, 2016 at the Wayback Machine ", Mittal et al., IEEE TPDS, 2014
  27. Semit. Erfaring med at bygge en eGPU og dens interaktion med en bærbar computer . Hentet 26. marts 2016. Arkiveret fra originalen 7. april 2016.
  28. eGPU-kandidatsystemliste . Tech Inferno-fora .
  29. Neil Mohr. Sådan laver du en ekstern bærbar grafikadapter . techradar . Hentet 26. marts 2016. Arkiveret fra originalen 26. juni 2017.
  30. Mark Walton. AMD ønsker at standardisere den eksterne GPU . Hentet 29. september 2017. Arkiveret fra originalen 1. december 2017.
  31. Hvordan cryptocurrency er relateret til et videokort og funktioner i minedrift på et videokort . kripto365.ru (8. oktober 2018). Hentet 4. oktober 2019. Arkiveret fra originalen 28. september 2020.
  32. GPU Mining - Den komplette vejledning . prostocoin.com. Hentet 4. oktober 2019. Arkiveret fra originalen 20. september 2019.

Litteratur

  • Scott Mueller. Opgradering og reparation af pc'er = Opgradering og reparation af pc'er. - 17. udg. - M . : "Williams" , 2007. - S. 889-970. — ISBN 0-7897-3404-4 .
  • Yuri Valerianov. Grafisk udvikling  // Computer Bild  : magasin. - 2011. - 23. maj ( nr. 11 ). - S. 38-41 . — ISSN 2308-815X .
  • Mikhail Guk. IBM PC hardware. Encyklopædi, 2. udg. - Sankt Petersborg: Peter, 2002. - 928 s.: ill.
  • Stan VeitStan Veits historie om den personlige computer. - 1993. -ISBN 978-1566640237.

Links