EEJournal

编辑的博客
现在就订阅

轻量级嵌入式多核任务管理

多核协会发布了最新的多核管理api。他们发布的第一个这样的API是MCAPI,它允许数据在一个潜在复杂的异构嵌入式多核环境中进行通信。下一个是MRAPI,它处理资源的管理,允许操作系统在单个进程中提供的范围之外的虚拟扩展。

这次是MTAPI,用于管理任务。现在,你可能会问,“既然有了pthread、OpenMP和MPI,为什么我们还需要另一种任务管理功能?”原因如下:

  • Pthreads和OpenMP只在给定的进程中工作,并且/或假定一定程度的同质性。异构AMP系统不能使用它们。换句话说,您不能在完全不同的操作系统实例(或根本没有操作系统)管理的不同isa内核上调用任务。
  • MPI对于需要管理数千个或更多任务的嵌入式应用程序来说太重量级了。

虽然您可能认为通过一个安静的小运行时扩展诸如pthread之类的东西来跨进程边界对程序员来说可能很简单,但实际上,MTAPI引入了一些抽象的概念,我不得不努力理解这些概念。这里没有关于这些关系的全面的高级描述和例子,所以我是通过阅读标准的各个部分来拼凑起来的,然后决定我认为我知道发生了什么。(危险!)

下面是我的看法。我们习惯于简单地调用任务(通常是线程)。但是在复杂的系统中,可能有许多不同的“候选”来实现该任务。

  • 您可能有多个核心,每个核心都有一个可以实现任务的功能。
  • 这些核心可能是相同的,也可能不是相同的——一个可能是CPU,另一个可能是DSP。
  • 您可能有专用的硬件来实现该功能。
  • 您可以混合使用核心和专用硬件加速器,可以为给定的执行选择其中任何一种。

所以他们加入了一个额外的抽象层,产生了三个不同的概念:

  • 一个行动是执行任务的“潜力”。假设您需要完成CRC生成,您有一个CRC加速器和四个不同的核心,每个核心都有一个“GenerateCRC”功能。加速器和GenerateCRC函数都是行动.软件版本注册到本地MTAPI运行时;硬件版本内置在系统中。它们中的每一个都有可能使用特定的数据集执行特定的运行。
  • 一个工作是对需要完成的给定事情的所有不同可用操作的抽象。因此,您可能有一个“CRC_job”表示生成CRC的五种不同方式。这支持使用队列或负载平衡。当你真正需要得到一个CRC时,你不需要调用一个特定的动作函数/硬件;您调用作业,系统将决定选择哪个操作来运行特定的实例。
  • 一个任务是需要做某事的具体实例或执行。(如果不使用“任务”和“工作”这样的词,很难随意地描述这些东西,这些词在这种情况下有特定的含义……这就是为什么你的头会晕头转向。)任务是你在实际运行时所做的特定调用;它引用一个作业,并通过作业将其分配给与作业绑定的一个操作以供执行(例如,一个核心上的软件实现)。它可以在运行时取消;它也可以作为阻塞运行(非阻塞假定为典型用法)。它也可以被“分离”,这意味着它“自由浮动”,不再被调用代码访问,在这种情况下,它不能被取消或配置为阻塞——它让我觉得类似于终端线程。任务也可以分组,整个组充当阻塞机制。

MTAPI的其他方面让我觉得更容易理解。它涵盖了如何处理这些细节,以及是否共享内存、参数和结果传递、状态检查等方面。

你可以从他们那里得到更多的信息释放,而完整的API(以及“概要”文档)现在可从多核协会网站

留下回复

有特色的博客
2022年12月20日
作者:James Paris和Armen Asatryan在实现过程中自动进行简短检查,让设计团队快速找到并修复这些错误... ...
2022年12月20日
我们在Synopsys上回顾了2022年,包括基于云的芯片设计工具、机器学习和人工智能驱动的EDA解决方案、多模系统和安全接口IP。回顾一年:回顾2022年的关键技术进步和冒险,这篇文章首次出现在来自硅…
2022年12月20日
想了解如何在高级节点设计中放置设备?Virtuoso Placer是专为您设计的!使用Virtuoso Placer,您可以确保放置是正确的建设。在这个知识助推器博客中,我们将讨论Virtuoso Placer菜单和…
2022年12月15日
看完这个视频后,我非常想创建我自己的电磁/水浴相控阵实现....

有特色的视频

通过端到端解决方案实现内存设计和开发的新范式

Synopsys对此

为了满足高性能计算、人工智能和汽车应用的需求,对高度定制的高性能存储芯片的需求正在推动对新的设计范式的需求,如DTCO、左移设计、数字化和可靠性设计。

了解有关内存解决方案的更多信息

特色粉笔谈话亚博里的电子竞技

汽车座椅电子控制

英飞凌

今天的汽车座椅设计必须考虑尺寸、成本、电池寿命和通过EMC测试。在本期Chalk Talk节目中,来自亚博里的电子竞技英飞凌的Amelia Dalton和Rick Browarski研究了汽车电子座椅控制的最新创新。他们将深入了解当今电动座椅的结构、ECU在电子座椅控制中所扮演的角色,以及英飞凌芯片组产品如何为您的下一个智能电动座椅设计提供帮助。

点击这里了解更多关于英飞凌座椅控制系统的信息

Baidu