In un computer hai un sacco di diversi strati di memoria, che puoi immaginare "più vicini" o "più lontani" dal processore.
I ricordi vicino al processore sono veloci ma piccoli e quelli lontani dal processore sono grandi ma lenti.
La memoria più veloce è composta dai registri del processore, a cui può accedere immediatamente il processore. Quindi hai la cache di dati L1, che in genere è 32K e puoi accedervi in un solo ciclo di clock, quindi cache L2 / L3, che sono grandi pochi MB (da 2M a 12M) e sono accessibili in decine di cicli di clock. Poi arriva la memoria principale, che è molto più grande (alcuni gigabyte) ma è molto lenta (è possibile accedere a centinaia di cicli di clock). Poi arrivano i dischi, che sono centinaia di gigabyte grandi ma veramente lenti;)
Questo è comunemente noto come gerarchia di memoria.
Quello che vuoi, idealmente, sono ricordi grandi come i dischi, ma veloci come i registri. Per avvicinarsi il più possibile a questo, i dati vengono continuamente spostati dalla RAM ai registri e viceversa.
Chi fa tutto questo? Bene, la gerarchia è gestita in modo automatico da L1 fino alla memoria principale dal processore, mentre la memoria principale e il disco sono gestiti dal sistema operativo in collaborazione con il processore.
L'intera storia è molto più tecnica e complicata, ma spero che questo ti dia alcune intuizioni;)