计算机系统结构教程课后答案.pdf
《计算机系统结构教程课后答案.pdf》由会员分享,可在线阅读,更多相关《计算机系统结构教程课后答案.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-1.71.7*台主频为台主频为 400MHz400MHz 的计算机执行标准测试程序,的计算机执行标准测试程序,程序中指令类型、程序中指令类型、执行数量和执行数量和平均时钟周期数如下:平均时钟周期数如下:指令类型指令类型整数整数指令执行数量指令执行数量平均时钟周期数平均时钟周期数45000450001 175000750002 24 42 2数据传送数据传送浮点浮点分支分支8000800015001500求该计算机的有效求该计算机的有效 CPICPI、MIPSMIPS 和程序执行时间。和程序执行时间。解:解:1 1CPICPI(45000(450001 175000750002 2800080
2、004 4150015002)/1295002)/1295001.7761.7762 2MIPSMIPS 速率速率f/CPIf/CPI 400/1.776400/1.776 225.225MIPS225.225MIPS3 3程序执行时间程序执行时间=(45000=(450001 175000750002 2800080004 41 15005002)2)400=575s400=575s1.91.9 将计算机系统中将计算机系统中*一功能的处理速度加快一功能的处理速度加快 1010 倍,但该功能的处理时间仅为整倍,但该功能的处理时间仅为整个系统运行时间的个系统运行时间的 40%40%,则采用此增强
3、功能方法后,则采用此增强功能方法后,能使整个系统的性能提高多能使整个系统的性能提高多少少.解:由题可知:解:由题可知:可改良比例可改良比例 Fe=40%=0.4Fe=40%=0.4部件加速比部件加速比 Se=10Se=10根据根据SnT0111.5625Fe(10.4)0.4/10Tn1 FeSe1.101.10 计算机系统中有三个部件可以改良,这三个部件的部件加速比为:计算机系统中有三个部件可以改良,这三个部件的部件加速比为:部件加速比部件加速比 1=301=30;部件加速比部件加速比 2=202=20;部件加速比部件加速比 3=103=10.z.-1 1如果部件如果部件 1 1 和部件和部
4、件 2 2 的可改良比例均为的可改良比例均为 30%30%,则当部件,则当部件 3 3 的可改良比例的可改良比例为多少时,系统加速比才可以到达为多少时,系统加速比才可以到达 10.10.2 2如果三个部件的可改良比例分别为如果三个部件的可改良比例分别为 30%30%、30%30%和和 20%20%,三个部件同时改,三个部件同时改良,则系统中不可加速局部的执行时间在总执行时间中占的比例是多少良,则系统中不可加速局部的执行时间在总执行时间中占的比例是多少.解:解:1 1在多个部件可改良情况下,在多个部件可改良情况下,AmdahlAmdahl 定理的扩展:定理的扩展:S1S13030,S2S2202
5、0,S3S31010,SnSn1010,F1F10.30.3,F2F20.30.3,得:,得:得得 F3F30.360.36,即部件,即部件 3 3 的可改良比例为的可改良比例为 36%36%。2 2设系统改良前的执行时间为设系统改良前的执行时间为T T,则,则 3 3 个部件改良前的执行时间为:个部件改良前的执行时间为:0.3+0.3+0.20.3+0.3+0.2T=0.8TT=0.8T,不可改良局部的执行时间为不可改良局部的执行时间为1Fe1Fe2Fe3=0.2T=0.2T。3 3 个部件改良后的加速比分别为个部件改良后的加速比分别为 S1S13030,S2S22020,S3S31010,
6、因此,因此 3 3 个部件改良后个部件改良后的执行时间为:的执行时间为:改良后整个系统的执行时间为:改良后整个系统的执行时间为:Tn=Tn=1 Fe1 Fe2 Fe3=0.045T+0.2T=0.245T=0.045T+0.2T=0.245T则系统中不可改良局部的执行时间在总执行时间中占的比例是:则系统中不可改良局部的执行时间在总执行时间中占的比例是:0.2/0.245=81.6%0.2/0.245=81.6%1.111.11 假设浮点数指令假设浮点数指令 FPFP 指令的比例为指令的比例为 30%30%,其中浮点数平方根其中浮点数平方根 FPSQRFPSQR 占全部指占全部指令的比例为令的比
7、例为 4%4%,FPFP 操作的操作的 CPICPI 为为 5 5,FPSQRFPSQR 操作的操作的 CPICPI 为为 2020,其他指令的平,其他指令的平均均 CPICPI 为为 1.251.25。解:解:改良前:改良前:CPI=5CPI=5 30%+1.2530%+1.25 (1-30%)=2.375(1-30%)=2.375设除设除 FPSQRFPSQR 外其余指令的平均外其余指令的平均 CPICPI 为为*则则 2.375=202.375=20 4%+(1-4%)*4%+(1-4%)*,解出,解出*=1.640625*=1.640625Fe1Fe2Fe3Se1Se2Se3.z.-方
8、案方案 1 1:方案方案 2 2:2.112.11解:解:CPI1=3CPI1=3 4%+1.6406254%+1.640625 (1-4%)=1.695(1-4%)=1.695CPI2=3CPI2=3 30%+1.2530%+1.25 (1-30%)=1.775(1-30%)=1.775指令指令ADDADDCLACLASUBSUB1 1频度频度 p pi i0.430.43操作码使用哈夫曼编码操作码使用哈夫曼编码操作码长度操作码长度l li i0 01 11 11 10.570.570 010101 1 01 1 01 1 1 0 01 1 1 0 00 01 1 1 0 11 1 1 0
9、11 10 00 00 01 12 23 35 55 55 5JMPJMP0.070.070.220.220.350.351 10.220.220.130.13JMPJMP1 10.090.090.070.070.060.060 0JOMJOM0.040.041 1STOSTO0.020.021 1SHRSHR0.010.010.050.05CILCIL0.020.021 1 1 1 01 1 1 1 00 0STOSTO0.050.05JOMJOM0.130.13CILCIL0.010.01SHRSHRSTPSTP0 0STPSTP0.020.020.010.010.010.011 1 1
10、1 1 01 1 1 1 1 00.060.061 1 1 1 1 1 01 1 1 1 1 1 01 1 1 1 1 1 11 1 1 1 1 1 16 60.130.137 77 7SUBSUBCLACLA0.220.22ADDADD043043L=L=Pli i=0.43*1+0.22*2+0.13*3+0.07*5+0.06*5+0.05*5+0.02*6+0.01*7+0.01*7=0.43*1+0.22*2+0.13*3+0.07*5+0.06*5+0.05*5+0.02*6+0.01*7+0.01*7i19=2.42=2.422.122.12解:解:二地址指令的构造是二地址指令的
11、构造是 4 4 位操作码位操作码 OPOP,6 6 位地址码位地址码 A1A1,6 6 位地址码位地址码A2A2。一地址指令的构造是一地址指令的构造是 1010 位操作码位操作码 OPOP,6 6 位地址码位地址码 A A。.z.-二地址指令,最多共二地址指令,最多共 1616 条二地址指令。条二地址指令。每少一条二地址指令,则多每少一条二地址指令,则多 2 26 6条一地址指令,条一地址指令,所以一地址指令最多有所以一地址指令最多有16-A16-A*2*26 6条条3.53.5 在一台单流水线多操作部件的处理机上执行下面的程序,在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指
12、令、每条指令的取指令、指令译码需要一个时钟周期,指令译码需要一个时钟周期,MOVEMOVE、ADDADD 和和 MULMUL 操作分别需要操作分别需要 2 2 个、个、3 3 个和个和4 4 个时钟周期,每个操作都在第一个时钟周期从通用存放器中读操作数,在最后个时钟周期,每个操作都在第一个时钟周期从通用存放器中读操作数,在最后一个时钟周期把运算结果写到通用存放器中。一个时钟周期把运算结果写到通用存放器中。k k:MOVEMOVER1R1,R0R0;R1R1(R0)(R0)k+1k+1:MULMULR0R0,R2R2,R1R1;R0R0(R2)(R2)(R1)(R1)k+2k+2:ADDADDR
13、0R0,R2R2,R3R3;R0R0(R2)+(R3)(R2)+(R3)画出指令执行过程的流水线时空图,画出指令执行过程的流水线时空图,并计算完成这并计算完成这 3 3 条指令共需要多少个时条指令共需要多少个时钟周期钟周期.解:解:在程序实际执行过程中,在程序实际执行过程中,二种数据相关会引起流水线停顿。二种数据相关会引起流水线停顿。一是一是“先写后读“先写后读相关,相关,k k 指令对指令对 R1R1 的写在程序执行开场后的第四个时钟;的写在程序执行开场后的第四个时钟;k+1k+1 指令对指令对 R1R1 的读对的读对指令本身是第三个时钟,但指令本身是第三个时钟,但 k+1k+1 指令比指令
14、比 k k 指令晚一个时钟进入流水线,则在程指令晚一个时钟进入流水线,则在程序执行开场后的第四个时钟要读序执行开场后的第四个时钟要读 R1R1。不能在同一时钟周期读写同一存放器,因。不能在同一时钟周期读写同一存放器,因此此 k+1k+1 指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写写指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写写相关,相关,k+1k+1 指令对指令对 R0R0 的写对指令本身是第六个时钟,而要求该指令进入流水线的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开场后的第三个时钟,所以对应在程序执行开场后的第三个时钟,所以对 R0R0 的写是在
15、程序执行开场后的第八的写是在程序执行开场后的第八个时钟。个时钟。k+2k+2 指令对指令对 R0R0 的写对指令本身是第五个时钟,而的写对指令本身是第五个时钟,而 k+2k+2 指令比指令比 k+1k+1 指令指令晚一个时钟进入流水线,则在程序执行开场后的第四个时钟,所以对晚一个时钟进入流水线,则在程序执行开场后的第四个时钟,所以对 R0R0 的写是的写是在程序执行开场后的第八个时钟。不能在同一时钟周期写写同一存放器,因此在程序执行开场后的第八个时钟。不能在同一时钟周期写写同一存放器,因此k+2k+2 指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读指令应推迟一个时钟进入流水
16、线,产生了流水线停顿。另外,可分析“先读后写相关不会产生流水线的停顿。后写相关不会产生流水线的停顿。该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如以下图所示。则程序指令执行过程的流水线时空图如以下图所示。假设假设 3 3 条指令顺序流动,条指令顺序流动,共共需要需要 9 9 个时钟周期。个时钟周期。空间空间存数存数K K 存数存数K+1K+1 存数存数 K+2K+2 存数存数运二运二K+1K+1 运二运二运一运一K+1K+1 运一运一K+2K+2 运一运一取数取数K K 取数
17、取数K+1K+1 取数取数K+2K+2 取数取数译码译码K K 译码译码K+1K+1 译码译码K+2K+2 译码译码.z.-取指取指K K 取指取指K+1K+1 取指取指K+2K+2 取指取指时间时间0 01 12 23 34 45 56 67 78 89 93.63.6 有一指令流水线如下所示有一指令流水线如下所示(1 1)求连续输入求连续输入 1010 条指令,该流水线的实际吞吐率和效率;条指令,该流水线的实际吞吐率和效率;(2 2)该流水线的“瓶颈在哪一段该流水线的“瓶颈在哪一段.请采取两种不同的措施消除此“瓶请采取两种不同的措施消除此“瓶颈。对于你所给出的两种新的流水线,连续输入颈。对
18、于你所给出的两种新的流水线,连续输入1010 条指令时,其实条指令时,其实际吞吐率和效率各是多少际吞吐率和效率各是多少.解:解:1 12 2瓶颈在瓶颈在 3 3、4 4 段。段。变成八级流水线细分变成八级流水线细分重复设置部件重复设置部件3.73.7 有一个流水线由有一个流水线由 4 4 段组成,其中每当流经第段组成,其中每当流经第 3 3 段时,总要在该段循环一段时,总要在该段循环一次,然后才能流到第次,然后才能流到第 4 4 段。如果每段经过一次所需要的时间都是段。如果每段经过一次所需要的时间都是t,问:,问:(1 1)当在流水线的输入端连续地每当在流水线的输入端连续地每t时间输入任务时,
19、该流水线会发生时间输入任务时,该流水线会发生什么情况什么情况.(2 2)此流水线的最大吞吐率为多少此流水线的最大吞吐率为多少.如果每如果每2t输入一个任务,连续处理输入一个任务,连续处理1010 个任务时的实际吞吐率和效率是多少个任务时的实际吞吐率和效率是多少.(3 3)当每段时间不变时,当每段时间不变时,如何提高该流水线的吞吐率如何提高该流水线的吞吐率.仍连续处理仍连续处理 1010 个任个任务时,其吞吐率提高多少务时,其吞吐率提高多少.解:解:1 1会发生流水线阻塞情况。会发生流水线阻塞情况。第第 1 1 个任个任S1S1务务第第 2 2 个任个任务务S1S1S2S2stallstallS
20、3S3S3S3S4S4S2S2S3S3S3S3S4S44-13-1123-24-34-44-2第第 3 3 个任个任S1S1S2S2stallstallstallstallS3S3S3S3S4S4.z.-务务第第 4 4 个任个任务务2 23 3重复设置部件重复设置部件吞吐率提高倍数吞吐率提高倍数5107t23tS1S1S2S2stallstallstallstallstallstallS3S3S3S3S4S41.641.643.83.8 有一条静态多功能流水线由有一条静态多功能流水线由 5 5 段组成,加法用段组成,加法用 1 1、3 3、4 4、5 5 段,乘法用段,乘法用 1 1、2 2
21、、5 5 段,段,其余各段的时间均为其余各段的时间均为t t,而且流水线的输出可以直而且流水线的输出可以直4第第 3 3 段的时间为段的时间为 2 2t t,(Ai Bi)i1接返回输入端或暂存于相应的流水存放器中。现要在该流水线上计接返回输入端或暂存于相应的流水存放器中。现要在该流水线上计算算,画出其时空图,并计算其吞吐率、加速比和效率。,画出其时空图,并计算其吞吐率、加速比和效率。解:首先,应选择适合于流水线工作的算法。对于此题,应先计算解:首先,应选择适合于流水线工作的算法。对于此题,应先计算 A A1 1B B1 1、A A2 2B B2 2、A A3 3B B3 3和和 A A4 4
22、B B4 4;再计算;再计算(A(A1 1B B1 1)(A(A2 2B B2 2)和和(A(A3 3B B3 3)(A(A4 4B B4 4);然;然后求总的结果。后求总的结果。其次,画出完成该计算的时空图,如下图,图中阴影局部表示该段在工作。其次,画出完成该计算的时空图,如下图,图中阴影局部表示该段在工作。段54321ABCDABCDABCDA=A1B1B=A2B2C=A3B3D=A4B4输0123入456789A1A2A3A4B1B2B3B41011 12131415 16 17 18ABACBDCD时间由图可见,它在由图可见,它在 1818 个个t t时间中,给出了时间中,给出了 7
23、7 个结果。所以吞吐率为:个结果。所以吞吐率为:如果不用流水线,由于一次求积需如果不用流水线,由于一次求积需 3 3t t,一次求和需,一次求和需 5 5t t,则产生上述,则产生上述 7 7个结果共需4个结果共需45 5+3+33 3t t=29=29t t。所以加速比为:。所以加速比为:该流水线的效率可由阴影区的面积和该流水线的效率可由阴影区的面积和 5 5 个段总时空区的面积的比值求得:个段总时空区的面积的比值求得:3.83.8 有一条动态多功能流水线由有一条动态多功能流水线由5 5段组成,加法用段组成,加法用1 1、3 3、4 4、5 5段,乘法用段,乘法用1 1、2 2、5 5段,第
24、段,第2 2段的时间为段的时间为2 2t t,其余各段时间均为,其余各段时间均为t t,而且流水线的输出可以直接返,而且流水线的输出可以直接返(AiBi)i14.z.-回输入端或暂存于相应的流水存放器中。假设在该流水线上计算回输入端或暂存于相应的流水存放器中。假设在该流水线上计算:试计算其吞吐率、加速比和效率。试计算其吞吐率、加速比和效率。解解段ABCDABCDABC5由图可见,它在由图可见,它在 1818 个个t t时间中,给出了时间中,给出了 7 7 个结果。所以吞吐率为:个结果。所以吞吐率为:A=如果不用流水线,由于一次求积需如果不用流水线,由于一次求积需 4 4t t,一次求和需,一次
25、求和需 4 4t t,则产生上述,则产生上述 7 74B=个结果共需4个结果共需44 4+3+34 4t t=28=28t t。所以加速比为:。所以加速比为:C=3D=该流水线的效率可由阴影区的面积和该流水线的效率可由阴影区的面积和 5 5 个段总时空区的面积的比值求得:个段总时空区的面积的比值求得:24.54.5 在在CRAY-1CRAY-1机器上,按照方式执行下述机器上,按照方式执行下述4 4条向量指令括号中给出了相应功能条向量指令括号中给出了相应功能14567891011 12131415 16 1718时CAB部件的执行时间,如果向量存放器和功能部件之间的数据传送需要部件的执行时间,如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 教程 课后 答案
限制150内