Come velocizzare la propria memoria RAM

Transcript

Come velocizzare la propria memoria RAM
Come velocizzare la propria memoria RAM
É ufficiale: le memorie DDR 400 sono ormai uno standard a tutti gli effetti. Da quando il comitato Jedec ha preso la sua decisione, i produttori di RAM e schede madri hanno alcue linee guida sull'integrazione. Le memorie DDR400, alias RAM PC3200, sono state perseguitate da problematiche di compatibilità e da un'imbarazzante assenza di miglioramenti delle prestazioni. Senza la presenza di uno standard ufficiale, trovare un perfetto equilibrio tra RAM e motherboard era come giocare una mano di poker con gli occhi bendati.
Purtroppo non è facile far funzionare a dovere le DDR 400. Il limite dei 400 MHz della tecnologia DDR­1 sarà scavalcato con l'introduzione dello standard DDR­2, che porterà una progettazione completamente nuova, cambiamenti al layout delle schede e un minor voltaggio del segnale, con possibilità di frequenze di funzionamento fino a 667 MHz. Ma non aspettatevi questa nuova tecnologia prima di fine 2003. Fino ad allora, potete ottimizzare le impostazioni del vostro BIOS per sfruttare a fondo o stabilizzare le vostre DDR 400.
Anche se il vostro sistema non arriva alla frequenza di bus di 400 MHz, potete comunque smanettare sui parametri di temporizzazione per massimizzare le performance anche a minori velocità di clock. Spesso il solo ridurre la CAS latency o il RAS­to­CAS delay velocizza il sistema più che incrementare la frequenza del bus. Questo articolo spiega i concetti e le tecnologie del timing delle memorie e fornisce qualche consiglio sul tweaking. Le informazioni che vi forniamo si applicano anche ad altri standard quali DDR333 e DDR266, permettendovi l'ottimizzazione di qualsiasi sistema. I moduli più ottimizzabili
Potreste partire con moduli di memoria che superano il limite dello standard DDR400 e offrono impostazioni molto alte per velocità di clock e timing. Moduli di questo tipo sono disponibili da Corsair, Geil, Kingston, Mushkin, insieme ad altri denominati PC3500 o PC3700. Sebbene non esistano standard con queste definizioni, i nomi stanno a indicare quanto sia possibile overcloccare i moduli. Le RAM DDR danno il meglio di loro se installate su una motherboard dual channel, ossia che somma l'ampiezza di banda di due moduli DDR. Parliamo delle mobo con chipset Nvidia nForce 2 per CPU AMD, o Intel 7205 (e, in futuro, 865 e 875) per i processori Intel. Quindi per le massime prestazioni è d'obbligo avere sempre due moduli RAM. Alcuni produttori, come Corsair e Geil, mettono in commercio confezioni con coppie di memorie specifiche per sistemi dual channel.
Il BIOS spesso mette un freno ai timing delle memorie per mantenere il sistema stabile, ed è proprio in questo campo che possiamo ottimizzare al meglio. Ottimizzare la RAM
La tentazione inerente a moduli RAM più veloci è, sui sistemi più vecchi, di incrementare il clock del bus di memoria. Per esempio, potreste installare memorie DDR400 su una motherboard con chipset VIA KT333 o KT400 per CPU AMD. Sebbene ufficialmente i suddetti chipset non supportino i valori non standard per le RAM, potete trovare nel BIOS opzioni per incrementare la velocità di clock dai livelli delle DDR333 a quelli delle DDR400.
Se però il sistema, con le memorie impostate a 400 MHz, diventa instabile, dimenticatevi la regolazione fine. Il clock delle memorie si muove in parallelo con il clock del front side bus, quindi può essere solo regolato solo con grandi incrementi, come per esempio da DDR333 a DDR400. La regolazione avviene giocando con il clock del front side bus; 3/3 corrisponde a un uso di DDR333 con front side bus a 333 MHz, mentre 4/3 sta a significare l'uso delle frequenze delle DDR400.
Nei sistemi AMD non è conveniente differenziare le frequenze di FSB e memorie, per esempio impostando il bus di memoria a 400 MHz e il FSB a 333 MHz potrebbe perfino rallentare il sistema. Otterreste migliori risultati ottimizzando i parametri di timing nel BIOS. Timing: importanti quanto la frequenza del Bus Le impostazioni di timing hanno un impatto sulle prestazioni delle RAM del tutto similare a quello della frequenza di Bus. Del resto, il bus dei dati può capitalizzare l'ampia banda solo se i dati vengono letti dai moduli di memoria e resi disponibili a una velocità adeguata. Quando, poi, i dati sono recuperati da svariate zone di memoria, il flusso di dati viene rallentato da tutta una serie di procesi. I timing delle memorie definiscono i tempi di esecuzione dei singoli step coinvolti nell'accesso alle RAM. Ottimizzare questi settaggi può far guadagnare fino al 10% in termini di prestazioni. Inoltre, l'ottimizzazione dei timing può essere più proficua che quella del FSB. Delle DDR 333 con buoni timing superano certamente in prestazioni delle DDR 400 alle quali sono stati incrementati i tempi di risposta in favore di un clock più alto. La prima cosa da fare per smanettare sulle memorie è disattivare la configurazione automatica delle RAM. Quando questa funzione è attiva la mainboard legge il chip SPD (Serial Presence Detect) sul modulo di memoria per reperire informazioni sui timing e la velocità di clock e regolare le impostazioni di conseguenza. Queste informazioni sono determinate dal produttore con criteri di sicurezza, allo scopo di garantire la stabilità sul maggior numero di sistemi possibili. Con una configurazione manuale potete personalizzare le impostazioni per il vostro sistema. Nella maggior parte dei casi, i moduli RAM rimangono stabili anche quando si va oltre le specifiche del produttore. Non datevi comunque la pena di overcloccare moduli di memoria economici. I produttori "generici" sono noti per tagliare i costi dei loro moduli, gli sfortunati acquirenti che provano l'overclock potrebbero trovarsi a sperimentare prestazioni inferiori e crash di sistema. I parametri che contano
I timing più importanti delle RAM sono la latenza CAS (CL), il delay RAS­to­CAS (tRCD) e il tempo di precarica (tRP). Molti moduli di memoria riportano specifiche del genere: PC2700­2.0­2­2.0 o PC3200­3.0­3­3.0. Le prime cifre di questi numeri all'apparenza indecifrabili descrivono il tipo di memoria, le ultime tre i sopracitati timing. Altri produttori indicano semplicemente la latenza CAS con le sigle CL 2.0 o CL 3.0. Nonostante questo sia un parametro importante, non elencare le altre caratteristiche va a detrimento del compratore, siccome ognuna di esse ha un impatto sulle prestazioni del sistema.
Per vedere da voi quanto sia importante questo impatto, date un'occhiata ai benchmark di codifica MPEG­4. Alla fine dell'articolo troverete una breve prospettiva sui più importanti parametri di timing e brevi spiegazioni e trucchi su come impostarli al meglio. Se ritenete che le informazioni che vi forniamo non siano sufficienti, troverete anche un elenco di siti di produttori di RAM dove reperire ulteriori approfondimenti (Vedi "Produttori di RAM").
Per comprendere al meglio i parametri di timing, dovreste sapere tutto riguardo all'accesso alla memoria. Le tabelle "Timing delle RAM" vi forniranno una panoramica sui vari step. Un processo di lettura inizia quando il controller nel chipset della motherboard seleziona il modulo di memoria che contiene i dati. Il controller poi si rivolge direttamente al chip specifico nel modulo. Le celle del chip sono disposte in una matrice alla quale ci si riferisce usando uno schema a righe e colonne. Ogni intersezione rappresenta un bit di memoria. I risultati sono per clock delle RAM (PC2700 = DDR333; PC2100 = DDR266), latenza CAS (CL), RAS­to­CAS delay, RAS precharge time e row active time.
Enter the Matrix
Il controller delle memorie per prima cosa invia la riga dell'indirizzo della cella alla quale si riferisce alla logica del modulo. Dopo un certo periodo di tempo, tRCD (RAS­to­CAS delay), il modulo rende disponibili i contenuti della riga come archivio temporaneo. Nei moderni chip RAM questo processo richiede da due a tre cicli di clock. Possono capitare anche frazioni, come per esempio 2,5 cicli di clock (CL 2.5), siccome le RAM DDR possono mandare segnali dati e di controllo due volte per ciclo di clock (sia con segnale di clock in salita che in discesa).
Una volta che l'archivio temporaneo è popolata dai contenuti della riga, la controller invia un segnale CAS (column address strobe) che trasmette l'indirizzo della colonna della cella di memoria. L'invio dei dati così individuati al registro di output richiede un tempo tCL, equivalente alla latenza CAS.
Nel BIOS è possibile impostare il numero di cicli di clock per i timing tRCD and tCL. Più bassi sono questi valori, maggiori sono le performance. Un'impostazione di CL di 2.0 o anche di 1.5 è possibile solo per i moduli più veloci.
Se si leggono dati adiacenti nella stessa riga di memoria, l'unico fattore che determina la velocità di accesso è il timing CL, siccome il controller conosce già l'indirizzo della riga e non ha bisogna di ricercarla ancora. Quando il controller deve invece rivolgersi a diverse righe nella RAM, impiega un tRAS (row active time) prima di potersi spostare da una riga all'altra. Il tempo tRAS è incrementato dal tempo tRP (RAS precharge time), che è necessario per caricare i circuiti a un livello di voltaggio più alto. In altre parole, anche i moduli di memoria rapidi necessitano di almeno sette cicli di clock per l'intero processo.
I moderni chip di memoria DDR sono suddivisi in quattro segmenti (banchi) ognuno dei quali rappresenta una zona di memoria separata. Il bank interleaving permette di indirizzare simultaneamente zone in differenti banchi, aumentando quindi la quantità di dati trasmessi. Mentre dei dati vengono letti da un banco di memoria, è possibile indirizzare una nuova zona in un altro banco. Dal BIOS è possibile specificare quanti banchi possono essere indirizzati contemporaneamente. L'impostazione più veloce è quattro. Prestazioni massime con 1 Gb di RAM o più
Un altro importante criterio per le performance è la quantità di RAM installata. Le applicazioni di foto ritocco e di manipolazione video ricevono una grande spinta da un aumento di memoria. I risultati del benchmark Content Creation Winstone provano che i sistemi con Windows 2000 e XP non decollano sul serio se non hanno almeno 1 Gb o più di RAM. 512 Mb è il minimo per avere un sistema veloce con XP. I tempidi Windows 98 e Me, in cui 512 Mb erano il massimo che si poteva desiderare, sono un ricordo lontano!
Il massimo quantitativo di RAM dipende solamente dalla scheda madre e dal suo chipset. Per maggiori informazioni, consultate la tabella seguente. Nei sistemi x86, comunque, il massimo di memoria consentita è 3,5 Gb. La CPU non può indirizzare un quantitativo maggiore di memoria. L'eventuale eccesso capacità viene impiegato per la gestione del sistema PCI.
Dovreste installare il minor numero possibile di moduli RAM. Un numero inferiore di chip negli stessi moduli porta a prestazioni migliori e maggiore stabilità. I moduli normalmente hanno da otto a sedici chip.
Il numero di moduli di memoria in uso ha effetti diretti sul command rate, ossia il numero di cicli di clock che necessitano al controller della memoria per attivare i moduli e i chip. Con tutti i banchi di memoria pieni, per garantire stabilità al sistema è generalmente necessario aumentare questo valore da uno a due. Sfortunatamente questo porta anche a un decremente delle prestazioni fino al tre per cento. Produttori di RAM
Produttore Corsair Crucial Dataram Geil Infineon Kingmax Kingston Micron Mushkin Samsung Transcend Twinmos Sito Web
www.corsairmemory.com
www.crucial.com
www.dataram.com
www.geil.com.tw
www.infineon.com
www.kingmax.com.tw
www.kingston.com
www.micron.com
www.mushkin.com
www.samsungsemi.com
www.transcendusa.com
www.twinmos.com
Timing delle memorie
Memory Timings
Ottimizzare i parametri di timing velocizza i processi di accesso alla RAM. Il controller di memoria per prima cosa determina l'indirizzo di riga della cella interessata. L'indirizzo di colonna viene comunicato dopo un tempo tRCD. Il trasferimento dei dati al registro di output impiega un tempo tCL. Il processo può ripartire un'altra volta dopo un'attesa di tRAS più tRP. Supporto alle memorie dei vari chipset Chipset
Tipo di memoria1)
Max. Memoria
AMD
ALI M1647
DDR2662)
3072 MByte
Nvidia Nforce
DDR2663)
1536 MByte
Nvidia Nforce 2
DDR4003)
3072 MByte
SIS 735
DDR266
1024 MByte
SIS 745
DDR333
1536 MByte
SIS 746
DDR333
3072 MByte
SIS 746FX
DDR400
3072 MByte
VIA KT266A
DDR266
2048 MByte
VIA KT333
DDR333
4092 MByte4)
VIA KT400
DDR333
4092 MByte4)
VIA KT400A
DDR4003)
4092 MByte4)
Intel
ALI M1671
DDR333
3072 MByte
ALI M1681
DDR400
3072 MByte
Intel 7205
DDR3333)
4092 MByte4)
Intel 845E
DDR266
2048 MByte
Intel 845PE
DDR333
2048 MByte
Intel 865P
DDR333
4092 MByte4)
Intel 865PE
DDR4003)
4092 MByte4)
Intel 875P
DDR4003)
4092 MByte4)
SIS 645
DDR333
3072 MByte
SIS 648
DDR333
3072 MByte
SIS 648FX
DDR400
3072 MByte
SIS 655
DDR3333)
4092 MByte4)
VIA P4X266A
DDR266
4092 MByte4)
VIA P4X333
DDR333
4092 MByte4)
VIA P4X400
DDR333
4092 MByte4)
VIA P4T400
DDR400
4092 MByte4)
1)
2)
3)
4)
Il tipo più veloce di DDR RAM supportato; DDR266 = PC2100; DDR333 = PC2700; DDR400 = PC3200
Con C1 stepping DDR333
Interfaccia di memoria Dual-channel
3576 MB disponibili
Come ottimizzare la RAM dal BIOS
I BIOS delle schede madri presentano numerose voci dove ottimizzare la vostra memoria. Spiegheremo brevemente le opzioni, troverete i valori normalmente disponibili tra parentesi, quelli consigliati sottolineati. Vi riportiamo anche degli esempi di come determinate voci potrebbero chiamarsi in differenti versioni di BIOS; notate anche che non tutti i menu di BIOS offrono tutte queste opzioni.
Automatic Configuration (On/ Off) (DRAM Auto, Timing Selectable, Timing Configuring) Se volete configurare manualmente i vostri timing di memoria dovete disattivare la configurazione automatica della RAM.
Bank Interleaving (Off/ 2/ 4) (Bank Interleave) I chip di memoria DDR RAM constano di quattro banchi. Poter indirizzare contemporaneamente i quattro banchi con l'interleaving massimizzerà le vostre performance.
Burst Length (4/ 8) La voce Burst length specifica la quantità di blocchi di dati inviati per ciclo di trasmissione. Idealmente, una trasmissione riempirà una riga di memoria nella cache L2 che si trova nei moderni processori Pentium 4 e AMD, ossia 64 bit (otto pacchetti di dati).
CAS Latency tCL (1.5/ 2.0/ 2.5/ 3.0) (CAS Latency Time, CAS Timing Delay) Il numero di cicli di clock che passa dall'indirizzamento della colonna all'arrivo dei dati nel registro di output. Il produttore della memoria elenca le migliori impostazioni possibili come punteggi CL
Command Rate CMD (1/ 2) (Command Rate, MA 1T/2T Select) Il numero di cicli di clock necessari per l'indirizzamento della zona richiesta nel modulo di memoria e nel chip. Se avete tutti i banchi di memoria impegnati, dovreste impostarlo a 2, con conseguente perdita in termini di prestazioni.
RAS Precharge Time tRP (2/ 3) (RAS Precharge, Precharge to active) Il numero di cicli di clock necessari per precaricare i circuiti in modo da poter determinare la riga.
RAS­to­CAS Delay tRCD (2/ 3/ 4/ 5) (RAS to CAS Delay, Active to CMD) Il numero di cicli di clock che passano dalla determinazione dell'indirizzo della colonna all'invio dello stesso. Impostare questa voce a due può incrementare le prestazioni fino al quattro percento.
Row Active Time tRAS (5/ 6/ 7) (Active to Precharge Delay, Precharge Wait State, Row Active Delay, Row Precharge Delay) Il ritardo che deriva dall'indirizzamento consecutivo di due righe diverse all'interno dello stesso chip.
Memory Clock (100/ 133/ 166/ 200 MHz) (DRAM Clock) Specifica la velocità di clock del bus di memoria. Questa frequenza normalmente è relativa al clock del front side bus. La tecnologia DDR (double data rate), raddoppia il data rate indicato dall'effettiva velocità del bus.