缓存与CPU

时间:2022-10-04 06:54:24

现在,CPU上不仅有了一、二级缓存,一些高端产品更是配备了三级缓存。缓存到底有什么作用?CPU缓存为什么要分级?为什么我们已经开始把缓存大小作为衡量CPU档次的标准了?这些问题在下文中都将得到解答。

比内存更高效的数据寄存器

最初的CPU是没有集成缓存的,因此CPU处理数据时是直接从内存中查找、访问。而随着CPU数据处理速度变得越来越快,大幅度高于内存速度,加之内存容量的增加,再让CPU在内存中以缓慢的速度逐个查找数据就造成了CPU资源的浪费。于是处理器制造商们在CPU与内存之间增加了一个新的临时数据寄存器――缓存。缓存与内存一样,同样是临时数据寄存器,但由于缓存享受的是CPU的数据带宽,因此它的速度要远高于内存。部分CPU即将访问的数据就能够直接存放于缓存当中,使得CPU能够高速处理这部分数据,效率比单纯调用内存高出不少。缓存内存放的数据只能是一小部分,且必须不断更新,一旦CPU在缓存当中找不到所需数据,就会在内存中查找,而缓存也将把这些数据调入,并将部分CPU不需要的数据清除出去。缓存加内存的内部存储构架不仅拥有了缓存的高速优势,同时也拥有了内存的容量优势,让CPU性能得到了充分发挥。

缓存的分级

最初的缓存只有一级缓存。一级缓存采用的都是Static RAM(静态随机存取记忆体),不仅速度快,同时无需刷新电路即能保存它内部存储的数据,不过它的缺点在于成本过高,同时集成度低,即便目前的制造工艺已大幅提升,厂商还是无法在CPU内核中集成大容量的一级缓存。因此即便是目前最顶级的Core 2 QuadQ9650,一级缓存也仅有128KB。不过我们可以看到现在大部分处理器的二级缓存都已经达到了2MB以上,远远大于一级缓存容量。这又是怎么回事呢?

二级缓存使用的大多是DynamicRAM(动态随机存取记忆体),这种记忆体的成本比static RAM便宜了不少,同时集成度非常高,目前所知的Core 2 Quad Q9650的内核已经集成了高达12MB的二级缓存,容量达到了它一级缓存的96倍。虽然使用Dynamic RAM的二级缓存速度较之一级缓存慢了不少,但相对于内存仍然有绝对的速度优势。而随着CPU处理器数据处理能力的不断提升,以KB计算的一级缓存容量肯定是无法满足需求了,因此大容量的二级缓存也成为了CPU性能提升的关键。二级缓存同样存储的是CPU即将访问的数据,不过它既包含了一级缓存内的数据,也有一些访问优先级较低的数据,这样只有CPU在一级、二级缓存中都无法找到数据时,才会访问内存。当然,CPU并不能保证100%地查找到缓存中的数据,但目前主流CPU的读取命中率都在90%以上,因此如果一级缓存中的有10%没有被读取,那么剩下的数据则会在二级缓存中查找,上下的10%再乘以90%的命中率,那么剩下需要从三级缓存或者是内存中查找的数据就只剩下1%了。所以缓存的分级也能有效提升CPU的数据命中率。

在进入一个大型3D游戏时,游戏的运行数据开始将被调入内存,接着由内存提供给二级缓存再到一级缓存,而CPU的数据访问则是由上而下的,缓存的分级实际上就是让数据查找访问过程尽可能少地在执行效率低的数据存储器上进行,以提升数据处理效率,当然我们也可以相应地将内存看作是一个容量以GB计而速度极慢的n级缓存。

衡量CPU档次的标杆

正是因为缓存在数据处理上带来的高效率才使它的地位愈发重要,继而成为衡量CPU档次的重要标准。在CPU制造过程中,实际上同一块晶元不仅能切割出不同频率的处理器产品,同时由于芯片瑕疵问题,厂商们不得不将质量不够高的产品的缓存屏蔽掉,作为低档次产品销售。这就使得被屏蔽掉缓存的CPU成了赛扬,而不用被屏蔽缓存的CPU变成了档次更高的奔腾或者酷睿。

上一篇:时尚黑红风等 下一篇:16:9最佳入门级