x86CPU保护模式下的寻址原理的个人理解
个人理解:
实模式是 段地址:偏移地址,并且两者都是16位
而保护模式下,偏移地址是32位,可以控制到长达4GB的空间 段索引:偏移地址(这个段索引和实模式段地址一样是16位)
和实模式对比着看,段寄存器依然存储的是段的位置,只不过和实模式不同,它存储的不再是直接的物理地址,
而是一个段的索引,这个索引是段表的索引,有一个对应的段描述符,这个段描述符保存着段的物理地址基址和长度
所以此时的物理地址,实际上是偏移地址+段索引找到的段物理机制,并且偏移地址要小于等于长度,否则会发生中断!!所以知道为什么叫保护模式了吧
再更通俗的讲,保护模式的段地址是一个指向真段基址的一个指针(或者说是索引),而实模式是直接存储的段基址
并且,保护模式的段长是变化的,可以小到1B,可以大到4GB,而实模式的段长最多64KB(0-FFFF)
这个段表可以是GDP也可以是LDP,这部分内容可以结合着操作系统分段分页一起看,能有更佳的体验效果