电脑CPU有超线程,为什么手机CPU没有超线程设计?

之前的回答不彻底,甚至错误,我再补充一个。在回答的过程中,不可避免的会有专业术语。我会尽量用类比的方式把它们软化,加入生活场景,让它们通俗易懂。我们正式开车吧。

先说什么是超线程技术。

超线程(HT)技术首先由英特尔提出并应用。其原理是:将两个逻辑处理单元集成在一个单核处理单元中,使得在单位时间内可以处理两个执行整数核浮点运算的线程,模拟双核运算。

一个采用超线程技术的CPU可以模拟成两个CPU。

比如一个核心处理单元(CPU core)相当于生产车间,那么逻辑处理单元就相当于生产线上的工人。以前CPU是集成了一个逻辑处理单元的核心处理单元,相当于一个生产车间,有一群工人,每个工人都在最大负荷下工作。采用超线程技术的CPU相当于一个生产车间有两组工人,人力增加一倍。

超线程技术的工作原理是:一个程序的一个进程可以分成多个线程。超线程技术可以使两个逻辑处理单元在单位时间内同时处理两个线程,一个用于密集型操作,另一个用于输入/输出、人机交互等。,行话叫“并发异步执行”。没有超线程技术的CPU一次只能处理一个线程。它先处理密集型操作,然后是I/O和人机交互,让线程排队等待,行话叫“线程阻塞”。

我们假设一个程序可以分为两个过程,ABCD和EFGH。当CPU没有超线程技术时,需要先执行ABCD,再执行EFGH。* * *需要8个时间单位。如果CPU有超线程技术,一个逻辑单元执行ABCD需要四个时间单位,另一个逻辑单元执行EFGH需要四个时间单位,这样就节省了一半的时间。

可见超线程技术可以节省一半的程序执行时间。

这种线程处理的效率差异可以作为一个例子。电视组装可以简单地分为两大步骤:材料交付和组装。有两组工人车间(带超线程技术的CPU核),这样一组工人运料,另一组工人组装,两个步骤可以在单位时间内完成。只有一组工人的车间(没有超线程技术的CPU内核),工人只能先运料,运完再组装,单位时间只能完成一个步骤。

说完了什么是超线程及其优缺点,然后回答主要问题:为什么手机CPU不采用超线程技术?

因为绝大多数手机app都不是复杂的应用,所以不需要超线程技术。更重要的是,超线程技术使用两个逻辑单元,可以理解为两个“软核”CPU。相比多核CPU通过硬核提高程序执行效率的设计理念,其优势并不突出。

另外,手机CPU的设计在降低能耗的前提下满足了提升性能的需求,所以“大核+小核”的多核模式比超线程技术更适合。

由此,面向重度应用的高性能计算机CPU将采用超线程技术,而面向轻度应用的手机将采用能效比更好的多核设计。

超线程技术是指单个处理器内核每秒可以处理数千条指令,但在某一时刻只能处理一条指令,即单线程。超线程技术可以在软件层把一个物理处理器变成两个逻辑处理器,可以使处理器在某个时刻并行处理更多的指令和数据,即线程数超过数(2)。当然,实际性能不可能翻倍。毕竟物理核心只有一个。这就是逻辑多核和物理多核的区别。

可以说超线程是一种可以充分“调动”CPU内部暂时闲置的处理资源的技术。该技术主要应用在intel和AMD的处理器中,在不大幅增加芯片面积的情况下,对提升处理器多线程性能有明显的作用。

然而,使用多线程技术的处理器需要设计在微架构上。手机CPU的ARM架构不考虑超线程,而是增加物理核,每个核都有独立的流水线和独立的缓存。这种方法有利于降低功耗,虽然会导致面积增加,但对于手机CPU来说,能耗比比性价比更重要。这是一个权衡。超线程技术是不是一种可以大幅提升性能的技术,就像双核四线程CPU和四核四线程CPU,哪个效率更高?不必赘述。如果只是为了提高手机CPU的多线程性能,超线程技术可能会水土不服。

当然,手机上的CPU也不是没有超线程技术。像几年前的联想k900,摩托罗拉MT788,都是采用英特尔的Atom处理器,双核四线程。

只是因为android应用不兼容X86架构,英特尔逐渐退出了手机SOC的市场。最近在中国国内的展会上有很多和英特尔的合作。记得17年的展会在发布会上也说过,展会之后会推出一款采用超线程技术的自研手机CPU架构。估计技术也是英特尔授权的。以后能不能看到超线程技术的手机CPU,就看展讯的计划是否顺利了。

CPU的超线程技术可以大大提高CPU的多核性能。虽然CPU占用的晶体管数量比纯物理核少很多,但是超线程技术的开放也需要消耗很多额外的晶体管和功耗,比如电脑CPU。没有超线程技术,i7-9700的功耗和发热量比i9-9900少很多。

所以对于现在的手机CPU来说,8核完全够用。无论多少个高性能内核与几个低功耗内核组合,都可以在性能和功耗之间取得平衡。如果加入超线程技术,手机CPU将达到16个线程,必然会带来功耗的大幅增加,但显然手机这样的产品不需要这么强的性能。

另外,目前大部分手机app都没有对多核CPU进行优化,因为多核优化本身就是一项非常复杂的工作,所以手机CPU发展到8核后,近几年发展速度有所放缓,说明手机CPU目前并不需要超线程技术,毕竟功耗和续航往往更重要,而且手机本身也不是电脑那样的生产力工具,所以对性能的需求并不迫切。

2002年,英特尔推出了超线程技术,可以将一个具有物理核心的英特尔处理器分成两个逻辑核心,从而在单位时间内同时处理两个线程,达到模拟双核运行的目的。换句话说,超线程是一种可以充分利用处理器闲置资源的技术。

目前并不是所有的英特尔处理器都支持这项技术,支持超线程的处理器会在包装盒上做标记。

虽然使用超线程技术可以同时执行两个线程,但并不像两个真正的CPU,每个CPU都有独立的资源。当两个线程同时需要某个资源时,其中一个应该暂时停止,放弃该资源,直到这些资源空闲。所以超线程的性能不等于两个CPU的性能。

运行单线程应用软件时,超线程技术甚至会降低系统性能,尤其是多线程操作系统运行单线程软件时。需要注意的是,采用超线程技术的CPU需要芯片组和软件的支持,才能充分发挥该技术的优势。如果只有CPU支持超线程技术而没有芯片组和软件来配合,超线程技术只是一句空话。

我很高兴地告诉你,有。

手机的cpu有超线程,而且都是英特尔专门为平板和手机设计的ATOM系列芯片。比如z2580的z25x0系列和z35x0系列,而使用z2580的联想k900、中兴975、华硕Zenphone都是超线程的手机。

超线程技术是英特尔的专利。如果其他厂商想要使用,就必须支付专利费。

目前主流的手机CPU厂商高通和联发科,都是采用胶芯的方式设计芯片,也就是多达8个芯片粘贴在一起形成一个CPU。这八个芯片有的功耗低,有的性能差,有的功耗高,有的性能好,这样如果手机运行任务多,就会打开一个或多个高性能的核心来防止手机卡,如果手机运行任务少,就会打开低性能的核心来省电。

这样不好吗?

这样也可以达到多线程的目的,而且是在物理层实现的。每个内核都有专属内存。从这个角度来说,比超线程更有效率,当然也更耗费材料。

CPU的设计有很多取舍和考虑。超线程是电脑的专利,所以手机有点水土不服~

就这些,希望能回答楼主的问题~

让我们用最通俗的语言来理解这个问题。

1.其实手机CPU曾经是支持超线程的。那是英特尔的ATOM处理器,联想和华为手机也用了。这是一个x86架构的处理器。反正英特尔停止了手机CPU的开发。现在手机的CPU基本都是ARM架构。

2.超线程是英特尔的专利,也是x86上的专利。就算ARM处理器真的能支持超线程,你也要先问问英特尔给不给。

3.超线程的学名是模拟多线程。Intel为CPU引入了超标量、超级流水线、乱序运行等资源,而这些资源往往是闲置的,于是开发了超线程技术,以更好地利用CPU的闲置资源,让这些闲置资源运行另一个线程。在操作系统看来,它是另一个CPU。

4.如果你明白超线程存在的意义,你一定明白它的存在是因为CPU单核性能太强,所以有闲置资源可用。

5.相比x86架构的桌面CPU,手机上ARM架构的CPU就像萤火虫的光和日月的光一样,就是手机CPU的性能其实是比较弱的,没有多余的资源为超线程提供。

6.超线程技术需要新的晶体管来支持。对于手机来说,能耗比是最重要的。另外,它需要系统的支持,而这一切都还没有准备好。

7.未来可期。也许有一天,条件成熟了,ARM处理器真的可以支持SMT了。

这其实很好理解。手机处理器和台式机处理器完全不同。目前桌面处理器以AMD和Intel为主,手机处理器以ARM为主。而且从设计上看,嵌入式处理器和桌面处理器没有可比性。桌面级要求性能高,散热和稳定性可以用散热器解决,不能用风冷,而ARM必须要求稳定性好,能耗低。没有办法用外置散热器解决这个问题。ARM处理器单核性能不足,只能基于简单指令集运行,更不用说利用超线程提高资源利用率,功耗和散热也不确定。

另外,超线程的运行需要硬件和操作系统的紧密结合。现在手机的操作系统都是Android和IOS,没有针对英特尔的CPU架构进行优化,操作系统也是先天不足,无法处理处理器的超线程操作。

因为计算机CPU是一个复杂的指令计算机系统。手机CPU是一个简化指令计算机系统。

复杂指令仪表CPU使用多条指令来完成一项功能。简化指令仪表CPU使用一条指令完成一项功能。复杂指令CPU可以将完成一个功能的多条指令拆分到多个内核中同时运行,而超线程技术允许一个内核运行两条或多条指令,使得指令运行效率更高。

精简指令CPU可以用一条指令完成一个功能,指令效率很高,所以一个核心不可能同时运行两条指令。所以,精简指令CPU不具备超线程的功能。

目前CPU的设计,复杂指令和简化指令都在取长补短,缩小各自的劣势。超线程技术一定会出现在未来的精简指令CPU中。到时候可能就是复杂指令和简化指令结合的CPU了。

谁说没有了?Inter Ztom处理器有超线程技术,如:摩托罗拉MT788 Z2480单核双线程;联想K900 Z2580双核四线程等等。只是Inter系列移动处理器太小,用的少,但也不能说没有。

超线程引起的功耗和发热也是一个问题。现在是手机不需要超线程升温的问题。如果再用超线程,我估计手机就要烧了!而且超线程使得处理器没有空闲空间继续工作,手机发热严重。手机处理器要想达到最佳功耗,电池就那么大。超线程会增加手机的功耗,缩短待机时间,这并不像一个有任务要处理的处理器核那么容易。还有一个超线程技术要在单个处理器内核性能强劲的情况下使用。如果内核本身不够强大,使用超线程会拖累手机性能!

简单来说,电脑CPU使用复杂指令集,流水线很长。有些操作只占用部分流水线,而不是全部多集流水线。流水线的某些阶段将会闲置。借助超线程技术,闲置的管道资源可以虚拟化为新的数据条目。手机CPU用的是精简指令集,流水线本身就很短,闲置的流水线资源很少。就算用了闲置的流水线,级数也太短了,什么都做不了。