MIPS指令五级流水CPU设计讲述.ppt

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

暂停流水线 一旦发生此类冲突 暂停流水线一个时钟 让当前指令的控制信号全部为0,即不进行任何写入操作 让PC值保持不变 让IF/ID段寄存器保持不变 能处理数据冲突的数据通路 3.控制冲突 流水线的控制冲突是因为程序执行转移类指令而引起的冲突。转移类指令如无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中可能改变程序的方向,从而造成流水线断流。 数据冲突影响到的仅仅是本条指令附近少数几条指令,所以称为局部冲突。而控制冲突影响的范围要大得多,它会引起程序执行方向的改变,使流水线损失更多的性能,所以称为全局冲突。 控制冲突会使流水线的连续流动受到破坏。当执行条件转移指令时,有两种可能结果: 如发生转移,将程序计数器PC的内容改变成转移目标地址; 如不发生转移,只将PC加上一个增量,指向下一条指令的地址。 数据冲突 由于数据的缺失引发 控制冲突 由于PC的缺失引发 条件转移和无条件转移指令 控制冲突对性能影响更大 IF在指令流水的第一个阶段 所有指令都要在IF阶段使用PC 对转移指令,至少要到ID阶段才能得到正确的PC 暂停流水线一个或两个周期,直到分支指令达到MEM段确定了新的PC值为止 控制冲突的处理 暂停流水线 直到有了正确的转移地址 造成性能的降低 预测分支不成功 顺序执行下一条指令 预测失败后要清除错误启动的指令 预测分支成功 更复杂一些,因为要计算转移目的地址 预测失败后要清除错误启动的指令 动态预测 硬件根据上次分支的结果进行本次预测 编译器处理 延迟槽 支持流水的CPU 为什么利用率低?可以举例说明. 如何让各部件满负荷运行? * * 要实现指令流水,应该尽量将指令的不同步骤分解到不同的资源上去完成。并且,使指令的不同步骤之间,不竞争使用同一资源。这显然需要有指令系统的支持。 * 可以把数据通路划分成5个部分,第一部分为取指令部分,。。。 如果需要进行指令流水操作,我们需要进行哪些改进? * B的选择中还少一个imm的选择 * * 增加了两个部件:旁路部件和冲突检测部件 4.5.1 多周期CPU回顾 4.5.2 指令流水基本概念 4.5.3 MIPS指令流水的实现 4.5 MIPS指令五级流水CPU设计 4.5.1 多周期CPU回顾 多周期CPU特点 指令的执行划分为多个步骤 每个步骤占用一个CPU周期 不同指令的指令周期不同 指令串行执行 提高了整体性能 各部件利用率依然偏低 CPI 1 可以如何改进呢? 2. 指令的二级流水 1. 指令的串行执行 取指令 取指令部件 完成 总有一个部件 空闲 指令预取 若 取指 和 执行 阶段时间上 完全重叠 指令周期 减半 速度提高 1 倍 … 执行指令 执行指令部件 完成 取指令 1 执行指令 1 取指令 2 执行指令 2 取指令 3 执行指令 3 取指令 2 执行指令 2 取指令 1 执行指令 1 时间? 4.5.2 指令流水基本概念 一、指令的几种执行方式 二、 流水线操作时空图 装入阶段 稳定流水阶段 排空阶段 执行操作 取数操作 分析指令 取指令       1 2 3 4  5  6 7     1 2 3 4 5  6 7   1 2 3 4 5 6  7  1 2 3 4 5 6 7  空间 T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 时间 I 2 3 4 5 6 7 指令的流水线结构类似于工厂中的装配流水线,使连续操作的多条指令,依次流入四个功能部件,使四个功能部件不停地依次处理不同指令的执行要求,这样在每隔一个部件工作时间t,就可送入一条新的指令,每经过时间t就可得到一条指令执行的结果,指令执行速度可提高四倍。 三、指令流水线的特点 流水线的每个阶段完成一条指令执行过程的一部分不同阶段并行完成不同指令执行过程的不同部分。 多条指令同时运行,占用CPU不同的资源。 流水线并没有缩短单条指令的时间,但提高了整个系统的吞吐率。 连续不断地提供指令才能发挥流水线的效率。 指令 1 与指令 4 冲突 指令 2 与指令 5 冲突 指令1、指令3、指令 6 冲突 … CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI 指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7

文档评论(0)

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

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

1亿VIP精品文档

相关文档