一种总线性能分析方法和装置的制造方法
【技术领域】
[0001]本发明涉及总线性能分析领域,尤其涉及一种总线性能分析方法和装置。
【背景技术】
[0002 ]随着智能时代的到来,基于ARM内核的S0C集成电路得到了空前的发展,在ARM总线架构中,基于AXI (Advanced extensible Interface)总线协议的一致性互联目前是S0C互联的主流。在很多IP设计中都会挂接在AXI BUS上,AXI总线的性能很大程度上反映了IP性能。因此对于此类IP性能分析就显得很必要,目前对于AXI总线读写IP性能的分析模块逻辑复杂,占用面积很大,这对S0C设计规划是一个很大的挑战。
【发明内容】
[0003]为此,需要提供一种总线性能分析方法和装置,解决现有总线性能分析结构模块复杂、占用面积大的问题。
[0004]为实现上述目的,发明人提供了一种总线性能分析方法,包括如下步骤:
[0005]地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时;
[0006]数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间;
[0007 ] 时间记录步骤:记录延迟时间并返回地址检测步骤。
[0008]进一步地,所述地址检测步骤中“开始计时”包括开始计算时钟周期个数;
[0009]所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。
[0010]进一步地,所述时间记录步骤在记录延迟时间时,判断该延迟时间是否大于最大延迟时间,如果是则将该延迟时间记录为最大延迟时间,并返回地址检测步骤,否则返回地址检测步骤。
[0011 ] 进一步地,所述时间记录步骤在记录延迟时间时,计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回地址检测步骤。
[0012]进一步地,所述总线为AXI总线;则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。
[0013]以及本发明还提供一种总线性能分析装置,包括如下模块:
[0014]读写命令模块和性能统计模块,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块,其中:
[0015]初始化模块:用于初始化各个状态、模块并初始化性能分析条件给性能统计模块;
[0016]读写命令模块:用于与总线连接并发送读写命令到总线上;
[0017]性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身。
[0018]进一步地,所述性能分析条件包括最大延迟时间和平均延迟时间。
[0019]区别于现有技术,上述技术方案通过检测每一个延时后,并在检测完毕后进行下一个检测,这样所需要的存储空间小,消耗的代价小,在实现的时候可以降低性能分析模块逻辑的面积和复杂度。
【附图说明】
[0020]图1为一实施例的结构示意图;
[0021 ]图2为方法实施例的流程图;
[0022]图3为一实施例的状态不意图;
[0023 ]图4为本发明一实施例的装置架构图。
[0024]附图标记说明:
[0025]301、读写命令模块,302、性能统计模块,303、初始化模块。
【具体实施方式】
[0026]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0027]请参阅图1到图4,本实施例首先提供了一种总线性能分析方法,总线性能分析很重要的步骤是获取总线读写命令的延时,并根据延迟时间来评判总线性能,延迟时间长的总线比延迟时间短的总线的性能要差。如图1所示,本方法包括如下步骤,步骤S101地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时。而后进入步骤S102数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,从而可以得到延迟时间。而后进入在步骤S103时间记录步骤:记录延迟时间并返回地址检测步骤。本发明在记录时间的时候,只需要一个线程对地址或数据通道进行记录即可,并可记录下延迟时间,而现有技术需要使用多个线程对地址或数据通道进行多个并发地检测,多个线程占用的资源非常大,而本发明的单个线程占用的资源小,实现起来的逻辑架构也小,实现简单。根据记录下来的延迟时间,即可以分析出总线的性能。
[0028]计时时间具有多种实现方式,在本发明中,所述地址检测步骤中“开始计时”包括开始计算时钟周期个数;所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。直接使用系统时钟进行计时,计时更加准确。
[0029]对于不同的总线性能分析指标,如需要最大延迟时间,则本发明进一步可以包含如下步骤,如图1所示,所述时间记录步骤在记录延迟时间时,在步骤S104判断该延迟时间是否大于最大延迟时间,如果是则进入步骤S105将该延迟时间记录为最大延迟时间,并返回步骤S101地址检测步骤,否则直接返回步骤S101地址检测步骤。这样,本发明在取得最大时间时也只需要一个线程即可完成,该线程记录时间后直接比较并记录最大的延迟时间,在检测完毕后,记录下的延迟时间即为总线的最大延迟时间。当然,初始时的最大延迟时间可以是0,而后检测到延迟时间后即可以比较并记录。而现有技术需要多个线程同时记录每个命令读地址通道的地址发出时间和每个读数据通道的数据返回时间,并得到每个命令的延迟时间,并在结束后比较所有的延迟时间才能得到最大延迟时间,这样不仅需要多个线程,而且需要多个存储位置进行存储才行,即现有技术占用的资源相对较大,而本发明可以利用较小的资源得到总线最大延迟时间,从而得到总线的性能。在延迟时间采用时钟周期计数的实施例中,比较延迟时间可以采用比较时钟周期的方式进行。
[0030]在某些实施例中,需要总线的平均延迟时间对总线性能进行评价,则本发明在上述任一实施例的基础上还可以包含有如下步骤。如图2所示,图2中的前面步骤S201到S203与图1中的步骤S101到步骤S103相同,在步骤S203时间记录步骤在记录延迟时间时,进入步骤S204计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回步骤S201地址检测步骤。这样,本发明只需要一个线程即可直接得到平均延迟时间,在检测结束后,记录下来的延迟时间即为平均延迟时间。而现有技术需要记录多个命令的延迟时间后,并进行平均后才能得到,需要的存储空间较大,占用的资源多。本发明在第一次获取到延迟时间时,此时的平均延迟时间并未获得,应该将该延迟时间记为平均延迟时间,而后从第二次获取到延迟时间即可正常进行算术平均计算,即将平均延迟时间和本次的延迟时间加和后除二即可。在延迟时间采用时钟周期计数的实施例中,对延迟时间进行算术平均计算可以采用对时钟周期进行算术平均计算的方式进行。
[0031]本发明的上述方法可以应用于多种总线,在某些实施例中,该总线为AXI总线。则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。为了进一步说明在本发明获取延迟时间的方法如何应用到AXI总线上,以下结合图3进行说明。其中,AR通道表示的是读地址通道,在该通道会发出cmd(命令)信息,该cmd信息包括每一笔transact1n(交易)的ID信息(标识信息)以及地址和控制信号。图3中的R通道表示的是读数据通道,该通道会返回cmd所对对应的data(数据),并带有ID信息,可以和控制信号一一匹配。根据ID信息即可将读地址通道的命令和读数据通道的数据进行对应。其中,cmd还包括数据读写使能,读写地址,传输位宽,传输个数等信息。data还包括数据总线传输内容。图中圆圈内具有数字表明是第
几笔cmd信息发出,方块中具有数据表明是第几笔data返回。如图中①表示第一笔cmd信息发出,方块中的1表示第一笔操作回来的data^clk是时钟。图中圆圈到方块中间的弧线表示的是延时cycle数(时钟周期个数);以此就可以统计整体延时信息,从而对IP性能进行评估。在应用本发明方法时,当第一笔cmd信息发出时,步骤S101开始记录cycle数,直到第一笔data返回,在步骤S102得到延迟时间,可以在步骤S103记录下来。并返回步骤S101,再次进行检测,此时总线的命令可以已经发到第三笔,如图3中,第二笔cmd信息发出的时间处在第一笔cmd信息与第一笔data之间,则本发明方法即开始检测第三笔cmd信息。本发明在检测的时候,可能存在一两笔cmd信息并未记录,但是对于总线上一个发出多个命令来说,这一两笔cmd信息对整体的结果影响不大。特别是在多次测试后,基本上可以用本发明方法得到准确的性能数据,而本发明所需的代价和资源确是十分小的,这样实现的本发明方法的电路的面积小,易于集成,集成后的S0C可以降低S0C面积和功耗。
[0032]以及本发明还提供一种总线性能分析装置,可以通过有限状态机和控制逻辑来实现,如图4所示,包括如下模块:
[0033]读写命令模块301和性能统计模块302,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块303,其中:初始化模块:用于初始化各个状态、模块并初始化性能分析条件给性能统计模块;读写命令模块:用于与总线连接并发送读写命令到总线上;性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身。本发明中性能统计模块在每处理完一笔命令信息后,就会重新使能自身进入下一笔命令信息的处理,这样本发明的性能统计模块按顺序只进行单笔的命令处理,相对于现有要处理多笔命令的实现方式,本发明的实现方式所占用的资源更小,实现更为简单。
[0034]性能分析条件即为总线性能分析所需的条件,在本发明中,所述性能分析条件包括最大延迟时间和平均延迟时间。可以根据最大延迟时间和平均延迟时间来评估总线的性會泛。
[0035]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0036]本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、R0M、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0037]上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0038]这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0039]这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0040]尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
【主权项】
1.一种总线性能分析方法,其特征在于,包括如下步骤: 地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时; 数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间; 时间记录步骤:记录延迟时间并返回地址检测步骤。2.根据权利要求1所述的总线性能分析方法,其特征在于, 所述地址检测步骤中“开始计时”包括开始计算时钟周期个数; 所述数据检测步骤中“停止计时,得到延迟时间”包括停止计算时钟周期个数,根据时钟周期的个数和时钟周期的时间的乘积得到延迟时间。3.根据权利要求1所述的总线性能分析方法,其特征在于: 所述时间记录步骤在记录延迟时间时,判断该延迟时间是否大于最大延迟时间,如果是则将该延迟时间记录为最大延迟时间,并返回地址检测步骤,否则返回地址检测步骤。4.根据权利要求1所述的总线性能分析方法,其特征在于: 所述时间记录步骤在记录延迟时间时,计算该延迟时间与平均延迟时间的算术平均值为新的平均延迟时间并返回地址检测步骤。5.根据权利要求1所述的总线性能分析方法,其特征在于: 所述总线为AXI总线;则在地址检测步骤检测读地址通道有一笔命令信息发出时记录该命令信号对应的标识信息;在数据检测步骤通过检测标识信息来检测读数据通道有该笔命令信息返回的数据信息。6.一种总线性能分析装置,其特征在于,包括如下模块: 读写命令模块和性能统计模块,所述读写命令模块和性能统计模块连接,性能统计模块包含有初始化模块,其中: 初始化模块:用于初始化各个状态、模块并初始化性能分析条件给性能统计模块; 读写命令模块:用于与总线连接并发送读写命令到总线上; 性能统计模块:用于检测读地址通道有一笔命令信息发出时开始计时,检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间,记录延迟时间并根据性能分析条件分析性能状态,而后重新使能性能统计模块自身。7.根据权利要求6所述的一种总线性能分析装置,其特征在于,所述性能分析条件包括最大延迟时间和平均延迟时间。
【专利摘要】本发明公开一种总线性能分析方法和装置,其中方法包括如下步骤:地址检测步骤:检测读地址通道有一笔命令信息发出时开始计时;数据检测步骤:检测读数据通道有该笔命令信息返回的数据信息时停止计时,得到延迟时间;时间记录步骤:记录延迟时间并返回地址检测步骤。本技术方案通过检测每一个延时后,并在检测完毕后进行下一个检测,这样所需要的存储空间小,消耗的代价小,在实现的时候可以降低性能分析模块逻辑的面积和复杂度。
【IPC分类】G06F11/26
【公开号】CN105487953
【申请号】CN201510818459
【发明人】郑天翼
【申请人】福州瑞芯微电子股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月23日