Riflessioni quantitative sulla XBox One

La presentazione delle console di prossima generazione ha messo in subbuglio un mondo, quello dell’intrattenimento digitale, che già da tempo aveva mostrato segni di cedimento, in quanto il ciclo di vita degli attuali dispositivi è sostanzialmente giunto al termine, per lo meno per quanto riguarda l’hardware.

Il mercato, insomma, è saturo. Un videogiocatore generalmente si trova già a casa una o più console, e non ha certo intenzione di comprarne un’altra, se non un nuovo modello, dotato, quindi, di caratteristiche hardware molto più elevate rispetto a quanto già possiede. Aspetta, insomma, il salto di qualità. Il nuovo punto di riferimento per i prossimi anni.

In passato avevo già trattato il tema delle future (nuove) console in diversi articoli (qui, qui e qui ne trovate alcuni, in ordine temporale).

Le aspettative, per lo meno da parte mia, sono state sostanzialmente rispettate: i produttori di console si sono buttati sul risparmio, lesinando sull’hardware, e non innovando come hanno sempre fatto in passato. Il punto di riferimento tecnologico è, ormai, il PC, lasciando alle console un assaggio di quello che è in grado di fare, e questo già da qualche tempo.

Ciò che ha sollevato la mia curiosità è, però, il dato recentemente annunciato da Microsoft, che riguarda il numero di transistor che si troverebbero integrati “nella scheda madre”: ben 5 miliardi. Un dato di per sé impressionante.

Il tutto ovviamente non conteggiando la RAM, che da sola porta via più di 64 miliardi di transistor. 8GB richiedono 64 miliardi di celle/bit in quanto, essendo realizzati come DRAM, richiedono un transistor ciascuna; a ciò aggiungiamo un po’ di logica per gestire gli accessi alle celle.

Sarebbe interessante conoscere nel dettaglio in che modo siano stati utilizzati questi transistor, ma purtroppo esistono pochissime informazioni in merito. A riguardo un dato che è venuto fuori è la quantità impiegata per i 32MB di memoria eSRAM: ben 1,6 miliardi.

Questo significa che per l’altra (unica e più importante) componente del sistema, l’APU (fusione di CPU e GPU nello stesso die), rimangono circa 3,4 miliardi di transistor, al netto di possibili altri impieghi che per il momento possiamo escludere (l’APU è un SoC che, dunque, racchiude tutto, anche il southbridge), anche per semplificare la discussione.

Non esistono dati su quanto possano incidere le due componenti, CPU e GPU, sul budget totale, ma per dare un’idea dei numeri in gioco riporto i dati di alcune di esse per i quali sono noti.

Bobcat, predecessore di Jaguar, dotato di 2 core per la CPU, 512KB di cache L2 per ogni core (Jaguar ha 1MB per coppia di core, e 2MB per 4 core), e 80 stream processor per la GPU (Jaguar ne ha 128): circa 400 milioni di transistor, ma è un cifra che appare molto elevata se confrontata con quella dell’Atom col quale è in concorrenza.

Intel Atom D525, 2 core (4 thread) per la CPU, 512KB di cache L2 per ogni core, GPU Intel GMA 3150: circa 176 milioni di transistor. Ovviamente la GPU è di gran lunga inferiore rispetto a quella integrata in Bobcat.

Bulldozer, CPU desktop dotata di 8 core, 2MB di cache L2 + 2MB di cache L3 per coppia di core (per un totale, quindi, di 8 + 8 MB): circa 1,2 miliardi di transistor.

Trinity, APU desktop dotata di 4 core, 2MB di cache L2 per ogni coppia di core (4MB in totale), e 384 stream processor (famiglia precedente a quella che dovrebbe essere usata nella XBox One): circa 1,3 miliardi di transistor.

Radeon HD 7790, GPU dotata di 896 stream processor (stessa famiglia di quelli che dovrebbero essere usati nella XBox One): circa 2 miliardi di transistor.

Il componente che più si avvicina al SoC utilizzato da Microsoft per la sua console è, forse, Trinity, anche se in versione “dimezzata” (ha esattamente la metà dei core, della cache L2, e degli stream processor, sebbene i core siano completamente diversi e in versione “desktop” anziché “mobile“, oltre alla vecchia architettura MIMD anziché la nuova GCN basata su SIMD), ma anche raddoppiandone rozzamente i numeri, arriveremmo a circa 2,6 miliardi di transistor utilizzati. Mancherebbero all’appello circa 800 milioni di transistor.

Provando a fare un altro conto e supponendo di togliere circa 1,7 miliardi di transistor per la GPU (tenendo presente che abbiamo 768 stream processor al posto degli 896 della HD 7790), per la componente CPU rimarrebbero circa 1,7 miliardi di transistor: decisamente troppi se consideriamo che Bulldozer ne integra circa 1,2 miliardi, e che i core Jaguar sono decisamente più piccoli rispetti a quelli di Bulldozer.

Da qualunque lato lo si guardi, il budget di 3,4 miliardi di transistor per l’APU rimane un numero esageratamente alto, che può significare due cose: o questo numero è palesemente errato (frutto, magari, di marketing pubblicitario), oppure Microsoft sta ancora nascondendo le sue carte, tenendo celato qualche altro prezioso componente finora sconosciuto, o ancora avendo riportato informazioni volutamente sottostimate per la CPU e/o la GPU.

Se questi numeri venissero confermati, assisteremmo a un sufficiente, ma certamente non eccezionale, passo in avanti rispetto alla XBox 360.

Infatti la CPU (Xenon) era quotata per circa 165 milioni di transistor, mentre la GPU (Xenos) per 232, e i 10MB di eDRAM per circa 105 milioni, per un totale di circa 500 milioni di transistor. Non è noto il budget del southbridge (che include un’unità di decodifica hardware dell’audio WMAPro), ma anche stimando circa 50 milioni di transistor, arriveremmo a circa 550 milioni in totale.

Rapportando i 5 miliardi della XBox One coi 550 milioni della 360, vuol dire che la prima ha a disposizione circa 9 volte le risorse. Ciò, in ogni caso, non equivale a una potenza di elaborazione di 9 volte (8 volte di più).

Infatti alcuni numeri fanno decisamente storcere il naso. Prendendo la nuova eSRAM, abbiamo ben 32MB rispetto ai 10 di prima, ma la banda erogata è di appena 102GB/s rispetto ai 256GB/s della vecchia eDRAM. Considerato che la XBox One ha circa 68GB/s provenienti dalla memoria GDDR3 (22,5GB/s per la 360), che però sono circa 1/3 di quanto avrà la Playstation 4, la banda dell’eSRAM è un valore incredibilmente basso.

Riguardo alla GPU, Microsoft dichiara un valore di circa 1,2TFLOPS, che è 5 volte i 240GLOPS di quella della 360. Un incremento di 4 volte, che non è, però, commisurato con ciò che ci si aspetterebbe, specialmente tenendo conto di quanti transistor sarebbero teoricamente a disposizione.

La CPU è l’elemento messo peggio. Jaguar dovrebbe permettere di eseguire 8 operazioni in virgola mobile per ciclo di clock. Supponendo una frequenza di 2Ghz, dovrebbe arrivare a 16GFLOPS di picco per ogni core, per un totale di 128GLOPS. Un valore di poco superiore rispetto ai 115GLOPS (anch’essi teorici) di Xenon…

Appare evidente che, a meno di sorprese, che potrebbero effettivamente saltare fuori se i 5 miliardi di transistor fossero confermati, i numeri disponibili fino ad ora non sembrano mostrare uno scenario invitante.

Sì, nel caso della GPU ci sarebbe un discreto miglioramento, ma non all’altezza guardando agli 8 anni passati dall’introduzione della precedente console.

Sia chiaro che l’obiettivo di raggiungere l’agognata FullHD a 60 fotogrammi al secondi, ed effetti speciali abbastanza moderni, è sicuramente raggiunto, e non è, quindi, in discussione. Tolta la GPU, però, il quadro rimanente è decisamente desolante, perché si poteva fare molto di più dopo tutto questo tempo.

Non rimane altro che aspettare la presentazione definitiva della console, per controllare se qualcosa sarà effettivamente cambiato.

UPDATE: aggiornata la parte relativa all’APU Trinity,

Press ESC to close