文件名称:组相联映射-数据仓库技术架构及方案
文件大小:8.53MB
文件格式:PDF
更新时间:2024-06-29 07:44:34
网络工程师
(3)组相联映射 组相联映射是直接映射和全相联映射的折中方案。它将 Cache 中的块再分成组,通 过直接映射方式决定组号,通过全相联映射方式决定 Cache 中的块号。在组相联映射方 式中,主存中一个组内的块数与 Cache 的分组数相同。 例如,容量为 64 块的 Cache 采用组相联映射方式,每块大小为 128 个字,每 4 块 为一组。若主存容量为 4096 块,且以字编址,那么主存地址应该为多少位?主存区号 (组号)为多少位?这样的题目,首先根据主存与 Cache 块的容量需一致,即每个内存 块的大小也是 128 个字,因此共有 1284096 个字(219个字),即主存地址需要 19 位。 因为 Cache 的容量为 64 块,所以内存需要分为 4096/64 个组,即 26,因此主存组号需 6 位。 在组相联映射中,由于 Cache 中每组有若干可供选择的页,因而它在映射定位方面 较直接映射方式灵活;每组页数有限,因此付出的代价不是很大,可以根据设计目标选 择组内页数。 3.淘汰算法 当 Cache 产生了一次访问未命中之后,相应的数据应同时读入 CPU 和 Cache。但是 当 Cache 已存满数据后,新数据必须淘汰 Cache 中的某些旧数据。最常用的淘汰算法有 随机淘汰法、先进先出法(FIFO)和近期最少使用淘汰法(LRU)。其中平均命中率最 高的是 LRU 算法。 4.写操作 因为需要保证缓存在 Cache 中的数据与内存中的内容一致,相对读操作而言,Cache 的写操作比较复杂,常用的有以下几种方法。 (1)写直达(write through)。当要写 Cache 时,数据同时写回内存,有时也称为写 通。 (2)写回(write back)。CPU 修改 Cache 的某一行后,相应的数据并不立即写入内 存单元,而是当该行从 Cache 中被淘汰时,才把数据写回到内存中。