1.题目
假定某计算机主存地址空间大小为1GB,按字节编址,cache的数据区(即不包括标记、有效位等存储区)有64KB,块大小为128字节,采用直接映射和全写(write through)方式。请问:
(1)主存地址如何划分?要求说明每个字段的含义、位数和主存地址中的位置。
(2)cache的总容量为多少位?
2.解答
(1)cache的数据区有64KB,块的大小为128B,按字节编址,因此一个块可以存放128个数据,cache可以分成64KB/128B=512行;主存空间有1GB,因此主存有1GB/128B=
2
23
2^{23}
223个块;采用直接映射方式,因此主存将每512个块就分成一个块群,一共有
2
23
/
2
9
=
2
14
2^{23}/2^9=2^{14}
223/29=214个块群。因此主存需要用高14位标识一个标记,中间9位来标识一个cache行号,低7位来标识一个块内地址。
(2)由于采用全写方式,所以没有修改位,只有有效位,因此cache总容量为512×(128×8+14+1)=519.5K位。