Assembly/Organizzazione di sistema/Tempo di sistema/Memoria Cache

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

La memoria cache sfrutta il principio di località , secondo il quale se all'istante t la cpu genera un indirizzo di memoria xNNNN , è molto probabile che nell'immediato futuro generi di nuovo lo stesso indirizzo o indirizzi vicini "locali" all'indirizzo xNNNN.

Il principio di località ha due motivazioni

  • Località spaziale: il fetch delle istruzioni procede in celle consecutive; i programmi sono organizzati in moduli, con le variabili dei singoli moduli memorizzate in celle vicine.
  • Località temporale: l'essenza della programmazione sono i cicli, dunque le istruzioni e le variabili vengono riutilizzate.

Sfruttare il principio di località per creare la memoria cache[modifica]

Quando la cpu genera un indirizzo di memoria, si porta il contenuto della cella richiesta e un certo numero di celle vicine (blocco) in una memoria più della DRAM. Questa memoria viene appunto chiamata cache.

La memoria cache serve a sfruttare statisticamente il fatto che di tutte le celle della memoria di lavoro solo un sottoinsieme è di più probabile richiesta da parte della CPU, dunque serve a velocizzare gli accessi alla memoria di lavoro.