Sono passati due mesi esatti dal debutto dei processori Ryzen 3000 di AMD. Sono processori che ci hanno impressionato per il rapporto tra prezzo e prestazioni, ma ciò non significa che non possano soffrire di qualche “peccato di gioventù”.
Nei giorni scorsi vi abbiamo riportato i risultati del sondaggio svolto dal celebre overclocker Der8auer, da cui è emerso che molti acquirenti dei nuovi processori non registrano le frequenze di boost indicate da AMD.
L’azienda ha prontamente risposto, affermando che sta lavorando a un aggiornamento del firmware per le motherboard che sistemerà la situazione e il 10 settembre farà luce sui retroscena di questo comportamento.
Come spesso accade, specie quando la situazione vede due forze praticamente appaiate, Intel ha scelto di attaccare AMD su un possibile punto di debolezza. All’IFA di Berlino l’azienda di Santa Clara ha mostrato alcune slide alla stampa mettendo il classico dito nella piaga in modo da portare acqua al proprio mulino.
Intel è andata oltre il sondaggio di Der8auer, citando un report in cui si afferma che AMD avrebbe deliberatamente ridotto le frequenze dei propri chip per non compromettere l’affidabilità.
Le voci di corridoio lasciano sempre adito a interpretazioni, per cui proviamo a indagare con qualche test su questo argomento certamente spinoso e molto difficile da affrontare.
Ryzen 3000 e preoccupazioni per la longevità
I processori Ryzen 3000 integrano un mix di core più veloci e lenti, ovvero non tutti i core sono in grado di raggiungere le frequenze di boost in single-thread indicate da AMD. Inoltre, è bene sapere che lo scheduler di Windows 10 è consapevole delle caratteristiche dei nuovi Ryzen, e perciò indirizza i carichi di lavoro più leggeri sui core più veloci.
Qualche settimana fa Shamino, overclocker di fama mondiale e ingegnere di Asus, ha scritto sul forum di Overclock.net che AMD ha ridotto le frequenze di boost delle nuove CPU per mantenere l’affidabilità sul lungo termine.
“Per ogni nuovo BIOS ricevuto ho richiesto informazioni sul tema del boost. Non ho provato la più recente versione di AGESA che cambia lo stato di boost della versione 1003 e nemmeno la 1004. Se verrò a conoscenza di cambiamenti, ve lo dirò. Sono stati un po’ troppo aggressivi con il boost in precedenza, l’attuale comportamento è più in linea con le loro aspettative sulla stabilità sul lungo termine e non ho sentito di cambiamenti a questo riguardo, anche se ho appreso di una versione più personalizzabile in futuro”.
Shamino ha fatto questa affermazione usando il suo account privato sul forum, quindi non possiamo ritenerlo un commento ufficiale di un’azienda. Facciamo un atto di fede e prendiamola come una semplice opinione, anche se è un commento interessante alla luce di un precedente intervento di The Stilt, un noto recensore hardware e membro della comunità che lavora per un produttore di motherboard non meglio noto.
[…] I limiti originali per i modelli di Ryzen 3000 erano:- 3600 = 4100MHz (80-95°C) / 4200MHz (< 80°C)
- 3600X = 4200MHz (80-95°C) / 4400MHz (< 80°C)
- 3700X = 4200MHz (80-95°C) / 4400MHz (< 80°C)
- 3800X = 4300MHz (80-95°C) / 4550MHz (< 80°C)
- 3900X = 4400MHz (80-95°C) / 4650MHz (< 80°C)
Da allora sembra che il limite HighTemperature sia stato ulteriormente ridotto a 75°C (da 80°C). Le nuove SMU hanno inoltre introdotto il limite "MiddleTemperature", che viene disabilitato con il PBO attivo.
HWInfo è in grado di mostrare questi limiti.
The Stilt ha scritto che AMD ha ridotto la soglia di temperatura per regolare l’attività di boost da 80°C a 75°C, valore che regola il comportamento in boost quando il chip raggiunge temperature più elevate. Questa è una distinzione importante in relazione all’invecchiamento del chip, e faremo del nostro meglio per rendere il concetto più semplice possibile.
Come direbbe un saggio, “fate passare abbastanza tempo e persino le montagne più grandi si eroderanno”. Se trasportiamo questo concetto alle CPU con miliardi di transistor in scala nanometrica che si accendono e spengono rapidamente miliardi di cicli al secondo - a 5 GHz i transistor commutano a 5 miliardi di cicli al secondo -, è facile comprendere che è possibile che anche questi si “usurino”, anche in condizioni operative ottimali. Quanto scriviamo riguarda anche le interconnessioni - fili - che collegano i transistor.
Alcuni fattori aumentano il tasso di usura e innescano un’elettromigrazione (un processo in cui gli elettroni “scivolano” lungo i percorsi elettrici) più veloce, come una corrente più alta e la densità termica. Dato che aumentare la frequenza richiede di pompare più energia lungo il chip, generando così più calore, le frequenze più alte solitamente portano a un invecchiamento più rapido, e perciò a una durata di vita minore.
Questi problemi diventano più pronunciati con componenti di dimensioni inferiori, ad esempio i transistor dei moderni processori – 7 nanometri per AMD e 10 nanometri per Intel – perché il chip spinge più corrente lungo i transistor e le interconnessioni più piccole. Di conseguenza, come il latte nel vostro frigorifero, anche il vostro chip ha una data di scadenza. È compito degli ingegneri che lavorano sui semiconduttori predire tale data e controllarla con una certa precisione, il che è complicato dato le caratteristiche uniche di ogni chip di silicio.
Dato che frequenze e temperature maggiori aumentano il tasso di usura dei transistor e delle strutture circostanti, intervenire sulle frequenze è uno dei primi interventi che gli ingegneri fanno per controllare la durata di vita del vostro chip. In breve ridurre la frequenza può rallentare il processo d’invecchiamento, aumentando la longevità.
Questo significa che le ipotesi di Shamino sul fatto che le riduzioni di frequenza da parte di AMD nelle versioni di BIOS più recenti siano da ricollegarsi alla longevità sono puramente logiche. Allo stesso modo l’affermazione di The Stilt sul fatto che le soglie di temperatura sono state cambiate per ridurre la frequenza a temperature più elevate è importante, in quanto ridurrebbe anche il tasso di usare durante i momenti in cui il processore è più vulnerabile all'invecchiamento - maggiore consumo e calore.
Senza però una spiegazione da parte di AMD non sappiamo se quello sia il fattore principale legato ai cambiamenti, una sfaccettatura di un’equazione molto più complicata o se non abbia nulla a che fare con la situazione.
AMD afferma di aver identificato un problema nel firmware inviato ai produttori di motherboard, e in attesa di spiegazioni, abbiamo deciso di fare qualche test per identificare un cambiamento nelle soglie di temperatura nelle varie revisioni di firmware distribuite finora. Non possiamo verificare l’impatto sull’affidabilità, in quanto le CPU non hanno un indicatore di usura come gli SSD. Il punto di partenza più logico è però quello di determinare se ci sono stati cambiamenti intenzionali al comportamento in stato di boost.
L'impatto delle versioni di BIOS e SMU
Questi test si limitano a comprendere se c’è stato un cambiamento degno di nota alle soglie della temperatura di boost delle CPU Ryzen.
Il primo passo è vedere se possiamo osservare cambiamenti alle impostazioni di temperatura. Per farlo, abbiamo usato HWInfo per controllare l’"High Temperature Clock Limit" della CPU. Come possiamo vedere nel grafico, questa soglia è indicata a 80 °C e non 75 °C. Abbiamo provato diverse versioni di firmware su più schede madre e più processori, e ogni configurazione ha indicato lo stesso limite di temperatura di 80 °C.
Questo è dovuto al fatto che questo valore è programmato nel chip durante la produzione. Queste letture provano che AMD, almeno fino a un certo punto, voleva che il chip continuasse a salire di frequenza all’interno di parametri normali fino al raggiungimento di 80 °C. Ciò però non ci dice l’impostazione effettiva usata dal chip.
La system management unit (SMU), una piccola unità nel processore che può alterare diversi parametri all’interno del chip, può sovrascrivere molti parametri, incluso il limite di temperatura.
Quei valori sovrascritti non sono esposti all’utente o agli strumenti di monitoraggio, il che significa che non possiamo vedere valori effettivi in uso. La SMU è stata aggiornata con differenti versioni che sono state installate durante il processo di aggiornamento del BIOS e AMD ha distribuito diversi versioni SMU prima e dopo il debutto dei Ryzen 3000. Le ultime hanno probabilmente modificato i limiti di temperatura. Dato che i cambiamenti alla soglia di temperatura rimangono nascosti dietro la “scatola nera” della SMU, è necessario fare alcune prove per dimostrare le regolazioni fatte da AMD.
Per il test è stata usata una scheda madre Gigabyte X570 Aorus Master. A differenza di molti altri produttori di schede madre, Gigabyte distribuisce ancora il suo BIOS NPRP (approvato da AMD) diffuso per le recensioni prima del debutto. Oltre all’ultima versione, Gigabyte ha anche pubblicato un BIOS beta a Overclock.net, che abbiamo deciso di provare.
La frequenza di boost massima di 4,4 GHz del Ryzen 7 3700X è apparsa fugacemente con il BIOS F4, ma il boost si è verificato per un periodo di tempo così breve che difficilmente può essere definito degno di nota. Il chip si è invece fermato più di frequente a 4375 MHz di picco con tutte le revisioni dei BIOS.
Gigabyte, revisione BIOS | Frequenza massima registrata | Versione SMU | AGESA |
F4 | 4.4 GHz | 46.32.0 | 1.0.0.3 |
N11 (BIOS per le recensioni del debutto) | 4,375 GHz | 46.37.0 | 1.0.0.2CA |
F5 | 4,375 GHz | 46.40.0 | 1.0.0.3ABB |
F5P | 4,375 GHz | 46.40.0 | 1.0.0.3ABB |
Alcune fonti ci hanno detto che le revisioni della SMU con limite a 80 °C non sono mai state rese pubbliche, incluse le versioni di BIOS fornite ai recensori. Dopo aggiustamenti alla soglia di temperatura a 75 °C con la revisione 46.37.0, AMD ha tuttavia continuato a regolare i limiti di temperatura nelle versioni di SMU 46.38.0 e 46.39.0, riducendo lentamente quei limiti; quelle modifiche dovrebbero essersi trasmesse anche all’ultimo 46.40.0.
È importante sottolineare che i risultati di test potrebbero cambiare con altre schede madre e il comportamento del boost potrebbe variare in base alla qualità del vostro chip. Questi risultati però dovrebbero essere comunque validi per i nostri intenti.
Test dei limiti di temperatura in boost
Il test è semplice. Abbiamo iniziato i test con tutte le ventole e la pompa sul Corsair H115i in funzione a piena velocità. Poi abbiamo avviato il test single-thread di Cinebench per far emergere il boost massimo ottenibile con il nostro sample di Ryzen 7 3700X.
Abbiamo svolto il test per 60 secondi in modo che il chip potesse raggiungere il proprio stato naturale durante il carico di lavoro, poi abbiamo staccato ventole e pompa per permettere alla temperatura del chip di raggiungere un valore di 95 °C.
Questa è la temperatura massima indicata per le CPU AMD a 7 nanometri, inferiore ai 100 °C della generazione precedente. Questo significa che AMD non ha moltissimo margine termico da gestire.
Questa tecnica di test ci ha permesso di registrare i cambiamenti della frequenza con l’aumentare della temperatura. Abbiamo fatto del nostro meglio per isolare tutti i parametri, e a causa della natura di questa prova, la soluzione di raffreddamento e la temperatura ambiente non solo un fattore.
Le CPU moderne lavorano operando nell’ordine di miliardi di cicli a secondo, con il cambio di power state che richiede 1-2 ms sui processori Ryzen 3000, perciò ottenere un quadro accurato dell’attività del boost richiede di monitorare il processore in modo molto preciso. La maggior parte delle utility per le CPU interroga il processore per verificare i valori ogni secondo, facendosi sfuggire le veloci transizioni di stato, ma molti software permettono di regolare questa precisione.
È importante dire che l’overhead legato all’interrogazione del processore più frequentemente può creare un vero e proprio carico che impatta sulle prestazioni, un problema chiamato “observer effect” - effetto osservatore. Monitorare il processore con troppa frequenza può impattare sulle sue prestazioni e su come si comporta durante il periodo in cui è “osservato”, perciò anche se è importante puntare ad avere una maggiore precisione possibile, bisogna evitare di incappare in questo stato che può innescare power state differenti e portare a dati inaccurati.
Per il test abbiamo impostato una verifica dei parametri vitali della CPU ogni 100 ms, il che significa che interroghiamo il processore a distanza di 100 ms registrando la media di tali rilevazioni ogni secondo. Questa impostazione non sembra impattare in modo evidente durante l’attività in idle, ma dobbiamo ricordare che anche Windows avvia attività in background - in modo apparentemente casuale - che possono causare picchi nell’attività che sono difficilmente attribuibili a un processo specifico.
Qui vedete i risultati dei test con il BIOS F4, cioè quello reso disponibile al pubblico prima del lancio delle CPU. Avrete notato che stiamo zoomando sui risultati dei test, tagliando i primi 100 secondi della sessione e forzando gli assi della frequenza e della temperatura. Non ci piace usare assi che non partono da zero perché possono ingigantire le differenze prestazionali, ma dobbiamo esaminare da vicino le piccole variazioni della frequenza durante una porzione molto specifica del test. Abbiamo incluso grafici più completi degli stessi test, con gli assi che partono da zero, più avanti nell’articolo.
Abbiamo tracciato la frequenza di tutti e otto i core sull’asse di sinistra, mentre la temperatura è a destra. La lettura di temperatura è la linea rossa crescente, e abbiamo aggiunto marcatori per indicare dove la temperatura raggiunge 75 °C e 80 °C, le aree su cui ci concentriamo. Questo BIOS è basato su un AGES 1.0.0.3 e una SMU in versione 46.32.0. Qui possiamo vedere che la temperatura fluttua per un breve periodo di tempo dopo aver raggiunto 75 °C, ma il chip scende a circa 4125 MHz una volta superati i 75 °C per un periodo più lungo di due secondi.
AMD ha migliaia di sensori di temperatura sul die del processore, quindi non stiamo vedendo registrazioni di hotspot (punti caldi) localizzati che potrebbero impattare anche sul comportamento del boost. C’è inoltre una certa variazione da una sessione all’altra tra i test separati, ma il trend prestazionale è persistente.
Qui vediamo quattro sessioni del BIOS N11 NPRP (approvato da AMD) dedicato alle prime recensioni. Il BIOS integra codice AGESA 1.0.0.2 CA (sì, un AGESA più vecchio rispetto al BIOS iniziale) accoppiato con la revisione SMU 46.37.0. I produttori di schede madre consigliavano queste versioni di BIOS ai recensori per svolgere i test, ma in molti hanno scelto versioni di BIOS basate su AGESA 1.0.0.3 rese disponibili nelle ore poco prima del debutto.
È interessante notare che Gigabyte indica la versione SMU con questo BIOS N11 NPRP pubblico ma, solo per motivi di completezza, abbiamo svolto i test con entrambi i BIOS pubblicati - i due risultati in fondo - e il BIOS incluso nella cartella scaricabile dai recensori fornita da AMD - le due sessioni di test superiori - che non hanno una versione SMU indicata.
Vediamo una sessione con il BIOS N11 - in basso a sinistra - che non mostra un comportamento di boost così aggressivo dopo la soglia dei 75 °C, ma la sessione successiva - in basso a destra - mostra lo stesso comportamento del BIOS fornito sul portale di AMD, il che significa che forse si tratta di una variabilità da una sessione all’altra.
In ogni caso, la tendenza è chiara: rispetto al BIOS F4, il Ryzen 7 3700X con il BIOS N11 sta sopra i 4,2 GHz dopo che ha raggiunto la soglia di 75 °C, con picchi che variano - da 4250 a 4225 MHz - in base alla sessione. Le frequenze di picco scendono solo a 4,2 GHz dopo che il chip ha superato la soglia degli 80 °C. Questo significa che questo BIOS è "più veloce" della versione precedente.
L’aumento delle frequenze è relativamente contenuto, un balzo da 225 a 250 MHz, ma come abbiamo visto nel sondaggio di Der8auer, molti utenti che non raggiungono le frequenze di picco osservano differenze maggiori. Anche se queste sono relativamente ridotte, osserviamo una differenza da 225 a 250 milioni di cicli al secondo, che aggiungono fino a un miliardo di cicli extra in circa 4 secondi, per non parlare del numero di cicli aggiuntivi che transistor e interconnessioni dovranno sperimentare lungo il periodo di garanzia.
In altre parole si può ipotizzare che queste piccole alterazioni, che avvengono durante il momento di massimo stress con un’alta densità di corrente e calore, può avere un impatto degno di nota sull’affidabilità a lungo termine. Di certo, questo non significa che questa sia l’intenzione dietro gli interventi sulle soglie di temperatura, ma è una possibilità. È inoltre possibile che AMD stia solo ottimizzando gli algoritmi di boost per fornire un intervallo più preciso delle prestazioni reali, e queste modifiche non hanno nulla a che fare con l’affidabilità.
Il prossimo passo è vedere l’attuale stato del BIOS. Testiamo con l’ultimo BIOS di Gigabyte, l’F5 con AGESA 1.0.03 ABB. Gigabyte non indica la revisione SMU sul proprio sito, ma si tratta della 46.40.0. Qui possiamo vedere che il chip scende a 4,2 GHz dopo aver raggiunto 76 °C, dove rimane ben oltre gli 80 °C. È marcatamente differente, e meno desiderabile, rispetto al BIOS N1 fornito ai recensori. Ciò significa che il chip funzionerà più lentamente con i carichi che sfruttano meno i thread.
Infine questi sono i risultati di F5P, un BIOS beta che Gigabyte ha pubblicato alcuni giorni fa su Overclock.net. Proviamo quest’ultima revisione per vedere se c’è qualche cambiamento rilevabile in quello che dovrebbe essere l’ultimo BIOS prima del fix in arrivo. Il chip rimane sopra 4,2 GHz fino a quando supera 77 °C per cinque secondi. Insomma, è più lento rispetto al BIOS offerto ai recensori al debutto dei processori.
Ecco un album con gli assi che partono da zero. Come scritto sopra, nel grande schema delle cose queste differenze potrebbero apparire piccole, ma possono essere di grande impatto da una prospettiva di affidabilità sul lungo termine. Inoltre molte di queste piccole differenze sono rappresentative delle varie frequenze di boost segnalate da chi ha acquistato le nuove CPU AMD.
Commento
Sarebbe facile gettare fango su Intel per l’attacco ad AMD in relazione questi cambiamenti, specialmente per la natura poco circostanziata delle fonti usate. Il marketing è marketing e tutte le aziende usano tattiche talvolta poco simpatiche e/o azzeccate. Intel però dovrebbe fare attenzione a sostenere teorie non comprovate in questo modo, dando credibilità ad affermazioni che potrebbero non avere alcun fondamento.
Intel ha ancora la leadership per quanto concerne le prestazioni in gaming, ma i nuovi Ryzen 3000 colpiscono nella fascia media, quella che raccoglie i maggiori volumi e dove Intel non può vantare lo stesso vantaggio. Il Core i9-9900KS atteso a ottobre dovrebbe offrire prestazioni decisamente alte in molti carichi di lavoro, ma non sistema la situazione nella fascia media.
Considerazioni su Intel a parte, è difficile determinare se AMD ha regolato i limiti di temperatura per una migliore affidabilità. I nostri test mostrano che ci sono stati cambiamenti, anche dopo che l’azienda ha inizialmente ridotto il limite a 75 °C. Non c’è dubbio che il BIOS fornito per le recensioni del lancio sia il più veloce e consenta di sostenere frequenze di boost più alte per più tempo rispetto alle ultime versioni.
Molti chip non raggiungono il loro pieno potenziale di boost anche con quel BIOS di lancio, perciò il fix di AMD potrebbe consistere nel ritorno all’originale limite di temperatura di 80 °C in boost, finora mai implementato nei BIOS pubblici.
Se AMD è intervenuta sulla soglia per allineare i chip con le sue proiezioni di affidabilità, ritornare al limite di 80 °C potrebbe portare a un tasso di processori con problemi maggiore. Questo però non significa che i chip Ryzen moriranno a frotte. La longevità di un chip è tenuta sotto stretto controllo per mantenere il livello degli RMA su un livello gestibile, solitamente dettato dall’impatto finanziario sull’azienda.
Gli interventi in arrivo potrebbero equivalere a un piccolo incremento del numero degli RMA nel corso del tempo. D'altronde un piccolo aumento dei processori con problemi sarebbe certamente preferibile a una denuncia per pubblicità ingannevole, senza contare il danno d'immagine per il marchio Ryzen.
A ogni modo, i calcoli di AMD sul tasso di processori difettosi sono probabilmente molto complessi, specialmente dato che l’azienda usa lo scheduler Windows 10 per determinati carichi di lavoro sui core più veloci - che il sistema operativo vede come core preferiti.
È un fatto: alcuni core si usurano prima di altri, in particolare se sono usati con maggiore frequenza di altri. Ricordate, i core spesso scendono in power state / frequenze più basse quando non sono in attivi, cosa che ridurrà l’usura. Tuttavia, a causa dello scheduler che usa determinati core Ryzen più di altri, ciò potrebbe risultare in un’usura più veloce su un core usato più attivamente di altri.
Intel usa una tattica simile con il Turbo Boost 3.0, quindi non è un terreno totalmente nuovo, ma certamente pesa nel complesso quadro legato all’affidabilità delle CPU (coincidenza vuole che la prossima build di Windows 10 per gli Insider abbia un'altra alterazione dello scheduler che ruota i carichi di lavoro in modo più efficiente tra i core preferiti per migliorare le prestazioni e l'affidabilità, ma resta da vedere se questo rappresenterà solo un'implementazione più ampia delle modifiche apportate ai processori Ryzen).
In definitiva, le regolazioni della temperatura di AMD non sono l'unica ragione per cui gli utenti non raggiungono la frequenza di clock indicata, in gran parte potrebbero essere gli utenti con versioni di Windows precedenti che non sfruttano correttamente i core preferiti, o solo un errore dell'utente, ma l'alterazione le soglie sono quasi certamente un fattore. AMD ha però un prezioso margine di manovra con cui giocare.
Per essere chiari oltre ogni dubbio, ripetiamo quanto detto sinora: i processori Ryzen 3000 sono assolutamente competitivi e consigliati. È però giusto pretendere che quanto acquistato funzioni come indicato nelle specifiche e siamo felici che AMD abbia raccolto il feedback e stia lavorando a un correttivo. Ora abbiamo una buona base per capire, quando sarà disponibile, se il fix di AMD riguarderà la soglia di temperatura o altri aspetti.