80386~PII寄存器结构(仅供与8086对比)
8086/8088内部组成结构
*标志寄存器
*地址加法器
物理地址=段地址*16+段偏移
*寄存器分类
注:cs:ip确定下一条待执行指令地址.
80286以上CPU有实模式和保护模式两种寻址方式。
保护模式时,用选择符和描述符来寻址存储器。段寄存器放的是选择子,通过选择子到描述符找到段基地址,段基地址+偏移量为内存中的物理地址。
- 选择符(段选择符)
段寄存器(CS,DS,SS,ES,FS,GS)
选择符共有 13 位,因此,每张描述符表共 可有 8K个表项,而一个表项占 8 个字节,因此一张描述符表最大可达 64K。
- 描述符(段描述符)—基址+界限+属性
-
寻址示意图
如果将“段选择子”的最后 3 位置位零,这整个段选择子其实就是一个描述符在描述符表中的偏移量,这样安排,可以使选取一个描述符的速度极大加快,因为将一个段选择子最后 3位清零后与描述符表的基址相加, 就立即可以得到一个描述符的物理地址,通过这个地址就可以直接得到一个描述符。那么这个描述符表的基址又是放在哪儿的呢?答案是GDTR
- 实例
- 程序不可见寄存器(保存段描述符)
内存分页是80386微处理器开始引入的一种重要技术。CPU内有分页部件。可以只采用段式寻址,也可以只采用页式寻址,也可以采用段页式寻址。
- 从线性地址到物理地址
- 页目录描述符&页描述符
AVL=可使用位
D=出错/未出错
A=该页(页表) 已访问/未访问
V=用户/监控 使用
W=该页(页表) 允许/不允许写
P=该页(页表) 存在/不存在
更新于2009-06-01 10:28:15
既有段式寻址,也 有页式寻址。80386以上CPU采用。