Cosa sono i Compute Core?

La nuova architettura x86 Steamroller, la GPU Graphics Core Next e funzioni HSA sono alla base della nuova APU Kaveri di AMD. Un rinnovamento globale che darà frutti o ancora non basta?

Avatar di Tom's Hardware

a cura di Tom's Hardware

Cosa sono i Compute Core?

Fino alla scorsa generazione AMD indicava le unità x86 e gli shader grafici come soluzioni indipendenti. L'A10-6800K aveva quattro core - due moduli Piledriver con quattro cluster integer distinti - e 384 shader.

Questa volta AMD ha preso il blocco fondamentale della grafica - la Compute Unit - che poi viene replicata più volte per darci GPU come l'Hawaii con 2816 shader, e l'ha chiamato Compute Core. Per definizione un Compute Core supporta HSA, è programmabile e in grado di gestire almeno un processo nel proprio contesto e nel proprio spazio di memoria virtuale, indipendentemente dagli altri core.

Tutto questo ha permesso ad AMD di sommare le risorse CPU e GPU, facendo sì che le APU Kaveri abbiano otto o 12 compute core, tutti con accesso alla stessa memoria unificata. È una scelta interessante in un momento in cui la concorrenza vende processori a due e quattro core. Fortunatamente il dipartimento legale di AMD insiste sulla separazione delle risorse di CPU e GPU ogni volta che si descrive l'APU Kaveri.

AMD desidera tuttavia che la comunità tecnica pensi che ci siano fino a 12 thread in funzione simultaneamente, ed è per questo che parla di Kaveri come un prodotto a 12 core. L'APU si occupa del parallelismo in un modo nuovo e interessante, ma si corre il rischio che i consumatori meno informati abbiano qualche problema a capire le implicazioni di questa nomenclatura.

Una nuova architettura x86: la prima CPU Steamroller

Kaveri rappresenta la prima incarnazione dell'architettura Steamroller che prende il posto di Piledriver. Anche se alcune delle soluzioni di precedente generazione avevano un modulo (o due core), i modelli Kaveri appena introdotti ne hanno due. AMD parla di configurazione a quattro core, anche se sappiamo che ogni modulo integra due cluster integer e un'unità a virgola mobile condivisa.

Quando AMD introdusse l'architettura Bulldozer, fu subito chiaro il passo indietro nelle prestazioni per ciclo di clock. Piledriver ha aiutato un pochino, ma l'IPC è rimasto decisamente più basso rispetto alle architetture Intel Sandy Bridge, Ivy Bridge e Haswell. Steamroller è stato progettato per migliorare le cose e gli ingegneri affermano che il throughput per istruzione è cresciuto fino a un massimo del 20%. Purtroppo le decisioni produttive hanno mitigato quel miglioramento.

I cambiamenti fatti con Steamroller riguardano principalmente l'efficienza nel front-end della pipeline per minimizzare stalli e, secondo AMD, questo porta ad avere prestazioni single-thread più competitive. La cache L1 instruction, precedentemente da 64 KB e "two-way set associative", è ora di 96 KB e "three-way set associative", riducendo i "miss" (l'assenza di dati nella cache) del 30%. Gli ingegneri di AMD hanno affrontato il tema della branch misprediction aumentando il branch target buffer L2 da 5000 a 10.000 "entries" e incrementando lo stesso branch predictor.

Lo scheduling per istruzione è stato reso dal 5% al 10% più efficiente passando da 40 a 48 entries. Inoltre entrambi i cluster integer ora possono accedere simultaneamente alla ROM microcode - prima non potevano. Steamroller può emettere due store alla volta; l'architettura Piledriver dovrebbe farlo solo una. Infine, le unità load/store in ogni cluster integer hanno code il 20% più grandi e questo migliora ulteriormente l'efficienza.

Per testare le affermazioni di AMD, abbiamo impostato il Core i5-4670K, l'A10-6800K e l'A10-7850K a 4 GHz, poi abbiamo eseguito i benchmark single-thread iTunes e LAME.

In iTunes, Steamroller mostra zero benefici. Il Core i5 Haswell è naturalmente un po' più veloce. LAME evidenzia un leggero miglioramento, ma l'architettura di Intel gode di una leadership evidente. Delusi dall'assenza di maggiori prestazioni single-core, abbiamo deciso di aggiungere al test 3DS Max 2013, ottimizzato per sfruttare i thread. Solo allora, dopo aver messo sotto carico i due moduli Steamroller, l'architettura ha mostrato risultati interessanti. A 4 GHz, l'A10-7850K è il 22 percento superiore all'A10-6800K. Questa vantaggio, nella realtà, viene in parte eroso dalla maggiore frequenza delle APU Richland. Concludiamo che i miglioramenti di Steamroller emergono selettivamente, a seconda del carico di lavoro.