1、设一条流水线的执行过程分成取指令、分析指令和执行指令三个阶段,每个
阶段所需的时间分别为 t、 t 和 2t,分别求出下列各种情况下,连续执行 N 条指
令所需的时间。
( 1)顺序执行方式;
( 2)只有取指令和执行指令重叠执行;
( 3)取指令、分析指令和执行指令重叠执行;
2、有一条流水线如下所示
( 1) 求连续输入 10 条指令,该流水线的实际吞吐率和效率;
( 2) 该流水线的瓶颈在哪一段?请采取 2 种不同的措施消除此“瓶颈”。对于
你所给出的新流水线,计算连续输入 10 条指令时,其实际吞吐率和效率;
3、在改进的 DLX 流水线上运行如下代码序列:
LOOP: LW R1, 0(R2)
ADDI R1, R1, #
1
SW 0(R2), R1
ADDI R2, R2, #
4
SUB R4, R3, R2
BNEZ R4, LOOP
其中, R3 的初始值是 R2+ 396。假设:在整个代码序列的运行过程中,所有的
存储器访问都是命中的, 并且在一个时钟周期中对同一个寄存器的读操作和写操
作可以通过寄存器“定向”。问:
( 1) 在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的
流水线时空图。 假设采用排空流水线的策略处理分支指令, 且所有的存储器访问
都可以命中 Cache,那么执行上述循环需要多少个时钟周期?
( 2) 假设该 DLX 流水线有正常的定向路径,请画出该指令序列执行的流水线
时空图。 假设采用预测分支失败的策略处理分支指令, 且所有的存储器访问都可