View Single Post
Old 24-08-2008, 10:20   #1590
astaris
Senior Member
 
L'Avatar di astaris
 
Iscritto dal: May 2005
Città: napoli
Messaggi: 1335
Modifica e flash del bios della 4870 x2

Indice guide

Risoluzione "bug alta temperatura" e diminuzione della potenza in idle della 4870 x2

Controllo della ventola della 4870 X2 con Rivatuner 2.11

Modifica e flash del bios della 4870 x2


Modifica e flash del bios della 4870 x2

1) Programmi necessari
Abbiamo bisogno dei seguenti programmi:
Radeon Bios Editor 1.14
ATIFlash 3.60
GPU-Z 0.2.7

2) Acquisizione dei bios originali
La 4870 x2 monta due bios, uno per la master gpu, uno per la slave. Per acquisire i bios installati sulla scheda, e' consigliabile utilizzare GPU-Z 0.2.7.
Lanciate il programma e, nella tab "Graphics Card", cliccate sul piccolo pulsante che compare vicino alla riga "Bios Version". Cliccate sul pulsante e salvate il primo bios. Ora selezionate la seconda gpu dal menu a tendina inferiore e salvate il secondo bios. Entrambi i bios dovrebbero essere di 128 KB.

3) Operazioni preliminari
Ora dobbiamo capire quale dei due bios è quello master e quale quello slave. E' molto semplice: aprite uno dei bios salvati con RBE (Radeon Bios Editor) e date un'occhiata alla riga "Hardware specs string"...



In questo esempio ho aperto il master bios. A questo punto vi consiglio di rinominare i due files master.bin e slave.bin.
Ora per ogni bios è necessario segnare su un foglio di carta il checksum. Il checksum ce lo dice sempre RBE. Nello screen postato il checksum della master è 0X146F (due bytes).
A questo punto abbiamo due files (master.bin e slave.bin) e per ogni file abbiamo segnato su un foglio di carta il checksum del bios (il checksum della master e il checksum dello slave).

4) Modifica del bios - Ottimizzazione del profilo della fan
Aprite il master.bin con RBE e cliccate su "Fan Settings". Ecco uno scrren:



Sulla destra RBE ci mostra il diagramma temperatura-velocità (temperatura sulle ascisse e velocità della ventola in percentuale sulle ordinate).
Possiamo scegliere tra un profilo lineare (selezionando automatic mode) e un profilo costante (selezionando manual mode). Ovviamente è meglio implementare un profilo lineare, ottimizzando quello di default.
Vediamo quali sono i parametri che caratterizzano il profilo lineare.
Anzitutto questa è la relazione che lega il duty-cycle della fan (il duty-cycle è la percentuale della velocità a cui ruota la fan con riferimento alla velocità massima) alla temperatura:
Duty_Cycle=Duty_Cycle_min+(100-Duty_Cycle_min)*(T-T_min)/(T_max-T_min)
in cui T è la temperatura della GPU.
Da questa relazione vediamo che la velocità della ventola aumenta linermente con la temperatura della GPU.
RBE ci fa impostare T_min, Duty_Cycle_min e Tmax.
T-min è la temperatura alla quale il duty-cycle della fan è Duty_Cycle_min.
Se la temperatura è inferiore di T_min, il duty cycle della ventola continua ad essere Duty_Cycle_min.
Quindi Duty_Cycle_min corrisponde alla velocità minima della ventola.
Nello screenshot postato si vede che Duty_Cycle_min è 27 %, mentre T_min è 70 ° C. Questo significa che fino a quando la temperatura della GPU non supera i 70 ° C, la velocità della ventola rimane costante e pari al 27 % della velocità massima. Da notare che questi sono i valori di default del bios della Sapphire. Ovviamente li possiamo ottimizzare.
Altro parametro che RBE ci fa cambiare è Tmax, che corrisponde allla temperatura alla quale il duty-cycle è il 100 %, ovvero la ventola ruota alla velocità massima.
Quindi riassumendo il profilo della ventola è fissato da Duty_Cycle_min,T_min e T_max.
Come si scelgono questi valori? Beh qui dipende dai "gusto" personali. Anzitutto è opportuno che Duty_Cycle_min e T_min si scelgano in maniera tale che in idle la temperatura T sia minore di T_min, infatti l'aumento di velocità dovrebbe intervenire solo quando la scheda è sotto carico. Basta che Duty_Cycle_min e T_min siano sufficeintemente alti. La scelta concreta di Duty_Cycle_min e T_min andrebbe poi effettuata in funzione della temperatura che desiderate in idle e della rumorosità che tollerate in idle, in funzione delle caratteristiche termiche del vostro sistema. Dal mio punto di vista il Duty_Cycle_min di default è un pò troppo basso, mentre T_min di default può andar bene. Io userei Duty_Cycle_min = 40 e lascerei invariato T_min (70).
In ultimo va impostato Tmax, la temperatura a cui la velocità della ventola è massima. Questo parametro influenzerà la temperatura a cui si porterà la GPU quando giocherete. Anche qui la scelta è personale. La domanda da farsi è: qual'e' la temperatura che la mia gpu non deve superare? Ovviamente la risposta deve essere realistica...
Per default Tmax è 114 ° C, che secondo me è eccessivo...personalmente imposterei Tmax a 95 - 100 ° C.
Ok, rimane da spiegare cos'e' il dynamic mode. In questa modalità il controller della ventola cambia dinamicamente Tmin in maniera tale da fare in modo che
la temperatura non sia superiore della target temperature (95 ° C di default), cercando di ridurre al minimo la velocità della ventola. Quindi il profilo lineare viene cambiato continuamente. Ovvio che se vogliamo che la ventola segua il nostro profilo di velocità, dobbiamo disabilitare il Dynamic mode.
Altri parametri che possiamo cambiare sono PWM ramp e Hysteresis.
PWM ramp fa in modo che la velocità della ventola non vari troppo bruscamente. Aumentando i secondi di PWM ramp, facciamo in modo che la velcoità vari sempre più dolcemente. Il valore di default è 3 secondi. Questo significa che, ammesso che la velocità della ventola aumenti sempre, sono necessari 3 secondi per passare dalla velocità nulla alla velocità massima.
Questo valore non andrebbe toccato, a meno che non avvertite fastidio dovuto a bruschi cambi di velocità della ventola. In questo caso il valore va aumentato.
L'Hysteresis fa in modo che la ventola non passi da velocità nulla alla velocità relativa a duty-min continuamente se la temperatura è prossima e inferiore a Tmin. Cambiate questo valore (aumentandolo) se notate questo problema. In definitiva inserendo i valori suggeriti, ecco cosa otteniamo:



A questo punto passiamo alla modifica dei clock...

5) Modifica del bios - Cambiamento dei clock
Dopo che abbiamo cambiato il profilo di velocità, clikkiamo nella tab "Clock settings" (stiamo ancora modificando il bios della master).
Ecco come si presenta la tab nel caso della x2:





Come vediamo per la x2 ci sono 16 clocks info, da 0 a 15. Ogni clock info definisce clock della gpu, clock della memoria e tensione della gpu.
Dobbiamo capire anzitutto come sono raggruppate queste clock info per sapere quali dobbiamo cambiare.
Nella gestione powerplay delle ultime ati lo stato della scheda è definito dai drivers che pongono la GPU in uno stato energetico che possiamo chiamare stato di prestazione.
Quando la scheda è alimentata ( i drivers devono ancora essere caricati dal sistema operativo) la scheda si pone automaticamente nello stato di prestazione di boot, a cui corrisponde il clock info 0. All'avvio di windows, i drivers pongono la gpu in un altro stato di prestazione. La cosa interessante è che gli altri stati di prestazione della scheda non raccolgono solo un clock info (come lo stato di boot), ma 3 clock info. Poichè ci sono 16 clock info, è chiaro allora che, oltre allo stato di boot, ogni gpu della x2 è dotata di altri 5 stati di prestazione. Questi stati di prestazione sono etichettati da RBE nella piccola finestra in basso dello screen postato come Boot (clock info 0), power savings for notebooks (clock info 1,2 e 3), UVD (clock info 4,5 e 6), power savings for notebooks (clock info 7,8 e 9), power savings for notebooks (clock info 10,11 e 12), Thermal -GPU too hot (clock info 13,14 e 15).
Come vedete alcuni stati hanno lo stesso nome semplicemente per il fatto che neanche RBE è in grado di differenziarli sulla base del bios. Ma questo non è un problema, perchè dai valori dei clock possiamo capire dove dobbiamo agire.
Cerchiamo però prima di capire come funziona il power play. I drivers sulla base del tipo di task che sta eseguendo la GPU scelgono uno stato di prestazione. Tuttavia uno stato di prestazione è definito da tre clocks info, quindi chi sceglie tra questi clocks info?....Semplice, la GPU stessa in funzione del carico della GPU. Ad esempio supponiamo che stiamo guardando un blue-ray utilizzando le capacità di decodifica della gpu. I drivers pongono la GPU nello stato di prestazione UVD, a cui corrispondono clocks info 4,5 e 6. Inizialmente la GPU si troverà in 4, a cui dovrebbero corrispondere i clock più bassi. Se la decodifica di una scena fa salire il carico della gpu oltre una certa soglia, allora la gpu da sola sceglie il clock info 5 e così via.
Tuttavia dal bios della x2 possiamo notare una cosa: in ogni stato di prestazione i tre clocks ad esso associati sono sempre uguali! Questo significa che questa funzionalità del power play è stata disabilitata per le x2, mentre resta attiva sulle 4870 e 4850: questo è un vantaggio per quello che andremo a dire...
Ora gli stati di prestazione che possono esistere sono essenzialmente i seguenti:
a) GPU in 2d (la scheda si trova in questo stato anche se c'e' un applicazione in 3d windowed)
b) GPU in 3d (un applicazione 3d in fullscreen sta girando)
c) GPU in UVD (un programma che utilizza l'UVD sta girando)
d) GPU in fase di throttling o disabilitata (abbiamo superato la temperatura limite ammissibile oppure una delle gpu è stata disattivata)
Tuttavia sul bios editor (oltre allo stato di boot) vediamo 5 stati.
Il c) e d) corrispondono ovviamente algi stati 2 e 5 di RBE. E' facile poi scovare lo stato b). Infatti l'unico stato che ha i clocks in 3d su tutte e tre le clocks info è lo stato 4 che vediamo in RBE. Quindi per esclusione il 2d corrisponde o allo stato 1 o allo stato 3. Quale dei due? Beh, poco ci interessa, noi li modificheremo entrambi
Quindi in conclusione se volgliamo modificare i clocks in 3d, dobbiamo modificare lo stato 4 e quindi le clocks info 10,11 e 12 (inserendo gli stessi valori per ogni clocks info).
Se vogliamo modificare i clocks in 2d, dobbiamo modificare gli stati 1 e 3, e quindi le clocks info 1,2,3,7,8 e 9 (inserendo anche qui per ogni clocks info gli stessi valori).
Ora vi consiglio di modificare solo i clocks in 2d, perchè per i clocks in 3d è possibile usare l'overdrive. Inoltre se inserite un valore eccessivo per i clocks in 3d, potete rendere la scheda inutilizzabile. In ogni caso non potete inserire clocks in 3d superiori ai limiti dell'overdrive, a meno di non cambiare i limiti dell'overdrive sempre in RBE, con il rischio però di avere problemi con l'installazione dei nuovi drivers ati. In ogni caso non mi occuperò di questo aspetto in questa guida.
Allora, lo scopo qui è abbassare i clocks in 2d per diminuire il consumo in idle.
Valori che suggerisco sono 200 per la gpu e 300 per la memoria. Notate che è soprattutto il clock della memoria a influire sui consumi in idle.
Quindi dopo aver fatto gli opportuni cambiamenti, avremo la seguente situazione:



Se volete, potete cambiare anche le tensioni di alimentazione della gpu. Gli unici valori possibili di tensione per la x2 sono:
1.00 V
1.05 V
1.15 V
1.25 V
E' unutile che provare ad inserire altri valori di tensione: non saranno applicati.
Abbiamo finito con il bios della master. Salvate il bios con un altro nome (ad esempio master_m.bin), caricate il bios della slave, apportate solo i cambiamenti del clock (qui non c'e' la possibilità di modificare il profilo della ventola che è controllata dalla master), salvate il file con un altro nome (ad esempio slave_m.bin) e il gioco è fatto, siamo pronti a flashare.

6) Flash del bios

Ok, ricapitolando, abbiamo 4 files (master.bin e slave.bin, che sono i bios originali, master_m.bin e slave_m.bin che sono i bios modificati) e su un foglio di carta abbiamo segnato i checksum dei bios originali.
Possiamo flashare i bios sotto dos (utilizzando ATIFlash) oppure sotto Windows (utilizzando WinFlash). Io suggerisco vivamente di flashare sotto dos per due motivi:
1) Sotto Windows se il sistema operativo si inceppa sono ca**i...
2) Attualemte WinFlash non supporta la x2.
Inoltre è raccomandabile riportare il sistema in condizioni di default prima di flashare in presenza di overclock.
Ecco la guida per utilizzare Atiflash. Abbiamo bisogno di un dischetto di avvio DOS (è anche possibile utilizzare una penna usb con l'immagine del del floppy installata nella penna oppure un cd-rom con l'immagine opporunamente convertita in iso e masterizzata) Sul dischetto dobbiamo inserire Atiflash e i due files del bios moddati. Partiamo quindi in dos (ricordatevi di abilitare correttamente il boot device dal bios della mobo) e procediamo...
Per prima cosa è fondamentale individuare le due gpu della x2 e capire quale è la master e quale la slave. Ecco come si fa.
Dal prompt digitare:

ATIFlash -i

Atiflash mosterà tutti gli adattatori video installati. Se abbiamo solo la x2 nel pc, allora gli adattatori disponibili sarano l'adattatore 0 e l'adattatore 1.
Dobbiamo capire chi tra 0 e 1 e il master e lo slave.
Digitiamo al prompt:

ATIFlash -cb 0

ATIflash ci mostrerà il bios checksum dell'adattatore 0. Confrontiamo questo checksum con quello segnato sul foglio di carta e voilà, abbiamo capito se 0 è master o slave.

Per sicurezza digitiamo

ATIFlash -cb 1

Questo checksum deve ovviamente corrispondere all'altro checsum che abbiamo segnato sul foglietto di carta.
Nel caso abbiamo tre adattatori dobbiamo digitare anche:

ATIFlash -cb 2

e così via se abbiamo più adattatori fino ad associare correttamente il numero dell'adattatore alla master e alla slave.
Ok, supponiamo che lo 0 è la master, e l'1 è la slave (E' SOLO UN ESEMPIO...).
Per flashare il bios della master digitiamo:

ATIFlash -p 0 master_m.bin

Al termine del flash ATIFlash chiederà di riavviare....NON RIAVVIATE.
Non rimane che flashare la slave:

ATIFlash -p 1 slave_m.bin

A questo punto, a flash terminato, è possibile riavviare.

Ok, questa è la guida, e mi raccomando se siete anche insicuri allo 0.0001 % di qualche passaggio, non procedete al flash.
Inoltre vi ricordo che il flash del bios è comunque un procedimento non sicuro al 100 %, un UPS ad esempio è raccomandabile.
Se qualcosa andasse storto, non disperate,il bios di una scheda video si può sempre recuperare bootando il pc con una sceda video pci.
__________________
Mobo: Giga UD4H - Procio: i7 4770K 4.5 Ghz@1.25 with Noctua 12SE in Push-Pull - Ram: 8X2 GB G.Skill 1600 TridentX - Video: MSI 680GTX - Audio: Creative Z - PSU: Corsair HX1000 - HDs: VelociRaptor 300 + Samsung 840 PRO 256 - Rheobus: T-Balancer Fan Controller - Case: TT Armor Plus - Optical: Blu-RAY RW sata - Remote: TT Medialab
SetVoltage 1.4-Guide x 4870 X2-I quadri della mia girl!

Ultima modifica di astaris : 19-10-2008 alle 12:11.
astaris è offline   Rispondi citando il messaggio o parte di esso