gpt4 book ai didi

function - 什么更贵?上下文切换还是函数调用?

转载 作者:行者123 更新时间:2023-12-02 21:37:57 25 4
gpt4 key购买 nike

在裸机系统(嵌入式微 Controller 、无 MMU、无分页)上什么更贵?完整的上下文切换(寄存器保存和恢复)或函数调用(激活记录分配)?

我知道这高度依赖于调用约定和硬件功能,但我将如何评估这一点?

编辑:

为了提供更多上下文,我尝试对两种调度方案进行建模。第一个是在任务之间进行上下文切换的抢占式调度程序。第二个是函数指针运行队列,其中任务是分解为多个可排队函数调用的状态机(其中排队发生在 IO 事件驱动的基础上)。

在大多数情况下,我可以收集有关任务花费时间(IO 和 CPU 时间)的良好数据,但我需要一些帮助来计算在模型中添加为常量的额外开销成本。

最佳答案

由于触发上下文切换的系统调用是函数调用,并且可以触发上下文切换的硬件中断类似,(并且需要调用事件/信号量,以及跳转/调用调度程序入口点,来发出上下文切换信号),我想说函数调用在 CPU 周期方面会更便宜,除非传递了不合理数量的参数。

这听起来像是一个 XY 问题 - 你为什么问这个?上下文切换和函数调用几乎是正交的 - 一个是基于堆栈的机制,另一个则完全选择不同的堆栈。

关于function - 什么更贵?上下文切换还是函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25879843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com