嵌入式设计领域在四年之间可以有千变万化;作为回应,ARM 推出了 ARM® Cortex®-M7 处理器,与 2010 年发布 Cortex-M4 相隔也不算远。撰稿人:(特约编辑)carolinehayes
ARM 的 Cortex-M4 将 DSP 引入微处理器中;但按照 ARM 嵌入式业务副总裁 Richard York 所述,后来的 Cortex-M7 需要另一种方式提高性能。他这样解释道:“Cortex-M7 在硅晶片上的局限较少,其性能得到了提高(与 Cortex-M4 相比),而且在差不多成本和硅片面积上引入了 DSP 和浮点性能。”
为凸显这一点,有必要注意 Cortex-M7 DSP 的尺寸和指令集与 Cortex-M4 相同,但速度更快。Cortex-M7 DSP 为满足传感器融合和控制运算进行了增强 — 这是日益壮大的物联网市场中两个重要的特性。它能在 400MHz 频率上运行,而 Cortex-M4 则为 168MHz。
ARMv7E M 六级流水线架构的吞吐量比 Cortex-M4 高,后者使用三级流水线 ARMv7E M 架构和 Thumb/Thumb 2 指令集。Cortex-M7 的超标量流水线允许处理器在一秒内执行更多的指令。ARM 的 CPU 产品营销经理 Bee Hayes-Thakore 补充道:“这使得传统制造商能够将单个核心用于控制和 DSP 功能,降低设计成本。”
Cortex-M7 在硅晶片上受到的局限比 Cortex-M4 少,使用相同的 DSP 和指令集但性能更高
ARM 的 Cortex-M7 产品经理 Ian Johnson 满怀激情地指出,Cortex-M7 是一种进化,而非替代 Cortex-M4 的位置。“它是 Cortex-M 处理器系列中新增的高性能成员,而不是替代 Cortex-M4 的位置”。它具有一些共同特征,如可缩放架构,性能也有‘提升’。Hayes-Thakore 解释道:“Cortex-M4 当初是为满足高端需求发布的,但现在永不关机、始终感知状态的设备以及本地处理能力要求让这一标准与过去大不相同。合作伙伴们的希望更高、需求更多,而且还要兼容性。Cortex-M7 实际上是 Cortex-M4 的延伸。它设计用于汽车、物联网和便携式医疗应用等有望具备 30 年工作寿命的端点。”
汽车和工业自动化中的微处理器有着较高的处理要求,而它们仅仅是为何 Cortex-M7 的开发必须在性能上有所提升的两个例子。工厂车间中精度要求日益攀升,而且必须在很短的时间内运算大量的数据。这些应用领域也需要良好的用户界面,无论它是车辆仪表板还是工厂自动化系统。这让处理器能够几乎实时地完成快速中断控制和处理,也使驾驶员或操作员能够做出自主的决策,这两点都是推动因素。据 Johnson 表示,“它在汽车和工业控制中有非常广阔的应用领域;初始许可证或许能够带来常规用途处理器,但它们能在任何地方大显身手。”
Cortex-M7 的内存接口支持对内部缓存的高效访问
他继续阐述道,尽管它或许被视为一款常规用途处理器,但绝不会拘泥于这一个角色。他说道:“Cortex-M7 或许被描述为供常规所用,但其他应用中也能胜任. . 例如,Cortex-A 合作伙伴可以从 Cortex-M7 用作协处理器中获得益处。在那种配置中,它将是 Cortex-M 处理器的隐身伙伴。”
六级流水线提供 2.14DMIPS/MHz 的性能,比 Cortex-M4 的 1.25DIPS/MHz 高,能够满足仅在高端市场中常见的能力要求。York 表示,每周期指令数的增加促成了时钟频率上的适度增强,每周期指令数翻一倍。
六级流水线将性能提升到 2.14DMIPS/MHz,让‘新一波’功能成为可能
York 进一步补充道:“首批设备已经上市,它们的能效表现与 Cortex-M4 一样出色。”由于处理能力的提高,所以能够处理音频数据和静态图像数据,这满足了一批客户将权宜型解决方案(如双核控制器和 DSP 配置)用于高端功能的要求。根据 Hayes-Thakore 所述,单个可缩放处理器扫清了调整现有选件的障碍,同时也节省了开发成本。 另一个变化是 Cortex-M7 内存接口。它是第一款集成指令缓存和数据缓存的 Cortext 产品。这种集成降低了系统的功耗,使得工程师能够从内部缓存执行大量的代码,减少从外部内存的读写操作数,从而节省了功耗。
Johnson 表示:“这也实现了对大型外部内存的高效访问。例如,需要显示大量图片、播放音频样本的大型 DDR 内存。对内部缓存的访问也更加高效。”
所有 Cortex-M7 处理器都有浮点运算单元,这使得它有别于其他核心。York 指出,它拥有和 Cortex-M4 一样的节能模式,能够满足新一波的功能,如永不关机、始终连线、语音处理和图像处理等。两者都拥有退出时睡眠、睡眠和深度睡眠模式。Johnson 表示:“我们进行的比较在于用户对移动设备的期望。手机和平板电脑的普及奠定了用户对车中及工作相关环境中体验的期望。Cortex-M7 的开发正是为了满足这些需求,同时也带来一些我们未曾想过的功能。”
除了汽车、工厂自动化、白色家电和医疗产品等现有应用领域中需求的攀升,相对新颖的物联网应用也是 Cortex-M7 的一个推动力;或者,像嵌入式业务副总裁 York 所说,“为断续的事物增加了连通能力”,满足伴随永不关机设计功能而来的客户需求增长。
能效是另一项共同特点,Cortex-M4 和 Cortex-M7 中提供相同的节能模式。睡眠模式、深度睡眠模式和关机模式,以及能够在很短时间内关闭和唤醒外围设备的能力,都为能效做出了贡献。Johnson 说道:“Cortex-M 架构在响应中断和唤醒处理器与外围设备上的延迟性极小。”这一功能可以被物联网和可穿戴设备等应用“新浪潮”所利用,这样的应用要求永不关机运行,但不能以电池消耗为代价。York 也评论了永不关机型应用的电源管理:“监视器、传感器和陀螺仪需要‘激活’显示,而且能够在与 Cortex-M4 能效和性能相同的基础上将 Cortex-M7 用于无线通信、显示和接口。”
又如,当今的工厂自动化系统可能在车间中部署有多个节点和端点。如果它们可以和处理器外设一样进入深度睡眠中以节省电能,然后在很短时间内通过事件触发而唤醒,这对于使用多个节点的系统而言,可以带来能效高又无延时代价的优点。
Cortex-M 架构的演进提高了性能,而且不影响能效
由于 Cortex-M4 和 Cortex-M7 处理器两者共有的功能,保留开发工具传统性也合乎逻辑。除了 ARM 自己的 DS-5 和 Keil® MDK 5 开发工具外,来自 Atollic、DSP Concepts、Express Logic、FreeRTOS、Green Hills、IAR Systems、Lauterbach、Mentor Graphics、Micrium 和 SEGGER 的第三方工具、软件和 RTOS 也都可以在这两个处理器环境和整个 Cortex-M 系列中使用。
除了保留单一软件工具的旧投资外,这也可以降低培训需求,同时也能够让早期设计中的专长得以重新利用,来自其他 Cortex-M 处理器的代码也可无需修改就使用。
通过 Cortex-M7 将前代产品中的技能和创新用于未来设计,这样的投资也重申了本文标题中的主张 — 这不是上一代的 MCU。