A videomemória egy belső RAM , amely az adatok tárolására van lefoglalva, és amelyet a monitor képernyőjén való kép létrehozására használnak [1] .
A videomemória az angol nevekre utal. videomemória , video Random-Access memória ( video RAM , VRAM - video RAM, video RAM [2] , video RAM [3] ), [4] video puffer - video puffer, frissítő RAM - regenerációs memória [5] , kijelző memória - kijelző memória, grafikus memória , videó tároló [6] , valamint a különböző típusú memória nevei. A "VRAM" kifejezés néha az 1980-as években használt kétportos DRAM technológiára utal.
A videomemória adatokat tartalmaz, amelyek ezután képként kerülnek a képernyőre. Ha szöveges módban dolgozik, a videomemória tartalmazza a karakterek kódjait és attribútumait, grafikus módban - egy bittérképet [5] . A videomemória azon részét, amelyet a kép képernyőn való megjelenítésére használnak, kép ( frame) puffernek ( frame buffer ) nevezzük [7] . Szöveges módban a kép egy karaktermátrixból áll, és a hozzá tartozó videomemória területét videooldalnak (videóoldalnak) nevezik [ 8 ] . Normál nézetben a processzor adatokat ír a képpufferbe, majd a videovezérlő beolvassa azokat . A videomemória jellemzői: térfogata (memória mérete (MB, GB)), típusa (memória típusa), memóriabusz szélessége (memória interfész szélessége, memóriabusz szélessége (bit)) és órajel frekvenciája (frekvencia, memória órajel MHz, GHz )) [8] . A sávszélességet ( memória sávszélesség (GB/s)) úgy számítjuk ki, hogy a busz szélességét megszorozzuk az órajel frekvenciával [8] .
A GDDR5-nek számos frekvenciajelölése van: referencia, valós és effektív. A referenciafrekvencián (mag órajel) a memóriachipekben lévő tranzisztorok működnek. Az igazi az a buszfrekvencia (I/O busz órajel), amelyen a memóriachipek pufferei és a memóriavezérlő pufferei működnek, ez kétszerese a referenciafrekvenciának. Hatékony – a DDR technológiával az adatátviteli sebesség kétszerese a buszfrekvenciának. [9] A sávszélesség meghatározása: (frekvencia x bitmélység / 8) x szorzó, ahol 8 konvertálja a biteket bájtokká, szorzó 2 a GDDR3, 4 a GDDR5 [10] . A memória sebességét bit per másodpercben (Gbps, Gb / s) is jelöljük, amely a chipben lévő egy sor (pin) sebességét mutatja. Például egy videokártyán 8 memóriachip van, egy GDDR5 chipben 32 sor, egyenként 8 Gbps, akkor a 8x32x8 összesen 2048 Gb/s vagy 256 GB/s sávszélességet ad [11] .
Ideiglenes tárolásra a videomemória szolgál, magán a képpufferen és egyebeken kívül: textúrák , árnyékolók , poligonhálók , csúcspufferek , Z-puffer (a képelemek távolsága a 3D grafikában ), és a grafikus alrendszer hasonló adatai ( a legtöbb esetben a videó BIOS-adatok, a GPU belső memóriája stb.) és a kódok kivételével. Ugyanakkor a videomemória raszteres képet (képernyőkeretet) és egyedi töredékeket is tartalmazhat raszteres (textúrák) és vektoros ( sokszögek , különösen háromszögek ) formában. Az olyan megfigyelő szoftverek, mint a RivaTuner és az MSI AfterBurner, képesek megmutatni a felhasznált videomemória mennyiségét, az Intel VTune pedig a GPU olvasási és írási memória sávszélesség-használatát figyeli. A Viewer programok ( VRAM Viewer ) lehetővé teszik a pontos hely meghatározását, a grafikus elemek megtekintését és mentését a videomemóriából, például emulátorokban.
A felhasznált VRAM mennyiségének csökkentése érdekében az alkalmazásfejlesztők kiválaszthatják a textúrák VRAM-ban való tárolásának módját. Az RGBA8 32 bites képpontleírása mellett 16 bites (RGB5_A1, RGBA4) és 8 bites (RGBA2) leírások vagy tömörítések is használatosak (például az S3TC hardveres támogatása ). A csonkolt fájlformátumok rontják a minőséget, és a tömörítés során műtermékek jelennek meg. A sprite -ek sűrűn be vannak csomagolva egy textúra atlaszba ( konténer csomagolási probléma ). A több textúra egyetlen textúraként jelenik meg egy palettával . Ha erőforrásigényes beállításokat vagy hibákat használ a játékokban, néha „elfogyott a videomemória” hiba lép fel [12] . DirectDrawlehetővé tette az alkalmazásfejlesztők számára a közvetlen hozzáférést a VRAM-hoz.
A processzor szükség szerint ír, a monitor pedig folyamatosan hozzáfér [8] . Amikor frissíti a puffert azokban a pillanatokban, amikor az előző kép nem rajzolódik ki teljesen a kijelzőn, vagy ha több videomemóriát használ, mint amennyi fizikailag elérhető [13] , képszakadási műtermék jelenik meg ( szakadás , akadozás ) [14] . Az egységesebb pufferfrissítés érdekében függőleges szinkronizálást alkalmaznak [14] .
Az Unified Memory Architecture ( UMA ) a RAM egy részét használja videomemóriaként. Ezen a néven különböző időpontokban jelentek meg a különböző fejlesztők megoldásai. Az AGP textúrás technológiában a grafikus processzor a videokártya saját memóriája mellett a RAM-ban lévő fájlokhoz is hozzáférhetett. Az Intel integrált grafikus megoldásai dinamikusan osztják ki a videomemóriát [15] [16] (Intel Dynamic videomemória technológia , DVMT) a fele [17] rendszermemóriához vagy annál kevesebbhez [18] , az UEFI pedig lehetővé teszi a videomemória maximális méretének és rekesznyílásának konfigurálását [ 19] . Az Nvidia és az Apple megoldásaiban a grafika és a rendszermemória közös címteret használ [20] . 2004-ben az ATI és az Nvidia HyperMemory -t és TurboCache -t használt a videokártyák olcsóbbá tételére.
A Microsoft DirectStorage API és az RTX IO technológiák lehetővé teszik, hogy az NVMe SSD-ről közvetlenül a VRAM-ba töltsön adatokat a CPU és a rendszermemória használata nélkül. [21]
Az Nvidia SLI kártyaegyesítési technológiája nem duplázta meg a VRAM mennyiségét, ugyanis a két kártya VRAM-jai között duplikáltak az adatok. Kezdetben egy nagy térfogatú kártyát egy kisebb kártyához igazítottak, és a felesleges hangerőt nem használták fel. Az illesztőprogramok 100.xx verziója óta csak ugyanannyi memóriával rendelkező kártyákat kombináltak az SLI-ben.
A VRAM túlhajtása a videokártya BIOS-ában [22] lévő paraméterek megváltoztatásával vagy speciális grafikus kártya beállító segédprogramok használatával lehetséges. Egyes gyártók saját grafikus kártyáikhoz fejlesztenek ilyen segédprogramokat, amelyek kézi és automatikus túlhajtási lehetőségeket is biztosítanak a fejlesztő algoritmusai alapján. A VRAM beállításai lehetővé teszik a memória órajelének és feszültségének, valamint az időzítések testreszabását a késleltetés csökkentése érdekében. [23] Testreszabott üzemmódokban megfelelő szabályozást és hőleadást igényel. Egyes GDDR chipek beépített hőmérséklet-érzékelőkkel rendelkeznek a védelmi mechanizmusokhoz ( downclocking ). A Micron a GDDR5, GDDR5X és GDDR6 esetében 100°C maximális csatlakozási hőmérsékletet határoz meg. [24] [25]
Az 1970-es években a videomemória szöveges módú adatokat tartalmazott . A memóriachipek olcsóbbá válása után lehetővé vált a grafika pixelben történő tárolása a videomemóriában. A 80-as és 90-es években gyorsan nőtt a grafikus adapterekre helyezett VRAM mennyisége.
1981-ben az MDA 4 KB VRAM-mal és CGA -val - 16 KB, Intel iSBX 275 1983-ban - 32 KB, ATI Graphics Solution Rev 3 1986-ban - 64 KB, VGA 1986-ban - 256 KB, NV1 - 219 MB , RIVA 128 1997-ben - 4 MB, RIVA TNT 1998-ban - 16 MB, GeForce 256 1999-ben - 32 MB. A 2000-es évek végére a kötet elérte a 2 GB-ot. 2000-ben a videokártyák főként 64 MB-ot (Radeon 7500 - 128 MB), 2001-256 MB, 2005-512 (GeForce 6600), 2007-1024 MB (GeForce 8600 GT), 2008-4704 MB (HD42048) HD-t tartalmaztak. 2015-re a kötet elérte a 8 GB-ot. 2011-ben - 3072 MB (GeForce GT 440), 2012 - 4096 MB (GeForce GTX 670), 2013 - 6144 MB (GeForce GTX Titan), 2014 - 8192 MB (Radeon R9 290X). Bár 2015-ben a videokártya csúcsmodellje 12 GB VRAM-mal (GeForce Titan X), 2018-ban - 24 GB-os (Titan RTX) és 32 GB-os (Titan V CEO) -val jelent meg, 2020-ra a legtöbb kiadott videokártya 2-8 GB VRAM-ot kínált.
A videokártyák professzionális verzióiban általában több videomemória van hozzáadva. Az 1980-as években az IBM Professional Graphics Controller 320 KB 40 64 KB DRAM chippel rendelkezett. 2020-ban a Quadro RTX 8000 48 GB- tal rendelkezett, az NVLink -en keresztüli kártyakötéssel pedig 96 GB-ra bővül.
Videomemória típusok [26] : FPM DRAM (1990), VRAM , WRAM (1995), EDO DRAM (1995), SDRAM, MDRAM, SGRAM , DDR2 SDRAM , [27] RDRAM , DRAM, CDRAM, Burst EDO, 3D RAM, Beágyazott 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). Típusok VRAM, WRAM - dual-port DRAM (dual-port video RAM), amely lehetővé teszi az adatok egyidejű írását és olvasását [4] [7] [27] .
A 32 bites operációs rendszerekkel [31] való kompatibilitás érdekében a CPU számára PCI-n keresztül közvetlenül elérhető VRAM mennyiségét 256 MB-ra korlátozták. 2008-ban a PCI Express 3.0 szabványt kiegészítették a Resizable BAR technológiával, amely hozzáférést biztosít a videomemória teljes mennyiségéhez. [32] [33] Az AMD Smart Access Memory-nak (SAM) nevezte el a technológiát.
A videokártyák gyártása során a GDDR3 memóriát már régóta használják . Ezt a GDDR4 váltotta fel , amely nagyobb sávszélességgel rendelkezik, mint a GDDR3; A GDDR4 -et azonban nem használták széles körben rossz ár-teljesítmény aránya miatt, és csak korlátozott mértékben használták néhány csúcskategóriás videokártyában (pl . Radeon X1950XTX, HD 2900 XT, HD3870). Aztán jött a GDDR5 memória , ami 2012-től a legmasszívabb, a GDDR3 a költségvetési szegmensben használatos. 2018-ban a csúcskategóriás videokártyákat HBM és HBM2, GDDR5X és GDDR6 memóriával szerelték fel. A Steam 2018-as statisztikái szerint lejátszóik 32%-a rendelkezett 2 GB VRAM-mal, 19%-ának 4 GB, 17%-ának pedig 1 GB [34] . A játékok rendszerkövetelményei gyakran jelzik a különböző szintű beállításokhoz szükséges VRAM mennyiséget [35] .
A legtöbb modern videokártya memóriakapacitása 256 MB-tól (például AMD Radeon HD 4350 ) [36] és 48 GB-ig terjed (például NVIDIA Quadro RTX 8000 ) [37] . Mivel a GPU-videómemóriához és más elektronikus alkatrészekhez való hozzáférésnek biztosítania kell a teljes grafikus alrendszer egészének kívánt nagy teljesítményét, speciális, nagy sebességű memóriatípusokat használnak, mint például az SGRAM , a kétportos VRAM , a WRAM és mások . Körülbelül 2003 óta a videomemória rendszerint az SDRAM memória DDR technológiáján alapul , kétszer akkora effektív frekvenciával (az adatátvitel nemcsak az órajel felfutó élén, hanem a lefutó élén is szinkronizálva van). A jövőben pedig DDR2 , GDDR3 , GDDR4 , GDDR5 és 2016 idején [38] GDDR5X . Az AMD Fury sorozatú nagy teljesítményű videokártyák megjelenésével a piacon már jól bevált GDDR memóriával együtt egy új típusú HBM memória került alkalmazásra , amely lényegesen nagyobb sávszélességet kínál, és magát a videokártyát is leegyszerűsíti. a memóriachipek bekötésének és kiforrasztásának hiánya miatt. A modern videokártyák memóriájának maximális adatátviteli sebessége (sávszélessége) eléri a 480 GB / s -t GDDR5X memóriatípus esetén (például NVIDIA TITAN X Pascal [39] ) és 672 GB / s -t a GDDR6 memóriatípus esetén (pl. , TITAN RTX [40] ).
A videomemória a videoadapteren található, vagy a RAM részeként van lefoglalva [41] . A modern videokártya RAM chipjeit általában közvetlenül a nyomtatott áramköri lap textolitjára forrasztják, ellentétben a cserélhető rendszermemóriamodulokkal, amelyeket a korai videoadapterek szabványos csatlakozóiba helyeznek be.
Külön videokártya saját memóriával. Az adatok másolása a PCI Express buszon keresztül történik
Egyetlen grafikus kártya megosztott memóriával en:Heterogeneous System Architecture . A mutatókat a PCI Express továbbítja, így lehetővé válik a nulla másolás .
Integrált grafikus kártya lefoglalt rendszermemória
Integrált megosztott memória grafika (HSA)
A videomemória a buszszélességre vonatkozó szigorúbb követelményekben különbözik a "normál" rendszer-RAM-tól. A grafikus adatbusz egy gerinc, amely összeköti a grafikus processzort és a videokártyák memóriáját.
A videomemória adatbusz sávszélessége :
A memória mennyiségének, típusának és adatbusz-szélességének aránya számít: az 512 MB DDR2 128 bites adatbusz-szélesség mellett lassabban és sokkal kevésbé hatékonyan működik, mint a 256 MB GDDR3 128 bites buszszélességgel stb. okok miatt a 256 MB GDDR3 256 bites busszal jobb, mint a 256 MB GDDR3 128 bites busszal stb.
A videokártya-gyártók nem maguk gyártják a VRAM-ot, hanem megvásárolják. Néhány figyelemre méltó VRAM gyártó a Samsung , a Micron , az Memory és a Hynix . [42] A grafikus kártya tervezője többféle konfigurációt biztosít a tervezésben, és a gyártók választására bízza az alkatrészek típusát, számát és elhelyezését a kártyán. Az azonos referencia videokártya kialakítású különböző modellekre a mellékelt típusú különböző típusú memóriachipek telepíthetők, és ezek a tábla tetején és alján is elhelyezhetők.
Érdemes megfontolni azt is, hogy a videomemória viszonylag alacsony költsége miatt sok videokártya- gyártó túl sok videomemóriát (4, 6 és 8 GB) telepít gyenge videokártyákra, hogy növelje marketing vonzerejét. A videokártyákon a memóriachipeket általában a videoprocesszor körül helyezik el, hogy a processzorral megosztott hűtővel távolítsák el a hőt róluk .
A dinamikus véletlen hozzáférésű memória (DRAM) típusai | |
---|---|
aszinkron | |
Szinkron | |
Grafikus | |
Rambus | |
Memória modulok |