|
||
| Pubblicato il: 05.01.2011 | A cura di: Davide Costantini |
I processori Core di seconda generazione, nelle loro incarnazioni più prestanti, dispongono di 4 core fisici (8 logici) e di una GPU. E’ presente inoltre una LLC (last level cache; la L3 per chiarezza) condivisa di 6 o 8 MB, a seconda del modello, e un System Agent che va a sostituire ciò che nelle precedenti generazioni veniva chiamato Uncore. Tutte queste unità devono essere connesse alla cache con un bus capace di garantire una banda elevata. Collegare individualmente gli elementi alla memoria aumenterebbe di molto la complessità del DIE con ricadute negative sulle prestazioni ma soprattutto sui consumi. Per tale ragione Intel ha introdotto un collegamento ad anello bi-direzionale chiamato Ring Bus.

In verità il Ring Bus è composto non da uno ma da bensì da quattro anelli: data ring, request ring, acknowledge ring e snoop ring. Il primo ha un ampiezza di 32 bit mentre gli altri sono di dimensioni inferiori. Come già detto il bus lavora in modalità bi-direzionale: i dati trasferiti prendono sempre il cammino più corto per arrivare a destinazione. Il sistema si rivela particolarmente adatto a gestire l’aumento della complessità e del numero dei core: al crescere degli "stop" le latenze crescono solo nel worst case scenario e quindi statisticamente con un valore meno che proporzionale all’aumento delle unità.
Ogni core è associato con una parte di LLC dedicata (ognuna con un proprio "stop") sebbene possa indirizzare tutta la cache all’occorenza. Il bus lavora alle medesime frequenze della CPU ed è in grado di scalare anche in funzione al carico della GPU in caso i core siano momentaneamente sotto utilizzati. Le latenze variano fra i 26 e i 31 cicli di clock: un miglioramento rispetto ai 36 cicli della precedente generazione.
A completare il quadro, nel DIE è presente il System Agent, erede dell’Uncore. Questa unità gestisce il bus PCI Express, il DMI ed è responsabile della gestione energetica della CPU.