From: http://laoyaoba.com/ss6/html/68/n-505768.html

2014年国产ARM SoC芯片巡礼(上)

关注“集微网”,微信点播新闻、随要随有

来源: 《微型计算机》   发布者:《微型计算机》
热度24票   【共0条评论】【我要评论】 时间:2014年8月30日 05:16

在PC时代,国内厂商无法获得诸如CPU、GPU这类核心产品的发展空间,但是在移动计算时代,手机、平板中却不乏国产SoC芯片。在2014年,国内主 流厂商的ARM SoC更是与时俱进,出现了很多无论在功耗还是性能上都堪称优秀的产品。由于产品较多,本期我们先重点介绍华为海思麒麟系列芯片,之后还将解析瑞芯微、全 智、联发科等厂商的全新产品。

国内ARM
SoC芯片产业起步并不晚,很多国内厂商都在制造ARM架构的单片机、多媒体设备以及其他行业设备。随着移动计算时代的来临,国内厂商纷纷涉足针对手机、
平板等设备的SoC芯片。这其中,华为、瑞芯微、全志以及来自中国台湾省的联发科,联合筑起了一道反击国外产品的钢铁长城。

华为:踏着希望而来的“麒麟”


为在SoC芯片上的发展一直非常坚定,这一点从它对被大家称为“祖传海思”的K3V2的使用上就可以看出,华为宁可使用这样一颗较老的产品在新的手机上,
也不愿意更换同期各方面更强大的芯片。这样做的目的也很明确:即使自己的技术暂时落后,也不能放弃一条已经成熟的产品线,至少得有人用,才可能有发展、有
希望。为了改变在SoC芯片上的劣势,华为在2014年布局了全新的产品。这也就是代号为“Kirin”的全新麒麟系列处理器。


华为K3V2芯片,虽然被玩家吐槽,但不得不说它成功地开启了华为的SoC时代。


起麒麟,就不得不提到海思K3V2,这颗芯片实际上是全球首款四核心ARM SoC,其正式亮相时间比NVIDIA的Tegra
3早了一天。不过由于工艺、制程以及技术调配方面的原因,等到搭载海思K3V2的手机上市,市场上已经遍布四核心手机了,华为的先发优势没有得到体现。此
外K3V2还存在着一些问题:首先是制程落后,40nm制程在这颗SoC漫长的使用时间中已经远远落后于其竞争对手,发热量大并且频率不易提升,华为也一
直没有将它升级到28nm以及更新的制程。其次,K3V2的GPU模块使用了体积最小、效率最高但是非常少见的Vivante
GC4000,这使得K3V2拿下了业界最小四核心处理器的名头,但是Vivante的兼容性不佳,早期K3V2对游戏的兼容性实在不能令人满意。


然海思K3V2存在这样那样的缺陷,但在自家的高端手机上,华为一直坚持使用海思K3V2搭配霸龙通讯基带。凭借华为强大的渠道实力,它终于还是闯出了一
片天地。在两三年的时间中,别家处理器至少进步了一代甚至两代,但是华为还是在用海思K3V2。好在华为在这么长的时间中没有懈怠,而是一直在“憋大
招”。2014年,随着麒麟系列的发布,华为海思麒麟910和麒麟920终于来到我们面前。

定位主流市场:麒麟910
代号为麒麟
910的系列SoC定位主流,主打千元级市场。首先来看制程,麒麟910的工艺终于升级到了28nm,由台积电代工。在台积电的四种28nm工艺中,除了
28nm HP是面向高性能产品之外,还有比较少见的28nm HPL,高性价比但是效能较差的28nm LP,综合性能最优秀同时也是最贵的28nm
HPM—三种面向低功耗产品的工艺。麒麟910不负众望地使用了最优秀的28nm HPM,这也是目前高通骁龙801、NVIDIA Tegra
K1等顶级SoC所使用的工艺,具有漏电率低,频率表现出色等特点。从已知的测试情况来看,麒麟910的发热和耗电情况还不错,相比上代海思处理器有了长
足进步。


麒麟910集成了华为LTE基带和Mali-450 GPU,进步显著。


然工艺有所进步,但是华为在核心架构方面并没有盲目跃进。在CPU模块方面,麒麟910采用了ARM
Crotex-A9r4的四核心配置,相比最早的Crotex-A9r1以及Crotex-A9r2版本,新的Crotex-A9r4加入了针对存储设备
的管理以及增强的指令跳转预测,在功耗控制方面也提供一些更为精确有效的节能功能。在28nm工艺下,Crotex-A9r4最高频率可以达到
2.3GHz。根据ARM的官方资料,Crotex-A9r4在2.3GHz下相比早期的1GHz
Crotex-A9,性能最高可以达到后者的3倍以上。


Cortex-A9r4相比之前的版本性能有明显提升。


完了CPU,再来看看GPU。相比之前海思处理器采用小众的Vivante,麒麟910终于“主流”了一把,ARM官方的Mali-450MP4
GPU的加入使得麒麟910在游戏兼容性上不会再有问题。Mali-450是ARM之前Mali-400的升级版本,支持OpenGL
ES2.0,并支持多核心配置。麒麟910使用的是四核心配置方案。从市场角度来看,使用Mali-450和Mali-400系列产品的厂商非常多,包括
三星、联发科,尤其是联发科推出的八核心处理器MT6592同样使用了Mali-450MP4。不过,虽然兼容性问题得以解决,但是Mali-450本身
技术规格较为老旧,尤其是无法支持OpenGL ES 3.0,这也和其市场定位直接相关。


Mali-450虽然架构较老并且只能支持OpenGL ES 2.0,但是却依靠极为出色的性能功耗比,成为主流市场的最佳选择之一。


内存配置方面,麒麟910只设计了单通道内存控制器,但最高可以支持到LPDDR3
1600,内存带宽为6.4GB/s。这也是目前主流市场的标准内存规格,对1280×720以及1920×1080分辨率的产品来说还是够用了。其他功
能方面,麒麟910宣称使用了Tensilika HiFi12音频芯片,可以实现高质量的音频输出,不过暂时没有太多资料披露。
此外,为了加强
麒麟910的竞争力,华为没有像之前的产品那样,将基带芯片和应用处理器分开设计,而是将其整合在了一起。这样做可以有效减小芯片面积,降低产品设计难
度。麒麟910中加入了华为霸龙系列五模全频段基带,支持目前几乎所有制式的2G、3G、4G网络,尤其是支持LTE Cat4 150Mb/s
4G网络,是目前主流市场上少有现货出售的支持4G规格的产品。

型号方面,麒麟910目前分为两个版本,其中标准版麒麟910的CPU频
率为1.6GHz,GPU频率不详。加强版麒麟910T的CPU频率达到了1.8GHz,GPU频率也应该会随之提升。实际上从台积电28nm
HPM工艺本身来看,麒麟910的频率应该还会更高,至少达到2GHz不成问题,不知道华为是否在设计上遇到了某些难题亦或其他方面的因素使得频率无法进
一步提升,目前这一切还不得而知。

性能方面,麒麟910的性能测试表现在预料之中,基本上达到了去年中高端SoC的水平。比如在流行的
《安兔兔测试》中,麒麟910的成绩大约在24000~26000分左右,和高通骁龙600,以及目前比较流行的八核心产品MT6952基本上处于相当的
水平。尤其值得一提的是麒麟910使用的Cortex-A9r4核心,本身单核心性能要领先目前中低端产品常见的Cortex-A7不少,因此在实际使用
中,虽然麒麟910只有四个核心,但实际感受应该会比采用更多核心的Cortex-A7处理器要好,这也是其设计特色所决定的。此外,麒麟910的3D性
能要比同样采用Mali-450 GPU的MTK 6592更为出色,因此在运行大型游戏时应该有更为流畅的使用体验。

总的来看,麒麟910是一款定位明确、性能出色、规格强大的产品,尤其是华为在基带上的优势,使得麒麟910在4G大潮中抢得了先机,产品大卖应该不是难题。

出击高端市场:麒麟920系列

实华为今年的宣传重点并非麒麟910,而是更为高端的麒麟920。对用户来说,高端产品和顶级技术所带来的宣传效应是任何产品推广都无法企及的。之前华为
只有海思处理器,因此对技术和性能避而不谈,只是谈设计、谈应用。本次华为在拥有了麒麟920这样的高端产品后,终于开始大张旗鼓地宣传自己在芯片研发上
的技术实力了。

在详细介绍麒麟920之前,先来看看这颗SoC的具体规格。

麒麟920是一颗支持ARM
big.LITTLE大小核搭配技术的处理器。麒麟920的CPU部分使用了四个Cortex-A15搭配四个Cortex-A7,GPU部分使用了
Mali-T628MP4,支持OpenGL ES3.0。此外,麒麟920集成了目前最先进的五模全频基带,它还最先在实际产品上支持了LTE
Cat6 300Mb/s 4G规格。

简单的一段介绍后,可能资深一些的读者已经对它产生兴趣了,那么本文就来详细介绍一下。


华为在发布会上展示的麒麟910和麒麟920信息。


国外媒体发布的三星Exynos 5410照片,Exynos 5410的八个核心是每四个为一组绑定的。

真正有意义的八核心设计


前的移动SoC市场中,八核心的产品还是很多的。比如三星的Exynos
5410、联发科的MT6952,都是货真价实的八核心设计。尤其是联发科,还特别强调自己的八个Cortex-A7核心可以同时运行,是真八核设计。那
么,在这么多八核心处理器面前,为什么要强调麒麟920是真正有意义的八核心设计呢?为了解答这个问题,先来看看三星和联发科的八核心是如何工作的。


星在GALAXY S4等手机上使用的的八核心处理器型号为Exynos
5410,这款处理器使用了ARM推出的big.LITTLE大小核技术,组成了4+4的八核心方案。不过三星这款处理器推出时间比较早,因此部分技术特
性不够成熟。简单来说,三星的八核心是以四个大核心(Cortex-A15)为一组、四个小核心(Cortex-A7)为另外一组来设计,这两组核心中的
大核心和小核心组成了对应关系:当大核心使用时,小核心不启用,当小核心使用时,大核心不启用。这样一来,在同时间内三星的八核心处理器最多只有四个核心
在工作,至少有四个核心在休眠。出现这种情况的原因是ARM初代的big.LITTLE技术规范所致。big.LITTLE技术的根本目的在于使用高性能
高功耗的大核心和低性能低功耗的小核心搭配使用,在不同的任务和应用环境下恰当地启用高性能或者低功耗核心,从而实现最为出色的性能功耗比。因此一个大核
心一个小核心一对一配对使用是达到这一目的的最好方法。这也使得部分人质疑三星的产品属于“伪八核”。


麒麟920采用更先进的big.LITTLE技术,四个大核心和四个小核心按需分配,效率更高。


比之下,联发科的MT6592也是八核心处理器,但是它的八个核心是可以同时启用的。联发科在设计MT6592时,使用了四个低性能低功耗的
Cortex-A7核心为一组,一共设置了两组核心,并将其挂接在一条总线上。准确来说,MT6952更像是一个“双四核心”处理器,虽然它的八个核心能
够同时启用。

三星的初代big.LITTLE技术虽然很好地完成了ARM设想中提高性能功耗比的设计,但是其技术略显死板,很大一部分晶
体管在休眠时被浪费,整体系统性能也无法继续提高。联发科的设计虽然能够达到物理八核心,但是Cortex-A7这样的低性能核心就算再多,也难以掩盖较
低的单线程性能导致的应用劣势,毕竟目前双核心优化尚在进行中,四核心甚至更多核心的运作优化依旧是纸上谈兵。

为了解决这个问题,ARM
又对big.LITTLE技术进行了一些改进。在新的big.LITTLE技术中,核心不会被一一捆绑,所有的大核心和小核心以相等地位挂接在一条总线
上,big.LITTLE加入了调控技术,它配合系统来实现对大小核心的调节:在高性能应用登场时使用大核心提供充足的性能,在较低性能应用启动以及后台
进程开启时使用小核心来满足需求。这样的big.LITTLE技术更为灵活、有效,是真正有意义的八核心设计方案。

华为在发布会上介绍麒麟920。



华为在发布会上介绍麒麟920。


为分析了用户应用模式,在华为的数据中,桌面应用、微信、网购、3D游戏、电话、视频、社交软件、网页浏览等应用是用户的主要应用需求,这些应用中的绝大
部分都不会要求处理器运行在最高状态。以微信为例,在绝大部分时间中,微信只需要Cortex-A7核心即可满足,很少会调用到Cortex-A15这样
的大核心。与此类似的还有微博、网页浏览、小游戏、收发邮件、应用下载等。一些真正对性能有需求的应用比如拍照、大型3D游戏、跑分等其实应用时间并不算
多。

因此,华为在设计麒麟920时,着重考虑了各种应用下对性能的需求以及硬件本身的功耗、性能情况,最终决定采用最新的
big.LITTLE技术实现性能和功耗的最佳化。华为称这项技术为Global Task
Scheduling全局任务调度,简称为GST。GST技术可以将8个CPU核心视作调度资源,根据应用场景的不同而自动启用不同的核心,这个过程是完
全自动的,不需要用户控制,八个核心可以同时工作,是最高效的八核心设计方案。目前有关麒麟920的频率运行数据是:麒麟920的Cortex-A15核
心主频会在800MHz到1.7GHz之间浮动,而Cortex-A7核心会在300MHz~1.3GHz之间浮动。两类核心如果存在任务切换的话,那么
当Cortex-A7核心频率达到1.3GHz后,系统会将任务切换至强大的Cortex-A15核心上来;与此类似,当任务完成,Cortex-A15
核心降频至800MHz后,系统又会切换到Cortex-A7核心,并视情况继续降低频率。

从目前的情况来看,麒麟920对big.LITTLE的设计和应用还是相当成功的,其大小核心的切换非常智能、迅速。无论是相比三星Exynos 5410还是联发科MT6592,麒麟920在性能和能耗表现上都更胜一筹。


了新一代big.LITTLE技术的应用外,麒麟920在制程工艺上也有一定创新。在麒麟920上,华为通过和台积电的深入合作以及对Cortex-
A15架构的改进,实现了在同为28nm
HPM工艺下,其相比标准的Cortex-A15核心20%以上的能耗比优势,缓解了Cortex-A15核心高功耗的劣势。华为表示自己优化的L1和
L2缓存SRAM电路漏电大幅度降低,采用了28nm HPM 10
track标准单元库,使用了特殊的低功耗实现策略,前后经历了五个月时间的调试,40多次的PKG/SI迭代设计等。在其余规格方面比如内存带宽,麒麟
920设计了双通道LPDDR3内存控制器,最大内存带宽为12.8GB/s,也是目前高端SoC的标准配置。总之,从华为的宣传以及目前实际产品来看,
麒麟920的表现还是基本符合预期的,这也使得华为从以往人们印象中主要生产中低端SoC的厂商一跃成为能够叫板顶级芯片设计厂商的一员。

新一代的GPU方案


了CPU模块外,麒麟920的GPU模块也同样值得人们关注。和之前的麒麟910一样,华为在GPU模块上也没有“出格之举”,而是老老实实地采用了
ARM官方的Mali-T628MP4四模块GPU。有关Mali-T628想必大家已经非常熟悉了,这款GPU也被三星用在最新的Exynos
5420中,不过三星使用的是六模块Mali-T628MP6,性能比麒麟920的四模块版本更为出色。

从规格上来看,Mali-
T628支持的规格非常齐全,包括OpenGL ES 1.1、OpenGL ES 2.0、OpenGL ES 3.0、DirectX
9、DirectX 11、OpenCL
1.1等诸多规格。兼容性方面根据华为的测试,麒麟920可以完美运行目前最流行的前100款移动游戏中的95%,相比海思K3V2来说这几乎是革命性的
改进。综合测试数据,Mali-T628MP4的性能大约能达到苹果A7所采用的PowerVR
G6430的60~70%,相比高通骁龙801,也达到了它的70%左右。虽然算不上顶尖,但考虑其性能和功耗等参数,这样的表现还是不错的。


了GPU部分性能相比上代大幅度跃进外,麒麟920还能完全支持H.265硬件解码。H.265主要是针对4K超清视频而设计的新编码格式,压缩比更高同
时编解码负荷也更重。目前主流SoC中能够支持H.265解码的产品并不多,而支持硬件H.265解码的就更少了。麒麟920在解码能力上的优势,使它能
够被应用在更为广泛的产品中。
此外,麒麟920还能够支持目前市场上最常见的视频格式,包括MP4、MKV、AVI、FLV、RMVB。同时,它还能硬解码H.264、VC-1、RV-40等不同编码格式的视频,堪称全能解码。在音频方面,麒麟920能够支持MP3、AAC、WMA等音频格式。


麒麟920采用了Mali-T628,这颗GPU最大可以支持8个着色器核心配置,华为采用了比较常见的四核配置。

融合全球首款LTE Cat6基带

在上文介绍麒麟910时,曾经提到过华为已经将基带和芯片集成在一起,使之成为一颗真正意义上带有通讯收发功能的全功能移动SoC芯片,在之前,这样的产品只多见于高通这样的龙头企业,其他诸如三星、英特尔、苹果、英伟达基本都使用的是没有封装基带的SoC芯片。


华为在发布会上着重介绍了自己的全球首款支持LET CAT6规格的基带。


为在麒麟910上使用了一颗支持五模全频的基带模块,在麒麟920上更是一步到位,在支持五模全频的基础上,进一步支持到了目前最新的LTE
Cat6规格,这也是全球首款实际销售的支持LTE Cat6的SoC芯片和基带产品。LTE Cat6相比LTE
Cat4,传输速度从之前的150Mb/s跃升至300Mb/s,并同时支持4G规范中的FDD和TDD(其中TDD最高支持220Mb/s),堪称目前
速度最快、最为强悍的基带模块。


华为最新的荣耀6手机采用了麒麟920。

在华为麒麟920发布后,华为终于彻底完成了SoC设计上的最后一环,包括CPU、GPU、视频编解码模块、音频、内存控制器、显示等功能模块。可以说,华为已经完成了产业研发和整合,成为一个研发能力齐全,能够和高通等世界级厂商展开竞争的企业。

本期对华为海思麒麟系列芯片的介绍暂时就到这里。作为国内最大的信息技术、IT企业之一,华为在技术上的创新和不懈努力的确令人敬佩。在下一期的文章中,我们还将为大家介绍国内厂商诸如联发科、瑞芯微、全志的最新芯片,我们不见不散!

Latest SoC的更多相关文章

  1. Work around by " Due to heavy load, the latest workflow operation has been queued. " 分类: Sharepoint 2015-07-08 00:19 3人阅读 评论(0) 收藏

    I hope most of the users and developers might have come across above note and worried about it. Ther ...

  2. SOC芯片的FPGA原型验证

    FPGA验证在SOC设计非常重要,一般而言,做一些RAM和FIFO的替换以及相应代码转换.具体分下面几步: 1 替换RAM,FIFO和时钟 RAM和FIFO控制器需要RAM的接口都放在了设计顶层,方便 ...

  3. 我所理解的SoC

    前阵子出去找工作,有的人不太理解,你们SoC有什么可做的,不就是找几个IP来搭积木嘛.你那个FPGA prototyping有什么可做的,不就是编一个镜像嘛. 正好,新项目,重新开始做一颗SoC.接下 ...

  4. Altera SoC与Matlab的联合---第一步 软件安装与硬件测试

    参考设计:http://cn.mathworks.com/help/hdlcoder/examples/getting-started-with-hardware-software-codesign- ...

  5. Latest node.js & npm installation on Ubuntu 12.04

    转自:https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/ Compiling is way to go for many b ...

  6. APK Downgrade Method working fine on LINE latest version 6.7.1

    Line is one of the most popular messaging Apps, especially in Asia. On March 3 I downgraded the app ...

  7. Solve: Your project references the latest version of Entity Framework (for MySQL) in Visual Studio 2013

    The error message while trying to create a ADO.net Entity Data Model ( Entity Framework 6 ) for MySq ...

  8. Try out the latest C++ compiler toolset without waiting for the next update of Visual Studio

    Updated 22/Apr/2016: The NuGet package is now being uploaded daily. The payload doesn’t change every ...

  9. altera soc体验之旅 FPGA与ARM的窃窃私语

      喜大普奔,公司要评估用SOC做产品,我就自然而然的被安排了学习和评估的工作,于是,每天的工作就是开始研究soc了.其实,只要能静下心来学习,一切都还是能够弄出来的. 以前像个无头苍蝇一样到处乱撞, ...

随机推荐

  1. rpm命令-以jenkins为例

    1.列出所有安装的Jenkins rpm -qa | grep jenkins 2.软件是否安装:例如:jenkins是否安装 rpm -qa | grep jenkins 3.rpm -ql 列出软 ...

  2. Hibernate 环境配置和依赖添加(使用java web和普通javaSE工程)

    1.Hibernate依赖包的添加 File---->Project Structure,按照如图所示操作,导入所依赖的jar包. 2.生成hibernate.hbm.xml的配置文件 (1)点 ...

  3. Android 给app加入百度地图

    1.获取sha1值 (1)win+R进入cmd窗口 (2)输入以下代码 C:\SoftApplication\javajdk\jdk1.8.0_151\bin>keytool -list -v ...

  4. Android 滚动视图(ScollView)

    1.介绍 2.使用技巧 3.xml文件代码 <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  5. 洛谷 P3205 [HNOI2010]合唱队

    题目链接 题解 区间dp \(f[i][j]\)表示i~j区间最后一次插入的是\(a[i]\) \(g[i][j]\)表示i~j区间最后一次插入的是\(a[j]\) 然后就是普通区间dp转移 Code ...

  6. webApi的控制台服务

    1.新建console项目,引用 下面包 2.新建Controller public class UserController : ApiController { public IEnumerable ...

  7. 玩转微信2次开发1_交互通信api.php(微擎版)

    在2次开发中,涉及到比较多的也比较繁琐的就是服务器和微信服务器的交互 用户在公众号里操作回复关键词都会让微信服务器和开发者的服务器进行交互 用户一旦关注了某某公众号--微信后台会去查询该公众号是否连接 ...

  8. JS 克隆Object.prototype.Clone

    我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望函数去修改我们的这些对象参数,这就需要使用到对象的克隆,我们 ...

  9. javascript 中typeOf

    JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据. typeof 可以用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' --- 这个值未定义: 2. 'bool ...

  10. my31_MGR单写模式压测以及对比普通从库记录

    场景MGR单写模式三节点,db46写节点,db47/db48为读节点工具sysbencn.压测15个小时,db46上18线程纯写,12线程oltp混合测试,db48上12线程select在压测2个小时 ...