某计算机字长32位, cache 由512个存储块构成,主存包含32K个存储块,每块由64个字组成,访问地址为字节地址。 (1)若采用全相联映射方式,给出主存地址的划分情况,并标出各部分的位数; (2)若采用直接映射方式,给出主存地址的划分情况,并标出各部分的位数。 (3)若采用4路组相联方式,给出主存地址划分情况,并标出各部分的位数。
时间: 2023-07-28 15:16:57 浏览: 159
(1) 全相联映射方式下,每个存储块都可以映射到任意一个cache存储块中,因此主存地址的划分为:
| 标记位 | 块内偏移位 |
|--------|------------|
| 17 | 6 |
其中标记位需要占用主存地址的高17位,用于标记当前存储块的位置,块内偏移位需要占用主存地址的低6位,用于表示当前字在存储块中的位置。
(2) 直接映射方式下,每个主存地址只能映射到固定的一个cache存储块中,因此主存地址的划分为:
| 标记位 | 组号 | 块内偏移位 |
|--------|------|------------|
| 15 | 9 | 6 |
其中标记位需要占用主存地址的高15位,用于标记当前存储块的位置,组号需要占用主存地址的中间9位,用于表示当前存储块属于哪一组,块内偏移位需要占用主存地址的低6位,用于表示当前字在存储块中的位置。
(3) 4路组相联方式下,主存地址的划分为:
| 标记位 | 组号 | 块内偏移位 |
|--------|------|------------|
| 13 | 7 | 6 |
其中标记位需要占用主存地址的高13位,用于标记当前存储块的位置,组号需要占用主存地址的中间7位,用于表示当前存储块属于哪一组,块内偏移位需要占用主存地址的低6位,用于表示当前字在存储块中的位置。因为是4路组相联,所以组号中的低2位不需要使用,而是用于表示当前存储块在相联组中的位置。
阅读全文