第四节作业答案.ppt
文本预览下载声明
1、若有一静态多功能流水线分为6段,如下图所示,其中乘法流水线由1、2、3、6段组成,加法流水线由1、4、5、6段组成。使用流水线时,要等某种功能(如加法)操作都处理完毕后才能转换成另一种功能(如乘法)。 若要计算:A×B=(a1+b1)×(a2+b2)×(a3+b3) 问:(1)在上述流水方式下,完成A×B需多少时间?画出时空图并计算此流水线的使用效率和吞吐率。 (2)与顺序运算方式相比,加速比为多少? 1 2 3 4 5 6 τ τ τ τ τ 2τ T 解: (1) 1 2 3 4 1 2 3 4 4 5 5 5 1 2 3 1 2 3 19 τ S 6 1 2 3 4 5 4 5 完成A*B需要的时间=19 τ 效率为: 吞吐率为: (2)加速比为: 2、已知某单功能非线性流水线的预约表如下图,要求: (1)列出禁止表F和冲突向量C。 (2)画出该流水线状态图,确定其最小平均延迟以及此时的调度方案? 当按此流水调度方案共输入8个任务时,则其实际吞吐率为多少? 时间t 段s t1 t2 t3 t4 t5 t6 1 × × 2 × × 3 × 4 × 附图 解:(1)禁止表F={4} 冲突向量 C=(1000) (2)最佳调度策略(1,1,1,5) 吞吐率=8/17Δt 1000 1100 1010 1001 1110 1011 1101 1111 〉=5 〉=5 〉=5 〉=5 〉=5 〉=5 〉=5 〉=5 1 2 3 2 3 3 1 3 2 1 1 2 各种调度方案及其相应的平均延迟: 调度方案 平均延迟 (5) (3) (1,1,1,5) (2,3) (3,2) (1,5) (1,1,5) (2,5) (2,3,5) (2,1,5) (3,5) (3,2,5) (2,1,2,5) (1,2,3,5) (2,1,2,3) 5 3 2 2.5 2.5 3 2.3 3.5 3.3 2.7 4 3.3 2.5 2.525 2 3、有一个双输入端的加-乘双功能静态流水线,由经过时间为△t、△t、2△t、△t的1、2、3、4四个子过程构成。加按1 2 4连接,乘按1 3 4连接,流水线输出设有数据缓冲器,也可将数据直接返回输入。现要执行 A*(B+C*(D+E*F))+G*H 的运算,请调整计算顺序,画出能获得吞吐率尽量高的流水时空图,标出流水线入、出端数据的变化情况,求出完成全部运算的时间及此期间整个流水线吞吐率,效率,加速比?如对流水线瓶颈子过程再细分,最少只需多少时间可完成全部运算?若子过程3不能再细分,只能用并联方法改进,问流水线的效率为多少? 解:根据题意,对算法经调整后,能使流水吞吐率尽量高的流水时空图如图所示。图中已标出了流水线入、出端的数据变化情况。 S 1 2 3 4 1 2 1 2 1 2 3 3 3 1 2 3 4 5 6 4 5 4 5 6 6 4 5 6 7 8 7 8 7 8 9 9 9 输入 输出 AC EF AB GH ACD ACEF AB ACD ACEF GH ACEF+GH ACD+AB AC EF AB GH ACD ACEF ACD+AB ACEF+GH ACEF+GH+ACD+AB 21△t S 1 2 31 32 1 2 1 3 2 4 3 5 6 4 5 6 7 8 7 8 7 8 9 9 9 根据上图的流水时空图,可以看出,完成全部运算的时间为21△t。 如果现在将瓶颈子过程3细分成两个子过程,则时空图如下图所示。 4 1 3 2 4 5 6 1 3 2 4 5 6 16△t S 1 2 31 32 1 2 1 3 1 3 3 5 5 4 5 6 7 8 7 8 7 8 9 9 9 4 2 4 2 4 6 6 1 3 2 4 5 6 16△t 由上图可见,完成全部运算最少需要16△t的时间即可。 现在若子过程3不能再细分了,只能用2个子过程3通过并联来改进,则其时空图如下图所示。 完成全部运算时的流水线效率 4、超级标量机和超级流水线机都能开发指令级的并行性,现假定这两种机器的流水线都为4段,每段均需1个时钟周期。若在超级标量机中,每个时钟周期可同时启动3条指令,而超级流水线机中则是每隔1/3时钟周期启动一条指令。现若要执行6条指令的代码序列,问在两种机器上各需用多少
显示全部