Infinity-välimuisti, löydä sen hyödyllisyys, käyttö ja salaisuudet

Infinity Cache on merkittävin ero äskettäin esiteltyjen RX 6000 -sarjan näytönohjainten (RX 6800, RX 6800 XT ja RX 6900) välillä Xbox Sarja X SoC GPU, joka perustuu myös RDNA 2: een. ¿Mutta mikä on Infinity Cache, mikä on sen käyttö ja miten se toimii? Kerromme sinulle kaikki sen salaisuudet.

RX 6000: n esittelyä edeltävistä viikoista lähtien olemme tienneet tämän valtavan muistialueen olemassaolon GPU: n sisällä, valtava, koska puhumme GPU: n historian suurimmasta välimuistista 128 Mt kapasiteettia . Mutta AMD ei ole antanut paljon tietoa siitä, se on yksinkertaisesti kertonut meille olemassaolostaan.

Ääretön välimuisti

Siksi tarvitaan yksityiskohtainen selitys sen ymmärtämiseksi, miksi AMD on asettanut vastaavan kokoisen välimuistin RDNA 2 PC: lle -versioon.

Infinity-välimuistin sijainti

Navi21 Infinity -välimuisti

Ensimmäinen asia, joka on tarpeen sen ymmärtämiseksi, mikä pala on laitteistossa, on päätellä sen toiminta sen sijainnista järjestelmässä.

Koska RDNA 2 on RDNA: n evoluutio Ensinnäkin meidän on tarkasteltava nykyisen AMD-grafiikkaarkkitehtuurin ensimmäistä sukupolvea, josta tunnemme kaksi sirua, jotka ovat Navi 10 ja Navi 14.

No, jos Infinity Cache olisi otettu käyttöön RDNA: ssa, se olisi siinä osassa, joka sanoo kaavion Infinity Fabric, joten välimuistin organisaatiotasolla menisimme tästä:
Jerarquía välimuistit GPU RDNA
Jos GPU-keskittimeen kytketyillä kiihdyttimillä (videokoodekilla, näytön ohjaimella, DMA-asemilla jne.) Ei ole suoraa pääsyä välimuistiin, edes L2-välimuistiin.

Välimuistit RDNA2-kaavio

Infinity-välimuistin lisäämisen myötä asiat muuttuvat jo vähän, koska nyt kiihdyttimillä on pääsy tähän muistiin,

Tämä on erittäin tärkeää, etenkin Display Core Nextille, joka on vastuussa lopullisen kuvapuskurin lukemisesta ja lähettämisestä vastaavaan näyttöporttiin tai HDMI-liitäntään niin, että kuva näkyy näytöllä, mikä on tärkeää pääsyjen vähentämiseksi. näiden yksiköiden VRAM: lle.

Muistetaan RDNA-välimuistijärjestelmä

AMD 6900 -tamaño

RDNA: ssa välimuistit on kytketty toisiinsa seuraavasti:

Välimuisti RDNA

L2-välimuisti on kytketty ulkopuolelle 16 kanavaan, joissa on 32 tavua / sykli, jos tarkastelemme Navi 10 -kaaviota, näet kuinka tällä GPU: lla on noin 16 L2-välimuistiosiota ja 256-bittinen GDDR6-väylä johon he ovat yhteydessä.

Muista, että GDDR6 käyttää kahta kanavaa sirua kohden jotka toimivat rinnakkain, kukin 16 bittiä.

Canales GDDR6

Toisin sanoen LNA-välimuistiosioiden määrä RDNA-arkkitehtuureissa on yhtä suuri kuin grafiikkaprosessoriin kytkettyjen 2-bittisten GDDR16-kanavien määrä. RDNA: ssa ja RDNA 6: ssa kukin osio on 2 kt, tämä on syy, miksi Xbox Series X: ssä, jossa on 256-bittinen väylä ja siten 320 GDDR20-kanavaa, on noin 6 Mt L5-välimuistia.

Xbox Series X Arquitectura

Uusi välimuistitaso: Infinity Cache

Pie de Pagina Infnity Caché

Koska kyseessä on ylimääräinen välimuistitaso, Infinity-välimuisti on liitettävä suoraan L2-välimuistiin, joka on välimuistihierarkian edellinen taso, tämän vahvistaa meille AMD alatunnisteessa:

AMD-insinöörien laskema mittaus Radeon RX 6000 -sarjan kortilla 128MB AMD Infinity Cache ja 256-bittinen GDDR6. Mitataan keskimääräiset AMD Infinity Cache -menestysprosentit 4k-peleissä 58% suurimmissa peleissä kerrottuna 16 64B AMD Infinity Fabric -kanavaa välimuistin liittäminen grafiikkamoottoriin jopa 1.94 GHz: n tehostustaajuudella.

RX 6800: n, RX 6800 XT: n ja RX 6900: n GPU on Navi 21, jolla on 256-bittinen GDDR6-väylä, ergo: lla on 16 kanavaa ja siten Caché L16: n 2 osiota, jotka kukin on yhdistetty Infinity Cache -osioon.

Mitä tulee 58 prosentin osumaprosentteihin, se on monimutkaisempi ja yritämme selittää alla.

Laattojen välimuisti NVIDIA-näytönohjaimissa

NVIDIA-näytönohjain

Ennen kuin jatkamme Infinity Cache -ohjelmaa, meidän on ymmärrettävä sen olemassaolon syyt ja tätä varten on tarkasteltava, kuinka GPU: t ovat kehittyneet viime vuosina.

Alkaen NVIDIA Maxwell, GeForce 900 -sarja, NVIDIA teki merkittävän muutoksen grafiikkasuorittimissaan, jota he kutsuivat nimellä Tile Caching, jonka muutokseen liittyi ROPS ja rasteriyksikkö L2-välimuistiin.
Ruudullinen välimuisti NVIDIA
Tämän muutoksen myötä ROPS lopetti kirjoittamisen suoraan VRAM-muistiin, ROPS on yleinen kaikissa GPU: issa ja vastaa kuvapuskurien luomisesta muistiin.

Tämän muutoksen ansiosta NVIDIA pystyi vähentämään muistiväylän energiavaikutuksia vähentämällä VRAM: lle ja sieltä tapahtuvien siirtojen määrää. Tämän avulla NVIDIA onnistui saamaan energiatehokkuuden AMD: ltä Maxwell- ja Pascal-arkkitehtuureilla.

DSBR, Tile Caching AMD-näytönohjaimissa

AMD toisaalta GEG-arkkitehtuurin kaikkien sukupolvien ajan ennen Vegaa, yhdisti Render Backends (RB) suoraan muistin ohjaimeen.

GCN PreVega L2

Mutta aloittaen AMD Vegasta, hän teki kaksi muutosta arkkitehtuuriin lisätäksesi Tile-välimuistin näytönohjaimiinsa, joista ensimmäinen oli uudistaa rasteriyksikkö, jonka hän nimitti uudelleen DSBR: ksi, Draw Stream Binning Rasterizer.

AMD DSBR

Toinen muutos oli se, että he liittivät rasterikokonaisuuden ja ROPS: n L2-välimuistiin, joka on edelleen RDNA: ssa ja RDNA 2: ssa.

RDNA L2 -välimuisti

DSBR- tai Tile Caching -apuohjelma

Tile Caching tai DSBR on tehokas, koska se järjestää näkymän geometrian sijainnin mukaan näytöllä ennen kuin se rasteroidaan, tämä oli tärkeä muutos, koska GPU: t ennen tämän tekniikan käyttöönottoa tilasi jo kuvioidut fragmentit juuri ennen niiden lähettämistä kuvapuskuriin.

Viimeinen lajittelu

Tile Caching / DSBR: ssä tehdään järjestää kohtauksen polygonit ennen kuin ne muunnetaan sirpaleiksi rasterointiyksikkö.

Keskilajittelu

Ruudun välimuistissa polygonit järjestetään niiden ruuduissa olevan sijainnin mukaan, missä kukin ruutu on fragmentti n * n pikseliä.

Yksi tämän eduista on, että se sallii etukäteen eliminoida fragmenttien näkymättömät pikselit, jotka ovat läpinäkymättömiä samassa tilanteessa ollessaan. Jotain, jota ei voida tehdä, jos kohtauksen muodostavat elementit järjestetään teksturoinnin jälkeen.

Kolmion putki

Tämä säästää GPU: ta tuhlaamasta aikaa turhiin pikseleihin ja parantaa GPU: n tehokkuutta. Siinä tapauksessa, että tämä tuntuu hämmentävältä, on yhtä yksinkertaista kuin muistaa, että koko graafisessa putkessa kohtauksen muodostavat erilaiset primitiivit ovat eri muodoissa sen eri vaiheissa.

Tile Caching tai DSBR ei vastaa Tile Rendering -toimintoa

Laattojen renderointi

Vaikka nimi voi olla harhaanjohtava, Tile Caching ei vastaa Tile Renderingia seuraavista syistä:

  • Laattojen renderöijät tallentavat näkymän geometrian muistiin, tilaavat sen ja luovat ruutulistoja kullekin ruudulle. Tätä prosessia ei tapahdu laattojen välimuistin tai DSBR: n tapauksessa.
  • Tile Rendering -ohjelmassa ROPS on liitetty tyhjennyslevymuistiin välimuistihierarkian ulkopuolelle, eivätkä ne tyhjennä niiden sisältöä VRAM: iin, ennen kuin kyseinen ruutu on 100% valmis, joten osumisprosentit ovat 100%.
  • Koska laattojen välimuistissa / DSBR: ssä, koska ROPS / RB: t on kytketty L2-välimuistiin, välimuistilinjat L2: sta RAM-muistiin voidaan milloin tahansa hylätä, joten ei voida taata, että 100% tiedoista on L2-välimuistissa.

Koska on todennäköistä, että välimuistilinjat päätyvät VRAM-muistiin, AMD on tehnyt Infinity-välimuistin kanssa lisäämällä välimuistikerroksen, joka kerää hylätyt tiedot GPU: n L2-välimuistista.

Infinity Cache on uhrin välimuisti

- Uhri Caché idea on Zen-arkkitehtuureissa olevien CPU: iden perintö, joka on mukautettu RDNA 2: een.

Uhrin välimuisti Zen

Zen-ytimissä L3-välimuisti on se, jota me kutsumme uhri-välimuistiksi hylättyjen välimuistilinjojen kerääminen L2: sta sen sijaan, että se olisi osa tavallista kätkö hierarkia. Toisin sanoen Zen-ytimissä peräisin olevat tiedot RAM ei seuraa RAM-polkua → L3 → L2 → L1 tai päinvastoin, vaan seuraa RAM-polkua → L2 → L1, koska L3-välimuisti toimii uhrin välimuistina.

Infinity-välimuistin idea on pelastaa GPU: n L2-välimuistin linjat tarvitsematta käyttää VRAM-muistia , joka sallii käskyä kohden kulutetun energian olevan paljon pienempi ja siten saavutettavissa suuremmat nopeudet. kello.

Infinity-välimuisti Consumo

Vaikka 128 Mt: n kapasiteetti saattaa tuntua erittäin korkealta, se ei näytä riittävältä välttää sitä, että kaikki hävitetyt linjat päätyvät VRAM: iin, koska parhaimmissa tapauksissa se onnistuu pelastamaan vain 58% . Tämä tarkoittaa, että tulevaisuudessa sen RDNA-arkkitehtuurin iteraatiot ovat hyvin todennäköisiä AMD lisää tämän Infinity-välimuistin kapasiteettia .