Home ] Su ] Novità ] FAQ ] Hardware ] Software ] Windows ] Sicurezza ] Linguaggi ] Cerca ] Contatta ] Guestbook ] Mappa ] Info su... ]

Hardware Tips&Tricks - Velocizzare il chipset VIA


Introduzione

Gli utenti che hanno acquistato un nuovo computer o che hanno aggiornato il proprio computer basato sul chipset VIA Apollo Pro, hanno avuto sentore delle scarse prestazioni di tale chipset per quanto riguarda la memoria. Ciò è in parte vero, però bisogna considerare anche che il BIOS fornito con il vostro computer potrebbe non essere perfetto e potrebbe mancare di alcune peculiarità che potrebbero in qualche modo aumentare le prestazioni generali del sistema.
Il mio caso è lampante. Ho acquistato una piastra madre Azza basata sul chipset Via Apollo Pro 133. Avendo anch'io avuto sentore di prestazioni ridicole della memoria, le ho volute verificare personalmente. Ho usato un noto programma, denominato SiSoft Sandra 2000. Eseguendo il memory benchmark ho ottenuto il seguente risultato:

Risultato standard del memory benchmark di Sandra

Come potete osservare il risultato del benchmark è a dir poco desolante. Il mio computer, basato su un Pentium III a 533 MHz, è addirittura più lento di un Celeron 366 ed è paragonabile ad un AMD K6-III 450. Questo è ottenuto nonostante il Front Side Bus della mia piastra madre sia a 133 MHz e nonostante i due banchi di SDRAM da 128 MB cadauno siano funzionanti anch'essi a 133 MHz.


Il programma WPCREDIT

Tempo fa girovagando sui siti che si occupano di Hardware vengo a scoprire che esiste un'utility, denominata WPCREdit, che modifica alcuni registri interni del chipset VIA permettendo di attivare l'interleaving della memoria con un fattore 4x. L'interleaving è semplicemente un modo per accedere ai banchi di memoria contemporaneamente, invece che in maniera sequenziale. Ciò mi permette di ottenere risultati vicini al Pentium III a 500 MHz, senza dover acquistare un'altra piastra madre. Tenete inoltre presente che anche acquistando un'altra piastra madre, mi potrei comunque trovare impossibilitato a modificare l'interleave tramite il Setup del BIOS. In ogni caso il programma WPCREDIT sopperisce a questa grave lacuna.

Il programma WPCREdit è scaricabile qui (Versione: 1.4, Dimensione: 73 KB, Data: 1/4/2004).

Scaricate il programma WPCREdit dal suddetto indirizzo e decomprimete il file zippato in una cartella vuota. Inoltre scaricate il file ApolloPro.zip (Dimensione: 11 kb, Data: 2 Luglio 2000) che trovate anch'esso in questo sito per poter modificare i registri del chipset VIA Apollo Pro. Decomprimete il file nella stessa cartella contenente il programma WPCREdit.

ATTENZIONE : tenete presente che alcuni file .PCR contenuti nel suddetto file zippato, si riferiscono ad un fantomatico "0691 Host Bridge" (come potete vedere nella figura qui sotto alla voce "Device ID"). Ciò potrebbe indurvi a pensare che il vostro chipset sia un VIA 691. In realtà anche i chipset 693A e 694x di VIA hanno l'identificatore 691. Purtroppo per evitare problemi di incompatibilità, i file .PCR sono aggiornati proprio al vetusto chipset NorthBridge VIA VT82C691. Se la vostra piastra madre è basata su un chipset successivo (ad esempio VT82C693A o VT82C694X), vi consiglio di fare riferimento anche alla documentazione di alcuni registri trattati in questa pagina, poiché alcuni registri hanno differenti significati.

Eseguite finalmente il programma WCPREDIT.EXE e vi troverete davanti una schermata simile alla seguente:

Schermata del programma WPCREDIT

Se siete abituati agli editor esadecimali, allora questo programma è fatto per voi. Se invece non siete abituati a tale tipo di editor, la cosa vi risulterà un po' ostica. Niente paura, le modifiche fatte con WPCREdit non sono permanenti. Se commettete un errore, tutto tornerà come prima riavviando il computer.

La parte più importante della finestra di WPCREdit è la griglia che visualizza un insieme di 256 byte e il loro valore. Il cursore lampeggiante si trova nel byte 0, byte che viene denominato "Offset" dal programma. Il valore dell'Offset è visualizzato anche in basso a sinistra nella voce "Data". In basso al centro trovate il valore in byte dell'offset attuale e il suo valore binario. Questo è l'unico pannello che dovete tenere a mente per modificare il valore corrente. Ogni byte viene visualizzato nella sua forma binaria nel pannello a destra. Vi sono 8 numeretti, il primo parte da 7 e l'ultimo arriva a 0. Questi sono i bit che compongono il byte (o Offset) attuale. Notate il colore del testo che accompagna ogni bit. Se tale colore è blu, allora il bit è impostato, se è grigio allora il bit non è impostato. Inoltre il numero indicante il bit (da 7 a 0) può essere di colore rosso. In questo caso il bit non è modificabile, cioè è di sola lettura.

Per trovare il byte voluto, potete usare i tasti cursore della vostra tastiera, seguendo la combinazione riga/colonna. Ad esempio per andare nell'Offset 51, dovete andare nella riga 50 e nella colonna 01 (in ogni caso controllate in basso la posizione dell'offset attuale).

Per modificare ad esempio l'Offset 51, andate su tale offset, il cui valore "HEX" è "D8". Il valore binario è "11011000". Vogliamo modificare il bit 5, commentato come "DRAM Read Request Rate", impostandolo ad 1. Andate con il mouse sul numero binario e fate click con il mouse. Andate sul bit 5 (potete controllare su quale bit vi trovate guardando nel pannello a destra, dovreste vedere un asterisco a fianco del bit attuale) usando il tasto cursore della tastiera e digitate il tasto "1".

Il valore "Hex" dovrà diventare "F8". Per confermare il nuovo valore, premete il pulsante "Set" oppure premete il tasto INVIO e confermate il nuovo valore premendo il pulsante "Si". Se non volete confermare il nuovo valore e volete lasciare il vecchio valore allora basta premere il tasto ESC. Non eseguite i suddetti passaggi se la vostra memoria non mantiene il CAS2, poiché potrebbe causare il blocco del vostro computer (o se siete fortunati il riavvio immediato del vostro computer). In ogni caso se riavviate il computer, verrà ripristinato il vecchio valore (e non quello nuovo).

Usate continuamente il Memory Benchmark di Sandra per vedere se modificando alcuni Offset ottenete degli aumenti di prestazioni.

Gli offset più importanti per ottenere un aumento considerevole delle prestazioni sono: 50, 51, 64, 65, 66, 67, 68. I valori originali erano rispettivamente 7D, D8, 94, 94, 94, 94, 23. I nuovi valori da me modificati sono rispettivamente: FF, FF, 92, 92, 92, 92, 63 (invece quelli consigliati per ottenere il massimo delle prestazioni sono FF, FF, 12, 12, 12, 12, 63). In pratica ho attivato l'interleaving a 4x e attivato qualche altra opzione importante (fate riferimento al paragrafo "Documentazione" di questa pagina per maggiori informazioni sui singoli offset). In ogni caso potete provare ad azzerare il bit 7 degli offset 64, 65, 66 e 67, impostando cioè il valore 12 per ognuno di essi. Nel mio caso non funziona, anzi, appena azzero il bit 7 del primo offset (il 64), si riavvia subito il computer!!!!

Nella seguente tabella vengono descritte nel dettaglio le modifiche effettuate per ogni Offset:

OffsetBitNote
507 Impostate ad 1 il bit per portare la dimensione della coda hardware ordinata della CPU dal livello 1 al livello 4
1Impostate ad 1 il bit per attivare le letture veloci speculative
51 5 Impostate ad 1 il bit per portare il DRAM Read Request Rate da 3T a 2T
2Impostate ad 1 il bit per portare il CPU Read DRAM Prefetch Buffer da 1 livello a 4 livelli
1Impostate ad 1 il bit per portare il CPU-to-DRAM Post-Write Buffer Depth da 1 livello a 4 livelli
0Impostate ad 1 il bit per attivare il Concurrent PCI Master / Host Operation per fare in modo che il bus della CPU venga occupato solo il minimo indispensabile
64 Impostazioni per il primo modulo di memoria SDRAM
7Provate ad impostare a 0 questo bit per portare il Precharge Command to Active Command Period da 3T a 2T. Potrebbe non funzionare su tutti i sistemi. In ogni caso l'impostazione di questo bit a 0 fornisce maggiori prestazioni
2Impostate a 0 questo bit per portare l'Active Command to CMD Command Period da 3T a 2T
1/0Provate ad impostare il valore binario 10 per attivare il bank interleave a 4 vie. Quest'impostazione deve essere usata soltanto se la vostra SDRAM è da 64 MBit (fate riferimento alla documentazione dei registri 58/59 per maggiori informazioni)
65 Impostazioni per il secondo modulo di memoria SDRAM
7Provate ad impostare a 0 questo bit per portare il Precharge Command to Active Command Period da 3T a 2T. Potrebbe non funzionare su tutti i sistemi. In ogni caso l'impostazione di questo bit a 0 fornisce maggiori prestazioni
2Impostate a 0 questo bit per portare l'Active Command to CMD Command Period da 3T a 2T
1/0Provate ad impostare il valore binario 10 per attivare il bank interleave a 4 vie. Quest'impostazione deve essere usata soltanto se la vostra SDRAM è da 64 MBit (fate riferimento alla documentazione dei registri 58/59 per maggiori informazioni)
66 Impostazioni per il terzo modulo di memoria SDRAM
7Provate ad impostare a 0 questo bit per portare il Precharge Command to Active Command Period da 3T a 2T. Potrebbe non funzionare su tutti i sistemi. In ogni caso l'impostazione di questo bit a 0 fornisce maggiori prestazioni
2Impostate a 0 questo bit per portare l'Active Command to CMD Command Period da 3T a 2T
1/0Provate ad impostare il valore binario 10 per attivare il bank interleave a 4 vie. Quest'impostazione deve essere usata soltanto se la vostra SDRAM è da 64 MBit (fate riferimento alla documentazione dei registri 58/59 per maggiori informazioni)
67 Impostazioni per il quarto modulo di memoria SDRAM
7Provate ad impostare a 0 questo bit per portare il Precharge Command to Active Command Period da 3T a 2T. Potrebbe non funzionare su tutti i sistemi. In ogni caso l'impostazione di questo bit a 0 fornisce maggiori prestazioni
2Impostate a 0 questo bit per portare l'Active Command to CMD Command Period da 3T a 2T
1/0Provate ad impostare il valore binario 10 per attivare il bank interleave a 4 vie. Quest'impostazione deve essere usata soltanto se la vostra SDRAM è da 64 MBit (fate riferimento alla documentazione dei registri 58/59 per maggiori informazioni)
686 Impostate ad 1 questo bit per permettere alle pagine di banchi differenti di essere attive

Con le suddette modifiche, ottengo con il Memory Benchmark di Sandra il seguente punteggio:

Risultato del memory benchmark di Sandra dopo WPCREDIT

Come potete osservare il guadagno di prestazioni è notevole ed ora il mio computer può rivaleggiare con un Pentium III a 500 MHz.

Chiaramente io ho dovuto attivare l'interleaving 4x poiché tale interleaving nel mio caso non era proprio attivato ed inoltre il mio BIOS non mi consente di attivare questa utilissima opzione. Se sul vostro computer vedete che l'interleaving è già attivo a 4x, allora vuol dire che il vostro BIOS permette la modifica diretta della suddetta opzione oppure ha impostato automaticamente il migliore valore per la vostra memoria.


Risoluzione dei problemi

Le suddette modifiche sono state fatte più volte e provate per molto tempo. Chiaramente il tutto è andato avanti senza problemi, però molte persone potrebbero avere dei problemi con continui blocchi del sistema. Per evitare ogni tipo di problema vi suggerisco quanto segue:

  • Le suddette modifiche portano il sistema ad operare alla massima velocità possibile. Non tutte le componenti hardware in gioco possono supportare tale estrema velocità, soprattutto la memoria. La cosa che vi suggerisco di fare è di controllare la qualità della vostra memoria, su questo sito potete leggere la pagina "Hardware Tips&Tricks - Come recuperare le informazioni sulla RAM" per ottenere informazioni utili su come recuperare le caratteristiche della propria memoria. Di solito quasi tutte le memorie dovrebbero supportare il 4-way interleaving alla massima velocità di frequenza disponibile. Se ad esempio il bus di sistema funziona a 133 Mhz, e portate anche la memoria a funzionare a tale velocità, in teoria la memoria non dovrebbe dare problemi. In realtà, come descritto nella suddetta pagina, le cose sono nettamente diverse. Molte memorie dovranno funzionare ad una frequenza inferiore (o alla frequenza stabilita dall'SPD fornito dal produttore) per evitare continui blocchi del sistema. Soprattutto l'intervallo dei registri dal 64 al 67, cioè quelli relativi ai singoli moduli di memoria, è più soggetto a provocare continui blocchi al sistema. Le soluzioni chiaramente sono o cambiare la memoria, e quindi scegliere memoria di maggiore qualità, oppure diminuire la frequenza della memoria, se il BIOS ve lo permette.
  • I nuovi BIOS dei chipset Apollo Pro adottano una migliore gestione della memoria, usando le informazioni fornite dall'SPD (per conoscere le informazioni dell'SPD leggere la pagina "Hardware Tips&Tricks - Come recuperare le informazioni sulla RAM" su questo sito) di ogni modulo di memoria. Questo permette di calibrare al meglio la velocità e ottenere un miglior compromesso tra velocità e stabilità del sistema. Purtroppo variando le impostazioni del BIOS e adottando le impostazioni manuali, quindi non più automatiche, il BIOS per conto proprio può prendere decisioni non volute. Una fra queste è la disattivazione del 4-way interleaving, adottando invece in maniera autonoma il 2-way interleaving o, nella peggiore ipotesi, disattivando del tutto l'interleaving. Questo non è un problema poiché con WPCREdit è possibile riattivarlo, però bisognerà in questo caso farsi carico di trovare il miglior compromesso tra velocità e stabilità del sistema, per evitare continui blocchi del sistema. Vi suggerisco quindi, per quanto possibile, di lasciar fare al BIOS, e di provare continuamente il programma Sandra di cui sopra e vedere se le prestazioni vi soddisfano. Eventualmente attivate con WPCREdit ciò che il BIOS non vi ha attivato, e verificando che quanto appena fatto da voi non porti a instabilità del vostro sistema.
  • Usate il programma WPCRSet, descritto nella prossima sezione di questa pagina, solo se le modifiche effettuate con WPCREdit vi forniscono la massima garanzia sulla stabilità del vostro sistema. Levare WPCRSet dal sistema potrebbe essere un'operazione tutt'altro che facile, in alcuni casi persino impossibile, e potrebbe costringervi a reinstallare il sistema operativo. Inoltre anche WPCRSet dipende dalla velocità e dalla qualità della vostra memoria, quindi tenete sempre presente i primi due punti di questo paragrafo prima di usare WPCRSet.

Il programma WPCRSET

Dopo aver modificato i valori suddetti, ora il problema è rendere effettive tali modifiche ad ogni riavvio del computer. Poiché WPCREdit modifica temporaneamente i valori dei registri PCI, allora dobbiamo usare un altro programma, WPCRSet. Scaricate il suddetto programma qui (Versione: 1.2, Dimensione: 60 KB, Data: 25/4/1999) e decomprimete il file zippato in una cartella vuota (o nella stessa cartella di WPCREdit). Prima di eseguire il programma WPCRSet, eseguite il file INSTDD.EXE che vi installerà il driver virtuale di Windows automaticamente e vi chiederà di riavviare il computer. Dopo aver riavviato il computer, eseguite il programma WPCRSET.EXE che trovate nella cartella suddetta e vi troverete davanti una schermata simile alla seguente:

Schermata del programma WPCRSET

Chiaramente nell'immagine suddetta i valori sono già impostati. Purtroppo non è possibile esportare i nuovi valori modificati con WPCREdit ed importarli in WPCRSet. Pertanto dovete aggiungere manualmente ogni valore in WPCRSet.

Per aggiungere un valore premete il pulsante "Add" e inserite nel campo "Register" l'Offset modificato con WPCREdit e nel campo "Data" il nuovo valore dell'Offset (quello che in WPCREDIT era il valore "Hex"). Premete quindi il tasto "OK". Ripetete il suddetto passaggio per tutti gli offset modificati.
Nella sezione "Startup" in alto a sinistra selezionate l'opzione "Start". Questo farà in modo che al prossimo riavvio del computer, il driver virtuale appena installato modificherà tutti gli offset aggiunti in WPCRSET con i nuovi valori appena impostati sempre in WPCRSET.

Se avete problemi nel riavvio del computer e volete disattivare la modifica dei registri, allora riavviate Windows in Modalità Provvisoria, eseguite WPCRSET e selezionate l'opzione "Stop" in alto a sinistra. Riavviate quindi il computer. Al prossimo riavvio il driver virtuale non modificherà i registri del chipset.

Per fare in modo di automatizzare questi ultimi passaggi, piuttosto noiosi, con WPCRSET, potete, una volta installato il driver virtuale con INSTDD.EXE, andare nel registry di Windows e crearvi una copia di backup delle sole chiavi appena modificate.
Eseguite RegEdit.exe che trovate nella cartella principale di Windows, andate nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\WPCRSET se avete Windows 9x/ME oppure nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WPCRSET se avete Windows NT/2000, selezionate il primo menù di Regedit denominato "Registro di configurazione" e selezionate la voce "Esporta file". Date un nome al file registro (*.REG) relativo. Eseguite tale file soltanto dopo aver eseguito il programma INSTDD.EXE la prossima volta per impostare subito gli offset e i relativi nuovi valori.


Documentazione

Viene di seguito fornita una breve descrizione di alcuni registri del chipset VIA Apollo Pro 133A riguardanti la memoria e l'AGP. Maggiore documentazione, in lingua inglese, sui chipset di VIA può essere prelevata direttamente dal sito di VIA, come descritto nella pagina "Hardware Documentazione - Documentazione chipset VIA" su questo sito.

Offset 50 - Controllo della Fase di Richiesta

  • Bit 7 : CPU Hardwired In Order Queue Size (dimensione della coda hardware ordinata della CPU)
    0 = 1 Livello, 1 = 4 Livelli (valore predefinito)
  • Bit 6 : Read-Around-Write
    0 = Disattiva (valore predefinito), 1 = Attiva
  • Bit 5 : I/O Write Deferable
    Impostate sempre questo bit ad 1
  • Bit 4 : Defer Retry When HLOCK Active
    Impostate sempre questo bit ad 1
  • Bit 3 : CPU-to-PCI Read Retry
    Impostate sempre questo bit ad 1
  • Bit 2 : CPU-to-PCI Read Defer
    Impostate sempre questo bit ad 1
  • Bit 1 : Fast Speculative Read (letture veloci speculative)
    0 = Disattiva (valore predefinito), 1 = Attiva
  • Bit 0 : CPU-to-PCI Read DRAM Timing
    0 = Avvia la lettura della DRAM dopo aver completato lo snoop (valore predefinito), 1 = Avvia la lettura della DRAM prima di completare lo snoop

Offset 51 - Controllo della Fase di Risposta

  • Bit 7 : CPU Read DRAM 0ws for Back-to-Back Read Transactions
    Impostando ad 1 questo bit si otterranno massime prestazioni in lettura permettendo continue letture senza stati d'attesa per le letture sulla linea pipeline. Se questo bit è impostato a 0 (valore predefinito), ci sarà almeno uno stato d'attesa tra le transazioni di lettura
  • Bit 6 : CPU Write DRAM 0ws for Back-to-Back Write Transactions
    Impostando ad 1 questo bit si otterranno massime prestazioni in scrittura permettendo continue scritture senza stati d'attesa per le scritture sulla linea pipeline. Se questo bit è impostato a 0 (valore predefinito), ci sarà almeno uno stato d'attesa tra le transazioni di scrittura
  • Bit 5 : DRAM Read Request Rate
    0 = 3T (valore predefinito), 1 = 2T
  • Bit 4 : Fast Response
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 3 : Non-Posted IOW
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 2 : CPU Read DRAM Prefetch Buffer Depth
    0 = Buffer di prefetch ad 1 livello (valore predefinito), 1 = Buffer di prefetch a 4 livelli
  • Bit 1 : CPU-to-DRAM Post-Write Buffer Depth
    0 = Buffer di post-write ad 1 livello (valore predefinito), 1 = Buffer di post-write a 4 livelli
  • Bit 0 : Concurrent PCI Master / Host Operation
    0 = Il bus della CPU sarà occupato durante l'intera operazione PCI (valore predefinito), 1 = il bus della CPU è richiesto solo prima di un comando assert su ADS#.

Offset 58 - Rilevazione capacità per il primo e secondo modulo DRAM

  • Bit 7-5 : Bank 1/0 MA Map Type (SDRAM)
    • 0xx = SDRAM da 16MBit
    • 100 = SDRAM da 64MBit/128 MBit (x4 da 10 col, x8 da 9 col, x16 da 8 col, x32 da 8 col)
    • 101 = VC SDRAM da 64 MBit
    • 110 = VC SDRAM da 64/128 MBit (8Mx8 oppure 8Mx16)
    • 111 = VC SDRAM da 128 MBit (16Mx8)
  • Bit 4 : Bank 1/0 Virtual Channel Enable
  • Bit 3-1 : Bank 3/2 MA Map Type (SDRAM)
    • 0xx = SDRAM da 16MBit
    • 100 = SDRAM da 64MBit/128 MBit (x4 da 10 col, x8 da 9 col, x16 da 8 col, x32 da 8 col)
    • 101 = VC SDRAM da 64 MBit
    • 110 = VC SDRAM da 64/128 MBit (8Mx8 oppure 8Mx16)
    • 111 = VC SDRAM da 128 MBit (16Mx8)
  • Bit 0 : Bank 3/2 Virtual Channel Enable

Offset 59 - Rilevazione capacità per il terzo e quarto modulo DRAM

  • Bit 7-5 : Bank 5/4 MA Map Type (SDRAM)
    • 0xx = SDRAM da 16MBit
    • 100 = SDRAM da 64MBit/128 MBit (x4 da 10 col, x8 da 9 col, x16 da 8 col, x32 da 8 col)
    • 101 = VC SDRAM da 64 MBit
    • 110 = VC SDRAM da 64/128 MBit (8Mx8 oppure 8Mx16)
    • 111 = VC SDRAM da 128 MBit (16Mx8)
  • Bit 4 : Bank 5/4 Virtual Channel Enable
  • Bit 3-1 : Bank 7/6 MA Map Type (SDRAM)
    • 0xx = SDRAM da 16MBit
    • 100 = SDRAM da 64MBit/128 MBit (x4 da 10 col, x8 da 9 col, x16 da 8 col, x32 da 8 col)
    • 101 = VC SDRAM da 64 MBit
    • 110 = VC SDRAM da 64/128 MBit (8Mx8 oppure 8Mx16)
    • 111 = VC SDRAM da 128 MBit (16Mx8)
  • Bit 0 : Bank 7/6 Virtual Channel Enable

Offset 60 - Tipo di DRAM

  • Bit 7-6 : Tipo di DRAM per il Banco 7/8 (quarto modulo di memoria)
    • 00 = Fast Page Mode DRAM (FPG) - valore predefinito
    • 01 = EDO DRAM
    • 10 = SDRAM Double Data Rate (DDR SDRAM-II)
    • 11 = SDRAM Single Data Rate (SDR SDRAM)
  • Bit 5-4 : Tipo di DRAM per il Banco 5/4 (terzo modulo di memoria)
    • 00 = Fast Page Mode DRAM (FPG) - valore predefinito
    • 01 = EDO DRAM
    • 10 = SDRAM Double Data Rate (DDR SDRAM-II)
    • 11 = SDRAM Single Data Rate (SDR SDRAM)
  • Bit 3-2 : Tipo di DRAM per il Banco 3/2 (secondo modulo di memoria)
    • 00 = Fast Page Mode DRAM (FPG) - valore predefinito
    • 01 = EDO DRAM
    • 10 = SDRAM Double Data Rate (DDR SDRAM-II)
    • 11 = SDRAM Single Data Rate (SDR SDRAM)
  • Bit 1-0 : Tipo di DRAM per il Banco 1/0 (primo modulo di memoria)
    • 00 = Fast Page Mode DRAM (FPG) - valore predefinito
    • 01 = EDO DRAM
    • 10 = SDRAM Double Data Rate (DDR SDRAM-II)
    • 11 = SDRAM Single Data Rate (SDR SDRAM)

Offset 64 - Temporizzazione della DRAM per i banchi 0/1 (solo memorie SDRAM)

  • Bit 7 : Precharge Command to Active Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 6 : Active Command to Precharge Command Period
    0 = 5T, 1 = 6T (valore predefinito)
  • Bit 5-4 : CAS Latency (10 = valore predefinito)
     SDRAMSDRAM-II
    001Tn.d.
    012Tn.d.
    103T2T, 2.5T
    11n.d.3T
  • Bit 3 : DDR Write Enable (solo per SDRAM-II)
    0 = Disattivato, 1 = Attivato (valore predefinito)
  • Bit 2 : Active Command to CMD Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 1-0 : Bank Interleave
    • 00 = Nessun interleave (valore predefinito)
    • 01 = 2 vie (solo per SDRAM da 16 o 64 MBit)
    • 10 = 4 vie (solo per SDRAM da 64 MBit)
    • 11 = Riservato

Offset 65 - Temporizzazione della DRAM per i banchi 2/3 (solo memorie SDRAM)

  • Bit 7 : Precharge Command to Active Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 6 : Active Command to Precharge Command Period
    0 = 5T, 1 = 6T (valore predefinito)
  • Bit 5-4 : CAS Latency (10 = valore predefinito)
     SDRAMSDRAM-II
    001Tn.d.
    012Tn.d.
    103T2T, 2.5T
    11n.d.3T
  • Bit 3 : DDR Write Enable (solo per SDRAM-II)
    0 = Disattivato, 1 = Attivato (valore predefinito)
  • Bit 2 : Active Command to CMD Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 1-0 : Bank Interleave
    • 00 = Nessun interleave (valore predefinito)
    • 01 = 2 vie (solo per SDRAM da 16 o 64 MBit)
    • 10 = 4 vie (solo per SDRAM da 64 MBit)
    • 11 = Riservato

Offset 66 - Temporizzazione della DRAM per i banchi 4/5 (solo memorie SDRAM)

  • Bit 7 : Precharge Command to Active Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 6 : Active Command to Precharge Command Period
    0 = 5T, 1 = 6T (valore predefinito)
  • Bit 5-4 : CAS Latency (10 = valore predefinito)
     SDRAMSDRAM-II
    001Tn.d.
    012Tn.d.
    103T2T, 2.5T
    11n.d.3T
  • Bit 3 : DDR Write Enable (solo per SDRAM-II)
    0 = Disattivato, 1 = Attivato (valore predefinito)
  • Bit 2 : Active Command to CMD Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 1-0 : Bank Interleave
    • 00 = Nessun interleave (valore predefinito)
    • 01 = 2 vie (solo per SDRAM da 16 o 64 MBit)
    • 10 = 4 vie (solo per SDRAM da 64 MBit)
    • 11 = Riservato

Offset 67 - Temporizzazione della DRAM per i banchi 6/7 (solo memorie SDRAM)

  • Bit 7 : Precharge Command to Active Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 6 : Active Command to Precharge Command Period
    0 = 5T, 1 = 6T (valore predefinito)
  • Bit 5-4 : CAS Latency (10 = valore predefinito)
     SDRAMSDRAM-II
    001Tn.d.
    012Tn.d.
    103T2T, 2.5T
    11n.d.3T
  • Bit 3 : DDR Write Enable (solo per SDRAM-II)
    0 = Disattivato, 1 = Attivato (valore predefinito)
  • Bit 2 : Active Command to CMD Command Period
    0 = 2T, 1 = 3T (valore predefinito)
  • Bit 1-0 : Bank Interleave
    • 00 = Nessun interleave (valore predefinito)
    • 01 = 2 vie (solo per SDRAM da 16 o 64 MBit)
    • 10 = 4 vie (solo per SDRAM da 64 MBit)
    • 11 = Riservato

Offset 68 - Controllo della DRAM

  • Bit 7 : SDRAM Open Page Control
    • 0 = sottopone sempre a precharge dei banchi SDRAM quando si accede alle memorie EDO/FPG (valore predefinito)
    • 1 = i banchi di SDRAM rimangono attivi quando si accede ai banchi EDO/FPG
  • Bit 6 : Bank Page Control
    • 0 = permette soltanto alle pagine dello stesso banco di essere attive (valore predefinito)
    • 1 = permette alle pagine di banchi differenti di essere attive
  • Bit 5 : EDO Pipeline Burst Rate
    0 = X-2-2-2-2-2-2-2 (valore predefinito), 1 = X-2-2-2-3-2-2-2
  • Bit 4 : Riservato (0 = valore predefinito)
  • Bit 3 : EDO Test Mode
    0 = Disattiva (valore predefinito), 1 = Attiva
  • Bit 2 : Burst Refresh
    0 = Disattiva (valore predefinito), 1 = Attiva (burst per 4 volte)
  • Bit 1-0 : Divisore della Frequenza del Sistema (Bit di Sola Lettura)
    • 00 = CPU/PCI fattore frequenza 2x (66 MHz)
    • 01 = CPU/PCI fattore frequenza 3x (100 MHz)
    • 10 = CPU/PCI fattore frequenza Auto-Rilevamento
    • 11 = CPU/PCI fattore frequenza 4x (133 MHz)

Offset 69 - Selezione del clock della DRAM

  • Bit 7-6 : Frequenza operativa della DRAM (Bit di Sola Lettura)
    • 00 = stessa frequenza della CPU (valore predefinito)
    • 01 = più veloce della CPU di 33 MHz
    • 10 = più lenta della CPU di 33 MHz
    • 11 = riservato
  • Bit 5 : Supporto DRAM da 256M bit
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 4 : DRAM Controller Command Register Output
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 3 : Fast DRAM Precharge for Different Bank
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 2 : DRAM in pagine da 4K (per DRAM da 64Mbit)
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 1 : Supporto DIMM Registrate
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 0 : Riservato (sempre legge 0)

Offset 6D - Forza di gestione della DRAM

  • Bit 7 : Disattiva l'output MAB
    • 0 = i banchi 0-3 usano MAA; i banchi 4-7 usano MAB (valore predefinito)
    • 1 = disattiva MAB (tutti i banchi di memoria usano MAA)
  • Bit 6-5 : Delay DRAM Read Latch (ritardo di lettura della DRAM)
    • 00 = Disattivato (valore predefinito)
    • 01 = 0,5 ns
    • 10 = 1,0 ns
    • 11 = 2,0 ns
  • Bit 4-0 : riservati (non programmare questi bit)

Offset 6E - Controllo ECC

  • Bit 7 : Selezione modalità ECC/EC
    • 0 = controllo e notifica ECC (valore predefinito)
    • 1 = controllo, notifica e correzione ECC
  • Bit 6 : riservato (sempre uguale a 0)
  • Bit 5 : Attiva il SERR# per errori Multi-Bit ECC/EC
    • 0 = Non esegue un assert SERR# per gli errori Multi-Bit (valore predefinito)
    • 1 = Esegue un assert SERR# per gli errori Multi-Bit
  • Bit 4 : Attiva il SERR# per errori Singolo-Bit ECC/EC
    • 0 = Non esegue un assert SERR# per gli errori Singolo-Bit (valore predefinito)
    • 1 = Esegue un assert SERR# per gli errori Singolo-Bit
  • Bit 3 : Attiva ECC/EC - Banco di memoria 7/6 (DIMM 3)
    • 0 = Disattiva (nessun ECC o EC per i banchi di memoria 7/6). Valore predefinito.
    • 1 = Attiva (ECC o EC per mezzo del bit 7)
  • Bit 2 : Attiva ECC/EC - Banco di memoria 5/4 (DIMM 2)
    • 0 = Disattiva (nessun ECC o EC per i banchi di memoria 5/4). Valore predefinito.
    • 1 = Attiva (ECC o EC per mezzo del bit 7)
  • Bit 1 : Attiva ECC/EC - Banco di memoria 3/2 (DIMM 1)
    • 0 = Disattiva (nessun ECC o EC per i banchi di memoria 3/2). Valore predefinito.
    • 1 = Attiva (ECC o EC per mezzo del bit 7)
  • Bit 0 : Attiva ECC/EC - Banco di memoria 1/0 (DIMM 0)
    • 0 = Disattiva (nessun ECC o EC per i banchi di memoria 1/0). Valore predefinito.
    • 1 = Attiva (ECC o EC per mezzo del bit 7)

Offset 70 - Controllo Buffer PCI

  • Bit 7 : CPU to PCI Post-Write
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 6 : PCI Master to DRAM Post-Write
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 5 : Riservato (legge sempre 0)
  • Bit 4 : PCI Master to DRAM Prefetch
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 3 : Enhance CPU-to-PCI Write
    0 = Operazione normale (valore predefinito), 1 = Riduce di 1 ciclo quando il buffer CPU-PCI diventa disponibile dopo essere stato esaurito (bus PCI e AGP)
  • Bit 2 : PCI Master Read Caching
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 1 : Delay Transaction
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 0 : Slave Device Stopped Idle Cycle Reduction
    0 = Operazione normale (valore predefinito), 1 = Riduce di 1 ciclo PCI inattivo quando viene fermato da un dispositivo slave (bus PCI e AGP)

Offset 71 - Controllo del Flusso CPU-PCI

  • Bit 7 : Dynamic Burst
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 6 : Byte Merge
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 5 : Riservato (legge sempre 0)
  • Bit 4 : PCI I/O Cycle Post Write
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 3 : PCI Burst
    0 = Disattivato (valore predefinito), 1 = Attivato (bit7=1 scavalcherà questa opzione)
  • Bit 2 : PCI Fast Back-to-Back Write
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 1 : Quick Frame Generation
    0 = Disattivato (valore predefinito), 1 = Attivato
  • Bit 0 : 1 Wait State PCI Cycles
    0 = Disattivato (valore predefinito), 1 = Attivato

Documentazione aggiuntiva sull'AGP

Offset A0 (Sola-Lettura)

  • Bit 7-0 : AGP ID (valore uguale sempre a 02, per indicare AGP)

Offset A1 (Sola-Lettura)

  • Bit 7-0 : Puntatore all'elemento successivo (sempre 0, poiché ultimo elemento)

Offset A2 (Sola-Lettura)

  • Bit 7-4 : Numero superiore che indica l'adeguamento alle specifiche AGP
  • Bit 3-0 : Numero inferiore che indica l'adeguamento alle specifiche AGP

Offset A4 (Sola-Lettura)

  • Bit 7-6 : Riservato
  • Bit 5 : Supporto per più di 4 GB
  • Bit 4 : Supporto Fast Writes
  • Bit 3 : Riservato
  • Bit 2 : Supporto AGP 4X
  • Bit 1 : Supporto AGP 2X
  • Bit 0 : Supporto AGP 1X

Offset A5 (Sola-Lettura)

  • Bit 7-2 : Riservato
  • Bit 1 : Supporto del SideBand Addressing
  • Bit 0 : Riservato

Offset A7 (Sola-Lettura)

  • Bit 7-0 : Massimo numero di richieste AGP gestibili dal dispositivo (sempre 07 poiché può gestirne massimo 8)

Offset A8

  • Bit 7-5 : Riservato
  • Bit 4 : Attivazione del Fast Writes
    0 = Disattiva, 1 = Attiva
  • Bit 3 : Riservato
  • Bit 2 : Attivazione modalità AGP 4X
    0 = Disattiva, 1 = Attiva
  • Bit 1 : Attivazione modalità AGP 2X
    0 = Disattiva, 1 = Attiva
  • Bit 0 : Attivazione modalità AGP 1X
    0 = Disattiva, 1 = Attiva

Offset A9

  • Bit 7-2 : Riservato
  • Bit 1 : Attivazione del SideBand Addressing
    0 = Disattiva, 1 = Attiva
  • Bit 0 : Attivazione dell'AGP
    0 = Disattiva, 1 = Attiva

 



Disclaimer

SourceNet non riconosce nessun tipo di garanzia per il contenuto di questa pagina (Come velocizzare un computer basato sul chipset VIA) pubblicata su questo sito (SourceNet Italia).
Tutto il contenuto di questa pagina è fornito "così come è", senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare ovvero quelle che escludano la violazione di diritti altrui. L'intero rischio derivante dall'uso o dalle prestazioni del contenuto di questa pagina rimane a carico dell'utente.


Copyright

Il contenuto di questa pagina situata (Come velocizzare un computer basato sul chipset VIA) in questo sito è di proprietà di Joseph Parrello.
Non viene concessa a nessuno la possibilità di poter copiare il contenuto di questa pagina senza l'autorizzazione di Joseph Parrello.

 

Torna ad inizio pagina

Hardware Tips&Tricks - Come recuperare le informazioni sul BIOS ] Hardware Tips&Tricks - Come recuperare le informazioni sulla RAM ] Hardware Tips&Tricks - Come usare il programma HyperTerminal ] Hardware Tips&Tricks - Diagnostica dei modem HCF/HSF Rockwell/Conexant ] Hardware Tips&Tricks - Modem HCF Rockwell/Conexant ] Hardware Tips&Tricks - Modem HSF Rockwell/Conexant ] Hardware Tips&Tricks - Personalizzare i file INF per i modem HCF/HSF Rockwell/Conexant ] [ Hardware Tips&Tricks - Velocizzare il chipset VIA ]

Ultimo aggiornamento : 17/01/2009.   
Home ] Su ] Novità ] FAQ ] Hardware ] Software ] Windows ] Sicurezza ] Linguaggi ] Cerca ] Contatta ] Guestbook ] Mappa ] Info su... ]

Copyright © 1997-2070, Joseph Parrello. Tutti i diritti sono riservati.

Siete il visitatore n. Contatore Sito
Bpath Contatore
dal 17 gennaio 2009.