《流水线习题.doc》由会员分享,可在线阅读,更多相关《流水线习题.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、_1. 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为t、t和2t 。分别求出下列各种情况下,连续执行N条指令所需的时间。(1)顺序执行方式;(2)只有“取指令”与“执行指令”重叠;(3)“取指令”、“分析指令”与“执行指令”重叠。2. 列举出下面循环中的所有相关,包括输出相关、反相关、真相关。for (i=2; i100; i=i+1)ai=bi+ai;/* s1 */ci+1=ai+di; /* s2 */ai-1=2*bi; /* s3 */bi+1=2*bi;/* s4 */3. 有一指令流水线如下所示(1) 求连续输入10条指令,该流水线的实际吞
2、吐率和效率;(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?4 . 有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需要的时间都是,问:(1) 当在流水线的输入端连续地每时间输入任务时,该流水线会发生什么情况?(2) 此流水线的最大吞吐率为多少?如果每输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?5. 有一条静态多功能流水线由5段
3、组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2t,其余各段的时间均为t,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中。现要在该流水线上计算 ,画出其时空图,并计算其吞吐率、加速比和效率。6. 动态多功能流水线由6个功能段组成,如下图:其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:(1) 画出时空图;(2) 计算实际的吞吐率、加速比和效率。1. 参考答案:解:(1)每条指令的执行时间为:tt2t4t连
4、续执行N条指令所需的时间为:4Nt(2)连续执行N条指令所需的时间为:4t3(N-1)t(3N1)t(3)连续执行N条指令所需的时间为:4t2(N-1)t(2N2)t2.参考答案:解:展开循环两次:ai = bi + ai; /* s1 */ci+1 = ai + di; /* s2 */ai-1 = 2 * bi; /* s3 */bi+1 = 2 * bi; /* s4 */ai+1 = bi+1 + ai+1; /* s1 */ci+2 = ai+1 + di+1; /* s2 */ai = 2 * bi+1; /* s3 */bi+2 = 2 * bi+1; /* s4 */输出相关:
5、无反相关:无真相关:S1&S2由于循环引入的相关:S4&S4(真相关)、S1&S4(真相关)、S3&S4(真相关)、S1&S3(输出相关、反相关)、S2&S3(反相关)。3.参考答案:解:(1)(2)瓶颈在3、4段。n 变成八级流水线(细分)n 重复设置部件123-13-24-14-24-34-44.参考答案:解:(1)会发生流水线阻塞情况。第1个任务S1S2S3S3S4第2个任务S1S2stallS3S3S4第3个任务S1stallS2stallS3S3S4第4个任务S1stallS2stallS3S3S4(2)(3)重复设置部件吞吐率提高倍数1.645.参考答案:解:首先,应选择适合于流水线工作的算法。对于本题,应先计算A1B1、A2B2、A3B3和A4B4;再计算(A1B1) (A2B2)和(A3B3) (A4B4);然后求总的结果。其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。由图可见,它在18个t时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3t,一次求和需5t,则产生上述7个结果共需(45+33)t =29t。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: 6.参考答案:解:机器一共要做10次乘法,4次加法。 7_
限制150内