3.7.2 cache的基本工作原理
cache
是一种小容量高速缓冲存储器,由快速的**SRAM
**组成- 直接制作在CPU芯片内,速度较快,几乎与CPU处于同一个量级。
- 程序运行时,CPU使用的一部分数据/指令会预先成批拷贝在cache中,cache的内容是主存中部分内容的映像(因此不会增加系统的存储容量)。由于程序访问的局部性,大多数情况下,CPU能直接从
cache
中取得指令和数据,而不必访问慢速的主存。 - 为便于cache 和主存间交换信息,cache和主存空间都被划分为相等的区域。例如,将主存按照每512字节划分成一个区域,同时把cache 也划分成同样大小的区域,这样主存中的信息就可按照512字节为单位送到cache中。我们把主存中的区域称为块(block),也称为主存块/页/页框/页面 ,它是cache 和主存之间的信息交换单位;cache中存放一个主存块的区域称为行,也称cache行。
3.7.2.1 cache的有效位
在系统启动或复位时,每个cache行都为空,其中的信息无效,只有在cache行中装入了主存块后才有效。为了说明cache行中的信息是否有效,每个cache 行需要一个“有效位”(valid bit)。