随着AI和IoT的展开与融合,微处置器(MCU)的设计也愈加复杂,逐步从传统单一功用的微控制器转向集成更多功用特性、计算性能更强的系统级芯片(SoC)。MCU设计展开的六个方向如下: 1. 愈加智能(AI) 2. 更强性能(Performance) 3. 更低功耗(Power) 4. 愈加保险(Security) 5. 无线衔接(Wireless) 6. 更小尺寸(Area) MCU愈加智能(AI) 自2017年开端,MCU厂商尝试在MCU中添加AI功用。例如,ST的Project Orlando项目作为实验性质的MCU超低功耗AI加速器单元,瑞萨在2018年发布了针对MCU的可编程可重构协处置器DRP。经过三年的展开,在MCU中参与AI加速器正在变得越来越主流。在需求AI相关算力的应用场景,运用专用AI加速器常常比提升处置器性能更为有效。 2020年10月,Arm发布Ethos-U65 microNPU神经处置单元,这种微型NPU是一个十分小的NPU,只针对尺寸受限的嵌入式系统和物联网设备。Ethos-U65是Arm早前发布的Ethos-U55的升级,NXP选择Ethos-U55 microNPU作为Cortex-M系统。Ethos-U55是专为微控制器设计的,与Cortex-M处置器以及MCU中的系统SRAM和flash协同工作,能够提供MCU所需的性能和效率组合。但Ethos-U55分歧适在基于Cortex-A的应用处置器上运转复杂的ML应用程序。 经过NXP与Arm的技术协作,Ethos-U55的性能得到大幅提升,不只将最大原始MAC(乘法和累加)性能进步一倍,抵达1TOPS(1GHz工作频率下512次并行乘法累加操作),而且还能够正确调整系统总线的尺寸,以便将数据输入和输出到microNPU。但这还不够,MCU通常是基于SRAM和闪存的混合运用,但基于Cortex-A的应用处置器通常都有DRAM。DRAM提供了更高的数据速率和容量,但代价是延迟更长。microNPU需求更新设计来顺应这种延迟,由此便降生了Ethos-U65。 与Ethos-U55一样,Ethos-U65 microNPU能够与NXP的i.MX家族中已有的Cortex-M内核和片上SRAM协同工作。它继承了Ethos-U55的一切MCU级能效,与传统NPU相比,Cortex-M和Ethos-U的分离进步了面积和功率效率,从而能够开发出经济高效、高性能的边沿计算AI芯片。 从应用的角度来看,AI加速器搭配MCU渐成主流的主要缘由是需求AI的应用场景越来越普遍。从细致的算法和模型来看,正在集中到少数几个模型,例如机器视觉(人脸辨认,物体辨认)和语音唤醒词中需求的卷积神经网络,以及在一些较为先进的语音辨认中需求的循环神经网络(RNN)。三年前,AI算法和应用生态前景还不够明白,因而呈现了走专用化(AI加速器)还是通用化(增强处置器性能以及可编程协处置器)两条道路的两难选择。而在应用和相关算法都曾经很集中的今天,AI加速器曾经成为较为明白的选择了。一方面,运用专用化的AI加速器能够提供最佳的能效比,另一方面在芯片设计门槛上也并不是太高。事实上,更考验设计才干的反而是编译器和相关的软件/模型优化。 ARM在短时间内连续发布两代针对MCU的microNPU,一方面阐明MCU市场关于AI和AI加速器的确有很强的需求,另一方面我们也看到MCU和MPU以至CPU之间的性能差距正在减少,这将为未来智能MCU生态带来新的变更。 MCU更高性能(Performance) 不时提升计算和处置性能是MCU设计工程师和开发商的不懈追求。以前我们都是跟随Arm的开发脚步来同步增强MCU芯片性能,但最近几年呈现了与之匹敌的RISC-V。我们在此分别梳理一下这两个MCU微处置器内核的性能提升线路图。 ARM Cortex分为3个系列,分别针对嵌入式(Microcontroller)、实时(Real-Time)和应用(Application)3个应用范畴,对应的内核是Cortex-M、Cortex-R和Cortex-A 系列。ARM Cortex-M处置器是一系列可向上兼容的高能效、易于运用的处置器内核,旨在辅佐开发人员满足未来的嵌入式应用需求,好比以更低的成本提供更多功用、不时增加衔接、改善代码重用和进步能效。Cortex-M系列针对成本和功耗敏感的MCU和终端应用(如智能丈量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备中止了优化。 Cortex-M系列基于ARMv7-M架构(用于Cortex-M3和Cortex-M4),而较低的Cortex-M0+基于ARMv6-M架构。首款Cortex-M处置器于2004年发布,当一些主流MCU供给商选择这款内核开端量产MCU芯片后,Cortex-M处置器疾速遭到市场喜欢。能够说,Cortex-M之于32位MCU就好像8051之于8位MCU,疾速成为业界规范微处置器内核,各家MCU供给商基于该内核中止自己的开发,在市场中提供差别化产品。例如,Cortex-M系列能够实往常FPGA中作为软核运用,但更常见的用法是作为集成存储器、时钟和外设的MCU。 关于成本特别敏感的应用或者正在从8位迁移到32位的应用而言,Cortex-M系列的最低端产品可能是最佳选择。固然Cortex-M0+的性能仅为0.95 DMIPS/MHz,比Cortex-M3和Cortex-M4的性能低一些,但仍可与同系列其他高端产品兼容。Cortex-M0+采用Thumb-2指令集的子集,而且这些指令大都是16位操作数(固然一切数据运转都是32位的),这使得它们能够很好的顺应Cortex-M0+所提供的2级流水线效劳。经过减少分支映射,系统就能节约整体功耗,而且在大多数状况下,流水线将保存接下来的四个指令。Cortex-M0+还具有专用的总线用于单周期GPIO,这意味着设计师能够应用位控制的GPIO完成肯定接口(就像8位MCU那样),但却以32位内核的性能来处置数据。 Cortex-M0+另外一个重要的特性是增加了微型跟踪缓冲器(MTB)。该外设可使设计人员在调试过程中运用一些片上RAM来存储程序分支。这些分支随后能够回传到集成开发环境中,而且能够重建程序流程。这一功用提供了一种初步的指令跟踪才干,这关于不具备扩展跟踪宏单元(ETM)功用的Cortex-M3和Cortex-M4来说比较有意义。从Cortex-M0+中提取的调试信息等级显著高于8位MCU,这就意味着那些难以处置的调试问题变得愈加容易处置。 Cortex-M3和Cortex-M4是十分相似的内核,二者都具有1.25 DMIPS/MHz的性能,配有3级流水线、多重32位总线接口、时钟速率可高达200MHz,并配有十分高效的调试选项。二者最大的不同是,Cortex-M4的内核性能针对的是DSP。Cortex-M3和Cortex-M4具有相同的架构和指令集(Thumb-2)。但是,Cortex-M4增加了一系列特别针对处置DSP算法而优化的饱和运算和SIMD指令。以每0.5秒运转一次的512点FFT为例,假如分别在同类量产的Cortex-M3 MCU和Cortex-M4 MCU上运转,完成同样的工作,Cortex-M3所需功耗约是Cortex-M4所需功耗的三倍。此外,也有在Cortex-M4上完成单精度浮点单元(FPU)的选项。假如应用触及到浮点计算,那在Cortex-M4上完成比在Cortex-M3上完成要快得多。也就是说,关于不运用Cortex-M4上DSP或FPU功用的应用而言,其性能和功耗与Cortex-M3相同。假如运用DSP功用,那就选择Cortex-M4。否则就选择Cortex-M3完成工作。 随同着Arm Cortex-M系列内核的性能提升,MCU芯片制造工艺也在不时升级。例如,ST的新一代高性能MCU STM32F4基于Cortex-M33内核,具有200MHz的性能,而且采用更为先进的40nm工艺制造。此外,MCU厂商也在尝试从MCU产品范畴跨界到MPU范畴。今天很多用户不只用MCU,还有很多采用MPU。MPU带来的不只是产品自身的性能提升,还有更多软件的选择,由于它基于开源的Linux生态,带来从中间件、OS到应用层更多的选择和丰厚的生态。 Arm阵营只需Arm一家公司提供处置器内核,而RISC-V阵营则是百家争鸣。 作为RISC-V微处置器的开路先锋,SiFive提供的RISC-V内核正好对标Arm的3个系列内核,分别是:
每种类型的内核又依照数字标号从低端到高端做了不同种类,包含2系列、3/5系列、7系列,对标Cortex A、R、M编号从低到高可用于不同的场景。能够说是从横向和纵向都对标了Arm系列。 本土RISC-V处置器内核开发商芯来科技也推出了四个不同性能级别的处置器内核,分别是:
台湾晶心科技的RISC-V处置器系列包含:
阿里旗下的平头哥半导体主要针对下一代云端一体芯片新型架构开发数据中心和嵌入式IoT芯片产品,其E902处置器采用2级极简流水线,兼容RISC-V架构且对执行效率等方面中止了增强,并可进一步选配保险执行技术以增强系统保险性,适用于对功耗和成本极端敏感的IoT、MCU等范畴。 MCU更低功耗(Power) 消费电子、可穿戴设备及其它电池供电的物联网终端都低功耗都有严厉的请求。系统功耗是物联网部署的主要思索要素之一,很多应用场景下的IoT设备都是电池供电,而且请求可持续运用10 年以上。在很多应用中,MCU大部分时间都是处于低功耗睡眠方式,只是偶尔被唤醒读取传感器发送的一些数据,或处置和传送数据。 MCU子系统的功耗包含两部分——MCU工作时的动态功耗(与处置器主频成正比),以及MCU在睡眠状态下与漏电流相关的静态功耗(大部分是恒定的)。因而,总功耗受工作方式电流、睡眠方式电流和工作方式持续时间的影响。假如应用在大部分时间都处于关闭状态,睡眠电流以至比工作电流更重要。32位MCU普通主频更高些,工作电流相应也大,但其处置速度也快,能够经过更快地完成处置任务和更快地进入睡眠方式来俭省电量。此外,睡眠方式、发送和接纳方式下的无线收发器电流耗费也是决议整体系统功耗的重要要素。 假如允许外围设备相互通讯,并在不唤醒 CPU 的状况下能够监控传感器,这样能够大大降低系统的总功耗。Silicon Labs 的EZR32无线MCU就是一个很好的例子,它具有外设反射系统,允许外设在不唤醒 CPU 的状况下相互通讯,其低功耗传感器接口能够在 CPU 处于深度睡眠状态下监控多达16个传感器。MCU和射频收发器节能技术的分离使得无线MCU成为物联网应用中电池供电传感器节点的理想选择。 为满足客户的低功耗需求,ST从2009年发布第一颗基于Cortex-M3的L1,到2014年基于M0的L0产品,不时到2015年、2017年持续给用户提供基于M4内核的L4和L4+。国内自主品牌的可穿戴手表有90%是基于L4和L4+这个产品线。去年ST发布了第一个基于Cortex-M33的STM32L5产品线,提升了整体保险性能和能效比,同时今年第一季度又发布了第一个基于40nm工艺的STM32U5产品线。 |