CN109271288B - 处理器硅前性能评估方法 - Google Patents
处理器硅前性能评估方法 Download PDFInfo
- Publication number
- CN109271288B CN109271288B CN201710582643.5A CN201710582643A CN109271288B CN 109271288 B CN109271288 B CN 109271288B CN 201710582643 A CN201710582643 A CN 201710582643A CN 109271288 B CN109271288 B CN 109271288B
- Authority
- CN
- China
- Prior art keywords
- test program
- benchmark test
- hardware
- timing
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Abstract
本发明提供一种处理器硅前性能评估方法。所述方法包括:软件生成带有标识核心代码标记的基准测试程序;硬件仿真执行所述基准测试程序,使用硬件监控单元记录所述基准测试程序的运行性能信息;利用所述硬件监控单元记录的所述基准测试程序的运行性能信息还原所述基准测试程序的得分。本发明能够缩短基准测试程序的仿真运行时间,提高处理器硅前性能评估的效率。
Description
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种处理器硅前性能评估方法。
背景技术
在处理器研发过程中需要进行硅前性能评估,以保证验证完成和流片后的处理器性能满足设计需求。硅前性能评估通常采用基准测试的方式,执行业内公认的基准测试程序,在运行结束后获取得分,跟对标芯片得分进行比较,得到性能优劣情况。
由于在研发过程中,处理器存在许多错误,直到验证后期才能成功启动操作系统,在真实场景下运行基准测试程序。如果想在项目早期和中期就进行评估,需要采用电脑裸机(Bare metal)的形式,即没有配置操作系统和其他软件的电子计算机。
硅前性能评估通常伴随着进行性能分析和调优,需要大量灵活的观测具体信号,所以一般使用的手段为仿真方式,如软件仿真、硬件仿真加速器等。但是仿真方式受限于仿真速度,在有限的时间内很难完成基准测试程序运行。例如,软件仿真速度在K Cycles/S量级左右,硬件仿真加速器速度在M Cycles/S量级左右,而真实的移动基准测试程序往往需要运行数秒的仿真。以5S时间举例,假如处理器的主频是1GHZ,那么完成5秒钟的仿真需要一个月以上时间,即使使用硬件仿真加速器也需要一小时以上的时间,并且硬件仿真加速器资源昂贵且极其有限,不能长时间大批量占用。这还只是一个程序的运行时间,如果要运行多套基准测试程序,代价更大。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
在采用仿真手段进行处理器硅前性能评估时,基准测试程序的仿真运行时间较长,使得处理器硅前性能评估的效率较低。
发明内容
本发明提供的处理器硅前性能评估方法,能够缩短基准测试程序的仿真运行时间,提高处理器硅前性能评估的效率。
第一方面,本发明提供一种处理器硅前性能评估方法,包括:
软件生成带有标识核心代码标记的基准测试程序;
硬件仿真执行所述基准测试程序,使用硬件监控单元记录所述基准测试程序的运行性能信息;
利用所述硬件监控单元记录的所述基准测试程序的运行性能信息还原所述基准测试程序的得分。
可选地,所述基准测试程序中的计时系统调用采用标号的形式。
可选地,所述基准测试程序中包括标号信息。
可选地,所述标号信息的获取方式包括:显示的在程序中获取,利用编译工具获取并编译到可执行文件中,或者利用编译工具获取并生成到临时文件中等待仿真使用。
可选地,所述标号信息的储存方式包括特殊指令、特殊程序序列或特殊程序行为。
可选地,所述硬件监控单元包括采样信息收集器、指令执行监控器、采样配置装置、计时触发装置、硬件计时装置和结束装置,所述使用硬件监控单元记录所述基准测试程序的运行性能信息包括:
所述采样信息收集器根据信号组合识别所述标号信息并保存;
所述指令执行监控器监控处理器内部的流水线控制信号,根据所述内部的流水线控制信号的组合还原出指令的执行状态;
所述采样配置装置记录本次采样需要识别的配置;
所述计时触发装置根据所述指令执行监控器获得的指令执行状态的还原信息和所述采样信息收集器识别出的标号信息生成计时触发信号给所述硬件计时装置;
所述硬件计时装置根据系统时钟和所述计时触发装置生成的计时触发信号进行计时;
所述结束装置根据所述计时触发装置生成的计时触发信号提前结束仿真,并且打印或存储所述硬件计时装置采样的性能信息。
可选地,所述采样信息收集器的信号来源为处理器内部或者处理器对外部的总线接口。
可选地,所述采样配置装置记录的本次采样需要识别的配置包括监控循环次数、从第几次循环开始监控和系统等级。
可选地,所述使用硬件监控单元记录所述基准测试程序的运行性能信息包括:所述结束装置识别达到预设次数后保存执行结果并自动提前停止仿真。
本发明实施例提供的处理器硅前性能评估方法,通过软件制导和硬件监控结合的方式,在项目研发过程早期和中期在未成功引导操作系统时仿真运行基准测试程序,精确捕捉基准测试程序的执行情况,并获得性能数据,为改进设计预留充足时间;不使用时间函数,运行时不影响待测程序的代码;可以精确抓取核心代码执行时间,只需少量采样即可得到准确结果,从而可以缩短基准测试程序的仿真运行时间,提高处理器硅前性能评估的效率。
附图说明
图1为本发明实施例提供的处理器硅前性能评估方法的流程图;
图2为本发明实施例提供的硬件监控单元的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种处理器硅前性能评估方法,如图1所示,所述方法包括:
S11、软件生成带有标识核心代码标记的基准测试程序。
基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。
其中,作为可执行文件的基准测试程序中的计时系统调用采用标号的形式。标号(LABEL)是为一组机器指令所起的名字。标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号。标号是程序目标标志,总是和某地址相联系,供转移或循环指令控制转移使用。
例如:
如果循环中没有非核心代码,也可以将END标识省略。例如:
然后在基准测试程序中加入标号信息(label_info)。例如:
标号信息
其中,标号信息的获取包括但不限于:1、显示的在程序中获取(如上述例子所示);2、利用编译工具获取,并编译到可执行文件中;3、利用编译工具获取,并生成到临时文件中,等待仿真使用。
标号信息储存的方式包括但不限于:1、特殊指令;2、特殊程序序列;3、特殊程序行为。
标号信息的数量可以有多组,可以监控多组核心代码,或分别监控核心代码的不同部分。
S12、硬件仿真执行所述基准测试程序,使用硬件监控单元记录所述基准测试程序的运行性能信息。
如图2所示,硬件监控单元包括采样信息收集器、指令执行监控器、采样配置装置、计时触发装置、硬件计时装置和结束装置。
其中,所述采样信息收集器根据信号组合识别步骤S11给出的标号信息。其中信号来源可以是处理器内部,也可以是处理器对外部的总线接口。识别后保存此信息。
所述指令执行监控器监控处理器内部的流水线控制信号,根据内部信号的组合还原出指令的执行状态。
所述采样配置装置记录本次采样需要识别配置,例如监控循环次数、从第几次循环开始监控、系统等级等。
所述计时触发装置根据所述指令执行监控器获得的处理器内部运行状态还原信息和所述采样信息收集器的采样信息生成计时触发信号给所述硬件计时装置。
所述硬件计时装置根据系统时钟和所述计时触发装置生成的触发条件进行计时。
所述结束装置根据所述计时触发装置的信号提前结束仿真,并且打印或存储所述硬件计时装置采样的性能信息供步骤S13使用。
具体地,步骤S12可以包括:
S121、启动仿真。
S122、使用采样信息收集器记录标记信息。对应步骤S11存储方式抓取软件中保存的标号信息。
S123、开始执行基准测试程序。
S124、利用指令执行监控器监控指令执行,一旦触发开始计时的信息后开始计时,触发结束计时的信息后停止计时。记录一次执行时间。
S125、结束装置识别达到预设次数后保存执行结果并自动提前停止仿真。
S13、利用所述硬件监控单元记录的所述基准测试程序的运行性能信息还原所述基准测试程序的得分。
每个基准测试程序有一套自己换算的分的方法,将这个算法转换成本套流程适配的公式,然后根据步骤S12抓取的性能信息,还原出得分。
本发明实施例提供的处理器硅前性能评估方法,通过软件制导和硬件监控结合的方式,在项目研发过程早期和中期在未成功引导操作系统时仿真运行基准测试程序,精确捕捉基准测试程序的执行情况,并获得性能数据,为改进设计预留充足时间;不使用时间函数,运行时不影响待测程序的代码;可以精确抓取核心代码执行时间,只需少量采样即可得到准确结果,从而可以缩短基准测试程序的仿真运行时间,提高处理器硅前性能评估的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1.一种处理器硅前性能评估方法,其特征在于,包括:
软件生成带有标识核心代码标记的基准测试程序;
硬件仿真执行所述基准测试程序,使用硬件监控单元记录所述基准测试程序的运行性能信息;
利用所述硬件监控单元记录的所述基准测试程序的运行性能信息还原所述基准测试程序的得分;
所述基准测试程序中包括标号信息,所述硬件监控单元包括采样信息收集器、指令执行监控器、采样配置装置、计时触发装置、硬件计时装置和结束装置,所述使用硬件监控单元记录所述基准测试程序的运行性能信息包括:所述采样信息收集器根据信号组合识别所述标号信息并保存;所述指令执行监控器监控处理器内部的流水线控制信号,根据所述内部的流水线控制信号的组合还原出指令的执行状态;所述采样配置装置记录本次采样需要识别的配置;所述计时触发装置根据所述指令执行监控器获得的指令执行状态的还原信息和所述采样信息收集器识别出的标号信息生成计时触发信号给所述硬件计时装置;所述硬件计时装置根据系统时钟和所述计时触发装置生成的计时触发信号进行计时;所述结束装置根据所述计时触发装置生成的计时触发信号提前结束仿真,并且打印或存储所述硬件计时装置采样的性能信息。
2.根据权利要求1所述的方法,其特征在于,所述基准测试程序中的计时系统调用采用标号的形式。
3.根据权利要求1所述的方法,其特征在于,所述标号信息的获取方式包括:显示的在程序中获取,利用编译工具获取并编译到可执行文件中,或者利用编译工具获取并生成到临时文件中等待仿真使用。
4.根据权利要求3所述的方法,其特征在于,所述标号信息的储存方式包括特殊指令、特殊程序序列或特殊程序行为。
5.根据权利要求1所述的方法,其特征在于,所述采样信息收集器的信号来源为处理器内部或者处理器对外部的总线接口。
6.根据权利要求1所述的方法,其特征在于,所述采样配置装置记录的本次采样需要识别的配置包括监控循环次数、从第几次循环开始监控和系统等级。
7.根据权利要求1所述的方法,其特征在于,所述使用硬件监控单元记录所述基准测试程序的运行性能信息包括:所述结束装置识别达到预设次数后保存执行结果并自动提前停止仿真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710582643.5A CN109271288B (zh) | 2017-07-17 | 2017-07-17 | 处理器硅前性能评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710582643.5A CN109271288B (zh) | 2017-07-17 | 2017-07-17 | 处理器硅前性能评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271288A CN109271288A (zh) | 2019-01-25 |
CN109271288B true CN109271288B (zh) | 2021-09-21 |
Family
ID=65147806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710582643.5A Active CN109271288B (zh) | 2017-07-17 | 2017-07-17 | 处理器硅前性能评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271288B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658455B (zh) * | 2022-12-07 | 2023-03-21 | 北京开源芯片研究院 | 处理器性能评估方法、装置、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976313A (zh) * | 2010-09-19 | 2011-02-16 | 四川大学 | 基于频繁子图挖掘的异常入侵检测方法 |
EP2450877B1 (en) * | 2010-11-09 | 2013-04-24 | Sony Computer Entertainment Europe Limited | System and method of speech evaluation |
JP2013117800A (ja) * | 2011-12-02 | 2013-06-13 | Canon Inc | データ処理装置およびその制御方法 |
CN104598379A (zh) * | 2015-01-04 | 2015-05-06 | 中国人民解放军信息工程大学 | 利用处理器pmc特性检测隐藏执行指令的方法 |
CN104699605A (zh) * | 2015-03-02 | 2015-06-10 | 清华大学 | 一种驱动程序的代码覆盖率测量方法及装置 |
CN104809054A (zh) * | 2014-01-23 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 实现程序测试的方法和系统 |
CN105760612A (zh) * | 2016-02-26 | 2016-07-13 | 中国科学院计算技术研究所 | 用于硅后芯片验证的断言检测装置、方法、系统、芯片 |
CN105760253A (zh) * | 2016-01-13 | 2016-07-13 | 奇瑞汽车股份有限公司 | 一种电子节气门芯片安全监控的软件实现方法 |
CN106324476A (zh) * | 2015-06-30 | 2017-01-11 | 龙芯中科技术有限公司 | 片上调试和诊断方法、装置及芯片 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590829B2 (en) * | 2003-03-31 | 2009-09-15 | Stretch, Inc. | Extension adapter |
US9141831B2 (en) * | 2010-07-08 | 2015-09-22 | Texas Instruments Incorporated | Scheduler, security context cache, packet processor, and authentication, encryption modules |
-
2017
- 2017-07-17 CN CN201710582643.5A patent/CN109271288B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976313A (zh) * | 2010-09-19 | 2011-02-16 | 四川大学 | 基于频繁子图挖掘的异常入侵检测方法 |
EP2450877B1 (en) * | 2010-11-09 | 2013-04-24 | Sony Computer Entertainment Europe Limited | System and method of speech evaluation |
JP2013117800A (ja) * | 2011-12-02 | 2013-06-13 | Canon Inc | データ処理装置およびその制御方法 |
CN104809054A (zh) * | 2014-01-23 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 实现程序测试的方法和系统 |
CN104598379A (zh) * | 2015-01-04 | 2015-05-06 | 中国人民解放军信息工程大学 | 利用处理器pmc特性检测隐藏执行指令的方法 |
CN104699605A (zh) * | 2015-03-02 | 2015-06-10 | 清华大学 | 一种驱动程序的代码覆盖率测量方法及装置 |
CN106324476A (zh) * | 2015-06-30 | 2017-01-11 | 龙芯中科技术有限公司 | 片上调试和诊断方法、装置及芯片 |
CN105760253A (zh) * | 2016-01-13 | 2016-07-13 | 奇瑞汽车股份有限公司 | 一种电子节气门芯片安全监控的软件实现方法 |
CN105760612A (zh) * | 2016-02-26 | 2016-07-13 | 中国科学院计算技术研究所 | 用于硅后芯片验证的断言检测装置、方法、系统、芯片 |
Non-Patent Citations (2)
Title |
---|
Performance Evaluation of Multi-core processors with Varied Interconnect Networks;Mohanty, RP .etc;《2nd International Conference on Advanced Computing, Networking and Security (ADCONS)》;20131217;第7-11页 * |
基于处理器硅前性能验证平台的基准程序库设计方法;张华亮 等;《高技术通讯》;20160915;第26卷(第8-9期);第713 -718页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109271288A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110580226B (zh) | 操作系统级程序的目标码覆盖率测试方法、系统及介质 | |
US9262299B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
US9355002B2 (en) | Capturing trace information using annotated trace output | |
US9262305B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
CN109101416B (zh) | 一种内核故障注入方法及电子设备 | |
KR101325954B1 (ko) | 코드분석과 화면분석을 이용한 안드로이드 어플의 자동실행 방법, 및 이를 위한 안드로이드 어플 자동실행 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
US20140019929A1 (en) | Partial Instruction-by-instruction checking on acceleration platforms | |
CN107003828B (zh) | 图形指令的仪器化 | |
CN109271288B (zh) | 处理器硅前性能评估方法 | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
US10802852B1 (en) | Method for interactive embedded software debugging through the control of simulation tracing components | |
CN113515448A (zh) | 应用程序启动时间信息的获取方法及装置 | |
CN109783837A (zh) | 仿真设备、仿真系统、仿真方法和仿真程序 | |
JP3147851B2 (ja) | シミュレーション方法、シミュレーション装置及びシミュレーションプログラムを記憶した記憶媒体 | |
CN110647467B (zh) | 基于单步异常的目标码覆盖率测试方法、系统及介质 | |
CN114564903A (zh) | 一种芯片仿真设计验证方法、装置、设备及介质 | |
US9552267B2 (en) | SATA receiver equalization margin determination/setting method and apparatus | |
CN109388571B (zh) | 获取标识信息的方法、装置、计算机设备及存储介质 | |
CN110096888B (zh) | 一种加快验证及分析smm安全隐患的方法及系统 | |
CN109002694B (zh) | 一种应用代码混淆后定位问题点的方法及装置 | |
CN109542793B (zh) | 一种程序性能分析方法及装置 | |
CN112527571A (zh) | 一种cpu指令集覆盖率计算方法及装置 | |
CN117093353B (zh) | 一种中断控制方法、装置、电子设备及可读存储介质 | |
CN111831521B (zh) | 中断响应时间的测试方法、处理器与电子设备 | |
US11886589B2 (en) | Process wrapping method for evading anti-analysis of native codes, recording medium and device for performing the method |
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 |