内存管理笔记十一、CPU三级缓存、冷热页及自旋锁概念
引言:在上一篇笔记中,介绍了buddy 伙伴系统其适用于大内存的物理地址分配,在查阅相关资料的过程中,看到了冷热页,进而接触到CPU三级缓存和自旋锁的概念。这里仅对其概念做一个简单的记录。
一、CPU的三级缓存
1.1、缓存简介:
CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾(CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存)。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先缓存中调用,从而加快读取速度。
1.2、L1、L2、L3三级缓存概念:
L1Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。
L2 Cache