欢迎来到天天文库
浏览记录
ID:49464498
大小:100.50 KB
页数:9页
时间:2020-02-05
《Intel X86 CPU系列的寻址模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、IntelX86CPU系列的寻址模式内容简介系统启动工作流程寻址模式实地址模式保护模式如何转入保护模式为什么用保护模式参考资料系统启动工作流程CPU开始从特殊地址执行(CS=0xffff,IP=0x0000)执行BIOS初始化寄存器和堆栈指针;硬件检测跳到第一个引导扇区加载模块到0x7C00地址处执行进入保护模式,初始化内核系统加电实地址模式?保护模式??寻址模式-------实地址模式问题:8086是16位处理器.要寻址1M的地址空间解决方法:采用分段方法.设置四个段寄器:CSDSSSES.
2、每一个段寄存器的16位对应于地址总线的高16位.每一个访内指令的内部地址都是16位的.这样就形成了20位的实际地址.新的问题没有地址空间的保护机制一个进程总能访问64K的连续地址空间改变寄存器的基址不需要什么”特权指令”在这个寻址方式的基础上,无法建造现代意义的操作系统寻址模式------保护模式过渡阶段-----Intel80286能从实地址模式到保护模式,不能从保护模式到实地址模式正式阶段-----Intel80386在段寄存器基础上构建保护模式,保留了16位段寄存器.增添了两个段寄存器FS和G
3、S.还要增添地址段的长度访问权限等等.这些必须维持一个数据结构.基本思路:在保护模式下改变段寄存器的功能,使其从一个单纯的基地址变成指向这样一个数据结构的指针.保护模式寻址过程根据指令的性质来确定使属于哪一个寄存器根据段寄存器的内容,找到相应的地址段描述结构从地址段描述结构中得到基地址将指令中发出的地址作为位移,与段描述结构中规定的段长度相比,看是否越界.根据指令的性质和段描述符中的访问权限来确定是否越权.将指令中发出的地址作为位移,与基地址相加得到物理地址.寻址模式------保护模式(续)如何
4、转入保护模式我们看到CPU在执行第一个引导扇区模块时,执行到相应的代码处,就转入保护模式80386新增了两个寄存器:全局性断描述表寄存器GDTR和局部性的断描述符表寄存器.访问这两个寄存器的专用指令已经设计成”特权指令”,从实地址模式转入保护模式就要设置GDTR在这个基础上,段寄存器的高13位用做仿访问段描述结构的下标.与GDTR或者LDTR中的基地址相加得到描述表项的起始地址.如何转入保护模式(续)段选择符结构图如何转入保护模式(续)段描述表项定义图
此文档下载收益归作者所有