心得笔记
- 看页表,页号是最左边数组下标,不要把页框号当成页号。页框号代表的是物理块号。
4.5.6 地址映射
地址映射是指将主存地址空间映射到 cache 的地址空间,即把存放在主存中的程序或数据块载入 cache 块的规则,主要有以下 3 种方法。
- 全相联(Full Associative Mapping):各主存块都可以映射到 cache 的任意数据块。
- 直接相联(Direct Mapping):各主存块只能映射到 cache 中的固定块。
- 组相联(Set Associative Mapping):各主存块只能映射到 cache 固定组中的任意块。
1. 全相联映射
(1)全相联映射基本原理
全相联映射方式下,主存中的每一个数据块都可以放置到 cache 的任意一个数据块中,是一对多的映射关系。新的主存数据块可以载入 cache 中任何一个空位置,只有 cache 满时才需要进行数据块置换。全相联映射时 cache 利用率最高,但查找成本较高,需要 CAM 提供快速的查找功能。全相联映射逻辑示意如图 4.36 所示。
不考虑脏数据位和淘汰计数,cache 的实际容量为 位。
数据查找时直接将主存块地址和所有 cache 行中的标记字段主存块地址进行并发比较,如果读命中,则输出对应 cache 行数据块副本中块内地址 offset 处的数据;如果写命中,则需要写入数据,同时将脏数据标志位置为 1。