体系结构 第4章.PPT

遍数 指 令 流出 执行 访存 写CDB 说明 1 L.D F0,0(R1) 1 2 3 4 流出第一条指令 1 ADD.D F4,F0,F2 1 5 8 等待L.D的结果 1 S.D F4,0(R1) 2 3 9 等待ADD.D的结果 1 DADDIU R1,R1,#-8 2 4 5 等待ALU 1 BNE R1,R2,Loop 3 6 等待DADDIU的结果 2 L.D F0,0(R1) 4 7 8 9 等待BNE完成 2 ADD.D F4,F0,F2 4 10 13 等待L.D的结果 2 S.D F4,0(R1) 5 8 14 等待ADD.D的结果 2 DADDIU R1,R1,#-8 5 9 10 等待ALU 2 BNE R1,R2,Loop 6 11 等待DADDIU的结果 3 L.D F0,0(R1) 7 12 13 14 等待BNE完成 3 ADD.D F4,F0,F2 7 15 18 等待L.D的结果 3 S.D F4,0(R1) 8 13 19 等待ADD.D的结果 3 DADDIU R1,R1,#-8 8 14 15 等待ALU 3 BNE R1,R2,Loop 9 16 等待DADDIU的结果 4.4 多指令流出技术 从图中可以看出: 程序基本可以达到3拍流出5条指令 IPC=5/3=1.67 条/拍 虽然指令的流出率比较高,但是执行效率并不是很高。 16拍共执行15条指令, 平均指令执行速度为15/16=0.94 条/拍。 原因是浮点运算少,ALU部件成了瓶颈。 解决方法:增加一个加法器,把ALU功能和地址运算功能分开。 4.4 多指令流出技术 上述双流出动态调度流水线的性能受限于以下3个因素: 整数部件和浮点部件的工作负载不平衡,没有充分发挥出浮点部件的作用。 应该设法减少循环中整数型指令的数量。 每个循环迭代中的控制开销太大。 5条指令中有两条指令是辅助指令。 应该设法减少或消除这些指令。 控制相关使得处理机必须等到分支指令的结果出来后才能开始下一条L.D指令的执行。 4.4 多指令流出技术 把能并行执行的多条指令组装成一条很长的指令。 (100多位到几百位) 设置多个功能部件。 指令字被分割成一些字段,每个字段称为一个操作槽,直接独立地控制一个功能部件。 在VLIW处理机中,所有的处理和指令安排都是由编译器完成的。 4.4.3 超长指令字技术(VLIW)

文档评论(0)

1亿VIP精品文档

相关文档