计算机组织与结构(雷建军)7.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组织与结构(雷建军)7

指令周期流程 取指周期 执行周期 有间址吗? 有中断吗? 间址周期 中断周期 是 是 否 否 一个完整的指令周期状态图 7.3.3 数据通路及其基本要素 计算机运行的主要任务就是建立数据通路,控制数据在计算机的各个部件之间有序的流动。 (a) ALU 的示意图 (b)程序计数器,可以赋值,如跳转 (c)存储器,存储程序或数据 (c)寄存器组 7.3.4 指令子周期的数据通路 取指子周期 MBR CU MAR PC IR 存储器 CPU 地址总线 数据总线 控制总线 IR +1 间址子周期 MBR CU MAR CPU 地址总线 数据总线 控制总线 PC IR 存储器 MBR 中断子周期 MBR CU MAR CPU 地址总线 数据总线 控制总线 PC 存储器 写数据 SAVE_ADDRESS INT_ADDRESS 执行子周期 双寄存器指令 ADD R1,R2 执行子周期 存储器寻址 ADD R1,[#] 完整的数据通路 7.4 Pentium处理器 1993年586( Pentium )微处理器 数据总线64 位,地址总线36 位; 它采用了超标量体系结构,分支预测技术; 独立的指令、数据高速缓冲存储器; 高性能浮点运算部件; 128 位、256 位内部数据总线以及64 位可成组传送的外部总线的等技术; 由总线部件、指令Cache、数据Cache、预取缓冲存储器、指令译码部件、整数运算部件、浮点运算部件、MMX 单元和存储管理部件等功能部件组成。 1、Pentium处理器的结构框图 2、Pentium处理器的寄存器组 1)用户可见寄存器 通用寄存器、指令指针寄存器、标志寄存器和段寄存器, 用于浮点运算的浮点数寄存器、浮点标记寄存器、浮点指令指针、数据指针和控制字寄存器。 (1)通用寄存器、 有8 个32 位通用寄存器 (2)指令指针寄存器 (3)标志寄存器 32位标志寄存器分为两大类: 状态标志位:如CF、PF 和OF 等,表示指令执行结果的特征状态; 控制标志位:如IF、DF 等,用来控制CPU 的操作。 (4)段寄存器 有6 个16 位段寄存器:CS、DS、SS、ES、FS 和GS。 CS 寄存器指向当前正在执行的指令所在的段,由操作系统设置,对用户是透明的。 SS 寄存器指向用户可见的堆栈段。 DS、ES、FS 和GS 允许用户一次可访问多达4 个不同的数据段。 2)系统级寄存器 系统级寄存器包含4个控制寄存器和4个系统地址寄存器。 作用:控制微处理器的片内Cache、运算部分的浮点附件以及存储管理部分。只在系统程序中才能使用。 3)调试寄存器和测试寄存器 有8 个调试寄存器DR0-DR7 有5 个32位的测试寄存器TR3-TR7 4)用于浮点单元的寄存器组 数值寄存器:共有8 个数值寄存器(R0-R7),每个寄存器80 位,能保存扩展精度格式的浮点数。操作与堆栈一样。 控制寄存器( 16 位):用于控制浮点单元操作,包括舍入类型控制,单、双或扩展精度控制; 状态寄存器( 16 位):反映浮点单元当前的状态,包括一个指向堆栈栈顶的3 位指针和报告最后运算结果的条件代码; 标记字寄存器( 16 位):为每个浮点数值寄存器分配2 个标记位(有效、零、特殊数和空) 指令指针寄存器和数据指针寄存器(48位):分别用于被异常中断时的指令和操作数的指针。 5)MMX寄存器 主要针对64 位数据类型进行操作; 使用3 位寄存器地址字段,可以寻址8 个MMX 寄存器(没有专门的MMX寄存器,直接映射到8个浮点寄存器中)。 使用浮点寄存器来执行MMX 指令的一些关键特性: 浮点寄存器在浮点运算中是作为堆栈来对待。但在MMX操作中,这些寄存器是直接寻址的。 在任何浮点运算之后开始执行MMX指令时,浮点寄存器的相应标记字字段的值应设为有效。访问方式由堆栈操作方式变换到直接寄存器寻址方式。 在一个MMX代码块结束时要插入EMMS指令。 EMMS指令设置浮点寄存器标记字字段,令其指示所有寄存器都是空的,能使后面的浮点运算正常运行。 当一个值写入MMX寄存器时,浮点寄存器的79位~64位被置为全1。如果以浮点数来看待这些寄存器时,它们的值是无穷大或NaN,不会被看成有效的浮点数。 3、Pentium处理器的中断处理 1) 中断和异常 中断:是一个信息,它告诉计算机在执行正常程序的处理器已发生了某种需要特别注意的事件,需要暂时中断正在执行的正常程序,转去执行对这一事件的处理操作。当处理完毕后,CPU 再回到被暂时中断的程序,接着往下继续执行。 异常:当一条特定指令执行过程中或执行结束时,产生不正常的或非法的状态。一般来讲,异常是和特定指令的

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档