第二章练习题参考解答(共4页).doc
《第二章练习题参考解答(共4页).doc》由会员分享,可在线阅读,更多相关《第二章练习题参考解答(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第 二 章 2.13 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。k: MOVE R1,R0 ;R1 (R0)k+1: MUL R0,R2,R1 ;R0 (R2)(R1)k+2: ADD R0,R2,R3 ;R0 (R2)+(R3)(1)就程序本身而言,可能有哪几种数据相关?(2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿?(3)画出指令执行过程的流水线
2、时空图,并计算完成这3条指令共需要多少个时钟周期?解:(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指令晚一个时钟进入流水线,则在程序执行开始后的第四个
3、时钟要读R1。不能在同一时钟周期内读写同一寄存器,因此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取指 时间 0 1 2 3 4 5 6 7 8 92.23 有一条5个功能段的线性动态多功能流水线如图所示,其中1235功能段组成加法流水线,145功能段组成乘法流水线,设每个功能段的延迟时间均相等为t。用这条流水线计算F=,画出流水线时空图,并计
5、算流水线的实际吞吐率、加速比和效率。S1S2S3S5S4XYZ解:由于该流水线为动态双功能流水线,计算要求先加后乘,因此应先设置加法功能,连续计算出(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三一二一二一二1234ABCDAB CD(AB)(CD) t7t12a1b1a2b2a3b3a4b4ABCDABCD时间12341234三三由时空图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 练习题 参考 解答
限制150内