在已部署的应用程序中,根据线程、嵌入式处理器和操作系统的当前状态,在线程之间切换需要有限的时间。内核延迟定义操作系统响应触发信号、停止任何正在运行的线程的执行和启动负责触发信号的线程的执行所需的时间。
SoC块集™模型模拟内核延迟当任务第一次从等待状态移动到运行状态时,作为任务开始执行时的延迟。下图显示了一个高优先级任务和一个低优先级任务在一个模拟单处理器核心的系统上的执行时间。
其他影响内核延迟的因素,例如上下文切换时间,与其他影响相比可以认为是可以忽略的,并且没有在仿真中建模。
内核延迟需要了解处理器规范,通常可以设置为0
不会对模拟产生影响。
这个示例展示了内核延迟对SoC应用程序中两个计时器驱动的任务的行为和计时的影响。
下面的模型模拟了一个带有两个计时器驱动任务的软件应用程序。中指定的任务特征任务管理器block,分别为:
在这些时间条件下,高优先级任务抢占低优先级任务。在“模型配置参数”对话框中,硬件实现>操作系统/ >内核延时调度器被设置为0.002
。
运行模型并打开模拟数据检查器。选择两个任务信号将产生以下显示。
检查模拟数据检查器时,任务状态发生变化等待来运行显示延迟为0.002
秒。但是,当任务改变时抢占来运行时,不会发生延迟。此计时与任务的预期行为相匹配,在启动该任务执行实例时经历延迟,但在任务实例已经存在时则不会。