1. 本题采用直接映射的 cache,已知请求访问的字地址依次为: 3,180,43,2,191,88,190,14,181,44,186,253 1) 对于一个 3 路组相联1块大小为 2 个字1总容量为 24 个字1使用 LRU ÿ换算法的 cache,画图表指出 cache 中 最终的内容2对每个访问,标识出索引位1标记位1块偏移位,以及当前访问是命中ß是缺失2
时间: 2023-09-23 12:11:07 浏览: 50
下面是对于本题的解答:
1)首先确定本题的一些参数:
- Cache 容量:24 字节
- Cache 组数:8 组(3 路组相联)
- 每个块的大小:2 个字节
- 访问序列:3,180,43,2,191,88,190,14,181,44,186,253
2)接下来,我们可以按照访问序列中的地址,逐步填充 Cache。由于是采用 LRU 替换算法,因此每次替换的块都标记为“*”。
首先是第一个地址 3:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | 3 |
| 001 | 000000000000 | |
| 010 | 000000000000 | |
| 011 | 000000000000 | |
| 100 | 000000000000 | |
| 101 | 000000000000 | |
| 110 | 000000000000 | |
| 111 | 000000000000 | |
接着是地址 180:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000101 | 3 |
| 101 | 000000000000 | |
| 110 | 000000000000 | |
| 111 | 000000000000 | |
| 100 | 101101000000 | 180 |
| 101 | 000000000000 | |
| 110 | 000000000000 | |
| 111 | 000000000000 | |
然后是地址 43:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000101 | 3 |
| 101 | 000000000000 | |
| 010 | 000000000000 | |
| 111 | 000000000000 | |
| 100 | 101101000000 | 180 |
| 101 | 000000000000 | |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
接着是地址 2:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000000 | |
| 101 | 000000000000 | |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 000000000000 | |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
然后是地址 191:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
接着是地址 88:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
然后是地址 190:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 100 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000000000101 | 190 |
接着是地址 14:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000000000101 | 190 |
| 000 | 000000000011 | 14 |
然后是地址 181:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000000000101 | 190 |
| 000 | 000001000011 | 181 |
然后是地址 44:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000000 | |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 43 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000000000101 | 190 |
| 000 | 000001000011 | 181 |
| 010 | 000000000101 | 44 |
然后是地址 186:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | |
| 101 | 000000000010 | 2 |
| 010 | 000000000000 | |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 44 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000001000101 | 186 |
| 000 | 000001000011 | 181 |
| 010 | 000000000101 | 44 |
最后是地址 253:
| 索引 | 标记 | 块内容 |
| :-----: | :------------: | :-------------------------------------: |
| 000 | 000000000000 | |
| 101 | 000001000010 | 253 |
| 010 | 000000000000 | |
| 111 | 000000000000 | |
| 100 | 101001000000 | 2 |
| 101 | 011110000000 | 191 |
| 010 | 000000000101 | 44 |
| 111 | 000000000000 | |
| 101 | 010010000000 | 88 |
| 110 | 000001000101 | 186 |
| 000 | 000001000011 | 181 |
| 010 | 000000000101 | 44 |
3)对于每个访问,我们可以标识出索引位、标记位、块偏移位,以及当前访问是命中还是缺失。
- 对于地址 3,索引位为 000,标记位为 000000000000,块偏移位为 00,缺失。
- 对于地址 180,索引位为 100,标记位为 000000000101,块偏移位为 00,缺失。
- 对于地址 43,索引位为 010,标记位为 000000000101,块偏移位为 11,缺失。
- 对于地址 2,索引位为 100,标记位为 101001000000,块偏移位为 00,缺失。
- 对于地址 191,索引位为 101,标记位为 011110000000,块偏移位为 11,缺失。
- 对于地址 88,索引位为 101,标记位为 010010000000,块偏移位为 00,缺失。
- 对于地址 190,索引位为 110,标记位为 000001000101,块偏移位为 01,缺失。
- 对于地址 14,索引位为 000,标记位为 000001000011,块偏移位为 10,缺失。
- 对于地址 181,索引位为 000,标记位为 000001000011,块偏移位为 11,缺失。
- 对于地址 44,索引位为 010,标记位为 000000000101,块偏移位为 01,缺失。
- 对于地址 186,索引位为 110,标记位为 000001000101,块偏移位为 01,缺失。
- 对于地址 253,索引位为 101,标记位为 000001000010,块偏移位为 01,缺失。