X86120CPU.docVIP

  • 4
  • 0
  • 约 19页
  • 2016-12-29 发布于重庆
  • 举报
X86 CPU在段式管理下的地址形成机制 以及BIOS初始化过程对这种机制的利用 陈英豪 中科院计算所 2005-7-28 我们对x86 cpu的多少年来的某些刻骨铭心的理解可能是不正确的。这里之所以用了“可能”一词,是因为下面的一些结论是建立在我自己的实验和推测的基础之上的,没有绝对的把握,但我基本上都是以官方的手册或资料(当然还包括从网上收罗到的一大堆高手们写作的很有价值的但却很难找到出处的非官方资料)作为实验和推测的根据,所以这些结论也绝不是臆想出来的,并且在很大程度上具有说服力。另外为了帮助理解,我对某些问题的相关基础知识都作了适当的补充。下面切入正题。 一、x86的地址翻译机制(知识准备) 由于历史原因,在存储管理上,80x86系列的所有cpu都支持段式管理方式(分段方式),并且分段是地址翻译的必经阶段(后面提到的分页是可选的)。我们把段式地址翻译之前所使用的“段基址 : 偏移量”的地址形式,也就是程序员使用的地址形式称为虚拟地址,很显然虚拟地址是二维的。而虚拟地址经过段翻译后得到的地址称为线性地址,这时的线性地址已经变成平坦的一维的形式了。如果不分页,这个线性地址就是实际的物理内存地址(简称物理地址)了。如果启用分页机制,再由分页地址翻译机制将线性地址译成物理内存地址。最后形成的物理地址显然也是一维的。整个地址翻译过程可以用下图来表示: 二、关于神秘

文档评论(0)

1亿VIP精品文档

相关文档