主要内容

多核执行和核心可视化

SoC Blockset™允许模拟任务执行,因为它们在多核处理器上的行为。在多核模拟中,任务可以在分配给不同的处理器核心时同时运行。此外,将低优先级任务分配给唯一的核心可以防止这些任务被抢占,从而为最终应用程序提供更大的信心。

指定任务的核心

要设置任务执行所在的处理器核心,请打开任务管理器块对话框掩码。选择一个任务从可用的任务中。在任务属性中,设置核心到一个非负整数值。在模拟过程中,任务实例在指定的核心上执行,但会被在同一核心上执行的其他任务抢占。有关任务抢占的详细信息,请参见任务优先级和抢占

核心可视化仿真数据检查器

SoC Blockset提供处理器内核的视图模拟数据检查器.该图显示了相对于任务状态的核心活动的可视化。

模拟数据检查器,信号核心显示在该核心上执行的当前任务。当核心活动显示为空闲时,该核心的所有任务都处于等待状态,内核可以将该核心用于不属于主应用程序的后台任务。

请注意

如果一个任务实例在模拟期间没有运行到完成,该实例的相关核心状态将在模拟数据检查器显示中显示为空。

多核任务执行

这个例子显示了由任务管理器块管理的多个任务的模拟,在多个核上执行,并显示模拟数据检查器中显示的核心活动。

这个模型模拟了一个软件应用程序,运行在一个ARM处理器上,有3个定时器驱动的任务。一个任务管理器块调度任务的执行,在软件应用程序块模型。任务1,用句点0.01秒,执行核心0.任务2和任务3,周期为0.02而且0.03秒,分别执行核心1

单击Run按钮构建并运行模型。当模型完成运行时,打开仿真数据检查器显示以查看仿真的结果。选择核心0而且核心1查询核心执行状态。

如Simulation Data Inspector所示,内核要么执行正在运行的任务,要么移到空闲状态,以执行后台内核任务。此外,由于在这个应用程序中使用了两个高优先级的核心,Task1在每个触发器事件开始时执行。同样,Task2和Task3也不会被Task1抢占。因此,应用程序可以更好地利用可用的处理器资源。

另请参阅

|

相关的话题