一种多源端口的数据处理方法及装置的制作方法

文档序号:6424647阅读:179来源:国知局
专利名称:一种多源端口的数据处理方法及装置的制作方法
技术领域
本发明涉及数据处理领域,尤其涉及一种多源端口的数据处理方法及装置。
背景技术
—般地,源端口与目的端口之间存在4种数据交换模式一对一、一对多、多对一、多对多。其中以多个源端口对应多个目的端口最为复杂。源端口按照其对数据处理的时效要求分为时效性源端口与非时效性源端口。时效性源端口,是指当其发起读请求操作时,要求目的端在规定的时间准备好待读取的数据,并将该数据发送读数据总线上,如EMEF (外部存储器接口,External Memory Interface)为时效性接口。非时效性源端口,是指当其发起读请求操作时,目的端可以在方便的时间内将被读的数据准备好,并将该数据发送到读数据总线上,该数据通常都会伴随一个控制信号,表示该数据有效,如AXI (Advanced Extensible Interface,高速可扩展接口)为非时效性接口。通常在FPGA/ASIC接口中,时效性源端口与非时效性源端口是同时并存的,它们经常被用来对同一个(或多个)目的端进行数据交换,而现有技术中由于缺乏有效的机制,时效性源端口与非时效性源端口的数据处理是分开的、独立进行的,这样非常不利于提高系统的数据处理效率。请参考图1,图I中所示为多个源端口直接目的端口连接的示意图,其中源端口要么为时效性源端口,要么为非时效性源端口。

发明内容
本发明要解决的技术问题是,克服现有技术中不能实现时效性源端口与非时效性源端口在同一机制中对目的端进行数据处理的问题,提供一种时效性源端口与非时效性源端口混合时的数据处理方法及装置。为解决上述技术问题,本发明提供一种多源端口的数据处理方法,包括设置各源端口的优先级;判断目的端对应的源端口数量是一个还是多个,在源端口数量为一个时,则直接处理该源端口的命令;在源端口数量为多个时,则根据操作该目的端的多个源端口的优先级分别对各源端口的命令进行处理。所述多源端口包括时效性源端口和非时效性源端口,时效性源端口的优先级高于非时效性源端口的优先级。所述方法还包括判断源端口的时钟信号与目的端口的时钟信号是否同步,若否,则将源端口的时钟信号同步到目的端口的时钟信号上。所述方法还包括判断各源端口间的数据位宽是否一致,若否,将各源端口的数据位宽统一为源端口中数据位宽的最大值。所述方法还包括根据统一前和统一后的数据设置相应的数据位宽开关。 所述方法还包括判断各源端口的地址单位位宽是否一致,若否,则统一各源端口间的地址单位位宽。
所述方法还包括判断各源端口的地址位宽是否一致,若否,则统一各源端口间的地址位宽。进行数据位宽统一时,采用高位加零法、或复制原有数据法、或者复制原有数据及高位加零法或插零法。所述方法还包括将各源端口的读写数据总线分离。本发明还提供一种多源端口的数据处理装置,包括处理单元,用于设置各源端口的优先级;仲裁单元,用于在对于同一目的端,如果操作该目的端的源端口为一个,则直接处理该源端口的命令;如果操作该目的端的源端口为多个,则根据操作该目的端的多个源端口的优先级分别对各源端口的命令进行处理。以及,数据处理单元,用于在各源端口的数据位宽不一致时,统一各源端口的数据 位宽,在各源端口的地址单位位宽不一致时,统一各源端口的地址单位位宽,在各源端口的地址位宽不一致时,统一匹配各源端口的地址位宽;矩阵接口单元,用于将各源端口的命令以矩阵的形式输出到对应的目的端口。所述仲裁单元的个数与目的端的个数相同。本发明的有益效果是根据时效性源端口与非时效性源端口的特点设置时效性源端口与非时效性源端口的优先级,对于同一个目的端,优先处理优先级高的接口,对于不同的目的端,直接对各源端口的命令进行处理。通过设置优先级,大大地提高了混合源端口的数据处理效率。


图I为现有技术中多个源端接口与多个目的端交互的示意图;图2为本发明多个源端接口与多个目的端交互的示意图;图3为本发明一种实施例中数据交换装置的示意图,其中未示出目的端口 ;图4为本发明一种实施例中匹配数据位宽的流程图;图5为本发明一种实施例中设置字节开关的流程图;图6为本发明一种实施例中统一地址单位位宽的流程图;图7为本发明一种实施例中统一地址位宽的流程图;图8为本发明一种实施例中读操作数据处理方法的流程图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。请参考图4-8,其中所示为本发明数据处理的方法。首先需要说明的是,本发明针对的多源端口,尤其是混合源端口,即时效性源端口和非时效性源端口。一般地,时效性源端口的优先级高于非时效性源端口的优先级,而在各个时效性源端口之间,以及在各个非时效性源端口之间,各个时效性源端口或非时效性源端口的优先级与其数据流量有关,数据流量越小的,优先级越高。总的来说,本发明提供的数据处理方法为首先确定各源端口的优先级,对于同一目的端,如果操作该目的端的源端口为一个,则直接处理该源端口的命令;如果操作该目的端的源端口为多个,则根据操作该目的端的多个源端口的优先级分别对各源端口的命令进行处理。进一步地,为了提高处理效率,将处理的接口以矩阵的形式输出到对应的目的端口。在一种实施例中,为了提高多个混合源端口处理数据的效率,在进行数据处理之前,首先进行各个端口数据格式的统一,其中包括数据位宽、地址单位以及地址位宽的统一。下面分别对其具体做法作出说明I、统一数据位宽不同源端口的数据位宽可能不同,这样不利于提高数据处理效率,为了提高数据处理效率,将各个源端口的数据位宽统一到所有源端口中数据位宽的最大值。例如,有3个源端口,其中源端 口 0的数据位宽为8bit,源端口 I的数据位宽为16bit,源端口 2的数据位宽为64bit。那么需要将源端口 0以及源端口 I的数据位宽扩展到64bit。具体的,可以采用以下两种做法,其一为高位添0,其二为复制原有的数据。当采用复制原有数据的做法时,包括两种情况一种是源端口的数据位宽均为2n*8bit整数倍的情况,在上述例子中,将源端口 0的数据复制8次,将源端口 I的数据复制4次即可得到64位的数据。另一种情况是如果源端口的数据位宽不是2n*8bit的整数倍,例如源0的数据位宽为10,则需在高位添6个0,然后将得到的数据复制4次以得到位宽为64bit的数据,即在数据位宽不是2n*8bit的整数倍时,通过添0的方式使其为最接近的2n*8bit整数倍的数据,然后再通过复制其数据实现数据位宽的匹配。还可以采用插零法,即通过插0的方式实现数据位宽的匹配,但是插0的方式与源端口地址的低2bit的值相关。假设源端口的数据为0x1234,需要将其统一为64bit的数据,采用插0的方式,当源端口地址的低2bit为00时,则统一后的数据为0x0000000000001234 ;当源端口地址的低2bit为01时,统一后的数据为0x0000000012340000 ;当源端口地址的低2bit为10时,统一后的数据为0x0000123400000000 ;当源端口地址的低2bit为11时,统一后的数据为0x1234000000000000。数据位宽统一后,方便了数据的处理操作,但是在目的端需要保证原数据位宽不变。我们通过设计数据位宽开关来解决此问题例如,源端口 0的Sbit数据被同步到64bit数据位宽,则其数据位宽开关的值应为00000001,其中数据位宽开关中每位数值对应数据中的8比特,即数据位宽开关的第0位对应统一后数据的0-7bit,数据位宽开关的第I位对应统一后数据的第8-15bit,依此类推,数据位宽开关第7位对应的统一后数据的第56-63bit。当直接开关的值为00000001,表示该64bit的数据中只有第0_7为有效数据,即真正的数据位宽为8bit。下面以源端口为16bit数据0x1234为例,说明将其统一为64位数据插0的方法以及相应的数据位宽开关的设计
地址低2bit值源接口 16bit数据匹配64bit数据数据位宽开关
000x12340x0000000000001234 00000011
010x12340x0000000012340000 00001100 ~10 0x1234 0x0000123400000000 00110000
权利要求
1.一种多源端口的数据处理方法,其特征在于,设置各源端口的优先级,所述方法包括 判断目的端对应的源端口数量是一个还是多个,在源端口数量为一个时,则直接处理该源端口的命令;在源端口数量为多个时,则根据操作该目的端的多个源端口的优先级分别对各源端口的命令进行处理。
2.如权利要求I所述的方法,其特征在于,所述多源端口包括时效性源端口和非时效性源端口,时效性源端口的优先级高于非时效性源端口的优先级。
3.如权利要求2所述的方法,其特征在于,所述方法还包括判断源端口的时钟信号与目的端口的时钟信号是否同步,若否,则将源端口的时钟信号同步到目的端口的时钟信号上。
4.如权利要求3所述的方法,其特征在于,所述方法还包括判断各源端口间的数据位宽是否一致,若否,则将各源端口的数据位宽统一为源端口中数据位宽的最大值。
5.如权利要求4所述的方法,其特征在于,所述方法还包括根据统一前和统一后的数据设置相应的数据位宽开关。
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括判断各源端口的地址单位位宽是否一致,若否,则统一各源端口间的地址单位位宽。
7.如权利要求6所述的方法,其特征在于,所述方法还包括判断各源端口的地址位宽是否一致,若否,则将各源端口间的地址位宽统一为源端口地址位宽的最大值。
8.如权利要求4或5所述的方法,其特征在于,进行数据位宽匹配时,采用高位加零法、或复制原有数据法、或者复制原有数据及高位加零法、或者插零法。
9.如权利要求I所述的方法,其特征在于,所述方法还包括将各源端口的读写数据总线分离。
10.一种多源端口的数据处理装置,其特征在于,包括 处理单元,用于设置各源端口的优先级; 仲裁单元,用于在对于同一目的端,如果操作该目的端的源端口为一个,则直接处理该源端口的命令;如果操作该目的端的源端口为多个,则根据操作该目的端的多个源端口的优先级分别对各源端口的命令进行处理。
11.如权利要求10所述的数据处理装置,其特征在于,还包括 数据处理单元,用于在各源端口的数据位宽不一致时,统一各源端口的数据位宽,在各源端口的地址单位位宽不一致时,统一各源端口的地址单位位宽,在各源端口的地址位宽不一致时,统一各源端口的地址位宽; 矩阵接口单元,用于将各源端口的命令以矩阵的形式输出到对应的目的端口。
12.如权利要求10所述的数据处理装置,其特征在于,所述仲裁单元的个数与目的端的个数相同。
全文摘要
本发明公开了一种多源端口的数据处理方法,所述方法包括设置各源端口的优先级;然后判断操作同一目的端口的源端口的个数,当所述操作同一目的端口的源端口为一个时,直接处理源端口的命令,当所述操作同一目的端口的源端口为多个时,根据所述多个源端口的优先级分别处理多个源端口的命令。进一步地,该方法还包括统一各源端口的数据位宽、地址位宽、地址单位位宽以及统一各源端口与目的端口的时钟信号。另外还将源端口的读写操作分离。不仅解决了混合源端口(包括时效性源端口和非时效性源端口)的数据处理问题,而且还大大地提高了数据处理的效率,简化了目的端口的设计。另外本发明还公开了一种多源端口的数据处理装置。
文档编号G06F13/40GK102799549SQ201110133678
公开日2012年11月28日 申请日期2011年5月23日 优先权日2011年5月23日
发明者余金清, 陈德炜, 肖永生 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1