Il concetto dietro a Bulldozer

Recensione - Test del nuovo processore AMD FX-8150, basato su architettura Bulldozer.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Il concetto dietro a Bulldozer

Se dovessimo riassumere il concetto di Bulldozer in una sola parola, sarebbe scalabilità. AMD ha riposto la maggior parte degli sforzi nella progettazione di un blocco abbastanza piccolo da essere duplicato più volte nel silicio, ma comunque in grado di gestire agilmente ogni tipo di carico di lavoro.

L'azienda conferma che questo è un progetto nato da zero diversi anni fa, da un'attenta considerazione del mercato e del posto che avrebbe dovuto occupare, dalla fascia media a quella più alta nel settore server.

Con Bulldozer AMD conferma che i giorni dei processori single core sono finiti. In questa nuova gamma persino la CPU desktop di fascia più bassa è dual-core. Non è una coincidenza inoltre che ogni modulo nel SoC Bulldozer sia in grado di gestire due thread in contemporanea.

Clicca per ingrandire

Sappiamo tutti che ci sono diversi modi per gestire più thread. Il multiprocessing a livello chip sta a un capo dello spettro, facendo leva sulla forza bruta di più core sullo stesso pezzo di silicio. Replicare quelle risorse porta a ottenere un elevatissimo potenziale prestazionale nelle applicazioni ottimizzate per sfruttare i thread. Tuttavia è anche più costoso in termini di transistor richiesti.

Il simultaneous multi-threading (SMT) è esattamente all'altro estremo: duplica le risorse necessarie per impartire istruzioni da thread multipli verso un core fisico con un costo hardware ridottissimo. Quando un singolo thread non riesce a usare le risorse totali di un core, interviene SMT, ottenendo ogni bit potenziale dal core. È ciò che fa l'Hyper-Threading di Intel. Sebbene Windows veda due core logici per ogni core fisico, i vantaggi prestazionali sono molto più modesti nelle applicazioni reali.

Per questo AMD ha sempre avversato la soluzione Intel, facendo una chiara distinzione tra core fisici e logici. Abbiamo visto nei nostri benchmark un quad-core Phenom II a basso costo può superare un dual-core con Hyper-Threading Core i3 in un test come WinRAR o 7-Zip, in virtù delle maggiori risorse.

Che cos'è un core?

Ora AMD è costretta a scendere dal suo cavallo perché un modulo Bulldozer non integra due core completi. Infatti alcune parti sono condivise, elementi che ci aspetteremmo di trovare come risorse dedicate in un classico core, inclusi l'istruction fetch e gli stadi di decodifica, le unità a virgola mobile e la cache L2.

Secondo Mike Butler, capo architetto di Bulldozer, tutto ciò è giustificabile in quanto i core tradizionali che operano in un ambiente con limiti di consumo non fanno un uso ottimale del margine termico. Un'affermazione molto sensata: se state creando una CPU server e volete metterci più core possibili, vorrete un architettura che favorisce le risorse più usate, piuttosto che sprecare spazio sul die e margine termico per componenti che invece si possono condividere tra i vari core, senza per questo perdere prestazioni.

Clicca per ingrandire

La decisione di convidere elementi diventa un problema quando entrambi i thread hanno bisogno delle stesse risorse, e a quel punto le prestazioni calano rispetto al multiprocessing a livello chip. AMD è però ottimista: lo scorso agosto quando ha iniziato a parlare dell'architettura Bulldozer, ha stimato che un modulo potrebbe avere una potenza pari all'80% di due core completi, mentre lo spazio occupato sul die è minimo. Il risultato, in ambienti ottimizzati per sfruttare i thread, è che un processore basato su Bulldozer dovrebbe offrire miglioramenti significativi sul piano dell'efficienza.

Questo significa inoltre che AMD ha dovuto ridefinire l'idea di core, sostanzialmente affermando che ogni "cosa" che abbia una propria coda di esecuzione integer è un core, se non altro questo tipo di calcoli rappresentano la maggior parte dei carichi sulla CPU. Non abbiamo alcun problema con questa definizione, ma se condividere le risorse riduce le prestazioni per ciclo, AMD deve necessariamente puntare su frequenze più elevate o una maggiore enfasi sul threading per compensare. Un fatto da tenere bene a mente.