异构多核架构即结合两种或多种不同类型的微处理器或微控制器的架构。因其能够提供更高的处理器性能、更有效的电源利用率,并且占用更少的物理空间,近来在嵌入式领域得到了大范围推广,特别是在强调整合功能性和连通性的高性能嵌入式设备方面。但是,与异构多核硬件平台的发展速度相比,相应的软件支持比较滞后。毕竟只有软硬件兼具的解决方案才能充分发挥这一架构的优势,真正实现芯片的性能、面积、功耗之间的最佳组合。
针对这一现状,Mentor推出了嵌入式软件行业首款针对异构多核SoC开发的全面解决方案,该方案可为包括Linux平台、实时操作系统(RTOS)、Android系统和裸系统应用的多操作系统设备进行设备配置、部署和系统优化。
全面的异构多核嵌入式软件解决方案
“异构架构可以为至少两个不同类型的用于先进嵌入式系统设计的微处理器或微控制器提供多个操作环境。该任务不易实现,因为它需要功能性和连通性的无缝整合,这样才能设计出高性能的嵌入式设备。”Mentor嵌入式软件部门(ESD)运行解决方案资深产品经理Felix Baum介绍,“下一代SoC通过异构核来扩展目前的多核同构架构,促成独特的嵌入式系统的发展。该系统的成功应用,超越了传统的对称多处理(SMP)和非对称多处理(AMP)方法。 ”
传统的开发方式不适合异构系统,因为设计师需解决如下挑战:如何在处理器上配置和部署多个操作系统和应用程序;如何协调使用微处理器和微控制器,从而高效启动多个操作系统;如何在多核处理器或异构处理器间的独立子系统之间进行通信。这些都为设计师的工作增加了一定的难度。
“Mentor的集成设计解决方案具有独特的定位,便于嵌入式开发人员在研发过程中充分利用这些复杂的异构SoC.”FelixBaum表示,“该方案涵盖了为多操作系统设备提供设备配置、部署和系统优化等功能,而所谓的多操作系统则包括Linux平台、实时操作系统(RTOS)以及裸系统应用-本地执行或基于Hypervisor执行。”
Mentor异构多核系统嵌入式开发方案(图1)的新特征包括:支持Mentor嵌入式Linux、Nucleus RTOS和裸系统应用的remoteproc机制,有助于整个异构SoC多核操作系统和应用程序的配置、开发、部署和管理;在不同的操作系统中大规模应用VirtIO、rpmsg和多核通信应用程序接口(MCAPI),可为分离设备子系统提供有效的处理器间通信(IPC);拥有图像调试和性能分析工具,能够在操作系统和应用层面提供整个系统的同步视角。
图1:Mentor针对异构多核嵌入式软件开发的全面解决方案。
据了解, Mentor Embedded Hypervisor是针对嵌入式应用程序和智能连接设备而特别研发的占用内存小的Type1型虚拟机产品,借助这一嵌入式系统,研发人员可将应用程序集成和整合到多核处理器上,并利用ARM TrustZone技术,开发出高性能的嵌入式系统。
针对OMAP5的应用案例
德州仪器(TI)的OMAP5是典型的异构多核处理器平台(图2),它集成了2个ARM Cortex-A15和2个ARM Cortex-M4内核,专为驱动移动计算设备和消费产品而设计。
图2:在TI OMAP 5上部署异构多核系统的应用案例。
在TI OMAP 5上部署Mentor的异构多核系统的应用案例中,Mentor的嵌入式虚拟机覆盖了两个Cortex-A15内核,先运行虚拟机,再运行两个嵌入式Linux操作系统(一个Linux操作系统负责用户界面,另一个负责与远端的通信)。
此外,一个Cortex-M4负责收集实时数据,运行Nucleus实时操作系统,这属于相对比较简单的应用,因此不需要虚拟机进行管理。而另一个M4内核可以负责电源管理或传感器管理等,在本案例中未进行体现。
Felix Baum强调,这一系统部署非常灵活,虚拟机运行什么系统可以根据具体情况来安排。而不同核之间的通信机制有VirtIO、rpmsg(IPC)和remoteproc等,既保证了系统的高速运行,也保证了私有系统之间的保密性。在与TI的合作中,将Mentor的嵌入式软件技术与TI的多核器件相结合,创建了一个理想的生态系统,便于客户轻松开发出尖端的产品。
“目前Mentor的解决方案仅适用于基于ARM内核的异构多核嵌入式系统开发。除了处理器产品,我们同时也在积极和FPGA厂商合作,会尽快推出适用于SoC FPGA产品的解决方案。”FelixBaum说。