1. Architettura AMD Piledriver


Con lo sviluppo dell'architettura Bulldozer, AMD ha completamente riprogettato le proprie CPU modificando l'unità di base dei propri processori, dai core ai Compute Module.

L'approccio tradizionale prevede che ogni core x86 presente all'interno di una CPU sia completamente indipendente dagli altri, potendo disporre di unità di elaborazione dedicate sia per i numeri interi che per quelli a virgola mobile, sia di una completa logica di controllo.

I Compute Module Bulldozer e Piledriver seguono una strategia differente, condividendo tra due core x86 le funzionalità di Fetch, Decode e l'unità di elaborazione a virgola mobile (Floating Point).

Questa soluzione ha consentito di ridurre il numero di transistor necessari per ogni coppia di core, fornendo ad AMD la possibilità di portare a 8 il numero di thread gestibili dalle CPU top di gamma, dotate di quattro Compute Module.

La scelta di condividere l'unità di elaborazione a virgola mobile tra due core deriva da uno studio di AMD sull'utilizzo di questo particolare tipo di istruzioni da parte dei più comuni software: si stima, infatti, che oltre l'80% delle operazioni fa uso delle sole unità di calcolo "intere".

I Compute Module Piledriver hanno fatto la loro prima comparsa nelle APU della famiglia Trinity e sono disponibili ora all'interno delle CPU AMD FX, andando così ad unificare l'architettura alla base delle CPU e delle APU AMD.


AMD FX-8320E & MSI 970 Gaming 1. Architettura AMD Piledriver  1


Piledriver è una evoluzione di Bulldozer che porta con sé miglioramenti nelle prestazioni e nei consumi energetici.

Le unità di Scheduling sono state ottimizzate in modo da essere sfruttate al massimo delle loro possibilità, risultando più "aggressive" nella gestione delle operazioni.

Il Prefetching e il Branch Prediction, due algoritmi che si occupano di recuperare dalla memoria centrale il dato che più probabilmente sarà utilizzato dalla CPU nelle operazioni successive, sono stati modificati sostanzialmente dagli ingegneri di AMD.

È stata infatti introdotta una implementazione più completa rispetto a quella di Bulldozer, supportando, ad esempio, dati a dimensione variabile e velocizzando il riconoscimento di un errata predizione, così da poter liberare più velocemente la cache di primo livello dai dati non corretti.

Piledriver introduce inoltre il supporto a nuove istruzioni come le FMA3 e le F16C.

Ogni Compute Module Piledriver integra fino a 2MB di cache L2, mentre la cache di terzo livello è condivisa a livello di CPU tra tutti i Compute Module presenti.