SoC上的任务调度方法、电子设备及机器可读存储介质技术

技术编号:38467116 阅读:11 留言:0更新日期:2023-08-11 14:44
本发明专利技术提供了一种SoC上的任务调度方法、电子设备及机器可读存储介质,本发明专利技术提供的方法中,首先获取SoC上可预期性调度的多个任务线程的预设执行时长和预设执行顺序,然后当任一任务线程开始执行时,开始对任务线程的执行时间计时,若计时达到该任务线程对应的预设执行时长而任务线程未执行完成,确定任务线程为第一任务线程,控制第一任务线程关闭且根据预设执行顺序控制第二任务线程开启,其中,第二任务线程为第一任务线程的下一任务线程,从而确保软件运行时长不超过WCET,软件一直正常运行,增强了软件的健壮性。增强了软件的健壮性。增强了软件的健壮性。

【技术实现步骤摘要】
SoC上的任务调度方法、电子设备及机器可读存储介质


[0001]本专利技术涉及汽车
,特别是涉及一种SoC上的任务调度方法。

技术介绍

[0002]对于实时性要求高的汽车场景中,高性能处理器(SoC,system on chip)上的可预期性调度中会有WCET(worst case excute time,最差场景执行时间),基于WCET来准确无误执行可预期性调度的其他逻辑。
[0003]而WCET是工程师理论计算+实车测试得到的值,在真实的长时间的汽车运行过程中,有可能会遇到软件运行时间超过WCET的场景,这种情况必须要考虑进去。目前有些可预期性调度方案是直接关闭或者重启软件,应对这种异常情况如何使软件能继续正常运行下去亟待解决。本专利技术提供了一种方法,该方法可以很好的弥补此异常,使软件继续正常执行。

技术实现思路

[0004]本专利技术的目的是要提供一种SoC上的任务调度方法,确保软件运行时间不会超过WCET。
[0005]特别地,根据本专利技术的一个方面,提供了一种SoC上的任务调度方法,包括:
[0006]获取所述SoC上可预期性调度的多个任务线程的预设执行时长和预设执行顺序;
[0007]当任一所述任务线程开始执行,开始对所述任务线程的执行时间计时;
[0008]若计时达到所述任务线程对应的预设执行时长而所述任务线程未执行完成,确定所述任务线程为第一任务线程,控制所述第一任务线程关闭且根据所述预设执行顺序控制第二任务线程开启,其中,所述第二任务线程为所述第一任务线程的下一任务线程。
[0009]可选地,所述根据所述预设执行顺序控制所述第二任务线程开启后,还包括:
[0010]判断所述第二任务线程是否在其对应的第二预设执行时长内执行完成;
[0011]若是,计算所述第二任务线程的执行时长和所述第二预设执行时长的差值;
[0012]若所述差值大于预设百分比的所述第一任务进程对应的第一预设时长,控制所述第一任务线程继续执行。
[0013]可选地,所述判断所述第二任务线程是否在其对应的第二预设执行时长内执行完成后,还包括:
[0014]若所述第二任务线程未在其对应的第二预设执行时长内执行完成,则在计时达到所述第二预设执行时长时根据所述预设执行顺序控制第三任务线程开启,其中,所述第三任务进程为所述第二任务进程的下一任务进程。
[0015]可选地,所述计算所述第二任务线程的执行时长和所述第二预设执行时长的差值后,还包括:
[0016]若所述差值小于或等于预设百分比的所述第一预设时长,则在计时达到所述第二预设执行时长时根据所述预设执行顺序控制第三任务线程开启,其中,所述第三任务进程
为所述第二任务进程的下一任务进程。
[0017]可选地,所述控制所述第一任务线程继续执行后,还包括:
[0018]当计时达到所述第二预设执行时长时根据所述预设执行顺序控制控制第三任务线程开启,其中,所述第三任务线程为所述第二任务线程的下一任务线程。
[0019]可选地,所述控制所述第一任务线程继续执行后,还包括:当所述第一任务线程执行完成时,将所述第一任务线程执行完成这一信息输出至应用层。
[0020]可选地,当计时达到所述任务线程对应的预设执行时长而所述任务线程未执行完成,还包括:
[0021]将所述任务线程未执行完成这一信息输出至应用层。
[0022]可选地,所述对所述任务线程的执行时间进行计时后,还包括:
[0023]若所述任务线程的执行完成时长小于或等于所述任务线程对应的预设执行时长,则在计时达到所述预设执行时长时,控制所述任务线程关闭。
[0024]根据本专利技术的另一个方面,还提供了一种电子设备,包括:
[0025]存储器和处理器,所述存储器内存储有控制程序,所述控制程序被所述处理器执行时用于实现根据上述任一项所述的SoC上的任务调度方法。
[0026]根据本专利技术的再一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,其中
[0027]所述机器可执行程序被处理器执行时用于实现根据上述任一项所述的SoC上的任务调度方法。
[0028]本专利技术提出的SoC上的任务调度方法中,首先获取SoC上可预期性调度的多个任务线程的预设执行时长和预设执行顺序,然后当任一任务线程开始执行时,开始对任务线程的执行时间计时,若计时达到该任务线程对应的预设执行时长而任务线程未执行完成,确定任务线程为第一任务线程,控制第一任务线程关闭且根据预设执行顺序控制第二任务线程开启,其中,第二任务线程为所述第一任务线程的下一任务线程,从而确保软件运行时长不超过WCET,软件一直正常运行,增强了软件的健壮性。
[0029]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
[0030]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0031]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0032]图1是根据本专利技术一个实施例的SoC上的任务调度方法的流程示意图;
[0033]图2是根据本专利技术一个实施例的SoC上的任务调度方法的实例图;
[0034]图3是根据本专利技术一个实施例的电子设备的结构框图。
具体实施方式
[0035]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0036]需要说明的是,在不冲突的前提下本专利技术实施例及可选实施例中的技术特征可以相互结合。
[0037]图1是根据本专利技术一个实施例的SoC上的任务调度方法的流程示意图。参见图1所示,该方法至少包括如下步骤S102

S106。
[0038]步骤S102:获取SoC上可预期性调度的多个任务线程的预设执行时长和预设执行顺序。
[0039]步骤S104:当任一任务线程开始执行,开始对任务线程的执行时间计时。
[0040]步骤S106:若计时达到任务线程对应的预设执行时长而任务线程未执行完成,确定任务线程为第一任务线程,控制第一任务线程关闭且根据预设执行顺序控制第二任务线程开启,其中,第二任务线程为第一任务线程的下一任务线程。
[0041]其中,任务线程对应的预设执行时长即为该任务线程对应的WCET。
[0042]本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SoC上的任务调度方法,包括:获取所述SoC上可预期性调度的多个任务线程的预设执行时长和预设执行顺序;当任一所述任务线程开始执行,开始对所述任务线程的执行时间计时;若计时达到所述任务线程对应的预设执行时长而所述任务线程未执行完成,确定所述任务线程为第一任务线程,控制所述第一任务线程关闭;根据所述预设执行顺序控制第二任务线程开启,其中,所述第二任务线程为所述第一任务线程的下一任务线程。2.根据权利要求1所述的方法,其特征在于,所述根据所述预设执行顺序控制所述第二任务线程开启后,还包括:判断所述第二任务线程是否在其对应的第二预设执行时长内执行完成;若是,计算所述第二任务线程的执行时长和所述第二预设执行时长的差值;若所述差值大于预设百分比的所述第一任务进程对应的第一预设时长,控制所述第一任务线程继续执行。3.根据权利要求2所述的方法,其特征在于,所述判断所述第二任务线程是否在其对应的第二预设执行时长内执行完成后,还包括:若所述第二任务线程未在其对应的第二预设执行时长内执行完成,则在计时达到所述第二预设执行时长时根据所述预设执行顺序控制第三任务线程开启,其中,所述第三任务进程为所述第二任务进程的下一任务进程。4.根据权利要求2所述的方法,其特征在于,所述计算所述第二任务线程的执行时长和所述第二预设执行时长的差值后,还包括:若所述差值小于或等于预设百分比的所述第一预设时长,则在计时达到所述第...

【专利技术属性】
技术研发人员:孙书行
申请(专利权)人:亿咖通湖北技术有限公司
类型:发明
国别省市:

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

1