La gerarchia della memoria è la gerarchia della memoria e dei dispositivi di archiviazione presenti in un computer. Spesso visualizzato come un triangolo, la parte inferiore del triangolo rappresenta dispositivi di archiviazione più grandi, più economici e più lenti, mentre la parte superiore del triangolo rappresenta dispositivi di archiviazione più piccoli, più costosi e più veloci. Questo è spesso usato nella teoria e nella progettazione dei calcoli, quindi i programmatori sanno come gestire i diversi sistemi di memoria quando costruiscono un computer. Sapendo come manipolare questa gerarchia, i programmatori possono costruire computer più veloci.
Il triangolo della gerarchia della memoria è una tecnica di visualizzazione che aiuta i consumatori e i programmatori a capire come funziona la memoria. In fondo, ci sono dispositivi di archiviazione economici con grandi quantità di memoria, come il disco rigido o il nastro magnetico. Più in alto, c’è la memoria ad accesso casuale (RAM), che ha capacità e velocità medie. Nella parte superiore si trovano la cache e i processori, entrambi molto veloci ma con capacità ridotte. Il triangolo è organizzato principalmente in base al tempo di risposta, ma esiste anche una correlazione tra fattori quali dimensioni, capacità di memoria e prezzo.
Quando costruisce un computer, il programmatore deve tenere a mente il triangolo della gerarchia della memoria. Mentre le parti del triangolo possono essere manipolate, spostare le sezioni è rigorosamente contro le regole. Ad esempio, un programmatore potrebbe cambiare il ruolo del disco rigido nel ruolo della RAM. Se ciò accade, il computer sarebbe molto lento durante il caricamento di informazioni immediate come file e siti Web e sarebbe in grado di contenere pochi dati per l’archiviazione a lungo termine, rendendo il computer quasi inutile. Scambiare parti del triangolo non è il modo corretto per massimizzare il potenziale di un computer.
Manipolare il triangolo nel modo giusto è il modo in cui i programmatori aumentano l’efficienza di un computer. Ad esempio, se le unità di archiviazione sono realizzate per essere molto semplici, con dimensioni e complessità inferiori, la gerarchia della memoria funziona meglio. Inoltre, se i programmatori riescono a fare in modo che le informazioni possano essere elaborate nelle sezioni più alte della gerarchia, ad esempio utilizzando il processore anziché la RAM, il computer si muove più velocemente. Questo non sposta le sezioni, le ottimizza solo.
Sebbene la visualizzazione della gerarchia della memoria sia molto semplice e la memoria possa essere manipolata per andare in sezioni diverse, è difficile sapere esattamente dove verrà archiviata o utilizzata la memoria. I programmatori devono stimare questo fattore, perché diverse unità generalmente elaboreranno la memoria contemporaneamente, oppure la memoria può passare da una sezione all’altra. I programmi ben fatti saranno in genere in grado di prevedere dove verrà archiviata o elaborata la memoria, ma esiste un fattore casuale di cui i programmatori non possono sempre tenere conto, motivo per cui la gerarchia della memoria è molto più fluida di quanto la visualizzazione a triangolo faccia sembrare.