CPU Trinity: ecco i core Piledriver

Test - Recensione della APU AMD Trinity AMD A10-4600M, dedicata ai portatili.

Avatar di Tom's Hardware

a cura di Tom's Hardware

CPU Trinity: ecco i core Piledriver

Una APU è un amalgama di core x86 e risorse grafiche. Partiamo dall'elemento del die che tradizionalmente è chiamato CPU. Quando Llano è stato presentato lo scorso anno, sapevamo già che l'architettura Stars sarebbe stato il suo punto debole. I piani di AMD per il futuro erano chiaramente incentrati su Bulldozer, un design che però non sarebbe arrivato sui PC desktop se non lo scorso ottobre.

L'arrivo di Trinity cambia la situazione. Questa volta l'architettura più recente di casa AMD fa la sua comparsa su una APU, per giunta il modello mobile. Chiamata Piledriver, è un aggiornamento dell'architettura Bulldozer che troverà spazio sui PC desktop solo nella seconda metà inoltrata di quest'anno.

Quali sono le principali differenze tra i core Husky dell'architettura Llano e i core Piledriver in Trinity? Laddove una APU quad-core Llano usa quattro core distinti, l'analogo Trinity è dotato di due moduli Bulldozer. Ognuno ha due core integer che condividono alcune risorse che nelle implementazioni multi-core più tradizionali trovate duplicate, come ad esempio gli stadi di fetch e decodifica, le unità in virgola mobile e la cache L2. A tal proposito, potete sempre approfondire leggendo questo articolo: Recensione AMD FX-8150: Bulldozer delude, la strada è ancora lunga.

La differenza più chiara tra i processori AMD FX desktop e la componente CPU di Trinity è la cache. Ogni modulo della APU ha 2 MB di cache L2, ma in Trinity non troviamo 8 MB di cache L3 condivisa, il che lascia queste CPU con 4 MB di cache L2 e senza cache L3, pareggiando la memoria on-die che troviamo sui chip Llano.

Gli ingegneri AMD hanno affermato che uno dei loro obiettivi principali per Piledriver è stato migliorare l'IPC rispetto a Bulldozer. IPC sta per Istructions per Clock. Lo sapevamo fin dai tempi del debutto di Bulldozer, quindi non siamo rimasti sorpresi. Con i processori FX abbiamo visto che l'architettura lasciava sul campo prestazioni per clock rilevanti rispetto al predecessore e chiaramente questa era una cosa da risolvere.

Il team di ingegneri AMD non ha usato una formula magica per ottenere lo scopo, ma piuttosto si è avvalso di diverse strategie che portano a ottenere le tanto agognate migliori prestazioni per clock.

Nell'immagine sopra vedete i principali miglioramenti implementati nel core Piledriver. Il primo è il branch predictor ampiamente rinnovato e suddiviso in una struttura a due livelli. Mantenere il flusso nella pipeline istruzioni è un aspetto critico delle prestazioni e mentre AMD non è entrata nello specifico, ha chiarito che la branch prediction gioca un ruolo rilevante in tal senso.

Gli ingegneri hanno inoltre aumentato la dimensione della istruction window, per consentire a un gruppo più grande di istruzioni di essere processate; questo migliora le prestazioni e aiuta a processare il codice a livello del sistema operativo in modo più efficiente. Inoltre, sono state aggiunte le istruzioni ISA, inclusa una fused multiply-add (FMA3) e una floating point 16-bit convert (F16C).

L'architettura Bulldozer supportava già la FMA4, quindi la presenza di FMA3 dà all'architettura AMD il supporto a una capacità che Intel introdurrà solo con l'architettura di prossima generazione. Secondo AMD, i tempi di esecuzione di un'istruzione sono stati migliorati, e questo ha portato a ottenere migliori risultati con i calcoli in virgola mobile e la divisione di interi, oltre a operazioni di call e return. Si tratta di cambiamenti critici per entrare e uscire dalle sotto-routine in modo più rapido. Anche il Page translation è stato migliorato e ottimizzato.

Il sottosistema di memoria è un altro elemento chiave delle prestazioni e abbiamo visto già che le elevate latenze della cache hanno rappresentato uno degli elementi chiavi delle basse prestazioni di Bulldozer. Gli ingegneri affermano di aver investito molti sforzi per migliorare la cache L2 di Piledriver e il prefetcher hardware, cercando di ridurre le latenze che si presentano leggendo la memoria. Lo Stream è stato probabilmente migliorato in modo rilevante dalla precedente generazione di APU.

L'unità Load/Store è stata inquadrata come un posto dove la latenza può essere stata ridotta, quindi il riordinamento di store-to-load è stato migliorato con letture supplementari per anticipare le richieste del compilatore e ridurre la latenza di carico. Il translation lookaside buffer (TLB) L1 è stato raddoppiato a 64 entrate per evitare gli incrementi di latenza associati, in quanto un TLB più grande offre una struttura più efficiente. Infine entrambi gli scheduler integer e in virgola mobile sono stati migliorati per usare al meglio tutte le unità hardware che Piledriver mette a disposizione.

Con miglioramenti nella frequenza, AMD afferma che l'APU A10-5800K Trinity offre prestazioni il 26% maggiori rispetto all'APU A8-3820 Llano su desktop. Per quanto riguarda il mobile, la soluzione A10-4600M dovrebbe mettere a disposizione prestazioni superiori del 29% rispetto alla APU A8-3500M. Si tratta senza dubbio di miglioramenti importanti e che terremo a mente durante i nostri test. Prima però passiamo alla componente grafica di Trinity.