cpu为什么要堆那么多的核?做成一个性能超强的单核不行吗?

爱吃香蕉的小仙女


技术路线的选择要考虑可行性,所谓可行性不仅仅包括能否实现,还包括实现难度是不是在可接受的范围,实现的成本是不是可以承担。而题主说的把CPU做成一个性能超强的单核,技术难度大,成本也高,并不实用。

CPU之所以选择了多核心发展,就是因为单核心很难继续做下去,无法持续稳定提高性能,厂商才做的多核心。

单核性能的提高遇到了瓶颈,多核处理器技术的成熟共同决定了多核处理器成为技术发展的主流选择,而单核处理器被抛弃。

我们看看当年的几代入门级处理器的性能,就会发现,单核性能的提升已经进入了瓶颈期。第四代入门级的 i3 4130 CPU,单核性能成绩为 1982。上一代入门级的 i3 3220 CPU,单核性能成绩为 1759。再上一代入门级的 i3 2130 CPU,其单核性能成绩为 1744。经历三代升级,性能的提绳微乎其微。一般认为,只有性能提升五成以上才会有比较直观的感受。因此,单核性能的突破是一个难以克服的困难,不一定说完全不能实现,但至少是一件非常困难的事情。从理论上来说,从1990年左右开始,提高芯片的性能主要方法有两种:

1.在有限面积内加入更多的场效应管。

2.提高时钟。

经过二十多年的发展之后,我们已经几乎把这两种方法应用得炉火纯青,单核CPU想要继续突破面临着难以克服的功耗和发热问题,而时钟也会受到限制。相比之下,多核CPU可以通过并行计算实现降低时钟的目的,与此同时维持原有的计算能力。而多核处理器的协同能力则随着技术成熟而变得稳定高效,在这个情况下,回归单核路线,尝试做一个超强的单核处理器是不符合现实需求的做法。

而从另外一个角度来说,就算我们继续发展单核技术,不计代价投入,不计成本生产出来。但是,理论来说,单核处理器的性能是会有上限的,这个上限一定会比多核处理器低。这就好比一个人可以通过锻炼提高身体力量,但是你再能打,来十个二十个人,你也够呛能对付吧?所以,个体的提高很重要,但是多人合作,良好的协作才是提高战斗力更有效更现实的选择。同样的道理,当多核处理器可以良好协作的时候,取代单核处理器成为技术选择的主流也是情理之中的事情。超强单核的技术构想则不实用,太昂贵,并不存在实际可行性。


镁客网


多核CPU就是因为如今的单核CPU已经难以大幅度提升性能才诞生的,像X86和ARM这类通用处理器架构,一旦进入成熟期想通过修改架构来提升性能难度非常大,相比为了单核性能而消耗的时间和人力成本是相当不划算的,可以参考下奔腾4当年为了提升单核性能而造成的失败后果。

单核性能的提升除了架构以外很重要的一点是取决于频率和缓存,而频率限于CPU温度和功耗不可能增长太快,缓存限于CPU面积和成本同样不能快速增长,这样频率和缓存只能依靠半导体工艺的进步来逐步提升。

最无奈的是,如今半导体工艺进步的越来越缓慢,单单是英特尔从14nm到10nm就用了好几年的时间,工艺进步慢,CPU的单核性能和效率就难以大幅度提高,英特尔又不可能把X86架构大幅改动,即使ARM处理器工艺进化更快,但是受限于手机对续航和芯片面积的要求,CPU的单核性能仍然无法大幅提高。

相比之下,CPU通过增加核心数的方式来提升性能是效率最高的,因为CPU每个核心几乎都是相同的,只要整体架构定型,设计制造起来相对容易得多,而应用程序通过多线程优化可以有效利用到多核CPU,最高甚至能达到翻倍的提升,这可不是单核简单提升一下频率和架构就可以达到的幅度,比纯粹做单核的性价比高多了。

就这样随着多核CPU普及,支持多核的应用程序也越来越多,多核CPU也就越来越吃香,当然如果拿多核CPU的晶体管来做一颗超强单核也未必不可,但是这对制造商的良品率要求太高了,因为是单核CPU,一旦晶圆和芯片上有一点瑕疵就可能使CPU报废,而多核CPU可以通过屏蔽核心来降级销售,成本和利润自然无法相比。

英特尔、高通、联发科都是企业,必须要权衡成本和利润,综合来看,做多核CPU的好处自然更符合它们的利益,即使是苹果,也是在不断增加A芯片的核心数,所以多核CPU是大势所趋。


嘟嘟聊数码


我并不是专家,我大概一下,我个人的看法

理论上是可以,可以设计一个非常大的单核架构,把单核心的面积放大,频率可能可以很高。

但是我们看几乎所有做处理器的厂商,无论手机还是电脑,都没有人愿意这样做。

虽然说苹果手机的处理器单核心是放大了,但是由于ARM指令集的限制,实际上苹果手机的单核心与电脑的单核,跑分上苹果可以超越英特尔,但是实际用起来的时候,英特尔的速度绝对会比苹果的处理器快上很多倍,只是跑分上看就可以超越罢了,因为英特尔是X86指令集

即便是英特尔,都没有一味的把单核心放大,它还是采取多核心,我个人认为可能是受到工艺和发热功耗的影响。而且如果只是单核心的话,在多任务处理方面,可能效率并不高。

就像你请了一个员工,非常厉害,可以同时做很多份工作,一心多用,但是呢,相比之下,你请五个人,每个人一心一用这样每个人都可以专心做一件事情,而不是一个人同时做5,6样事情

如果只是一个非常强大的单核心处理器,在多任务方面,他就是一心多用,可能会出现错误,效率降低,我想大概就是这个意思,所以几乎没有一个处理器厂商愿意无限的放大核心面积。

即便是苹果手机的处理器,他虽然单核面积非常大,但是他到最后还是采取多核心。

以上是我个人的观点,毕竟我不是处理器专家,我只能大概解释一下


张招忠号导弹驱逐舰


我给你解释一下...你使劲理解一下...

...

计算机处理器有个参数叫频率...什么2.4G 4.5G啊...这个是指一秒钟有多少个时钟周期...不是指令周期...指令周期一般为1-12个时钟周期甚至更多...一般只有内部寄存器读写指令.加减乘指令能做到1时钟周期...而内存存取指令的周期数很高...所有数据都在内存...根本无法有效减少内存读写指令...需要注意的是内存读写速度基本是恒定的...也就是CPU快没用...比如假如在2.4G的处理器中读内存中的数据为6个时钟周期.那么在4.8G的处理器就需要12个时钟周期.也就是说在0.4G的处理器里是一周期...所以单纯提高频率提高性能微乎其微...

...

最先想到的就是利用CPU在等待读内存数据的周期中提前读下一个内存中的数据...这一系列技术最早叫预读.但代码有条件跳转.能判断条件跳转的预读叫分支预测.预读的层深叫流水线...

...

流水线并不完美...在多任务操作系统中..操作系统的时间片是通过保存和恢复整个寄存器实现的.术语叫保存恢复现场...这样切换会严重破坏预读的成功率...影响预读命中率...导致CPU仍然需要等待读取数据...解决这个问题的办法...就是两个处理器核心分别处理两个进程...当进程为3-4个的时候...在单核处理器上程序一定会正常运行...但破坏预读性能...运行效率很低...也就是说1个4G的核跑4线速度不如4个1G的核跑4线....

...

所以提高频率完全不会显著提高处理器性能...而提高核数会提高性能很明显...


ACME63610374577


性能超强?何为性能超强,运算速度快吗?

就用最简单的加法指令来说,32位的加法器,用到的逻辑电路就是那么个原理,再怎么升级,也就那样了。单个加法器的速度只能靠时钟频率来提升,但是太高了,会引起异常。比如逻辑门电平转换跟不上时钟的速度了,就会完成计算错误。

提升时钟频率这条路不行了,那怎么办,增加多个计算单元吗?可是光增加计算单元也没什么用啊,一堆计算单元排着队等着控制单元分配任务吗?感觉还是有点儿治标不治本。于是只能再增加一个核心了。两个不够,那就四个。四个不够,那就八个。

cpu的控制核心给计算核心分配任务时,它不知道它取得下一个指令是什么,是加?是减?是移位?是存储?还是去控制io?所以他的计算核心是庞大且功能全面的。而gpu封装了大量的小型计算单元,专门就是就是为了同时计算十万个加法(举个例子)而存在的。

所以cpu目前在时钟频率提高不了的情况下,只能通过堆核心,但不是堆一堆核心的方法来提高速度了。


蓬松的蛋糕


现代操作系统都是多任务系统,即便是IOS单任务指的也是APP,系统本身也是多任务,比如你可以边听歌边看网页。先看看早期的单核CPU是如何处理多任务的,听歌和看网页其实并不是同时候进行的,CPU在两个任务之间不断切换,形成两个时间片,那任务之间切换肯定会影响应用的实时性,虽然CPU已经快到感觉不到延迟,但这个性能损耗是客观存在的。到了双核时代就不同了,可以把听歌让第一个核心处理,上网让第二个核心处理,完全实时处理,当然操作系统本身还有很多进程在跑,所以也算不上实时处理,但比起单核性能起码就提升了一倍。所以多核芯是CPU很重要的一项技术,毕竟单任务系统已经灭绝了。


光明右使8787


理论上工厂建一个超级大的生产线就可以,那为什么要修好多厂房和生产车间呢?

一条生产线建的再大,也只能保证用最快的速度生产完一个批次的产品。如果要同时生产好几个批次和品种的产品呢?那是选择用这个超大生产线一个一个批次生产,还是建几个生产线同时生产更好呢?

同样的,做一个超级大核只能保证用最快的时间完成一个任务。但是,如果你的电脑要同时完成几个任务呢?你是选择让这个超级大核一个个任务去做,还是选择做几个小核分别去做?

结论:

大多数时候手机和电脑要同时处理的是很多个任务,这时候让多个小核分别处理比让一个大核排队处理更高效。而一个大核的制造工艺更麻烦,发热功耗比几个小核更难散热。

再举个不恰当的例子,你要从北京送一个火箭去西昌,只能用火车拉,但是你要从食堂送几份盒饭到宿舍楼,最好还是叫几个快递小哥骑电动车给你送吧。我们日常使用手机和电脑遇到很多小任务的场景远比需要处理大任务的场景多,所以做很多小核远比做一个大核更实用。毕竟不是每个人一天到晚都有火箭需要送到西昌。但是几乎每天都有人需要订外卖。


陈江轩


不同的构架、工艺、指令集都会造成CPU性能不同,主频可比作CPU每秒可以工作多少次,核心数表示多少人每秒可以工作多少次,单核主频越高就会产生更高的热量,对散热造成压力,可超频的CPU这液氮下都可以超到7、8GHZ,但在风冷下5GHZ都快受不了了,所以每个CPU多集成几个核心一起工作比废时费力地提高那一点点频率更划算。

而那些说什么单核秒多核的是系统不同指令集不同性能表现也不同,工作效率的不同。


loading78506868


1.单核性能提升幅度有限,频率有5G瓶颈,再高频率有电子隧道效应,功耗直线上升,稳定性下降;

2.单核在一时刻只能做一件事情,没办法让任务流起来,即使有指令流水线,也只是缩短了指令的平均执行周期,一个时刻仍旧最多只有一个指令被执行;

3.多核CPU可以让多个任务同时执行,软件优化后还可以让一个任务拆解在多个核心上运行,大大提高执行效率


啊欧阿呕


CPU就是中央处理器,用于各种数据运算。提高CPU运行效率的办法有两种:1、提高单核运行速率;2、把要运算的东西分发不同CPU去处理,降低时间片轮循。

其中,提高单核运行速率的方法,一是提高频率(本身频率高,或通过超频),频率越高,发热越大,能耗消耗大,现在讲究低能耗,这种方式不是很可取,二是提高纳米级工艺,这个就难度太大了,提高一点就是技术突破,通过这个方式没法满足市场的快速增长的需求。所以就剩下多核方式了。


分享到:


相關文章: