在裸机系统(嵌入式微控制器,没有MMU,也没有分页)中,什么更加昂贵?是完整的上下文切换(寄存器保存和恢复),还是函数调用(激活记录分配)?
我知道这高度依赖于调用约定和硬件能力,但我该如何评估这个问题呢?
编辑:
为了提供更多背景信息,我正在尝试建模两个调度方案。第一个是抢占式调度程序,在任务之间进行上下文切换。第二个是函数指针运行队列,其中任务是状态机,分成几个可排队的函数调用(其中排队基于IO事件驱动)。
在大多数情况下,我可以收集有关任务所需时间的良好数据(包括IO和CPU时间),但我需要帮助确定要添加到我的模型中的额外开销成本。
我知道这高度依赖于调用约定和硬件能力,但我该如何评估这个问题呢?
编辑:
为了提供更多背景信息,我正在尝试建模两个调度方案。第一个是抢占式调度程序,在任务之间进行上下文切换。第二个是函数指针运行队列,其中任务是状态机,分成几个可排队的函数调用(其中排队基于IO事件驱动)。
在大多数情况下,我可以收集有关任务所需时间的良好数据(包括IO和CPU时间),但我需要帮助确定要添加到我的模型中的额外开销成本。