WO2016082198A1 - 一种片上网络、通信控制方法及控制器 - Google Patents

一种片上网络、通信控制方法及控制器 Download PDF

Info

Publication number
WO2016082198A1
WO2016082198A1 PCT/CN2014/092532 CN2014092532W WO2016082198A1 WO 2016082198 A1 WO2016082198 A1 WO 2016082198A1 CN 2014092532 W CN2014092532 W CN 2014092532W WO 2016082198 A1 WO2016082198 A1 WO 2016082198A1
Authority
WO
WIPO (PCT)
Prior art keywords
router
transmitted
bypass channel
data
input
Prior art date
Application number
PCT/CN2014/092532
Other languages
English (en)
French (fr)
Inventor
李扬
黄勤业
宋昆鹏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP14907107.8A priority Critical patent/EP3214822B1/en
Priority to CN201480037238.XA priority patent/CN105830416B/zh
Priority to PCT/CN2014/092532 priority patent/WO2016082198A1/zh
Publication of WO2016082198A1 publication Critical patent/WO2016082198A1/zh
Priority to US15/606,609 priority patent/US10554581B2/en

Links

Images

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/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to an on-chip network, a communication control method, and a controller.
  • NoC Network on Chip
  • RC Routing Computation
  • the router is used to connect the input ports of other routers in the X+, X-, Y+, and Y-directions. Ports X+ o , X- o , Y+ o , and Y- o are used by the router to connect X+, X-, Y+, Y- The output port of other routers in the four directions.
  • the port NI i is the input port used by the router to connect to the NI.
  • the port NI o is the output port of the router used to connect to the NI.
  • the NI mainly includes the buffer and the core circuit.
  • the power consumption of the router occupies a large proportion of the total NoC power consumption.
  • power gating technology can be used to cut off the power of each part of the router when the router is idle, so that the router is not in use.
  • the working state reduces the power consumption of the router to reduce the NoC power consumption.
  • Embodiments of the present invention provide an on-chip network NoC, a communication control method, and a controller, which can avoid data transmission delay.
  • an on-chip network NoC including a plurality of routers and a plurality of network interfaces NI, each of the plurality of routers connecting a local node device through an NI;
  • Each of the routers includes an output port connected to the NI, an input port connected to the NI, multiple output ports connected to other routers, and multiple input ports connected to other routers;
  • the output port of each of the routers connected to the NI has an input bypass channel between each of the routers and an input port of the other router;
  • An input bypass channel is provided between the input port of each router connected to the NI and the output port of each router connected to the other router.
  • the method further includes:
  • Each of the plurality of NIs includes an input port connected to the router and an output port connected to the router;
  • An input bypass port of each of the NI connection routers and an output port of the NI connection router has an NI bypass channel.
  • the input bypass channel, the output bypass channel, and the NI bypass channel include a link buffer
  • the link buffer When the link buffer is powered off, the link buffer performs data storage; when the link buffer is powered on, the link buffer performs data transmission.
  • the link buffer includes a first P-type switch, a second P-type switch, and a first N-type switch. a tube, a second N-type switch tube and an inverter, wherein:
  • the first P-type switch tube, the second P-type switch tube, the first N-type switch tube and the second N-type switch tube are sequentially connected; the input end of the first P-type switch tube serves as a power supply connection of the link buffer End, first An output end of the two N-type switch tube serves as a ground end of the link buffer, and a terminal between the second P-type switch tube and the first N-type switch tube serves as an output end of the link buffer;
  • the control end of the first P-type switch tube is connected to the input end of the inverter, and the connected terminal serves as the control end of the link buffer; the output end of the inverter and the control end of the second N-type switch tube Connected
  • the second P-type switch is connected to the control end of the first N-type switch, and the connected terminal serves as an input of the link buffer.
  • a communication control method for an on-chip network NoC includes a plurality of routers and a plurality of network interfaces NI, each of the plurality of routers connecting a local node device through an NI, Control methods, including:
  • the router When the router is in a non-working state, data to be transmitted that controls the router is transmitted through a bypass channel of the router; wherein the router includes an output port connected to the NI, an input port connected to the NI, a plurality of output ports connected to other routers and a plurality of input ports connected to other routers; an output bypass port of the router connected to the NI, and an input port of each of the routers connected to other routers, each having an input bypass channel An input bypass channel is provided between the input port of the router connected to the NI and the output port of each router connected to the other router; the bypass channel of the router includes the input bypass channel and the The output bypass channel.
  • the data to be transmitted of the router is transmitted through the bypass channel of the router, and specifically includes:
  • the data to be transmitted of the router is from an input port of the router connected to another router, the data to be transmitted is transmitted to the router through an input bypass channel corresponding to the input port in a bypass channel of the router. Connect to the output port of the NI;
  • the data to be transmitted of the router is from an input port of the router connected to the NI, determining a next hop router of the router based on the destination address of the data to be transmitted; and transmitting the data to be transmitted through the router
  • the output bypass channel corresponding to the next hop router in the bypass channel is transmitted to the output port of the router connected to other routers.
  • the method when the router is in a non-working state, the method further includes:
  • the data to be transmitted is transmitted to the output port of the connection router of the NI through the NI bypass channel of the NI;
  • the NI includes an input port connected to the router and an output port connected to the router; the NI bypass channel of the NI is located at an input port of the connection router of the NI and an output port of the connection router of the NI between.
  • a controller for an on-chip network NoC comprising a plurality of routers and a plurality of network interfaces NI, each of the plurality of routers connecting a local node device through an NI, the control , including:
  • a determining unit configured to determine whether a router in the NoC is in an active state
  • a control unit configured to: when the router is in a non-working state, control data to be transmitted of the router to be transmitted through a bypass channel of the router; where the router includes an output port connected to the NI, and a connection An input port of the NI, multiple output ports connected to other routers, and multiple input ports connected to other routers; an output port of the router connected to the NI, and an input port of each of the routers connected to other routers, Having an input bypass channel; an input port of the router connected to the NI, and an output port of each of the routers connected to the other router, each having an output bypass channel; the bypass channel of the router includes the input A bypass channel and the output bypass channel.
  • control unit is specifically configured to: when the data to be transmitted of the router is from an input port of the router connected to another router, the data to be transmitted is used. Transmitting to an output port of the router connected to the NI through an input bypass channel corresponding to the input port in the bypass channel of the router;
  • control unit is further configured to: when the router is in a non-working state, when the router When the data to be transmitted of the connected NI is from the input port of the connection router of the NI, it is determined whether the destination address of the data to be transmitted is the same as the address of the local node device to which the NI is connected; when the destination address of the data to be transmitted is When the address of the local node device connected to the NI is different, the data to be transmitted is transmitted to the output port of the connection router of the NI through the NI bypass channel of the NI; wherein the NI includes a connection. An input port of the router and an output port connected to the router; the NI bypass path of the NI is located between an input port of the NI connection router and an output port of the NI connection router.
  • FIG. 1 is a schematic diagram of a conventional NoC architecture
  • FIG. 2 is a schematic structural diagram of a router and an NI in a conventional NoC
  • FIG. 3 is a schematic structural diagram of a NoC according to Embodiment 1 of the present invention.
  • FIG. 4 is a schematic structural diagram of a router in a NoC according to Embodiment 1 of the present invention.
  • FIG. 5 is a schematic structural diagram of an NI in a NoC according to Embodiment 1 of the present invention.
  • FIG. 6 is a schematic structural diagram of a link buffer according to Embodiment 1 of the present invention.
  • FIG. 7 is a schematic flowchart diagram of a communication control method of NoC according to Embodiment 2 of the present invention.
  • FIG. 8 is a schematic structural diagram of a controller of the NoC according to Embodiment 3 of the present invention.
  • an embodiment of the present invention provides a NoC, a communication control method, and a controller.
  • the preferred embodiments of the present invention are described below with reference to the accompanying drawings, and it should be understood that the preferred embodiments described herein.
  • the examples are only intended to illustrate and explain the present invention and are not intended to limit the invention. And in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
  • the embodiment of the present invention provides a NoC, whose architecture is as shown in FIG. 3, and includes multiple routers and multiple NIs.
  • Each of the multiple routers connects to a local node device through an NI, that is, each router corresponds to A local node device, compared to the conventional NoC, the NoC provided by the embodiment of the present invention further includes a bypass channel (shown by a broken line in FIG. 3).
  • each router includes an output port connected to the NI, an input port connected to the NI, multiple output ports connected to other routers, and multiple connections.
  • the input port of the router; the output port of each router connected to the NI, and the input port of each router connected to the other router have an input bypass channel; each router is connected to the input port of the NI, and the router Each of the output ports connected to other routers has an output bypass channel.
  • the router has a total of eight bypass channels, including four input bypass channels and four output bypass channels:
  • Each of the routers has an input bypass channel between the input ports X+ i , X- i , Y+ i , Y- i connected to the other routers, and the output port NI o of the router connected to the NI; each of the routers
  • the output ports X+ o , X- o , Y+ o , Y- o connected to other routers have an output bypass channel between the NI input port NI i and the router.
  • the input bypass channel and the output bypass channel may specifically include a link buffer.
  • the control step may be specifically performed by a controller that controls the power-off and power-off of each part of the router in the prior art, specifically:
  • the data to be transmitted of the router is transmitted to the connection NI of the router through the input bypass channel corresponding to the input port in the bypass channel of the router.
  • Output port that is, when the router is in the non-working state, by inputting the bypass channel, the data transmitted by other routers in the NoC to the router can still be transmitted to the NI connected to the router, and can be transmitted to the local node corresponding to the router. device;
  • the next hop router of the router is determined based on the destination address of the data to be transmitted, and the data to be transmitted is passed through the bypass channel of the router.
  • the output bypass channel corresponding to the next hop router is transmitted to the output port of the router connected to other routers; that is, when the router is in a non-working state, the NI connected to the router transmits data to the router through the output bypass channel. It can still be transmitted to other routers in the NoC, that is, the data of the local node device corresponding to the router can be transmitted to the NoC, and the data can be transmitted in the shortest path.
  • the controller may obtain the destination address of the data to be transmitted from the header information of the data to be transmitted.
  • the controller may calculate the next hop router according to the destination address of the data to be transmitted according to the shortest transmission path of the data to be transmitted; preferably, the RC module of the router
  • the calculation function is enabled. Therefore, when the router is idle, the RC module in the router can be controlled to be uninterrupted, and other parts of the router are controlled to be VA&SA, Crossbar, and FIFO are powered off, and the controller sends the destination address of the data to be transmitted to the router.
  • RC the next hop router is calculated by the RC in the router, and the controller directly obtains the calculation result from the RC module in the router.
  • each of the plurality of NIs includes an input port connected to the router and an output port connected to the router; each The NI bypass router has an NI bypass channel between the input port of the router and the output port of the NI's connected router.
  • the NI bypass channel may specifically include a link buffer.
  • the above controller can also be used to:
  • the router When the router is in a non-working state, if the data to be transmitted of the NI connected to the router is from the input port of the NI connection router, it is determined whether the destination address of the data to be transmitted is the same as the address of the local node device connected to the NI. That is, it is determined whether the local node device connected to the NI is a destination node;
  • the local node device of the NI connection is the destination node, and the data to be transmitted is transmitted to the local node device.
  • the local node device of the NI connection is not the destination node, and the data to be transmitted is transmitted to the NI bypass channel through the NI.
  • the output port of the connected router of the NI needs to re-inject the data to be transmitted into the NoC for routing; the subsequent controller determines the next hop router based on the destination address of the data to be transmitted, and passes the data to be transmitted through the corresponding output.
  • the bypass channel is transmitted to the next hop router.
  • the data to be transmitted of the NI connected to the router is from the input port of the NI connected to the local node device, the data to be transmitted is transmitted to the output port of the connected router of the NI; likewise, the subsequent controller is based on the to-be-transmitted
  • the destination address of the data determines the next hop router, and transmits the data to be transmitted to the next hop router through the corresponding output bypass channel.
  • arbitration can also be performed by the above controller.
  • a gated link buffer can be used.
  • the link buffer When the link buffer is powered off, the link buffer performs data storage, and does not perform data transmission, that is, the corresponding bypass channel does not perform data transmission; when the link buffer is powered on, the link buffer performs Data transmission, that is, data transmission corresponding to the bypass channel.
  • the gated link buffer may have multiple implementation forms.
  • the link buffer specifically includes a first P-type switch tube, a second P-type switch tube, and a first N-type switch tube. a second N-type switch and an inverter, wherein:
  • the first P-type switch tube, the second P-type switch tube, the first N-type switch tube and the second N-type switch tube are sequentially connected, that is, the output end of the first P-type switch tube is connected to the input of the second P-type switch tube
  • the output end of the second P-type switch tube is connected to the input end of the first N-type switch tube, and the output end of the first N-type switch tube is connected to the input end of the second N-type switch tube;
  • the input of the first P-type switch tube The terminal serves as the power terminal Vd of the link buffer
  • the output end of the second N-type switch tube serves as the ground end of the link buffer
  • the terminal between the second P-type switch tube and the first N-type switch tube serves as a terminal
  • the control end of the first P-type switch tube is connected to the input end of the inverter, and the connected terminal serves as the control end of the link buffer L_Ctrl;
  • the link buffer when the control terminal L_Ctrl inputs a high level signal, the link buffer is powered off, that is, the link buffer is closed, and the transmission data can be temporarily stored, and The corresponding bypass channel does not perform data transmission; when the control terminal L_Ctrl inputs a low level signal, the link buffer is powered on, that is, the link buffer is turned on, and the data is transmitted corresponding to the bypass channel.
  • the link buffer is controlled by two aspects:
  • the input bypass channel, the output bypass channel, and the NI bypass channel are all closed, and the link buffer is closed.
  • the input bypass channel, the output bypass channel, and the NI bypass channel are used to transmit data. If there is data congestion, the corresponding link buffer is controlled to be closed, and the data is temporarily stored, otherwise the chain The buffer is turned on for data transmission.
  • the link buffer shown in FIG. 6 is only an example and is not intended to limit the present invention.
  • the amount of data of the data to be transmitted of the router may be large.
  • the router is woken up again, and before the router is completely woken up, Data is still transmitted through the bypass channel.
  • the next hop router of the router is also in a non-working state, and the next hop router can also be woken up, that is, each part of the control router interrupted power is re-powered, and the router is restarted to be in a working state.
  • the controller may obtain the data amount of the data to be transmitted from the header information of the data to be transmitted.
  • the data to be transmitted of the router is transmitted by the bypass channel of the router in the shortest path, thereby avoiding data transmission delay, taking into account power consumption and data transmission effect.
  • the embodiment of the present invention further provides a communication control method in the NoC, where the NoC includes multiple routers and multiple network interfaces NI, and each of the multiple routers connects one local node device through one NI; for each router, The router includes an output port connected to the NI, an input port connected to the NI, multiple output ports connected to other routers, and multiple input ports connected to other routers; the router is connected to the output port of the NI, with each of the routers An input bypass port is connected between the input ports of other routers; the input port of the router connected to the NI and the output port of each router connected to the other router have an output bypass channel; the router The bypass channel includes the input bypass channel and the output bypass channel.
  • the communication control method in the above NoC is as shown in FIG. 7, and specifically includes the following steps:
  • Step 701 Determine whether the router in the NoC is in a working state.
  • Step 702 When the router is in a non-working state, the data to be transmitted that controls the router is transmitted through the bypass channel of the router.
  • step 702 the data to be transmitted controlled by the router is transmitted through the bypass channel of the router, and specifically includes:
  • the data to be transmitted of the router is transmitted to the connection NI of the router through the input bypass channel corresponding to the input port in the bypass channel of the router.
  • Output port that is, when the router is in the non-working state, by inputting the bypass channel, the data transmitted by other routers in the NoC to the router can still be transmitted to the NI connected to the router, and can be transmitted to the local node corresponding to the router.
  • the next hop router of the router is determined based on the destination address of the data to be transmitted, and the data to be transmitted is passed through the bypass channel of the router.
  • the output bypass channel corresponding to the next hop router is transmitted to the output port of the router connected to other routers; that is, when the router is in a non-working state, the NI connected to the router transmits data to the router through the output bypass channel. It can still be transmitted to other routers in the NoC, that is, the data of the local node device corresponding to the router can be transmitted to the NoC, and the data can be transmitted in the shortest path.
  • the destination address of the data to be transmitted may be obtained from the header information of the data to be transmitted.
  • the next hop router when determining the next hop router, may be calculated according to the destination address of the data to be transmitted according to the shortest transmission path of the data to be transmitted; preferably, since the RC module of the router has the calculation function, When the router is idle, it can control the RC module in the router to continuously power, control other parts of the router, VA&SA, Crossbar, FIFO power off, send the destination address of the data to be transmitted to the RC in the router, and calculate by the RC in the router. The next hop router directly obtains the calculation result from the RC module in the router.
  • the NI includes an input port connected to the router and an output port connected to the router;
  • the NI NI bypass channel is located at the input port of the NI connection router and the NI Connected between the output ports of the router.
  • the data to be transmitted of the NI connected to the router is from the input port of the connection router of the NI, it is determined whether the destination address of the data to be transmitted is the same as the address of the local node device connected to the NI; that is, determining the locality of the NI connection Whether the node device is the destination node;
  • the local node device of the NI connection is the destination node, and the data to be transmitted is transmitted to the local node device.
  • the data to be transmitted is transmitted to the connection router of the NI through the NI bypass channel of the NI.
  • the data to be transmitted is re-injected into the NoC for routing; the next hop router is determined based on the destination address of the data to be transmitted, and the data to be transmitted is transmitted to the next hop through the corresponding output bypass channel. router.
  • the data to be transmitted of the NI connected to the router is from the input port of the NI connected to the local node device, the data to be transmitted is transmitted to the output port of the connection router of the NI; likewise, the subsequent The destination address of the data is transmitted, and the next hop router is determined, and the data to be transmitted is transmitted to the next hop router through the corresponding output bypass channel.
  • the input bypass channel, the output bypass channel, and the NI bypass channel may further include a gated link buffer, and the link buffer is controlled when the control terminal of the link buffer is controlled.
  • the link buffer When the power is off, the link buffer is closed, and the transmission data can be temporarily stored.
  • the link buffer does not perform data transmission, that is, the corresponding bypass channel does not perform data transmission; when the control terminal controls the link buffer, When the link buffer is powered on, the link buffer is turned on for data transmission, that is, data is transmitted corresponding to the bypass channel.
  • the communication control method provided by the above embodiment of the present invention correspondingly, the embodiment of the present invention further provides a controller in the NoC, and the structure of the controller is as shown in FIG.
  • a determining unit 801 configured to determine whether a router in the NoC is in an active state
  • the control unit 802 is configured to: when the router is in a non-working state, control the data to be transmitted of the router to be transmitted through the bypass channel of the router; wherein the router includes an output port connected to the NI, and an input connected to the NI. Port, multiple output ports connected to other routers, and multiple input ports connected to other routers; the output port of the router connected to the NI has an input bypass channel between each of the routers and the input port of the other router.
  • the input port of the router connected to the NI and the output port of each router connected to the other router have an output bypass channel; the bypass channel of the router includes the input bypass channel and the output bypass channel .
  • control unit 802 is specifically configured to: when the data to be transmitted of the router is from the road When the device is connected to the input port of the other router, the data to be transmitted is transmitted to the output port of the router connected to the NI through the input bypass channel corresponding to the input port in the bypass channel of the router;
  • the next hop router of the router is determined based on the destination address of the data to be transmitted; and the data to be transmitted is passed through the bypass channel of the router.
  • the output bypass channel corresponding to the next hop router is transmitted to the output port of the router connected to other routers.
  • control unit 802 is further configured to determine, when the router is in a non-working state, when the data to be transmitted of the NI connected by the router is from an input port of the connection router of the NI, determine a destination address of the data to be transmitted.
  • the data to be transmitted is transmitted to the NI bypass channel of the NI to An output port of the NI connection router; wherein the NI includes an input port connected to the router and an output port connected to the router; the NI NI bypass channel is located at an input port of the NI connection router and the NI Connect between the output ports of the router.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements a particular function in a block or blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing a particular function in a block or blocks of a flow or a flow and/or block diagram of a flowchart.

Landscapes

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

Abstract

一种片上网络NoC、通信控制方法及控制器,能够避免数据传输延迟。该NoC包括多个路由器和多个网络接口NI,该多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,该每一个路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;该每一个路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;该每一个路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道。

Description

一种片上网络、通信控制方法及控制器 技术领域
本发明涉及计算机技术领域,特别涉及一种片上网络、通信控制方法及控制器。
背景技术
片上网络(NoC,Network on Chip)借用了计算机通信网络的概念,采用交换和路由技术替代总线技术,逐渐成为了芯片内部的主流互连方案,传统的NoC其架构如图1所示,包括多个路由器和网络接口(NI,Network Interface),每个路由器对应一个本地节点设备,路由器和对应本地节点设备之间通过NI相连。以图1中示出的第二行第二个路由器为例,路由器及NI的具体结构如图2所示,其中,路由器主要包括路由计算(RC,Routing Computation)模块、虚通道分配器和交叉开关分配器(VA&SA,Virtual Channel Allocator and Switch Allocator)、交叉开关矩阵(Crossbar)和先入先出队列(FIFO,First Input First Output),端口X+i、X-i、Y+i、Y-i为该路由器用于连接X+、X-、Y+、Y-四个方向上其它路由器的输入端口,端口X+o、X-o、Y+o、Y-o为该路由器用于连接X+、X-、Y+、Y-四个方向上其它路由器的输出端口,端口NIi为该路由器用于连接NI的输入端口,端口NIo为该路由器用于连接NI的输出端口;NI主要包括缓存器和核心电路。
NoC中,路由器的功耗在整个NoC功耗中占据了很大一部分比例,为了减小NoC功耗,可以采用功率门控技术,在路由器空闲时切断路由器中各部分的电源,使路由器处于非工作状态,通过减小路由器的功耗达到减小NoC功耗的目的。当该路由器存在待传输数据时,再唤醒该路由器,即控制该路由器中各部分重新上电,使路由器重新开启处于工作状态。
然而,上述控制方案虽然能够减小NoC功耗,但若数据传输路径中存在处于非工作状态的路由器,则需要等待该路由器重新开启,导致数据传输延 迟严重。
发明内容
本发明实施例提供一种片上网络NoC、通信控制方法及控制器,能够避免数据传输延迟。
第一方面,提供一种片上网络NoC,包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备;
所述每一个路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;
所述每一个路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;
所述每一个路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道。
结合第一方面,在第一种可能的实现方式中,还包括:
所述多个NI中的每一个NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;
所述每一个NI的连接路由器的输入端口,与该NI的连接路由器的输出端口之间,具有NI旁路通道。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述输入旁路通道、所述输出旁路通道和所述NI旁路通道中包括链路缓存器;
当所述链路缓存器断电时,所述链路缓存器进行数据存储;当所述链路缓存器上电时,所述链路缓存器进行数据传输。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述链路缓存器具体包括第一P型开关管、第二P型开关管、第一N型开关管、第二N型开关管和反相器,其中:
第一P型开关管、第二P型开关管、第一N型开关管和第二N型开关管顺次相连;第一P型开关管的输入端作为所述链路缓存器的电源接线端,第 二N型开关管的输出端作为所述链路缓存器的接地端,第二P型开关管和第一N型开关管间的接线端作为所述链路缓存器的输出端;
第一P型开关管的控制端和反相器的输入端相连,相连后的接线端作为所述链路缓存器的控制端;反相器的输出端和第二N型开关管的控制端相连;
第二P型开关管和第一N型开关管的控制端相连,相连后的接线端作为所述链路缓存器的输入端。
第二方面,提供一种片上网络NoC的通信控制方法,所述NoC包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,所述控制方法,包括:
确定所述NoC中的路由器是否处于工作状态;
当所述路由器处于非工作状态时,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输;其中,所述路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;所述路由器的连接NI的输出端口,与所述路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;所述路由器的连接NI的输入端口,与所述路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;所述路由器的旁路通道包括所述输入旁路通道和所述输出旁路通道。
结合第二方面,在第一种可能的实现方式中,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输,具体包括:
当所述路由器的待传输数据来自于所述路由器的连接其它路由器的输入端口时,将该待传输数据通过所述路由器的旁路通道中该输入端口对应的输入旁路通道传输至所述路由器的连接NI的输出端口;
当所述路由器的待传输数据来自于所述路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定所述路由器的下一跳路由器;将该待传输数据通过所述路由器的旁路通道中所述下一跳路由器对应的输出旁路通道传输至所述路由器的连接其它路由器的输出端口。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,当所述路由器处于非工作状态时,还包括:
当所述路由器连接的NI的待传输数据来自于所述NI的连接路由器的输入端口时,判断该待传输数据的目的地址是否和所述NI连接的本地节点设备的地址相同;
当该待传输数据的目的地址和所述NI连接的本地节点设备的地址不相同时,将该待传输数据通过所述NI的NI旁路通道传输至所述NI的连接路由器的输出端口;其中,所述NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;所述NI的NI旁路通道,位于所述NI的连接路由器的输入端口与所述NI的连接路由器的输出端口之间。
第三方面,提供一种片上网络NoC的控制器,所述NoC包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,所述控制器,包括:
确定单元,用于确定所述NoC中的路由器是否处于工作状态;
控制单元,用于当所述路由器处于非工作状态时,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输;其中,所述路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;所述路由器的连接NI的输出端口,与所述路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;所述路由器的连接NI的输入端口,与所述路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;所述路由器的旁路通道包括所述输入旁路通道和所述输出旁路通道。
结合第三方面,在第一种可能的实现方式中,所述控制单元,具体用于当所述路由器的待传输数据来自于所述路由器的连接其它路由器的输入端口时,将该待传输数据通过所述路由器的旁路通道中该输入端口对应的输入旁路通道传输至所述路由器的连接NI的输出端口;
当所述路由器的待传输数据来自于所述路由器的连接NI的输入端口时, 基于该待传输数据的目的地址,确定所述路由器的下一跳路由器;将该待传输数据通过所述路由器的旁路通道中所述下一跳路由器对应的输出旁路通道传输至所述路由器的连接其它路由器的输出端口。
结合第三方面,或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制单元,还用于当所述路由器处于非工作状态时,当所述路由器连接的NI的待传输数据来自于所述NI的连接路由器的输入端口时,判断该待传输数据的目的地址是否和所述NI连接的本地节点设备的地址相同;当该待传输数据的目的地址和所述NI连接的本地节点设备的地址不相同时,将该待传输数据通过所述NI的NI旁路通道传输至所述NI的连接路由器的输出端口;其中,所述NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;所述NI的NI旁路通道,位于所述NI的连接路由器的输入端口与所述NI的连接路由器的输出端口之间。
根据第一方面提供的片上网络NoC,第二方面提供的片上网络NoC的通信控制方法,第三方面提供的片上网络NoC的控制器,NoC中的路由器设置了旁路通道,当路由器处于非工作状态时,可以通过该路由器的旁路通道进行数据的传输,从而避免了数据传输延迟。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为传统的NoC的架构示意图;
图2为传统的NoC中路由器及NI的结构示意图;
图3为本发明实施例1提供的NoC的架构示意图;
图4为本发明实施例1提供的NoC中路由器的结构示意图;
图5为本发明实施例1提供的NoC中NI的结构示意图;
图6为本发明实施例1提供的链路缓存器的结构示意图;
图7为本发明实施例2提供的NoC的通信控制方法的流程示意图;
图8为本发明实施例3提供的NoC的控制器的结构示意图。
具体实施方式
为了给出避免数据传输延迟的实现方案,本发明实施例提供了一种NoC、通信控制方法及控制器,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1:
本发明实施例提供了一种NoC,其架构如图3所示,包括多个路由器和多个NI,该多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,即每个路由器对应一个本地节点设备,相比于传统NoC,本发明实施例提供的NoC还包括旁路通道(如图3中虚线所示)。具体的,如图4所示,本发明实施例提供的NoC中,每一个路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;每一个路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;每一个路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道。
以图3中示出的第二行第二个路由器为例,该路由器共具有8条旁路通道,包括4条输入旁路通道和4条输出旁路通道:
该路由器的每个连接其它路由器的输入端口X+i、X-i、Y+i、Y-i,与该路由器的连接NI的输出端口NIo之间均具有输入旁路通道;该路由器的每个连接其它路由器的输出端口X+o、X-o、Y+o、Y-o,与该路由器的连接NI的输入端口NIi之间均具有输出旁路通道。
较佳的,为保证拥塞时数据不被丢弃,上述输入旁路通道、输出旁路通道中具体可以包括链路缓存器。
采用本发明实施例提供的NoC,在路由器空闲、路由器中各部分断电,路由器处于非工作状态时,可以控制该路由器的待传输数据通过该路由器的旁路通道进行传输,在本发明实施例中,该控制步骤具体可以由现有技术中控制路由器各部分通断电的控制器执行,具体的:
当该路由器的待传输数据来自于该路由器的连接其它路由器的输入端口时,将该待传输数据通过该路由器的旁路通道中该输入端口对应的输入旁路通道传输至该路由器的连接NI的输出端口;即在该路由器处于非工作状态时,通过输入旁路通道,NoC中的其它路由器传输给该路由器的数据仍然能够传输到该路由器连接的NI,进而能够传输到该路由器对应的本地节点设备;
当该路由器的待传输数据来自于该路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定该路由器的下一跳路由器,将该待传输数据通过该路由器的旁路通道中该下一跳路由器对应的输出旁路通道传输至该路由器的连接其它路由器的输出端口;即在该路由器处于非工作状态时,通过输出旁路通道,该路由器连接的NI传输给该路由器的数据仍然能够传输到NoC中的其它路由器,即该路由器对应的本地节点设备的数据能够传输到NoC中,并且能够保证以最短路径传输数据。
实际实施时,控制器可以从待传输数据的包头信息中获取待传输数据的目的地址。
其中,上述控制器确定下一跳路由器时,可以由控制器自身基于待传输数据的目的地址,根据待传输数据的最短传输路径,计算出下一跳路由器;较佳的,由于路由器的RC模块具有该计算功能,因此,在路由器空闲时,可以控制路由器中的RC模块不断电,控制路由器中的其它部分VA&SA、Crossbar、FIFO断电,控制器将待传输数据的目的地址发送给路由器中的RC,由路由器中的RC计算下一跳路由器,控制器从路由器中的RC模块直接获取计算结果。
进一步的,本发明实施例提供的NoC,如图5所示,多个NI中的每一个NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;每一个 NI的连接路由器的输入端口,与该NI的连接路由器的输出端口之间,具有NI旁路通道。
较佳的,为保证拥塞时数据不被丢弃,该NI旁路通道中具体也可以包括链路缓存器。上述控制器还可以用于:
当路由器处于非工作状态时,若该路由器连接的NI的待传输数据来自于该NI的连接路由器的输入端口,判断该待传输数据的目的地址是否和该NI连接的本地节点设备的地址相同,即判断该NI连接的本地节点设备是否为目的节点;
当该待传输数据的目的地址和该NI连接的本地节点设备的地址相同时,说明该NI连接的本地节点设备是目的节点,将该待传输数据传输至该本地节点设备;
当该待传输数据的目的地址和该NI连接的本地节点设备的地址不相同时,说明该NI连接的本地节点设备不是目的节点,将该待传输数据通过该NI的NI旁路通道传输至该NI的连接路由器的输出端口,需要将该待传输数据重新注入到NoC中进行路由;后续控制器会基于该待传输数据的目的地址,确定下一跳路由器,将该待传输数据通过对应的输出旁路通道传输至下一跳路由器。
当该路由器连接的NI的待传输数据来自于该NI的连接本地节点设备的输入端口时,将该待传输数据传输至该NI的连接路由器的输出端口;同样,后续控制器会基于该待传输数据的目的地址,确定下一跳路由器,将该待传输数据通过对应的输出旁路通道传输至下一跳路由器。
当多路数据发生冲突时,也可以由上述控制器进行仲裁。
进一步的,为了减小输入旁路通道、输出旁路通道以及NI旁路通道中的链路缓存器的功耗,可以采用带门控的链路缓存器。当该链路缓存器断电时,该链路缓存器进行数据存储,不进行数据传输,即对应旁路通道不进行数据传输;当该链路缓存器上电时,该链路缓存器进行数据传输,即对应旁路通道进行数据传输。
该带门控的链路缓存器可以有多种实现形式,例如图6所示,该链路缓存器具体包括第一P型开关管、第二P型开关管、第一N型开关管、第二N型开关管和反相器,其中:
第一P型开关管、第二P型开关管、第一N型开关管和第二N型开关管顺次相连,即第一P型开关管的输出端连接第二P型开关管的输入端,第二P型开关管的输出端连接第一N型开关管的输入端,第一N型开关管的输出端连接第二N型开关管的输入端;第一P型开关管的输入端作为该链路缓存器的电源接线端Vd,第二N型开关管的输出端作为该链路缓存器的接地端,第二P型开关管和第一N型开关管间的接线端作为该链路缓存器的输出端O;第一P型开关管的控制端和反相器的输入端相连,相连后的接线端作为该链路缓存器的控制端L_Ctrl;反相器的输出端和第二N型开关管的控制端相连;第二P型开关管和第一N型开关管的控制端相连,相连后的接线端作为该链路缓存器的输入端I。
图6所示的带门控的链路缓存器,当控制端L_Ctrl输入高电平信号时,该链路缓存器断电,即该链路缓存器关闭,可对传输数据进行暂存,且对应旁路通道不进行数据传输;当控制端L_Ctrl输入低电平信号时,该链路缓存器上电,即该链路缓存器开启,对应旁路通道进行数据传输。
该链路缓冲器由两方面控制:
当路由器处于工作状态时,输入旁路通道、输出旁路通道、NI旁路通道均关闭,链路缓冲器关闭;
当路由器处于非工作状态时,输入旁路通道、输出旁路通道、NI旁路通道用于传输数据,若存在数据拥塞,则控制相应的链路缓冲器关闭,对数据进行暂存,否则链路缓冲器开启,进行数据传输。
图6所示的链路缓存器仅为一个示例,并不用于限定本发明。
路由器空闲关闭后,可以当该路由器的待传输数据的数据量较大,例如当该路由器的待传输数据的数据量大于预设数据量时,再唤醒该路由器,且在路由器完全被唤醒前,数据仍然通过旁路通道进行传输。较佳的,若该路 由器的下一跳路由器也处于非工作状态,还可以唤醒该下一跳路由器,即控制路由器中断电的各部分重新上电,使路由器重新开启处于工作状态。
实际实施时,控制器可以从待传输数据的包头信息中获取待传输数据的数据量。
即在路由器重新处于工作状态之前,该路由器的待传输数据均由该路由器的旁路通道以最短路径进行传输,从而避免了数据传输延迟,兼顾了功耗和数据传输效果。
实施例2:
本发明实施例还提供一种NoC中的通信控制方法,该NoC包括多个路由器和多个网络接口NI,多个路由器中的每一个路由器通过一个NI连接一个本地节点设备;针对每一个路由器,该路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;该路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;该路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;该路由器的旁路通道包括该输入旁路通道和该输出旁路通道。上述NoC中的通信控制方法如图7所示,具体包括如下步骤:
步骤701、确定该NoC中的路由器是否处于工作状态;
步骤702、当该路由器处于非工作状态时,控制该路由器的待传输数据通过该路由器的旁路通道进行传输。
进一步的,步骤702中控制该路由器的待传输数据通过该路由器的旁路通道进行传输,具体包括:
当该路由器的待传输数据来自于该路由器的连接其它路由器的输入端口时,将该待传输数据通过该路由器的旁路通道中该输入端口对应的输入旁路通道传输至该路由器的连接NI的输出端口;即在该路由器处于非工作状态时,通过输入旁路通道,NoC中的其它路由器传输给该路由器的数据仍然能够传输到该路由器连接的NI,进而能够传输到该路由器对应的本地节点设备;
当该路由器的待传输数据来自于该路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定该路由器的下一跳路由器,将该待传输数据通过该路由器的旁路通道中该下一跳路由器对应的输出旁路通道传输至该路由器的连接其它路由器的输出端口;即在该路由器处于非工作状态时,通过输出旁路通道,该路由器连接的NI传输给该路由器的数据仍然能够传输到NoC中的其它路由器,即该路由器对应的本地节点设备的数据能够传输到NoC中,并且能够保证以最短路径传输数据。
实际实施时,可以从待传输数据的包头信息中获取待传输数据的目的地址。
其中,在确定下一跳路由器时,可以基于待传输数据的目的地址,根据待传输数据的最短传输路径,计算出下一跳路由器;较佳的,由于路由器的RC模块具有该计算功能,因此,在路由器空闲时,可以控制路由器中的RC模块不断电,控制路由器中的其它部分VA&SA、Crossbar、FIFO断电,将待传输数据的目的地址发送给路由器中的RC,由路由器中的RC计算下一跳路由器,从路由器中的RC模块直接获取计算结果。
进一步的,针对上述NoC中的每一个NI,该NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;该NI的NI旁路通道,位于该NI的连接路由器的输入端口与该NI的连接路由器的输出端口之间。当路由器处于非工作状态时,上述通信控制方法还包括:
当该路由器连接的NI的待传输数据来自于该NI的连接路由器的输入端口时,判断该待传输数据的目的地址是否和该NI连接的本地节点设备的地址相同;即判断该NI连接的本地节点设备是否为目的节点;
当该待传输数据的目的地址和该NI连接的本地节点设备的地址相同时,说明该NI连接的本地节点设备是目的节点,将该待传输数据传输至该本地节点设备;
当该待传输数据的目的地址和该NI连接的本地节点设备的地址不相同时,将该待传输数据通过该NI的NI旁路通道传输至该NI的连接路由器的输 出端口,需要将该待传输数据重新注入到NoC中进行路由;后续基于该待传输数据的目的地址,确定下一跳路由器,将该待传输数据通过对应的输出旁路通道传输至下一跳路由器。
进一步的,当该路由器连接的NI的待传输数据来自于该NI的连接本地节点设备的输入端口时,将该待传输数据传输至该NI的连接路由器的输出端口;同样,后续会基于该待传输数据的目的地址,确定下一跳路由器,将该待传输数据通过对应的输出旁路通道传输至下一跳路由器。
较佳的,上述输入旁路通道、输出旁路通道、NI旁路通道中还可以包括带门控的链路缓存器,当通过控制该链路缓存器的控制端控制该链路缓存器断电时,该链路缓存器关闭,可对传输数据进行暂存,该链路缓存器不进行数据传输,即对应旁路通道不进行数据传输;当通过控制该链路缓存器的控制端控制该链路缓存器上电时,该链路缓存器开启,进行数据传输,即对应旁路通道进行数据传输。
实施例3:
基于同一发明构思,根据本发明上述实施例提供的通信控制方法,相应地,本发明实施例还提供一种NoC中的控制器,其结构示意图如图8所示,具体包括:
确定单元801,用于确定该NoC中的路由器是否处于工作状态;
控制单元802,用于当该路由器处于非工作状态时,控制该路由器的待传输数据通过该路由器的旁路通道进行传输;其中,该路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;该路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;该路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;该路由器的旁路通道包括该输入旁路通道和该输出旁路通道。
进一步的,控制单元802,具体用于当该路由器的待传输数据来自于该路 由器的连接其它路由器的输入端口时,将该待传输数据通过该路由器的旁路通道中该输入端口对应的输入旁路通道传输至该路由器的连接NI的输出端口;
当该路由器的待传输数据来自于该路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定该路由器的下一跳路由器;将该待传输数据通过该路由器的旁路通道中该下一跳路由器对应的输出旁路通道传输至该路由器的连接其它路由器的输出端口。
较佳的,控制单元802,还用于当该路由器处于非工作状态时,当该路由器连接的NI的待传输数据来自于该NI的连接路由器的输入端口时,判断该待传输数据的目的地址是否和该NI连接的本地节点设备的地址相同;当该待传输数据的目的地址和该NI连接的本地节点设备的地址不相同时,将该待传输数据通过该NI的NI旁路通道传输至该NI的连接路由器的输出端口;其中,该NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;该NI的NI旁路通道,位于该NI的连接路由器的输入端口与该NI的连接路由器的输出端口之间。
上述各单元的功能可对应于上述通信控制方法流程中的相应处理步骤,在此不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中特定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中特定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中特定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

  1. 一种片上网络NoC,包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,其特征在于:
    所述每一个路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;
    所述每一个路由器的连接NI的输出端口,与该路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;
    所述每一个路由器的连接NI的输入端口,与该路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道。
  2. 如权利要求1所述的NoC,其特征在于,还包括:
    所述多个NI中的每一个NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;
    所述每一个NI的连接路由器的输入端口,与该NI的连接路由器的输出端口之间,具有NI旁路通道。
  3. 如权利要求2所述的NoC,其特征在于,所述输入旁路通道、所述输出旁路通道和所述NI旁路通道中包括链路缓存器;
    当所述链路缓存器断电时,所述链路缓存器进行数据存储;当所述链路缓存器上电时,所述链路缓存器进行数据传输。
  4. 如权利要求3所述的NoC,其特征在于,所述链路缓存器具体包括第一P型开关管、第二P型开关管、第一N型开关管、第二N型开关管和反相器,其中:
    第一P型开关管、第二P型开关管、第一N型开关管和第二N型开关管顺次相连;第一P型开关管的输入端作为所述链路缓存器的电源接线端,第二N型开关管的输出端作为所述链路缓存器的接地端,第二P型开关管和第一N型开关管间的接线端作为所述链路缓存器的输出端;
    第一P型开关管的控制端和反相器的输入端相连,相连后的接线端作为 所述链路缓存器的控制端;反相器的输出端和第二N型开关管的控制端相连;
    第二P型开关管和第一N型开关管的控制端相连,相连后的接线端作为所述链路缓存器的输入端。
  5. 一种片上网络NoC中的通信控制方法,所述NoC包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,其特征在于,包括:
    确定所述NoC中的路由器是否处于工作状态;
    当所述路由器处于非工作状态时,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输;其中,所述路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;所述路由器的连接NI的输出端口,与所述路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;所述路由器的连接NI的输入端口,与所述路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;所述路由器的旁路通道包括所述输入旁路通道和所述输出旁路通道。
  6. 如权利要求5所述的方法,其特征在于,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输,具体包括:
    当所述路由器的待传输数据来自于所述路由器的连接其它路由器的输入端口时,将该待传输数据通过所述路由器的旁路通道中该输入端口对应的输入旁路通道传输至所述路由器的连接NI的输出端口;
    当所述路由器的待传输数据来自于所述路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定所述路由器的下一跳路由器;将该待传输数据通过所述路由器的旁路通道中所述下一跳路由器对应的输出旁路通道传输至所述路由器的连接其它路由器的输出端口。
  7. 如权利要求5或6所述的方法,其特征在于,当所述路由器处于非工作状态时,还包括:
    当所述路由器连接的NI的待传输数据来自于所述NI的连接路由器的输 入端口时,判断该待传输数据的目的地址是否和所述NI连接的本地节点设备的地址相同;
    当该待传输数据的目的地址和所述NI连接的本地节点设备的地址不相同时,将该待传输数据通过所述NI的NI旁路通道传输至所述NI的连接路由器的输出端口;其中,所述NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;所述NI的NI旁路通道,位于所述NI的连接路由器的输入端口与所述NI的连接路由器的输出端口之间。
  8. 一种片上网络NoC中的控制器,所述NoC包括多个路由器和多个网络接口NI,所述多个路由器中的每一个路由器通过一个NI连接一个本地节点设备,其特征在于,包括:
    确定单元,用于确定所述NoC中的路由器是否处于工作状态;
    控制单元,用于当所述路由器处于非工作状态时,控制所述路由器的待传输数据通过所述路由器的旁路通道进行传输;其中,所述路由器,包含一个连接NI的输出端口、一个连接NI的输入端口、多个连接其它路由器的输出端口和多个连接其它路由器的输入端口;所述路由器的连接NI的输出端口,与所述路由器的每一个连接其它路由器的输入端口之间,均具有输入旁路通道;所述路由器的连接NI的输入端口,与所述路由器的每一个连接其它路由器的输出端口之间,均具有输出旁路通道;所述路由器的旁路通道包括所述输入旁路通道和所述输出旁路通道。
  9. 如权利要求8所述的控制器,其特征在于,所述控制单元,具体用于当所述路由器的待传输数据来自于所述路由器的连接其它路由器的输入端口时,将该待传输数据通过所述路由器的旁路通道中该输入端口对应的输入旁路通道传输至所述路由器的连接NI的输出端口;
    当所述路由器的待传输数据来自于所述路由器的连接NI的输入端口时,基于该待传输数据的目的地址,确定所述路由器的下一跳路由器;将该待传输数据通过所述路由器的旁路通道中所述下一跳路由器对应的输出旁路通道传输至所述路由器的连接其它路由器的输出端口。
  10. 如权利要求8或9所述的控制器,其特征在于,所述控制单元,还用于当所述路由器处于非工作状态时,当所述路由器连接的NI的待传输数据来自于所述NI的连接路由器的输入端口时,判断该待传输数据的目的地址是否和所述NI连接的本地节点设备的地址相同;当该待传输数据的目的地址和所述NI连接的本地节点设备的地址不相同时,将该待传输数据通过所述NI的NI旁路通道传输至所述NI的连接路由器的输出端口;其中,所述NI,包含一个连接路由器的输入端口和一个连接路由器的输出端口;所述NI的NI旁路通道,位于所述NI的连接路由器的输入端口与所述NI的连接路由器的输出端口之间。
PCT/CN2014/092532 2014-11-28 2014-11-28 一种片上网络、通信控制方法及控制器 WO2016082198A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14907107.8A EP3214822B1 (en) 2014-11-28 2014-11-28 Network on chip, communication control method and controller
CN201480037238.XA CN105830416B (zh) 2014-11-28 2014-11-28 一种片上网络、通信控制方法及控制器
PCT/CN2014/092532 WO2016082198A1 (zh) 2014-11-28 2014-11-28 一种片上网络、通信控制方法及控制器
US15/606,609 US10554581B2 (en) 2014-11-28 2017-05-26 Network on chip, communication control method, and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/092532 WO2016082198A1 (zh) 2014-11-28 2014-11-28 一种片上网络、通信控制方法及控制器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/606,609 Continuation US10554581B2 (en) 2014-11-28 2017-05-26 Network on chip, communication control method, and controller

Publications (1)

Publication Number Publication Date
WO2016082198A1 true WO2016082198A1 (zh) 2016-06-02

Family

ID=56073392

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/092532 WO2016082198A1 (zh) 2014-11-28 2014-11-28 一种片上网络、通信控制方法及控制器

Country Status (4)

Country Link
US (1) US10554581B2 (zh)
EP (1) EP3214822B1 (zh)
CN (1) CN105830416B (zh)
WO (1) WO2016082198A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165717B2 (en) * 2015-10-26 2021-11-02 Western Digital Technologies, Inc. Fabric interconnection for memory banks based on network-on-chip methodology
US10142258B2 (en) * 2016-04-08 2018-11-27 Advanced Micro Devices, Inc. Methods and apparatus for processing in a network on chip (NOC)
CN106850440B (zh) * 2017-01-16 2020-02-04 北京中科睿芯科技有限公司 一种面向多地址共享数据路由包的路由器、路由方法及其芯片
US11398980B2 (en) 2019-11-19 2022-07-26 Advanced Micro Devices, Inc. Packet router with virtual channel hop buffer control
CN111597141B (zh) * 2020-05-13 2022-02-08 中国人民解放军国防科技大学 一种面向超高阶互连芯片的分级交换结构及死锁避免方法
CN112363612B (zh) * 2020-10-21 2022-07-08 海光信息技术股份有限公司 一种降低片上网络功耗的方法、装置、cpu芯片及服务器
CN113079100A (zh) * 2021-03-03 2021-07-06 桂林电子科技大学 一种用于高速数据采集的NoC路由器
CN113542140B (zh) * 2021-07-26 2023-04-07 合肥工业大学 无线片上网络中可重构高能效的路由器及功率门控方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534251A (zh) * 2009-04-13 2009-09-16 浙江大学 一种在处理器中添加旁路来优化片上网络架构的方法
US20090300335A1 (en) * 2008-06-03 2009-12-03 Adam James Muff Execution Unit With Inline Pseudorandom Number Generator
CN101808032A (zh) * 2010-03-04 2010-08-18 南京大学 面向静态XY路由算法的二维网格NoC路由器优化设计方法
CN103368931A (zh) * 2012-03-30 2013-10-23 富士通株式会社 数据处理设备、计算装置、用于数据处理设备的控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838684A (en) * 1996-02-22 1998-11-17 Fujitsu, Ltd. Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US7969899B2 (en) * 2006-07-05 2011-06-28 Nxp B.V. Electronic device, system on chip and method of monitoring data traffic
US7917703B2 (en) * 2007-12-13 2011-03-29 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands
WO2010096122A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Mesh network
JP5543894B2 (ja) * 2010-10-21 2014-07-09 ルネサスエレクトロニクス株式会社 NoCシステム及び入力切替装置
EP2466809B1 (en) * 2010-12-20 2013-05-01 Alcatel Lucent Method and network node for configuring a network for optimized transport of packet traffic
JP5320512B2 (ja) * 2011-03-28 2013-10-23 パナソニック株式会社 中継器、中継器の制御方法、およびプログラム
WO2013054497A1 (ja) * 2011-10-14 2013-04-18 パナソニック株式会社 中継器、中継器の制御方法、およびコンピュータプログラム
EP2592800A1 (en) * 2011-11-09 2013-05-15 STMicroelectronics (Grenoble 2) SAS Networks on-chip router
US9178797B2 (en) * 2012-06-30 2015-11-03 Juniper Networks, Inc. Selective BGP graceful restart in redundant router deployments
US20150109024A1 (en) * 2013-10-22 2015-04-23 Vaughn Timothy Betz Field Programmable Gate-Array with Embedded Network-on-Chip Hardware and Design Flow
US9948587B2 (en) * 2014-08-08 2018-04-17 Oracle International Corporation Data deduplication at the network interfaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300335A1 (en) * 2008-06-03 2009-12-03 Adam James Muff Execution Unit With Inline Pseudorandom Number Generator
CN101534251A (zh) * 2009-04-13 2009-09-16 浙江大学 一种在处理器中添加旁路来优化片上网络架构的方法
CN101808032A (zh) * 2010-03-04 2010-08-18 南京大学 面向静态XY路由算法的二维网格NoC路由器优化设计方法
CN103368931A (zh) * 2012-03-30 2013-10-23 富士通株式会社 数据处理设备、计算装置、用于数据处理设备的控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3214822A4 *

Also Published As

Publication number Publication date
US10554581B2 (en) 2020-02-04
EP3214822B1 (en) 2020-05-27
CN105830416B (zh) 2020-06-02
EP3214822A4 (en) 2017-10-11
US20170272381A1 (en) 2017-09-21
CN105830416A (zh) 2016-08-03
EP3214822A1 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
WO2016082198A1 (zh) 一种片上网络、通信控制方法及控制器
US10324509B2 (en) Automatic generation of power management sequence in a SoC or NoC
US9829962B2 (en) Hardware and software enabled implementation of power profile management instructions in system on chip
US10613616B2 (en) Systems and methods for facilitating low power on a network-on-chip
US10074053B2 (en) Clock gating for system-on-chip elements
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
US9571420B2 (en) Integrated NoC for performing data communication and NoC functions
US10348563B2 (en) System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
KR102374572B1 (ko) 네트워크 온 칩 설계를 위한 트랜잭션 트래픽 스펙
US9444702B1 (en) System and method for visualization of NoC performance based on simulation output
US20170228481A1 (en) Verification low power collateral generation
US9529400B1 (en) Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US10218581B2 (en) Generation of network-on-chip layout based on user specified topological constraints
US9825809B2 (en) Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US20170061041A1 (en) Automatic performance characterization of a network-on-chip (noc) interconnect
US10206175B2 (en) Communications fabric with split paths for control and data packets
CN202750101U (zh) 一种以太网消息处理机
US11144457B2 (en) Enhanced page locality in network-on-chip (NoC) architectures
CN116821044A (zh) 处理系统、访存方法及计算机可读存储介质

Legal Events

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

Ref document number: 14907107

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014907107

Country of ref document: EP