一、实模式寻址
-
CPU 在实模式下,地址总线只有 20 位,寻址空间为 1 M。
-
20 位的目标物理地址取决于两个条件,一是 16 位的段基址,二是 16 位的偏移地址。
-
20 位目标物理地址 = ( 16 位段基址 << 4 ) + 16 位偏移地址
-
段基址由 16 位段寄存器给出,偏移地址由机器指令操作数给出。
二、保护模式寻址
-
CPU 在保护模式下,地址总线有 32 位,寻址空间为 4 G。
-
32 位的目标物理地址取决于两个条件,一是 16 位的段选择子 ,二是 32 位的偏移地址 。
-
16 位的段选择子由 16 位段寄存器给出,偏移地址由机器指令操作数给出。
-
16 位段寄存器的高 13 位(第 3~15 位共 13 位)作为全局描述符表中对应段描述符的索引,找到段描述符后,取出其中的 32 位段基址 ,20 位段界限 和 1 位粒度标志 ,设段最大长度为 ,若 为 1,则 ,若 为 0,则 。通过特权级检查后,则取出偏移地址 O,若 ,则触发异常,若 ,则允许访问。