MIT-CS6.828
real mode protected mode and segmentation
前言 在操作系统启动时,会先进入实模式(Real Mode),然后再转换为保护模式(Protected Mode),为什么需要这么做?两种模式的寻址方式有何不同?本文通过Intel 8086和Intel 80286分段寻址的不同来解释这两种模式的区别。 Intel 8086 8086被设计为完全的16位处理器,所有的内部寄存器、内部及外部数据总线都是16位宽,不过它具有20位宽的外部地址总线,这意味着它能够寻址2^20=1,048,576个地址,也就是最大能够支持1MB的寻址空间。这里可能会有疑问,刚才不是说8086是16位处理器吗?怎么能够进行20位地址总线寻址呢?这是由于8086处理器支持分段机制(Segmentation),它能够通过16 * Segment + Offset的方式进行寻址,例如Segment为0xf000,Offset为0xfff0,则进行如下转换: 16 * 0xf000 + 0xfff0 = 0xf0000 + 0xfff0 = 0xffff0 Segment为16位的基地址被存储在段寄存器(Segment Registers),O