计算机体系结构第五章练习题参考解答.doc
- 文档编号:1268784
- 上传时间:2022-10-19
- 格式:DOC
- 页数:4
- 大小:114KB
计算机体系结构第五章练习题参考解答.doc
《计算机体系结构第五章练习题参考解答.doc》由会员分享,可在线阅读,更多相关《计算机体系结构第五章练习题参考解答.doc(4页珍藏版)》请在冰豆网上搜索。
第五章
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为组内块号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机体系结构 第五 练习题 参考 解答