Käsittääkseni se 45 MiB sisältää kaiken käytössä olevan SRAMin.
B3D:lla joku laski nämä:
- 4 MiByte L2-Cache
- 64× 64 kiB LDS
- 64× 4 KiB Scalar RF
- 64×4×64 KiB Vector RF
- 64× 16 KiB L1-Cache
Näistä 5 megaa on välimuisteja, joihin tulee tagit päälle, eli varmaan puolisen megaa lisää niistä.
Tosta tulee vasta se vajaa 26 MiB, loppujen "sijoituspaikkoja" ei tiedetä mutta ROPseista ja HBCC:stä löytynee ainakin jonkin verran
HBCC:ssä voi olla aika paljonkin.
Itselleni jäi vielä vähän epäselväksi, että toimiiko tuo HBCC enemmän niinkuin välimuisti vai virtuaalimuisti.
Välimuistissa jokaista välimuistilohkoa kohden on tieto, mikä osoite sieltä löytyy, mäppäys on "takaperoinen" ja kun tutkitaan, mistä joku osoite löytyy, pitää tarkastaa monta mahdollista paikkaa, mutta kokonaisuudessaan kirjanpitoa tarvii vähemmän.
Virtuaalimuistissa taas jokaista virtuaalimuistisivua kohden pitää olla kirjanpitotaulukossa tieto, mistä se fyysisesti löytyy(vai löytyykö mistään). Ei tarvi rinnakkaisesti tarkastaa montaa mahdollista kohtaa kirjanpidosta, mutta kirjanpitoa tarvii enemmän. Kirjanpitoa tarvii kuitenkin niin paljon, että sitä ei voida pitää kaikkea nopeasti saatavilla, ja piirillä on erikseen välimuisti viimeksi käytetyille kirjanpito-/osoitteenmuunnostiedoille (TLB).
Jos tuo toimii kuten välimuisti, ja lohkon minimikoko on vaikka 4 kiB, tarkoittaa se 16 GiB:llä 4 miljoonaa lohkoa.
Jos tuettu muistiosoitteen koko on rajattu vaikka 42-bittiin(4 teratavua), tästä 12 alinta bittiä jää tuonne sivun sisälle, ja tiladataa tarvitaan pari bittiä, tarkoittaa se 32 bittiä = 4 tavua kirjanpitoa/lohko, eli 16 megaa tuon HBCC:n kirjanpitoon.
Jos se taas toimii kuin virtuaalimuisti, sitten sitä kirjanpitoa tarvitaan niin paljon enemmän, että se itse kirjanpito on varmaan siellä HBM-muistissa, mutta sitten sille on varmaan joku oma välimuistinsa/TLB:nsä itse piirillä.
Tuo 16 megaa HBCCn kirjanpidolle + 26.5 megaa noille mainituilla sopisi aika hyvin siihen 45 megaan, jäisi vielä 2.5 megaa muuhun.
Toki tuo HBCCn kirjanpidon bittimäärä voi olla jotain muutakin kuin 32 bittiä/lohko, joka sitten skaalaa tuota määrää pikkusen joko ylös- tai alaspäin. Ja minimikoko lohkolle voi olla myös jotain muuta kuin 4kiB, jolloin kirjanpidossa olevien sivujen määrä muuttuu radikaalisti.