首页 > 手机 > 配件 > 超线程,直接提高40帧

超线程,直接提高40帧

来源:整理 时间:2022-04-07 21:41:43 编辑:华为40 手机版

超线程技术到底什么

超线程,直接提高40帧

超线程技术到底是什么?我们在选购电脑时会经常听到CPU是几核几线程的介绍,然而很多人对这个参数并不是特别理解,下面我们举个例子,比如四核八线程,这个参数的主要意思如下:四核是指的CPU内核,是真实存在的物理内核,每个内核都相当于一颗单核CPU。线程则是计算机程序执行的最小单元,我们平常运行的程序被称为进程,一个进程可以包含一个或多个线程,而每颗CPU核心在同一时间内只能处理一个线程。

四核八线程则是指CPU支持超线程技术,可以把四个内核模拟成八个核心来使用,这样在同一时间内就可以并行处理八个线程,提高CPU的运算速度。上面三条对CPU的核心和线程做了简单的介绍,那么是不是四核八线程相当于真正的八个核心呢?肯定不是,请往下看。超线程技术的意义在于有效的利用了CPU闲置的资源,比如说单核CPU在单位时间内处理一条简单的程序时,只能利用到20%的硬件资源,其余的80%就被闲置了,形成了资源浪费的情况。

而利用超线程技术后,可以把CPU模拟成两个逻辑核心,这样就可以在同一时间内利用一颗核心资源并行处理两条程序,大大的提高了运算效率。然而这种方式只能在CPU资源有闲置的时候有效,如果两条程序同时访问同一个资源时,就只能讲究个先来后到了,必须等一个用完另一个再用,所以利用超线程技术模拟出的逻辑核心毕竟不是真正的核心,并不能和真正的多核CPU相提并论,而且还必须要计算机操作系统和应用软件都支持超线程技术才可以使用。

比如四核八线程实际体验中也就相当于多了一颗核心。形象的理解超线程技术我们可以把单核CPU工作理解为人在挑水,如下:当一个人拿一只桶提水时,这是单核心单线程。当一个人拿两只桶提水时,就相当于单核心双线程,支持超线程技术。一个人提两桶水不只要有两只手,还需要有两个桶,这就相当于必须要操作系统和应用软件都支持超线程技术才能实现。

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

超线程,直接提高40帧

前面的回答没有讲透,甚至有错误,所以我来补充一发。回答的过程中,难免有专业术语,我会尽力用类比的方式软化,并加入生活场景以便易于理解。下面正式开车。先讲什么是超线程技术。超线程(Hyper-Threading,简称HT)技术最早是英特尔提出并应用,它的原理是这样的:在单个核心处理单元中集成两个逻辑处理单元,从而可以在单位时间内处理两个分别进行整数核浮点运算的线程,模拟双内核运作。

一个拥有超线程技术的CPU,可以模拟成2个CPU。打个比方,如果一个核心处理单元(CPU内核)相当于生产车间,那么逻辑处理单元就相当于生产线上的工人。过去的CPU是一个核心处理单元集成一个逻辑处理单元,相当于一个生产车间配一组工人,每个工人都工作在最大负荷下。运用超线程技术的CPU,则相当于一个生产车间配两组工人,人手增加一倍。

超线程技术的工作原理是这样的:程序的一个进程可以分成多个线程,超线程技术可以在单位时间内,让两个逻辑处理单元同时处理两个线程,一个进行密集运算,一个处理输入输出、人机交互等,行话叫“并发异步执行”。没有运用超线程技术的CPU一次只能处理一个线程,先处理密集运算,再处理输入输出、人机交互,让线程排队等待,行话叫“线程堵塞”。

我们假设一个程序可分为两个进程ABCD和EFGH,CPU无超线程技术时,需要先执行完ABCD,再执行EFGH,共耗费8个时间单位。CPU有超线程技术的话,一个逻辑单元执行ABCD,同时,另一个逻辑单元执行EFGH,共耗时4个时间单位,这样就节省了一半的时间。可以看出,超线程技术可以省一半的程序执行时间。

这种线程处理上的效率差别可以打个比方,组装电视可以简单分成运料、装配两个大的步骤,有两组工人的车间(有超线程技术的CPU内核),可以让一组工人运料,另一组工人装配,单位时间内完成两个步骤;只有一组工人的车间(没有超线程技术的CPU内核),只能让工人先运料,运完料再装配,单位时间内只能完成一个步骤。小结一下超线程技术的特点:一个CPU内核集成两个逻辑处理单元,运行时模拟成两个CPU;每个逻辑单元共享执行单元、寄存器,类似于上面说的两组工人共享一条生产线;可同时执行两个线程,节省一半时间;但超线程技术也有短板:当两个线程不同时,可以提高效率,当两个线程相同时,线程也需要排队,好比来了两倍的电视机装配任务,但装配生产线只有一条,即使有两组工人,也只能等待,因此超线程要发挥优势,必须软件优化到位;超线程技术提高的是程序执行效率,不是提高整个CPU内核的性能,提高性能还是离不开频率提升,相当于让生产线加速运转,“工人”手脚动作加快;超线程技术对复杂应用(3D建模等)效率提升明显,一般简单应用体验不明显;说完什么是超线程以及超线程的优缺点后,接着回答题主的问题:手机CPU为什么不采用超线程技术?因为手机的APP绝大多数都不是复杂应用,根本用不到超线程技术。

更重要的是,超线程技术采用的是两个逻辑单元,可以理解成是两个“软核”CPU,和多核CPU这种通过硬核提升程序执行效率的设计理念相比,优势并不突出。此外,手机CPU设计满足的是在减少能耗的前提下提升性能的需求,因此“大核 小核”的多核模式比超线程技术更适合。结果就是,满足重度应用的高性能电脑CPU会采用超线程技术,而满足轻度应用的手机采用能效比更出色的多核设计。

文章TAG:超线程

最近更新