Differenze tra le versioni di "Architetture dei processori/Cache"

Nessun cambiamento nella dimensione ,  14 anni fa
nessun oggetto della modifica
{{Architettura dei processori}}
 
I processori nel corso degli anni sono diventati sempre più veloci mentre le [[w:Memoria (informatica)|memorie]] per computer non hanno avuto un incremento paragonabile quindi mentre negli anni '70 le memorie erano significativamente più veloci dei processori dagli anni '90 in poi i microprocessori sono diventati molto più veloci delle memorie. Per impedire al processore di passare più del 90% del suo tempo ad attendere i dati dalla memoria si è deciso di dotare i processori di una ridotta quantità di memoria molto veloce dove conversareconservare i dati utilizzati di frequente. Questa scelta deriva dalla constatazione che sebbene i programmi utilizzino molta memoria in realtà passano più del 90% del loro tempo ad accedere alle stesse locazioni di memoria.
 
Essendo le cache una copia della memoria la copia deve essere fedele ed aggiornata, disallineamenti tra ciò che si trova in cache e lo stato della memoria può portare ad errori di elaborazione. Nel caso si voglia realizzare una cache che contenga anche i dati da elaborare bisogna progettare accuratamente il processore in modo da impedire disallineamenti tra lo stato della memoria e lo stato della cache. In un sistema con più processori infatti esistono appositi protocolli che invalidano il contenuto della cache di un microprocessore nel caso la cache non sia aggiornata con lo stato nella memoria. Questi meccanismi aumentano la complessità circuitale e riducono le prestazioni dei processori ma sono indispensabili per ottenere un'elaborazione corretta dei programmi.
Utente anonimo