本帖最后由 James007ss 于 2012-4-13 21:19 编辑
傻傻问来到第8期,这期开始跟大家聊缓存这话题。那么第一个问题肯定是缓存究竟是什么,它又有什么作用?
其实在PC系统中,大家都知道的内存就是最常见的缓存硬件,而聊CPU和开核时经常会提到L1、L2多大,开不开L3等等,这些L1、2、3就是CPU内置的几级高速缓存,不管是高速缓存、内存还是硬盘上配带的缓存,它们全都是PC系统的缓存之一。
那为什么要有这些缓存呢?我相信大家肯定都知道,在PC上,硬盘是用来储存数据的,而CPU是用来处理数据的。那么很明显,CPU要处理的数据,肯定来自硬盘。看过前面几期傻傻问,大家对硬盘的数据传输速度应该都有个谱了,那么单靠硬盘是不是能够满足CPU处理数据时,对数据传输速度的要求呢?先看看下面这张图。
这上面Memory是内存L1、2、3 Cache则是CPU内置的3级高速缓存,很多喜欢玩超频的朋友都应该挺熟悉这种图。上面这图里,内存是距离CPU运算核心最远的,而L1是最接近的。以读取速度为例,L1即一级高速缓存的速度高达12万MB/s以上,别说硬盘,连内存都望尘莫及,这个速度可以代表这款CPU在工作时,获得它所需数据的速度。那么大家应该想像得到了,假如没了这些高速缓存和内存,CPU需要直接从硬盘中取得数据,那我们全都得等疯了。
可以简单的算一下,假如CPU本来从一级缓存取得数据要花1秒,那么直接从硬盘取得同样的数据,就要起码花600秒(假设硬盘是SSD,而且是持续读取数据,速度至少200MB/s),1秒变成10分钟,我们什么都别指望干,净干等了。
当然上面我只是做了个比喻来方便大家理解。但由此可见,CPU处理速度和硬盘传输速度存在巨大的鸿沟,如果只靠硬盘,CPU即使是再厉害的绝顶高手,也是个永远几乎没饭吃的人,任他武功再高,也只能当东方必败而不是东方不败。
为了解决这问题,电脑系统上才会出现了缓存这种东西。缓存,从字面理解就是缓冲存储。怎么个缓冲法呢?其实不难想像得到,既然硬盘慢,而CPU快,那我们就把CPU会需要的数据,先找个传输速度足够快的东西放起来,CPU需要时,不必从硬盘拿,直接从这个当缓冲的东西里拿,因为它足够快,CPU就不用浪费时间等了。不过前面看到,CPU和硬盘的差距实在太大,单只有1个缓存还是不够,因为越快的缓存,容量越难以造得大,而且成本会很高。那怎么办?就是加多几个慢点的,一级一级来呗,每多一级,缓存速度慢一些,但容量也大一些,那么就可以既有足够大的容量来存放数据,又不会对速度有太大的影响了。
缓存只是在电脑工作时,用来临时存放数据,说白了,这货就是个临时工,你关机了,就不用它干活了。所以现在所有的缓存装置,都使用无法在断电时保存数据的元件,因为这样最符合成本效益。
现在大家应该都知道什么是缓存,还有它大概是用来干些什么的了。这期先聊到这,下期我们再聊聊缓存在存储系统上有些什么作用,存储系统的缓存又有哪几种等等这些问题。
固态硬盘傻傻问系列(第7期:用SSD的PC死机该怎么做)
固态硬盘傻傻问系列(第9期:系统缓存设置对性能的影响) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|