CN117493246A - 一种总线延时的确定方法、装置、设备及存储介质 - Google Patents
一种总线延时的确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117493246A CN117493246A CN202311542254.1A CN202311542254A CN117493246A CN 117493246 A CN117493246 A CN 117493246A CN 202311542254 A CN202311542254 A CN 202311542254A CN 117493246 A CN117493246 A CN 117493246A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- bus
- timestamp
- event
- identifier
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 16
- 230000001934 delay Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4054—Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种总线延时的确定方法、装置、设备及存储介质,所述方法包括:获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,将第一时间戳与第一标识存入同一个存储单元中;其中,存储单元的个数与总线传输能力匹配且各存储单元保持设定排序;获取出栈事件,根据与出栈事件对应的第二标识在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元;提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。本发明提供的总线延时的确定方法,通过分别存储每个入栈事件对应的标识与时间戳,可以快速有效地记录所有标识对应的总线延时,并节省硬件开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种总线延时的确定方法、装置、设备及存储介质。
背景技术
在芯片设计过程中,需要先建立好模块之间的逻辑互联关系,再基于逻辑互联关系建立物理连接。由于布局布线方式的不同,不同模块之间不同连线之间的距离和类型均可能存在差异,尤其是在距离过长时,直接按照逻辑互联的方式建立模块之间的连接,会影响两个互联模块之间的时序(timing)性能,因此通常需要对互联的两个模块互联的总线进行延时调整,来优化两个互联模块之间的时序。
AXI(Advanced eXtensible Interface)总线是其中一种类型的芯片互联总线,AXI总线广泛应用于现代SOC芯片中。AXI总线是高速总线,数据吞吐量大、速度快、频率高,因此对时序要求非常高,并且设计者总希望通过采用AXI总线获得更高的带宽。AXI中信号数量大、部分信号宽度大,导致AXI信号线总数量非常多。因此需要一种高效的方法对AXI总线的读/写通道的每个ID对应的读/写数据与其读/写指令之间的延时进行统计。
发明内容
本发明提供了一种总线延时的确定方法、装置、设备及存储介质,以实现对AXI总线的读/写通道的每个ID对应的读/写数据与其读/写指令之间的延时进行统计。
根据本发明的一方面,提供了一种总线延时的确定方法,包括:
获取入栈事件,提取与所述入栈事件对应的第一时间戳与第一标识,将所述第一时间戳与所述第一标识存入同一个存储单元中;其中,所述存储单元的个数与总线传输能力匹配且各所述存储单元保持设定排序;
获取出栈事件,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,得到存储的第一标识与所述第二标识一致的目标存储单元;
提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时。
进一步地,所述总线延时包括写通道延时和读通道延时。
进一步地,将所述第一时间戳与所述第一标识存入同一个存储单元中,包括:
根据各所述存储单元的排序,将各所述存储单元中存储的数据依次移位到后一个所述存储单元中;
将所述第一时间戳与所述第一标识存入排序第一的所述存储单元中。
进一步地,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,包括:
根据各所述存储单元的排序,从排序最后的存储单元开始,根据与所述出栈事件对应的第二标识按倒序在各所述存储单元中查找。
进一步地,提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳之后,还包括:
释放所述目标存储单元的存储空间,并重新分布各所述存储单元中存储的数据。
进一步地,重新分布各所述存储单元中存储的数据,包括:
根据各所述存储单元的排序,将所述目标存储单元之后的各所述存储单元中存储的数据依次移位到前一个所述存储单元中。
进一步地,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时之后,还包括:
若所述总线延时大于设定延时阈值,则向总线中断控制器发出中断请求。
根据本发明的另一方面,提供了一种总线延时的确定装置,包括:
第一时间戳与第一标识存储模块,用于获取入栈事件,提取与所述入栈事件对应的第一时间戳与第一标识,将所述第一时间戳与所述第一标识存入同一个存储单元中;其中,所述存储单元的个数与总线传输能力匹配且各所述存储单元保持设定排序;
第二标识查找模块,用于获取出栈事件,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,得到存储的第一标识与所述第二标识一致的目标存储单元;
总线延时确定模块,用于提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时。
可选的,所述总线延时包括写通道延时和读通道延时。
可选的,第一时间戳与第一标识存储模块还用于:
根据各所述存储单元的排序,将各所述存储单元中存储的数据依次移位到后一个所述存储单元中;
将所述第一时间戳与所述第一标识存入排序第一的所述存储单元中。
可选的,第二标识查找模块还用于:
根据各所述存储单元的排序,从排序最后的存储单元开始,根据与所述出栈事件对应的第二标识按倒序在各所述存储单元中查找。
可选的,装置还包括数据重分布模块,用于释放所述目标存储单元的存储空间,并重新分布各所述存储单元中存储的数据。
可选的,数据重分布模块还用于:
根据各所述存储单元的排序,将所述目标存储单元之后的各所述存储单元中存储的数据依次移位到前一个所述存储单元中。
可选的,装置还包括中断请求发送模块,用于在所述总线延时大于设定延时阈值时,向总线中断控制器发出中断请求。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的总线延时的确定方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的总线延时的确定方法。
本发明公开的总线延时的确定方法,首先获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,将第一时间戳与第一标识存入同一个存储单元中;其中,存储单元的个数与总线传输能力匹配且各存储单元保持设定排序;然后获取出栈事件,根据与出栈事件对应的第二标识在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元;最后提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。本发明提供的总线延时的确定方法,通过分别存储每个入栈事件对应的标识与时间戳,并根据出栈事件对应的表述查找已存的时间戳,可以快速有效地记录所有标识对应的总线延时,并节省硬件开销。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种总线延时的确定方法的流程图;
图2是根据本发明实施例一提供的一种存储单元的结构示意图;
图3是根据本发明实施例二提供的一种总线延时的确定方法的流程图;
图4为根据本发明实施例三提供的一种总线延时的确定装置的结构示意图;
图5是实现本发明实施例四的总线延时的确定方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种总线延时的确定方法的流程图,本实施例可适用于对芯片总线的时延进行统计的情况,该方法可以由总线延时的确定装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可配置于电子设备中。如图1所示,该方法包括:
S110、获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,将第一时间戳与第一标识存入同一个存储单元中。
其中,入栈事件(push_event)可以是向一个栈中插入新元素的事件,第一时间戳即入栈事件到来时对应的时间戳(timestamp),同时,Axi总线每一个传输都有一个标识(id),第一标识即入栈事件的数据传输标识。
在本实施例中,每当获取到一个入栈事件时,就将此时的timestamp和id存入一个存储单元。
进一步地,存储单元的个数与总线传输能力(outstanding)匹配且各存储单元保持设定排序。其中,如果总线outstanding能力为N>1的话,则对于读/写操作,可以连续发N个读/写数据命令,这期间如果读/写数据没有返回,则需要等待读/写数据返回,如果有读/写数据返回,则返回了几个,那么仍然可以接着发几个。也就是说,“在路上”的读/写命令(或者读/写数据)最多可以是N。
例如,总线outstanding能力为64,则可以取64个存储单元,每个存储单为15bit,其中bit0~bit4为标识信息,bit5~bit14为时间戳信息。图2是本实施例提供的一种存储单元的结构示意图,如图所示,U0~U63为64个存储单元,在每个存储单元中,bit0~bit4用于存储标识信息,bit5~bit14用于存储时间戳信息。
S120、获取出栈事件,根据与出栈事件对应的第二标识在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元。
其中,出栈事件(pop_event)可以是从一个栈中删除元素的事件,同样的,第二标识即出栈事件的数据传输标识。
在本实施例中,每当获取到一个出栈事件时,根据该事件的标识(id)去查找各个存储单元,若某一存储单元中存储的时间戳(timestamp)和标识(id)与出栈事件对应的id一致,则将该存储单元确定为目标存储单元。
S130、提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。
其中,总线延时包括写通道延时和读通道延时。第二时间戳即出栈事件到来时对应的时间戳,目标时间戳即目标存储单元中存储的时间戳。
在本实施例中,由于Axi协议分为五个通道,分别为写数据通道、写指令通道、写响应通道、读指令通道和读数据通道,写数据即数据通道上传输的内容,写指令即写指令通道上传输的内容,相应的,写通道延时就是统计写指令和它对应的写响应之间的时间差,读通道延时就是统计读指令和它对应的读数据之间的时间差。
优选地,确定目标存储单元后,可以将目标存储单元中的目标时间戳提取出来,然后对第二时间戳与目标时间戳进行减法计算,得到的差值即id对应的数据与指令之间的总线延时(latency)。
进一步地,将第二时间戳与目标时间戳之差确定为总线延时之后,还包可以:
若总线延时大于设定延时阈值,则向总线中断控制器发出中断请求。
优选地,可以利用寄存器预先设定一个延时阈值,若与入栈出栈事件对应的标识(id)位宽为5bit,则共可能出现32个不同的id,相应的,需要32个寄存器来保存所有id的延时信息。减法计算得到latency后,若latency大于寄存器中设定的延时阈值,则可以给出中断,令CPU进入中断处理函数调整总线延时策略。
本发明实施例公开的总线延时的确定方法,首先获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,将第一时间戳与第一标识存入同一个存储单元中;其中,存储单元的个数与总线传输能力匹配且各存储单元保持设定排序;然后获取出栈事件,根据与出栈事件对应的第二标识在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元;最后提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。本发明实施例提供的总线延时的确定方法,通过分别存储每个入栈事件对应的标识与时间戳,并根据出栈事件对应的表述查找已存的时间戳,可以快速有效地记录所有标识对应的总线延时,并节省硬件开销。
实施例二
图3为本发明实施例二提供的一种总线延时的确定方法的流程图,本实施例为上述实施例的特征细化与追加。如图3所示,该方法包括:
S210、获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识。
在本实施例中,每当获取到一个入栈事件时,可以提取该事件到来时对应的时间戳(timestamp)与数据传输标识(id)。
S220、根据各存储单元的排序,将各存储单元中存储的数据依次移位到后一个存储单元中,将第一时间戳与第一标识存入排序第一的存储单元中。
其中,存储单元的个数与总线传输能力匹配且各存储单元保持设定排序。
在本实施例中,得到第一时间戳与第一标识后,可以将各存储单元中原本存储的数据依次后移,令排序第一的存储单元空闲,并将第一时间戳与第一标识存入其中。
例如,若有U0~U63 64个存储单元,则将U0~U62中的数据依次移位给U1~U63,将得到的第一时间戳与第一标识存入U0。
S230、获取出栈事件,根据各存储单元的排序,从排序最后的存储单元开始,根据与出栈事件对应的第二标识按倒序在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元。
在本实施例中,每当获取到一个出栈事件时,可以根据该事件对应的第二标识,从最后一个有效存储单元(即存储了标识信息和时间戳信息的存储单元)开始,按照各存储单元的排序倒序查找,直到找到目标存储单元,其中,目标存储单元中存储的第一标识与第二标识一致。
例如,对于U0~U63 64个存储单元,U30为最后一个有效存储单元,则从U30开始依次往前查找,若U5中存储的标识与获取到的出栈事件对应的标识一致,则U5为目标存储单元。
S240、提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。
在本实施例中,确定目标存储单元后,可以将目标存储单元中的目标时间戳提取出来,然后对第二时间戳与目标时间戳进行减法计算,得到的差值即id对应的数据与指令之间的总线延时(latency)。
进一步地,提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳之后,还可以:释放目标存储单元的存储空间,并重新分布各存储单元中存储的数据。
在本实施例中,目标存储单元中存储的时间戳与标识被取出后,该存储单元的存储单元即可被释放,以便重新存入其他数据。
可选的,重新分布各存储单元中存储的数据的方式可以是:根据各存储单元的排序,将目标存储单元之后的各存储单元中存储的数据依次移位到前一个存储单元中。
例如,若有U0~U63 64个存储单元,U5为目标存储单元,则将U6~U63中的数据依次移位给U5~U62。
进一步地,在延时计算中总共需处理以下三种场景:
(1)某拍只获取到入栈事件,则根据各存储单元的排序,将各存储单元中存储的数据依次移位到后一个存储单元中,将第一时间戳与第一标识存入排序第一的存储单元中。
(2)某拍只获取到出栈事件,则查找目标存储单元,根据各存储单元的排序,将目标存储单元之后的各存储单元中存储的数据依次移位到前一个存储单元中。
(3)某拍同时获取到入栈事件和出栈事件,则查找目标存储单元,根据各存储单元的排序,将目标存储单元之前的各存储单元中存储的数据依次移位到后一个存储单元,目标存储单元之后的各存储单元中存储的数据保持不变,将第一时间戳与第一标识存入排序第一的存储单元中。
本发明实施例公开的总线延时的确定方法,首先获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,然后根据各存储单元的排序,将各存储单元中存储的数据依次移位到后一个存储单元中,将第一时间戳与第一标识存入排序第一的存储单元中,再获取出栈事件,根据各存储单元的排序,从排序最后的存储单元开始,根据与出栈事件对应的第二标识按倒序在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元,最后提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。本发明实施例提供的总线延时的确定方法,通过分别存储每个入栈事件对应的标识与时间戳,并根据出栈事件对应的表述查找已存的时间戳,可以快速有效地记录所有标识对应的总线延时,并且实现通过对存储单元的复用,节省了硬件开销。
实施例三
图4为本发明实施例三提供的一种总线延时的确定装置的结构示意图。如图4所示,该装置包括:第一时间戳与第一标识存储模块310,第二标识查找模块320和总线延时确定模块330。
第一时间戳与第一标识存储模块310,用于获取入栈事件,提取与入栈事件对应的第一时间戳与第一标识,将第一时间戳与第一标识存入同一个存储单元中;其中,存储单元的个数与总线传输能力匹配且各存储单元保持设定排序。
第二标识查找模块320,用于获取出栈事件,根据与出栈事件对应的第二标识在各存储单元中查找,得到存储的第一标识与第二标识一致的目标存储单元。
总线延时确定模块330,用于提取与出栈事件对应的第二时间戳及目标存储单元中存储的目标时间戳,将第二时间戳与目标时间戳之差确定为总线延时。
可选的,总线延时包括写通道延时和读通道延时。
可选的,第一时间戳与第一标识存储模块310还用于:
根据各存储单元的排序,将各存储单元中存储的数据依次移位到后一个存储单元中;将第一时间戳与第一标识存入排序第一的存储单元中。
可选的,第二标识查找模块320还用于:
根据各存储单元的排序,从排序最后的存储单元开始,根据与出栈事件对应的第二标识按倒序在各存储单元中查找。
可选的,装置还包括数据重分布模块340,用于释放目标存储单元的存储空间,并重新分布各存储单元中存储的数据。
可选的,数据重分布模块340还用于:
根据各存储单元的排序,将目标存储单元之后的各存储单元中存储的数据依次移位到前一个存储单元中。
可选的,装置还包括中断请求发送模块350,用于在总线延时大于设定延时阈值时,向总线中断控制器发出中断请求。
本发明实施例所提供的总线延时的确定装置可执行本发明任意实施例所提供的总线延时的确定方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如总线延时的确定方法。
在一些实施例中,总线延时的确定方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的总线延时的确定的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行总线延时的确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种总线延时的确定方法,其特征在于,包括:
获取入栈事件,提取与所述入栈事件对应的第一时间戳与第一标识,将所述第一时间戳与所述第一标识存入同一个存储单元中;其中,所述存储单元的个数与总线传输能力匹配且各所述存储单元保持设定排序;
获取出栈事件,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,得到存储的第一标识与所述第二标识一致的目标存储单元;
提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时。
2.根据权利要求1所述的方法,其特征在于,所述总线延时包括写通道延时和读通道延时。
3.根据权利要求1所述的方法,其特征在于,将所述第一时间戳与所述第一标识存入同一个存储单元中,包括:
根据各所述存储单元的排序,将各所述存储单元中存储的数据依次移位到后一个所述存储单元中;
将所述第一时间戳与所述第一标识存入排序第一的所述存储单元中。
4.根据权利要求1所述的方法,其特征在于,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,包括:
根据各所述存储单元的排序,从排序最后的存储单元开始,根据与所述出栈事件对应的第二标识按倒序在各所述存储单元中查找。
5.根据权利要求1所述的方法,其特征在于,提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳之后,还包括:
释放所述目标存储单元的存储空间,并重新分布各所述存储单元中存储的数据。
6.根据权利要求5所述的方法,其特征在于,重新分布各所述存储单元中存储的数据,包括:
根据各所述存储单元的排序,将所述目标存储单元之后的各所述存储单元中存储的数据依次移位到前一个所述存储单元中。
7.根据权利要求1所述的方法,其特征在于,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时之后,还包括:
在所述总线延时大于设定延时阈值时,向总线中断控制器发出中断请求。
8.一种总线延时的确定装置,其特征在于,包括:
第一时间戳与第一标识存储模块,用于获取入栈事件,提取与所述入栈事件对应的第一时间戳与第一标识,将所述第一时间戳与所述第一标识存入同一个存储单元中;其中,所述存储单元的个数与总线传输能力匹配且各所述存储单元保持设定排序;
第二标识查找模块,用于获取出栈事件,根据与所述出栈事件对应的第二标识在各所述存储单元中查找,得到存储的第一标识与所述第二标识一致的目标存储单元;
总线延时确定模块,用于提取与所述出栈事件对应的第二时间戳及所述目标存储单元中存储的目标时间戳,将所述第二时间戳与所述目标时间戳之差确定为所述总线延时。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的总线延时的确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的总线延时的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542254.1A CN117493246A (zh) | 2023-11-17 | 2023-11-17 | 一种总线延时的确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542254.1A CN117493246A (zh) | 2023-11-17 | 2023-11-17 | 一种总线延时的确定方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117493246A true CN117493246A (zh) | 2024-02-02 |
Family
ID=89672478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311542254.1A Pending CN117493246A (zh) | 2023-11-17 | 2023-11-17 | 一种总线延时的确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493246A (zh) |
-
2023
- 2023-11-17 CN CN202311542254.1A patent/CN117493246A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
CN105681222A (zh) | 一种数据接收缓存方法、装置及通信系统 | |
CN117009283A (zh) | 一种多核多芯片数据处理方法、装置、芯片及存储介质 | |
CN117493246A (zh) | 一种总线延时的确定方法、装置、设备及存储介质 | |
CN116303141A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN114564149B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
KR102326892B1 (ko) | 적응형 트랜잭션 처리 방법 및 이를 위한 장치 | |
CN114707651A (zh) | 一种规约运算的拓扑选择方法、装置、设备及介质 | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
CN116107763B (zh) | 一种数据发送方法、装置、设备及存储介质 | |
CN116166605B (zh) | 数据混合传输方法、装置、dma控制器、介质及系统 | |
CN117632167A (zh) | 基于PCIe总线的FPGA并行升级方法、装置、设备和介质 | |
CN116431561B (zh) | 基于异构众核加速卡的数据同步方法、装置、设备及介质 | |
CN117539840B (zh) | 一种日志获取方法、装置、设备及介质 | |
CN117033271A (zh) | 基于累加传输的中断触发方法、装置、芯片及存储介质 | |
CN114553894B (zh) | 数据同步方法、装置、系统及存储介质 | |
CN114785631B (zh) | 通信协议栈复用方法、通信方法、计算机设备及介质 | |
CN117112162B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN117472823A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN118055068A (zh) | 基于dpdk的报文处理方法、装置、设备和介质 | |
CN116599896A (zh) | 片上网络noc验证中的多通道通信方法、装置和设备 | |
CN117420778A (zh) | 一种通道切换方法、装置、设备及存储介质 | |
CN117112162A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN114924882A (zh) | 一种分布式业务处理方法、装置、设备及存储介质 | |
CN116881368A (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 |