Introduzione
La maggior parte dei processori multi-core moderni dispone di una memoria cache dedicata, utilizzabile congiuntamente da tutti i core disponibili. In questa veste, una cache L3 veloce può accelerare l'accesso a dati di cui si ha bisogno frequentemente. È meglio, infatti, che i core accedano sporadicamente alla memoria principale più lenta (RAM), se possibile.
Questa è la teoria, tuttavia, il recente debutto della gamma Athlon II X4 di AMD, composta da Phenom II X4 senza cache L3, implica che la cache di terzo livello potrebbe non essere sempre necessaria. Abbiamo deciso di fare un confronto per cercare di capirne di più.
Come lavora la cache
Prima di tuffarci nei nostri test, è importante capire alcune basi fondamentali. Il principio della cache è piuttosto semplice. Il buffer dei dati è più vicino ai core in modo da evitare che la CPU acceda a fonti di memoria più distanti e lente. La gerarchia della cache di una piattaforma desktop consiste in tre livelli di cache, prima di raggiungere la memoria di sistema. Il secondo e specialmente il terzo livello di cache non sono sfruttati solamente per il buffering dei dati. La loro funzione è anche quella d'impedire che il bus della CPU venga riempito con uno scambio di dati tra i core non necessario.
Cache: hit e miss
L'efficacia dell'architettura cache è misurata da quello che è definito "hit rate", ovvero le richieste che possono essere soddisfatte all'interno di una data memoria cache. Se una cache non contiene il dato necessario, accade quello che viene definito un "miss", e si deve passare la richiesta del recupero del dato in un'altra memoria. Ovviamente, quest'ultima eventualità porta a un rallentamento, perché introduce stalli nella pipeline di esecuzione e periodi di attesa. Gli hit, d'altra parte, aiutano a velocizzare il sistema.