mips的旁路_MIPS指令五级流水CPU设计.ppt

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值