某存储系统中,主存容量是Cache容量的4096倍,Cache被分为64个块,当主存地址和Cache地址采用直接映射方式时,地址映射表的大小应为()(假设不考虑一致维护和替换算法位)
时间: 2024-04-02 10:32:46 浏览: 65
在直接映射方式下,主存和Cache的地址映射关系是一对一的,因此Cache的每个块对应主存的一个固定块。假设主存容量为M,Cache容量为C,Cache被分为B个块,则每个Cache块的大小为S = C / B,而主存的大小为M = 4096 * S = 4096 * C / B。因此,主存中的每个块对应Cache中的一个块,而地址映射表的大小应该为Cache块数B个,即64个。
相关问题
第3题:计算机主存容量8MB,分为4096个主存块,cache有64KB,请问,若按照采用直接映射方式。 1) cache有多少字块? 2) Cache的字块内地址为多少位 3) Cache的字块地址为多少位 4) 请写出该主存的地址格式 5)若按照全相联映射方式请写出该主存的地址格式
1) cache有1024个字块。
2) Cache的字块内地址为6位。
3) Cache的字块地址为6位。
4) 该主存的地址格式为:主存块号(12位) + 块内地址(13位)。
5) 若按照全相联映射方式,该主存的地址格式为:块内地址(13位) + 主存块号(12位)。
有一个Cache主存系统,主存容量2MB,Cache容量64KB,每个字块4KB,采用直接映射方式。存储字按字节编址。该主存地址所在的主存字块映射到Cache的什么位置(写出Cache字块号,要求给出计算过程)
首先要确定主存地址和字块的对应关系。由于每个字块大小为4KB,因此主存中的每个字块占用4个连续的地址。所以,主存地址的后12位(2^12=4KB)表示该地址所在的字块内的偏移量,而主存地址的前20位表示该地址所在的字块号。
Cache容量为64KB,即可以存储16个主存字块。采用直接映射方式,Cache中每个字块都对应着唯一的主存字块。每个主存字块的地址映射到Cache中的位置可以通过以下计算得到:
Cache块号 = 主存块号 mod Cache块数 = 主存块号 mod 16
其中,主存块号是主存中该地址所在的字块号,Cache块数为Cache总容量除以每个字块大小,即64KB/4KB=16。
因此,该主存地址所在的主存字块映射到Cache的位置为:
Cache字块号 = 主存字块号 mod 16 = 主存地址的前20位 mod 16
计算过程如下:
主存地址 = 0x123456,主存字块号 = 0x123(前20位),
Cache字块号 = 0x123 mod 16 = 0x3
因此,该主存地址所在的主存字块映射到Cache的位置为Cache中的第3个字块。
阅读全文