硬件不嫌缓存大

硬派学堂

我们已经学习过CPU、光驱、硬盘等硬件了,大家会发现它们都有同一个东西——缓存。从缓存这个名字,我们就可以知道它的作用是暂时储存数据或者起到缓冲数据的作用。虽然都是缓存,但它们之间的区别和起的作用却有些不同,今天琪琪老师就和同学们一起学习这些缓存。

CPU——缓存大,性能好

我们知道,CPU厂家最有名的就是Intel和AMD,Intel Core 2 Duo系列和AMD Athlon双核系列处理器都采用的是缓存共享的方案(图1),核心之间可以通过缓存交换数据,而外界与核心传输数据则要通过二级缓存。共享的二级缓存越大,存储的数据就会越多,这样CPU在缓存中找到所需数据的几率就越高,就会缩短找数据的时间,速度也就越快了。只不过,AMD和Intel CPU的缓存工作原理会有些不同,这也是导致Intel和AMD CPU一、二级缓存容量大小不同的主要原因。

40-d19-1-2.jpg
二级缓存在CPU与外界交换数据和核心之间交换数据的过程中起到了桥梁的作用

小贴士:Intel和AMD四核处理器缓存区别

Intel四核处理器目前仍然采用的是把两个双核处理器合在一起的办法,核心之间通过前端总线交换数据,而AMD四核处理器则用了共享三级缓存的方案,所有的核心都拥有自己的一、二级缓存,共享三级缓存,这样核心之间、核心与外界可以通过三级缓存交换数据。单从数据交换速度来讲,AMD这种方案更快一些。只不过未来,Intel Nehalem处理器会采用这种共享缓存的方案,那时Intel的CPU将会更加强劲。

一级缓存容量小,二级缓存容量大,这是Intel CPU的一大特点,比如高端的Intel Core 2 Duo Q9300一级缓存容量仅为256KB,而二级缓存容量却达到6MB之多。这是因为Intel CPU采用的是“书签式”的缓存模式,我们可以这样理解这种模式,当数据从内存传到二级缓存中后,这些数据会被打上一个一个的字母,第一组叫A,第二组叫B……而在一级缓存中,我们不会见到这些实际数据,取而代之的是字母,当CPU要找A组数据的时候,它就会在一级缓存中找到A,然后真正的数据就会从二级缓存中调出来。由于用字母表示这些数据,所以Intel就不需要大容量的一级缓存,而二级缓存则需要大一些(图2)。

40-d19-1-3.jpg
Intel Pentium Dual-Core E5200一、二级缓存总容量分别为128KB和2MB

AMD设计缓存工作方式时则“老实”一点,一级缓存和二级缓存都存放的是数据,只不过两级缓存存放的数据同样是有讲究的,一级缓存会存放被CPU调用几率更高一些的数据,而二级缓存则会放一些调用几率相对低一些的数据。所以AMD的一级缓存通常比Intel同档次的产品要大一些,而二级缓存常没有Intel CPU大,主要的原因就是因为它们的缓存工作模式不同(图3)。但不管怎么说,在其他参数差不多的情况下,通常缓存大的产品,性能就会更好一些,所以我们不会嫌CPU的缓存大。

40-d19-1-4.jpg
Athlon64 X2 5400+一、二级缓存总容量分别为256KB和1MB

光驱——缓存大,刻录稳

从早些时候的256KB到现在的2MB,光驱缓存一再提高,而缓存大的优势更多是体现在刻录的时候。由于DVD刻录机的刻录速度比较快,所以没有谁敢保证需要刻录的数据时刻都能供应充足。所以就需要放置一个缓冲区,它要像蓄水池一样把数据提前存起来,以满足光驱高速刻录的要求。而蓝光刻录机则要求更大的缓存容量,目前4×蓝光刻录机常搭配8MB的缓存(图4)。而这个缓存容量是会变的,它可能会随着蓝光刻录速度的提高而增大。

40-d19-1-5.jpg
蓝光刻录机用上8MB容量的缓存

硬盘——缓存大,速度快

硬盘的缓存作用和光驱的差不多,都是起的蓄水池一样的作用。目前像640GB这类大容量的硬盘,它的缓存达到32MB,而容量为320GB的硬盘,缓存为16MB就差不多了。在单碟容量相差不大或者相同的情况下,缓存的大小对传输超多小文件的时候帮助较大。实际测试中,我们采用了单碟容量分别为320GB(缓存容量16MB)和334GB(缓存容量32MB)的两块同品牌的硬盘进行对比测试(同盘)。32MB版本相对16MB版本在纯细碎小文件(1.8GB,3700个文件)拷贝时提高了89%。如果排除掉单碟容量带来的性能提升,我们可以感觉到大容量缓存对硬盘读写性能的提升幅度有多么大。

写在最后

缓存大对于硬件来说通常都是好事,只不过缓存容量大也会提高成本和设计难度,像CPU缓存大一点的,价格一般来说就要贵一些。而且更多的晶体管集成在一起,发热量也是我们必须考虑的问题。而其他硬件,在选择缓存容量时,更多考虑的是够用和成本问题。毕竟它的设计难度没有CPU这么高。