【发布时间】:2020-10-12 01:20:02
【问题描述】:
我遇到了以下问题:
CPU 为字节可寻址存储器生成 32 位地址。为这个 CPU 设计一个 8 KB 的缓存(8 KB 是仅用于数据的缓存大小;它不包括标签)。块大小为 32 字节。显示框图,以及直接映射高速缓存的地址解码。
我确定:
- 索引需要 8 位
- 块偏移需要 5 位
- 19 位标记。
我的解决方案正确吗?应该如何解码?
【问题讨论】:
我遇到了以下问题:
CPU 为字节可寻址存储器生成 32 位地址。为这个 CPU 设计一个 8 KB 的缓存(8 KB 是仅用于数据的缓存大小;它不包括标签)。块大小为 32 字节。显示框图,以及直接映射高速缓存的地址解码。
我确定:
我的解决方案正确吗?应该如何解码?
【问题讨论】:
这些数字似乎是正确的,但在您的解决方案中始终值得指出的是,您正在考虑缓存关联性。具体来说,32-8-5=19只有在缓存直接映射时才有效。
解码部分在您的绘图中得到了很好的说明——它只是将 CPU 使用的 32 位地址分离到标记、索引和偏移字段中。
【讨论】: