第05章 流水线课后习题

上传人:s9****2 文档编号:503267328 上传时间:2023-10-02 格式:DOC 页数:17 大小:304.50KB
返回 下载 相关 举报
第05章 流水线课后习题_第1页
第1页 / 共17页
第05章 流水线课后习题_第2页
第2页 / 共17页
第05章 流水线课后习题_第3页
第3页 / 共17页
第05章 流水线课后习题_第4页
第4页 / 共17页
第05章 流水线课后习题_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《第05章 流水线课后习题》由会员分享,可在线阅读,更多相关《第05章 流水线课后习题(17页珍藏版)》请在金锄头文库上搜索。

1、第5章 课后习题1填空题(1) 衡量流水线性能的主要指标有 、 和 。(2) 指令乱序流动可能造成 、 、 三种数据相关。(3) 解决数据相关主要有 法和 法。(4) 超标量处理机开发的是 并行性,而超流水线处理机开发的是 并行性。 (1). 吞吐率、加速比、效率(2). 先写后读、先读后写、写写(3). 推后分析、设置专用路径 (4). 空间、时间 2假设一条指令的执行过程分为取指令、分析和执行三段,每一段的时间分别为t、2t和3t。在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。(1) 顺序执行方式。(2) 仅取指令和执行重叠。(3) 取指令、分析和执行重叠。第2题(1) 顺

2、序执行时每条指令用时=t+2t+3t=6t,因此n条指令所需要的时间=6n*t(2) 第一条指令完成需要时间=t+2t+3t=6t,根据题义,下一条指令的取指令与上一条指令执行的最后一个t重叠。因此,自从第一条指令完成后,每隔4t完成一条指令。所以余下的n-1条指令用时(n-1)*4t. 所以,n条指令所需要的时间=6t+(n-1)*4t=2(2n+1)t。(3) 第一条指令完成需要时间=t+2t+3t=6t,由于一条指令的取指令和分析阶段和下一条指令的执行阶段重叠,因此,此后每3t 完成一条指令,余下的n-1条指令用时(n-1)*3t.因此n条指令所需要的时间=6t+(n-1)*3t=3(n

3、+1)t3用一条5个功能段的浮点加法器流水线计算F。每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。第3题假设每个功能段的延迟时间为t。F =(A1+1A2)+6(A3+2A4)+8(A5+3A6)+9(A7+4A8)+7(A9+5A10)由上面的时空图可以看出,在20t时间内共完成9个加法操作。因此:吞吐率为:TP= 9/20=0.45 加速比为:Sp= 9*5/20=2.5效率为: E= 45/(20*5)=45%4 设有一个15000条指令的程序在一台时

4、钟速率为25MHz的线性流水线处理机上执行。假设该指令流水线有5段,并且每个时钟周期发射一条指令。忽略由于转移指令和无序执行造成的损失。 (1) 用该流水线执行这一程序,并用流过延迟与其相等的一个等效非流水线处理机执行同一程序,将两者加以比较,并计算其加速比。(2) 该流水线处理机的效率是多少?(3) 计算该流水线的吞吐率。第4题(1) 等效的非流水处理机执行一条指令需要的时间是5个时钟周期。依照加速比定义,(2) 效率E为(3) 吞吐率TP为5 设有5段流水线处理机的预约表如下:(1) 列出禁止等待时间和冲突向量集。(2) 画出状态转换图,说明不引起流水线冲突的所有可能的启动序列(循环)。(

5、3) 根据状态图列出所有简单循环。(4) 从简单循环中找出迫切循环。(5) 此流水线的最小平均等待时间(MAL)是多少?(6) 使用此流水线时,列出可允许的最小恒定循环。(7) 该流水线的最大吞吐率是多少?(8) 如果使用最小恒定循环,则吞吐率是多少?123456S1XXS2XXS3XS4XS5XX第5题(1) 禁止等待时间是:3,4,5。冲突向量为(11100)。(2) 状态转换图如下所示:(3) 简单循环如下:(1,1,6),(2,6),(6),(1,6)(4) 迫切(最小启动)循环为(1,1,6)(5) 最小平均等待时间MAL为(6) 最小恒定循环为(6)。(7) 设该流水线的时钟周期为

6、,则该流水线的最大吞吐率TPMAX为(8) 使用最小恒定循环时,设该流水线的时钟周期为,该流水线的吞吐率为6 下列汇编代码在一台3段流水线处理机上执行,每一段都有冒险(相关)检测和分解。这三段是取指令、取操作数(根据要求取一个或者多个)和执行(包括写回操作)。试说明在代码执行中所有可能的相关情况。Inc R0/R0(R0)+1/Mul ACC,R0/ACC(ACC)(R0)/Store R1,ACC/R1(ACC)/Add ACC,R0/ACC(ACC)+(R0)/Store M,ACC /M(ACC)/第6题我们首先给上面的指令序列编号如下:I1: IncR0 /R0(R0)+1/I2: M

7、ulACC,R0 /ACC(ACC)(R0)/I3: StoreR1,ACC /R1(ACC)/I4: Add ACC,R0 /ACC(ACC)+(R0)/I5: StoreM,ACC/M(ACC)/我们使用IF、OF和EX来分别代表流水线的取指令、取操作数和执行三段。下面的图表显示了执行的序列:图中的箭头方向是同一条指令在流水线中的流动方向,从图中我们可以看出:在t3时刻:O(I1) I(I2)= R0 ,会发生RAW相关;在t4时刻:O(I2) I(I3)= Acc ,会发生RAW相关;在t6时刻:O(I4) I(I5)= Acc ,会发生RAW相关。其中我们用O(I1)表示指令I1的输出

8、寄存器(如R0表示寄存器,而Acc表示表示累加器),I(I2)表示指令I2的输入寄存器。下面的调度方法能够避免相关的发生:其中,Stall表示流水线停顿,通过这种方法,可以避免相关的发生。7 设有4段流水线处理机如下,此流水线的总求值时间为6个时钟周期,所有相继段必须在每个时钟周期之后才能使用。(1) 列出这一流水线的4行六列预约表。(2) 列出任务启动之间的禁止等待时间集。(3) 画出表示所有可能的等待时间循环的状态图。(4) 根据状态图列出所有的迫切(最小启动)循环。(5) 最小平均等待时间值是多少? 第7题可能会有多种方案。答案一:(1) 预约表如下所示:123456S1XXS2XXS3

9、XS4X(2) 禁止等待时间为:4,冲突向量为:(1000)。(3) 状态转移图如下:(4) 简单循环如下所示:(1,5),(1,1,5),(1,1,1,5),(1,2,5),(1,2,3,5),(1,2,3,2,5),(1,2,3,2,1,5),(2,5),(2,1,5)(2,1,2,5),(2,1,2,3,5),(2,3,5),(3,5),(3),(3,2,5),(3,2,1,5),(3,2,1,2,5),(5),(3,2,1,5)(5) 最小启动循环如下:(1,1,1,5)和(1,2,3,2)(6) 平均最小等待时间为:(7) 最大的吞吐量为:答案二:(1) 预约表如下所示:123456

10、S1XXS2XXXS3XXS4X(2) 禁止等待时间为:2和4,冲突向量为:(1010)。(3) 状态转移图如下:(4) 简单循环如下所示: (3),(5),(1,5)和(3,5) (5) 最小启动循环如下:(1,5)和(3) (6) 最小平均等待时间为: (7) 最大吞吐量为:8 三条功能流水线f1,f2和f3可用下面的预约表来描述: 用这三条流水线还可形成一个组合流水线网络如下: 通过此组合流水线的每个任务按以下的次序使用流水线:第一是f1,其次是f2和f3,再是f1,然后得到输出。双多路转换器从(A,B)或(X,Y)中选择一对输入,并把他们输入给f1。组合流水线的使用也是用组合的预约表来

11、描述的。(1) 为此组合流水线填充下列预约表: 123456789101112S1XS2XS3XT1T2T3XU1XU2U3(2) 写出禁止启动循环和初始冲突向量。(3) 画出能清楚表示所有等待时间循环的状态图。(4) 列出所有简单循环和迫切(最小启动)循环。(5) 计算此组合流水线的MAL和最大吞吐率。第8题(1) 预约表如下:123456789101112S1XXS2XXS3XXXXT1XXT2XT3XU1XXU2XU3X(2) 禁止等待时间为:8,1,7,9,3,2;初始冲突向量为:(111000111)(3) 状态转换图如下:(4) 简单循环为:(5),(6),(10),(4,6),(4,10),(5,6),(5,10);其中最小启动循环为:(5)和(4,6);(5) 最小平均启动距离为:(6) 最大吞吐量为;9 假设一个四段流水线(其时钟周期=20ns)的预约表如下:123456S1XXS2XXS3XS4XX(1) 哪些是禁止等待时间和初始冲突向量?(2) 画出调度该流水线的状态变换图。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号