按字寻址,一个字4字节,一个块四字,Cache有128块,主存256k字节,主存有16位,(a) 在直接映射方式下,设计并画出主存地址格式,并给出 Tag, Index 和 Offset 的 bit 位 (b) 在四路组相联映射方式下,设计并画出主存地址格式,并给出 Tag, Index 和 Offset 的 bit 位 (c) 在全相联映射方式下,设计并画出主存地址格式,并给出 Tag, 和 Offset 的 bit 位,请设计 Cache 地址格式,给出详细的 步骤和思路:
时间: 2023-06-26 14:08:14 浏览: 111
(a) 在直接映射方式下,假设主存地址格式为 16 位,其中 Tag 占 10 位,Index 占 7 位,Offset 占 3 位。则主存地址格式为:
| Tag | Index | Offset |
| --- | ----- | ------ |
| 10 | 7 | 3 |
由于 Cache 采用直接映射方式,所以 Cache 地址格式只需要包含 Index 和 Offset 两部分即可。Index 占 7 位,Offset 占 3 位。则 Cache 地址格式为:
| Index | Offset |
| ----- | ------ |
| 7 | 3 |
(b) 在四路组相联映射方式下,假设主存地址格式为 16 位,其中 Tag 占 9 位,Index 占 4 位,Offset 占 3 位。则主存地址格式为:
| Tag | Index | Offset |
| --- | ----- | ------ |
| 9 | 4 | 3 |
由于 Cache 采用四路组相联映射方式,所以 Cache 地址格式需要包含 Tag、Index 和 Offset 三部分。假设每个组有4个块,则每个组的地址格式为:
| Tag | Index | Offset |
| --- | ----- | ------ |
| 9 | 4 | 3 |
而 Cache 的地址格式需要包含组号和块内地址。假设每个块有4个字,则一个块的地址格式为:
| Word | Offset |
| ---- | ------ |
| 2 | 2 |
故 Cache 地址格式为:
| Tag | Index | Word | Offset |
| --- | ----- | ---- | ------ |
| 9 | 4 | 2 | 2 |
(c) 在全相联映射方式下,假设主存地址格式为 16 位,其中 Tag 占 10 位,Offset 占 6 位。则主存地址格式为:
| Tag | Offset |
| --- | ------ |
| 10 | 6 |
由于 Cache 采用全相联映射方式,所以 Cache 地址格式需要包含 Tag 和块内地址两部分。假设每个块有4个字,则一个块的地址格式为:
| Word | Offset |
| ---- | ------ |
| 2 | 2 |
故 Cache 地址格式为:
| Tag | Word | Offset |
| --- | ---- | ------ |
| 10 | 2 | 2 |
在访问一个主存地址时,需要经过以下步骤:
1. 根据主存地址格式计算出 Tag、Index 和 Offset。
2. 根据 Cache 映射方式确定需要访问的 Cache 组或 Cache 行。
3. 在 Cache 组或 Cache 行中查找是否存在该地址的数据块,若存在则直接返回数据,否则将该数据块从主存读入到 Cache 中,并更新对应的标志位。
阅读全文