使用OpenAMP多核框架来满足控制和通信要求

每个嵌入式系统都是不同的。因此,随着多核设计变得越来越普遍,几乎到了成为主流的程度,不同的硬件和软件架构也在不断发展。
从软件的角度来看,大致有两种选择:对称多处理 (smp) 和非对称多处理 (amp)。
smp 系统只能在同构多核平台上实现(即,所有内核都是相同的)。操作系统的单个实例跨所有内核运行。此操作系统需要是支持 smp 操作的特定变体。linux 和许多实时操作系统产品都支持 smp。任务自动分布在核心之间。但是,如果特定应用程序需要,可以选择将任务锁定到特定内核。smp 的目标是以节能的方式提高可用的处理性能,这在台式机和笔记本电脑上很常见。
对于嵌入式应用,amp 提供了更大的灵活性,因此也更为常见。在 amp 系统中,每个内核都运行自己的操作系统(或者可能根本不运行操作系统——“裸机”)。操作系统不需要相同。每个操作系统都可以根据内核的预期功能进行选择,它不需要是特殊的“支持多核”的版本。与 smp 不同,amp 不要求所有内核都相同;它可以在异构多核平台上实现。大多数多核片上系统设备包括各种核心架构。不同的核心架构可能适用于应用程序的不同部分。
在 amp 设计中需要解决两个问题:生命周期管理(启动顺序等)和内核间通信。这些问题不会出现在 smp 系统中,因为操作系统可以控制哪些任务在何时何地运行,并且任务间通信使用标准的操作系统 api——这些任务不需要“知道”它们在多核上下文中运行。在amp系统中,每个操作系统都不知道其他操作系统的存在,因此必须做出具体规定。
配置 amp 系统的最佳方式是使用某种多核框架来满足控制和通信要求。openamp 是定义此类框架架构的标准;许多供应商都提供了 openamp 的实现。
该框架的一个实例在每个核心上运行。使用remoteproc提供生命周期管理,其中一个核心被指定为“主”。内核间通信使用rpmsg进行管理,rpmsg在内核之间提供基于通道的双向通信链路。
使用多核框架的替代方法是部署管理程序。这是一个强大的选项,但受限于它要求所有 cpu 都是相同的,因此它只能在同构多核平台上使用。然而,在一个复杂的多核系统中,可能有一组相同的核可以使用 smp 操作系统或管理程序进行管理,并使用多核框架链接到系统的其余部分。


简单实用的逆变电源
智能家电的消费主力是年轻人群
虹膜识别技术在国外的应用案例
人工界面修饰助力高性能锂金属电池的最新研究进展与展望!
学生们应用AR技术的帮助让他们的涂色进入了现实世界
使用OpenAMP多核框架来满足控制和通信要求
传德淮半导体拖欠供应商货款,多项工程已停止建设
青桔单车逆袭:青桔单车三年成全国第一,如何持续C位
亚马逊宣布与Anthropic展开战略合作,共同推进生成式AI发展
Heyue贴片电解电容125℃车用系列的介绍
小米6、华为P10对比评测:小米6 PK 华为P10,没想到贵的竟然会输!
液位控制系统设计_单容水箱液位控制系统设计
仪器仪表行业分销渠道系统实现渠道互联网化,与渠道商互利共赢
如何保护物联网网关免受DDOS攻击?
Linux网络概念和IP怎样合理的配置
FinFET并非半导体演进最佳选项
微波雷达助力首次“月宫之吻”
人工智能技术的进程能否加快,可编程芯片才是关键
JPEG2000核心算法的研究及DSP实现
三星A40s全面评测 续航能力在整个手机界中是数一数二的水平
s