繁体   English   中英

段偏移对bs段描述符

[英]Segment Offset Pair bs Segment Descripter

对于8088中用于物理地址计算的段偏移对与32位处理器中的段描述符之间的区别,我一点都不感到困惑。

任何解释将不胜感激。

16位CPU只能寻址64kB的内存。 为了扩展内存范围,引入了一些段,这些段基本上定义了pchyscak可用内存中64KB窗口的基本地址。

要获取指针所指向的pyhscial地址,您必须将段值乘以10h(16),然后加上偏移量地址。 即。 如果你有这样的地址

145A:67B1

 145A0   (+10h or << 4)
+ 67B1
------
 1AD51   <- Physical memory address

保护模式描述符类似于这种段,但是具有附加信息。 它的长度可以达到1-64KB(x286),并包含有关产品级别和状态的信息。 特权级别用于使OS更加安全和独立于用户空间,状态标志用于虚拟内存。

在386上,扩展了范围,因此段现在可以达到1MB,并添加了粒度,因此段现在是4096块的倍数,从而将段大小扩展到了4GB。

描述符中的另一个属性是将段设置为16或32位模式,以便16代码仍然可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM