操作系统研讨1-80386架构的主要寄存器组技术方案.ppt

操作系统研讨1-80386架构的主要寄存器组技术方案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
80386架构的主要寄存器组 研讨第1组 简介-Intel CPU的发展史 早期: 4位微处理器:4004, 8位微处理器:8008,8080 x86时代: 16位微处理器(20地址总线):8086,8088(8位),80186(2^20即:寻址能力为1MB) 16位微处理器(24地址总线):80286(2^24即寻址能力为16MB,多任务,多系统) 32位微处理器(32地址总线):80386(2^32即寻址能力为4GB,全面支持32位数据类型和32位操作),80486 第五代微处理器:Pentium 和Pentium Pro等(32位微处理器,区别在于数据总线和地址总线有所拓展,比如 Pentium 的数据总线达到64 位,而 Pentium Pro 的地址总线位数达到了36位。) 寄存器简介 寄存器就是个存储信息的单元或者说是器件又或者说是容器而已,就比如内存也是一个存储介质或者说是存储单元而已,其实寄存器从理解上来说和内存差不多,只不过寄存器(这里讨论的寄存器都是 CPU 中的寄存器,不包括外设上的寄存器)位于CPU内部,而内存位于 CPU 外部。 而且,寄存器比内存珍贵得多,就拿内存和硬盘来比,内存在使用上珍贵得多,是PC中的稀有资源,而寄存器是 CPU 中的稀有资源,内存和寄存器相比就像硬盘和内存相比一样 。 寄存器简介 不同的 CPU ,寄存器的个数和结构都是不一样的。 比如 8086 CPU 中,寄存器的个数也就 14 个而已,并且 8086 CPU 中所有的寄存器的结构为 16 位,即一个寄存器中可以存放下 2 B 即 2 个字节。 而到了 80386 CPU 中,寄存器的个数也比 8086 增多了,比如在 80386 中添加了系统地址寄存器等寄存器,同时寄存器的结构也变了,比如在 80386 中绝大多数的寄存器为 32 位,而有些寄存器则是 16 位 。 80386架构的主要寄存器组 前四类寄存器大致示意图 详细介绍——通用寄存器 详细介绍——段寄存器 详细介绍——指令指针寄存器 详细介绍——标志寄存器 详细介绍——标志寄存器 详细介绍——标志寄存器 详细介绍——系统表寄存器 详细介绍——控制寄存器 详细介绍——控制寄存器 详细介绍——调试寄存器 详细介绍——测试寄存器 总结 * * * 80386共提供7种类型的32位寄存器,如下: 通用寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI) 段寄存器(CS、SS、DS、ES、FS、GS) 指令指针寄存器和标志寄存器(EIP、EFLAGS) 系统表寄存器(GDTR、IDTR、LDTR、TR) 控制寄存器(CR0、CR1、CR2、CR3、CR4) 调试寄存器(DR0、DR1、DR2、DR3、DR4、DR5、DR6、DR7) 测试寄存器(TR6、TR7) 通用寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI) --------------------- 段寄存器(CS、SS、DS、ES、FS、GS) --------------------- 指令指针寄存器和标志寄存器(EIP、EFLAGS) --------------------- 系统表寄存器(GDTR、IDTR、LDTR、TR) 一组八个通用寄存器是对8086/80286通用寄存器的32位扩展,其用法与在8086/80286中相似,支持8位、16位、32位操作,进行32位操作是,寄存器名称前面冠以“E”。 这八个寄存器的名称如下: EAX(累加器)、EBX(基址)、ECX(计数)、EDX(数据)、ESP(栈指针)、EBP(基址指针)、ESI(源变址)、EDI(目的变址)。 80386比8086/80286增加了两个段寄存器FS、GS。 除CS支持代码段,SS支持堆栈段外,程序员可以利用其它的所有段寄存器支持数据段。 每个段寄存器对应这一个64位高速缓存器(有些资料中说有96位,但值使用其中的64位),这在8086中是没有的(在80286中为48位)。 指令寄存器EIP是对8086/80286指令指针寄存器的32位扩展,它包含着待执行指令的32位偏移量,该值总是相对CS所代表的段基址而言的。 标志寄存器也是对8086/80286标志寄存器的32位扩展,其定义如下图: 其中OF、DF、IF、TF、SF、ZF、AF、PF和CF在8086中就已经存在。 IOPL(I/O Privilege Level)是从80286开始出现的,占2个bit表示I/O特权级,如果当前特权级小于或等于IOPL,则可以执行I/O操作,否则将出现一个保护性异常。IOPL只能由特权级为0的程序或任务来修改。 NT(Nested Task)

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档