Cosa memorizza i programmi e i dati che sono attualmente utilizzati dalla CPU?

L'architettura generale di un'applicazione per computer, per quanto riguarda l'uso di una CPU è la seguente:

Per operare sui dati, questi vengono estratti dal disco rigido e messi in RAM, mentre le operazioni vengono operate, tuttavia vengono poi spostate dalla RAM nelle cache della CPU, 2/3 sono per i dati che è meno probabile che vengano utilizzati immediatamente, e le cache L1 contengono i dati che è molto probabile che vengano utilizzati, o che vengono utilizzati al momento.

Perché questo accade è che;

A] Le applicazioni possono sembrare piccole, ma in termini di ciò che una CPU può agire in un singolo processo, sono ordini di grandezza maggiori, e la maggior parte dell'applicazione stessa non dovrà essere elaborata in alcuni casi.

B] La RAM trattiene i dati in modo molto più efficace di quanto faccia lo Storage, ci vogliono ordini di grandezza più lunghi per prelevare dati da un disco rigido che dalla RAM.

C] Le cache, ( L3/L2/L1) sono tutte utilizzate a seconda di quanto sia vicina o probabile l'esecuzione del codice, dove L1 è immediatamente operabile/molto probabile, L2 è abbastanza probabile, L3 ecc.

Quindi la pipeline per un processo operativo è che viene estratta dal disco rigido quando viene chiamata l'applicazione stessa.

Nel momento in cui il codice viene eseguito, viene tirato nella cache.

Una volta che il codice ha completato l'azione, viene scartato di nuovo nella cache o nella RAM.