在计算机的世界里,缓存 起着非常大的作用,利用好它,我们可以极大地提升程序性能
对于我们开发的软件如此,对于计算机自身硬件来说,也是如此,本文准备讲的 高速缓存 就扮演着这样一个角色,它的存在极大地提升了cpu的效率,废话不多说,开搞!
正文
高速缓存又称 cache,它是介于 主存 与 cpu 之间的 一级存储器,其容量较小,但速度非常快,一般是主存的5~10倍,它既可以作为一个主内存的指定层(内存高速缓冲区),也可以作为独立的高速存储设备(磁盘高速缓冲区)
内存高速缓冲区,也称为高速缓冲区存储或RAM高速缓冲区,是基于SRAM内存的一部分。内存缓冲是必不可少的,因为大多数的程序都是反复访问相同的数据或指令,通过在SRAM中保存那些被频繁访问的信息,电脑可以避免访问较慢的DRAM
它主要用来调和cpu与主存之间的数据存取的速度差异,从而提升系统性能,它利用的是程序 局部性原理,存储着主存上局部域的副本
有了它的存在,cpu就可以充分发挥性能速度优势,而无需担心其他设备无法跟上它的速度的问题,由此可见高速缓存器是十分重要的
在数据的访问过程中,cpu会首先访问cache,查看是否存在对应的数据,如果存在,则直接拿来使用,如果不存在,则使用 替换算法 将主存上的一部分数据调入cache中
常见的替换算法有:随机替换算法、先进先出替换算法、近期最少使用替换算法、优化替换算法
最后需要注意的是cpu在工作时,给出的是 主存地址,而如果要从高速缓存器中读写数据,就需要将内存地址转换为 高速缓存地址,这种转换就被称为 地址映像