怎么看CPU支持最大超线程CPU的线程数

CPU是一台电脑的灵魂决定电脑整體性能。现在的主流CPU都是多核的有的运用了多线程技术(Hyper-threading,简称HT)多核可能还容易理解些,相信不少玩家都能说出个所以然但超线程CPU是个什么东西,究竟有什么实际意义一个支持超线程CPU的CPU开启和关闭HT有什么不同,能解释清楚的人可能就不太多了为此,我特地开此貼给大家介绍一下双核、超线程CPU技术此贴结合我平时自己工作中的积累、同厂商(英特尔)的交流经验、以及私下里作为一个DIY玩家的认識,力争做到最权威、最准确同时保证通俗易懂,希望能用几个简单的例子让你迅速达到硬件专家的认识水平

1)这是论坛帖子不是论文發表有些知识点真的只能是点到为止。

2)有些只能是尽量准确为保证通俗易懂,可能达不到学术级别的精准度

3)本帖强调知识和理解。而现实中究竟是花六七百买个i3,还是一千多买个i5这个要具体情况具体分析,没有固定答案

4)如果是土豪,只图一个‘爽’字鈈求划算,只求最贵这个帖子建议也不用看了,因为所有的理论都无法解释为什么挂QQ需要用到4核8线程的i7

希望你看完此文后,从此装机選U不再困扰!!!!!

有经验的玩家应该都知道下面最常见的五种英特尔消费级CPU说它们是消费级是为了和企业级处理器Xeon(志强)区分:

- 赛扬昰双核,不支持超线程CPU - 入门玩家

- 奔腾是双核不支持超线程CPU - 中低端玩家

- i3是双核,支持超线程CPU - 中端玩家

- i5是4核不支持超线程CPU - 中高端玩家

- i7是4核,支持超线程CPU - 高端玩家

而志强的一些低端CPU普通玩家也可以用,比如

- E3是4核支持超线程CPU - 高端玩家

当然,变态级i7 Extreme可以达到6核12线程8核16线程,鈈过一般都是发烧友买的普通玩家中并不常见。

一些入门的E3其实方案基本就是沿用i7,比如备受推崇的E3 1231v3这个U性价比很高,其实就是去叻集显、不能手动超频的i7但价格却便宜了不少,所谓i5的价格i7的性能。

要谈超线程CPU和多核就不得不谈CPU的架构和逻辑。无关的技术细节呔多这里略去。我们重点谈一下CPU中两个相关的模块:

PU一般就是执行运算比如算数运算加减乘除。AS执行一些逻辑和调度方面的操作比洳控制内存访问等。

单核CPU(先从简单的谈起)

一般一块传统意义的CPU上会有一个PU、一个AS

比喻一个小饭馆(单核CPU),夫妻老婆店老板兼夶厨厨房炒菜,老板娘兼服务员点单这不,来了一个客人首先,走到老板娘的收银台前看菜单准备点单。差不多5分钟后客人点完叻一份盖浇饭。老板娘抄好了单递给了在后厨的老公。老公开始炒菜在这个例子中,老板娘可以理解成AS老板/大厨可以理解称PU(干实倳的)。

这里说的多核是多个物理核,比如i3的双核i5的4核。这中架构下每一个物理核都有一个PU和一个AS。所以对于i3来说,就有总共两個PU两个AS。对于i5来说就有总过4个PU,4个AS

比喻上面小饭馆的列子,对于5、6个客人可能还能忙的过来但设想一下子来他个16个客人,这队估计要排到街上了如果再告诉你,每10分种就有16个新客人过来点单。完了。生意估计是做不下去了 - 老板、老板娘忙到死

这时,我们僦需要一个更大的单位食堂(多核CPU)有4个服务生、4个大厨。4个服务生同时点单4个大厨同时开炒(1号服务生专给一号大厨下单,二号服務神生专给二号大厨下单。以此类推)。这样相比小饭馆一个老板娘、一个客人队列这里成了4个队列,效率顿时比小饭馆提高4倍16個客人,平均分配成4个队列每个队列就只有4个客人了,情况是不是好了很多

这个应该还是比较容易理解的。

重头戏来了超线程CPU是个啥玩意。他是我们平时说的多线程吗

超线程CPU(HT)并不是我们一般说的多线程。我们一般说的多线程(multi-threading)是指程序方面的简单的说就是‘软’的,代码级别的而超线程CPU一般指的是硬件架构方面的,是‘硬’的:通过调整AS而模拟出来的‘逻辑核’

简单的说吧,超线程CPU就是一個物理核里面有两个AS,一个PU两个AS共享一个PU。为什么这么做看下面的例子:

比喻:刚刚那个单位食堂,4个服务生4个大厨,4个队列會不会效率问题?

设想每个客人都有看单选单的时候你能保证每个客人都看两眼就下单?有的客人难免会磨磨蹭蹭问东问西,一个菜點它个15分钟而设想大厨平均炒一个菜只要10分种。那剩下的那5分钟呢大厨在厨房闲着没事干,喝茶看报纸时间全被客人-服务生点菜这個环节给浪费掉了。

那有没有解决方法我想大家应该都能猜出来了 

这时候,我们给每个大厨多增加一个服务生从一个服务生变成了两個服务生(AS),服务生1A和服务生1B开两个队列同时给一个大厨(PU)下单。这样当出现服务生1A的客人15分钟单子都没有下完的情况下,1B的客囚单子很有可能3分钟下好送给大厨开炒了(PU)这样大厨就不会站在厨房傻等1A客人的订单。这样最大限度地榨干大厨的劳动力 (大厨估計要骂娘了),而对于CPU来说最大限度的提高了CPU的使用率,减少了CPU的(IDLE)空闲时间有的时候,真不能怪大厨(PU)不卖力而是你服务生(AS)叫单太墨迹。


在下图中橙色和蓝色表明大厨(PU/CPU)是在工作的,白色格子表明大厨(PU)是空闲的A图是单核没有没有用超线程CPU,B图双核没有超线程CPU图C是单核启用了超线程CPU。可以清晰地看到从单核增加到双核(在没有超线程CPU的情况下),CPU使用率并没有增加而用了超線程CPU后,整体CPU使用率提高了虽然只是一个核。

左边的图是单核超线程CPU右边的图是双核,不带超线程CPU看出区别了吧?

现在来看实际中哆核和超线程CPU的相关问题:

1)i3 双核4线程和i5 4核4线程,是一回事吗

首先先说一下i3,i3是双核开了HT以后,变成4个逻辑核(4线程)最新的Win10我鈈知道,但在Win7里面逻辑核是被显示成物理核的和i5一样。那i3和i5一回事吗如果你觉得是一回事,那我上面的东东全都是白写了

i3是4个服务苼两个厨子,i5是4个服务生4个厨子你觉得一样吗??

2)那i5 4核4线程,相比较开了HT的i7(4核8线程)一样吗

i5是4个服务生4个厨子。i7如果开了HT昰8个服务生4个厨子。当然从CPU利用率尤其是运行多进程/线程程序上面来看是开了HT的i7好。

3)那i5 4核4线程相比较关了HT的i7(4核4线程)一样吗?

i5是4個服务生4个厨子i7如果关了HT,也是4个服务生4个厨子乍一看差不多,至少在大厨(PU)、服务生(AS)的数量上打成平手但是i7的单核处理能仂要稍强于i5,也就是说i7的厨子是特级厨子i5的厨子的一级厨子。所以其实i5和i7还是有差距但是从理论上来说,差距并不是特别大

总结:悝论上来说,i3和i5的差距是相当的大而i5和i7差距主要是厨子(PU)质量的好坏和多出的那4个服务生。其实差距并不是像i5-i3之间的差距那么大

4)那对与同一个CPU,比如i7开了HT有什么优点:

- 并行能力增强处理多进程/线程的能力加强,对于支持多线程的游戏提供比较明显

- CPU利用率增高一般理论上,总体性能提高差不多20%-30%从这个角度上看,i3开启了超线程CPU提高了20%-30%整体水平。但是这就意味着能和i5打成平手了?? 如果這是真的话i5也不要卖了。两个大厨(i3)不是我等拿个鞭子抽抽就能顶的上4个大厨(i5)的。。

5) 开HT有什么缺点

一般在5%-15%之间,主要表现在运行單线程程序两个AS的额外开销比一个AS的开销要大

比喻:只有一个客人来点餐,指定一号大厨但你两个服务生站在那儿,而这个客人可能僦会过一下脑子想想,我是找服务生1A呢还是服务生1B呢? 这么一想,半分钟过去了。是不是还不如只有一个服务生来的简单。

所鉯现实中我们超算系统测试跑分的时候一般都是要HT关掉的因为追求极限性能。现在最新的CPU可以做到5%-15%的性能损耗而老的超线程CPUCPU,比如10几姩前的老奔腾4/志强我见过单核性能超过50%的性能损耗的,启动HT的额外开销极大

- 电费增加,一般功耗平均上升30%你多请的4个服务生,不用給工钱?

- 在核特别多的情况下,比如双槽服务器的情况下容易发生拥塞

比喻:试想一个超大的食堂有56个服务员(双CPU,28核56线程臸强E5系列CPU),来了几百个人过来是不是会乱了套?大家刚进食堂一开始都不知道该排哪个队了(一般决定排哪个队是操作系统定下的)。(在操作系统的安排下)一个客人把56个队列一条一条地查一遍,看看哪条队客人最少就排哪条。。

我想问的是现实中你去食堂打饭,假设有56个队你会一条一条的检查,找出人最少的队然后再做决定吗?估计你56条队查完15分钟过去了,你的小伙伴饭都吃完了这时候,是不是我将队伍减少到28个队对你来说会相对容易一些?(当然28队也还还是够累的)

比如老的Win2008Win2000,对超线程CPU支持比较差

比喻:如果食堂比较空,没人这时候来了两个客人A和B来订餐,结果两个人分别跑到同一个大厨的两个服务生1A和1B上排队(一般这都是操作系统幹的好事)你能发现哪儿不对劲吗?

正确的做法应该是A去一号大厨(1号物理核)B去二号大厨(2号物理核)。你让AB都挤到一号大厨那裏,二号、三号、四号大厨啥事没有闲到死,有意义吗

其实问题就在于,操作系统不能分辨物理核和逻辑核看那里有两个服务生,兩个队列就以为有两个大厨,所以把客人A和B分别打发到1A和1B去排队完全不知道后厨的实际情况 - 究竟有几个大厨。

回到现实我究竟需要什么样的CPU?

1)上网聊QQ,简单的办公用(比如Office文档处理)老人机

赛扬其实就可以了。赛扬是2核2线程其实和2核4线程的i3相比,在对付这类應用时候抛去主频,缓存的区别i3的优势完全发挥不出来。注意i3的价格差不多是赛扬的3倍

还有一个就是奔腾,奔腾其实就是主频稍高缓存稍大的赛扬。同样是2核2线程性能比赛扬只高一点点,但价格差不多可以买1.5个赛扬个人觉得没什么意思,多出这钱真不如买个高级点的键盘、鼠标、显示器。至少使用方面的体验是实实在在的。

2)轻量级游戏平面图形工作者(比如PS)

i3其实挺适合。小游戏还囿一些网页游戏,PS什么的虽然是多线程程序(比如PS),但其实对CPU的负担不会特别重反而瓶颈有可能是磁盘I/O速度等。所以开了超线程CPU的i3對付这类情况其实问题不大。

3)重量级大型3D游戏

现在的3D游戏会将很多比如3D加速的任务交由GPU去做,GPU工作的时候一般CPU都会处于blocking(中断等待)狀态,直到GPU指令执行完毕CPU再继续。所以这里就会出现两个瓶颈一个来自CPU,一个来自GPU

对于3D游戏来说,一般来看i5完全可以胜任你说要鈈要上i7?当然你腰包鼓上i7没问题,跑分肯定会提高但如果预算有限的话,可能将钱投入到升级显卡上面来的更简单直接比如,i5配中高端显卡比如970这种比较均衡相对于i7+950。

拥有i7性能的E3值不值得入手当然值得入手。但如果E3 1231v3价格被JS价格炒过了头还不如用i5算了。

如果工作Φ出现很多3D建模渲染啥的。CPU很重要GPU也重要。CPU(逻辑)核越多越好因为各种渲染的方法,从算法上来说都是可以高度并行的。每个邏辑核都可以给你任务队列塞得满满的,最大程度的榨干CPU的性能绝对不会出现偌大一个食堂,只有一两个顾客这种情况而这时候,E3/i7和i5的区别就有可能非常大。

GPU负担也重而且普通的游戏显卡比如GTX980这种有可能不能胜任,而需要Quadro图形卡不是说980不够强悍,而是因为一些圖形相关的驱动/库是没有被加入GTX980这种游戏卡的没驱动就没法在GPU上面跑,跑不了就只能依靠CPU来模拟运行结果就是,CPU本身的逻辑要跑而GPU跑不了的,最后也是通通让你CPU跑你说CPU不足够强悍,还能活命吗

所以这类应用,一定要挑一个强悍的CPU比如i7, E3这种,甚至是中档志强E3系列 - 6核12线程8核16线程的CPU。

好5分钟到!相信看到这里,知识理论水平已经有了很大提高帮同事、朋友、MM们装机选配件时,滔滔不绝谈理论應该也不在话下了。

恭喜你出山了从玩家,正式升级成专家!

如果你觉得还不过瘾,好请看下面(下面内容和一楼内容不在攒机专镓技术等级考试大纲范围以内)。

进阶篇 - 为什么系统跑分测试的时候我们是关闭超线程CPU的

这时候你可能会问,既然HT能提高系统的性能尤其是处理多线程程序的能力,为什么你们系统测试时要关掉比如一个4核8线程的E3 1231v3关掉HT后,只剩4核4线程也就是4个服务员,4个大厨4个队列。性能不是会变差吗CPU空闲时间不是会高吗?

这其实是个很实际、很有趣的问题按道理来说我们应该开超线程CPU。

比如来了64个客人每個人都要一个盖浇饭,两种情况

1)到了一个8个服务8个队列的、4个大厨的食堂每个队列有几个客人? - 8个

2)到了一个4个服务4个队列的、4个大厨的食堂,每个队列有几个客人 - 16个。

哪个快应该是第一个,因为同时8个服务交错开接单,当然能减少某个客人犹豫、磨磨叽叽带来的延迟让4个大厨忙个不停。

别忘了我们之前已经探讨了,开启超线程CPU以后因为增加了4个服务员,会带来额外的开销 - 每個客人入队前都会犹豫都要花时间思考 - “两个队我究竟应该怎么排?哪个队人少哪个服务生看的养眼?。。”这种额外的开销(处理延迟,性能损耗)是硬件级别的是英特尔设计CPU的时候就规定死了的。我们任何事都无法解决硬件方面的问题而唯一的办法就只能是 ---->  关掉HT。但关掉HT每个队列变成16个客人,而每个服务从接待8个客人,增加到16个客人(AS延迟从8份增加到了16份),怎么破??

重頭戏来了硬件我们当然无法改动,但是软件程序上我们可以进行优化我们可以重写程序的并行调度算法,使得程序最大程度上针对CPU天苼的硬件架构进行优化具体的算法上细节太专业不容易懂,我举下面这个例子一说你可能明白了:

比如来了64个客人,每个人都想吃一個盖浇饭来到一个4个服务4个队列的、4个大厨的食堂。每个队列会有几个客人 - 16个。

好对于每一个队,现在我不让这16个人都去排队而是从队里面推选出1名代表,让这个代表代替16个人去向服务生点单一个单子上16份盖浇饭,其余15人退后这样一来,总共只有4个客人(玳表)点单其余的60个人在下面歇息。而点单速度方面每个队最多也就(一个代表)磨叽一次。后堂大厨接到16份盖浇饭的订单也只有拼命做的份。你总不能炒一个盖浇饭歇5分钟吧。

瞧, 是不是问题解决了

1)既避免了8个服务员、开8个队列所带来的AS额外开销

2)也最大程度的利用了大厨(减少了PU的闲置时间)

作为一个超算系统,大家都在追求极限性能世界上每年都会进行500强超级计算机性能排名,一点點的性能差异都有可能会让你的排名退后不少所以大家都需要尽可能地压榨系统的最后一点性能。

同时这个实例也告诉DIY玩家们,硬件偅要软件也重要。硬件强悍的同时软件(驱动)也要进行相关的优化。如果软件没有针对性的优化再强的硬件也发挥不出100%的威力。這个也从侧面解释了为什么有些硬件属于跑分王类型。比如测试3Dmark这种得分暴高,而一到实际游戏中表现一塌糊涂。

买硬件要买用嘚人多的,不要搞太小众的东西

您提交的内容含有以下违规字符请仔细检查!

线程数就是指CPU同时可以处理的进程数,分为两种情况:
CPU未采用超线程CPU技术线程数和核心数相同;
CPU采用了超线程CPU技术,线程数是核心数的两倍;
超线程CPU技术就是利用特殊的硬件指令把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算进而兼容多线程操作系统和软件,减少了CPU的闲置时间提高的CPU的运行效率。
可以通过CPU-Z查看线程信息:
百度搜索CPU-Z并进行下载安装;
运荇已安装的软件,就可以看到线程数了:
打个比方双核就相当于两个水桶,两线程就是两条水管四线程就是四条水管,如果水管一样粗的话你觉得哪种方式放水效率高点
双核/四线程,说明处理器有两个物理核心最大支持虚拟四核,性能介于物理双核和物理四核之间显示的框框是虚拟核心数,也就是线程数
这么说吧!单核双线程与双核两线程的区别是,单核始终只有一个cpu在工作双核的有两个cpu在笁作,只不过英特尔有自己的技术利用线程技术,让一个cpu在处理多个任务时分出两条线程工作让一个cpu在面临多个任务时可以分开两条線程去执行。而双核两线程的就是cpu在处理任务时单个cpu在执行多任务时,由于一个cpu只有一条线程那么它在面临多个任务时只能在多个任務间交替执行。所以说这种单核双线程的称为模拟双核!
超线程CPU是英特尔所研发的一种技术于2002年发布。超线程CPU的英文是HT技术全名为Hyper-Threading,Φ文又名超线程CPU超线程CPU技术原先只应用于Xeon处理器中,当时称为Super-Threading之后陆续应用在Pentium 4中,将技术主流化超线程CPU技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。超线程CPU技术就昰利用特殊的硬件指令把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算进而兼容多线程操作系统和软件,减少了CPU的闲置时间提高的CPU的运行速度。
通过超线程CPU技术英特尔成为第一家公司实现在一个实体处理器中,提供两个逻辑线程
后期內含超线程CPU技术的P4处理器商标
之后的Pentium D纵使不支持超线程CPU技术,但就集成了两个实体核心所以仍会见到两个逻辑线程。超线程CPU的未来发展是提升处理器的逻辑线程,英特尔有计划将8核心的处理器加以配合超线程CPU技术,使之成为16个逻辑线程的产品
英特尔表示,超线程CPU技術让(P4)处理器增加5%的裸晶面积就可以换来15%~30%的效能提升。但实际上在某些程序或未对多线程编译的程序而言,超线程CPU反而会降低效能除此之外,超线程CPU技术亦要操作系统的配合普通支持多处理器技术的系统亦未必能充分发挥该技术。例如Windows 2000英特尔并不鼓励使用者在此系统中利用超线程CPU。原先不支持多核心的Windows XPHome Edition却支持超线程CPU技术
假设一个CPU是一个工作室,多核就是多个人比如四个人,每个人都很牛逼精力用不完怎么办那可以给每个人两台电脑,这样就就可以干八个人的事儿

只是给单独的核心多通了“一条路”,使其可以“一心两鼡”来模拟其“一倍核心数”可以干的事儿简单点讲:对于性能提升没什么用处,但对于多开有帮助属于一种变相的“压榨”CPU。原来哃一时间可以处理四个文件但是性能还有富裕却因为“路不通”没办法再处理,这就是“超线程CPU”的用处了

i3 i5 i5支持超线程CPU所以i3 i5双核能看見四个线程。i7四核是8线程 除了i3 i5 i7 其他的cpu大多都是几核就是几线程 看线程的地方在 任务管理器里面的性能cpu使用记录哪里,你的是amd6核 哪里就是6哏线 就是6个格子
现在低档是双核好的三核四核现在又有六核心的处理器,频率越高越好

超线程CPU功能在BIOS里是默认开启的洳果你CPU支持超线程CPU,则会自动模拟为物理核心X2如果超线程CPU没有开启,可以在开机的时候进入BIOS里,找Hyper-Threading项改为enabled就是开启超线程CPU。

CPU超线程CPU技术就是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻輯处理单元)

你对这个回答的评价是?

我要回帖

更多关于 超线程CPU 的文章

 

随机推荐