计算机体系结构(系统结构)考试例题--大题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1.1 将计算机系统中某一功能的处理速
度加快15倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少? 解 由题可知: F e = 40% = 0.4 S e = 15
根据Amdahl 定律可知:
采用此增强功能方法后,能使整个系统
的性能提高到原来的1.6倍。
例1.2 某计算机系统采用浮点运算部件后,使
浮点运算速度提高到原来的25倍,而系统运行某一程序的整体性能提高到原来的4倍,试计算该程序中浮点操作所占的比例。
解 由题可知: S e = 25 S n = 4 根据Amdahl 定律可知:
6
.115
4
.0)4.01(1)1(1≈+
-=
+
-=
Se
Fe
Fe S
n
()25
11
4Fe
Fe +
-=
由此可得:Fe = 78.1%
即程序中浮点操作所占的比例为78.1%。
例1.3 假设FP 指令的比例为25%,其中,
FPSQR 占全部指令的
比例为2%,FP 操作的CPI 为4,FPSQR 操作
的CPI 为20 ,其他指令
的平均CPI 为1.33。
现有两种改进方案,第一
种是把FPSQR 操作的
CPI 减至2,第二种是把所有的FP 操作的CPI
减至2,试比较两种方案 对系统性能的提高程度。
解 没有改进之前,每条指令的平均时钟周
期CPI 为:
(1)采用第一种方案
FPSQR 操作的CPI 由
CPI FPSQR =20减至CPI’FPSQR =2,则整个系
统的指令平均时钟周期数为:
()()2
%7533.1%2541=⨯+⨯=⎪⎭⎫ ⎝
⎛
⨯=∑=n
i i i IC IC CPI CPI
CPI
1=CPI―(CPI
FPSQR
―CPI’
FPSQR
)×2%
=2―(20―2) ×2%=1.64
(2)采用第二种方案
所有FP操作的CPI由CPI
FP =4减至CPI’
FP
=2,则整个系统的指令平均时钟周期数为:
CPI
2=CPI―(CPI
FP
―CPI’
FP
)×25%
=2―(4―2) ×25%=1.5
从降低整个系统的指令平均时钟周期数的程度来看,第二种方案优于第一种方案。
例2.1 假设某模型机有7条指令,这些指令的使用频度如表左
边所示。
(1) 计算这7条指令的操作码编码的最短平
均码长;
(2) 画出哈夫曼树,写出这7条指令的哈夫
曼编码,并计算该
编码的平均码长和信息冗余量。
解 (1)
(2)其哈夫曼树如图所示,该树的每个叶结点
分别对应于一条指
令。
在该树中,对每个结点向下的两个分支,分
别用二进制“1”和 “0”来表示。
从该哈夫曼树可以很容易地写出哈
夫曼编码。
17
.2log 7
1
2==∑=i i i p p H -
具体方法:对于任意一条指令I i
(i=1,2,…,7),从哈
夫曼树根结点出发、沿一条路径连接到叶结点I i ,
把途中所经过的各
分支的“0”和“1”按从左到右的顺序记录下来,便
是该指令的哈夫曼
编码。
上表中列出了所有指令的哈夫曼编码。
该哈夫曼编码的平均码长是:
其信息冗余量为
765432120.271
==∑
=i i i l p L 1.36%
2.20
2.17
2.20≈-
例1:假设T
2=5T
1
,在命中率H为0.9
和0.99两种情况下,分别计算存储系统的访问效率。
解:
当H=0.9时,
e1=1/(0.9+5(1-0.9))=0.72
当H=0.99时,
e2=1/(0.99+5(1-0.99))=0.96
例3:
在一个Cache存储系统中,当Cache的块大小为一个字时,命中率H=0.8;假
设数据的重复利用率为5,T
2=5T
1。
计
算块大小为4个字时,Cache 存储系统的命中率?并分别计算访问效率。
解:n =4×5=20,采用预取技术之后,命中率提高到:
例7.1 用一个和Alpha AXP 类似的机器作为第
一个例子。
假设Cache 不命中开销为50个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是2.0个时钟周期,访问Cache 不命中率为2%,平均每条指令访存1.33次。
试分析Cache 对性能的影响。
解
CPU 时间
有cache
=IC ×(CPI execution +每条指令的平均访存次数×不命中率×不命中开销)× 时钟周期
时间
=IC ×(2.0+1.33×2 %×50)× 时钟周期时间
0.55
1/1.8-0.8))1/(0.8+5(1e 0.8,访问效率为:H :一个字时当Cache块大小为1====0.96
1/1.041-0.99))1/(0.99+5(e :
0.99,访问效率为H :4个字时当Cache块大小为
22
====
=IC ×
3.33×时钟周期时间
考虑Cache的不命中后,性能为:
CPU时间有cache=IC×(2.0+1.33×2 %×50)×时钟周期时间
=IC×3.33×时钟周期时间
实际CPI :3.33
3.33/2.0 = 1.67(倍)
CPU时间也增加为原来的1.67倍。
但若不采用Cache,则:
CPI=2.0+50×1.33=68.5
例7.2 考虑两种不同组织结构的Cache:直接映象Cache和两路组相联Cache,试问它们对CPU的性能有何影响?先求平均访存时间,然后再计算CPU性能。
分析时请用以下假设:
(1)理想Cache(命中率为100%)情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.3次。
(2)两种Cache容量均为64KB,块大小都是32字节。
(3)在组相联Cache中,由于多路选择器的存在而使CPU的时钟周期增加到原来的1.10倍。
这是因为对Cache的访问总是处于关键路径上,对CPU的时钟周期有直接的影响。
(4) 这两种结构Cache的不命中开销都是70ns。
(在实际应用中,应取整为整数个时钟周期)
(5) 命中时间为1个时钟周期,64KB直接映象Cache的不命中率为1.4%,相同容量的两路组相联Cache的不命中率为1.0%。
例7.3 考虑某一两级Cache:第一级Cache为L1,第二级Cache为L2。
(1)假设在1000次访存中,L1的不命中是40次,L2的不命中是20次。
求各种局部不命中率和全局不命中率。
(2)假设L2的命中时间是10个时钟周期,L2的不命中开销是100时钟周期,L1的命中时间是1个时钟周期,平均每条指令访存1.5次,不考虑写操作的影响。
问:平均访存时间是多少?每条指令的平均停顿时间是多少个时钟周期?
解(1)
第一级Cache的不命中率(全局和局部)是40/1000,即4%;
第二级Cache的局部不命中率是20/40,即50%;
第二级Cache的全局不命中率是20/1000,即2%。
(2)平均访存时间=命中时间L1+不命中率L1×(命中时间L2+
不命中率L2×不命中开销L2)
=1+4%×(10+50%×100)
=1+4%×60=3.4个时钟周期
由于平均每条指令访存1.5次,且每次访存的平均停顿时间为:
3.4-1.0=2.4
所以:
每条指令的平均停顿时间=2.4×1.5=3.6个时钟周期。