La plupart des processeurs Intel modernes (architecture x86-64) implémentent une architecture logiquement plate modèle de mémoire. Cela signifie que le programmeur voit un espace d'adressage unique et contigu, quelle que soit l'organisation physique de la mémoire. Le système d'exploitation et l'unité de gestion de la mémoire (MMU) gèrent la traduction entre les adresses virtuelles (vues par le programmeur) et les adresses physiques (où les données résident réellement dans la RAM).
Il est crucial de comprendre la distinction :
* Logiquement plat : Le programmeur interagit avec un seul et grand espace d'adressage. Ils n'ont pas besoin de gérer explicitement différents segments ou banques de mémoire. C’est ce que la plupart des gens veulent dire lorsqu’ils parlent de « modèle à mémoire plate ».
* Physiquement plat : Cela signifierait que la mémoire physique elle-même constitue un bloc unique et contigu. Ce n'est *pas* le cas dans les systèmes modernes. La mémoire physique est souvent fragmentée et répartie sur plusieurs modules.
Par conséquent, même si les processeurs Intel présentent un *modèle* de mémoire plat au programmeur, l'organisation de la mémoire physique sous-jacente n'est pas plate. La MMU est responsable de l’illusion d’un espace d’adressage plat.
|