文章
316
粉丝
0
获赞
0
访问
47.5k
 
1):组号占6位,块内地址占6位,VA31到VA12可以做Cache索引。
2):018001B0H,组号是6
3):20H,缺失率是:3.15%,平均访问时间是:8.32个时钟周期。
4):分布在3页中,3次。
评分及理由
(1)得分及理由(满分3分)
学生回答组号占6位(正确),块内地址占6位(正确,因为块大小为64B,2^6=64,所以块内地址占6位)。但VA索引部分错误:学生说“VA31到VA12可以做Cache索引”,但标准答案应为VA11~VA6(即第6位到第11位)。VA31~VA12是页号部分,不能直接用于Cache索引,因为Cache索引应使用物理地址或虚拟地址中与物理地址映射的部分(这里题目未明确虚拟地址到物理地址的转换机制,但通常Cache索引使用虚拟地址的中间位以避免别名问题)。学生答案部分正确,但索引范围错误。扣1分。得2分。
(2)得分及理由(满分4分)
学生计算d[100]的VA为018001B0H(正确,因为d起始地址为01800020H,每个int占4字节,d[100]偏移量为100*4=400=0x190,所以VA=01800020H+0x190=018001B0H)。Cache组号为6(正确,因为组索引位为VA11~VA6,018001B0H的二进制中,位11~6为:地址二进制从低到高,位6~11对应十六进制位:018001B0H的二进制,从右最低位为位0,位6~11是组索引,计算得组索引为6)。答案全正确。得4分。
(3)得分及理由(满分4分)
学生回答d[0]在其主存块内的偏移量为20H(即32字节,正确,因为d起始地址01800020H,块大小为64B,块内偏移量为地址低6位,01800020H的低6位为20H=32)。缺失率计算为3.15%(错误,标准答案为3.13%。计算过程:主存块大小64B,每个数组元素为int占4B,所以一个块有16个元素。循环访问2048次,每次访问d[i](读)和d[i](写),但写操作通常采用写分配策略,因此每次写缺失也会触发块替换。所以总访问次数为4096次(每次循环有两次访问:读和写)。缺失次数:数组d共有2048个元素,分布在2048*4/64=128个块中。初始时cache为空,但采用LRU或随机替换,缺失模式为每16次访问(一个块内元素)发生一次缺失...
登录后发布评论
暂无评论,来抢沙发