CPU缓存越大越好吗?你踩过哪些坑?

服务器

浏览数:34

2020-7-11

AD:资源代下载服务

在CPU的参数中,我们除了常见的核心线程以及各种频率之外,还经常会看到一个名为缓存的参数,有的是9MB,有的是16MB,甚至在三代锐龙上还有的能达到72MB,那么这些缓存到底是干什么的? 


3800X

先说一下概念,CPU中缓存是为了加快CPU读取数据的速度,也是为了给内存一个缓冲期。因为CPU运算速度太快了,光靠内存读写完全跟不上,而CPU缓存的数据交换比内存快多了,大部分时候CPU可以直接从缓存读取数据,找不到的话再从内存读取,这样可以节省CPU读取内存数据时浪费的时间。

CPU缓存分为三类,一级缓存(L1)、二级缓存(L2)和三级缓存(L3)。我们现在常见的是三级缓存。但是CPU在实际数据读取中重要的却是一级缓存,因为一级缓存速度最快,二级缓存其次,三级缓存最慢,只是三级缓存的容量最大,上百MB的都有,更容易体现产品更新换代时的价值。


CPU缓存

 一级缓存虽然速度最快,但容量最小,单位都是KB,不同CPU之间一级缓存没有差距,所以现在不怎么提了,二级缓存容量也不大,基本都是个位数MB,除了一些服务器CPU会有10几MB之外,现在CPU也不怎么提二级缓存。CPU读取缓存时会先从一级缓存开始,然是二级缓存,而读取二级缓存有时候会出现数据未命中的情况,这时候就需要从三级缓存读取。

 但是要注意的是三级缓存越大并不一定说这个CPU性能就越强,因为三级缓存的容量还依靠CPU架构和工艺等方面的影响,如果是与架构工艺搭配升级的三级缓存,容量越大才会性能越高。

 比如说这次AMD的三代锐龙,依靠Zen2架构和7nm工艺带来的超大容量三级缓存,解决了前两代内存延迟的问题,实际效果就是三代锐龙整体游戏表现提升显著。


一个核心一个16MB三级缓存

总的来说,不同工艺和架构之间的CPU,单纯从三级缓存大小是看不出来性能好坏的,不是越大越厉害。如果是相同架构相同工艺的话,我们才需要考虑CPU三级缓存容量的问题,在这时候确实三级缓存容量越大性能越强,需要具体问题具体分析。在选购的时候就没必要太过讲究三级缓存的大小了,远不如核心线程和频率的收益大。

原文:
http://diy.zol.com.cn/738/738…

最新整理的 2TB 技术干货:包括架构师实战教程、大数据、Docker容器、系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、ELK Stack、机器学习、BAT面试精讲视频等。只需在「 民工哥技术之路」微信公众号对话框回复关键字:1024即可获取全部资料。

作者:民工哥