Memorie DDR400 low latency

Dopo una continua rincorsa a frequenze di clock sempre più elevate, i produttori di memoria sono ritornati a puntare su latenze di accesso ridotte. E' il caso di Corsair e GeIL, che propongono soluzioni leggermente differenti per i propri modelli DDR400
di Paolo Corsini pubblicato il 23 Agosto 2004 nel canale MemorieCorsairGeIL
Timings memorie e impostazioni da bios
Per meglio analizzare i risultati ottenuti dai moduli memoria in prova in queste pagine, è indispensabile prima fare alcune premesse teoriche su quelli che sono gli elementi chiave nell'analisi delle memorie DDR. Frequenza di lavoro e latenze di accesso sono i parametri da tenere in massima considerazione quando si analizzano le memorie, in quanto da essi ne derivano le prestazioni velocistiche complessive.
Esistono varie tipologie di memorie DDR, operanti a differenti frequenze di clock. La tabella seguente ne riporta le principali caratteristiche tecniche:
Memoria |
Bandwidth max teorica single DDR |
Bandwidth |
Freq. di clock |
Freq. di clock |
DDR266 | 2,1 GB/sec | 4,2 GB/sec | 133 MHz | 266 MHz |
DDR333 | 2,7 GB/sec | 5,4 GB/sec | 166 MHz | 333 MHz |
DDR400 | 3,2 GB/sec | 6,4 GB/sec | 200 MHz | 400 MHz |
DDR433 | 3,4 GB/sec | 6,8 GB/sec | 218 MHz | 433 MHz |
DDR466 | 3,7 GB/sec | 7,4 GB/sec | 233 MHz | 466 MHz |
DDR500 | 4 GB/sec | 8 GB/sec | 250 MHz | 500 MHz |
DDR550 | 4,4 GB/sec | 8,8 GB/sec | 275 MHz | 550 MHz |
Al crescere della frequenza di lavoro della memoria, la bandwidth massima teorica ottenibile aumenta di conseguenza raggiungendo valori molto elevati. Utilizzando una scheda madre con supporto a configurazioni memoria Dual Channel, sia per processori Intel che AMD, la bandwidth massima teorica viene raddoppiata a patto ovviamente di utilizzare contemporaneamente due moduli memoria DDR. Nello schema sopra riportato bisogna considerare che la massima frequenza di lavoro ufficialmente supportata dal JEDEC per moduli DDR è quella di 200 MHz (400 MHz effettivi), corrispondente a moduli DDR400; gli standard da DDR433 in poi sono stati creati dai produttori di moduli memoria, ma mai direttamente certificati dal JEDEC.
La frequenza di lavoro della memoria DDR potrà al limite essere identica a quella di bus del sistema, operando in modalità sincrona quindi con divisore impostato da bios pari a 1:1. In alcuni casi produttori di schede madri hanno implementato, da bios, rapporti di lavoro superiori a quelli 1:1 ma spesso si dimostrano o non funzionanti, oppure instabili. L'eccezione è rappresentata dalle schede madri Socket A basate su chipset nForce 2, anche se con queste tipologie di processori forzare la frequenza di lavoro della memoria fuori da valori sincroni è spesso controproducente in termini prestazionali.
Al crescere della frequenza di clock della memoria, quindi, ne consegue un aumento della bandwidth massima teorica disponibile. Questa è massima teorica, in quanto all'atto pratico non viene mai raggiunto appieno. Il collo di bottiglia è rappresentato dal bus di sistema, che se capace di bandwidth massima teorica inferiore limita di fatto la bandwidth massima della memoria.
La tabella seguente riporta in dettaglio le bandwidth massime teoriche delle varie piattaforme Pentium 4 a seconda della frequenza di bus e del tipo di memoria utilizzato:
Controller memoria |
Bandwidth max teorica |
Freq. bus sistema |
Bandwidth max teorica |
Bandwidth massima teorica utilizzata |
DDR266 | 2,1 GB/sec | 400 MHz | 3,2 GB/sec | 2,1 GB/sec |
DDR333 | 2,7 GB/sec | 533 MHz | 4,2 GB/sec | 2,7 GB/sec |
DDR400 | 3,2 GB/sec | 800 MHz | 6,4 GB/sec | 3,2 GB/sec |
DDR466 | 3,75 GB/sec | 933 MHz | 7,5 GB/sec | 3,75 GB/sec |
DDR500 | 4 GB/sec | 1000 MHz | 8 GB/sec | 4 GB/sec |
Dual DDR266 | 4,2 GB/sec | 400 MHz | 3,2 GB/sec | 3,2 GB/sec |
Dual DDR333 | 5,4 GB/sec | 533 MHz | 4,2 GB/sec | 4,2 GB/sec |
Dual DDR400 | 6,4 GB/sec | 800 MHz | 6,4 GB/sec | 6,4 GB/sec |
Dual DDR466 | 7,5 GB/sec | 933 MHz | 7,5 GB/sec | 6,4 GB/sec |
Dual DDR500 | 8 GB/sec | 1000 MHz | 8 GB/sec | 8 GB/sec |
Per sfruttare appieno la bandwidth delle memorie oltre DDR400 è necessario forzare il funzionamento sincrono della memoria con il bus di sistema, aumentando inoltre la frequenza di bus a valore superiore a quello di default. Ma la bandwidth da sola non è unica responsabile delle prestazioni velocistiche: a questa bisogna aggiungere la latenza di accesso dei moduli memoria, che sarà tanto più elevata quanto maggiore è la frequenza di lavoro così da massimizzare la stabilità operativa. Per questo motivo i moduli DDR400 più performanti hanno latenza CAS pari a 2, mentre quelli DDR466 e DDR500 vengono generalmente impostati con latenza CAS pari a 3 e in alcuni casi anche pari a 2,5.
Non è solo la frequenza di lavoro, e di conseguenza il tempo d'accesso, a determinare le prestazioni velocistiche di un modulo memoria; esistono alcuni parametri di funzionamento, tipicamente raccolti sotto il nome di timings, che influenzano le prestazioni velocistiche in modo marcato. E' possibile intervenire manualmente a variare i timings di accesso, così da ottenere prestazioni velocistiche superiori; i bios delle schede madri mettono a disposizione settaggi di accesso differenti a seconda sia del modello di chipset, sia delle scelte del produttore della scheda madre. Tra i vari timings sono tre le sigle che più di frequente vengono ricordate:
- CAS (Column Address Strobe) Latency: indica il numero di cicli di clock richiesti dalla memoria per processare una richiesta. A valori inferiori della latenza corrispondono prestazioni velocistiche superiori. Ovviamente, una latenza pari a 3 implica prestazioni velocistiche differenti se la memoria opera alla frequenza di 100 MHz o 133 MHz oppure ancora a quella di 166 MHz.
- RAS to CAS Delay: questo valore indica quanti cicli di clock sono richiesti dalla memoria per accedere ai dati contenuti nelle righe (row) della memoria. I dati contenuti nei moduli memoria vengono disposti e letti in righe e colonne, partendo sempre prima dalle righe e in seguito passando alle colonne.
- RAS Precharge Time: questo valore indica quanti cicli di clock sono necessari per precaricare i condensatori della memoria; questa operazione si rende indispensabile affinché i dati contenuti nei moduli memoria possano essere letti oppure scritti. Ovviamente, anche in questo caso a valori inferiori corrispondono prestazioni superiori.
La possibilità di selezionare valori inferiori per questi parametri ha, ovviamente, molto a che vedere con il tipo di modulo memoria utilizzato, nonché con la combinazione scheda madre e frequenza di bus scelta. Detto in altro modo, non sempre i timings di accesso più spinti per alcuni moduli memoria possono essere selezionati, in quanto il funzionamento stabile potrebbe non essere assicurato. Per questo motivo tutti i produttori di memorie ad elevate prestazioni ne certificano il funzionamento testandole con particolari combinazioni di schede madri.