计算机系统结构考试计算题.docx
- 文档编号:6758147
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:18
- 大小:180.48KB
计算机系统结构考试计算题.docx
《计算机系统结构考试计算题.docx》由会员分享,可在线阅读,更多相关《计算机系统结构考试计算题.docx(18页珍藏版)》请在冰豆网上搜索。
计算机系统结构考试计算题
3.12有一指令流水线如下所示
入
1
2
3
4
出
50ns
50ns
100ns
200ns
(1)求连续输入10条指令,该流水线的实际吞吐率和效率;
(2)该流水线的“瓶颈”在哪一段?
请采取两种不同的措施消除此“瓶颈”对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?
解:
(1)
m
Tpipelineti(n1)tmax
i1
(5050100200)9200
2200(ns)
TPnTpipeline1220(ns)
2)瓶颈在3、4段。
变成八级流水线(细分)
TPnTpipeline185(ns1)
E400108508101758.82%
有一个流水线由其中每当流经第总要在该段循环如果每段经过一次所需要的时间都是t,问:
t时间输入任务时,该流水线会发生
2)此流水线的最大吞吐率为多少?
如果每2t输入一个任务,连续处理
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)
1
2
3
4
5
6
7
8
910
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
1010
时间
1
2
3
4
5
6
7
8
9
10
12
3
4
5
6
7
8
9
10
4
3
2
1
23t
3)重复设置部件
4
1
2
3
4
5
6
7
8
9
10
3_2
2
2
4
4
6
6
8
8
10
10
3_1
1
1
3
3
5
5
7
7
9
9
2
1
2
3
4
5
6
7
8
9
10
1
1
2
3
4
5
6
7
8
9
10
时间
TP
14t
5
吞吐率提高倍数=107t=1.64
10
23t
3.14有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用
1、2、5段,第3段的时间为2△t,其余各段的时间均为△t,而且流水线的输出可以直接返回输入端或
,画出其时
4暂存于相应的流水寄存器中。
现要在该流水线上计算(AiBi)空图,并计算其吞吐率、加速比和效率。
i1
解:
首先,应选择适合于流水线工作的算法。
对于本题,应先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);然后求总的结果。
其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。
ABCDA×BC×DA×B×C×D
由图可见,它在18个△t时间中,给出了
7个结果。
所以吞吐率为:
TP7
18t如果不用流水线,由于一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t=29△t。
所以加速比为:
29t
该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:
3.15动态多功能流水线由6个功能段组成,如下图:
其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而
5
且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:
xiyizi
i1
(1)画出时空图;
(2)计算实际的吞吐率、加速比和效率。
解:
机器一共要做10次乘法,4次加法。
3.16在MIPS流水线上运行如下代码序列:
LOOP:
LW
R1,
0(R2)
DADDIU
R1,
R1,#1
SW
R1,
0(R2)
DADDIU
R2,
R2,#4
DSUB
R4,
R3,R2
BNEZ
R4,
LOOP
其中:
R3的初值是R2+396。
假设
:
在整个代码序列的运行过程中,所有
的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”。
问:
(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图。
假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?
(2)假设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。
假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?
(3)假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。
请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。
解:
寄存器读写可以定向,无其他旁路硬件支持。
排空流水线。
指令
1
23
45
6
78
9
1011
12
13
141516171819202122
LW
IFID
EX
M
WB
DADDIU
IF
S
S
ID
EX
M
WB
SW
IF
S
S
ID
EX
M
WB
DADDIU
IF
ID
EX
M
WB
DSUB
IF
S
S
ID
EX
MWB
BNEZ
LW
IFSSIDEXMWB
EXMWB
IF
S
SIFID
第i次迭代(i=
0..98)
开始周期:
1+(i×17)
总的时钟周期数:
(98×17)+18=1684
有正常定向路径,预测分支失败。
指令
123
45
6
78
91011
11314
15
LW
IFIDEXM
WB
DADDIU
IFIDS
EX
M
WB
SW
IFS
ID
EX
MWB
DADDIU
IF
ID
EXM
WB
DSUB
IF
IDEX
MWB
BNEZ
IFID
EXMWB
LW
IF
missmissIF
ID
EXM
WB
第i次迭代(i=
0..98)
开始周期:
1+(i×10)
总的时钟周期数:
(98×10)+11=991
有正常定向路径。
单周期延迟分支
LOOP:
LW
R1,0(R2)
DADDIU
R2,R2,#4
DADDIU
R1,R1,#1
DSUB
R4,R3,R2
BNEZ
R4,LOOP
SW
R1,-4(R2)
第i次迭代(i
=0..98)开始周期:
1+(
i×6)
总的时钟周期数:
(98×6)+10=598
指令
12
3
4
5
6
7
8
9
10
11
LW
IFID
EX
M
WB
DADDIU
IF
ID
EX
M
WB
DADDIU
IF
ID
EX
M
WB
DSUB
IF
ID
EX
M
WB
BNEZ
IF
ID
EX
M
WB
SW
IF
ID
EX
M
WB
LW
IF
ID
EX
M
WB
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
5.10假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25%。
Cache的命中时间为1个时钟周期,失效开销为50个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的失效率为0.39%,32KB的数据Cache的失只有凭借毅力,坚持到底,才有可能成为最后的赢家。
这些磨练与考验使成长中的青少年受益匪浅。
在种种历练之后,他们可以学会如何独立处理问题;如何调节情绪与心境,直面挫折,抵御压力;如何保持积极进取的心态去应对每一次挑战。
往往有着超越年龄的成熟与自信,独立性和处理问题的能力都比较强。
效率为4.82%,64KB的混合Cache的失效率为1.35%。
又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。
试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?
两种情况下平均访存时间各是多少?
解:
(1)根据题意,约75%的访存为取指令。
因此,分离Cache的总体失效率为:
(75%×0.15%)+(25%×3.77%)=1.055%;
容量为128KB的混合Cache的失效率略低一些,只有0.95%。
(2)平均访存时间公式可以分为指令访问和数据访问两部分:
平均访存时间=指令所占的百分比×(读命中时间+读失效率×失效开销)+数据所占的百分比×(数据命中时间+数据失效率×失效开销)
所以,两种结构的平均访存时间分别为:
分离Cache的平均访存时间=75%×(1+0.15%×50)+25%×(1+3.77%×50)
=(75%×1.075)+(25%×2.885)=1.5275
混合Cache的平均访存时间=75%×(1+0.95%×50)+25%×(1+1+0.95%
×50)
=(75%×1.475)+(25%×2.475)=1.725
因此,尽管分离Cache的实际失效率比混合Cache的高,但其平均访存时间反而较低。
分离Cache提供了两个端口,消除了结构相关。
5.11给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。
由计算结果能得出什么结论?
(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访
存1.2次;
(2)两者Cache容量均为64KB,块大小都是32字节;
(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%;
(4)这两种Cache的失效开销都是80ns;
(5)命中时间为1个时钟周期;
(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。
解:
平均访问时间=命中时间+失效率×失效开销
平均访问时间1-路=2.0+1.4%*80=3.12ns
平均访问时间2-路=2.0*(1+10%)+1.0%*80=3.0ns
两路组相联的平均访问时间比较低
CPUtime=(CPU执行+存储等待周期)*时钟周期
CPUtime=IC(CPI执行+总失效次数/指令总数*失效开销)*时钟周期
=IC((CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟只有凭借毅力,坚持到底,才有可能成为最后的赢家。
这些磨练与考验使成长中的青少年受益匪浅。
在种种历练之后,他们可以学会如何独立处理问题;如何调节情绪与心境,直面挫折,抵御压力;如何保持积极进取的心态去应对每一次挑战。
往往有着超越年龄的成熟与自信,独立性和处理问题的能力都比较强。
周期))
CPUtime1-way=IC(2.0*2+1.2*0.014*80)=5.344IC
CPUtime2-way=IC(2.2*2+1.2*0.01*80)=5.36IC
相对性能比:
CPU
time2way
time2way5.36/5.344=1.003
CPU
time1way
直接映象cache的访问速度比两路组相联cache要快1.04倍,而两路组相联Cache的平均性能比直接映象cache要高1.003倍。
因此这里选择两路组相联。
5.12假设一台计算机具有以下特性:
(1)95%的访存在Cache中命中;
(2)块大小为两个字,且失效时整个块被调入;
(3)CPU发出访存请求的速率为109字/s;
(4)25%的访存为写访问;
(5)存储器的最大流量为109字/s(包括读和写);
(6)主存每次只能读或写一个字;
(7)在任何时候,Cache中有30%的块被修改过;
(8)写失效时,Cache采用按写分配法。
现欲给该计算机增添一台外设,为此首先想知道主存的频带已用了多少。
试对于以下两种情况计算主存频带的平均使用比例。
(1)写直达Cache;
(2)写回法Cache。
解:
采用按写分配
(1)写直达cache访问命中,有两种情况:
读命中,不访问主存;写命中,更新cache和主存,访问主存一次。
访问失效,有两种情况:
读失效,将主存中的块调入cache中,访问主存两次;
写失效,将要写的块调入cache,访问主存两次,再将修改的数据
写入cache和主存,访问主存一次,共三次。
上述分析如下表所示。
访问命中
访问类型
频率
访存次数
Y
读
95%*75%=71.3%
0
Y
写
95%*25%=23.8%
1
N
读
5%*75%=3.8%
2
N
写
5%*25%=1.3%
3
一次访存请求最后真正的平均访存次数
=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)=0.35
已用带宽=0.35×109/109=35.0%
(2)写回法cache访问命中,有两种情况:
读命中,不访问主存;写命中,不访问主存。
采用写回法,只有当修改的cache块被换出时,才写入主存;
访问失效,有一个块将被换出,这也有两种情况:
如果被替换的块没有修改过,将主存中的块调入cache块中,访问主存两次;
如果被替换的块修改过,则首先将修改的块写入主存,需要访问主存两次;然后将主存中的块调入cache块中,需要访问主存两次,共四次访问主存。
访问命中
块为脏
频率
访存次数
Y
N
95%*70%=66.5%
0
Y
Y
95%*30%=28.5%
0
N
N
5%*70%=3.5%
2
N
Y
5%*30%=1.5%
4
所以:
一次访存请求最后真正的平均访存次数=66.5%*0+28.5%*0+3.5%*2+1.5%*4=0.13
已用带宽=0.13×109/109=13%
5.13在伪相联中,假设在直接映象位置没有发现匹配,而在另一个位置才找到数据(伪命中)时,不对这两个位置的数据进行交换。
这时只需要1个额外的周期。
假设失效开销为50个时钟周期,2KB直接映象Cache的失效率为9.8%,2路组相联的失效率为7.6%;128KB直接映象Cache的失效率为1.0%,2路组相联的失效率为0.7%。
(1)推导出平均访存时间的公式。
(2)利用
(1)中得到的公式,对于2KBCache和128KBCache,计算伪相联的平均访存时间。
解:
不管作了何种改进,失效开销相同。
不管是否交换内容,在同一“伪相联”组中的两块都是用同一个索引得到的,因此失效率相同,即:
失效率伪相联=失效
率2路。
伪相联cache的命中时间等于直接映象cache的命中时间加上伪相联查找过程中的命中时间*该命中所需的额外开销。
命中时间伪相联=命中时间1路+伪命中率伪相联×1交换或不交换内容,伪相联的命中率都是由于在第一次失效时,将地址取反,再在第二次查找带来的。
因此伪命中率伪相联=命中率2路-命中率1路=(1-失效率2路)-(1-失效率1路)
=失效率1路-失效率2路。
交换内容需要增加伪相联的额外开销。
平均访存时间伪相联=命中时间1路+(失效率1路-失效率2路)×1
+失效率2路×失效开销1路将题设中的数据带入计算,得到:
平均访存时间2Kb=1+(0.098-0.076)*1+(0.076*50)=4.822平均访存时间128Kb=1+(0.010-0.007)*1+(0.007*50)=1.353显然是128KB的伪相联Cache要快一些。
5.14假设采用理想存储器系统时的基本CPI是1.5,主存延迟是40个时钟周期;传输速率为4字节/时钟周期,且Cache中50%的块是修改过的。
每个块中有32字节,20%的指令是数据传送指令。
并假设没有写缓存,在TLB失效的情况下需要20时钟周期,TLB不会降低Cache命中率。
CPU产生指令地址或Cache失效时产生的地址有0.2%没有在TLB中找到。
(1)在理想TLB情况下,计算均采用写回法16KB直接映象统一Cache、16KB两路组相联统一Cache和32KB直接映象统一Cache机器的实际CPI;
(2)在实际TLB情况下,用
(1)的结果,计算均采用写回法16KB直接映象统一Cache、16KB两路组相联统一Cache和32KB直接映象统一Cache机器的实际CPI;
其中假设16KB直接映象统一Cache、16KB两路组相联统一Cache和32KB直接映象统一Cache的失效率分别为2.9%、2.2%和2.0%;25%的访存为写访问。
解:
CPI=CPI执行+存储停顿周期数/指令数
存储停顿由下列原因引起:
从主存中取指令load和store指令访问数据由TLB引起
存储停顿周期数取指令停顿数据访问停顿+TLB停顿
=+
指令数=指令数+指令数
1)对于理想TLB,TLB失效开销为0。
而对于统一Cache,R指令=R数据
P指令=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍)
若为读失效,P数据=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍)
若为写失效,且块是干净的,
P数据=主存延迟+传输一个块需要使用的时间=40+32/4=48
(拍)
若为写失效,且块是脏的,
P数据=主存延迟+传输两个块需要使用的时间=40+64/4=56
(拍)
CPI=1.5+[RP+(RP*20%)+0]指令访存全是读,而数据传输指令Load或Store指令,
f数据*P数据=读百分比*(f数据*P数据)+写百分比*(f数据*P干净数据*其对应的百分比
+f数据*P脏数据*其对应的百分比)
=20%*(75%×48+25%*(50%*48+50%*(48+16)))=50(拍)
代入上述公式计算出结果为:
配置
失效率
CPI
16KB直接统一映象
0.029
4.4
16KB两路统一映象
0.022
3.4
32KB直接统一映象
0.020
3.2
TLB停顿
TLB访问
存储访问次数TLB
2)指令数(存储指访令问数次数存储TL访B问次数)TLB失效率TLB失效开销
将f数据(数据访问指令频率),Rt和Pt(分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 考试 算题
![提示](https://static.bdocx.com/images/bang_tan.gif)