每个嵌入式系统都是不同的。因此,随着多核设计变得越来越普遍,几乎成为主流,不同的硬件和软件架构也在不断发展。
从软件的角度来看,大致有两种选择:对称多处理(SMP)和非对称多处理(AMP)。
SMP系统只能在同构多核平台上实现(即所有内核都相同)。操作系统的单个实例跨所有内核运行。此操作系统必须是支持 SMP 操作的特定变体。SMP由Linux和许多实时操作系统产品支持。任务自动分布在各个内核之间。但是,如果特定应用程序需要,则可能有一个选项可以将任务锁定到特定内核。SMP 的目标是以节能的方式提高可用的处理性能,这在台式机和笔记本电脑上非常常见。
对于嵌入式应用,AMP提供了更大的灵活性,因此更为常见。在 AMP 系统中,每个内核都运行自己的操作系统(或者可能根本不运行操作系统 - “裸机”)。不要求操作系统相同。每个操作系统都可以根据内核的预期功能进行选择,并且不需要是特殊的“支持多核”的版本。与 SMP 不同,AMP 不要求所有内核都相同;它可以在异构多核平台上实现。大多数多核片上系统器件都包含各种内核架构。不同的内核体系结构可能适用于应用程序的不同部分。
在 AMP 设计中需要解决两个问题:生命周期管理(启动顺序等)和内核间通信。这些问题不会出现在 SMP 系统中,因为操作系统可以控制哪些任务在何时何地运行,并且任务间通信使用标准操作系统 API——任务不需要“知道”它们在多核上下文中运行。在 AMP 系统中,每个操作系统都不知道其他操作系统的存在,因此必须进行特定设置。
配置 AMP 系统的最佳方法是使用某种多核框架来满足控制和通信要求。OpenAMP是定义此类框架架构的标准;OpenAMP的实现可从许多供应商处获得。
框架的实例在每个内核上运行。生命周期管理通过使用Remoteproc 提供,其中一个内核被指定为“主节点”。核心间通信使用 RPMsg 进行管理,RPMsg在内核之间提供基于通道的双向通信链路。
使用多核框架的替代方法是部署虚拟机监控程序。这是一个强大的选项,但受到所有CPU都相同的要求的限制,因此,它只能在同构多核平台上使用。但是,在复杂的多核系统中,可能存在一组相同的内核,可以使用 SMP 操作系统或虚拟机监控程序进行管理,并使用多核框架链接到系统的其余部分。
审核编辑:郭婷
-
放大器
+关注
关注
146文章
14362浏览量
222507 -
操作系统
+关注
关注
37文章
7439浏览量
129621
发布评论请先 登录
锁相放大器前置放大器的选择策略
锁定放大器工作原理 锁定放大器和锁相放大器的区别
DC到3.2GHz采样率!PXI平台+开放FPGA赋能,我们打造了一款“软件定义”的锁相放大器
高压放大器的参数和工作原理介绍
高压放大器电源有哪些优势
音频放大器特点,音频功率放大器是什么
如何选择通用运算放大器、零漂移放大器、电流检测放大器?
线性放大器 skyworksinc
信号放大器助手与信号放大器关系
放大器基本电路
IC放大器用户指南
电压放大器指标有哪些
多核和开放放大器
评论