CN115658455A - 处理器性能评估方法、装置、电子设备及可读存储介质 - Google Patents
处理器性能评估方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115658455A CN115658455A CN202211564283.3A CN202211564283A CN115658455A CN 115658455 A CN115658455 A CN 115658455A CN 202211564283 A CN202211564283 A CN 202211564283A CN 115658455 A CN115658455 A CN 115658455A
- Authority
- CN
- China
- Prior art keywords
- preheating
- cache
- processor
- length
- target 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种处理器性能评估方法、装置、电子设备及可读存储介质,该方法包括:获取目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理器性能评估方法、装置、电子设备及可读存储介质。
背景技术
在芯片设计领域,硅前性能评估对项目推进、设计决策都是不可或缺的。现有的硅前性能评估技术主要分为三类:基于软件的寄存器传输级(Register Transfer Level,RTL)仿真、基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)的硬件仿真和基于仿真加速器的硬件仿真。这三种方法均有各自的局限性。其中,基于软件的RTL仿真的仿真速度非常慢,无法满足高性能处理器的仿真需求。基于FPGA的硬件仿真的最大局限性是容量有限,FPGA自身的容量会限制能容纳的处理器的规模。基于仿真加速器的硬件仿真虽然克服了FPGA的有限容量的问题,但是价格昂贵且供应量非常有限,而且仿真速度比FPGA慢10~100倍。
为了提升处理器的性能评估效率,现有技术中通过采样技术选择性地执行程序,但是采样技术对RTL软件仿真的仿真速率的改善仍然无法满足大范围、高性能的处理器的仿真需求,处理器的性能评估效率还有待进一步提升。
发明内容
本发明实施例提供一种处理器性能评估方法、装置、电子设备及可读存储介质,可以提高处理器的微结构预热效率,提升处理器的性能评估效率和采集的性能数据的准确度。
为了解决上述问题,本发明实施例公开了一种处理器性能评估方法,应用于仿真系统,所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件,所述方法包括:
获取所述目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数;
根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;
基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求;
根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;
基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
另一方面,本发明实施例公开了一种处理器性能评估装置,应用于仿真系统,所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件,所述装置包括:
数据获取模块,用于获取所述目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数;
预热长度确定模块,用于根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;
预热画像生成模块,用于基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求;
预热处理模块,用于根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;
仿真处理模块,用于基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
再一方面,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的处理器性能评估方法。
本发明实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的处理器性能评估方法。
本发明实施例包括以下优点:
本发明实施例提供了一种处理器性能评估方法,通过获取目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线,根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;然后,基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求。本发明实施例可以针对目标程序的分支预测组件和缓存组件,分别确定对应各个组件所需的预热长度,不仅能够满足各个组件的预热需求,同时还能避免因采用相同的预热长度导致某些组件在预热过程中执行不必要的指令,有利于提升微结构预热效率,进而有利于提升处理器的性能评估效率。接下来,本发明实施例可以根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息,并基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据,使得仿真系统采集待测处理器的性能数据时,各个组件的状态更加接近从头开始运行测试程序的微结构状态,提升了采集的性能数据的准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种处理器性能评估方法实施例的步骤流程图;
图2是本发明的一种处理器性能评估装置实施例的结构框图;
图3是本发明示例提供的一种用于处理器性能评估的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
方法实施例
参照图1,示出了本发明的一种处理器性能评估方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、获取目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线。
步骤102、根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度。
步骤103、基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求。
步骤104、根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息。
步骤105、基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
本发明实施例提供的处理器性能评估方法,可以应用于仿真系统。所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件。作为一种示例,所述仿真系统可以通过对待测处理器进行RTL软件仿真,采集所述待测处理器在执行目标程序时的性能数据。所述性能数据可以包括分支预测准确率、缓存命中率、时钟周期数等等,用于反映待测处理器在执行目标程序时的性能。
所述目标程序为仿真系统基于采样算法对测试程序进行采样后得到的。假设采样算法指定的采样时刻为T,采样区间长度为S,则目标程序为测试程序中位于采样区间[T,T+S]内的程序片段。仿真系统采集待测处理器在采样区间[T,T+S]内的性能数据,也即待测处理器执行目标程序时的性能数据。需要说明的是,测试程序可以根据实际测试需求确定,例如,测试程序可以是基准测试程序,如使用SPEC CPU基准测试套件编写的测试程序;测试程序也可以为应用程序,如文本编译软件、游戏应用等的应用程序。
在基于采样技术的RTL软件仿真中会选择性地执行测试程序:跳过大部分程序,只执行小部分片段。假定采样算法指定的收集性能数据的采样区间是[T,T+S],如果仿真系统直接从T时刻开始执行目标程序,此时待测处理器中的各个组件,例如缓存组件、分支预测组件等,都处于全空的状态,也即待测处理器为冷启动。在冷启动下收集的性能数据与实际性能数据之间会存在很大偏差,例如,相比于实际性能数据,冷启动下收集的性能数据中缓存缺失率、分支预测错误率等可能更高,不能准确反映待测处理器的真实性能。
在实际应用中,为了避免待测处理器冷启动对收集的性能数据的准确度产生的影响,可以对待测处理器进行预热。示例性地,可以先执行预热区间[T-W,T]内的程序片段,并将[T-W,T]采集的性能数据丢弃,仅保留各个组件的状态信息,T时刻的微结构状态,如缓存组件的状态、分支预测组件的状态等,就会更加接近从头开始运行测试程序的微结构状态,在采样区间[T,T+S]内采集的性能数据就会更加准确。
可以理解的是,如果只考虑微结构预热对性能数据的准确度的影响,预热区间越长越好,但预热区间越长,仿真系统需要执行的指令数也会更多,影响性能数据的采集效率。
在本发明实施例中,在对待测处理器进行仿真之前,可以先获取目标程序对应的分支预测组件的第一性能曲线,以及该目标程序对应的缓存组件的第二性能曲线。可以理解的是,目标程序不同,执行该目标程序时所需的组件也不同。在本发明实施例中,可以针对每个目标程序确定其所需的分支预测组件和缓存组件,并确定各个组件的性能曲线,以便提升各个组件的预热长度与目标程序的适配度,进而提升采集的性能数据的准确度。所述分支预测组件可以包括分支预测器、分支目标缓存等,缓存组件可以包括一级缓存、二级缓存等等。
其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数。
接下来,可以根据第一性能曲线确定该目标程序对应的分支预热长度,并根据第二性能曲线确定该目标程序对应的缓存预热长度。其中,分支预热长度可以指示分支预测组件的预热区间长度,缓存预热长度可以指示缓存组件的预热区间长度。示例性地,预先针对目标程序所需的分支预测组件和缓存组件,分别确定预热长度的取值区间,然后根据取值区间内第一性能曲线、第二性能曲线对应的最小值,确定分支预热长度和缓存预热长度。例如,假设分支预测组件对应的预热长度的取值区间为[10M,50M],缓存组件对应的预热长度的取值区间为[10M,1G],其中,10M、50M、1G均指示在组件预热过程中需要执行的预热指令所占用的存储空间的大小。可以理解的是,第一性能曲线和第二性能曲线为单调递减的函数曲线,因此,可以直接将50M作为分支预测组件对应的分支预热长度,将1G作为缓存组件对应的缓存预热长度。
确定目标程序对应的分支预热长度和缓存预热长度之后,就可以根据分支预热长度和缓存预热长度生成目标程序的预热画像。需要说明的是,所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求。作为一种示例,该预热画像可以包括分支预测组件所需的预热长度、缓存组件所需的预热长度,还可以包括分支预测组件的第一性能曲线和缓存组件的第二性能曲线。
在本发明实施例中,可以直接将分支预热长度确定为分支预测组件所需的预热长度,将缓存预热长度确定为缓存组件所需的预热长度。当然,也可以根据分支预热长度和缓存预热长度计算分支预测组件所需的预热长度和缓存组件所需的预热长度。缓存组件所需的预热长度较大,功能级预热速度快,可以缩短预热时间,因此可以对缓存组件进行功能级预热,获得缓存组件在较长区间(例如100M至1000M)的缓存状态。分支预测组件所需的预热长度较短,因此可以根据目标程序的需求定制化选择高精度的预热长度。作为一种示例,假设分支预热长度为BW,缓存预热长度为CW,缓存组件所需的功能级预热长度FW=CW-BW,分支预测组件所需的高精度预热长度DW=BW。
生成目标程序的预热画像之后,根据预热画像分别对缓存组件和分支预测组件进行预热处理,得到缓存组件对应的第一状态信息和分支预测组件对应的第二状态信息。具体地,假设采样算法指定的收集性能数据的采样区间是[T,T+S],预热画像中缓存组件所需的预热长度为FW,分支预测组件所需的预热长度为DW,仿真系统执行测试程序中[T-FW,T]内的程序片段,得到缓存组件的第一状态信息,执行测试程序中[T-DW,T]内的程序片段,得到分支预测组件的第二状态信息。
最后,基于第一状态信息和第二状态信息对待测处理器进行仿真处理,就可以得到待测处理器执行目标程序时的性能数据。示例性地,可以利用第一状态信息和第二状态信息对仿真系统进行配置,使得仿真系统对应的各个组件的状态信息与第一状态信息、第二状态信息相匹配,然后,执行采样区间[T,T+S]内的目标程序,得到待测处理器执行目标程序时的性能数据。
本发明实施例提供的处理器性能评估方法,可以针对目标程序的分支预测组件和缓存组件,分别确定对应的预热长度,每个目标程序的分支预测组件和缓存预测组件的预热长度都是独立的,不仅能够满足各个组件的预热需求,同时还能避免采用相同的预热长度导致某些组件在预热过程中执行不必要的指令,有利于提升微结构预热效率,进而提升处理器的性能评估效率。并且,通过微结构预热,使得仿真系统采集待测处理器的性能数据时,各个组件的状态更加接近从头开始运行测试程序的微结构状态,提升了采集的性能数据的准确度。
需要说明的是,在预热长度达到一定阈值之后,分支预测组件对应的每一千条指令中错误预测数(Missed predictions per kilo-instructions,MPKI)不再发生显著变化;同样地,在预热长度达到一定阈值之后,缓存组件对应的每一千条指令中不命中次数也不再发生显著变化。为了保证预热后采集的性能数据的准确度,同时避免在微结构预热过程中执行不必要的指令,可以根据第一性能曲线和第二性能曲线的饱和点确定分支预热长度和缓存预热长度。
在本发明的一种可选实施例中,步骤102所述根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度,包括:
步骤S11、确定所述第一性能曲线中的第一饱和点和所述第二性能曲线中的第二饱和点;
步骤S12、根据所述第一饱和点确定所述目标程序对应的分支预热长度;
步骤S13、根据所述第二饱和点确定所述目标程序对应的缓存预热长度。
饱和点为性能曲线中因变量取值不再随自变量的增加在发生显著变化的点。可以理解的是,第一性能曲线和第二性能曲线为单调递减的函数曲线,因此,可以在第一性能曲线中选取增加预热长度不再显著降低采样区间内分支预测组件的MPKI的点作为第一饱和点,在第二性能曲线中选取增加预热长度不再显著降低采样区间内缓存组件的MPKI的点作为第二饱和点。
作为一种示例,假设在第一性能曲线中位于最右端的点,也即极小值点为(Wb,BMx),在第一性能曲线中确定BMi=101%*BMx时的预热长度Wi,将(Wi,BMi)确定为第一性能曲线中的第一饱和点,并将Wi作为分支预热长度。
同理,假设在第二性能曲线中位于最右端的点,也即极小值点为(Wc,CMx),在第二性能曲线中确定CMj=101%*CMx时的预热长度Wj,将(Wj,CMj)确定为第二性能曲线中的第二饱和点,并将Wj作为缓存预热长度。
可选地,所述预热画像包括所述缓存组件对应的功能级预热长度和所述分支预测组件对应的高精度预热长度;步骤103所述基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像,包括:
步骤S21、计算所述缓存预热长度和所述分支预热长度的差值,得到所述缓存组件对应的功能级预热长度;
步骤S22、将所述分支预热长度确定为所述分支预测组件对应的高精度预热长度。
缓存组件所需的预热长度较大,功能级预热速度快,可以缩短预热时间,因此可以对缓存组件进行功能级预热,获得缓存组件在较长区间(例如100M至1000M)的缓存状态。分支预测组件所需的预热长度较短,因此可以根据目标程序的需求定制化选择高精度的预热长度。作为一种示例,假设分支预热长度为BW,缓存预热长度为CW,缓存组件所需的功能级预热长度FW=CW-BW,分支预测组件所需的高精度预热长度DW=BW。
在本发明的一种可选实施例中,步骤104所述根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息,包括:
步骤S31、根据所述功能级预热长度对所述缓存组件进行预热处理,得到所述缓存组件对应的第一状态信息;
步骤S32、根据所述第一状态信息和所述高精度预热长度对所述分支预测组件进行预热处理,得到所述分支预测组件对应的第二状态信息。
假设功能级预热长度为FW,高精度预热长度为DW,采样算法指定的收集性能数据的采样区间是[T,T+S],那么,在微结构预热阶段,仿真系统通过执行测试程序中[T-FW,T]内的程序片段对缓存组件进行预热处理,得到缓存组件的第一状态信息;并通过执行测试程序中[T-DW,T]内的程序片段对分支预测组件进行预热处理,得到分支预测组件的第二状态信息。
功能级预热长度通常大于高精度预热长度,在本发明实施例中,对分支预测组件进行预热处理时,可以根据缓存组件的第一状态信息对缓存组件进行配置,使得仿真系统在执行(T-DW)处的指令时,缓存组件的状态更加接近从头开始运行测试程序的状态。在缓存组件的预热结果的基础上,对分支预测组件进行预热处理,可以进一步提升分支预测组件的预热效率,有利于提升第二状态信息的准确度。
本发明实施例中的仿真系统可以包括电子系统级设计(Electronic SystemLevel Design,ESL)平台和硬件描述语言(Hardware Description Language,HDL)仿真平台。其中,ESL平台可以用于生成分支预测组件的第一性能曲线和缓存组件的第二性能曲线。具体地,可以将预先针对分支预测组件和缓存组件分别设置预热长度区间,然后利用ESL平台对分支预测组件和缓存组件分别进行性能分析,得到分支预测组件在各个预热长度下的分支MPKI,(每一千条指令中错误预测数)以及缓存组件在各个预热长度下的缓存MPKI(每一千条指令中不命中次数)。然后,根据分支预测组件在各个预热长度下的分支MPKI,生成分支预测组件的第一性能曲线,根据缓存组件在各个预热长度下的缓存MPKI,生成缓存组件的第二性能曲线。
ESL平台还可以用于对缓存组件进行预热处理,HDL平台用于对分支预测组件进行预热处理,并采集采样区间内待测处理器的性能数据。
在本发明的一种可选实施例中,所述目标程序由所述仿真系统对测试程序进行采样处理得到,所述目标程序为位于所述测试程序的采样区间内的程序片段;所述仿真系统包括电子系统级设计平台;步骤S31所述根据所述功能级预热长度对所述缓存组件进行预热处理,得到所述缓存组件对应的第一状态信息,包括:
子步骤S311、根据所述功能级预热长度在所述测试程序中确定所述目标程序对应的第一检查点;所述第一检查点与所述采样区间的起点之间的距离等于所述功能级预热长度;
子步骤S312、从所述测试程序中提取位于所述第一检查点与所述采样区间的起点之间的指令,得到第一指令集;
子步骤S313、利用所述电子系统级设计平台顺序执行所述第一指令集中的各条指令,得到所述缓存组件对应的第一状态信息。
在本发明实施例中,确定功能级预热长度之后,可以根据功能级预热长度确定目标程序对应的第一检查点。假设采样算法指定的收集性能数据的采样区间是[T,T+S],功能级预热长度为FW,其中,T为采样区间的起点,也即采样起点,S为采样区间的长度。那么,第一检查点为(T-FW)。
提取测试程序中位于第一检查点(T-FW)与采样起点T之间的指令,也即区间[T-FW,T]内的指令,得到第一指令集。在ESL平台上运行第一指令集中的指令,就可以得到缓存组件对应的第一状态信息。
可选地,所述仿真系统还包括硬件描述语言仿真平台;步骤S32所述根据所述第一状态信息和所述高精度预热长度对所述分支预测组件进行预热处理,得到所述分支预测组件对应的第二状态信息,包括:
子步骤S321、根据所述高精度预热长度在所述测试程序中确定所述目标程序对应的第二检查点;所述第二检查点与所述采样区间的起点之间的距离等于所述高精度预热长度;
子步骤S322、从所述测试程序中提取位于所述第二检查点与所述采样区间的起点之间的指令,得到第二指令集;
子步骤S323、根据所述第一状态信息对所述硬件描述语言仿真平台的缓存组件进行配置;
子步骤S324、利用配置后的硬件描述语言仿真平台顺序执行所述第二指令集中的各条指令,得到所述分支预测组件对应的第二状态信息。
假设采样算法指定的收集性能数据的采样区间是[T,T+S],功能级预热长度为DW,那么,第二检查点为(T-DW)。提取测试程序中位于第二检查点(T-DW)与采样起点T之间的指令,也即区间[T-DW,T]内的指令,得到第二指令集。
在本发明实施例中,对分支预测组件进行预热处理时,可以根据缓存组件的第一状态信息对HDL平台的缓存组件进行配置,使得HDL平台在执行(T-DW)处的指令时,缓存组件的状态更加接近从头开始运行测试程序的状态。在配置有第一状态信息的HDL平台上运行第二指令集中的指令,就可以得到分支预测组件的第二状态信息。
在本发明的一种可选实施例中,步骤105所述基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据,包括:
步骤S41、对所述硬件描述语言仿真平台中的各个性能计数器进行初始化处理;
步骤S42、利用所述硬件描述语言仿真平台执行所述目标程序,并读取各个性能计数器中的数据,得到所述待测处理器执行所述目标程序时的性能数据。
在本发明实施例中,可以利用HDL平台采集待测处理器的性能数据。HDL平台中配置有性能计数器,用于记录待测处理器的性能数据,例如分支MPKI、缓存MPKI、时钟周期数等等。
在采集性能数据之前,HDL平台对分支预测组件进行了预热处理,因此需要先对性能计数器进行初始化处理,丢弃预热过程中记录的性能数据,仅保留分支预测组件、缓存组件等各个组件的状态信息。然后,在HDL平台上运行采样区间[T,T+S]内的目标程序,并通过性能计数器记录待测处理器的性能数据。
在本发明实施例中,对于单个目标程序,仿真系统总体执行的指令大小为(FW+DW+S),其中,FW为对缓存组件进行功能级预热过程中执行的指令大小,也即功能级预热长度;DW为对分支预测组件进行高精度预热过程中执行的指令大小,也即高精度预热长度;S为采集性能数据的过程中执行的指令大小,也即采样算法指定的采样区间长度。通过分别对缓存组件和分支预测组件进行预热处理,可以使得仿真系统采集待测处理器的性能数据时,各个组件的状态更加接近从头开始运行测试程序的微结构状态,提升了采集的性能数据的准确度。
并且,本发明实施例可以针对目标程序的分支预测组件和缓存组件,分别确定对应的预热长度,每个目标程序的分支预测组件和缓存预测组件的预热长度都是独立的,不仅能够满足各个组件的预热需求,同时还能避免采用相同的预热长度导致某些组件在预热过程中执行不必要的指令。在实际测试过程中,按照本发明实施例提供的处理器性能评估方法在香山处理器上运行SPECCPU 2017的SimPoint程序片段,maxK=30,一共997个片段,可以将性能估算的工作量降低约80%,进而将性能估算的时间缩短80%,大幅减少了HDL软件仿真所占用的算力,提升了处理器的性能评估效率。
综上,本发明实施例提供了一种处理器性能评估方法,通过获取目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线,根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;然后,基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求。本发明实施例可以针对目标程序的分支预测组件和缓存组件,分别确定对应各个组件所需的预热长度,不仅能够满足各个组件的预热需求,同时还能避免因采用相同的预热长度导致某些组件在预热过程中执行不必要的指令,有利于提升微结构预热效率,进而提升处理器的性能评估效率。接下来,本发明实施例根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息,并基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据,使得仿真系统采集待测处理器的性能数据时,各个组件的状态更加接近从头开始运行测试程序的微结构状态,提升了采集的性能数据的准确度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图2,示出了本发明的一种处理器性能评估装置实施例的结构框图,应用于仿真系统,所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件,所述装置具体可以包括:
数据获取模块201,用于获取所述目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数;
预热长度确定模块202,用于根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;
预热画像生成模块203,用于基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求;
预热处理模块204,用于根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;
仿真处理模块205,用于基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
可选地,所述预热长度确定模块,包括:
饱和点确定子模块,用于确定所述第一性能曲线中的第一饱和点和所述第二性能曲线中的第二饱和点;
第一确定子模块,用于根据所述第一饱和点确定所述目标程序对应的分支预热长度;
第二确定子模块,用于根据所述第二饱和点确定所述目标程序对应的缓存预热长度。
可选地,所述预热画像包括所述缓存组件对应的功能级预热长度和所述分支预测组件对应的高精度预热长度;所述预热画像生成模块,包括:
第三确定子模块,用于计算所述缓存预热长度和所述分支预热长度的差值,得到所述缓存组件对应的功能级预热长度;
第四确定子模块,用于将所述分支预热长度确定为所述分支预测组件对应的高精度预热长度。
可选地,所述预热处理模块,包括:
第一预热处理子模块,用于根据所述功能级预热长度对所述缓存组件进行预热处理,得到所述缓存组件对应的第一状态信息;
第二预热处理子模块,用于根据所述第一状态信息和所述高精度预热长度对所述分支预测组件进行预热处理,得到所述分支预测组件对应的第二状态信息。
可选地,所述目标程序由所述仿真系统对测试程序进行采样处理得到,所述目标程序为位于所述测试程序的采样区间内的程序片段;所述仿真系统包括电子系统级设计平台;所述第一预热处理子模块,包括:
第一检查点确定单元,用于根据所述功能级预热长度在所述测试程序中确定所述目标程序对应的第一检查点;所述第一检查点与所述采样区间的起点之间的距离等于所述功能级预热长度;
第一指令提取单元,用于从所述测试程序中提取位于所述第一检查点与所述采样区间的起点之间的指令,得到第一指令集;
第一执行单元,用于利用所述电子系统级设计平台顺序执行所述第一指令集中的各条指令,得到所述缓存组件对应的第一状态信息。
可选地,所述仿真系统还包括硬件描述语言仿真平台;所述第二预热处理子模块,包括:
第二检查点确定单元,用于根据所述高精度预热长度在所述测试程序中确定所述目标程序对应的第二检查点;所述第二检查点与所述采样区间的起点之间的距离等于所述高精度预热长度;
第二指令提取单元,用于从所述测试程序中提取位于所述第二检查点与所述采样区间的起点之间的指令,得到第二指令集;
组件配置单元,用于根据所述第一状态信息对所述硬件描述语言仿真平台的缓存组件进行配置;
第二执行单元,用于利用配置后的硬件描述语言仿真平台顺序执行所述第二指令集中的各条指令,得到所述分支预测组件对应的第二状态信息。
可选地,所述仿真处理模,包括:
初始化子模块,用于对所述硬件描述语言仿真平台中的各个性能计数器进行初始化处理;
仿真处理子模块,用于利用所述硬件描述语言仿真平台执行所述目标程序,并读取各个性能计数器中的数据,得到所述待测处理器执行所述目标程序时的性能数据。
综上,本发明实施例提供了一种处理器性能评估装置,通过获取目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线,根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;然后,基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求。本发明实施例可以针对目标程序的分支预测组件和缓存组件,分别确定对应各个组件所需的预热长度,不仅能够满足各个组件的预热需求,同时还能避免因采用相同的预热长度导致某些组件在预热过程中执行不必要的指令,有利于提升微结构预热效率。接下来,本发明实施例根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息,并基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据,使得仿真系统采集待测处理器的性能数据时,各个组件的状态更加接近从头开始运行测试程序的微结构状态,提升了采集的性能数据的准确度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的处理器性能评估装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参照图3,是本发明实施例提供的一种用于处理器性能评估的电子设备的结构框图。如图3所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的处理器性能评估方法。
所述处理器可以是CPU(Central Processing Unit,中央处理器),通用处理器、DSP(Digital Signal Processor,数字信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmble Gate Array,现场可编程门阵列)或者其他可编辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
所述通信总线可包括一通路,在存储器和通信接口之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器可以是ROM(Read Only内存,只读内存)或可存储静态信息和指令的其他类型的静态存储设备、RAM(Random Access,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable ReadOnly,电可擦可编程只读内存)、CD-ROM(Compact Disa Read Only,只读光盘)、磁带、软盘和光数据存储设备等。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的处理器性能评估方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种处理器性能评估方法、装置、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种处理器性能评估方法,其特征在于,应用于仿真系统,所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件,所述方法包括:
获取所述目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数;
根据所述第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;
基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求;
根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;
基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
2.根据权利要求1所述的方法,其特征在于,所述根据第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度,包括:
确定所述第一性能曲线中的第一饱和点和所述第二性能曲线中的第二饱和点;
根据所述第一饱和点确定所述目标程序对应的分支预热长度;
根据所述第二饱和点确定所述目标程序对应的缓存预热长度。
3.根据权利要求1所述的方法,其特征在于,所述预热画像包括所述缓存组件对应的功能级预热长度和所述分支预测组件对应的高精度预热长度;所述基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像,包括:
计算所述缓存预热长度和所述分支预热长度的差值,得到所述缓存组件对应的功能级预热长度;
将所述分支预热长度确定为所述分支预测组件对应的高精度预热长度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息,包括:
根据所述功能级预热长度对所述缓存组件进行预热处理,得到所述缓存组件对应的第一状态信息;
根据所述第一状态信息和所述高精度预热长度对所述分支预测组件进行预热处理,得到所述分支预测组件对应的第二状态信息。
5.根据权利要求4所述的方法,其特征在于,所述目标程序由所述仿真系统对测试程序进行采样处理得到,所述目标程序为位于所述测试程序的采样区间内的程序片段;所述仿真系统包括电子系统级设计平台;所述根据所述功能级预热长度对所述缓存组件进行预热处理,得到所述缓存组件对应的第一状态信息,包括:
根据所述功能级预热长度在所述测试程序中确定所述目标程序对应的第一检查点;所述第一检查点与所述采样区间的起点之间的距离等于所述功能级预热长度;
从所述测试程序中提取位于所述第一检查点与所述采样区间的起点之间的指令,得到第一指令集;
利用所述电子系统级设计平台顺序执行所述第一指令集中的各条指令,得到所述缓存组件对应的第一状态信息。
6.根据权利要求5所述的方法,其特征在于,所述仿真系统还包括硬件描述语言仿真平台;所述根据所述第一状态信息和所述高精度预热长度对所述分支预测组件进行预热处理,得到所述分支预测组件对应的第二状态信息,包括:
根据所述高精度预热长度在所述测试程序中确定所述目标程序对应的第二检查点;所述第二检查点与所述采样区间的起点之间的距离等于所述高精度预热长度;
从所述测试程序中提取位于所述第二检查点与所述采样区间的起点之间的指令,得到第二指令集;
根据所述第一状态信息对所述硬件描述语言仿真平台的缓存组件进行配置;
利用配置后的硬件描述语言仿真平台顺序执行所述第二指令集中的各条指令,得到所述分支预测组件对应的第二状态信息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据,包括:
对所述硬件描述语言仿真平台中的各个性能计数器进行初始化处理;
利用所述硬件描述语言仿真平台执行所述目标程序,并读取各个性能计数器中的数据,得到所述待测处理器执行所述目标程序时的性能数据。
8.一种处理器性能评估装置,其特征在于,应用于仿真系统,所述仿真系统用于对待测处理器进行仿真处理,并采集所述待测处理器执行目标程序时的性能数据;所述待测处理器包括缓存组件和分支预测组件,所述装置包括:
数据获取模块,用于获取所述目标程序对应的分支预测组件的第一性能曲线和所述目标程序对应的缓存组件的第二性能曲线;其中,所述第一性能曲线用于反映所述分支预测组件在各个预热长度下对应的每一千条指令中错误预测数;所述第二性能曲线用于反映所述缓存组件在各个预热长度下对应的每一千条指令中不命中次数;
预热长度确定模块,用于根据所述第一性能曲线确定所述目标程序对应的分支预热长度,并根据所述第二性能曲线确定所述目标程序对应的缓存预热长度;
预热画像生成模块,用于基于所述分支预热长度和所述缓存预热长度生成所述目标程序的预热画像;所述预热画像用于指示所述待测处理器执行所述目标程序时,所述分支预热组件的预热需求和所述缓存组件的预热需求;
预热处理模块,用于根据所述预热画像分别对所述缓存组件和所述分支预测组件进行预热处理,得到所述缓存组件对应的第一状态信息和所述分支预测组件对应的第二状态信息;
仿真处理模块,用于基于所述第一状态信息和所述第二状态信息对所述待测处理器进行仿真,得到所述待测处理器执行所述目标程序时的性能数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至7中任一项所述的处理器性能评估方法。
10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至7中任一项所述的处理器性能评估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564283.3A CN115658455B (zh) | 2022-12-07 | 2022-12-07 | 处理器性能评估方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564283.3A CN115658455B (zh) | 2022-12-07 | 2022-12-07 | 处理器性能评估方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658455A true CN115658455A (zh) | 2023-01-31 |
CN115658455B CN115658455B (zh) | 2023-03-21 |
Family
ID=85019330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211564283.3A Active CN115658455B (zh) | 2022-12-07 | 2022-12-07 | 处理器性能评估方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658455B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132528A (ja) * | 1998-10-26 | 2000-05-12 | Fujitsu Ltd | マルチプロセッサ・システムの性能評価方法および装置 |
CN1382280A (zh) * | 1999-02-05 | 2002-11-27 | 坦斯利卡公司 | 用于设计可配置的处理器的自动处理器产生系统及其方法 |
CN101278293A (zh) * | 2005-09-21 | 2008-10-01 | 英特尔公司 | 多处理器系统的性能仿真 |
CN108255518A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 处理器及循环程序分支预测方法 |
CN109271288A (zh) * | 2017-07-17 | 2019-01-25 | 展讯通信(上海)有限公司 | 处理器硅前性能评估方法 |
CN112579373A (zh) * | 2020-12-08 | 2021-03-30 | 海光信息技术股份有限公司 | 用于分支预测器的验证方法、系统、设备以及存储介质 |
CN113868068A (zh) * | 2021-12-01 | 2021-12-31 | 统信软件技术有限公司 | 一种内核性能测试方法、计算设备及存储介质 |
CN115204081A (zh) * | 2021-04-09 | 2022-10-18 | 中兴通讯股份有限公司 | 芯片仿真方法、平台和系统、计算机可读存储介质 |
-
2022
- 2022-12-07 CN CN202211564283.3A patent/CN115658455B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132528A (ja) * | 1998-10-26 | 2000-05-12 | Fujitsu Ltd | マルチプロセッサ・システムの性能評価方法および装置 |
CN1382280A (zh) * | 1999-02-05 | 2002-11-27 | 坦斯利卡公司 | 用于设计可配置的处理器的自动处理器产生系统及其方法 |
CN101278293A (zh) * | 2005-09-21 | 2008-10-01 | 英特尔公司 | 多处理器系统的性能仿真 |
CN108255518A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 处理器及循环程序分支预测方法 |
CN109271288A (zh) * | 2017-07-17 | 2019-01-25 | 展讯通信(上海)有限公司 | 处理器硅前性能评估方法 |
CN112579373A (zh) * | 2020-12-08 | 2021-03-30 | 海光信息技术股份有限公司 | 用于分支预测器的验证方法、系统、设备以及存储介质 |
CN115204081A (zh) * | 2021-04-09 | 2022-10-18 | 中兴通讯股份有限公司 | 芯片仿真方法、平台和系统、计算机可读存储介质 |
CN113868068A (zh) * | 2021-12-01 | 2021-12-31 | 统信软件技术有限公司 | 一种内核性能测试方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115658455B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174811A1 (zh) | 车流量时间序列的预测方法及预测装置 | |
CN101256502B (zh) | 模拟多处理器系统的系统和方法 | |
JP4634525B2 (ja) | シミュレート方法、シミュレートプログラムおよびシミュレーション装置 | |
Gao et al. | Vulseeker-pro: Enhanced semantic learning based binary vulnerability seeker with emulation | |
CN109240912B (zh) | 一种基于大数据分析的网页应用的性能评估方法及终端 | |
TW201039142A (en) | Method and device for multi-core instruction-set simulation | |
US6983234B1 (en) | System and method for validating processor performance and functionality | |
CN107436834A (zh) | 估算处理器功耗的方法、产品及系统 | |
CN103198002B (zh) | 程序运行时间的测量方法及仿真器 | |
CN115658455B (zh) | 处理器性能评估方法、装置、电子设备及可读存储介质 | |
CN102520984B (zh) | 目标软件在指定硬件环境中最差时间的计算方法 | |
MX2011001796A (es) | Ejecucion de procesador simulado utilizando supeditar ramificacion. | |
CN109783837A (zh) | 仿真设备、仿真系统、仿真方法和仿真程序 | |
CN105760638A (zh) | 一种加快soc芯片仿真的方法 | |
CN103336726B (zh) | 检测Linux系统中多任务冲突的方法与装置 | |
CN117196064A (zh) | 模型训练方法、对象属性值确定方法、装置、设备及介质 | |
Pereira et al. | Dynamic phase analysis for cycle-close trace generation | |
CN104268069B (zh) | 一种电脑性能的评估方法 | |
JP2009140222A (ja) | Lsiの電力見積方法及びその装置 | |
CN116166550A (zh) | 处理器性能预测系统、方法以及相关设备 | |
Mittal et al. | Integrating sampling approach with full system simulation: Bringing together the best of both | |
Onnebrink et al. | Black box power estimation for digital signal processors using virtual platforms | |
CN111523501B (zh) | 体重指数预测方法及装置 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN109542793B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |