[go: up one dir, main page]

CN114679415B - Non-blocking banyan network meeting AXI5-Lite protocol standard - Google Patents

Non-blocking banyan network meeting AXI5-Lite protocol standard Download PDF

Info

Publication number
CN114679415B
CN114679415B CN202210491177.0A CN202210491177A CN114679415B CN 114679415 B CN114679415 B CN 114679415B CN 202210491177 A CN202210491177 A CN 202210491177A CN 114679415 B CN114679415 B CN 114679415B
Authority
CN
China
Prior art keywords
slave
data
host
unit group
port
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
Application number
CN202210491177.0A
Other languages
Chinese (zh)
Other versions
CN114679415A (en
Inventor
郭东辉
马钦鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen University
Original Assignee
Xiamen University
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 Xiamen University filed Critical Xiamen University
Priority to CN202210491177.0A priority Critical patent/CN114679415B/en
Publication of CN114679415A publication Critical patent/CN114679415A/en
Application granted granted Critical
Publication of CN114679415B publication Critical patent/CN114679415B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The disclosed non-blocking banyan network meeting AXI5-Lite protocol standard includes multiple switching units forming switching network, and 5 kinds of dual transmission channels without interference are set inside; a buffer unit group is correspondingly arranged at each input port of the switching network, and the buffer units of different numbers and different types are arranged in the buffer unit groups of the host and the slave and are used for receiving signals from the host and the slave, storing and transmitting information packets; the buffer unit is provided with a plurality of buffer queues, and the number of the buffer queues is the same as that of the receiving end; a scheduler is arranged in the dual transmission channel, and a priority is allocated to the information packets to be transmitted in the buffer queue; the data information package in the transmission channels is provided with effective control bits and subsequent data bits, and the transmission bus width of each transmission channel is consistent with the length of the data information package. The non-blocking banyan network meeting the AX I5-LIte protocol standard ensures non-blocking, high-performance and low-delay transmission of data resources and can reduce the complexity of the network.

Description

一种满足AXI5-Lite协议标准的无阻塞banyan网络A non-blocking banyan network that meets the AXI5-Lite protocol standard

技术领域Technical Field

本申请涉及通信领域,主要涉及一种满足AXI5-Lite协议标准的无阻塞banyan网络。The present application relates to the field of communications, and mainly to a non-blocking banyan network that meets the AXI5-Lite protocol standard.

背景技术Background technique

随着对电子设备之间的通信需求不断扩大,各行业对资源数据传输的速率、延迟及正确率的要求都不断提高,互联网络在一定程度上决定了电子系统的性能,一个好的互联网络需满足以下要求:一方面能够使得各部分资源高性能、低延迟、无阻塞的被调动,一方面其可以实现互联网络本身占用的资源不大。As the demand for communication between electronic devices continues to expand, various industries have increasing requirements for the rate, delay and accuracy of resource data transmission. The Internet determines the performance of electronic systems to a certain extent. A good Internet must meet the following requirements: on the one hand, it can enable each part of the resources to be mobilized with high performance, low latency and non-blocking; on the other hand, it can ensure that the resources occupied by the Internet itself are not large.

只有当交换网络搭配合适的通信协议才能高效的链接起各个模块,同时突出交换网络与通信协议的优点,因此,如何通过交换网络和通信协议的搭配设计一个好的互联网络成为发展通信技术的重点之一。传统满足AXI协议标准的交换网络存在阻塞率高、网络传输延迟高等问题,crossbar,clos等阻塞率不高的网络虽然可以有效的传输数据,但是其网络的复杂度高,将协议不同的通道使用单独的交换网络实现,使得交换网络复杂度更高,且在效果上不能实现无阻塞,甚至会出现数据丢包的情况。Only when the switching network is matched with the appropriate communication protocol can the various modules be linked efficiently, and the advantages of the switching network and the communication protocol can be highlighted. Therefore, how to design a good Internet network through the combination of the switching network and the communication protocol has become one of the focuses of the development of communication technology. The traditional switching network that meets the AXI protocol standard has problems such as high blocking rate and high network transmission delay. Although the networks with low blocking rates such as crossbar and clos can effectively transmit data, their network complexity is high. Using separate switching networks to implement channels with different protocols makes the switching network more complex, and it cannot achieve non-blocking effect, and even data packet loss may occur.

AXI5-Lite总线构造更为简单,内部逻辑更为容易理解,易于修改与验证,AXI5-Lite允许可变的数据宽度传输,可以实现乱序传送,可以简化通信传输,并且其兼容性强。banyan网络是多级互联网络具有代表性的一种网络,其优点在于构造简单,中间节点数量少,网络复杂度低,并且易于拓展。The AXI5-Lite bus structure is simpler, the internal logic is easier to understand, easy to modify and verify, AXI5-Lite allows variable data width transmission, can achieve out-of-order transmission, can simplify communication transmission, and has strong compatibility. The banyan network is a representative type of multi-level interconnected network. Its advantages are simple structure, small number of intermediate nodes, low network complexity, and easy expansion.

因此需要一种新的网络结构将AXI5-Lite总线协议与banyan网络结合,从而能够非常好的应用于各种需求高性能低延迟的传输,保证各通信模块之间的高效传输。Therefore, a new network structure is needed to combine the AXI5-Lite bus protocol with the banyan network, so that it can be very well applied to various transmissions requiring high performance and low latency, and ensure efficient transmission between various communication modules.

发明内容Summary of the invention

针对现有技术中的问题,本申请提出了一种满足AXI5-Lite协议标准的无阻塞banyan网络,包括:In view of the problems in the prior art, the present application proposes a non-blocking banyan network that meets the AXI5-Lite protocol standard, including:

构成交换网络的多个交换单元,其中每个交换单元包括5对双重传输通道;A plurality of switching units constituting a switching network, wherein each switching unit comprises five pairs of dual transmission channels;

主机I/O口缓存单元组,其被设置在所述交换网络与主机之间以缓存来自所述主机的将要发送到所述交换网络的数据包,其中所述主机I/O口缓存单元组中的每个主机I/O口缓存单元内部具有多个主机缓存队列,A host I/O port cache unit group is arranged between the switching network and the host to cache data packets from the host to be sent to the switching network, wherein each host I/O port cache unit in the host I/O port cache unit group has a plurality of host cache queues inside.

从机I/O口缓存单元组,其被设置在所述交换网络的与从机之间以缓存来自所述从机的将要发送到所述交换网络的数据包,其中所述从机I/O口缓存单元组中的每个所述从机I/O口缓存单元内部具有多个从机缓存队列。A slave I/O port cache unit group is arranged between the switching network and the slave to cache data packets from the slave to be sent to the switching network, wherein each of the slave I/O port cache units in the slave I/O port cache unit group has multiple slave cache queues inside.

双重传输通道可以满足多个主机和多个从机之间的数据往返传输,通过设置主机I/O口缓存单元组和从机I/O口缓存单元组,对不能马上传输的数据进行存储,从而解决了banyan网络对同时申请传送的信息包不可能每次都能同时传输而造成阻塞的问题,每个缓存单元内部都具有多个缓存队列,每个缓存队列分别存储着同一通道同一输入口前往不同目的地的信息包,从而防止线头阻塞的发生。The dual transmission channel can meet the data transmission between multiple hosts and multiple slaves. By setting the host I/O port cache unit group and the slave I/O port cache unit group, the data that cannot be transmitted immediately is stored, thereby solving the problem of banyan network congestion caused by the inability to transmit information packets that apply for transmission at the same time at all times. Each cache unit has multiple cache queues inside, and each cache queue stores information packets from the same channel and the same input port to different destinations, thereby preventing the occurrence of head-of-line blocking.

在可选实施例中,所述主机I/O口缓存单元组包括分别用于读地址信息包、写地址信息包和写数据信息包的三种类型的缓存单元,并且所述从机I/O口缓存单元组包括分别用于读数据信息包和响应信息包的两种类型的缓存单元。In an optional embodiment, the host I/O port cache unit group includes three types of cache units respectively used for reading address information packets, writing address information packets and writing data information packets, and the slave I/O port cache unit group includes two types of cache units respectively used for reading data information packets and response information packets.

主机I/O口缓存单元组和从机I/O口缓存单元组中缓存单元的设置方式满足了主机和从机的通信需求,解决了多个不同种类的同方向传输信息包用一个网络进行传输,就会使得效率变慢的问题,同时也大大减少了硬件的消耗。The setting method of the cache units in the host I/O port cache unit group and the slave I/O port cache unit group meets the communication requirements of the host and the slave, solves the problem that the efficiency will be slow when multiple different types of information packets transmitted in the same direction are transmitted using one network, and also greatly reduces hardware consumption.

在可选实施例中,所述主机I/O口缓存单元组接受直接发自从机的ready信号,并且所述从机I/O口缓存单元组接受直接发自主机的ready信号。In an optional embodiment, the host I/O port buffer unit group accepts a ready signal directly sent from the slave, and the slave I/O port buffer unit group accepts a ready signal directly sent from the host.

主机I/O口缓存单元组和从机I/O口缓存单元组通过接收到的ready信号,可以判断出从机和主机是否还处于运作状态,根据ready信号禁止或允许将信息包传入交换网络。The host I/O port buffer unit group and the slave I/O port buffer unit group can determine whether the slave and the host are still in operation through the received ready signal, and prohibit or allow the information packet to be transmitted to the switching network according to the ready signal.

在可选实施例中,所述多个主机缓存队列的数量等于与交换网络连接的从机的数量,所述多个从机缓存队列的数量等于与交换网络连接的主机的数量。In an optional embodiment, the number of the plurality of host cache queues is equal to the number of slaves connected to the switching network, and the number of the plurality of slave cache queues is equal to the number of hosts connected to the switching network.

缓存队列数量与外部连接的主机、从机数量相同,使得信息包的传输效率大大提高,避免了阻塞的现象。The number of cache queues is the same as the number of externally connected hosts and slaves, which greatly improves the transmission efficiency of information packets and avoids blocking.

在进一步可选实施例中,所述5对双重传输通道包括分别用于写数据、写地址、读数据、读地址和响应的5对双重传输通道。In a further optional embodiment, the five pairs of dual transmission channels include five pairs of dual transmission channels respectively used for writing data, writing addresses, reading data, reading addresses and responses.

交换单元中的5对双重传输通道对应AXI5-Lite协议有5种不同的通道,发挥了AXI协议的优势。The five pairs of dual transmission channels in the switching unit correspond to five different channels of the AXI5-Lite protocol, giving full play to the advantages of the AXI protocol.

在进一步可选实施例中,所述banyan网络还包括连接到所述交换网络的5个调度器,所述5个调度器分别针对5对双重传输通道将所述缓存队列中的待传输的信息包分配优先级。In a further optional embodiment, the banyan network further comprises five schedulers connected to the switching network, and the five schedulers respectively assign priorities to the information packets to be transmitted in the cache queue for five pairs of dual transmission channels.

根据每个存储队列头信息包的延迟及该存储队列所剩存储数据空间来分配优先级,指定队列剩下的存储空间越小,该存储队列头信息包延迟越久,则优先级越高,内部存储的信息包就应该优先被传送,通过设置优先级进行调度,使得交换网络传输达到高性能、低延迟的效果。Priority is assigned based on the delay of each storage queue head packet and the remaining storage data space of the storage queue. The smaller the remaining storage space of the specified queue and the longer the delay of the storage queue head packet, the higher the priority, and the internally stored packets should be transmitted first. By setting priorities for scheduling, the switching network transmission can achieve high performance and low latency.

在可选实施例中,对于写地址的通道和读地址的通道,其中的数据信息包包括7位的有效控制信号位以及有效控制信号位对应的控制信号;In an optional embodiment, for a write address channel and a read address channel, the data information packet includes a 7-bit valid control signal bit and a control signal corresponding to the valid control signal bit;

对于写响应的通道,其中的数据信息包包括5位的有效控制信号位以及5位的有效控制信号位对应的控制信号。For a write response channel, the data information packet includes 5-bit valid control signal bits and a control signal corresponding to the 5-bit valid control signal bits.

在进一步可选实施例中,对于写数据的通道和读数据的通道,其中的数据信息包包括4位的有效控制信号位以及4位的有效控制信号位对应的控制信号,数据信息包还包括数据信号,数据信号有效数据的大小由相应的控制信号所决定。In a further optional embodiment, for a channel for writing data and a channel for reading data, the data information packet includes a 4-bit valid control signal bit and a control signal corresponding to the 4-bit valid control signal bit, and the data information packet also includes a data signal, and the size of the valid data of the data signal is determined by the corresponding control signal.

在可选实施例中,将控制信号与数据信号一起整理成一个完整的信息包进行传输。由于信息包中每个位都对应着固定功能的信号,所以最后信息包输出时只需要按位分离传输到相应的接收端接口,并且通过有效控制信号位决定哪些控制信息有效,根据控制信号决定哪些数据信号有效。In an optional embodiment, the control signal and the data signal are organized into a complete information packet for transmission. Since each bit in the information packet corresponds to a signal with a fixed function, the information packet only needs to be separated by bit and transmitted to the corresponding receiving end interface when it is output, and the effective control signal bit is used to determine which control information is effective, and the control signal is used to determine which data signal is effective.

每个数据信息包的前置设置有效控制信号位,对于5对通道来说,有效控制信号位与控制信号位总和不一样,并且只有写数据信息包与读数据信息包才存在数据信号位,故每个通道的信息包大小都是不一样,通过有效控制信号位的设置,告诉接收端哪些信号可以直接跳过,保证了信息包读取的方便。The effective control signal bit is set in front of each data packet. For the five pairs of channels, the effective control signal bit is different from the sum of the control signal bits, and only the write data packet and the read data packet have data signal bits. Therefore, the packet size of each channel is different. By setting the effective control signal bit, the receiving end is told which signals can be directly skipped, ensuring the convenience of packet reading.

在可选实施例中,所述5对双重传输通道中的每个传输通道具有与所述数据信息包的长度一致的传输总线宽度,由于读数据信息包和写数据信息包中存在数据信号,信息包的长度更长,读数据传输通道和写数据传输通道的传输宽度对应的也更宽。In an optional embodiment, each transmission channel of the five pairs of dual transmission channels has a transmission bus width consistent with the length of the data packet. Since there are data signals in the read data packet and the write data packet, the length of the packet is longer, and the transmission width of the read data transmission channel and the write data transmission channel is correspondingly wider.

整合后banyan网络中对每个通道的信息包传输总线宽度与信息包长度保持一致,保证信息包并行传输,能够一次传输完成。After integration, the bus width and packet length of each channel in the banyan network are kept consistent, ensuring that the packets are transmitted in parallel and can be transmitted in one go.

在可选实施例中,所述主机I/O口缓存单元组接收来自所述主机的valid信号以确认所述主机是否要发送数据,所述主机I/O口缓存单元组给予主机始终置1的ready信号,使得数据直接传输至主机缓存单元组中,并且所述从机I/O口缓存单元组接收来自所述从机的valid信号以确认所述从机是否要发送数据,所述从机I/O口缓存单元组给予从机始终置1的ready信号,使得数据直接传输至从机缓存单元中。In an optional embodiment, the host I/O port cache unit group receives a valid signal from the host to confirm whether the host wants to send data, and the host I/O port cache unit group gives the host a ready signal that is always set to 1, so that the data is directly transmitted to the host cache unit group, and the slave I/O port cache unit group receives a valid signal from the slave to confirm whether the slave wants to send data, and the slave I/O port cache unit group gives the slave a ready signal that is always set to 1, so that the data is directly transmitted to the slave cache unit.

在可选实施例中,信息包从主机传送到从机时,一旦交换网络的输出口检测到信息包通过,交换网络的输出口则给予目的从机信息包对应通道的valid信号;In an optional embodiment, when an information packet is transmitted from a host to a slave, once an output port of the switching network detects that the information packet has passed, the output port of the switching network gives a valid signal to the destination slave corresponding to the channel of the information packet;

信息包从从机传送到主机时,一旦交换网络的输出口检测到信息包通过,交换网络的输出口则给予目的主机信息包对应通道的valid信号。When a packet is transmitted from a slave to a host, once the output port of the switching network detects that the packet has passed, the output port of the switching network gives the destination host a valid signal for the channel corresponding to the packet.

在进一步的实施例中,交换网络的输出口读取有效控制信号位的相或结果判断是否有信息包通过,若有效控制信号位的相或结果为1判定有信息包通过,则给予接收端置1的valid信号。In a further embodiment, the output port of the switching network reads the phase OR result of the valid control signal bit to determine whether an information packet passes through. If the phase OR result of the valid control signal bit is 1, it is determined that an information packet passes through, and a valid signal set to 1 is given to the receiving end.

缓存单元组给予发送端永远置1的ready信号,同时缓存单元组接收来自发送端的valid信号,当发送端传输通道valid信号位为1时,对应传输通道的缓存单元就知道该通道发送设备要发送数据了,使得缓存单元组无需考虑接收端设备状态就直接把从发送端接收的信号经过加工处理并且集合成信息包存储到内部对应队列中去,实现发送端在接收端未做出回应的情况下能够连续发送数据。The cache unit group gives the sender a ready signal that is always set to 1. At the same time, the cache unit group receives a valid signal from the sender. When the valid signal bit of the sender's transmission channel is 1, the cache unit of the corresponding transmission channel knows that the channel's sending device is going to send data, so that the cache unit group can directly process the signal received from the sender and aggregate it into information packets and store them in the corresponding internal queue without considering the status of the receiving device, so that the sender can continuously send data when the receiving end does not respond.

缓存单元在判断到接收端的ready信号为1时,才会将内部对应队列中存储的信息包接入网络输入口,内部对应队列中来自发送端的信息包一旦被选中传输,信息包经过交换网络的输出口时,交换网络的输出口则给予接收端一个信息包对应传输通道置1的valid信号,使得缓存单元内部队列中存储的信息包可以成功的传输到接收端。本发明提出了一种满足AXI5-Lite协议标准的无阻塞banyan网络,包括构成交换网络的多个交换单元,内部设置5种互不干扰的双重传输通道;在交换单元的每个输入口对应设置缓存单元组,缓存单元组中设置不同数量、不同类型的缓存单元,用于接收来自主机、从机的信号,进行信息包存储和传输,缓存单元设置有多个缓存队列,缓存队列与发送端的数量相同;双重传输通道中设置有调度器,对缓存队列中的待传输信息包分配优先级,对传输通道中的数据信息包设置有效控制位和后续数据位,每个传输通道具有和数据信息包长度一致的传输总线宽;对banyan网络的基本单元进行重新设立,大大减小了硬件的消耗。本发明保证了数据资源的非阻塞、高性能、低延迟的传输,并且能够降低网络自身的复杂度。The cache unit will connect the information packets stored in the corresponding internal queue to the network input port only when it determines that the ready signal of the receiving end is 1. Once the information packet from the sending end in the corresponding internal queue is selected for transmission, when the information packet passes through the output port of the switching network, the output port of the switching network gives the receiving end a valid signal that sets the transmission channel corresponding to the information packet to 1, so that the information packet stored in the internal queue of the cache unit can be successfully transmitted to the receiving end. The present invention proposes a non-blocking banyan network that meets the AXI5-Lite protocol standard, including multiple switching units constituting a switching network, and 5 mutually non-interfering dual transmission channels are arranged inside; a cache unit group is arranged corresponding to each input port of the switching unit, and different numbers and types of cache units are arranged in the cache unit group, which are used to receive signals from a host and a slave, store and transmit information packets, and the cache unit is provided with multiple cache queues, and the number of cache queues is the same as that of the transmitting end; a scheduler is arranged in the dual transmission channel, which assigns priorities to the information packets to be transmitted in the cache queue, and sets effective control bits and subsequent data bits for the data information packets in the transmission channel, and each transmission channel has a transmission bus width consistent with the length of the data information packet; the basic unit of the banyan network is re-established, which greatly reduces the consumption of hardware. The present invention ensures the non-blocking, high-performance, and low-latency transmission of data resources, and can reduce the complexity of the network itself.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。The accompanying drawings are included to provide a further understanding of the embodiments and are incorporated into and constitute a part of this specification. The accompanying drawings illustrate the embodiments and are used together with the description to explain the principles of the present invention. It will be easy to recognize other embodiments and many expected advantages of the embodiments because they become better understood by reference to the following detailed description. The elements of the accompanying drawings are not necessarily to scale with each other. The same reference numerals refer to corresponding similar parts.

图1a示出了根据本发明的一个实施例的banyan基础交换单元的构造图;FIG. 1a shows a block diagram of a banyan basic switching unit according to an embodiment of the present invention;

图1b示出了根据本发明的一个实施例的banyan改造后交换单元的构造图;FIG. 1 b shows a structural diagram of a banyan-modified exchange unit according to an embodiment of the present invention;

图2示出了根据本发明的一个实施例的交换网络工作示例原理图;FIG2 shows a schematic diagram of an example working principle of a switching network according to an embodiment of the present invention;

图3示出了根据本发明的一个实施例的banyan内部的具体构造图;FIG3 shows a detailed structural diagram of a banyan according to an embodiment of the present invention;

图4示出了根据本发明的一个实施例的写数据、读数据信息包组成部分的示例图;FIG4 shows an example diagram of components of a write data and read data information packet according to an embodiment of the present invention;

图5示出了根据本发明的一个实施例的AXI5-Lite协议兼容性的示例图;FIG5 shows an example diagram of AXI5-Lite protocol compatibility according to an embodiment of the present invention;

图6示出了根据本发明的一个实施例的电子设备的计算机系统600的结构示意图。FIG. 6 shows a schematic diagram of the structure of a computer system 600 of an electronic device according to an embodiment of the present invention.

具体实施方式Detailed ways

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。The present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It should also be noted that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

图1a示出了根据本发明的一个实施例的banyan基础交换单元的构造图,如图1a所示,信息包在经过基础banyan网络的交换单元时,可以从0输入口到0输出口,可以从0输入口到1输出口,也可以从1输入口到0输出口,可以从1输入口到1输出口,可以满足不同的输入口输入的信息包成功传输到不同的输出口。Figure 1a shows a structural diagram of a banyan basic switching unit according to an embodiment of the present invention. As shown in Figure 1a, when an information packet passes through the switching unit of the basic banyan network, it can go from input port 0 to output port 0, from input port 0 to output port 1, from input port 1 to output port 0, or from input port 1 to output port 1, which can satisfy the successful transmission of information packets input from different input ports to different output ports.

但这种简单的交换单元只能满足一个单方向传输通道的传输需求,如果满足AXI协议的顺利传输,需要有5个这样普通的交换单元组成一个banyan网络。However, this simple switching unit can only meet the transmission requirements of a unidirectional transmission channel. If the AXI protocol is to be transmitted smoothly, five such ordinary switching units are required to form a banyan network.

图1b示出了根据本发明的一个实施例的banyan改造后交换单元的构造图,在一个交换单元上集结了5个普通交换单元来满足5对不同方向不同属性的AXI通道。在具体的实施例中,写数据通道设置为由左到右的方向进行传输,输入口设置有输入口0和输入口1,分别标记为W0和W1,输出口对应设置输出口对应设置有输出口0和输出口1,标记为W′0和W′1,W0可以自由向右传输信息包到W′0或者W′1,W1可以自由向右传输信息包到W′0或者W′1;FIG1b shows a structural diagram of a banyan-modified switching unit according to an embodiment of the present invention, where five common switching units are assembled on one switching unit to satisfy five pairs of AXI channels with different attributes in different directions. In a specific embodiment, the write data channel is configured to transmit from left to right, the input port is configured with input port 0 and input port 1, marked as W0 and W1 respectively, and the output port is configured with output port 0 and output port 1, marked as W′0 and W′1 respectively, W0 can freely transmit information packets to W′0 or W′1 to the right, and W1 can freely transmit information packets to W′0 or W′1 to the right;

写地址通道设置为由左到右的方向进行传输,输入口设置有输入口0和输入口1,分别标记为AW0和AW1,输出口对应设置输出口对应设置有输出口0和输出口1,标记为AW′0和AW′1,AW0可以自由向右传输信息包到AW′0或者AW′1,AW1可以自由向右传输信息包到AW′0或者AW′1;The write address channel is set to transmit from left to right. The input port is set to input port 0 and input port 1, marked as AW0 and AW1 respectively. The output port is set to output port 0 and output port 1, marked as AW′0 and AW′1 respectively. AW0 can freely transmit information packets to AW′0 or AW′1 to the right, and AW1 can freely transmit information packets to AW′0 or AW′1 to the right.

读地址通道设置为由左到右的方向进行传输,输入口设置有输入口0和输入口1,分别标记为AR0和AR1,输出口对应设置输出口对应设置有输出口0和输出口1,标记为AR′0和AR′1,AR0可以自由向右传输信息包到AR′0或者AR′1,AR1可以自由向右传输信息包到AR′0或者AR′1;The read address channel is set to transmit from left to right. The input port is set to input port 0 and input port 1, marked as AR0 and AR1 respectively. The output port is set to output port 0 and output port 1, marked as AR′0 and AR′1. AR0 can freely transmit information packets to AR′0 or AR′1 to the right, and AR1 can freely transmit information packets to AR′0 or AR′1 to the right.

读数据通道设置为由右到左的方向进行传输,输入口设置有输入口0和输入口1,分别标记为R0和R1,输出口对应设置有输出口0和输出口1,标记为R′0和R′1,R0可以自由向左传输信息包到R′0或者R′1,R1可以自由向左传输信息包到R′0或者R′1;The read data channel is set to transmit from right to left. The input port is set to input port 0 and input port 1, marked as R0 and R1 respectively. The output port is correspondingly set to output port 0 and output port 1, marked as R′0 and R′1. R0 can freely transmit information packets to R′0 or R′1 to the left, and R1 can freely transmit information packets to R′0 or R′1 to the left.

写响应通道设置为由右到左的方向进行传输,输入口设置有输入口0和输入口1,分别标记为Res0和Res1,输出口对应设置有输出口0和输出口1,标记为Res′0和Res′1,Res0可以自由向左传输信息包到Res′0或者Res′1,Res1可以自由向左传输信息包到Res′0或者Res′1;The write response channel is set to transmit from right to left. The input port is set with input port 0 and input port 1, marked as Res0 and Res1 respectively. The output port is correspondingly set with output port 0 and output port 1, marked as Res′0 and Res′1. Res0 can freely transmit information packets to Res′0 or Res′1 to the left, and Res1 can freely transmit information packets to Res′0 or Res′1 to the left.

五对双重传输通道经由一个交换单元,彼此之间互不干扰,相比用普通的交换单元组成的banyan交换网络需要用到五个交换单元,图1b所示的交换单元大大减小了硬件的消耗。Five pairs of dual transmission channels pass through one switching unit without interfering with each other. Compared with a banyan switching network composed of ordinary switching units, which requires five switching units, the switching unit shown in FIG1b greatly reduces the hardware consumption.

图2出了根据本发明的一个实施例的交换网络工作示例原理图,如图1所示,4个主机设备与4个从机设备用一个基于AXI5-Lite协议banyan交换网络进行数据交换,4个主机设备分别是主机11、主机12、主机13和主机14,4个从机设备分别是从机21、从机22、从机23和从机24。FIG2 shows a schematic diagram of a working example of a switching network according to an embodiment of the present invention. As shown in FIG1 , four host devices and four slave devices exchange data using a banyan switching network based on the AXI5-Lite protocol. The four host devices are respectively host 11, host 12, host 13 and host 14, and the four slave devices are respectively slave 21, slave 22, slave 23 and slave 24.

在具体的实施例中,主机设备与从机设备作为接收端时与交换网络的运输通道对应的口直接连接。In a specific embodiment, the host device and the slave device are directly connected to the ports corresponding to the transport channel of the switching network when acting as receiving ends.

在具体的实施例中,主机设备与从机设备作为发送端时,在输入口设置有主机I/O口缓存单元组和从机I/O口缓存单元组,分别为主机I/O口缓存单元组31、主机I/O口缓存单元组32、主机I/O口缓存单元组33、主机I/O口缓存单元组34、从机I/O口缓存单元组41、从机I/O口缓存单元组42、从机I/O口缓存单元组43、从机I/O口缓存单元组44。In a specific embodiment, when the host device and the slave device act as sending ends, a host I/O port cache unit group and a slave I/O port cache unit group are set at the input port, which are respectively host I/O port cache unit group 31, host I/O port cache unit group 32, host I/O port cache unit group 33, host I/O port cache unit group 34, slave I/O port cache unit group 41, slave I/O port cache unit group 42, slave I/O port cache unit group 43, and slave I/O port cache unit group 44.

在具体的实施例中,由于主机到从机的AXI通道有3种,主机I/O口缓存单元组包括3种不同的缓存单元,用于分别存储读地址、写地址及写数据信息包。In a specific embodiment, since there are three types of AXI channels from the host to the slave, the host I/O port cache unit group includes three different cache units for storing read addresses, write addresses and write data packets respectively.

在具体的实施例中,由于从机到主机来说,有两种AXI通道,并且是从右向左进行传输,从机I/O口缓存单元组包括2种不同的缓存单元,分别存储回应信息包及读数据信息包。In a specific embodiment, since there are two AXI channels from the slave to the host and the transmission is performed from right to left, the slave I/O port cache unit group includes two different cache units, which respectively store response packets and read data packets.

在具体的实施例中,主机11与主机I/O口缓存单元组31连接,主机12主机与I/O口缓存单元组32连接,主机13与主机I/O口缓存单元组33连接,主机14与主机I/O口缓存单元组34连接。In a specific embodiment, host 11 is connected to host I/O port cache unit group 31, host 12 is connected to host I/O port cache unit group 32, host 13 is connected to host I/O port cache unit group 33, and host 14 is connected to host I/O port cache unit group 34.

在具体的实施例中,从机21与从机I/O口缓存单元组41连接,从机22与从机I/O口缓存单元组42连接,从机23与从机I/O口缓存单元组43连接,从机24与从机I/O口缓存单元组44连接。In a specific embodiment, slave 21 is connected to slave I/O port cache unit group 41, slave 22 is connected to slave I/O port cache unit group 42, slave 23 is connected to slave I/O port cache unit group 43, and slave 24 is connected to slave I/O port cache unit group 44.

在具体的实施例中,缓存单元组给予发送端永远置1的ready信号,同时缓存单元组接收来自发送端的valid信号;In a specific embodiment, the cache unit group gives a ready signal that is always set to 1 to the sending end, and the cache unit group receives a valid signal from the sending end;

在具体的实施例中,主机发送valid信号至主机I/O口缓存单元组,主机I/O口缓存单元组给予主机永远置1的ready信号;从机发送valid信号至从机I/O口缓存单元组,从机I/O口缓存单元组给予从机永远置1的ready信号;来自从机的ready信号直接发送至所述主机I/O口缓存单元组而不经由所述交换单元,并且来自主机的ready信号直接发送至所述从机I/O口缓存单元组而不经由所述交换单元;来自主机的信息包经过交换网络输出口时,交换网络输出口给予从机一个置1的vaild信号,来自从机的信息包经过交换网络输出口时,交换网络输出口给予主机一个置1的valid信号。In a specific embodiment, the host sends a valid signal to the host I/O port cache unit group, and the host I/O port cache unit group gives the host a ready signal that is always set to 1; the slave sends a valid signal to the slave I/O port cache unit group, and the slave I/O port cache unit group gives the slave a ready signal that is always set to 1; the ready signal from the slave is directly sent to the host I/O port cache unit group without passing through the switching unit, and the ready signal from the host is directly sent to the slave I/O port cache unit group without passing through the switching unit; when the information packet from the host passes through the switching network output port, the switching network output port gives the slave a vaild signal that is set to 1, and when the information packet from the slave passes through the switching network output port, the switching network output port gives the host a valid signal that is set to 1.

主机、从机和主机I/O口缓存单元组、从机I/O口缓存单元组之间通过valid和ready信号的发送和接收,将来自发送端的信息包缓存在缓存单元组中,实现发送端在接收端未做出回应的情况下能够连续发送数据;The host, slave, host I/O port buffer unit group, and slave I/O port buffer unit group send and receive valid and ready signals to buffer the information packets from the sender in the buffer unit group, so that the sender can continuously send data when the receiver does not respond.

接收端给予缓存单元组一个ready信号,交换网络输出口给予接收端一个valid信号,使得缓存单元内部队列中存储的信息包可以成功的传输到接收端。The receiving end gives the cache unit group a ready signal, and the switching network output port gives the receiving end a valid signal, so that the information packets stored in the internal queue of the cache unit can be successfully transmitted to the receiving end.

在具体的实施例中,每个缓存单元有和主机或者从机设备数量相同的缓存队列,分别存储着同一通道同一输入口前往不同目的地的信息包防止线头阻塞的发生。In a specific embodiment, each cache unit has the same number of cache queues as the host or slave devices, which respectively store information packets from the same channel and the same input port to different destinations to prevent head-of-line blocking.

在具体的实施例中,交换网络设置有调度器7,用于识别存储队列优先级数值,对延迟越久的信息包优先进行传送,从而满足交换网络的低延迟、高性能的需求。In a specific embodiment, the switching network is provided with a scheduler 7 for identifying the priority value of the storage queue and transmitting the information packets with longer delays first, thereby meeting the low delay and high performance requirements of the switching network.

在具体的实施例中,信号总线5为来自主机的rready、bready的信号总线,信号总线6为来自从机的awready、arready、wready信号总线。In a specific embodiment, the signal bus 5 is a signal bus of rready and bready from the host, and the signal bus 6 is a signal bus of awready, arready and wready from the slave.

其中,具体地,rready、bready、awready、arready、wready分别为为读数据、写响应、写地址、读地址和写数据五种传输通道准备的ready信号Specifically, rready, bready, awready, arready, and wready are ready signals for the five transmission channels of read data, write response, write address, read address, and write data.

在具体的实施例中,交换单元可以组成满足更大的N个主机设备与N个从机设备同时传输的交换网络。In a specific embodiment, the switching units may form a switching network that can accommodate a larger number of N host devices and N slave devices transmitting simultaneously.

图3示出了根据本发明的一个实施例的banyan内部的具体构造图,AXI5-Lite的5种不同通道协议可以分离传输信息,任何主机的读地址信息、写地址信息、写数据信息从左往右传输可以互不影响的传输,而任何从机的回应数据信息,读数据信息可以互不影响的从右往左传输。FIG3 shows a specific internal structure diagram of banyan according to an embodiment of the present invention. The five different channel protocols of AXI5-Lite can separate the transmission information. The read address information, write address information, and write data information of any host can be transmitted from left to right without affecting each other, and the response data information and read data information of any slave can be transmitted from right to left without affecting each other.

在具体的实施例中,调度器的数量有5个,分别为5种不同通道的信息传输进行调度,每个不同种类的调度器为每个不同通道的信息包传输进行调度,所以写数据信息包内部发生阻塞,并不影响着其他种类信息包的传输,每个通道信息包传输被单独管理,占用着基于AXI5-Lite协议的banyan网络的不同物理线路传输,只有同种通道的信息包发生阻塞的时候,需要调度器进行调度,否则互不影响,这样传输的方式使得数据顺利的传送。In a specific embodiment, there are 5 schedulers, which are used to schedule information transmission of 5 different channels. Each different type of scheduler schedules the information packet transmission of each different channel. Therefore, if a blockage occurs inside the write data packet, it does not affect the transmission of other types of information packets. The information packet transmission of each channel is managed separately, occupying different physical lines of the banyan network based on the AXI5-Lite protocol. Only when the information packets of the same channel are blocked, the scheduler needs to schedule them, otherwise they will not affect each other. This transmission method enables the data to be transmitted smoothly.

图4示出了根据本发明的一个实施例的写数据和读数据信息包组成部分的示例图,信息包的开头是有效控制信号位,有效控制信号位决定了后面紧接着的控制信号哪些为有效数据,控制信号内部又能决定后面紧接着的数据信号哪些为有效数据,通过有效控制信号位、控制信号和数据信号的设置,根据这些信号提取出需要位置的数据,从而减小了消耗。FIG4 shows an example diagram of the components of a write data and read data information packet according to an embodiment of the present invention. The beginning of the information packet is a valid control signal bit. The valid control signal bit determines which of the following control signals are valid data. The control signal itself can determine which of the following data signals are valid data. By setting the valid control signal bit, control signal and data signal, data at the required position can be extracted based on these signals, thereby reducing consumption.

在具体的实施例中,有效控制信号位、控制信号、数据信号被整合成一个信息包,从输出口并行传输In a specific embodiment, the effective control signal bit, the control signal, and the data signal are integrated into one information packet and transmitted in parallel from the output port.

图5示出了根据本发明的一个实施例的AXI5-Lite协议兼容性的示例图,AXI5-Lite能够直接兼容AXI4-Lite、AXI5等接口协议,对AHB、APB等协议只需要接简单的接口协议转换器即可满足接口的连接。FIG5 shows an example diagram of AXI5-Lite protocol compatibility according to an embodiment of the present invention. AXI5-Lite is directly compatible with interface protocols such as AXI4-Lite and AXI5. For protocols such as AHB and APB, only a simple interface protocol converter is needed to satisfy the interface connection.

在具体的实施例中,两个主机与两个从机之间进行数据传输,每个设备的传输接口协议都是不同的,使用同一个基于AXI5-Lite协议的交换网络进行数据传输。In a specific embodiment, data is transmitted between two hosts and two slaves, the transmission interface protocol of each device is different, and the same switching network based on the AXI5-Lite protocol is used for data transmission.

在具体的实施例中,包含两个主机和两个从机,AXI4-Lite接口主机501和AXI接口从机502与AXI5-Lite协议交换网络直接连接,进行数据传输。In a specific embodiment, two hosts and two slaves are included, and an AXI4-Lite interface host 501 and an AXI interface slave 502 are directly connected to an AXI5-Lite protocol switching network for data transmission.

在具体的实施例中,AHB接口主机500使用一个AHB协议转AXI5-Lite协议的协议转接口505后可以直接接入基于AXI5-Lite协议的交换网络。In a specific embodiment, the AHB interface host 500 can directly access a switching network based on the AXI5-Lite protocol by using a protocol conversion interface 505 that converts the AHB protocol to the AXI5-Lite protocol.

在具体的实施例中,APB接口从机503使用一个AXI5-Lite协议转APB协议的协议转接口506与AXI5-Lite协议交换网络相接,虽然每个设备都是不同的传输协议,但能够在同一个协议的交换网络上进行传输,体现了AXI5-Lite协议的向前向后兼容性。In a specific embodiment, the APB interface slave 503 uses an AXI5-Lite protocol to APB protocol protocol conversion interface 506 to connect to the AXI5-Lite protocol switching network. Although each device uses a different transmission protocol, it can be transmitted on the switching network of the same protocol, reflecting the forward and backward compatibility of the AXI5-Lite protocol.

下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。Referring to Figure 6, a schematic diagram of a computer system 600 suitable for implementing an electronic device of an embodiment of the present application is shown. The electronic device shown in Figure 6 is only an example and should not limit the functions and scope of use of the embodiment of the present application.

如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。As shown in FIG6 , the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage portion 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the system 600 are also stored in the RAM 603. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to the bus 604.

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分606;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。The following components are connected to the I/O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 606 including a liquid crystal display (LCD), etc. and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I/O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and/or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above functions defined in the method of the present application are executed. It should be noted that the computer-readable storage medium described in the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection with one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, an apparatus or a device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in combination with an instruction execution system, an apparatus or a device. The program code contained on a computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and/or flow chart, and the combination of the boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,并且这些单元的名称在某种情况下并不构成对该单元本身的限定。The modules involved in the embodiments described in the present application may be implemented by software or hardware. The units described may also be arranged in a processor, and the names of these units do not constitute limitations on the units themselves in certain circumstances.

本发明的实施例还涉及一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上文中的方法。该计算机程序包含用于执行流程图所示的方法的程序代码。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。An embodiment of the present invention further relates to a computer-readable storage medium having a computer program stored thereon, which implements the method described above when the computer program is executed by a computer processor. The computer program includes program code for executing the method shown in the flowchart. It should be noted that the computer-readable medium of the present application may be a computer-readable signal medium or a computer-readable medium or any combination of the above two.

本发明一种满足AXI5-Lite协议标准的无阻塞banyan网络,使用banyan网络构造满足AXI5-Lite协议标准的交换网络,将网络通道线路集合在一个交换单元中,降低了交换网络的复杂度,在5对通道中分别设置一个调度器,实现了交换网络的低延迟高性能,缓存单元具有输出和读取信号的能力,避免了传输阻塞,缓存单元中的缓存队列与主机、从机数量相对应,进一步减少了阻塞,对传输通道中的数据信息包设置有效控制信号位和控制信号位和数据信号位,保证了信息包读取的方便,每个传输通道的传输总线宽和数据信息包长度一致,使得传输可以一次性完成且不过多消耗。本发明交换网络结构较为简单,可以应用于要求高性能低延迟及网络复杂性不高的各种AMBA总线接口模块之间的无阻塞传输。The present invention discloses a non-blocking banyan network that meets the AXI5-Lite protocol standard. The banyan network is used to construct a switching network that meets the AXI5-Lite protocol standard. The network channel lines are gathered in a switching unit, the complexity of the switching network is reduced, a scheduler is respectively set in 5 pairs of channels, and the low latency and high performance of the switching network are achieved. The cache unit has the ability to output and read signals, avoiding transmission blocking. The cache queue in the cache unit corresponds to the number of the host and the slave, further reducing the blocking. The effective control signal bit and the control signal bit and the data signal bit are set for the data information packet in the transmission channel, ensuring the convenience of information packet reading. The transmission bus width of each transmission channel is consistent with the length of the data information packet, so that the transmission can be completed at one time without excessive consumption. The switching network structure of the present invention is relatively simple, and can be applied to non-blocking transmission between various AMBA bus interface modules that require high performance, low latency and low network complexity.

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above invention concept. For example, the above features are replaced with the technical features with similar functions disclosed in this application (but not limited to) by each other.

Claims (8)

1. A non-blocking banyan network that meets AXI5-Lite protocol standards, comprising:
A plurality of switching units forming a switching network, wherein each switching unit is provided with 5 common switching units in an integrated manner to meet 5 pairs of AXI channels with different attributes in different directions, and each transmission channel in the 5 pairs of AXI channels with different attributes in different directions has a transmission bus width consistent with the length of a data information packet;
A host I/O port buffer unit group provided between the switching network and a host to buffer a packet from the host to be transmitted to the switching network, wherein each host I/O port buffer unit in the host I/O port buffer unit group has a plurality of host buffer queues inside,
A slave I/O port buffer unit group provided between the switching network and a slave to buffer a packet from the slave to be transmitted to the switching network, wherein each of the slave I/O port buffer units in the slave I/O port buffer unit group has a plurality of slave buffer queues inside, wherein the master I/O port buffer unit group receives a valid signal from the master to confirm whether the master is to transmit data, the master I/O port buffer unit group gives a ready signal always set to 1 to the master so that the data is directly transmitted into the master buffer unit group, and the slave I/O port buffer unit group receives a valid signal from the slave to confirm whether the slave is to transmit data, and the slave I/O port buffer unit group gives a ready signal always set to 1 to the slave so that the data is directly transmitted into the slave buffer unit;
when an information packet is transmitted from a host to a slave, once an output port of a switching network detects that the information packet passes, the output port of the switching network gives a valid signal of a channel corresponding to the information packet to the target slave;
when the information packet is transmitted from the slave to the host, once the output port of the switching network detects that the information packet passes, the output port of the switching network gives the valid signal of the channel corresponding to the information packet to the target host.
2. The non-blocking banyan network of claim 1, wherein the master I/O port cache unit group includes three types of cache units for read address packets, write address packets, and write data packets, respectively, and the slave I/O port cache unit group includes two types of cache units for read data packets and response packets, respectively.
3. The non-blocking banyan network of claim 1, wherein the master I/O port cache unit group receives a ready signal sent directly from a slave and the slave I/O port cache unit group receives a ready signal sent directly from a master.
4. The non-blocking banyan network of claim 1, wherein the number of the plurality of master cache queues is equal to the number of slaves connected to the switching network, and the number of the plurality of slave cache queues is equal to the number of masters connected to the switching network.
5. The non-blocking banyan network of claim 2, wherein the 5 pairs of different-direction different-attribute AXI channels include 5 pairs of AXI channels for write data, write address, read data, read address, and response, respectively.
6. The non-blocking banyan network according to claim 5, wherein the banyan network further comprises 5 schedulers connected to the switching network, the 5 schedulers assigning priorities to packets to be transmitted in the cache queue for 5 pairs of AXI channels of different direction and different properties, respectively.
7. The non-blocking banyan network according to claim 5, wherein for a channel of a write address, a channel of a read address, a data packet includes 7 bits of valid control signal bits and a control signal corresponding to the 7 bits of valid control signal bits;
for the channel of the write response, the data information packet comprises 5 bits of valid control signal bits and a control signal corresponding to the 5 bits of valid control signal bits.
8. The non-blocking banyan network according to claim 7, wherein for a channel to write data and a channel to read data, the data packet includes 4 valid control signal bits and a control signal corresponding to the 4 valid control signal bits, the data packet further includes a data signal, and the size of the valid data of the data signal is determined by the corresponding control signal.
CN202210491177.0A 2022-05-07 2022-05-07 Non-blocking banyan network meeting AXI5-Lite protocol standard Active CN114679415B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210491177.0A CN114679415B (en) 2022-05-07 2022-05-07 Non-blocking banyan network meeting AXI5-Lite protocol standard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210491177.0A CN114679415B (en) 2022-05-07 2022-05-07 Non-blocking banyan network meeting AXI5-Lite protocol standard

Publications (2)

Publication Number Publication Date
CN114679415A CN114679415A (en) 2022-06-28
CN114679415B true CN114679415B (en) 2024-05-28

Family

ID=82079354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210491177.0A Active CN114679415B (en) 2022-05-07 2022-05-07 Non-blocking banyan network meeting AXI5-Lite protocol standard

Country Status (1)

Country Link
CN (1) CN114679415B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242729B (en) * 2022-09-22 2022-11-25 沐曦集成电路(上海)有限公司 Cache query system based on multiple priorities
CN117880364B (en) * 2024-03-12 2024-06-11 苏州仰思坪半导体有限公司 A data transmission method, system and related device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938405A (en) * 2009-07-01 2011-01-05 中兴通讯股份有限公司 Multi-protocol label switching-based data transmitting/receiving method, device and system
CN105005546A (en) * 2015-06-23 2015-10-28 中国兵器工业集团第二一四研究所苏州研发中心 Asynchronous AXI bus structure with built-in cross point queue
CN107070795A (en) * 2016-01-14 2017-08-18 赛灵思公司 Channel selecting in multichannel exchange network
US10601635B1 (en) * 2004-04-16 2020-03-24 EMC IP Holding Company LLC Apparatus, system, and method for wireless management of a distributed computer system
CN112073336A (en) * 2020-08-21 2020-12-11 西安电子科技大学 High-performance data exchange system and method based on AXI4 Stream interface protocol
CN114090250A (en) * 2021-11-22 2022-02-25 厦门大学 EDA hardware acceleration method and system based on Banyan network and multi-FPGA structure
CN114153775A (en) * 2021-12-10 2022-03-08 中国兵器工业集团第二一四研究所苏州研发中心 FlexRay controller based on AXI bus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010055299A1 (en) * 1996-08-16 2001-12-27 Keith C. Kelly Method and apparatus for establishing communications between packet-switched and circuit-switched networks
US10326448B2 (en) * 2013-11-15 2019-06-18 Scientific Concepts International Corporation Code partitioning for the array of devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601635B1 (en) * 2004-04-16 2020-03-24 EMC IP Holding Company LLC Apparatus, system, and method for wireless management of a distributed computer system
CN101938405A (en) * 2009-07-01 2011-01-05 中兴通讯股份有限公司 Multi-protocol label switching-based data transmitting/receiving method, device and system
CN105005546A (en) * 2015-06-23 2015-10-28 中国兵器工业集团第二一四研究所苏州研发中心 Asynchronous AXI bus structure with built-in cross point queue
CN107070795A (en) * 2016-01-14 2017-08-18 赛灵思公司 Channel selecting in multichannel exchange network
CN112073336A (en) * 2020-08-21 2020-12-11 西安电子科技大学 High-performance data exchange system and method based on AXI4 Stream interface protocol
CN114090250A (en) * 2021-11-22 2022-02-25 厦门大学 EDA hardware acceleration method and system based on Banyan network and multi-FPGA structure
CN114153775A (en) * 2021-12-10 2022-03-08 中国兵器工业集团第二一四研究所苏州研发中心 FlexRay controller based on AXI bus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多维交换网络中的一种流量控制机制;刘同;许都;苏清博;江果;;微计算机信息;第24卷(第06期);第113-115页 *

Also Published As

Publication number Publication date
CN114679415A (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US6877048B2 (en) Dynamic memory allocation between inbound and outbound buffers in a protocol handler
US8718065B2 (en) Transmission using multiple physical interface
JP5429572B2 (en) How to set parameters and determine latency in a chained device system
US6577542B2 (en) Scratchpad memory
JP4477613B2 (en) NoC system applying AXI protocol
JP5280135B2 (en) Data transfer device
US9124644B2 (en) Script-controlled egress packet modifier
CN114679415B (en) Non-blocking banyan network meeting AXI5-Lite protocol standard
US9280297B1 (en) Transactional memory that supports a put with low priority ring command
CN103858117B (en) Access control device, relay device, access control method
JP5552196B2 (en) RELAY DEVICE, RELAY DEVICE CONTROL METHOD, AND COMPUTER PROGRAM
KR20110113351A (en) Communication method of interface device in SOC-based system network considering network efficiency and interface device communicating by same
JPH09223089A (en) Method and apparatus for allowing packet data to be split into multiple bus targets
JP2016195375A (en) Method and apparatus for using multiple linked memory lists
CN102035723A (en) On-chip network router and realization method
US8532102B2 (en) Simple fairness protocols for daisy chain interconnects
WO2011089899A1 (en) Semiconductor system, relay apparatus, and chip circuit
WO2024222965A1 (en) Traffic management system and method, chip, and computer-readable storage medium
CN119938551B (en) A memory access system based on vertical expansion networking
CN114697276A (en) Broadcast switch system in network on chip (NoC)
TW200407712A (en) Configurable multi-port multi-protocol network interface to support packet processing
JP6146306B2 (en) I/O device control system and method for controlling I/O device control system
JP4687925B2 (en) Priority arbitration system and priority arbitration method
US9450890B2 (en) Pipelined egress packet modifier
US8054857B2 (en) Task queuing methods and systems for transmitting frame information over an I/O interface

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