计算机体系结构第二章练习题参考解答

计算机体系结构第二章练习题参考解答

ID:12595953

大小:84.50 KB

页数:4页

时间:2018-07-18

计算机体系结构第二章练习题参考解答_第1页
计算机体系结构第二章练习题参考解答_第2页
计算机体系结构第二章练习题参考解答_第3页
计算机体系结构第二章练习题参考解答_第4页
资源描述:

《计算机体系结构第二章练习题参考解答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章2.13在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。k:MOVER1,R0;R1←(R0)k+1:MULR0,R2,R1;R0←(R2)×(R1)k+2:ADDR0,R2,R3;R0←(R2)+(R3)(1)就程序本身而言,可能有哪几种数据相关?(2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿?(3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周

2、期?解:(1)就程序本身而言,可能有三种数据相关。若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。(2)在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。不能在同一时钟周期内读写同

3、一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写”相关不会产生流水线的停顿。(3)由题意可认位该指令流水线由六个功能段取指、译码

4、、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。若3条指令顺序流动,共需要9个时钟周期。空间存数K存数K+1存数K+2存数运二K+1运二运一K+1运一K+2运一取数K取数K+1取数K+2取数译码K译码K+1译码K+2译码取指K取指K+1取指K+2取指时间01234567892.23有一条5个功能段的线性动态多功能流水线如图所示,其中1→2→3→5功能段组成加法流水线,1→4→5功能段组成乘法流水线,设每个功能段的延迟时间均相等为△t。用这条流水线计算F=,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。S1S2S3S5S4XYZ解:由于该流水线为动态双

5、功能流水线,计算要求先加后乘,因此应先设置加法功能,连续计算出(a1+b1)、(a2+b2)、(a3+b3)、(a4+b4)四个加法后;再设置乘法功能,而且按[(a1+b1)×(a2+b2)]×[(a3+b3)×(a4+b4)]顺序做3个乘法。因此可画出该流水线的时空图如图所示,图中A=a1+b1,B=a2+b2,C=a3+b3,D=a4+b4。空间S5S4S3S2S11234三一二一二一二1234ABCDA·BC·D(A·B)×(C·D)t7t13a1b1a2b2a3b3a4b4ABCDA·BC·D时间12341234三三由时空图可以看出,在总共12个△t的时间内输出7个结果,所以有:T

6、P=n/Tn=7/12△t而当用串行方法完成操作时,需要四次加法和三次乘法,完成一次加法需要4△t,完成一次乘法需要3△t,完成该运算总共需要时间为:T0=4×4△t+3×3△t=25△t所以S=T0/Tn=2.08E=有效时空区面积/全部时空区面积=(4×4△t+3×3△t)/(5×12△t)=0.422.24有一条3个功能段的流水线如下图所示,每个功能段的延迟时间均为△t,但是,功能段S2的输出要返回到它自己的输入端循环执行一次。S1S2S3输入输出△t△t△t(1)如果每隔一个△t向流水线连续输入任务,这条流水线会发生什么问题?(2)求这条流水线能够正常工作的实际吞吐率、加速比和效率

7、。(3)可用什么办法来提高流水线的吞吐率,画出改进后的流水线结构。解:(1)每个任务在段S2要反馈循环一次,执行时间为2Δt,其它各段的执行时间为Δt,因此应按瓶颈段的执行时间2Δt流入任务,才不会发生冲突现象,否则会发生流水线的阻塞。(2)若连续输入n个任务,则流水线的实际吞吐率、加速比和效率分别为:TP=n/(4Δt+2(n–1)Δt)=n/2(n+1)Δt→1/2ΔtS=4nΔt/(4Δt+2(n–1)Δt)=2n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。