现采用四级流水线结构分别完成一条指令的取指、指令译码和取数、运算,以及送回运算结果四个基本操作,每步操作时间依次为60ns,100ns,50ns和70ns。该流水线的操作周期应为(27)ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需(28)ns,完成该段程序需(29)ns。 在流水线结构的计算机中,频繁执行(30)指令时会严重影响机器的效率。当有中断请求发生时,采用不精确断点法,则将(31)。
【正确答案】 C
【答案解析】
【正确答案】 D
【答案解析】
【正确答案】 C
【答案解析】
【正确答案】 A
【答案解析】
【正确答案】 B
【答案解析】解析:有关流水线执行时间的问题,请读者参考第2题的分析。 在流水线结构的计算机中,影响流水线效率的因素主要有以下几个方面。 1.条件转移指令(转移相关性) 在存在转移指令的情况下,下一条需要执行的指令未必是程序计数器所指定的指令。只有在这条转移指令执行完成后,才能判断下一条指令是什么。 如果在遇到转移指令时,关闭流水线的进入端口,防止错误发生,那么这种方法无疑会降低流水线的效率,而且程序中的条件转移是大量存在的,这势必使得流水线在很多时间内闲置,影响计算机的性能。 为了解决这个问题,有的计算机采用猜测法,当发现条件转移指令时则系统猜测可能会跳转到的语句,如果猜测正确,则流水线正常运行,如果猜测错误,则需要清空当前流水线的内容。如图1-6(a)所示。 还有一种需要编译系统的支持的方法,如图1-6(b)所示。方法是这样的:将必须执行的D指令提前执行,在D指令执行之后,条件转移指令的结果出来后,再判断是B或者C进入流水线。同样也可以把A指令前的指令滞后到A指令执行后执行,这样能保持流水线闲置的时间尽可能少。但是必须在D和B、C指令不存在前后依存关系的情况下采用。统计的结果还是不错的,50%的条件转移指令能够进行这样的优化。