第九章 32位CPU和Windows基础.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 32位CPU及Windows基础 9.1 保护模式基础 在保护模式下: 寻址高达4GB的物理地址空间 支持存储器分段管理机制和分页管理机制 支持多任务 支持4个特权级和配套的特权检查机制 区分不同级别的代码 9.1.1 32位CPU内部结构 1.总线单元 总线单元是CPU与存储器和I/O的接口 总线接口对外提供:32位(或64位)数据总线、32位(或36位)地址总线以及控制总线 总线单元负责完成所有外部总线操作,能够产生控制地址锁存器和数据总线收发器工作的控制信号。 2.指令预取单元 指令预取单元实现指令流队列的机制 CPU可以预取16字节的指令代码 预取进来的指令要保存在FIFO队列中 3.指令译码单元 指令译码单元接收FIFO队列的输出 指令译码单元将接收到的机器代码指令译 码为微代码指令,并供执行单元使用 4.执行单元 执行单元取出译码后的指令并执行该操作,包括: 算术逻辑单元ALU 寄存器组 专用乘法器 移位器 控存(ROM) 5.分段和分页单元 分段和分页单元负责地址产生、地址转换和对总线接口单元的段检查。 CPU存储器管理的分段单元用硬件进行高速地址计算,完成逻辑地址到线性地址的转换和保护性检查。 分页单元实现保护模式下的分页机制,它可以将线性地址转换成物理地址,并由总线单元输出。 6.浮点运算单元 浮点运算单元集成在80486及以上的CPU中 对于80386,需要另外一个数学运算协处理器80387来执行浮点运算。 7.高速缓存单元 高速缓存单元将最近被访问的内存单元的内容保存在CPU内部的Cache中。 下次访问这些内存单元时,CPU直接访问Cache就可以存取这些单元的内容。 由于Cache的访问速度比内存快,高速缓存单元能够显著提高程序的运行速度。 1.全局描述符表寄存器GDTR 全局描述符表GDT是用来定义全局存储器空间的一种机制,它用段描述符说明一个全局存储器中的段,每个GDT最多含有8192个描述符(8192?8?64KB)。 用全局描述符表寄存器GDTR指出GDT的位置和大小。 GDTR是48位的寄存器。其最低16位是限长,给出GDT的字节大小;其高32位是基址,指出GDT在物理存储器中存放的基地址。 例如:GDTR=0E003F0003FFH,则说明GDT的地址为0E003F000H,长度为3FFH+1=400H。其中可容纳400H/8=80H个段描述符。 2.中断描述符表寄存器IDTR 中断描述符表IDT中保存着中断门描述符; IDT最多包含256个门描述符,CPU最多支持256个中断。 中断描述符表寄存器IDTR是48位的寄存器。其最低16位是限长,给出IDT的字节大小;其高32位是基址,指出IDT在物理存储器中存放的基地址。 例如: IDTR=0E003F40007FFH,则说明IDT的地址为0E003F400H,长度为7FFH+1=800H。其中可容纳800H/8=100H个中断门描述符。 3.局部描述符表寄存器LDTR 局部描述符表LDT含有与系统中某一个任务相关的各个段的描述符; 局部描述符表寄存器LDTR并不直接指出LDT的位置和大小,而是指向一个LDT描述符,由LDT描述符指出LDT的位置和大小。 4.任务寄存器TR 任务寄存器TR在保护模式的任务切换机制中使用。 TR是16位的选择符,其内容为索引值,它选中的是TSS描述符。 任务状态段TSS中包含启动任务所必需的信息。它在存储器的基地址和限长(大小)由TSS描述符指出,TSS描述符放在全局描述符表GDT中,而TR内容指出了TSS描述符在GDT中的顺序号。 5.控制寄存器 存在着4个系统控制寄存器CR0~CR3。CR0的低5位是系统控制标志,被称为机器状态字MSW。MSW中各位的含意: PE:保护模式允许标志 等于0为实模,等于1为保护模式 MP:运算协处理器存在位 等于1表示系统中有运算协处理器。 6.调试寄存器DR 调试寄存器提供高级的调试功能 例如:可以设置一个数据断点,在程序访 问某个数据时激活调试程序。 程序要访问的内容不在内存中,CPU会产生一个异常,由操作系统的存储器管理程序来处理,将所需的内容装入内存中。这就是所谓的虚拟存储器,它并不完全是真正的内存空间,也称做虚拟内存。 1. 段寄存器CS,DS,ES,SS,FS,GS 在实模式下,它们的用法和16位CPU相同。 在保护模式下,段寄存器不直接存放段基址,而是存 放一个索引,由索引从GDT或LDT中找到段描述符,从而 确定关于这个段的全部

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档