View Single Post
Old 06-04-2018, 23:30   #3
Spitfire84
Senior Member
 
L'Avatar di Spitfire84
 
Iscritto dal: Mar 2005
Città: Mareno di Piave (TV)
Messaggi: 6066
NOTA IMPORTANTE: OVERCLOCK CON PBO2 & CURVE OPTIMIZER (RYZEN 5x00 & 7x00)


Precision Boost Overdrive 2 è, come fa intuire il nome, un'evoluzione di Precision Boost Overdrive (PBO), funzionalità di overclock automatico che AMD ha introdotto con i processori Ryzen Threadripper di seconda generazione e poi offerto anche sui Ryzen 3000. La prima generazione della tecnologia fu pensata per incrementare le prestazioni con i carichi multi-thread, aumentando l'erogazione energetica a socket e VRM, andando sostanzialmente a "sovrascrivere" la frequenza di boost massima per portarla a un nuovo livello.
PBO non era quindi efficace i carichi single-thread, oggetto di grande attenzione con le CPU Ryzen 5000 Zen 3. Precision Boost Overdrive 2 (PBO2) corregge questo comportamento, e non solo, perché introduce anche l'undervolt, ossia il funzionamento della CPU con una tensione inferiore a quella standard.


PBO2 incrementa quindi le prestazioni single-thread, conservando al tempo stesso i miglioramenti garantiti in multi-thread e anzi, garantendo persino ulteriori prestazioni in tale scenario. PBO2 è un algoritmo che funziona solo sulle CPU Ryzen 5000, estraendo ancora più potenza dalle già ottime capacità single-thread di queste CPU.


È tuttavia importante sapere che al pari dell'overclock manuale, i miglioramenti prestazionali sono variabili, perché ogni chip ha una qualità "del silicio" differente. Tutto si basa infatti su una nuova tecnologia automatica chiamata "Curve Optimizer" che regola in modo opportunistico la tensione in base alle condizioni operative, andando a operare un undervolt sulla base delle capacità del singolo chip e della temperatura (legata, ovviamente, al sistema di raffreddamento).


Come abbiamo visto nel corso degli anni, ci sono scenari e situazioni in cui la riduzione della tensione operativa di funzionamento rispetto allo standard consente alla CPU di funzionare senza problemi, e anzi per effetto delle minori temperature di garantire maggiori prestazioni, in quanto capace di operare a una frequenza più alta. Ed è proprio questo che fa Precision Boost Overdrive 2 e più in particolare Curve Optimizer.


Il rinnovato meccanismo agisce a blocchi (AMD li chiama count) del valore all'incirca di 3mV-5mV ciascuno. Questo intervallo, secondo l'azienda, porta ad avere un minore undervolt quando il carico è maggiore, e una riduzione di tensione maggiore quando il carico è inferiore.

Gli utenti hanno controllo sul "numero di blocchi", con la possibilità di impostarne fino a 30, quindi un intervallo di undervolt di 90-150 mV. Inoltre, Curve Optimizer può essere usato sia su un singolo core che su tutti i core del CCX. "L'algoritmo è adattativo, sa quando rimuovere tensione e quando non farlo", ci ha spiegato AMD, ricordando che tutte le variabili coinvolte sono monitorate una volta ogni millisecondo grazie ai sensori che comunicano tramite l'interconnessione veloce Infinity Fabric.

PBO2 con Curve Optimizer arriverà anche in Ryzen Master all'inizio del prossimo anno, ma c'è un però: attivarlo invalida la garanzia, ma la stessa cosa si può dirla per l'overclock in generale e per il PBO di precedente generazione. Bisogna comunque considerare che trattandosi di una funzionalità automatica, difficilmente imposta tensioni o altri parametri pericolosi per la vita della CPU.


PBO2 + CURVE OPTIMIZER...STEP BY STEP

Come anticipato precedentemente, PBO2 + CO interviene andando a modificare la curva f-V al fine di ridurre la tensione sul core garantendogli maggior margine di potenza per incrementare la frequenza. Ma come si interviene per garantire questo maggior margine in frequenza?

I parametri coinvolti sono i seguenti:
  • PBO Limits (PPT, TDC, EDC):
    • Package Power Tracking (“PPT”): il valore del PPT rappresenta il massimo consumo di potenza (Watt) consentito attraverso il socket;
      Thermal Design Current (“TDC”): il massimo valore di corrente (Ampere) che può essere erogato dalla sezione di alimentazione della scheda madre in scenari applicativi limitati dalla temperatura (quindi in caso di carico sostenuto sulla CPU dove questa si autolimita in freqeunza e tensione per rispettare i limiti di temperatura);
      Electrical Design Current (“EDC”): il massimo valore di corrente (Ampere) che può essere erogato dalla sezione di alimentazione della scheda madre in scenari applicativi di picco, ovvero di carichi elevati applicati per brevi periodi di tempo.
  • Precision Boost Overdrive Scalar;
  • Max CPU Boost Clock Override: questo parametro identifica l'aumento di frequenza che la CPU può raggiungere rispetto al valore massimo di fabbrica (es.: il 5800x ha un valore di frequenza massima di fabbrica settato a 4850MHz, i MHz impostati su "Max CPU Boost Clock Override" si sommano a tale valore). N.B.: l'aumento di questo valore in frequenza comporterà un aumento - automatico - delle tensioni applicate ai vari core necessario per stabilizzarli a una frequenza superiore rispetto a default;
  • Curve Optimizer, che può essere impostato su All Core o Custom core/Per Core: nel primo caso la magnitude (da 0 a 30) e il segno (negativo o positivo) vengono impostati uguali su tutti i core, nel secondo caso è consentito assegnare un singolo valore ad ogni core.

I PBO Limits definiscono i limiti di potenza e assorbimento di corrente (a pieno carico e di picco) pertanto un loro aumento consente alla CPU di boostare con limiti di potenza più alti e a rigor di logica questo garantisce maggiori prestazioni. Questo è però vero nel momento in cui il sistema di dissipazione è in grado di dissipare il delta di potenza aggiuntivo; se il dissipatore non è in grado di rimuovere questo surplus di potenza ne conseguiranno temperature più alte e a questo punto interverranno i controlli integrati nella CPU a limitare la frequenza per ridurre le temperature (e conseguentemente le prestazioni).
In merito ai PBO Limits va detto che riducendone i valori si ottiene un effetto molto simile all'undervolting e che possiamo chiamare underpowering: infatti con limiti di consumi inferiori la CPU modula frequenza e tensione per operare con consumi inferiori rispetto a default ottenendo in media un penalty in prestazioni, ma al tempo stesso una riduzione della temperatura di esercizio. N.B.: questa modalità non implica però una riduzione del Vcore rispetto alle condizioni di fabbrica in quanto in caso di carichi leggeri, se la CPU rimane nei limiti PBO impostati, la frequenza e la tensione potranno essere comunque spinte al massimo fino al raggiungimento dei limiti di PBO.

I PBO Limits delle CPU Ryzen 5000 a default sono i seguenti:
  • 5600X:
    • PPT: 76 W
    • TDC: 60 A
    • EDC: 90 A
  • 5800X:
    • PPT: 142 W
    • TDC: 95 A
    • EDC: 140 A
  • 5900X:
    • PPT: 142 W
    • TDC: 95 A
    • EDC: 140 A
  • 5950X:
    • PPT: 142 W
    • TDC: 95 W
    • EDC: 140 W

Il Precision Boost Overdrive Scalar è un parametro che identifica il tempo nel quale la CPU tenta di boostare prima di intervenire tagliando le frequenze (throttling). I valori variano da 1x (tempo minimo, impostato a default) a 10x (tempo massimo). Consiglio di lasciare il parametro a default così da consentire alla CPU di rispettare il comportamento di fabbrica. Inoltre valori superiori possono accorciare la vita della CPU in quanto la si forza a funzionare fuori specifica per un tempo superiore aumentandone il degrado.

Il Max CPU Boost Clock Override identifica la massima frequenza che la CPU può raggiungere. A step di passi 50 MHz, può variare da 0 a 200 MHz.

IMPOSTAZIONI DI BASE CONSIGLIATE:

PBO Limits (PPT, TDC, EDC): DISABLED. Consiglio di non modificare i valori a default di PPT, TDC ed EDC (disabilitandoli nel bios vengono settati con i valori di default) e di aumentarli solo se si dispone di sistemi di dissipazione di gamma alta.
Precision Boost Overdrive Scalar: DEFAULT/AUTO/1x
Max CPU Boost Clock Override: a seconda del risultato che si vuole ottenere si può procedere come segue:
  • Ottimizzazione delle tensioni/consumi e leggero aumento delle prestazioni: impostare a 0 MHz;
  • Aumento delle prestazioni e delle tensioni/consumi: impostare un valore tra 100-150 MHz.
N.B.: valori troppo elevati non vengono raggiunti e non portano a miglioramenti in oprestazioni, ma possono aumentare leggermente i consumi.
Curve Optimizer...vediamo ora come procedere:

iniziamo con valori conservativi, pertanto impostiamo il Curve Optimizer su "All Core" (così da applicare il valore a tutti i core disponibili), segno Negativo (-) e valore 5. In questo modo tutti i core saranno impostati con un Curve Optimizer a -5 e potremo iniziare a testare la stabilità del sistema che, come già detto, andrà verificata principalmente con carichi single core e leggeri così da consentire ai core di boostare il più possibile.
Per testare il Curve Optimizer consiglio di procedere attraverso Core Cycler, un semplice tool che consente di ciclare carichi leggeri sui vari core presenti e che può essere configurato in modo molto semplice attraverso il file di configurazione config.default.ini.

Core Cycler.


Ma come configuriamo Core Cycler? Consiglio di procedere con 3 gradi di carico: Huge -> Heavy -> Moderate

Il file config.default.ini con cui configurare Core Cycler.


N.B.: il test viene eseguito usando a default le librerie SSE, ma si possono scegliere anche un carico che sfrutta le AVX e le AVX2. Quest'ultime 2 sono generalmente più pesanti da eseguire, pertanto potrebbero non evidenziare instabilità su carichi leggeri, obiettivo primario della nostra ricerca.

Pertanto impostiamo il file config.default.ini su Huge, salviamo ed eseguiamo Core Cycler lanciando il file Run CoreCycler.bat. Consiglio di testare per almeno 3 ore ed in caso di assenza di errori, interrompere Core Cycler (utilizzando la combinazione "ctrl" + "c" restituisce un recap del risultato complessivo e chiude Prime95), aprire il file config.default.ini, settare il carico su Heavy e riavviare Core Cycler per altre 3 ore di test. Nuovamente, al completamento del test senza errori, modificare nuovamente il file config.default.ini su Moderate ed eseguire il test per altre 3 ore.
A questo punto, se questi 3 step di test vengono completati:
  • con errori, Core Cycler ci darà evidenza del core logico che ha generato l'errore (un altro modo per identificare il core "sfortunato" consiste nell'identificare il WHEA error nel registro eventi di Windows e la voce "ID APIC processore" identifica il core logico crashato - N.B.: Core fisico 0 = Core logico 0 e 1, Core fisico 1 = Core logico 2 e 3, ... -). Sul core fisico associato sarà quindi necessario intervenire nel bios per ridurre il valore di CO applicato a tale core. Pertanto impostiamo Curve Optimizer su "Per Core" ed andremo ad associare al core fisico crashato un valore di CO inferiore, mentre agli altri core lasceremo il valore precedentemente in test. Salviamo e rieseguiamo i 3 step di stress test precedenti; se completati:
    • con errori, allora Core Cycler avrà identificato un altro core su cui intervenire riducendo il valore CO. Pertanto rieseguiamo l'intervento nel BIOS precedentemente descritto;
    • senza errori, procediamo riducendo ulteriormente il CO di ulteriori -5 sui core che non avevano evidenziato l'errore e ri-effettuiamo i 3 step di Core Optimizer. L'iter proseguirà poi ricorsivamente fino ad identificare i valori di CO ottimali e stabili su tutti i core della CPU.
  • senza errori potremo intervenire nel bios riducendo il valore di CU a -10, salviamo e riavviamo. Procediamo quindi con i 3 step di stress test di Curve Optimizer fino ad analizzare ricorsivamente tutti i core identificandone i valori di CO ottimali e stabili.

Una volta identificati i valori di CO su tutti i core, completeremo l'iter di test con un'ora di OCCT in modalità Small Data Set AVX2 per attestare la (quasi certa) stabilità con carichi pesanti multithread.

N.B.: il core Gold e Silver delle CPU Ryzen 5000, facilmente identificabili tramite Ryzen Master, solitamente accettano valori negativi inferiori rispetto ai core non selezionati (es.: core Gold -> -20, core Silver -> -20, altri core -> -25). La causa non è chiara, ma potrebbe essere riconducibile al fatto che i core Gold e Silver sono selezionati e quindi godono di una curva f-V già ottimizzata e quindi meno migliorabile rispetto agli altri core.


Core Gold (stella gialla) e core Silver (cerchio grigio).


ADDENDUM - Info su "Registro eventi di Windows"


Come consigliato sopra, qualora in fase di stress test venisse identificato un core "sfortunato", il core incriminato può essere identificato tramite il WHEA error registrato nel registro eventi di Windows; la voce "ID APIC processore" identifica infatti il core logico crashato - N.B.: Core fisico 0 = Core logico 0 e 1, Core fisico 1 = Core logico 2 e 3, ... -

Va però precisato che il WHEA Error deve essere il numero 18 affinchè sia associato ad un errore sui core. Qualora il WHEA Error riportato fosse il numero 19, allora la causa è da ricercare nell'Infinity Fabric (frequenza troppo alta, Vsoc insufficiente, ...).
__________________
AMD Ryzen R7 5800X + Arctic Freezer II 280mm, Asus ROG B550I Gaming, 2x16GB Crucial BallistiX 3200@3733MHz, AMD Radeon 6800, Sabrent Rocket 4.0 1TB + Crucial MX500 500GB + WD Blue 2TB 2,5", Corsair SF750, SSupd Meshlicious, LG 27GL850 - mITX - Trattative - [GUIDA] all'overclock dell'AMD K10 - [GUIDA] all'overclock di AMD Ryzen

Ultima modifica di Spitfire84 : 05-10-2022 alle 14:54.
Spitfire84 è offline   Rispondi citando il messaggio o parte di esso