CN115080482B - 独立式仲裁方法及相关装置 - Google Patents
独立式仲裁方法及相关装置 Download PDFInfo
- Publication number
- CN115080482B CN115080482B CN202210616973.2A CN202210616973A CN115080482B CN 115080482 B CN115080482 B CN 115080482B CN 202210616973 A CN202210616973 A CN 202210616973A CN 115080482 B CN115080482 B CN 115080482B
- Authority
- CN
- China
- Prior art keywords
- client
- path delay
- arbiter
- path
- delay
- 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
- 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/4031—Coupling between buses using bus bridges with arbitration
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种独立式仲裁方法,适用于仲裁器,包括:获取客户端发送的包括客户端标识的数据发送请求;并生成待发送至客户端的允许数据发送信号和允许数据发送信号的发送原始时隙;当在仲裁器的路径时延信息中查找到客户端标识,且各个在先路径时延均在仲裁器的路径时延信息中时,获取发送允许数据发送信号的当前输出时延,当前输出时延与客户端的路径时延之和等于当前允许最大路径时延,在先路径时延包括在先数据发送请求所对应的客户端的路径时延;根据当前输出时延调整发送原始时隙,获取发送允许数据发送信号的发送输出时隙;当达到该发送输出时隙时,向客户端发送允许数据发送信号。本申请提供的独立式仲裁方法,可以避免竞争冲突的产生。
Description
技术领域
本发明实施例涉及集成电路技术领域,具体涉及一种独立式仲裁方法及相关装置。
背景技术
总线或者端口,是一种可以为多个客户端(Client)提供分时共享的公共传输通路,当多个客户端同时请求访问同一总线或者端口时即存在竞争冲突,此时需要在多个客户端的请求之间按照一定的规则进行选择,这个选择的过程即为仲裁的过程,完成这个功能的逻辑器件称作仲裁器(Arbiter),仲裁的种类可以分为分布式仲裁和集中式仲裁,独立式仲裁是现有广泛使用的集中式仲裁方案。
为避免冲突,现有普遍使用的独立式仲裁,均要求所有客户端的数据到达仲裁器指向的端口(或总线)的路径时延均相同,如果不同就有可能造成上述竞争冲突,但在真实芯片的布局中,由于不同的客户端可能位于不同的物理位置,导致不同客户端到达仲裁器指向的端口的路径时延有可能不同,在这种情况下,不仅很有可能会导致竞争冲突的产出,而且给芯片的物理布局造成很大的约束。
因此,如何保证在芯片合理布局的同时,避免竞争冲突的产生就成为本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供的独立式仲裁方法,可以保证在芯片合理布局的同时,避免竞争冲突的产生。
为实现上述目的,本申请实施例提供如下技术方案。
第一方面,本申请实施例提供一种独立式仲裁方法,适用于仲裁器,包括:
获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;
根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延;
根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;
当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
第二方面,本申请实施例提供一种仲裁器,包括:
调度电路,适于对获取的客户端发送的数据发送请求进行调度,生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
时延处理器,适于存储所述仲裁器的路径时延信息;
输出控制器,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙,且当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延。
第三方面,本申请实施例提供一种独立式仲裁装置,适用于仲裁器,包括:
数据发送请求获取模块,适于获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;
信号生成模块,适于根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
当前输出时延获取模块,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延;
数据发送信号的输出时隙获取模块,适于根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;
允许数据发送信号发送模块,适于当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
第四方面,本申请实施例提供一种电子设备,包括如第二方面任一项所述的仲裁器或如第三方面任一项所述的独立式仲裁装置。
本申请实施例提供的独立式仲裁方法,适用于仲裁器,在进行仲裁时,首先获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;接着根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延;然后根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;最后当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。这样,本申请实施例提供的独立式仲裁方法,首先根据数据发送请求进行仲裁,生成待发送至所述客户端的允许数据发送信号的发送原始时隙,接着基于仲裁器的路径时延信息,获取允许数据发送信号的当前输出时延,然后根据所述当前输出时延调整所述发送原始时隙,得到发送所述允许数据发送信号的发送输出时隙,由于用于对发送原始时隙进行调整的当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此使得所有客户端的数据到达仲裁器指向的端口的路径时延对齐到了当前允许最大路径时延,使得所有客户端的数据到达仲裁器指向的端口的路径时延为所允许的最大路径时延,所以根据调整后的发送输出时隙发送允许数据发送信号后,可以保证位于芯片不同物理位置的客户端发送的数据到达仲裁器指向的端口时不会产出冲突,可见,本申请实施例提供的独立式仲裁方法可以保证在芯片合理布局的同时,避免竞争冲突的产生。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有仲裁器独立式仲裁流程示意图;
图2为两个客户端数据产生竞争冲突的示意图;
图3为本申请实施例提供的独立式仲裁方法的一流程示意图;
图4为本申请实施例提供的仲裁器的一结构示意图;
图5为本申请实施例提供的独立式仲裁装置的一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
总线或者端口,是一种可以为多个客户端(Client)提供分时共享的公共传输通路,当多个客户端同时请求访问同一总线或者端口时即存在竞争冲突,此时需要在多个客户端的请求之间按照一定的规则进行选择,这个选择的过程即为仲裁的过程,完成这个功能的逻辑器件称作仲裁器(Arbiter),仲裁的种类可以分为分布式仲裁和集中式仲裁,独立式仲裁是现有广泛使用的集中式仲裁方案。
请参考图1,图1为现有仲裁器独立式仲裁流程示意图。
如图1所示,现有仲裁器独立式仲裁中,同一个仲裁器包括多个客户端,具体为客户端0、客户端1、客户端2,......,客户端n,所有客户端的数据发送请求(req)统一发送到仲裁器进行仲裁选择,其流程可分为三步:
1、客户端发送数据发送请求(req)到仲裁器,告知仲裁器有数据需要发送;
2、仲裁器在收到客户端的数据发送请求(req)后,基于仲裁规则(仲裁规则根据应用场景的不同而异,一般为提前设定)仲裁后,将允许数据发送信号(grant)直接返回给对应的客户端,告知其可以发送数据了;
3、客户端收到允许数据发送信号(grant)后,将数据(data)发送到仲裁器,进而传输至对应的端口(或总线)。
为避免冲突,现有普遍使用的独立式仲裁,均要求所有客户端的数据到达仲裁器指向的端口(或总线)的路径时延均相同,再加上仲裁器将允许数据发送信号(grant)返回给对应的客户端的发送原始时隙,从而保证数据传输到对应的端口(或总线)的时候不会发生冲突,而如果路径时延不同就有可能造成竞争冲突。
请参考图2,图2为两个客户端数据产生竞争冲突的示意图。
由图2可知,例如:客户端1的路径时延为m+1,客户端2的路径时延为m,仲裁器在经过仲裁后得到的发送原始时隙N向客户端1发送允许数据发送信号(grant),在经过仲裁后得到的发送原始时隙N+1向客户端2发送允许数据发送信号(grant),当客户端1和客户端2接收到仲裁器发送的允许数据发送信号(grant)后,向仲裁器(也可以为仲裁器指向的端口,本文以仲裁器指向的端口进行说明)发送数据,客户端1的数据经过路径时延m+1到达仲裁器指向的端口,到达的时刻为N+m+1,而客户端2的数据经过路径时延m到达仲裁器指向的端口,到达的时刻为N+1+m,可见,两个客户端的数据到达仲裁器指向的端口的时刻相同,也就会产出竞争冲突。
为克服现有技术的缺点,需要设置芯片的各个客户端的路径时延相同,这样当加上不同的发送原始时隙后,就会在不同的时刻到达仲裁器指向的端口,避免竞争冲突的发生。
然而,为了保证芯片的各个客户端的路径时延相同,就会对芯片的布局造成挑战,影响芯片的合理布局。
为了解决前述问题,本申请实施例提供一种独立式仲裁方法,以保证在芯片合理布局的同时,避免竞争冲突的产生。
为方便理解本申请实施例所提供的独立式仲裁方法,请参考图3,图3为本申请实施例提供的独立式仲裁方法的一流程示意图。
如图3所示,本申请实施例所提供的独立式仲裁方法,适用于仲裁器,包括:
在步骤S30中:获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识。
容易理解的是,在仲裁前,仲裁器首先要获取客户端发送的数据发送请求,当然,仲裁器还需要将仲裁后的允许数据发送信号发送至对应的客户端,因此,在客户端发送的数据发送请求中包含该客户端的客户端标识。
在一种具体实施方式中,为了提高效率,提高进行仲裁的数据发送请求的质量,还可以对客户端发送的数据发送请求进行过滤处理:
具体地,获取客户端发送的数据发送请求的步骤可以包括:
获取客户端发送的原始数据发送请求;
对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
首先获取客户端发送的原始数据发送请求,当获取到客户端发送的原始数据发送请求后,根据预先设定的质量要求,对客户端所发送的原始数据发送请求进行过滤,将不满足质量要求的原始数据发送请求过滤掉,只保留满足质量要求的数据发送请求,得到过滤后的客户端所发送的数据发送请求。
可见,本申请实施例所提供的独立式仲裁方法,在获取数据发送请求时,通过对客户端所发送的原始数据发送请求进行过滤,可以获取到满足质量要求的客户端发送的数据发送请求,方便后续的处理。
步骤S31:根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙。
仲裁器获取到满足质量要求的客户端发送的数据发送请求之后,会根据数据发送请求,生成待发送至所述客户端的允许数据发送信号,即前述的grant信号,并生成允许数据发送信号的发送原始时隙。
由于按照发送原始时隙发送允许数据发送信号时,有可能会造成竞争冲突,因此,在得到允许数据发送信号和发送原始时隙后,本申请实施例所提供的独立式仲裁方法还包括:
步骤S32:判断在所述仲裁器的路径时延信息中是否查找到所述客户端标识,如果是,则执行步骤S33,如果否,则执行步骤S320。
在生成了待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙之后,首先在仲裁器的路径时延信息中查找客户端标识。
容易理解的是,仲裁器的路径时延信息是指包括通过仲裁器进行仲裁的各个客户端的路径时延的信息。
在一种实施例中,可以提前获取路径时延信息,即提前获取仲裁器的各个客户端的路径时延,后续如果有新的客户端加入,那么也会在加入后,提前获取其路径时延,可以看出,提前获取路径时延信息,在所述仲裁器的路径时延信息中能够查找所述客户端标识。
在其他实施例中,未提前获取仲裁器的路径时延信息时,可以在客户端发送数据的同时、实时获取对应客户端的路径时延,进而得到路径时延信息,在此实施例中,既包括所有的客户端的路径时延都未提前获取的情况,也包括部分客户端的路径时延已获取,但部分客户端的路径时延未获取的情况,当然,在此实施例中,仲裁器的路径时延信息在各个客户端执行完一次数据传输后就能够获取到,即在客户端首次进行数据传输时,可能会出现在所述仲裁器的路径时延信息中不能查找到所述客户端标识的情况,此时可以执行步骤S320,如果执行完一次,那么就获取到了客户端的路径时延,后续对于该客户端的数据发送请求的处理就可以按照提前获取仲裁器的路径时延信息进行处理。
当然,本申请提供的独立式仲裁方法并不限制路径时延信息获取的方法,在不同的实施例中,可以采用不同的路径时延信息的获取方法。
为了方便描述,首先介绍提前获取路径时延信息的获取方式:
在客户端传输真实需要传输的数据之前,通过专门的测试阶段,利用测试数据,专门获取路径时延信息,在测试时,每次只有一个客户端发送测试数据并获取路径时延信息,直至所有的客户端都完成路径时延信息的获取,具体步骤,包括:
获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
获取发送所述测试允许数据发送信号的测试发送时刻;
获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻;
根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
在仲裁器获取到当前客户端的测试数据发送请求之后,根据测试数据发送请求为当前客户端生成测试允许数据发送信号,容易理解的是,得到测试允许数据发送信号会即时发送测试允许数据发送信号,为了获取客户端的路径时延,在发送该测试允许数据发送信号的同时,记录发送所述测试允许数据发送信号的测试发送时刻,得到测试发送时刻;
当前客户端接收到测试允许数据发送信号时,会向仲裁器发送测试数据,经过传输后,仲裁器接收到当前客户端测试数据发送请求所对应的测试数据,与此同时,记录测试数据的测试接收时刻,得到测试接收时刻;
然后根据测试接收时刻与测试发送时刻之间的时间间隔,得到测试接收时刻与测试发送时刻之间的差值,这两个时刻的差值即为当前客户端的路径时延;
然后判断仲裁器的各个客户端是否都已经获取了路径时延,如果否,那么更换当前客户端,并继续执行前述的步骤;如果是,那么得到仲裁器的全部客户端的路径时延,从而得到所述路径时延信息。
可以看出,提前获取路径时延信息,一方面可以降低路径时延信息获取的难度,另一方面,还可以简化独立式仲裁方法的控制逻辑,无需在真实数据传输时,预留出获取路径时延信息的时间,提高具体进行仲裁时的效率,从而可以提高数据的传输效率。
由上文叙述可知,因为在测试阶段获取了仲裁器所有客户端的路径时延,因此,在路径时延信息中包括所有客户端的客户端标识,因此,在仲裁器的路径时延信息中可以查找到所需的客户端标识,因此继续执行步骤S33。
当然,在未提前获取路径时延信息时,即当发送数据发送请求的客户端为首次进行数据传输时,在仲裁器的路径时延信息中没有客户端标识,获取路径时延信息具体的操作请参考步骤S320的描述。
路径时延信息中所包括的具体内容,可以根据具体的后续对于当前输出时隙的获取方式进行设置,具体可以参考步骤S34的描述。
步骤S33:确定各个在先路径时延是否均在所述仲裁器的路径时延信息中,如果是则执行步骤S34,如果否,则执行步骤S330。
如果在仲裁器的路径时延信息中找到了客户端标识,说明能够获取到对应客户端的路径时延,能够为后续的发送输出时隙的获取做准备。
需要说明的是,在先路径时延是指在当前数据发送请求之前获取的在先数据发送请求所对应的各个客户端的路径时延。
容易理解的是,如果前述的仲裁器的路径时延信息是提前获取的,那么各个在先路径时延均在所述仲裁器的路径时延信息中,执行步骤S34。
然而,在未提前获取路径时延信息时,由于在当前正在处理的数据发送请求之前的数据发送请求可能是未获取路径时延的客户端,且其正在数据传输过程中,即某一个客户端的在先路径时延还未获取,在此情况下,如果直接对当前正在处理的数据发送请求进行后续处理,可能会导致与在先路径时延的冲突,因此,为了避免前述情况的发生,还需要确定各个在先路径时延是否均在所述仲裁器的路径时延信息中,如果在,则执行步骤S34,否则执行步骤S330。
步骤S330:等待获取各所述在先路径时延。
当在先路径时延均在所述仲裁器的路径时延信息中存在时,表示仲裁器的数据传输路径上没有客户端正在获取路径时延,可以执行步骤S34,如果在所述仲裁器的路径时延信息中不能找到全部的在先路径时延时,表示仲裁器的数据传输路径上有客户端正在获取路径时延,执行步骤S330,等待获取各所述在先路径时延。
在确定了各个在先路径时延均在所述仲裁器的路径时延信息中时,可以保证仲裁器客户端传输数据的时候,传输数据的路径上不再有正在获取路径时延的客户端,保证了各个客户端之间不会产生冲突。
步骤S34:获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延。
在根据数据发送请求生成待发送至所述客户端的允许数据发送信号和允许数据发送信号的发送原始时隙,并经过前述判断之后,接着获取发送所述允许数据发送信号的当前输出时延。
容易理解的是,在一种具体实施方式中,获取当前输出时延的步骤可以包括:
根据所述客户端标识,在所述路径时延信息中查找对应的当前输出时延,得到所述当前输出时延。
此时,在路径时延信息中可以直接包括所有客户端的客户端标识、以及各个客户端的路径时延。
如果在测试阶段获取了仲裁器所有客户端的路径时延,或者经过前期的数据传输实现了仲裁器所有客户端的路径时延的获取,在此情况下,为了方便处理,可以直接获取各个客户端的当前输出时延,保存在路径时延信息中。
当需要获取当前输出时延时,仅需要基于客户端标识,在所述路径时延信息中查找,就可以得到当前输出时延。
通过这种方式获取当前输出时延更加简单方便,无需进行过多的运算,提高处理效率。
当然,为了方便当前输出时延的获取,可以确定当前允许最大路径时延为所述仲裁器的各个客户端的路径时延中的最大路径时延,从而,仅需要调整各个客户端的当前输出时延与所述客户端的路径时延之和等于仲裁器的各个客户端的路径时延中的最大路径时延,就可以避免竞争冲突的发生,从而获取仲裁器的各个客户端的路径时延中的最大路径时延与各个客户端的路径时延的差值就可以得到各个客户端的当前输出时延,并直接保存在路径时延信息中。
将所述仲裁器的各个客户端的路径时延中的最大路径时延作为当前允许最大路径时延,可以很方便地避免竞争冲突发生。
当然,在其他实施方式中,步骤S34,获取发送所述允许数据发送信号的当前输出时延具体可以包括:
根据所述客户端标识,在所述路径时延信息中查找对应的客户端的路径时延;
获取所述当前允许最大路径时延,根据所述当前允许最大路径时延和所述客户端的路径时延,获取所述当前输出时延。
除了通过查找的方式直接获取当前输出时延,还可以通过运算的方式进行获取,为此,需要获取具体客户端的路径时延,以及当前允许最大路径时延。
在一种具体的实施方式中,路径时延信息中至少包括所有客户端的客户端标识和所有客户端的路径时延。
这样,通过计算的方式获取当前输出时延,可以根据当前允许最大路径时延的变化,及时地调整当前输出时延,使得当前输出时延更加灵活。
在一种具体实施方式中,当前允许最大路径时延可以为仲裁器的各个客户端的路径时延中的最大路径时延,路径时延信息中还可以包括最大路径时延。
那么通过获取最大路径时延与客户端的路径时延的差值,就可以获取所述当前输出时延,可以降低当前输出时延获取的复杂度。
在另一种具体实施方式中,为了减少时间的浪费,更加灵活地实现对于当前输出时延的获取,当前允许最大路径时延还可以包括所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延。
这样,每当需要获取客户端的当前输出时延时,首先确定未间断已运行的所述仲裁器的各个客户端的客户端标识,以及客户端的路径时延,然后确定其中的最大值,得到最大路径时延,然后获取客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延,与客户端的路径时延的差值,得到当前输出时延。
将客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延作为当前最大路径时延,可以充分利用时间,尽可能地缩短当前输出时延,提高数据的的传输效率。
在另一种具体实施方式中,当前允许最大路径时延包括所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延,但当其它客户端都空闲、没有数据传输时,当前允许最大路径时延就只包括所述客户端的路径时延,此时,所述客户端的路径时延即为当前允许最大路径时延,因此所述客户端的当前输出时延为零,即对所述客户端可以不做时隙的调整,直接输出,这样在带宽空闲时,可以充分利用带宽。
步骤S35:根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙。
获取到发送数据发送请求的客户端的当前输出时延后,将该客户端的当前输出时延加到该客户端数据发送请求的发送原始时隙上,就可以得到发送允许数据发送信号的发送输出时隙。
步骤S36:当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
当达到所述允许数据发送信号的发送输出时隙时,仲裁器向客户端发送所述允许数据发送信号,客户端收到允许数据发送信号后,将数据发送到仲裁器指向的端口。
为清楚说明上述步骤,现举例进行说明,请参考表1,表1为本申请提供的独立式仲裁方法的实现举例1。
表1:本申请提供的独立式仲裁方法的实现举例1
首先以客户端1和客户端2为例,说明如果不进行时隙调整,会产生竞争冲突:
客户端1:
1、客户端1的允许数据发送信号的发送原始时隙为N。
2、经过测试阶段的客户端的路径时延的获取(或者第一次数据传输过程的获取)可知,客户端1的路径时延为7。
3、客户端1的数据到达仲裁器的时间为N+7;
客户端2:
1、客户端2的允许数据发送信号的发送原始时隙为N+1。
2、经过测试阶段的客户端的路径时延的获取(或者第一次数据传输过程的获取)可知,客户端2的路径时延为6。
3、客户端2的数据到达仲裁器的时间也为N+7;
可见,如果不进行时隙调整,客户端1和客户端2在N+7时刻,会产生竞争冲突。
如图中所示,按照本申请实施例所提供的方法调整后,各个客户端的数据到达仲裁器(或者仲裁器指向的端口)的时间各不相同,不会产生竞争冲突。
以表中所示客户端2为例说明具体的调整过程:
1、客户端2的允许数据发送信号的发送原始时隙为N+1。
2、经过测试阶段的客户端的路径时延的获取(或者第一次数据传输过程的获取)可知,客户端2的路径时延为6。
3、客户端1-5中最大的路径时延为9,以所述仲裁器的各个客户端的路径时延中的最大路径时延为当前允许最大路径时延,因此当前允许最大路径时延为9。
4、因为当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此,客户端2的当前输出时延为3。
5、获取到发送数据发送请求的客户端的当前输出时延后,将该客户端的当前输出时延加到该客户端数据发送请求的发送原始时隙上,得到发送允许数据发送信号的发送输出时隙,因此,客户端2的允许数据发送信号的发送输出时隙为N+1+3=N+4。
6、当达到允许数据发送信号的发送输出时隙时,仲裁器向客户端发送所述允许数据发送信号,客户端收到允许数据发送信号后,将数据发送到仲裁器,因此,在达到允许数据发送信号的发送输出时隙N+4时,仲裁器向客户端2发送所述允许数据发送信号,客户端2收到允许数据发送信号后,
将数据发送到仲裁器,发送输出时隙N+4再加上客户端2的路径时延6,
最后客户端2的数据到达仲裁器的时间为N+10。
同理可以得到客户端1,客户端3-5的数据到达仲裁器的时间分别为N+9、N+11、N+12、N+13,相当于客户端1-5的数据到达时间为N+9、N+1+9、N+2+9、N+3+9、N+4+9、N+5+9,可见,通过对允许数据发送信号的发送输出时隙的调整,使得客户端1-5数据到达仲裁器指向的端口的路径时延都对齐到了当前允许最大路径时延9,从而使得客户端1-5的数据到达仲裁器指向的端口时不会产生冲突,并且到达顺序与仲裁器接收到的各个客户端发送数据请求的发送原始顺序相同。
当然上述示例是以所述仲裁器的各个客户端的路径时延中的最大路径时延为当前允许最大路径时延进行的说明,如果当前允许最大路径时延为所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延,请参考表2,表2为本申请提供的独立式仲裁方法的实现举例2。
表2:本申请提供的独立式仲裁方法的实现举例2
由上表可以看出:
客户端1的允许数据发送信号的发送原始时隙为N,客户端的路径时延为7,所以当前允许最大路径时延为7,客户端1的当前输出时延为0,允许数据发送信号的发送输出时隙为N+0,时隙调整后客户端数据到达时间为N+0+7。
客户端2的允许数据发送信号的发送原始时隙为N+1,客户端的路径时延为6,因此,到目前为止,仲裁器获取到的客户端的路径时延有客户端1和客户端2的路径时延,所以当前允许最大路径时延仍为7,客户端2的当前输出时延为1,允许数据发送信号的发送输出时隙为N+1+1,时隙调整后客户端数据到达时间为N+2+6=N+8=N+1+7。
客户端3的允许数据发送信号的发送原始时隙为N+2,客户端的路径时延为9,因此,到目前为止,仲裁器获取到的客户端的路径时延有客户端1、客户端2和客户端3的路径时延,所以当前允许最大路径时延为9,客户端3的当前输出时延为0,允许数据发送信号的发送输出时隙为N+2+0,时隙调整后客户端数据到达时间为N+2+9=N+11=N+2+9。
客户端4的允许数据发送信号的发送原始时隙为N+3,客户端的路径时延为3,因此,到目前为止,仲裁器获取到的客户端的路径时延有客户端1、客户端2、客户端3和客户端4的路径时延,所以当前允许最大路径时延仍为9,客户端4的当前输出时延为6,允许数据发送信号的发送输出时隙为N+3+6,时隙调整后客户端数据到达时间为N+9+3=N+12=N+3+9。
同理,客户端5的允许数据发送信号的发送原始时隙为N+4,客户端的路径时延为2,因此,到目前为止,仲裁器获取到的客户端的路径时延有客户端1、客户端2、客户端3、客户端4和客户端5的路径时延,所以当前允许最大路径时延仍为9,客户端5的当前输出时延为7,允许数据发送信号的发送输出时隙为N+4+7,时隙调整后客户端数据到达时间为N+11+2=N+13=N+4+9。
由上表中可见,客户端1-5的数据到达时间为N+0+7、N+1+7、N+2+9、N+3+9、N+4+9与第一种方法不同的是,当前允许最大路径时延为所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延,因此,通过对允许数据发送信号的发送输出时隙的调整,使得客户端1、2数据到达仲裁器指向的端口的路径时延都对齐到了当前允许最大路径时延7,而客户端3-5数据到达仲裁器指向的端口的路径时延都对齐到了当前允许最大路径时延9。
这样,本申请实施例提供的独立式仲裁方法,首先根据数据发送请求进行仲裁,生成待发送至所述客户端的允许数据发送信号的发送原始时隙,接着基于仲裁器的路径时延信息,获取允许数据发送信号的当前输出时延,然后根据所述当前输出时延调整所述发送原始时隙,得到发送所述允许数据发送信号的发送输出时隙,由于用于对发送原始时隙进行调整的当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此使得所有客户端的数据到达仲裁器指向的端口的路径时延对齐到了当前允许最大路径时延,使得所有客户端的数据到达仲裁器指向的端口的路径时延为所允许的最大路径时延,所以根据调整后的发送输出时隙发送允许数据发送信号后,可以保证位于芯片不同物理位置的客户端发送的数据到达仲裁器指向的端口时不会产出冲突,可见,本申请实施例提供的独立式仲裁方法可以保证在芯片合理布局的同时,避免竞争冲突的产生。
基于前述的介绍可知,前述各个步骤,主要基于路径时延信息提前获取的基础进行的说明,而在另一实施例中,路径时延信息可以在客户端发送数据的同时、实时获取,下面基于此种情况进行详细的描述:
请继续参考图3,在另一种具体实施方式中,本申请实施例所提供的独立式仲裁方法还可以包括:
步骤S320:确定所述仲裁器的数据传输路径上的数据是否均传输完成,如果是则执行步骤S321,如果否则等待,直至数据传输路径上的数据均传输完成之后再执行步骤S321。
当在仲裁器的路径时延信息中未查找到客户端标识时,进一步确定仲裁器的数据传输路径上的数据是否均传输完成。
这是由于如果仲裁器的数据传输路径上的数据未传输完成,因为不知道发送数据发送请求的客户端的路径时延,如果直接发送允许数据发送信号,有可能会导致竞争冲突,因此如果有客户端正在传输数据,则不能马上开始获取客户端的路径时延,需要等待,直至数据传输路径上的数据均传输完成。
步骤S321:获取发送所述允许数据发送信号的发送时刻。
当数据传输路径上的数据均传输完成时,一方面,仲裁器向客户端发送允许数据发送信号,另一方面,为了获取客户端的路径时延,需要获取发送所述允许数据发送信号的发送时刻。
步骤S322:获取接收所述数据发送请求所对应的数据的接收时刻。
当客户端接收到允许数据发送信号后,会向仲裁器发送数据,当然仲裁器会接收到当前客户端数据发送请求所对应的数据,仲裁器接收到当前客户端数据发送请求所对应的数据的同时,记录所发送数据的接收时刻。
步骤S323:根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
根据接收时刻与发送时刻之间的时间间隔,得到接收时刻与发送时刻之间的差值,这两个时刻的差值即为当前客户端的路径时延,获取到客户端的路径时延后,将该客户端的路径时延添加至仲裁器的路径时延信息中。
这样,在后续的接收到同一个客户端的数据发送请求时,就可以在仲裁器的路径时延信息中查找到对应的客户端标识。
当然,在获取当前客户端的路径时延的同时,也完成了该客户端一次数据传输的过程,所以,在完成了获取当前客户端的路径时延之后,可以重新执行步骤S30,获取新的客户端发送的数据发送请求。
可见,通过在客户端发送数据的同时,实时获取客户端的路径时延,并将客户端的路径时延添加到路径时延信息中去,可以省去在测试阶段获取路径时延信息的过程,并且当有新的客户端加入时,可以灵活地获取新的客户端的路径时延,满足发送输出时隙的调整要求。
为实现本申请所提供的独立式仲裁方法,本申请还提供一种仲裁器,请参考图4,图4为本申请实施例提供的仲裁器的一结构示意图。
由图4可知,本申请提供的仲裁器,包括:
调度电路40,适于对获取的客户端发送的数据发送请求进行调度,生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
时延处理器41,适于存储所述仲裁器的路径时延信息;
输出控制器42,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙,且当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延。
在一些实施例中,所述调度电路40,还适于获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
在一些实施例中,所述时延处理器41,还适于获取发送所述测试允许数据发送信号的测试发送时刻,以及获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻,并根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
在另一些实施例中,所述调度电路40,还适于当在所述仲裁器的路径时延信息中未查找到所述客户端标识时,确定所述仲裁器的数据传输路径上的数据均传输完成;
在另一些实施例中,所述时延处理器41,还适于在确定所述仲裁器的数据传输路径上的数据均传输完成时,获取发送所述允许数据发送信号的发送时刻,并获取接收所述数据发送请求所对应的数据的接收时刻,根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
在进一步的一些实施例中,所述时延处理器41,还适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且在先路径时延未均在所述仲裁器的路径时延信息中时,等待获取各所述在先路径时延。
本申请提供的仲裁器,还包括:
过滤器43,适于获取客户端发送的原始数据发送请求,对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
本申请提供的仲裁器,可以实现本申请所提供的独立式仲裁方法,在进行仲裁时,首先获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;接着根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延;然后根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;最后当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。这样,本申请实施例提供的独立式仲裁方法,首先根据数据发送请求进行仲裁,生成待发送至所述客户端的允许数据发送信号的发送原始时隙,接着基于仲裁器的路径时延信息,获取允许数据发送信号的当前输出时延,然后根据所述当前输出时延调整所述发送原始时隙,得到发送所述允许数据发送信号的发送输出时隙,由于用于对发送原始时隙进行调整的当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此使得所有客户端的数据到达仲裁器指向的端口的路径时延对齐到了当前允许最大路径时延,使得所有客户端的数据到达仲裁器指向的端口的路径时延为所允许的最大路径时延,所以根据调整后的发送输出时隙发送允许数据发送信号后,可以保证位于芯片不同物理位置的客户端发送的数据到达仲裁器指向的端口时不会产出冲突,可见,本申请实施例提供的独立式仲裁方法可以保证在芯片合理布局的同时,避免竞争冲突的产生。
本申请实施例还提供一种独立式仲裁装置,该装置可以认为是为实现本申请实施例提供的独立式仲裁方法所需设置的功能模块。
请参考图5,图5为本申请实施例提供的独立式仲裁装置的一结构示意图。
如图5所示,本申请实施例提供的独立式仲裁装置适用于仲裁器,包括:
数据发送请求获取模块50,适于获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;
信号生成模块51,适于根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
当前输出时延获取模块52,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延;
数据发送信号的输出时隙获取模块53,适于根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;
允许数据发送信号发送模块54,适于当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
在一些实施例中,本申请提供的独立式仲裁装置,路径时延信息通过路径时延获取模块获取,路径时延获取模块包括:
测试允许数据发送信号生成单元,适于获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
测试发送时刻获取单元,适于获取发送所述测试允许数据发送信号的测试发送时刻;
测试接收时刻获取单元,适于获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻;
客户端路径时延获取单元,适于根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
在一些实施例中,本申请提供的独立式仲裁装置,当前允许最大路径时延包括所述仲裁器的各个客户端的路径时延中的最大路径时延。
在一些实施例中,本申请提供的独立式仲裁装置,当前允许最大路径时延还包括所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延。
在一些实施例中,本申请提供的独立式仲裁装置,还包括:
数据传输完成确定模块,适于当在所述仲裁器的路径时延信息中未查找到所述客户端标识时,确定所述仲裁器的数据传输路径上的数据均传输完成;
发送时刻获取模块,适于在确定所述仲裁器的数据传输路径上的数据均传输完成时,获取发送所述允许数据发送信号的发送时刻;
接收时刻获取模块,适于获取接收所述数据发送请求所对应的数据的接收时刻;
客户端路径时延添加模块,适于根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
在一些实施例中,本申请提供的独立式仲裁装置,当前输出时延获取模块52还包括:
在先路径时延获取单元,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且在先路径时延未均在所述仲裁器的路径时延信息中时,等待获取各所述在先路径时延。
在一些实施例中,本申请提供的独立式仲裁装置,所述当前输出时延获取模块52,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,包括:
根据所述客户端标识,在所述路径时延信息中查找对应的当前输出时延,得到所述当前输出时延。
在另一些实施例中,本申请提供的独立式仲裁装置,所述当前输出时延获取模块52,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,包括:
根据所述客户端标识,在所述路径时延信息中查找对应的客户端的路径时延;
获取所述当前允许最大路径时延,根据所述当前允许最大路径时延和所述客户端的路径时延,获取所述当前输出时延。
在一些实施例中,本申请提供的独立式仲裁装置,数据发送请求获取模块50包括:
原始数据发送请求获取单元,适于获取客户端发送的原始数据发送请求;
过滤单元,适于对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
可以看出,本申请实施例提供的独立式仲裁装置可以为本申请实施例提供的独立式仲裁方法提供硬件保障,首先根据数据发送请求进行仲裁,生成待发送至所述客户端的允许数据发送信号的发送原始时隙,接着基于仲裁器的路径时延信息,获取允许数据发送信号的当前输出时延,然后根据所述当前输出时延调整所述发送原始时隙,得到发送所述允许数据发送信号的发送输出时隙,由于用于对发送原始时隙进行调整的当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此使得所有客户端的数据到达仲裁器指向的端口的路径时延对齐到了当前允许最大路径时延,使得所有客户端的数据到达仲裁器指向的端口的路径时延为所允许的最大路径时延,所以根据调整后的发送输出时隙发送允许数据发送信号后,可以保证位于芯片不同物理位置的客户端发送的数据到达仲裁器指向的端口时不会产出冲突,可见,本申请实施例提供的独立式仲裁方法可以保证在芯片合理布局的同时,避免竞争冲突的产生。
本申请实施例还提供一种电子设备,包括本申请实施例提供的仲裁器或本申请实施例提供的独立式仲裁装置。
当然,本申请实施例提供的电子设备,包括前述的独立式仲裁装置,可以为本申请实施例提供的独立式仲裁方法提供硬件保障,首先根据数据发送请求进行仲裁,生成待发送至所述客户端的允许数据发送信号的发送原始时隙,接着基于仲裁器的路径时延信息,获取允许数据发送信号的当前输出时延,然后根据所述当前输出时延调整所述发送原始时隙,得到发送所述允许数据发送信号的发送输出时隙,由于用于对发送原始时隙进行调整的当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,因此使得所有客户端的数据到达仲裁器指向的端口的路径时延对齐到了当前允许最大路径时延,使得所有客户端的数据到达仲裁器指向的端口的路径时延为所允许的最大路径时延,所以根据调整后的发送输出时隙发送允许数据发送信号后,可以保证位于芯片不同物理位置的客户端发送的数据到达仲裁器指向的端口时不会产出冲突,可见,本申请实施例提供的独立式仲裁方法可以保证在芯片合理布局的同时,避免竞争冲突的产生。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种独立式仲裁方法,其特征在于,适用于仲裁器,包括:
获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;
根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延,所述仲裁器的路径时延信息是指包括通过仲裁器进行仲裁的各个客户端的路径时延的信息;
根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;
当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
2.如权利要求1所述的独立式仲裁方法,其特征在于,所述路径时延信息的获取步骤包括:
获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
获取发送所述测试允许数据发送信号的测试发送时刻;
获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻;
根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
3.如权利要求1所述的独立式仲裁方法,其特征在于,所述当前允许最大路径时延包括所述仲裁器的各个客户端的路径时延中的最大路径时延。
4.如权利要求1所述的独立式仲裁方法,其特征在于,所述当前允许最大路径时延还包括所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延。
5.如权利要求1所述的独立式仲裁方法,其特征在于,还包括:
当在所述仲裁器的路径时延信息中未查找到所述客户端标识时,确定所述仲裁器的数据传输路径上的数据均传输完成;
在确定所述仲裁器的数据传输路径上的数据均传输完成时,获取发送所述允许数据发送信号的发送时刻;
获取接收所述数据发送请求所对应的数据的接收时刻;
根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
6.如权利要求5所述的独立式仲裁方法,其特征在于,还包括:
当在所述仲裁器的路径时延信息中查找到所述客户端标识,且在先路径时延未均在所述仲裁器的路径时延信息中时,等待获取各所述在先路径时延。
7.如权利要求1所述的独立式仲裁方法,其特征在于,所述当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延的步骤包括:
根据所述客户端标识,在所述路径时延信息中查找对应的当前输出时延,得到所述当前输出时延。
8.如权利要求1所述的独立式仲裁方法,其特征在于,所述当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延的步骤包括:
根据所述客户端标识,在所述路径时延信息中查找对应的客户端的路径时延;
获取所述当前允许最大路径时延,根据所述当前允许最大路径时延和所述客户端的路径时延,获取所述当前输出时延。
9.如权利要求1-8任一项所述的独立式仲裁方法,其特征在于,所述获取客户端发送的数据发送请求的步骤包括:
获取客户端发送的原始数据发送请求;
对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
10.一种仲裁器,其特征在于,包括:
调度电路,适于对获取的客户端发送的数据发送请求进行调度,生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
时延处理器,适于存储所述仲裁器的路径时延信息;
输出控制器,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙,且当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延,所述仲裁器的路径时延信息是指包括通过仲裁器进行仲裁的各个客户端的路径时延的信息。
11.如权利要求10所述的仲裁器,其特征在于,
所述调度电路,还适于获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
所述时延处理器,还适于获取发送所述测试允许数据发送信号的测试发送时刻,以及获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻,并根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
12.如权利要求11所述的仲裁器,其特征在于,
所述调度电路,还适于当在所述仲裁器的路径时延信息中未查找到所述客户端标识时,确定所述仲裁器的数据传输路径上的数据均传输完成;
所述时延处理器,还适于在确定所述仲裁器的数据传输路径上的数据均传输完成时,获取发送所述允许数据发送信号的发送时刻,并获取接收所述数据发送请求所对应的数据的接收时刻,根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
13.如权利要求12所述的仲裁器,其特征在于,
所述时延处理器,还适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且在先路径时延未均在所述仲裁器的路径时延信息中时,等待获取各所述在先路径时延。
14.如权利要求10所述的仲裁器,其特征在于,还包括:
过滤器,适于获取客户端发送的原始数据发送请求,对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
15.一种独立式仲裁装置,其特征在于,适用于仲裁器,包括:
数据发送请求获取模块,适于获取客户端发送的数据发送请求,所述数据发送请求包括所述客户端的客户端标识;
信号生成模块,适于根据所述数据发送请求生成待发送至所述客户端的允许数据发送信号和所述允许数据发送信号的发送原始时隙;
当前输出时延获取模块,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,所述当前输出时延与所述客户端的路径时延之和等于当前允许最大路径时延,所述在先路径时延包括在先数据发送请求所对应的客户端的路径时延,所述仲裁器的路径时延信息是指包括通过仲裁器进行仲裁的各个客户端的路径时延的信息;
数据发送信号的输出时隙获取模块,适于根据所述当前输出时延调整所述发送原始时隙,获取发送所述允许数据发送信号的发送输出时隙;
允许数据发送信号发送模块,适于当达到所述允许数据发送信号的发送输出时隙时,向所述客户端发送所述允许数据发送信号。
16.如权利要求15所述的独立式仲裁装置,其特征在于,所述路径时延信息通过路径时延获取模块获取,所述路径时延获取模块包括:
测试允许数据发送信号生成单元,适于获取所述仲裁器的当前客户端的测试数据发送请求,根据所述测试数据发送请求生成测试允许数据发送信号;
测试发送时刻获取单元,适于获取发送所述测试允许数据发送信号的测试发送时刻;
测试接收时刻获取单元,适于获取接收所述测试数据发送请求所对应的测试数据的测试接收时刻;
客户端路径时延获取单元,适于根据所述测试接收时刻和所述测试发送时刻,获取时间间隔,得到所述当前客户端的路径时延,更换所述当前客户端,直至得到所述仲裁器的各个客户端的路径时延,得到所述路径时延信息。
17.如权利要求15所述的独立式仲裁装置,其特征在于,所述当前允许最大路径时延包括所述仲裁器的各个客户端的路径时延中的最大路径时延。
18.如权利要求17所述的独立式仲裁装置,其特征在于,所述当前允许最大路径时延还包括所述客户端的路径时延和未间断已运行的所述仲裁器的各个客户端的路径时延中的最大路径时延。
19.如权利要求15所述的独立式仲裁装置,其特征在于,还包括:
数据传输完成确定模块,适于当在所述仲裁器的路径时延信息中未查找到所述客户端标识时,确定所述仲裁器的数据传输路径上的数据均传输完成;
发送时刻获取模块,适于在确定所述仲裁器的数据传输路径上的数据均传输完成时,获取发送所述允许数据发送信号的发送时刻;
接收时刻获取模块,适于获取接收所述数据发送请求所对应的数据的接收时刻;
客户端路径时延添加模块,适于根据所述接收时刻和所述发送时刻,获取时间间隔,得到所述客户端的路径时延,并添加至所述路径时延信息。
20.如权利要求19所述的独立式仲裁装置,其特征在于,所述当前输出时延获取模块还包括:
在先路径时延获取单元,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且在先路径时延未均在所述仲裁器的路径时延信息中时,等待获取各所述在先路径时延。
21.如权利要求15所述的独立式仲裁装置,其特征在于,所述当前输出时延获取模块,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,包括:
根据所述客户端标识,在所述路径时延信息中查找对应的当前输出时延,得到所述当前输出时延。
22.如权利要求15所述的独立式仲裁装置,其特征在于,所述当前输出时延获取模块,适于当在所述仲裁器的路径时延信息中查找到所述客户端标识,且各个在先路径时延均在所述仲裁器的路径时延信息中时,获取发送所述允许数据发送信号的当前输出时延,包括:
根据所述客户端标识,在所述路径时延信息中查找对应的客户端的路径时延;
获取所述当前允许最大路径时延,根据所述当前允许最大路径时延和所述客户端的路径时延,获取所述当前输出时延。
23.如权利要求15-22任一项所述的独立式仲裁装置,其特征在于,所述数据发送请求获取模块包括:
原始数据发送请求获取单元,适于获取客户端发送的原始数据发送请求;
过滤单元,适于对所述原始数据发送请求进行过滤,得到通过过滤的所述数据发送请求。
24.一种电子设备,其特征在于,包括如权利要求10-14任一项所述的仲裁器或如权利要求15-23任一项所述的独立式仲裁装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210616973.2A CN115080482B (zh) | 2022-06-01 | 2022-06-01 | 独立式仲裁方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210616973.2A CN115080482B (zh) | 2022-06-01 | 2022-06-01 | 独立式仲裁方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115080482A CN115080482A (zh) | 2022-09-20 |
CN115080482B true CN115080482B (zh) | 2023-04-11 |
Family
ID=83249586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210616973.2A Active CN115080482B (zh) | 2022-06-01 | 2022-06-01 | 独立式仲裁方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080482B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346303A (zh) * | 2013-08-08 | 2015-02-11 | 中兴通讯股份有限公司 | 一种总线仲裁方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489752B2 (en) * | 2008-05-29 | 2013-07-16 | Advanced Micro Devices, Inc. | Method and system for controlling bus access |
-
2022
- 2022-06-01 CN CN202210616973.2A patent/CN115080482B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346303A (zh) * | 2013-08-08 | 2015-02-11 | 中兴通讯股份有限公司 | 一种总线仲裁方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115080482A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320632B (zh) | 一种自主仲裁的高速差分总线实现方法 | |
JP3084218B2 (ja) | 通信方法及び同期通信システム | |
US10374736B2 (en) | Slave device, serial communications system, and communication method for serial communications system | |
JP5793690B2 (ja) | インタフェース装置、およびメモリバスシステム | |
KR100252752B1 (ko) | 다단계 제어 버스 중재장치 | |
CN110109847A (zh) | Apb总线多个主设备的仲裁方法、系统及存储介质 | |
JPH09259078A (ja) | 分散直列仲裁システム | |
US20150052283A1 (en) | Interface apparatus and memory bus system | |
CN108401454B (zh) | 事务调度方法、处理器、分布式系统和无人机 | |
JP4233373B2 (ja) | データ転送制御装置 | |
CN1937484A (zh) | 一种实现多时钟同步的方法及系统 | |
CN115080482B (zh) | 独立式仲裁方法及相关装置 | |
CN1322721C (zh) | 使用总线的预仲裁装置及其方法 | |
JPS6091743A (ja) | マルチマスター通信バス | |
CN112134814B (zh) | 一种板级互联网络结构及通信方法 | |
US8909836B2 (en) | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) | |
CN111026699B (zh) | 基于环形总线的多核网络通信方法、装置及系统 | |
JP3747020B2 (ja) | クロスバー調停システム | |
US7085865B2 (en) | I/O throughput by pre-termination arbitration | |
CN104243359B (zh) | 一种获取共享资源的协同仲裁方法及装置 | |
CN101324871A (zh) | 无等待动态优先级的pci总线仲裁扩展器 | |
JPH10289203A (ja) | バス調停装置 | |
KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
JP2001290761A (ja) | バスブリッジ | |
JPH118652A (ja) | 優先度調停方法および装置 |
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 |