当前位置:文档之家› 计算机系统结构教程课后答案

计算机系统结构教程课后答案

1.7某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型指令执行数量平均时钟周期数整数450001数据传送750002浮点80004分支15002求该计算机的有效CPI、MIPS和程序执行时间解:nCPI 八(CPI j IC j/IC)i 4(1)CPI = (45000X 1 + 75000X 2+ 8000X 4+ 1500X 2) / 129500= 1.776(2)MIPS 速率=f/ CPI = 400/1.776 = 225.225MIPS(3)程序执行时间=(45000 X 1 + 75000X 2 + 8000 X 4+ 1500 X 2)/400=575s1.9将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解:由题可知:可改进比例Fe=40% = 0.4 部件加速比Se = 10 S n=』= ------- — 1.5625根据「—_Fe 吏(1-°.4) °.4/—°Se1.10计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比仁30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,Amdahl定理的扩展:已知S1 = 30,S2= 20,S3= 10,Sn= 10,F1 = 0.3,F2 = 0.3,得:得F3= 0.36,即部件3的可改进比例为36%。

(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2) T = 0.8T,不可改进部分的执行时间为1 - Fe1 - Fe2 - Fe3 =0.2T1 - Fe1 - Fe2 - Fe3Fe1 Fe2 Fe3 seise2 se3T n已知3个部件改进后的加速比分别为 S1 = 30, S2= 20, S3= 10,因此3个部件 改进后的执行时间为:F e 1 F e 2 F e 3改进后整个系统的执行时间为:Tn = 1_Fe1-Fe2—Fe3,竺•竺,竺7Sei se2 se3=0.045T+0.2T = 0.245T那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 0.2/0.245=81.6%1.11假设浮点数指令 指令的比例为4% , 的平均CPI 为1.25 解:-FP 指令的比例为30%,其中浮点数平方根FPSQR 占全部 FP 操作的CPI 为5, FPSQR 操作的CPI 为20,其他指令 。

nCPI 八(CPI j IC j /IC)i 4改进前: CPI = 5 X 30% + 1.25 X (1 - 30%) = 2.375 设除FPSQR 外其余指令的平均CPI 为X则 2.375 = 20 X 4% + (1 - 4%)X ,解出 X = 1.6406252.11 解:万案1: 万案CPI1 = 3 CPI2 = 3 X 4% + 1.640625 X (1 - 4%) = 1.695 X 30% + 1.25 X (1 - 30%) = 1.77511 0.571 0.35 1 00.22 1 00.09 10.04 1 0.130.02 1 0 0 1 0043 SHR STP CIL STO JOM JMP SUB CLA ADD 欢迎有需要的朋友下载!!9L= ' 耐=0.43x1+0.22x2+0.13x3+0.07x5+0.06x5+0.05x5+0.02x6+0.01x7+0.01x7i 4=2.422.12.解:二地址指令的结构是(4位操作码0P),(6位地址码A1),(6位地址码A2)。

一地址指令的结构是(10位操作码0P),(6位地址码A)。

二地址指令,最多共16条二地址指令。

每少一条二地址指令,则多26条一地址指令,所以一地址指令最多有(16-A)*26条3.5在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。

k:MOVE R1,R0;R1J(R0)k+1:MUL R0,R2,R1;R0 J(R2) X (R1)k+2:ADD R0,R2,R3;R0J(R2)+(R3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期?解:在程序实际执行过程中,二种数据相关会引起流水线停顿。

一是“先写后读” 相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。

不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。

二是“写一写” 相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线 应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八 个时钟。

k+2指令对R0的写对指令本身是第五个时钟, 而k+2指令比k+1指令 晚一个时钟进入流水线,贝恠程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。

不能在同一时钟周期内写写同一寄存器,因 此k+2指令应推迟一个时钟进入流水线, 产生了流水线停顿。

另外,可分析“先 读后写”相关不会产生流水线的停顿。

该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成, 则程序指令执行过程的流水线时空图如下图所示。

若3条指令顺序流动,共需3.6有一指令流水线如下所示(1) 求连续输入10条指令,该流水线的实际吞吐率和效率;(2)该流水线的 瓶颈”在哪一段?请采取两种不同的措施消除此瓶颈”。

对于你所给出的两种新的流水线,连续输入 10条指令时,其实际吞吐率和效率各是多少?解:(1)kT k 二't i (n T) t maxi ==(50 50 100 200) 9 200二 2200(ns)TP = % =煜。

*)出50ns 50ns 100ns 200nsn 't ii =1kk G 也L + (n- 1) max© t/ t 2」ll 』tQ-i =1- m、t ii 1 i400 5 =TP q TP45.45%k411(2)瓶颈在3、4段。

变成八级流水线(细分)3_2 — 4_150ns50ns__?4_4 _50 nskT k = 't i (n - 1) t maxi T=50 8 9 50二 850(ns)'二 tiy400 10 E 二 TP — =TP58.82%m817重复设置部件50ns 50 ns 50nsTP5 (ns 」)mE/°° 1°850 8 /°17®82%3.7有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一 次,然后才能流到第4段。

如果每段经过一次所需要的时间都是 4,问:(1) 当在流水线的输入端连续地每 t 时间输入任务时,该流水线会发生 什么情况?(2) 此流水线的最大吞吐率为多少?如果每 2 t 输入一个任务,连续处理 10个任务时的实际吞吐率和效率是多少?(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理 10个任。

(2)TP 「Tkns')时间=23. tTpipeline:E 二TP 5 * =5°92,54.35%(3) 重复设置部件段込14.'tTP= “丁険咲"t5'止吞吐率提高倍数二 亠 =1.64%3.8有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、 5段,第3段的时间为2^t ,其余各段的时间均t ,而且流水线的输出可以 直接返回输入端或暂存于相应的流水寄存器中。

现要在该流水线上计 算|4(A - Bi),画出其时空图,并计算其吞吐率、加速比和效率。

i =112 3 4 5 6 7 8 91022 4 466 8 8 10101 1 3 35 57 7 991 23 456 7891012345678 9103 1 2 时间143 2 △t►2△t43_2 T pipeiine△t△t£2 1解:首先,应选择适合于流水线工作的算法。

对于本题,应先计算 A i + B i 、 A 2+ B 2> A 3 + B 3 和 A 4 + B 4;再计算(A i + B i ) X (A 2+ B 2)和(A 3 + B 3) X (A 4+ B 4); 然后求总的结果。

其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工如果不用流水线,由于一次求积需 3岀,一次求和需5岀,则产生上述7个 结果共需(4X5+3X3) △ =29At 。

所以加速比为:3.8有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5 段,第2段的时间为2At ,其余各段时间均为 岀,而且流水线的输出可以直接返 回输入端或暂存于相应的流水寄存器中。

若在该流水线上计算:4送(A9)i mS V6118. t该流水线的效率可由阴影区的面积和 5个段总时空区的面积的比值求得:4 5 3 35 18由图可见,它在18个岀时间中,给出了7个结果。

所以吞吐率为:TP7 18:= 0.322ABCDA XBC XD A X B X C X D2 1试计算其吞吐率、加速比和效率。

5 43输 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718入 A 1 A 2 A 3 A * ACA + BC + DA + BD A + B由图可见,它在18个岀时间中,给出了 7个结果。

所以吞吐率为:如果不用流水线,由于一次求积需 4岀,一次求和需4岀,则产生上述7个 结果共需(4M+3X4) △ =28岀。

所以加速比为:18:t该流水线的效率可由阴影区的面积和 5个段总时空区的面积的比值求得:E280.3115 184.5在CRAY-1机器上,按照链接方式执行下述4条向量指令(括号中给出了相应 功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要 1拍, 试求此链接流水线的通过时间是多少拍?如果向量长度为 64,则需多少拍才能 得到全部结果?V 叶 存储器(从存储器中取数:7拍) V2— V0+V1 (向量加:3拍)V3— V2VA3 (按(A3)左移:4拍) Vk V3 A V4 (向量逻辑乘:2拍)解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是 各功能流水线由空到满的时间,在流水线充满之后,向量中后继操作数继续以 流水方式执行,直到整组向量执行完毕。

相关主题