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.

 

 

 

Copyright © 1998-2010 [Systems & Networks - P.IVA 01342150479]