CN113868053A - 任务延迟确定方法、装置、系统及相关设备 - Google Patents
任务延迟确定方法、装置、系统及相关设备 Download PDFInfo
- Publication number
- CN113868053A CN113868053A CN202111128250.XA CN202111128250A CN113868053A CN 113868053 A CN113868053 A CN 113868053A CN 202111128250 A CN202111128250 A CN 202111128250A CN 113868053 A CN113868053 A CN 113868053A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- delay
- module
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012360 testing method Methods 0.000 claims description 33
- 238000013461 design Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318328—Generation of test inputs, e.g. test vectors, patterns or sequences for delay tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种任务延迟确定方法、装置、系统及相关设备,所述方法包括:获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟,进而在任务延迟角度反映模块的性能水平,对芯片中各模块的运行特性进行确定。
Description
技术领域
本申请实施例涉及芯片设计和测试技术领域,具体涉及一种任务延迟确定方法、装置、系统及相关设备。
背景技术
在芯片的设计和测试过程中,需要对芯片的性能进行评估。芯片的延迟参数是反映芯片性能的一个重要参数,可以反映芯片的运行特性和芯片内部互联结构特性,进而可以基于该延迟参数,调整芯片的内部结构。现有技术中,通常基于芯片的实际电路的信号延迟进行评估,例如,基于FPGA电路芯片中各类电路的信号传输延迟进行测试,从而根据测试结果进行芯片电路的设计或芯片电路结构的调整。
然而,基于芯片的实际电路的信号延迟进行的评估,仅仅能够反映芯片在测试阶段能够测试到的有限的运行特性,如何对芯片中各模块的运行特性进行确定,是本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种任务延迟确定方法、装置、系统及相关设备,所述方法,能够对芯片中各模块的运行特性进行确定。
为实现上述目的,本申请实施例提供如下技术方案。
第一方面,本申请实施例提供一种任务延迟确定方法,包括:
获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
可选的,所述目标类任务,为所述待测模块所需执行的多个任务中的目标种类的任务,和/或,与所述待测模块相连的目标模块请求执行的任务。
可选的,所述确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量,得到所述目标类任务的任务平均延迟。
可选的,所述确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量与所述任务延迟总量的差,得到所述目标类任务的任务平均延迟。
可选的,所述获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量;
将预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量进行累加,得到所述目标类任务的任务请求总量和任务延迟总量。
可选的,所述依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取目标类任务在各时钟周期的任务请求量;
依次获取目标类任务在各时钟周期的任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
可选的,所述目标类任务,为与所述待测模块相连的目标模块请求执行的任务,所述依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取所述目标模块在各时钟周期内发出的任务请求量;
依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量,以所述任务完成反馈量作为任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
可选的,所述目标模块与所述待测模块之间设置有第一计数器和第二计数器;
所述依次获取所述目标模块在各时钟周期内发出的任务请求量的步骤中,采用第一计数器获取所述目标模块在各时钟周期内发出的任务请求量;
所述依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量的步骤中,采用第二计数器获取所述目标模块在各时钟周期内接收到的任务完成反馈量。
可选的,所述待测模块为仲裁模块,所述目标模块为多个缓存模块中的一个缓存模块。
可选的,所述获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务请求总量;
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务完成总量;
计算所述任务请求总量和所述任务完成总量的差,得到所述目标类任务在预设数量的时钟周期内的任务延迟总量。
可选的,所述目标类任务为多个时,并行执行所述任务延迟确定方法,确定多个目标类任务的任务平均延迟;其中,在目标类任务为多个时,多个目标类任务对应的预设数量相同。
可选的,所述预设数量的时钟周期中,预设数量的值大于或等于1,且,小于或等于所述任务请求总量的统计范围的最大值。
第二方面,本申请实施例提供一种任务延迟确定装置,包括:
总量获取模块,用于获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
延迟确定模块,用于基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
第三方面,本申请实施例提供一种任务延迟确定系统,包括芯片仿真设备,所述芯片仿真设备被配置为执行上述的任务延迟确定方法。
第四方面,本申请实施例提供一种任务延迟确定系统,包括芯片测试设备,所述芯片测试设备被配置为执行上述的任务延迟确定方法。
第五方面,本申请实施例提供一种计算机设备,包括:至少一个存储器和至少一个处理器;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行上述的任务延迟确定方法。
第六方面,本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行上述的任务延迟确定方法。
本申请实施例提供的任务延迟确定方法、装置、系统及相关设备,所述方法包括:获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
通过获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,从而可以基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟,进而在任务延迟角度反映模块的性能水平,对芯片中各模块的运行特性进行确定。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的模块运行示意图。
图2为本申请实施例提供的任务延迟确定方法的一可选流程图。
图3为本申请实施例提供的另一任务延迟确定方法的可选流程图。
图4为本申请实施例提供的另一任务延迟确定方法的另一可选流程图。
图5为本申请实施例提供的另一任务延迟确定方法的又一可选流程图。
图6为本申请实施例提供的又一任务延迟确定方法的可选流程图。
图7为本申请实施例提供的任务延迟确定装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,基于芯片的实际电路的信号延迟进行的评估,反映的是芯片在测试阶段能够测试到的有限的运行特性,如何对芯片中各模块的运行特性进行确定,是本领域技术人员亟需解决的技术问题。
发明人认为,在芯片的运行过程中,模块用于执行相应的任务,从任务的完成情况(即任务的延迟情况)角度反映芯片延迟,可以准确反映芯片的运行特性。同时,考虑芯片的运行过程中,通常同时执行多个任务,基于不同种类的任务,进行任务延迟统计,可以准确反映模块中对各类任务的执行特征,如对各类任务执行的优先级、各类任务的执行速度,进而进一步准确的对芯片的运行特性进行确定。
作为一种可选的实现,图1示例性的示出了本申请实施例提供的模块运行示意图。如图1所示,以模块IV为例,模块IV连接有多个模块,如模块I、模块II、模块III等,且可以处理多类任务。可以理解的是,图中仅列出了部分结构进行示例性的说明,而模块的其他结构则进行了省略。
以模块I发送的任务为任务A、模块II发送的任务为任务B、模块III发送的任务为任务C,模块IV可以接收任务A请求,任务B请求和任务C请求,并基于相应的请求,执行对应的任务;或者,以向模块V发送的任务为任务D、向模块VI发送的任务为任务E、向模块VII发送的任务为任务F,模块IV可以基于自身的处理需求,向对应的模块发送任务D请求,任务E请求和任务F请求,使相应的模块基于相应的请求,执行对应的任务。
对应的,在模块IV执行完对应的任务后,会向任务发出的模块发送任务完成的反馈消息。例如,模块IV在执行完对应的任务后,向模块I发送任务A完成的反馈消息,向模块II发送任务B完成的反馈消息,向模块III发送任务C完成的反馈消息;相应的,在模块IV发出的任务被执行完成后,执行任务的模块也会向模块IV发送任务完成的反馈消息,例如,模块V向模块IV发送任务D完成的反馈消息,模块VI向模块IV发送任务E完成的反馈消息,模块VII向模块IV发送任务F完成的反馈消息。
当评估模块IV的运行特性时,可以通过计算一段时间内该模块处理某类任务或某几类任务的平均延迟进行确定。
基于此,本发明实施例公开了一种任务延迟确定方法、装置、系统及相关设备,所述方法包括:获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
通过获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,从而可以基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟,进而在任务延迟角度反映模块的性能水平,对芯片中各模块的运行特性进行评估或确定。
需要说明的是,本发明所述任务延迟确定方法,可以在芯片设计阶段,基于仿真的方式进行确定,也可以在芯片测试阶段基于具体的电路及接口进行确定,从而能够基于实际的需求在设计或测试等阶段实现,为芯片的设计或测试提供相应的参数支持。
并且,与背景技术中基于芯片的实际电路的信号延迟进行的评估相比,本发明实施例提供的所述任务延迟确定方法,能够更加详细的体现待测模块中的运行特性,从而能够为芯片的设计或测试提供更好的参数支持。
在一种可选实现中,图2示例性的示出了本申请实施例提供的任务延迟确定方法的一可选流程图。如图2所示,所述方法包括:
步骤S100:获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
其中,时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在模块的运行过程中,以时钟周期为单位计量时长。
所述预设数量的时钟周期用于定义所述任务延迟确定方法中,统计任务执行状况的时长。所述预设数量的值大于或等于1,且,小于或等于任务量统计范围的最大值。
待测模块,可以理解为集成电路设计中,具有一种或多种功能的一个电路,该电路可以包含了一个或多个逻辑门等元器件。其中,所述待测模块可以为芯片测试阶段中的一具体的电路模块,也可以为芯片设计阶段中仿真得到的一电路模块。
所述待测模块所执行的任务,可以理解为所述待测模块的所需实现的一个动作,例如,所执行的任务可以为指令的分发、仲裁,指令的执行,数据的访问等。可以理解的是,在所述待测模块的运行过程中,待测模块所需执行的任务可以分属于多个种类,也可以属于同一种类,例如,同属于指令的分发,或者,同属于指令的仲裁等。
本发明实施例所述的目标类任务,可以为待测模块所需执行的任务分属的多个种类中的一个种类,该种类可以称为目标种类,相应的,所述目标类任务,为所述待测模块所需执行的多个任务中的目标种类的任务。
在一个可选的示例中,待测模块的运行过程中,可以同时执行与该待测模块相连的多个模块请求执行的任务,以图1为例,模块IV可以接收任务A请求,任务B请求和任务C请求,并基于相应的请求,执行对应的任务。本发明实施例所述的目标类任务,可以为与所述待测模块相连的一个模块请求执行的任务,该模块可以称为目标模块,相应的,所述目标类任务,为与所述待测模块相连的目标模块请求执行的任务。
或者,在一个可选的示例中,待测模块的运行过程中,可以同时执行与该待测模块相连的多个模块请求执行的分属于多个种类的任务。相应的,所述目标类任务,可以为与所述待测模块相连的目标模块请求执行的任务,也可以为所述待测模块所需执行的多个任务中的目标种类的任务,该目标种类的任务可以仅包括与所述待测模块相连的一个模块(该模块可以称为目标模块)请求执行的任务,也可以包括与所述待测模块相连的多个模块请求执行的任务;或者,所述目标类任务可以为与所述待测模块相连的目标模块请求执行的任务,该所述目标类任务可以仅包括目标模块请求的多个种类中的一个种类(该种类可以称为目标种类)的任务,也可以包括目标模块请求的多个种类的任务。
可以理解的是,上述目标类任务基于任务的种类、来源进行确定,在其他示例中,所述目标类任务还可以基于任务的其他特性进行确定,例如,任务的各类属性值等,本发明在此不再赘述。
所述目标类任务可以为一个,也可以为多个,在针对多个目标类任务时,可以并行执行所述任务延迟确定方法,以同时确定多个目标类任务的任务平均延迟。其中,在目标类任务为多个时,多个目标类任务对应的预设数量相同,从而可以对多个目标类任务在相同预设数量的时钟周期内的延迟状况。
所述任务请求总量,为待测模块预设数量的时钟周期内接收到的目标类任务的总的请求数量,或者,在目标类任务为目标模块请求执行的任务时,也可以理解为,目标模块预设数量的时钟周期内发出的目标类任务的总的请求量。所述任务延迟总量,为待测模块预设数量的时钟周期内未完成的目标类任务的总的任务数量。
在待测模块的运行过程中,通过获取一定时长内的任务请求总量和任务延迟总量,以进行任务平均延迟的确认。
步骤S200:基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
其中,在获取到所述目标类任务的任务请求总量和任务延迟总量,可以进行计算,以确定目标类任务的任务平均延迟。
所述任务平均延迟的计算方法,可以基于设计需求或测试需求进行定义。例如,可以将所述任务平均延迟定义为任务延迟总量所占任务请求总量的比例,相应的,所述确定所述目标类任务的任务延迟,可以包括:将所述任务延迟总量除以所述任务请求总量,得到所述目标类任务的任务平均延迟。
在其他可选的示例中,所述任务平均延迟还可以定义为任务延迟总量所占任务完成总量的比例,相应的,所述确定所述目标类任务的任务延迟,可以包括:将所述任务延迟总量除以所述任务请求总量与所述任务延迟总量的差,得到所述目标类任务的任务平均延迟。
通过获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,从而可以基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟,进而在任务延迟角度反映模块的性能水平,对芯片中各模块的运行特性进行评估或确定。
需要说明的是,所述任务延迟确定方法,可以在芯片设计阶段,基于仿真的方式进行确定,也可以在芯片测试阶段基于具体的电路及接口进行确定。
在一种可选实现中,所述任务请求总量和任务延迟总量可以基于预设数量的时钟周期内的每个时钟周期中的任务请求量和任务延迟量计算得到。参考图3示出的本申请实施例提供的另一任务延迟确定方法的可选流程图,如图3所示,所述方法中,步骤S100可以包括:
步骤S110:依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量;
其中,基于所述确定方法中,需要预设数量的时钟周期内的相关任务数据,本示例中依次获取各时钟周期内的任务请求量和任务延迟量,并基于各时钟周期内的任务请求量和任务延迟量,计算预设数量的时钟周期内的相关任务数据。
其中,所述任务请求量,为待测模块在一时钟周期内接收到的目标类任务的请求数量,或者,在目标类任务为目标模块请求执行的任务时,也可以理解为,目标模块在一时钟周期内发出的目标类任务的请求量。所述任务延迟量,为待测模块在一时钟周期内未完成的目标类任务的任务数量。
所述任务延迟量,可以基于任务请求量和任务完成量计算得到。具体的,在一个可选的示例中,结合图4示出的本申请实施例提供的另一任务延迟确定方法的另一可选流程图,步骤S110可以包括:
步骤S111:依次获取目标类任务在各时钟周期的任务请求量;
其中,在任务延迟量的计算过程中,所述任务请求量可以理解为增量。在获取一时钟周期的任务请求量时,任务延迟量的计算时,加上所述任务请求量。
步骤S112:依次获取目标类任务在各时钟周期的任务完成量;
所述任务完成量为待测模块在一时钟周期内完成的目标类任务的任务数量。所述任务延迟量可以基于任务请求量和所述任务完成量计算得到。
其中,在任务延迟量的计算过程中,所述任务完成量可以理解为减量。在获取一时钟周期的任务完成量时,任务延迟量的计算时,减去所述任务请求量。
步骤S113:计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量;
可以理解的是,任务延迟量为任务请求量和任务完成量的差,通过计算各时钟周期内任务请求量和任务完成量的差,可以得到所述目标类任务在各时钟周期内的任务延迟量。
其中,基于前述步骤中增量和减量的定义,可以计算得出目标类任务在各时钟周期内的任务延迟量。
需要说明的是,在步骤S110中,步骤S111和步骤S112的执行顺序并不限于此,在其他实施例中,也可以先执行步骤S112,再执行步骤S111。其中,步骤S111已经获取了目标类任务在各时钟周期的任务请求量,并可以作为步骤S120的计算基础,而进一步基于步骤S112和步骤S113,则可以获取目标类任务在各时钟周期内的任务延迟量。
步骤S120:将预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量进行累加,得到所述目标类任务的任务请求总量和任务延迟总量;
在获取了各时钟周期的任务请求量和任务延迟量后,通过累加的方式,可以得到所述目标类任务的任务请求总量和任务延迟总量。
可以理解的是,在获取所述任务请求总量和任务延迟总量之后,可以执行步骤S200,基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。在本发明实施例中,所述步骤S200包括:
步骤S210:将所述任务延迟总量除以所述任务请求总量,得到所述目标类任务的任务平均延迟。
在得到任务请求总量和任务延迟总量之后,通过将所述任务延迟总量除以所述任务请求总量,计算目标类任务的任务平均延迟。
在本发明实施例中,所述任务请求总量和任务延迟总量基于预设数量的时钟周期内的每个时钟周期中的任务请求量和任务延迟量累加计算得到,进而计算目标类任务的任务平均延迟。
在一种可选实现中,所述目标类任务,可以为与所述待测模块相连的目标模块请求执行的任务。相应的,可以基于所述待测模块和所述目标模块之间的信息交互数量,获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量。参考图5示出的本申请实施例提供的另一任务延迟确定方法的又一可选流程图,如图5所示,所述方法中,步骤S110可以包括:
步骤S116:依次获取所述目标模块在各时钟周期内发出的任务请求量;
可以理解的是,在所述目标模块和所述待测模块的交互过程中,目标模块需要待测模块执行相应的任务时,需要向待测模块发出任务请求。所述任务请求量,为目标模块向待测模块发出的任务请求的数量。
相应的,在任务延迟量的计算过程中,所述任务请求量可以理解为增量。在获取一时钟周期的任务请求量时,任务延迟量的计算时,加上所述任务请求量。
以图5示出的本申请实施例提供的又一模块运行示意图为例,所述待测模块可以为仲裁模块,所述目标模块可以为多个缓存模块中的一个缓存模块,所述目标类任务则为该目标模块发出的仲裁请求,相应的,目标模块发出的任务请求的数量可以理解为本示例中的任务请求量。
继续以图5为例,可以在所述待测模块和所述目标模块之间设置的第一计数器,从而基于第一计数器进行任务请求量的统计。即,可以采用第一计数器获取所述目标模块在各时钟周期内发出的任务请求量。
步骤S117:依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量,以所述任务完成反馈量作为任务完成量;
可以理解的是,在所述目标模块和所述待测模块的交互过程中,待测模块完成相应的任务后,会向目标模块反馈任务完成的反馈消息。所述任务完成反馈量,为待测模块向目标模块发出的任务完成的反馈消息的数量,所述任务完成反馈量即可以理解为任务完成量。
相应的,在任务延迟量的计算过程中,所述任务完成量可以理解为减量。在获取一时钟周期的任务完成量时,任务延迟量的计算时,减去所述任务请求量。
继续以图5为例,仲裁模块在获取相应的仲裁请求后,需要在各缓存模块中发出的仲裁请求中,选择一个获得同意,并将该获得同意的仲裁请求反馈至发出该请求的缓存模块。在仲裁模块选择目标模块中的一个仲裁请求获得同意后,将该获得同意的仲裁请求反馈至目标模块。相应的,待测模块向目标模块发出的仲裁请求的反馈消息的数量,可以理解为本示例中的任务完成量。
继续以图5为例,可以在所述待测模块和所述目标模块之间设置的第二计数器,从而基于第二计数器进行任务完成量的统计。即,可以采用第二计数器获取所述目标模块在各时钟周期内接收到的任务完成反馈量。
步骤S118:计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量;
步骤S118的执行过程可以参考步骤S113,从而计算得出目标类任务在各时钟周期内的任务延迟量。
需要说明的是,在步骤S110中,步骤S116和步骤S117的执行顺序并不限于此,在其他实施例中,也可以先执行步骤S117,再执行步骤S116。其中,步骤S116已经获取了目标类任务在各时钟周期的任务请求量,并可以作为步骤S120的计算基础,而进一步基于步骤S117和步骤S118,则可以获取目标类任务在各时钟周期内的任务延迟量。
进而,在本示例中,可以进一步执行步骤S120,将预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量进行累加,得到所述目标类任务的任务请求总量和任务延迟总量,本示例在此不再赘述。
在获取所述目标类任务的任务请求总量和任务延迟总量后,进一步执行步骤S200,基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
在本发明实施例中,所述任务请求量和任务延迟量基于待测模块和所述目标模块之间的信息交互数量获取得到,进而计算目标类任务的任务请求总量和任务延迟总量以及目标类任务的任务平均延迟。
在一种可选实现中,所述任务请求总量和任务延迟总量可以基于预设数量的时钟周期内累加后的任务请求量和累加后的任务完成量计算得到。参考图6示出的本申请实施例提供的又一任务延迟确定方法的可选流程图,如图6所示,所述方法中,步骤S100可以包括:
步骤S160:获取所述待测模块在预设数量的时钟周期内,目标类任务的任务请求总量;
其中,基于所述确定方法中,需要预设数量的时钟周期内的相关任务数据,本示例中基于预设数量的时钟周期内的任务请求总量和任务完成总量进行任务延迟总量的计算。
具体的,可以获取预设数量的时钟周期内,各时钟周期内的任务请求量,并将各时钟周期内的任务请求量进行累加后,得到待测模块在预设数量的时钟周期内,目标类任务的任务请求总量。
步骤S170:获取所述待测模块在预设数量的时钟周期内,目标类任务的任务完成总量;
具体的,可以获取预设数量的时钟周期内,各时钟周期内的任务完成量,并将各时钟周期内的任务完成量进行累加后,得到待测模块在预设数量的时钟周期内,目标类任务的任务完成总量。
步骤S180:计算所述任务请求总量和所述任务完成总量的差,得到所述目标类任务在预设数量的时钟周期内的任务延迟总量;
在获取了预设数量的时钟周期内,目标类任务的任务请求总量和任务完成总量后,通过计算的方式,可以得到所述目标类任务的任务延迟总量。
需要说明的是,在步骤S100中,步骤S160已经获取了目标类任务在预设数量的时钟周期内的任务请求总量,而基于步骤S170和步骤S180,则可以获取目标类任务在预设数量的时钟周期内的任务延迟总量。
可以理解的是,在获取所述任务请求总量和任务延迟总量之后,可以执行步骤S200,基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
下面对本申请实施例提供的任务延迟确定装置进行介绍,下文描述的装置内容可以认为是芯片测试设备或者计算机设备,为实现本申请实施例提供的任务延迟确定所需设置的功能模块。下文描述的装置内容可与上文描述的方法内容相互对应参照。
图7示出了本申请实施例提供的任务延迟确定装置的框图。如图7所示,该装置可以包括:
总量获取模块300,用于获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
延迟确定模块310,用于基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟
在一些实施例中,所述目标类任务,为所述待测模块所需执行的多个任务中的目标种类的任务,和/或,与所述待测模块相连的目标模块请求执行的任务。
在一些实施例中,延迟确定模块310,用于确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量,得到所述目标类任务的任务平均延迟。
在一些实施例中,延迟确定模块310,用于确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量与所述任务延迟总量的差,得到所述目标类任务的任务平均延迟。
在一些实施例中,总量获取模块300,用于获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量;
将预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量进行累加,得到所述目标类任务的任务请求总量和任务延迟总量
在一些实施例中,总量获取模块300,用于依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取目标类任务在各时钟周期的任务请求量;
依次获取目标类任务在各时钟周期的任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
在一些实施例中,所述目标类任务,为与所述待测模块相连的目标模块请求执行的任务,所述总量获取模块300,用于依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取所述目标模块在各时钟周期内发出的任务请求量;
依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量,以所述任务完成反馈量作为任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
在一些实施例中,所述目标模块与所述待测模块之间设置有第一计数器和第二计数器;
所述总量获取模块300,用于依次获取所述目标模块在各时钟周期内发出的任务请求量时,采用第一计数器获取所述目标模块在各时钟周期内发出的任务请求量;
所述总量获取模块300,用于依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量时,采用第二计数器获取所述目标模块在各时钟周期内接收到的任务完成反馈量。
在一些实施例中,所述待测模块为仲裁模块,所述目标模块为多个缓存模块中的一个缓存模块。
在一些实施例中,所述总量获取模块300,用于获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务请求总量;
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务完成总量;
计算所述任务请求总量和所述任务完成总量的差,得到所述目标类任务在预设数量的时钟周期内的任务延迟总量。
在一些实施例中,所述目标类任务为多个时,并行执行所述任务延迟确定方法,确定多个目标类任务的任务平均延迟;其中,在目标类任务为多个时,多个目标类任务对应的预设数量为相同。
所述预设数量的时钟周期中,预设数量的值大于或等于1,且,小于或等于所述任务请求总量的统计范围的最大值。
本申请实施例还提供一种任务延迟确定系统,在一些实施例中,该任务延迟确定可以包括芯片仿真设备。该芯片仿真设备可以被配置为执行本申请实施例提供的任务延迟确定方法。
本申请实施例还提供一种任务延迟确定系统,在一些实施例中,该任务延迟确定可以包括芯片测试设备。该芯片测试设备可以被配置为执行本申请实施例提供的任务延迟确定方法。
本申请实施例还提供一种计算机设备,该计算机设备可以包括:至少一个存储器和至少一个处理器;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行本申请实施例提供的任务延迟确定方法。
本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行上述的任务延迟确定方法。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种任务延迟确定方法,其特征在于,包括:
获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
2.根据权利要求1所述的方法,其特征在于,所述目标类任务,为所述待测模块所需执行的多个任务中的目标种类的任务,和/或,与所述待测模块相连的目标模块请求执行的任务。
3.根据权利要求1所述的方法,其特征在于,所述确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量,得到所述目标类任务的任务平均延迟。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标类任务的任务平均延迟,包括:
将所述任务延迟总量除以所述任务请求总量与所述任务延迟总量的差,得到所述目标类任务的任务平均延迟。
5.根据权利要求1所述的方法,其特征在于,所述获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量;
将预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量进行累加,得到所述目标类任务的任务请求总量和任务延迟总量。
6.根据权利要求5所述的方法,其特征在于,所述依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取目标类任务在各时钟周期的任务请求量;
依次获取目标类任务在各时钟周期的任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
7.根据权利要求5所述的方法,其特征在于,所述目标类任务,为与所述待测模块相连的目标模块请求执行的任务,所述依次获取预设数量的时钟周期内,目标类任务在各时钟周期的任务请求量和任务延迟量,包括:
依次获取所述目标模块在各时钟周期内发出的任务请求量;
依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量,以所述任务完成反馈量作为任务完成量;
计算各时钟周期内所述任务请求量和所述任务完成量的差,得到所述目标类任务在各时钟周期内的任务延迟量。
8.根据权利要求7所述的方法,其特征在于,所述目标模块与所述待测模块之间设置有第一计数器和第二计数器;
所述依次获取所述目标模块在各时钟周期内发出的任务请求量的步骤中,采用第一计数器获取所述目标模块在各时钟周期内发出的任务请求量;
所述依次获取所述目标模块在各时钟周期内接收到的任务完成反馈量的步骤中,采用第二计数器获取所述目标模块在各时钟周期内接收到的任务完成反馈量。
9.根据权利要求7所述的方法,其特征在于,所述待测模块为仲裁模块,所述目标模块为多个缓存模块中的一个缓存模块。
10.根据权利要求1所述的方法,其特征在于,所述获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量,包括:
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务请求总量;
获取所述待测模块在预设数量的时钟周期内,目标类任务的任务完成总量;
计算所述任务请求总量和所述任务完成总量的差,得到所述目标类任务在预设数量的时钟周期内的任务延迟总量。
11.根据权利要求1所述的方法,其特征在于,所述目标类任务为多个时,并行执行所述任务延迟确定方法,确定多个目标类任务的任务平均延迟;其中,在目标类任务为多个时,多个目标类任务对应的预设数量相同。
12.根据权利要求1所述的方法,其特征在于,所述预设数量的时钟周期中,预设数量的值大于或等于1,且,小于或等于所述任务请求总量的统计范围的最大值。
13.一种任务延迟确定装置,其特征在于,包括:
总量获取模块,用于获取预设数量的时钟周期内,待测模块所需执行的多个任务中,目标类任务的任务请求总量和任务延迟总量;
延迟确定模块,用于基于所述目标类任务的任务请求总量和任务延迟总量,确定所述目标类任务的任务平均延迟。
14.一种任务延迟确定系统,其特征在于,包括芯片仿真设备,所述芯片仿真设备被配置为执行如权利要求1-12任一项所述的任务延迟确定方法。
15.一种任务延迟确定系统,其特征在于,包括芯片测试设备,所述芯片测试设备被配置为执行如权利要求1-12任一项所述的任务延迟确定方法。
16.一种计算机设备,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1-12任一项所述的任务延迟确定方法。
17.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行如权利要求1-12任一项所述的任务延迟确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111128250.XA CN113868053A (zh) | 2021-09-26 | 2021-09-26 | 任务延迟确定方法、装置、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111128250.XA CN113868053A (zh) | 2021-09-26 | 2021-09-26 | 任务延迟确定方法、装置、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113868053A true CN113868053A (zh) | 2021-12-31 |
Family
ID=78994538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111128250.XA Pending CN113868053A (zh) | 2021-09-26 | 2021-09-26 | 任务延迟确定方法、装置、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868053A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301113A (zh) * | 2017-05-26 | 2017-10-27 | 北京小度信息科技有限公司 | 任务监控方法及装置 |
CN107704373A (zh) * | 2017-10-31 | 2018-02-16 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN111080126A (zh) * | 2019-12-16 | 2020-04-28 | 新华三信息技术有限公司 | 任务分配方法和装置 |
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
CN113326170A (zh) * | 2021-06-09 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 任务延迟风险检测方法、电子设备及存储介质 |
-
2021
- 2021-09-26 CN CN202111128250.XA patent/CN113868053A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301113A (zh) * | 2017-05-26 | 2017-10-27 | 北京小度信息科技有限公司 | 任务监控方法及装置 |
CN107704373A (zh) * | 2017-10-31 | 2018-02-16 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
CN111080126A (zh) * | 2019-12-16 | 2020-04-28 | 新华三信息技术有限公司 | 任务分配方法和装置 |
CN113326170A (zh) * | 2021-06-09 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 任务延迟风险检测方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019104854A1 (zh) | 性能测试评价方法、装置、终端设备及存储介质 | |
US20090064149A1 (en) | Latency coverage and adoption to multiprocessor test generator template creation | |
US7383161B2 (en) | Systems and methods for device simulation | |
JP2011086295A (ja) | 応答時間に基づいてサービスリソース消費を推定すること | |
EP2128768B1 (en) | Detecting device, program, and detecting method | |
US20090006071A1 (en) | Methods for Definition and Scalable Execution of Performance Models for Distributed Applications | |
US6856944B2 (en) | Apparatus, method and system for counting logic events, determining logic event histograms and for identifying a logic event in a logic environment | |
US6564175B1 (en) | Apparatus, method and system for determining application runtimes based on histogram or distribution information | |
US20040236560A1 (en) | Power estimation using functional verification | |
CN110503297B (zh) | 业务场景获取方法、装置、电子设备及介质 | |
CN113868053A (zh) | 任务延迟确定方法、装置、系统及相关设备 | |
US9081605B2 (en) | Conflicting sub-process identification method, apparatus and computer program | |
CN110909023B (zh) | 一种查询计划的获取方法、数据查询方法及装置 | |
CN116204396A (zh) | 一种针对分析型数据库性能的测试方法和装置 | |
Wolf et al. | Execution cost interval refinement in static software analysis | |
CN110413461B (zh) | 测量加速卡与主机之间传输延时的系统、方法及加速卡 | |
CN113760989A (zh) | 一种无界流数据处理方法、装置、设备及存储介质 | |
Hardwick et al. | Modeling the performance of e-commerce sites | |
US8881156B2 (en) | Apportioning summarized metrics based on unsummarized metrics in a computing system | |
CN101201751B (zh) | 针对联机事务处理应用的跨机型容量规划方法 | |
CN113127333A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
Kiran et al. | A prediction module to optimize scheduling in a grid computing environment | |
Brim et al. | Randomization helps in LTL model checking | |
CN112817811B (zh) | 扫描失败率的预测方法、装置、设备及存储介质 | |
Liu et al. | Diagnosing root causes of system level performance violations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |