【系统分析师之路】第十二章 复盘计算机组成与体系结构(流水线技术)
复盘计算机组成与体系结构之流水线技术
前言部分 历年真题考点分析
1)考点分析
流水线这个知识点属于计算机组成与体系结构部分中的一个重要知识点,而且考查的方式偏重于计算题。当然这个知识点并不是每年都会出现,隔2-3年来考察1-2分的样子。案例分析和论文从来没有涉及到的一个考点。
2)重要知识点
1)流水线的概念
2)流水线加速比的计算
3)流水线吞吐率的计算
4)超标量流水线的概念和计算方法
第一部分 综合知识历年真题
2007下综合知识历年真题(1分)
【2007下系分真题第09题:黄色】
09.在流水线控制的计算机中,对于数据相关的处理,通常采用的方法是(14)。
(14)
A.暂停指令的执行,等待前面的指令输出运算结果
B.设置相关专用通路,从相关专用通路直接读出操作数
C.让已经进入流水线的指令继续执行
D.出现数据相关时采用猜测法来加快执行
解答:答案选择B。本题考查流水计算机的基本概念。三周目蒙对。
所谓数据相关是指后一条指令的操作数地址是前一条指令存储结果的地址,
那么后一条指令就必须等到前一条指令运算结束并存入结果后才能取得操作数。
对于这种情况可以采用相关专用通路的方法,即后一条指令直接从数据处理部件取得操作数,而不是等前一条指令存入结果后再读取。
对于遇到转移指令影响流水线连续流动的情况,可用猜测法来加快执行。
2008下综合知识历年真题(1分)
【2008年下系分真题第13题:黄色】
13.在流水线控制方式下,(18)是全局性相关。
(18)
A.转移指令相关
B.写-读相关
C.读-写相关
D.写-写相关
解答:答案选择A。蒙对。本题考查计算机系统流水线控制方面的基础知识。
由于流水是同时解释多条指令的,肯定会出现更多的指令转移相关。
对于转移指令,它和其后的指令之间存在关联,使之不能同时解释,造成对流水线执行方向的改变和效率的下降,被称为全局性相关。
而指令相关、主存操作数相关、通用寄存器相关及变址相关等只是影响相关附近的几条指令,至多影响流水线的某些段的推后,所以被称为局部性相关。
2011上综合知识历年真题(1分)
【2011年系分真题第15题:绿色】
15.某4级流水线如下图所示,若每3At向该流水线输入一个任务,连续输入4个,则该流水线的加速比为(18)。
(18)
A.4
B.1.75
C.1.5
D.1
解答:答案选择B。
连续输入4个,那么总时间1+4*3+2+1=16;而一个个执行时4(1+3+2+1)=28;28/16就是加速比。流水线的加速比定义如下:为完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。
因此,该流水线的加速比为28At:16At,即7:4=1.75
2012上综合知识历年真题(2分)
【2012年系分真题第11题:绿色】
11.设每条指令由取指、分析、执行3个子部件完成,并且每个子部件的执行时间均为At。若采用常规标量单流水线处理机(即该处理机的度为1),连续执行16条指令,则共耗时(14) At。若采用度为4的超标量流水线处理机,连续执行上述16条指令,则共耗时(15)At。
(14)
A.16
B.18
C.32
D.48
(15)
A.4
B.5
C.6
D.8
解答:答案选择B|C。
常规标量单流水线的情况下,161+(3-1)=18。
度为4的超标量流水线的情况下,可以理解为16条指令变为了四条指令,4*1+3-1=6
2013上综合知识历年真题(2分)
【2013年系分真题第12题:黄色】
12.某计算机系统采用4级流水线结构执行指令,设每条指令的执行由取指令(2△t)分析指令(t)、取操作数(3t)、运算并保存结果(2△t) 组成(注:括号中是指令执行周期),并分别用4个子部件完成,该流水线的最大吞吐率为(14);若连续向流水线输入5条指令,则该流水线的加速比为(15)。
(14).
A.1
B.1/2△t
C.1/3△t
D.1/8△t
(15).
A.1:1
B.2:1
C.8:3
D. 3:8
解答:答案选择C|B。二周目绿色变黄色。第一空二周目错了。本题考查计算机流水线的基础知识。
加速后=(5-1)*3+2+1+2+3=20;加速前=(1+2+3+2)*5=40;加速比=1/2。
流水线的吞吐率(ThoughtPut rate, TP)是指单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率TP的基本公式为:
在求吞吐量的时候,使用到了极值的计算。公式:取指令数/(流水线级数+指令数-1)*流水线周期;这个计算式求最大的极值。
2014上综合知识历年真题(2分)
【2014年系分真题第43题:绿色】
43.流水线技术是通过并行硬件来提高系统性能的常用方法。对于一个k段流水线,假设其各段的执行时间均相等(设为t),输入到流水线中的任务是连续的理想情况下,完成n个连续任务需要的总时间为(58)。若某流水线浮点加法运算器分为5段,所需要的时间分别是6ns、7ns、8ns、9ns和6ns,则其最大加速比为(59)。
(58)
A.nkt
B.(k+n-1)t
C.(n-k)kt
D.(k+n+1)t
(59)
A.4
B.5
C.6
D.7
解答:答案选择B|A。本题主要考查流水线技术的相关基础知识与计算。送分题。
流水线技术是通过并行硬件来提高系统性能的常用方法,它把一项任务分解为若干可以同时进行的并行工作。
在任一时刻,任一任务只占其中一个操作部件,这样就可以实现多项任务的重叠执行。
对于一个k段流水线,假设其各段的执行时间均相等(设为t),输入到流水线中的任务是连续的理想情况下,从流水线的输出端看,用k个时钟周期输出第一项任务,其余n-1个时钟周期,每个周期输出一项任务,因此完成n个连续任务需要的总时间为(k+n-l)xt。
加速比定义为顺序执行时间与流水线执行时间的比值,根据题干假设,顺序执行时间为6+7+8+9+6=36,在流水线中的执行时间为5+5-1=9,因此加速比为36/9=4。
2017上综合知识历年真题(1分)
【2017年系分真题第14题:绿色】
14.流水线的吞吐率是指流水线在单位时间里所完成的任务数或输出的结果数。设某流水线有 5 段,有 1 段的时间为 2ns ,另外 4 段的每段时间为 lns,利用此流水线完成 100 个任务的吞吐率约为(16)个 。
(16)
A.500×10的6次方
B.490×10的6次方
C.250×10的6次方
D.167×10的6次方
解答:答案选择B。二周目红色变绿色。
非流水线1个任务执行6ns
100个任务(100-1)*2ns+6ns=198ns+6ns=204ns;
流水线一个任务2.04ns;1秒可以执行的任务为1/2.04=0.049条;0.049再乘以10的九次方。