CN117714229A - 数据传输网络、片上系统及电子设备 - Google Patents
数据传输网络、片上系统及电子设备 Download PDFInfo
- Publication number
- CN117714229A CN117714229A CN202410160261.3A CN202410160261A CN117714229A CN 117714229 A CN117714229 A CN 117714229A CN 202410160261 A CN202410160261 A CN 202410160261A CN 117714229 A CN117714229 A CN 117714229A
- Authority
- CN
- China
- Prior art keywords
- credit
- receiving end
- data
- receiving
- initiating
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 138
- 230000000977 initiatory effect Effects 0.000 claims abstract description 144
- 239000003999 initiator Substances 0.000 claims description 137
- 230000000903 blocking effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 208000027744 congestion Diseases 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请提供一种数据传输网络、片上系统及电子设备,数据传输网络采用环形拓扑结构,所述环形拓扑结构包括发起端、接收端、连接所述发起端和接收端的环形传输通道;所述接收端管理有信用,且所述接收端设置有缓冲器,所述缓冲器的大小大于等于所述接收端管理的所有信用所允许发送的数据的总大小;其中:所述接收端被配置为:向各所述发起端分配所述信用,以及通过所述缓冲器接收并处理各所述发起端通过所述环形传输通道传来的数据;所述发送端被配置为:接收各所述接收端分配的信用,以及针对每一个接收端,在具有该接收端的信用的情况下,允许消耗所具有的信用以向该接收端发送数据;其中,每消耗一个信用允许发送指定大小的数据。
Description
技术领域
本申请涉及环形拓扑结构中的数据传输领域,具体而言,涉及一种数据传输网络、片上系统及电子设备。
背景技术
环形(RING)拓扑结构由沿固定方向连接成封闭回路的网络节点组成,每一节点与它左右相邻的节点连接。有些节点可以是发起端,有些节点可以是接收端,有些节点可以既是发起端又是接收端。在环形拓扑中,所有的通信共享一条物理通道。
环形拓扑结构具有结构简单、传输控制机制简单、数据传输的最大时延固定等优点,因此被广泛应用于SOC(片上系统)等产品中。但是,环形拓扑结构存在一个固有的缺点,即所有的数据都在同一个道路上传输,但是这样会导致发送数据之间的头阻塞问题(Headof Line Blocking)。比如在图1中,数据是逆时针传输的,发起端C发送数据给接收端X,发起端B发数据给接收端Y。假如接收端X在一定时间内的处理速度比较慢,此时无法接收发起端C的数据,就会导致发起端C发送出来数据就会堵在从C到X的环路段上(即图中加粗部分)。这个时候,即便接收端Y有能力处理发起端B的数据,但是因为从发起端B到接收端Y的路径需要经过从发起端C到接收端X的路段,就导致发起端B的数据会被发起端C的数据给堵住而到达不了接收端Y,导致接收端Y的处理能力被浪费。
发明内容
本申请实施例的目的在于提供一种数据传输网络、片上系统及电子设备,用以解决相关技术存在着的上述问题。
本申请实施例提供了一种数据传输网络,所述数据传输网络采用环形拓扑结构,所述环形拓扑结构包括发起端、接收端、连接所述发起端和接收端的环形传输通道;所述接收端管理有信用,且所述接收端设置有缓冲器,所述缓冲器的大小大于等于所述接收端管理的所有信用所允许发送的数据的总大小;其中:
所述接收端被配置为:向各所述发起端分配所述信用,以及通过所述缓冲器接收并处理各所述发起端通过所述环形传输通道传来的数据;
所述发送端被配置为:接收各所述接收端分配的信用,以及针对每一个接收端,在具有该接收端的信用的情况下,允许消耗所具有的信用以向该接收端发送数据;其中,每消耗一个信用允许发送指定大小的数据。
在上述实现方案中,接收端向各发起端分配信用,并配置各发起端在具有某一个接收端的信用的情况下,才能通过消耗信用的方式向该接收端发送数据。同时,配置每一个信用所允许发送的数据大小,并配置各接收端的缓冲器大小大于等于该接收端管理的所有信用所允许发送的数据的总大小。这样,针对任一个接收端而言,在发起端向其发送数据时,该数据必然是可以被该接收端接收并处理的,从而不会出现数据堵在环形传输通道中的情况,可以有效避免头阻塞问题的出现。
进一步地,所述接收端具体被配置为:根据各所述发起端的信用分配占比,向各所述发起端分配所述信用。
在上述实现方案中,通过为各发起端分别设置信用分配占比,从而接收端根据各发起端的信用分配占比,向各发起端分配信用,这就可以使得各发起端之间具有的信用可以按比例分布。又因为信用的多少决定了发起端可以向管理该信用的接收端发送的数据的多少,因此分配的信用越多的发起端,其在向管理该信用的接收端发送数据时,对于环形传输通道的可使用量就越大,从而使得各发起端在向管理该信用的接收端发送数据时可以按照设定的比例具有环形传输通道的使用权,从而实现了对于各发起端之间的仲裁均衡。
进一步地,所述接收端还被配置为:针对任一发起端,若超过预设时长未接收到该发起端传来的数据,则停止为该发起端分配信用;所述预设时长为大于所述环形传输通道的总延时的时长;所述环形传输通道的总延时为:数据在所述环形传输通道上传输一圈的时长。
在上述实现方案中,针对任一发起端,若接收端在超过预设时长未接收到该发起端传来的数据,即可以认为该发起端目前并不存在多少需要该接收端处理的任务,因此该接收端在此情况下停止为该发起端分配信用,这样就可以将更多的信用分配给当前对该接收端需求更旺盛的发起端,从而提高这些发起端的数据发送能力。同时,由于预设时长大于环形传输通道的总延时,因此可以降低出现某一发起端连续发出的两次数据都还在环形传输通道中,但是接收端接收到在先的数据后,还未接收到在后的数据时就将该发起端确定为需停止分配信用的发起端的情况,从而使得对于需停止分配信用的发起端的确定更为合理,避免频繁出现信用停发与信用重发的状态切换,降低功耗。
进一步地,所述接收端具体被配置为:将各所述发起端中无效发起端的信用分配占比分配给各有效发起端;其中:所述无效发起端为:在所述预设时长内未向所述接收端发送过数据的发起端;所述有效发起端为:在所述预设时长内向所述接收端发送过数据的发起端。
在上述实现方案中,通过将无效发起端的信用分配占比分配给各有效发起端,这就使得各有效发起端在向管理该信用的接收端发送数据时,对于环形传输通道的使用权得以扩大,从而达到动态调整各发起端对于环形传输通道的使用权的效果,可以更充分的利用环形传输通道的传输能力。
进一步地,所述接收端具体被配置为:按照各所述有效发起端的信用分配占比之间的比例关系,将所述无效发起端的信用分配占比分配给各所述有效发起端。
在上述实现方案中,通过将无效发起端的信用分配占比,按照有效发起端的信用分配占比之间的比例关系进行分配,这样就可以在扩大各有效发起端对于环形传输通道的使用权的同时,保持各有效发起端之间对于环形传输通道的使用权的比例不变,从而达到等比例扩大各有效发起端对于环形传输通道的使用权的效果。
进一步地,所述接收端具体被配置为:每一个时钟向各所述发起端中的一个发起端分配一个信用。
在上述实现方式中,通过配置接收端每一个时钟向各发起端中的一个发起端分配一个信用,又发起端每一次发送数据需要消耗信用,这样就可以有效控制信用到各发起端的分配速度,从而在一定程度上使得每一时钟向该接收端发送数据的发起端不会太多,可以降低环形传输通道中出现拥塞的风险的概率。
进一步地,每一所述接收端中管理的信用包括:为每一个所述发起端初始分配的基础信用,和后续在所有发起端之间分配的共享信用。
在上述实现方式中,通过为每一个发起端初始分配基础信用,从而可以保证每一个发起端可以具有向接收端发出数据的能力。而通过设置共享信用,可以实现对于不同发起端的信号的动态调控,可以使得数据发送需求更大的发起端获得更多的信用。
进一步地,每一个所述发起端的基础信用的数量为i,所述共享信用的数量为k;所述i和所述k之和大于等于所述环形传输通道的总延时所具有的时钟数;所述环形传输通道的总延时为:数据在所述环形传输通道上传输一圈的时长。
在上述实现方式中,通过设置i和k之和大于等于环形传输通道的总延时所具有的时钟数,又每一时钟接收端会分配一个信用,因此当有数据通过环形传输通道发送给该接收端后,各发送端必然可以补充到一个信用,这就可以支持各发起端整体上不间断地利用环形传输通道向该接收端发送数据,从而提高环形传输通道的利用率。
进一步地,所述接收端还被配置为:在任一所述发起端具有的信用为0的情况下,为该发起端分配1个信用。
在上述实现方式中,在任一发起端具有的信用为0的情况下,为该发起端分配1个信用,这就可以有效避免出现信用为0的无效发起端重新出现对该接收端的数据发送需求后,因信用为0而无法发送数据,导致该无效发起端无法拜托无效发起端的身份,无法从新进入信用分配逻辑的问题。
进一步地,所述数据传输网络还包括:信用传输通道,所述信用传输通道连接各所述发起端和各所述接收端,用于所述接收端向所述发起端分配所述信用。
在上述实现方式中,通过配置专用于分配信用的信用传输通道,可以避免出现信用与数据混传的情况,从而保证信用可准确分配到各发起端,保证方案的正确实施。
进一步地,所述信用传输通道为所述环形传输通道中用于进行信用传输的逻辑通道。
在上述实现方式中,通过在环形传输通道配置逻辑通道来传输信用,无需额外设置真实的物理传输通道,可以降低数据传输网络的硬件实施成本。
进一步地,所述发起端还被配置为:针对任一所述接收端,若该接收端在预设时长内未接收到任何发起端发送的数据,则保留预设数量的信用,将多余的信用返还该接收端。
在上述实现方案中,通过配置发起端在任一接收端的数据接收完毕(即该接收端在预设时长内未接收到任何发起端发送的数据)的情况下,保留预设数量的信用,并将多余的信用返还该接收端。这样在该接收端下一次进入数据接收状态时,就可以具有足够的信用进行分配,从而保证方案可正常进行。
本申请实施例还提供了一种片上系统,包括上述任一种的数据传输网络。
本申请实施例还提供了一种电子设备,包括上述的片上系统。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术中的头阻塞场景的示意图;
图2为本申请实施例提供的一种数据传输网络的基本结构示意图;
图3为本申请实施例提供的一种示例性的数据传输网络的结构示意图;
图4为本申请实施例提供的一种具体的数据传输网络的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例中提供了一种数据传输网络,该数据传输网络采用环形拓扑结构。可以参见图2所示,图2为本申请实施例中提供的数据传输网络的基本结构示意图,在数据传输网络的环形拓扑结构中包括发起端、接收端、连接发起端和接收端的环形传输通道。其中:
接收端管理有信用,且接收端设置有缓冲器,缓冲器的大小大于等于接收端管理的所有信用所允许发送的数据的总大小。
在本申请实施例中,接收端被配置为:向各发起端分配信用,以及通过缓冲器接收并处理各发起端通过环形传输通道传来的数据。
发送端被配置为:接收各接收端分配的信用,以及针对每一个接收端,在具有该接收端的信用的情况下,允许消耗所具有的信用以向该接收端发送数据。其中,每消耗一个信用允许发送指定大小的数据。
也即,在本申请实施例中,每一个接收端可以管理用于发送数据到本接收端的信用,而发起端可以通过消耗信用的方式向该接收端发送数据。而每一接收端利用自身的缓冲器接收并处理数据。且由于缓冲器的大小大于等于接收端管理的所有信用所允许发送的数据的总大小,那么意味着即使各发起端消耗了该接收端所有的信用向该接收段发送数据,这些数据也可以被该接收端的缓冲器接收,从而不会堵在环形传输通道上,从而可以有效解决头阻塞问题。
需要注意的是,在本申请实施例中,发起端的数量可以是一个或多个,接收端的数量也可以是一个或多个。当接收端为多个时,每一个接收端各自独立地管理各自的信用。也即,每一个接收端所管理的信用,仅用于控制发起端向该接收端发送数据。例如,如图3所示,接收端x管理的信用在分配给发起端A、B、C后,发起端A、B、C仅可以通过消耗该信用的方式向接收端x发送数据。相应的,接收端y管理的信用在分配给发起端A、B、C后,发起端A、B、C仅可以通过消耗该信用的方式向接收端x发送数据。
在本申请实施例中,在接收端为多个时,为了使得各发起端可以知晓被分配的信用具体是哪一个接收端的,可以在信用中配置各接收端的标识信息。或者,可以直接以各接收端的标识信息作为各接收端的信用。例如,接收端x的信用可以设置为数据x,接收端y的信用可以设置为数据y,发起端接收到一个数据x即认为接收到一个接收端x的信用,发起端接收到一个数据y即认为接收到一个接收端y的信用。
在本申请实施例中,发起端每消耗一个信用,则管理该信用的接收端则会回收一个信用,从而保证信用可以不断在各发起端之间分配流转,保证接收端始终可分配出信用供发起端发送数据。
在一种可选实施方式中,各发起端和各接收端内可以设置计数器,通过计数器计数的方式各自管理所具有的信用。例如,针对任一发起端,其接收到某一接收到分配来的信用后,即可以在该发起端内与该接收端对应的计数器上加1,得到最新具有的该接收端的信用数量;相应的,在每次向某一接收端发送一次指定大小的数据后,即可在与该接收端对应的计数器上减1(即相当于发起端消耗了1个信用),从而得到最新具有的该接收端的信用数量。相应的,针对任一接收端,其在向任一发起端分配一个信用后,即在内部的计数器上减一,得到最新剩余的信用数量;在接收到任一发起端传来的数据后,即在内部的计数器上加一,得到最新剩余的信用数量。这样,就可以实现对于信用的动态管理,使得信用可以不断在各发起端和接收端之间流转。
在另一种可选实施方式中,可以配置各发起端在向任一接收端发送数据时,需要返回一个该接收端的信用,这样同样可以实现信用不断在各发起端和接收端之间流转。例如,假设发起端A向接收端x发送一个数据,此时发起端A可以同时向接收端x发送一个接收端x的信用,此时即相当于发起端A消耗了1个信用,此后接收端x接收并保存该信用,从而可以将该信用在下一次重新分配给各发起端。
在本申请实施例中,如图4所示,数据传输网络还可以包括信用传输通道,信用传输通道连接各发起端和各接收端,用于接收端向发起端分配信用。这样,通过配置专用于分配信用的信用传输通道,可以避免出现信用与数据混传的情况,从而保证信用可准确分配到各发起端,保证方案的正确实施。
在本申请实施例的一些可选实施方式中,信用传输通道可以是单独布设的,与环形传输通道相互独立的物理传输通道。
在本申请实施例的另一些可选实施方式中,信用传输通道也可以是环形传输通道中用于进行信用传输的逻辑通道。这样,通过在环形传输通道配置逻辑通道来传输信用,无需额外设置真实的物理传输通道,可以降低数据传输网络的硬件实施成本。
在本申请实施例中,接收端可以具体被配置为:根据各发起端的信用分配占比,向各发起端分配信用。
示例性的,以图3所示的结构为例,假设对于接收端x而言,预计发起端A、B、C中发起端A最多,而发起端B和C则可能并无太多业务需要发送到接收端x进行处理。那么,可以预先设定发起端A的信用分配占比为80%,而发起端B和C的信用分配占比均分别为10%。这样,按照各发起端的信用分配占比进行信用分配时,每100个信用中80个会被分配给发起端A,10个会被分配给发起端B,10个会被分配给发起端C。
可以理解,上述示例中的信用分配占比不作为对本申请实施例的限制,各发起端的信用分配占比可以由工程师根据经验值或者按照设定好的各发起端与接收端的功能配置进行设定。
在本申请实施例中,还可以配置接收端为:针对任一发起端,若超过预设时长未接收到该发起端传来的数据,则停止为该发起端分配信用。
可以理解,针对任一发起端,若接收端在超过预设时长未接收到该发起端传来的数据,即可以认为该发起端目前并不存在需要该接收端处理的任务,因此该接收端在此情况下停止为该发起端分配信用,这样就可以将更多的信用分配给当前对该接收端需求更旺盛的发起端,从而提高这些发起端的数据发送能力。
在本申请实施例中,预设时长可以设定为大于环形传输通道的总延时的时长。其中,环形传输通道的总延时为:数据在环形传输通道上传输一圈的时长。例如,预设时长可以设定为5倍或10倍环形传输通道的总延时的时长。这样,由于预设时长大于环形传输通道的总延时,因此可以降低出现某一发起端连续发出的两次数据都还在环形传输通道中,但是接收端接收到在先的数据后,还未接收到在后的数据时就将该发起端确定为需停止分配信用的发起端的情况,从而使得对于需停止分配信用的发起端的确定更为合理,避免频繁出现信用停发与信用重发的状态切换,降低功耗。
在本申请实施例中,为便于描述,将在预设时长内未向接收端发送过数据的发起端称之为无效发起端,将在预设时长内向接收端发送过数据的发起端称之为有效发起端。可以理解,有效发起端和无效发起端的概念是相对于接收端而言的,对于同一个发起端,其在面对不同的接收端时,其身份可能不同。例如,发起端A可能在间隔时长小于预设时长的时长内,连续向接收端x发送过数据,但是在超过预设时长的情况下未向接收端y发送过数据。那么显然对于接收端x而言,发起端A是有效发起端,但是对于接收端y而言,发起端A是无效发起端。
在本申请实施例中,如前文所述,可以将接收端具体配置为:将各发起端中无效发起端的信用分配占比分配给各有效发起端,从而使得各有效发起端在向管理该信用的接收端发送数据时,对于环形传输通道的使用权得以扩大,从而达到动态调整各发起端对于环形传输通道的使用权的效果,可以更充分的利用环形传输通道的传输能力。
在本申请实施例的一种可选实施方式中,可以将接收端具体配置为:按照各有效发起端的信用分配占比之间的比例关系,将无效发起端的信用分配占比分配给各有效发起端。
示例性的,以前文假设发起端A的信用分配占比为80%,发起端B和发起端C的信用分配占比均分别为10%的例子为例。假设发起端C被确定为了无效发起端,则在之后进行信用分配时,由于发起端A的信用分配占比与发起端B的信用分配占比之间的比值为80%:10%=8:1,则后续为发起端A和发起端B分配信用时,每分配90个信用中,有80个信用分配给发起端A,有10个信用分配给发起端B。相比于发起端A、发起端B和发起端C均为有效发起端时,每分配90个信用中,有72个信用分配给发起端A,有9个信用分配给发起端B,有9个信用分配给发起端C的情况,无效发起端C的信用分配占比被按照发起端A和发起端B的信用分配占比之间的比例关系进行了分配。这样,可以保持各有效发起端之间对于环形传输通道的使用权的比例不变,从而达到等比例扩大各有效发起端对于环形传输通道的使用权的效果。
当然,在本申请实施例的另一些可选实施方式中,也可以在接收端配置其他的无效发起端的信用分配占比的分配方式,例如可以配置接收端:将该无效发起端的信用分配占比均分给各有效发起端。例如,以前文假设发起端A的信用分配占比为80%,发起端B和发起端C的信用分配占比均分别为10%的例子为例。假设发起端C被确定为了无效发起端,则在之后进行信用分配时,接收端每分配100个信用,则85个信用会分配给发起端A,而15个信用会分配给发起端B。
在本申请实施例中,可以配置接收端在每一个时钟向各发起端中的一个发起端分配一个信用。即可以配置每一个接收端在一个时钟内仅分配出去一个信用。
在本申请实施例中,每一接收端中管理的信用可以包括:为每一个发起端初始分配的基础信用,和后续在所有发起端之间分配的共享信用。在本申请实施例中,在初始阶段,可以预先为每一个发起端初始分配一定数量的基础信用,以保证各发起端可以主动发起数据发送操作。同时,在接收端内可以仅留存共享信用用于进行信用分配。
可选的,在本申请实施例的一些实施方式中,各基础信用在被接收端收回后,可以用作其他发起端的信用分配。例如,发起端A消耗了一个基础信用向接收端x发送了一个数据后,接收端回收到一个信用,该信用可以分配给任一个发起端,从而使得各发起端可被分配到的信用更多。
而在本申请实施例的另一些实施方式中,各基础信用可以被配置为各发起端的专用信用,即使在被接收端收回后,各发起端专用信用也仅能分配给该专用信用的发起端。例如,发起端A消耗了一个专用信用向接收端x发送了一个数据后,接收端回收到一个专用信用,该专用信用在后续分配时仅可以分配给发起端A。可以理解,在本实施方式中,可以配置发起端在有共享信用的情况下,优先使用共享信用进行数据发送。同时,在实施方式中,可以配置接收端在向任一发起端分配信用时,若具有该发起端的专用信用,则优先向该发起端分配该发起端的专用信用,以免浪费宝贵的共享信用。
在本申请实施例中,每一个发起端的基础信用的数量可以设置为i,而每一接收端中的共享信用的数量可以设置为k。其中,i和k均为正整数。
在本申请实施例中,i的值可以由工程师根据实际需要进行设置,例如可以设置为1,以使得发起端可以主动发起数据发送操作即可。
在本申请实施例中,对于k的取值,可以设置k的取值要能够使得i和k之和大于等于环形传输通道的总延时所具有的时钟数。这样,通过设置i和k之和大于等于环形传输通道的总延时所具有的时钟数,又每一时钟接收端会分配一个信用,因此当有数据通过环形传输通道发送给该接收端后,各发送端必然可以补充到一个信用,这就可以支持各发起端整体上不间断地利用环形传输通道向该接收端发送数据,从而提高环形传输通道的利用率。
例如,假设环形传输通道的总延时所具有的时钟数为5,假设i为1,则k的取值可以为4,从而由于每一时钟接收端是分配一个信用,因此假设每一个时钟都有一个发起端向该接收端发送一个数据,那么5个信用就可以支持一个发起端不间断的向该接收端发送数据,从而可以支持发起端不间断地利用环形传输通道向该接收端发送数据,提高环形传输通道的利用率。
在本申请实施例中,为了保证每一个发起端即使在超过预设时长未向接收端发送数据后,在重新存在向该接收端发送数据的需求时,仍旧可以主动发起对该接收端的数据发送操作,可以配置接收端为:在任一所述发起端具有的信用为0的情况下,为该发起端分配1个信用。这就可以有效避免出现信用为0的无效发起端重新出现对该接收端的数据发送需求后,因信用为0而无法发送数据,导致该无效发起端无法拜托无效发起端的身份,无法从新进入信用分配逻辑的问题。
可以理解,在接收端管理的信用包括各发起端的专用信用时,在任一发起端具有的信用为0的情况下,表明该发起端的专用信用已经被接收端回收,故可以向该发起端分配该发起端的专用信用。
在本申请实施例中,随着业务的不断处理,可能出现在同一时刻,所有发起端都超过预设时长未向该接收端发送数据的情况。此时即可以认为针对该接收端,所有的发起端的数据请求结束。此时,各发起端可以保留预设数量的信用(即基础信用),将多余的信用返还该接收端,从而恢复初始状态,以便下一次使用。也即,各发起端可以被配置为:针对任一接收端,若该接收端在预设时长内未接收到任何发起端发送的数据,则保留预设数量的信用,将多余的信用返还该接收端。
在上述实施例中,对于任一接收端,该接收端在预设时长内未接收到任何发起端发送的数据后,可以主动向各发起端发送复位信号,以使各发起端保留预设数量的信用后,将多余的信用返还该接收端。可以理解,若某一发起端目前的信用不足需保留的预设数量,则接收端还需要向该发起端分配预设数量的信用。
在本申请实施例中,预设数量可以为1,但不作为限制。
为更好的说明本申请的方案,下面以一种具体的实施方式为例,为本申请做进一步示例说明。
参见图4所示,假设数据传输网络包括发起端A、发起端B、发起端C、接收端x、接收端y,连接各发起端和接收端的环形传输通道和信用传输通道。假设相邻两个节点(发起端或接收端)之间的传输时延为1个时钟,则环形传输通道的总延时为5个时钟。假设预设时长为10倍的环形传输通道的总延时,即为50个时钟。
以针对接收端x的数据发送过程为例:初始时,发起端A、发起端B、发起端C中各分配有1个接收端x的专用信用,接收端x内管理有4个共享信用,每个信用可用于使发起端发送不超过M大小的数据,则接收端x中配置有大小大于等于7*M的缓冲器。
假设发起端A、发起端B、发起端C的信用分配占比分别为80%、10%和10%。
在数据传输网络启用后,接收端x每一个时钟向发起端A、发起端B、发起端C中的一个发送一个信用。发送的信用满足前述信用分配占比,即100个时钟内,有80个信用分配到发起端A,10个信用分配到发起端B,10个信用分配到发起端C。
期间,无论是发起端A、发起端B、发起端C中的哪一个发起端向接收端x发送数据,接收端x通过缓冲器进行接收并处理。那么由于缓冲器的大小大于等于7*M,而由于对于接收端x,最多只可能消耗7个信用来向接收端x发送数据,因此缓冲器可以完整的接收传来的数据,可以避免数据无法被接收而导致的头阻塞问题。
期间,如果接收端x发现超过50个时钟未接收到某一个发起端发来的数据,则后续停止向该发起端分配信用,并对剩余的发起端,按照信用分配占比之间的比例进行后续的信用分别。以超过50个时钟未接收到发起端C发来的数据为例,后续每90个时钟内,将分配80个信用给发起端A,分配10个信用给发起端B。
在本申请实施例中,每一个时钟具体将信用发送给哪一个发起端,本申请实施例不做限制,只要满足前述的分配比例关系即可。
本申请实施例提供的方案,只需要在接收端设置缓冲器,无需在发起端设置缓冲器,硬件成本不高,且利用缓冲器的设置可以有效解决头阻塞问题。而通过将无效发起端的信用分配占比分配给有效发起端,实现了对于不同发起端之间的动态仲裁均衡,提高了环形传输通道的利用率。
基于同一发明构思,本申请实施例还提供了一种片上系统,例如CPU(CentralProcessing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、GPGPU(General-purpose computing on Graphics Processing Unit,通用图形处理器)、MCU(Microcontroller Unit,微控制单元)、单片机、FPGA(Field Programmable Gate Arra,可编程逻辑门阵列)等等,但不作为限制。
在片上系统中,发起端和接收端可以是但不限于片上系统中的数据处理单元(比如处理器核心)、数据存储单元(比如本地缓存或内存)等。
基于同一发明构思,本申请实施例还提供了一种电子设备,该电子设备包括本申请实施例所提供的片上系统。
在本申请实施例中,电子设备可以是但不限于移动终端(例如智能手机、智能手环、智能手表、头戴式显示器、笔记本电脑、平板等)、固定终端(例如台式机、设备控制平台等)、服务器等设备。
在本申请实施例中,电子设备内除了可以具有片上系统外,还可以具有其他的部件。例如还可以具有独立于片上系统外的存储器,包括但不限于RAM(Random AccessMemory,随机存取存储器)、ROM(Read-Only Memory,只读存储器)、闪存等。又例如,电子设备还可以具有内部通信总线,用于实现片上系统和片上系统外的其他部件,例如存储器之间的通信;又例如,电子设备还可以具有外部通信接口,例如USB(Universal Serial Bus,通用串行总线)接口、CAN(Controller Area Network,控制器局域网络)总线接口等;又例如,电子设备还可以具有显示屏等信息显示部件,但不作为限制。
在本申请所提供的实施例中,应该理解到,各实施例和实施方式之间,在不冲突的情况下,可以相互结合得到新的实施例。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种数据传输网络,其特征在于,所述数据传输网络采用环形拓扑结构,所述环形拓扑结构包括发起端、接收端、连接所述发起端和接收端的环形传输通道;所述接收端管理有信用,且所述接收端设置有缓冲器,所述缓冲器的大小大于等于所述接收端管理的所有信用所允许发送的数据的总大小;其中:
所述接收端被配置为:向各所述发起端分配所述信用,以及通过所述缓冲器接收并处理各所述发起端通过所述环形传输通道传来的数据;
所述发送端被配置为:接收各所述接收端分配的信用,以及针对每一个接收端,在具有该接收端的信用的情况下,允许消耗所具有的信用以向该接收端发送数据;其中,每消耗一个信用允许发送指定大小的数据。
2.如权利要求1所述的数据传输网络,其特征在于,所述接收端具体被配置为:根据各所述发起端的信用分配占比,向各所述发起端分配所述信用。
3.如权利要求2所述的数据传输网络,其特征在于,所述接收端还被配置为:
针对任一发起端,若超过预设时长未接收到该发起端传来的数据,则停止为该发起端分配信用;
所述预设时长为大于所述环形传输通道的总延时的时长;所述环形传输通道的总延时为:数据在所述环形传输通道上传输一圈的时长。
4.如权利要求3所述的数据传输网络,其特征在于,所述接收端具体被配置为:
将各所述发起端中无效发起端的信用分配占比分配给各有效发起端;
其中:所述无效发起端为:在所述预设时长内未向所述接收端发送过数据的发起端;所述有效发起端为:在所述预设时长内向所述接收端发送过数据的发起端。
5.如权利要求4所述的数据传输网络,其特征在于,所述接收端具体被配置为:
按照各所述有效发起端的信用分配占比之间的比例关系,将所述无效发起端的信用分配占比分配给各所述有效发起端。
6.如权利要求1所述的数据传输网络,其特征在于,所述接收端具体被配置为:每一个时钟向各所述发起端中的一个发起端分配一个信用。
7.如权利要求6所述的数据传输网络,其特征在于,每一所述接收端中管理的信用包括:为每一个所述发起端初始分配的基础信用,和后续在所有发起端之间分配的共享信用。
8.如权利要求7所述的数据传输网络,其特征在于,每一个所述发起端的基础信用的数量为i,所述共享信用的数量为k;所述i和所述k之和大于等于所述环形传输通道的总延时所具有的时钟数;
所述环形传输通道的总延时为:数据在所述环形传输通道上传输一圈的时长。
9.如权利要求7所述的数据传输网络,其特征在于,所述接收端还被配置为:
在任一所述发起端具有的信用为0的情况下,为该发起端分配1个信用。
10.如权利要求1所述的数据传输网络,其特征在于,所述数据传输网络还包括:
信用传输通道,所述信用传输通道连接各所述发起端和各所述接收端,用于所述接收端向所述发起端分配所述信用。
11.如权利要求10所述的数据传输网络,其特征在于,所述信用传输通道为所述环形传输通道中用于进行信用传输的逻辑通道。
12.如权利要求1-11任一项所述的数据传输网络,其特征在于,所述发起端还被配置为:
针对任一所述接收端,若该接收端在预设时长内未接收到任何发起端发送的数据,则保留预设数量的信用,将多余的信用返还该接收端。
13.一种片上系统,其特征在于,包括如权利要求1-12任一项所述的数据传输网络。
14.一种电子设备,其特征在于,包括如权利要求13所述的片上系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160261.3A CN117714229A (zh) | 2024-02-05 | 2024-02-05 | 数据传输网络、片上系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160261.3A CN117714229A (zh) | 2024-02-05 | 2024-02-05 | 数据传输网络、片上系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714229A true CN117714229A (zh) | 2024-03-15 |
Family
ID=90157294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410160261.3A Pending CN117714229A (zh) | 2024-02-05 | 2024-02-05 | 数据传输网络、片上系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714229A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081847A (en) * | 1998-02-27 | 2000-06-27 | Lsi Logic Corporation | System and method for efficient initialization of a ring network |
CN1272992A (zh) * | 1998-06-16 | 2000-11-08 | 阿尔卡塔尔公司 | 具有基于信用的缓冲器控制的数字通信量交换 |
CN1812404A (zh) * | 2005-01-24 | 2006-08-02 | 艾威梯软件技术(北京)有限公司 | 蓝牙rfcomm协议增速方法 |
CN1864374A (zh) * | 2003-10-06 | 2006-11-15 | 艾利森电话股份有限公司 | Umts中协调的数据流控制和缓冲器共享 |
CN101878475A (zh) * | 2007-07-31 | 2010-11-03 | Netlogic微系统公司 | 向星形拓扑串行总线接口委托网络处理器操作 |
CN104461954A (zh) * | 2013-09-18 | 2015-03-25 | 国际商业机器公司 | 用于管理多个互连ip块中的通信的方法和系统 |
US20150236963A1 (en) * | 2014-02-20 | 2015-08-20 | Netspeed Systems | Qos in a system with end-to-end flow control and qos aware buffer allocation |
US20170237495A1 (en) * | 2016-02-15 | 2017-08-17 | Hfr, Inc. | Method and system for compensating for latency difference due to switchover in fronthaul in ring topology form |
CN116627891A (zh) * | 2023-05-25 | 2023-08-22 | 上海高性能集成电路设计中心 | 一种软件可控的片上网络动态信用管理装置、系统及方法 |
-
2024
- 2024-02-05 CN CN202410160261.3A patent/CN117714229A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081847A (en) * | 1998-02-27 | 2000-06-27 | Lsi Logic Corporation | System and method for efficient initialization of a ring network |
CN1272992A (zh) * | 1998-06-16 | 2000-11-08 | 阿尔卡塔尔公司 | 具有基于信用的缓冲器控制的数字通信量交换 |
CN1864374A (zh) * | 2003-10-06 | 2006-11-15 | 艾利森电话股份有限公司 | Umts中协调的数据流控制和缓冲器共享 |
CN1812404A (zh) * | 2005-01-24 | 2006-08-02 | 艾威梯软件技术(北京)有限公司 | 蓝牙rfcomm协议增速方法 |
CN101878475A (zh) * | 2007-07-31 | 2010-11-03 | Netlogic微系统公司 | 向星形拓扑串行总线接口委托网络处理器操作 |
CN104461954A (zh) * | 2013-09-18 | 2015-03-25 | 国际商业机器公司 | 用于管理多个互连ip块中的通信的方法和系统 |
US20150236963A1 (en) * | 2014-02-20 | 2015-08-20 | Netspeed Systems | Qos in a system with end-to-end flow control and qos aware buffer allocation |
US20170237495A1 (en) * | 2016-02-15 | 2017-08-17 | Hfr, Inc. | Method and system for compensating for latency difference due to switchover in fronthaul in ring topology form |
CN116627891A (zh) * | 2023-05-25 | 2023-08-22 | 上海高性能集成电路设计中心 | 一种软件可控的片上网络动态信用管理装置、系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
JP4259751B2 (ja) | リアルタイムで動的に帯域幅を割り当てる完全パイプライン式固定待ち時間通信システム | |
US20050111477A1 (en) | Adaptive transmission in multi-access asynchronous channels | |
CN107480078B (zh) | 一种总线带宽分配方法、装置及芯片 | |
CN111836370B (zh) | 一种基于竞争的资源预约方法及设备 | |
CN116302617B (zh) | 共享内存的方法、通信方法、嵌入式系统以及电子设备 | |
CN112597075A (zh) | 用于路由器的缓存分配方法、片上网络及电子设备 | |
CN114143270B (zh) | 一种带宽调整方法及装置 | |
CN117807000B (zh) | 通道总线仲裁电路、加速装置、方法、系统、装置及介质 | |
CN109729113B (zh) | 管理专用处理资源的方法、服务器系统和计算机程序产品 | |
US20090164751A1 (en) | Method,system and apparatus for main memory access subsystem usage to different partitions in a socket with sub-socket partitioning | |
CN113886058A (zh) | 一种跨集群资源调度方法和装置 | |
CN102347877A (zh) | 总线调度方法及装置 | |
CN117714229A (zh) | 数据传输网络、片上系统及电子设备 | |
CN111836312B (zh) | 一种基于竞争的资源预约方法和设备 | |
CN113329377B (zh) | 带宽资源调度方法、装置、电子装置和计算机设备 | |
CN111885588B (zh) | 执行电子卡管理业务的方法及装置 | |
US20090313323A1 (en) | Method and System for Controlling Bus Access | |
CN114138427A (zh) | Slo保障方法、装置、节点及存储介质 | |
CN113014465A (zh) | 一种基于服务质量特性的总线传输接口系统及设计方法 | |
CN112738208A (zh) | 一种数据同步方法、卫星节点及区块链系统 | |
Verzun et al. | Two-phase model of information interaction in a heterogeneous internet of things network at the last mile | |
CN117858262B (zh) | 基站资源调度优化方法、装置、基站、设备、介质及产品 | |
CN108121598A (zh) | 套接字缓存资源管理方法及装置 | |
CN114448963B (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 |