【发布时间】:2015-07-27 00:49:26
【问题描述】:
为什么英特尔选择将段的基数和限制拆分为段描述符中的不同部分,而不是使用连续位?
参见http://css.csail.mit.edu/6.858/2014/readings/i386/s05_01.htm的图5-3
为什么他们不将基地址存储在 0 到 31 位,限制在 32 到 51 位,并将剩余位置用于其他位(或一些类似的布局)?
【问题讨论】:
-
为了与 80286 兼容。80286 的最大段大小为 2^16,最大基数为 2^24。因此,基本字段和限制字段分别为 16 位和 24 位宽。当大小和基数扩展到 32 位时,它们必须放在其他地方,因为好的地方已经被占用了。
-
试图了解英特尔,只会让你发疯。
标签: x86 cpu-architecture memory-segmentation