高速缓冲存储器Cache是位于CPU与内存之间的姑且存储器,它的容量比内存小但互换速度快 。在Cache
中的数据是内存中的一小部分,但这一小部分是短期内CPU行将拜候的,当CPU调用大量数据时,就可
避开内存直接从Cache中调用,从而加快读取速度 。由此可见,在CPU中加入Cache是一种高效的解决方
案,这样整个内存储器(Cache 内存)就变成了既有Cache的高速度,又有内存的大容量的存储体系了 。
Cache对CPU的性能影响很大,首要是因为CPU的数据互换顺序和CPU与Cache间的带宽引起的 。
高速缓存的工作原理
1.读取顺序
CPU要读取1个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU处理;如果没有找到
,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据地点的数据块调入Cache中,可以使
得往后对整块数据的读取都从Cache中进行,没必要再调用内存 。
正是这样的读取机制使CPU读取Cache的命中率非常高(大部分数CPU可达90%左右),也就是说CPU下一
次要读取的数据90%都在Cache中,只有大约10%需要从内存读取 。这大大节省了CPU直接读取内存的时间
,也使CPU读取数据时基本无需等待 。总的来讲,CPU读取数据的顺序是先Cache后内存 。
2.缓存分类
前边是把Cache作为1个整体来思量的,现在要分类阐发了 。Intel从Pentium开始将Cache分开,通
常分为一级高速缓存L1和二级高速缓存L2 。
在以往的观念中,L1 Cache是集成在CPU中的,被称为片内Cache 。在L1中还分数据Cache(I-Cache)
和指令Cache(D-Cache) 。它们别离用来储存安放数据和执行这些个数据的指令,并且两个Cache可以同时被CPU
拜候,减少了争用Cache所造成的冲突,提高了处理器效能 。
在P4处理器中使用了一种先进的一级指令Cache――动态跟踪缓存 。它直接和执行单元及动态跟踪
引擎相连,通过动态跟踪引擎可以很快地找到所执行的指令,并且将指令的顺序存储在追踪缓存里,这
样就减少了主执行循环的解码周期,提高了处理器的运算效率 。
以前的L2 Cache没集成在CPU中,而在主板上或与CPU集成在统一块电路板上,因此也被称为片外
Cache 。但从PⅢ开始,由于工艺的提高L2 Cache被集成在CPU内核中,以相同于主频的速度工作,结束
了L2 Cache与CPU大差距分频的汗青,使L2 Cache与L1 Cache在性能上平等,得到更高的传输速度 。
L2Cache只存储数据,因此不分数据Cache和指令Cache 。在CPU核心不变化的情况下,增加L2 Cache的容
量能使性能提升,统一核心的CPU高低端之分往往也是在L2 Cache上做手脚,可见L2 Cache的重要性 。
现在CPU的L1 Cache与L2 Cache惟一区别在于读取顺序 。
3.读取命中率
CPU在Cache中找到有用的数据被称为命中,当Cache中没有CPU所需的数据时(这时候称为未命中),
CPU才拜候内存 。从理论上讲,在一颗拥有2级Cache的CPU中,读取L1 Cache的命中率为80% 。也就是说
CPU从L1 Cache中找到的有用数据占数据总量的80%,剩下的20%从L2 Cache读取 。由于不克不及准确预测将
要执行的数据,读取L2的命中率也在80%左右(从L2读到有用的数据占总数据的16%) 。那么还有的数据就
不得不从内存调用,但这已经是1个相当小的比例了 。在一些高端领域的CPU(像Intel的Itanium)中,
我们常听到L3 Cache,它是为读取L2 Cache后未命中的数据预设的―种Cache,在拥有L3 Cache的CPU中
,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率 。
为了保证CPU拜候时有较高的命中率,Cache中的内容应该按一定的算法替代 。一种较常用的算法是
推荐阅读
- mp3怎么下载歌曲?
- 太白粉是什么 太白粉是什么粉
- 诺基亚3110c--超高性价比
- 电脑中桌面上我电脑图标不见具体解决方法
- 卖油翁人物描写手法 卖油翁人物的描写手法
- 想找这样 的书??希望有人推荐一下!如何排除电脑故障
- 世界电信和信息社会日简笔画的教程世界电信和信息社会日简笔画的步骤
- 口碑最好的踏板摩托车 什么踏板摩托车最省油最便宜
- HKCG908手机内置大容量ROM无法读取的解决办法
- H797拿到售后服务维修后出现的问题