第六章-指令流水线.pptVIP

  • 113
  • 0
  • 约1.62万字
  • 约 46页
  • 2018-01-21 发布于河北
  • 举报
第六章-指令流水线

例6.1 以下是某高级语言源程序中的两条赋值语句。 a = b + c; d = e – f; 假定 a, b, c, d ,e, f 在内存,地址分别用[a]、[b]、…. 、[f] 方案5:编译器进行指令顺序调整来解决数据冒险 Fast code: lw $2, [b] lw $3, [c] lw $5, [e] add $1, $2, $3 lw $6, [f] sw $1, [a] sub $4, $5, $6 sw $4, [d] Slow code: lw $2, [b] lw $3, [c] add $1, $2, $3 sw $1, [a] lw $5, [e] lw $6, [f] sub $4, $5, $6 sw $4, [d] 调整后 优化后的指令序列比优化前的指令序列在流水线中执行速度快。 6.3.3 控制相关 (Control Hazard) 正常情况下,指令在流水线中总是按顺序执行,当遇到改变指令执行顺序时,流水线中指令的正常执行会被阻塞。这种由于发生了指令执行顺序改变而引起的流水线阻塞称为控制冒险。 各类转移指令(包括调用、返回指令等)的执行,以及异常和中断的出现都会改变指令执行顺序,因而都可能会引发控制冒险。

文档评论(0)

1亿VIP精品文档

相关文档