缓存
缓存分3种:L1 cache(一级缓存) ,L2 cache(二级缓存)和 L3 cache(三级缓存)
L1 cache(一级缓存) ,CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)
L2 cache(二级缓存),是快速存储内存(基于SRAM),二级缓存也集成在CPU内核中。二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。
L3 cache(三级缓存),CPU与主板之间的快速访问的缓存。(三级和四级缓存只在高端的服务器CPU里)
电脑读取数据的时候先在CPU一级缓存里面寻找,找不到再到二级缓存中找,最后才到内存中寻找
缓存的机制
缓存的目的就是存储一些经常访问的指令和数据,以提高运算效率。为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。这些都是CPU或者操作系统来管理。
缓存2个基本原理:时间局部性(temporal locality)和空间局部性(spatial locality)
时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执 行;如果某数据被访问,则不久之后该数据可能再次被访问。空间局部性 空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。
用在缓存的技术最基本的就是标记。缓存通过标记区分差别。当查询缓存里的一条数据是,首先比较的是标记,当查询成功时就缓存命中成功(hit),否则就是命中失败。为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法)。
参考:
(为什么CPU要分一级缓存、二级缓存和三级缓存),http://www.dnxxj.com/questions/4769808db21bc2/%0A为什么CPU要分一级缓存、二级缓存和三级缓存?.html
(CPU缓存一般分为哪两种), http://www.dnxxj.com/questions/476980cb399783/%0ACPU缓存一般分为哪两种.html
(CPU缓存的问题), http://www.dnxxj.com/questions/47574b0cd44a52/CPU缓存的问题%3F%3F.html
本文介绍了CPU缓存的基本概念,包括一级缓存、二级缓存和三级缓存的区别及作用,并探讨了缓存的工作机制,如时间局部性和空间局部性原理以及缓存替换算法。

被折叠的 条评论
为什么被折叠?



