Test di latenza
Saranno effettuati due serie di test, una che mette a confronto le memorie nelle stese identiche condizioni operative a 1000 e 1200 MHz con timings 5-5-5-15.
L'altra serie mette a confronto le memorie a DDR2-800 MHz con timings 3-3-3-9 e DDR3-1600 MHz con timings 6-6-6-18 e DDR2-900 MHz con timings 4-4-4-12 e DDR3-1800 MHz con timings 8-8-8-24.
Secondo quanto visto nel paragrafo precedente dal punto di vista della latenza siamo esattamente nelle stesse condizioni operative nel senso che le memorie testate con quei timings e a quelle frequenze introducono esattamente la stessa latenza.
Il tool utilizzato è Lavalys Everest ed il benchmark di latenza misura il ritardo che c'è quando la CPU legge dei dati dalla memoria RAM. In particolare la latenza è misurata dal momento in cui la CPU fa la richiesta di lettura dei dati dalla memoria fino a quando i dati stessi non arrivano nei registri interni della CPU. Il codice utilizzato per fare questo test è scritto in Assembler e va a leggere 1024 byte di dati.
I risultati di questo test evidenziano due cose:
-
la bontà del metodo utilizzato per fare la comparazione: i risultati praticamente uguali stanno ad indicare che l'hardware utilizzato per la prova non influenza le misure;
-
le memorie DDR2 e DDR3 dal punto della latenza nelle stesse identiche condizioni operative si comportano allo stesso modo, e tutte le ottimizzazioni sviluppate nell'architettura logica interna delle DDR3 rispetto alle DDR2 non hanno alcun effetto a questa velocità.
In queste condizioni operative abbiamo la CPU che funziona alla stessa frequenza, FSB identico e quindi la latenza del memory controller integrato nel northbridge e della cache interna della CPU è inalterata, quello che cambia è la frequenza di funzionamento delle memorie. Nei due set di prove DDR2-800 3-3-3-9 contro DDR3-1600 6-6-6-18 e DDR2-900 4-4-4-12 contro DDR3-1800 8-8-8-24 la latenza introdotta dai timings delle memorie in nanosecondi è rispettivamente 3,75 ns-3,75 ns -3,75 ns-11,25 ns e 4,44 ns-4,44 ns-4,44 ns-13,33 ns.
Inoltre è stato introdotto un altro punto di misura con DDR2-1200 MHz 5-5-5-15 che è la massima frequenza operativa stabile (per tutti i benchmark utilizzati) ottenibile dalle memorie DDR2 in nostro possesso, contro le DDR3 a 1920 MHz con timings 8-8-8-24. La frequenza del punto di misura della DDR3 è stata scelta in modo da introdurre la stessa latenza con i timings principali delle DDR2 (8-8-8 che corrisponde a 1920 MHz a 4,17ns-4,17 ns-4,17ns così come 5-5-5 a 1200 MHz è sempre 4,17ns-4,17 ns-4,17ns). Per ottenere questo risultato si è dovuto variare il FSB e la frequenza della CPU che sono superiori nel caso delle DDR2 500x7 contro 480x7 delle DDR3. La prova è comunque significativa perché consente di paragonare il massimo risultato, in termini di latenza ottenibile dalle DDR2 in nostro possesso con le DDR3. Si vede che anche in queste condizioni la latenza delle DDR3 si mantiene comunque migliore di quella della DDR2.
C'è da notare che al di sopra dei 450 di FSB il chipset P35 sembra introdurre delle latenze più alte, infatti si nota una leggera flessione dei valori di latenza misurati che vale sia per le DDR2 che per le DDR3.
Quindi a parità di latenza introdotta dai timings principali delle memorie e di tutto il resto (latenza chipset e cache processore) si vede che la musica cambia. Tutte le evoluzioni presenti nelle memorie DDR3 sotto forma di ottimizzazioni dell'architettura logica interna delle memorie, e soprattutto la frequenza maggiore di “scodamento” dei bit prelevati dalle celle di memoria verso il bus dati esterno passando attraverso i buffer dati interni alle memorie (che funzionano a frequenza doppia del bus dati esterno) fanno sentire il loro peso.
Cade un mito che è quello legato alla cattiva interpretazione dei timings delle memorie e che portava a pensare che timings in assoluto più bassi corrispondevano a latenze minori, non è così per due motivi:
-
il numero che indica i timings va rapportato alla frequenza di funzionamento;
-
l'architettura logica interna delle memorie DDR3 è migliore di quella delle DDR2.
Quindi a parità di latenze di funzionamento, impostate attraverso i timings principali delle memorie (CAS, RAS to CAS, RAS Precharge, RAS Active Time), le DDR3 sono assolutamente superiori alle DDR2: non c'è partita.
Come questo poi si traduca su un reale beneficio sulle applicazioni di utilizzo giornaliero, legato ad una percezione più o meno marcata di aumento di performance, è tutto da discutere. Ma è fuori discussione il fatto che le memorie DDR3 siano più performanti dal punto di vista della latenza delle attuali memorie DDR2.