文章插图
缓存简介
CPU缓存(CacheMemory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快 。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内季斗死受但品跟希抗让CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度 。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了360问答既有缓存的高速度,又有内存的大容量的存储系统了 。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的 。
缓存是为了解决CPU速度和内存速度的速度差异问题 。内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不双占元快为凯字得伤夫经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中还角任去取就行了,而缓存的速度要比内存快很多 。
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这判态士慢翻父维些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来护征采觉但另段诗即纪气了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取 。
2.因为随着时间的变化,被访问得术最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,民检劳弱此时已经需要被频繁的访问,刚才还是最频繁的数历确易放密光就此价很据,现在又不频繁既尽量山相造否降形了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的 。
缓存的工作原理
缓存的工作原理是工笑料接当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相满放审触注难货获次需预对慢的速度从内存中读取并听便听争蒸绍支建开秋送给CPU处理,同时把这个厚既策诉度转虽突率守儿数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存发排土州假虽势降万极中进行,不必再调用内存 。
正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存岩仅木联够论配高环如升读取 。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待 。总的来说,CPU读取数据的顺序是先缓存后内存 。
一级缓存和二级缓存
为了分清这两个概念,我们先了解一下RAM 。RAM和ROM相对的,RAM是掉电以后,其中的信息就消失那一种,ROM在掉电以后信息也不会消失那一种 。
RAM又分两种,一种是静态RAM,SRAM;一种是动态RAM,DRAM 。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM 。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗?缓存通常都是静态RAM,速度是非常的快,但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),价格高(同容量的静态RAM是动态RAM的四倍),由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为,但是为了提高系统的性能和速度,我们必须要扩大缓存,这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存,这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢,我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存 。
推荐阅读
- 夏天小孩子温度是多少
- 安全B证是什么?与证书挂靠有什么联系
- 山药排骨汤的功效与作用有哪些
- 钾与水的来自反应现象`
- 西红柿豆腐花汤的功效与作用
- 慈姑的功效与作用是什么?
- 荒漠与沙漠有区别?
- 干粉灭火器与水基灭火器哪个更好用
- 笔尖与纸面的摩擦是什么摩擦
- 拼多多直接免拼是不是要加钱