想要理解 cache 的工作原理,就必须要了解计算机系统中数据的存储方式。
在计算机中程序执行时所有的指令和数据都是从存储器中取出来执行的。存储器是计算机系统中的重要组成部分,相当于计算机的仓库,用来存放各类程序及其处理的数据。因此存储器的容量和性能应当随着处理器的速度和性能的提高而通过提高,以保持系统性能的平衡。
从上图可以看到,速度越快则容量越小、越靠近 CPU。CPU 可以直接访问内部存储器。而外部存储器的信息则要先取到主存,然后才能被 CPU 访问。CPU 执行指令时,需要的操作数大部分来自寄存器,当需要对存储器进行读写操作时,先访问 cache ,如果不在 cache 中,则访问主存,如果不在主存中,则访问硬盘。此时,操作数从硬盘中读出送到主存,然后从主存送到 cache。
在我们接触的嵌入式系统中,具体的存取时间和存储容量的大小可能和上图不符,但是不同层级之间的量级对比还是一致的。
cache入门知识讲解
1. 什么是cache?
Cache通常使用昂贵但较快速的SRAM技术(通常认为cache是静态随机存储器)。在计算机存储系统的层次结构中,介于cpu和主存储器之间的高速小容量存储器(主存属于DRAM,比如pc上面的内存条,相对SRAM慢一些)。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。
2. 为什么要使用cache?