文章
149
粉丝
195
获赞
0
访问
19.0k
1)
计算组数:
缓存总块数 = 64KB32B=21625=211=204832B64KB=25216=211=2048 块
每组 4 块 → 组数 = 20484=51242048=512 组 = 2929 组 → 组号 9 位
标记位数:
主存地址 = 标记 (tag) + 组号 (set index) + 块内偏移 (block offset)
26 位 = tag + 9 + 5
tag = 26 − 14 = 12 位
地址划分格式:
标记 (tag) 12 位组号 (set index) 9 位块内偏移 (offset) 5 位
2)
由题意知,访问题目中的主存地址所对应的cache组号均为第0组,故在4个cache行中采用LRU替换算法,一次将0组内的4个cache以0,1,2,3号命名;
每个主存地址所对应的块号分别为
0x000000 = 0 → 块号 0
0x004000 = 16384 → 16384 ÷ 32 = 512
0x008000 = 32768 → 32768 ÷ 32 = 1024
0x00C000 = 49152 → 49152 ÷ 32 = 1536
0x010000 = 65536 → 65536 ÷ 32 = 2048
0x000000 = 0 → 块号 0
0x000000 = 0 → 块号 0
0x014000 = 81920 → 81920 ÷ 32 = 2560
0x004000 = 16384 → 块号 512
0x004000 = 16384 → 块号 512
0x008000 = 32768 → 块号 1024
0x018000 = 98304 → 98304 ÷ 32 = 3072
0x00C000 = 49152 → 块号 1536
所以块号序列:
0, 512, 1024, 153...
登录后发布评论
暂无评论,来抢沙发