Videomuisti on sisäinen RAM -muisti, joka on varattu tietojen tallentamiseen ja jota käytetään kuvan muodostamiseen näyttöruudulla [1] .
Videomuisti viittaa englanninkielisiin nimiin. videomuisti , video Random-Access Memory ( video RAM , VRAM - video RAM, video RAM [2] , video RAM [3] ), [4] videopuskuri - videopuskuri, päivitä RAM - regenerointimuisti [5] , näyttömuisti - näyttömuisti, grafiikkamuisti , videotallennus [6] sekä erityyppisten muistien nimet. Termi "VRAM" viittaa joskus 1980-luvulla käytettyyn kaksiporttiseen DRAM-tekniikkaan.
Videomuisti sisältää dataa, joka lähetetään näytölle kuvana. Tekstitilassa työskennellessä videomuisti sisältää merkkien koodit ja attribuutit, grafiikkatilassa - bittikartan [5] . Kuvan näyttämiseen ruudulla käytettävää videomuistin osaa kutsutaan kuva ( kehys ) puskuriksi ( frame buffer ) [7] . Tekstitilassa kuva koostuu merkkimatriisista ja sitä varten olevaa videomuistia kutsutaan videosivuksi ( videosivuksi ) [8] . Normaalinäkymässä prosessori kirjoittaa tiedot kuvapuskuriin, jonka jälkeen videoohjain lukee sen . Videomuistin ominaisuuksia ovat sen tilavuus (muistin koko (MB, GB)), tyyppi (muistityyppi), muistiväylän leveys (muistiliitännän leveys, muistiväylän leveys (bitti)) ja kellotaajuus (taajuus, muistin kellonopeus () MHz, GHz )) [8] . Kaistanleveys ( muistin kaistanleveys (GB/s)) lasketaan kertomalla väylän leveys kellotaajuudella [8] .
GDDR5:llä on useita taajuusmerkintöjä: referenssi, todellinen ja tehollinen. Muistisirujen transistorit toimivat vertailutaajuudella (ydinkello). Todellinen on se väylätaajuus (I/O-väyläkello), jolla muistisirujen puskurit ja muistiohjaimen puskurit toimivat, se on kaksi kertaa referenssitaajuus. Tehokas - DDR-tekniikalla tiedonsiirtonopeus on kaksi kertaa väylätaajuus. [9] Kaistanleveys määritellään seuraavasti: (taajuus x bitin syvyys / 8) x kertoja, jossa 8 muuntaa bitit tavuiksi, kerroin 2 GDDR3:lle, 4 GDDR5:lle [10] . Muistin nopeus ilmaistaan myös bitteinä sekunnissa (Gbps, Gb / s), joka osoittaa yhden rivin (pin) nopeuden sirussa. Esimerkiksi näytönohjaimessa on 8 muistisirua, yhdessä GDDR5-sirussa on 32 riviä 8 Gbps kukin, sitten 8x32x8 antaa kokonaiskaistanleveyden 2048 Gb / s tai 256 GB / s [11] .
Videomuistia käytetään tilapäiseen tallennukseen itse kuvapuskurin ja muiden lisäksi: tekstuurit , varjostimet , polygoniverkot , kärkipuskurit , Z-puskuri (kuvaelementtien etäisyys 3D-grafiikassa ) ja vastaavat grafiikkaalijärjestelmän tiedot ( lukuun ottamatta suurimmaksi osaksi videon BIOS-tietoja, GPU:n sisäistä muistia jne.) ja koodeja. Samanaikaisesti videomuisti voi sisältää sekä rasterikuvakuvan (näytön kehys) että yksittäisiä fragmentteja sekä rasteri (tekstuurit) että vektorin ( polygonit , erityisesti kolmiot ) muodossa. Valvontaohjelmistot, kuten RivaTuner ja MSI AfterBurner, voivat näyttää käytetyn videomuistin määrän, Intel VTune valvoo GPU:n luku- ja kirjoitusmuistin kaistanleveyden käyttöä. Viewer- ohjelmien ( VRAM Viewer ) avulla voit määrittää tarkan sijainnin, tarkastella ja tallentaa graafisia elementtejä videomuistista esimerkiksi emulaattoreissa.
Vähentääkseen käytetyn VRAM:n määrää sovelluskehittäjät voivat valita, kuinka pintakuvioita tallennetaan VRAM:iin. RGBA8:n 32-bittisen pikselin kuvauksen lisäksi käytetään 16-bittisiä (RGB5_A1, RGBA4) ja 8-bittisiä (RGBA2) kuvauksia tai pakkauksia (esimerkiksi S3TC :lle on laitteistotuki ). Katkaistut tiedostomuodot heikentävät laatua, ja artefakteja tulee näkyviin pakkaamisen aikana. Spritet on pakattu tiiviisti tekstuuriatlastiin ( säiliöpakkausongelma ). Useita tekstuureja esitetään yhtenä tekstuurina paletin kanssa . Käytettäessä resurssiintensiivisiä asetuksia tai virheitä peleissä, joskus tapahtuu "videomuisti loppuu" -virhe [12] . DirectDrawsalli sovelluskehittäjille suoran pääsyn VRAM:iin.
Prosessori kirjoittaa tarpeen mukaan, ja näyttö käyttää sitä jatkuvasti [8] . Päivitettäessä puskuria hetkinä, jolloin edellinen kuva ei ole täysin piirretty näytölle tai kun videomuistia käytetään enemmän kuin fyysisesti on käytettävissä [13] , kuva repeytyy ( repeytyvä , pätkivä ) [14] . Tasaisempaa puskurin päivitystä varten käytetään pystysynkronointia [14] .
Unified Memory Architecture ( UMA ) käyttää osaa RAM-muistista videomuistina. Tällä nimellä eri kehittäjien ratkaisuja ilmestyi eri aikoina. AGP - tekstuuritekniikassa näytönohjain pystyi käyttämään näytönohjaimen oman muistin lisäksi RAM-muistissa olevia tiedostoja. Intelin integroidut grafiikkaratkaisut varaavat dynaamisesti videomuistin [15] [16] (Intel Dynamic videoMemory Technology , DVMT) puoleen [17] järjestelmämuistiin tai pienempään [18] , ja UEFI:n avulla voit määrittää videomuistin enimmäiskoon ja aukon [ 19] . Nvidian ja Applen ratkaisuissa grafiikalla ja järjestelmämuistilla on yhteinen osoiteavaruus [20] . Vuonna 2004 ATI ja Nvidia käyttivät HyperMemorya ja TurboCacheä tehdäkseen näytönohjaimista halvempia.
Microsoft DirectStorage API- ja RTX IO -tekniikoiden avulla voit ladata tietoja NVMe SSD -levyltä suoraan VRAM-muistiin ilman prosessoria ja järjestelmämuistia. [21]
Nvidian SLI -korttien yhdistämistekniikka ei kaksinkertaistanut VRAM-muistin määrää, koska tiedot kopioitiin kahden kortin VRAM-muistien välillä. Aluksi suuren volyymin kortti säädettiin pienempään korttiin ja ylimääräistä tilavuutta ei käytetty. Ohjainten 100.xx-versiosta lähtien SLI:ssä yhdistettiin vain saman verran muistia sisältäviä kortteja.
VRAM- ylikellotus on mahdollista muuttamalla parametreja näytönohjaimen BIOSissa [22] tai käyttämällä erityisiä näytönohjaimen asennusapuohjelmia. Jotkut valmistajat kehittävät tällaisia apuohjelmia omille näytönohjainkorteilleen tarjoamalla sekä manuaalisia että automaattisia ylikellotusvaihtoehtoja kehittäjän algoritmien perusteella. VRAM-asetusten avulla voit mukauttaa muistin kellonopeuksia ja jännitteitä sekä ajoituksia latenssin vähentämiseksi. [23] Mukautetuissa käyttötavoissa se vaatii riittävän ohjauksen ja lämmönpoiston. Joissakin GDDR-siruissa on sisäänrakennetut lämpötila-anturit suojamekanismeja varten ( downclocking ). Micron GDDR5:lle, GDDR5X:lle ja GDDR6:lle määrittää liitoslämpötilan maksimissaan 100 °C. [24] [25]
1970-luvulla videomuisti sisälsi tekstitilan tietoja . Muistisirujen halpenemisen jälkeen tuli mahdolliseksi tallentaa grafiikkaa pikseleinä videomuistiin. 80- ja 90-luvuilla näytönohjainten VRAM-muistin määrä kasvoi nopeasti.
Vuonna 1981 MDA :ssa oli 4 kt VRAM ja CGA - 16 kt, Intel iSBX 275 vuonna 1983 - 32 kt, ATI Graphics Solution Rev 3 vuonna 1986 - 64 kt, VGA vuonna 1986 - 256 kt, NV1 - 219 MB , RIVA 128 vuonna 1997 - 4 Mt, RIVA TNT vuonna 1998 - 16 Mt, GeForce 256 vuonna 1999 - 32 Mt. 2000-luvun loppuun mennessä määrä oli 2 Gt. Vuonna 2000 näytönohjaimet sisälsivät pääasiassa 64 Mt (Radeon 7500 - 128 MB), 2001-256 MB, 2005-512 (GeForce 6600), 2007-1024 Mt (GeForce 8600 GT), HD 47048 MB (82048 MB). Vuoteen 2015 mennessä määrä oli 8 Gt. Vuonna 2011 - 3072 Mt (GeForce GT 440), 2012 - 4096 Mt (GeForce GTX 670), 2013 - 6144 Mt (GeForce GTX Titan), 2014 - 8192 Mt (Radeon R9 290X). Vaikka vuonna 2015 näytönohjaimen huippumalli ilmestyi 12 Gt VRAM-muistilla (GeForce Titan X), vuonna 2018 - 24 Gt (Titan RTX) ja 32 Gt (Titan V CEO), vuoteen 2020 mennessä suurin osa julkaistuista näytönohjaimista tarjottiin 2-8 Gt VRAM-muistia.
Näytönohjainkorttien ammattiversioissa yleensä lisätään enemmän videomuistia. 1980-luvulla IBM Professional Graphics Controllerissa oli 320 kilotavua 40 64 kilotavua DRAM-sirua. Vuonna 2020 Quadro RTX 8000:ssa oli 48 Gt, ja NVLinkin korttiliitännällä se laajenee 96 Gt:iin.
Videomuistityypit [26] : FPM DRAM (1990), VRAM , WRAM (1995), EDO DRAM (1995), SDRAM, MDRAM, SGRAM , DDR2 SDRAM , [27] RDRAM , DRAM, CDRAM, Burst EDO, 3D RAM, Sulautettu 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). Tyypit VRAM, WRAM - dual-port DRAM (dual-port video RAM), jonka avulla voit kirjoittaa ja lukea tietoja samanaikaisesti [4] [7] [27] .
Yhteensopivuuden vuoksi 32-bittisten käyttöjärjestelmien [31] kanssa suorittimen PCI:n kautta suoraan käytettävän VRAM-muistin määrä rajoitettiin 256 megatavuun. Vuonna 2008 PCI Express 3.0 -standardiin lisättiin Resizable BAR -tekniikka, joka tarjoaa pääsyn koko videomuistin määrään. [32] [33] AMD kutsui tekniikkaa Smart Access Memory (SAM) -muistiksi.
Näytönohjainten valmistuksessa GDDR3 -muistia on käytetty melko pitkään . Se korvattiin GDDR4 :llä, jolla on suurempi kaistanleveys kuin GDDR3:lla; GDDR4 :ää ei kuitenkaan käytetty laajalti sen huonon hinta-suorituskykysuhteen vuoksi, ja sitä käytettiin vain rajoitetusti joissakin huippuluokan näytönohjaimissa (esim . Radeon X1950XTX, HD 2900 XT, HD3870). Sitten tuli GDDR5-muisti , joka vuodesta 2012 lähtien on massiivisin, GDDR3 on käytössä budjettisegmentissä. Vuonna 2018 huippuluokan näytönohjaimet on varustettu HBM- ja HBM2-, GDDR5X- ja GDDR6-muistilla. Steamin vuoden 2018 tilastojen mukaan 32 prosentilla pelaajista oli 2 Gt VRAM-muistia, 19 prosentilla 4 Gt ja 17 prosentilla 1 Gt [34] . Pelien järjestelmävaatimukset osoittavat usein vaadittavan VRAM-määrän eri asetuksille [35] .
Useimpien nykyaikaisten näytönohjainkorttien muistikapasiteetti vaihtelee välillä 256 Mt (esimerkiksi AMD Radeon HD 4350 ) [36] - 48 Gt (esimerkiksi NVIDIA Quadro RTX 8000 ) [37] . Koska pääsyn GPU-videomuistiin ja muihin elektronisiin komponentteihin on tarjottava haluttu korkea suorituskyky koko grafiikkaalijärjestelmälle kokonaisuutena, käytetään erikoistuneita nopeita muistityyppejä, kuten SGRAM , kaksiporttinen VRAM , WRAM ja muut . Noin vuodesta 2003 lähtien videomuisti perustui pääsääntöisesti SDRAM-muistin DDR - tekniikkaan , kaksi kertaa tehokkaammalla taajuudella (tiedonsiirto synkronoidaan paitsi kellosignaalin nousevalla reunalla, myös laskevalla reunalla). Ja tulevaisuudessa DDR2 , GDDR3 , GDDR4 , GDDR5 ja vuonna 2016 [38] GDDR5X . Kun AMD Fury -sarjan suorituskykyiset näytönohjaimet julkaistiin, yhdessä markkinoilla jo vakiintuneen GDDR -muistin kanssa alettiin käyttää uudentyyppistä HBM -muistia , joka tarjoaa huomattavasti suuremman kaistanleveyden ja yksinkertaistaa itse näytönohjainta, koska muistipiirien johdotusta ja juottamisen purkamista ei tarvita. Nykyaikaisten näyttökorttien muistin huipputiedonsiirtonopeus (kaistanleveys) saavuttaa 480 Gt / s GDDR5X-muistityypillä (esimerkiksi NVIDIA TITAN X Pascal [39] ) ja 672 Gt / s GDDR6-muistityypillä (esim. , TITAN RTX [40] ).
Videomuisti sijaitsee videosovittimessa tai on varattu osana RAM-muistia [41] . Yleensä nykyaikaisen näytönohjaimen RAM-sirut juotetaan suoraan painetun piirilevyn tekstioliittiin, toisin kuin irrotettavat järjestelmämuistimoduulit, jotka asetetaan varhaisten videosovittimien standardoituihin liittimiin.
Erillinen näytönohjain omalla muistilla. Tiedot kopioidaan PCI Express -väylän kautta
Yksi näytönohjain jaetulla muistilla en:Heterogeneous System Architecture . Osoittimet välitetään PCI Expressin kautta, mikä mahdollistaa nollakopion .
Integroitu näytönohjain, jolle on varattu järjestelmämuisti
Integroitu jaetun muistin grafiikka (HSA)
Videomuisti eroaa "tavallisesta" järjestelmän RAM-muistista tiukempien väylän leveysvaatimusten suhteen. Grafiikkadataväylä on runko, joka yhdistää näytönohjaimen ja näytönohjaimen muistin.
Videomuistin dataväylän kaistanleveys on:
Muistin määrän, sen tyypin ja tietoväylän leveyden suhde ratkaisee: 512 Mt DDR2 128 bitin dataväylän leveydellä toimii hitaammin ja paljon vähemmän tehokkaasti kuin 256 Mt GDDR3 128 bitin väylän leveydellä jne. syistä 256 Mt GDDR3 256 bitin väylällä on parempi kuin 256 Mt GDDR3 128 bitin väylällä jne.
Näytönohjainten valmistajat eivät itse valmista VRAM-muistia, vaan ostavat sen. Joitakin merkittäviä VRAM-valmistajia ovat Samsung , Micron , Memory ja Hynix . [42] Näytönohjaimen suunnittelija tarjoaa useita konfiguraatioita suunnitteluun ja jättää komponenttien tyypin, lukumäärän ja sijainnin levyllä valmistajien valittavaksi. Saman referenssinäytönohjaimen eri malleihin voidaan asentaa eri määrä toimitettujen tyyppisten muistisiruja, ja ne voivat myös sijaita sekä levyn ylä- että alapuolella.
On myös syytä harkita, että videomuistin suhteellisen alhaisten kustannusten vuoksi monet näytönohjainvalmistajat asentavat liian paljon videomuistia (4, 6 ja 8 Gt) heikkoihin näytönohjaimiin lisätäkseen niiden markkinoinnin houkuttelevuutta. Näytönohjainkorteissa muistisirut sijoitetaan yleensä videoprosessorin ympärille lämmön poistamiseksi niistä prosessorin kanssa jaetun jäähdyttimen avulla .
Dynaamisen Random Access Memoryn (DRAM) tyypit | |
---|---|
asynkroninen | |
Synkroninen | |
Graafinen | |
Rambus | |
Muistimoduulit |