4. Architettura Bulldozer - Parte 2

 

Front End e Prefetch

La pipeline di Bulldozer è stata allungata e ciò ha reso necessario l’introduzione di tecniche di prefetch più evolute al fine evitare interruzioni durante l’esecuzione delle istruzioni; collo di bottiglia di questa scelta è il controller di memoria che però è stato migliorato per supportare frequenze di funzionamento più elevate ed un complesso sistema di cache.

 

AMD FX-8150: Il primo Bulldozer ... 4. Architettura Bulldozer - Parte 2 1 


Ogni Bulldozer Module può decodificare fino a quattro istruzioni per ciclo contro le tre di un Phenom II ed il risultato dell’elaborazione può essere gestito attraverso il PRF (Physical Register File) che consente evitare copie o spostamenti dei dati non necessari.

 

Cache

Ogni core è dotato di 16KB di cache di primo livello, 2MB di cache di secondo livello, condivisi con l’altro core dello stesso modulo, e ulteriori 8MB di cache di terzo livello che sono accessibili e condivisi con gli altri Bulldozer Module.

 

AMD FX-8150: Il primo Bulldozer ... 4. Architettura Bulldozer - Parte 2 2 


L’uso di una cache L1 dedicata per ogni core è fondamentale per migliorare le prestazioni; questo componente non è infatti condivisibile data la specificità dei dati ivi contenuti, relativi alle istruzioni che vengono eseguite in quel dato momento su uno specifico core.

 

Set di istruzioni

Tra le altre novità di Bulldozer troviamo l'introduzione delle istruzioni SSE 4.1, 4.2 e delle AVX (Advanced Vector Extensions).

Per il supporto delle estensioni AVX, presentate da Intel nel 2008, è stato necessario raddoppiare la dimensione dei registri XMM, permettendo quindi la memorizzazione di istruzioni più lunghe e consentendo l’esecuzione più efficiente di alcuni tipi di operazioni collassandole in un'unica operazione che non porta alla modifica del registro al termine della stessa.

Per poter sfruttare le estensioni AVX è necessario il supporto del sistema operativo; per quanto riguarda Windows sarà introdotto con il Service Pack 1 per Windows 7 e Windows Server 2008 R2, mentre per Linux è già presente dalla versione 2.6.30 del kernel.

Le AVX saranno supportate anche dalla prossima generazione di CPU Intel Sandy Bridge.

 

Capability
AMD Phenom II X6
Intel Sandy Bridge
AMD FX-8150

Execute 128-bit FP

SI
SI
SI
Support SSSE3, SSE4.1, SSE4.2
NO
SI
SI
Execute 128-bit or 256-bit AVX
NO
SI
SI
Execute Two 128-bit AVX in 1 cycle
NO
SI
SI
Execute 128-bit AVX & SSE in 1 cycle
NO
SI
SI
Execute FMA operations (A=B+C*D)
NO
NO
SI

Supports XOP

NO
NO
SI
FLOPs per cycle (double precision x87)
12
8
8
FLOPS per cycle (128-bit AVX)
-
32
64
FLOPS per cycle (256-bit AVX)
-
64
64

 

AMD ha deciso di abbandonare le sue estensioni 3DNow!, ormai obsolete e non più utilizzate da nessun software commerciale, rimpiazzate definitivamente dalle più recenti SSE.

Â