[go: up one dir, main page]

CN105871761A - High order matrix switch, network on chip and communication method - Google Patents

High order matrix switch, network on chip and communication method Download PDF

Info

Publication number
CN105871761A
CN105871761A CN201610202554.9A CN201610202554A CN105871761A CN 105871761 A CN105871761 A CN 105871761A CN 201610202554 A CN201610202554 A CN 201610202554A CN 105871761 A CN105871761 A CN 105871761A
Authority
CN
China
Prior art keywords
target
input
virtual channel
message
output 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.)
Pending
Application number
CN201610202554.9A
Other languages
Chinese (zh)
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.)
IEIT Systems Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610202554.9A priority Critical patent/CN105871761A/en
Publication of CN105871761A publication Critical patent/CN105871761A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种高阶矩阵开关、片上网络及通信方法,该高阶矩阵开关可以包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;输入端口,用于接收源节点发送的报文;输入队列,用于缓存从相应输入端口输入的报文;控制逻辑,用于根据输入队列中缓存的报文确定相应的输出端口;交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。根据本方案,可以实现异步通信,从而可以降低片上网络的集成面积和功耗。

The present invention provides a high-order matrix switch, an on-chip network, and a communication method. The high-order matrix switch may include: at least one input port, at least one input queue, control logic, a switch matrix, and at least one output port; the input port uses The input queue is used to buffer the messages input from the corresponding input port; the control logic is used to determine the corresponding output port according to the messages buffered in the input queue; the switch matrix is used to The input queue and output port of a message create a data path for connecting the input queue and the output port, and use the data path to read the message from its corresponding input queue and transmit it to the corresponding output port; An output port is used to send each received message to the corresponding destination node. According to the solution, asynchronous communication can be realized, thereby reducing the integration area and power consumption of the network on chip.

Description

一种高阶矩阵开关、片上网络及通信方法A high-order matrix switch, on-chip network and communication method

技术领域technical field

本发明涉及集成电路技术领域,特别涉及一种高阶矩阵开关、片上网络及通信方法。The invention relates to the technical field of integrated circuits, in particular to a high-order matrix switch, an on-chip network and a communication method.

背景技术Background technique

随着集成电路技术、封装测试等技术的不断发展,单芯片的集成度越来越高,且集成功能也越来越复杂。With the continuous development of integrated circuit technology, packaging and testing technologies, the degree of integration of a single chip is getting higher and higher, and the integration functions are becoming more and more complex.

目前,一般使用SOC(System On Chip,片上系统)作为一个集成电路,在该SOC中可以包括多个节点和片上总线,其中,片上总线用于实现SOC中各个节点之间的互连,各个节点之间通过共享片上总线的方式实现数据的传输。At present, SOC (System On Chip, system on chip) is generally used as an integrated circuit, and multiple nodes and on-chip buses may be included in the SOC, wherein the on-chip bus is used to realize interconnection between various nodes in the SOC, and each node Data transmission is realized by sharing the on-chip bus.

然而,SOC以片上总线来实现数据传输作为主要特征,会存在全局时钟单一的问题,导致SOC集成面积和功耗较大的问题。However, the SOC uses an on-chip bus to realize data transmission as a main feature, and there will be a problem of a single global clock, which leads to problems of large integration area and power consumption of the SOC.

发明内容Contents of the invention

本发明实施例提供了一种高阶矩阵开关、片上网络及通信方法,以解决全局时钟单一的问题。Embodiments of the present invention provide a high-order matrix switch, an on-chip network and a communication method to solve the problem of a single global clock.

第一方面,本发明实施例提供了一种高阶矩阵开关,包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;其中,In the first aspect, an embodiment of the present invention provides a high-order matrix switch, including: at least one input port, at least one input queue, control logic, switching matrix, and at least one output port; wherein,

每一个输入端口,用于接收源节点发送的报文;Each input port is used to receive the message sent by the source node;

每一个所述输入队列,与每一个输入端口相对应,用于缓存从相应输入端口输入的报文;Each of the input queues corresponds to each input port and is used for buffering messages input from the corresponding input port;

所述控制逻辑,用于根据所述输入队列中缓存的报文确定相应的输出端口;The control logic is configured to determine a corresponding output port according to the messages buffered in the input queue;

所述交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;The switching matrix is used to create a data path for connecting the input queue and the output port according to the input queue and output port of each message, and use the data path to read the message from its corresponding input queue , transmitted to the corresponding output port;

每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。Each output port is used to send each received message to a corresponding destination node.

其中,所述输入队列包括:至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间;其中,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分;Wherein, the input queue includes: at least one input virtual channel and an input buffer space corresponding to each input virtual channel; wherein, each input virtual channel includes a corresponding number to distinguish it from other input virtual channels;

进一步包括:控制单元,用于在监测到从输入端口中输入的报文时,在该报文头微片中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。It further includes: a control unit, used for analyzing the virtual channel number in the virtual channel field in the packet header microchip when monitoring the message input from the input port; passing the message through the virtual channel number The corresponding input virtual channel is sent to the corresponding input buffer space.

其中,所述控制单元,具体用于在解析出所述虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,以及将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,并在发送结束后释放该输入虚信道,以供其他报文使用。Wherein, the control unit is specifically configured to use the message to lock the input virtual channel corresponding to the virtual channel number after parsing the virtual channel number, and pass the header chip of the message through the input Send the virtual channel to the corresponding input buffer space, and send the body flits and trailer flits of the message to the corresponding input buffer space through the input virtual channel in sequence, and release the input virtual channel after sending, for other messages.

其中,所述控制逻辑包括:路由计算子模块;其中,所述路由计算子模块包括:路由算法单元和输出请求生成单元;其中,Wherein, the control logic includes: a routing calculation submodule; wherein, the routing calculation submodule includes: a routing algorithm unit and an output request generation unit; where,

所述路由算法单元,用于根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在所述目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道;其中,每一个输出端口对应至少一条输出虚信道;The routing algorithm unit is used to calculate the corresponding target output port according to the routing information of the target message cached in the input queue, and resolve the virtual channel number in the virtual channel field in the target message header chip, And determine the corresponding target output virtual channel according to the virtual channel number; wherein, each output port corresponds to at least one output virtual channel;

输出请求生成单元,用于针对所述目标报文生成对所述目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。an output request generation unit, configured to generate a first request for the target output virtual channel and a second request for the target output port for the target message, and send the first request and the second request ask.

其中,所述控制逻辑进一步包括:仲裁子模块;其中,所述仲裁子模块包括:输出虚信道仲裁单元和输出端口仲裁单元;其中,Wherein, the control logic further includes: an arbitration submodule; wherein, the arbitration submodule includes: an output virtual channel arbitration unit and an output port arbitration unit; wherein,

所述输出虚信道仲裁单元,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文;The output virtual channel arbitration unit is configured to, when receiving the first request, judge whether the first request satisfies the first condition, and when the judging result includes that the first request satisfies the first condition, arbitrate succeed, and allocate the target output virtual channel to the target message;

所述输出端口仲裁单元,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。The output port arbitration unit is configured to judge whether the second request satisfies the second condition when receiving the second request, and if the judgment result includes that the second request satisfies the second condition, the arbitration is successful , assigning the target output port to the target packet, and triggering the switching matrix to perform a corresponding operation.

其中,进一步包括:优先级配置单元,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级;Wherein, it further includes: a priority configuration unit, which is used to configure the priority of the message buffered in each input queue, and is used to configure the priority of each output virtual channel;

所述第一请求满足所述第一条件,包括:所述目标输出虚信道所对应的输出缓存空间包括空闲空间,和,所述目标输出虚信道中已经将上一轮仲裁的整个报文传输结束;其中,每一输出虚信道对应一个输出缓存空间;The first request satisfies the first condition, including: the output buffer space corresponding to the target output virtual channel includes free space, and the entire message of the last round of arbitration has been transmitted in the target output virtual channel End; wherein, each output virtual channel corresponds to an output buffer space;

和/或,and / or,

所述第二请求满足所述第二条件,包括:在同时请求所述目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。The second request meeting the second condition includes: among the multiple output virtual channels simultaneously requesting the target output port, the target output virtual channel has the highest priority.

其中,所述交换矩阵,具体用于将缓存有所述目标报文的输入队列与所述目标输出端口之间的所述目标输出虚信道打通,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口;Wherein, the switching matrix is specifically used to open up the target output virtual channel between the input queue in which the target message is buffered and the target output port, and use the target output virtual channel to transmit the target message to the target output port;

所述优先级配置单元,进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。The priority configuration unit is further configured to adjust the priority of the target output virtual channel to the highest when the switch matrix uses the target output virtual channel to transmit the target message, and After the head flit, body flit and tail flit are transmitted, the priority of each output virtual channel corresponding to the target output port is adjusted according to the polling mechanism.

第二方面,本发明实施例还提供了一种片上网络,包括上述一所述的高阶矩阵开关、以及多个节点;其中,In the second aspect, the embodiment of the present invention also provides an on-chip network, including the high-order matrix switch described in the above-mentioned one, and a plurality of nodes; wherein,

多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;A source node among the plurality of nodes is configured to send a target message to the high-order matrix switch;

多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。A destination node among the multiple nodes is configured to receive the target message sent by the high-order matrix switch.

第三方面,本发明实施例还提供了一种基于上述片上网络的通信方法,应用于高阶矩阵开关,包括:In the third aspect, the embodiment of the present invention also provides a communication method based on the above-mentioned network-on-chip, which is applied to a high-order matrix switch, including:

通过目标输入端口接收源节点发送的目标报文;Receive the target message sent by the source node through the target input port;

将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;Buffering the target packet into a target input queue corresponding to the target input port;

根据所述目标报文确定相应的目标输出端口;determining a corresponding target output port according to the target message;

创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;creating a target data path connecting said target input queue and said target output port;

利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;Using the target data path to read the target message from the target input queue and transmit it to the target output port;

利用所述目标输出端口将所述目标报文发送给相应的目的节点。The target message is sent to a corresponding destination node by using the target output port.

其中,所述将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列,包括:Wherein, the buffering of the target message into the target input queue corresponding to the target input port includes:

在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;When monitoring the target message input from the target input port, parsing the virtual channel number in the virtual channel field in the target message header chip;

并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;And using the target message to lock the target input virtual channel corresponding to the parsed virtual channel number;

将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;sending the header flake of the target message to the corresponding target input buffer space through the target input virtual channel;

将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;sending the body flits and trailer flits of the target message to the target input buffer space through the target input virtual channel in sequence;

在发送结束后释放所述目标输入虚信道,以供其他报文使用。The target input virtual channel is released after the sending is completed for use by other messages.

本发明实施例提供了一种高阶矩阵开关、片上网络及通信方法,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。An embodiment of the present invention provides a high-order matrix switch, an on-chip network, and a communication method. By using at least one input port and at least one output port in the high-order matrix switch, data is transmitted between the input port and the output port through a data path. Therefore, each node can work in an independent clock domain, and asynchronous communication can be realized between different nodes through the high-order matrix switch, so that the integration area and power consumption of the network on chip can be reduced.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are For some embodiments of the present invention, those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1是本发明一个实施例提供的一种高阶矩阵开关结构示意图;FIG. 1 is a schematic structural diagram of a high-order matrix switch provided by an embodiment of the present invention;

图2是本发明一个实施例提供的另一种高阶矩阵开关结构示意图;FIG. 2 is a schematic structural diagram of another high-order matrix switch provided by an embodiment of the present invention;

图3是本发明一个实施例提供的片上网络结构示意图;FIG. 3 is a schematic diagram of a network-on-chip structure provided by an embodiment of the present invention;

图4是本发明一个实施例提供的一种通信方法流程图;Fig. 4 is a flow chart of a communication method provided by an embodiment of the present invention;

图5是本发明一个实施例提供的另一种通信方法流程图。Fig. 5 is a flowchart of another communication method provided by an embodiment of the present invention.

具体实施方式detailed description

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of the embodiments of the present invention, but not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work belong to the protection of the present invention. scope.

请参考图1,本发明实施例提供了一种高阶矩阵开关,该高阶矩阵开关可以包括以下内容:至少一个输入端口101、至少一个输入队列102、控制逻辑103、交换矩阵104和至少一个输出端口105;其中,Please refer to FIG. 1, an embodiment of the present invention provides a high-order matrix switch, which may include the following: at least one input port 101, at least one input queue 102, control logic 103, switching matrix 104 and at least one Output port 105; where,

每一个输入端口101,用于接收源节点发送的报文;Each input port 101 is used to receive the message sent by the source node;

每一个所述输入队列102,与每一个输入端口101相对应,用于缓存从相应输入端口101输入的报文;Each of the input queues 102 corresponds to each input port 101 and is used for buffering messages input from the corresponding input port 101;

所述控制逻辑103,用于根据所述输入队列102中缓存的报文确定相应的输出端口105;The control logic 103 is configured to determine the corresponding output port 105 according to the messages buffered in the input queue 102;

所述交换矩阵104,用于根据每一个报文的输入队列102和输出端口105创建用于连接该输入队列102和该输出端口105的数据路径,并利用该数据路径将报文从其对应的输入队列102中读出,传输给相应的输出端口105;The switching matrix 104 is configured to create a data path for connecting the input queue 102 and the output port 105 according to the input queue 102 and the output port 105 of each message, and use the data path to transfer the message from its corresponding Read out from the input queue 102 and transmit to the corresponding output port 105;

每一个输出端口105,用于将接收到的各个报文分别发送给相应的目的节点。Each output port 105 is used to send each received message to a corresponding destination node.

可见,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。It can be seen that using at least one input port and at least one output port in the high-order matrix switch, data transmission is performed between the input port and the output port through a data path, so each node can work in an independent clock domain, different Asynchronous communication can be realized between nodes through the high-order matrix switch, thereby reducing the integration area and power consumption of the network on chip.

需要说明的是,该高阶矩阵开关可以是NOC(Network On Chip,片上网络)中用于实现源节点与目的节点之间数据通信的通信节点,源节点发送的报文通过高阶矩阵开关的输入端口输入,由高阶矩阵开关的输出端口输出给目的节点。It should be noted that the high-order matrix switch can be a communication node used to realize data communication between the source node and the destination node in the NOC (Network On Chip, network on chip), and the message sent by the source node passes through the high-order matrix switch. The input port is input, and the output port of the high-order matrix switch is output to the destination node.

下面以该高阶矩阵开关包括输入端口1、输入端口2、…、输入端口n、输出端口1、输出端口2、…、输出端口m为例,其中,n、m均为不小于1的整数,对本发明实施例提供的高阶矩阵开关做进一步详细说明。The following takes the high-order matrix switch including input port 1, input port 2, ..., input port n, output port 1, output port 2, ..., output port m as an example, wherein n and m are integers not less than 1 , the high-order matrix switch provided by the embodiment of the present invention will be further described in detail.

在本发明一个实施例中,每一个输入接口对应一个输入队列,每一个输入队列可以包括至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分。In an embodiment of the present invention, each input interface corresponds to an input queue, and each input queue may include at least one input virtual channel and an input buffer space corresponding to each input virtual channel, and each input virtual channel includes a corresponding number to distinguish it from other input virtual channels.

例如,每一个输入队列中包括4条输入虚信道以及4个分别与输入虚信道相对应的输入缓存空间。那么,以输入端口1为例,可以对应输入虚信道1、输入虚信道、输入虚信道3和输入虚信道4这四个输入虚信道,以及对应输入缓存空间1、输入缓存空间2、输入缓存空间3和输入缓存空间4。For example, each input queue includes 4 input virtual channels and 4 input buffer spaces respectively corresponding to the input virtual channels. Then, taking input port 1 as an example, it can correspond to the four input virtual channels of input virtual channel 1, input virtual channel, input virtual channel 3 and input virtual channel 4, and corresponding input buffer space 1, input buffer space 2, input buffer Space 3 and input cache space 4.

请参考图2,在本发明一个实施例中,该高阶矩阵开关可以进一步包括:控制单元201,与各个输入端口相连以及与各个输入阵列相连,用于在监测到从输入端口中输入的报文时,在该报文头微片Flit中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。Please refer to FIG. 2, in an embodiment of the present invention, the high-order matrix switch may further include: a control unit 201, connected to each input port and each input array, for monitoring the input from the input port When the message is sent, the virtual channel number is analyzed in the virtual channel field in the header flit Flit; and the message is sent to the corresponding input buffer space through the input virtual channel corresponding to the virtual channel number.

由于报文在生成过程中,源节点在报文的头Flit中的虚信道域中添加了虚信道编号,以保证高阶矩阵开关可以利用相应的输入虚信道将报文缓存到相应输入缓存空间中。During the generation of the message, the source node adds the virtual channel number to the virtual channel field in the header Flit of the message to ensure that the high-order matrix switch can use the corresponding input virtual channel to cache the message in the corresponding input buffer space middle.

例如,控制单元201在报文头Flit中的虚信道域中解析出的虚信道编号为1,那么控制单元可以将该报文通过输入虚信道1缓存到输入缓存空间1中进行存储。For example, the virtual channel number analyzed by the control unit 201 in the virtual channel field in the message header Flit is 1, then the control unit may buffer the message into the input buffer space 1 through the input virtual channel 1 for storage.

在本发明一个实施例中,由于一个报文一般包括头Flit、至少一个体Flit和一个尾Flit,因此,该控制单元201,可以在解析出虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,并将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,直到整个报文全部缓存到输入缓存空间中,则释放该输入虚信道,以供其他报文使用。In an embodiment of the present invention, since a message generally includes a header Flit, at least one body Flit, and a tail Flit, the control unit 201 can use the message to perform The input virtual channel corresponding to the channel number is locked, and the head slice of the message is sent to the corresponding input buffer space through the input virtual channel, and the body slice and tail slice of the message are sequentially passed through the The input virtual channel is sent to the corresponding input buffer space until the entire message is buffered in the input buffer space, then the input virtual channel is released for use by other messages.

其中,报文的体Flit和尾Flit在缓存时,无需对其进行虚信道编号的判断,只需将其跟随头Flit进行传输即可。Wherein, when the body Flit and the tail Flit of the message are buffered, it is not necessary to judge the virtual channel number on them, and only need to transmit them along with the header Flit.

在本发明一个实施例中,该输入队列102,可以采用先进先出(FIFO)策略,先缓存的报文先被读取出去。In an embodiment of the present invention, the input queue 102 may adopt a first-in-first-out (FIFO) policy, and messages buffered first are read out first.

请参考图2,在本发明一个实施例中,该控制逻辑103可以包括:路由计算子模块1031和仲裁子模块1032。Please refer to FIG. 2 , in an embodiment of the present invention, the control logic 103 may include: a routing calculation submodule 1031 and an arbitration submodule 1032 .

下面分别对路由子模块1031和仲裁子模块1032的作用进行说明。The functions of the routing sub-module 1031 and the arbitration sub-module 1032 will be described respectively below.

首先,路由计算子模块1031可以包括:路由算法单元10311和输出请求生成单元10312;其中,First, the route calculation sub-module 1031 may include: a route algorithm unit 10311 and an output request generation unit 10312; wherein,

路由算法单元10311,用于计算输入缓存队列中待读出的各个报文的目标输出端口和目标输出虚信道,具体的,根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道,以及将确定的目标输出端口和目标输出虚信道发送给输出请求生成单元10312。The routing algorithm unit 10311 is used to calculate the target output port and the target output virtual channel of each message to be read in the input buffer queue, specifically, calculate the corresponding target output port according to the routing information of the target message cached in the input queue port, and analyze the virtual channel number in the virtual channel field in the target packet header chip, and determine the corresponding target output virtual channel according to the virtual channel number, and send the determined target output port and target output virtual channel to Output request generation unit 10312.

其中,每一个输出端口对应至少一条输出虚信道以及相应的输出缓存队列。Wherein, each output port corresponds to at least one output virtual channel and a corresponding output buffer queue.

其中,该路由信息可以包括目的节点的IP地址。Wherein, the routing information may include the IP address of the destination node.

输出请求生成单元10312,用于接收路由算法单元10311发送的目标输出端口和目标输出虚信道,并针对目标报文生成对目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。The output request generation unit 10312 is configured to receive the target output port and the target output virtual channel sent by the routing algorithm unit 10311, and generate a first request for the target output virtual channel and a second request for the target output port for the target message request, and send the first request and the second request.

在本发明一个实施例中,路由算法单元10311计算得到的目标输出端口和目标输出虚信道可以保存在寄存器中,直到在下一个头Flit到来,以使该头Flit所在的整个报文都使用该输出虚信道和输出端口进行数据传输。输出请求生成单元10312收到路由算法单元10311的计算结果后,第一请求和第二请求,第一请求和第二请求一直保持到目标输出端口接收到释放信号。In one embodiment of the present invention, the target output port and the target output virtual channel calculated by the routing algorithm unit 10311 can be stored in the register until the next header Flit arrives, so that the entire message in which the header Flit is located uses the output Virtual channels and output ports for data transmission. After the output request generating unit 10312 receives the calculation result of the routing algorithm unit 10311, the first request and the second request are kept until the target output port receives a release signal.

其次,仲裁子模块1032可以包括:输出虚信道仲裁单元10321和输出端口仲裁单元10322。其中,Secondly, the arbitration sub-module 1032 may include: an output virtual channel arbitration unit 10321 and an output port arbitration unit 10322 . in,

输出虚信道仲裁单元10321,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文。Output virtual channel arbitration unit 10321, configured to judge whether the first request satisfies the first condition when receiving the first request, and if the judging result includes that the first request satisfies the first condition, the arbitration is successful , and allocate the target output virtual channel to the target message.

在本发明一个实施例中,可以采用Round-Robin轮询机制对这些请求进行仲裁。In an embodiment of the present invention, a Round-Robin polling mechanism may be used to arbitrate these requests.

请参考图2,在本发明一个实施例中,该高阶矩阵开关可以进一步包括:优先级配置单元202,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级。其中,该优先级的配置可以根据报文的重要程度、紧急程度等信息进行配置,以保证优先级高的报文被优先传输。Please refer to FIG. 2, in one embodiment of the present invention, the high-order matrix switch may further include: a priority configuration unit 202, configured to configure priorities for messages buffered in each input queue, and for each Output virtual channel configuration priority. Wherein, the configuration of the priority can be configured according to information such as the importance and urgency of the message, so as to ensure that the message with a higher priority is transmitted first.

在本发明一个实施例中,该第一请求满足第一条件以确定仲裁成功,需要同时满足以下两个条件:In an embodiment of the present invention, the first request meets the first condition to determine that the arbitration is successful, and the following two conditions need to be met simultaneously:

1、目标输出虚信道所对应的输出缓存空间包括空闲空间;本实施例通过基于credit的流控机制,来防止当下游模块缓存空间满时,上游模块仍在持续转发数据而产生报文丢失的问题。1. The output buffer space corresponding to the target output virtual channel includes free space; this embodiment uses a credit-based flow control mechanism to prevent packet loss caused by the upstream module continuing to forward data when the buffer space of the downstream module is full question.

2、该目标输出虚信道中已经将上一轮仲裁的整个报文传输结束。2. The target has completed the transmission of the entire packet of the last round of arbitration in the output virtual channel.

输出端口仲裁单元10322,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。The output port arbitration unit 10322 is configured to judge whether the second request satisfies the second condition when receiving the second request, and if the judgment result includes that the second request satisfies the second condition, the arbitration is successful, and assigning the target output port to the target message, and triggering the switching matrix to perform a corresponding operation.

在本发明一个实施例中,该第二请求满足第二条件以确定仲裁成功,可以满足如下条件:在同时请求该目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。In an embodiment of the present invention, the second request satisfies the second condition to determine that the arbitration is successful, which may satisfy the following condition: Among the multiple output virtual channels that simultaneously request the target output port, the priority of the target output virtual channel Highest.

在本发明一个实施例中,当第一请求和第二请求被仲裁成功之后,将目标输出端口和目标输出虚信道分配给该目标报文。In an embodiment of the present invention, after the first request and the second request are successfully arbitrated, the target output port and the target output virtual channel are allocated to the target message.

在本发明一个实施例中,该交换矩阵104,是一个将输入端口和输出端口实现全互连的路径结构,具体用于将缓存有该目标报文的输入队列与该目标输出端口之间的所述目标输出虚信道打通,以将该目标输出虚信道作为数据路径,并向该目标报文的输入队列发送读信号,以从该输入队列中读取出该目标报文,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口。In an embodiment of the present invention, the switch matrix 104 is a path structure that fully interconnects the input port and the output port, and is specifically used to connect the input queue with the target message buffered and the target output port. The target output virtual channel is opened, so that the target output virtual channel is used as a data path, and a read signal is sent to the input queue of the target message, so as to read the target message from the input queue, and use the The target output virtual channel transmits the target message to the target output port.

进一步地,该优先级配置单元202,可以进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。Further, the priority configuration unit 202 may be further configured to adjust the priority of the target output virtual channel to be the highest when the switch matrix uses the target output virtual channel to transmit the target message, and After the header flit, body flit and trailer flit of the target message are transmitted, the priority of each output virtual channel corresponding to the target output port is adjusted according to the polling mechanism.

根据上实施例,各个输入端口可以在同一时钟下发送报文,且各个输出端口可以在同一时钟下输出报文,从而可以支持多CPU核的并行通信,可以提高系统整体性能和吞吐量。以及得到良好的可扩展性,没有地址空间的限制,理论上源节点、目的节点的集成数目不受限制。另外,使用全局异步、局部同步机制,每一个节点工作在独立的时钟域,不同的节点之间通过该高阶矩阵开关实现异步通信,可以很好解决全局单一时钟带来的面积和功耗问题。According to the above embodiment, each input port can send a message at the same clock, and each output port can output a message at the same clock, so that parallel communication of multiple CPU cores can be supported, and the overall performance and throughput of the system can be improved. As well as good scalability, there is no limit to the address space, and theoretically the number of integrated source nodes and destination nodes is not limited. In addition, using the global asynchronous and local synchronous mechanism, each node works in an independent clock domain, and different nodes realize asynchronous communication through the high-order matrix switch, which can well solve the area and power consumption problems caused by the global single clock .

请参考图3,本发明实施例还提供了一种片上网络,包括上述任一所述的高阶矩阵开关301、以及多个节点302;其中,Please refer to FIG. 3 , an embodiment of the present invention also provides an on-chip network, including any one of the high-order matrix switches 301 described above, and a plurality of nodes 302; wherein,

多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;A source node among the plurality of nodes is configured to send a target message to the high-order matrix switch;

多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。A destination node among the multiple nodes is configured to receive the target message sent by the high-order matrix switch.

根据本发明实施例提供的片上网络,可以实现各个节点并行通信,提高了数据传输效率,以及降低了片上网络的集成面积,且可以降低功耗。According to the network on chip provided by the embodiment of the present invention, parallel communication of each node can be realized, the efficiency of data transmission is improved, the integration area of the network on chip is reduced, and the power consumption can be reduced.

为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。In order to make the purpose, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.

请参考图4,本发明实施例还提供了一种片上网络通信方法,应用于高阶矩阵开关,可以包括以下步骤:Please refer to FIG. 4, an embodiment of the present invention also provides a network-on-chip communication method, which is applied to a high-order matrix switch, and may include the following steps:

步骤401:通过目标输入端口接收源节点发送的目标报文;Step 401: Receive the target message sent by the source node through the target input port;

步骤402:将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;Step 402: buffer the target packet into the target input queue corresponding to the target input port;

步骤403:根据所述目标报文确定相应的目标输出端口;Step 403: Determine the corresponding target output port according to the target message;

步骤404:创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;Step 404: Create a target data path for connecting the target input queue and the target output port;

步骤405:利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;Step 405: Using the target data path to read the target message from the target input queue, and transmit it to the target output port;

步骤406:利用所述目标输出端口将所述目标报文发送给相应的目的节点。Step 406: Send the target message to a corresponding destination node by using the target output port.

请参考图5,在本发明一个实施例中,步骤402可以包括:Please refer to FIG. 5, in one embodiment of the present invention, step 402 may include:

步骤501:在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;Step 501: When detecting the target message input from the target input port, parse out the virtual channel number in the virtual channel field in the target message header flake;

步骤502:并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;Step 502: and use the target message to lock the target input virtual channel corresponding to the parsed virtual channel number;

步骤503:将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;Step 503: Send the header flake of the target message to the corresponding target input buffer space through the target input virtual channel;

步骤504:将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;Step 504: sending the body flits and trailer flits of the target message to the target input buffer space through the target input virtual channel in sequence;

步骤505:在发送结束后释放所述目标输入虚信道,以供其他报文使用。Step 505: Release the target input virtual channel for use by other messages after sending.

在本发明一个实施例中,对于一个缓存到输入缓存空间的报文一般可以经过如下几个步骤:输出端口分配、输出虚信道分配、仲裁和数据传输,报文经过这四级处理后,最后转发出去。In an embodiment of the present invention, a message buffered into the input buffer space generally can go through the following steps: output port allocation, output virtual channel allocation, arbitration and data transmission. After the message is processed through these four stages, the final Forward it.

由于在报文中仅头Flit中包含路由信息,所以当头Flit被分别了输出端口和输出虚信道成功后,其它体Flit和尾Flit可以直接使用头Flit的分配结果,跳过输出端口分配和输出虚信道分配的过程,直接进入到仲裁和数据传输。Since only the header Flit contains the routing information in the message, after the header Flit is assigned the output port and the output virtual channel successfully, other body Flits and tail Flits can directly use the allocation result of the header Flit, skipping the output port allocation and output The process of virtual channel allocation directly enters arbitration and data transmission.

综上,本发明实施例至少可以实现如下有益效果:In summary, the embodiments of the present invention can at least achieve the following beneficial effects:

1、在本发明实施例中,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。1. In the embodiment of the present invention, using at least one input port and at least one output port in the high-order matrix switch, data transmission is performed between the input port and the output port through a data path, so each node can work In an independent clock domain, different nodes can realize asynchronous communication through the high-order matrix switch, so that the integrated area and power consumption of the network on chip can be reduced.

2、在本发明实施例中,各个输入端口可以在同一时钟下发送报文,且各个输出端口可以在同一时钟下输出报文,从而可以支持多CPU核的并行通信,可以提高系统整体性能和吞吐量。以及得到良好的可扩展性,没有地址空间的限制,理论上源节点、目的节点的集成数目不受限制。另外,使用全局异步、局部同步机制,每一个节点工作在独立的时钟域,不同的节点之间通过该高阶矩阵开关实现异步通信,可以很好解决全局单一时钟带来的面积和功耗问题。2. In the embodiment of the present invention, each input port can send a message under the same clock, and each output port can output a message under the same clock, so that parallel communication of multiple CPU cores can be supported, and the overall performance and performance of the system can be improved. throughput. As well as good scalability, there is no limit to the address space, and theoretically the number of integrated source nodes and destination nodes is not limited. In addition, using the global asynchronous and local synchronous mechanism, each node works in an independent clock domain, and different nodes realize asynchronous communication through the high-order matrix switch, which can well solve the area and power consumption problems caused by the global single clock .

3、在本发明实施例中,可以实现各个节点并行通信,提高了数据传输效率,以及降低了片上网络的集成面积,且可以降低功耗。3. In the embodiment of the present invention, parallel communication of each node can be realized, the data transmission efficiency is improved, the integration area of the network on chip is reduced, and the power consumption can be reduced.

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。The information exchange and execution process among the units in the above-mentioned device are based on the same concept as the method embodiment of the present invention, and the specific content can refer to the description in the method embodiment of the present invention, and will not be repeated here.

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is a relationship between these entities or operations. There is no such actual relationship or sequence. Furthermore, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes elements not expressly listed. other elements of or also include elements inherent in such a process, method, article, or device. Without further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional same elements in the process, method, article or apparatus comprising said element.

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。Those of ordinary skill in the art can understand that all or part of the steps to realize the above method embodiments can be completed by program instructions related hardware, and the aforementioned programs can be stored in a computer-readable storage medium. When the program is executed, the It includes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。Finally, it should be noted that the above descriptions are only preferred embodiments of the present invention, and are only used to illustrate the technical solution of the present invention, and are not used to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present invention are included in the protection scope of the present invention.

Claims (10)

1.一种高阶矩阵开关,其特征在于,包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;其中,1. A high-order matrix switch, characterized in that, includes: at least one input port, at least one input queue, control logic, switching matrix and at least one output port; wherein, 每一个输入端口,用于接收源节点发送的报文;Each input port is used to receive the message sent by the source node; 每一个所述输入队列,与每一个输入端口相对应,用于缓存从相应输入端口输入的报文;Each of the input queues corresponds to each input port and is used for buffering messages input from the corresponding input port; 所述控制逻辑,用于根据所述输入队列中缓存的报文确定相应的输出端口;The control logic is configured to determine a corresponding output port according to the messages buffered in the input queue; 所述交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;The switching matrix is used to create a data path for connecting the input queue and the output port according to the input queue and output port of each message, and use the data path to read the message from its corresponding input queue , transmitted to the corresponding output port; 每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。Each output port is used to send each received message to a corresponding destination node. 2.根据权利要求1所述的高阶矩阵开关,其特征在于,2. high-order matrix switch according to claim 1, is characterized in that, 所述输入队列包括:至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间;其中,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分;The input queue includes: at least one input virtual channel and an input buffer space corresponding to each input virtual channel; wherein, each input virtual channel includes a corresponding number to distinguish it from other input virtual channels; 进一步包括:控制单元,用于在监测到从输入端口中输入的报文时,在该报文头微片中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。It further includes: a control unit, used for analyzing the virtual channel number in the virtual channel field in the packet header microchip when monitoring the message input from the input port; passing the message through the virtual channel number The corresponding input virtual channel is sent to the corresponding input buffer space. 3.根据权利要求2所述的高阶矩阵开关,其特征在于,所述控制单元,具体用于在解析出所述虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,以及将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,并在发送结束后释放该输入虚信道,以供其他报文使用。3. The high-order matrix switch according to claim 2, wherein the control unit is specifically configured to, after parsing out the virtual channel number, use the message to input virtual channel number corresponding to the virtual channel number. The channel is locked, and the header slice of the message is sent to the corresponding input buffer space through the input virtual channel, and the body slice and tail slice of the message are sent to the corresponding input buffer through the input virtual channel in sequence. The input buffer space, and release the input virtual channel after sending, for other messages to use. 4.根据权利要求1所述的高阶矩阵开关,其特征在于,所述控制逻辑包括:路由计算子模块;其中,所述路由计算子模块包括:路由算法单元和输出请求生成单元;其中,4. The high-order matrix switch according to claim 1, wherein said control logic comprises: a routing calculation submodule; wherein said routing calculation submodule comprises: a routing algorithm unit and an output request generation unit; wherein, 所述路由算法单元,用于根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在所述目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道;其中,每一个输出端口对应至少一条输出虚信道;The routing algorithm unit is used to calculate the corresponding target output port according to the routing information of the target message cached in the input queue, and resolve the virtual channel number in the virtual channel field in the target message header chip, And determine the corresponding target output virtual channel according to the virtual channel number; wherein, each output port corresponds to at least one output virtual channel; 输出请求生成单元,用于针对所述目标报文生成对所述目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。an output request generation unit, configured to generate a first request for the target output virtual channel and a second request for the target output port for the target message, and send the first request and the second request ask. 5.根据权利要求4所述的高阶矩阵开关,其特征在于,所述控制逻辑进一步包括:仲裁子模块;其中,所述仲裁子模块包括:输出虚信道仲裁单元和输出端口仲裁单元;其中,5. The high-order matrix switch according to claim 4, wherein the control logic further comprises: an arbitration submodule; wherein the arbitration submodule comprises: an output virtual channel arbitration unit and an output port arbitration unit; wherein , 所述输出虚信道仲裁单元,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文;The output virtual channel arbitration unit is configured to, when receiving the first request, judge whether the first request satisfies the first condition, and when the judging result includes that the first request satisfies the first condition, arbitrate succeed, and allocate the target output virtual channel to the target message; 所述输出端口仲裁单元,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。The output port arbitration unit is configured to judge whether the second request satisfies the second condition when receiving the second request, and if the judgment result includes that the second request satisfies the second condition, the arbitration is successful , assigning the target output port to the target packet, and triggering the switching matrix to perform a corresponding operation. 6.根据权利要求5所述的高阶矩阵开关,其特征在于,6. high-order matrix switch according to claim 5, is characterized in that, 进一步包括:优先级配置单元,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级;It further includes: a priority configuration unit, configured to configure the priority of the messages buffered in each input queue, and configured to configure the priority of each output virtual channel; 所述第一请求满足所述第一条件,包括:所述目标输出虚信道所对应的输出缓存空间包括空闲空间,和,所述目标输出虚信道中已经将上一轮仲裁的整个报文传输结束;其中,每一输出虚信道对应一个输出缓存空间;The first request satisfies the first condition, including: the output buffer space corresponding to the target output virtual channel includes free space, and the entire message of the last round of arbitration has been transmitted in the target output virtual channel End; wherein, each output virtual channel corresponds to an output buffer space; 和/或,and / or, 所述第二请求满足所述第二条件,包括:在同时请求所述目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。The second request meeting the second condition includes: among the multiple output virtual channels simultaneously requesting the target output port, the target output virtual channel has the highest priority. 7.根据权利要求6所述的高阶矩阵开关,其特征在于,7. high-order matrix switch according to claim 6, is characterized in that, 所述交换矩阵,具体用于将缓存有所述目标报文的输入队列与所述目标输出端口之间的所述目标输出虚信道打通,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口;The switching matrix is specifically configured to open the target output virtual channel between the input queue in which the target message is buffered and the target output port, and use the target output virtual channel to transmit the target message to said target output port; 所述优先级配置单元,进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。The priority configuration unit is further configured to adjust the priority of the target output virtual channel to the highest when the switch matrix uses the target output virtual channel to transmit the target message, and After the head flit, body flit and tail flit are transmitted, the priority of each output virtual channel corresponding to the target output port is adjusted according to the polling mechanism. 8.一种片上网络,其特征在于,包括上述权利要求1-7中任一所述的高阶矩阵开关、以及多个节点;其中,8. An on-chip network, characterized in that it comprises the high-order matrix switch and a plurality of nodes according to any one of the above-mentioned claims 1-7; wherein, 多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;A source node among the plurality of nodes is configured to send a target message to the high-order matrix switch; 多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。A destination node among the multiple nodes is configured to receive the target message sent by the high-order matrix switch. 9.一种基于上述权利要求7所述的片上网络通信方法,其特征在于,应用于高阶矩阵开关,包括:9. A method for communicating with a network on chip based on the above-mentioned claim 7, characterized in that, being applied to a high-order matrix switch, comprising: 通过目标输入端口接收源节点发送的目标报文;Receive the target message sent by the source node through the target input port; 将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;Buffering the target packet into a target input queue corresponding to the target input port; 根据所述目标报文确定相应的目标输出端口;determining a corresponding target output port according to the target message; 创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;creating a target data path connecting said target input queue and said target output port; 利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;Using the target data path to read the target message from the target input queue and transmit it to the target output port; 利用所述目标输出端口将所述目标报文发送给相应的目的节点。The target message is sent to a corresponding destination node by using the target output port. 10.根据权利要求9所述的方法,其特征在于,所述将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列,包括:10. The method according to claim 9, wherein said buffering said target message into a target input queue corresponding to said target input port comprises: 在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;When monitoring the target message input from the target input port, parsing the virtual channel number in the virtual channel field in the target message header chip; 并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;And using the target message to lock the target input virtual channel corresponding to the parsed virtual channel number; 将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;sending the header flake of the target message to the corresponding target input buffer space through the target input virtual channel; 将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;sending the body flits and trailer flits of the target message to the target input buffer space through the target input virtual channel in sequence; 在发送结束后释放所述目标输入虚信道,以供其他报文使用。The target input virtual channel is released after the sending is completed for use by other messages.
CN201610202554.9A 2016-04-01 2016-04-01 High order matrix switch, network on chip and communication method Pending CN105871761A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610202554.9A CN105871761A (en) 2016-04-01 2016-04-01 High order matrix switch, network on chip and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610202554.9A CN105871761A (en) 2016-04-01 2016-04-01 High order matrix switch, network on chip and communication method

Publications (1)

Publication Number Publication Date
CN105871761A true CN105871761A (en) 2016-08-17

Family

ID=56627853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610202554.9A Pending CN105871761A (en) 2016-04-01 2016-04-01 High order matrix switch, network on chip and communication method

Country Status (1)

Country Link
CN (1) CN105871761A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743101A (en) * 2017-09-26 2018-02-27 杭州迪普科技股份有限公司 The retransmission method and device of a kind of data
CN110691043A (en) * 2019-09-11 2020-01-14 无锡江南计算技术研究所 Flower arrangement finishing method supporting multisource multi-virtual-channel discontinuous transmission
CN114064562A (en) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 ESL modeling method, device, equipment and medium for network on chip
WO2024174122A1 (en) * 2023-02-22 2024-08-29 声龙(新加坡)私人有限公司 Cache routing structure and method, and chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070041405A1 (en) * 2005-06-23 2007-02-22 Navada Muraleedhara H Method and system for response determinism by synchronization
CN104158738A (en) * 2014-08-29 2014-11-19 中国航空无线电电子研究所 Network-on-chip router with low buffer area and routing method
CN104780122A (en) * 2015-03-23 2015-07-15 中国人民解放军信息工程大学 Control method for hierarchical network-on-chip router based on cache redistribution
CN104994026A (en) * 2015-05-27 2015-10-21 复旦大学无锡研究院 Router switch applied to network-on-chip for supporting hard real-time communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070041405A1 (en) * 2005-06-23 2007-02-22 Navada Muraleedhara H Method and system for response determinism by synchronization
CN104158738A (en) * 2014-08-29 2014-11-19 中国航空无线电电子研究所 Network-on-chip router with low buffer area and routing method
CN104780122A (en) * 2015-03-23 2015-07-15 中国人民解放军信息工程大学 Control method for hierarchical network-on-chip router based on cache redistribution
CN104994026A (en) * 2015-05-27 2015-10-21 复旦大学无锡研究院 Router switch applied to network-on-chip for supporting hard real-time communication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘亮亮,韩国栋等: "《一种基于微片分组的片上网络微节点交叉开关调度机制》", 《小型微型计算机系统》 *
胡哲琨,陈杰: "《消息传递型片上多核系统的设计》", 《湖南大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743101A (en) * 2017-09-26 2018-02-27 杭州迪普科技股份有限公司 The retransmission method and device of a kind of data
CN107743101B (en) * 2017-09-26 2020-10-09 杭州迪普科技股份有限公司 Data forwarding method and device
CN110691043A (en) * 2019-09-11 2020-01-14 无锡江南计算技术研究所 Flower arrangement finishing method supporting multisource multi-virtual-channel discontinuous transmission
CN110691043B (en) * 2019-09-11 2021-10-29 无锡江南计算技术研究所 Flower arrangement finishing method supporting multisource multi-virtual-channel discontinuous transmission
CN114064562A (en) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 ESL modeling method, device, equipment and medium for network on chip
WO2024174122A1 (en) * 2023-02-22 2024-08-29 声龙(新加坡)私人有限公司 Cache routing structure and method, and chip

Similar Documents

Publication Publication Date Title
JP3872342B2 (en) Device for network and scalable network processor
US8085801B2 (en) Resource arbitration
JP4066382B2 (en) Network switch and component and method of operation
KR100687659B1 (en) A network interface for controlling lock operation according to the AI protocol, a packet data communication on-chip interconnect system including the network interface, and a method of operating the network interface.
US20170237672A1 (en) Network server systems, architectures, components and related methods
JP3832816B2 (en) Network processor, memory configuration and method
CN110620731A (en) Routing device and routing method of network on chip
JP3817477B2 (en) VLSI network processor and method
US20130179613A1 (en) Network on chip (noc) with qos features
US20150188847A1 (en) STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS
US10749811B2 (en) Interface virtualization and fast path for Network on Chip
CN102685017A (en) On-chip network router based on field programmable gate array (FPGA)
CN106603420B (en) It is a kind of in real time and failure tolerance network-on-chip router
US20090323540A1 (en) Electronic device, system on chip and method for monitoring data traffic
JP2003508957A (en) Network processor processing complex and method
JP2008546298A (en) Electronic device and communication resource allocation method
CN102035723A (en) On-chip network router and realization method
JP2004518381A (en) Modular and scalable switch and method for distributing Fast Ethernet data frames
CN118509395B (en) 48-Channel 48-port PCIE 5.0 Switch non-blocking switching device
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
CN104919763A (en) Communication device, router having communication device, bus system, and circuit substrate of semiconductor circuit having bus system
CN105871761A (en) High order matrix switch, network on chip and communication method
CN100583819C (en) Integrated circuit and method for packet switching control
US10091136B2 (en) On-chip network device capable of networking in dual switching network modes and operation method thereof
CN118075217A (en) Crossbar switching system for longitudinally splitting shared queue cache, realization and splitting method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160817