CN120196516A 时间戳计数器的工作状态处理方法、电子设备及程序产品_第1页
CN120196516A 时间戳计数器的工作状态处理方法、电子设备及程序产品_第2页
CN120196516A 时间戳计数器的工作状态处理方法、电子设备及程序产品_第3页
CN120196516A 时间戳计数器的工作状态处理方法、电子设备及程序产品_第4页
CN120196516A 时间戳计数器的工作状态处理方法、电子设备及程序产品_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(10)申请公布号CN120196516A有限公司11205(54)发明名称时间戳计数器的工作状态处理方法、电子设备及程序产品本申请公开了一种时间戳计数器的工作状态处理方法、电子设备及程序产品,涉及计算机技术领域,在从处理器的多个处理器核中划分出预设数量的目标处理器核的基础上,通过对目标处理器核进行隔离处理、将目标任务与目标处理器核进行绑定、以及对目标处理器核进行中断屏蔽处理,实现目标处理器核不受硬件中断或处理器中的其他处理器核的运行状态的影响,进而在目标处理器核按照目标工作状态处理目标任务的过程中,根据采集的目标处理器核中的时间戳计数器的多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配,实现时间戳计数器的工作状态与目标工作状态匹配,即解决了相根据目标任务,确定目标处理器核的21.一种时间戳计数器的工作状态处理方法,其特征从处理器的多个处理器核中划分出预设数量的目标处理器核;通过调用预设隔离指令,对所述目标处理器核进行隔离处理,使得所述目标处理器核从操作系统的任务调度器中移除;通过调用预设绑定指令,将目标任务与所述目标处理器核进行绑定;通过调用预设的屏蔽指令,对所述目标处理器核进行中断屏蔽处理;根据所述目标任务,确定所述目标处理器核的目标工作状态;在所述目标处理器核按照所述目标工作状态处理所述目标任务的过程中,采集所述目标处理器核中的时间戳计数器的多个计数值;根据所述多个计数值,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹若所述时间戳计数器的工作状态与所述目标工作状态不匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至所述时间戳计数器的工作状态与所述目标工作状态匹配。2.根据权利要求1所述的时间戳计数器的工作状态处理方法,其特征在于,所述根据所述多个计数值,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹配,包括:根据所述多个计数值,得到所述目标任务的多个执行时长;根据所述目标任务,确定预设时长阈值;根据所述多个执行时长和所述预设时长阈值,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹配。3.根据权利要求2所述的时间戳计数器的工作状态处理方法,其特征在于,所述根据所述多个执行时长和所述预设时长阈值,监测所述时间戳计数器的工作状态是否与所述目标根据所述多个执行时长和所述预设时长阈值,生成时长方差;根据所述时长方差与预设方差阈值的大小关系,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹配。4.根据权利要求3所述的时间戳计数器的工作状态处理方法,其特征在于,所述根据所述多个执行时长和所述预设时长阈值,生成时长方差的计算公式,为:5.根据权利要求1所述的时间戳计数器的工作状态处理方法,其特征在于,所述从处理器的多个处理器核中划分出预设数量的目标处理器核,包括:确定所述目标任务的任务复杂度;若所述目标任务的任务复杂度大于或等于预设复杂度限值,则按照第一预设数量从处理器的多个处理器核中划分出目标处理器核;若所述目标任务的任务复杂度小于所述预设复杂度限值,则按照第二预设数量从处理器的多个处理器核中划分出目标处理器核;3其中所述第一预设数量大于所述第二预设数量。6.根据权利要求5所述的时间戳计数器的工作状态处理方法,其特征在于,所述目标任务包括多个目标子任务;获取各目标子任务的执行时间;获取所述目标子任务之外的各普通子任务的执行时间;根据所述各目标子任务的执行时间、所述各普通子任务的执行时间,将所述处理器的预设执行周期划分为多段执行周期;针对各段执行周期,在一段执行周期内确定对应的目标子任务的目标任务数量、普通子任务的普通任务数量;根据所述目标任务数量和所述普通任务数量,确定所述目标任务的任务复杂度。7.根据权利要求5所述的时间戳计数器的工作状态处理方法,其特征在于,所述目标任务包括多个目标子任务;获取目标子任务的任务数量;根据所述目标子任务的任务数量,确定所述目标任务的任务复杂度。8.根据权利要求1-7任一项所述的时间戳计数器的工作状态处理方法,其特征在于,在所述根据所述目标任务,确定所述目标处理器核的目标工作状态之后,还包括:获取所述目标处理器核的当前工作状态;判断所述目标处理器核的当前工作状态是否为所述目标工作状态;若所述目标处理器核的当前工作状态为所述目标工作状态,则执行在所述目标处理器核按照所述目标工作状态处理所述目标任务的过程中,采集所述目标处理器核中的时间戳计数器的多个计数值的步骤;若所述目标处理器核的当前工作状态不为所述目标工作状态,则在将所述目标处理器核的当前工作状态变更为所述目标工作状态之后,执行在所述目标处理器核按照所述目标工作状态处理所述目标任务的过程中,采集所述目标处理器核中的时间戳计数器的多个计数值的步骤;若无法将所述目标处理器核的当前工作状态变更为所述目标工作状态,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至所述目标处理器核的当前工作状态为所述目标工作状态之后,执行在所述目标处理器核按照所述目标工作状态处理所述目标任务的过程中,采集所述目标处理器核中的时间戳计数器的多个计数值的步骤。9.根据权利要求1所述的时间戳计数器的工作状态处理方法,其特征在于,所述在所述目标处理器核按照所述目标工作状态处理所述目标任务的过程中,采集所述目标处理器核中的时间戳计数器的多个计数值之前,还包括:获取所述目标任务的任务执行开始时刻;根据所述目标任务,确定对应的第一测试任务;在所述目标任务的任务执行开始时刻之前,控制所述目标处理器核按照所述目标工作状态处理所述第一测试任务,采集所述目标处理器核中的时间戳计数器的多个第一测试计4根据所述多个第一测试计数值,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹配;若所述时间戳计数器的工作状态不与所述目标工作状态匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至所述时间戳计数器的工作状态与所述目标工作状态匹配。10.根据权利要求1所述的时间戳计数器的工作状态处理方法,其特征在于,在根据所述目标任务,确定所述目标处理器核的目标工作状态之后,还包括:确定所述目标处理器核的各空闲时间;从所述各空闲时间中选取一个或多个空闲时间,确定为测试时间;在各测试时间下,根据所述目标任务,确定对应的第二测试任务;控制所述目标处理器核按照所述目标工作状态处理所述第二测试任务,采集所述目标处理器核中的时间戳计数器的多个第二测试计数值;根据所述多个第二测试计数值,监测所述时间戳计数器的工作状态是否与所述目标工作状态匹配;若所述时间戳计数器的工作状态不与所述目标工作状态匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至所述时间戳计数器的工作状态与所述目标工作状态匹配。11.根据权利要求10所述的时间戳计数器的工作状态处理方法,其特征在于,所述确定所述目标处理器核的各空闲时间,包括:获取所述目标任务的执行时间、所述目标处理器核的预设执行周期;根据所述目标任务的执行时间,从所述目标处理器核的预设执行周期中,筛选确定所述目标处理器核的各空闲时间。12.根据权利要求1所述的时间戳计数器的工作状态处理方法,其特征在于,还包括:在所述目标处理器核处理完成所述目标任务后,得到开始时刻的计数值和完成时刻的根据所述开始时刻的计数值和所述完成时刻的计数值,输出完成处理所述目标任务的处理时长。处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述时间戳计数器的工作状态处理方法的步骤。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述时间戳计数器的工作状态处理方法的步骤。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述时间戳计数器的工作状态处理方法的步骤。5时间戳计数器的工作状态处理方法、电子设备及程序产品技术领域[0001]本申请涉及计算机技术领域,尤其涉及时间戳计数器的工作状态处理方法、电子设备及程序产品。背景技术[0002]当前,在处理器执行相关任务的进程时,会基于时间戳计数器所采集的计数值确定处理器核执行相关任务的执行时长,进而根据执行时长判断处理器核执行相关任务时所占用的资源情况。[0003]然而,时间戳计数器的工作状态常常受到硬件中断或处理器中的其他处理器核运行状态的影响,进而导致基于时间戳计数器所采集的计数值存在不准确的问题。发明内容[0004]本申请提供了时间戳计数器的工作状态处理方法、电子设备及程序产品,以至少解决相关技术中基于时间戳计数器所采集的计数值存在不准确的问题。[0005]本申请提供了一种时间戳计数器的工作状态处理方法,包括:[0006]从处理器的多个处理器核中划分出预设数量的目标处理器核;通过调用预设隔离指令,对目标处理器核进行隔离处理,使得目标处理器核从操作系统的任务调度器中移除;通过调用预设绑定指令,将目标任务与目标处理器核进行绑定;通过调用预设的屏蔽指令,对目标处理器核进行中断屏蔽处理;根据目标任务,确定目标处理器核的目标工作状态;在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值;根据多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配;若时间戳计数器的工作状态与目标工作状态不匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至时间戳计数器的工作状态与目标工作状态匹配。[0007]本申请还提供了一种时间戳计数器的工作状态处理装置,包括:[0008]划分模块,用于从处理器的多个处理器核中划分出预设数量的目标处理器核;[0009]第一处理模块,用于通过调用预设隔离指令,对目标处理器核进行隔离处理,使得目标处理器核从操作系统的任务调度器中移除;通过调用预设绑定指令,将目标任务与目标处理器核进行绑定;通过调用预设的屏蔽指令,对目标处理器核进行中断屏蔽处理;[0010]第二处理模块,用于根据目标任务,确定目标处理器核的目标工作状态;在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值;根据多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配;若时间戳计数器的工作状态与目标工作状态不匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至时间戳计数器的工作状态与目标工作状态匹6执行计算机程序时实现上述任一种时间戳计数器的工作状态处理方法的步骤。[0012]本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种时间戳计数器的工作状态处理方法的步骤。[0013]本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种时间戳计数器的工作状态处理方法的步骤。[0014]通过本申请提供的时间戳计数器的工作状态处理方法、电子设备及程序产品,在从处理器的多个处理器核中划分出预设数量的目标处理器核的基础上,通过对目标处理器核进行隔离处理、将目标任务与目标处理器核进行绑定、以及对目标处理器核进行中断屏蔽处理,实现目标处理器核不受硬件中断或处理器中的其他处理器核的运行状态的影响,进而在目标处理器核按照目标工作状态处理目标任务的过程中,根据采集的目标处理器核中的时间戳计数器的多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配,实现时间戳计数器的工作状态与目标工作状态匹配,即解决了相关技术中基于时间戳计数器所采集的计数值存在不准确的问题。附图说明[0015]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0016]图1为本申请实施例提供的时间戳计数器的工作状态处理方法的流程示意图一;[0017]图2为本申请实施例提供的时间戳计数器的工作状态处理方法的流程示意图二;[0018]图3为本申请实施例提供的时间戳计数器的工作状态处理装置的结构示意图;[0019]图4为本申请提供的电子设备的结构示意图。具体实施方式[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设特定的顺序或先后次序。[0022]当前,在处理器执行相关任务的进程时,会基于时间戳计数器所采集的计数值确定处理器核执行相关任务的执行时长,进而根据执行时长判断处理器核执行相关任务时所占用的资源情况。[0023]然而,时间戳计数器的工作状态常常受到硬件中断或处理器中的其他处理器核运行状态的影响,进而导致基于时间戳计数器所采集的计数值存在不准确的问题。7[0024]为了解决上述技术问题,本申请实施例提出以下技术构思:[0025]在从处理器的多个处理器核中划分出预设数量的目标处理器核的基础上,通过对目标处理器核进行隔离处理、将目标任务与目标处理器核进行绑定、以及对目标处理器核进行中断屏蔽处理,实现目标处理器核不受硬件中断或处理器中的其他处理器核的运行状态的影响,进而在目标处理器核按照目标工作状态处理目标任务的过程中,根据采集的目标处理器核中的时间戳计数器的多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配,实现时间戳计数器的工作状态与目标工作状态匹配,进而保证了基于时间戳计数器所采集的计数值的准确性,即解决了相关技术中基于时间戳计数器所采集的计数值存在不准确的问题。[0026]为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。[0027]图1为本申请实施例提供的时间戳计数器的工作状态处理方法的流程示意图一,如图1所示,本申请的实施例提供了一种时间戳计数器的工作状态处理方法,执行主体可以[0028]步骤S101:从处理器的多个处理器核中划分出预设数量的目标处理器核。[0029]示例性地,预设数量可以是基于电子设备在运行时所运行的任务进行确定,也可以是人工输入的数值;进而基于预设数量,从处理器的多个处理器核中划分出对应数量的目标处理器核。[0031]步骤S1011:确定目标任务的任务复杂度。[0032]步骤S1012:若目标任务的任务复杂度大于或等于预设复杂度限值,则按照第一预设数量从处理器的多个处理器核中划分出目标处理器核。[0033]步骤S1013:若目标任务的任务复杂度小于预设复杂度限值,则按照第二预设数量从处理器的多个处理器核中划分出目标处理器核,其中第一预设数量大于第二预设数量。[0034]示例性地,根据所要在目标处理器核中运行的目标任务,确定目标任务的任务复杂度;进而通过判断任务复杂度与预设复杂度限值的大小关系,确定对应的预设数量,并基于对应的预设数量,从处理器的多个处理器核中划分出目标处理器核。具体而言,若目标任务的任务复杂度大于或等于预设复杂度限值,则按照第一预设数量从处理器的多个处理器核中划分出目标处理器核;若目标任务的任务复杂度小于预设复杂度限值,则按照第二预设数量从处理器的多个处理器核中划分出目标处理器核;其中第一预设数量大于第二预设[0035]在一种可能的实现方式中,目标任务包括多个目标子任务,步骤S1011的具体实现[0036]步骤S10111:获取目标子任务的任务数量。[0037]步骤S10112:根据目标子任务的任务数量,确定目标任务的任务复杂度。[0038]在本实施例中,目标子任务的任务数量可以是在处理器的预设执行周期中的累计总数量,也可以是对处理器的预设执行周期划分为至少两个执行子周期后,获取各执行子周期对应的目标子任务的周期任务数量,进而将各周期任务数量中的最大周期任务数量,确定为目标子任务的任务数量。进而,根据目标子任务的任务数量,即可确定目标任务的任8务复杂度。[0039]在另一种可能的实现方式中,目标任务包括多个目标子任务,步骤S1011的具体实[0040]步骤S1011a:获取各目标子任务的执行时间。[0041]步骤S1011b:获取目标子任务之外的各普通子任务的执行时间。[0042]步骤S1011c:根据各目标子任务的执行时间、各普通子任务的执行时间,将处理器的预设执行周期划分为多段执行周期。[0043]示例性地,各目标子任务的执行时间包括gtime_1_1、gtime_1_2、gtime_1_3、gtime_2_1、gtime_3_1、gtime_3_2、gti各普通子任务的执行时间,将处理器的预设执行周期划分为四段执行周期。[0044]步骤S1011d:针对各段执行周期,在一段执行周期内确定对应的目标子任务的目标任务数量、普通子任务的普通任务数量。[0045]示例性地,基于步骤S1011c所示的各目标子任务的执行时间、各普通子任务的执行时间,针对各段执行周期,在一段执行周期内确定的对应的目标子任务的目标任务数量、普通子任务的普通任务数量,如表1所示。执行周期目标任务数量一31二13三21四10[0048]具体地,在第一段执行周期,目标子任务的目标任务数量为3,普通子任务的普通任务数量为1,其中,各目标子任务对应的执行时间为gtime_1_1、gtime_1_2、gtime_1_3,各普通子任务对应的执行时间为ptime_1_1;在第二段执行周期,目标子任务的目标任务数量为1,普通子任务的普通任务数量为3,其中,各目标子任务对应的执行时间为gtime_2_1,各普通子任务对应的执行时间为ptime_1_2、ptime_2_1、ptime_2_2;在第三段执行周期,目标子任务的目标任务数量为2,普通子任务的普通任务数量为1,其中,各目标子任务对应的执行时间为gtime_3_1、gtime_3_2,各普通子任务对应的执行时间为ptime_3_1;在第四段执行周期,目标子任务的目标任务数量为1,普通子任务的普通任务数量为0,其中,各目标子任务对应的执行时间为gtime_4_1。[0049]步骤S1011e:根据目标任务数量和普通任务数量,确定目标任务的任务复杂度。[0050]示例性地,针对各段执行周期,在一段执行周期内,根据目标任务数量和普通任务数量,确定对应执行周期的目标任务的任务复杂度。具体而言,例如,根据表1的各段执行周期的目标任务数量和普通任务数量,分别得到第一段执行周期的目标任务的任务复杂度data_1,第二段执行周期的目标任务的任务复杂度data_2,第三段执行周期的目标任务的任务复杂度data_3,第四段执行周期的目标任务的任务复杂度data_4。9[0051]相应地,基于各段执行周期对应的目标任务的任务复杂度,分别与预设复杂度限值的大小关系进行比较,以确定各段执行周期对应的预设数量,进而,根据各段执行周期下的预设数量,从处理器的多个处理器核中划分出目标处理器核。[0052]在本实施例步骤中,通过将处理器的预设执行周期划分为多段执行周期,得到各段执行周期下的目标任务的任务复杂度,进而得到各段执行周期对应的预设数量;实现了对处理器资源的动态调整,即避免了在处理目标子任务(或,目标任务)时,出现目标处理器核的数量不足、但处理器中存在空闲的处理器核的情况,或者,在处理普通子任务时,出现处理器中的非目标处理器核的数量不足、但目标处理器核处于空闲状态的情况。[0053]在又一种可能的实现方式中,步骤S1011的具体实现步骤,包括:将目标任务输入至预训练的大语言模型中,大语言模型根据预设的至少一种逻辑提示词,选择对应的预训练的解析逻辑,对目标任务的任务复杂度进行解析,进而输出目标任务的任务复杂度。[0054]步骤S102:通过调用预设隔离指令,对目标处理器核进行隔离处理,使得目标处理器核从操作系统的任务调度器中移除。[0055]示例性地,预设隔离指令包括Linux操作系统提供的isolcpus参数。通过对目标处理器核进行隔离处理,使目标处理器核从操作系统的任务调度器中移除,进而实现目标处理器核不被任务调度器自动分配任务。[0056]步骤S103:通过调用预设绑定指令,将目标任务与目标处理器核进行绑定。[0057]示例性地,预设绑定指令包括Linux操作系统提供的taskset命令。通过调用预设绑定指令,即可实现将目标任务绑定至目标处理器核上。[0058]步骤S104:通过调用预设的屏蔽指令,对目标处理器核进行中断屏蔽处理。[0059]示例性地,屏蔽指令包括基于Linux操作系统提供的SMPIRQAffinity技术所生成的指令。通过对目标处理器核进行中断屏蔽处理,使目标处理器核不执行硬件中断任务,实现不受硬件中断的干扰。[0060]可以理解的是,对于步骤S102、S103和步骤S104的执行顺序,本申请实施例不做限制,即可以先执行步骤S102、S103,再执行步骤S104,也可以先执行步骤S104,再执行步骤[0061]步骤S105:根据目标任务,确定目标处理器核的目标工作状态。[0062]示例性地,目标处理器核的工作状态包括常规性能状态、节能状态、高频状态和特殊指令优化状态;进而,根据目标任务的任务信息,即可确定目标处理器核的目标工作状态。[0063]进一步地,在步骤S105[0064]步骤S10A:获取目标处理器核的当前工作状态。[0065]步骤S10B:判断目标处理器核的当前工作状态是否为目标工作状态。[0066]步骤S10C:若目标处理器核的当前工作状态为目标工作状态,则执行步骤S106。[0067]步骤S10D:若目标处理器核的当前工作状态不为目标工作状态,则在将目标处理器核的当前工作状态变更为目标工作状态之后,执行步骤S106。[0068]步骤S10E:若无法将目标处理器核的当前工作状态变更为目标工作状态,则重新执行步骤S101,直至目标处理器核的当前工作状态为目标工作状态之后,执行步骤S106。[0069]本申请实施例步骤,通过在执行步骤S106之前,通过判断目标处理器核的当前工作状态是否为目标工作状态,以确保在执行步骤S106时,目标处理器核处于目标工作状态,进而保证基于时间戳计数器所采集的计数值的准确性。[0070]本申请实施例步骤,实现了目标处理器核在不执行目标任务时,目标处理器核处于节能状态下,目标处理器核在执行目标任务时,目标处理器核即变更为目标工作状态,进而不仅保证了目标处理器核在执行目标任务时,基于时间戳计数器所采集的计数值的准确性,还实现了目标处理器核在不执行目标任务时,降低能源的消耗。[0071]步骤S106:在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值。[0072]示例性地,目标任务中包括采集目标处理器核中的时间戳计数器的计数值的采集指令;进而,在目标处理器核按照目标工作状态处理目标任务的过程中,即可采集目标处理器核中的时间戳计数器的多个计数值。[0073]在一种可能的实现方式中,在步骤S106之前,本申请实施例提供的方法还包括:[0074]步骤S106A:获取目标任务的任务执行开始时刻。[0075]步骤S106B:根据目标任务,确定对应的第一测试任务。[0076]示例性地,基于目标任务所确定的目标处理器核的目标工作状态,确定相应的第一测试任务,即在目标处理器核的处理第一测试任务时,目标处理器核的工作状态为目标工作状态。[0077]步骤S106C:在目标任务的任务执行开始时刻之前,控制目标处理器核按照目标工作状态处理第一测试任务,采集目标处理器核中的时间戳计数器的多个第一测试计数值。[0078]步骤S106D:根据多个第一测试计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配。[0079]步骤S106E:若时间戳计数器的工作状态与目标工作状态匹配,则执行步骤S106。[0080]步骤S106F:若时间戳计数器的工作状态不与目标工作状态匹配,则重新执行步骤S101,直至时间戳计数器的工作状态与目标工作状态匹配,进而执行步骤S106。[0081]示例性地,根据多个第一测试计数值,得到目标处理器核按照目标工作状态处理第一测试任务时的多个测试时长,进而根据多个测试时长与测试时长阈值的离散程度,判断时间戳计数器的工作状态是否与目标工作状态匹配。进而,若匹配,则执行步骤S106及后续步骤;若不匹配,则重新执行步骤S101,直至时间戳计数器的工作状态与目标工作状态匹配,进而执行步骤S106及后续步骤。[0082]在本实施例步骤中,通过获取目标任务的任务执行开始时刻,进而在任务执行开始时刻之前,通过控制目标处理器核按照目标工作状态处理第一测试任务,实现判断时间戳计数器的工作状态是否与目标工作状态匹配;通过响应式的测试判断,实现了在目标处理器核按照目标工作状态处理目标任务之前,对时间戳计数器的工作状态进行校核,保证了目标处理器核在执行目标任务时,基于时间戳计数器所采集的计数值的准确性,还实现了目标处理器核在不执行目标任务时,时间戳计数器的工作状态可以为任一状态,例如在目标处理器核处于节能状态时,时间戳计数器的工作状态亦同步对应节能状态,降低了能源的消耗。[0083]步骤S107:根据多个计数值,监测时间戳计数器的工作状态是否与目标工作状态[0085]步骤S1071:根据多个计数值,得到目标任务的多个执行时长。[0086]示例性地,根据多个计数值,得到目标处理器核按照目标工作状态处理目标任务的过程中的多个执行时长。[0088]示例性地,不同的任务对应的执行时长不同,进而根据目标任务的任务信息,确定相匹配的预设时长阈值。[0089]步骤S1073:根据多个执行时长和预设时长阈值,监测时间戳计数器的工作状态是否与目标工作状态匹配。[0090]示例性地,根据多个执行时长与预设时长阈值的离散程度,即可监测时间戳计数器的工作状态是否与目标工作状态匹配。具体而言,若多个执行时长与预设时长阈值的离散程度大,则时间戳计数器的工作状态与目标工作状态不匹配,若多个执行时长与预设时长阈值的离散程度小,则时间戳计数器的工作状态与目标工作状态匹配。[0092]步骤S10731:根据多个执行时长和预设时长阈值,生成时长方差。[0093]具体地,根据多个执行时长和预设时长阈值,生成时长方差的计算公式,如式(1)所示,值。[0096]步骤S10732:根据时长方差与预设方差阈值的大小关系,监测时间戳计数器的工作状态是否与目标工作状态匹配。[0097]示例性地,若时长方差大于预设方差阈值,则时间戳计数器的工作状态与目标工作状态不匹配,若时长方差小于或等于预设方差阈值,则时间戳计数器的工作状态与目标工作状态匹配。其中,可以理解的是,时长方差越小,则多个执行时长与预设时长阈值的离散程度越小,时长方差越大,则多个执行时长与预设时长阈值的离散程度越大。[0098]步骤S108:若时间戳计数器的工作状态与目标工作状态匹配,则使目标处理器核按照目标工作状态继续处理目标任务。[0099]示例性地,在时间戳计数器的工作状态与目标工作状态匹配下,目标处理器核即可按照目标工作状态继续处理目标任务。[0100]进一步地,在继续处理过程中,基于预设时长,返回执行步骤S106以及后续步骤,以实现定时监测时间戳计数器的工作状态是否与目标工作状态匹配。[0101]步骤S109:若时间戳计数器的工作状态与目标工作状态不匹配,则重新执行步骤S101,直至时间戳计数器的工作状态与目标工作状态匹配。[0102]示例性地,若时间戳计数器的工作状态与目标工作状态不匹配,则表明当前的目标处理器核无法满足执行目标任务的需要,进而重新执行步骤S101,直至时间戳计数器的工作状态与目标工作状态匹配。[0103]在本实施例中,在从处理器的多个处理器核中划分出预设数量的目标处理器核的基础上,通过对目标处理器核进行隔离处理、将目标任务与目标处理器核进行绑定、以及对目标处理器核进行中断屏蔽处理,实现目标处理器核不受硬件中断或处理器中的其他处理器核的运行状态的影响,进而在目标处理器核按照目标工作状态处理目标任务的过程中,根据采集的目标处理器核中的时间戳计数器的多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配,实现时间戳计数器的工作状态与目标工作状态匹配,进而保证了基于时间戳计数器所采集的计数值的准确性,即解决了相关技术中基于时间戳计数器所采集的计数值存在不准确的问题。[0105]步骤S110:在目标处理器核处理完成目标任务后,得到开始时刻的计数值和完成时刻的计数值。[0106]步骤S111:根据开始时刻的计数值和完成时刻的计数值,输出完成处理目标任务的处理时长。[0107]示例性地,在目标处理器核处理完成目标任务后,获取目标处理器核处理目标任务时的开始时刻的计数值和完成时刻的计数值。[0108]进而,根据开始时刻的计数值、完成时刻的计数值和目标处理器核对应的时钟周期,即可得到并输出目标处理器核完成处理目标任务的处理时长。[0109]图2为本申请实施例提供的时间戳计数器的工作状态处理方法的流程示意图二。在本申请实施例中,在图1提供的实施例的基础上,进行了详细说明。如图2所示,该方法包[0110]步骤S201:从处理器的多个处理器核中划分出预设数量的目标处理器核。[0111]步骤S202:通过调用预设隔离指令,对目标处理器核进行隔离处理,使得目标处理器核从操作系统的任务调度器中移除。[0112]步骤S203:通过调用预设绑定指令,将目标任务与目标处理器核进行绑定。[0113]步骤S204:通过调用预设的屏蔽指令,对目标处理器核进行中断屏蔽处理,使得目标处理器核不执行硬件中断任务。[0114]步骤S205:根据目标任务,确定目标处理器核的目标工作状态。[0115]步骤S206:确定目标处理器核的各空闲时间。[0117]步骤S2061:获取目标任务的执行时间、目标处理器核的预设执行周期。[0118]步骤S2062:根据目标任务的执行时间,从目标处理器核的预设执行周期中,筛选确定目标处理器核的各空闲时间。[0119]示例性地,目标任务的执行时间包括time_2和time_3,目标处理器核的预设执行周期包括time_1、time_2、time_3、time_4和time_5;进而,根据目标任务的执行时间time_2和time_3,从目标处理器核的预设执行周期中,筛选确定目标处理器核的各空闲时间包括[0120]步骤S207:从各空闲时间中选取一个或多个空闲时间,确定为测试时间。[0121]示例性地,目标处理器核的各空闲时间包括time_1、time_4和time_5,进而将time_1和time_4确定为测试时间。[0122]步骤S208:在各测试时间下,根据目标任务,确定对应的第二测试任务。[0123]示例性地,在测试时间time_1下,基于目标任务所确定的目标处理器核的目标工作状态,确定相应的第二测试任务,即在目标处理器核的处理第二测试任务时,目标处理器核的工作状态为目标工作状态。[0124]步骤S209:控制目标处理器核按照目标工作状态处理第二测试任务,采集目标处理器核中的时间戳计数器的多个第二测试计数值。[0125]步骤S210:根据多个第二测试计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配。[0126]步骤S211:若时间戳计数器的工作状态与目标工作状态匹配,则使时间戳计数器的工作状态保持不变。[0127]步骤S212:若时间戳计数器的工作状态不与目标工作状态匹配,则重新步骤S201,直至时间戳计数器的工作状态与目标工作状态匹配。[0128]示例性地,根据多个第二测试计数值,得到目标处理器核按照目标工作状态处理第二测试任务时的多个测试时长,进而根据多个测试时长与测试时长阈值的离散程度,判断时间戳计数器的工作状态是否与目标工作状态匹配。进而,若匹配,则使时间戳计数器的工作状态保持不变;若不匹配,则重新执行步骤S201,直至时间戳计数器的工作状态与目标工作状态匹配,进而使时间戳计数器的工作状态保持不变。[0129]在本实施例步骤中,在确定目标处理器核的各空闲时间的基础上,确定目标处理器核的测试时间,进而在测试时间下,监测时间戳计数器的工作状态是否与目标工作状态匹配;实现了定时对时间戳计数器的工作状态监测,以及使时间戳计数器的工作状态为目标工作状态保持不变;进而在目标处理器核按照目标工作状态处理目标任务时,可选地可以不用在目标处理器核按照目标工作状态处理目标任务开始之前,对时间戳计数器的工作状态进行校准,提高了目标处理器核按照目标工作状态处理目标任务的处理效率。[0130]可以理解的是,在目标处理器核按照目标工作状态处理目标任务时,可选地也可以在目标处理器核按照目标工作状态处理目标任务开始之前,对时间戳计数器的工作状态进行校准,以保证时间戳计数器所采集的计数值的准确性。[0131]可以理解的是,目标处理器核按照目标工作状态处理第二测试任务所处的测试时间,可以是在目标处理器核按照目标工作状态处理目标任务开始之前,例如在测试时间time_1进行处理;也可以是在目标处理器核按照目标工作状态处理目标任务完成之后,例如在测试时间time_4进行处理。[0132]步骤S213:在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值。[0133]步骤S214:根据多个计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配。[0134]步骤S215:若时间戳计数器的工作状态与目标工作状态匹配,则使目标处理器核按照目标工作状态继续处理目标任务。[0135]步骤S216:若时间戳计数器的工作状态与目标工作状态不匹配,则重新执行步骤S201,直至时间戳计数器的工作状态与目标工作状态匹配。[0136]本实施例中,步骤S201-步骤S205的实现方式与本申请图1所示实施例中的步骤S101-步骤S105的实现方式相同,步骤S213-步骤S216的实现方式与本申请图1所示实施例[0138]图3为本申请实施例提供的时间戳计数器的工作状态处理装置的结构示意图。如若时间戳计数器的工作状态与目标工作状态不匹配,则重新执中划分出预设数量的目标处理器核的步骤,直至时间戳计数[0143]在一种可能的实现方式中,第二处理模块33在根据多个执行时长和预设时长阈确定对应的目标子任务的目标任务数量、普通子任务的普通任务数量;根据目标任务数量和普通任务数量,确定目标任务的任务复杂度。[0149]在一种可能的实现方式中,目标任务包括多个目标子任务;相应地,划分模块31在确定目标任务的任务复杂度时,具体用于:获取目标子任务的任务数量;根据目标子任务的任务数量,确定目标任务的任务复杂度。[0150]在一种可能的实现方式中,在根据目标任务,确定目标处理器核的目标工作状态之后,时间戳计数器的工作状态处理装置3还用于:获取目标处理器核的当前工作状态;判断目标处理器核的当前工作状态是否为目标工作状态;若目标处理器核的当前工作状态为目标工作状态,则执行在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值的步骤;若目标处理器核的当前工作状态不为目标工作状态,则在将目标处理器核的当前工作状态变更为目标工作状态之后,执行在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值的步骤;若无法将目标处理器核的当前工作状态变更为目标工作状态,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至目标处理器核的当前工作状态为目标工作状态之后,执行在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值的步骤。[0151]在一种可能的实现方式中,在目标处理器核按照目标工作状态处理目标任务的过程中,采集目标处理器核中的时间戳计数器的多个计数值之前,时间戳计数器的工作状态处理装置3还用于:获取目标任务的任务执行开始时刻;根据目标任务,确定对应的第一测试任务;在目标任务的任务执行开始时刻之前,控制目标处理器核按照目标工作状态处理第一测试任务,采集目标处理器核中的时间戳计数器的多个第一测试计数值;根据多个第一测试计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配;若时间戳计数器的工作状态不与目标工作状态匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至时间戳计数器的工作状态与目标工作状态匹配。[0152]在一种可能的实现方式中,在根据目标任务,确定目标处理器核的目标工作状态之后,时间戳计数器的工作状态处理装置3还用于:确定目标处理器核的各空闲时间;从各空闲时间中选取一个或多个空闲时间,确定为测试时间;在各测试时间下,根据目标任务,确定对应的第二测试任务;控制目标处理器核按照目标工作状态处理第二测试任务,采集目标处理器核中的时间戳计数器的多个第二测试计数值;根据多个第二测试计数值,监测时间戳计数器的工作状态是否与目标工作状态匹配;若时间戳计数器的工作状态不与目标工作状态匹配,则重新执行从处理器的多个处理器核中划分出预设数量的目标处理器核的步骤,直至时间戳计数器的工作状态与目标工作状态匹配。[0153]在一种可能的实现方式中,时间戳计数器的工作状态处理装置3在确定目标处理器核的各空闲时间时,具体用于:获取目标任务的执行时间、目标处理器核的预设执行周期;根据目标任务的执行时间,从目标处理器核的预设执行周期中,筛选确定目标处理器核的各空闲时间。[0154]在一种可能的实现方式中,时间戳计数器的工作状态处理装置3还用于:在目标处理器核处理完成目标任务后,得到开始时刻的计数值和完成时刻的计数值;根据开始时刻的计数值和完成时刻的计数值,输出完成处理目标任务的处理时长。[0155]时间戳计数器的工作状态处理装置3所对应实施例中特征的说明可以参见时间戳计数器的工作状态处理方法所对应实施例的相关说明,这里不再一一赘述。[0156]图4为本申请提供的电子设备的结构示意图。如图4所示,本实施例提供的电子设备50包括:至少一个处理器501和存储器502。可选地,该电子设备5[0157]在具体实现过程中,至少一个处理器501执行存储器502存储的计算机执行指令,使得至少一个处理器501执行上述的时间戳计数器的工作状态处理方法实施例。[0158]处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。[0159]在上述的实施例中,应理解,处理器可以是中央处理单元(CentralProcessingUnit,简称:CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal称:ASIC)等。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论