CN105871742B - 一种片上网络中基于虚拟输出队列机制的自适应路由器 - Google Patents
一种片上网络中基于虚拟输出队列机制的自适应路由器 Download PDFInfo
- Publication number
- CN105871742B CN105871742B CN201610184996.5A CN201610184996A CN105871742B CN 105871742 B CN105871742 B CN 105871742B CN 201610184996 A CN201610184996 A CN 201610184996A CN 105871742 B CN105871742 B CN 105871742B
- Authority
- CN
- China
- Prior art keywords
- microplate
- head
- data packet
- router
- virtual channel
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种片上网络中基于虚拟输出队列机制的自适应路由器是:包含五个输入端口、端口选择模块、值裁决模块、存储模块、前向路由计算模块、头微片修改模块、交叉开关仲裁模块、交叉开关和五个输出端口;输入端口按照数据包的输出方向划分输入缓冲区空间,从而形成虚拟输出队列;数据包头微片的空闲位用于顺带传播网络的拥塞信息;任一虚通道平分为两个存储空间,分别设有一套读写指针;在路由计算层级,自适应地选择输出端口;在单个虚通道内,自适应地读取数据包。本发明通过两个层级的自适应均衡全网的流量分布,缓解拥塞,进而降低头阻塞出现的可能性,并在头阻塞出现时消除其影响,降低了网络的延迟,提高了网络的吞吐量。
Description
技术领域
本发明属于集成电路芯片设计的应用技术领域,特别是一种片上网络中基于虚拟输出队列机制的自适应路由器。
背景技术
随着***对计算能力的需求日益增长,单个芯片上嵌入了越来越多的计算模块,各模块之间的通信需要高带宽、低延迟的互连网络来支持,片上网络(NoC,Network-on-Chip)应运而生。受片上资源的限制,NOC的设计面临许多挑战,拥塞管理问题即是其中之一。然而,拥塞本身并不是难题,影响恶劣的是由拥塞引起的队列头阻塞(HoL,Head-of-Line blocking)问题,只有完全消除头阻塞的影响,网络的性能才有保障。
处理NOC中的头阻塞问题,需要有效管理输入缓冲区(buffer)的组织形式。统一管理buffer,虚通道的数目和深度依流量状况动态分配,这种集中式buffer避免了头阻塞的出现,然而需要维持庞大的记录表,仲裁机制复杂,硬件开销大;使用虚拟输出队列(VOQ,Virtual Output Queue)机制管理buffer,依据输出方向划分buffer空间,将去往不同方向的数据包分开放置,避免了因去往不同方向的数据包混放而引起的头阻塞问题,VOQ方式通过引入排队机制,降低了仲裁机制的复杂性,硬件开销小;使用RECN(Regional ExplicitCongestion Notification)机制管理buffer,将拥塞流量和非拥塞流量分离后存储,从而阻止头阻塞的发生,该机制需要在路由器内部维持大量的队列,硬件开销太大;基于目的地址的buffer管理机制(DBBM,Destination-Based Buffer Management),通过将目的地址不同的数据分开存放来缓解头阻塞,基本达到与VOQ机制相同的吞吐率,相较于RECN机制使用更少的逻辑部件,然而数据存放于哪个队列需要依据目的地址实时选择,路由器端口基数较少时,其硬件开销大幅大于VOQ机制。
基于上述分析,VOQ机制相较于其他方案有着良好的性能和低廉的开销,有理由成为处理头阻塞问题的首选技术,事实上,学者们广泛研究应用了VOQ机制的NoC路由器。当网络不拥塞时,NoC使用VOQ路由器即不存在头阻塞问题,然而当网络拥塞时,即使使用了VOQ路由器,网络里仍然存在一定程度的头阻塞问题。
发明内容
本发明是为了避免上述现有技术中所存在的不足之处,提供一种片上网络中基于虚拟输出队列机制的自适应路由器,以期能加固使用VOQ机制的路由器,均衡网络负载,缓解网络的拥塞状态,降低头阻塞发生的可能性,并在头阻塞出现时消除其影响,使得VOQ机制能够更加高效地处理NoC中的头阻塞问题,从而能大幅提升网络性能。
本发明解决技术问题所采用的技术方案是:
本发明一种片上网络中基于虚拟输出队列机制的自适应路由器,所述片上网络是由若干个路由节点、若干个资源节点和若干条路由通道组成的二维网格结构;
以所述片上网络任一顶点上的路由节点为原点O,与所述顶点上的路由节点相连通的两条路由通道分别为X轴和Y轴,建立坐标系OXY;并以X轴的正方向为E方向,以X轴的负方向为W方向,以Y轴的正方向为N方向,以Y轴的负方向为S方向;以与资源节点相连的方向为L方向;并将N方向和E方向之间的区域定义为第一象限;将N方向和W方向之间的区域定义为第二象限;将W方向和S方向之间的区域定义为第三象限;将S方向和E方向之间的区域定义为第四象限;
当任意两个路由节点进行通信时,定义发送数据包的资源节点为请求节点,接收所述数据包的资源节点为目的节点;且目的节点在所述坐标系OXY中的坐标位置为目的地址;并根据数据包沿着所经过的路由节点的顺序,定义所经过的任意一个路由节点均是以上一个路由节点为上游节点,以下一个路由节点为下游节点的当前路由节点;将所述当前路由节点记为第i个路由节点;则上游节点为第i-1个路由节点;下游节点为第i+1个路由节点;
所述路由节点使用虫孔交换和虚通道方法,输入缓冲区采用先进先出的方式,每个虚通道为一个先进先出队列;
各个路由节点之间使用credit信号进行流量控制;所述credit信号包含第i+1个路由节点的输入缓冲区具体占用情况;所述占用情况包括空闲的虚通道数目、每个虚通道中的空闲槽数目;
所述数据包是由头微片H、体微片B和尾微片T组成,并以微片为单位进行传输;所述头微片H中存储有目的地址和路由信息,其特点是,
令头微片H中还存储有注释信息AI块;所述注释信息AI块包含当前路由节点端口选择信息、当前交叉开关请求状态信息、下游路由节点输入缓冲区整体占用状态信息;
令所述任一路由节点为自适应路由器,所述自适应路由器包括:五个输入端口、端口选择模块、值裁决模块、存储模块、前向路由计算模块、头微片修改模块、交叉开关仲裁模块、交叉开关和五个输出端口;
所述任一输入端口按照E方向、W方向、N方向、S方向和L方向划分输入缓冲区空间,从而形成虚拟输出队列;
所述存储模块中包含:当前交叉开关请求表、邻居路由器端口选择表、邻居交叉开关请求状态表、下两跳路由器输入缓冲区整体占用状态表;
所述交叉开关仲裁模块包括第一交叉开关仲裁单元和第二交叉开关仲裁单元;
第i个自适应路由器的端口选择模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并进行端口拥塞比较,获得第i个自适应路由器基于象限的端口选择信息后发送给自身的头微片修改模块;
第i个自适应路由器的值裁决模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器输入缓冲区具体占用情况进行状态裁决,分别获得当前交叉开关请求状态及第i+1个自适应路由器输入缓冲区整体占用状态,并发送给自身的头微片修改模块;获得第i+1个自适应路由器每个虚通道占用状态并发送给第一交叉开关仲裁单元;
第一阶段流水:
当第i个自适应路由器接收到第i-1个自适应路由器发送的微片后,第i个自适应路由器的前向路由计算模块判断所述微片是否为头微片H,若为头微片H,则根据头微片H所携带的第i个自适应路由器的输出端口,将所述头微片H存入到第i个自适应路由器中相对应的虚通道中;若不为头微片H,则将所述微片存入自身头微片所在的虚通道中,从而完成第一阶段流水并进入第二阶段流水;
第二阶段流水:
所述微片所在的虚通道向第二交叉开关仲裁单元提出配置请求,第二交叉开关仲裁单元对当前交叉开关进行配置,若配置成功,则微片所在的虚通道得到交叉开关授权;若配置失败,则微片所在的虚通道继续等待配置;
当所述微片为头微片H时,所述第i个自适应路由器的前向路由计算模块根据头微片H所携带的目的地址获得所述目的节点位于第i+1个自适应路由器的象限;并根据所述象限查询邻居路由器端口选择表,获得头微片H在第i+1个自适应路由器的输出端口即路由信息并存入所述头微片H中,从而更新头微片H;
第i个自适应路由器的头微片修改模块卸载头微片H中的注释信息AI块并分别将邻居路由器端口选择信息存入自身的邻居路由器端口选择表中、将邻居交叉开关请求状态存入自身的邻居交叉开关请求状态表、将下两跳路由器输入缓冲区整体占用状态存入自身的下两跳路由器输入缓冲区整体占用状态表中;
第i个自适应路由器的头微片修改模块再将所接收到的当前自适应路由器基于象限的端口选择信息、当前交叉开关请求状态、第i+1个自适应路由器输入缓冲区整体占用状态装载到头微片H的注释信息AI块中;
第i个自适应路由器的第一交叉开关仲裁单元根据所接收到的第i+1个自适应路由器每个虚通道占用状态、邻居交叉开关请求状态、下两跳路由器输入缓冲区整体占用状态,衡量头微片所在的虚通道中所有头微片的下游路由通道的拥塞程度;当头微片所在的虚通道得到交叉开关授权时,所述头微片通过交叉开关进行传输;仅当所述头微片的下游路由通道拥塞,且排在所述头微片之后的数据包下游路由通道不拥塞时,同时,头微片所在的虚通道得到交叉开关授权时,排在所述头微片之后的头微片通过交叉开关进行传输;
当所述微片不为头微片H时,所述微片继承自身头微片的路由信息,等待第i个自适应路由器的第二交叉开关仲裁单元的配置;直到所述微片所在的虚通道得到交叉开关授权时,所述微片通过交叉开关进行传输;
第i个自适应路由器的交叉开关将微片传输到路由通道上并到达第i+1个自适应路由器上,从而完成第二阶段流水,实现第i个自适应路由器对第i-1个自适应路由器发送的微片的存储和转发。
本发明所述的片上网络中基于虚拟输出队列机制的自适应路由器的特点也在于,
任意一个虚通道对应一个输出方向,且平分为两个存储空间,用于各自存放数据包;两个存储空间内分别设有一套读写指针;且两套读写指针不同时工作;
任意一个虚通道中的第i个数据包是按如下方式进行存取:
当所述虚通道中接收到第i个数据包的头微片时,判断所述虚通道中第i-1个数据包是否为存在,
若存在,则表示所述虚通道的一个存储空间被占用,则使能另一个存储空间的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,并完成第一阶段流水再进入第二阶段流水;在第二阶段流水中,使能第i-1个数据包微片的读指针有效,从而依次取出第i-1个数据包的所有微片;
仅当第i个数据包头微片的下游路由通道不拥塞,且第i-1个数据包头微片存在,同时第i-1个数据包头微片的下游路由通道拥塞时,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
若不存在,则使能队头的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,并完成第一阶段流水再进入第二阶段流水;在第二阶段流水中,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
仅当第i个数据包头微片的下游路由通道拥塞,且第i+1个数据包头微片已存入所述虚通道中,同时第i+1个数据包头微片的下游路由通道不拥塞时,使能第i+1个数据包头微片的读指针有效,从而依次取出第i+1个数据包的头微片、体微片和尾微片。
任意一个自适应路由器的端口选择模块包括:拥塞值寄存器、比较单元、合适端口寄存器;
所述拥塞值寄存器分别存储对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并发送给所述比较单元用于拥塞裁决;
所述比较单元根据所述设定的请求数目阈值和空闲虚通道数目阈值,判断对任一输出端口的请求数目是否超过请求数目阈值;若超过,则令对相应输出端口的请求数目裁决值为“1”,否则,为“0”;
同时,判断与任一输出端口相连的第i+1个自适应路由器空闲虚通道数目是否超过空闲虚通道数目阈值;若超过,令与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值为“1”,否则,为“0”;
仅当对相应输出端口的请求数目裁决值和与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值均为“0”时,表示相应输出端口不拥塞;否则,表示相应输出端口拥塞;
所述比较单元根据任意象限所包含的两个方向,判断相应两个方向上的输出端口的拥塞情况;
若两个方向上的输出端口中一个输出端口拥塞,而另一个输出端口不拥塞时,则选择不拥塞的输出端口为相应象限的输出端口;
若两个方向上的输出端口均拥塞时,则判断对相应两个输出端口各自的请求数目裁决值和与两个输出端口各自相连的第i+1个自适应路由器空闲虚通道数目裁决值是否仅存在一个为“0”;若是;则选取存在裁决值为“0”的输出端口为相应象限的输出端口;若不是,则选取空闲虚通道数目较大的端口为相应象限的输出端口;
若两个方向上的输出端口均不拥塞时;则判断对相应两个方向上的输出端口的请求数目是否相同,若不相同,则选取请求数目较小的输出端口作为相应象限的输出端口;若相同,则判断与相应两个方向上的输出端口各自相连的第i+1个自适应路由器空闲虚通道数目是否相同,若不相同,则选取空闲虚通道数目较大的输出端口作为相应象限的输出端口;否则,令X方向的输出端口为相应象限的输出端口;从而获得自适应路由器基于象限的较不拥塞输出端口并存入相应的合适端口寄存器中。
与已有技术相比,本发明效果体现在:
1、本发明分两个层级赋予使用VOQ机制的路由器自适应能力。在路由计算层级,通过使用头微片空闲位顺带传播,获取下一跳路由器各象限的合适端口选择信息,在前向路由计算阶段直接取用,为下一跳输出选择较不拥塞的端口,实现了自适应路由;在交叉开关仲裁层级,用下一跳路由器的虚通道占用状态和交叉开关请求状态以及下两跳路由器的输入缓冲区整体占用状态表征数据包下游路由通道的拥塞状况,其中非本地的拥塞信息同样使用头微片空闲位顺带传播,借助于双读写指针,在单虚通道内自适应地读取数据包,确保了下游路由通道不拥塞的流量能够在网络里流通。本发明保留了VOQ的特性,可以感知拥塞并缓解拥塞,降低了头阻塞发生的可能性,并在头阻塞出现时,能够消除头阻塞的影响,大幅提升了网络性能。
2、本发明设计了双读写指针的虚通道,每套读写指针作用于虚通道的一半存储空间,每一半存储空间只存取一个数据包,保证了每一半虚通道内不存在头阻塞问题。同一个虚通道内最多存有两个数据包,只要存有两个数据包,即比较各自数据包下游路由通道的拥塞程度,确保了下游不拥塞的数据包优先在网络里流通,在头阻塞出现时消除其影响。
3、本发明选用对输出端口的请求数目以及与输出端口相连的下游路由器空闲虚通道数目两个向量衡量路由器各输出端口的拥塞状况,相较于仅使用其中一个向量来衡量,更能表征端口的拥塞状况。此外,路由策略使用最短路径路由,候选输出方向固定在一个象限内,比较每个象限的两个候选输出端口的拥塞状况,选出较不拥塞的输出端口作为每个象限的合适输出端口,精简了端口拥塞状况信息,便于头微片的携带和传播。
4、本发明充分利用数据包头微片中的空闲位,若NoC的链路带宽较大,在头微片传输时将有部分位线未使用,当链路带宽常规时,将由后续数据微片携带原本存储在头微片中的物理存储地址信息,此时头微片中仍余有部分位线未使用,将信息注释在头微片的空闲位中,跟随头微片在网络里顺带传播,各路由器节点通过搜集头微片的AI块拓展视野,不需要搭建专门的传播网络,不带来额外的线路和微片的开销。
附图说明
图1是本发明中片上网络架构图;
图2是本发明中方向定义图;
图3是本发明中传统虚通道路由器微架构图;
图4是本发明中头阻塞示意图;
图5是本发明中基于虚拟输出队列的自适应路由器微架构图;
图6是本发明中自适应路由器的关键路径图;
图7是本发明中混合结构的双向FIFO示意图。
具体实施方式
片上网络是由若干个路由节点、若干个资源节点和若干条路由通道组成的二维网格结构,图1所示是拓扑规模为3*3的二维网格结构片上网络;
以片上网络任一顶点上的路由节点为原点O,如图2所示,与顶点上的路由节点相连通的两条路由通道分别为X轴和Y轴,建立坐标系OXY;并以X轴的正方向为E方向,以X轴的负方向为W方向,以Y轴的正方向为N方向,以Y轴的负方向为S方向;以与资源节点相连的方向为L方向;并将N方向和E方向之间的区域定义为第一象限;将N方向和W方向之间的区域定义为第二象限;将W方向和S方向之间的区域定义为第三象限;将S方向和E方向之间的区域定义为第四象限;
当任意两个路由节点进行通信时,定义发送数据包的资源节点为请求节点,接收数据包的资源节点为目的节点;且目的节点在所述坐标系OXY中的坐标位置为目的地址;并根据数据包沿着所经过的路由节点的顺序,定义所经过的任意一个路由节点均是以上一个路由节点为上游节点,以下一个路由节点为下游节点的当前路由节点;将当前路由节点记为第i个路由节点;则上游节点为第i-1个路由节点;下游节点为第i+1个路由节点;
路由节点使用虫孔交换和虚通道(Virtual Channel,VC)技术,输入缓冲区采用先进先出(First-In-First-Out,FIFO)的方式,每个虚通道为一个先进先出队列;传统虚通道路由器使用虫孔交换技术,其微架构如图3所示,该路由器包括东(E)、西(W)、南(S)、北(N)以及本地(L)五个基本输入输出端口、每个输入端口的缓冲区①分为4个虚通道、5*5的交叉开关②以及相应的控制逻辑(路由计算模块、虚通道分配模块、交叉开关仲裁模块)。
各个路由节点之间使用credit信号进行流量控制;credit信号包含第i+1个路由节点的输入缓冲区具体占用情况;具体占用情况包括空闲的虚通道数目、每个虚通道中的空闲槽数目;数据包是由头微片H、体微片B和尾微片T组成,并以微片为单位进行传输;头微片H中存储有目的地址和路由信息,本实施例中,令头微片H中还存储有注释信息(Annotated Information,AI);注释信息AI块包含当前路由节点端口选择信息、当前交叉开关请求状态信息、下游路由节点输入缓冲区整体占用状态信息;这些本地的拥塞信息跟随头微片在网络里顺带传播,各路由器节点通过搜集头微片的注释信息AI块获得非本地的拥塞信息,拓展视野。
网络中的头阻塞问题与路由器采用的FIFO结构以及虚通道的数目和深度有着密切联系。头阻塞如图4所示,虚通道路由器采用了非原子结构的FIFO,即单个FIFO内可以存放多个数据包,若排在队列头部的数据包请求的输出端口是热点,该数据包的微片被阻塞(如图4中的数据包1和3),排在其后的数据包都被动阻塞(如数据包2、4和5)。以图4的虚通道0为例,若数据包2与数据包1的输出端口不同,且数据包2的输出端口空闲,称这种情况下的头阻塞为第一类头阻塞;若数据包2与数据包1的输出端口相同,即该端口也是热点,且数据包2的下游路径不拥塞,称这种情况下的头阻塞为第二类头阻塞。
将任一路由节点设计为一种片上网络中基于虚拟输出队列机制的自适应路由器,用以处理网络中的头阻塞问题,自适应路由器微架构如图5所示,包括:五个输入端口、端口选择模块、值裁决模块、存储模块、前向路由计算(LookAhead Routing Computing,LARC)模块、头微片修改(Head Modification,HM)模块、交叉开关仲裁(Switch Arbiter,SA)模块、交叉开关和五个输出端口;存储模块中包含:当前交叉开关请求表、邻居路由器端口选择表、邻居交叉开关请求状态表、下两跳路由器输入缓冲区整体占用状态表;交叉开关仲裁模块包括第一交叉开关仲裁单元(SA1)和第二交叉开关仲裁单元(SA2);该自适应路由器使用前向路由策略,数据包到达路由器时已经知晓这一跳的输出端口信息,进而存放进对应该输出端口的虚通道中,在传统虚通道路由器的基础上省去了虚通道分配工作。
基于虚拟输出队列机制的自适应路由器的关键路径如图6所示,数据包到来时,由上游LARC结果写入对应虚通道中,完成buffer write(BW),称之为第一阶段流水;接下来的流水为第二阶段,LARC与HM以及两阶段的SA同时进行,LARC阶段在下一跳的候选输出方向中自适应地选择,确定下一跳的输出端口;HM阶段执行卸载和装载AI的工作,为确保HM在一个时钟周期内完成,在向AI中装载本地信息时,直接取用上个时钟周期更新的值,避免因等待而造成延时增加;SA1阶段在单VC里自适应地读取数据包,SA2阶段完成传统SA的配置交叉开关工作,SA1的逻辑部件与SA2完全独立,两者同时进行,不增加额外的流水;交叉开关配置成功后即进行交叉开关传输(ST),最后经由链路传输(LT),到达下游路由器,完成一次存储转发过程。
自适应路由器的任一输入端口按照E方向、W方向、N方向、S方向和L方向划分输入缓冲区空间,每个虚通道对应一个输出方向,从而形成虚拟输出队列;例如“虚通道E”表示该虚通道存放去往E输出端口的数据,“虚通道E”的数目可以是一个或者多个。该自适应路由器将这一跳输出端口不同的数据包分开存放,使用非原子结构FIFO时,完全阻止了第一类头阻塞的发生,极大地减轻了头阻塞的影响,但其仍然存在第二类头阻塞问题,需要在单虚通道内自适应地读取数据包,确保在第二类头阻塞发生时,消除其影响,即优先传输下游不拥塞的数据包。
为实现上述需求,本发明设计了混合结构的双向FIFO,其架构如图7所示,图中以存放去往E输出端口的数据的虚通道为例,其他虚通道的架构与之相同。任意一个虚通道对应一个输出方向,且平分为两个存储空间,用于各自存放数据包;两个存储空间内分别设有一套读写指针;且两套读写指针不同时工作;若VC深度取为6flits,则每套指针只作用于队头或队尾的3个连续buffer槽(slot),整个FIFO是非原子结构,允许存放两个数据包,头尾的各一半FIFO是原子结构,只允许存放一个数据包,该混合架构的双向FIFO,完全阻止了第一类头阻塞的发生,且相较于两个独立的3slot FIFO,没有增加VC数目,不需要改动虚通道仲裁逻辑,因而不增加仲裁模块的面积及开销。
任意一个虚通道中的第i个数据包是按如下方式进行存取:
当虚通道中接收到第i个数据包的头微片时,判断虚通道中第i-1个数据包是否为存在,
若存在,则表示虚通道的一个存储空间被占用,则使能另一个存储空间的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,完成第一阶段流水并进入第二阶段流水;在第二阶段流水中,使能第i-1个数据包微片的读指针有效,从而依次取出第i-1个数据包的所有微片;
仅当第i个数据包头微片的下游路由通道不拥塞,且第i-1个数据包头微片存在,同时第i-1个数据包头微片的下游路由通道拥塞时,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
若不存在,则使能队头的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,并完成第一阶段流水再进入第二阶段流水;在第二阶段流水中,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
仅当第i个数据包头微片的下游路由通道拥塞,且第i+1个数据包头微片已存入所述虚通道中,同时第i+1个数据包头微片的下游路由通道不拥塞时,使能第i+1个数据包头微片的读指针有效,从而依次取出第i+1个数据包的头微片、体微片和尾微片。
由图6可知,自适应路由器的端口选择和值裁决两个模块的工作不在关键路径上,即数据流水的时延不受上述两模块的影响,这两个模块独立地运作,需要时直接取用其结果。
第i个自适应路由器的端口选择模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并进行端口拥塞比较,获得第i个自适应路由器基于象限的端口选择信息后发送给自身的头微片修改模块;具体实现细节如下:
任意一个自适应路由器的端口选择模块包括:拥塞值寄存器、比较单元、合适端口寄存器;
本地的端口拥塞信息包括两部分:在当前路由器的交叉开关中请求从该输出端口输出的输入端口数目以及与该输出端口相连的下游路由器输入缓冲区剩余空间的大小,同时衡量这两个向量,可以精确地表征端口的拥塞程度。拥塞寄存器分别存储对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并发送给所述比较单元用于拥塞裁决;
比较单元根据所述设定的请求数目阈值和空闲虚通道数目阈值,判断对任一输出端口的请求数目是否超过请求数目阈值;若超过,则令对相应输出端口的请求数目裁决值为“1”,否则,为“0”;
同时,判断与任一输出端口相连的第i+1个自适应路由器空闲虚通道数目是否超过空闲虚通道数目阈值;若超过,令与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值为“1”,否则,为“0”;
仅当对相应输出端口的请求数目裁决值和与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值均为“0”时,表示相应输出端口不拥塞;否则,表示相应输出端口拥塞;
比较单元根据任意象限所包含的两个方向,判断相应两个方向上的输出端口的拥塞情况;
若两个方向上的输出端口中一个输出端口拥塞,而另一个输出端口不拥塞时,则选择不拥塞的输出端口为相应象限的输出端口;
若两个方向上的输出端口均拥塞时,则判断对相应两个输出端口各自的请求数目裁决值和与两个输出端口各自相连的第i+1个自适应路由器空闲虚通道数目裁决值是否仅存在一个为“0”;若是;则选取存在裁决值为“0”的输出端口为相应象限的输出端口;若不是,则选取空闲虚通道数目较大的输出端口为相应象限的输出端口;
若两个方向上的输出端口均不拥塞时;则判断对相应两个方向上的输出端口的请求数目是否相同,若不相同,则选取请求数目较小的输出端口作为相应象限的输出端口;若相同,则判断与相应两个方向上的输出端口各自相连的第i+1个自适应路由器空闲虚通道数目是否相同,若不相同,则选取空闲虚通道数目较大的输出端口作为相应象限的输出端口;否则,令X方向的输出端口为相应象限的输出端口;从而获得自适应路由器基于象限的较不拥塞输出端口并存入相应的合适端口寄存器中。当头微片到来时,在HM阶段,将4bit位的端口选择信息装载在AI中,跟随头微片传播一跳,到达邻居路由器,卸下并存储在邻居路由器端口选择表中。当前路由器知晓了周边路由器的端口选择信息,即知晓了下一跳从哪个候选端口输出会较不拥塞。
第i个自适应路由器的值裁决模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器输入缓冲区具体占用情况进行状态裁决,分别获得当前交叉开关请求状态,及第i+1个自适应路由器输入缓冲区整体占用状态,并发送给自身的头微片修改模块,当头微片到来时,在HM阶段,将上述信息装载到AI中,跟随头微片传播一跳,到达邻居路由器,卸下并分别存储在邻居路由器交叉开关请求状态表和下两跳路由器输入缓冲区占用状态表中,当前路由器知晓了下一跳路由器交叉开关请求的拥塞状况下两跳路由器输入端口的拥塞情况;从而获得第i+1个自适应路由器每个虚通道占用状态并发送给第一交叉开关仲裁单元;
基于虚拟输出队列机制的自适应路由器数据流水过程如下:
第一阶段流水:
当第i个自适应路由器接收到第i-1个自适应路由器发送的微片后,第i个自适应路由器的前向路由计算模块判断微片是否为头微片H,若为头微片H,则根据头微片H所携带的第i个自适应路由器的输出端口,将头微片H存入到第i个自适应路由器中相对应的虚通道中;若不为头微片H,则将微片存入自身头微片所在的虚通道中,从而完成第一阶段流水并进入第二阶段流水;
第二阶段流水:
微片所在的虚通道向第二交叉开关仲裁单元提出配置请求,第二交叉开关仲裁单元对当前交叉开关进行配置,若配置成功,则微片所在的虚通道得到交叉开关授权;若配置失败,则微片所在的虚通道继续等待配置;
当微片为头微片H时,第i个自适应路由器的前向路由计算模块根据头微片H所携带的目的地址获得目的节点位于第i+1个自适应路由器的象限;并根据象限查询邻居路由器端口选择表,搜索到下一跳路由器对应象限的表项,直接取用上个时钟周期更新的值,得到该象限较不拥塞的端口信息,获得头微片H在第i+1个自适应路由器的输出端口即路由信息并存入头微片H中,从而更新头微片H;至此,实现了数据包的自适应路由,从而均衡全网的流量分布,缓解网络的拥塞状态,降低头阻塞发生的可能性。
第i个自适应路由器的头微片修改模块卸载头微片H中的注释信息AI块并分别将邻居路由器端口选择信息存入自身的邻居路由器端口选择表中、将邻居交叉开关请求状态存入自身的邻居交叉开关请求状态表、将下两跳路由器输入缓冲区整体占用状态存入自身的下两跳路由器输入缓冲区整体占用状态表中;
第i个自适应路由器的头微片修改模块再将所接收到的当前自适应路由器基于象限的端口选择信息、当前交叉开关请求状态、第i+1个自适应路由器输入缓冲区整体占用状态装载到头微片H的注释信息AI块中;
第i个自适应路由器的第一交叉开关仲裁单元根据所接收到的第i+1个自适应路由器每个虚通道占用状态、邻居交叉开关请求状态、下两跳路由器输入缓冲区整体占用状态,衡量头微片所在的虚通道中所有头微片的下游路由通道的拥塞程度;当头微片所在的虚通道得到交叉开关授权时,头微片通过交叉开关进行传输;仅当网络中出现第二类头阻塞时,即头微片的下游路由通道拥塞,且排在头微片之后的头微片下游路由通道不拥塞时,同时,头微片所在的虚通道得到交叉开关授权时,排在头微片之后的头微片通过交叉开关进行传输;若先传输第一个数据包,将会加剧网络拥塞程度,导致第二类头阻塞仍然存在,而先传输第二个数据包,可以消除第二类头阻塞的影响。
当微片不为头微片H时,微片继承自身头微片的路由信息,等待第i个自适应路由器的第二交叉开关仲裁单元的配置;直到微片所在的虚通道得到交叉开关授权时,微片通过交叉开关进行传输;
第i个自适应路由器的交叉开关将微片传输到路由通道上并到达第i+1个自适应路由器,从而完成第二阶段流水,实现第i个自适应路由器对第i-1个自适应路由器发送的微片的存储和转发。
Claims (3)
1.一种片上网络中基于虚拟输出队列机制的自适应路由器,所述片上网络是由若干个路由节点、若干个资源节点和若干条路由通道组成的二维网格结构;
以所述片上网络任一顶点上的路由节点为原点O,与所述顶点上的路由节点相连通的两条路由通道分别为X轴和Y轴,建立坐标系OXY;并以X轴的正方向为E方向,以X轴的负方向为W方向,以Y轴的正方向为N方向,以Y轴的负方向为S方向;以与资源节点相连的方向为L方向;并将N方向和E方向之间的区域定义为第一象限;将N方向和W方向之间的区域定义为第二象限;将W方向和S方向之间的区域定义为第三象限;将S方向和E方向之间的区域定义为第四象限;
当任意两个路由节点进行通信时,定义发送数据包的资源节点为请求节点,接收所述数据包的资源节点为目的节点;且目的节点在所述坐标系OXY中的坐标位置为目的地址;并根据数据包沿着所经过的路由节点的顺序,定义所经过的任意一个路由节点均是以上一个路由节点为上游节点,以下一个路由节点为下游节点的当前路由节点;将所述当前路由节点记为第i个路由节点;则上游节点为第i-1个路由节点;下游节点为第i+1个路由节点;
所述路由节点使用虫孔交换和虚通道方法,输入缓冲区采用先进先出的方式,每个虚通道为一个先进先出队列;
各个路由节点之间使用credit信号进行流量控制;所述credit信号包含第i+1个路由节点的输入缓冲区具体占用情况;所述占用情况包括空闲的虚通道数目、每个虚通道中的空闲槽数目;
所述数据包是由头微片H、体微片B和尾微片T组成,并以微片为单位进行传输;所述头微片H中存储有目的地址和路由信息,其特征是,
令头微片H中还存储有注释信息AI块;所述注释信息AI块包含当前路由节点端口选择信息、当前交叉开关请求状态信息、下游路由节点输入缓冲区整体占用状态信息;
令所述任一路由节点为自适应路由器,所述自适应路由器包括:五个输入端口、端口选择模块、值裁决模块、存储模块、前向路由计算模块、头微片修改模块、交叉开关仲裁模块、交叉开关和五个输出端口;
所述任一输入端口按照E方向、W方向、N方向、S方向和L方向划分输入缓冲区空间,从而形成虚拟输出队列;
所述存储模块中包含:当前交叉开关请求表、邻居路由器端口选择表、邻居交叉开关请求状态表、下两跳路由器输入缓冲区整体占用状态表;
所述交叉开关仲裁模块包括第一交叉开关仲裁单元和第二交叉开关仲裁单元;
第i个自适应路由器的端口选择模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并进行端口拥塞比较,获得第i个自适应路由器基于象限的端口选择信息后发送给自身的头微片修改模块;
第i个自适应路由器的值裁决模块获取当前交叉开关请求表中所存储的对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器输入缓冲区具体占用情况进行状态裁决,分别获得当前交叉开关请求状态及第i+1个自适应路由器输入缓冲区整体占用状态,并发送给自身的头微片修改模块;获得第i+1个自适应路由器每个虚通道占用状态并发送给第一交叉开关仲裁单元;
第一阶段流水:
当第i个自适应路由器接收到第i-1个自适应路由器发送的微片后,第i个自适应路由器的前向路由计算模块判断所述微片是否为头微片H,若为头微片H,则根据头微片H所携带的第i个自适应路由器的输出端口,将所述头微片H存入到第i个自适应路由器中相对应的虚通道中;若不为头微片H,则将所述微片存入自身头微片所在的虚通道中,从而完成第一阶段流水并进入第二阶段流水;
第二阶段流水:
所述微片所在的虚通道向第二交叉开关仲裁单元提出配置请求,第二交叉开关仲裁单元对当前交叉开关进行配置,若配置成功,则微片所在的虚通道得到交叉开关授权;若配置失败,则微片所在的虚通道继续等待配置;
当所述微片为头微片H时,所述第i个自适应路由器的前向路由计算模块根据头微片H所携带的目的地址获得所述目的节点位于第i+1个自适应路由器的象限;并根据所述象限查询邻居路由器端口选择表,获得头微片H在第i+1个自适应路由器的输出端口即路由信息并存入所述头微片H中,从而更新头微片H;
第i个自适应路由器的头微片修改模块卸载头微片H中的注释信息AI块并分别将邻居路由器端口选择信息存入自身的邻居路由器端口选择表中、将邻居交叉开关请求状态存入自身的邻居交叉开关请求状态表、将下两跳路由器输入缓冲区整体占用状态存入自身的下两跳路由器输入缓冲区整体占用状态表中;
第i个自适应路由器的头微片修改模块再将所接收到的当前自适应路由器基于象限的端口选择信息、当前交叉开关请求状态、第i+1个自适应路由器输入缓冲区整体占用状态装载到头微片H的注释信息AI块中;
第i个自适应路由器的第一交叉开关仲裁单元根据所接收到的第i+1个自适应路由器每个虚通道占用状态、邻居交叉开关请求状态、下两跳路由器输入缓冲区整体占用状态,衡量头微片所在的虚通道中所有头微片的下游路由通道的拥塞程度;当头微片所在的虚通道得到交叉开关授权时,所述头微片通过交叉开关进行传输;仅当所述头微片的下游路由通道拥塞,且排在所述头微片之后的数据包下游路由通道不拥塞时,同时,头微片所在的虚通道得到交叉开关授权时,排在所述头微片之后的头微片通过交叉开关进行传输;
当所述微片不为头微片H时,所述微片继承自身头微片的路由信息,等待第i个自适应路由器的第二交叉开关仲裁单元的配置;直到所述微片所在的虚通道得到交叉开关授权时,所述微片通过交叉开关进行传输;
第i个自适应路由器的交叉开关将微片传输到路由通道上并到达第i+1个自适应路由器上,从而完成第二阶段流水,实现第i个自适应路由器对第i-1个自适应路由器发送的微片的存储和转发。
2.根据权利要求1所述的片上网络中基于虚拟输出队列机制的自适应路由器,其特征是,
任意一个虚通道对应一个输出方向,且平分为两个存储空间,用于各自存放数据包;两个存储空间内分别设有一套读写指针;且两套读写指针不同时工作;
任意一个虚通道中的第i个数据包是按如下方式进行存取:
当所述虚通道中接收到第i个数据包的头微片时,判断所述虚通道中第i-1个数据包是否为存在,
若存在,则表示所述虚通道的一个存储空间被占用,则使能另一个存储空间的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,并完成第一阶段流水再进入第二阶段流水;在第二阶段流水中,使能第i-1个数据包微片的读指针有效,从而依次取出第i-1个数据包的所有微片;
仅当第i个数据包头微片的下游路由通道不拥塞,且第i-1个数据包头微片存在,同时第i-1个数据包头微片的下游路由通道拥塞时,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
若不存在,则使能队头的写指针有效,从而写入第i个数据包的头微片;第i个数据包的头微片完成第一阶段流水并进入第二阶段流水时,第i个数据包的体微片和尾微片依次写入,并完成第一阶段流水再进入第二阶段流水;在第二阶段流水中,使能第i个数据包头微片的读指针有效,从而依次取出第i个数据包的头微片、体微片和尾微片;
仅当第i个数据包头微片的下游路由通道拥塞,且第i+1个数据包头微片已存入所述虚通道中,同时第i+1个数据包头微片的下游路由通道不拥塞时,使能第i+1个数据包头微片的读指针有效,从而依次取出第i+1个数据包的头微片、体微片和尾微片。
3.根据权利要求1所述的片上网络中基于虚拟输出队列机制的自适应路由器,其特征是,任意一个自适应路由器的端口选择模块包括:拥塞值寄存器、比较单元、合适端口寄存器;
所述拥塞值寄存器分别存储对五个输出端口各自的请求数目以及下游反馈的credit信号中第i+1个自适应路由器空闲虚通道数目并发送给所述比较单元用于拥塞裁决;
所述比较单元根据设定的请求数目阈值和空闲虚通道数目阈值,判断对任一输出端口的请求数目是否超过请求数目阈值;若超过,则令对相应输出端口的请求数目裁决值为“1”,否则,为“0”;
同时,判断与任一输出端口相连的第i+1个自适应路由器空闲虚通道数目是否超过空闲虚通道数目阈值;若超过,令与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值为“1”,否则,为“0”;
仅当对相应输出端口的请求数目裁决值和与相应输出端口相连的第i+1个自适应路由器空闲虚通道数目裁决值均为“0”时,表示相应输出端口不拥塞;否则,表示相应输出端口拥塞;
所述比较单元根据任意象限所包含的两个方向,判断相应两个方向上的输出端口的拥塞情况;
若两个方向上的输出端口中一个输出端口拥塞,而另一个输出端口不拥塞时,则选择不拥塞的输出端口为相应象限的输出端口;
若两个方向上的输出端口均拥塞时,则判断对相应两个输出端口各自的请求数目裁决值和与两个输出端口各自相连的第i+1个自适应路由器空闲虚通道数目裁决值是否仅存在一个为“0”;若是;则选取存在裁决值为“0”的输出端口为相应象限的输出端口;若不是,则选取空闲虚通道数目较大的端口为相应象限的输出端口;
若两个方向上的输出端口均不拥塞时;则判断对相应两个方向上的输出端口的请求数目是否相同,若不相同,则选取请求数目较小的输出端口作为相应象限的输出端口;若相同,则判断与相应两个方向上的输出端口各自相连的第i+1个自适应路由器空闲虚通道数目是否相同,若不相同,则选取空闲虚通道数目较大的输出端口作为相应象限的输出端口;否则,令X方向的输出端口为相应象限的输出端口;从而获得自适应路由器基于象限的较不拥塞输出端口并存入相应的合适端口寄存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610184996.5A CN105871742B (zh) | 2016-03-24 | 2016-03-24 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610184996.5A CN105871742B (zh) | 2016-03-24 | 2016-03-24 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871742A CN105871742A (zh) | 2016-08-17 |
CN105871742B true CN105871742B (zh) | 2018-12-21 |
Family
ID=56626200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610184996.5A Expired - Fee Related CN105871742B (zh) | 2016-03-24 | 2016-03-24 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871742B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302163B (zh) * | 2016-09-30 | 2019-05-10 | 南京航空航天大学 | 一种具有多种工作模式的片上网络路由器及路由方法 |
CN107979544A (zh) * | 2016-10-25 | 2018-05-01 | 华为技术有限公司 | 一种ip报文的转发方法、设备和*** |
CN106453109A (zh) * | 2016-10-28 | 2017-02-22 | 南通大学 | 一种片上网络通信方法及路由器 |
CN106603420B (zh) * | 2016-11-22 | 2019-07-12 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
CN106792831B (zh) * | 2017-01-25 | 2019-08-30 | 合肥工业大学 | 无线节点级和无线链路级的拥塞避免模块及其方法 |
CN107046500B (zh) * | 2017-05-19 | 2019-08-30 | 合肥工业大学 | 一种应用于层次化片上网络的两级拆分路由器及其路由算法 |
CN109716719B (zh) * | 2017-06-23 | 2021-02-05 | 华为技术有限公司 | 数据处理方法及装置、交换设备 |
CN109873771B (zh) * | 2019-01-21 | 2022-04-12 | 佛山市顺德区中山大学研究院 | 一种片上网络***及其通信方法 |
CN111865831B (zh) * | 2019-04-30 | 2022-05-13 | 华为技术有限公司 | 数据处理的方法、网络设备、计算节点和*** |
CN110620731B (zh) * | 2019-09-12 | 2021-03-23 | 中山大学 | 一种片上网络的路由装置及路由方法 |
CN111223532B (zh) * | 2019-11-14 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 确定目标化合物的反应物的方法、设备、装置、介质 |
CN110855567A (zh) * | 2019-11-20 | 2020-02-28 | 石门依云电子商务有限公司 | 一种环形缓冲自适应片上网络路由器 |
CN113783655A (zh) * | 2020-06-10 | 2021-12-10 | 中兴通讯股份有限公司 | 数据的传输方法及装置、电路板、存储介质、电子装置 |
CN112905520B (zh) * | 2021-02-05 | 2022-08-12 | 中国电子科技集团公司第五十八研究所 | 用于互联裸芯的数据传输事件 |
CN113014497B (zh) * | 2021-02-05 | 2022-08-09 | 西安交通大学 | 用于通道均衡传输的路由节点 |
CN113162906B (zh) * | 2021-02-26 | 2023-04-07 | 西安微电子技术研究所 | 一种NoC传输方法 |
CN113114593B (zh) * | 2021-04-12 | 2022-03-15 | 合肥工业大学 | 一种片上网络中双信道路由器及其路由方法 |
CN113490293B (zh) * | 2021-06-13 | 2022-04-12 | 复旦大学 | 一种双层自适应重配置环簇片上网络硬件结构 |
CN114745345B (zh) * | 2022-04-07 | 2023-10-20 | 中国人民解放军国防科技大学 | 一种片上网络动态调节背压的高效路由方法及装置 |
CN114844827B (zh) * | 2022-05-05 | 2023-03-28 | 浙江大学 | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 |
CN115550235B (zh) * | 2022-06-22 | 2024-02-09 | 南京大学 | 面向神经网络平台的单周期路由器 |
CN115550293B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种fsi主控制器及其端口路由装置和方法 |
CN117221212B (zh) * | 2023-09-01 | 2024-04-09 | 北京邮电大学 | 片上光网络低拥塞路由方法及相关设备 |
CN117156006B (zh) * | 2023-11-01 | 2024-02-13 | 中电科申泰信息科技有限公司 | 一种片上网络的数据路由控制架构 |
CN117215520B (zh) * | 2023-11-08 | 2024-02-13 | 中电科申泰信息科技有限公司 | 一种基于双端口fifo的交叉开关广播路由结构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383712A (zh) * | 2008-10-16 | 2009-03-11 | 电子科技大学 | 一种片上网络的路由节点微结构 |
CN101488922A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 具备自适应路由能力的片上网络路由器及其实现方法 |
CN102387077A (zh) * | 2011-10-19 | 2012-03-21 | 西安电子科技大学 | 具有容错功能的热量均衡片上网络路径选择方法 |
US8391281B2 (en) * | 2010-03-31 | 2013-03-05 | Toshiba America Research, Inc. | Router design for 3D network-on-chip |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
CN104022950A (zh) * | 2014-06-10 | 2014-09-03 | 复旦大学 | 一种可共享和自配置缓存的路由器结构 |
US9185026B2 (en) * | 2012-12-21 | 2015-11-10 | Netspeed Systems | Tagging and synchronization for fairness in NOC interconnects |
-
2016
- 2016-03-24 CN CN201610184996.5A patent/CN105871742B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383712A (zh) * | 2008-10-16 | 2009-03-11 | 电子科技大学 | 一种片上网络的路由节点微结构 |
CN101488922A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 具备自适应路由能力的片上网络路由器及其实现方法 |
US8391281B2 (en) * | 2010-03-31 | 2013-03-05 | Toshiba America Research, Inc. | Router design for 3D network-on-chip |
CN102387077A (zh) * | 2011-10-19 | 2012-03-21 | 西安电子科技大学 | 具有容错功能的热量均衡片上网络路径选择方法 |
US9185026B2 (en) * | 2012-12-21 | 2015-11-10 | Netspeed Systems | Tagging and synchronization for fairness in NOC interconnects |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
CN104022950A (zh) * | 2014-06-10 | 2014-09-03 | 复旦大学 | 一种可共享和自配置缓存的路由器结构 |
Also Published As
Publication number | Publication date |
---|---|
CN105871742A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871742B (zh) | 一种片上网络中基于虚拟输出队列机制的自适应路由器 | |
US7433363B2 (en) | Low latency switch architecture for high-performance packet-switched networks | |
US9742630B2 (en) | Configurable router for a network on chip (NoC) | |
US9473388B2 (en) | Supporting multicast in NOC interconnect | |
EP1552399B1 (en) | Integrated circuit and method for establishing transactions | |
US8699491B2 (en) | Network element with shared buffers | |
US10749811B2 (en) | Interface virtualization and fast path for Network on Chip | |
US11799799B2 (en) | Use of stashing buffers to improve the efficiency of crossbar switches | |
CN102546417B (zh) | 基于网络信息的片上网络路由器调度方法 | |
US9185026B2 (en) | Tagging and synchronization for fairness in NOC interconnects | |
US10298485B2 (en) | Systems and methods for NoC construction | |
Shrivastava et al. | Design and performance evaluation of a NoC-based router architecture for MPSoC | |
Chang et al. | ACO-based cascaded adaptive routing for traffic balancing in NoC systems | |
Umoh et al. | BANM: A Distributed Network Manager Framework for Software Defined Network-On-Chip (SDNoC) | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
Lin et al. | Power and latency efficient mechanism: a seamless bridge between buffered and bufferless routing in on-chip network | |
Salah et al. | Design of a 2d mesh-torus router for network on chip | |
Wu et al. | Dynamic channel flow control of networks-on-chip systems for high buffer efficiency | |
Zhang et al. | An area-efficient DAMQ buffer with congestion control support | |
Valuskar et al. | Analysis of Mesh Topology of NoC for Blocking and Non-blocking Techniques | |
Malviya et al. | Five port router for network on chip | |
Sukhtankar et al. | A novel switch architecture for high-performance computing and signal processing networks | |
Kayarkar et al. | Router architecture for the interconnection network: A review | |
Singh | Performance evaluation of different routing algorithms in network on chip | |
Jalil et al. | Routing Algorithms, Process Model for Quality of Services (QoS) and Architectures for Two-Dimensional 4× 4 Mesh Topology Network-on-Chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181221 |