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

爱吃香蕉的小仙女






cpu做成一个强劲单核心是可行,只要频率够高,制作工艺够先进,高速缓存l1 l2 l3参数不低于 l1不低于8way 64k,不过单核心效率就算够高,都只能处理一件任务事情,而且达不到节能效果,发热方面高频u会比低频多核心cpu高,这是其一,其二因为单核心物理核心很容易使用达到百分之99,那么你要是多开个qq很容易造成系统未响应卡顿,相反你使用2个核心或者以上,因为其核心数量多,在处理器占用方面随之减少,那么这个时候你就可以做更多的下载之类任务,或者网游多开更多窗口,同时登陆多个帐号,这是为何处理器不向单核心高频率发展,而走向更多核心路线发展的原因,现在不管是amd 还是英特尔公司都往核心数量不断增多 就是有用户觉得以前处理器处理数据效率太低,不如现在多核心,所以2家公司都把核心数量推上8核心或者以上,处理器分为民用,商业用,国家监测国防部用,微软云端服务器,为了节能环保,达到低碳,2家公司都往多核心发展,而不是一直走高频路线就可以,线程数量也在不断增加。超线程效率比单线程效率高,何必只做1核心1处理器线程,给你研发个6ghz单核,它能使用范围也是很窄,要来什么用,所以不是单核心技术达不到超强效率,也不是技术做不到,而是无那个必要去实现浪费时间得益不明显。




后面我们来说说关于多核心存在的意义,存在即合理,那么为何要做那么多核心,而不是4核心呢,这个要从网游时代游戏多开说起,就我自己玩的网游剑灵,双开把amd fx8320 关闭核心到4个核心4个线程,此时处理器占用使用为89%,其次像一些使用格式化工厂转码类软件hd 1920x1080高分辨率转换下都会占满100% cpu及线程,日常4k视频转码



不在话下,虽然说当年snb处理器双核心4线程i3就能干翻fx 4300跟6300差不多持平这样的处境,问题是2160p硬解一个已经爆占满了占用100开始卡顿,fx 6300则没有,处理器多核心战未来,虽然路漫长但是已经是 如今的趋势, 不然英特尔不会把堆核心到10核心出现了i7 6950x,i9 9900k ,频率再高单核心再强,cpu资源抢夺厉害核心数小不足的地方,不利于大数据流处理,最终导致结果必然为以卡顿告终或处理器造成程序无响应,所以多核心发展出来意义非常之重大,尤其是服务器它的核心数量一般是民用2倍或者8倍多的核心,电脑真的不是只是用来玩游戏这一用途,你要明白,计算机它的用途很广,计算机主要工作还是以计算速度快慢为主要,32多核心处理器不但是跑分高那么简单,它的渲染速度都不是8核心能比较的因为它的核心数量多,速度是比8核心快4倍,再举个列子fx8跟翼龙x6 跑分差不多,核心数量只差2个,线程也是2个,但是跑r15浮点运算软件速度比较慢,x6可以花费1分钟才跑完,而fx8只需要45秒,这个时候就体现出多核心的价值了,现在锐龙8核心16线程比8核心8线程推土机渲染快2倍那么多,道理也是一样。


































玲奈爱柏木2


CPU的的单核性能有多重要,这个不用再重复了,但是CPU的单核性能可以无限增加下去吗?回答这个问题之前,先说一个小故事吧。很多年前VIA威盛还可以跟英特尔硬刚,那时候是Pentium 4时代,英特尔在CPU频率不断突破1GHz、2GHz、3GHz之后要做更高频率的CPU,放言称奔4频率上4GHz,后来就有了英特尔前任CEO巴瑞特下跪的一幕,因为英特尔在奔4时代并没有如承诺的那样推出4GHz高频的产品。

但是很多人不知道的是,4GHz并不是英特尔当时的最终目标,2001年的IDF会议上英特尔曾经表示奔4处理器可以上10GHz频率。如今18年过去了,这个目标一直都没实现,(硅基时代)可能永远都无法实现了。

这件事就能说明CPU频率不是想提升就提升的,奔4时代过去这么多年了,其实CPU的主流频率依然在4GHz左右,英特尔虽然在酷睿i7-8086K上首次实现官方5GHz频率,但绝大多数处理器日常使用的频率都没这么高,高负载下频率在4GHz出头就不错了。

制约单核性能超强的CPU出现的第一个问题就是频率无法大幅提升,而这个因素也跟现在的制程工艺有关,实质上是摩尔定律已经失效了,这个影响了半导体行业50年的金科玉律随着硅基芯片物理极限的到来已经失效了,从28nm节点之后其实就没有带来很大的性能改进了,而且功耗问题也越来越严重。

大家都知道理论上制程工艺越先进(制程数字越小),CPU性能会更高,功耗、发热会更低,但是实际上这个问题很复杂,CPU的功耗可以分为静态功耗(Static Power)及动态功耗(Dynamic Power),前者主要是漏电流引起的,制程越先进,漏电流又有增加的趋势,而动态功耗可以用1/2*CV2F这个公式来计算,F频率越高,动态功耗就越高。

为了上更高的频率,电压增加不可避免,但电压高了功耗也高了,总之静态功耗、动态功耗的存在就决定了CPU频率越高,功耗就会极速增加,将会严重影响处理器的性能表现,因为要降频。

说到这一点,英特尔的14nm工艺虽然被人调侃挤牙膏,但从技术上来说真的很牛了,从Skylake架构的第一代14nm到现在Coffee Lake的14nm++工艺,性能提升26%,或者功耗降低52%,在不改变基本结构的情况下这个成绩很难得。

制程工艺的放缓导致CPU频率不可能大幅提升,有很多人会想到那么有没有非常牛的CPU架构让IPC性能大幅提升呢?理论上这种思路是可以的,但是现实很残酷,CPU架构还是要服从半导体工艺物理定律的,没有先进的工艺,再好的CPU架构也不可能实现。

此外,即便不考虑工艺对CPU架构的影响,单纯说CPU架构的话,不论是X86还是ARM架构,在64位时代CPU单元不外乎就是ALU单元、缓存、I/O等子单元, 但是不论提升那部分单元,归根到底还是要算到晶体管数量上来,还要考虑提升导致的成本——这个成本不只是钱的问题,比如提升L1/L2/L3缓存可以提高性能,但是缓存占用的核心面积很大,而且还有命中率及命中惩罚的问题,不是随便加加单元就行的。

此外,CPU的内部还可以分为整数部分、浮点部分,前者对日常使用很重要,浮点性能对计算更重要,但CPU的浮点性能并不是日常所需的,所以大家普遍感觉不到这部分的提升。

支持AVX512的酷睿i9-7900X浮点性能提升很大

公平地说,近年来CPU浮点单元的进步是符合题目所说的单核超强的要求的,因为从SSE到AVX到AVX2再到最新的AVX-512,CPU浮点性能是有大幅提升的。如英特尔所说:“借助多达两个512位融合乘加 (FMA) 单元,应用程序在512位矢量内的每个时钟周期每秒可打包32次双精度和64次单精度浮点运算,以及八个64位和十六个32位整数。因此,与英特尔高级矢量扩展 2.0(英特尔 AVX2)相比,数据寄存器的宽度、数量以及FMA单元的宽度都增加了一倍。”

但是前面也说了,CPU的浮点性能不是日常所需的,整数性能更加重要一些,但是整数单元性能提升就没这么明显了,导致很多人以为CPU架构多年来挤牙膏。


超能网


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

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

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

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

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

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

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

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

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


48中的天使


不是不行,intel和amd一直都在这样做。任何一个公司都想提高单核性能。

但是现实的情况是,在一定制程内,保证单核核心面积情况下,要保证晶体管数目最大化,要保证发热与功耗情况,要保证单核性能最大化。

为什么要有前提?因为但核心做的太大要占用昂贵的晶体管成本也就是晶圆成本,如今的程序都向多线程发展。那么要求cpu也是多核心的。这一点短期内不会改变,因为软件公司要比cpu公司多几万倍甚至几百万倍,当cpu恢复单核心结构,软件公司也要放弃多线程优化回到从前的单线程优化。显然这是不可能的。在可以遇见的未来,cpu还是会朝向更多核心发展。

因此在寸土寸金的晶圆上要尽量提高一定面积的单核心性能,这样凑出来的预算多核心才不会面积超标,发热超标,功耗超标。


负石


当然可以,而且会越做越好。但是根据摩尔定律,那么单核产品的价格会不断的降低那样厂商就没法赚钱了,其实多核也没有提高多少性能和成本,反而让商家有了更多的利润,这是一种商业行为而不是科技行为,商家不会把生意做得越来越便宜那样不符合商人的特质。


彭洁林


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

...

计算机处理器有个参数叫频率...什么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


多核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是大势所趋。


嘟嘟聊数码


多核成为主流并不是没有道理的。

一,多任务处理。

单核CPU多任务处理靠的是任务中断,时间中断多任务分时处理,队列任务处理。

任务中断处理是指那些需要立即处理的任务,能过中断请求强行让CPU跳出正在处理的任务来优先处理有中断请求的任务,任务完成后再反回到中断点继续运行刚未完成的任务。

时间中断多任务分时处理是指那些有时间周期要求精准的任务,有周期性规率任务。

普通任务,普通的任务CPU会以先到先处理的列表任务模式运算。

CPU的时钟频率做不到无休止提升,总会有一个瓶径,越大越复杂越强大的CPU相对时钟频率越难做高。

二,电子延迟。

当CPU的核心面积越大,电子传送延时越大。CPU是由非常多的门电路并行运行的,所以电子延时的相位角度如果超过45度,那么门电路的工作可能就处于失步了,一但失步数据就会出错,所以主板上各总线都必须使用等长线来减少相位角畸变而造成时钟失步。

举个例,时钟频率为1G,那么时钟波长为接近300mm左右,对于只有10几毫米*10几毫米的核心尺寸影响不大。但当时钟频率为5G时,波长为60mm左右,45度相位角差不多是1/8波长,为7.5mm波长,这个尺寸对于核心尺寸来说,已经是致命的错误了。

三,多核心任务处理

CPU多核心任务处理可以将不同的独立任务分配给不同的CPU核心处理,这样一来就可以大大减少任务中断和任务排队的问题。这样可以大量处理异步运算任务。

再举个例,高速路的进出口如果是一个的话,所有车辆就必须排队,然后特别车辆优先通行,你没有特别通行证你就得在后面等。多核心CPU就是多进出通道,免费通道,ETC通道,绿色通道,货车通道小客车通道等~~这样通行效率就会非常高。

所以CPU还是多个小核芯高频率时钟为主流。

当然这需要系统的支持,系统的任务分配得好,运行效率就高。

四,CPU功耗与工艺。

CPU功耗基本可以理解为时钟频率*芯片面积。因为芯片所有的晶体管都有结间寄生电容效应。所以把芯片看成一个电容器,时钟频率越高,电容充放电越频繁,所以功耗就越高。

CPU要提高工作频率最直接的方法是提升加工工艺,减少晶体管的面积,让CPU处理核芯尺寸尽可以的小,核芯越小距离越短,距离正短支持的频率就越高。时钟频率能上去处理速度也成正比增加。

非专业解释,就这样吧。


亚热带老企鹅


这个不行的,或者说,也可以,但是基本不具备实用性且毫无意义。为什么呢?这就要说到很久以前了,当年,第一代i7 CPU大放异彩的时候,Intel有个高管在一个会议还是什么高端场合上各种嘚瑟,他在嘚瑟i7变态的性能的时候就说到了工艺和架构方面的东西,说为什么要追求架构和工艺地位革新,他拿i7 920还是哪个型号忘了举例,如果按照以前的工艺和架构也可以做到i7 920的性能,但是芯片面积将会有16开的一张纸那么大,且发热可以用恐怖来形容,基本上基本上没有任何使用价值了(脑补那画面,散热器可能要重十几二十斤,主板的面积应该是以平方米的单位来计算了)。之所以会这样,其实就是说,在考虑正常的,实用的,健康发展的前提下,任何架构和工艺都有相应的物理极限,这使得单纯提升单核心的性能变得不可能,它总会达到上限的。而极具性价比和可持续发展且可以大幅节约成本的方案,那就是多核。多核虽然需要软件适配,但是不管从哪个方面来看,这明显比超级单核方案靠谱多了。


城市风云儿


这么说吧,一个加工中心,有个分开的原料仓库,用一辆10吨大卡车运材料,运一次可以满足一天生产。后来产能提升,品种有多了,又在不同地点造了几个仓库,这时要满足生产要么原来的车加快速度不停的运(加快频率),要么买个50吨的车,每个原料还是每天运一次,运一次管几天(加强单核运算能力),还要么换几台5吨的,分开运不同仓库(多核)。

那么问题来了,在同时生产多个产品,且产量都不高,而且生产仓库分散的情况下是用一个50吨的车来运,还是用几个5吨的车来运合算?

所以单核强劲固然好,但往往运用时更多时候要同时处理几个任务,这样多核更适用。

苹果单核强劲,那是因为苹果都是单线程处理的,不像安卓后台会挂一大堆进程


分享到:


相關文章: