第五章中央处理器报告.ppt

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

5.6.3流水线中的主要问题 数据相关 RAW(Read After Write)写后读 后面指令用到前面指令所写的数据 WAR(Write After Read)读后写 后面指令覆盖前面指令所读的单元 WAW(Write After Write)写后写 两条指令写同一个单元 解决办法: 可以推后后继指令对相关单元的读操作 设置相关的直接通路(Forwarding) 5.6.3流水线中的主要问题 3.控制相关 引起原因:转移指令 当前指令有跳转,但流水已经开启后续指令处理过程。 解决办法1:延迟转移法,让跳转的指令接在最后流水入口 解决方法2:转移预测法,用硬件预测将来的行为,提前让转移指令进流水。 【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。 1)I1 ADD R1,R2,R3;(R2)+(R3)-R1 I2 SUB R4,R1,R5;(R1)-(R5)-R4 2)I3 STO M(x),R3;(R3)-M(x) M(x)是存储器单元 I4 ADD R3,R4,R5;(R4)+(R5)-R3 3)I5 MUL R3,R1,R2;(R1)×(R2)-R3 I6 ADD R3,R4,R5;(R4)+(R5)-R3 写后读 读后写 写后写 解: 第1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。 第2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。 第3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。 5.6.4 Pentium CPU Pentium CPU (第一代) 1989年初0.8um工艺,310万晶体管 有60M和66MHz外频两种版本 5V电压,功耗20W 超标量流水线结构 486有一条流水线 Pentium有U和V两条指令流水线 U流水线可以执行所有的整数和浮点指令 V流水线可以执行简单的整数和FXCH浮点指令 双重分离式Cache,减少了等待和搬移数据时间 32位CPU,外部数据总线宽度为64位,外部地址总线宽度为36位 5.6.4 Pentium CPU 非固定长度指令格式,9种寻址方式,191条指令,兼具有RISC和CISC特性,不过我们还是将其看成CISC SL电源管理技术 提供了更加灵活的存储器寻址结构,可以支持传统的4k大小的页面,也可以支持4M大小的页面 动态转移预测技术 Pentium结构图 MESI(Modified Exclusion Share Invalid) BTB(Branch Target Buffer) TLB(Translation Lookaside Buffer) 5.7 RISC CPU 三要素: 有限的简单指令集 大量的CPU通用寄存器 流水及优化 5.7 RISC CPU 特点 (采用流水线技术) 简单而统一格式的指令译码; 大部分指令可以单周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式 采用延迟转移技术 采用LOAD延迟技术 三地址指令格式 较多的寄存器 对称的指令格式 其他。。。。(见书) 5.7 RISC CPU RISC与CISC的对比 P177表5.4 5.7 RISC CPU 实例 MC88110 CPU结构框图(见下图) 12个执行功能部件 3个Cache(指令,数据和目标指令) 两个寄存器堆(通用寄存器堆、扩展寄存器堆) 六条80位宽的内部总线 MC88110 CPU结构框图 MC88110的指令流水线 超标量流水线CPU FD:取指和译码段需要一个时钟周期, EX:执行段,大都只需要一个时钟周期, WB:写回段,只需要时钟周期的一半 采用了直接通路(Forwarding)技术 FD EX WB 指令动态调度策略 按序发射 取两条指令,配对发送,一个周期可以有两条指令执行完毕 如下图: 第一条指令由于资源相关或数据相关,则这两条指令都不发射 若第一条指令能发射,第二条不能发射,只发射第1条指令到EX段,第二条指令等待并新取一条指令与之配对等待发射 5.7 RISC CPU 几个问题: 怎样判断能否发射呢? 可以采用计分牌的方法 如何保证按序完成? F

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档