• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2026全景工博会 菲尼克斯电气二级-以太网
工业以太网

硬件IP代替RTOS监测嵌入式应用的任务控制

  2005年02月15日  

软件日益增加的对系统级芯片(SoC)设计的重要性已不是什么新鲜事,同样今天的SoC通常含有几种不同类型的处理器也已很常见。不过,令人惊讶的是,业界很少对这些技术发展可能造成的影响进行讨论。

当一个嵌入式系统只包括一个工业标准微处理器时,实时操作系统(RTOS)通常还承担任务管理的工作。这个RTOS可能是商业版的,但更可能是内部自己开发的。在任一种情况下,其工作都是调度、分派、监控和在各种计算任务后整理内存,并为它们提供一个统一的、独立于硬件的系统资源接口。

事实上也是这样,而且有证据表明,过去的自己开发的RTOS正逐步让位于更小的和低版税的第三方产品。不过,RTOS在遇到含有多处理内核的SoC器件时通常会碰壁,尤其是当各种处理内核的架构不同时。市场上很少有能支持对称多处理的RTOS产品,更不用说由CPU、DSP和定制模块构成的异质架构了。

最常见的情况是,位于中央CPU上的RTOS通过信标、邮箱、扩音器或任何该架构能设计出来的东西与在其它模块上运行的特别(Ad-Hoc)控制程序进行通信。如果有些模块不是软件可编程的,那么就可能需要一个set-and-test寄存器接口。

所有的事情都在向专用化转变。评估和性能分析变得充满挑战性,经理们紧张不安。人们开始非常关心嵌入式软件的大小,CPU的执行周期预算和SoC的能耗正在进入RTOS的工作范畴,而非工作负荷。

新创公司Ignios正在致力于解决这种状况。这家公司已经创建了一套应用程序接口(API),它们可用来控制系统中每一个任务的状态、以及中断处理和任务间通信。这些API独立于SoC中的特定硬件模块、任务以及系统所使用的RTOS。

但是,为确保芯片中每一模块上的控制寄存器、中断处理和任务管理能够与API正确通信,仍有大量依赖于硬件的编程工作要做。而且,在任务管理上,还存在许多时间和功率方面的问题。

图:1.硬件任务主控器


2.系统存储器


3.硬件引擎


4.SystemWeaver


5.系统互联


6.DMA引擎


7.资料来源:Ignios Ltd.

因此,Ingios走出了下面关键的一步。该公司创建了一个硬件IP模块,用来处理任务调度和任务间通信。

正如该公司业务开发副总裁Dan Chester所描述的,该模块类似于一个能够创建并遍历任务控制块链表的精细状态机。那些任务描述符,以及可用硬件资源的描述符,被存储在一个本地快速RAM中。整个封包由硬件IP、存储器和API代码组成,被称为SystemWeaver。

在实际运作中,SystemWeaver IP通常放在总线、一个交叉条(crossbar)或SoC的其它单元上。设计人员可以直接从个别模块向SystemWeaver模块发送中断信号,但这不是必需的。

除了将SystemWeaver模块插入到SoC设计之外,SoC中的每一个处理单元可能还另外需要少许软件或硬件。当一个任务被阻塞或完成时,为了向SystemWeaver模块发送信号,这些软件或硬件是必需的;Chester估计,这需要在每个模块上增加不超过10kb的代码。在非编程模块中,该功能由一个小型状态机处理。

最后,必须在SystemWeaver本地存储器中建立任务和系统资源结构。

一旦系统被初始化,SystemWeaver硬件就扮演RTOS内核中的任务控制器的角色,建立一个就绪任务清单,并在硬件资源可用时将任务分配到每一资源。这个模块也作为任务间通信媒介。

任务/数据对

数据集和任务代码绑定在一起,当任务准备就绪时,该任务/数据对被分派到第一个可用的处理器。也可以执行优先级排序和其它服务质量(QoS)分配方案。

如果需要,一个数据集也可以与运行在不同处理器模块上的两个任务邦定,这样当高速资源紧张时,该任务可以在稍慢的不太重要的资源上运行。还有其它好的选择,例如用于处理运行时间可重配置硬件资源的方案。

当一个任务被阻塞或完成时,正在执行该任务的处理器向SystemWeaver模块发出信号,后者查看其任务清单,然后分配一个新的任务给这个处理器。

Chester认为,可以把整个第三方RTOS作为一个任务来启动,允许它在SystemWeaver环境中运行,控制自己的任务或是简单地把任务控制责任转交给SystemWeaver模块。Ignios正在寻求与RTOS供应商的合作,在选择RTOS产品和系统间发展更紧密的协同关系。

从功能上来说,SystemWeaver模块没有做任何RTOS内部的工作。不过,任务分配的全部关键路径都发生在硬件中,从而大幅减少任务间的延迟,并从控制CPU中删除了相当多的高优先级负载。

这个方案的另一个好处是,由SystemWeaver API创建的抽象层通常可用来管理系统级调试。它允许设计人员在任务级检查整个系统,而不必深究6个不同处理器的源代码,也不需要费力理解一、两个硬件状态机的状态。

Ignios可提供该硬件模块的一个全面SystemC模型,它可用于实现系统建模、集成和验证。

SystemWeaver 1.0版本目前正向重点客户授权。该版本包括针对硬件模块的可综合RTL、API代码、SystemC模型以及使用该模块的SoC的一些参考设计数据。

作者:Ron Wilson


最新视频
以AI赋能仿真技术 金发科技携手西门子提速汽车材料研发   
教程 | 和利时脱硫工况异常处置Agent   
绿电直连 算力新局——AIDC算电协同线上沙龙
工业 AI 赋能电子/半导体产业 智能制造升级
PTC Creo 13 设计未来型产品
PTC Codebeamer
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
2026全景工博会
2026全景工博会

2026中国国际工业博览会(简称“中国工博会”)定档于2026年10月12日-16日在国家会展中心(上海)举办。

探索工业AI未来——研祥集团智能物联业务新品发布会
探索工业AI未来——研祥集团智能物联业务新品发布会

新型工业化是当前我国制造业发展的核心战略方向,作为工业AI赛道头部企业,研祥通过旗下研祥智能、研祥金码、亿万克三大品牌,

在线会议
热门标签

社区

null /ca/_01-ABC00000000000079305.shtml /ca/_01-ABC00000000000079305.shtml