Eine Seite ist eine Region des virtuellen Adressraums, und ein Seitenrahmen ist eine Region des physischen Speichers. Eine Seite, die einen Bereich des physischen Speichers abbildet, muss dieselbe Größe wie dieser physische Speicher haben, sonst macht es keinen Sinn.
Sie müssen normalerweise auch korrekt ausgerichtet sein. Wenn Sie beispielsweise versuchen, einen 2-MB-Seitenrahmen dem virtuellen Speicher zuzuordnen, müssen sowohl die virtuelle Adresse als auch die physische Adresse 2 MB ausgerichtet sein.
Viele moderne CPUs unterstützen mehr als eine Seitengröße, und einige können unterschiedliche Seitengrößen im selben Adressraum unterstützen. Der aktuelle Intel x86-64 unterstützt beispielsweise Seitengrößen von 4 KB, 2 MB und 1 GB. Diese Zahlen sind nicht willkürlich; Sie stellen den Adressraum dar, der von verschiedenen "Ebenen" in der mehrstufigen Seitentabelle abgedeckt wird. In ähnlicher Weise unterstützt modernes ARM 4-KB-, 64-KB- und 1-MB-Seiten, obwohl ARM die 1-MB-Seiten nicht als "Seiten" bezeichnet (sie sind "Abschnitte"). ARMv4 und ARMv5 unterstützten die weitere Aufteilung von Seiten in sogenannte "Unterseiten". Diese sind in ARMv7 nicht mehr verfügbar.
Interessanterweise gibt es einige andere Dinge, die oft die gleiche Größe wie die Seitengröße haben. Offensichtlich hat ein TLB-Eintrag die gleiche Größe wie eine Seite oder ein Frame, da er konzeptionell ein Cache für Seitentabelleneinträge ist. Die Größe des L1-Cache wird jedoch häufig auch von der Seitengröße bestimmt.
Angenommen, der L1-Cache ist satzassoziativ (ein direkt zugeordneter Cache ist eigentlich nur ein assoziativer Einweg-Cache, Sie können sich dies als Grenzfall vorstellen), dann ist es oft praktisch, eine "Menge" festzulegen eine physische Seite. Angenommen, die Seitengröße beträgt 4 KB, und der L1-Cache ist ein satzassoziativer 4-Wege-Cache. Die "beste" Größe für den L1-Cache beträgt 16 KB (was vier mal 4 KB entspricht). Sehen Sie, ob Sie selbst herausfinden können, ob dies der Fall ist.