一级缓存、二级缓存、三级缓存各指什么 高速缓冲与寄存对应哪一个
一级缓存(L1 Cache)二级缓存(L2 Cache)三级缓存(L3 Cache)都属于高速缓存(Cache)
我们知道,CPU本身的寄存器只能存储32个字节,所以要使用数据的时候,必须要从内存里取出来才能使用。内存距离CPU非常遥远,大约是10cm左右的样子(笑)。CPU通过电信号告诉内存:“喂,内存,把1234号地址的数据给我送来。”而这样电信号传送的时间会很漫长,那么CPU不得不等很长一段时间才可以继续工作(大概比CPU工作的时间大个几百倍)。而如果反复读取同样一个内存的数据,那么不得不消耗很长一段时间。、
为了提高速度,CPU旁边就装了一个高速缓存。读入内存的时候先告诉高速缓存xx地址的数值是yy,这样再读取同一个地址时直接利用高速缓存的数据,可以马上回答出xx地址的数字是yy。写入内存的时候也是先更新高速缓存然后才能写入内存
。
一级缓存设在CPU内部,但是比起寄存器还是稍微遥远一些。由于CPU很小,没内存大,所以一级缓存就比内存小很多(笑),大概只有8KB-16KB
二级缓存在CPU之外,因为主板上的空间很大,所以二级缓存比一级缓存大得多(笑),大概是256KB-1MB左右,但是它的速度慢,因为它离CPU比较远。二级缓存通常用作一级缓存与内存的交换空间
三级缓存更大,更慢
当CPU需要写入内存的时候通常只更新三级缓存,如果数据写入频繁将会更新到二级乃至一级缓存
综上所述,当CPU需要利用内存中的数据时,如图所示:
2024-10-28 广告