1

我和我的朋友正在集思广益,讨论一个关于实模式下物理内存寻址的问题,但我们无法解决这个问题。开始。

在实模式下,16 乘以段选择器寄存器并添加到偏移寄存器以获得 20 位物理地址。这因此导致重叠片段的可能性。

EG “段选择器 -> 0040 & 偏移量 -> 0010” = “段选择器 -> 0030 & 偏移量 -> 0110”

据我们了解,段选择器在添加到偏移量之前会移动 4 位。因此,为了避免这种分段,他们为什么不将分段选择器移动 6(将其乘以 64),然后再将其添加到偏移量。在我们看来,这将消除内存重叠的可能性。

这是否与他们在那段时间面临的任何硬件限制有关,或者仅仅是一个设计决定。

4

2 回答 2

1

这是由于设计限制。他们有一个 20 位地址总线,最简单的事情就是让段寄存器选择段落,然后将偏移量添加到它(对于超过 20 位地址总线的部分,它会环绕到内存底部)。

于 2011-04-14T12:52:01.470 回答
1

移动 4 给你一个整兆字节的地址空间。哇!

该设计是在 8 位系统配置为 64 kB 时完成的,适合那些有钱购买那么多内存的人。并且有一个足够大的盒子来容纳所有这些内存板。

这是 16 kB 的样子: http ://www.s100computers.com/Hardware%20Folder/CCS/16K%20RAM/16K%20RAM.htm

如果您要安装 4 MB,则首先必须租用另一个房间来存放内存板!

于 2011-04-14T18:54:07.920 回答