CPU|为什么5800 X3D会变强?简单了解CPU缓存

CPU|为什么5800 X3D会变强?简单了解CPU缓存

文章图片

CPU|为什么5800 X3D会变强?简单了解CPU缓存

文章图片

【CPU|为什么5800 X3D会变强?简单了解CPU缓存】CPU|为什么5800 X3D会变强?简单了解CPU缓存

文章图片

CPU|为什么5800 X3D会变强?简单了解CPU缓存

文章图片

CPU|为什么5800 X3D会变强?简单了解CPU缓存

文章图片

CPU|为什么5800 X3D会变强?简单了解CPU缓存

很多关注硬件 , 特别是CPU的小伙伴应该都看完了AMD的锐龙7 5800X3D测试吧 , 游戏性能是不是特别惹眼?而它唯一的改变就是增加了三级缓存 , 再看看CPU的发展史 , 好像缓存的改变一直是很重要的发展 , 它们有啥用?从5800X3D的表现看 , 它们是不是越大越好呢?

CPU的缓存用途很容易理解 , 它们和内存一样 , 就是记一些随时需要调用的数据 , 如果说内存是计算时的草稿纸 , 缓存就有点像是自己的大脑了 , 记录的东西可能不多 , 但调用起来绝对够快 。

也和我们做数学题的过程一样 , CPU缓存分成好几个层次 , 在CPU的每个核心里都有容量很小的存储单元 , 也就是一级缓存(L1 Cache) , 除了临时的计算数据之外 , 还可以用来保存一些指令 。 可以看做我们大脑计算时的最基本数据 , 比如心算的1+1、2+2以及下一步应该做乘除还是加减等等 。

二级缓存也是每个核心都有 , 主要存放每个核心需要的临时数据 , 因为容量较大 , 所以只能放在核心旁边 。 这里存的数据 , 大概就相当于比较大的心算数据了 , 比如100×100 , 虽然也很简单 , 也比较频繁地调用 , 不过数据是真的大 , 而且没有最基本的计算那么频繁调用 , 所以就得用更大、稍微远离核心的容量来存储了 。


三级缓存出现的时间稍晚一些 , 主要原因是在多核处理器出现后需要一个地方存储共同数据 , 方便不同的核心调用公用数据或互相交换数据 。 要用大脑来比喻的话 , 大概就是做应用题的时候大脑中场景设立与公式、图表等数据的共用存储、交互区域吧 。 速度当然要比一级二级慢得多 , 容量也需要更大才行 。这样看来 , 三级缓存其实和内存关系更紧密也容易理解了 , 毕竟这些数据真的复杂又庞大 , 在大脑中存储时也多是作为草稿纸的“备份” , 顺手就要写下来的 。

那么 , 理解了缓存的用处 , 它们对CPU的意义和影响也就容易说明了 。 比如一级缓存融入CPU架构中 , 统一架构下上至酷睿i9、锐龙9下至奔腾赛扬、速龙 , 都是一样的 , 它决定了处理器核心的运算效率 。 二级缓存如今基本绑定在核心上 , 每块CPU的二级缓存总量只取决于有多少个核心 , 每个核心的二级缓存容量不变 。

那么 , 可以随意增减的也就剩下三级缓存了 , 它到底会带来什么影响呢?这就和CPU的设计思路有关了 。 在酷睿处理器中 , 三级缓存的主要功能和我们前面提到的类似 , 但较新的锐龙处理器和不一样 , 因为采用了I/O芯片和计算核心分离的设计 , 它与内存通信的延迟比较大 。

这时候 , 三级缓存的意义就更明显了 , 特别是在有很多高速、零散数据存储时 , 没错 , 这里说的就是游戏 , 大部分办公、日常、影音应用的数据存储当然也能收益 , 但除了部分数据计算外 , 数据存储模式比较平缓 , 所以影响没有这么大 。 这就是为啥锐龙7 5800X3D的游戏能力大涨 , 而其他测试似乎没啥提升 。

当然 , 即将到来的CPU也会升级一二级缓存来提供更强大的运算能力 , 例如13代酷睿的性能核二级缓存增加至2MB , 锐龙7000的每核心耳机缓存增加至1MB等 。 但是 , 有些小伙伴大概会有些奇怪 , 为啥不索性把缓存再加大 , 不是能提升更多的性能吗?这可不一定哦 , 除了缓存过大可能产生的存取效率下降之外 , 它们对芯片复杂度的影响也非常大 。

在从相对独立的三级缓存上看的特别明显 , 其占据的面积常常比计算核心还大 , 肯定会提升功耗、发热量 , 影响频率、核心数量的提升 , 所以新架构CPU也都没有继续提升三级缓存 。 但AMD也表示Zen4之后也会有超高缓存型号 , 看来是当成了版本小升级的一个好办法 , 同时应该也是等待工艺制程进一步成熟 , 才能增加巨大的缓存模块 。