某存储系统中,主存容量是Cache容量的4096倍,Cache被分为64个块,当主存地址和Cache地址采用直接映射方式时,地址映射表的大小应为()(假设不考虑一致维护和替换算法位) 6x4097bit 64x12bit 6x4096bit 64x13bit
时间: 2024-04-02 12:35:38 浏览: 135
在直接映射方式下,一个主存地址只能映射到一个特定的Cache块中,因此,Cache的块数应该等于主存地址的数量除以每个Cache块能存放的主存地址的数量。
设主存容量为 $M$,Cache容量为 $C$,主存地址为 $a$,Cache地址为 $b$,则有:
$$ M = 4096C $$
因为采用直接映射方式,所以一个主存地址只能映射到一个特定的Cache块中,因此,Cache的块数应该等于主存地址的数量除以每个Cache块能存放的主存地址的数量,即:
$$ \frac{M}{b} = 64 \quad \Rightarrow \quad b = \frac{M}{64} $$
由此可知,地址映射表的大小应该等于主存地址的位数减去Cache块的位数,即 $a-b$。
因为主存容量是Cache容量的4096倍,所以 $M=4096C$,又因为每个Cache块能存放的主存地址的数量为1,所以 $b=1$。因此:
$$ a-b = \log_2 M - \log_2 b = \log_2 4096C - \log_2 1 = \log_2 4096 = 12 $$
因此,地址映射表的大小应为 64x12bit。
相关问题
某存储系统中,主存容量是Cache容量的4096倍,Cache被分为64个块,当主存地址和Cache地址采用直接映射方式时,地址映射表的大小应为()(假设不考虑一致维护和替换算法位)
在直接映射方式下,主存和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位)。
阅读全文