CN105487953B - 一种总线性能分析方法和装置 - Google Patents
一种总线性能分析方法和装置 Download PDFInfo
- Publication number
- CN105487953B CN105487953B CN201510818459.7A CN201510818459A CN105487953B CN 105487953 B CN105487953 B CN 105487953B CN 201510818459 A CN201510818459 A CN 201510818459A CN 105487953 B CN105487953 B CN 105487953B
- Authority
- CN
- China
- Prior art keywords
- delay time
- performance
- bus
- module
- data
- 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
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/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
- G06F11/2635—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种总线性能分析方法和装置,其中方法包括如下步骤:地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时;数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间;时间记录步骤:记录延迟时间并返回地址检测步骤。本技术方案通过检测每一个延时后,并在检测完毕后进行下一个检测,这样所需要的存储空间小,消耗的代价小,在实现的时候可以降低性能分析模块逻辑的面积和复杂度。
Description
技术领域
本发明涉及总线性能分析领域,尤其涉及一种总线性能分析方法和装置。
背景技术
随着智能时代的到来,基于ARM内核的SOC集成电路得到了空前的发展,在ARM总线架构中,基于AXI(Advanced eXtensible Interface)总线协议的一致性互联目前是SOC互联的主流。在很多IP设计中都会挂接在AXI BUS上,AXI总线的性能很大程度上反映了IP性能。因此对于此类IP性能分析就显得很必要,目前对于AXI总线读写IP性能的分析模块逻辑复杂,占用面积很大,这对SOC设计规划是一个很大的挑战。
发明内容
为此,需要提供一种总线性能分析方法和装置,解决现有总线性能分析结构模块复杂、占用面积大的问题。
为实现上述目的,发明人提供了一种总线性能分析方法,包括如下步骤:
地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时;
数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间;
时间记录步骤:记录延迟时间并返回地址检测步骤。
进一步地,所述地址检测步骤中“开始计时”包括开始计算时钟周期个数;
所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。
进一步地,所述时间记录步骤在记录延迟时间时,判断该延迟时间是否大于最大延迟时间,如果是则将该延迟时间记录为最大延迟时间,并返回地址检测步骤,否则返回地址检测步骤。
进一步地,所述时间记录步骤在记录延迟时间时,计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回地址检测步骤。
进一步地,所述总线为AXI总线;则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。
以及本发明还提供一种总线性能分析装置,包括如下模块:
读写命令模块和性能统计模块,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块,其中:
初始化模块:用于初始化各个状态、模块并初始化性能分析条件给性能统计模块;
读写命令模块:用于与总线连接并发送读写命令到总线上;
性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身。
进一步地,所述性能分析条件包括最大延迟时间和平均延迟时间。
区别于现有技术,上述技术方案通过检测每一个延时后,并在检测完毕后进行下一个检测,这样所需要的存储空间小,消耗的代价小,在实现的时候可以降低性能分析模块逻辑的面积和复杂度。
附图说明
图1为一实施例的结构示意图;
图2为方法实施例的流程图;
图3为一实施例的状态示意图;
图4为本发明一实施例的装置架构图。
附图标记说明:
301、读写命令模块,302、性能统计模块,303、初始化模块。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1到图4,本实施例首先提供了一种总线性能分析方法,总线性能分析很重要的步骤是获取总线读写命令的延时,并根据延迟时间来评判总线性能,延迟时间长的总线比延迟时间短的总线的性能要差。如图1所示,本方法包括如下步骤,步骤S101地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时。而后进入步骤S102数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,从而可以得到延迟时间。而后进入在步骤S103时间记录步骤:记录延迟时间并返回地址检测步骤。本发明在记录时间的时候,只需要一个线程对地址或数据通道进行记录即可,并可记录下延迟时间,而现有技术需要使用多个线程对地址或数据通道进行多个并发地检测,多个线程占用的资源非常大,而本发明的单个线程占用的资源小,实现起来的逻辑架构也小,实现简单。根据记录下来的延迟时间,即可以分析出总线的性能。
计时时间具有多种实现方式,在本发明中,所述地址检测步骤中“开始计时”包括开始计算时钟周期个数;所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。直接使用系统时钟进行计时,计时更加准确。
对于不同的总线性能分析指标,如需要最大延迟时间,则本发明进一步可以包含如下步骤,如图1所示,所述时间记录步骤在记录延迟时间时,在步骤S104判断该延迟时间是否大于最大延迟时间,如果是则进入步骤S105将该延迟时间记录为最大延迟时间,并返回步骤S101地址检测步骤,否则直接返回步骤S101地址检测步骤。这样,本发明在取得最大时间时也只需要一个线程即可完成,该线程记录时间后直接比较并记录最大的延迟时间,在检测完毕后,记录下的延迟时间即为总线的最大延迟时间。当然,初始时的最大延迟时间可以是0,而后检测到延迟时间后即可以比较并记录。而现有技术需要多个线程同时记录每个命令读地址通道的地址发出时间和每个读数据通道的数据返回时间,并得到每个命令的延迟时间,并在结束后比较所有的延迟时间才能得到最大延迟时间,这样不仅需要多个线程,而且需要多个存储位置进行存储才行,即现有技术占用的资源相对较大,而本发明可以利用较小的资源得到总线最大延迟时间,从而得到总线的性能。在延迟时间采用时钟周期计数的实施例中,比较延迟时间可以采用比较时钟周期的方式进行。
在某些实施例中,需要总线的平均延迟时间对总线性能进行评价,则本发明在上述任一实施例的基础上还可以包含有如下步骤。如图2所示,图2中的前面步骤S201到S203与图1中的步骤S101到步骤S103相同,在步骤S203时间记录步骤在记录延迟时间时,进入步骤S204计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回步骤S201地址检测步骤。这样,本发明只需要一个线程即可直接得到平均延迟时间,在检测结束后,记录下来的延迟时间即为平均延迟时间。而现有技术需要记录多个命令的延迟时间后,并进行平均后才能得到,需要的存储空间较大,占用的资源多。本发明在第一次获取到延迟时间时,此时的平均延迟时间并未获得,应该将该延迟时间记为平均延迟时间,而后从第二次获取到延迟时间即可正常进行算术平均计算,即将平均延迟时间和本次的延迟时间加和后除二即可。在延迟时间采用时钟周期计数的实施例中,对延迟时间进行算术平均计算可以采用对时钟周期进行算术平均计算的方式进行。
本发明的上述方法可以应用于多种总线,在某些实施例中,该总线为AXI总线。则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。为了进一步说明在本发明获取延迟时间的方法如何应用到AXI总线上,以下结合图3进行说明。其中,AR通道表示的是读地址通道,在该通道会发出cmd(命令)信息,该cmd信息包括每一笔transaction(交易)的ID信息(标识信息)以及地址和控制信号。图3中的R通道表示的是读数据通道,该通道会返回cmd所对对应的data(数据),并带有ID信息,可以和控制信号一一匹配。根据ID信息即可将读地址通道的命令和读数据通道的数据进行对应。其中,cmd还包括数据读写使能,读写地址,传输位宽,传输个数等信息。data还包括数据总线传输内容。图中圆圈内具有数字表明是第几笔cmd信息发出,方块中具有数据表明是第几笔data返回。如图中①表示第一笔cmd信息发出,方块中的1表示第一笔操作回来的data。aclk是时钟。图中圆圈到方块中间的弧线表示的是延时cycle数(时钟周期个数);以此就可以统计整体延时信息,从而对IP性能进行评估。在应用本发明方法时,当第一笔cmd信息发出时,步骤S101开始记录cycle数,直到第一笔data返回,在步骤S102得到延迟时间,可以在步骤S103记录下来。并返回步骤S101,再次进行检测,此时总线的命令可以已经发到第三笔,如图3中,第二笔cmd信息发出的时间处在第一笔cmd信息与第一笔data之间,则本发明方法即开始检测第三笔cmd信息。本发明在检测的时候,可能存在一两笔cmd信息并未记录,但是对于总线上一个发出多个命令来说,这一两笔cmd信息对整体的结果影响不大。特别是在多次测试后,基本上可以用本发明方法得到准确的性能数据,而本发明所需的代价和资源确是十分小的,这样实现的本发明方法的电路的面积小,易于集成,集成后的SOC可以降低SOC面积和功耗。
以及本发明还提供一种总线性能分析装置,可以通过有限状态机和控制逻辑来实现,如图4所示,包括如下模块:
读写命令模块301和性能统计模块302,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块303,其中:初始化模块:用于初始化各个状态、模块并初始化性能分析条件给性能统计模块;读写命令模块:用于与总线连接并发送读写命令到总线上;性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身。本发明中性能统计模块在每处理完一笔命令信息后,就会重新使能自身进入下一笔命令信息的处理,这样本发明的性能统计模块按顺序只进行单笔的命令处理,相对于现有要处理多笔命令的实现方式,本发明的实现方式所占用的资源更小,实现更为简单。
性能分析条件即为总线性能分析所需的条件,在本发明中,所述性能分析条件包括最大延迟时间和平均延迟时间。可以根据最大延迟时间和平均延迟时间来评估总线的性能。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (4)
1.一种总线性能分析方法,其特征在于,包括如下步骤:
地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时;
数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间;
时间记录步骤:记录延迟时间并返回地址检测步骤;
所述时间记录步骤包括步骤:在记录延迟时间时,判断该延迟时间是否大于最大延迟时间,如果是则将该延迟时间记录为最大延迟时间,并返回地址检测步骤,否则返回地址检测步骤;
或者所述时间记录步骤包括步骤:在记录延迟时间时,计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回地址检测步骤。
2.根据权利要求1所述的总线性能分析方法,其特征在于,
所述地址检测步骤中“开始计时”包括开始计算时钟周期个数;
所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。
3.根据权利要求1所述的总线性能分析方法,其特征在于:
所述总线为AXI总线;则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。
4.一种总线性能分析装置,其特征在于,包括如下模块:
读写命令模块和性能统计模块,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块,其中:
初始化模块:用于初始化各个状态、读写命令模块并初始化性能分析条件给性能统计模块;
读写命令模块:用于与总线连接并发送读写命令到总线上;
性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身;所述性能分析条件包括最大延迟时间和平均延迟时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510818459.7A CN105487953B (zh) | 2015-11-23 | 2015-11-23 | 一种总线性能分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510818459.7A CN105487953B (zh) | 2015-11-23 | 2015-11-23 | 一种总线性能分析方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105487953A CN105487953A (zh) | 2016-04-13 |
CN105487953B true CN105487953B (zh) | 2019-02-01 |
Family
ID=55674946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510818459.7A Active CN105487953B (zh) | 2015-11-23 | 2015-11-23 | 一种总线性能分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105487953B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474366B2 (en) * | 2016-12-28 | 2019-11-12 | Sandisk Technologies Llc | Non-volatile storage system with in-drive data analytics |
CN112559261B (zh) * | 2020-11-27 | 2022-05-24 | 中国船舶重工集团公司第七0九研究所 | 一种基于层次状态机的axi总线性能分析方法及装置 |
CN112579415B (zh) * | 2020-12-10 | 2024-05-31 | 北京爱芯科技有限公司 | Axi总线的性能计算方法、装置、电子设备及存储介质 |
CN116881065B (zh) * | 2023-09-07 | 2023-12-15 | 湖北芯擎科技有限公司 | 总线传输延时检测模块、电路及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410793B (zh) * | 2007-12-28 | 2013-10-01 | Asustek Comp Inc | 電腦系統及其基本輸入輸出系統的偵錯方法與開機方法 |
CN101876931B (zh) * | 2009-11-23 | 2015-07-01 | 北京中星微电子有限公司 | 总线性能评估方法、系统及装置 |
CN101788947B (zh) * | 2010-02-09 | 2012-10-17 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102662782B (zh) * | 2012-04-17 | 2014-09-03 | 华为技术有限公司 | 一种监控系统总线的方法及装置 |
-
2015
- 2015-11-23 CN CN201510818459.7A patent/CN105487953B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105487953A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105487953B (zh) | 一种总线性能分析方法和装置 | |
CN104737234B (zh) | 用于行锤击监视的装置,存储器和方法 | |
US12001317B2 (en) | Waveform based reconstruction for emulation | |
US9600618B2 (en) | Implementing system irritator accelerator FPGA unit (AFU) residing behind a coherent attached processors interface (CAPI) unit | |
EP2960797B1 (en) | Identification of software phases using machine learning | |
CN102004693A (zh) | 一种系统性能测试方法和装置 | |
CN106372008B (zh) | 一种数据缓存方法及装置 | |
CN103593271A (zh) | 一种片上系统芯片追踪调试的方法及装置 | |
CN108596654B (zh) | 用电信息采集方法、装置、计算机设备和存储介质 | |
CN110209357A (zh) | 提高ssd大文件写性能的方法、装置、计算机设备及存储介质 | |
CN105528300B (zh) | 一种ddr内存控制器及其访问监控方法 | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN109656479A (zh) | 一种构建存储器命令序列的方法及装置 | |
CN109634826A (zh) | 控制器极限性能分析方法、装置、计算机设备及存储介质 | |
Balakrishnan et al. | Memst: Cloning memory behavior using stochastic traces | |
CN102929778A (zh) | 众核阵列上并行测试的控制方法及硅后验证系统 | |
US9251023B2 (en) | Implementing automated memory address recording in constrained random test generation for verification of processor hardware designs | |
CN103473161A (zh) | 一种内存smbus信号测试的发包方法 | |
CN102932464B (zh) | 一种存储系统的性能分析方法及装置 | |
CN203276273U (zh) | 一种多gpu运算卡 | |
Chen et al. | An activity-sensitive contention delay model for highly efficient deterministic full-system simulations | |
CN104391801B (zh) | Ddrii控制器的读写、状态转换、物理地址分配方法 | |
CN108962320A (zh) | 提升ssd读重试效率的方法、装置及计算机设备 | |
CN109710305A (zh) | 一种开发信息的获取方法、装置、存储介质及终端设备 | |
Bae et al. | Design of pre-processor for effective analysis of eMMC protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee before: Fuzhou Rockchips Electronics Co.,Ltd. |