1.1 概述
一、产生原因
- 为避免CPU空等的现象
- CPU与主存(DRAM)的速度差异剪刀差越来越大
- 依据程序局部性原理
二、Cache的工作原理
1、主存和缓存的编址
- C<<M
- 若把主存或者Cache,如果把主存或者Cache分成若干块,则cpu给出内存的地址可分为两部分,一部分是块内偏移地址,位数决定块的大小,若一个块包含16个字节,且内存编址单位是字节,则块内地址部分就是4位,剩余部分就是主存的块的编号。
- Cache也分为块内地址和缓存块号两部分
Cache的标记部分实际上标记了主存块和Cache块之间的对应关系,如果一个主存块调入到Cache当中,可讲主存块号写到标记当中。cpu要从cache中访问这个数据,要先确定要访问的块号是不是已经被送到Cache当中,拿给出地址的主存块号与标记进行比较,若正好相等,并且Cache是有效的,则这个块里面就保存了在内存里的信息可以直接从Cache访问数据,速度大大加快
2、命中与未命中
缓存共有C块 主存共有M块 主存中只有部分块被放入了缓存当中
- 命中 在cpu要访问主存时,要访问的块已经放进了缓存当中,CPU可以从缓存中取到相应的数据和指令
- 未命中 要访问的块没有被放入缓存中,cpu只能从主存中获取数据