假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)四个过程段,共有10条指令连续输入此流水线。 (1)画出指令周期流程。 (2)画出非流水线时空图。 (3)画出流水线时空图。 (4)假设时钟周期为100 ns,求流水线的实际吞吐量(单位时间执行完毕的指令数)。 (5)求该流水处理器的加速比。
今有四级流水线,分别完成取指(IF)、译码并取数(ID)、执行(EX)、写结果(WR)四个步骤。假设完成各步操作的时间依次为100 ns、100 ns、70 ns、50 ns。 (1)流水线的时钟周期应取何值? (2)若相邻的指令发生数据相关,那么第二条指令安排推迟多少时间才能不发生错误? (3)若相邻两指令发生数据相关,而不推迟第二条指令的执行,可采取什么措施?