文章目录
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相同
- 相同:直接读取数据
- 不同:从内存中复制块内容

直接映射法的特点:
- 优点:映射过程简单,所需耗时短。
- 缺点:当短时间内访问的地址有同余冲突时,会造成缓存失效。
参考资料:
本文深入探讨了缓存产生的原因,包括处理器与内存的速度差异,以及程序访问的局部性原则。介绍了高速缓存存储器(cache)的概念及其在现代计算机系统中的作用,详细解释了直接映射法这一cache解决方案,并讨论了其优缺点。
2971

被折叠的 条评论
为什么被折叠?



