1990年11月27日,英国剑桥有一家叫做Advanced RISC Machines (ARM)的公司成立。这家从Acorn和Apple Computer的合资公司独立出来的企业,在成立三年后推出了ARM7架构,间接推动了九十年代的手机热潮,并开启了专注于指令集和架构的授权经营方式。
时至25年后的今日,可能连ARM公司的创始人也没想到,该公司能够取得现在的成就。截止到2015年第三季度,基于ARM架构的全球出货量超过750亿,且ARM架构在85%的智能移动设备中得到应用,尤其是在我们熟悉的智能手机领域,有95%的设备用的都是基于ARM架构设计的处理器。
这些成绩归功于其上千家合作伙伴和其独特的商业模式。ARM公司的产品并不是芯片,而是半导体知识产权(IP),通过授权的模式向芯片公司或硬件系统厂商提供ARM先进的IP技术,并收取授权厂商的授权费。厂商在获得这些IP后,则可以进行芯片设计与开发。并在出货以后交付相关版权税。
在过去嵌入式设备和移动设备高速发展的日子里,ARM公司凭借其优质的设计,通过IP授权的模式获得了可观的利润和增长率,,而在如今物联网爆发的大环境下,ARM公司也厉兵秣马,用全新的产品、技术和模式切入新市场,卡位下一波成长机会。
满足物联网需求的Mali-470
ARM公司丰富的IP产品中,GPU IP是其重要的组成部分,根据ARM公司的数据显示,截止2014年,基于ARM Mali的GPU芯片全球出货量超过5.5亿,这些产品应用在75%的数字电视、超过50%的安卓平板电脑和超过35%的智能手机。而在面向上万亿的物联网市场,ARM新推出了GPU产品Mali-470,新产品是专门针对物联网和可穿戴市场而设计的。
Mali-470相关参数
据ARM多媒体处理器事业部市场营销副总裁Dennis Laudick介绍,和前一代产品Mali-400相比,Mali-470要在节能性方面进行了优化,其功耗大约只有前者的一半,能效提高两倍。另外,Mali-470针对屏幕分辨率优化能效,单核心配置可达640x640屏幕分辨率,多核心配置则可达更高分辨率,在提高画面帧频并改善整体即时响应能力的同时,降低芯片成本。芯片尺寸比Mali-400缩小10%。这也使其更适合被那些电池容量和散热能力有限的设备使用,比如可穿戴设备。而在性能方面,Mali-470维持在了和Mali-400相同的水平,也就是说其节能性的提升并非是以牺牲性能而获得的。
“目前大多数的Android、Android Wear和其他新兴系统均采用了OpenGL ES2.0应用程序接口和驱动栈,而OpenGL ES2.0也的确可以让用户界面可以在像素控制和能效之间取得理想的平衡,因此Mali-470用的也是OpenGL ES2.0 标准。”Dennis Laudick说。
现代GPU的使用一般是和CPU搭配设计,而ARM同时作为出货量巨大的CPU和GPU IP厂商,在Mali-470和CPU IP的搭配上有什么要求呢?
Dennis Laudick表示,Mali-470可在低功耗芯片上与同样主打节能性的Cortex-A7或A53处理器设计配合工作。同时还支持一核到四核的多种搭配。
在人们对可穿戴显示日益增加的前提下,首款搭载此GPU的设备预计将于2016年底推出,这将会是ARM在物联网市场攻城拔寨的重要棋子。
基于ARMv8-A架构的Cortex A35处理器
在介绍这个新产品之前,我们先要了解一下什么是架构。所谓的架构就是“指令集体系结构”,我们平常说的ARMv8、ARMv7-A、ARMv6等都是ARM设计的一些RISC指令集。而所谓指令集体系结构就是ARM公司推出的一整套的精简指令,它是计算机最低层的命令,比如说应用程序需要从内存读取数据,那么最后就是通过调用ARM设计的指令是实现内存读取。
Cortex A35基本介绍
ARM公司最新的ARM-v8-A架构是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经突破了我们们对ARM架构的传统认知。而新架构对处理器的提升也是明显的,新推出Cortex A35处理器就可以完全体现其特性。
ARM处理器部门市场营销总监Ian Smythe表示,Cortex-A35是其有史以来能效最高的处理器,还具备ARMv8-A架构所具有的软件成熟性和64位运算性能。而其目标功耗不超过125毫瓦,而且已经在28nm工艺、1GHz频率下做到了90毫瓦。如果采用16/14nm工艺的话,可以在保持功耗不变甚至更低的前提下,轻松超过2GHz。但一般来说厂商会以 28nm 制程为主,因为这是性价比的最佳节点。
作为 ARM Cortex-A7 的继任者,Cortex-A35不但拥有Cortex-A7处理器的功耗水平和ARM big.LITTLE™多核可配置性,还具备ARMv8-A架构所具有的软件成熟性和64位运算性能。ARM 有着更佳的功耗以及性能表现,其中平均性能与效率部分可以提升 20%。
而与Cortex-A53相比,Cortex-A35可以保留80-100%的性能,但是功耗降低32%、面积缩小25%,能效提升25%。Cortex-A35可以和Cortex-A53、Cortex-A57、Cortex-A72等大核心搭配,组成big.LITTLE混合架构系统,进一步提升系统能效。
这些优越的性能来自于其精妙的设计,Cortex-A35在架构上和Cortex-A53、Cortex-A7类似还是顺序有限双发射设计,8级流水线,但是精心优化改进了每一个模块,甚至融入了A72上的而一些最新元素,性能和能效都大幅度提升。
尤其是在前端,Cortex-A35重新设计了指令预取单元,提升了分支预测精度,指令预取带宽更加平衡,指令队列也更小了。
它还采用了Cortex-A53的缓存、内存架构,可配置8-64KB一级指令和数据缓存、128KB-1MB二级缓存,加入了NEON/FP单元,改进了存储性能,支持完整流水线的双精度乘法,还为CPU核心、NEON流水线都配备了硬件保留状态(独立电源域)以提升电源管理效率。
未来的移动市场会持续增长,ARM靠Cortex-A7已经征服了不少开发者,而全新的Cortex-A35作为全球最高功效的64位移动处理器,将为消费者在移动和嵌入式市场带来64位运算的优势。
内含TrustZone技术的ARMv8-M架构保设备安全
在各种设备大爆发的环境下,尤其是在万物互联的现状下,如何保证设备的安全成为各大半导体原厂和开发商关注的问题,ARM公司作为半导体上游的IP提供商,从IP层级入手,协助开发者解决安全问题,这一切都来源于其TrustZone技术。在介绍TrustZone之前,我们要明晰一个概念,这里的ARMv8-M架构和上一节的ARMv8-A架构的区别在于前者只面向Cortex-M系列产品的开发,且只支持32位;而后者则可以开发32或64位的Cortex-A处理器。
TrustZone介绍
回到TrustZone,这是ARM针对消费电子设备安全所提出的一种架构。我们知道对于设备的安全威胁,可以有几种形态的解决方案:
(1) 外部的硬件安全模块
比如设备上的SIM卡。这种方式的优点是SIM卡具有特定的软硬件安全特性,能够保护卡内的密钥等资源,而且要攻破其防护所付出的代价很高。缺点就是与设备的接口通讯速度低,而且不能保护用户界面的安全,即与用户交互的数据的安全,所以在交易支付方面该方案还不能提供好的保护;
(2) 内部的硬件安全模块
即把类似于智能卡的功能直接放到SoC里面。这种方式也只能保护诸如密钥之类的资源,不能保护用户交互数据。在SoC里面有两个核:一个普通的app核和一个安全核。两个核之间的通信速度也会比较低。而且在占用SoC面积,调试端口的访问控制等方面也需要很小心谨慎;
(3) 软件虚拟化
虚拟化技术如果要保护用户界面的安全,就需要在GPU的控制上加入很多的验证,这对于图形处理的性能也会产生较大影响。同时,调试端口也仍然是一个问题。
ARM公司的TrustZone的硬件架构则是整个系统设计过程中的安全体系的扩展,目标是防范设备可能遭受到的多种特定威胁(注意这种威胁除了来自恶意软件,黑作坊,还有可能来自设备的持有人)。系统的安全,是通过将SoC的硬件和软件资源划分到两个世界来获得的。
根据ARM处理器部门总经理James McNiven介绍:“ARM的TrustZone CryptoCell产品系列将数据保护提升到了新的水准。这一增强的安全技术会创建一个硬件安全附加层,实现高价值资产的隔离存储,提供优化的加密法和对重要信息的生命周期管理。”
这个全新的ARMv8-M架构帮助开发者更轻松、便捷地编写代码,覆盖从最高能效到最高性能的基于ARMv8-M架构的各种处理器。它还能更简便地将低功耗的ARM Cortex-M处理器与性能更强Cortex-A处理器整合,进而研发更高性能的系统级芯片(SoC)产品。通过提升行业设计高端嵌入式SoC的能力,ARM为智能互联技术带来了更多机遇。所有对安全数据的分析和使用会带来全新价值的领域都将得益于此,包括健康、识别或者工厂机器管理。
而作为对ARMv8-M架构的补充,ARM AMBA 5 AHB5规范已经推出,将TrustZone安全性基础从处理器拓展至嵌入式设计的整个系统。全新的AHB互联标准现已开放下载,它增加了安全控制和更多的内存类型,以满足更高性能嵌入式系统的要求。AMBA 5 AHB5支持ARMv8-M架构和TrustZone技术。
一个产品解决了未来物联网开发者对微控制器关注的安全性、可扩展性和开发者效率三个问题,可见ARM在这款产品上是下了一番苦工的。而这种既可以隔离软件和数据,又可以隔离硬件的产品,势必会受到市场的欢迎。
免费的Cortex-M0处理器IP
在文章的开头,我们提到ARM的盈利模式主要是靠IP授权,而其授权模式主要分为三种:
(1) 处理器授权
ARM设计好一颗CPU或者GPU,然后授权卖给伙伴。买下它们后,你只能照着图纸实现,能发挥的地方不多,但是如何实现你就随便了,比如配置哪些模块、几个核心、多少缓存、多高频率、什么工艺、谁来代工等等。
ARM也会给你提供指导辅助,但如何将方案变成芯片、设定在什么规格,就看你的了。
(2) 处理器优化包/物理IP包授权(POP)
如果你想做ARM处理器,但无奈实力有限,那怎么办呢?ARM很贴心地准备了一系列的优化处理器设计方案,你可以根据自己的需要,挑选合适的直接拿过去用。
这样你可以快速搞出产品,代价也很低,当然能自由发挥的空间就小了,处理器类型、代工厂、工艺都是规定好的,比如Cortex-A12处理器,就要求你在台积电使用28nm HPM工艺生产,或者在Global Foundries使用28-SLP工艺。
(3) 架构/指令集授权
如果你实力雄厚,可以仅购买ARM的架构/指令集(ARMv7、ARMv8),然后自己研究设计芯片,高通Krait、苹果Swift就是典型代表。
这些自行设计的处理器和ARM的是指令集兼容的,但并没有直接可比性,比如你不能说Krait 400、Cortex-A15谁更好更坏,它们是同一级别的不同实现方案而已。
如果你成为了ARM的授权人,有两部分钱是必须交的:前期授权费(upfront license fee)、版税(royalty)。其它收费项目还有不少,比如软件工具、技术支持等等。前期授权费一般少则100万美元,多则1000万美元(也可能更少或者更多),一次性付清。具体多少取决于所购授权技术的复杂程度。版税则是每卖出一颗芯片交一点,通常是售价的1-2%。
这些高昂的授权费用,就提高了芯片的开发门槛。在物联网对芯片高需求时期,在代工厂和非晶圆厂模式非常清晰的时期。一些有想法、有创意的芯片开着困于授权费的高昂,无法将创意实现。ARM公司有见及此,特意改变了Cortex-M0的授权方式,助力物联网市场。
按照ARM处理器部门总经理James McNiven说法,ARM公司将为采用ARM Cortex-M0处理器进行商业化之前的SoC元件的设计、原型建模和制造的设计人员提供免费的Cortex-M0处理器IP,以及低成本的FPGA原型建模。
“设计人员可以通过ARM DesignStart门户网站获取这一打包服务,具体包括:Cortex-M0处理器及系统设计工具包(SDK),其中包括系统IP、外设、测试平台以及相关软件;一份关于完整的ARM Keil® MDK开发工具的90天免费授权许可。” James McNiven补充说。
但这种授权也不是完全免费的。
James McNiven表示,开发者如果希望对其设计进行商业化量产,可以以40,000美元的价格购买简化的、标准化的快速授权,从而将ARM Cortex-M0处理器相关IP、SDK和Keli MDK开发工具用于商业目的,同时还能得到来自ARM的技术支持。当然销售阶段的版权税也是需要缴付的。
简化授权模式,降低门槛,让更多定制化的IC可以面向市场,这对开发者是一件大幸事,希望ARM的推动下,国内能涌现更多的芯片商,壮大国内的半导体芯片体系。
mbed:ARM一统物联网江湖的利器?
现在几乎所有的半导体厂商言必谈物联网,硬件开发商也基本都关注物联网,大家那么热衷,主要是奔着物联网酝酿出的万亿大市场。ARM除了用处理器去占领市场外,还希望用mbed去一统物联网的江湖。
mBed是ARM公司针对物联网市场提供的一套用于快速开发ARM架构单片机应用原型的工具集,包括免费的软件库(Software Development Kit, SDK),硬件设计参考(Hardware Development Kit, HDK)和基于Web的在线编译环境(mBed Compiler)三部分具体内容。
mbed合作伙伴的增加
也就是ARM mbed首先通过设计一个硬件抽象层,屏蔽不同MCU厂商提供了微处理之间的差异,给开发者提供一个统一的硬件抽象层;再提供一个硬件参考设计,这个面向用户开发的HDK提供了统一了程序上载接口,单步调试接口,串口调试接口,用户无需购买其它硬件就可以开始软件开发工作;同时为了省去用户开发环境安装的麻烦,mbed提供了一个完备的基于浏览器的微处理器软件开发环境,包括代码编写,程序编译,版本控制等功能,用户只要上网就可以开发,编译结果只要下载保存到mbed开发板上即可工作,非常方便。
总结来说,mbed 可帮助您简便快捷地构建自己的嵌入式连接设备,从规划到原型设计再到生产。mbed 之所以能做到这一点,是通过允许您在可与所有支持 mbed 的硬件搭配使用的操作系统(mbed 操作系统)上编写软件,该操作系统还能使用我们的 mbed 设备连接器服务连接到云。也就是说ARM mbed物联网设备平台提供了物联网设备开发的所有关键组件,通过 ARM 的 mbed 操作系统、mbed 设备服务器以及 mbed 社区生态系统创建安全高效的物联网应用。
这个平台也获得了不错的成绩。
2014年,只有6万开发者使用mbed进行物联网产品设计,但2015年这个数字上升到15万。同样的连接到mbed开发环境的设备的使用次数也从去年的290万上升到今年的430万。mbed的合作伙伴也从2014年的25家上升到今年的超过55个。
然而ARM这个通过一个平台统一物联网的想法是否行得通则未可知,我们知道谷歌、华为和Intel这些厂商也希望通过其OS来一统物联网平台。ARM是去统一这些标准,还是说让更多的竞争者在市场竞争,而尽力去笼络自己的客户。这些方式孰是孰非也暂未能判断,但ARM作为设备内核的主供应商,无论哪种方式,这个领域的生意是只会有增无减的。
从这些产品,我们可以看出,ARM对未来的物联网是势在必得。传统产品的巩固也是理所当然。看来Intel想从ARM手里抢走这个物联网这个大饼,还需要多花费一些功夫。