CN111611147B - 一种处理器内部通用接口性能检测与分析方法、系统及介质 - Google Patents

一种处理器内部通用接口性能检测与分析方法、系统及介质 Download PDF

Info

Publication number
CN111611147B
CN111611147B CN202010596818.XA CN202010596818A CN111611147B CN 111611147 B CN111611147 B CN 111611147B CN 202010596818 A CN202010596818 A CN 202010596818A CN 111611147 B CN111611147 B CN 111611147B
Authority
CN
China
Prior art keywords
interface
data
performance
request message
protocol
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
Application number
CN202010596818.XA
Other languages
English (en)
Other versions
CN111611147A (zh
Inventor
潘国腾
罗莉
欧国东
周海亮
荀长庆
周理
铁俊波
王蕾
龚锐
石伟
刘威
王永文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010596818.XA priority Critical patent/CN111611147B/zh
Publication of CN111611147A publication Critical patent/CN111611147A/zh
Application granted granted Critical
Publication of CN111611147B publication Critical patent/CN111611147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种处理器内部通用接口性能检测与分析方法、系统及介质,本发明方法包括数据提取、数据预处理、性能计算等步骤,通过在硅前验证阶段监测处理器内部接口的数据报文,计算得到系统中各接口性能和数据流在各相邻接口之间的延时等性能数据,继而分析得到系统的整体性能和定位系统性能瓶颈,为设计师进行代码优化提供依据和方向。本发明可在RTL阶段就进行性能分析,不止性能分析时间左移,在硅前进行性能优化,还可以精准定位性能瓶颈,降低性能优化难度,最重要的是可以在流片前对芯片具体性能情况有比较精准的把握。同时本发明具有广泛地适用性,既可以用于软模拟仿真平台,也可以用于硬件仿真加速器平台和FPGA平台。

Description

一种处理器内部通用接口性能检测与分析方法、系统及介质
技术领域
本发明涉及集成电路性能验证领域,具体涉及一种处理器内部通用接口性能检测与分析方法、系统及介质,用于芯片流片前处理器内部通用接口性能监测与分析。
背景技术
随着集成电路的快速发展,集成电路的面积已经不是用户最关注和衡量的性能指标,而是越来越重视集成电路的功耗和性能。
功耗的影响更多与电源电压、工艺和物理实现等因素有关,但是前端逻辑设计师可以通过优化时钟门控、电源关断等手段进行功耗方面的优化。而性能的测试,通常是通过在硅后跑benchmark测试题进行分析,这样进行性能测试的方法存在2处弊端,一是性能测试的时间节点比较晚,进行性能优化的人力和时间成本大,性能优化结果只能用于二次流片或者下一代产品,二是通过跑benchmark测试题得到的结果通常只能大致反应系统的性能指标,当芯片规模较大时,不能很好地帮助设计师准确定位系统性能的瓶颈,这也就导致了设计师很难对大型芯片开展有针对性的优化工作。比如LMbench对处理器的缓存(Cache)延时测试,只能大致测试出各级Cache的延时,但是因为存在操作系统延时等干扰因素,可能得到与预期不一致的测试结果,此时很难分析导致测试结果不准确的原因。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种处理器内部通用接口性能检测与分析方法、系统及介质,本发明通过在硅前验证阶段监测处理器内部接口的数据报文,并计算得到系统中各接口性能和数据流在各相邻接口之间的延时等性能数据,继而分析得到系统的整体性能和定位系统性能瓶颈,为设计师进行代码优化提供依据和方向。同时,本发明具有广泛地适用性,既可以用于软模拟仿真平台,也可以用于硬件仿真加速器平台和FPGA平台。
为了解决上述技术问题,本发明采用的技术方案为:
一种处理器内部通用接口性能检测与分析方法,该方法包括:
1)数据提取:提取处理器内部通用接口的全部事务包;
2)数据预处理:根据监测数据的协议编号,对提取的事务包进行划分得到不同协议的监测数据;根据协议编号对应的数据格式定义,对每一类协议的监测数据进行数据域的划分;根据采样点编号,对对每一类协议的监测数据进行数据域的划分得到的数据再次进行划分,将各个协议的监测数据分别归属到各个通用接口数据监测器所对应的接口;
3)性能计算:根据协议编号确定对应的性能计算算法,针对数据预处理得到的数据计算各个接口的各个协议的性能值;根据环境配置信息中所设定的通路、通路请求相关转换关系以及通路性能计算方法,计算环境配置信息中所设定通路的性能值。
可选地,步骤3)之后还包括对各个接口的各个协议的性能值、环境配置信息中所设定通路的性能值生成统计分析图形结果的步骤。
可选地,步骤1)之前还包括获取处理器内部通用接口的全部事务包的下述步骤:
S1)监测接口上的请求报文和响应报文,若收到接口上的请求报文或响应报文,则按照事务包形式将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;所述事务包为一个十六进制数据,包含请求报文、请求报文对应的时间戳、响应报文、响应报文对应的时间戳以及采样点编号和协议编号信息;所述采样点编号为通用接口数据监测器的属性并由用户定义,用于软件部分处理数据时区分来自不同通用接口数据监测器接口的事务包,继而进行分类处理,用户需要保证不同通用接口数据监测器接口处的采样点编号不一样;所述协议编号为所述通用接口数据监测器的属性并由用户定义,一种协议对应一个协议编号,具有某种协议编号的所述通用接口数据监测器具备监测该种协议数据的能力;
S2)接收打包输出的信息并实时计算接口上的延时信息,对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在有JTAG接口的存储器中,以便在仿真结束后通过JTAG读取该存储器,作为所述通用接口数据监测器的输出,得到接口上的性能参数。
可选地,步骤S1)中收到接口上的请求报文的处理步骤包括:
S1.1A)收到接口上的请求报文;
S1.2A)将请求报文附加时间戳,按照报文域定义对接收到的请求报文进行拆分,拆分出包含索引id、请求地址在内的有效信息;
S1.3A)根据索引id对所述查找表中的非空的查找表项进行比对,如果有相同索引id项,则记下对应查找表项序号A,将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间存入序号A对应的FIFO中;若没有则记下最小的空查找表项序号B,则将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间打包存入序号B对应的FIFO中,并将序号B项的有效位置1。
可选地,步骤S1)中收到接口上的响应报文的处理步骤包括:
S1.1B)收到接口上的响应报文;
S1.2B)按照报文域定义对接收到的响应报文进行拆分,拆分出索引id;根据索引id对所述查找表中的非空的查找表项进行比对,找到相同索引id对应的查找表项序号C;
S1.3B)判断表项序号C对应的FIFO内计数器值为1是否成立,若不成立则读取查找表项序号C对应的FIFO中的数据;否则,进一步判断是否没有写表项序号C对应的FIFO的操作,若没有写表项序号C对应的FIFO的操作则将表项序号C项的有效位置0,否则读取查找表项序号C对应的FIFO中的数据。
可选地,步骤S1)中将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出的处理步骤包括:将读取查找表项序号C对应的FIFO中的数据作为响应报文对应的请求报文及其时间戳,然后将响应报文对应的请求报文及其时间戳、以及从FIFO中读取的响应报文、响应报文的时间戳、采样点编号和所述协议编号合并后打包;并在预设的打印开关打开的情况下,将输出事务包打印在仿真环境运行Log文件中,作为所述通用接口数据监测器的输出。
可选地,步骤S2)中计算接口上的延时信息具体是指将响应报文的时间戳减去其对应请求报文的时间戳。
此外,本发明还提供一种处理器内部通用接口性能检测与分析系统,包括计算机设备,该计算机设备被编程或配置以执行所述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行所述处理器内部通用接口性能检测与分析方法的计算机程序。
此外,本发明还提供一种处理器内部通用接口性能检测与分析系统,包括计算机设备和数据采集装置,该计算机设备被编程或配置以执行所述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行所述处理器内部通用接口性能检测与分析方法的计算机程序,所述数据采集装置用于获取处理器内部通用接口的全部事务包,所述数据采集装置包括一个可综合的通用接口数据监测器和一个延时计算排序器,所述通用接口数据监测器包含请求存储模块、时间戳生成模块、响应匹配模块、查找表和输出打包模块,所述请求存储模块用于监测和接收接口上的请求报文,所述响应匹配模块用于监测和接收接口上的响应报文,所述时间戳生成模块用于对接口的请求报文和响应报文附加时间戳,所述查找表用于对接收到的请求报文和响应报文查找确定采样点编号和协议编号,所述输出打包模块用于按照事务包形式将接收到的请求报文及其对应的时间戳、响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;所述延时计算排序器包括延时计算模块、延时排序模块和延时信息存储器和JTAG接口,所述延时计算模块用于接收打包输出的信息并实时计算接口上的延时信息,所述延时排序模块用于对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在延时信息存储器以便在仿真结束后通过JTAG接口读取作为通用接口数据监测器的输出。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中被编程或配置以执行所述处理器内部通用接口性能检测与分析方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1、本发明处理器内部通用接口性能监测与分析方法通过在硅前验证阶段监测处理器内部接口的数据报文,并计算得到系统中各接口性能和数据流在各相邻接口之间的延时等性能数据,继而分析得到系统的整体性能和定位系统性能瓶颈,为设计师进行代码优化提供依据和方向。本发明可以在RTL阶段就进行性能分析,不止性能分析时间左移,在硅前进行性能优化,还可以精准定位性能瓶颈,降低性能优化难度,最重要的是可以在流片前对芯片具体性能情况有比较精准的把握。
2、本发明具有广泛地适用性,既可以用于软模拟仿真平台,也可以用于硬件仿真加速器平台和FPGA平台。
附图说明
图1为本发明实施例一方法的主体框架结构示意图。
图2为本发明实施例一方法的基本流程示意图。
图3为本发明实施例一中请求报文的处理流程示意图。
图4为本发明实施例一中响应报文及打包输出的处理流程示意图。
图5为本发明实施例一中延时计算排序模块的工作流程图。
图6为本发明实施例二的主体框架结构示意图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
实施例一:
如图1和图2所示,本实施例处理器内部通用接口性能检测与分析方法包括:
1)数据提取:提取处理器内部通用接口的全部事务包;
2)数据预处理:根据监测数据的协议编号,对提取的事务包进行划分得到不同协议的监测数据;根据协议编号对应的数据格式定义,对每一类协议的监测数据进行数据域的划分;根据采样点编号,对对每一类协议的监测数据进行数据域的划分得到的数据再次进行划分,将各个协议的监测数据分别归属到各个通用接口数据监测器所对应的接口;
3)性能计算:根据协议编号确定对应的性能计算算法,针对数据预处理得到的数据计算各个接口的各个协议的性能值;根据环境配置信息中所设定的通路、通路请求相关转换关系以及通路性能计算方法,计算环境配置信息中所设定通路的性能值。
参见图1,步骤3)之后还包括对各个接口的各个协议的性能值、环境配置信息中所设定通路的性能值生成统计分析图形结果的步骤。
本实施例中,步骤1)之前还包括获取处理器内部通用接口的全部事务包的下述步骤:
S1)监测接口上的请求报文和响应报文,若收到接口上的请求报文或响应报文,则按照事务包形式将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;所述事务包为一个十六进制数据,包含请求报文、请求报文对应的时间戳、响应报文、响应报文对应的时间戳以及采样点编号和协议编号信息;所述采样点编号为通用接口数据监测器的属性并由用户定义,用于软件部分处理数据时区分来自不同通用接口数据监测器接口的事务包,继而进行分类处理,用户需要保证不同通用接口数据监测器接口处的采样点编号不一样;所述协议编号为所述通用接口数据监测器的属性并由用户定义,一种协议对应一个协议编号,具有某种协议编号的所述通用接口数据监测器具备监测该种协议数据的能力;
S2)接收打包输出的信息并实时计算接口上的延时信息,对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在有JTAG接口的存储器中,以便在仿真结束后通过JTAG读取该存储器,作为所述通用接口数据监测器的输出,得到接口上的性能参数。
如图3所示,步骤S1)中收到接口上的请求报文的处理步骤包括:
S1.1A)收到接口上的请求报文;
S1.2A)将请求报文附加时间戳,按照报文域定义对接收到的请求报文进行拆分,拆分出包含索引id、请求地址在内的有效信息;
S1.3A)根据索引id对所述查找表中的非空的查找表项进行比对,如果有相同索引id项,则记下对应查找表项序号A,将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间存入序号A对应的FIFO中;若没有则记下最小的空查找表项序号B,则将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间打包存入序号B对应的FIFO中,并将序号B项的有效位置1。
如图4所示,步骤S1)中收到接口上的响应报文的处理步骤包括:
S1.1B)收到接口上的响应报文;
S1.2B)按照报文域定义对接收到的响应报文进行拆分,拆分出索引id;根据索引id对所述查找表中的非空的查找表项进行比对,找到相同索引id对应的查找表项序号C;
S1.3B)判断表项序号C对应的FIFO内计数器值为1是否成立,若不成立则读取查找表项序号C对应的FIFO中的数据;否则,进一步判断是否没有写表项序号C对应的FIFO的操作,若没有写表项序号C对应的FIFO的操作则将表项序号C项的有效位置0,否则读取查找表项序号C对应的FIFO中的数据。
如图4所示,步骤S1)中将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出的处理步骤包括:将读取查找表项序号C对应的FIFO中的数据作为响应报文对应的请求报文及其时间戳,然后将响应报文对应的请求报文及其时间戳、以及从FIFO中读取的响应报文、响应报文的时间戳、采样点编号和所述协议编号合并后打包;并在预设的打印开关打开的情况下,将输出事务包打印在仿真环境运行Log文件中,作为所述通用接口数据监测器的输出。
本实施例中,步骤S2)中计算接口上的延时信息具体是指将响应报文的时间戳减去其对应请求报文的时间戳。
如图5所示,如图5所示,延时计算排序可通过开关控制打开或关闭,在只需统计接口延时信息的场景可以打开延时计算排序器开关、关掉打印开关,这样可以在完成延时分析的前提上最大化降低性能监测对仿真时间的影响。
此外,本实施例还提供一种处理器内部通用接口性能检测与分析系统,包括计算机设备,该计算机设备被编程或配置以执行前述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行前述处理器内部通用接口性能检测与分析方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中被编程或配置以执行前述处理器内部通用接口性能检测与分析方法的计算机程序。
实施例二:
实施例一为纯软件的实现方式,此外本实施例还提供一种软件、硬件结合的实现方式。如图6所示,本实施例还提供一种处理器内部通用接口性能检测与分析系统,包括计算机设备和数据采集装置,其特征在于,该计算机设备被编程或配置以执行前述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行前述处理器内部通用接口性能检测与分析方法的计算机程序,数据采集装置用于获取处理器内部通用接口的全部事务包,数据采集装置包括一个可综合的通用接口数据监测器1和一个延时计算排序器2,通用接口数据监测器1包含请求存储模块11、时间戳生成模块12、响应匹配模块13、查找表14和输出打包模块15,请求存储模块11用于监测和接收接口上的请求报文,响应匹配模块13用于监测和接收接口上的响应报文,时间戳生成模块12用于对接口的请求报文和响应报文附加时间戳,查找表14用于对接收到的请求报文和响应报文查找确定采样点编号和协议编号,输出打包模块15用于按照事务包形式将接收到的请求报文及其对应的时间戳、响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;延时计算排序器2包括延时计算模块21、延时排序模块22和延时信息存储器23和JTAG接口24,延时计算模块21用于接收打包输出的信息并实时计算接口上的延时信息,延时排序模块22用于对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在延时信息存储器23以便在仿真结束后通过JTAG接口24读取作为通用接口数据监测器的输出。
请求存储模块11用于接收请求报文,并按请求报文中的索引id将请求报文以及所述时间戳生成模块记录的请求报文接收时间存储到所述查找表的FIFO中;参见图3,请求存储模块11的工作步骤如下:步骤S11:接收到一个请求报文;步骤S12:按照报文域定义对接收到的请求报文进行拆分,拆分出索引id、请求地址等有效信息;步骤S13:根据索引id对所述查找表中的非空的查找表项进行比对,如果有相同索引id项,则记下对应查找表项序号A并跳转到步骤S14,若没有则记下最小的空查找表项序号B并跳转到步骤S15;步骤S14:将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间存入序号A对应的FIFO中;步骤S15:将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间打包存入序号B对应的FIFO中,并将序号B项的有效位置1。
时间戳生成模块12通过计数器实现,用于记录接收到请求报文和响应报文的时间。
响应匹配模块13用于将接收到的响应报文和所述请求存储模块11中存储的请求报文进行匹配,参见图4,响应匹配模块13的工作步骤如下:步骤S21:接收到一个响应报文;步骤S22:按照报文域定义对接收到的响应报文进行拆分,拆分出索引id;步骤S23:根据索引id对所述查找表中的非空的查找表项进行比对,找到相同索引id对应的查找表项序号C;步骤S24:若序号C对应FIFO内计数器值为1,并且同时没有写该FIFO的操作,将序号C项的有效位置0;步骤S25:读取查找表项序号C对应的FIFO中的数据;
查找表14包含一组查找表项用于记录接收到的请求报文的id,还包含一组FIFO用于存储请求报文以及其对应的时间戳,FIFO个数与查找表项的个数相同且与查找表项一一对应。
输出打包模块15用于将响应报文、响应报文的时间戳、响应报文对应的请求报文及其时间戳(步骤S24读出数据)、所述采样点编号和所述协议编号合并后打包,并在打开打印开关的情况下,将输出事务包打印在仿真环境运行Log文件中,作为所述通用接口数据监测器的输出,由所述软件部分进行后处理。
延时计算排序器2包括延时计算模块21、延时排序模块22和延时信息存储器23和JTAG接口24,用于接收输出打包模块15输出的信息以实时计算接口上的延时信息,对延时进行排序并将最大10个延时对应的输出事务包排序后存储在延时信息存储器23中,在仿真结束后,可通过JTAG读取该延时信息存储器23,作为所述通用接口数据监测器的输出,得到接口上的延时等性能参数。本实施例中接口上的延时信息是指响应报文和其对应的请求报文到达接口的时间差。延时计算模块21用于计算接口上的延时信息,通过将响应报文的时间戳减去其对应请求报文的时间戳实现。延时排序模块22用于对延时计算模块的输出进行排序,并将排前10的延时对应的请求和响应信息存储在延时信息存储器中。延时排序模块22可通过开关控制打开或关闭,在只需统计接口延时信息的场景可以打开延时计算排序器开关、关掉打印开关,这样可以在完成延时分析的前提上最大化降低性能监测对仿真时间的影响。
计算机设备上运行的软件部分对所述通用接口数据监测器输出数据进行处理,从而分析得到各接口上的性能参数和定位性能瓶颈,软件部分的工作流程如下:步骤S31:从验证环境的运行Log文件中提取全部的通用接口数据监测器打印的信息;步骤S32:根据监测数据的协议编号,对步骤S31中提取的信息进行划分,得到不同协议的监测数据;步骤S33:根据协议编号对应的数据格式定义,对步骤S32中提取到的每一类协议的监测数据进行数据域的划分;步骤S34:根据采样点编号,对步骤S33中得到的数据再次进行划分,将各个协议的监测数据分别归属到各个通用接口数据监测器所对应的接口;步骤S35:根据协议编号确定对应的性能计算算法,并根据步骤S34中得到的数据,计算各个接口的各个协议的性能值;步骤S36:根据环境配置信息中所设定的通路、通路请求相关转换关系以及通路性能计算方法,计算环境配置信息中所设定通路的性能值;步骤S37:保存步骤S35和步骤S36的计算结果。计算机设备上运行的软件部分还支持图形化界面显示,用户只需要根据要求完成配置文件的编写,就能够在该图形界面下导入配置文件和log文件,完成性能结果的计算,并在该界面下完成性能参数的结果查看与统计分析。
综上所述,本发明提供了一种处理器内部通用接口性能监测与分析的解决方案,通过在硅前验证阶段监测处理器内部接口的数据报文,并计算得到系统中各接口性能和数据流在各相邻接口之间的延时等性能数据,继而分析得到系统的整体性能和定位系统性能瓶颈,为设计师进行代码优化提供依据和方向。同时,本发明具有广泛地适用性,既可以用于软模拟仿真平台,也可以用于硬件仿真加速器平台和FPGA平台。
以上对本发明的较佳实施例子进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (8)

1.一种处理器内部通用接口性能检测与分析方法,其特征在于,该方法包括:
1)数据提取:提取处理器内部通用接口的全部事务包;
2)数据预处理:根据监测数据的协议编号,对提取的事务包进行划分得到不同协议的监测数据;根据协议编号对应的数据格式定义,对每一类协议的监测数据进行数据域的划分;根据采样点编号,对对每一类协议的监测数据进行数据域的划分得到的数据再次进行划分,将各个协议的监测数据分别归属到各个通用接口数据监测器所对应的接口;
3)性能计算:根据协议编号确定对应的性能计算算法,针对数据预处理得到的数据计算各个接口的各个协议的性能值;根据环境配置信息中所设定的通路、通路请求相关转换关系以及通路性能计算方法,计算环境配置信息中所设定通路的性能值;步骤1)之前还包括获取处理器内部通用接口的全部事务包的下述步骤:
S1)监测接口上的请求报文和响应报文,若收到接口上的请求报文或响应报文,则按照事务包形式将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;所述事务包为一个十六进制数据,包含请求报文、请求报文对应的时间戳、响应报文、响应报文对应的时间戳以及采样点编号和协议编号信息;所述采样点编号为通用接口数据监测器的属性并由用户定义,用于软件部分处理数据时区分来自不同通用接口数据监测器接口的事务包,继而进行分类处理,用户需要保证不同通用接口数据监测器接口处的采样点编号不一样;所述协议编号为所述通用接口数据监测器的属性并由用户定义,一种协议对应一个协议编号,具有某种协议编号的所述通用接口数据监测器具备监测该种协议数据的能力;
S2)接收打包输出的信息并实时计算接口上的延时信息,对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在有JTAG接口的存储器中,以便在仿真结束后通过JTAG读取该存储器,作为所述通用接口数据监测器的输出,得到接口上的性能参数;
步骤S1)中收到接口上的请求报文的处理步骤包括:
S1.1A)收到接口上的请求报文;
S1.2A)将请求报文附加时间戳,按照报文域定义对接收到的请求报文进行拆分,拆分出包含索引id、请求地址在内的有效信息;
S1.3A)根据索引id对查找表中的非空的查找表项进行比对,如果有相同索引id项,则记下对应查找表项序号A,将请求报文以及时间戳生成模块记录的接收到请求报文的时间存入序号A对应的FIFO中;若没有则记下最小的空查找表项序号B,则将请求报文以及所述时间戳生成模块记录的接收到请求报文的时间打包存入序号B对应的FIFO中,并将序号B项的有效位置1。
2.根据权利要求1所述的处理器内部通用接口性能检测与分析方法,其特征在于,步骤3)之后还包括对各个接口的各个协议的性能值、环境配置信息中所设定通路的性能值生成统计分析图形结果的步骤。
3.根据权利要求1所述的处理器内部通用接口性能检测与分析方法,其特征在于,步骤S1)中收到接口上的响应报文的处理步骤包括:
S1.1B)收到接口上的响应报文;
S1.2B)按照报文域定义对接收到的响应报文进行拆分,拆分出索引id;根据索引id对查找表中的非空的查找表项进行比对,找到相同索引id对应的查找表项序号C;
S1.3B)判断表项序号C对应的FIFO内计数器值为1是否成立,若不成立则读取查找表项序号C对应的FIFO中的数据;否则,进一步判断是否没有写表项序号C对应的FIFO的操作,若没有写表项序号C对应的FIFO的操作则将表项序号C项的有效位置0,否则读取查找表项序号C对应的FIFO中的数据。
4.根据权利要求3所述的处理器内部通用接口性能检测与分析方法,其特征在于,步骤S1)中将接收到的请求报文及其对应的时间戳或响应报文及其对应的时间戳、采样点编号和协议编号打包后输出的处理步骤包括:将读取查找表项序号C对应的FIFO中的数据作为响应报文对应的请求报文及其时间戳,然后将响应报文对应的请求报文及其时间戳、以及从FIFO中读取的响应报文、响应报文的时间戳、采样点编号和所述协议编号合并后打包;并在预设的打印开关打开的情况下,将输出事务包打印在仿真环境运行Log文件中,作为所述通用接口数据监测器的输出。
5.根据权利要求1所述的处理器内部通用接口性能检测与分析方法,其特征在于,步骤S2)中计算接口上的延时信息具体是指将响应报文的时间戳减去其对应请求报文的时间戳。
6.一种处理器内部通用接口性能检测与分析系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~5中任意一项所述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行权利要求1~5中任意一项所述处理器内部通用接口性能检测与分析方法的计算机程序。
7.一种处理器内部通用接口性能检测与分析系统,包括计算机设备和数据采集装置,其特征在于,该计算机设备被编程或配置以执行权利要求1~2中任意一项所述处理器内部通用接口性能检测与分析方法的步骤,或者该计算机设备的存储器中被编程或配置以执行权利要求1~2中任意一项所述处理器内部通用接口性能检测与分析方法的计算机程序,所述数据采集装置用于获取处理器内部通用接口的全部事务包,所述数据采集装置包括一个可综合的通用接口数据监测器(1)和一个延时计算排序器(2),所述通用接口数据监测器(1)包含请求存储模块(11)、时间戳生成模块(12)、响应匹配模块(13)、查找表(14)和输出打包模块(15),所述请求存储模块(11)用于监测和接收接口上的请求报文,所述响应匹配模块(13)用于监测和接收接口上的响应报文,所述时间戳生成模块(12)用于对接口的请求报文和响应报文附加时间戳,所述查找表(14)用于对接收到的请求报文和响应报文查找确定采样点编号和协议编号,所述输出打包模块(15)用于按照事务包形式将接收到的请求报文及其对应的时间戳、响应报文及其对应的时间戳、采样点编号和协议编号打包后输出;所述延时计算排序器(2)包括延时计算模块(21)、延时排序模块(22)和延时信息存储器(23)和JTAG接口(24),所述延时计算模块(21)用于接收打包输出的信息并实时计算接口上的延时信息,所述延时排序模块(22)用于对延时进行排序并将最大的前N个延时对应的输出事务包排序后存储在延时信息存储器(23)以便在仿真结束后通过JTAG接口(24)读取作为通用接口数据监测器的输出。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中被编程或配置以执行权利要求1~5中任意一项所述处理器内部通用接口性能检测与分析方法的计算机程序。
CN202010596818.XA 2020-06-28 2020-06-28 一种处理器内部通用接口性能检测与分析方法、系统及介质 Active CN111611147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010596818.XA CN111611147B (zh) 2020-06-28 2020-06-28 一种处理器内部通用接口性能检测与分析方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010596818.XA CN111611147B (zh) 2020-06-28 2020-06-28 一种处理器内部通用接口性能检测与分析方法、系统及介质

Publications (2)

Publication Number Publication Date
CN111611147A CN111611147A (zh) 2020-09-01
CN111611147B true CN111611147B (zh) 2023-05-30

Family

ID=72203921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010596818.XA Active CN111611147B (zh) 2020-06-28 2020-06-28 一种处理器内部通用接口性能检测与分析方法、系统及介质

Country Status (1)

Country Link
CN (1) CN111611147B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114221733B (zh) * 2021-12-27 2023-11-07 深圳市紫光同创电子有限公司 一种时间戳同步的误差补偿方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268272A (zh) * 2013-05-07 2013-08-28 中国人民解放军国防科学技术大学 基于场景的处理器系统级验证完备性度量方法
CN108390797A (zh) * 2018-02-27 2018-08-10 盛科网络(苏州)有限公司 一种基于芯片实现主动测量协议的方法
CN109510737A (zh) * 2018-12-14 2019-03-22 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268272A (zh) * 2013-05-07 2013-08-28 中国人民解放军国防科学技术大学 基于场景的处理器系统级验证完备性度量方法
CN108390797A (zh) * 2018-02-27 2018-08-10 盛科网络(苏州)有限公司 一种基于芯片实现主动测量协议的方法
CN109510737A (zh) * 2018-12-14 2019-03-22 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗莉等.《一个基于AXI总线的IO系统验证平台的设计与实现》.《第十九届计算机工程与工艺年会暨第五届微处理器技术论坛》.2015,全文. *

Also Published As

Publication number Publication date
CN111611147A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
TWI389505B (zh) 測試裝置、測試方法以及程式
CN104615477B (zh) 分析fpga的方法和系统
EP2128768B1 (en) Detecting device, program, and detecting method
CN111523284B (zh) 转换芯片eda仿真配置的方法、装置及应用
CN112861468B (zh) 一种软硬件协同仿真验证的方法、装置和介质
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
US10241957B2 (en) Workload patterns for realistic load recreation in performance testing
CN112257358B (zh) 一种动态功耗精确分析方法及装置
CN112732567B (zh) 基于ip的mock数据测试方法、装置、电子设备及存储介质
CN102981949A (zh) 一种在线自动测试服务器的方法
CN112417798A (zh) 一种时序测试方法、装置、电子设备及存储介质
CN111611147B (zh) 一种处理器内部通用接口性能检测与分析方法、系统及介质
CN108008715B (zh) 基于fpga的系统功率评估装置与方法
CN113887161A (zh) 一种片上网络设计实例的验证方法、装置、设备及介质
JP5040625B2 (ja) Lsiの電力見積方法及びその装置
CN101651839A (zh) 时间戳添加设备、时间戳添加方法以及时间戳添加程序
CN115758963A (zh) 芯片eda仿真中打印信息的处理装置、方法及系统
US20230057034A1 (en) Method for viewing simulation signals of digital products and simulation system
CN110413461B (zh) 测量加速卡与主机之间传输延时的系统、方法及加速卡
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
Zhou et al. Hats: high accuracy timestamping system based on netfpga
JP2000009810A (ja) 半導体試験用デ―タ処理装置及び方法並びに半導体試験装置
CN111859831A (zh) 芯片验证方法和系统,及存储介质
CN110765711A (zh) 数字产品的仿真信号查看方法及系统
CN110890997A (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