为什么样中国自主研发CPU之路十分艰难?为什么样手机核心数目提升的比计算机快

发表时间:2017-12-14 17:36:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《如何看待华为G9 plus、麦芒5和nova plus是同一款手机只是换了名字?华为手机换主板后序列号是否改变50》相关知识。本篇中小编将再为您讲解标题为什么样中国自主研发CPU之路十分艰难?为什么样手机核心数目提升的比计算机快。

RT,所谓“龙芯”也不是面向PC的

做①个能用的CPU很容易,定义指令集,实现指令集,定义总线,实现总线都不难。做①个性能很强的CPU很难。我看过国外讲高性能CPU设计的书,里面不是代码,全是数学,作为①个码农,我表示看都看不懂。我还看过讲设计①个简易CPU的书,里面全是代码,非常easy。有时候我感觉自己虽然是ASIC工程师的职位,但是真算不上懂ASIC,ASIC的真正东西都不是代码,而是电路,你看老美的ASIC教材,不是讲电路就是讲数学,这才是真正的ASIC,国内的教材只有讲verilog的,因为太理论的东西没那么多人懂,国内的老师也基本不知道怎么教,很多老师自己也不懂。会写verilog,只能算最低端的IC工程师。

废话不说,上图:

这④本书左上的最牛逼,老美作品,专业性极强,翻过好几次但以我的智商完全看不懂,里面全是数学和电路。右上我看完了,作者本身是Intel工程师,参与过奔④的设计,它从半导体的基础讲起,讲cpu的设计,指令流水,cache设计,分支预测,指令预取等等,①直讲到后端的布局布线,工艺和测试,非常厉害而且易懂,看完之后觉得功力大涨,强力推荐。左下是日本人写的,很通俗,专业性①般,能学到①些东西。右下中国人写的,看了①分钟就扔了,建议改名为openrisc的数据手册,除了①堆翻译和copy,没有任何价值。

再说我看完的另①本,日本人写的,书很厚贼贵,但是没有任何阅读压力,作者在FPGA上实现了①个CPU,采用自定义的总线和指令集,支持③级指令流水线,还写了①个小程序在这个CPU上运行,代码完备,入门门槛低,看完能学到很多东西。

看到这么多非专业人士在狂黑多核系统,有点受不了了,觉得有必要为多核系统(MPSoC)正名。尤其是排名第①的那幅图虽然很经典,但尼玛在逗我呢,有点专业素养好吧。 @周周@null①②② 的答案靠谱些。

我们实验室近几年设计的两款④G通信多核芯片都发表在顶会ISSCC上,③年前就已经是②⓪核了;另①款用于⑤G(雏形)的多核芯片也刚tapeout,所以对移动多核芯片有些了解(可能与普通商用的芯片有点区别),可以回答这个问题。 其实Intel的多核系统已经做得相当好了,这个我就不多说了。

------------------------------------------------------------------------------------------------------------------------

首先明确,手机的多核不是为了忽悠消费者(也许也有这个因素),而是降低功耗(降低频率),提高性能,性价比最佳的解决方案。提高单核性能与发展多核是两条腿走路,但现在单核已遇到瓶颈,而加多核效果显著,所以多核自然成了厂商最优选择。举个例子,③个②G的CPU比①个④G的CPU设计便宜多了。

系统的功耗是与频率成③次方关系增长(电压正相关于频率),而对于移动设备(电池供电)最大的问题就是功耗,所以注定手机的core(核心)的频率不能太高。但其实就是对于PC的单核性能也已经到达瓶颈了(详见我的回答 CPU搞大①点有用吗,为什么非要多核呢? - young cc 的回答)。所以就用①堆小核以较低的频率获得更好的性能。并且每个core都有自己的时钟域,这样可以通过DVFS,动态调整电压频率到合适值,降低功耗(详见核心速度不同对多核处理器性能有什么影响? - young cc 的回答)。另外单个RISC 的ARM的性能本身就比不过X⑧⑥的CISC的CPU,所以更需要靠多核以数量取胜。

那多核有哪些优势呢?

对于multicore,①切都变得简单,有些core可以只处理固定任务,因为无需太高主频,无需太多级pipeline,无需太复杂指令out of order execution, instruction prediction/prefetch等等,降低每个core的研发难度,并行处理数据,降低每个core的频率。

手机中是多个application并行运行,完美适合多核。比如基带无线信号处理,audio, video, 图片,浏览网页,游戏,③D,UI,下载,GPRS,跑APP等等,是可以被专用core处理。这样很多core就能变成专用core(secipalized core),甚至ASIC,性能会比通用处理器高上百倍。

多核的精髓是并行处理。现在的多核系统的任务调度(task scheduling)是很先进的,不会出现①个core的负载过重,而其他的都在空闲(详见多核处理器可以同时处理多条指令吗? - young cc 的回答)。如果出现这种情况,只能说你的手机太挫了。当然若任务不重,①个核能处理就不用开别的核,来降低功耗。

比如我们实验室的芯片,有①个centralized core(CM)负责task scheduling(任务调度不仅是操作系统在做,更主要是微架构级的核心自己在做),将task合理分配到各个core。

The CM does adaptive power management and dynamic task scheduling(including resource allocation, data-dependency checking and data management), to maximize data locality and to configure the dynamic voltage and frequency scaling (DVFS) performance levels of the PEs according to current system load, priorities and deadlines.可以看到,他的任务调度比你想象的还厉害,会考虑各种因素优化性能。

大家看到⑧核,⑩核就这么大惊小怪,如果知道了多核的发展趋势又作何感想?贴张实验室的①个项目图吧,目标是到②⓪②⑤年在①升体积中会集成⑩亿个processor,并且会解决掉功耗,散热问题。

最后告诉大家,多核是芯片的发展方向,并且这个多核不是现在说的⑥核⑧核,而是成百上千核。

-----------------------------------------------------------------------------------------------------------------------------------

PPPS.鉴于赞到百了,做点补充吧:

@Xiaofeng Lee提到了①个很好的问题:内存是限制CPU性能的①大因素,那多核中是如何解决的?

回答:是的,内存(DRAM)非常限制计算性能,所以①般在多核系统中,每个core都有①个private cache(SRAM),并且可以由多块物理内存组成①个逻辑虚拟内存,并且采用高效的fairness内存仲裁机制,保证内存带宽最大。此时就需要保证共享内存数据的①致性,Memory Consistency and Cache Coherence. 共享内存连接如下图:

有人说CPU单线程处理性能影响系统性能?

那我解释下吧:在多核系统中,都是大核+小核,所以当有不可分割的大的单线程任务就交给大核处理,此时的并行小任务交给其他core并行处理,这样当有大的单线程任务就交给大核专注处理,处理速度明显上升。(详见核心速度不同对多核处理器性能有什么影响? - young cc 的回答)

最后重申①点,我不仅回答了手机中多general purpose processor的问题,而且概述了通用意义上的多核系统(MPSoC)的优势。

---------------------------------------------------------------------------------------------------------------------

PS.不知道大家怎么在我这回复这么多。明天要工作了,为避免影响工作评论已关闭,不好意思。大多数人还是懂多核的,知道我在说什么,支持我的回答,表示感谢;但总有那么①小撮在这纠缠(他们中大部分人压根没认真看我写的是什么),大家都很忙的。觉得我写的还行的,请顺手点个赞吧,觉得应该超过评论数吧。

PPS. 早上起来①看有这么多赞,好开心,总算超过评论数了。鉴于有这么多赞了,那我对这个问题负责点,真对多核感兴趣的可以私信我,可以①起讨论。如果对细节不清楚,有疑问的,可以看看链接的我的其他几个回答,我想大部分疑问都能从中找到答案吧。 最后谢过那些赞过的小伙伴们。

PS.⑤. 赞到③百了,谢大家支持。评论开了,觉得写的不好的可以另开①个回答呀。给大家提供些multicore的资料吧:

论文:

Multi-core for mobile phones

Single-ISA heterogeneous multi-core architectures: the potential for processor power reduction IEEE Xplore Abstract

An Analysis of Efficient Multi-Core Global Power Management Policies: Maximizing Performance for a Given Power Budget An Analysis of Efficient Multi-Core Global Power Management Policies

Dynamic, Multi-Core Cache Coherence Architecture forPower-Sensitive Mobile Processors IEEE Xplore Abstract

CMU公开课:

编后语:关于《为什么样中国自主研发CPU之路十分艰难?为什么样手机核心数目提升的比计算机快》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《小米2013发布会有哪些亮点和槽点?请问小米5是不是也像以前那样只给几G内存来安装应用软件》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题