Part 3 指令集对于动力与底盘系统 MCU 的影响
3.1 汽车MCU分散的指令集选择
从2.4章节对于动力与底盘MCU市场参与者及其产品的观察,我们发现一个有趣的现象:汽车MCU市场参与者在设计MCU时,针对MCU微控制器核心选择的指令集很分散。不仅有2.4章节列举的STMicro、国芯科技采用的Power架构,市场上还有Arm、RISC-V、TriCore、RH850等ISA指令集选择。
更有趣的是,一家芯片厂商可能就在同时发展好几条指令集产品线。比如说瑞萨电子,不仅有采用自家RH850/RL78指令集的汽车MCU,同时也在做基于Arm、RISC-V指令集的MCU/MPU/SoC。再比如英飞凌有TriCore和Arm指令集的汽车MCU。国芯科技也在介绍中提到其8大系列40余款MCU内核,有基于Power指令集的,还有基于RISC-V和M*Core指令集的。
国内实际上也不乏做自研指令集MCU的芯片企业,如芯旺微电子就在用自家名为Kungfu的指令集和内核。可见嵌入式领域的MCU指令集仍然处在百花齐放和分散的状态之下。且从我们过去一年的走访来看,绝大部分企业都还没有放弃某条指令集路线的打算:如瑞萨就明确提到,会以三条线并重的方式持续做MCU/MPU芯片。
兆易创新在2019年发布RISC-V通用MCU时曾经说过,做生态最难的是移动市场,其次是桌面和服务器,而IoT生态则完全不同,因为IoT生态链相对更短。这里的生态特指从芯片下游的开发者,到最终消费用户的软件与应用生态。
从这个角度来说,汽车座舱——尤其信息娱乐系统的潜在生态要求很高,但其他组成部分更偏嵌入式应用开发的功能实现,其“生态”关键可能也只在于面向下游开发者的开发便利程度,包括工具链、设计资源的丰富度和易用性,以及成本。
终端用户显然不需要关心发动机或变速器的某个控制功能具体是怎么实现的,或者其MCU芯片采用了何种指令集,因为此场景下并无“兼容性”问题需要考量;乃至在芯片设计与开发生态成熟的情况下,芯片企业下游的开发者也不太需要关心指令集问题。所以大型企业都有能力和资源同时维护几个不同的指令集及其对应的生态。
图3.1.1: 2010年时无线MCU的指令集市场分布情况
这可能是MCU发展由来已久的市场特点。2010年发布的一篇研究paper[23]中曾给出当年不同无线连接微控制器ISA的市场份额。当然,现在的情况已经与当年有了巨大差异,但从这份数据也不难发现,MCU市场始终呈现出指令集的高度分散化特点。
加上我们暂时没有更好的方法,来系统评估不同企业汽车MCU产品及其周边生态的发展水平或差异,指令集层面的差异是产品面向企业外部时、易于看到的最大不同点,这或许是观察汽车动力与底盘MCU技术发展的一个切入点或窗口。
所以本节以汽车动力与底盘MCU所用指令集的差异为切入点,以期浅尝辄止地发现不同汽车MCU之间的差异。即便这种研究方法可能忽视了MCU处理器核心之外的其他组成部分,尤其同样考验设计功力的外围资源、接口与连接等——它们于开发成本、易用性、生态支持等也至关重要。这也会成为后续报告可行的研究方向。
表3.1.2:汽车动力与底盘MCU厂商及其指令集选择
表3.1.2总结了当前面向汽车动力与底盘系统MCU产品的不同指令集,及其对应的企业与产品。值得一提的是,某些企业虽然会选择多种指令集并进的策略,但其MCU面向不同应用的规划方式仍然相对明晰。
比如瑞萨电子在面向汽车、工业、基础设施和IoT时,虽然同时在做ARM, RISC-V与RH850/RL78指令集,但汽车MCU主要选择了RH850/RL78——主力价值构成为RH850(参见图3.1.3);ARM指令集于汽车应用着眼的是更高性能的MPU和SoC芯片;RISC-V指令集方面,则尚无面向汽车的MCU产品。
图3.1.3:瑞萨的RH850在汽车中的应用;来源:瑞萨电子
图3.1.4:国芯科技的处理器CPU技术路线图;来源:国芯科技
图3.1.5:国芯科技的MCU路线图;来源:国芯科技
国内汽车MCU市场参与者中,此处仍然选择国芯科技的技术路线图(图3.1.4,图3.1.5):基于其PowerPC、RISC-V及M*Core指令集产品对标Arm的对应IP,可了然其规划与思路。注意图3.1.4并不全然在说汽车MCU——这张图的中间地带,主要是绿色PowerPC指令集代表的方框,以及图3.1.5可见其核心架构于汽车市场的布局。
3.2 Power占比最高,RISC-V潜力巨大
比较令人意外的是,我们在研究和统计过程中发现,虽然ARM与RISC-V这两种指令集于汽车MCU市场的声量很大,包括动力与底盘系统MCU,但实则基于市场价值的份额统计可见,这两者并未形成与其声量相当的市场优势。
尤其是RISC-V——近两年被很多媒体和机构视作汽车MCU的未来,乃至“游戏规则改变者(game changer)”,其实际产品更多停留在纸面上,主要是科研机构有一些偏应用向的研究产出;更不必说在安全性要求更高的动力与底盘系统MCU市场,其市场价值份额目前可以忽略不计。
而Arm在动力与底盘MCU产品中经常被提及,主要是在国产汽车MCU的报道中。STMicro(意法半导体), 英飞凌,瑞萨及恩智浦等国际大厂虽有Arm指令集的芯片产品,但瑞萨面向汽车的Arm芯片主要是MPU/SoC形态,车规MCU产品主力采用RH850/RL78;英飞凌主推Tricore架构;而意法半导体和恩智浦主推的则都是Power架构,尤其在安全性要求甚高的动力与底盘域中。
图3.2.1:2023年汽车动力与底盘MCU不同指令集的市场份额
基于对不同企业财报、多家三方研究机构的汽车MCU市场份额统计数据,以及我们自己的汽车及其相关动力与底盘系统数据库信息,综合得出2023年全年的汽车动力系统与底盘控制所用MCU的指令集(架构)市场占比情况,该数据基于市场价值(而非MCU出货量)。
比较符合直觉的是,英飞凌目前在汽车MCU市场份额较高,故而其TriCore指令集在动力与底盘系统MCU芯片中也有着较高的占比;瑞萨及其RH850同理;Power指令集达成目前动力与底盘系统MCU中最高的份额——占比22%,主要得益于另两名核心市场参与者恩智浦、STMicros,也显得顺理成章。
不过值得一提的是作为后起力量,RISC-V在汽车MCU市场的潜在发展机会是无限的。除了表中已经列出国芯科技的RISC-V在研芯片,以及包括长城汽车紫荆M100的上车以外,2024年8月英飞凌宣布会在2024年底时打造下一代基于RISC-V的MCU虚拟原型(virtual prototype)[25],让客户提前在此基础上进行软件开发和评估。
而且英飞凌还提到与博世、Nordic、恩智浦、高通合作组建初创企业Quintauris,加速汽车市场标准化,更进一步加速RISC-V的采用。这对汽车MCU市场可能会产生较大程度的潜在影响。
3.3 Power占比最高的历史成因
这其中或许有个在我们做调研之前的认知里,相当不符合直觉的事实:在很多人看来已经颇为古老的Power为什么会成为汽车动力与底盘系统MCU所用最多的指令集架构?换句话说,为什么恩智浦、STMicro还在坚持用Power架构,以及为什么还会有国芯科技这样的后来者选择Power架构?
解决了这个问题,也就能更进一步地明晰汽车动力与底盘系统MCU芯片及下游Tier 1、OEM和其他开发者最在意的是什么,即便2.5章节已经就此问题做了初步总结。这或许可以部分从Power的历史说起。
Power脱胎于1990s IBM的POWER指令集。最初的POWER是为服务器、工作站、超算准备的。1991年苹果、IBM和摩托罗拉组建的AIM联盟,PowerPC指令集作为POWER面向个人电脑处理器的下放,开始在后续一段时间内的苹果电脑CPU中成为主角。期间PowerPC还曾用于消费市场的游戏主机、航天领域的火星漫步者之上。
2006年之后,随着AIM联盟的解散,尤其是苹果在消费电子市场的转向,IBM和当时的Freescale(前身为摩托罗拉半导体产品部门,后被恩智浦收购)联盟被Power.org开放标准主体替代,由IEEE管理运营——其时也基本宣告了Power的开放。2013年IBM还发起了OpenPOWER Foundation基金会,开放并逐步开源了围绕Power架构的相关技术。
现在所说的Power ISA指令集可以认为是POWER与PowerPC的融合。习惯上,现在嵌入式领域,包括网络、汽车等芯片所用指令集亦可被称作Power或PowerPC。[26]
以上可能是绝大部分关注AIM联盟时期PowerPC的读者都清楚的。事实上,要论指令集发展历史,RISC-V发端于2010年,Arm则可以追溯到1985年。它们也都有少则十多年,多则数十年的发展历史,很难说是CPU领域的“新生力量”;RISC-V、Arm发展之初也不是为现如今它们正当红的应用准备的。
显然在汽车方向上的应用,Power也有属于自己的历史。这里列出几个标志性事件。
(1)摩托罗拉半导体面向汽车的MPC555微控制器诞生于1998年[27],当时就已经在动力控制领域快速收获市场,很快也在仪表和悬挂控制等应用上看到了design-in。甚至有主流媒体评价,MPC5XX系列成为北美与欧洲汽车制造商动力系统应用的“行业标准”。这个系列的MCU当时就着眼在排放控制、发动机性能优化及电子传动控制上。
2000年之际,32bit处理器还只占到汽车微控制器约10%的市场;当时的预估是2005年该值达到25%。
(2)2005年发布的MPC5554着眼于强化核心中的SIMD管线[28]。摩托罗拉认为SIMD有利于加速从发动机舱检测到无规则噪声;另外还有可编程的计时处理单元,闪存单元增加ECC特性,及更久的寿命等改进。EE Times当时表达这是PowerPC在汽车领域的更上一层楼。
(3)2006年STMicro与Freescale(即前摩托罗拉半导体产品部门)宣布在Power架构之上达成主要面向汽车领域的合作[29]。当时这两家公司还联合构建MCU设计团队,共享汽车与导航应用相关IP,对齐90nm嵌入式闪存工艺技术,以及高压功率MOSFET和IGBT技术。
合作覆盖的应用着力点在发动机与传动控制,以及电传线控系统、线控制动、高级车辆控制与驾驶信息娱乐系统等。彼时该项目甚至还建了专门的合作实体,结合了双方超过百名工程师,期望补足双方的技术。虽然合作后来停滞,却的的确确推进了Power在汽车市场的发展。
(4)2015年恩智浦收购Freescale。如此基本完成恩智浦、STMicro仍在各自发展Power指令集汽车MCU应用的历史渊源。于汽车MCU而言,瑞萨电子、ARM这类角色更像是后起的挑战者;而Power是汽车微控制器领域一直以来的先行者。
(5)2019年IBM发布Microwatt处理器核心,基于Power ISA v3.0,作为OpenPOWER的参考设计,且开源发布在Github上[30]。Power走向Linux基金会,走向了完全的开源和免费授权。OpenPOWER Summit NA 2020之上,Libre-SOC处理器软核发布,基于Power ISA 3.0,也成为首个IBM之外的Libre/Open POWER ISA核心。
值得一提的是OpenPOWER基金会最初创始成员就包括了谷歌、NVIDIA、Mellanox等。2014年初苏州国芯、江苏省产业技术研究院宣布加入OpenPOWER基金会。所以国芯科技当前也延续了Power在汽车MCU领域的生态积累。到2020年,OpenPOWER基金会已经有超过350名成员,囊括三星、美光、海力士、ZTE、Canonical、清华大学等等。
在我们看来,国芯科技选择Power指令集,将其广泛应用于汽车MCU的原因一方面在于Power在汽车MCU领域的积累;另一方面则在于Power现在的开放开源属性基本与RISC-V相似,是国产MCU芯片自主可控发展的基础之一。
3.4 Power占比最高的启示与推论
3.4.1 Power及其生态印象:“安全”高度相关
单纯就指令集(ISA)的角度,我们始终坚持认为抛开微架构(micro-architecture)和软件,去谈某种指令集的高性能、低功耗、高能效,都纯属扯谈。例如市场此前认为Arm适用于低功耗,x86适用于高性能就是一种典型的偏见:Neoverse和Lunar Lake的存在就已经打破了这种固有偏见。
这一点也适用于Power、RISC-V及更多存在于汽车MCU芯片之下的指令集,甚至适用于经典的RISC与CISC之争。没有一种基础指令集是天生或自然地适用于某类应用的,因为CPU的指令集总是需要在意通用性问题。
Arm发展之初从未想过可以在数据中心市场有所收获,Power发端于“PC”个人电脑却能在汽车动力与底盘系统中获得最高市场占比,应当都是这些指令集的最初设计者未曾想到的。RISC-V作为一种开源指令集,现在已经覆盖了从低功耗嵌入式应用,到AI HPC高性能计算的多领域,并不存在它不适用某类应用之说。
但我们同时需要承认,在指令集的发展演进过程中,技术、市场/商业等不同因素都会影响其走向:无论是扩展指令,还是上升到微架构的偏向性,以及涵盖编译器、各类中间件,及软件和应用的发展,都可能令某种指令集特别适配某类应用。在我们看来,Power在汽车MCU领域的应用就是最好的例子。
Power从90年代起于汽车微控制器应用的积累,扩展指令的发展走向,生态参与者——包括早期的IBM、摩托罗拉半导体(Freescale, NXP)、STMicro,及OpenPOWER基金会,在编译器compiler、微架构、开发生态方面的创新,都为Power现如今在汽车动力与底盘系统MCU市场上的应用奠定了基础。3.3章节对于Power指令集发展历史的阐述足够表明其发展及变迁。
STMicro对其SPC5系列汽车MCU在开发工具方面有着相当详述的描述,无论是IDE选择、SPC5 Studio框架的弹性化设计环境、GNU GCC编译器和debugger,或使用第三方解决方案、将所需工具集成到ST工具框架内;还是细致到汽车MCU不同应用覆盖的Discovery+评估板、功能扩展、兼容性等等;都足够看出非一日之功的经验和生态积累,且不是STMicro一家达成的。
针对汽车MCU不同指令集生态,我们也走访了一些开发者——部分零散观点在此做分享。其中一名开发者A提到了Power与Arm之间的对比。开发者A认为单纯从指令集层面来看,两者的区别可能并不大。双方的复杂度都“需要编译器完整利用好其各自优势”。从工具链角度来看,他认为双方资源完善度也不相上下。
但他强调,Power总是和更健壮的技术节点相关联。与此同时,前者更开放、后者更标准也是巨大差异。比如说开发者A提到,很多Power架构核心本身设计出色,具备灵活性,也能接大量外围。但通常来说,标准中并未定义诸如中断处理程序单元、调试追踪单元等,故而实施方案是由不同厂商自己决定的。
相对而言,Arm“严密”地定义了这些标准外围——这对生态而言有时是有优势的,比如标准开发工具的兼容性,以及更快速的中断等实现。但就现如今半导体和汽车产业链区域化趋势,及地缘政治现状之下,前者反倒能表现出优势。
还有一名开发者B前两年在做安全为主要考量的应用,因为某些原因他们的项目不能选择Arm架构,故而在其他指令集生态间尝试做选择。在经过一番研究后,开发者B所在团队认为,Power契合“安全”需求,而且还曾用于航天领域,也就从AVR/PIC/TriCore等选择中胜出。开发者B反馈的开发感受是,STMicro、恩智浦的某些工具或中间件具备通用性,如GCC编译器。从开发全流程,还是能够看出Power曾经的历史发展轨迹,体现出其生态积累。
不过言语上谈这些还是有些务虚,本节打算从两个角度来尝试探讨不同指令集在汽车动力与底盘系统MCU中的影响。需要注意的是,所谓“指令集对比”通常所指并不是指令集设计之间的对比,而是基于指令集的微架构或软件生态的对比。
3.4.2 性能对比
表3.4.2.1:三种指令集与架构的核心对比
我们选择目前市场上比较流行,且加入国产化MCU考量的指令集及对应的核心微架构来做性能比较。分别是2.4章节曾探讨过的来自国芯科技的C3007核心——基于Power指令集;英飞凌AURIX TC3xx系列所用的TC1.6.2P核心——基于TriCore指令集;以及瑞萨电子RH850 P系列在用的RH850-G3M核心——基于RH850指令集。
公开资料中可以搜到这三个核心微架构的用户手册。实际从数据在内存中的储存与CPU的访问、发射宽度、寄存器、存储子系统规模等角度仍然很难直观看清核心微架构的设计,及其在系统中的实际表现。但从表3.4.2.1的对比,尤其Dhrystone性能及核心主频,不难发现国芯科技在C3007核心层面的设计水平,完全不输给英飞凌和瑞萨电子这样的国际巨头,且在某些资源配给上相对地更到位。
3.4.3 安全性问题
STMicro、恩智浦、国芯科技的Power芯片宣传资料中都强调了Safety和Security两方面的安全特性——如2.5章节所述,这对于动力与底盘系统而言是理所应当且相比汽车其他域都更为紧要的核心特性;作为汽车MCU领域发展历史相对更久的指令集,Power的汽车MCU生态发展也格外注重这一点。
不过MCU的安全特性相关外围、冗余设计、失效及错误修正,功能安全相关测试等在报告中很难做量化;而且TriCore、RH850之类的指令集及其核心、MCU也有着相当不错的安全性设计。如3.4.1章节所述,即便指令集自身不能直接表明性能、安全性、适用应用等问题,但对应生态的发展却会产生偏向性。以在汽车MCU领域相对年轻的RISC-V指令集为锚点来观察安全性问题,是个不错的切入点。
2024年10月米尼奥大学与英飞凌的研究人员曾发布一篇题为RISC-V Needs Secure “Wheels”: the MCU Initiator-Side Perspective(RISC-V需要安全之轮:MCU发起侧角度)的paper[31]。这份研究谈到了某个相对细节性的安全问题。随EE架构变迁,车内的ECU正在缩减,多MCU走向虚拟化(vMCU),一个物理MCU内可映射多逻辑分区,分区间需要隔离以避免干扰。
这需要依托于硬件机制,达成可配置的访问权限限制,尤其是当物理资源在vMCU之间共享时。这就要求硬件层面的隔离机制(IM)。MCU领域内,相对成熟的指令集生态及供应商都有对应的IM机制满足汽车、IoT领域的安全需求,无论是从CPU微架构、还是从系统层面去解决问题。
虽然RISC-V International正就vMCU功能尝试规范IM机制,包括面向S-mode PMP和WorldGuard。但研究人员认为当前RISC-V生态内的大部分技术都没有就此问题,真正满足汽车应用的安全需求。总结起来,关键问题在于虽然WorldGuard针对所谓initiator-side发起侧,就不同权限级别粒度的身份识别,提供了简单的模型,但仍然存在两方面的欠缺。
首先是对虚拟化环境的支持,比如通过Hypervisor扩展,引入基于WID(World Identifier)的额外权限级别。研究报告认为,即便已经有了一些参考方案,但仍然是不够的;其次是需要 >32个WID的支持,即更大数量可区分的分区支持——主要是因为MCU复杂度在提升,MCU也融入了越来越多的虚拟分区initiator,不同安全需求的组件也在交叉融合。
与此同时,报告也认为RISC-V生态内现有SPMP for Hypervisor和面向非虚拟化和虚拟化的SPMP规格不够有效。所以这份报告尝试提出了ISA扩展解决现有限制,面向initiator-side发起侧的保护。
虽然这一议题某种程度上还比较偏未来向,但本报告呈现该问题是为了表明,针对汽车MCU特定应用,仍然需要对应指令集及其生态发展的经验积累。RISC-V现阶段就汽车MCU而言还是偏年轻和待完善的。虽然某些RISC-V生态参与者近两年已经在宣传ASIL-B/D等安全等级的验证完成,但诸如ISO21434这类security相关标准却鲜有提起。
当然,仍然如本报告3.2章节所述,我们对RISC-V在汽车MCU之上的应用持看好态度,只不过其发展仍然需要时间。
3.5 汽车动力与底盘MCU指令集发展预期
简单总结本章内容:汽车动力与底盘MCU,乃至汽车MCU的核心指令集呈现出高度分散化特点,其中市场份额最高的是Power,这与其发展历史关联大;而且也和主流市场参与者中至少有2家都在用该指令集有关;与此同时,Power给开发者长久以来留下了安全强相关的印象,这也和汽车动力与底盘MCU对安全格外敏感的需要相契合。
我们认为,在汽车电动化程度持续加深的当下,未来完全走向域或区域集中化之前,汽车MCU仍将在一段时间内呈现出出货与价值高增长的局面,从指令集角度来看汽车动力与底盘MCU这一相对稳定的市场,汽车动力与底盘MCU的指令集分布会在未来几年内保持相对稳定:主要是Power仍将基于其固有生态积累、经验优势,以及在性能和安全性上的出色表现,持续领跑市场。
总结Power于汽车动力与底盘系统MCU乃至整个汽车MCU市场的优势:
(1)安全、可靠与稳定性,得益于该生态参与者自90年代以来的耕耘,以及应用开发者已经构建起Power“安全”的印象;(2)可控、可定制性,基于Power当前的开源开放特性,符合汽车与半导体生态链可能正走向区域化的大环境趋势;(3)满足动力系统与底盘控制的特定性能需求,2.5与3.4.2章节已阐明这一点;(4)开发生态的相对完善。
不过值得注意的是,截止2023年汽车MCU领域的新兴指令集RISC-V虽然仍未真正占据可观的市场份额,我们认为其发展潜力巨大,可能在未来1-2年内吃下更多市场。只不过从我们的走访来看,不少市场参与者还在观望或评估RISC-V应用于安全关键型应用的可行性,并且密切关注该生态的发展情况。所以我们判断,2025-2026年对于RISC-V能否真正抓住汽车MCU市场至关重要。