计算机系统结构房至一第一三章大题答案.docx
- 文档编号:7697327
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:284.30KB
计算机系统结构房至一第一三章大题答案.docx
《计算机系统结构房至一第一三章大题答案.docx》由会员分享,可在线阅读,更多相关《计算机系统结构房至一第一三章大题答案.docx(12页珍藏版)》请在冰豆网上搜索。
计算机系统结构房至一第一三章大题答案
第1章计算机系统结构的基本概念
1.6某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:
指令类型
指令执行数量
平均时钟周期数
整数
45000
1
数据传送
75000
2
浮点
8000
4
分支
1500
2
求该计算机的有效CPI、MIPS和程序执行时间。
解:
(1)CPI=(45000×1+75000×2+8000×4+1500×2)/129500=1.776
(2)MIPS速率=f/CPI=400/1.776=225.225MIPS
(3)程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400=575s
没有错误,但是不严密,指令数量的单位是MIPS.
1.7将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?
解由题可知:
可改进比例=40%=0.4部件加速比=10
根据Amdahl定律可知:
采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。
1.8计算机系统中有三个部件可以改进,这三个部件的部件加速比为:
部件加速比1=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,不可改进部分的执行时间为0.2T。
已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为:
改进后整个系统的执行时间为:
Tn=0.045T+0.2T=0.245T
那么系统中不可改进部分的执行时间在总执行时间中占的比例是:
1.9假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据如下表所示:
操作类型
程序中的数量
(百万条指令)
改进前的执行时间
(周期)
改进后的执行时间
(周期)
操作1
10
2
1
操作2
30
20
15
操作3
35
10
3
操作4
15
4
1
(1)改进后,各类操作的加速比分别是多少?
(2)各类操作单独改进后,程序获得的加速比分别是多少?
(3)4类操作均改进后,整个程序的加速比是多少?
解:
根据Amdahl定律
可得
操作类型
各类操作的指令条数在程序中所占的比例Fi
各类操作的加速比Si
各类操作单独改进后,程序获得的加速比
操作1
11.1%
2
1.06
操作2
33.3%
1.33
1.09
操作3
38.9%
3.33
1.37
操作4
16.7%
4
1.14
4类操作均改进后,整个程序的加速比:
第三章流水线技术
3.12有一指令流水线如下所示
(1)求连续输入10条指令,该流水线的实际吞吐率和效率;
(2)该流水线的“瓶颈”在哪一段?
请采取两种不同的措施消除此“瓶颈”。
对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?
解:
(1)
(2)瓶颈在3、4段。
⏹变成八级流水线(细分)
⏹重复设置部件
4-4
3.13有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。
如果每段经过一次所需要的时间都是
,问:
(1)当在流水线的输入端连续地每
时间输入任务时,该流水线会发生什么情况?
(2)此流水线的最大吞吐率为多少?
如果每
输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?
(3)当每段时间不变时,如何提高该流水线的吞吐率?
仍连续处理10个任务时,其吞吐率提高多少?
解:
(1)会发生流水线阻塞情况。
第1个任务
S1
S2
S3
S3
S4
第2个任务
S1
S2
stall
S3
S3
S4
第3个任务
S1
stall
S2
stall
S3
S3
S4
第4个任务
S1
stall
S2
stall
S3
S3
S4
(2)
(3)重复设置部件
吞吐率提高倍数=
=1.64
3.14有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t,其余各段的时间均为△t,而且流水线的输出可以直接返回输入端或
暂存于相应的流水寄存器中。
现要在该流水线上计算,画出其时空图,并计算其吞吐率、加速比和效率。
解:
首先,应选择适合于流水线工作的算法。
对于本题,应先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);然后求总的结果。
其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。
由图可见,它在18个△t时间中,给出了7个结果。
所以吞吐率为:
如果不用流水线,由于一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t=29△t。
所以加速比为:
该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:
3.15动态多功能流水线由6个功能段组成,如下图:
其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:
(1)画出时空图;
(2)计算实际的吞吐率、加速比和效率。
解:
机器一共要做10次乘法,4次加法。
3.16在MIPS流水线上运行如下代码序列:
LOOP:
LWR1,0(R2)
DADDIUR1,R1,#1
SWR1,0(R2)
DADDIUR2,R2,#4
DSUBR4,R3,R2
BNEZR4,LOOP
其中:
R3的初值是R2+396。
假设:
在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”。
问:
(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图。
假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?
(2)假设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。
假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?
(3)假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。
请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。
解:
寄存器读写可以定向,无其他旁路硬件支持。
排空流水线。
第i次迭代(i=0..98)开始周期:
1+(i×17)
总的时钟周期数:
(98×17)+18=1684
有正常定向路径,预测分支失败。
第i次迭代(i=0..98)开始周期:
1+(i×10)
总的时钟周期数:
(98×10)+11=991
有正常定向路径。
单周期延迟分支。
LOOP:
LWR1,0(R2)
DADDIUR2,R2,#4
DADDIUR1,R1,#1
DSUBR4,R3,R2
BNEZR4,LOOP
SWR1,-4(R2)
第i次迭代(i=0..98)开始周期:
1+(i×6)
总的时钟周期数:
(98×6)+10=598
3.17假设各种分支指令数占所有指令数的百分比如下:
条件分支
20%(其中的60%是分支成功的)
跳转和调用
5%
现有一条段数为4的流水线,无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第三个时钟周期结束时才能够被解析出来。
第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一个流水段的处理。
请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少?
解:
没有控制相关时流水线的平均CPI=1
存在控制相关时:
由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支
要到第3个时钟周期结束时才能被解析出来。
所以:
(1)若使用排空流水线的策略,则对于条件分支,有两个额外的stall,对无条件分支,有一个额外的stall:
CPI=1+20%*2+5%*1=1.45
加速比S=CPI/1=1.45
(2)若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的stall,对无条件分支和成功的条件分支,有一个额外的stall1:
CPI=1+20%*(60%*1+40%*2)+5%*1=1.33
加速比S=CPI/1=1.33
(3)若使用预测分支失败策略,则对于成功的条件分支,有两个额外的stall;对无条件分支,有一个额外的stall;对不成功的条件分支,其目标地址已经由PC值给出,不必等待,所以无延迟:
CPI=1+20%*(60%*2+40%*0)+5%*1=1.29
加速比S=CPI/1=1.29
3.18在CRAY-1机器上,按照链接方式执行下述4条向量指令(括号中给出了相应功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要1拍,试求此链接流水线的通过时间是多少拍?
如果向量长度为64,则需多少拍才能得到全部结果?
V0←存储器(从存储器中取数:
7拍)
V2←V0+V1(向量加:
3拍)
V3←V2 4拍) V5←V3∧V4(向量逻辑乘: 2拍) 解: 通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,具体过程如下图所示。 要得到全部结果,在流水线充满之后,向量中后继操作数继续以流水方式执行,直到整组向量执行完毕。 3.19某向量处理机有16个向量寄存器,其中V0~V5中分别放有向量A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用两条单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。 采用类似于CARY-1的链接技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。 (1)求此链接流水线的通过时间? (设寄存器入、出各需1拍) (2)假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此处理部件的实际吞吐率为多少MFLOPS? 解: (1)我们在这里假设A+B的中间结果放在V6中,(A+B)×C地最后结果放在V7中,D+E地中间结果放在V8中,(D+E)×F的最后结果放在V9中。 具体实现参考下图: 通过时间应该为前者((A+B)×C)通过的时间: T通过=(1+2+1)+(1+3+1)=9(拍) (2)在做完(A+B)×C之后,作(C+D)×E就不需要通过时间了。 V6←A+B V7←V6×C V8←D+E V9←V8×F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 房至一 第一 三章大题 答案