La funzione Turbo dei processori AMD è stata, almeno inizialmente, una copia abbastanza grezza dell'Intel Turbo Boost. In molti, almeno fino a Trinity, si sono lamentati della scarsa efficienza delle soluzioni della casa di Sunnyvale, ma negli ultimi quatro anni le cose si sono evolute nella direzione giusta. Vediamo di farne un breve riassunto.
Nella prima implementazione con le CPU Phenom II il Turbo di AMD (Turbo Core 1.0) non svolgeva altra funzione se non quella di aumentare la frequenza dei core in uso, lasciando a default la frequenza di quelli non stressati.
Con Llano (Turbo Core 2.0) AMD cercò di rendere più efficiente il proprio Turbo, basandosi sul consumo, e non sul mero numero dei core/thread utilizzati. Poiché non è detto che ogni programma stressi allo stesso modo un core, questa evoluzione ha permesso di migliorare notevolmente le prestazioni del Turbo di AMD in relazione ai consumi.
Con Trinity (Turbo Core 3.0) il Turbo si è affinato ulteriormente, aggiungendo la variabile relativa alla temperatura, così da limitare il Thermal Throttling a causa di un sistema di raffreddamento sottodimensionato
Richland utilizza un affinamento del Turbo di Trinity, in quanto per determinare la temperatura non utilizza più il sensore della scheda madre, ma quello On-Die, rendendo molto più precisi i dati e veloci i cambi di stato. Inoltre le funzioni Turbo dei Moduli e della iGPU vengono controllate da due distinte entità, chiamate Thermal Entity. Grazie a queste migliorie AMD è riuscita a realizzare APU molto più efficienti sotto il profilo energetico, adattandosi meglio al carico di lavoro richiesto (Intelligent Boost).
Kabini compie un ulteriore balzo in avanti. Poiché iGPU e Core Jaguar sono confinanti, il calore generato da ognuna di queste entità si va a ripercuotere sull'altra, minando l'efficienza del Turbo. Per ovviare a ciò, i progettisti AMD hanno deciso di implementare una funzione che permetta alla APU di riconoscere cosa serve effettivamente in quel momento. Qualora la iGPU si rivelasse ininfluente, il Turbo quasi la spegnerebbe per permettere una più alta frequenza dei core Jaguar, e viceversa. Ogni singolo componente di Kabini, quindi, viene overclockato o downclockato dinamicamente a seconda dell'utilizzo richiesto, massimizzandone l'efficienza energetica.
Con Carrizo abbiamo assistito all’introduzione di un’ulteriore serie di novità, al fine di migliorare l’efficienza dei core Bulldozer e l’utilizzo di un nodo decisamente inferiore a quello contemporaneo di Intel (28nm BULK versus 14nm FinFET). In primo luogo è stato migliorata la funzionalità di variazione di frequenza, rendendo più granulare la gestione delle tensioni di funzionamento, a tutto vantaggio di maggiore efficienza energetica. Inoltre, sono stati integrati un maggior numero di sensori dedicati all’AVFS, su tutta la superficie della APU, al fine di garantire una migliore gestione delle temperature, e quindi direttamente la possibilità di garantire più elevate frequenze per la CPU e per la GPU.
Arriviamo infine a Bristol Ridge, ultima incarnazione dell'uArch Bulldozer in campo APU. Qui AMD introduce gli Shadow P-states, attraverso i quali è possibile migliorare ulteriormente la frequenza massima raggiungibile, rispetto alle tecnologie precedenti, a parità di temperature e tensioni di funzionamento. Questo è stato reso possibile da una gestione combinata dei dati forniti dal Power Supply Calibration (Introdotta con Carrizo), dal Reliability Tracker (Introdotto sempre con Bristol Ridge) e dall'AVFS.
Passiamo alle funzionalità introdotte con Zen, ed in particolare all'XFR, acronimo di Extended Frequency Range. Studiata da AMD come evoluzione della funzionalità Turbo Core già presente nelle precedenti CPU ed APU, e decisamente più avanzata del Turbo Boost 3.0 che possiamo trovare nelle ultime CPU Intel per Socket 2011v3, l’XFR permette di godere di frequenze maggiori nel caso si utilizzino sistemi di dissipazione avanzati, come ad esempio kit All in One o poderosi sistemi ad aria. Per permettere questo, integrati nel Die della CPU, vi sono diversi sensori (In numero maggiore rispetto a quelli introdotti con Carrizo) che si occupano di monitorare costantemente il carico di lavoro sui core, la temperatura d’esercizio e le tensioni di funzionamento. Se il tutto rimane entro certi limiti di sicurezza, l’XFR si occupa di innalzare la frequenza operativa di ulteriori 100 MHz.
In Raven Ridge è stata poi migliorata la feature Precision Boost, giunta alla revisione 2.0. Questa funzionalità è stata affinata per garantire frequenze di Boost più precise in relazione al carico di lavoro, alle temperature ed al consumo energetico, il tutto determinato in tempo reale ed a step di 25 MHz. Come è possibile osservare dal grafico, questa funzionalità migliorata permetterà mediamente una più elevata frequenza di boost su tutti i core, così da migliorare le prestazioni della CPU in ogni ambito di utilizzo.
Per informazioni più dettagliate, vi consigliamo di leggere l'approfondimento [In-depth analysis] XFR and its ancestors, scritto da Marco Comerci