IT评测·应用市场-qidao123.com技术社区

标题: 缓存与内存;缺页中断;缓存映射:组相联 [打印本页]

作者: 不到断气不罢休    时间: 5 天前
标题: 缓存与内存;缺页中断;缓存映射:组相联
内存(RAM)与缓存(Cache)


  1. CPU Register(寄存器)   ← 几十个字节,最快
  2. L1 Cache(一级缓存)     ← KB 级,纳秒级访问
  3. L2/L3 Cache
  4. RAM(内存)              ← GB 级,百纳秒级访问
  5. SSD / HDD(磁盘)        ← 秒级或毫秒级访问
复制代码
Memory Management Unit

MMU(Memory Management Unit,内存管理单元)
缺页中断

Page Fault
当CPU 通过虚拟地址访问内存时,会通过 MMU 将虚拟地址转换为物理地址。
如果某个虚拟页当前没有映射到物理内存中,MMU 就会触发一个 缺页中断(Page Fault),交由操纵体系处理。
原因:

处理流程:

多级缓存

Multi-level Cache
缓存(Cache)是介于 CPU 和主存(RAM)之间的高速存储器
CPU 在访问数据时,依次查询:
  1. L1 → L2 → L3 → RAM → 磁盘
复制代码
一旦某级缓存命中,就不再今后找(称为 Cache Hit),否则就是 Miss,继承向后查询。
缓存更换策略

Cache Replacement Policy
缓存的映射方式

缓存到哪个位置呢?

二路组相联
假设缓存有 8 个块,划分为 4 个集合,每个集合有 2 个块:
  1. Cache:
  2. Set 0: [块0, 块1]
  3. Set 1: [块2, 块3]
  4. Set 2: [块4, 块5]
  5. Set 3: [块6, 块7]
复制代码
某个地址会通过 hash 函数(如 地址 % 4)映射到某个 Set
在Set内自由放置,如果已满,则使用更换策略。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4