本文主要来自http://www.blogchinese.com/47463/viewspace-1071664
- 描述符与描述符表
8086是16位处理器,有16位的寄存器和数据总线,20位的地址总线,寻址能力为1MB。地址由段基址和段偏移两部分组成,段基址和偏移地址都是16位的,物理地址的计算方式为:物理地址=段基址×16+段偏移。从80386开始,Intel处理器进入了32位时代,地址总线为32位,寻址能力为4GB。此时,通用寄存器变成从16位变成了32位,但段寄存器仍然是16位的,原来的基地址加偏移值的物理地址计算方法已经不适用了,需要新的计算方法。
386以上CPU运行于保护模式时,虽然段寄存器仍然是16位的,但是其意义已经发生了变化:不再是表示段基地址了,而是表示段描述符在描述符表中的索引。此时,段寄存器的值也有了一个新的名称:段选择子。
段描述符是描述段属性的一个8字节数据结构(抽象出来就是一个结构体),分为三种类型:(数据段和代码段)段描述符、系统段描述符和门描述符。
描述符表是内存中保存一个或者多个描述符的区域,由相关寄存器(

本文介绍了386处理器相对于8086在段寄存器和寻址方式上的变化。在386的保护模式下,段寄存器不再表示段基址,而是作为段描述符在描述符表中的索引。段描述符包含了段的属性信息,描述符表如GDT、LDT和IDT用于存储这些信息。寻址方式转变为使用48位地址指针,通过段选择子和段偏移地址结合段描述符计算线性地址,再经过分页机制转化为物理地址。此外,还介绍了386的寄存器模型,包括通用寄存器的扩展和新增的控制寄存器。
最低0.47元/天 解锁文章
9191

被折叠的 条评论
为什么被折叠?



