Project Scorpio is het nieuwe paradepaardje van Microsoft. De beste en snelste console die ooit is gemaakt, aldus Microsoft. Hoe krijgen ze dit precies voor elkaar? Laten we er eens in gaan duiken.
Wederom eerst een disclaimer, ik ben geen insider die exacte specificaties weet van het apparaat. Microsoft heeft niet heel erg veel specificaties naar buiten gebracht, dus veel is giswerk en logisch nadenken. Neem dit niet aan als een feit.
Scorpio, 8 CPU cores, 6 Tflops aan rekenkracht met een 320GB/s geheugen bandbreedte. Dat is eigenlijk alles wat we weten van het apparaat. Wellicht weten een aantal van jullie niet wat dit inhoudt, dus laten we bij het begin beginnen.
Wat is een Tflop?
Flop staat voor floating point operations per second, een manier om rekenkracht aan te duiden bij GPU’s en CPU’s. Een floating point op zichzelf is weer een soort komma in een getal in een wiskundige berekening. Wat achter deze komma komt is te berekenen tot in den treure, of beter gezegd oneindig zoals Pi. Om getallen zoals Pi uit te rekenen gebruikt men floating point calculation, hoe meer cijfers achter de komma per seconde berekend kunnen worden, hoe meer flops. Wat er voor de flop staat is een SI-voorvoegsel, zoals giga en tera. Dit geeft aan tot hoeveel cijfers achter de komma wordt berekend, giga is 109 , tera is 1012 en ga zo maar door. Het is een ruwe indicatie van hoe goed een GPU of CPU is in rekenen, maar het zegt lang niet alles. Rauwe rekenkracht is precies dat, rauwe rekenkracht. Wat er vervolgens mee wordt gedaan is belangrijk om goede performance te krijgen. Dat ligt weer aan de verdere structuur en architectuur van de GPU of CPU. Hoe efficiënter de aanlevering en de afhandeling van data is, hoe sneller en beter de complete chip is.
Wat is geheugen bandbreedte?
Dit is een makkelijker onderwerp, geheugen bandbreedte is de snelheid waarmee het geheugen van een GPU de data af en aan kan voeren. Dit heeft met twee variabelen te maken, de kloksnelheid van het geheugen en de bus interface. De bus interface kun je zien als een weg, hoe breder de weg, hoe makkelijker (en dus sneller) er verkeer over kan rijden. Vaak zie je 128-bit of 256-bit businterfacesnelheden staan op GPU’s. Een rekenvoorbeeld hiervan:Â de Xbox One heeft DDR3 geheugen op 2133MHz via een 256-bits bus, 2,133 * 256 / 8 = 68,256 GB/s. Sidenote, om van een bit een byte te maken dien je het door 8 te delen, vandaar de /8 aan het einde van de rekensom. De effectieve geheugen overdrachtssnelheid van de Xbox One is dus 68,3 GB per seconde, zonder een variabele factor van latency, dat laten we maar achterwege voor het gemak.
Tot zo ver de wiskundeles
Laten we in de data duiken van de Scorpio. 6 Tflops aan rekenkracht, leuk maar het zegt weinig als je de rest van de chip niet kent. Hopelijk loopt de chip op de nieuwe GCN 4 architectuur van AMD, welke een flink stuk efficiënter zou zijn dan de voorlopers. Op dit moment zijn er een aantal GPU’s die rond de 6 Tflops aan rekenkracht hebben, maar het zijn wel de high(er) end kaarten zoals de GTX 980ti met 6.06 Tflops en de nieuwe GTX 1070 en GTX 1080 met 6.46 en 8.87 Tflops respectievelijk. Kost je ook nog eens een rib uit je lijf om zo’n kaart aan te schaffen, voor onder de € 300,00 heb je geen 6 Tflops kaart. Nu is de GPU van de Scorpio wederom een SoC (system on chip) van AMD, dus het is een beetje appels met peren vergelijken. Losse GPU’s zijn puur gemaakt om grafisch te renderen, waar SoC’s een combinatie zijn van een CPU en een GPU. De SoC’s die in consoles zitten zijn dus eigenlijk niet te vergelijken met wat je in de winkel kunt kopen, zeker omdat de SoC’s op maat worden gemaakt voor de consoles. In AMD laptops zit ook een SoC, je kunt het dus het beste daarmee vergelijken eigenlijk. Dat doet alleen niemand want er zijn geen pc enthusiasts die een SoC kopen. Die kopen een losse CPU en GPU om hun eigen pc naar smaak te maken. Als we een vergelijking moeten maken met een GPU die we kennen dan kunnen we het beste de GTX 980ti nemen. Op dit moment is dat de videokaart voor pc masterrace mensen die hun games op ultra willen spelen. Klinkt erg goed dus voor de Scorpio.
De bandbreedte van 320 GB/s is erg hoog voor een console, maar wederom is het niet appels met appels vergelijken als je de snelheid van een SoC met een GPU vergelijkt. Over dezelfde bandbreedte loopt normaliter namelijk ook het CPU geheugen. Als we dat even buiten beschouwing laten kunnen we enigszins gaan berekenen wat voor RAM geheugen er in de Scorpio komt. Het kan twee kanten op, of er zit GDDR5 in met een flinke busbreedte of er zit GDDR5X in welke sneller geklokt kan worden dan standaard GDDR5. Nu is GDDR5X nog behoorlijk duur dus dat lijkt mij niet het geval, het ligt meer voor de hand dat er GDDR5 in ligt met een 384 bit bandbreedte. Puur theoretisch zou het kunnen zijn 6700MHz * 384 / 8 = 321,6 GB/s, wederom vergelijkbaar met een GTX 980ti in een pc. Weer een sterk punt voor de Scorpio, 2 van 2 punten tot nu toe.
Met 8 CPU cores kom je een heel eind, de meeste high-end CPU’s hebben 8 cores met 16 threads waarmee je in principe 16 dingen tegelijk kan uitvoeren. Hoeveel threads de CPU cores van de Scorpio hebben weten we nog niet, maar als het op de nieuwe Zen architectuur is gebaseerd is dit zeker 2. In de Xbox One zit een 8 core CPU met 1 thread waardoor je effectief maar 8 taken tegelijk kunt uitvoeren. Zen is gemaakt om 2 threads per core te hebben om je effectieve rekenkracht te verdubbelen, zoals bij Intel CPU’s al lang het geval is. Het is een SoC dus de data gaat over hetzelfde stukje bandbreedte als de GPU taken, maar met de nieuwe GCN architectuur zou dit efficiënter moeten verlopen. Koppel dit met een goede API die de taken goed kan verdelen tussen de CPU cores en de GPU cores en je hebt een beest van een SoC. Het klinkt meer en meer als een dikke hedendaagse game pc dan een console, wederom een punt erbij voor de Scorpio.
Vergelijken we dit met de voorlopers van de Scorpio, de Xbox 360 en de Xbox One dan komen we tot het volgende mooie plaatje:
Zoals we zien is de Xbox One gebaseerd op 28nm TSMC’s HP technologie waar de nieuwe Scorpio waarschijnlijk op een Bristol Ridge 14nm FinFET is gebakken door Global Foundries. Het is in ieder geval zeker dat het wederom een AMD SoC is, AMD heeft dit zelf via een tweet naar buiten gebracht. Of het daadwerkelijk een 14nm FinFET SoC is weten we alleen nog niet, maar volgens de roadmap van AMD kunnen we hier wel van uitgaan. Ik ben zeer benieuwd naar meer specificaties van de Scorpio en wat Sony gaat doen nu ze dit weten. Sony is niet gek, die hebben rustig gewacht wat Microsoft gaat doen. Sony kan vrij simpel de kloksnelheid van hun GPU cores opschroeven van 911MHz (4.2 Tflops) naar bijvoorbeeld 1050MHz. Stream processors (2304) * kloksnelheid (1050) * instructions per klok (2) =4.8 Tflops. Daarmee komen ze toch wat dichter in de buurt van de Scorpio. Inhalen doen ze niet, hogere kloksnelheid is meer warmte en warmte is funest voor elektronica *kuch kuch Xbox 360 ring of dead kuch kuch*. Meer dan dat kunnen ze eigenlijk niet doen, als ze meer stream processors willen dan hebben ze een hele nieuwe SoC nodig. Het lijkt dus alsof de Scorpio gaat winnen qua brute kracht. Hoera voor Microsoft, eindelijk weer eens de sterkste console op de markt!
Nog één ding wat ik persoonlijk kwijt wil, het “true 4k op 60 fps” gedoe. Hoe willen ze dat voor elkaar krijgen vraag ik me af. Om op een pc goed in 4k te kunnen gamen heb je een hele dikke pc nodig. Met de sterkste GPU van nu, de GTX 1080, haal je niet stabiel 60 fps. Dat ding heeft bijna 9 Tflops met een 320GB/s geheugensnelheid. Dus vertel mij eens hoe ze dat gaan doen, ik zie het niet snel gebeuren. Wellicht als games speciaal ontwikkeld worden voor de Scorpio dat het kan bij sommige games. Maar dan draait die game waarschijnlijk als een natte krant op de Xbox One. Ik zeg bullshit, 4k op 60 fps halen we voorlopig niet eens op een dikke pc, laat staan op een console. Anyway, hopelijk hebben jullie wat geleerd van dit hele verhaal, of heeft het jullie in ieder geval getriggered.