Videohukommelse er en intern RAM , der er allokeret til lagring af data, som bruges til at danne et billede på monitorskærmen [1] .
Videohukommelse refererer til navnene på engelsk. videohukommelse , video Random-Access Memory ( video RAM , VRAM - video RAM, video RAM [2] , video RAM [3] ), [4] videobuffer - videobuffer, opfrisk RAM - regenereringshukommelse [5] , displayhukommelse - displayhukommelse, grafikhukommelse , videolagring [6] samt navnene på forskellige typer hukommelse. Udtrykket "VRAM" refererer nogle gange til dual-port DRAM-teknologien, der blev brugt i 1980'erne.
Videohukommelsen indeholder data, der derefter sendes til skærmen som et billede. Når du arbejder i teksttilstand, indeholder videohukommelsen koder og attributter for tegn, i grafiktilstand - en bitmap [5] . Den del af videohukommelsen, der bruges til at vise billedet på skærmen, kaldes billed ( frame) buffer ( frame buffer ) [7] . I teksttilstand består billedet af en tegnmatrix, og området for videohukommelsen for det kaldes en videoside ( videoside ) [8] . I normal visning skriver processoren data til billedbufferen, hvorefter den læses af videocontrolleren . Karakteristika for videohukommelse er dens volumen (hukommelsesstørrelse (MB, GB)), type (hukommelsestype), hukommelsesbusbredde (hukommelsesgrænsefladebredde, hukommelsesbusbredde (bit)) og clockfrekvens (frekvens, hukommelsesklokhastighed ( MHz, GHz )) [8] . Båndbredde ( hukommelsesbåndbredde (GB/s)) beregnes ved at gange busbredden med clockfrekvensen [8] .
GDDR5 har flere frekvensbetegnelser: reference, reel og effektiv. Ved referencefrekvensen (core clock) fungerer transistorer i hukommelseschips. Den virkelige er busfrekvensen (I/O bus clock), ved hvilken bufferne i hukommelseschippene og bufferne i hukommelsescontrolleren fungerer, den er to gange referencefrekvensen. Effektiv - med DDR-teknologi er dataoverførselshastigheden det dobbelte af busfrekvensen. [9] Båndbredde er defineret som (frekvens x bitdybde / 8) x multiplikator, hvor 8 konverterer bits til bytes, multiplikator 2 for GDDR3, 4 for GDDR5 [10] . Hukommelseshastighed er også angivet i bits per sekund (Gbps, Gb/s), der viser hastigheden af en linje (pin) i chippen. For eksempel er der på et videokort 8 hukommelseschips, i en GDDR5-chip er der 32 linjer på 8 Gbps hver, så vil 8x32x8 give en samlet båndbredde på 2048 Gb/s eller 256 GB/s [11] .
Videohukommelse bruges til midlertidig lagring, ud over selve billedbufferen og andre: teksturer , shaders , polygonmasker , vertexbuffere , Z-buffer (afstand af billedelementer i 3D-grafik ) og lignende data fra det grafiske undersystem ( med undtagelse, for det meste video BIOS-data, GPU intern hukommelse osv.) og koder. Samtidig kan videohukommelsen indeholde både et rasterbillede (skærmramme) og individuelle fragmenter i både raster (teksturer) og vektor ( polygoner , især trekanter ) former. Overvågningssoftware såsom RivaTuner og MSI AfterBurner kan vise mængden af videohukommelse, der bruges, Intel VTune overvåger GPU'ens læse- og skrivehukommelsesbåndbreddeforbrug. Viewer- programmer ( VRAM Viewer ) giver dig mulighed for at bestemme den nøjagtige placering, se og gemme grafiske elementer fra videohukommelsen, for eksempel i emulatorer.
For at reducere mængden af brugt VRAM kan applikationsudviklere vælge, hvordan teksturer gemmes i VRAM. Ud over 32-bit pixelbeskrivelsen i RGBA8, bruges 16-bit (RGB5_A1, RGBA4) og 8-bit (RGBA2) beskrivelser eller komprimeringer ( der er f.eks. hardwareunderstøttelse til S3TC ). Trunkerede filformater forringer kvaliteten, og artefakter vises under komprimering. Sprites er tæt pakket ind i et teksturatlas ( problem med containerpakning ). Flere teksturer er repræsenteret som én tekstur med en palet . Når du bruger ressourcekrævende indstillinger eller fejl i spil, opstår der nogle gange fejlen "løb tør for videohukommelse" [12] . DirectDrawtilladt applikationsudviklere direkte adgang til VRAM.
Processoren skriver efter behov, og monitoren tilgår den løbende [8] . Ved opdatering af bufferen i de øjeblikke, hvor det forrige billede ikke er helt tegnet på skærmen, eller når der bruges mere videohukommelse, end der er fysisk tilgængelig [13] , vises en billedrivningsartefakt ( rivning , stammende ) [14] . For en mere ensartet bufferopdatering anvendes vertikal synkronisering [14] .
Unified Memory Architecture ( UMA ) bruger en del af RAM som videohukommelse. Under dette navn dukkede løsninger fra forskellige udviklere op på forskellige tidspunkter. I AGP -teksturteknologien kunne grafikprocessoren ud over videokortets egen hukommelse få adgang til filer i RAM'en. Intels integrerede grafikløsninger tildeler dynamisk videohukommelse [15] [16] (Intel Dynamic videohukommelsesteknologi , DVMT) til halvdelen [17] systemhukommelse eller mindre [18] , og UEFI giver dig mulighed for at konfigurere den maksimale videohukommelsesstørrelse og blænde [ 19] . I Nvidias og Apples løsninger deler grafik og systemhukommelse et fælles adresseområde [20] . I 2004 brugte ATI og Nvidia HyperMemory og TurboCache til at gøre videokort billigere.
Microsoft DirectStorage API og RTX IO teknologier giver dig mulighed for at indlæse data fra en NVMe SSD direkte ind i VRAM uden at bruge CPU og systemhukommelse. [21]
Nvidia SLI -kortfusionsteknologien fordoblede ikke mængden af VRAM, da dataene blev duplikeret mellem VRAM'erne på de to kort. I begyndelsen blev et kort med stor volumen justeret til et kort med mindre, og den overskydende volumen blev ikke brugt. Siden 100.xx-versionen af driverne blev kun kort med samme mængde hukommelse kombineret i SLI.
VRAM- overclocking er mulig ved at ændre parametrene i BIOS på videokortet [22] eller ved at bruge specielle grafikkortopsætningsværktøjer. Nogle producenter udvikler sådanne hjælpeprogrammer til deres egne grafikkort, der giver både manuelle og automatiske overclocking-muligheder baseret på algoritmer fra udvikleren. VRAM-indstillinger giver dig mulighed for at tilpasse hukommelsens clockhastigheder og spændinger samt timings for at reducere latens. [23] I tilpassede driftstilstande kræver det tilstrækkelig kontrol og varmeafledning. Nogle GDDR-chips har indbyggede temperatursensorer til beskyttelsesmekanismer ( downclocking ). Micron for GDDR5, GDDR5X og GDDR6 angiver en maksimal overgangstemperatur på 100°C. [24] [25]
I 1970'erne rummede videohukommelsen teksttilstandsdata . Efter billiggørelsen af hukommelseschips blev det muligt at lagre grafik i pixels i videohukommelsen. I 80'erne og 90'erne voksede mængden af VRAM placeret på grafikadaptere hurtigt.
I 1981 havde MDA 4 KB VRAM og CGA - 16 KB, Intel iSBX 275 i 1983 - 32 KB, ATI Graphics Solution Rev 3 i 1986 - 64 KB, VGA i 1986 - 256 KB, NV1 i 1995 - 2 MB , RIVA 128 i 1997 - 4 MB, RIVA TNT i 1998 - 16 MB, GeForce 256 i 1999 - 32 MB. I slutningen af 2000'erne nåede volumen 2 GB. I 2000 indeholdt videokort hovedsageligt 64 MB (Radeon 7500 - 128 MB), 2001-256 MB, 2005-512 (GeForce 6600), 2007-1024 MB (GeForce 8600 GT), 2008-2048 MB (4048 MB). I 2015 nåede volumen 8 GB. I 2011 - 3072 MB (GeForce GT 440), 2012 - 4096 MB (GeForce GTX 670), 2013 - 6144 MB (GeForce GTX Titan), 2014 - 8192 MB (Radeon R9 290X). Selvom topmodellen af videokortet i 2015 udkom med 12 GB VRAM (GeForce Titan X), i 2018 - 24 GB (Titan RTX) og 32 GB (Titan V CEO), i 2020, var de fleste af de frigivne videokort tilbydes 2-8 GB VRAM.
I professionelle versioner af videokort tilføjes der normalt mere videohukommelse. I 1980'erne havde IBM Professional Graphics Controller 320 KB 40 64 KB DRAM-chips. I 2020 havde Quadro RTX 8000 48 GB, og med kortbinding via NVLink udvides den til 96 GB.
Videohukommelsestyper [26] : FPM DRAM (1990), VRAM , WRAM (1995), EDO DRAM (1995), SDRAM, MDRAM, SGRAM , DDR2 SDRAM , [27] RDRAM , DRAM, CDRAM, Burst EDO, 3D RAM, Indlejret RAM, FeRAM , DRDRAM , DDR SDRAM (DDR), ESDRAM, FCRAM , MRAM [28] , GDDR (2000), GDDR2 (2003), GDDR3 (2004), GDDR4 (2006), GDDR5 (2008) [ 29] [30] , GDDR6 (2017), HBM (2013), HBM2 (2016). Typer VRAM, WRAM - dual-port DRAM (dual-port video RAM), der giver dig mulighed for samtidigt at skrive og læse data [4] [7] [27] .
For kompatibilitet med 32-bit operativsystemer [31] var mængden af VRAM, der var direkte tilgængelig for CPU'en via PCI, begrænset til 256 MB. I 2008 blev Resizable BAR-teknologi tilføjet til PCI Express 3.0-standarden, som giver adgang til hele mængden af videohukommelse. [32] [33] AMD kaldte teknologien Smart Access Memory (SAM).
Ved fremstilling af videokort har GDDR3 -hukommelse været brugt i ret lang tid . Den blev erstattet af GDDR4 , som har højere båndbredde end GDDR3; GDDR4 blev dog ikke udbredt på grund af dets dårlige pris-ydelsesforhold og blev kun brugt i begrænset omfang i nogle avancerede videokort (f.eks . Radeon X1950XTX, HD 2900 XT, HD3870). Så kom GDDR5-hukommelsen , som fra 2012 er den mest massive, GDDR3 bruges i budgetsegmentet. I 2018 er top-end videokort udstyret med HBM og HBM2, GDDR5X og GDDR6 hukommelse. Ifølge Steam-statistikker i 2018 havde 32% af deres spillere 2GB VRAM, 19% havde 4GB, og 17% havde 1GB [34] . Systemkravene til spil angiver ofte den nødvendige mængde VRAM for forskellige niveauer af indstillinger [35] .
Hukommelseskapaciteten på de fleste moderne videokort spænder fra 256 MB (for eksempel AMD Radeon HD 4350 ) [36] til 48 GB (for eksempel NVIDIA Quadro RTX 8000 ) [37] . 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 [38] 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) af hukommelsen på moderne videokort når 480 GB / s for GDDR5X-hukommelsestypen (for eksempel NVIDIA TITAN X Pascal [39] ) og 672 GB / s for GDDR6-hukommelsestypen (for eksempel , TITAN RTX [40] ).
Videohukommelse er placeret på videoadapteren eller allokeret som en del af RAM [41] . Som regel er RAM-chipsene på et moderne videokort loddet direkte til printpladens textolite, i modsætning til aftagelige systemhukommelsesmoduler, der er indsat i de standardiserede stik fra tidlige videoadaptere.
Et separat videokort med egen hukommelse. Data kopieres over PCI Express-bussen
Enkelt grafikkort med delt hukommelse en:Heterogeneous System Architecture . Pointere sendes gennem PCI Express, hvilket gør nul-kopiering mulig .
Integreret grafikkort allokeret systemhukommelse
Integreret grafik med delt hukommelse (HSA)
Videohukommelse adskiller sig fra "almindelig" system-RAM i strengere krav til busbredde. Grafikdatabussen er en backbone, der forbinder grafikprocessoren og hukommelsen på videokort.
Båndbredden af videohukommelsesdatabussen er:
Forholdet mellem mængden af hukommelse, dens type og databusbredde har betydning: 512 MB DDR2 , med en databusbredde på 128 bit, vil arbejde langsommere og meget mindre effektivt end 256 MB GDDR3 med en busbredde på 128 bit osv. grunde, 256MB GDDR3 med en 256bit bus er bedre end 256MB GDDR3 med en 128bit bus osv.
Videokortproducenter fremstiller ikke selv VRAM, men køber det. Nogle bemærkelsesværdige VRAM-producenter er Samsung , Micron , Memory og Hynix . [42] Designeren af et grafikkort giver flere konfigurationer i designet og overlader typen, antallet og placeringen af komponenter på kortet til fabrikantens valg. På forskellige modeller af det samme referencevideokortdesign kan et andet antal hukommelseschips af de medfølgende typer installeres, og de kan også være placeret både på toppen og på bunden af kortet.
Det er også værd at overveje, at på grund af de relativt lave omkostninger ved videohukommelse installerer mange videokortproducenter en overdreven mængde videohukommelse (4, 6 og 8 GB) på svage videokort for at øge deres marketingattraktivitet. På videokort er hukommelseschips normalt placeret rundt om videoprocessoren for at fjerne varme fra dem med en køler , der deles med processoren .
af Dynamic Random Access Memory (DRAM) | Typer|
---|---|
asynkron | |
Synkron | |
Grafisk | |
Rambus | |
Hukommelsesmoduler |