|

Cache L1 e Cache L2
Quando viene richiesto al processore di elaborare una
particolare operazione (ad esempio, effettuare il rendering di
un'immagine), quest'ultimo richiama i dati necessari e li
memorizza all'interno della memoria di sistema, dalla quale li
preleverà nel momento in cui dovrà rielaborarli. La velocità alla
quale il processore elabora i dati è quella di clock (ad esempio,
900 Mhz), mentre quella alla quale la memoria di sistema sposta i
dati è quella di bus, decisamente più ridotta (133 Mhz); si deduce
abbastanza chiaramente che la frequenza di lavoro della memoria di
sistema rappresenta un collo di bottiglia alle prestazioni
complessive, in quanto il processore è costretto ad "aspettare"
che i dati vengano a lui forniti dalla più lenta memoria di
sistema; chiamiamo questo fenomeno latenza. Per ovviare a questo
inconveniente è stata introdotta la memoria cache, un particolare
tipo di memoria di dimensioni molto ridotte che lavora non alla
frequenza di bus ma ad una frequenza più elevata e che serve per
velocizzare le transazioni dei dati tra memoria di sistema e
processore. In dettaglio, esistono due tipi di memorie cache:
- cache L1 o di 1° livello: è in genere contenuta all'interno del
Core del processore e opera alla frequenza di clock;
- cache L2 o di 2° livello: a seconda del tipo di architettura (Socket
7 o Socket 478/A) è posta o all'interno del Core del processore oppure
sulla motherboard; opera a frequenze differenti a seconda del tipo
di architettura, variabili tra la frequenza di bus e quella di
clock.
Con la cpu K6-III è stata introdotta la cosiddetta cache L3 o di
3° livello; si tratta di niente altro che la cache L2 montata
sulle motherboard Socket 7, la quale prende questo nome in quanto
il K6-III integra all'interno del Core sia la cache L1 che quella
L2.
Il quantitativo di memoria cache è particolarmente ridotto ma
essendo questo un tipo di memoria particolarmente veloce, sia per
la sua frequenza di lavoro che per tipologia, si ottiene un
notevole abbassamento della latenza complessiva tra memoria di
sistema e processore nel trasferimento dei dati; a maggiori
quantitativi di memoria cache corrispondono, in linea generale,
prestazioni superiori, anche se queste aumentano meno che
proporzionalmente.
Al crescere della frequenza di lavoro della memoria di sistema
aumenta la velocità con la quale quest'ultima trasferisce dati
alla memoria cache, pertanto diminuisce ulteriormente la latenza;
inoltre, in quei casi (a dire il vero frequenti) nei quali la
memoria cache non ha a disposizione un dato e questo deve essere
letto direttamente dalla memoria (si parla di cache miss), il
fatto che quest'ultima lavori ad una frequenza più elevata
permette un aumento delle prestazioni, in quanto l'informazione è
disponibile al processore in un tempo inferiore.
Al crescere delle frequenze di clock dei processori si fa sempre
più evidente il bisogno di frequenze di lavoro più alte per le
memorie di sistema; cache di 1° e 2° livello sempre più grandi
possono ovviare molto bene al gap di velocità tra memoria di
sistema e processore, ma in tutti quei casi nei quali si
verificano dei cache miss le prestazioni tendono ad avere un calo
netto, in quanto il processore deve attendere i dati dalla memoria
di sistema. Per questo motivo tutti i produttori di processori
spingono verso l'impiego ufficiale di frequenze di bus più
elevate; oltretutto, AMD ha introdotto la frequenza di bus di 100
Mhz dalle motherboard Socket 7 anche per aumentare la frequenza di
lavoro della cache L2 (legata, come visto sopra, alla frequenza di
bus), così da avere un impatto ancor più rilevante sulle
prestazioni complessive. E' ora chiaro il motivo per il quale
utilizzare una frequenza di bus elevata permette di ottenere un
aumento delle prestazioni complessive.
|
|
|