louiej15
考虑一台具有256 KB字节可寻址主存储器和8字节块大小的机器。具有由32条行(分为2行集)组成的组关联映射的缓存。
- 缓存中将存储多少字节?
- 主存储器地址中有多少位?
- 如何划分主内存地址以提供到高速缓存的映射?
- 将具有以下地址的字节存储到哪个组中-110101010101011010?
关于原因的解释将非常有用,因为我正试图了解如何解决这些问题以进一步理解。
维维克
在回答之前,让我们看一下一些计算(请参阅以2为底的对数):
i)套数= 32/2 = 16。因此,指向一个地址集合set = log 16 = 4所需的位数。
ii)在行= log 8 = 3内作为偏移保留的位数。8是此处的块或行大小。
iii)RAM中的块数= 256KB / 8 = 2 ^ 15。
- 高速缓存最多可容纳32 X 8 = 256字节。(这与所使用的映射技术无关)
- 主内存地址必须为18位。(因为RAM的大小为256 X 8 = 2 ^ 18和log(2 ^ 18)= 18。
- 主内存实际上并没有被划分,尽管您可能会认为它在逻辑上被划分为16个(组数)不同的区域,每个区域由2 ^ 11行组成,因此该区域中的每一行仅会映射到特定的组中。由于存在2 ^ 15个块,因此将2 ^ 15除以16得到的数字为2 ^ 11。
- 110101010101011010:在该地址中,首先留出最后3位用于偏移,接下来的4位是1011,相当于十进制的11。因此这将落入第11集。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句