In deze editie van Scorpio Hardware Ontleed duiken we dieper in het geheugen van de console en de bandbreedte van het geheugen.
Vorige week hadden we het in Scorpio Hardware Ontleed over de SoC en waarom dit eigenlijk het belangrijkste onderdeel van een console is. Vandaag behandelen we het geheugen, ook een belangrijk onderdeel.
RAM-geheugen
Het geheugen waar we het over hebben is het RAM-geheugen, wat staat voor random access memory, maar die term mag je weer gauw vergeten. Normaal gesproken in een pc gebruikt de CPU het RAM-geheugen als een soort kortetermijngeheugen om veel aangeroepen acties in op te slaan. Dat geheugen is er speciaal voor processorverwerkingen, een harde schijf heeft ook genoeg geheugen, maar die is veel te traag voor dit soort bewerkingen.
DDR
De dingen die Windows, al dan niet, op de achtergrond draait worden bijvoorbeeld in het RAM-geheugen opgeslagen. Als je gaat gamen op je pc dan wordt het RAM geheugen ook flink benut, meer en sneller RAM geheugen heeft dan ook direct effect op je game. DDR is al sinds jaar en dag het standaard type RAM-geheugen. DDR staat voor Double Data Rate, dat wil zeggen dat het geheugen 2 acties kan doen per klokcyclus.
GDDR
In een pc heeft een GPU zijn eigen geheugen op de videokaart en daar heet het GDDR. Dit geheugen wordt onder andere gebruikt om textures in op te slaan en om frames te bufferen. De ‘G’ in GDDR staat voor graphics. Dit type geheugen is geoptimaliseerd voor GPU-bewerkingen.
Het geheugen van de Xbox One
Bij een console is het anders, daar is het geheugen voor de CPU en GPU gecombineerd. In de vorige editie hebben we behandeld dat een console een SoC heeft waar zowel de CPU als de GPU op verwerkt zitten. De SoC heeft hetzelfde geheugen voor zowel de CPU als GPU.
Het geheugen van de Xbox One is DDR. Om precies te zijn 8GB aan DDR3 en 32MB aan ESRAM. ESRAM is weer een aparte tak van sport in de geheugenwereld. Dit type geheugen is veel sneller dan traditioneel DDR geheugen, vergelijk het met een SSD schijf voor het gemak.
En het geheugen van de Scorpio
In de Scorpio zit een flinke upgrade aan geheugen, daar zit 12GB aan GDDR5 in zonder ESRAM. De snelheid van het geheugen is ook flink opgeschroefd, GDDR5 heeft ongeveer 3,2x de bandbreedte per pin vergeleken met DDR3. Dit in combinatie met een 384-bit geheugenbus komt neer op een totale bandbreedte van 326GB per seconde. De Xbox One daarentegen heeft ‘slechts’ een 256-bit bus, waarmee een bandbreedte wordt behaald van 68GB per seconde.
De ESRAM in de Xbox One (32MB aan extrasnel geheugen) heeft met zijn hoge snelheid een maximale doorvoer van 204GB per seconde. Om de backward compatibiliteit te kunnen garanderen is er een kleine partitie op de 12GB GDDR5 gereserveerd om ESRAM te simuleren.
Effectief gebruik van de bandbreedte
Helaas is het bij de Scorpio niet zo dat de gehele 384 brede bus benut kan worden door de GPU. Ook de CPU zal deze bus gebruiken om te communiceren met zijn geheugen.
Nu wordt het technisch. Elke stack (de zwarte blokjes om de SoC) GDDR5 heeft een 32-bit lane, dit keer 12 (aantal stacks) maakt 384. Volgens mijn eigen inzicht heeft Microsoft 4 stacks op het moederbord zitten die enkel voor de CPU zijn. Het zou dus zo maar kunnen dat de GPU ‘slechts’ 256-bit kan gebruiken (8 stacks x 32 bit) en de CPU de overige 128. Dit zou voor de GPU-bandbreedte betekenen dat deze een effectieve maximale doorvoer van 218GB per seconde heeft. Dit is trouwens exact dezelfde doorvoer als de PlayStation 4 Pro.
“Hoe sneller het geheugen, hoe meer data, hoe hoger de framerates”
De bandbreedte en de kloksnelheid van de GDDR5 in de Scorpio is dus vele malen sneller ten opzichte van de Xbox One. Hierdoor kan de SoC sneller de juiste data krijgen. Dit in combinatie met de snellere CPU- en GPU-cores zal leiden tot snellere verwerking. Hoe sneller de CPU en GPU data kunnen verwerken, hoe sneller ze klaar zijn voor meer data, dit leid dus tot hogere framerates. Ook kan door de hogere snelheid en bredere bus grotere bestanden worden verstuurd. Dit is voor 4K een must, 4K is namelijk meer dan 4 keer zoveel data ten opzichte van 1080p.
Miljoenen pixels over de digitale snelweg
Om even wat nummers rond te gooien, 1080p bestaat uit 1920 x 1080Â pixels wat neer komt op 2Â miljoen pixels per frame. In 4K is dit 4096 x 2160 pixel wat weer neer komt op 8,8Â miljoen pixels per frame. De doelstelling is 4K 60fps, dus per seconde dienen er 60 frames gerenderd te worden van 8,8 miljoen pixels. Dat is dus 530Â miljoen pixels per seconde. Om al die informatie op tijd van punt A naar punt B te brengen heb je een gigantische digitale snelweg nodig. Hoe breder die weg is hoe meer verkeer er over kan en hoe sneller het verkeerd kan rijden, hoe eerder het op de plek van bestemming is.
L2 cache
Ook zit er nog een eigen geheugen op de SoC zelf, de L2 cache. Dit geheugen is slecht 4MB groot en wordt in een pc voornamelijk gebruikt voor CPU-taken. In een SoC kan dit geheugen ook gebruikt worden in combinatie met de GPU, hierdoor kan enorm snel gecommuniceerd worden tussen de CPU en GPU.
Wat kunnen we nu al zeggen?
Al het bovenstaande meegenomen lijkt het kwa geheugen wel goed te zitten bij de Scorpio. De bandbreedte en snelheid zou voldoende moeten zijn om 4K 60fps te halen. Nu ligt het verder bij de ontwikkelaars van games hoe zij dat gaan gebruiken. DX12 kan er prima mee overweg, maar hoe zit het met andere API’s? Dat moeten we even afwachten.
Tot zo ver het geheugen en de bandbreedte van de Scorpio, hopelijk hebben jullie er iets van opgestoken en heb ik jullie niet verveeld met mijn nerd-stukje.
Mochten jullie nog vragen hebben, stel ze gerust in de comments of via twitter @TBX12
Mooi airtikel, maar ik snap niet wat dan de V-RAM is van de scorpio, die 8 gb die overblijft voor games of heeft hij helemaal geen V-RAM en alleen maar normale RAM?
V-RAM zit normaal gesproken op een videokaart, dat is GDDR. Video ram en GDDR zijn eigenlijk hetzelfde, enkel een andere benaming. De 8GB GDDR5 die overblijft is dus V-RAM waar de GPU cores gebruik van maken. Hier worden voornamelijk de textures in opgeslagen die de GPU cores gebruiken.
Sander is back whoop whoop