Die meisten modernen Intel-Prozessoren (x86-64 Architektur) implementieren a
logisch flach Speichermodell. Dies bedeutet, dass der Programmierer unabhängig von der Organisation des physischen Speichers einen einzigen, zusammenhängenden Adressraum sieht. Das Betriebssystem und die Speicherverwaltungseinheit (MMU) verarbeiten die Übersetzung zwischen virtuellen Adressen (vom Programmierer gesehen) und physischen Adressen (wobei die Daten tatsächlich in RAM liegen).
Es ist entscheidend, die Unterscheidung zu verstehen:
* logisch flach: Der Programmierer interagiert mit einem einzelnen, großen Adressraum. Sie müssen nicht explizit verschiedene Speichersegmente oder Banken verwalten. Dies ist es, was die meisten Menschen meinen, wenn sie "Flat -Memory -Modell" sagen.
* physisch flach: Dies würde bedeuten, dass das physische Gedächtnis selbst ein einzelner, zusammenhängender Block ist. Dies ist in modernen Systemen * nicht * der Fall. Das physische Gedächtnis wird oft fragmentiert und über mehrere Module ausgebreitet.
Während Intel -Prozessoren dem Programmierer ein flaches Speicher * Modell * vorlegen, ist die zugrunde liegende physische Speicherorganisation nicht flach. Die MMU ist für die Illusion eines flachen Adressraums verantwortlich.