开源指令集RISC-V发展迅猛,ARM面对压力反击,推出Arm v8-M自定义指令集!
短短几年,开源指令集RISC-V的发展态势迅猛,包括西部数据、英伟达、高通、三星、华为等多家科技巨头纷纷加入RISC-V的阵营,这无疑给对Arm带来了不小的压力。
10月9日凌晨,在加利福尼亚州圣何塞举行的Arm TechCon 2019大会上,Arm宣布在部分CPU内核上引入自定义指令集,这可以说是Arm进军指令集定制化的一小步。而在很多读者看来,这是Arm在Risc-V的攻势下做得又一个应对。
再话RISC-V
RISC-V是2010年伯克利研究团队基于自身科研项目而设计的一款CPU全新指令集架构,但许多贡献者是该大学以外的志愿者和行业工作者。关于RISC-V架构的设计哲学你知道吗?是“大道至简”。在IC繁杂的设计工作中,越简单的设计往往是越可靠的,RISC-V架构就是力图通过架构的定义使得硬件的实现足够简单。
RISC-V特点在于精简、开源开放、模块化及可定制扩展,RISC-V也成为至今为止最具备革命性意义的开放处理器架构。
精简:RISC-V技术是后来的技术,所以能够总结前人的经验教训,无论是架构的篇幅、指令集都做到相对简洁和干净。
开放:它的开放性允许它可以自由地被用于任何目的、允许任何人设计、制造和销售基于RISC-V的芯片或软件,其彻底免费的开放性,在处理器领域是第一次。
指令集模块化:不同于其他成熟的商业架构,RISC-V架构是一个模块化的架构,能够使用户灵活选择不同的模块组合,来满足各种场景。
自定制指令扩展:RISC-V支持第三方的扩展,RISC-V预留了大量的指令编码空间用于用户的自定义扩展。
经过近几年迅速发展,RISC-V在嵌入式领域已经可以和ARM争夺市场了。RISC-V指令集架构的灵活性可以让开发者在AI和IoT领域都能实现很多想法,不少人认为RISC-V将成为AIoT时代的主要玩家甚至是代表性的指令集,。在印度政府的大力支持下,RISC-V甚至成为了印度的国家指令集。
2015年RISC-V基金会成立,目前RISC-V已吸引了325个以上的成员组织,他们建立了第一个开放的协作式软件和硬件创新者社区,以推动前沿创新。国内的推广者有芯原、芯来、杭州中天微、晶心、君正等。
RISC-V中国联盟秘书长包云岗这样评价RISC-V:“RISC-V指令集有望像开源软件生态中的Linux那样,成为计算机芯片与系统创新的基石。”
RISC-V全球火热
不得不说,RISC-V已成为当下最受关注的指令集,不止在全球,尤其是中国更是掀起了热潮。具体表现在联盟的成立、国家政策的支持、企业的布局等等。从目前的情况来看,中国可谓是扛起了RISC-V架构的大旗。
2018年7月,上海市经济信息化委发布了一项集成电路相关专项资金支持细则,明确支持RISC-V相关设计和开发的企业;2018年10月,中国RISC-V产业联盟(CRVIC)和上海市集成电路行业协会RISC-V专业委员会的成立。这些举措对于RISC-V指令集在中国的发展起到了很大的推动作用。
在物联网领域,中国厂商们积极拥抱RISC-V架构,发力AloT芯片。2018年9月,华米发布黄山1号AI芯片,它使用的正是RISC-V架构,因此也是全球第一款RISC-V开源指令穿戴处理器,这使得RISC-V应用场景拓展向前迈进了一大步。
2019年7月在2019阿里云峰会上,平头哥发布了目前业界最强的RISC-V处理器玄铁910,阿里还宣布未来将全面开放玄铁910 IP Core,厂商用阿里的IP核,就可以开发出RISC-V芯片。
北京君正为中国RISC-V产业联盟副理事单位,公司展开了基于RISC-V架构的CPU研发。上海乐鑫也在基于RISC-V指令集架构开发物联网芯片。
飞利信旗下的MCU芯片核心指令集也是在RISC-V指令集上进行改进而成,且拥有完全自主知识产权。
芯来科技是RISC-V基金会员、中国RISC-V产业联盟副理事长单位,以及中国开放指令集生态(RISC-V)联盟会员单位,并创造了我国第一颗开源RISC-V处理器项目蜂鸟E203。
核芯互联也发布基于32位RISC-V内核推出的通用嵌入式MCU处理器璇玑CLE系列,这是中国首款RISC-V家电芯片,且自主可控。
其他国家如印度也加大了在RISC-V的投入,欧洲公司也虎视眈眈,加上国内公司的观望和布局,这股从美国兴起的RISC-V大流愈演愈烈。
这主要得益于RISC-V的固有优势,如“碎片化”特性让RISC-V和物联网十分契合,国内外半导体产业陆续有基于RISC-V的芯片不时出来真臂高呼,面对RISC-V的迅猛发展以及其独特的灵活性,这股潮流也的确让Arm紧张了,他们在去年甚至还上演了上线质疑RISC-V的网站的闹剧,从“成本、生态系统、碎片化风险、安全性、设计保证”五个方面攻击 RISC-V。
Arm的反击
在开源指令集RISC-V以及老牌MIPS的开源化无疑对Arm产生了一定的影响,在物联网市场日益庞大的今天,RISC-V似乎比Arm架构更方便灵活,Arm已经意识到业界对高昂的入门成本和开源技术的困扰,所以Arm也开始发起一轮又一轮地反击。
早在2017年6月20日,Arm宣布其Cortex-M0/M3处理器内核免收授权费用,版权费也很低。在当时Cortex-M0/M3特别受业界欢迎的时候,Arm毅然放弃授权费,其目的就是要达到实现一万亿的出货量,吸引更多从事IoT的厂商采用Arm的这两个内核,因此把营收放在了出货量的后面。
2019年7月,Arm又宣布推出全新的灵活接入(Flexible Access)式IP授权方式——Arm Flexible Access。它允许芯片设计师在为最终的选择支付授权费之前,尝试不同的芯片设计。ARM的意思,这样做的目的是让人们更容易买得起ARM IP,同时也可以使得客户根据需求评估更广泛的产品。
近日,Arm又发起另一波反击,据Arm中国官方微信报道,Arm首席执行官Simon Segars 在10月9日的Arm TechCon 2019大会中宣布推出Arm Custom Instructions(客制化指令),这是针对Armv8-M架构新增的功能。2020年上半年开始,客制化指令初期将在Arm Cortex-M33 CPU上实施,并且不会对新的或既有授权厂商收取额外费用,同时让SoC设计人员在没有软件碎片化风险下,得以针对特定嵌入式与IoT应用加入自己的指令。
翻看Armv8-M的白皮书,Arm对Armv8-M的定制指令使芯片设计者能够通过在小型嵌入式处理器中添加特定于应用领域的特性来进一步提高性能和效率,同时保持Arm处理器的生态系统优势。
Armv8-M的自定义指令是如何工作的?
Arm重新定义协处理器指令集体系结构(ISA)编码空间,以支持使用Arm架构寄存器和标志的自定义指令。编码空间有多个区域可供定制,根据要实现的指令类型,可以选择使用多少区域,最多8个。你可以使用这个编码空间来添加你自己的、不同的数据处理指令,而不会影响性能。
Arm自定义Armv8-M配置空间
Arm自定义指令Armv8-M在处理器内添加一个可自定义的模块。该模块由预解码指令驱动,与CPU的标准算术逻辑单元(ALU)具有相同的接口。
Armv8-M的自定义指令有什么好处?
Armv8-M的客制化指令带来了三个主要好处:
低延迟指令的性能提升。
易于与现有软件生态系统集成。
跨Arm Cortex-M cpu的可伸缩性。
设备上处理的增长意味着优化和加速器的使用是关键。Armv8-M的Arm客制化指令提供了更多的灵活性,可以在Arm全球标准中进行创新,通过集成特定用例的加速器,使用CPU作为容器。Armv8-M的Arm客制化指令允许你通过添加自己的数据处理指令进一步定制你的CPU,同时提高CPU性能。对于Armv8-M的Arm定制说明,也可以按照自己的速度在Arm全球标准中进行更灵活的创新。Arm自定义的Armv8-M指令确保了与现有软件生态系统的轻松集成,并可跨Arm Cortex-M cpu扩展。
Arm Cortex-M CPU是Arm历来最成功的CPU之一,Arm的半导体合作伙伴迄今已经出货超过500亿颗基于Cortex-M的芯片。当前Arm已经与许多合作伙伴合作以支持自定义指令,包括IAR Systems、恩智浦、Silicon Labs、ST意法半导体等。
结语
手机时代已去,物联网俨然已成新的角斗场,摩尔定律的衰落,以及对边缘计算性能的不断增长的需求,导致了对产品定制和专门化的需求。物联网高度碎片化的市场以及芯片低功耗的要求,RISC-V的搅局让Arm不得不调风转舵,Arm新的定制化指令能否更好的适应物联网市场?让我们静观其变!
原文来自半导体行业观察