Come funziona una CPU: introduzione alle memorie #0.5

Ogni sistema di elaborazione contiene dispositivi per la memorizzazione di dati ed istruzioni. Nell’articolo di oggi vediamo una breve introduzione alle memorie.

Negli articoli precedenti abbiamo visto:

Ogni sistema di elaborazione contiene dispositivi per la memorizzazione di dati ed istruzioni.

L’insieme di tali dispositivi, e degli algoritmi per la loro gestione, costituisce il sotto-sistema di Memoria.

Tale sotto-sistema deve essere realizzato in modo che:

  • il processore debba attendere il meno possibile per accedere a dati o istruzioni;
  • il costo del sistema di Memoria sia minimo (il costo per bit delle memorie è proporzionale alla loro velocità);

Si deve quindi cercare un compromesso tra il costo del sotto-sistema di Memoria e le sue prestazioni. Nel tempo si è osservato che, mentre la velocità dei processori raddoppia ogni anno e mezzo, la velocità delle memorie raddoppia ogni 10 anni:

Pertanto, si nota che la differenza di velocità tra processori e memorie cresce progressivamente negli anni!

Livelli di memorie

La Memoria di un calcolatore è normalmente organizzata in livelli.

Il numero di livelli dipende dal tipo di sistema e di applicazione. Ogni livello è caratterizzato da un diverso tipo di Memoria (in termini di velocità e dimensione, e quindi costo).

Obiettivo

Ottimizzare il Sistema di Memoria in modo tale da minimizzare il tempo medio di accesso per i tipici programmi che utilizziamo (workload):

  • Le informazioni sono distribuite in modo dinamico tra i vari livelli a seconda della relativa frequenza di accesso;
  • In tal modo si raggiungono prestazioni comparabili con quelle della Memoria più veloce, a prezzi comparabili con quelli della Memoria più lenta;

Principio di località dei riferimenti

Un riferimento in Memoria tende ad essere ripetuto dopo poco tempo: località temporale.

Un riferimento in Memoria tende ad essere a locazioni vicine a quelle usate recentemente: località spaziale.

Le implicazioni del principio di località sono le seguenti:

  • Posso utilizzare piccole memorie veloci per mantenere i riferimenti in Memoria più utilizzati dal processore;
  • Se i riferimenti utilizzati non possono essere soddisfatti nella Memoria veloce creo un secondo livello di Memoria un po’ più grande e un po’ meno veloce;
  • Posso reiterare questo ragionamento per N livelli di Memoria: Gerarchia di Memoria;

memorie

memorie

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.