CN111245730A - 一种片上网络的路由系统及通信方法 - Google Patents
一种片上网络的路由系统及通信方法 Download PDFInfo
- Publication number
- CN111245730A CN111245730A CN202010039768.5A CN202010039768A CN111245730A CN 111245730 A CN111245730 A CN 111245730A CN 202010039768 A CN202010039768 A CN 202010039768A CN 111245730 A CN111245730 A CN 111245730A
- Authority
- CN
- China
- Prior art keywords
- master
- slave
- data packet
- route
- node
- 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.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 77
- 238000004891 communication Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种片上网络的路由系统及通信方法,其中系统包括主路由层和从路由层,所述主路层由主路由组成,且呈二维网格结构,所述从路由层包括主从路由和从路由,所述主从路由分别与主路由和从路由连接,若干个所述主从路由与多个所述从路由组成一个通信环路,所述主从路由和从路由均连接一节点,所述主路由与n个节点连接,所述n为大于1的自然数。本发明将需要接收相同数据包的多个节点通过从路由连成一个通信环路,如果数据包的目的地是本集群,则数据包直接发送到通信环路,如果数据包的目的地不是本集群,则数据包由主路由层传输。如此,即减轻了主路由的压力,也大大减少了数据包的传输延迟,可广泛应用于网络通信技术领域。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种片上网络的路由系统及通信方法。
背景技术
卷积神经网络是人脑神经网络的工程化信息抽象,是一种功能非常强大的计算模型,在解决视觉,语音和识别技术表现出非常优异的性能。用过特定的硬件平台来实现卷积神经网络仿真在近年来受到了广泛关注,并且取得了一些成就,比如寒武纪,华为,比特大陆,平头哥等公司的AI芯片。
通过采用大规模并行神经网络架构来模拟数十亿个神经元,用于神经网络的典型定制化硬件采用一组定制处理器,这些处理器组成了多核和多核系统。在这种多核系统中,通过给每个节点分配一组神经元,通过架构的节点执行神经元计算,神经元输出数据包,再通过通信系统将数据包传给其他神经元。在这种情况下,随着核数增多,总线的通信系统效率开始变得越来越低,延迟越来越大,拓展性和时钟也是一个难以解决的问题。因此,现在一般采用片上网络的方法来解决这个问题。
但是传统的片上网络的路由系统并不能很好的满足现在的卷积神经网络算法的要求。现在的神经网络的实现一般采用众所周知的具有规则互联的拓扑结构的片上网络来实施,但是随着核心的使用数目越来越多,由于网络直径的不断增长,等待的时间急剧增加,原因在神经网络算法的流量主要以多播的形式出现,而传统的片上网络的路由系统缺乏对于多播流量的有效支持,在多播流量较大时,网络容易产生拥堵,导致延迟较大,从而导致计算速度下降。因此支持多播路由的片上网络(Network On Chip,简称NOC)对于神经网络加速器芯片至关重要。
发明内容
为了解决上述技术问题,本发明的目的是提供一种有效支持多播流量的片上网络的路由系统及通信方法。
本发明所采用的技术方案是:
一种片上网络的路由系统,包括主路由层和从路由层,所述主路层由主路由组成,且呈二维网格结构,所述从路由层包括主从路由和从路由,所述主从路由分别与主路由和从路由连接,若干个所述主从路由与多个所述从路由组成一个通信环路,所述主从路由和从路由均连接一节点,所述主路由与n个节点连接,所述n为大于1的自然数。
进一步,所述主路由包括输入缓存模块、仲裁和路由模块、交叉矩阵模块和输出模块,所述输入缓存模块包括用于接收主路由发送的数据包的第一输入缓存模块和用于接收由节点发送的数据包的第二输入缓存模块;
所述第一输入缓存模块用于根据数据的优先级对接收到的数据进行缓存,根据数据包生成并发送仲裁请求信息;
所述第二输入缓存模块用于根据数据的优先级对接收到的数据进行缓存,根据数据包生成并发送仲裁请求信息;
所述仲裁和路由模块用于根据仲裁请求信息控制各输入缓存模块,以及根据数据包的路由信息获取输出模块的仲裁结果;
所述交叉矩阵模块用于根据仲裁结果建立数据传输通道。
进一步,所述第一输入缓存模块包括4个输入端口,各所述输入端口设有多个用于缓存数据包的虚拟通道,各所述虚拟通道对应不同的优先级权重,各所述输入端口对应不同的端口权重。
进一步,所述主从路由包括:
仲裁模块,用于控制输出线与缓存模块的数据线连接或输出线与通信环路的输入线连接,以及在检测到通信环路中传输的数据为需要接收数据时,接收并发送数据至缓存模块;
缓存模块,用于分别缓存来自节点的第一数据包、来自主路由的第二数据包和来自通信环路的第三数据包;
选择模块,用于选择第二数据包或第三数据包发送至与主从路由连接的节点。
进一步,所述从路由包括:
仲裁模块,用于控制输出线与缓存模块的数据线连接或输出线与通信环路的输入线连接,以及在检测到通信环路中传输的数据为需要接收数据时,接收并发送数据至缓存模块;
缓存模块,用于分别缓存来自节点的数据包和和来自通信环路的数据包,以及将来自通信环路的数据包发送至与从路由连接的节点。
进一步,所述n为4。
进一步,所述通信环路包括m个主从路由和3m个从路由,所述m为大于等于1的自然数。
本发明所采用的另一技术方案是:
一种片上网络的通信方法,包括以下步骤:
主路由检测到数据包的路由为第一节点时,将第一节点发送至主从路由,所述第一节点为与该主路由相连的通信环路内的节点;
当第一节点为与主从路由相连的节点时,主从路由将数据包发送至第一节点;
当第一节点不为与主从路由相连的节点时,主从路由将数据包发送至通信环路;
通信环路内的从路由或主从路由检测到通信环路中的数据包为需要接收的数据包时,接收并下发数据包至与该从路由或主从路由连接的节点。
进一步,还包括以下步骤:
当节点需将数据包发送至第二节点时,将数据包发送至与该节点连接的从路由或主从路由,所述第二节点为与该节点相连的通信环路内的节点;
从路由或主从路由将数据包发送至通信环路;
对应的从路由或主从路由接收到数据包后,将数据包下发至节点。
进一步,还包括主路由对输入端口进行仲裁的步骤,具体为:
获取第一输入缓存模块中各输入端口的优先级权重和端口权重,根据获得的优先级权重和端口权重获取各输入端口的第一权重;
获取第二输入缓存模块的输入端口的优先级权重和端口权重,结合获得的优先级权重、端口权重和预设系数获取输入端口的第二权重;
根据第一权重和第二权重获取权重值最大的输入端口作为发送数据包的输入端口,以及更改各输入端口的端口权重。
本发明的有益效果是:本发明将需要接收相同数据包的多个节点通过从路由连成一个通信环路,如果数据包的目的地是本集群,则数据包直接发送到通信环路,如果数据包的目的地不是本集群,则数据包发送到主路由传输,再发送到从路由层传输。如此,即减轻了主路由的压力,也大大减少了数据包的传输延迟。
附图说明
图1是实施例中片上网络的路由系统的架构示意图;
图2是实施例中通信环路的架构示意图;
图3是实施例中主路由的结构示意图;
图4是实施例中主路由分别与主从路由、从路由和节点连接的示意图;
图5是实施例中包含多个微片的数据包的示意图;
图6是实施例中只包含一个微片的数据包的示意图;
图7是实施例中主从路由的结构示意图;
图8是实施例中从路由的结构示意图;
图9是实施例中片上网络的通信方法的步骤流程图。
具体实施方式
如图1和图2所示,本实施例提供了一种片上网络的路由系统,包括主路由层和从路由层,所述主路层由主路由组成,且呈二维网格结构,所述从路由层包括主从路由和从路由,所述主从路由分别与主路由和从路由连接,若干个所述主从路由与多个所述从路由组成一个通信环路,所述主从路由和从路由均连接一节点,所述主路由与n个节点连接,所述n为大于1的自然数。
所述主路由层只包括主路由,其连接结构的为传统的二维网格(2D-mesh)结构,所述二维网格具体可以为三角网格结构或蜂窝型结构等。参照图1,本实施例的结构为每个主路由分别与其它三个主路由连接的结构,图1中RX代表主路由。每个主路由分别与一个主从路由和多个节点连接,与主路由连接的节点可以直接将数据包发送给主路由。所述从路由层包括主从路由和从路由,每个所述主从路由都连接一个节点,每个所述从路由都连接一个节点。所述主路由与多个节点连接,这些节点同时还可与主从路由或从路由连接,也可不与其他路由连接。
由于存有很多邻近的节点接收相同的数据包或者直接相互传输数据包的情况,在传统的技术中,这些数据包必须经过主路由,而在本实施例中,将相邻的节点通过从路由连接起来,如此,大部分的数据包无需经过主路由,极大地减轻了主路由的压力。具体地,参照图2,根据不同的映射流量模型,将需要接收相同数据包的许多节点通过从路由来连成一个集群(即同一个通信环路内),在这种情况下,如果数据包目的地不是本集群的节点,则将数据包发送到主路由,由主路由传输,再下沉到从路由层。如果数据包的目的地是本集群的节点,则将数据包直接发送从路由,从路由将会将数据包发往通信环线,节点发给从路由的包的目的地都是本集群节点,即减轻了主路由的压力,也大大减少了数据包的传输延迟。图2中只列举了两种通信环路:四个路由的环路和八个路由的环路,但是根据具体的情况,还可组建其他结构的环路,比如包括12个路由的环路或16个路由的环路等。其中,所述主路由可以连接多个节点,以下主要以主路由连接4个节点进行解释说明。
在具体通信的过程中,如果数据包是由主路由层传来,并且为单播,如果数据包的目的地址是主路由挂载的主从路由,则直接通过主路由发往主从路由,如果数据包的目的地址是主路由挂载的从路由(即该从路由为与主路由相连的通信环路中的从路由),则先发到从路由,再通过通信环路发送到目的节点。如果数据包是由主路由层传来,并且为多播,则由主从路由接收,再由从路由在集群的环线进行广播,目的节点听过监听,然后接收数据包。如果从路由检测到环线上的数据包的有效位为高,则通过ID的对比来选择该数据包是否为自己需要接收的数据包,如果接收,则先发送到缓存,再发送给从路由绑定的tile节点。如果数据包由tile节点发往从路由,则从路由首先接收数据包,检测数据包在集群的目的节点,通过数据环线的空满线来判断目的节点是否有空,如果有空,此时则将数据发往集群,由集群的目的节点的从路由接收。
所述主路由可以采用现有的路由架构来实现,只需主路由能够实现根据目的地址发送至对应出口的功能即可。具体地,参照图3和图4,本实施例提供的主路由架构如下:
主路由与东南西北4个端口进行通信,并且与本地的主从路由以及4个节点进行通信,包括输入缓存模块、仲裁和路由模块、交叉矩阵模块和输出模块。所述输入缓存模块东南西北输入缓存模块以及本地端口的多级输入缓存模块,东南西北的端口缓存采用几个优先级的虚拟通道,可以进行数据的缓存,也可以防止死锁的发生。本地端口的多级缓存具有两个缓存模块,第一个缓存模块具有4个FIFO,用来缓存4个节点的数据,第二个模块具有几个优先级的虚拟通道,用来接收前一个缓存模块的数据。
所述仲裁和路由模块包括仲裁单元和路由单元,所述仲裁单元内设有与本架构相适应的仲裁算法,通过赋予每个端口和不同优先级的权重,当前发送的端口发送数据后的权重最小,而前一次发送的端口的权重第二小,以此类推,基于这种逻辑,由于本地端口连接有4个节点,因此本地端口的通信压力比较大,为了避免流量拥堵的情况,基于前面的逻辑的基础下,将本地的权重乘以p作为最终权重值,所述p为大于1的自然数,在本实施例中选取4,如此可增加本地端口的传输次数,大大地避免通信压力。每个输入端口中都有多个通道,每个通道对应不同的优先级,不同的优先级具有不同的权重,优先级越高,权重越大。计算各端口的权重后,将权重进行大小对比,权重最大的端口获得授权。如此,通过比较权重的大小,来控制输入的缓存模块是否打开。在路由单元中,对于单播数据,采用XY自适应路由算法来产生将要输出端口的方向,对于多播数据,通过查多播路由表获得需要输出目的地,将这些需要发送目的地的端口信息发往相应的模块进行仲裁。
所述交叉矩阵模块用于产生输入和输出的交叉网络,每个输入和输出通道都分别具有一个交叉点,当某条输入需要交换到另一条输出通道,通过控制交叉点开关即可。
上述数据包的通信协议如下,数据包有许多的微片(以下简称flit)组成,flit的数目在1~9之间。当一个包的flit数目为1时,即为短包,flit为短包,如图6所示;当一个包的flit数目为2时,第一个flit数目为包头,第二个flit数目为包尾;当一个包的flit数目大于2时,第一个flit为包头,最后一个flit是包尾,其他的flit都为包体,如图5所示。其中,只有短包和包头含有数据包的信息,每个flit具有130位,最后两位表示flit的类型。
上述主路由的仲裁单元的仲裁方式,以下结合实施例进行解释说明:
参照图3,当上一个端口发送完数据后,此时,东端口的权重为5,南端口的权重为4,西端口的权重为3,北端口的权重为2,本地端口的权重为1,将端口权重与优先级权重相乘,比如每个端口有3个优先级,则优先级权重为3,2,1,则东端口的不同优先级的数据总权重为15,10,5,以此类推,发送有数据包的虚拟通道中总权重最大的。假如此时发送的是南端口,则下一轮的端口权重是西的端口权重为5,北的端口权重为4,本地权重为6,东端口权重为2,南端口权重为1,则如果发送的端口是本地,下一轮则是西端口权重为5,北端口权重4,东端口权重为3,南端口权重为2,本地端口权重为1,每次仲裁的时候,将对应的端口权重乘以优先级权重,当优先级对应的虚拟通道为空的时候,则优先级的权重为0,在这种情况,通过计算出总权重最大的端口的优先级,再将该优先级输出到对应的端口进行发送。
当东南西北的端口接收到数据的时候,首先通过数据包仲裁,接入到相应的优先级虚拟通道,每个虚拟通道的可以接收包的数目都是固定数目的。仲裁模块会将每个需要发送的数据包查询路由路径,如果是单播数据包,则采用XY自适应路由算法去计算输出路径。XY自适应路由算法采用先对比现在坐标和目的地址的坐标,之后再通过各个主路由发来的拥堵信号来终裁出传输路径。例如,首先对比目的地址的X坐标和现在坐标的X坐标,如果不同,则往X方向减少的方向进行传输,如果检测到路由器发来的拥堵信号,则规避这条传输路径,重新计算,往X方向减少的方向进行传输。此时,若X方向的坐标相同,则数据包往Y方向路径减少的方向进行传输,如果检测到路由发来的拥堵信号,同样也规避这条传输路径,重新计算,往Y方向路径减少的方向进行传输。
如果是多播数据包,则采用查询多播表的方式来查询输出路径。之后再通过适应与本路由的仲裁算法,在条件满足时,将交叉矩阵打开,将相应的数据包进行发送给相应端口的输出,实现数据包的缓存,仲裁,转发。
所述主从路由可采用现有的路由架构来实现即可,只需主从路由具有与主路由通信并将数据包发送至通信环路或节点的功能即可。具体地,参照图7所示,本实施例提供的主从路由架构如下:
主从路由的架构主要由一个仲裁模块,3个缓存模块,3个缓存仲裁模块,以及一个选择模块组成;
所述仲裁模块,用于仲裁输出线的连接,输出线的类型只要有数据线,有效位线,以及FIFO的空满情况线。仲裁模块主要控制输出线是与本地的相应数据线相连接还是和相应的输入连接,通过这样的控制输出的连接来形成不同的通信环。同时,仲裁模块还负责环线的监听,通过监听环线的有效信号来对比环上数据是否是本身需要接收的数据,如果数据是需要接收的数据包,再发给相应的缓存。
所述缓存模块,用来接收来自tile节点,主路由,以及环线的数据包,缓存模块的数据包之间也存在互相传输。主从路由才存在缓存模块1,缓存模块1主要用来接收来自主路由的数据包,如果这个数据包需要发往节点,则将会数据包发往缓存模块3,如果这个数据包是需要广播或者目的地在集群的其他节点,则缓存模块1将会将数据包发往缓存模块2。缓存模块2主要用来缓存需要发往集群的数据包,如来自缓存模块1或者缓存模块3的需要发往集群的数据包,以及接收来自集群的数据包,将数据发给tile节点。缓存模块3用来接收来自节点上的,需要发往集群的数据包,当条件满足的时候,会将数据包发往缓存模块2,再通过缓存模块2发往集群。
所述缓存仲裁模块主要包括3个模块,主要用来对缓存模块1,缓存模块2,缓存模块3进行仲裁,缓存仲裁模块1主要用来对缓存模块1的数据的收发,缓存仲裁模块2主要用来对缓存模块2的数据的收发,缓存仲裁模块3主要用来对缓存模块3的数据的收发。
所述选择模块主要存在于主从路由模块,用来对节点进行通信,选择将缓存模块1以及缓存模块2的数据包选择性的发送给节点。
所述从路由可采用现有的路由架构来实现即可,只需从路由具有与通信环路和节点通信的功能即可。具体地,参照图8所示,本实施例提供的从路由架构如下:
所述从路由的架构主要由一个仲裁模块,2个缓存模块,2个缓存仲裁模块组成。所述仲裁模块与上述主从路由中的仲裁模块功能相同,所述缓存模块和缓存仲裁模块与上述主从路由中的缓存模块和缓存仲裁模块相同。
结合图3、图4、图7和图8对从路由架构进行数据包传输的原理进行具体说明。
参照图4,从路由需要接收来自主路由层、通信环路以及tile节点的数据包,同时需要将数据包发送给通信环路以及tile节点。所述tile节点与所述节点为同一意思。
每个主路由会连接4个从路由,4个从路由只有一个是主从路由,当从路由层的主从路由接收到来自主路由层的数据包,无论单播还是多播,都会将数据包放在通信环线,由从路由监听,判断是否接收。则此时,来自主路由的数据包由主从路由的缓存模块1进行接收,若缓存仲裁模块1仲裁数据包需要往集群上发送,则将数据包由缓存模块1发送到发往缓存模块2,如果集群上的数据环线没有有效数据,则仲裁模块将数据线输出接到本地数据连接,将数据包发往集群上的环线。若缓存仲裁模块1仲裁数据包需要本地节点发送,则将数据包由缓存模块1发送到数据选择器模块,将数据发往本地节点。
从路由的仲裁模块会对环线进行监听,若数据包的ID和集群节点的ID相符合,此时仲裁模块会将环线的数据包进行接收,存入缓存模块2,再通过数据选择器发送给本地节点。
从路由的缓存模块3会接收来自本地节点的数据包,当缓存模块2非满的情况下,将数据包发往缓存模块2,在集群上的数据环线有空的时候,缓存模块2会将数据包发往集群,进行数据广播。
综上上述,本实施例与现有的路由技术相比,至少具有如下有益效果:
(1)、本实施例根据不同的映射流量模型,将需要接收相同数据包的许多节点通过从路由来连成一个集群,如此增加了两种新的通信方式,第一种:如果数据包目的地不是本集群的节点,则将数据包发送到主路由,由主路由传输,再下沉到从路由层。第二种:如果数据包的目的地是本集群的节点,则将数据包直接发送到从路由的通信环线。大大减少了数据包的传输延迟。
(2)、对于许多同一集群的数据包传输,可以直接通过从路由层进行传输,在这种情况下,可以大大减少主路由层的通信压力,减少拥堵情况。
(3)、对于节点发出来的,需要发往其他主路由的数据包,节点直接打给主路由,而不发送给从路由再发送给主路由,减少了从路由的压力。主路由的本地端口具有4个FIFO,用来缓存4个节点的数据,接收节点发来的数据包,再发送给本地端口的相应优先级的虚拟通道。同时,为了与本端口挂载着4个本地节点架构相匹配,匹配与架构相适应的仲裁算法,大大减少本地端口数据包的拥堵。
如图9所示,本实施例还提供了一种片上网络的通信方法,包括以下步骤:
S1、主路由检测到数据包的路由为第一节点时,将第一节点发送至主从路由,所述第一节点为与该主路由相连的通信环路内的节点;
S2、当第一节点为与主从路由相连的节点时,主从路由将数据包发送至第一节点;
S3、当第一节点不为与主从路由相连的节点时,主从路由将数据包发送至通信环路;
S4、通信环路内的从路由或主从路由检测到通信环路中的数据包为需要接收的数据包时,接收并下发数据包至与该从路由或主从路由连接的节点。
在本实施例方法中,根据不同的映射流量模型,将需要接收相同数据包的许多节点通过从路由来连成一个即通信环路,在这种情况下,只需要将数据包发往主路由层,再下沉到从路由层进行广播即可,即减轻了主路由的压力,也大大减少了数据包的传输延迟。
进一步作为可选的实施方式,还包括以下步骤:
当节点需将数据包发送至第二节点时,将数据包发送至与该节点连接的从路由或主从路由,所述第二节点为与该节点相连的通信环路内的节点;
从路由或主从路由将数据包发送至通信环路;
对应的从路由或主从路由接收到数据包后,将数据包下发至节点。
进一步作为可选的实施方式,还包括主路由对输入端口进行仲裁的步骤,具体为:
获取第一输入缓存模块中各输入端口的优先级权重和端口权重,根据获得的优先级权重和端口权重获取各输入端口的第一权重;
获取第二输入缓存模块的输入端口的优先级权重和端口权重,结合获得的优先级权重、端口权重和预设系数获取输入端口的第二权重;
根据第一权重和第二权重获取权重值最大的输入端口作为发送数据包的输入端口,以及更改各输入端口的端口权重。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种片上网络的路由系统,其特征在于,包括主路由层和从路由层,所述主路层由主路由组成,且呈二维网格结构,所述从路由层包括主从路由和从路由,所述主从路由分别与主路由和从路由连接,若干个所述主从路由与多个所述从路由组成一个通信环路,所述主从路由和从路由均连接一节点,所述主路由与n个节点连接,所述n为大于1的自然数。
2.根据权利要求1所述的一种片上网络的路由系统,其特征在于,所述主路由包括输入缓存模块、仲裁和路由模块、交叉矩阵模块和输出模块,所述输入缓存模块包括用于接收主路由发送的数据包的第一输入缓存模块和用于接收由节点发送的数据包的第二输入缓存模块;
所述第一输入缓存模块用于根据数据的优先级对接收到的数据进行缓存,根据数据包生成并发送仲裁请求信息;
所述第二输入缓存模块用于根据数据的优先级对接收到的数据进行缓存,根据数据包生成并发送仲裁请求信息;
所述仲裁和路由模块用于根据仲裁请求信息控制各输入缓存模块,以及根据数据包的路由信息获取输出模块的仲裁结果;
所述交叉矩阵模块用于根据仲裁结果建立数据传输通道。
3.根据权利要求2所述的一种片上网络的路由系统,其特征在于,所述第一输入缓存模块包括4个输入端口,各所述输入端口设有多个用于缓存数据包的虚拟通道,各所述虚拟通道对应不同的优先级权重,各所述输入端口对应不同的端口权重。
4.根据权利要求1所述的一种片上网络的路由系统,其特征在于,所述主从路由包括:
仲裁模块,用于控制输出线与缓存模块的数据线连接或输出线与通信环路的输入线连接,以及在检测到通信环路中传输的数据为需要接收数据时,接收并发送数据至缓存模块;
缓存模块,用于分别缓存来自节点的第一数据包、来自主路由的第二数据包和来自通信环路的第三数据包;
选择模块,用于选择第二数据包或第三数据包发送至与主从路由连接的节点。
5.根据权利要求1所述的一种片上网络的路由系统,其特征在于,所述从路由包括:
仲裁模块,用于控制输出线与缓存模块的数据线连接或输出线与通信环路的输入线连接,以及在检测到通信环路中传输的数据为需要接收数据时,接收并发送数据至缓存模块;
缓存模块,用于分别缓存来自节点的数据包和和来自通信环路的数据包,以及将来自通信环路的数据包发送至与从路由连接的节点。
6.根据权利要求1-5任一项所述的一种片上网络的路由系统,其特征在于,所述n为4。
7.根据权利要求1-5任一项所述的一种片上网络的路由系统,其特征在于,所述通信环路包括m个主从路由和3m个从路由,所述m为大于等于1的自然数。
8.一种片上网络的通信方法,其特征在于,包括以下步骤:
主路由检测到数据包的路由为第一节点时,将第一节点发送至主从路由,所述第一节点为与该主路由相连的通信环路内的节点;
当第一节点为与主从路由相连的节点时,主从路由将数据包发送至第一节点;
当第一节点不为与主从路由相连的节点时,主从路由将数据包发送至通信环路;
通信环路内的从路由或主从路由检测到通信环路中的数据包为需要接收的数据包时,接收并下发数据包至与该从路由或主从路由连接的节点。
9.根据权利要求8所述的一种片上网络的通信方法,其特征在于,还包括以下步骤:
当节点需将数据包发送至第二节点时,将数据包发送至与该节点连接的从路由或主从路由,所述第二节点为与该节点相连的通信环路内的节点;
从路由或主从路由将数据包发送至通信环路;
对应的从路由或主从路由接收到数据包后,将数据包下发至节点。
10.根据权利要求8所述的一种片上网络的通信方法,其特征在于,还包括主路由对输入端口进行仲裁的步骤,具体为:
获取第一输入缓存模块中各输入端口的优先级权重和端口权重,根据获得的优先级权重和端口权重获取各输入端口的第一权重;
获取第二输入缓存模块的输入端口的优先级权重和端口权重,结合获得的优先级权重、端口权重和预设系数获取输入端口的第二权重;
根据第一权重和第二权重获取权重值最大的输入端口作为发送数据包的输入端口,以及更改各输入端口的端口权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039768.5A CN111245730B (zh) | 2020-01-15 | 2020-01-15 | 一种片上网络的路由系统及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039768.5A CN111245730B (zh) | 2020-01-15 | 2020-01-15 | 一种片上网络的路由系统及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245730A true CN111245730A (zh) | 2020-06-05 |
CN111245730B CN111245730B (zh) | 2021-10-08 |
Family
ID=70864517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010039768.5A Active CN111245730B (zh) | 2020-01-15 | 2020-01-15 | 一种片上网络的路由系统及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245730B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691434A (zh) * | 2021-08-31 | 2021-11-23 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN114079627A (zh) * | 2020-08-14 | 2022-02-22 | 华为技术有限公司 | 数据传输装置和方法 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080086572A1 (en) * | 2006-08-04 | 2008-04-10 | Arm Limited | Interconnecting initiator devices and recipient devices |
CN101383712A (zh) * | 2008-10-16 | 2009-03-11 | 电子科技大学 | 一种片上网络的路由节点微结构 |
US7746795B2 (en) * | 2004-07-23 | 2010-06-29 | Intel Corporation | Method, system, and apparatus for loopback parameter exchange |
CN103442311A (zh) * | 2013-08-31 | 2013-12-11 | 西安电子科技大学 | 支持多播通信的光片上网络系统 |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
US20170344882A1 (en) * | 2016-05-31 | 2017-11-30 | Canon Kabushiki Kaisha | Layer-based operations scheduling to optimise memory for CNN applications |
CN107852379A (zh) * | 2015-05-22 | 2018-03-27 | 格雷研究有限公司 | 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用 |
CN108256628A (zh) * | 2018-01-15 | 2018-07-06 | 合肥工业大学 | 基于多播片上网络的卷积神经网络硬件加速器及其工作方式 |
CN110557216A (zh) * | 2019-08-27 | 2019-12-10 | 桂林电子科技大学 | 一种基于片上网络的高速数据体系结构及数据传输方法 |
CN110620731A (zh) * | 2019-09-12 | 2019-12-27 | 中山大学 | 一种片上网络的路由装置及路由方法 |
-
2020
- 2020-01-15 CN CN202010039768.5A patent/CN111245730B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7746795B2 (en) * | 2004-07-23 | 2010-06-29 | Intel Corporation | Method, system, and apparatus for loopback parameter exchange |
US20080086572A1 (en) * | 2006-08-04 | 2008-04-10 | Arm Limited | Interconnecting initiator devices and recipient devices |
CN101383712A (zh) * | 2008-10-16 | 2009-03-11 | 电子科技大学 | 一种片上网络的路由节点微结构 |
CN103442311A (zh) * | 2013-08-31 | 2013-12-11 | 西安电子科技大学 | 支持多播通信的光片上网络系统 |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
CN107852379A (zh) * | 2015-05-22 | 2018-03-27 | 格雷研究有限公司 | 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用 |
US20170344882A1 (en) * | 2016-05-31 | 2017-11-30 | Canon Kabushiki Kaisha | Layer-based operations scheduling to optimise memory for CNN applications |
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
CN108256628A (zh) * | 2018-01-15 | 2018-07-06 | 合肥工业大学 | 基于多播片上网络的卷积神经网络硬件加速器及其工作方式 |
CN110557216A (zh) * | 2019-08-27 | 2019-12-10 | 桂林电子科技大学 | 一种基于片上网络的高速数据体系结构及数据传输方法 |
CN110620731A (zh) * | 2019-09-12 | 2019-12-27 | 中山大学 | 一种片上网络的路由装置及路由方法 |
Non-Patent Citations (4)
Title |
---|
JIAYI SHENG ET AL.: "A Method of Quadratic Programming for Mapping on NoC Architecture", 《IEEE:ASIC》 * |
WENKANG LIAO ET AL.: "An efficient and low-overhead chip-to-chip interconnect protocol design for NOC", 《IEEE:ICTA》 * |
孙美东: "基于区域划分的非全互连3D_NoC多播路由算法", 《计算机工程》 * |
杜高明等: "基于两级拆分的多播片上网络路由器研究", 《微电子学与计算机》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114079627A (zh) * | 2020-08-14 | 2022-02-22 | 华为技术有限公司 | 数据传输装置和方法 |
CN113691434A (zh) * | 2021-08-31 | 2021-11-23 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN113691434B (zh) * | 2021-08-31 | 2022-09-20 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111245730B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245730B (zh) | 一种片上网络的路由系统及通信方法 | |
Wu et al. | Improving routing efficiency for network-on-chip through contention-aware input selection | |
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
EP1006694B1 (en) | Communications method and communications system | |
JP2002510450A (ja) | 高度統合多層スイッチ要素アーキテクチャ | |
CN103986664A (zh) | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 | |
US11252027B2 (en) | Network element supporting flexible data reduction operations | |
CN104901899A (zh) | 二维片上网络拓扑结构的自适应路由方法 | |
CN114844827B (zh) | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 | |
CN113839878B (zh) | 一种面向数据密集型应用的片上网络近似通信系统 | |
CN104683242A (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
CN111193971B (zh) | 一种面向机器学习的分布式计算互连网络系统及通信方法 | |
CN112506850B (zh) | 一种片上及片间互连网络 | |
JP2007532052A (ja) | 演算及びデータ貯蔵の管理のためのスケーラブルネットワーク | |
CN109150731A (zh) | 基于卷积神经网络的多播包连接电路及其路由方法 | |
US20050027880A1 (en) | System and method for routing information in a nodal computer network | |
Cota et al. | NoC basics | |
Kim et al. | Adaptive packet routing in a hypercube | |
CN116757251A (zh) | 一种存算一体智能计算架构中的部分和动态融合方法 | |
Li et al. | Modeling and Simulation of Network-on-Chip Routing Algorithm Based on OPNET | |
Ramani et al. | A case study on NoC router architecture for optimizing the latency | |
Zhang et al. | A cellular NoC architecture based on butterfly network coding (CBNoC) | |
CN116383126A (zh) | 一种基于片上网络的深度神经网络加速器的传输方法 | |
Wen et al. | Modeling and Traffic Scheduling Problems for In-Vehicle Time-Sensitive Network Communication Architectures | |
CN115550235B (zh) | 面向神经网络平台的单周期路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |