Jaguar: un core x86 a basso consumo

AMD ha svelato le APU Temash e Kabini, basate sull'architettura x86 Jaguar e con una GPU Graphics Core Next. Abbiamo provato l'APU per notebook A4-5000, basata sul design Kabini, mettendola confronto con Pentium e Core i3.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Jaguar: un core x86 a basso consumo

Abbiamo già parlato diverse volte del progetto APU di AMD, che combina unità general purpose e risorse grafiche su un singolo die. La prima incarnazione è stata Llano, nel settore mobile (APU AMD A8-3500M, ecco a voi Llano) e poi quello desktop (Recensione AMD A8-3850, Llano arriva su desktop con Lynx). Poi è toccato a Trinity (AMD Trinity APU A10, A8 e A6 desktop: test in anteprima). Erano le prestazioni il focus delle due APU, date le architetture Stars e Piledriver per quanto concerne la parte CPU.

Per avere un esempio dell'impegno dell'azienda sul fronte dei bassi consumi dobbiamo tornare al gennaio 2011 e all'articolo "Recensione della piattaforma AMD Fusion Zacate". La piattaforma Brazos era armata della APU Zacate, dotata di due core x86 Bobcat a 1.6 GHz e GPU Cedar (derivata della Radeon HD 5450).

L'architettura Jaguar su cui ci concentriamo oggi è un miglioramento di Bobcat. Nell'approcciare a Jaguar, AMD ha fissato tre obiettivi di progettazione. Il primo era quello di migliorare l'IPC. Bobcat era incredibilmente lento, ed era appena in grado di superare l'Atom 330 del 2008. Il secondo era portare le funzionalità ISA a standard più moderni, introducendo set di istruzioni come SSE4.1/4.2 e AVX.

Il terzo era rendere Jaguar più semplice da realizzare con nuovi processi e partner produttivi differenti. Come utenti finali, l'ultimo punto non è un nostro problema, mentre una lista di funzioni moderna è una buona cosa. Gli sforzi di AMD per migliorare l'IPC sono però l'aspetto più interessante.

Iniziamo dalle basi. Jaguar, nella forma in cui ci si presenta oggi, è disponibile in configurazioni a due e quattro core. I SoC Bobcat erano limitati alla configurazione dual-core. Le varianti quad-core Jaguar richiedono raffreddamento attivo, mentre i chip dual-core dovrebbero essere abbastanza freschi da poter essere raffreddati passivamente.

Il core della CPU è stato prodotto usando tecnologia a 28 nanometri e il capo tecnologico di AMD, Joe Macri, afferma che il team che lavorato sui core x86 ha sfruttato alcuni strumenti software usati per realizzare le GPU, riuscendo così a inserire più risorse in un'area minore rispetto alla precedente generazione. Come risultato, ogni core Jaguar occupa 3,1 millimetri quadrati di spazio sul die. Il dato è notevolmente inferiore ai 4,9 millimetri quadrati monopolizzati da ogni core Bobcat.

Ma in quali aree Jaguar è migliore di Bobcat? Nel front-end, la cache istruzioni di Jaguar offre un throughput simile, anche se tale bandwidth giunge con un minor impatto energetico grazie a un processo di lettura selettiva, che attiva solo un quarto dei banchi. È stato aggiunto anche un loop buffer 4x32B; quando la execution pipeline può usare l'informazione archiviata, la cache istruzioni può spegnersi, permettendo così di avere il duplice vantaggio di una minore latenza.

Inoltre, il buffer istruzione è circa il 30% più ampio di quello che troviamo su Bobcat, e questo permette aggirare alcuni degli "hit" che potreste affrontare dopo un "cache miss". Infine la execution pipeline guadagna uno stadio di decodifica. Come abbiamo visto all'introduzione del Pentium 4, pipeline più lunghe sono davvero dannose per l'IPC - istruzioni per ciclo di clock. Quanto fatto da AMD dovrebbe tuttavia migliorare la scalabilità. Il presupposto è che AMD stia contrastando il calo dell'IPC con frequenze di clock più elevate.

La pipeline integer è stata ampliata con un divisore preso dall'architettura Stars di Llano e modificato per l'integrazione in Jaguar. AMD ha aggiunto il supporto ad alcune istruzioni "complex operation" (cops), in aggiunta alle unità hardware CRC per aiutare l'efficienza nell'esecuzione del codice x86 della CPU. Gli scheduler e i buffer riordinati sono (ovunque) dal 30 al 70% più ampi, e questo migliora il parallelismo del codice out-of-order eseguito.

La cache L2 e la sua interfaccia con i core è stata completamente ridisegnata. Ora è condivisa e abbiamo 2 MB suddivisi in banchi da 512 KB, ed è una cache associativa 16-way. Non abbiamo più 512 KB di cache L2 dedicati a ogni core. Secondo AMD questo porta benefici all'efficienza, in quanto un software può avvantaggiarsi (chi più chi meno) in base alle capacità di sfruttare i thread.

La cache L2 di Bobcat lavora alla metà della frequenza di clock della CPU. L'interfaccia di Jaguar opera invece alla piena frequenza del processore. AMD ha migliorato il pre-fetching; gli algoritmi di AMD fanno maggiore attenzione ai modelli di dati, assistendo il predittore nell'operare scelte migliori. Sedici "L2 snoop entries" agiscono come un filtro per evitare "look-up" quando possibile, risparmiare energia e migliorare le latenze. Secondo AMD, la cache L2 condivisa è uno dei principali elementi che migliorano l'IPC in Jaguar rispetto a Bobcat.

L'unità load/store tra la execution pipeline e la cache L2, e la cache dati, sono stati migliorati per rendere i miglioramenti alla cache L2 più tangibili. Jaguar combina i load (carichi), usando un buffer molto più grande per evitare il rimescolamento dei dati archiviati ed effettuare bypass dei carichi a latenze più basse.

La somma di tutti i cambiamenti operati su Jaguar rispetto a Bobcat, secondo l'azienda, porta un miglioramento dell'IPC fino al 22% in single-thread. Si tratta di un miglioramento per clock, il che significa che maggiori frequenze dovrebbero spingere quel numero più in alto. Naturalmente, verificheremo queste affermazioni nelle prossime pagine.