计算机体系结构第五章练习题参考解答.doc

上传人:b****2 文档编号:1268784 上传时间:2022-10-19 格式:DOC 页数:4 大小:114KB
下载 相关 举报
计算机体系结构第五章练习题参考解答.doc_第1页
第1页 / 共4页
计算机体系结构第五章练习题参考解答.doc_第2页
第2页 / 共4页
计算机体系结构第五章练习题参考解答.doc_第3页
第3页 / 共4页
计算机体系结构第五章练习题参考解答.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机体系结构第五章练习题参考解答.doc

《计算机体系结构第五章练习题参考解答.doc》由会员分享,可在线阅读,更多相关《计算机体系结构第五章练习题参考解答.doc(4页珍藏版)》请在冰豆网上搜索。

计算机体系结构第五章练习题参考解答.doc

第五章

5.34在一个采用组相联映象方式的Cache存储系统中,主存由B0~B7共8块组成,Cache有2组,每组2块,每块大小为16B。

在一个程序执行过程中,访存的主存块地址流为:

B6,B2,B4,B1,B4,B6,B3,B0,B4,B5,B7,B3。

(1)写出主存地址的格式,并标出各字段的长度。

(2)写出Cache地址的格式,并标出各字段的长度。

(3)指出主存与Cache之间各个块的映象关系。

(4)若Cache的4个块号为C0、C1、C2和C3,列出程序执行过程中的Cache块地址流。

(5)若采用FIFO替换算法,计算Cache的块命中率。

(6)若采用LRU替换算法,计算Cache的块命中率。

(7)若改为全相联映象方式,再做(5)和(6)。

(8)若在程序执行过程中,每从主存装入一块到Cache,平均要对这个块访问16次,计算在这种情况下的Cache命中率。

解:

(1)

(2)采用组相联映象时,主存和Cache地址的格式分别为:

区号E区内组号G主存组内块号B块内地址W

组号g组内块号b块内地址w

主存按Cache的大小分区,现主存有8个块,Cache有2×2=4个块,则主存分为8/4=2个区,区号E的长度为1位。

又每区有2个组,则组号G、g的长度都为1位。

而每组有2个块,则块号B、b的长度又都为1位。

每块大小为16个存储字,故块内地址W、w的长度都为4位。

(3)根据组相联映象的规则,主存块0~7与Cache块0~3之间的映象关系为:

主存块0、1、4、5与Cache块0、1之间全相联,主存块2、3、6、7与Cache块2、3之间全相联。

(4)根据组相联映象的规则,该主存块地址流相应的一种Cache块地址流如下表所示(组内替换算法为FIFO)。

时间:

123456789101112

主存块地址流:

B6B2B4B1B4B6B3B0B4B5B7B3

Cache块地址流:

C2C3C0C1C0C2C2C0C0C0C3C2

(5)组内替换算法采用FIFO时,Cache块0~3的使用过程如下表所示。

时间:

123456789101112

主存块地址流:

B6B2B4B1B4B6B3B0B4B5B7B3

4

4*

4*

4*

4*

0

0*

5

5

5

1

1

1

1

1*

4

4*

4*

4*

6

6*

6*

6*

6*

6*

3

3

3

3

3*

3*

2

2

2

2

2

2*

2*

2*

2*

7

7

Cache块0

Cache块1

Cache块2

Cache块3

命中命中命中

可见命中三次,Cache块命中率为Hi=3/12=0.25。

(6)组内替换算法采用LRU时,Cache块0~3的使用过程如下表所示。

时间:

123456789101112

主存块地址流:

B6B2B4B1B4B6B3B0B4B5B7B3

4

4*

4

4

4

4*

4

4*

4*

4*

1

1*

1*

1*

0

0*

5

5

5

6

6*

6*

6*

6*

6

6*

6*

6*

6*

7

7

2

2

2

2

2*

3

3

3

3

3*

3*

Cache块0

Cache块1

Cache块2

Cache块3

命中命中命中命中

可见命中四次,Cache块命中率为Hi=4/12=0.33。

(7)全相联映象的规则是主存块0~7可装入Cache块0~3的任一块上。

当替换算法采用FIFO时,Cache块0~3的使用过程如下表所示。

时间:

123456789101112

主存块地址流:

B6B2B4B1B4B6B3B0B4B5B7B3

6

6

6

6*

6*

6*

3

3

3

3

3*

3*

2

2

2

2

2

2*

0

0

0

0

0

4

4

4

4

4

4*

4*

5

5

5

1

1

1

1

1

1

1*

7

7

Cache块0

Cache块1

Cache块2

Cache块3

命中命中命中命中

可见命中四次,Cache块命中率为Hi=4/12=0.33。

当替换算法采用LRU时,Cache块0~3的使用过程如下表所示。

时间:

123456789101112

主存块地址流:

B6B2B4B1B4B6B3B0B4B5B7B3

6

6

6

6*

6*

6

6

6

6*

5

5

5

2

2

2

2

2*

3

3

3

3*

7

7

4

4

4

4

4

4*

4

4

4

4*

1

1

1

1*

0

0

0

0*

3

Cache块0

Cache块1

Cache块2

Cache块3

命中命中命中

可见命中三次,Cache块命中率为Hi=3/12=0.25。

(8)当命中三次时,Cache的命中率为Hi=(12×16-9)/(12×16)≈1,当命中四次时,Cache的命中率为Hi=(12×16-8)/(12×16)≈1。

5.35在某采用全相联映象、相联目录表实现地址变换Cache存储器中,Cache的容量是2cB,主存是由m个存储体组成的低位交叉访问存储器,主存总容量是2MB,每一个存储体的字长是w位,。

(1)画出地址变换图。

(2)写出主存地址和Cache地址的格式,并标出各字段的长度。

(3)说明目录表的行数、相联比较的位数和目录表的宽度。

解:

(1)地址变换图见P243的图5-20。

(2)采用全相联映象时,主存和Cache地址的格式分别为:

组内块号b块内地址w

主存块号B块内地址W

主存和Cache单元数分别为:

8×2M/w、8×2c/w,相应的地址长度分别为:

log2(8×2M/w)=M+3-log2w、log2(2c/w)=C+3-log2w。

块的大小为m个存储字,则主存和Cache的块内地址长度均为:

log2m,所以主存和Cache的块号长度分别为:

(M+3-log2w)-log2m=M+3-log2wm、(C+3-log2w)-log2m=C+3-log2wm。

(3)相联目录表的行数为Cache的块数,即Cb=2(C+3-log2wm)=2C+3/wm;相联比较的位数为主存块号长度,即M+3-log2wm;目录表的宽度(位数)为主存块号长度、Cache块号长度和有效位的和,即M+3-log2wm+C+3-log2wm+1=M+C+6-2log2wm+1(有效位一位)。

5.38一个采用组相联映像方式的Cache共有8块,分为两组,用硬件比较对法实现LRU块替换算法。

(1)共需要多少个触发器和多少个与门?

(2)画出其中一组的逻辑图。

解:

(1)设组内块数为p,则触发器的个数为:

Cp2=p(p-1)/2。

Cache有8块分为二组,每组4个块,则每组需要触发器的个数为:

4(4-1)/2=6,所以共需要触发器为6×2=12。

与门的个数为组内块数为p=4,与门输入端数为p-1=3。

(2)有效比较对有:

AB、AC、AD、BC、BD和CD,比较对触发器的TAB=1表示A比B更近被访问过,TAB=0表示B比A更近被访问过,TAC、TAD、TBC、TBD和TCD也类似定义。

D最久未被访过的块的逻辑关系为:

DLRU=TAD﹒TBD﹒TCD

C最久未被访过的块的逻辑关系为:

CLRU=TAC﹒TBC﹒TCD

B最久未被访过的块的逻辑关系为:

BLRU=TAB﹒TBC﹒TBD

A最久未被访过的块的逻辑关系为:

ALRU=TAB﹒TAC﹒TAD

01

RS

01

RS

01

RS

ALRU

BLRU

DLRU

TAB

TAC

TAD

访问A

访问B

访问C

访问D

01

RS

01

RS

01

RS

TBC

TBD

TCD

&

&

&

&

CLRU

5.40有一个16KB4路组相联Cache的32位微处理器,假定该Cache的块为4个32位的字。

(1)画出该Cache的结构逻辑图,指出主存地址的不同字段的作用。

(2)主存地址为ABCDE8F8的单元在Cache中的什么位置。

解:

(1)Cache的结构逻辑图见P248的图5-26。

主存地址有区号、区内组号、组内块号和块内地址四个字段,区内组号是按地址访问映像关系表的地址,区号和组内块号是相联访问映像关系表的特征内容,块内地址是选择块内字的地址。

(2)在Cache存储系统中,主存与Cache的块大小是相同的,由题可知主存与Cache是字节编址的。

则块内单元数为:

4×32/8=16;由于24=16,则块内地址的位数4;4路组相联则组内块数为4,22=4,组内块号的位数为2;区内组数为:

16KB/4×4×4B(32位)=256,28=256,则区内组号的位数为8。

主存地址为ABCDE8F816的单元,其二进制地址为:

10101011111011011110100011111000(主存字节地址为32位);16KB的Cache二进制地址为14位,则主存地址中的高18位为区号:

101010111110110111;次高8位10100011为组号,Cache的组号与主存区内组号不变;最低4位1000为块内地址,Cache的块内地址与主存块内地址也不变;次低2位11为组内块号

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1