超线程技术自诞生以来,经历了很多质疑,甚至有时候开启超线程技术会导致性能下降。随着CPU核心的不断提升,超线程技术带来的性能增益越来越大,主要是因为它比增加物理核心的数量要高效得多,而且不会大幅增加宝贵的芯片面积和功耗。而且随着半导体工艺的发展越来越慢,CPU频率的提升是非常困难的,超线程技术是一个非常好的补充。
超线程技术到底是什么?我们在选购电脑时会经常听到CPU是几核几线程的介绍,然而很多人对这个参数并不是特别理解,下面我们举个例子,比如四核八线程,这个参数的主要意思如下:四核是指的CPU内核,是真实存在的物理内核,每个内核都相当于一颗单核CPU。线程则是计算机程序执行的最小单元,我们平常运行的程序被称为进程,一个进程可以包含一个或多个线程,而每颗CPU核心在同一时间内只能处理一个线程。
四核八线程则是指CPU支持超线程技术,可以把四个内核模拟成八个核心来使用,这样在同一时间内就可以并行处理八个线程,提高CPU的运算速度。上面三条对CPU的核心和线程做了简单的介绍,那么是不是四核八线程相当于真正的八个核心呢?肯定不是,请往下看。超线程技术的意义在于有效的利用了CPU闲置的资源,比如说单核CPU在单位时间内处理一条简单的程序时,只能利用到20%的硬件资源,其余的80%就被闲置了,形成了资源浪费的情况。
而利用超线程技术后,可以把CPU模拟成两个逻辑核心,这样就可以在同一时间内利用一颗核心资源并行处理两条程序,大大的提高了运算效率。然而这种方式只能在CPU资源有闲置的时候有效,如果两条程序同时访问同一个资源时,就只能讲究个先来后到了,必须等一个用完另一个再用,所以利用超线程技术模拟出的逻辑核心毕竟不是真正的核心,并不能和真正的多核CPU相提并论,而且还必须要计算机操作系统和应用软件都支持超线程技术才可以使用。
比如四核八线程实际体验中也就相当于多了一颗核心。形象的理解超线程技术我们可以把单核CPU工作理解为人在挑水,如下:当一个人拿一只桶提水时,这是单核心单线程。当一个人拿两只桶提水时,就相当于单核心双线程,支持超线程技术。一个人提两桶水不只要有两只手,还需要有两个桶,这就相当于必须要操作系统和应用软件都支持超线程技术才能实现。
在架构、核心数一样的情况下,睿频、主频和超线程应该优先考虑哪个?为什么?
两颗CPU如果架构与核心数一样的话,那我认为超线程更为重要一些,比如同样8代酷睿i5-8600K和i7-8700K,两者的性能差距主要就在于有没有超线程技术上,尽管两者单核频率与单核性能差不多,但是一旦来到多核性能上,8700K就能比8600K性能高出30%以上,这个性能差距放在视频图形生产和多任务处理上非常明显。
超线程技术自诞生以来,尽管经历过不少质疑,甚至有时候开启超线程技术还会导致性能下降,但是随着CPU核心数的不断提升,超线程技术带来的性能增益越来越大,主要还是在于超线程技术相比增加物理核心数带来的效率要高的多,不会太大幅度的增加宝贵的芯片面积和功耗,而且在半导体工艺发展越来越缓慢的今天,增加CPU主频已经非常难,超线程技术就是一个非常不错的补充。
主频和睿频高低对CPU性能也很重要,但是这几年半导体工艺发展的缓慢导致CPU主频提升越来越困难,同一代、甚至两三代之间的CPU频率往往不会有很大的区别,这样带来的性能差别也不会很大,至少在实际体验中的差距比跑分差距要小的多,典型的例子就是i5-8400和8600K,锐龙1600和1600X,即使是拿几年前的i5-6500和现在同样是4核的i3-8100比也不会有多少差别,当然两者的架构差别也是非常小。
目前AMD锐龙和英特尔酷睿CPU在架构和效率上的差距越来越小,两者基本上就是核心数量和主频的竞争。考虑到现在的CPU都有睿频的特点,即使主频较低的CPU和主频较高的CPU性能差距不大,超线程技术是硬件,没有超线程技术的CPU即使显著超频也很难追上,所以我推荐带超线程技术的CPU。