Cache组相联映射到底应该怎么算法?
我先确认你的题目细节:block = 1B,就是1个字节。(主存交换大小)cache4行,因为是二路组关联,所以每行2个block。因此cache一共4*2B = 8字节。cache一共2个字,这种题目没法做的,因为你是字编址!!所谓我认为你的题目是有问题的!下面假设交换大小是1W来做!!!!!!(或者字节编址)4行,索引号需要2位;表示为00,01,10,11访问:0: 就是00,所以存放在第00行,缺失4:就是100,也存放在00行,和0一行,缺失,但是lru标记在08:就是1000,存放在00行(看最后2位),因为lru标记,所以把0地址内容冲掉,lru在42:就是10,存放在10行,缺失0:存放在00行,吧4冲掉,lru标记在8,缺失6:110 ,存放在10行,缺失8:1000,命中,lru标记在06:110,命中4:100,缺失,吧0冲掉,lru在88:1000,命中,lru到4
某cache有64行,采用4路组相联映射方式,主存有4K个块,每块128个字。则,主存地址多少位?
cache有64行,所以cache有64块则2^c=64,c=6由四路组相联得2^r=4,r=2组地址q=c-r=4每块128字,2^b=128,字块内地址b=7主存容量4K*128=2^19字主存字块标记为19-q-b=8