Ok mi armo di santa pazienza e provo a spiegartelo:
Nei moderni calcolatori, l'elaborazione avviene attraverso meccanismi di parallelismo, diversi a seconda del processore.
I processori vecchi richiedevano il dato, e finchè non ottenevano risposta, si mettevano a fare altro.
Quelli attuali invece, passano la richiesta ad uno scheduler e poi si mettono a fare altro.
Il parametro di latenza di una RAM calcola il tempo che la RAM impiega per mettere in coda la richiesta, non quello che la RAM impiega per rispondere alla richiesta con il dato (come sostieni tu(, che è un multiplo del periodo di clock...
In pratica, la latenza della RAM ti dice dopo quanto tempo, al sistema viene dato l'ok per l'elaborazione di un altro dato, fin tanto che aspetta che quello richiesto sia disponibile.
Ovviamente la cosa vale anche in maniera duale per la scrittura dei dati.
Per cui c'è una grossa differenza tra quello che dici tu e quello che ho detto io.
Come dici tu, ogni volta che il processore fa una richiesta di lettura scrittura, dovendo aspettare il tempo di latenza, prima di procedere ad un'altra operazione di lettura/scrittura, potrebbe fermarsi anche per diversi cicli di clock (se la memoria è occupata da altri accessi precedenti)
Come invece ti ho spiegato io, la cpu invia l'operazione allo scheduler, interrompe temporaneamente quel determinato task, e quando il controller della memoria gli segnala che i dati sono disponibili (oppure è possibile scrivere in memoria), lui riprende quell'operazione.
Va meglio così?