Xbox One e PS4, analisi memoria: la velocissima eSRAM

Nella prima parte della nostra analisi tecnica dedicata alle specifiche di Xbox One abbiamo fornito una panoramica generale sulle potenzialità offerte dall’hardware della nuova console, […]

Nella prima parte della nostra analisi tecnica dedicata alle specifiche di Xbox One abbiamo fornito una panoramica generale sulle potenzialità offerte dall’hardware della nuova console, spiegando a grandi linee le strategie adottate dagli ingegneri di Microsoft per realizzare una piattaforma in grado di competere con PlayStation 4 su tutti i fronti.

Quest’oggi ci dedicheremo ad un analisi più dettagliata della tecnologia alla base del sistema di memoria di Xbox One, spiegandovi cos’è la eSRAM e perchè può essere assimilata ad una memoria cache. La nostra analisi da per scontato che voi abbiate già letto l’articolo precedente: se non lo avete ancora fatto, lo troverete a questo indirizzo.



MEMORIA CACHE: COS’È E COME FUNZIONA

I moderni personal computer sono modellati sull’architettura della macchina di von Neumann. Il principio è molto semplice: abbiamo un’unità di elaborazione centrale, la CPU, che comunica con più sistemi di memorizzazione posti a distanze sempre maggiori dal centro del sistema. La memoria più lenta è costituita dalle periferiche di archiviazione di massa, come l’hard disk, che si trovano molto lontane dalla CPU, mentre nel mezzo troviamo la RAM (memoria ad accesso casuale), che ha dimensioni contenute, è molto veloce e funziona da tramite tra l’unità di elaborazione centrale e la memoria di archiviazione. La comunicazione tra i diversi livelli dell’architettura è gestita da un hardware “intelligente” che viene chiamato controller.

Quando la CPU ha bisogno di un dato per svolgere i suoi calcoli aritmetici comunica con la memoria tramite il bus di sistema e i dati necessari vengono prelevati dall’hard-disk e posti sulla RAM, in modo tale da velocizzarne il prelievo in caso di un futuro riutilizzo. Questo consente al processore di lavorare a pieno regime per periodi di tempo molto lunghi senza dover interrompere la propria attività per attendere la risposta della memoria di archiviazione di massa. La velocità di accesso ai dati è un aspetto cruciale nella valutazione delle prestazioni di un’architettura.


Schema Von Neumann

La cache costituisce un’evoluzione del modello concettuale proposto da von Neumann e lavora proprio sulla riduzione dei tempi d’attesa: è una memoria molto piccola ma estremamente veloce che viene posta ad una distanza intermedia tra il processore e la RAM. La cache si comporta più o meno in questo modo: memorizza i dati e le istruzioni richieste con maggiore frequenza dalla CPU per renderle disponibili in tempi rapidissimi quando ce n’è bisogno. Ovviamente la cache non ha modo di sapere con certezza quale dato verrà richiesto dalla CPU, né in quale momento: per questo motivo il controller effettua delle previsioni e memorizza alcuni dati scartandone altri.


Cache

Se il processore richiede un dato e questo è già presente in cache non si verifica nessun ritardo di elaborazione e abbiamo un cache-hit. Al contrario, se il dato non è presente è necessario prelevarlo dalla più lenta memoria centrale (RAM) e la CPU deve attendere (cache-miss). La percentuale di cache-hit è detta hit-rate e più alta è, meglio è. In media le moderne memorie cache montate a supporto dei processori generano un hit-rate del 90%: questo significa che nove volte su dieci la CPU riuscirà a prelevare direttamente dalla cache il dato di cui necessita, senza generare ritardi.



L’ESEMPIO DEL RISTORANTE

Se i tecnicismi vi spaventano, il funzionamento della memoria cache può essere spiegato in modo efficace riccorrendo a una semplice metafora.

Immaginate di trovarvi in un ristorante: non lo conoscete e non ci avevate mai messo piede. Una volta che vi siete seduti al tavolo, il cameriere vi porta un menù e voi iniziate a leggerlo per scegliere le pietanze da ordinare. Dopo un paio di minuti chiamate il cameriere e ordinate un piatto di pasta e una bistecca al sangue: il cameriere raggiunge la cucina e dopo dieci minuti torna con il primo piatto, lo mette sul tavolo e voi iniziate a mangiare. Quando avete finito il cuoco inizia a preparare la bistecca e dopo dieci minuti anche questa vi viene servita al tavolo. In totale la vostra cena ha comportato un’attesa di 20 minuti, ma siete così soddisfatti della qualità del cibo che decidete di tornare al ristorante tutti i fine settimana. Questo non sfugge al cameriere: dato che ormai siete clienti fidati, inizia a chiedersi come aumentare la qualità del servizio in modo da soddisfare al meglio tutte le vostre esigenze.

Dato che il tragitto dalla cucina al tavolo è piuttosto lungo e che, come se non bastasse, il cuoco è molto lento nel cucinare le pietanze, il cameriere opta per una strategia semplice ma intelligente: avendo notato che ordinate sempre gli stessi piatti e arrivate sempre alla stessa ora, anticipa le vostre ordinazioni e prima che arriviate mette un carrello con su il vostro piatto di pasta a metà strada tra la cucina ed il tavolo. Come ogni sera voi vi sedete e iniziate a mangiare, stavolta però senza attendere i 10 minuti richiesti per preparare il piatto. Mentre consumate la pasta il cuoco sta già cucinando la bistecca e il cameriere la pone sul carrello poco prima che voi finiate il primo piatto: anche in questo caso non dovete aspettare, il piatto è già pronto per essere consumato!


cache

Il cameriere però non è ancora soddisfatto: cosa accadrebbe se voi decideste di ordinare qualcosa di diverso dal solito? Anche in questo caso elabora una strategia ingegnosa: prima che arriviate al ristorante pone sul carrello più di un piatto, in modo tale che se doveste decidere di sostituire la pasta con un piatto di ravioli troverete comunque la pietanza già pronta per essere consumata. Infatti, il sabato successivo vi sedete al tavolo, ordinate un piatto di ravioli e, con vostra sorpresa, lo trovate già pronto. Il cameriere però non ha fatto bene i conti: come secondo ordinate un piatto a base di pesce che non è presente sul carrello. A questo punto il cameriere deve inoltrare l’ordinazione al cuoco e voi siete costretti ad attendere dieci minuti prima di poter consumare la pietanza.

Nonostante il piccolo intoppo, la strategia del cameriere è vincente: nella maggior parte dei casi il vostro tempo di attesa sarà pressoché nullo e potrete consumare qualsiasi piatto poco dopo averlo ordinato (90% dei casi). Nelle rare situazioni in cui la previsione dovesse rivelarsi sbagliata, dovrete attendere al più 10 minuti (10% dei casi). Se il cameriere non avesse elaborato la strategia del carrello, l’attesa totale sarebbe stata di 20 minuti nel 100% dei casi.

La memoria cache funziona esattamente così: il controller della memoria (il cameriere) prepara un buffer (carrello) in cui immagazzinare i dati (pietanze) che la CPU (voi) richiede più di frequente. In questo modo la CPU non deve attendere che i dati da elaborare siano prelevati dalla memoria centrale (il cuoco, molto lontano dal tavolo e terribilmente lento nel preparare i piatti). La memoria cache permette di velocizzare esponenzialmente i tempi di accesso ai dati e questo garantisce un margine di miglioramento delle prestazioni altissimo, perchè il controller del buffer si sbaglia molto raramente (10% dei casi, come ricorderete).



eSRAM: COS’È E COME FUNZIONA

Il sistema di memoria di Xbox One è costituito da 8GB di RAM/VRAM DDR3 unificata operante alla frequenza di 2133 Mhz, cui vanno aggiunti 32MB di eSRAM integrati direttamente sul die del processore. L’ampiezza di banda massima garantita dalla RAM DDR3 è pari all’incirca a 68.3 GB/sec, mentre la eSRAM assicura una bandwidth di picco di 51.2 GB/sec sia in lettura che in scrittura.

La eSRAM di Xbox One è una memoria statica a bassisima latenza e alte prestazioni che interagisce direttamente con la GPU integrata nell’APU e che, sotto precise condizioni, può emulare il funzionamento di una memoria cache. Se programmata a dovere, la eSRAM permette alla GPU di sfruttare la bandwidth di picco per una percentuale di tempo molto elevata, aumentando le prestazioni dell’intero sistema ed eliminando il collo di bottiglia imposto dalla ridotta ampiezza di banda degli 8GB di DDR3.


ESRAM

Il sistema di memoria di Xbox One prevede che eSRAM e DRAM interagiscano reciprocamente scambiandosi dati. Lo scambio avviene seguendo lo schema riportato nell’immagine soprastante, che da un’idea di come la eSRAM possa essere utilizzata come tramite tra GPU e memoria centrale rivestendo il ruolo di cache. Nella tabella qui sotto potete vedere la bandwidth a disposizione della GPU nei diversi scenari di funzionamento del sistema di memoria:


eSRAM DRAM

Come potete notare, la bandwidth asimmetrica delle due memorie in alcuni casi genera situazioni limite in cui la DDR3 rallenta il flusso di dati in transito da/verso la eSRAM, riducendo le prestazioni; nel complesso, però, la eSRAM garantisce un netto incremento della bandwidth complessiva a disposizione della GPU.



CONCLUSIONI

Se la eSRAM in dotazione a Xbox One verrà utilizzata come una memoria cache, la limitata bandwidth di picco messa a disposizione dagli 8 GB di RAM DDR3 montati sulla console potrebbe non costituire un problema nel confronto con PlayStation 4. Il risultato finale dipenderà solo ed esclusivamente dall’abilità dei programmatori, che dovranno ricorrere ad una programmazione ad-hoc per poter sfruttare appieno il complesso sistema di memoria di Xbox One.

(St.S.)

TV

Anticipazioni Una Vita: quale sarà il destino di German?

German e Manuela sono morti, eppure anticipazioni spagnole fanno sperare in un ritorno della Manzano, cosa ne sarà invece del suo amato Medico?

Gossip

L’ultima esterna di Claudio e Mario: video

Claudio e Mario “paparazzati” da una fan nell’ultima esterna insieme a Napoli. L’esterna è stata registrata tre giorni fa, i due ragazzi erano nel capoluogo campano […]

TV

Il Segreto Anticipazioni Spagnole: Francisca ha ucciso Salvador Castro

Anticipazioni provenienti dalla Spagna scagionano Soledad, non è lei ad aver ucciso Salvador Castro…

Gossip

Nove mila euro alla Arcuri per accendere un albero di Natale

Sarà Manuela Arcuri la madrina per l’accensione dell’Albero di Natale a Salerno. Un evento tradizione che da il via ai festeggiamenti pubblici organizzati nella città ogni […]

Musica

Tiziano Ferro raddoppia i concerti a Roma e Milano

Il 2017 segnerà l’atteso ritorno live di Tiziano Ferro. Dopo il grande tour negli stadi italiani e nei palazzetti europei del 2015, Tiziano torna finalmente […]

Gossip

Uomini e donne, oggi la scelta di Claudio Sona!

L’attesa è finita. Oggi, Venerdì 2 Dicembre, si concluderà il trono gay di Uomini e Donne con la scelta di Claudio.  Scelta che sarà tra […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Tag