De meeste moderne Intel-processors (x86-64-architectuur) implementeren een logisch plat geheugenmodel. Dit betekent dat de programmeur één enkele, aaneengesloten adresruimte ziet, ongeacht de fysieke geheugenorganisatie. Het besturingssysteem en de geheugenbeheereenheid (MMU) zorgen voor de vertaling tussen virtuele adressen (gezien door de programmeur) en fysieke adressen (waar de gegevens zich feitelijk in het RAM bevinden).
Het is cruciaal om het onderscheid te begrijpen:
* Logisch plat: De programmeur communiceert met een enkele, grote adresruimte. Ze hoeven niet expliciet verschillende geheugensegmenten of -banken te beheren. Dit is wat de meeste mensen bedoelen als ze 'plat geheugenmodel' zeggen.
* Fysiek vlak: Dit zou betekenen dat het fysieke geheugen zelf één enkel aaneengesloten blok is. Dit is *niet* het geval in moderne systemen. Fysiek geheugen is vaak gefragmenteerd en verspreid over meerdere modules.
Hoewel Intel-processors een plat geheugen *model* aan de programmeur presenteren, is de onderliggende fysieke geheugenorganisatie niet vlak. De MMU is verantwoordelijk voor de illusie van een platte adresruimte. |