技术新讯 > 计算推算,计数设备的制造及其应用技术 > 多任务切换方法、装置、嵌入式系统和介质与流程  >  正文

多任务切换方法、装置、嵌入式系统和介质与流程

  • 国知局
  • 2024-07-31 23:14:09

本发明涉及嵌入式操作系统,特别是涉及一种多任务切换方法、装置、嵌入式系统和介质。

背景技术:

1、嵌入式系统一般指的是用于控制和执行特定任务的小型计算系统,在各个领域中得到了广泛应用。一般的嵌入式系统更加注重对实用性和可靠性的要求,但由于受限于体积、能耗、成本等方面的约束,以及处理器技术发展的限制,嵌入式系统的运算处理性能相对较弱,存储器容量一般较小。因此,应用在嵌入式系统的嵌入式操作系统需要采用精简并且实时性高的任务调度策略来保证系统的稳定性和高效性。

2、嵌入式操作系统的核心是任务调度器,它负责对系统中多个任务进行安排和分配,使得不同任务可以合理有效的系统工作,最终完成系统的各种功能。上下文切换时多任务切换中的一个重要且必要环节。在嵌入式操作系统,上下文指的是一个任务运行时所需要的环境条件,包含每个任务的执行状态、加载地址、堆栈地址等。这些信息一般都存在处理器的通用寄存器里。每个任务都有自己独立的上下文数据,它们在运行时采用动态切换的方式共享处理器硬件的通用寄存器。如图1和图2所示,图1示出了相关技术中多任务上下文切换的硬件架构示意图,图2示出了相关技术中上下文切换的处理流程示意图。当任务调度器进行任务调度时,操作系统将依次执行以下三步:

3、(1)操作系统将会把当前任务的上下文(表现为处理器当前的通用寄存器内容)保存到该任务私有的存储区域;

4、(2)将下一个任务的上下文从它对应的存储区域(即下一任务的对应私有存储区域)取出,写入当前处理器的通用寄存器;

5、(3)将处理器执行指针指向下一个任务,跳转到下一个任务开始执行。

6、经过以上三个步骤,嵌入式操作系统就完成了从当前任务切换到下一个任务。

7、在相关技术中,为了提高嵌入式操作系统的任务调度的效率,提供了不同的任务调度策略,但无论采用何种任务调度策略,在任务切换过程中,上下文切换需要经过上述三个步骤的处理,使得任务切换占用较多的处理时间,对嵌入式系统的实时性影响较大,无法有效地提高任务调度的效率。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够减少上下文切换时间花销的多任务切换方法、装置、嵌入式系统和介质。

2、一种多任务切换方法,应用于处理器,所述处理器配置有n组第一通用寄存器,每组所述第一通用寄存器用于分配给一个任务,其中n为大于1的整数,所述方法包括:

3、在接收到任务切换请求时,确定所述任务切换请求的目标任务;

4、将处理器的通用寄存器切换至所述目标任务分配的第一通用寄存器,获取所述目标任务分配的第一通用寄存器中存储的所述目标任务的上下文,并执行所述目标任务。

5、上述方案中,所述处理器还配置有一组第二通用寄存器,所述方法还包括:

6、判断所述目标任务所分配的通用寄存器;

7、若所述目标任务所分配的通用寄存器为所述第一通用寄存器,则执行所述获取所述目标任务分配的第一通用寄存器中存储的所述目标任务的上下文的步骤;

8、若所述目标任务所分配的通用寄存器为所述第二通用寄存器,则将所述目标任务的上下文从所述目标任务的私有存储区写入所述第二通用寄存器,将处理器的通用寄存器切换至所述目标任务分配的第二通用寄存器,从所述第二通用寄存器获取所述目标任务的上下文,并执行所述目标任务。

9、上述方案中,所述方法还包括:

10、判断当前执行任务所分配的通用寄存器;

11、若所述当前执行任务所分配的通用寄存器为所述第二通用寄存器,则将所述当前执行任务的上下文从所述第二通用寄存器写入所述当前执行任务的私有存储区。

12、上述方案中,所述方法还包括:

13、获取待分配任务的数量;

14、若数量大于n,则为n个不同的待分配任务分配对应的所述第一通用寄存器,并为剩余的待分配任务分配所述第二通用寄存器;

15、若数量小于等于n,则为每个待分配任务分配对应的所述第一通用寄存器。

16、上述方案中,为待分配任务分配对应的所述第一通用寄存器,包括:

17、根据所述待分配任务的编号,为所述待分配任务所述第一通用寄存器;所述任务的编号与分配的所述第一通用寄存器的寄存器分组号相同。

18、上述方案中,所述判断所述目标任务所分配的通用寄存器,包括:

19、根据所述目标任务的编号与n的大小关系,确定所述目标任务所分配的通用寄存器。

20、上述方案中,所述处理器还配置有设定寄存器,所述方法还包括:

21、将所述目标任务所分配的通用寄存器对应的寄存器分组号写入到所述设定寄存器。

22、一种多任务切换装置,应用于处理器,所述处理器配置有n组第一通用寄存器,每组所述第一通用寄存器用于分配给一个任务,其中n为大于1的整数,所述装置包括:

23、处理模块,用于在接收到任务切换请求时,将当前执行任务的上下文存储在所述当前执行任务分配的第一通用寄存器中,并确定所述任务切换请求的目标任务;

24、执行模块,用于获取所述目标任务分配的第一通用寄存器中存储的所述目标任务的上下文,并执行所述目标任务。

25、一种嵌入式系统,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述多任务切换方法的步骤。

26、一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述多任务切换方法的步骤。

27、上述多任务切换方法、装置、嵌入式系统和介质,通过在处理器硬件上提出了多组第一通用寄存器的架构,将每组第一通用寄存器分配给一个任务,使得第一通用寄存器被一个任务单独占用,从而在接收到任务切换请求时,可以当前执行任务的上下文已经存储在当前执行任务分配的第一通用寄存器中,不需要额外存储当前执行任务的上下文的操作,从而可以直接将处理器的通用寄存器切换至目标任务分配的第一通用寄存器,从目标任务分配的第一通用寄存器中获取目标任务的上下文,在整个任务切换的过程中不需要进行上下文搬迁操作,提高了任务切换的调度效率和系统软件的运行速度。

技术特征:

1.一种多任务切换方法,其特征在于,应用于处理器,所述处理器配置有n组第一通用寄存器,每组所述第一通用寄存器用于分配给一个任务,其中n为大于1的整数,所述方法包括:

2.根据权利要求1所述的多任务切换方法,其特征在于,所述处理器还配置有一组第二通用寄存器,所述方法还包括:

3.根据权利要求2所述的多任务切换方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的多任务切换方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的多任务切换方法,其特征在于,为待分配任务分配对应的所述第一通用寄存器,包括:

6.根据权利要求4所述的多任务切换方法,其特征在于,所述判断所述目标任务所分配的通用寄存器,包括:

7.根据权利要求1或2所述的多任务切换方法,其特征在于,所述处理器还配置有设定寄存器,所述方法还包括:

8.一种多任务切换装置,其特征在于,应用于处理器,所述处理器配置有n组第一通用寄存器,每组所述第一通用寄存器用于分配给一个任务,其中n为大于1的整数,所述装置包括:

9.一种嵌入式系统,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述多任务切换方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述多任务切换方法的步骤。

技术总结本发明公开了涉及嵌入式操作系统技术领域的一种多任务切换方法、装置、嵌入式系统和介质,所述方法用于解决上下文切换时间花销大的问题,该方法应用于处理器,处理器配置有N组第一通用寄存器,每组所述第一通用寄存器用于分配给一个任务,其中N为大于1的整数,该方法包括:在接收到任务切换请求时,确定所述任务切换请求的目标任务;将处理器的通用寄存器切换至所述目标任务分配的第一通用寄存器,获取所述目标任务分配的第一通用寄存器中存储的所述目标任务的上下文,并执行所述目标任务。采用该方法能够缩短了任务切换时的软件数据搬移执行时间,实现了上下文切换时间上的优化,提高了任务切换的调度效率和系统软件的运行速度。技术研发人员:张恩勤,程雯,洪茵秋受保护的技术使用者:苏州萨沙迈半导体有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/196571.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。