CN109873771A - 一种片上网络系统及其通信方法 - Google Patents
一种片上网络系统及其通信方法 Download PDFInfo
- Publication number
- CN109873771A CN109873771A CN201910052470.5A CN201910052470A CN109873771A CN 109873771 A CN109873771 A CN 109873771A CN 201910052470 A CN201910052470 A CN 201910052470A CN 109873771 A CN109873771 A CN 109873771A
- Authority
- CN
- China
- Prior art keywords
- data packet
- port
- network
- input
- simulation
- 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
Abstract
本发明公开了一种片上网络系统及其通信方法,通过设置广播控制模块,可以在判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则可以通过广播控制模块生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果,有效地提高了片上网络系统数据传输的效率。
Description
技术领域
本发明涉及网络通信技术领域,尤其是一种片上网络系统及其通信方法。
背景技术
NOC(Network on chip)即片上网络,是一种通过多路由节点组合成成网络。处理器核通过网络接口传递数据给路由节点,路由节点之间通过不同方式的连线,来传递信息,进而能够完成不同处理器核之间数据传输的的功能。片上网络因为其可扩展性高,理论上总带宽无限等优点,在今天的各种处理器应用上越来越广泛。然而现在主流的多核处理器片上网络是节点之间一对一传输的机制,同时包经过每一个路由都必须有一个最小的延迟,这样就会造成当节点之间的距离增大,传输延时也会同时增大。这样当节点需要传输大量重复数据时候,需要传输多次,传输效率低下,同时造成很大的延迟,处理器反应缓慢。为解决传输多次重复数据,导致传输效率低下的问题,有人提出了将几个包组合成一个大型包的方式,按照固定的链路在整个网络中传输,这样可以减少重复传输的次数。然而这种方式,只是减少了路由传输之间的路由计算,数据量较大的数据包的传输仍然会长时间占据链路,使其他处理器发出的通传输被堵,同时本质还是属于单播传输。同时,由于人工智能芯片的兴起,人工智能芯片中间的神经网络互连,传输的数据中很多的是区域内多核共享数据,且不同处理器之间的传输流量不均匀,而传统的组播会固定目的节点,兼容性比较差。因此需要一种支持广播功能实现全局共享数据,同时支持组播传输方式的片上网络系统。
发明内容
为解决上述问题,本发明的目的在于提供一种片上网络系统及其通信方法,支持广播和组播的数据传播方式。
本发明解决其问题所采用的技术方案是:
第一方面,本发明实施例提出了一种片上网络系统,包括:
广播控制模块,用于判断实际输入端口的方向及其接收到的数据包类型,以及生成模拟输入端口和模拟输出端口、设定模拟输入端口和模拟输出端口的方向;
路由控制模块,用于设定数据的传输路径;
多个输入缓存模块,用于缓存输入的数据包;
仲裁模块,用于控制所述输入缓存模块打开与否;
交叉矩阵模块,用于形成输入和输出的交叉网络;
数据包从所述广播控制模块输入,依次经过所述输入缓存模块和交叉矩阵模块后输出。
进一步,所述输入缓存模块设置有至少两条虚拟传输通道。
进一步,还包括用于监控所述输入缓存模块中虚拟传输通道的状态的流量控制模块,所述流量控制模块与广播控制模块连接;每条虚拟传输通道分别设置有用于统计数据量的计数器,所述流量控制模块通过获取每个计数器的数值判断每条虚拟传输通道是否处于满载状态。
第二方面,本发明实施例还提出了一种片上网络系统通信方法,包括:
判断实际输入端口的方向及其接收到的数据包类型,若接收到的数据包类型为广播数据包或者组播数据包,则生成对应的模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径;若接收到的数据包类型为单播数据包,则设定数据包的传输路径;
缓存输入的数据包,仲裁通过后输出;
形成输入和输出的交叉网络。
进一步,若接收到的数据包类型为广播数据包,则查询系统的路由状态,若系统已经处于广播状态,则停止接收该数据包,直到广播状态结束,开始接收该数据包。
进一步,所述设定数据包的传输路径,具体为:将目标路由地址和本地路由地址利用XY坐标表示,数据包往目标路由地址的X坐标和本地路由地址的X坐标差距减小的方向传输,若目标路由地址的X坐标和本地路由地址的X坐标相等,则数据包往目标路由地址的Y坐标和本地路由地址的Y坐标差距减小的方向传输。
进一步,实际输入端口、模拟输入端口和模拟输出端口的方向包括本地、东、南、西、北五种;当接收到的数据包类型为广播数据包时,若实际输入端口的方向为本地,则模拟输入端口为东、北、西、南,模拟输出端口的方向为西、南、东、北;若实际输入端口的方向为东,则模拟输入端口为本地、北、西、南,模拟输出端口的方向为西、南、本地、北;若实际输入端口的方向为北,则模拟输入端口为北、南,模拟输出端口的方向为南、本地;若实际输入端口的方向为西,则模拟输入端口为本地、东、北、南,模拟输出端口的方向为东、本地、南、北;若实际输入端口的方向为南,则模拟输入端口为北、南,模拟输出端口的方向为本地、北。
进一步,缓存输入的数据包后通过至少两条虚拟传输通道进行传输,传输时检测每条虚拟传输通道的状态,将数据包压入其中一条未满载的虚拟传输通道。
进一步,每条虚拟传输通道分别通过计数器表示是否处于满载状态,当虚拟传输通道接收到一个有效的数据包,则计数器加一,向上行路由发送接收完成信号,直到计数器累计超过虚拟传输通道容量阈值,向上行路由发送通道满载信号;一个数据包从虚拟传输通道输出后,接收来自下行路由的发送完成信号,则计数器减一,直到计数器清零,向下行路由发送空载信号。
进一步,通过当前仲裁输出数据包的输入缓存模块,在下一个周期仲裁中为最低优先级候选,而与其相邻的输入缓存模块为最高优先级候选
本发明实施例中提供的一个或多个技术方案,至少具有如下有益效果:本发明实施例提供的一种片上网络系统,通过设置广播控制模块,可以在判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则可以通过广播控制模块生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果。本发明实施例提供的一种片上网络系统可以同时实现多种数据包传输方式,有效地提高片上网络系统数据包传输的效率。
本发明实施例提供的一种片上网络系统通信方法,通过判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果。本发明实施例提供的一种片上网络系统通信方法可以同时实现多种数据包传输方式,有效地提高片上网络系统数据包传输的效率。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明一种片上网络系统的一个实施例的示意图;
图2是本发明一种片上网络系统的一个实施例中广播路径的示意图;
图3是传统片上网络系统的广播路径的示意图;
图4是本发明一种片上网络系统通信方法的一个实施例的流程图。
具体实施方式
NOC(Network on chip)即片上网络,是一种通过多路由节点组合成成网络。处理器核通过网络接口传递数据给路由节点,路由节点之间通过不同方式的连线,来传递信息,进而能够完成不同处理器核之间数据传输的的功能。片上网络因为其可扩展性高,理论上总带宽无限等优点,在今天的各种处理器应用上越来越广泛。然而现在主流的多核处理器片上网络是节点之间一对一传输的机制,同时包经过每一个路由都必须有一个最小的延迟,这样就会造成当节点之间的距离增大,传输延时也会同时增大。这样当节点需要传输大量重复数据时候,需要传输多次,传输效率低下,同时造成很大的延迟,处理器反应缓慢。为解决传输多次重复数据,导致传输效率低下的问题,有人提出了将几个包组合成一个大型包的方式,按照固定的链路在整个网络中传输,这样可以减少重复传输的次数。然而这种方式,只是减少了路由传输之间的路由计算,数据量较大的数据包的传输仍然会长时间占据链路,使其他处理器发出的通传输被堵,同时本质还是属于单播传输。同时,由于人工智能芯片的兴起,人工智能芯片中间的神经网络互连,传输的数据中很多的是区域内多核共享数据,且不同处理器之间的传输流量不均匀,而传统的组播会固定目的节点,兼容性比较差。因此需要一种支持广播功能实现全局共享数据,同时支持可配置的组播传输方式的片上网络系统。
基于此,本发明提供了一种片上网络系统及其通信方法,通过设置广播控制模块,可以在判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则可以通过广播控制模块生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果,有效地提高了片上网络系统数据传输的效率。
下面结合附图,对本发明实施例作进一步阐述。
参照图1,本发明的第一实施例提供了一种片上网络系统,其特征在于,包括:
广播控制模块,用于判断实际输入端口的方向及其接收到的数据包类型,以及生成模拟输入端口和模拟输出端口、设定模拟输入端口和模拟输出端口的方向;
路由控制模块,用于设定数据的传输路径;
多个输入缓存模块,用于缓存输入的数据包;
仲裁模块,用于控制所述输入缓存模块打开与否;
交叉矩阵模块,用于形成输入和输出的交叉网络;
数据包从所述广播控制模块输入,依次经过所述输入缓存模块和交叉矩阵模块后输出。
在本实施例中,广播控制模块包括用于保存广播、组播信息的存储器,以及用于判断实际输入端口的方向及其接收到的数据包类型、生成模拟输入端口和模拟输出端口、设定模拟输入端口和模拟输出端口的方向的逻辑控制单元。
在本实施例中,利用路由通信协议对数据包的每一帧进行划分,判断数据包类型,例如,参照下表,在通信协议中,H表示帧头信息,即传输的数据包中的第一帧,T表示帧尾信息,即传输的数据包中的最后一帧。VC表示虚拟传输通道,即在该路由中,确定输入的数据包应该存的虚拟传输通道。PORT表示输出端口,即在该路由中,确定输入的数据包输出的端口方向。Dest Addr为目标地址,Source Addr为源地址,OP表示操作数。Body表示体帧的信息,Tail表示尾帧的信息。当OP为2’b00时为单播传输,2’b01时为广播传输,2’b10时为组播传输。
以下通过具体例子针对本系统实现广播及组播的原理做具体说明。
参照图2,实际输入端口、模拟输入端口和模拟输出端口的方向包括本地、东、南、西、北五种,本地方向指的是源地址对应的路由,东、南、西、北分别表示源地址对应的路由四个方向的路由。当接收到的数据包类型为广播数据包时,则为下面的传输输出端口规则:若实际输入端口的方向为本地,则模拟输入端口为东、北、西、南,模拟输出端口的方向为西、南、东、北;若实际输入端口的方向为东,则模拟输入端口为本地、北、西、南,模拟输出端口的方向为西、南、本地、北;若实际输入端口的方向为北,则模拟输入端口为北、南,模拟输出端口的方向为南、本地;若实际输入端口的方向为西,则模拟输入端口为本地、东、北、南,模拟输出端口的方向为东、本地、南、北;若实际输入端口的方向为南,则模拟输入端口为北、南,模拟输出端口的方向为本地、北。按照以上的端口划分规则,可以形成下列所示的广播网络:
输入端口 | 本地 | 东 | 北 | 西 | 南 |
本地 | X | 西 | 南 | 东 | 北 |
东 | 西 | X | 南 | 本地 | 北 |
北 | X | X | 南 | X | 本地 |
西 | 东 | 本地 | 南 | X | 北 |
南 | X | X | 本地 | X | 北 |
上表中第一列为实际输入端口,第一行为模拟输入端口,中间为模拟输出端口。对比传统的广播方式,在本实施例中当输入为南方向或者北方向时,仅向北方向或者南方向输出,因此广播状态下并非所有路由节点都存在四个方向的数据包传输,对比如图3所示的传统的片上网络广播路径,可以降低整个片上网络的流量负载,提高数据传输效率。
当接收到的数据包类型为组播数据包时,则为下面的传输输出端口规则:若实际输入端口的方向为本地,则模拟输入端口为东、北、西、南,模拟输出端口的方向为西、南、东、北;若实际输入端口的方向为东,则模拟输入端口为本地、北、南,模拟输出端口的方向为西、南、北;若实际输入端口的方向为北,则模拟输入端口为北,模拟输出端口的方向为南;若实际输入端口的方向为西,则模拟输入端口为本地、北、南,模拟输出端口的方向为东、南、北;若实际输入端口的方向为南,则模拟输入端口为南,模拟输出端口的方向为北。按照以上的端口划分规则,可以形成如下所示的组播网络:
输入端口 | 本地 | 东 | 北 | 西 | 南 |
本地 | X | 西 | 南 | 东 | 北 |
东 | 西 | X | 南 | X | 北 |
北 | X | X | 南 | X | X |
西 | 东 | X | 南 | X | 北 |
南 | X | X | X | X | 北 |
上表中第一列为实际输入端口,第一行为模拟输入端口,中间为模拟输出端口,此时数据包的传输路径和广播时候大体一样,区别在于组播时数据包不向本地传播。
以上仅仅展示了广播和组播的一种端口设置方式,并以此为例子说明广播控制模块通过设定模拟输入端口和模拟输出端口的方向实现广播和组播的原理。在其他实施例中也可以采用另外的端口设置方式,在此不再一一说明。
若接收到的数据包类型为单播数据包,则直接通过路由控制模块设定数据包的传输路径,控制输入缓存模块打开合作和关闭,将数据包送达目的路由。即系统处于广播或者组播状态时,路由控制模块不执行,当系统处于单播状态时路由控制模块才开始工作。
为对应5种模拟输入端口的方向,在本实施例中设置了5个输入缓存模块,输入缓存模块在缓存了输入的数据包后,同时向仲裁模块申请仲裁是否进行输出,以此保证每个输入缓存模块的数据传输有序进行。
交叉矩阵模块用于形成输入和输出的交叉网络,即将每条输入通道和每条输出通道之间都分别具有一个交叉点,当某条输入通道需要交换到另一条输出通道输出时,通过控制交叉点的开关即可实现,这种方式可以提高数据传输的灵活性,避免因传输时带宽资源不够而出现阻塞现象。
在本实施例中,通过设置广播控制模块,可以在判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则可以通过广播控制模块生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果,因此可以同时实现多种数据包传输方式,有效地提高片上网络系统数据包传输的效率。
进一步地,基于第一实施例,本发明的第二实施例还提供了一种片上网络系统,其中,所述输入缓存模块设置有至少两条虚拟传输通道。
在本实施例中,当输入缓存模块识别到有数据包进入时,检测虚拟传输通道的状态,若不是所有虚拟传输通道的处于满载状态,则将数据包压入其中一条未满载的虚拟传输通道,通过设置多条虚拟传输通道,可以避免出现数据传输拥堵的情况,提高数据效率。
在本实施例中,每个输入缓存模块均设置有4条虚拟传输通道,每条缓存长度为8,宽度为34bit,通道前后分别设置输入控制端和输出控制端。在其他实施例中,虚拟传输通道的数量、长度、宽度均可以根据实际情况设置。
进一步地,基于第二实施例,本发明的第三实施例还提供了一种片上网络系统,其中,还包括用于监控所述输入缓存模块中虚拟传输通道的状态的流量控制模块,所述流量控制模块与广播控制模块连接;每条虚拟传输通道分别设置有用于统计数据量的计数器,所述流量控制模块通过获取每个计数器的数值判断每条虚拟传输通道是否处于满载状态。
在本实施例中,通过设置流量控制模块,并在每条虚拟传输通道中设置计数器,每条虚拟传输通道可以分别通过计数器表示是否处于满载状态,当虚拟传输通道接收到一个有效的数据包,则计数器加一,流量控制模块通过广播控制模块获取此信号,向上行路由发送接收完成信号,直到计数器累计超过虚拟传输通道容量阈值,向上行路由发送通道满载信号;一个数据包从虚拟传输通道输出后,接收来自下行路由的发送完成信号,则计数器减一,直到计数器清零,流量控制模块通过广播控制模块获取此信号,向下行路由发送空载信号。通过以上方式,可以及时通知上行路由和下行路由当前路由节点的数据传输情况,使得整个数据传输更有秩序,避免因虚拟传输通道满载的时候上行路由仍然发送数据包,或者传输通道空载的时候下行路由仍然接收数据包而产生了无效的动作。
此外,参照图4,本发明的第四实施例还提供了一种片上网络系统通信方法,包括但不限于以下步骤:
S100:判断实际输入端口的方向及其接收到的数据包类型,若接收到的数据包类型为广播数据包或者组播数据包,则生成对应的模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径;若接收到的数据包类型为单播数据包,则直接设定数据包的传输路径;
S200:缓存输入的数据包,仲裁通过后输出;
S300:形成输入和输出的交叉网络。
本实施例与第一实施例基于相同的发明构思,实际输入端口、模拟输入端口和模拟输出端口的设置过程在第一实施例中已经举例说明,在此不再赘述。在本实施例中,通过判断实际输入端口的方向及其接收到的数据包类型后,根据对应数据包的类型选择传输方式,若接收到的数据包为广播数据包或者组播数据包,则生成对应的生成模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径,从而达到广播或者组播的效果,本发明实施例提供的一种片上网络系统通信方法可以同时实现多种数据包传输方式,有效地提高片上网络系统数据包传输的效率。
进一步地,基于第四实施例,本发明的第五实施例还提供了一种片上网络系统通信方法,其中,若接收到的数据包类型为广播数据包,则查询系统的路由状态,若系统已经处于广播状态,则停止接收该数据包,直到广播状态结束,开始接收该数据包。
在本实施例中,当系统处于广播状态时,由于输入缓存模块的数据缓存大小有限,因此在接收数据包前,先查询系统的路由状态,保证一个数据包传输周期内只进行一次广播,避免因缓存空间不足而影响了数据包的正常传输,提高了系统的可靠性。
进一步地,基于第四实施例,本发明的第六实施例还提供了一种片上网络系统通信方法,其中,所述设定数据包的传输路径,具体为:将目标路由地址和本地路由地址利用XY坐标表示,数据包往目标路由地址的X坐标和本地路由地址的X坐标差距减小的方向传输,若目标路由地址的X坐标和本地路由地址的X坐标相等,则数据包往目标路由地址的Y坐标和本地路由地址的Y坐标差距减小的方向传输。
在本实施例中,当输入的数据包为单播数据包时,需要设定数据包的传输路径,即从本地路由传输到目的路由的路径。通过将目标路由地址和本地路由地址利用XY坐标表示,可以利用X坐标和Y坐标便捷地判断出从本地路由传输到目的路由的最短路径,从而设定最优的传输方案。
进一步地,基于第四实施例,本发明的第七实施例还提供了一种片上网络系统通信方法,其中,缓存输入的数据包后通过至少两条虚拟传输通道进行传输,传输时检测每条虚拟传输通道的状态,将数据包压入其中一条未满载的虚拟传输通道。
在本实施例中,通过设置多条虚拟传输通道,可以避免出现数据传输拥堵的情况,提高数据效率。例如,每个输入缓存模块均设置有4条虚拟传输通道,每条缓存长度为8,宽度为34bit,通道前后分别设置输入控制端和输出控制端。在其他实施例中,虚拟传输通道的数量、长度、宽度均可以根据实际情况设置。
进一步地,基于第七实施例,本发明的第八实施例还提供了一种片上网络系统通信方法,其中,每条虚拟传输通道分别通过计数器表示是否处于满载状态,当虚拟传输通道接收到一个有效的数据包,则计数器加一,向上行路由发送接收完成信号,直到计数器累计超过虚拟传输通道容量阈值,向上行路由发送通道满载信号;一个数据包从虚拟传输通道输出后,接收来自下行路由的发送完成信号,则计数器减一,直到计数器清零,向下行路由发送空载信号。
在本实施例中,利用计数器统计虚拟传输通道的满载情况,可以及时通知上行路由和下行路由当前路由节点的数据传输情况,使得整个数据传输更有秩序,避免因虚拟传输通道满载的时候上行路由仍然发送数据包,或者传输通道空载的时候下行路由仍然接收数据包而产生了无效的动作。
进一步地,基于第四实施例,本发明的第九实施例还提供了一种片上网络系统通信方法,其中,通过当前仲裁输出数据包的输入缓存模块,在下一个周期仲裁中为最低优先级候选,而与其相邻的输入缓存模块为最高优先级候选。
在本实施例中,具体举例来说,当前仲裁的候选输入缓存模块有A、B、C、D、E五个并且依次相邻,若在一次仲裁结果中,A通过仲裁进行输出,则在下一次仲裁时,最高优先级的候选为B,A作为最低优先级的候选,即优先级的排序为B-C-D-E-A,以此类推。通过上述的仲裁方式,能够有利于保证每个数据包的传输优先级处于平均水平。
除此以外,交叉矩阵模块输出时,也可以进行仲裁,在仲裁前先将输出的请求进行重新组合,将从相同端口输出的请求合并,然后再采用上述的仲裁原则,仲裁通过的输出端口可以进行输出,然后在下一次的仲裁中处于最低优先级候选。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种片上网络系统,其特征在于,包括:
广播控制模块,用于判断实际输入端口的方向及其接收到的数据包类型,以及生成模拟输入端口和模拟输出端口、设定模拟输入端口和模拟输出端口的方向;
路由控制模块,用于设定数据的传输路径;
多个输入缓存模块,用于缓存输入的数据包;
仲裁模块,用于控制所述输入缓存模块打开与否;
交叉矩阵模块,用于形成输入和输出的交叉网络;
数据包从所述广播控制模块输入,依次经过所述输入缓存模块和交叉矩阵模块后输出。
2.根据权利要求1所述的一种片上网络系统,其特征在于:所述输入缓存模块设置有至少两条虚拟传输通道。
3.根据权利要求2所述的一种片上网络系统,其特征在于:还包括用于监控所述输入缓存模块中虚拟传输通道的状态的流量控制模块,所述流量控制模块与广播控制模块连接;每条虚拟传输通道分别设置有用于统计数据量的计数器,所述流量控制模块通过获取每个计数器的数值判断每条虚拟传输通道是否处于满载状态。
4.一种片上网络系统通信方法,其特征在于,包括:
判断实际输入端口的方向及其接收到的数据包类型,若接收到的数据包类型为广播数据包或者组播数据包,则生成对应的模拟输入端口和模拟输出端口,并设定模拟输入端口和模拟输出端口的方向从而生成数据包传输路径;若接收到的数据包类型为单播数据包,则设定数据包的传输路径;
缓存输入的数据包,仲裁通过后输出;
形成输入和输出的交叉网络。
5.根据权利要求4所述的一种片上网络系统通信方法,其特征在于:若接收到的数据包类型为广播数据包,则查询系统的路由状态,若系统已经处于广播状态,则停止接收该数据包,直到广播状态结束,开始接收该数据包。
6.根据权利要求4所述的一种片上网络系统通信方法,其特征在于:所述设定数据包的传输路径,具体为:将目标路由地址和本地路由地址利用XY坐标表示,数据包往目标路由地址的X坐标和本地路由地址的X坐标差距减小的方向传输,若目标路由地址的X坐标和本地路由地址的X坐标相等,则数据包往目标路由地址的Y坐标和本地路由地址的Y坐标差距减小的方向传输。
7.根据权利要求4所述的一种片上网络系统通信方法,其特征在于:实际输入端口、模拟输入端口和模拟输出端口的方向包括本地、东、南、西、北五种;当接收到的数据包类型为广播数据包时,若实际输入端口的方向为本地,则模拟输入端口为东、北、西、南,模拟输出端口的方向为西、南、东、北;若实际输入端口的方向为东,则模拟输入端口为本地、北、西、南,模拟输出端口的方向为西、南、本地、北;若实际输入端口的方向为北,则模拟输入端口为北、南,模拟输出端口的方向为南、本地;若实际输入端口的方向为西,则模拟输入端口为本地、东、北、南,模拟输出端口的方向为东、本地、南、北;若实际输入端口的方向为南,则模拟输入端口为北、南,模拟输出端口的方向为本地、北。
8.根据权利要求4所述的一种片上网络系统通信方法,其特征在于:缓存输入的数据包后通过至少两条虚拟传输通道进行传输,传输时检测每条虚拟传输通道的状态,将数据包压入其中一条未满载的虚拟传输通道。
9.根据权利要求8所述的一种片上网络系统通信方法,其特征在于:每条虚拟传输通道分别通过计数器表示是否处于满载状态,当虚拟传输通道接收到一个有效的数据包,则计数器加一,向上行路由发送接收完成信号,直到计数器累计超过虚拟传输通道容量阈值,向上行路由发送通道满载信号;一个数据包从虚拟传输通道输出后,接收来自下行路由的发送完成信号,则计数器减一,直到计数器清零,向下行路由发送空载信号。
10.根据权利要求4所述的一种片上网络系统通信方法,其特征在于:通过当前仲裁输出数据包的输入缓存模块,在下一个周期仲裁中为最低优先级候选,而与其相邻的输入缓存模块为最高优先级候选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910052470.5A CN109873771B (zh) | 2019-01-21 | 2019-01-21 | 一种片上网络系统及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910052470.5A CN109873771B (zh) | 2019-01-21 | 2019-01-21 | 一种片上网络系统及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109873771A true CN109873771A (zh) | 2019-06-11 |
CN109873771B CN109873771B (zh) | 2022-04-12 |
Family
ID=66917928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910052470.5A Active CN109873771B (zh) | 2019-01-21 | 2019-01-21 | 一种片上网络系统及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873771B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN112822127A (zh) * | 2020-12-29 | 2021-05-18 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
CN112866180A (zh) * | 2019-11-28 | 2021-05-28 | 北京希姆计算科技有限公司 | 数据处理电路、装置以及方法 |
WO2021115326A1 (zh) * | 2019-12-09 | 2021-06-17 | 北京灵汐科技有限公司 | 数据处理的方法、装置和电子设备、存储介质和程序产品 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
WO2023006006A1 (zh) * | 2021-07-29 | 2023-02-02 | 海飞科(南京)信息技术有限公司 | 片上数据交换的滚轮仲裁方法及电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784003A (en) * | 1996-03-25 | 1998-07-21 | I-Cube, Inc. | Network switch with broadcast support |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
CN105007226A (zh) * | 2015-07-23 | 2015-10-28 | 合肥工业大学 | 一种基于包电路交换技术的多播路由器及其工作方式 |
US20160182245A1 (en) * | 2014-12-17 | 2016-06-23 | Intel Corporation | System for multicast and reduction communications on a network-on-chip |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN109150731A (zh) * | 2018-09-19 | 2019-01-04 | 合肥工业大学 | 基于卷积神经网络的多播包连接电路及其路由方法 |
-
2019
- 2019-01-21 CN CN201910052470.5A patent/CN109873771B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784003A (en) * | 1996-03-25 | 1998-07-21 | I-Cube, Inc. | Network switch with broadcast support |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
US20160182245A1 (en) * | 2014-12-17 | 2016-06-23 | Intel Corporation | System for multicast and reduction communications on a network-on-chip |
CN105007226A (zh) * | 2015-07-23 | 2015-10-28 | 合肥工业大学 | 一种基于包电路交换技术的多播路由器及其工作方式 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN109150731A (zh) * | 2018-09-19 | 2019-01-04 | 合肥工业大学 | 基于卷积神经网络的多播包连接电路及其路由方法 |
Non-Patent Citations (2)
Title |
---|
冯杰,荆明娥,虞志益: "基于双层片上网络的路由算法", 《计算机工程》 * |
杜高明等: "基于两级拆分的多播片上网络路由器研究", 《微电子学与计算机》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866180A (zh) * | 2019-11-28 | 2021-05-28 | 北京希姆计算科技有限公司 | 数据处理电路、装置以及方法 |
CN112866180B (zh) * | 2019-11-28 | 2022-06-17 | 北京希姆计算科技有限公司 | 数据处理电路、装置以及方法 |
WO2021115326A1 (zh) * | 2019-12-09 | 2021-06-17 | 北京灵汐科技有限公司 | 数据处理的方法、装置和电子设备、存储介质和程序产品 |
US11863461B2 (en) | 2019-12-09 | 2024-01-02 | Lynxi Technologies Co., Ltd. | Data processing method, data processing apparatus, electronic device, storage medium, and program product |
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN112363612B (zh) * | 2020-10-21 | 2022-07-08 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN112822127A (zh) * | 2020-12-29 | 2021-05-18 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
CN112822127B (zh) * | 2020-12-29 | 2023-07-04 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
WO2023006006A1 (zh) * | 2021-07-29 | 2023-02-02 | 海飞科(南京)信息技术有限公司 | 片上数据交换的滚轮仲裁方法及电路 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109873771B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873771A (zh) | 一种片上网络系统及其通信方法 | |
US9590813B1 (en) | Supporting multicast in NoC interconnect | |
CN105450555B (zh) | 一种片上网络系统,及片上网络通信链路的建立方法 | |
US7477608B2 (en) | Methods for routing packets on a linear array of processors | |
CN108400880B (zh) | 片上网络、数据传输方法和第一交换节点 | |
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
US9450888B2 (en) | Providing a bufferless transport method for multi-dimensional mesh topology | |
WO2014051778A1 (en) | Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices | |
US10749811B2 (en) | Interface virtualization and fast path for Network on Chip | |
CN104901899B (zh) | 二维片上网络拓扑结构的自适应路由方法 | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
US10218581B2 (en) | Generation of network-on-chip layout based on user specified topological constraints | |
CN105721355A (zh) | 一种片上网络路由传输报文的方法及片上网络路由 | |
CN107454003A (zh) | 一种可动态切换工作模式的片上网络路由器及方法 | |
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
US11074206B1 (en) | Message protocol for a data processing system | |
CN104683242B (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
US8953497B2 (en) | Modified tree-based multicast routing schema | |
Manevich et al. | Best of both worlds: A bus enhanced NoC (BENoC) | |
CN105049362A (zh) | 一种二维环绕网格片上网络的拓扑结构以及路由方法 | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
US20200195546A1 (en) | Mechanism for dynamic latency-bandwidth trade-off for efficient broadcasts/multicasts | |
CN110825689B (zh) | 电子芯片的实现方法及电子芯片 | |
Srivastava et al. | TDMA-Based Adaptive Multicasting in Wireless NoC |
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 |