Author: Gianluca AndriniGianluca Andrini
Date: Mar 31, 2008 12:39
I moderni processori adottano tutti, normalmente, almeno 2 livelli di cache.
La cache L1 serve a fornire i dati richiesti dalla logica il più velocemente
possibile. La cache L2 serve come backup per evitare l'accesso alla lenta
RAM.
Ma perchè non adottare un singolo livello di cache?
La cache L1 funziona con latenze ben inferiori alla L2, ma assorbe
decisamente di più. Inoltre la L1 si trova, di norma, vicinissima alla
logica, cosa che riduce il percorso elettrico da compiere per raggiungere la
destinazione, cioè o i registri, o il prefetch. La "lenta" L2 deve essere
invece necessariamente posta relativamente lontano, e questo complica le
cose.
Il dimensionamento della cache è alquanto problematico.
L'architettura della cpu x86 attualmente vincente, la Intel Core 2, adotta
un totale di 64KB di cache L1, suddivisa equamente in 32KB di cache per le
istruzioni e 32 KB di cache per i dati.
|