CN115686961A - 处理器测试方法、装置及电子设备 - Google Patents
处理器测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115686961A CN115686961A CN202211350766.3A CN202211350766A CN115686961A CN 115686961 A CN115686961 A CN 115686961A CN 202211350766 A CN202211350766 A CN 202211350766A CN 115686961 A CN115686961 A CN 115686961A
- Authority
- CN
- China
- Prior art keywords
- processor
- task
- node
- concerned
- program
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种处理器测试方法、装置及电子设备,所述方法包括:在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点;确定所述关注任务节点的地址信息,根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与关注任务节点在所述待测处理器上的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常;在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。本申请实施例解决了在现有处理器流片之前的性能测试方式中,存在的测试耗时较长以及测试准确率较低的问题。
Description
技术领域
本申请涉及处理器技术领域,具体而言,本申请涉及一种处理器测试方法、装置及电子设备。
背景技术
在处理器技术领域,由于处理器流片(流片指是指像流水线一样通过一系列工艺步骤制造处理器的芯片,例如试生产)成本较高,在处理器流片之前,通常需要对处理器的性能进行评估、测试。例如,使用SimPoint技术在快速模拟器(例如Gem5、Nemu等)上运行被测处理器所执行的程序文件,采集任务节点的快照和权重,然后进行快照恢复运行,得到测试结果中的各个指标值。然而,上述技术中,需要耗费较高的时间成本,且由于数据量较大,也容易降低测试准确率。
发明内容
本申请提供了一种处理器测试方法,以解决在现有处理器流片之前的性能测试方式中,存在的测试耗时较长以及测试准确率较低的问题。
相应的,本申请还提供了一种处理器测试装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本申请的至少一个实施例,公开了一种处理器测试方法,所述方法包括:在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点;确定所述关注任务节点的地址信息;根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常;在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
可选地,所述确定所述关注任务节点的地址信息,包括:对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
可选地,所述提取所述关注任务节点的目标快照信息,包括:
获取所述关注任务节点在所述待测处理器中的第二执行次数,以及通过命令行参数确定所述程序文件中与所述地址信息对应的执行计数信息;若执行计数信息中的所述第一执行次数与所述第二执行次数相匹配,在所述软件模拟器上提取所述关注任务节点的快照信息。
可选地,所述确定所述执行程序中预设的关注任务节点,包括:通过命令行参数,确定所述执行程序中任务节点中预设的所述关注任务节点。
可选地,所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配,包括:所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数之差在预设误差范围内。
本申请的至少一个实施例,还公开了一种处理器测试装置,所述装置包括:节点确定模块,用于在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点;地址确定模块,用于确定所述关注任务节点的地址信息;快照提取模块,用于根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常;快照运行模块,用于在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
可选地,所述地址确定模块包括:反汇编子模块,用于对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
可选地,所述快照提取模块包括:计数子模块,用于获取所述关注任务节点在所述待测处理器中的第二执行次数,以及通过命令行参数确定所述程序文件中与所述地址信息对应的执行计数信息;提取子模块,用于若执行计数信息中的所述第一执行次数与所述第二执行次数相匹配,在所述软件模拟器上提取所述关注任务节点的快照信息。
可选地,所述节点确定模块包括:确定子模块,用于通过命令行参数,确定所述执行程序中任务节点中预设的所述关注任务节点。
可选地,所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配,包括:所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数之差在预设误差范围内。
根据本申请的至少一个实施例,还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请实施例中一个或多个所述的方法。
根据本申请的至少一个实施例,还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例中一个或多个所述的方法。
根据本申请的至少一个实施例,还公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本申请实施例中一个或多个所述的方法。
本申请的至少一个实施例提供的技术方案带来的有益效果是:
在对处理器进行性能测试的过程中,在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点,并进一步确定所述关注任务节点的地址信息;根据所述地址信息,提取所述关注任务节点的目标快照信息,最后在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;预先设定关注任务节点,可避免关注任务节点被遗漏,能够提升性能测试结果的准确性。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的处理器测试方法的流程图;
图2为本申请实施例提供的第一示例的示意图之一;
图3为本申请实施例提供的第一示例的流程图之二;
图4为本申请实施例提供的处理器测试装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1,本申请实施例提供了一种处理器测试方法,可选地,所述方法应用于处理器测试系统,所述处理器测试系统用于在处理器的芯片流片之前,对处理器进行性能评估、测试。
如图1中所示,该方法可以包括以下步骤:
步骤101,在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点。
其中,待测处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、微处理器(Microprocessor Unit,MPU)、数据信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)等,本实施例不做限定。
在待测处理器流片之前,或其他需要对待测处理器进行性能评估、测试的场景中,首先获取待测处理器所执行的执行程序的程序文件,基于所述执行程序的程序文件对待测处理器进行性能测试。可选地,程序文件可以包括specint2006或specint2017中规定的性能指标。
可选地,所述执行程序中包括多个任务节点,在这些任务节点中包括预设的关注任务节点(记为trigger point)。这些关注任务节点可以是任务节点容易出现问题的关键点,在后续模拟运行过程中,需要着重关注的任务节点。
关注任务节点可以是在对待测处理器进行性能测试之前预先设定的;比如,提取自待测处理器的历史性能测试的测试数据中,或采用所述程序文件进行处理器测试的历史测试数据中,在任务节点中提取到关注任务节点后,在所述执行文件中标注该任务节点为关注任务节点,便于后期测试时快速识别关注任务节点。
在软件模拟器上模拟运行所述程序文件时,确定所述执行程序中预先设定的关注任务节点。可选地,所述软件模拟器可以是Gem5、Nemu等快速模拟器。
步骤102,确定所述关注任务节点的地址信息。
在确定所述执行程序中的关注任务节点之后,进一步确定所述关注任务节点在所述程序文件中的地址信息;可选地,可通过反汇编所述程序文件,得到所述关注任务节点的地址信息。
步骤103,根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器上的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常。
其中,快照信息包括对应任务节点的节点数据信息、节点参数信息等。通常情况下,快照可以为一组文件、目录或卷在某个特定时间点的数据副本;快照信息可以用于进行数据恢复,当系统发生应用故障或者文件损坏时可以及时进行数据恢复。
本申请实施例中,在确定关注任务节点的地址信息之后,根据所述地址信息,提取所述关注任务节点的目标快照信息;所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与关注任务节点在所述待测处理器的实际执行次数(第二执行次数)匹配的情况下提取的。也就是说,(本次测试过程)当关注任务节点在所述软件模拟器上的第一执行次数,与所述关注任务节点在所述待测处理器上的第二执行次数相匹配的情况下,提取所述关注任务节点的快照信息即为目标快照信息。
其中,两个执行次数相匹配,例如两者一致,或者差值在预设误差范围内;在两个执行次数匹配时提取快照信息,目的在于在模拟运行的过程中,构造与待测处理器实际运行环境同样的执行参数;比如,一些程序缺陷(bug)只有在执行到一定次数的情况下才能显示,因此,在程序文件相同的情况下,只有模拟与实际运行过程相同或相近的执行次数,才能有效地测试出关注任务节点是否出现bug等情况。
此外,所述目标快照信息需为所述程序文件(所述执行程序)在所述软件模拟器上运行正常的情况下提取的,即在执行程序在软件模拟器上运行正常的情况下,才能准确地测试所述待测处理器的性能信息,避免测试结果受到其他异常因素的干扰。
步骤104,在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
在提取目标快照信息之后,在待测处理器上运行每个所述目标快照信息,得到所述测处理器的测试结果。可选地,所述测试结果中包括待测处理器的性能指标的测试结果。
这样,本申请实施例中,通过在程序文件中携带预设的关注任务节点,后续通过程序文件对处理器进行性能测试时,可通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;避免在大量任务节点的情况下,盲目地提取快照信息,占用大量内存空间;且预先设定关注任务节点,可避免关注任务节点被遗漏,造成性能测试结果准确。此外,在软件模拟器上运行正常之后再去测试平台运行,避免在测试平台运行时发现新的bug,耗费较长的时间成本。
本申请实施例中,在对处理器进行性能测试的过程中,在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点,并进一步确定所述关注任务节点的地址信息;根据所述地址信息,提取所述关注任务节点的目标快照信息,最后在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;预先设定关注任务节点,可避免关注任务节点被遗漏,提升性能测试结果的准确性。本申请实施例解决了现有技术中,处理器流片之前的性能测试方式,存在的测试耗时较长以及测试准确率较低的问题。
在一个可选实施例中,所述确定所述关注任务节点的地址信息,包括:
对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
其中,反汇编处理包括将目标代码转为汇编代码的过程,即把机器语言转换为汇编语言代码的过程,通过对程序文件反汇编处理,得到关注任务节点的地址信息;地址信息用于获取关注任务节点的快照信息。
在一个可选实施例中,所述提取所述关注任务节点的目标快照信息,包括:获取所述关注任务节点在所述待测处理器中的第二执行次数,以及通过命令行参数确定所述程序文件中与所述地址信息对应的执行计数信息;若执行计数信息中的所述第一执行次数与所述第二执行次数相匹配,在所述软件模拟器上提取所述关注任务节点的快照信息。
其中,分别获取关注任务节点在所述待测处理器中的第二执行次数以及在所述软件模拟器上的执行计数信息;所述执行计数信息记载所述软件模拟器执行所述关注任务节点的次数计数值;在执行计数信息中的所述第一执行次数与所述第二执行次数相匹配的情况下,在所述软件模拟器上提取所述关注任务节点的快照信息,即所述目标快照信息。
在一个可选实施例中,所述关注任务节点在所述软件模拟器上的第一执行次数与关注任务节点在所述待测处理器上的第二执行次数匹配,包括:所述关注任务节点在所述软件模拟器上的第一执行次数与所述待测处理器中的第二执行次数之差在预设误差范围内。
其中,两个执行次数相匹配,例如两者一致,或者差值在预设误差范围内;在两个执行次数匹配时提取快照信息,目的在于在模拟运行的过程中,构造与待测处理器实际运行环境同样的执行参数;比如,一些程序缺陷(bug)只有在执行到一定次数的情况下才能显示,因此,在程序文件相同的情况下,只有模拟与实际运行过程相同或相近的执行次数,才能有效地测试出关注任务节点是否出现bug等情况。
在一个可选实施例中,所述确定所述执行程序中预设的关注任务节点,包括:通过命令行参数,确定所述执行程序中任务节点中预设的所述关注任务节点。
其中,所述执行程序中包括多个任务节点,所述任务节点可以是关注任务节点(例如触发点trigger point)或非关注任务节点(例如模拟点SimPoint),通过命令行参数(Command line parameter)即通过命令行中给定的参数识别执行程序中的任务节点中是关注任务节点还是非关注任务节点。
作为第一示例,参见图2,图2示出了本申请实施例提供的处理器测试方法的一个示例,主要包括以下步骤:
步骤201,通过软件模拟器执行待测的程序文件时,通过命令行参数区分是SimPoint还是trigger point,从而执行不同的操作:
若为Sim Point则执行采样、聚类处理;如步骤202所示,执行profile采样;步骤203,cluster聚类,后续执行步骤205。
若为trigger point,执行步骤204,获取trigger point的地址信息以及在所述待测处理器的第二执行次数,后续执行步骤205。
步骤205,提取目标快照信息(take checkpoint)。
例如,使用命令行参数"-t<triggerpoint_addr><triggerpoint_cnt>",表示程序第triggerpoint_cnt次运行到指定triggerpoint_addr时take trigger point,即抓取检查点take checkpoint;其中,triggerpoint_addr表示地址信息,triggerpoint_cnt表示第二执行次数。
步骤206,在测试平台上恢复运行所述目标快照信息。
进一步地,步骤205中提取目标快照信息的具体过程如图3所示:
步骤301,在软件模拟器上通过命令行参数来执行所述执行程序。
解析trigger point参数信息"-t<triggerpoint_addr><triggerpoint_cnt>";其中,"-t"即代表要执行trigger point功能;triggerpoint_addr表示地址信息,triggerpoint_cnt表示第二执行次数。
步骤302,获取当前软件模拟器的程序计数器(Program Counter,PC)的值(指示下一条指令所在的地址信息),与triggerpoint_addr进行比较,如果相同,则将运行到该地址的计数值(初始为0)加1,即将第一执行次数加1。
步骤303,将运行到triggerpoint_addr地址的计数值(第一执行次数)与triggerpoint_cnt进行比较,如果相等则执行步骤304,获取快照;如果不相等,则返回步骤302。
本申请实施例中,在对处理器进行性能测试的过程中,在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点,并进一步确定所述关注任务节点的地址信息;根据所述地址信息,提取所述关注任务节点的目标快照信息,最后在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;预先设定关注任务节点,可避免关注任务节点被遗漏,提升性能测试结果的准确性。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种处理器测试装置,如图4所示,该装置包括:
节点确定模块401,用于在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点。
其中,待测处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、微处理器(Microprocessor Unit,MPU)、数据信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)等,本实施例不做限定。
在待测处理器流片之前,或其他需要对待测处理器进行性能评估、测试的场景中,首先获取待测处理器所执行的执行程序的程序文件,程序文件即所述待测处理器的执行程序的程序文件,基于所述执行程序的程序文件对待测处理器进行性能测试。可选地,程序文件可以包括specint2006或specint2017中规定的性能指标;其中,执行程序中包括预设的关注任务节点。
可选地,所述执行程序中包括多个任务节点,在这些任务节点中包括预设的关注任务节点(记为trigger point)。这些关注任务节点可以是任务节点容易出现问题的关键点,在后续模拟运行过程中,需要着重关注的任务节点。
关注任务节点可以是在对待测处理器进行性能测试之前预先设定的;比如,提取自待测处理器的历史性能测试的测试数据中,或采用所述程序文件进行处理器测试的历史测试数据中,提取到关注任务节点后,在所述执行文件中标注所述关注任务节点;在软件模拟器上模拟运行所述程序文件时,确定所述执行程序中预先设定的关注任务节点,关注任务节点可以是任务节点容易出现问题的关键点,后续在模拟运行过程中,可着重关注所述关注任务节点。
可选地,所述软件模拟器可以是Gem5、Nemu等快速模拟器。
地址确定模块402,用于确定所述关注任务节点的地址信息。
在确定所述执行程序中的关注任务节点之后,进一步确定所述关注任务节点在所述程序文件中的地址信息;可选地,可通过反汇编所述程序文件,得到所述关注任务节点的地址信息。
快照提取模块403,用于根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常。
其中,快照信息包括对应任务节点的节点数据信息、节点参数信息等。通常情况下,快照可以为一组文件、目录或卷在某个特定时间点的数据副本;快照信息可以用于进行数据恢复,当系统发生应用故障或者文件损坏时可以及时进行数据恢复。
本申请实施例中,在确定关注任务节点的地址信息之后,根据所述地址信息,提取所述关注任务节点的目标快照信息;所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述待测处理器的实际执行次数(第二执行次数)匹配的情况下提取的;也就是说,(本次测试过程)当关注任务节点在所述软件模拟器上的第一执行次数,与所述关注任务节点在所述待测处理器上的第二执行次数相匹配的情况下,提取所述关注任务节点的快照信息即为目标快照信息。
其中,两个执行次数相匹配,例如两者一致,或者差值在预设误差范围内;在两个执行次数匹配时提取快照信息,目的在于在模拟运行的过程中,构造与待测处理器实际运行环境同样的执行参数;比如,一些程序缺陷(bug)只有在执行到一定次数的情况下才能显示,因此,在程序文件相同的情况下,只有模拟与实际运行过程相同或相近的执行次数,才能有效地测试出关注任务节点是否出现bug等情况。
此外,所述目标快照信息需为所述程序文件(所述执行程序)在所述软件模拟器上运行正常的情况下提取的,即在执行程序在软件模拟器上运行正常的情况下,才能准确地测试所述待测处理器的性能信息,避免测试结果受到其他异常因素的干扰。
快照运行模块404,用于在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
在提取目标快照信息之后,在待测处理器上运行每个所述目标快照信息,得到所述测处理器的测试结果。可选地,所述测试结果中包括待测处理器的性能指标的测试结果。
这样,本申请实施例中,通过在程序文件中携带预设的关注任务节点,后续通过程序文件对处理器进行性能测试时,可通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;避免在大量任务节点的情况下,盲目地提取快照信息,占用大量内存空间;且预先设定关注任务节点,可避免关注任务节点被遗漏,造成性能测试结果准确。此外,在软件模拟器上运行正常之后再去测试平台运行,避免在测试平台运行时发现新的bug,耗费较长的时间成本。
可选地,本申请实施例中,所述地址确定模块402还用于:
对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
可选地,本申请实施例中,所述快照提取模块403包括:
计数子模块,用于获取所述关注任务节点在所述待测处理器中的第二执行次数,以及通过命令行参数确定所述程序文件中与所述地址信息对应的执行计数信息;
提取子模块,用于若执行计数信息中的所述第一执行次数与所述第二执行次数相匹配,在所述软件模拟器上提取所述关注任务节点的快照信息。
可选地,本申请实施例中,所述节点确定模块401包括:
确定子模块,用于通过命令行参数,确定所述执行程序中任务节点中预设的所述关注任务节点。
可选地,本申请实施例中,所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配,包括:
所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数之差在预设误差范围内。
本申请实施例提供的处理器测试装置能够实现图1至图3的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
本申请提供的处理器测试装置,在对处理器进行性能测试的过程中,节点确定模块401在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点,地址确定模块402确定所述关注任务节点的地址信息;快照提取模块403根据所述地址信息,提取所述关注任务节点的目标快照信息,快照运行模块404在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。通过上述方案,根据关注任务节点有针对性地提取快照信息,能够减少数据处理量;预先设定关注任务节点,可避免关注任务节点被遗漏,提升性能测试结果的准确性。
本申请实施例的处理器测试装置可执行本申请实施例所提供的处理器测试方法,其实现原理相类似,本申请各实施例中的处理器测试装置中的各模块、单元所执行的动作是与本申请各实施例中的处理器测试方法中的步骤相对应的,对于处理器测试装置的各模块的详细功能描述具体可以参见前文中所示的对应的处理器测试方法中的描述,此处不再赘述。
基于与本申请的实施例中所示的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一可选实施例所示的处理器测试方法。
在一个可选实施例中,还提供了一种电子设备,如图5所示,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004,收发器5004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。
处理器5001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器5003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器5003用于存储执行本申请实施例的计算机程序,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种处理器测试方法,其特征在于,包括:
在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点;
确定所述关注任务节点的地址信息;
根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常;
在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
2.根据权利要求1所述的处理器测试方法,其特征在于,所述确定所述关注任务节点的地址信息,包括:
对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
3.根据权利要求1所述的处理器测试方法,其特征在于,所述提取所述关注任务节点的目标快照信息,包括:
获取所述关注任务节点在所述待测处理器中的第二执行次数,以及通过命令行参数确定所述程序文件中与所述地址信息对应的执行计数信息;
若执行计数信息中的所述第一执行次数与所述第二执行次数相匹配,在所述软件模拟器上提取所述关注任务节点的快照信息。
4.根据权利要求1所述的处理器测试方法,其特征在于,所述确定所述执行程序中预设的关注任务节点,包括:
通过命令行参数,确定所述执行程序中任务节点中预设的所述关注任务节点。
5.根据权利要求1至4中任一项所述的处理器测试方法,其特征在于,所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配,包括:
所述关注任务节点在所述软件模拟器上的第一执行次数与所述待测处理器中的第二执行次数之差在预设误差范围内。
6.一种处理器测试装置,其特征在于,包括:
节点确定模块,用于在软件模拟器上运行包括待测处理器的执行程序的程序文件,确定所述执行程序中预设的关注任务节点;
地址确定模块,用于确定所述关注任务节点的地址信息;
快照提取模块,用于根据所述地址信息,提取所述关注任务节点的目标快照信息;其中,所述目标快照信息为所述关注任务节点在所述软件模拟器上的第一执行次数与所述关注任务节点在所述待测处理器中的第二执行次数匹配的情况下提取的,且所述程序文件在所述软件模拟器上运行正常;
快照运行模块,用于在测试平台上运行所述目标快照信息,得到所述待测处理器的测试结果。
7.根据权利要求6所述的处理器测试装置,其特征在于,所述地址确定模块还用于:
对所述程序文件进行反汇编处理,得到所述关注任务节点的地址信息。
8.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211350766.3A CN115686961A (zh) | 2022-10-31 | 2022-10-31 | 处理器测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211350766.3A CN115686961A (zh) | 2022-10-31 | 2022-10-31 | 处理器测试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686961A true CN115686961A (zh) | 2023-02-03 |
Family
ID=85045575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211350766.3A Pending CN115686961A (zh) | 2022-10-31 | 2022-10-31 | 处理器测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686961A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093353A (zh) * | 2023-10-17 | 2023-11-21 | 北京开源芯片研究院 | 一种中断控制方法、装置、电子设备及可读存储介质 |
CN117113907A (zh) * | 2023-10-17 | 2023-11-24 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-10-31 CN CN202211350766.3A patent/CN115686961A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093353A (zh) * | 2023-10-17 | 2023-11-21 | 北京开源芯片研究院 | 一种中断控制方法、装置、电子设备及可读存储介质 |
CN117113907A (zh) * | 2023-10-17 | 2023-11-24 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
CN117113907B (zh) * | 2023-10-17 | 2023-12-22 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
CN117093353B (zh) * | 2023-10-17 | 2024-02-02 | 北京开源芯片研究院 | 一种中断控制方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769504B2 (en) | Method and apparatus for dynamically instrumenting a program | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
CN112149136A (zh) | loT设备固件漏洞的检测方法、系统及电子设备 | |
CN113901745A (zh) | 芯片测试方法、装置、电子设备及计算机可读存储介质 | |
CN105630656A (zh) | 基于日志模型的系统健壮性分析方法及装置 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN111090593A (zh) | 确定崩溃归属的方法、装置、电子设备及存储介质 | |
CN110580220A (zh) | 测量代码段执行时间的方法及终端设备 | |
CN112560372B (zh) | 一种芯片原型验证方法、装置、设备及介质 | |
CN110959153A (zh) | 使用灵活后处理的应用分析 | |
CN105912467B (zh) | 一种性能测试方法及装置 | |
CN112181479A (zh) | 代码文件版本间差异的确定方法、装置及电子设备 | |
CN109902001B (zh) | 对未初始化变量的检测方法及终端设备 | |
CN105302700A (zh) | 一种记录在触摸终端上的用户操作的方法与设备 | |
CN113127331A (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN115964237A (zh) | 一种针对中央处理器cpu的功能及性能测试方法及装置 | |
CN115373929A (zh) | 测试方法、装置、设备、可读存储介质及程序产品 | |
CN112506806B (zh) | 用于调试程序的方法、电子设备及存储介质 | |
CN114020645A (zh) | 测试方法、装置、设备、可读存储介质及计算机程序产品 | |
CN109374038B (zh) | 一种基于应用样机的核安全级仪控产品的变更测试方法 | |
CN116594862B (zh) | Dbms的测试方法、装置、电子设备及可读存储介质 | |
CN111078574A (zh) | 生成影响分析报告的方法及装置 | |
CN117008972B (zh) | 一种指令分析方法、装置、计算设备及存储介质 | |
US11397662B2 (en) | Method for debugging computer program, device employing method, and storage medium | |
CN111552960B (zh) | 一种程序完整性的动态度量方法和装置 |
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 |