考虑一个阶段延迟分别为 80、70 和 90 ns 的 3 阶段流水线。假设时钟频率恒定。如果将寄存器用作阶段之间的缓冲区,延迟为 10 ns,则处理 100 条指令所需的时间是多少?
(A) 10,200 纳秒
(B) 10,000 纳秒
(C) 10,050 纳秒
(D) 11,000 纳秒
答案:(一)
解释:
为时钟周期选择阶段的最高时间段以避免重叠。
因此,缓冲器的 90 ns + 10ns = 100ns 将是一个时钟周期时间段。
现在,第一条指令所需的时间 – 100 * 3(3 个阶段的时间段)
2-100 条指令所用的时间 – 99 * 100(使用流水线,因此其余指令只需要一个阶段)
因此,100 条指令的总时间 = 300 ns + 9900 ns = 10,200 ns这个问题的测验