MIPS指令五级流水CPU设计.pptVIP

  • 11
  • 0
  • 约4.49千字
  • 约 37页
  • 2019-09-25 发布于湖北
  • 举报
暂停流水线 一旦发生此类冲突 暂停流水线一个时钟 让当前指令的控制信号全部为0,即不进行任何写入操作 让PC值保持不变 让IF/ID段寄存器保持不变 能处理数据冲突的数据通路 3.控制冲突 流水线的控制冲突是因为程序执行转移类指令而引起的冲突。转移类指令如无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中可能改变程序的方向,从而造成流水线断流。 数据冲突影响到的仅仅是本条指令附近少数几条指令,所以称为局部冲突。而控制冲突影响的范围要大得多,它会引起程序执行方向的改变,使流水线损失更多的性能,所以称为全局冲突。 控制冲突会使流水线的连续流动受到破坏。当执行条件转移指令时,有两种可能结果: 如发生转移,将程序计数器PC的内容改变成转移目标地址; 如不发生转移,只将PC加上一个增量,指向下一条指令的地址。 数据冲突 由于数据的缺失引发 控制冲突 由于PC的缺失引发 条件转移和无条件转移指令 控制冲突对性能影响更大 IF在指令流水的第一个阶段 所有指令都要在IF阶段使用PC 对转移指令,至少要到ID阶段才能得到正确的PC 暂停流水线一个或两个周期,直到分支指令达到MEM段确定了新的PC值为止 控制冲突的处理 暂停流水线 直到有了正确的转移地址 造成性能的降低 预测分支不成功 顺序执行下一条指令 预测失败后要清除错误启动的指令 预测分支成功 更复杂一些,因为要计算转移目的

文档评论(0)

1亿VIP精品文档

相关文档