1) Gli investimenti di
Microsoft su Xbox One pensando al futuro
I tempi cambiano, la tecnologia avanza e interi gruppi di
lavoro si concentrano sull’ottimizzazione delle risorse disponibili. In un
periodo afflitto da una profonda crisi economica, proprio come quello che
stiamo vivendo anche a nostre spese, tutti i giorni da alcuni anni a questa
parte, ha costretto i principali colossi dell’informatica a elaborare nuove
tecniche di “ingegnerizzazione del silicio”.
Pesanti investimenti non vengono più fatti da tempo e le
maggiori aziende del settore sono concentrate a ridurre i costi, sfruttando il
know-how acquisito e le attuali tecnologie. Figlie di questo particolare
periodo storico sono le neoarrivate console di Sony e Microsoft, rispettivamente
PlayStation 4 e Xbox One.
Come molti di voi avranno sicuramente notato, si tratta di
due hardware particolarmente interessanti, ma derivati essenzialmente dal mondo
personal computer. Sono lontani, infatti, i tempi in cui una Sony o una
Microsoft investivano pesantemente sulle “nuove tecnologie”: il Cell e
l’Emotion Engine da una parte, la CPU a tre core di IBM e la RAM unificata
dall’altra. Questi elementi sono stati “il fiore all’occhiello” dei due
colossi, che avevano puntato pesantemente su hardware, per il tempo,
all’avanguardia.
Grazie a come sono state concepite anni fa PS3 e Xbox 360
dobbiamo giochi come Grand Theft Auto V, Uncharted, The Last of Us, Gears of
War e molto altro ancora. Hardware indubbiamente potenti, costati miliardi di
dollari e che hanno ancora molto da dire.
Cosa è successo intanto a Sony e Microsoft? Come saprete,
leggendo un po’ ovunque, Sony è stata coinvolta in una profonda crisi che, vuoi
per mancanze strutturali, vuoi per il management, ha mandato in rosso il conto
del colosso nipponico. Sony è stata costretta a vendere i suoi immobili,
licenziare personale in tutto il mondo, vendere il suo marchio Vaio e apportare
pesanti tagli nelle sue divisioni, nessuna esclusa. Storia recente il
licenziamento di 50 dipendenti di Sony Santa Monica, autori della celebre saga
God of War, alcuni di loro già contattati da Microsoft Studios: magari ne
nascerà un altro team interno?
In una situazione così gravosa Sony ha tagliato il
dipartimento di ricerca e sviluppo di PlayStation 4, costata alla case madre
non più di 1 miliardo di dollari. Il SoC (System on Chip) di PS4 è stato
realizzato interamente da AMD, affiancato dai roboanti e costosissimi 8GB di
GDDR5. Il SoC è ormai realtà da diverso tempo e i principali fornitori di
hardware lo utilizzano già da tempo per Tablet e Smartphone, vedere ad esempio
la linea Tegra di NVIDIA, i processori Snapdragon o la serie “A” di Apple
montata su iPhone e iPad di ultima generazione. Un chip potente adatto a tutti
i dispositivi, che concentra una CPU e una GPU racchiusi in un unico wafer di
silicio.
Microsoft non è stata da meno ed ha optato anch’essa per un
SoC di AMD, cuore di Xbox One ma le similitudini con PS4 finiscono qui. La
differenza è che la casa di Redmon ha investito in AMD il triplo di Sony,
versando nelle casse del colosso malese la bellezza di 3 miliardi e più di dollari (solo il controller è costato 100
milioni di dollari…). Questo segna già una differenza consistente tra i due
“progetti” next gen.
Possibile che una console costata tre volte tanto la sua
rivale sia ben il 50% meno potente? Microsoft, sin dall’inizio, ha negato certe
cifre, ribadendo
che “non avrebbe mai lasciato al diretto concorrente un gap così grosso”, come
sottolineato da Albert Penello, figura di spicco di Microsoft, mesi fa.
Già perché la montatura del 50% di potenza in più di PS4 è
dato da alcuni fattori, su carta, contati aritmeticamente, e non visti da un punto di vista
squisitamente di sviluppo. PS4 ha più ROPs, ha più ALU, ha più Z-Stencil, ha
RAM più veloce, ha più CU. Tutto vero, ma non vengono riportati però anche i
“contro” di un sistema così “raw-oriented”. Diciamo la verità: PS4 è pura forza
bruta e i recenti porting confermano quanto sia buono l’hardware messo in sesto
da Sony.
PS4 non fatica con i 1080p e tutto ciò che gli si mette
sopra lo macina senza problemi, Almeno per ora. Almeno per i titoli
multiformato e per alcuni first-party. Xbox One, dal canto suo, appare come la
console “castrata”, meno performante e atavica dal punto di vista tecnologico.
Ma ne siamo proprio sicuri?
2) Xbox One è lenta e la eSRAM è il collo di bottiglia della console?
Cerchiamo di andare oltre a dei freddi numeri, ad esempio il
tanto sbandierato 1,84 TFLOPS di PS4 contro gli appena 1,32 TFLOPS di Xbox One
(dopo l’upclock pre-lancio di CPU e GPU) che non significano nulla, se si vuole
andare oltre la semplice console war.
Dicevamo che Microsoft ha speso tanto (ma non troppo,
equiparandola a Xbox 360) per la sua Xbox One. Come i ben informati sapranno il
SoC di One integra on-board 47 MB di eSRAM, di cui 32MB attivi e i 17 rimanenti
adibiti, molto probabilmente, alla cache della eSRAM stessa per lo spostamento
dei dati “liberi”.
Bene, ci ritroviamo 32 MB di velocissima eSRAM, diretta
evoluzione della eDRAM montata su Xbox 360, utilizzata come “corsia
preferenziale” per la banda che lega SoC e memoria di sistema. Un ottimo
sistema per velocizzare le lente DDR3 che monta la console. 8 GB totali di cui
5 diretti sul versante grafico. Uno viene utilizzato dal SO che si occupa dei
giochi, uno per il SO che opera il multitasking e le app e uno, tipo hypervisor
(Hyper-V nello specifico), che fa da “collante” tra i due. Tutto virtualizzato
quindi. Ma si tratta pur sempre di RAM di tipo DDR3, comunemente utilizzata nei
PC. Perché questa scelta? Perché non puntare sulla GDDR5 come ha fatto Sony per
la sua PS4?
Principalmente per due fattori.
La GGDR5 è una memoria ad
alta latenza (e scalda anche un bel po’…), ottima per grossi chunk di dati ma
che tende a diventare un problema per la gestione di piccoli pacchetti. La CPU
non va molto d’accordo con le GDDR5 ed è per questo motivo che nei PC non
vengono montate come memoria di sistema: si chiamano appunto GDDR, ossia
Graphic DDR. Microsoft ha puntato molto sulla stabilità di sistema, sulla bassa
latenza, massimizzando ogni ciclo di clock di RAM e CPU ed evitando i fail-over
(perdita di dati o dati elaborati erroneamente e ricalcolati nuovamente): un
problema questo, che si presenta frequentemente in Xbox 360, console poco
equilibrata da questo punto di vista.
Gli ingegneri di Microsoft hanno così optato per un hardware
stabile, a bassa latenza, completamente coerente con tutti i componenti (si
parla di Full HSA, infatti) che spaziano dalle memorie, alla eSRAM, al SoC, ai
data move engine, al chip audio (realizzato internamente da MS) e via
discorrendo. Un hardware molto equilibrato, che evita inutili perdite di dati e
completamente sincronizzato in tutti i suoi elementi. Anche in questo caso sono
le parole di Andrew Goosen e di Nick Baker
nell’intervista concessa ad Eurogamer che risaltano questo nuovo modo di pensare:
“Pensiamo di avere
realizzato una console molto equilibrata, capace di ottime prestazioni, in
particolare in grado di gestire cose diverse dal mettere in fila tante ALU
(unità aritmetiche e logiche). Ci sono anche un certo numero d'aspetti di
progettazione e requisiti di sistema di cui abbiamo tenuto conto come latenza,
frame-rate e che i giochi non siano interrotti dal lavoro del sistema operativo
e altri elementi che hanno avuto una certa priorità nella stesura delle linee
guida del nostro design”.
“Ci serviva un alto livello di coerenza di memoria tra la
GPU e la CPU e questo ci ha obbligato a modificare la concezione di molti
dispositivi che si trovano intorno al processore centrale e a come la CPU
gestiva la virtualizzazione”.
“Sul SoC ci sono molti motori paralleli: alcuni sono core
CPU e core DSP core: al calcolo di quindici siamo arrivati in questo modo: otto
dentro la componente audio, quattro move engine, due per la codifica/decodifica
video e uno deputato ad effettuare la composizione/dimensionamento video”.
“Per ottenere la migliore combinazione tra prestazioni,
capacità di memoria ed efficienza, la GDDR5 può creare dei problemi. L'eSRAM
invece costa molto poco sotto il profilo del consumo energetico e ha
l'opportunità di dare al sistema una larghezza di banda molto elevata. È
possibile ridurre la larghezza di banda sulla memoria esterna risparmiando un
sacco di corrente e sul costo della materia prima. Nelle scelte progettuali
dell'Xbox One la combinazione tra un'alta capacità di memoria, un consumo
energetico basso e tanta banda passante era un elemento chiave e per ottenerlo
non c'erano molti di modi di farlo se non tramite l'uso della eSRAM”.
“L'eSRAM dispone di quattro controller di memoria ciascuno
da 256-bit per un totale di 1024 bit in entrambe le direzioni. 1024 bit in
scrittura danno un massimo di 109GB/s che sommati allo stesso valore simultaneo
in lettura arriva a un identico picco di 109GB/s. Ma, come abbiamo detto,
usando applicazioni reali questo valore va combinato attestandosi circa a
140-150GB/s e non è l'unico elemento da tenere in considerazione ovvero il
limite di banda della memoria esterna, la DDR 3".
"Quanto può corrispondere
infatti la potenza della banda passante della memoria esterna se si effettua lo
stesso genere di calcolo? Con la DDR3 si prende il numero di bit
dell'interfaccia, si moltiplica per la velocità e si ottiene il valore di
68GB/s: aggiungendola al valore di 140-150GB/s ottenuto calcolando la banda
teorica messa a disposizione dall'eSRAM si arriva a 218GB/s. Tuttavia è
difficile riuscire a mantenere valori simili con un'interfaccia di memoria
esterna per lunghi periodi di tempo e quindi ci si attesta a circa un 70-80%
dell'efficienza possibile che porta la banda passante della DDR3 a circa 50-55GB/s”.
Una nota importante è doverosa: chi ha concepito Xbox One è
lo stesso staff che realizzò anche Xbox 360.
Questo stralcio di intervista ci serve per capire bene una
cosa: Xbox One è una console altamente customizzata, differente da PS4 e
pensata in modo diametralmente opposto. Xbox One va vista come hardware
innovativo, rivolto al futuro, diverso da tutto ciò che è stato realizzato sino
ad oggi. Soluzioni come eSRAM integrata nel SoC e altamente coerente con i
singoli componenti permetterà la gestione di complessissimi mondi 3D, ma per
far questo le software house dovranno aggiornare i loro tool di sviluppo.
Engine vecchi, pensati per actual gen possono andare su PS4 “macina RAW” ma non
per Xbox One, che va ottimizzata e da cui si può tirare il massimo solo dopo
aver conosciuto profondamente tutti gli aspetti legati al suo hardware.
La eSRAM ora viene solo utilizzata per dei target rendering diversi, ma i soli
32MB non bastano per un flusso video a 1080p comprensivo di effetti quali Anti
Aliasing. La eSRAM va utilizzata per altri compiti e non per gli asset diretti
allo streaming video o per il caricamento in blocco delle sole texture. La eSRAM è una memoria velocissima ad accesso rapido, capace di lettura e
scrittura in contemporanea. Va bene ora, ma in futuro le cose dovranno
cambiare, se non si vuole assistere a orrendi porting come Call of Duty:
Ghosts.
Xbox One è infatti capace di 1080p e 60 fps, Forza
Motorsport 5 ne è un esempio lampante e anche le recenti produzioni dimostrano
che sotto quel silicio c’è ben altro. Ryse: Son of Rome è il primo gioco in
assoluto ad utilizzare il nuovo CryEngine di Crytek ed ha permesso a Microsoft
di mostrare le potenzialità, appena accennate, della nuova console.
3) Xbox One è definita
da Microsoft “future proof”
La casa di Redmond ha definito più volte Xbox One come una
console pensata per il futuro (future proof, per l’appunto). Costato più di 3
miliardi di dollari, questo “all in one entertainment system” è progettato per
durare nel tempo, stimando una longevità di ben 10 anni.
Intenzioni senz’altro
interessanti queste di Microsoft e che rispecchiano quanto sta facendo la
compagnia verso Xbox One. Continui aggiornamenti atti a migliorare il sistema,
l’integrazione di nuove ed interessanti feature che dimostrano anche come la
console in realtà non fosse pronta per il rilascio di novembre 2013:
ricorderete che per l’utilizzo della console appena uscita serviva un day-one
update piuttosto corposo, altrimenti sarebbe stata inutilizzabile. In più molte
opzioni sono state aggiunte solo di recente, come l’uscita audio in Dolby
Digital utilizzando il cavo ottico e per l’HDMI, la gestione di party e gruppi
incompleta e molto altro ancora.
Un altro segno evidente quindi dell’uscita anticipata di
Xbox One per fronteggiare sin da subito la rivale PS4 ma che ha segnato tanti
problemi al lancio: SDK incompleti, driver instabili, SO con alcuni bug e poco
ottimizzato.
Ma sono anche tutti elementi che, di fatto, certificano come
Xbox One sia davvero pensata per essere migliorata, cambiata, potenziata
nell’arco del suo ciclo vitale. E la recentissima notizia del rilascio delle
DirectX 12, con tanto di
trafiletto che indica piena compatibilità con PC Windows 8.1, tablet e console:
"However, you asked us to do more. You asked us to bring you even closer to the metal and to do so on an unparalleled assortment of hardware. You also asked us for better tools so that you can squeeze every last drop of performance out of your PC, tablet, phone and console. Come learn our plans to deliver.".
Sul web si sostiene che le DirectX 12 siano la risposta a
Mantle di AMD e che non possano essere sfruttate a dovere su Xbox One. Vi faccio una
domanda: secondo voi un colosso come Redmond, leader nel settore informatico,
non è in grado di vedere al futuro? Credete davvero che delle librerie grafiche
così complesse come le DirectX 12 non richiedano anni di sviluppo?
Le nuove
librerie serviranno anche per sbloccare le fantomatiche tiled resource (texture
da 6GB contenuto in uno spazio di 32MB, guarda caso la stessa dimensione
dell’eSRAM di Xbox One!!!) e, molto probabilmente, il secondo layer della
console, annessi tutti e 15 gli Special Processor e i dual lane.
Xbox One non è GCN 1.1 bensì 2.0, la stessa struttura delle
schede grafiche di AMD della serie R e grazie alle DirectX 12 si potranno
utilizzare le nuove tecniche SM 6.x e Compute Shader 6.x. Controllate il logo
delle DirectX 12:
Non notate nulla di strano? Il logo AMD, diciamo normale ma,
soprattutto, quello Qualcomm Snapdragon! Le DirectX 12 richiedono, per poter
essere utilizzate, nuovi hardware, di nuova concezione, cui rientrano le schede
grafiche AMD, Intel, NVIDIA, i processori Snapdragon e, senza sorprese, anche
Xbox One: tutti chipset GCN 2.0 e NON precedenti.
Xbox One è stata progettata fin dall'inizio per lavorare con
le DX12. L’intero SoC è costato, lo ripetiamo ancora una volta, 3 miliardi di
dollari ed è stato realizzato con AMD ed altre compagnie (Samsung? IBM? Intel?)
ed è progettato per il multi-channel e i data packets liberi (PRT o tiled
resource) che sfruttano il bandwith di DDR3 ed eSRAM: 17 MB DRAM “on chip” per
il flusso dati gestito dai data move engine che si interfacciano alla memoria
generale di 32MB, sempre residente nel main SoC. Ecco, abbiamo anche svelato il
quesito dei 17 MB extra della eSRAM…
Non era un modo economico per risparmiare sulle GDDR5 come
ha fatto Sony, che ha speso 0$ in Ricerca & Sviluppo: un sistema
configurato come un PC, semplice ed efficiente ma non rivolto al futuro.
Perché spendere quella somma di denaro nella costruzione di
una APU completamente personalizzata? Solo per essere più deboli e meno
efficienti rispetto ad una APU standard? Ritenete che tutti ciò abbia un senso?
Credete che i migliori sviluppatori del pianeta come Epic,
Remedy e Crytek si sforzino di dare il massimo un hardware vetusto e inferiore
come Xbox One? Perché dovrebbero scegliere di lavorare con la "console più
debole"?
4) Quale GPU è integrata
nel SoC di Xbox One?
Ormai è chiaro a tutti che la nuova console di Microsoft sia
stata lanciata davvero troppo presto e che, dopo le recenti dichiarazioni di
Spencer, Penello e Multerer, Xbox One è stata progettata per una dead-line più
avanzata rispetto al lancio di novembre 2013. Questo punto è molto importante e
va a coincidere proprio con alcuni elementi mai riportati o trattati da
Microsoft stessa. Sviluppatori che si lamentavano di SDK ancora acerbi,
specifiche tecniche “scialbe” e poco approfondite, driver poco ottimizzati e
altre cose che andiamo dicendo da tempo.
La situazione sta migliorando e quello che doveva essere la
visione di Microsoft verso Xbox One, solo ora si sta concretizzando. Come i più
informati ben sapranno, la casa di Redmond non ha mai, al momento, descritto
nel dettaglio il chipset di Xbox One, se non alcuni elementi, comunque
importanti, come il clock di CPU e GPU, quantità di eSRAM (47 MB totali, ve lo
ricordiamo, non esistono altri MB segreti sparsi nel wafer di silicio…), 15
special processor unit, un guest host e il fatto che l’architettura realizzata
sia Full HSA, ossia coerente con tutti i suoi elementi (per fare un esempio, la
tanto chiacchierata eSRAM può “comunicare” con CPU, GPU, RAM di sistema e via
discorrendo, in maniera sincrona, ossia in lettura e sia in scrittura).
Microsoft non ha mai accennato però alla sua GPU, più volte
ricordata essere di tipo “custom” e non proveniente dalla famiglia ATI 6000 o
7000, cosa che altri siti vorrebbero farci credere. Microsoft ha disegnato con
AMD la propria console, studiandola nei più minimi dettagli e adoperando scelte
che ATTUALMENTE non esistono in commercio.
Per fare un paragone diretto, Sony ha puntato su un hardware
stabile, efficiente, veloce ma non dinamico, ripreso direttamente dall’universo
PC ma senza introdurre caratteristiche tecniche rilevanti. Un SoC discreto e un
pool di memoria velocissimo, come le GDDR5, ma non particolarmente adatte per
la comunicazione con la CPU e per la gestione di piccoli flussi di dati. Anche Sony aveva pensato ad affiancare alle GDDR5 una eDRAM o una eSRAM in modo da eliminare colli di bottiglia e rendere l’hardware di PS4 più
coerente possibile, scelta poi non adottata per via degli ingenti costi
aggiuntivi che sarebbero giunti in termini di progettazione e fabbricazione.
In altre parole, considerando che PS4 utilizza anche 4
Compute Unit e diversi processi GPGPU per l’elaborazione di processi
extra-grafici, come audio in-game, gestione della intelligenza artificiale, la
fisica, possiamo vedere come la potenza in TFLOPS della console va diminuendo.
I TFLOPS di PS4 sono nominali e si riferiscono all’intera potenza RAW della
console.
Diversamente Microsoft ha optato per una architettura più
specializzata e meno CPU-GPU centrica adottando scelte molto interessanti sotto
il profilo ingegneristico: il main SoC è coadiuvato da 15 processori speciali,
i data move engine e un chip audio realizzato internamente da Microsoft, senza
dimenticarci anche il Kinect, che non grava in particolar modo sulla console
avendo RAM e CPU integrati.
Il segreto di Xbox One è proprio questo: un chipset
personalizzato, molto performante e dotato di importanti e numerosi sub-asset
in grado di alleggerire il carico computazionale del SoC. Il SoC di Xbox One
viene calcolato in 1,24 TFLOPS ma non di RAW power bensì della sola capacità di
calcolo di CPU e GPU, senza contare quindi il resto dei componenti (tanto per
dire, il chip audio da solo vale tra i 50 e gli 80 GFLOPS…).
Abbiamo quindi, riassumendo, la seguente tabella:
- PS4 | 1.84 Tflops | CPU: 100 Glops, Totale 1.94 Tflops
- Xbox One | 1.31 Tflops | CPU: 109 Gflops, Totale 1.41 Tflops
- Xbox One | 1.31 Tflops | CPU: 109 Gflops, Totale 1.41 Tflops
Sony è stata abile a gestire i due fanta-numeri di 1080p
Full HD e 1,84 TFLOPS di potenza. Microsoft dal canto suo è stata, invece,
molto meno aperta ed ha snocciolato dati piuttosto generici. Se andiamo in
profondità però, le cose cominciano a cambiare e il quadro generale assume ben
altri connotati.
La CPU di Xbox One è in grado di effettuare più operazioni
per ciclo (6) rispetto alla CPU di PS4 (ferma a 2-3), tenendo presente anche la
differenza in GHz, Xbox One ha il clock per core a 1.75Ghz mentre i core di PS4
sono bloccati a 1.6Ghz. La CPU di Xbox One è quindi già più veloce di un buon
10% rispetto al rivale.
Ma ora passiamo alla GPU: la conferma che le DirectX 12
siano compatibili con Xbox One apre nuovi interessanti scenari. Il primo, e lo
ripetiamo per l’ennesima volta, è che Xbox One sia stata progettata già con in
mente le nuove librerie grafiche di Microsoft, cosa che comporta quindi un bel
balzo in avanti rispetto alla vecchia gestione delle API 11.2. L’architettura
interna, per poter sfruttare nativamente le nuove API è ovviamente più moderna
di quanto si potesse pensare. Future proof, ricordate? Questo confermerebbe, in
parte, la presenza di un chipset GCN 2.0 o HSA, il futuro delle schede grafiche
per PC. Ma la GPU di Xbox One ha molte altre caratteristiche peculiari, come
detto in apertura, non esistenti oggi. Innanzitutto le nuove librerie grafiche
sbloccheranno le famigerate Tiled Resource, che consentiranno l’utilizzo di
texture ad altissima risoluzione sfruttando la eSRAM e, di converso, lasciando
ulteriori risorse di sistema e, se in linea con i nostri dati, implementeranno
al meglio la gestione delle 15 SPU e i data move engine.
Ora che i developer stanno prendendo confidenza con la eSRAM, e che certifica come il suo utilizzo sia ancora sottosfruttato, il
futuro non può che essere roseo. Basti vedere anche le vecchie
dichiarazioni di Respawn, autori di Titanfall, che hanno dichiarato:
"Abbiamo eseguito molti test sull'eSRAM, sull'effettivo
utilizzo di shadow map, target di rendering e texture particolari. Abbiamo
smanettato un sacco con la eSRAM e possiamo dire senza remore che la sua
presenza giova alle prestazioni complessive del gioco. Se non ci fosse, sarebbe
un problema!", ha riferito Richard Baker nel Digital Foundry di Eurogamer.
Tutto ciò senza tenere in considerazione i nuovi tool, le DX12 e il tool PIX proprio della eSRAM.
X-Rays
Bel riassunto. Grande Xrays
RispondiEliminaCiao, inanzitutto complimenti per l' articolo.
RispondiEliminaVolevo solo fare una precisazione, le DDR3 usate dalla One sono SK hynix H5TQ4G63AFR-TEC
http://m.eet.com/media/1202062/Teardown-Xbox-One-DRAM.jpg
e stando al datasheet ufficiale i modelli TE a 2133MHz sono delle CL14 (14,14,14)
http://minipcsale.ru/images/joomlakassa/TV_BOX/MINIX_NEO_X7/SK%20Hynix%20H5TQ4G63AFR.pdf
Quindi direi tutt' altro che a bassissima latenza.