如何理解CPU的主频、核心、线程、缓存、架构?

经常会说到某个CPU是多少核多少线程等各类参数,主频、核心、线程、缓存、架构等参数指标都是什么意思呢?如何去评价一款CPU的性能?以及如何去选择一款CPU呢?

喜欢这个问题 | 分享 | 新建回答

回答

喷火的尾巴

Aug 18, 2019
2 赞

CPU在计算机中的核心作用是“运算能力”。考究运算能力的强弱,是多维评价的,不仅仅在于单核的运算速度,也会考虑CPU的并行运算能力、能耗等等。如下所示,用通俗的语言,一个个地来介绍各个指标,并以哪吒的三头六臂为比喻:

1. 主频

主频是CPU内核工作的时钟频率(CPU Clock Speed),简而言之,主频越高,CPU内核的运算速度就越快。主频常用的单位有MHz(兆赫)、GHz(吉赫),1GHz=1000MHz,以前用MHz居多,不过目前这个时代一般都用GHz来进行评价的。比如AMD Ryzen 9 3900X的主频就是4.6GHz。

如果要做一个比喻的话,就以哪吒吃东西来作为比喻:头越大的哪吒,吃东西就越快;姑且可以将哪吒头的大小理解成主频的大小。头小的哪吒,吃东西没有头大的哪吒快。(其实最佳的比喻是哪吒咀嚼的速度来比喻更好,但是头的大小好展示一些,那就姑且用头的大小来比喻)

用哪吒头的大小和吃东西的能力比喻CPU主频

2. 核心

经常会说某个CPU是多少核,譬如2核、4核、8核、12核、16核等,这里就是说多少核就是指一个CPU有多少个内核,即核心。核心数量越多,同比而言,并行运算能力越强。

最初的哪吒是1个头来吃东西,哪吒觉得这样吃起东西来还是慢,于是变出了3个头,用3个头同时来吃东西,这样哪吒就可以同时来吃更多的东西,并行吃东西的能力就得到显而易见的提升咯。

用哪吒的头来比喻CPU的内核

3. 线程

还是以AMD Ryzen 9 3900X这款CPU为例吧,这款CPU的并行能力很强,是12核24线程的;其本身的核心数量是12,每1个核都是双线程的,整体就是24线程,所以操作系统会将其理解成24核来使用的

哪吒变成三个头的初期,是变了3个胳膊,每个胳膊对应着1个头,胳膊拿东西,像嘴里塞;后来哪吒发现自己的每一个头其实并没有充分发挥吃东西的能力,主要瓶颈在于胳膊拿东西的速度;于是哪吒就又变出了3个胳膊,总共6个胳膊,每2个胳膊服务于1个头,这样哪吒整体吃东西的能力等于翻倍了;就好比达到了以前6个头同时吃的能力了;所以外界看来,哪吒就好像是有了6个头,实际哪吒还是3个头。这里的线程就是哪吒胳膊的数量。胳膊越多,并行吃东西能力越强。

用哪吒的胳膊来比喻CPU的线程

4. 缓存

CPU高速缓存(CPU Cache)是用于减少CPU访问内存所需平均时间。简而言之,CPU的缓存的结构和大小对CPU的速度影响非常大。若要是比喻,可以把CPU缓存比喻成哪吒的胃;哪吒虽然是三头六臂,但还会是受到他的胃的影响,胃分泌胃液的能力、胃的大小都是制约因素。其他指标相同时,同比比较CPU缓存,同样架构的缓存,越大的缓存则意味着CPU的运算能力更强。

5. 架构

如果忽略CPU的架构,只一味着去比较CPU的多少核多少线程等因素,那就是扯淡,完全没有可比性。可以将CPU的架构理解成多维宇宙,在同一个宇宙中,去比较哪吒的三头六臂才有可比性;不同的宇宙中的哪吒没有可比性,有些宇宙中的哪吒,一个头一个胳膊的模式下也能把另一个宇宙三头六臂的哪吒秒成渣;(备注:这句话与下图无关,下图只说明脱离架构去比较CPU的内核数量、线程数量等,没有可比性,本文不介入intel与AMD的CPU性能比较)所以比较CPU的架构非常有必要。而实际选择中,尽量选择越新的CPU架构,同品牌同系列的新一代的CPU架构会比上一代的CPU架构强很多,纵使摩尔定律有点失常了,也定然会比上一代强不少。

忽略架构直接去比较CPU的内核与线程是没有可比性的