在一条单流水线处理机上执行下面的程序。每条指令都要经过“取指” , “译码” , “执行”和“写结果” 4 个流水段。每个流水段的延迟时间都是 5ns 。在“执行”流水段 ,LS 部件完成 LOAD 或 STORE 操作 , 其它操作都在 ALU 部件中完成 , 两个操作部件的输出端有直接数据通路与任一操作部件的输入端相连 ,ALU 部件产生的条件码也能够直接送入控制器。
1: SUB R0, R0 ;R0 ← 0
2: LOAD R1,#8 ; 向量长度 8
3: LOOP: LOAD R2,A ;R2 ← A 向量的一个元素
4: MUL R2,R1 ;R2 ← (R2)*(R1)
5: ADD R0,R2 ;R0 ← (R0)+(R2)
6: DJNE R1,LOOP ;R1 ← (R1)-1 若 (R1) ≠ 0 则转
7: STORE R0,S ; 保存结果
采用静态分支预测技术 , 每次都预测转移成功。画出指令流水线的时空图,并计算流水线的吞吐率和加速比。