SYSTEM VIEW / 06

时间系统模型

TIME SYSTEM · EXECUTION & DEADLINES
从系统节拍、任务响应与中断延迟,到执行时间分析和实时期限,理解 HRTOS 如何管理时间相关的运行约束。
KERNEL TIMING MODEL
SYSTEM VIEW · 06

实时系统不仅要计算正确,还需要在规定的时间范围内完成规定的工作。 时间系统负责建立软件使用的时间基准,并通过节拍、中断、调度与等待机制影响系统何时响应事件、何时切换任务,以及任务能够在什么条件下满足期限要求。

对 HRTOS 而言,系统时间、任务实际执行时间和外部事件响应时间并不是同一个指标。理解这些时间量之间的关系,是分析调度行为与最坏情况执行时间的基础。

System Tick 响应延迟 时间片 执行时间 WCET

一、三个不同的时间概念

分析实时系统时,首先要区分外部世界的时间、内核维护的时间基准,以及处理器实际执行某段代码所消耗的时间。

物理时间 外部事件发生、传感器变化或控制对象响应所处的真实时间尺度。
系统时间 由定时器、Tick 或其他计时机制维护的软件时间基准,用于时间管理与调度相关判断。
执行时间 处理器完成指定代码路径所消耗的时间,需要结合指令、时钟和执行条件分析。

这三者存在关联,但不能互相替代。系统 Tick 可以提供软件时间基准,却不直接等于任务的执行时间;任务执行了多少个 CPU 周期,也不能单独决定外部事件何时得到响应。

Physical time, kernel time and CPU execution time are related but distinct quantities.

二、Tick:系统时间的离散基准

Tick 通常指由定时器产生并由内核处理的周期性时间事件。系统可以基于 Tick 推进软件时间、检查超时条件,或执行与节拍相关的调度工作。

如果定时器每隔固定的时间间隔产生一次有效节拍,那么 Tick 周期决定了基于该节拍计数的时间管理粒度。它并不意味着所有任务都只能在每个 Tick 时刻开始运行。

Tick 周期较短

时间管理可以具有更细的节拍粒度,但定时器中断频率通常更高,也可能增加中断处理和内核维护的开销。

Tick 周期较长

周期性节拍的开销可能降低,但依赖 Tick 检查的超时或延时操作,其可观察和处理粒度可能变粗。

Tick 频率 = 1 / Tick 周期 例如:若 Tick 周期为 1 ms,则对应的节拍频率为 1000 Hz。该示例不代表 HRTOS 的实际配置。
关键区别: Tick 粒度不等于中断响应延迟,也不等于任务切换时间。实际行为还取决于定时器配置、中断屏蔽、内核执行路径及任务调度机制。

三、时间片、延时与超时

时间片与延时机制解决的是不同的问题。时间片用于限制特定调度模式下任务连续占用处理器的时间;延时或超时机制则用于表达任务何时重新具备运行条件,或某个等待条件何时需要被判定为超时。

对依赖周期性 Tick 的延时接口而言,调用时刻相对于 Tick 边界的位置可能影响实际等待时长。分析这类接口时,应检查其计数方式、边界条件、时间单位和超时判断实现,而不能只根据参数值推断精确到期时刻。

四、从事件发生到任务响应

实时响应通常从某个外部事件或硬件中断请求开始,到指定的软件动作真正发生为止。要评估响应时间,必须先定义测量的起点与终点。

事件发生 传感器变化、外设请求或其他触发源
内核处理 中断响应、必要的状态处理及调度相关路径
目标动作 任务开始运行或指定操作实际完成

从事件到任务开始执行的延迟,与从事件到任务完成的总响应时间不同。后者还可能包含任务自身的执行时间,以及执行过程中受到的中断、抢占和资源等待影响。

响应时间 = 目标动作时刻 − 事件参考时刻 必须明确事件参考点与目标动作的测量边界;不同定义得到的响应时间不能直接混用。

分析时还应区分中断请求产生、处理器接受中断、中断服务程序开始执行,以及任务代码真正开始运行等不同时间点。

五、延迟由哪些因素构成?

响应延迟可能受到多个阶段影响,但这些阶段并非在所有系统和所有执行路径中都能简单地作为互不重叠的固定项相加。

不要机械相加: 只有在测量边界明确、阶段定义一致且不存在重复计入时,才能将各项延迟作为独立部分求和。若分析最坏响应时间,还必须考虑不同阶段的最坏条件能否在同一条执行路径上同时发生。

六、平均时间、实测时间与 WCET

时间性能评估至少需要区分三个层次:平均表现、已经观察到的执行时间,以及在明确假设和路径范围内分析得到的最坏情况执行时间。

平均执行时间

可以反映常见工作负载下的性能表现,但平均值无法说明极端执行路径是否满足期限。

实测执行时间

通过 GPIO、定时器或逻辑分析仪测得的结果,可以验证特定硬件、编译版本与测试条件下的实际行为。但测试未覆盖的路径仍可能具有不同的执行时间。

最坏情况执行时间(WCET)

WCET 分析研究指定代码路径和执行条件下的执行时间上界。它需要结合控制流、循环边界、分支条件、指令周期和目标硬件特性,并清楚说明分析范围与假设。

控制流分析 明确分支、循环及可达路径
指令周期分析 结合目标芯片与实际编译产物
上界与验证 记录假设、覆盖范围并用实测交叉检查

对 HRTOS 而言,基于 8051 机器代码开展指令级时间分析,可以把内核执行路径与具体硬件联系起来。但单条路径的指令周期上界,不等于整个系统的最坏响应时间;系统级分析还需要考虑中断干扰、调度行为和任务竞争。

证据边界: 实测最大值是已观察到的结果,不自动构成理论上界;指令路径分析也只有在控制流与执行条件覆盖充分时,才能支持相应范围内的 WCET 结论。

七、时间确定性与实时期限

实时系统的关键不是每次执行都耗费完全相同的时间,而是系统能否在规定的条件下,对执行时间与响应行为给出足够可靠的约束。

任务的实时需求通常包含触发条件、完成期限、允许的响应时间和故障处理要求。是否满足实时要求,需要把实际或经过分析的执行行为与这些需求进行比较。

对具有硬实时要求的任务,超过规定期限可能意味着功能正确性失败,而不仅仅是性能下降。但这一判断应来自系统需求,不应脱离具体应用,把所有延迟或超时都一概视为整个操作系统失效。

八、时间系统与内核其他部分的关系

时间系统并不独立工作。它与调度器、中断管理和内存布局共同影响实际运行行为。

硬件时序 + 内核控制流 + 任务竞争条件 共同构成分析实时响应与执行时间时需要考虑的主要因素;具体模型应以目标系统的实现与需求为准。

九、时间系统模型的语义总结

时间系统将计时基准、执行行为和实时期限联系起来,使系统能够表达、观察并分析时间相关的运行约束。

Tick 用于提供软件时间基准,调度与中断机制影响事件的处理时机,执行时间分析则研究具体路径需要多少处理器时间。它们共同服务于实时需求,但任何一个单独指标都不足以证明整个系统满足硬实时要求。

对 HRTOS 而言,进一步结合目标芯片、实际编译产物、反汇编、测试结果与明确的时间预算,才能逐步建立从内核运行机制到实时性证据的完整链路。

The time system connects timekeeping, execution behavior and deadlines. Real-time claims must be evaluated against explicit requirements, actual implementation and evidence.