处理器中的缓存
文章目录
1 缓存出现的原因
一个工艺上的问题:
- 处理器和内存使用的半导体器件工艺不同。
- 工艺的差异导致了处理器与内存的速度差异。
- 数据处理时,处理器总是需要等待内存。
2 程序访问的局部性
在短时间内,处理器访问的存储空间是一个很小的范围。
时间局部性:
- 某个存储单元在短时间内很可能被再次访问。
空间局部性:
- 某个存储单元的邻近单元在短时间内也被访问。
3 高速缓冲存储器的引入(cache)
3.1 cache的基本概念
cache的基本概念:
- cache是一种小容量高速存储器。
- cache的存取速度与处理器的运算速度几乎同量级。
- cache在现代计算机系统中直接内置于处理器芯片中。
3.2 cache解决方案
cache解决方案:
- 在处理器和内存之间设置cache。
- 把内存中被频繁访问的指令和数据复制到cache中。
- 大多数情况下,处理器能直接从cache中取得指令和数据。
3.3 处理器的数据访问
4 内存和cache之间的映射
4.1 直接映射法
直接映射法的方式如下:
- 将cache和内存分成固定大小的块(如:512Byte/块)。
- 将内存中的每一块在cache中有固定的映射位置。
- 映射公式:
- POScache = 内存块号 % cache总块数
直接映射法中的地址划分:
映射原理:
- 根据访问地址的中间c位找到cache中的对应块
- 比较地址的高t位是否和flag相同
- 相同:直接读取数据
- 不同:从内存中复制块内容
直接映射法的特点:
- 优点:映射过程简单,所需耗时短。
- 缺点:当短时间内访问的地址有同余冲突时,会造成缓存失效。
参考资料: