WO2012159405A1 - 一种多源端口的数据处理方法及装置 - Google Patents

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

Info

Publication number
WO2012159405A1
WO2012159405A1 PCT/CN2011/080663 CN2011080663W WO2012159405A1 WO 2012159405 A1 WO2012159405 A1 WO 2012159405A1 CN 2011080663 W CN2011080663 W CN 2011080663W WO 2012159405 A1 WO2012159405 A1 WO 2012159405A1
Authority
WO
WIPO (PCT)
Prior art keywords
source port
source
port
data
address
Prior art date
Application number
PCT/CN2011/080663
Other languages
English (en)
French (fr)
Inventor
余金清
陈德炜
肖永生
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012159405A1 publication Critical patent/WO2012159405A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Definitions

  • the present invention relates to the field of data processing, and in particular, to a data processing method and apparatus for a multi-source port. Background technique
  • the source port is divided into a timed source port and a non-aging source port according to the time limit for data processing.
  • the time-sensitive source port refers to the data that the destination end is ready to read at a specified time when it initiates a read request operation, and sends the data to the read data bus, such as EMIF (external memory interface, External Memory). Interface ) is a time-sensitive interface.
  • a non-aging source port means that when it initiates a read request operation, the destination can prepare the data to be read in a convenient time and send the data to the read data bus, which is usually accompanied by a control.
  • a signal indicating that the data is valid, such as AXI (Advanced Extensible Interface) is a non-aging interface.
  • FIG. 1 is a schematic diagram of a plurality of source port direct destination port connections, where the source port is either a time-sensitive source port or a non-aging source port. Summary of the invention
  • the technical problem to be solved by the present invention is to overcome the problem that the time-sensitive source port and the non-aging source port can not perform data processing on the destination end in the same mechanism in the prior art, and provide a time-sensitive source port and non-time-effectiveness. Data processing method and device when source port is mixed.
  • the present invention provides a data processing method for a multi-source port, including: setting a priority of each source port; determining whether the number of source ports corresponding to the destination end is one or more, when the number of source ports is one And directly processing the command of the one source port; when the number of the source ports is multiple, processing the commands of the source ports according to the priorities of the multiple source ports of the destination end.
  • the multi-source port includes a time-sensitive source port and a non-aging source port, and the time-sensitive source port has a higher priority than the non-aging source port.
  • the method further includes: determining whether the clock signal of the source port is synchronized with the clock signal of the destination port, and if not, synchronizing the clock signal of the source port to the clock signal of the destination port.
  • the method further includes: determining whether the data bit widths of the source ports are consistent, and if not, unifying the data bit width of each source port to a maximum value of the data bit width in the source port.
  • the method further includes: setting a corresponding data bit width switch according to the pre-uniform and unified data.
  • the method further includes: determining whether the address unit width of each source port is consistent, and if not, unifying the address unit width between the source ports.
  • the method further includes: determining whether address bit widths of the source ports are consistent, and if not, unifying address bit widths between the source ports.
  • the high bit plus zero method is used, or the original data method is copied, or the original data is copied, and the high bit plus zero method or the zero insertion method is used.
  • the method also includes: separating the read and write data buses of the respective source ports.
  • the present invention also provides a multi-source port data processing apparatus, including: a processing unit, Setting the priority of each source port; the arbitration unit is configured to directly process the command of the one source port if the source port of the destination end is one for the same destination; For multiple, the commands of the source ports are respectively processed according to the priorities of the multiple source ports that operate the destination end.
  • the processing unit is further configured to: when the data bit widths of the source ports are different, the data bit width of each source port is unified, and when the address unit widths of the source ports are different, the address unit width of each source port is unified, When the address bit width of each source port is inconsistent, the address bit width of each source port is uniformly matched;
  • the device further includes: a matrix interface unit, configured to output commands of each source port in a matrix form to a corresponding destination port.
  • the number of the arbitration units is the same as the number of destinations.
  • the invention has the following advantages: the priority of the time source port and the non-time source port are set according to the characteristics of the time source port and the non-time source port, and the interface with the higher priority is preferentially processed for the same destination. Different destinations directly process commands from each source port. By setting the priority, the data processing efficiency of the hybrid source port is greatly improved.
  • FIG. 1 is a schematic diagram of interaction between multiple source interfaces and multiple destinations in the prior art
  • FIG. 2 is a schematic diagram of interaction between multiple source interfaces and multiple destinations according to the present invention
  • FIG. 3 is a schematic diagram of a data exchange device according to an embodiment of the present invention, in which a destination port is not shown;
  • FIG. 5 is a flowchart of setting a byte switch in an embodiment of the present invention.
  • FIG. 6 is a flowchart of a uniform address unit bit width in an embodiment of the present invention.
  • FIG. 7 is a flowchart of a uniform address bit width in an embodiment of the present invention.
  • FIG. 8 is a flowchart of a method for processing read operation data according to an embodiment of the present invention. detailed description
  • the present invention is directed to a multi-source port, particularly a hybrid source port, an immediate source port, and a non-aging source port.
  • the time source port has a higher priority than the non-aging source port, and between the time source ports, and between the non-aging source ports, each time source port or non-aging
  • the priority of a sexual source port is related to its data traffic. The smaller the data traffic, the higher the priority.
  • the data processing method provided by the present invention is: first determining the priority of each source port, and if the source port of the destination end is one for the same destination, directly processing the command of the source port; If there are multiple source ports on the destination end, the commands of each source port are processed according to the priorities of multiple source ports on the destination end. Further, in order to improve processing efficiency, the processed interface is output to the corresponding destination port in the form of a matrix.
  • the data format of each port is unified first, including data bit width, address unit width, and address bit width.
  • Uniform data bit width The data bit width of different source ports may be different, which is not conducive to improving data processing efficiency. In order to improve data processing efficiency and determine whether the data bit width between source ports is consistent, if not, each source is The data bit width of the port is unified to the maximum value of the data bit width in all source ports. For example, there are three source ports, where the data bit width of source port 0 is 8 bits, the data bit width of source port 1 is 16 bits, and the data bit width of source port 2 is 64 bits. Then you need to extend the data bit width of source port 0 and source port 1 to 64 bits.
  • the following two methods can be used, one of which adds 0 to the high bit (ie, the high bit plus zero method), and the second is to copy the original data (ie, copy the original data method).
  • the original data is copied, there are two cases: One is when the data bit width of the source port is 2 n * 8 bit integer multiples. In the above example, the data of the source port 0 is copied 8 Times, the data of source port 1 is copied 4 times to obtain 64-bit data. The other case is: If the data bit width of the source port is not an integer multiple of 2 n *8bit, for example, the data bit width of source 0 is 10, then you need to add 6 0s to the high bit, and then copy the obtained data 4 times.
  • the zero insertion method that is, the data bit width is matched by inserting 0, but the method of inserting 0 is related to the value of the lower 2 bits of the source port address.
  • the data of the source port is 0x1234, and it needs to be unified into 64-bit data.
  • the low-bit 2 bits of the source port address are 00
  • the unified data is 0x0000000000001234.
  • the source port address is low 2 bits, 01
  • the unified data is 0x0000000012340000;
  • the lower 2bit of the source port address is 10
  • the unified data is 0x0000123400000000
  • the lower 2bit of the source port address is 11, the unified data is 0x1234000000000000.
  • the data bit width switch that is, setting the corresponding data bit width switch according to the pre-uniform and unified data: For example, the 8-bit data of the source port 0 is synchronized to the 64-bit data bit width, and the data bit width thereof is The value of the switch should be 00000001, where each value of the data bit width switch corresponds to 8 bits in the data, that is, the 0th bit of the data bit width switch corresponds to the 0-7 bit of the unified data, and the 1st bit of the data bit width switch corresponds.
  • the value of the direct switch is 00000001, it means that only 0-7 of the 64-bit data is valid data, that is, the true data bit width is 8 bits.
  • the following takes the source port as 16-bit data 0x1234 as an example to illustrate the method of unifying it into 64-bit data insertion 0 and the corresponding data bit width switch design: 00 0x1234 0x0000000000001234 00000011
  • Uniform source port address unit width Determine whether the address unit width of each source port is the same. If not, unify the address unit width between each source port. For example, there are 3 source ports, of which source port 0 The address unit width is 16 bits, the source port 1 address unit width is 32 bits, and the source port 2 address unit width is 64 bits. Then, the address unit width of the unified three source ports is an integer multiple of 2 n *8 bits, such as To unify the address unit width of these three source ports to 8 bits, you need to add a 0 to the lowest address of the source port 0, add two 0s to the lowest address of the source port 1, and the lowest address of the source port 2. Add three zeros.
  • the address unit width of these three source ports is unified to 16 bits, you do not need to change the address of source port 0. You need to add a 0 to the lowest address of source port 1 and the address of source port 2. The lowest bit adds two zeros. If the address unit width is unified to 64 bits, the 0-1 bit of the source port 0 address needs to be removed, and the 0th bit of the source port 1 address is removed, and the source port 2 address is not changed.
  • Uniform source port address bit width Determine whether the address bit width of each source port is the same. If not, the address bit width between each source port is unified to the maximum value of the source port address bit width. In the implementation manner, the address bit width of the unified source port can more effectively improve the processing efficiency of the source port command.
  • the source port address bit width mentioned here refers to the bit width of the address at which the source port can operate. There are two unified standards, one is to unify the address bit width of each source port to the maximum address bit width, and the other is to unify the address bit width of each source port to the maximum effective address bit width.
  • the uniform address bit width is inserted into the 0 mode, but the inserted position is related to the number of destinations.
  • the address bit width of source port 0 is 16 bits
  • the address bit width of source port 1 is 20 bits
  • the address bit width of source port 2 is 32 bits.
  • the read and write operations of the source port are independently designed.
  • the specific method is to parse the corresponding read and write channel addresses and data buses of a source port of a common data bus, thereby implementing read and write channels. independent.
  • the command request of the time source port is handled by the read and write interrupt modes. It is assumed that at some point, the data processing device is responding to a read or write operation of a lower priority source port, and if a read or write operation of a high priority source port is encountered, the read of the lower priority source port is interrupted or Write operations instead of responding to higher priority read or write operations. And after processing the operation of the higher priority port, it responds to the interrupted operation.
  • the interrupt processing method the problem of different timeliness of multiple interfaces can be effectively solved, and the efficiency of data processing is improved.
  • Figure 8 shows the flow chart of the data processing of the read operation.
  • the source port When the source port has a data request, it is judged whether it is a read request or a write request, and then the corresponding channel is selected for processing.
  • Figure 8 shows the flow chart of the data processing when the request is read.
  • the arbitration unit corresponding to the destination port performs arbitration processing, that is, sets the priority of data operation of each source port, preferentially processes the read request operation with higher priority, and sends the processing result of each arbitration unit to the matrix interface unit, so that each destination port is respectively Read the request for processing.
  • the write request operation is processed in the same way, except that the write operation and the read operation are performed in different channels.
  • the present invention further provides a data processing apparatus for a multi-source port, including processing. Unit, arbitration unit, and matrix interface unit.
  • the processing unit is configured to determine a priority of the port according to the data port of the time port or the non-time-sensitive port and the port, and also used to synchronize the clock signal of the source port and the destination port, and match the data of each source port.
  • the address unit width of each source port is inconsistent, the source ports are unified.
  • the address unit is wide. When the address width of each source port is inconsistent, the address bit width of each source port is unified.
  • the arbitration unit is configured to directly process the command of the one source port if the source port of the destination end is one for the same destination, and if the source port of the destination end is multiple, according to the operation
  • the priority of the plurality of source ports of the destination determines the processing order of each source port, and interrupts the operation of the lower priority source port when the source port with the higher priority issues a request.
  • the matrix interface unit is configured to output operation commands of each source port to the destination port in a matrix form to the corresponding destination port, thereby improving data exchange efficiency between the destination port and the source port.
  • the invention firstly sets the priority of the source port and the non-time-sensitive priority.
  • the request is processed according to their priority; and the present invention also uses data.
  • the address unit width and the address bit width are unified to facilitate the addressing operation of the source port to the destination port, and the data bit width is unified, which facilitates data processing, improves the efficiency of source port data processing, and also sources
  • the port read and write operations are separated (that is, the read/write data bus of each source port is separated), which further improves the efficiency of source port data processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

公开了一种多源端口的数据处理方法,所述方法包括:设置各源端口的优先级;然后判断操作同一目的端口的源端口的个数,当操作同一源端口的命令目的端口的源端口为一个时,直接处理源端口的命令,当操作同一源端口的命令目的端口的源端口为多个时,根据所述多个源端口的优先级分别处理多个源端口的命令。进一步地,该方法还包括统一各源端口的数据位宽、地址位宽、地址单位位宽以及统一各源端口与目的端口的时钟信号。另外还将源端口的读写操作分离。还公开了一种多源端口的数据处理装置。本方案不仅解决了混合源端口(包括时效性端口和非时效性端口)的数据处理问题,而且还大大提高了数据处理的效率,简化了目的端口的设计。

Description

一种多源端口的数据处理方法及装置 技术领域
本发明涉及数据处理领域, 尤其涉及一种多源端口的数据处理方法及 装置。 背景技术
一般地, 源端口与目的端口之间存在 4种数据交换模式: 一对一、 一 对多、 多对一、 多对多。 其中以多个源端口对应多个目的端口最为复杂。
源端口按照其对数据处理的时效要求分为时效性源端口与非时效性源 端口。 时效性源端口, 是指当其发起读请求操作时, 要求目的端在规定的 时间准备好待读取的数据, 并将该数据发送到读数据总线上, 如 EMIF (外 部存储器接口, External Memory Interface )为时效性接口。非时效性源端口, 是指当其发起读请求操作时, 目的端可以在方便的时间内将被读的数据准 备好, 并将该数据发送到读数据总线上, 该数据通常都会伴随一个控制信 号, 表示该数据有效, 如 AXI ( Advanced Extensible Interface, 高速可扩展 接口 ) 为非时效性接口。
通常在 FPGA ( Field Programmable Gate Array, 现场可编程门阵列) /ASIC ( Application Specific Integrated Circuit, 专用集成电路)接口中, 时 效性源端口与非时效性源端口是同时并存的,它们经常被用来对同一个(或 多个) 目的端进行数据交换, 而现有技术中由于缺乏有效的机制, 时效性 源端口与非时效性源端口的数据处理是分开的、 独立进行的, 这样非常不 利于提高系统的数据处理效率。请参照图 1 , 图 1中所示为多个源端口直接 目的端口连接的示意图, 其中源端口要么为时效性源端口, 要么为非时效 性源端口。 发明内容
本发明要解决的技术问题是, 克服现有技术中不能实现时效性源端口 与非时效性源端口在同一机制中对目的端进行数据处理的问题, 提供一种 时效性源端口与非时效性源端口混合时的数据处理方法及装置。
为解决上述技术问题, 本发明提供一种多源端口的数据处理方法, 包 括: 设置各源端口的优先级; 判断目的端对应的源端口数量是一个还是多 个, 在源端口数量为一个时, 则直接处理所述一个源端口的命令; 在源端 口数量为多个时, 则根据操作所述目的端的多个源端口的优先级分别对各 源端口的命令进行处理。
所述多源端口包括时效性源端口和非时效性源端口, 时效性源端口的 优先级高于非时效性源端口的优先级。
所述方法还包括: 判断源端口的时钟信号与目的端口的时钟信号是否 同步, 若否, 则将源端口的时钟信号同步到目的端口的时钟信号上。
所述方法还包括: 判断各源端口间的数据位宽是否一致, 若否, 将各 源端口的数据位宽统一为源端口中数据位宽的最大值。
所述方法还包括: 根据统一前和统一后的数据设置相应的数据位宽开 关。
所述方法还包括: 判断各源端口的地址单位位宽是否一致, 若否, 则 统一各源端口间的地址单位位宽。
所述方法还包括: 判断各源端口的地址位宽是否一致, 若否, 则统一 各源端口间的地址位宽。
进行数据位宽统一时, 采用高位加零法、 或复制原有数据法、 或者复 制原有数据及高位加零法或插零法。
所述方法还包括: 将各源端口的读写数据总线分离。
本发明还提供一种多源端口的数据处理装置, 包括: 处理单元, 用于 设置各源端口的优先级; 仲裁单元, 用于在对于同一目的端, 如果操作所 述目的端的源端口为一个, 则直接处理所述一个源端口的命令; 如果操作 所述目的端的源端口为多个, 则根据操作所述目的端的多个源端口的优先 级分别对各源端口的命令进行处理。
所述处理单元进一步用于, 在各源端口的数据位宽不一致时, 统一各 源端口的数据位宽, 在各源端口的地址单位位宽不一致时, 统一各源端口 的地址单位位宽, 在各源端口的地址位宽不一致时, 统一匹配各源端口的 地址位宽;
所述装置还包括: 矩阵接口单元, 用于将各源端口的命令以矩阵的形 式输出到对应的目的端口。
所述仲裁单元的个数与目的端的个数相同。
本发明的有益效果是: 根据时效性源端口与非时效性源端口的特点设 置时效性源端口与非时效性源端口的优先级, 对于同一个目的端, 优先处 理优先级高的接口, 对于不同的目的端, 直接对各源端口的命令进行处理。 通过设置优先级, 大大地提高了混合源端口的数据处理效率。 附图说明
图 1为现有技术中多个源端接口与多个目的端交互的示意图; 图 2为本发明多个源端接口与多个目的端交互的示意图;
图 3 为本发明一种实施例中数据交换装置的示意图, 其中未示出目的 端口;
图 4为本发明一种实施例中匹配数据位宽的流程图;
图 5为本发明一种实施例中设置字节开关的流程图;
图 6为本发明一种实施例中统一地址单位位宽的流程图;
图 7为本发明一种实施例中统一地址位宽的流程图;
图 8为本发明一种实施例中读操作数据处理方法的流程图。 具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
请参照图 4-8,其中所示为本发明数据处理的方法。首先需要说明的是, 本发明针对的多源端口, 尤其是混合源端口, 即时效性源端口和非时效性 源端口。 一般地, 时效性源端口的优先级高于非时效性源端口的优先级, 而在各个时效性源端口之间, 以及在各个非时效性源端口之间, 各个时效 性源端口或非时效性源端口的优先级与其数据流量有关, 数据流量越小的, 优先级越高。 总的来说, 本发明提供的数据处理方法为: 首先确定各源端 口的优先级, 对于同一目的端, 如果操作该目的端的源端口为一个, 则直 接处理该源端口的命令; 如果操作该目的端的源端口为多个, 则根据操作 该目的端的多个源端口的优先级分别对各源端口的命令进行处理。 进一步 地, 为了提高处理效率, 将处理的接口以矩阵的形式输出到对应的目的端 口。
在一种实施例中, 为了提高多个混合源端口处理数据的效率, 在进行 数据处理之前, 首先进行各个端口数据格式的统一, 其中包括数据位宽、 地址单位位宽以及地址位宽的统一。 下面分别对其具体故法作出说明:
1、 统一数据位宽: 不同源端口的数据位宽可能不同, 这样不利于提高 数据处理效率, 为了提高数据处理效率、 判断各源端口间的数据位宽是否 一致, 若否, 则将各个源端口的数据位宽统一到所有源端口中数据位宽的 最大值。 例如, 有 3个源端口, 其中源端口 0的数据位宽为 8bit, 源端口 1 的数据位宽为 16bit, 源端口 2的数据位宽为 64bit。 那么需要将源端口 0以 及源端口 1的数据位宽扩展到 64bit。 具体的, 可以采用以下两种做法, 其 一为高位添 0 (即高位加零法), 其二为复制原有的数据 (即复制原有数据 法)。 当采用复制原有数据的做法时, 包括两种情况: 一种是源端口的数据 位宽均为 2n*8bit整数倍的情况, 在上述例子中, 将源端口 0的数据复制 8 次, 将源端口 1的数据复制 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的 8bit数据被 同步到 64bit数据位宽, 则其数据位宽开关的值应为 00000001 ,其中数据位 宽开关中每位数值对应数据中的 8比特, 即数据位宽开关的第 0位对应统 一后数据的 0-7bit,数据位宽开关的第 1位对应统一后数据的第 8-15bit,依 此类推, 数据位宽开关第 7位对应的统一后数据的第 56-63bit。 当直接开关 的值为 00000001 , 表示该 64bit的数据中只有第 0-7为有效数据, 即真正的 数据位宽为 8bit。
下面以源端口为 16bit数据 0x1234为例, 说明将其统一为 64位数据插 0的方法以及相应的数据位宽开关的设计:
Figure imgf000007_0001
00 0x1234 0x0000000000001234 00000011
01 0x1234 0x0000000012340000 00001100
10 0x1234 0x0000123400000000 00110000
11 0x1234 0x1234000000000000 11000000
2、统一源端口地址单位位宽:判断各源端口的地址单位位宽是否一致, 若否, 则统一各源端口间的地址单位位宽, 例如, 有 3个源端口, 其中源 端口 0的地址单位位宽为 16bit, 源端口 1的地址单位位宽为 32bit, 源端口 2的地址单位位宽为 64bit, 那么统一 3个源端口的地址单位位宽为 2n*8bit 的整数倍,如将这 3个源端口的地址单位位宽统一为 8bit, 则需要在源端口 0的地址最低位加一个 0, 在源端口 1的地址最低位加两个 0, 在源端口 2 的地址最低位加三个 0, 如果将这 3个源端口的地址单位位宽统一为 16bit, 则不需要改变源端口 0的地址, 需在源端口 1的地址最低位加一个 0, 在源 端口 2的地址最低位加两个 0。 如果将地址单位位宽统一为 64bit, 则需要 将源端口 0地址的第 0-1位去掉,将源端口 1地址的第 0位去掉, 不改变源 端口 2的地址。
3、统一源端口的地址位宽: 判断各源端口的地址位宽是否一致, 若否, 则将各源端口间的地址位宽统一为源端口地址位宽的最大值, 在一种较佳 的实施方式中, 统一源端口的地址位宽可以更加有效地提高源端口命令的 处理效率。 这里所提到的源端口地址位宽指源端口可操作的地址的位宽。 统一的标准有两个, 其一为将各源端口的地址位宽统一到最大地址位宽上, 其二为将各源端口的地址位宽统一到最大有效地址位宽上。 统一地址位宽 采用插 0的方式, 但是插入的位置与目的端的个数有关, 这是因为需要将 地址数据的高位留作选通目的端。 例如, 源端口 0的地址位宽为 16bit, 源 端口 1的地址位宽为 20bit, 源端口 2的地址位宽为 32bit。 采用统一到最大 地址位宽的方式,则需要对源端口 0和源端口 1分别插入 16bit和 12bit的 0 来扩展它们的地址位宽。 这里, 插 0的位置与目的端的个数有关, 假设目 的端有 m个, 则需满足 2n〉=m, 其中 n为从高位向低位计数插入 0的位置, 如有目的端 5个, 那么 n值应该为 3 , 即插入 0的位置应该为地址的 13位 与 12位之间。
在另一种实施例中, 在进行数据处理操作前, 比较各个源端口的时钟 信号是否与目的端口的时钟信号同步, 如果不同步, 则将各个源端口的时 钟信号同步到目的端口的时钟信号上。 这样做, 是为了使后面的操作具有 更高的效率和准确性, 避免了异步时序中容易出错的问题。
在一种实施例中, 将源端口的读写操作独立设计, 其具体做法是将采 用一套公用数据总线的源端口相应的读、 写通道地址与数据总线解析出来, 从而实现读写通道的独立。
通过读、 写中断方式来处理时效性源端口的命令请求。 假设在某一刻, 数据处理装置正在响应优先级较低的源端口的读或写操作, 若遇到优先级 高的源端口的读或写操作, 则中断优先级较低的源端口的读或写操作, 改 为响应优先级较高的读或写操作。 并且处理完优先级较高端口的操作后, 再响应中断的操作。 通过中断处理方式, 可以有效解决多接口的不同时效 性的问题, 提高数据处理的效率。
请参照图 8, 图中所示为读操作数据处理的流程图。 当源端口有数据请 求时, 判断是读请求还是写请求, 然后选择相应的通道进行处理。 图 8 中 所示为读请求时数据处理的流程图, 源端口发送读请求信息后, 通过通道 选通使能选择各源端口需要操作的目的端口, 然后将各源端口的读请求信 息发送个对应目的端口的仲裁单元进行仲裁处理, 即设置各源端口数据操 作的优先级, 优先处理优先级高的读请求操作, 将各仲裁单元的处理结果 发送到矩阵接口单元, 使各目的端口分别对读请求进行处理。 写请求操作 按照同样的方法进行处理, 只是写操作与读操作分别在不同的通道中进行。
请参照图 2-3 , 本发明还提供一种多源端口的数据处理装置, 包括处理 单元、 仲裁单元以及矩阵接口单元。 所述处理单元, 用于根据源端口为时 效性端口或者非时效性端口以及端口的数据流量确定端口的优先级; 还用 于同步源端口与目的端口的时钟信号, 以及匹配各源端口的数据位宽、 地 址单位位宽、 地址位宽等; 在各源端口的数据位宽不一致时, 统一各源端 口的数据位宽, 在各源端口的地址单位位宽不一致时, 统一各源端口的地 址单位位宽, 在各源端口的地址位宽不一致时, 统一各源端口的地址位宽。 进行数据位宽匹配时, 采用高位加零法、 或复制原有数据法、 或者复制原 有数据及高位加零法、 或者插零法。 所述仲裁单元, 用于在对于同一目的 端, 如果操作所述目的端的源端口为一个, 则直接处理所述一个源端口的 命令; 如果操作所述目的端的源端口为多个, 则根据操作所述目的端的多 个源端口的优先级确定各源端口的处理次序, 并且在有较高优先级的源端 口发出请求时中断较低优先级源端口的操作。 所述矩阵接口单元, 用于将 各源端口对目的端口的操作命令以矩阵的形式输出到对应的目的端口, 提 高目的端口及源端口之间数据交换的效率。
本发明首先通过设置时效性源端口与非时效性的优先级, 当有多个源 端口对同一个目的端口发送数据请求时, 根据其优先级对其请求进行处理; 并且本发明还将数据的地址单位位宽以及地址位宽进行了统一, 以方便源 端口对目的端口的寻址操作, 还统一了数据位宽, 方便了数据的处理, 提 高了源端口数据处理的效率; 并且还将源端口的读写操作分离 (即将各源 端口的读写数据总线分离 ), 进一步地提高了源端口数据处理的效率。
能认定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的 普通技术人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单 推演或替换, 都应当视为属于本发明的保护范围。

Claims

权利要求书
1、 一种多源端口的数据处理方法, 其特征在于, 设置各源端口的优先 级, 所述方法包括:
判断目的端对应的源端口数量是一个还是多个, 在源端口数量为一个 时, 则直接处理所述一个源端口的命令; 在源端口数量为多个时, 则根据 操作所述目的端的多个源端口的优先级分别对各源端口的命令进行处理。
2、 如权利要求 1所述的方法, 其特征在于, 所述多源端口包括时效性 源端口和非时效性源端口, 时效性源端口的优先级高于非时效性源端口的 优先级。
3、 如权利要求 2所述的方法, 其特征在于, 所述方法还包括: 判断源 端口的时钟信号与目的端口的时钟信号是否同步, 若否, 则将源端口的时 钟信号同步到目的端口的时钟信号上。
4、 如权利要求 3所述的方法, 其特征在于, 所述方法还包括: 判断各 源端口间的数据位宽是否一致, 若否, 则将各源端口的数据位宽统一为源 端口中数据位宽的最大值。
5、 如权利要求 4所述的方法, 其特征在于, 所述方法还包括: 根据统 一前和统一后的数据设置相应的数据位宽开关。
6、 如权利要求 4或 5所述的方法, 其特征在于, 所述方法还包括: 判 断各源端口的地址单位位宽是否一致, 若否, 则统一各源端口间的地址单 位位覔。
7、 如权利要求 6所述的方法, 其特征在于, 所述方法还包括: 判断各 源端口的地址位宽是否一致, 若否, 则将各源端口间的地址位宽统一为源 端口地址位宽的最大值。
8、如权利要求 4或 5所述的方法,其特征在于,进行数据位宽匹配时, 采用高位加零法、 或复制原有数据法、 或者复制原有数据及高位加零法、 或者插零法。
9、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 将各源 端口的读写数据总线分离。
10、 一种多源端口的数据处理装置, 其特征在于, 包括:
处理单元, 用于设置各源端口的优先级;
仲裁单元, 用于在对于同一目的端, 如果操作所述目的端的源端口为 一个, 则直接处理所述一个源端口的命令; 如果操作所述目的端的源端口 为多个, 则根据操作所述目的端的多个源端口的优先级分别对各源端口的 命令进行处理。
11、 如权利要求 10所述的数据处理装置, 其特征在于, 所述处理单元 进一步用于, 在各源端口的数据位宽不一致时, 统一各源端口的数据位宽, 在各源端口的地址单位位宽不一致时, 统一各源端口的地址单位位宽, 在 各源端口的地址位宽不一致时, 统一各源端口的地址位宽;
所述装置还包括: 矩阵接口单元, 用于将各源端口的命令以矩阵的形 式输出到对应的目的端口。
12、 如权利要求 10所述的数据处理装置, 其特征在于, 所述仲裁单元 的个数与目的端的个数相同。
PCT/CN2011/080663 2011-05-23 2011-10-11 一种多源端口的数据处理方法及装置 WO2012159405A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2011101336783A CN102799549A (zh) 2011-05-23 2011-05-23 一种多源端口的数据处理方法及装置
CN201110133678.3 2011-05-23

Publications (1)

Publication Number Publication Date
WO2012159405A1 true WO2012159405A1 (zh) 2012-11-29

Family

ID=47198662

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080663 WO2012159405A1 (zh) 2011-05-23 2011-10-11 一种多源端口的数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN102799549A (zh)
WO (1) WO2012159405A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6452719B2 (ja) 2014-04-03 2019-01-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド フィールドプログラマブルゲートアレイ及び通信方法
CN106911599A (zh) * 2015-12-23 2017-06-30 大唐半导体设计有限公司 一种处理基带信号的方法和装置
CN107943727B (zh) * 2017-12-08 2021-02-09 深圳市德赛微电子技术有限公司 一种高效dma控制器
CN117667466A (zh) * 2024-02-01 2024-03-08 井芯微电子技术(天津)有限公司 一种中断处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426204A (zh) * 2001-12-11 2003-06-25 财团法人资讯工业策进会 自动驱使变更封包长度以符合通道宽度的系统与方法
CN101009579A (zh) * 2006-01-25 2007-08-01 中兴通讯股份有限公司 一种保护互联网协议语音技术网关媒体通道的方法
CN101252676A (zh) * 2008-03-28 2008-08-27 中兴通讯股份有限公司 多媒体移动终端及自动选择多媒体节目来源的方法
CN101741722A (zh) * 2009-12-10 2010-06-16 中兴通讯股份有限公司 数据交互方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266748B1 (en) * 1999-03-30 2001-07-24 Integrated Device Technology, Inc. Priority encoding for FIFO memory devices that interface multiple ports to a data receiving device
AU2003228058A1 (en) * 2002-05-24 2003-12-12 Koninklijke Philips Electronics N.V. Programmed access latency in mock multiport memory
CN101169771B (zh) * 2007-11-30 2010-06-02 华为技术有限公司 一种axi内部总线的外部接口装置及其数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426204A (zh) * 2001-12-11 2003-06-25 财团法人资讯工业策进会 自动驱使变更封包长度以符合通道宽度的系统与方法
CN101009579A (zh) * 2006-01-25 2007-08-01 中兴通讯股份有限公司 一种保护互联网协议语音技术网关媒体通道的方法
CN101252676A (zh) * 2008-03-28 2008-08-27 中兴通讯股份有限公司 多媒体移动终端及自动选择多媒体节目来源的方法
CN101741722A (zh) * 2009-12-10 2010-06-16 中兴通讯股份有限公司 数据交互方法及装置

Also Published As

Publication number Publication date
CN102799549A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
US8103803B2 (en) Communication between a processor and a controller
JP4685800B2 (ja) スケーラブルなバス構造
EP1709543B1 (en) A multiple address two channel bus structure
TWI447578B (zh) 用於以封包切換為基礎的邏輯複製之方法和系統
US8838869B1 (en) Multi-protocol data bus interface
US9021171B2 (en) Bus system including a master device, a slave device, an interconnector coupled between the master device and the slave device, and an operating method thereof
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
CN108170617B (zh) 一种i3c设备及通信方法
WO2021169474A1 (zh) 一种Avalon总线转Axi4总线的方法
WO2012159405A1 (zh) 一种多源端口的数据处理方法及装置
US20140344485A1 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
WO2014131273A1 (zh) 数据传输方法、装置及直接存储器存取
US9104819B2 (en) Multi-master bus architecture for system-on-chip
CN109933553B (zh) 一种控制系统及其设计方法、一组控制系统、电子装置
WO2010150945A1 (en) Bus system and method of controlling the same
US20230385215A1 (en) Processing system, related integrated circuit, device and method
EP4095704B1 (en) Processing system, related integrated circuit, device and method
CN103744817A (zh) 用于Avalon总线向Crossbar总线的通讯转换桥设备及其通讯转换方法
JP4603054B2 (ja) スケーラブルバス構造
EP2320327A1 (en) A data transferring device
WO2024092188A1 (en) Firmware broadcast in a multi-chip module
JPH01106251A (ja) データ転送制御方式
JP2009290545A (ja) 情報処理装置、情報処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11866242

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11866242

Country of ref document: EP

Kind code of ref document: A1