当前位置: 首页 > 专利查询>北京大学专利>正文

线程调度方法、装置、芯片、电子设备及存储介质制造方法及图纸

技术编号:37054963 阅读:13 留言:0更新日期:2023-03-29 19:31
本发明专利技术公开了一种线程调度方法、装置、芯片、电子设备及存储介质。方法包括:从第一状态寄存器中确定下一周期对应的线程槽,第一状态寄存器包括多个线程槽,多个线程槽用于按照预设线程调度顺序存储多个线程的线程信息;基于下一周期对应的线程槽存储的线程信息确定下一周期待调度的线程;若下一周期待调度的线程为硬实时线程且硬实时线程为活跃状态,则在下一周期调度硬实时线程;若下一周期待调度的线程为硬实时线程且硬实时线程为休眠状态,或下一周期待调度的线程为软实时线程,则根据上一次调度的软实时线程确定下一周期的软实时线程,并在下一周期调度软实时线程。由此,使得不同级别的线程都能够满足时间约束,并且能够提高系统的吞吐率。高系统的吞吐率。高系统的吞吐率。

【技术实现步骤摘要】
线程调度方法、装置、芯片、电子设备及存储介质
[0001]

本专利技术涉及计算机应用
,尤其涉及一种线程调度方法、装置、芯片、电子设备及存储介质。
[0002]
技术介绍

随着实时系统的发展,在同一系统中集成多个应用的混合关键系统逐渐成为实时领域的研究热点。在混合关键系统中的多个不同应用的关键级别不尽相同,对实时性的要求也不尽相同。设计混合关键系统的重要内容之一是实现资源隔离以减少任务之间的干扰,并通过高效的任务调度,保证不同关键级别的任务都能够满足时间约束。
[0003]为了保障不同级别的任务在计算资源共享的情况下不受干扰,需要提供合适的隔离及调度策略。常用的隔离策略有基于硬件的隔离、基于软件的隔离、以及基于软硬件结合的隔离,但是相关技术中的隔离策略存在系统吞吐量低的问题。
[0004]需要说明的是,本
技术介绍
部分中公开的信息仅用于理解本申请构思的
技术介绍
,并且因此,它可以包含不构成现有技术的信息。

技术实现思路

[0005]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种线程调度方法、装置、芯片、电子设备及存储介质,通过为不同级别的线程设置状态寄存器,以指导线程的硬件自动调度,使得不同级别的线程都能够满足时间约束,并且在保证硬实时线程能够以固定频率调度的同时,基于空闲周期调度软实时线程,提高了系统的吞吐率。
[0006]为达上述目的,本专利技术第一方面实施例提出一种线程调度方法,方法包括:从第一状态寄存器中确定下一周期对应的线程槽,其中,第一状态寄存器包括多个线程槽,多个线程槽用于按照预设线程调度顺序存储多个线程的线程信息;基于下一周期对应的线程槽存储的线程信息确定下一周期待调度的线程;若下一周期待调度的线程为硬实时线程且硬实时线程为活跃状态,则在下一周期调度硬实时线程;若下一周期待调度的线程为硬实时线程且硬实时线程为休眠状态,或者下一周期待调度的线程为软实时线程,则根据上一次调度的软实时线程确定下一周期的软实时线程,并在下一周期调度软实时线程。
[0007]在本专利技术的一些实施例中,线程信息包括硬实时线程的标识信息和软实时线程的标志信息,基于下一周期对应的线程槽存储的线程信息确定下一周期待调度的线程,包括:若线程信息为标识信息,则确定下一周期待调度的线程为硬实时线程;若线程信息为标志信息,则确定下一周期待调度的线程为软实时线程。
[0008]在本专利技术的一些实施例中,在确定下一周期待调度的线程为硬实时线程之后,方
法还包括:基于标识信息从第二状态寄存器中确定硬实时线程的状态,其中,第二状态寄存器用于存储与标识信息对应的硬实时线程的状态,状态包括活跃状态和休眠状态。
[0009]在本专利技术的一些实施例中,根据上一次调度的软实时线程确定下一周期的软实时线程,包括:根据上一次调度的软实时线程从第二状态寄存器中确定下一周期的软实时线程,其中,第二状态寄存器用于按照预设线程调度顺序存储软实时线程的标志信息和状态,状态包括活跃状态和休眠状态。
[0010]在本专利技术的一些实施例中,线程调度方法还包括:响应硬实时线程的创建指令,给硬实时线程分配独占的线程槽;响应软实时线程的创建指令,给软实时线程分配共用的线程槽。
[0011]在本专利技术的一些实施例中,线程调度方法还包括:响应软实时线程修改为硬实时线程的修改指令,若软实时线程具有独占的线程槽,则保持线程槽不变;若软实时线程不具有独占的线程槽,则给软实时线程分配独占的线程槽;若软实时线程为唯一的软实时线程,则给软实时线程分配独占的线程槽,并去除软实时线程对应的共用的线程槽。
[0012]在本专利技术的一些实施例中,线程调度方法还包括:响应硬实时线程修改为软实时线程的修改指令,若硬实时线程不具有独占的线程槽,则保持线程槽不变;若硬实时线程具有独占的线程槽,则去除硬实时线程对应的独占的线程槽;若不具有软实时线程且不具有软实时线程对应的共用的线程槽,则给硬实时线程分配共用的线程槽。
[0013]在本专利技术的一些实施例中,线程调度方法还包括:确定硬实时线程退出,去除硬实时线程对应的独占的线程槽;确定软实时线程退出,若软实时线程具有独占的线程槽,则去除软实时线程对应的独占的线程槽;确定软实时线程退出,若软实时线程为唯一的软实时线程,则去除软实时线程对应的共用的线程槽。
[0014]在本专利技术的一些实施例中,线程调度方法还包括:响应线程的休眠指令,控制线程进入休眠状态,并在当前时间达到目标时间时,控制线程进入活跃状态,其中,线程为硬实时线程或软实时线程,休眠指令为延时指令或等待指令,当前时间由当前时间获取指令获取,目标时间由目标时间设定指令确定。
[0015]在本专利技术的一些实施例中,线程调度方法还包括:响应线程的中断指令,控制线程进入活跃状态,其中,中断指令用于在当前时间达到目标时间时触发中断,中断指令为正常中断指令或异常中断指令,线程为硬实时线程或软实时线程,当前时间由当前时间获取指令获取,目标时间由目标时间设定指令确定。
[0016]为达上述目的,本专利技术第二方面实施例提出了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一实施例的线程调度方法。
[0017]为达上述目的,本专利技术第三方面实施例提出了一种芯片,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时,实现上述任一实施例的线程调度方法。
[0018]为达上述目的,本专利技术第四方面实施例提出了一种电子设备,包括前述的芯片。
[0019]为达上述目的,本专利技术第五方面实施例提出了一种线程调度装置,装置包括:确定模块,用于从第一状态寄存器中确定下一周期对应的线程槽,并基于下一周期对应的线程槽存储的线程信息确定下一周期待调度的线程,其中,第一状态寄存器包括多个线程槽,多个线程槽用于按照预设线程调度顺序存储多个线程的线程信息;调度模块,用于若下一周
期待调度的线程为硬实时线程且硬实时线程为活跃状态,则在下一周期调度硬实时线程,以及若下一周期待调度的线程为硬实时线程且硬实时线程为休眠状态,或者下一周期待调度的线程为软实时线程,则根据上一次调度的软实时线程确定下一周期的软实时线程,并在下一周期调度软实时线程。
[0020]在本专利技术的一些实施例中,线程信息包括硬实时线程的标识信息和软实时线程的标志信息,确定模块还用于:若线程信息为标识信息,则确定下一周期待调度的线程为硬实时线程;若线程信息为标志信息,则确定下一周期待调度的线程为软实时线程。
[0021]在本专利技术的一些实施例中,确定模块还用于:在确定下一周期待调度的线程为硬实时线程之后,基于标识信息从第二状态寄存器中确定硬实时线程的状态,其中,第二状态寄存器用于存储与标识信息对应的硬实时线程的状态,状态包括活跃状态和休眠状态。
[0022]在本专利技术的一些实施例中,调度模块还用于:根据上一次调度的软实时线程从第二状态寄存器中确定下一周期的软实时线程,其中,第二状态寄存器用于按照预设线程调度顺本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程调度方法,其特征在于,所述方法包括:从第一状态寄存器中确定下一周期对应的线程槽,其中,所述第一状态寄存器包括多个线程槽,所述多个线程槽用于按照预设线程调度顺序存储多个线程的线程信息;基于所述下一周期对应的线程槽存储的线程信息确定所述下一周期待调度的线程;若所述下一周期待调度的线程为硬实时线程且所述硬实时线程为活跃状态,则在所述下一周期调度所述硬实时线程;若所述下一周期待调度的线程为所述硬实时线程且所述硬实时线程为休眠状态,或者所述下一周期待调度的线程为软实时线程,则根据上一次调度的软实时线程确定所述下一周期的软实时线程,并在所述下一周期调度所述软实时线程。2.根据权利要求1所述的方法,其特征在于,所述线程信息包括所述硬实时线程的标识信息和所述软实时线程的标志信息,所述基于所述下一周期对应的线程槽存储的线程信息确定所述下一周期待调度的线程,包括:若所述线程信息为所述标识信息,则确定所述下一周期待调度的线程为所述硬实时线程;若所述线程信息为所述标志信息,则确定所述下一周期待调度的线程为所述软实时线程。3.根据权利要求2所述的方法,其特征在于,在确定所述下一周期待调度的线程为所述硬实时线程之后,所述方法还包括:基于所述标识信息从第二状态寄存器中确定所述硬实时线程的状态,其中,所述第二状态寄存器用于存储与所述标识信息对应的硬实时线程的状态,所述状态包括所述活跃状态和所述休眠状态。4.根据权利要求1所述的方法,其特征在于,所述根据上一次调度的软实时线程确定所述下一周期的软实时线程,包括:根据所述上一次调度的软实时线程从第二状态寄存器中确定所述下一周期的软实时线程,其中,所述第二状态寄存器用于按照所述预设线程调度顺序存储所述软实时线程的标志信息和状态,所述状态包括所述活跃状态和所述休眠状态。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应所述硬实时线程的创建指令,给所述硬实时线程分配独占的线程槽;响应所述软实时线程的创建指令,给所述软实时线程分配共用的线程槽。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应所述软实时线程修改为所述硬实时线程的修改指令,若所述软实时线程具有独占的线程槽,则保持所述线程槽不变;若所述软实时线程不具有独占的线程槽,则给所述软实时线程分配独占的线程槽;若所述软实时线程为唯一的软实时线程,则给所述软实时线程分配独占的线程槽,并去除所述软实时线程对应的共用的线程槽。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应所述硬实时线程修改为所述软实时线程的修改指令,若所述硬实时线程不具有独占的线程槽,则保持所述线程槽不变;若所述硬实时线程具有独占的线程槽,则去除所述硬实时线程对应的独占的线程槽;
若不具有所述软实时线程且不具有所述软实时线程对应的共用的线程槽,则给所述硬实时线程分配共用的线程槽。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述硬实时线程退出,去除所述硬实时线程对应的独占的线程槽;确定所述软实时线程退出,若所述软实时线程具有独占的线程槽,则去除所述软实时线程对应的独占的线程槽;确定所述软实时线程退出,若所述软实时线程为唯一的软实时线程,则去除所述软实时线程对应的共用的线程槽。9.根据权利要求1

8任一项所述的方法,其特征在于,所述方法还包括:响应线程的休眠指令,控制所述线程进入休眠状态,并在当前时间达到目标时间时,控制所述线程进入活跃状态,其中,所述线程为所述硬实时线程或所述软实时线程,所述休眠指令为延时指令或等待指令,所述当前时间由当前时间获取指令获取,所述目标时间由目标时间设定指令确定。10.根据权利要求1

8任一项所述的方法,其特征在于,所述方法还包括:响应线程的中断指令,控制所述线程进入活跃状态,其中,所述中断指令用于在当前时间达到目标时间时触发中断,所述中断指令为正常中断指令或异常中断指令,所述线程为所述硬实时线程或所述软实时线程,所述当前时间由当前时间获取指令获取,所述目标时间由目标时间设定指令确定。11.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现根据权利要求1

10任一项所述的线程调度方法。...

【专利技术属性】
技术研发人员:李德建刘先华张喆赵秀嘉李伟立程旭李雷种挺
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1