某计算机内存容量 16MB,按字节编址。Cache 容量 2KB,每块 32 字节,四路组相联,初始状态为空。现 CPU 依次访问 0、1、2......999 号内存单 元,重复 10 次。请回答下列问题
时间: 2023-07-15 20:12:58 浏览: 47
1. Cache 有多少块?
答:Cache 容量为 2KB,每块 32 字节,因此 Cache 共有 2KB / 32B = 64 块。
2. 每个 Cache 组有多少块?
答:Cache 是四路组相联的,因此每个组有 64 / 4 = 16 块。
3. 内存中有多少页?
答:内存容量为 16MB,按字节编址,因此共有 16MB / 1B = 16777216 个内存单元,即 16777216 个字节。每页大小为 4KB = 4096B,因此内存中共有 16777216B / 4096B = 4096 页。
4. 如果 Cache 采用写回方式,那么在 CPU 完成访问后,哪些数据会被写回到内存中?
答:Cache 采用写回方式时,只有在 Cache 中已经被修改过的数据才需要在 CPU 完成访问后写回到内存中。
5. 如果 Cache 采用写直达方式,那么在 CPU 完成访问后,哪些数据会被写回到内存中?
答:Cache 采用写直达方式时,每次 Cache 中的数据被修改后都会立即被写回到内存中,因此所有被修改过的数据都会在 CPU 完成访问后写回到内存中。
相关问题
某计算机字长为32位,内存容量为2GB,按字节编址,则可寻址范围为?
根据给定的信息,计算机字长为32位,即每个字节由32个二进制位组成。内存容量为2GB,即2 × 1024 × 1024 × 1024字节。
由于是按字节编址,每个地址可以寻址一个字节。
计算可寻址范围:
2GB = 2 × 1024 × 1024 × 1024字节
= 2 × (2^10) × (2^10) × (2^10)字节
= (2^1) × (2^10) × (2^10) × (2^10)字节
= 2^33字节
因此,可寻址范围为2^33字节,即0到(2^33 - 1)的字节地址范围。
若计算机主存地址为32位,按字节编址,某Cache 的数据区容量为32KB,主存块大小为64B,采用8路组相联映射方式,该Cache中比较器的个数和位数分别为
根据题目的描述,我们可以计算出Cache的参数信息。
Cache容量为32KB,即32 × 1024B = 32768B。
主存块大小为64B,即每个主存块占用64个字节。
由于采用8路组相联映射方式,每个组内有8个块。
首先,我们需要计算Cache的组数。每个组内有8个块,所以总共有32768B / (8B × 8) = 512个组。
然后,我们可以计算比较器的个数。由于采用了8路组相联映射方式,每个组需要进行8路的比较。所以比较器的个数为512 × 8 = 4096个。
最后,我们需要计算比较器的位数。每个比较器需要比较主存块的标记位,而主存块的大小为64B。根据题目中给出的信息,计算机主存地址为32位,按字节编址,那么主存地址的低6位表示字节偏移量,剩下的26位表示块号。所以每个比较器需要比较26位的标记位。
综上所述,该Cache中比较器的个数为4096个,比较器的位数为26位。