All'interno del cluster integer
I due cluster integer all'interno di ogni modulo hanno un'unità di load/store out-of-order capace di due load/cycle a 128 bit o un store/cycle a 128 bit. AMD ha scoperto che vi erano determinati casi in cui Bulldozer non catturava i dati immagazzinati in un file di registro. Affrontando questi casi le istruzioni vengono fornite ai cluster integer in modo più rapido.
Clicca per ingrandire
All'interno di ogni core integer abbiamo ancora a che fare con due unità di esecuzione e due unità che generano indirizzi (chiamate semplicemente AGens). Queste "AGens" sono più prestanti in quanto sono in grado di compiere istruzioni MOV. Quando l'attività di Agen è leggera, l'architettura sposterà MOV lungo quelle pipeline.
Uno dei cambiamenti più grandi è il "translation lookaside buffer" più grande per la cache dati L1, che passa da 32 a 64 entries. Poiché il TLB L2 ha una latenza elevata di 20 cicli, migliorare l'hit rate nella cache L1 può portare a miglioramenti significativi nei carichi di lavoro che hanno a che fare con grandi strutture di dati. Questo è particolarmente importante nel settore server, ma gli ingegneri AMD dicono di aver notato sensibilità anche in determinati videogiochi, anche se non se lo aspettavano.
Ottimizzazioni cache L2
Clicca per ingrandire
Anche il prefetching hardware all'interno della cache L2 è stato migliorato. La latenza minima non cambia, e questo è il motivo per cui la latenza della cache non sembra in alcun modo migliore nel benchmark Sandra 2013. Poichè prefetcher e cache L2 sono usati in modo più efficace, la latenza media (molto più difficile da misurare con una soluzione diagnostica), dovrebbe scendere, secondo AMD. Lo stesso modulo di Sandra 2013 inoltre riflette un cambiamento molto ridotto nella cache L3 e gli ingegneri che hanno lavorato su Vishera confermano che nessun cambiamento è stato fatto alla cache L3 condivisa tra tutti i moduli.