我和我的朋友正在集思广益,讨论一个关于实模式下物理内存寻址的问题,但我们无法解决这个问题。开始。
在实模式下,16 乘以段选择器寄存器并添加到偏移寄存器以获得 20 位物理地址。这因此导致重叠片段的可能性。
EG “段选择器 -> 0040 & 偏移量 -> 0010” = “段选择器 -> 0030 & 偏移量 -> 0110”
据我们了解,段选择器在添加到偏移量之前会移动 4 位。因此,为了避免这种分段,他们为什么不将分段选择器移动 6(将其乘以 64),然后再将其添加到偏移量。在我们看来,这将消除内存重叠的可能性。
这是否与他们在那段时间面临的任何硬件限制有关,或者仅仅是一个设计决定。