Con la DRAM asincrona, la memoria veniva acceduta da un controller di memoria sul bus di memoria sulla base di una tempistica impostata piuttosto che di un clock, ed era separata dal bus di sistema. La DRAM sincrona, tuttavia, ha una latenza CAS che dipende dalla frequenza di clock. Di conseguenza, la latenza CAS di un modulo di memoria SDRAM è specificata in tick di clock invece che in tempo assoluto.
Perché i moduli di memoria hanno banchi interni multipli, e i dati possono essere emessi da uno durante la latenza di accesso per un altro, i pin di uscita possono essere tenuti occupati al 100% indipendentemente dalla latenza CAS attraverso il pipelining; la massima larghezza di banda raggiungibile è determinata solo dalla velocità del clock. Sfortunatamente, questa larghezza di banda massima può essere raggiunta solo se l’indirizzo dei dati da leggere è noto con sufficiente anticipo; se l’indirizzo dei dati a cui si accede non è prevedibile, possono verificarsi degli stalli nella pipeline, con conseguente perdita di larghezza di banda. Per un accesso alla memoria completamente sconosciuto (AKA accesso casuale), la latenza rilevante è il tempo per chiudere qualsiasi riga aperta, più il tempo per aprire la riga desiderata, seguito dalla latenza CAS per leggere i dati da essa. A causa della localizzazione spaziale, tuttavia, è comune accedere a diverse parole nella stessa riga. In questo caso, la sola latenza CAS determina il tempo trascorso.
Perché le latenze CAS dei moderni moduli DRAM sono specificate in tick di clock invece che in tempo, quando si confrontano latenze a diverse velocità di clock, le latenze devono essere tradotte in tempi assoluti per fare un confronto equo; una latenza CAS numerica più alta può comunque essere meno tempo se il clock è più veloce. Allo stesso modo, un modulo di memoria che è sottocloccato potrebbe avere il suo numero di cicli di latenza CAS ridotto per conservare lo stesso tempo di latenza CAS.
La RAM a doppia velocità di dati (DDR) esegue due trasferimenti per ciclo di clock, e viene solitamente descritta da questa velocità di trasferimento. Poiché la latenza CAS è specificata in cicli di clock, e non in trasferimenti (che avvengono sia sul fronte di salita che su quello di discesa del clock), è importante assicurarsi che sia il clock rate (la metà del transfer rate) ad essere usato per calcolare i tempi di latenza CAS.
Un altro fattore di complicazione è l’uso di trasferimenti burst. Un microprocessore moderno potrebbe avere una dimensione della linea di cache di 64 byte, richiedendo otto trasferimenti da una memoria larga 64 bit (otto byte) da riempire. La latenza CAS può misurare accuratamente solo il tempo per trasferire la prima parola della memoria; il tempo per trasferire tutte le otto parole dipende anche dalla velocità di trasferimento dei dati. Fortunatamente, il processore tipicamente non ha bisogno di aspettare tutte e otto le parole; il burst è solitamente inviato in ordine di prima parola critica, e la prima parola critica può essere usata dal microprocessore immediatamente.
Nella tabella qui sotto, le velocità di trasferimento dati sono date in milioni di trasferimenti, note anche come megatrasferimenti al secondo (MT/s), mentre le velocità di clock sono date in MHz, milioni di cicli al secondo.
Esempi di tempi di memoriaModifica
Generazione | Tipo | Data rate | Tempo di trasferimento | Tasso di comando | Tempo di ciclo | Latenza CAS | Prima parola | Quarta parola | Ottava parola |
---|---|---|---|---|---|---|---|---|---|
SDRAM | PC100 | 100 MT/s | 10.000 ns | 100 MHz | 10.000 ns | 2 | 20.00 ns | 50.00 ns | 90.00 ns |
PC133 | 133 MT/s | 7.500 ns | 133 MHz | 7.500 ns | 3 | 22.50 ns | 45.00 ns | 75.00 ns | |
DDR SDRAM | DDR-333 | 333 MT/s | 3.000 ns | 166 MHz | 6.000 ns | 2.5 | 15.00 ns | 24.00 ns | 36.00 ns |
DDR-400 | 400 MT/s | 2.500 ns | 200 MHz | 5.000 ns | 3 | 15.00 ns | 22.50 ns | 32.50 ns | |
2.5 | 12.50 ns | 20.00 ns | 30.00 ns | ||||||
2 | 10.00 ns | 17.50 ns | 27.50 ns | ||||||
DDR2 SDRAM | DDR2-400 | 400 MT/s | 2.500 ns | 200 MHz | 5.000 ns | 4 | 20.00 ns | 27.50 ns | 37.50 ns |
3 | 15.00 ns | 22.50 ns | 32.50 ns | ||||||
DDR2-533 | 533 MT/s | 1.875 ns | 266 MHz | 3.750 ns | 4 | 15.00 ns | 20.63 ns | 28.13 ns | |
3 | 11.25 ns | 16.88 ns | 24.38 ns | ||||||
DDR2-667 | 667 MT/s | 1.500 ns | 333 MHz | 3.000 ns | 5 | 15.00 ns | 19.50 ns | 25.50 ns | |
4 | 12.00 ns | 16.50 ns | 22.50 ns | ||||||
DDR2-800 | 800 MT/s | 1.250 ns | 400 MHz | 2.500 ns | 6 | 15.00 ns | 18.75 ns | 23.75 ns | |
5 | 12.50 ns | 16.25 ns | 21.25 ns | ||||||
4.5 | 11.25 ns | 15.00 ns | 20.00 ns | ||||||
4 | 10.00 ns | 13.75 ns | 18.75 ns | ||||||
DDR2-1066 | 1066 MT/s | 0.938 ns | 533 MHz | 1.875 ns | 7 | 13.13 ns | 15.94 ns | 19.69 ns | |
6 | 11.25 ns | 14.06 ns | 17.81 ns | ||||||
5 | 9.38 ns | 12.19 ns | 15.94 ns | ||||||
4.5 | 8.44 ns | 11.25 ns | 15.00 ns | ||||||
4 | 7.50 ns | 10.31 ns | 14.06 ns | ||||||
DDR3 SDRAM | DDR3-1066 | 1066 MT/s | 0.938 ns | 533 MHz | 1.875 ns | 7 | 13.13 ns | 15.94 ns | 19.69 ns |
DDR3-1333 | 1333 MT/s | 0.750 ns | 666 MHz | 1.500 ns | 9 | 13.50 ns | 15.75 ns | 18.75 ns | |
7 | 10.50 ns | 12.75 ns | 15.75 ns | ||||||
6 | 9.00 ns | 11.25 ns | 14.25 ns | ||||||
DDR3-1375 | 1375 MT/s | 0.727 ns | 687 MHz | 1.455 ns | 5 | 7.27 ns | 9.45 ns | 12.36 ns | |
DDR3-1600 | 1600 MT/s | 0.625 ns | 800 MHz | 1.250 ns | 11 | 13.75 ns | 15.63 ns | 18.13 ns | |
10 | 12.50 ns | 14.38 ns | 16.88 ns | ||||||
9 | 11.25 ns | 13.13 ns | 15.63 ns | ||||||
8 | 10.00 ns | 11.88 ns | 14.38 ns | ||||||
7 | 8.75 ns | 10.63 ns | 13.13 ns | ||||||
6 | 7.50 ns | 9.38 ns | 11.88 ns | ||||||
DDR3-1866 | 1866 MT/s | 0.536 ns | 933 MHz | 1.071 ns | 10 | 10.71 ns | 12.32 ns | 14.46 ns | |
9 | 9.64 ns | 11.25 ns | 13.39 ns | ||||||
8 | 8.57 ns | 10.18 ns | 12.32 ns | ||||||
DDR3-2000 | 2000 MT/s | 0.500 ns | 1000 MHz | 1.000 ns | 9 | 9.00 ns | 10.50 ns | 12.50 ns | |
DDR3-2133 | 2133 MT/s | 0.469 ns | 1066 MHz | 0.938 ns | 12 | 11.25 ns | 12.66 ns | 14.53 ns | |
11 | 10.31 ns | 11.72 ns | 13.59 ns | ||||||
10 | 9.38 ns | 10.78 ns | 12.66 ns | ||||||
9 | 8.44 ns | 9.84 ns | 11.72 ns | ||||||
8 | 7.50 ns | 8.91 ns | 10.78 ns | ||||||
7 | 6.56 ns | 7.97 ns | 9.84 ns | ||||||
DDR3-2200 | 2200 MT/s | 0.455 ns | 1100 MHz | 0.909 ns | 7 | 6.36 ns | 7.73 ns | 9.55 ns | |
DDR3-2400 | 2400 MT/s | 0.417 ns | 1200 MHz | 0.833 ns | 13 | 10.83 ns | 12.08 ns | 13.75 ns | |
12 | 10.00 ns | 11.25 ns | 12.92 ns | ||||||
11 | 9.17 ns | 10.42 ns | 12.08 ns | ||||||
10 | 8.33 ns | 9.58 ns | 11.25 ns | ||||||
9 | 7.50 ns | 8.75 ns | 10.42 ns | ||||||
DDR3-2600 | 2600 MT/s | 0.385 ns | 1300 MHz | 0.769 ns | 11 | 8.46 ns | 9.62 ns | 11.15 ns | |
DDR3-2666 | 2666 MT/s | 0.375 ns | 1333 MHz | 0.750 ns | 15 | 11.25 ns | 12.38 ns | 13.88 ns | |
13 | 9.75 ns | 10.88 ns | 12.38 ns | ||||||
12 | 9.00 ns | 10.13 ns | 11.63 ns | ||||||
11 | 8.25 ns | 9.38 ns | 10.88 ns | ||||||
DDR3-2800 | 2800 MT/s | 0.357 ns | 1400 MHz | 0.714 ns | 16 | 11.43 ns | 12.50 ns | 13.93 ns | |
12 | 8.57 ns | 9.64 ns | 11.07 ns | ||||||
11 | 7.86 ns | 8.93 ns | 10.36 ns | ||||||
DDR3-2933 | 2933 MT/s | 0.341 ns | 1466 MHz | 0.682 ns | 12 | 8.18 ns | 9.20 ns | 10.57 ns | |
DDR3-3000 | 3000 MT/s | 0.333 ns | 1500 MHz | 0.667 ns | 12 | 8.00 ns | 9.00 ns | 10.33 ns | |
DDR3-3100 | 3100 MT/s | 0.323 ns | 1550 MHz | 0.645 ns | 12 | 7.74 ns | 8.71 ns | 10.00 ns | |
DDR3-3200 | 3200 MT/s | 0.313 ns | 1600 MHz | 0.625 ns | 16 | 10.00 ns | 10.94 ns | 12.19 ns | |
DDR3-3300 | 3300 MT/s | 0.303 ns | 1650 MHz | 0.606 ns | 16 | 9.70 ns | 10.61 ns | 11.82 ns | |
DDR4 SDRAM | |||||||||
DDR4-1600 | 1600 MT/s | 0.625 ns | 800 MHz | 1.250 ns | 12 | 15.00 ns | 16.88 ns | 19.38 ns | |
11 | 13.75 ns | 15.63 ns | 18.13 ns | ||||||
10 | 12.50 ns | 14.38 ns | 16.88 ns | ||||||
DDR4-1866 | 1866 MT/s | 0.536 ns | 933 MHz | 1.071 ns | 14 | 15.00 ns | 16.61 ns | 18.75 ns | |
13 | 13.93 ns | 15.54 ns | 17.68 ns | ||||||
12 | 12.86 ns | 14.46 ns | 16.61 ns | ||||||
DDR4-2133 | 2133 MT/s | 0.469 ns | 1066 MHz | 0.938 ns | 16 | 15.00 ns | 16.41 ns | 18.28 ns | |
15 | 14.06 ns | 15.47 ns | 17.34 ns | ||||||
14 | 13.13 ns | 14.53 ns | 16.41 ns | ||||||
DDR4-2400 | 2400 MT/s | 0.417 ns | 1200 MHz | 0.833 ns | 17 | 14.17 ns | 15.42 ns | 17.08 ns | |
16 | 13.33 ns | 14.58 ns | 16.25 ns | ||||||
15 | 12.50 ns | 13.75 ns | 15.42 ns | ||||||
DDR4-2666 | 2666 MT/s | 0.375 ns | 1333 MHz | 0.750 ns | 17 | 12.75 ns | 13.88 ns | 15.38 ns | |
16 | 12.00 ns | 13.13 ns | 14.63 ns | ||||||
15 | 11.25 ns | 12.38 ns | 13.88 ns | ||||||
13 | 9.75 ns | 10.88 ns | 12.38 ns | ||||||
12 | 9.00 ns | 10.13 ns | 11.63 ns | ||||||
DDR4-2800 | 2800 MT/s | 0.357 ns | 1400 MHz | 0.714 ns | 17 | 12.14 ns | 13.21 ns | 14.64 ns | |
16 | 11.43 ns | 12.50 ns | 13.93 ns | ||||||
15 | 10.71 ns | 11.79 ns | 13.21 ns | ||||||
14 | 10.00 ns | 11.07 ns | 12.50 ns | ||||||
DDR4-3000 | 3000 MT/s | 0.333 ns | 1500 MHz | 0.667 ns | 17 | 11.33 ns | 12.33 ns | 13.67 ns | |
16 | 10.67 ns | 11.67 ns | 13.00 ns | ||||||
15 | 10.00 ns | 11.00 ns | 12.33 ns | ||||||
14 | 9.33 ns | 10.33 ns | 11.67 ns | ||||||
DDR4-3200 | 3200 MT/s | 0.313 ns | 1600 MHz | 0.625 ns | 16 | 10.00 ns | 10.94 ns | 12.19 ns | |
15 | 9.38 ns | 10.31 ns | 11.56 ns | ||||||
14 | 8.75 ns | 9.69 ns | 10.94 ns | ||||||
DDR4-3300 | 3300 MT/s | 0.303 ns | 1650 MHz | 0.606 ns | 16 | 9.70 ns | 10.61 ns | 11.82 ns | |
DDR4-3333 | 3333 MT/s | 0.300 ns | 1666 MHz | 0.600 ns | 16 | 9.60 ns | 10.50 ns | 11.70 ns | |
DDR4-3400 | 3400 MT/s | 0.294 ns | 1700 MHz | 0.588 ns | 16 | 9.41 ns | 10.29 ns | 11.47 ns | |
DDR4-3466 | 3466 MT/s | 0.288 ns | 1733 MHz | 0.577 ns | 18 | 10.38 ns | 11.25 ns | 12.40 ns | |
17 | 9.81 ns | 10.67 ns | 11.83 ns | ||||||
16 | 9.23 ns | 10.10 ns | 11.25 ns | ||||||
DDR4-3600 | 3600 MT/s | 0.278 ns | 1800 MHz | 0.556 ns | 19 | 10.56 ns | 11.39 ns | 12.50 ns | |
18 | 10.00 ns | 10.83 ns | 11.94 ns | ||||||
17 | 9.44 ns | 10.28 ns | 11.39 ns | ||||||
16 | 8.89 ns | 9.72 ns | 10.83 ns | ||||||
15 | 8.33 ns | 9.17 ns | 10.28 ns | ||||||
DDR4-3733 | 3733 MT/s | 0.268 ns | 1866 MHz | 0.536 ns | 17 | 9.11 ns | 9.91 ns | 10.98 ns | |
DDR4-3866 | 3866 MT/s | 0.259 ns | 1933 MHz | 0.517 ns | 18 | 9.31 ns | 10.09 ns | 11.12 ns | |
DDR4-4000 | 4000 MT/s | 0.250 ns | 2000 MHz | 0.500 ns | 19 | 9.50 ns | 10.25 ns | 11.25 ns | |
DDR4-4133 | 4133 MT/s | 0.242 ns | 2066 MHz | 0.484 ns | 19 | 9.19 ns | 9.92 ns | 10.89 ns | |
DDR4-4200 | 4200 MT/s | 0.238 ns | 2100 MHz | 0.476 ns | 19 | 9.05 ns | 9.76 ns | 10.71 ns | |
DDR4-4266 | 4266 MT/s | 0.234 ns | 2133 MHz | 0.469 ns | 19 | 8.91 ns | 9.61 ns | 10.55 ns | |
18 | 8.44 ns | 9.14 ns | 10.08 ns | ||||||
DDR4-4600 | 4600 MT/s | 0.217 ns | 2300 MHz | 0.435 ns | 19 | 8.26 ns | 8.91 ns | 9.78 ns | |
18 | 7.82 ns | 8.48 ns | 9.35 ns | ||||||
DDR4-4800 | 4800 MT/s | 0.208 ns | 2400 MHz | 0.417 ns | 19 | 7.92 ns | 8.54 ns | 9.38 ns | |
Generazione | Tipo | Tasso di dati | Tempo di trasferimento | Tasso di comando | Tempo di ciclo | Latenza CAS | Prima parola | Quarta parola | Ottava parola |
NoteEdit
- ^ Tempo di trasferimento = 1 / Data rate.
- ^ Command rate = Data rate / 2 per double data rate (DDR), Command rate = Data rate per single data rate (SDR).
- ^ Tempo di ciclo = 1 / Velocità di comando = 2 × Tempo di trasferimento.
- ^ a b c d Nesima parola = × Tempo di trasferimento.