CN101950279A - 均衡数据信息流量的方法、总线***和译码器 - Google Patents
均衡数据信息流量的方法、总线***和译码器 Download PDFInfo
- Publication number
- CN101950279A CN101950279A CN2010105059925A CN201010505992A CN101950279A CN 101950279 A CN101950279 A CN 101950279A CN 2010105059925 A CN2010105059925 A CN 2010105059925A CN 201010505992 A CN201010505992 A CN 201010505992A CN 101950279 A CN101950279 A CN 101950279A
- Authority
- CN
- China
- Prior art keywords
- data message
- transmission
- flow
- transmission interface
- bit position
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种均衡数据信息流量的方法、总线***和译码器,属于IC设计领域。接收设备发送的数据信息,根据对数据信息中的指定比特位进行译码的译码结果,为所述数据信息分配至少两个传输接口,所述数据信息携带设备ID,所述指定比特位为所述设备ID中的至少一位比特位;判断所述至少两个传输接口的数据信息流量是否均衡;当所述至少两个传输接口之间的数据信息流量不均衡时,切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述至少两个传输接口的流量。该总线***包括:接口分配模块,流量判断模块和比特位切换模块。该译码器包括:译码模块和指定比特位切换模块。
Description
技术领域
本发明涉及IC设计领域,特别涉及一种均衡数据信息流量的方法、总线***和译码器。
背景技术
AXI(Advanced Extensible Interface,先进可扩展接口)是ARM公司在APB(Advanced Peripheral Bus,先进外设总线)和AHB(Advanced High-performanceBus,先进高性能总线)上发展出来的第三代高性能***总线。
AXI总线可搭建为各种复杂的片内总线结构,包括共享总线Shared Bus、纵横式交换Crossbar架构等拓扑类型,以完成多个主设备和多个从设备在片内的互联。随着处理器、业务处理的带宽持续增长,AXI总线Crossbar也面临带宽不够的问题,特别是DDR接口上,DDR作为独立的从设备,即使位宽为64比特,400MHz的频率下也只能达到51.2Gbps最大带宽,读带宽只有25.6Gbps,对于某些高端的应用已经无法满足。为了进一步提高性能、增加DDR带宽而又不增加额外的硬件成本,通常会采用增加DDR的AXI接口数量来解决。其中,DDR接口为64比特,按照双倍采样速率,其AXI接口匹配带宽为128比特,采用两个64比特位宽的AXI接口完成对DDR的访问,总带宽和128比特单个AXI接口带宽相当,为单个64比特AXI接口的两倍,而***总线依旧保持了64比特位宽,对时钟频率、成本都几乎没有影响。
在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点:
现有技术虽然扩展了DDR接口,但是从设备接收来自多个主设备的数据信息时,无法尽量平均的将数据信息流量平均的分配给DDR的多个传输接口上,导致数据信息传输效率低,处理速度慢,浪费资源。
发明内容
本发明实施例提供了一种均衡数据信息流量的方法、总线***和译码器。所述技术方案如下:
一种均衡数据信息流量的方法,包括:
接收设备发送的数据信息,根据对数据信息中的指定比特位进行译码的译码结果,为所述数据信息分配至少两个传输接口,所述数据信息携带设备ID,所述指定比特位为所述设备ID中的至少一位比特位;
判断所述至少两个传输接口的数据信息流量是否均衡;
当所述至少两个传输接口之间的数据信息流量不均衡时,切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述至少两个传输接口的流量。
一种均衡数据信息流量的方法,包括:
对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,所述总线***根据所述译码结果为所述数据信息分配传输接口;
当总线***的各个传输接口之间的数据信息流量不均衡时,根据所述总线***的控制切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述各个传输接口的数据信息流量。
一种均衡数据信息流量的总线***,包括:
接口分配模块,用于根据对数据信息中的指定比特位进行译码的译码结果,为数据信息分配传输接口,所述数据信息携带设备ID,所述指定比特位为所述设备ID其中一位比特位;
流量判断模块,用于判断各个所述传输接口的数据信息流量是否均衡;
比特位切换模块,用于当各个传输接口之间的数据信息流量不均衡时,切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述各个传输接口的流量。
一种译码器,包括:
译码模块,用于对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,所述总线***根据所述译码结果为所述数据信息分配传输接口;
指定比特位切换模块,用于当总线***的各个传输接口之间的数据信息流量不均衡时,根据所述总线***的控制切换所述指定比特位,所述译码模块根据切换后的指定比特位进行译码,以均衡所述各个传输接口的流量。
本发明实施例提供的技术方案的有益效果是:
通过接收到的数据信息中的指定比特位的译码结果为数据信息分配传输接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以均衡数据信息流量,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在至少两个传输通道的平均分配,不仅提高传输效率,还提高数据的处理速度,节约资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种AXI协议的架构;
图2是本发明实施例提供的一种均衡数据信息流量的方法的流程图;
图3是本发明实施例提供的一种均衡数据信息流量的方法的流程图;
图4是本发明实施例提供的一种均衡数据信息流量的方法的示例的一个示意图;
图5是本发明实施例提供的一种均衡数据信息流量的方法的示例的另一个示意图;
图6是本发明实施例提供的一种均衡数据信息流量的方法的示例的又一个示意图;
图7是本发明实施例提供的一种均衡数据信息流量的方法的示例的第一个示意图;
图8是本发明实施例提供的一种均衡数据信息流量的方法的示例的另一个个示意图;
图9是本发明实施例提供的一种均衡数据信息流量的方法的示例的又一个示意图;
图10是本发明实施例提供的一种均衡数据信息流量的方法的流程图;
图11是本发明实施例提供的一种均衡数据信息流量的总线***的结构示意图;
图12是本发明实施例提供的一种译码器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在介绍本发明提供的均衡数据信息流量的方法、总线***和译码器之前,对本发明中所用到的基础知识进行介绍:
SoC(System on Chip,片上***),意指它是一个产品,是一个有专用目标的集成电路,其中包含完整***并有嵌入软件的全部内容;
AXI是指ARM推出的一种基于包(Packet)的多通道传输的总线协议;其中,AXI协议架构如图1所示,AXI传输基于五个传输通道进行,在上层协议看来,AXI是将传输按方向分为五种包(Packet),分别为读操作的读请求包(AR)、读数据及应答包(R)和写操作的写请求包(AW)、写数据包(W)、写应答包(B),其中,AR、AW、W包为主设备(Master)发送给从设备(Slave),R及B为从设备返回给主设备。AXI的典型读操作由一个AR和若干的R组成,AXI的典型写操作由一个AW、若干的W和一个B组成。一次传输由多个包组成,并以相同的ID号作为标识。
主设备(Master),指总线上发起传输的模块;
从设备(Slave),指总线上响应传输的模块;
包(Packet),指AXI总线上的最小传输单元,包可由主设备发给从设备,也可以由从设备发给主设备;
读请求包(AR),指AXI总线上主设备向从设备发起的读请求包(Packet);
写请求包(AW),指AXI总线上主设备向从设备发起的写请求包(Packet);
写数据包(W),指AXI总线上主设备向从设备发起的写数据包(Packet);
读数据及应答包(R),指AXI总线上从设备向主设备设备返回的读数据和应答信息包(Packet);
写应答包(B),指AXI总线上从设备向主设备返回的写应答信息包(Packet);
Tag ID(ID),AXI总线对包的标注信息,一次传输中的多个包,通过相同ID号的包来标识;
挂起传输(Outstanding),指AXI协议中,前一个传输请求发出,但还未完成之前可以发起下一次传输,各种包之间的依赖性很小,没有固定的相位关系,因此支持高效率的挂起传输(Outstanding),即主设备或从设备都可以存在若干正在进行但未完成的操作,并通过ID进行顺序控制。Outstanding有以下特点:
1、从设备返回的R,如果ID号相同,R的组顺序(组指一个读操作AR对应的一个或多个R)将和从设备收到的该ID号的AR顺序相同;如果ID号不同,R顺序可任意间插;
2、在不支持Interleave的情况下(大多数情况如此),从设备接收的W,无论其ID号是否相同,W的组顺序(组指一个读操作AR对应的一个或多个R)都必须和从设备收到的AW顺序相同;
3、从设备返回的B,如果ID号相同,B的顺序将和从设备收到的该ID号的AW顺序相同。
乱序传输(Out-of-Order),指AXI协议中,从设备返回不同ID号的B和R时,不必按照接收的AR和AW的顺序返回,可乱序返回;
写间插(Interleave),指AXI协议中,主设备发送的不同ID号的W,除了第一拍W外,后续的W都不必按照发送的AW顺序,可乱序发送,而通常的设计中都不支持该特性。
AXI总线可搭建为各种复杂的片内总线结构,包括Shared Bus、Crossbar等拓扑类型,以完成多个主设备和多个从设备在片内的互联。最为典型的互联方式为Crossbar结构的AXI总线,Crossbar被称为交叉开关矩阵或纵横式交换矩阵,只要同时闭合多个交叉节点(Crosspoint),多个不同的Master和Slave间就可以同时传输数据,这保证了CrossBar在内部的无阻塞传输,即所有端口同时线速交换数据。从理论上讲,如果按照一条200MHz、32bit数据位宽的AXI总线带宽为12.8Gbps,具有N个Master接口的Crossbar可以支撑最大12.8×N Gbps的带宽。本发明主要以Crossbar结构来说明,在Shared Bus结构上的应用和Crossbar类似,就不再额外说明了。
为了提高传输效率和数据信息处理速度,本发明实施例提供了一种均衡数据信息流量的方法,参见图2,该方法包括:
201:接收设备发送的数据信息,根据对数据信息中的指定比特位进行译码的译码结果,为该数据信息分配至少两个传输接口,该数据信息携带设备ID,该指定比特位为该设备ID中的至少一位比特位;
202:判断该至少两个传输接口的数据信息流量是否均衡;
203:当该至少两个传输接口之间的数据信息流量不均衡时,切换该指定比特位,并根据切换后的指定比特位进行译码,以均衡该至少两个传输接口的流量。
通过根据接收到的数据信息中的指定比特位的译码结果为数据信息分配AXI接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以达到均衡数据信息流量的目的,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在DDR两个通道的平均分配,不仅提高传输效率,还提高数据的处理速度,节约资源。
进一步的,为了提高传输效率和数据信息处理速度,本发明实施例提供了一种均衡数据信息流量的方法,以接收装置为DDR为例,其中,该DDR包括至少两个传输接口,在本发明实施例中,以该DDR有两个传输接口、外设的译码装置为译码器为例进行说明,参见图3,该方法包括:
301:利用发起传输的主设备的设备ID扩展数据信息的地址位;
具体地,将发起传输的主设备的设备编号写入数据信息的地址位,得到扩展后的地址位。
其中,该设备ID包括主设备编号和\或主设备内部数据流编号等,主设备内部数据流编号为主设备内部根据具体应用,例如进程数量等进行的编号。
302:总线***接收设备发送的数据信息,译码器对数据信息中扩展后的地址位中发起传输的主设备的设备编号中的指定比特位进行译码;
进一步地,指定比特位在数据传输启动时默认使用ID号最高位。可选的。这里指定比特位可以是ID号中的其他位。
需要说明的是,该译码器为外置译码器,由于通常业界的Crossbar中的内置译码器无法动态的改变译码地址,所以在本发明实施例中,选择外置译码器进行译码,增加了译码的灵活性。
303:根据译码器的译码结果为数据信息分配DDR传输接口;
需要说明的是,在为传输至DDR的数据信息分配传输接口时,选择ID扩展的地址位的其中一比特位(特征比特位)进行译码,而其他从设备端口,无论ID扩展的地址位变化为多少,可以均按照无ID扩展时的地址进行译码。
例如,即假设ID有2比特,DDR原译码为0x00000000~0x7FFFFFFF的2G空间,从设备原译码为0x80000000~0x90000000,使用ID扩展后,DDR两个传输接口译码如果按照低比特译码,则0x100000000~0x17FFFFFFF和0x300000000~0x37FFFFFFF译码到一个接口,0x000000000~0x07FFFFFFF和0x200000000~0x27FFFFFFF译码到另一个传输接口;如果按照高比特译码,则0x100000000~0x17FFFFFFF和0x000000000~0x07FFFFFFF译码到一个传输接口,0x300000000~0x37FFFFFFF和0x200000000~0x27FFFFFFF译码到另一个传输接口;而从设备译码地址,为0x080000000~0x090000000、0x180000000~0x 190000000、0x280000000~0x290000000、0x380000000~0x390000000四个地址段。
可选的,根据译码器的译码结果为数据信息分配DDR传输接口,可以为数据信息随机分配DDR传输接口,也可以根据预设规则,如根据ID接口号等为为数据信息分配DDR传输接口。
304:判断DDR各个传输接口中任意两个传输接口的挂起传输之间的深度差和预设阈值的大小关系,如果深度差大于或等于预设阈值,执行步骤305;如果深度差小于预设阈值,则各个传输接口的数据信息流量均衡,结束;可以理解,如果深度差等于预设阈值,也可以设定为所述各个传输接口的数据信息流量均衡,并结束本步骤。
优选地,当DDR的传输接口为两个时,比较该两个接口挂起传输之间的深度差,当DDR的传输接口为两个以上时,可以取任意接口两两组合,进行比较,例如,如果有三个接口,则将三个接口两两组合,形成3组,对深度差大于或等于预设阈值且深度差最大的组合进行步骤305的处理。可以理解,两个传输接口的挂起传输之间的深度差就是指两个传输接口向从设备发起的请求个数的差值,这里的请求可以包括读请求包(Packet)、写请求包或其他请求包的一种或多种。请求个数也就是两个接口传输请求包数量的差值。
可以理解,判断至少两个传输接口的数据信息流量是否均衡,还可以根据两个接口之间传输的实际数据流量之差来判断,比如实际写数据流量、读数据流量,和读写数据量等数据流量中的一种或多种。如可以采用使用监控器(Monitor)监控流量的方式确认是否均衡。如果两个传输接口的数据信息流量差大于或等于预订阈值,则传输接口的数据信息流量不均衡;如果两个传输接口的数据信息流量差小于预订阈值,则传输接口的数据信息流量均衡。Monitor获取信息能够根据精细得到两个端口的实时流量和分布,再进行调整。只是添加Monitor需要额外的逻辑资源。
其中,挂起传输是指AXI协议中,前一个传输请求发出,但还未完成之前可以发起下一次传输,各种包之间的依赖性很小,没有固定的相位关系,因此支持高效率的挂起传输(Outstanding),即主设备或从设备都可以存在若干正在进行但未完成的操作,并通过ID进行顺序控制。
需要说明的是,该步骤为根据各个传输接口挂起传输的深度对DDR的AXI接口的流量进行监控的过程,深度最深的传输接口即是当前对带宽需求最大的传输接口。
305:统计各个传输接口中挂起传输的深度最深的传输接口中各个数据信息中的设备ID的相同位置上的0和1的数量;
举例说明,例如,某传输接口挂起传输中有3个数据信息,该3个数据信息中的设备ID分别为101010、101110、101100,从高位向低位进行统计,统计结果为:第一位比特位上有3个1,第二位比特位上有3个0,第三位比特位上有3个1,以此类推。
在本发明实施例中,该步骤为利用挂起传输中的数据信息的设备ID判断哪个主设备的流量较大,以便调整流量。
306:选取0和1数量差值最小的比特位;
在本发明实施例中,以步骤305中的示例来说明,统计结果为:第一位比特位上有3个1,第二位比特位上有3个0,第三位比特位上有3个1,第四位比特位上有2个1,1个0,第五位上有2个1,1个0,第六位上有3个0,则,第四位和第五位比特位上0和1数量差值最小。
307:控制译码器将译码用的指定比特位切换为所得的0和1数量差值最小的比特位;
本领域技术人员可以获知,在AXI协议的设计中,步骤305-步骤306在所有挂起传输的ID中的中搜索各个传输的ID相同bit位置,查找出0和1数量差最小的bit位置,如有多个比特位置都最小,则可任选一个。
可选的,本步骤中,在特殊情况中,为方便实施,并不一定采用差值最小的比特位,也可以控制译码器将译码用的指定比特位切换为所得的0和1数量差值次较小的比特位。
308:当接收到数据信息时,根据译码器对数据信息中的切换后的指定比特位进行译码的译码结果为数据信息分配传输接口。
举例说明,以本发明实施例在Crossbar的典型应用(DDR有两个AXI接口)为例进行说明,如图4所示,使用本发明实施例提供的方法访问DDR两个AXI接口来读写DDR,译码基于***的32比特地址信号进行。Crossbar上有4个主设备和2个从设备,主设备原ID为6比特,Crossbar对主设备编码为2比特,因此对主设备在Crossbar上的ID为8比特。将主设备的8比特ID加入地址中,并由外置译码器对扩展后的地址进行译码,即译码地址为8+32=40比特,Slave0和Slave1的地址译码扩展为64份,即无论最高8比特的值为多少,均按照低32比特的原地址进行译码。而DDR的两个AXI接口地址默认为利用最高比特译码(在初始时默认)。按照图中实例,为主设备编号,分别为主设备0的地址为00,分别为主设备1的地址为01,主设备2的地址为10,主设备3的地址为11,主设备0~1使用一个通道(图示为左边通道),主设备2~3使用另一个通道(图示为右边通道)。传输开始后,如图5所示,及设备2~3使用的通道中的数据流量大于主设备0~1使用通道的数据流量,也就是说主设备2和主设备3的流量大于主设备0和主设备1的流量。当两个AXI接口的挂起传输队列之间的深度差超过预设阈值时,统计挂起传输深度最深的右边传输接口中各个数据信息中的设备ID的相同位置上的比特值,这里就是统计每一竖列比特位上的值,此时对ID进行每一个比特位的0和1进行统计后,发现第七个比特位有4个0和4个1,0和1的总数相差最小这表示主设备2(地址为10)和主设备3(地址为11)的流量基本相当。此时触发外置译码器Decoder切换译码比特的位置,如图6所示,译码位置改变,对扩展的8比特地址的第七比特位译码,即主设备0和主设备2为一个AXI接口(图6中左边的通道),主设备1和主设备3为另一个AXI接口(图6中右边的通道),高流量的主设备2和主设备3被分流到两个AXI接口。在此之后,每次在两个AXI接口之间Outstanding的深度差大于或等于预设阈值时,Decoder均会自动对译码地址进行切换,以满足DDR两个AXI接口分流。
进一步地,本发明实施例提供的方法可应用到DDR的三个、四个或更多AXI接口的均衡数据信息流量中,AXI接口数量增加后,划分流量的ID宽度相应扩展为Log2N(N为传输接口数量)。
举例说明,以本发明实施例在Crossbar的扩展应用(DDR有四个AXI接口)为例进行说明,使用本发明实施例提供的方法访问DDR四个AXI接口来读写DDR,译码基于***的32比特地址信号进行。Crossbar上有7个主设备和2个从设备,主设备原ID为5比特,Crossbar对主设备编码为3比特,因此对主设备在Crossbar上的ID为8比特。图7为本发明的实例,可见这里主设备地址被定义为(000)、(001)、(010)等8个地址。将主设备的8比特ID加入地址中进行译码,即译码地址为8+32=40比特,Slave0和Slave 1的地址译码扩展为64份,即无论最高8比特的值为多少,均按照低32比特的原地址进行译码。而DDR的四个AXI接口地址默认为最高2比特译码,按照图8中实例,为主设备编号,即主设备0~1为一个AXI接口a,2~3为一个AXI接口b,4~5为一个AXI接口c,6为一个AXI接口d。传输开始后,主设备0、1、和主设备2、3、的流量分别比较大,如图9所示,接口a-d从左到右依次排列,当四个AXI接口的传输队列中某两个传输接口之间的深度差大于或等于预设阈值时,如接口a和接口c的深度差大于或等于预设阈值,接口b和接口d的深度差大于或等于预设阈值。对深度差最大的接口(接口a和接口b)数据流量进行统计,ID进行每一个比特位的0和1进行统计,发现接口a第六比特位有4个0和4个1,0和1的总数相差最小,表示主设备0和主设备1的流量分别比较大且比较均衡;接口b第六比特有4个0和4个1,0和1的总数相差最小,表示主设备2和主设备3的流量比较大,且比较均衡。此时触发外置译码器Decoder切换译码比特的位置,译码位置改变,对扩展的8比特地址的第六比特位译码,即主设备0、4为一个AXI接口,1、5为一个AXI接口,2、6为一个AXI接口,3为一个AXI接口,主设备的流量被基本均匀分流到四个AXI接口。在此之后,每次在四个AXI接口中任两个挂起传输的深度差大于或等于预设阈值时,Decoder均会自动对地址进行切换,以满足DDR四个AXI接口分流。
通过根据接收到的数据信息中的指定比特位的译码结果为数据信息分配AXI接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以达到均衡数据信息流量的目的,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在DDR两个通道的平均分配,不仅提高了传输效率,还提高了数据的处理速度,节约了资源。
进一步,为了提高传输效率和数据信息处理速度,本发明实施例提供了一种均衡数据信息流量的方法,参见图10,该方法包括:
1001:对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,该总线***根据该译码结果为该数据信息分配传输接口;
1002:当总线***的各个传输接口之间的数据信息流量不均衡时,根据该总线***的控制切换该指定比特位,并根据切换后的指定比特位进行译码,以均衡该各个传输接口的流量。
通过根据接收到的数据信息中的指定比特位的译码结果为数据信息分配AXI接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以达到均衡数据信息流量的目的,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在DDR两个通道的平均分配,不仅提高了传输效率,还提高了数据的处理速度,节约了资源。
进一步,为了提高传输效率和数据信息处理速度,本发明实施例提供了一种均衡数据信息流量的总线***,参见图11,该方法包括:
接口分配模块1101,用于根据译码器对数据信息中的指定比特位进行译码的译码结果,为数据信息分配传输接口,该数据信息携带设备ID,该设备ID包括包括主设备编号和主设备内部数据流编号,该指定比特位为该设备ID其中一位比特位;
流量判断模块1102,用于判断各个该传输接口的数据信息流量是否均衡;
比特位切换模块1103,用于当各个传输接口之间的数据信息流量不均衡时,控制该译码器切换该指定比特位,使得该译码器切换后的指定比特位进行译码,以均衡该各个传输接口的流量。
该总线***还包括:
地址扩展模块1104,用于将发起传输的主设备的设备ID写入数据信息的地址位,得到扩展后的地址位。
该流量判断模块1102包括:
流量监控单元,用于根据该各个传输接口挂起传输的深度监控该各个传输接口的数据信息流量;
流量判断单元,用于判断该各个传输接口中任意两个传输接口的挂起传输之间的深度差是否大于或等于预设阈值,如果是,则该各个传输接口的数据信息流量不均衡,如果否,则该各个传输接口的数据信息流量均衡。
该比特位切换模块1103包括:
比特统计单元,用于统计挂起传输深度最深的传输接口中各个数据信息中的设备ID的相同位置上的比特;
比特位切换单元,用于控制该译码器将该指定比特位切换为0和1数量差值最小的位置。
当传输接口数量大于两个时,该主设备内部数据流编号的宽度为Log2N,其中,N为传输接口数量。
该指定比特位在数据传输启动时为该主设备的设备ID的任意一比特位。
本实施例提供的总线***,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
通过根据接收到的数据信息中的指定比特位的译码结果为数据信息分配AXI接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以达到均衡数据信息流量的目的,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在DDR两个通道的平均分配,不仅提高了传输效率,还提高了数据的处理速度,节约了资源。
进一步的,为了提高传输效率和数据信息处理速度,本发明实施例提供了一种译码器,参见图12,该译码器包括:
译码模块1201,用于对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,该总线***根据该译码结果为该数据信息分配传输接口;
指定比特位切换模块1202,用于当总线***的各个传输接口之间的数据信息流量不均衡时,根据该总线***的控制切换该指定比特位,该译码模块根据切换后的指定比特位进行译码,以均衡该各个传输接口的流量。
本实施例提供的译码器,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
通过根据接收到的数据信息中的指定比特位的译码结果为数据信息分配AXI接口,并在各个传输接口流量不均衡时改变指定比特位,并利用改变后的指定比特位的译码结果进行接口分配,以达到均衡数据信息流量的目的,使得本发明不涉及主设备的修改,对成本几乎无影响的情况下,实现数据信息流量在DDR两个通道的平均分配,不仅提高了传输效率,还提高了数据的处理速度,节约了资源。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种均衡数据信息流量的方法,其特征在于,包括:
接收设备发送的数据信息,根据对数据信息中的指定比特位进行译码的译码结果,为所述数据信息分配至少两个传输接口,所述数据信息携带设备ID,所述指定比特位为所述设备ID中的至少一位比特位;
判断所述至少两个传输接口的数据信息流量是否均衡;
当所述至少两个传输接口之间的数据信息流量不均衡时,切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述至少两个传输接口的流量。
2.根据权利要求1所述的方法,其特征在于,根据对数据信息中的指定比特位进行译码的译码结果,为数据信息分配传输接口,之前包括:
将发起传输数据信息的主设备的设备ID写入数据信息的地址位,得到扩展后的地址位。
3.根据权利要求1所述的方法,其特征在于,判断至少两个传输接口的数据信息流量是否均衡,具体包括:
根据所述至少两个传输接口挂起传输的深度监控所述至少两个的数据信息流量;
判断所述至少两个传输接口中任意两个传输接口的挂起传输之间的深度差和预设阈值的大小关系,如果深度差大于预设阈值,则所述各个传输接口的数据信息流量不均衡;如果深度差小于预设阈值,则所述各个传输接口的数据信息流量均衡;如果深度差等于预设阈值,则所述各个传输接口的数据信息流量均衡或不均衡。
4.根据权利要求3所述的方法,其特征在于,切换所述指定比特位,具体包括:
统计所述至少两个传输接口中挂起传输深度最深的传输接口中各个数据信息中的设备ID的相同位置上的比特值,将所述指定比特位切换为0和1数量差值最小的位置。
5.根据权利要求2所述的方法,其特征在于,所述传输接口为先进可扩展总线接口AXI,当AXI接口数量大于两个时,所述主设备内部数据流编号的宽度为Log2N的整数部分,其中,N为传输接口数量。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述指定比特位在数据传输启动时为所述主设备的设备ID的任意一比特位。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述设备ID包括包括设备编号和设备内部数据流编号。
8.一种均衡数据信息流量的方法,其特征在于,包括:
对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,所述总线***根据所述译码结果为所述数据信息分配传输接口;
当总线***的各个传输接口之间的数据信息流量不均衡时,根据所述总线***的控制切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述各个传输接口的数据信息流量。
9.一种均衡数据信息流量的总线***,其特征在于,包括:
接口分配模块,用于根据对数据信息中的指定比特位进行译码的译码结果,为数据信息分配传输接口,所述数据信息携带设备ID,所述指定比特位为所述设备ID其中一位比特位;
流量判断模块,用于判断各个所述传输接口的数据信息流量是否均衡;
比特位切换模块,用于当各个传输接口之间的数据信息流量不均衡时,切换所述指定比特位,并根据切换后的指定比特位进行译码,以均衡所述各个传输接口的流量。
10.根据权利要求9所述的总线***,其特征在于,所述总线***是先进可扩展接口***所述总线***还包括:
地址扩展模块,用于将发起传输的主设备的设备ID写入数据信息的地址位,得到扩展后的地址位。
11.根据权利要求9所述的总线***,其特征在于,所述流量判断模块包括:
流量监控单元,用于根据所述各个传输接口挂起传输的深度监控所述各个传输接口的数据信息流量;
流量判断单元,用于判断所述各个传输接口中任意两个传输接口的挂起传输之间的深度差和预设阈值之间的大小,如果深度差大于预设阈值,则所述各个传输接口的数据信息流量不均衡;如果深度差小于预设阈值,则所述各个传输接口的数据信息流量均衡;如果深度差等于预设阈值,则所述各个传输接口的数据信息流量均衡或不均衡。
12.根据权利要求11所述的总线***,其特征在于,所述比特位切换模块包括:
比特统计单元,用于统计挂起传输深度最深的传输接口中各个数据信息中的设备ID的相同位置上的比特;
比特位切换单元,用于将所述指定比特位切换为0和1数量差值最小的位置。
13.根据权利要求10所述的总线***,其特征在于,当传输接口数量大于两个时,所述主设备内部数据流编号的宽度为Log2N,其中,N为传输接口数量。
14.根据权利要求10-13任一项所述的方法,其特征在于,所述指定比特位在数据传输启动时为所述主设备的设备ID的任意一比特位。
15.一种译码器,其特征在于,包括:
译码模块,用于对数据信息中的指定比特位进行译码,并将译码结果发送给总线***,所述总线***根据所述译码结果为所述数据信息分配传输接口;
指定比特位切换模块,用于当总线***的各个传输接口之间的数据信息流量不均衡时,根据所述总线***的控制切换所述指定比特位,所述译码模块根据切换后的指定比特位进行译码,以均衡所述各个传输接口的流量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010505992A CN101950279B (zh) | 2010-09-30 | 2010-09-30 | 均衡数据信息流量的方法、总线***和译码器 |
US13/250,458 US8650346B2 (en) | 2010-09-30 | 2011-09-30 | Method and bus system for equalizing data information traffic and decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010505992A CN101950279B (zh) | 2010-09-30 | 2010-09-30 | 均衡数据信息流量的方法、总线***和译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101950279A true CN101950279A (zh) | 2011-01-19 |
CN101950279B CN101950279B (zh) | 2012-09-19 |
Family
ID=43453783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010505992A Active CN101950279B (zh) | 2010-09-30 | 2010-09-30 | 均衡数据信息流量的方法、总线***和译码器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8650346B2 (zh) |
CN (1) | CN101950279B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677605A (zh) * | 2014-11-20 | 2016-06-15 | 深圳市中兴微电子技术有限公司 | 一种高效的可配置片上互联***及其实现方法、装置 |
CN108170470A (zh) * | 2017-12-28 | 2018-06-15 | 杭州中天微***有限公司 | Soc***按位写装置 |
CN108733529A (zh) * | 2017-04-19 | 2018-11-02 | 龙芯中科技术有限公司 | Axi交叉开关的间插功能的验证方法与装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399832B (zh) * | 2013-08-21 | 2016-09-14 | 中国人民解放军国防科学技术大学 | 总线间的乱序返回数据的归序方法 |
US10015087B1 (en) * | 2015-12-17 | 2018-07-03 | Rockwell Collins, Inc. | Modem hardware abstraction layer (MHAL) on-chip bus packet router |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538665A (zh) * | 2003-04-18 | 2004-10-20 | 中兴通讯股份有限公司 | 一种聚合组流量均衡方法 |
CN101751361A (zh) * | 2008-12-16 | 2010-06-23 | 联想(北京)有限公司 | 控制移动终端中数据传输接口的切换方法及终端设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309691A (en) * | 1978-02-17 | 1982-01-05 | California Institute Of Technology | Step-oriented pipeline data processing system |
GB9618137D0 (en) * | 1996-08-30 | 1996-10-09 | Sgs Thomson Microelectronics | Improvements in or relating to an ATM switch |
KR100253391B1 (ko) * | 1997-12-27 | 2000-05-01 | 김영환 | 투 포트 에스램의 라이트 스루 기능을 갖는 고속회로 |
US6208644B1 (en) * | 1998-03-12 | 2001-03-27 | I-Cube, Inc. | Network switch providing dynamic load balancing |
EP0959580A1 (en) * | 1998-05-19 | 1999-11-24 | Lucent Technologies Inc. | Iterative equaliser and decoder |
US6570872B1 (en) * | 1999-04-06 | 2003-05-27 | Nortel Networks Limited | Self-configuring distributed switch |
JP2001136208A (ja) * | 1999-11-10 | 2001-05-18 | Nec Shizuoka Ltd | ロードバランス制御方法及びロードバランス制御システム |
US7161901B2 (en) * | 2001-05-07 | 2007-01-09 | Vitesse Semiconductor Corporation | Automatic load balancing in switch fabrics |
GB2388501A (en) * | 2002-05-09 | 2003-11-12 | Sony Uk Ltd | Data packet and clock signal transmission via different paths |
US7006499B2 (en) * | 2003-04-28 | 2006-02-28 | Alcatel Ip Networks, Inc. | Source identifier for MAC address learning |
JP2007180891A (ja) * | 2005-12-28 | 2007-07-12 | Nec Corp | 通信装置及びそれに用いるパケット送信制御方法並びにそのプログラム |
JP5179031B2 (ja) * | 2006-09-13 | 2013-04-10 | 株式会社日立製作所 | 空きポートを有効に活用したストレージシステム |
US7697525B2 (en) * | 2006-12-21 | 2010-04-13 | Corrigent Systems Ltd. | Forwarding multicast traffic over link aggregation ports |
JP5449686B2 (ja) * | 2008-03-21 | 2014-03-19 | ピーエスフォー ルクスコ エスエイアールエル | マルチポートメモリ及びそのマルチポートメモリを用いたシステム |
US9239799B2 (en) * | 2008-06-26 | 2016-01-19 | Qualcomm Incorporated | Memory management unit directed access to system interfaces |
US8009993B2 (en) * | 2008-12-10 | 2011-08-30 | Pmc-Sierra Israel Ltd. | Hybrid balanced coding scheme |
US7868654B1 (en) * | 2009-05-13 | 2011-01-11 | Lattice Semiconductor Corporation | Reading an external memory device to determine its interface characteristics for configuring a programmable logic device |
US8615615B2 (en) * | 2009-07-01 | 2013-12-24 | Lsi Corporation | Load balancing with SCSI I/O referrals |
US20130159593A1 (en) * | 2011-12-20 | 2013-06-20 | Acer Incorporated | Apparatus, system, and method for analyzing and managing data flow of interface apapratuses |
-
2010
- 2010-09-30 CN CN201010505992A patent/CN101950279B/zh active Active
-
2011
- 2011-09-30 US US13/250,458 patent/US8650346B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538665A (zh) * | 2003-04-18 | 2004-10-20 | 中兴通讯股份有限公司 | 一种聚合组流量均衡方法 |
CN101751361A (zh) * | 2008-12-16 | 2010-06-23 | 联想(北京)有限公司 | 控制移动终端中数据传输接口的切换方法及终端设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677605A (zh) * | 2014-11-20 | 2016-06-15 | 深圳市中兴微电子技术有限公司 | 一种高效的可配置片上互联***及其实现方法、装置 |
US10198374B2 (en) | 2014-11-20 | 2019-02-05 | Sanechips Technology Co. Ltd. | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium |
CN105677605B (zh) * | 2014-11-20 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 一种高效的可配置片上互联***及其实现方法、装置 |
CN108733529A (zh) * | 2017-04-19 | 2018-11-02 | 龙芯中科技术有限公司 | Axi交叉开关的间插功能的验证方法与装置 |
CN108733529B (zh) * | 2017-04-19 | 2021-08-10 | 龙芯中科技术股份有限公司 | Axi交叉开关的间插功能的验证方法与装置 |
CN108170470A (zh) * | 2017-12-28 | 2018-06-15 | 杭州中天微***有限公司 | Soc***按位写装置 |
US10824578B2 (en) | 2017-12-28 | 2020-11-03 | C-Sky Microsystems Co., Ltd. | Bitwise writing apparatus for system-on-chip system |
Also Published As
Publication number | Publication date |
---|---|
US20120084473A1 (en) | 2012-04-05 |
US8650346B2 (en) | 2014-02-11 |
CN101950279B (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7251217B2 (en) | Load balancing in link aggregation and trunking | |
CN101854353B (zh) | 一种基于fpga的多芯片并行加密方法 | |
CN101950279B (zh) | 均衡数据信息流量的方法、总线***和译码器 | |
US7706275B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
CN110083461B (zh) | 一种基于fpga的多任务处理***及方法 | |
CA1280217C (en) | Method and apparatus for utilization of dual latency stations for performance improvement of token ring networks | |
WO2016187813A1 (zh) | 一种光电混合网络的数据传输方法及装置 | |
US20170255501A1 (en) | In-node Aggregation and Disaggregation of MPI Alltoall and Alltoallv Collectives | |
CN109086228B (zh) | 具有多个独立访问通道的高速存储器芯片 | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
CN101004674B (zh) | 数据处理***和包括数据处理***的高清晰度电视机 | |
CN104461727A (zh) | 内存模组访问方法及装置 | |
CN102891809A (zh) | 多核网络设备报文按接口保序方法及*** | |
CN109982384B (zh) | 报文转发方法、装置、网络设备及介质 | |
CN102801686A (zh) | 设备控制方法、主设备、从设备及主从设备组 | |
CN101159729A (zh) | 一种快速处理报文的方法及装置 | |
CN101425960A (zh) | 实现负载均分的方法和设备 | |
CN112817774B (zh) | 用于片上网络中的事务广播的***和方法 | |
CN103312577B (zh) | 一种处理mac数据的方法及装置 | |
CN100499563C (zh) | 提高分组应用的存储器存取效率 | |
KR101924002B1 (ko) | 칩 멀티 프로세서, 및 칩 멀티 프로세서를 위한 라우터 | |
CN111277514A (zh) | 一种报文队列分配方法、报文转发方法及相关装置 | |
CN103827836A (zh) | 存储数据的方法和装置 | |
CN102783101A (zh) | 负载平衡控制单元、负载平衡控制方法和存储介质 | |
CN105939242B (zh) | 实现虚拟***的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210420 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |