EEJournal

编辑的博客
现在就订阅

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

多核协会发布了最新的多核管理api。第一个这样的API他们释放MCAPI沟通,它允许数据在一个潜在的复杂的异构嵌入式多核环境。下一个是MRAPI处理资源的管理,使虚拟的延伸范围超出了一个操作系统将提供在一个单一的过程。

这一次是MTAPI管理任务。现在…你可能会问:“我们为什么需要另一个任务管理能力当我们pthreads OpenMP和MPI ?“有两个原因:

  • Pthreads和OpenMP只在一个给定的工作过程和/或承担一定程度的同质性。异构的安保系统不能使用它们。换句话说,你不能调用任务different-ISA一些核心管理的一个完全不同的一个操作系统实例(或任何操作系统)。
  • MPI太重量级的嵌入式应用程序有成千上万或更多任务管理。

虽然你可能认为扩展类似pthreads跨越进程边界的一个安静的小运行时可能会简单的程序员,MTAPI,事实上,介绍了一些抽象概念的我不得不挣扎有点了解。没有整体的高级描述关系的例子,所以我拼在一起通过阅读不同的标准,决定我想我知道发生了什么事情。(危险!)

这是我承担。我们习惯于简单地调用一个任务(通常是一个线程)。但是在复杂的系统中,可能有任意数量的不同的实现这一任务的“候选人”。

  • 你可能有多个核心,每一个都有一个函数,可以实现任务。
  • 这些核心可能是也可能不是相同的——一个可能是CPU,另一个可能是一个DSP。
  • 你可能有专用硬件实现的功能。
  • 你可能有一个核心和专用硬件加速器,任何给定的可选择执行。

所以他们已经包括了额外的抽象层,产生三个不同的概念:

  • 一个行动执行一个任务是“潜在的”。假设CRC生成是你需要做的,和你有一个CRC加速器和四个不同的核心,每一个都有一个“GenerateCRC”功能。加速器和GenerateCRC函数就是一切行动。软件版本与当地MTAPI运行时注册;系统内置的硬件版本。这些与潜在的候选人执行一个特定的运行与一组特定的数据。
  • 一个工作是一个可用的所有不同的抽象行为对于一个给定的事情需要做。所以你可能会有一个“CRC_job”代表了五种不同的方法生成一个CRC。这支持使用队列或负载平衡。当你真正需要CRC,你别叫的一个特定的行动功能/硬件;你所说的工作,系统决定哪些行为会选择运行特定的实例。
  • 一个任务是一个特定的实例或执行…需要做的东西。(真的很难描述这个东西随便不使用“任务”和“工作”,具有特定的含义在这种情况下…这就是为什么你的头可以旋转。)任务的具体实际运行时你打电话;它使引用的工作,通过工作,被分配到一个相关工作执行的操作(说,软件实现的核心)。它可以在跑步时被取消;它也可以作为阻止运行(非阻塞是假定典型用法)。也可以“分离”,这意味着它“无花车”,不再可访问调用代码,在这种情况下,它不能被取消或配置为阻止——这在我看来类似于终端的线程。任务也可以分组,与整个集团作为一个阻塞机制。

MTAPI的其他方面给我的印象是更容易。它涵盖了如何处理的细节,以及等方面是否内存是共享的,参数,result-passing状态检查,等等。

你可以从他们得到更多信息释放,完整的API(以及一个“简单”文档)现在的下载多核协会网站

留下一个回复

有特色的博客
2023年2月15日
学习AI-driven芯片设计模拟解决的挑战传统的RTL功能验证工具没有升级硬件芯片设计。后如何AI-Driven优化收益率更高的模拟性能首先出现在从硅到软件....
2023年2月15日
加入我们的生活网络研讨会下星期四来了解更多关于自航CFD模拟:海上运输是国际贸易和全球经济的支柱。根据2022年的联合国贸易和发展会议(UNCTAD),超过80%的体积……
2023年1月19日
你有问题调整表带或交换你的手表电池吗?如果是这样的话,我很高兴消息的信使....

以注入式教学法亚博里的电子竞技

感应马达和驱动器位置传感器

逮老鼠的电子产品微芯片

霍尔效应传感器相当流行的各种应用多年但感应位置传感器可以提供更好的准确性,更好的噪声免疫力,可以花费更少,可以拒绝杂散磁场。注入式教学法在这节课中,阿米莉亚道尔顿亚博里的电子竞技聊天和马克史密斯从微芯片的众多好处归纳位置传感器可以使汽车、机械和工业应用。他们也检查易于使用的工具,可以帮助您开始使用它们为您的下一个设计。

点击这里获取更多信息微芯片技术LX34070感应位置传感器

Baidu