计算机体系结构(系统结构)考试例题--大题

计算机体系结构(系统结构)考试例题--大题
计算机体系结构(系统结构)考试例题--大题

例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

由此可得: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)采用第一种方案

()25

11

4Fe

Fe +

-=

()()2

%7533.1%2541=?+?=??? ?

?

?=∑=n

i i i IC IC CPI CPI

FPSQR操作的CPI由CPI

FPSQR =20减至CPI’

FPSQR

=2,则整个系统的指令平均时钟周期数为:

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)其哈夫曼树如图所示,该树的每个叶结点

分别对应于一条指

17

.2log 7

1

2==∑=i i i p p H -

令。在该树中,对每个结点向下的两个分支,分

别用二进制“1”和 “0”来表示。

从该哈夫曼树可以很容易地写出哈

夫曼编码。

具体方法:对于任意一条指令I i

(i=1,2,…,7),从哈

夫曼树根结点出发、沿一条路径连接到叶结点I i ,

把途中所经过的各

分支的“0”和“1”按从左到右的顺序记录下

来,便是该指令的哈夫曼

编码。上表中列出了所有指令的哈夫曼编码。

该哈夫曼编码的平均码长是:

7654321

其信息冗余量为

例1:假设T 2=5T 1,在命中率H 为0.9和0.99两种情况下,分别计算存储系统的访问效率。 解:

当H =0.9时,

e 1=1/(0.9+5(1-0.9))=0.72

当H =0.99时,

e 2=1/(0.99+5(1-0.99))=0.96

20.271

==∑

=i i i l p L 1.36%2.20

2.172.20≈-

例3:

在一个Cache 存储系统中,当Cache 的块大小为一个字时,命中率H =0.8;假设数据的重复利用率为5,T 2=5T 1。计算块大小为4个字时,Cache 存储系统的命中率?并分别计算访问效率。

解:n =4×5=20,采用预取技术之后,命中率提高到:

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

====

例7.1用一个和Alpha AXP类似的机器作为第一个例子。假设Cache不命中开销为50个时钟

周期,当不考虑存储器停顿时,所有指令的

执行时间都是2.0个时钟周期,访问Cache

不命中率为2%,平均每条指令访存1.33次。

试分析Cache对性能的影响。

CPU时间

=IC ×(CPI execution+每条指令的平均访存次数×不命中率×不命中开销)×时钟周期时有cache

=IC ×(2.0+1.33×2 %×50)×时钟周期时间

=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个时钟周期

如有侵权请联系告知删除,感谢你们的配合!

相关主题
相关文档
最新文档