Latenze di accesso

Tra i vari timing che possiamo modificare (in genere accessibili dal sottomenu Advanced Chipset Features del bios della propria scheda madre) sono quattro le sigle che più di frequente vengono ricordate:

CAS Latency (Tcl): indica il ritardo, in termini di cicli di clock, tra l'inoltro di una richiesta in lettura e l'istante in cui il dato è pronto per l'uscita. A valori inferiori della latenza corrispondono prestazioni velocistiche superiori. Ovviamente, una latenza pari a 3 implica performance differenti se la memoria opera alla frequenza di 166 MHz o 200 MHz oppure, ancora, a quella di 250 MHz.

RAS to CAS Delay (Trcd): come anticipato, 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. Il Ras to Cas Delay indica il ritardo (delay), in termini di cicli di clock, tra il segnale di RAS e quello di CAS. A valori inferiori corrispondono prestazioni superiori.

RAS Precharge Time (Trp): tale valore indica l'intervallo di tempo (sempre espresso in cicli di clock) tra un comando RAS e il successivo. In questo intervallo vengono precaricati i condensatori della memoria. L'operazione di precharge si rende indispensabile per la caratteristica peculiare delle DRAM di cui si è discusso in precedenza. Ovviamente, anche in questo caso, a valori inferiori corrispondono prestazioni superiori.

Cycle Time (Tras): intervallo di tempo (espresso in cicli di clock) necessario per prelevare un dato da una cella di memoria e renderlo disponibile per l'output.


a questi si aggiungono i cosiddetti alpha timing non meno importanti....


Row Cycle Time (Trc): somma del Trp e del Tras. Corrisponde, quindi, all'intervallo di tempo (espresso in cicli di clock) tra due richieste di lettura consecutive (due comandi RAS successivi + tempo per rendere un dato disponibile sull'output). A valori inferiori corrispondono prestazioni superiori.

Row Refresh Cycle Time (Trfc): intervallo di tempo (espresso in cicli di clock) tra il comando di auto-refresh ed un qualsiasi comando successivo (di scrittura, lettura, o auto-refresh). A valori inferiori corrispondono prestazioni superiori.

Ras to Ras Delay (Trrd): intervallo di tempo (espresso in cicli di clock) tra due segnali di attivazione che interessano lo stesso banco di memoria. A valori inferiori corrispondono prestazioni superiori.

Write Recovery Time (Twr): intervallo di tempo (espresso in cicli di clock) tra un'operazione di scrittura e la successiva operazione di precharge (tempo per riportare a regime il circuito della cella di memoria). Se tale tempo non è soddisfatto i dati non risulteranno leggibili alla successiva lettura. A valori inferiori corrispondono prestazioni superiori.

Write to Read Delay Time (Twtr): intervallo di tempo (espresso in cicli di clock) tra l'ultima operazione di scrittura effettiva e la successiva operazione di lettura. A valori inferiori corrispondono prestazioni superiori.

Read to Write Delay Time (Trtw): intervallo di tempo (espresso in cicli di clock) tra un'operazione di lettura ed una successiva operazione di scrittura relative ad uno stesso banco di ram. A valori inferiori corrispondono prestazioni superiori.

Refresh Rate (Tref): intervallo di tempo tra due refresh consecutivi.

Write Cas Latency (Twcl): intervallo di tempo che intercorre tra la scrittura di un dato e l'istante in cui il sistema è pronto a catturare un nuovo dato (il riferimento è alla frequenza del core e non a quella del clock interno).

Read Write Queue Bypass: indica il numero di volte che la più vecchia operazione di lettura/scrittura messa in coda può essere bypassata, prima che sia forzata l'effettuazione della stessa. Bisogna tener presente che esistono due registri in cui sono immagazzinate rispettivamente le operazioni di lettura e scrittura; l'ordine in cui devono essere eseguite dipende dalla priorità che è stata assegnata al dato relativo alla singola operazione. Esiste, però, in caso sia necessario, la possibilità di bypassare le code in lettura e scrittura; questa opzione indica il numero massimo di volte che l'arbiter che stabilisce la priorità delle operazioni da eseguire, permette di bypassare queste code di dati.

Bypass Max: numero di volte che è possible bypassare la più vecchia richiesta di lettura/scrittura presente in coda, prima che sia forzata l'esecuzione della stessa. Apparentemente alta la simlitudine con RWQB tuttavia, in realtà, tra la cpu e il memory controller ci sono due diversi canali di comunicazione, uno che reca informazioni sulle operazioni da eseguire e l'altro sugli indirizzi relativi alle stesse operazioni. Anche in questo caso, a valori inferiori corrispondono prestazioni più elevate.

Max Async Latency: imposta le latenze massime tollerate per il funzionamento in modalità asincrona rispetto al FSB. A valori inferiori corrispondono prestazioni superiori.

Read Preamble: intervallo di tempo relativo al segnale di sincronizzazione del DQS (data queue strobe); in pratica, prima del primo fronte di salita utile, che segnala cioè un dato in lettura, si ha un segnale di sincronizzazione (bidirezionale, tra ram e memory controller) che indica l'imminenza del trasferimento dati (esiste un analogo segnale di sincronizzazione che indica la fine delle operazioni di lettura/scrittura relative ad un pacchetto di dati, chiamato post-amble).

Idle Cycle Limit: massimo numero di tentativi di accesso che il controller può fare verso una predeterminata pagina di ram prima che sia forzato lo switching verso un'altra pagina.

Dynamic Idle Counter: se abilitato forza l'aggiustamento dinamico dell'ICL, per ogni nuovo dato immagazzinato nella page-table. Va abilitato per aumentare le prestazioni (a scapito, però, della stabilità del sistema); va disabilitato per trarre benefici in termini di stabilità.

Drive Strenght: permette di controllare l'intensità del segnale attraverso il quale sono trasferiti i dati (valori più alti significano segnale più forte); settare valori alti può servire ad aumentare la stabilità del sistema in caso di utilizzo di banchi multipli o a doppio strato, oppure nell'overclock.

32 Byte Granularity: quantità di dati che viene trasferita in ogni operazione di lettura o scrittura.