促销网络

什么是最适合您的多核心设计的方法,即虚拟机管理器或多层框架?

2020年12月21日
Multicore embedded systems generally need some overall supervisory software that provides control of boot order and inter-core communication and security. There are two main options: a hypervisor and a multicore framework.

您将学到什么

  • 优点and cons of using a hypervisor.
  • 优点and cons of multicore frameworks.

Today’s multicore system-on-chip (SoC) hardware offers the promise of being able to pack more into your embedded project than ever before. Designers no longer have to segregate software domains into separate devices. Multicore processing clusters within the same device can lower bill-of-materials (BOM) costs and help shorten design times through tighter domain integration.

但是,对于更复杂的系统,它仍然是系统架构师和软件设计人员正确配置应用程序域,将重要数据分开和安全的任务,并有效地管理整体系统的通信方式。在此过程的早期应该做出一个关键决定:您的多核系统的最佳域管理器是什么?是否需要管理程序,还是多功能框架是更好的解决方案?

Multicore Systems

在多层SOC中,促进项目的功能分割导致设计被配置为不对称多处理(AMP)系统。可以通过核心体系结构组合构建AMP系统。所有核心都可能是相同的(均匀),或者可能存在丰富的核心类型混合物,其中包括常规加工单元以及专门的核心;例如,(异质)数字信号处理器(DSP)。

Each core executes independently in an AMP architecture, with or without an operating system. In addition, each core’s operating system may be selected on the basis of the required functionality.

AMP设计带有独特的挑战:

  • 很可能需要核心间的通信设施。
  • 可能存在安全/安全问题,需要核心彼此保护。
  • 引导订单(每个核心上启动的软件启动的序列)可能对避免同步和安全性问题很重要。

调试在潜在的异质核心上运行的不同工作负载可能非常具有挑战性。

Although the cores in an AMP system are independent, these challenges indicate that some overall control facility is necessary. Broadly there are two options:

  • 管理程序:一个复杂的软件组件,可在所有内核中运行。
  • Multicore framework:A software component that allows enablement for AMP systems, which runs on each core.

It should be noted that multicore applications can be implemented using a symmetric multiprocessing (SMP)-enabled operating system. However, that approach doesn’t allow for independent workloads to be executed on different cores, and it doesn’t support heterogeneous cores.

管理程序

管理程序是一个相当复杂的多功能软件组件,可在多个操作系统,管理CPU访问,外围访问,Inter-OS通信和Inter-OS安全性方面提供监督功能。可以用多种方式使用管理程序。例如,可以在单个CPU上运行多个操作系统,以保护对旧软件的投资。但是,随着多核处理器的增长,这变得越来越稀有。

或者,可以在AMP设计中使用该管理程序,以在嵌入式应用中进行,其中需要对核间通信和外围设备分配给特定核心的监督。管理程序还可以照顾启动序列并管理共享的外围访问。

使用管理程序的主要优点之一是,如果操作系统“崩溃”,它将不会影响其他内核上的工作负载执行。在某些情况下,管理程序甚至可以重新启动该操作系统,而无需重新启动设备。当然,非常建议使用专门用于嵌入式应用程序的管理程序,以提高性能。

尽管可以开发一个虚拟机管理程序,该管理程序可以在软件中实现所有必需的分离和虚拟化功能,但如今,这是非常困难和不寻常的。如今,管理程序旨在使用大多数多层处理器上存在的基本虚拟化功能。

弱点的优缺点

与其他解决方案相比,管理程序具有优势和缺点。

优点

  • Great flexibility enables efficient resource sharing, dynamic resource usage, low latency, and high-bandwidth communication between virtual machines (VMs)
  • 强核间分离
  • 启用设备虚拟化和共享
  • 能够将外围设备的所有权分配给特定核心

缺点

  • 仅在同质的多核心设备上工作(即,所有核心都是相同的)
  • 重要的代码足迹
  • 一些执行开销
  • 在处理器中需要硬件虚拟化启用

Multicore Frameworks

由于它们的分离,管理和共享功能,因此管理程序的功能远远超过许多嵌入式设计需求,并且它们可能是过分的。为了解决这个问题,一些嵌入式运行时供应商开发了一种替代方案,该替代方案专门设计以支持AMP多核系统:多功能框架。

框架设计中非常特别rt the multicore application, providing just the key functionality: boot order control and inter-core communications. The result is that a framework loads a system with a much lower overhead and can be run on much more basic systems. Although each core in an AMP design probably runs an operating system, one or more cores may be “bare metal”—i.e., running no OS at all. A multicore framework can accommodate this possibility.

处理器间通信(IPC)

Once the remote processor OS and application stack are running, many use cases will require communication with other parts of the system. The Mentor Embedded Multicore Framework provides a clean-room implementation of a remote processor messaging framework feature called rpmsg to establish a communications channel between the master operating system and the remote operating systems. In this way, data can be passed back and forth between the two in an inter-processor communication channel.

The transport layer that enables both remote processor lifecycle management and inter-processor communication is VirtIO. VirtIO is a virtualization standard for high-performance input/output device drivers widely adopted in virtualized Linux environments.

远程处理器生命周期管理

Assuming control over a remote processor, and then starting or stopping an OS and/or application stack within that remote processor, is referred to as remote processor (remoteproc) lifecycle management. The Linux community has adopted a remote processor framework for managing this scenario. Remoteproc allows a master operating system to bring up other operating systems on other cores.

导师嵌入式多层框架中的远程eProc特征可实现导师嵌入的Linux,Nucleus RTOS和Bare Metal Environments(BME)和Linux和Linux和RTOS产品之间的远程处理器互操作性。远程处理器生命周期管理的关键好处是减少功耗。不使用时,远程核心保持低功率状态。只有在使用远程eproc来提出远程核心并部署必要的固件后,远程核心才能汲取任何显着功能。

多功能框架的优缺点

Multicore frameworks have advantages and disadvantages compared with other solutions.

优点

  • 为某些应用提供最小必需的功能
  • 适度的内存足迹
  • 最小的执行时间开销
  • Can work on heterogeneous multicore devices (i.e., all cores needn’t be identical)
  • 支持裸金属应用

缺点

  • The core workloads aren’t isolated from each other
  • Can be more difficult to control boot sequence, and to debug

OpenAmp

尽管某些多项框架是专有的,但已经提出了一些标准,该标准控制了它们的功能,接口等。这种标准的流行示例是OpenAmp。

OpenAMP中有两个关键功能:

  1. 使用RemoteProc的生命周期管理。这有助于控制启动顺序,等等。
  2. 使用RPMSG的核心通信。

GITHUB上可以使用OpenAMP标准的当前参考实现。导师嵌入式多核框架(MEMF)和导师嵌入式的多核框架证书是OpenAMP标准的专有实现。标准的扩展包括其他功能,以支持Linux作为遥控,大型缓冲区,零副本,对以太网的代理支持以及其他开发工具(图。1)


混合安全 - 临界系统

A mixed safety-critical system is a system that requires the execution of several applications of different safety integrity levels (SILs) or different criticalities, such as safety-critical and non-safety critical, on a single SoC. Both a hypervisor and a multicore framework can support this type of configuration.

管理程序通过证明管理程序本身来做到这一点。然后,虚拟机可以使用经过认证的管理程序运行不同的临界水平。分离由认证的管理程序提供,该管理程序通常使用SOC上的基本硬件虚拟化和分离功能。

一个多层框架利用了一些SOC架构提供的其他硬件辅助分离功能,以获得安全域和非安全域之间所需的分离。这包括处理块,内存块,外围设备和系统功能的分离。多层框架提供了增强的绑定检查,以确保共享内存数据结构的完整性。它还提供中断的节流和轮询模式,以防止中断洪水。甚至可以使用非安全认证的虚拟机管理程序以及具有混合临界性的多功能框架(图2)


结论

决定使用管理程序或多项框架或两者兼而有之控制和管理多项式系统是关键的体系结构决策。最终选择将取决于特定的应用程序要求和设备的用例。这些选项应被视为互补解决方案,可以释放多核心SOC的力量,使各个项目域的管理,并最终允许设计师专注于其项目的独特IP。

杰夫·汉考克(Jeff Hancock)是Mentor Embedded Platform Solutions的高级产品经理,西门子Digital Industries Software

来自我们的合作伙伴

Welcome to The Edge

由于嵌入式网络设备的成本下降 - 考虑了Raspberry Pi的一个例子 - 它们变得无处不在。但是,这个扩散的隐藏成本…

发现集成功率的简单性和可扩展性

我们可扩展的双轨对完全综合的PMICS来利用我们的前沿功率技术,并减少组件较少的系统复杂性。内置 - …

设计用于Amphenol ICC的电动电动电池管理系统的互连

为电动汽车电池管理系统设计互连作者:Gijs Werner,分销与市场营销主管FCI Basics BU,Amphenol ICC简介…

How to Perform Over-the-Air (OTA) Updates Using the ESP32 Microcontroller and its ESP-IDF

Aug. 10, 2021
物联网(IoT)产品的设计师需要不断评估平台和组件选择,以降低成本和P…

电动电动电池管理中的有线与无线通信2020年10月2日

Wired vs. Wireless Communications in EV Battery Management. Taylor Vogt Applications Engineer Battery Management Systems Texas Instruments. With electr…

Understanding and Using E-Stops

问:什么是E-Stop?如何使用?答:E局或紧急停止开关用于确保机器和人员安全。他们正在使用…

Voice your opinion!

本网站要求您注册或登录以发表评论。
尚未添加评论。想开始对话吗?

来自我们的合作伙伴

Welcome to The Edge

由于嵌入式网络设备的成本下降 - 考虑了Raspberry Pi的一个例子 - 它们变得无处不在。但是,这个扩散的隐藏成本…

发现集成功率的简单性和可扩展性

我们可扩展的双轨对完全综合的PMICS来利用我们的前沿功率技术,并减少组件较少的系统复杂性。内置 - …

设计用于Amphenol ICC的电动电动电池管理系统的互连

为电动汽车电池管理系统设计互连作者:Gijs Werner,分销与市场营销主管FCI Basics BU,Amphenol ICC简介…

How to Perform Over-the-Air (OTA) Updates Using the ESP32 Microcontroller and its ESP-IDF

物联网(IoT)产品的设计师需要不断评估平台和组件选择,以降低成本和P…

电动电动电池管理中的有线与无线通信2020年10月2日

Wired vs. Wireless Communications in EV Battery Management. Taylor Vogt Applications Engineer Battery Management Systems Texas Instruments. With electr…
Baidu