CPU的缓存设计是为了更快的数据处理速度,因为电脑的硬盘尤其是机械硬盘速度非常慢,比起CPU动辄几Ghz的频率差太多了,这样如果CPU直接从硬盘调取数据就需要大量的时间等待,从而导致降低性能,无法充分发挥CPU的性能优势,在这种情况下就为CPU设计了专用缓存,过去缓存是和CPU本体分离的,随着半导体工艺的进步,CPU缓存就完全融为一体了,速度也比以前更快。
CPU为什么要设计一二三级缓存?因为一级缓存的速度是最快的,同时也是最复杂的,限于CPU核心面积,一级缓存不可能设计的很大,所以到现在的CPU的一级缓存也不过以KB来计算。
二级缓存主要就是用来弥补一级缓存容量的不足,因为缓存再快要是存储不了多少数据也会降低性能,这样二级缓存就使用了不同的结构以增大容量为主,目前主流CPU的二级缓存容量都是一级缓存的好几倍,但是在多核CPU中,每个核心的二级缓存都是独立的。
三级缓存出现的最晚,它是为了进一步增大CPU缓存容量以提高命中率来设计的,和二级缓存不同的是,三级缓存一般都是CPU所有核心共享的缓存,这样设计可以大大提高CPU利用缓存的效率和灵活度,也是目前CPU缓存最大的一类。
CPU缓存的结构设计和内存是不同的,内存DRAM芯片结构更适合做大容量,所以能轻易做到以G为单位的容量,但是速度比起CPU内部缓存就慢很多,内存是作为CPU与硬盘之间的数据存储功能,在速度上从快到慢是一级缓存>二级缓存>三级缓存>内存>硬盘,电脑正是通过这样的设计一方面尽可能提高了CPU的速度,另一方面把整体成本降低到合理区间。