Vi riporto questa copia, perchè se lo scrivo io ci metto 2 giorni.
Descrive il principio di funzionamento delle ddr, non è difficile.
(CPUZ legge il buffer di memoria)
Nelle memorie DDR ogni buffer di I/O o Data Queue (DQ) è in grado di trasferire fino a
due bit per ciclo di clock: dunque ad ogni comando di lettura (read) due bit vengono trasferiti dall'array di celle di memoria nel DQ. In gergo questa caratteristica viene identificata come "
prefetch di due bit". Dai buffer di I/O, poi, i due bit vengono trasferiti uno per volta al bus dati.
Dunque con lo standard DDR l'array di celle di memoria ed i buffer di I/O funzionano alla stessa frequenza, la metà di quella del bus dati. Su quest'ultimo, infatti, arrivano due bit per ogni ciclo di clock del buffer che devono essere trasferiti su un'unica linea. Ad esempio le memorie DDR400 hanno un array di celle di memoria ed i buffer di I/O funzionanti a 200MHz, mentre il bus funziona a 400MHz:
Figura 1. Data prefetch nello standard delle memorie DDR
Nelle memorie DDR2 l'array di celle di memoria funziona ad una frequenza pari alla metà di quella dei buffer di I/O che a loro volta, come per le memorie DDR, funzionano alla metà della frequenza del bus. Con le memorie DDR2 si parla di un "
prefetch di quattro bit" in quanto sono 4 i bit che vengono precaricati dall'array di celle di memoria nei buffer di I/O, poi resi disponibili al bus.
Figura 2. Data prefetch nello standard delle memorie DDR2
Verrebbe da chiedersi come mai i produttori di memorie cercano sempre strade diverse per ottenere maggiori prestazioni che non il semplice aumento della frequenza di funzionamento. Il limite alla massima frequenza che un chip può raggiungere è dato, in primo luogo, dalle capacità parassite che si annidano lungo i tratti di connessione di un transistor all'altro ma anche fra gli elementi dei transistor stessi.
Una cella di memoria è costituita proprio da una capacità! Dunque la spiegazione è subito resa, anche se ci sono da considerare ulteriori ostacoli come il fatto che la semplice lettura di una cella è un'operazione distruttiva: occorre perciò ripristinare il dato nella cella di memoria una volta effettuata la lettura.
Visti questi limiti, invece di aumentare la frequenza di funzionamento dei chip di memoria, si è preferito raddoppiare il prefetch dei dati. Tali dati vengono memorizzati in appositi registri prima di essere forniti in uscita sul bus raddoppiando di conseguenza la banda dati.
Dunque una memoria DDR2 400 avrà chip funzionanti a 100MHz contro i 200MHz dei chip delle rispettive memorie DDR 400. Ma visto che le memorie DDR2 sono in grado di fornire 4 bit per ciclo di clock si ottengono, teoricamente, le stesse prestazioni, quantomeno in termini di banda dati.
Esistono, però, ulteriori problemi nell'utilizzare questo approccio, come una maggiore complessità nella realizzazione del multiplexer/demultiplexer dei buffer di I/O, che passano da una architettura 2-1 delle memorie DDR ad una 4-1 delle memorie DDR2, ed un conseguente aumento della latenza dovuto proprio a questa sezione MUX/DEMUX che si interpone fra la cella di memoria dove risiede il dato ed il bus di trasmissione.