请教一个关于流水线的问题
现采用四级流水线结构分别完成一条指令的取指、指令译码和取数、运算以及送回运算结果四个基本操作,每步操作时间依次为60ns,100ns,50ns和70ns。该流水线的操作周期应为_A_ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需_B_ns,完成该段程序需_C_ns。
--------------------------------------------------------------
流水线的操作周期是60ns,100ns,50ns和70ns中最大值,即100ns;
如果按照100ns的周期,则四个基本操作时间都为100ns,则得到第一条指令结果要100*4=400ns;
完成程序过程:
100 100 100 100
100 100 100 100
100 100 100 100
......
即,100*4+19*100=2300ns,即第一条指令完毕后,每100ns就完成一条指令
--------------------------------------------------------------
这个问题有些想不通。因为第一条指令执行的时候,并不会受到后面操作的影响,所以得到第一条指令的时间应该是60+100+50+70=280NS才对吧?我看的一本参考书<网路工程师考试冲刺指南>(电子工业出版社)说的是第一条指令的时间应该按照实际时间计算的。但是另外的资料说是应该按照上面的答案计算。
不得以请教一个各位朋友,这个应该如何处理呢?
搜索更多相关主题的帖子:
流水线 请教