Tous les ordinateurs modernes à utilisation générale appartiennent à la catégorie intitulée ordinateurs à progammes stockés. Comme ce terme l'indique, les ordinateurs à progammes stockés chargent les instructions (les éléments de base des programmes) dans un genre de mémoire interne où ils les exécutent ensuite.
Les ordinateurs à programmes stockés utilisent également ce même stockage pour les données. Outres ce type d'ordinateurs, il existe aussi ceux qui utilisent leur configuration matérielle pour contrôler leur fonctionnement (comme les anciens ordinateurs basés sur un tableau de connexions).
Sur les premiers ordinateurs à programmes stockés, l'endroit où les programmes étaient conservés a porté de nombreux noms et utilisait un grand nombre de technologies différentes allant de points sur un tube à rayons cathodiques, à des impulsions de pression dans une colonne de mercure. Heureusement, les ordinateurs modernes ont désormais recours à des technologies dotées de capacités de stockage largement supérieures et de taille bien moindre qu'auparavant.
Il est important de garder à l'esprit tout au long de ce chapitre, que les ordinateurs ont tendance à accéder au stockage de certaines manières. En fait, la plupart des modes d'accès au stockage ont généralement un des attributs suivants (voire les deux):
L'accès a tendance à être séquentiel
L'accès a tendance à être localisé
En mode d'accès séquentiel, si le CPU accède à une adresse N, il est très probable que N+1 sera l'adresse suivante à laquelle le CPU accédera. Un tel mode d'accès est logique dans la mesure où la plupart des programmes se composent de grandes sections d'instructions qui sont exécutées — dans l'ordre — les unes après les autres.
Selon le mode d'accès localisé, si le CPU accède à une adresse X, il est très probable que d'autres adresses voisines de X seront accédées par le CPU dans le futur.
Ces attributs sont essentiels car ils permettent à du stockage plus petit et plus rapide de tamponner efficacement du stockage plus grand et plus lent. Ce principe constitue la base de l'implémentation de la mémoire virtuelle. Avant de passer à la mémoire virtuelle, il convient d'examiner d'abord les différentes technologies de stockage actuellement utilisées.