CN113114593A - 一种片上网络中双信道路由器及其路由方法 - Google Patents
一种片上网络中双信道路由器及其路由方法 Download PDFInfo
- Publication number
- CN113114593A CN113114593A CN202110390693.XA CN202110390693A CN113114593A CN 113114593 A CN113114593 A CN 113114593A CN 202110390693 A CN202110390693 A CN 202110390693A CN 113114593 A CN113114593 A CN 113114593A
- Authority
- CN
- China
- Prior art keywords
- channel
- packet
- router
- input port
- downstream
- 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
Images
Classifications
-
- 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/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1546—Non-blocking multistage, e.g. Clos using pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种片上网络中双信道路由器及其路由方法,该路由器是在东南西北四个方向上额外增加额外的输入和输出信道,以增加分组转发效率;移除虚通道分配模块,降低路由器实现开销和设计复杂性;增加前向路由和低负载旁路,以降低流水线的阶段数;采用级联交叉开关设计,以缓解分组间的资源竞争问题。本发明使用较低的面积和功耗开销,高效地缩短了流水线阶段的数量并缓解了分组间的资源争用,降低了平均分组延迟,提高了路由器的最高时钟频率和网络吞吐量,大大提高了网络的性能。
Description
技术领域
本发明属于集成电路芯片设计的应用技术领域,特别是一种可用于2D Mesh片上网络中的具有双输入和双输出信道的路由器及其路由方法。
背景技术
20世纪50年代以来,随着半导体工艺和集成电路技术的快速发展,片上系统(System-on-Chip,SoC)的集成度越来越高,单个芯片上往往可以集成数百个诸如微处理器、存储器、I/O接口的知识产权核(Intellectual Property Cores,IP核)。例如Intel和AMD已将商用芯片的核数提升到64核的规模。随着系统性能需求越来越高,IP核之间的互连架构必须能够提供具有较低延迟和高吞吐量的服务,并且具有良好的可扩展性。片上网络(Network-on-Chip,NoC)是SoC的一种新的通信方法。它是多核技术的主要组成部分。NoC借鉴了分布式计算系统的通讯方式,采用数据路由和分组交换技术替代传统的总线结构,从体系结构上解决了SoC总线结构由于地址空间有限导致的可扩展性差,分时通讯引起的通讯效率低下,以及全局时钟同步引起的功耗和面积等问题。NoC主要由用于转发分组的路由器、负责连接路由器与IP核的网络接口、路由器与路由器之间的控制和数据信号线三部分组成。
延迟和吞吐量是衡量片上网络性能的主要指标,然而,传统虚通道(VirtualChannel,VC)路由器通常具有五级流水线,分别为写缓冲区(Buffer Write,BW)、路由计算(Route Computation,RC)、虚通道分配(Virtual-channel Allocation,VA)、交叉开关分配(Switch Allocation,SA)以及交叉开关遍历(Switch Traversal,ST)。由于分组在一个路由器中必须经过所有的流水线阶段,因此具有较深流水线的传统VC路由器难以在低负载网络下实现低延迟的片上通信。同时,由于传统VC路由器中可用的带宽和信道数量较少,在高负载网络下,多个分组之间容易出现严重的竞争问题。竞争失败的分组必须等待直到其他的分组释放了占用的资源,因此,分组也面临着较高的等待延迟问题。另外,当前有研究表明,现有的若干优化流水线和提高路由器带宽的设计技术明显增加了片上路由器的设计复杂性和实现开销,从而使得互连网络占芯片整体面积和功率预算的比重也越来越高。
现有VC路由器在设计上难以实现性能和开销之间的平衡,通常为了实现更高的性能而引入复杂的设计,从而增加面积和功耗开销。一般在路由器架构设计中通过提前和并行执行某些流水线阶段来减少流水线阶段的数量,以在低负载网络下降低延迟。例如,已有并行执行VA和SA阶段的路由器设计,该设计允许当前分组在未获得VC资源时,推测性地进入SA阶段。然而,只有在两个阶段的仲裁中都获胜的分组才可以进入ST阶段,否则当前分组必须在下一个周期中重新执行这两个阶段,因此该设计仅在低负载网络中可以实现较低的延迟,较高的网络负载会大大降低分组仲裁获胜的概率,不仅无法减少流水线阶段,还白白浪费了能量。也有提出快速虚拟信道(Express virtual channels,EVCs)的路由器架构设计,通过允许分组跳过流水线中的仲裁从而旁路掉整个流水线,以此实现更低的延迟和更高的吞吐量,但是该设计仅能旁路掉传输路径中最多四分之三的路由器流水线,另外,该设计需靠对旁路节点和源、汇节点进行不同的设计,因此引入了更高的开销和设计复杂性。还有支持动态信道方向的双向路由器架构设计,该设计将原本单向的输入和输出信道都替换为双向信道,通过其信道方向控制(Channel direction control,CDC)协议动态调整信道方向以增加路由器之间的带宽,从而提高整个网络的吞吐量,但是该设计引入了更大尺寸的交叉开关和更复杂的交叉开关分配模块,消耗了更多的面积和能量。以上已有设计共同存在以下问题:一是虚通道分配作为流水线的关键延迟阶段,受该阶段的复杂性影响,路由器难以提升其最高时钟频率,从而限制了整个网络的性能提升;二是对性能的改善需要增加更加复杂的仲裁逻辑或更大尺寸的交叉开关,以路由器的面积和功耗开销和设计复杂性为代价;三是路由器中的多个分组之间对相同资源的竞争问题无法被有效地缓解,划分分组或链路方向优先级的方式需要额外的控制策略或协议,低效率的控制策略或协议不足以明显改善性能。
发明内容
本发明是为了避免上述现有技术中所存在的不足之处,提供一种片上网络中双信道路由器及其路由方法,以期能使用较低的面积和功耗开销,高效地缩短流水线阶段的数量并缓解分组间的资源争用,从而降低平均分组延迟,提高路由器的最高时钟频率和网络吞吐量,以及网络的性能。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种片上网络中双信道路由器的特点是包括:东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道;
当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,输入端口虚通道使未处理的分组进入路由计算阶段,由前向路由计算单元计算获得在当前和下游双信道路由器中分别需要请求的输出端口和分组路径类型;同时,前向路由计算单元在东南西北四个方向上接收从邻居双信道路由器发来的前向路由信号,并检测对应输入端口虚通道是否空闲,若是,则前向路由计算单元计算即将到达的分组在下游双信道路由器中需要请求的输出端口和分组路径类型,同时向所述交叉开关分配器请求交叉开关分配;否则,输入端口将即将到达的分组缓存至输入端口虚通道;其中,所述未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
当前输入端口虚通道为空,且所述交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,所述交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
当分组路径类型为直行且外部输出信道未被其他分组占用时,所述输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,所述交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
当分组路径类型为非直行或外部输出信道被其他分组占用时,所述前向路由计算单元向交叉开关分配器发送请求信号;
所述交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
所述输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
当前双信道路由器在转发完毕完整的分组后释放所占据的资源,从而完成分组传输。
本发明所述的片上网络中双信道路由器的特点也在于:
每个输入端口中均包含一个2比特的空标识信号,用于表示对应的虚通道是否为空;所述空标识信号同时作为输入端口中的仲裁单元和控制单元的输入信号。
每个输入端口中均包含一个基本输入信道和一个外部输入信道,每种输入信道均包含一个虚通道、一条旁路链路、一个多路解复用器和一个多路复用器;
在相应的空标识信号为1时,在级联交叉开关分配仲裁中获胜的分组在一个时钟周期内通过旁路链路和级联交叉开关直接转发到下游双信道路由器。
所述级联交叉开关由四个2×2交叉开关和一个5×5交叉开关构成,其中四个2×2交叉开关分别位于东南西北输入端口中;四个2×2交叉开关的下输出端口和注入信道分别与5×5交叉开关的五个输入端口相连,上输出端口分别与双信道路由器的外部输出信道相连;5×5交叉开关的五个输出端口分别与双信道路由器的基本输出信道和弹出信道相连。
所述输入端口包含仲裁单元和控制单元;
所述仲裁单元由两个多路复用器和两个2选1仲裁器组成,用于对来自路由计算单元和虚通道中的请求信号进行仲裁,其中,空标识信号作为多路复用器的选择信号,优先选择来自任一虚通道中的请求信号,并将仲裁结果发往所述控制单元中。
所述控制单元的输入信号包括:空标识信号和来自仲裁单元的仲裁结果;
所述控制单元的输出信号包括:发往多路复用器、多路解复用器和2×2交叉开关的选择控制信号和发往交叉开关分配器的请求信号;
所述控制单元将仲裁结果保存在自身的仲裁结果寄存器中并为分组传输配置数据路径,同时为需要通过5×5交叉开关的分组生成开关请求信号。
本发明一种片上网络中双信道路由方法的特点是应用于由东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道所组成的双信道路由器中,并按如下步骤进行:
步骤1:当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,同时,输入端口虚通道检测是否存在未处理的分组,若是,则执行步骤2;否则,执行步骤3;其中,所述未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
步骤2:分组进入路由计算阶段,并由前向路由计算单元计算获得在当前和下游双信道路由器中分别需要请求的输出端口和分组路径类型,并执行步骤4;
步骤3:前向路由计算单元检测在东南西北四个方向上是否接收到从邻居双信道路由器发来的前向路由信号;若是,则执行步骤4;否则,输入端口将即将到达的分组缓存至虚通道,并返回步骤1顺序执行;
步骤4:前向路由计算单元根据接收到的前向路由信号判断即将到达的分组的路径类型,并根据分组在当前双信道路由器中的输出端口计算在下游双信道路由器中需要请求的输出端口,同时向所述交叉开关分配器请求交叉开关分配;
步骤5:当前输入端口虚通道为空,且所述交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,所述交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
步骤6:判断是否分组路径类型为直行且外部输出信道未被其他分组占用,若是,则执行步骤7;否则,所述前向路由计算单元向交叉开关分配器发送请求信号,并执行步骤8;
步骤7:所述输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,所述交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤8:所述交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤9:所述输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
步骤10:当前双信道路由器判断是否转发完毕完整的分组,若是,则结束流程;否则返回步骤8顺序执行。
与现有技术相比,本发明的有益效果在于:
1、本发明消除了虚通道分配阶段对路由器频率的负面影响,将虚通道分配过程作为路由计算阶段的一部分,缩短了流水线阶段的数量,提高了路由器的最高时钟频率和网络整体性能。
2、本发明不引入复杂的仲裁逻辑或更大尺寸的交叉开关,节约了虚通道分配模块的面积和功耗开销,降低了路由器的面积和功耗开销以及设计复杂性。
3、本发明缓解了分组间的资源争用,级联交叉开关为不同类型(直行、转弯、注入、弹出)的分组选择不同的输出信道,大大降低了分组间争用的概率和由于争用失败而增加的分组延迟。
附图说明
图1是本发明中路由器总体框架示意图;
图2是本发明中输入端口内部逻辑结构示意图。
具体实施方式
本实施例中的一种片上网络中双信道路由器,包括:东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道;
当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,输入端口虚通道使未处理的分组进入路由计算阶段,由前向路由计算单元计算获得在当前和下游双信道路由器中分别需要请求的输出端口和分组路径类型;同时,前向路由计算单元在东南西北四个方向上接收从邻居双信道路由器发来的前向路由信号,并检测对应输入端口虚通道是否空闲,若是,则前向路由计算单元计算即将到达的分组在下游双信道路由器中需要请求的输出端口和分组路径类型,同时向交叉开关分配器请求交叉开关分配;否则,输入端口将即将到达的分组缓存至输入端口虚通道;其中,未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
当前输入端口虚通道为空,且交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
当分组路径类型为直行且外部输出信道未被其他分组占用时,输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
当分组路径类型为非直行或外部输出信道被其他分组占用时,前向路由计算单元向交叉开关分配器发送请求信号;
交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
当前双信道路由器在转发完毕完整的分组后释放所占据的资源,从而完成分组传输。
具体实施中,每个输入端口中均包含一个2比特的空标识信号,用于表示对应的虚通道是否为空;空标识信号同时作为输入端口中的仲裁单元和控制单元的输入信号。
具体实施中,每个输入端口中均包含一个基本输入信道和一个外部输入信道,每种输入信道均包含一个虚通道、一条旁路链路、一个多路解复用器和一个多路复用器;双输入输出信道设计有助于提高分组转发效率;
在相应的空标识信号为1时,在级联交叉开关分配仲裁中获胜的分组在一个时钟周期内通过旁路链路和级联交叉开关直接转发到下游双信道路由器,避免了先将分组缓存至虚通道中,再从虚通道中读出的过程,降低了分组延迟和能量开销。
具体实施中,级联交叉开关由四个2×2交叉开关和一个5×5交叉开关构成,其中四个2×2交叉开关分别位于东南西北输入端口中;四个2×2交叉开关的下输出端口和注入信道分别与5×5交叉开关的五个输入端口相连,上输出端口分别与双信道路由器的外部输出信道相连,采用级联交叉开关设计可以缓解分组间的资源竞争问题;5×5交叉开关的五个输出端口分别与双信道路由器的基本输出信道和弹出信道相连。
具体实施中,输入端口包含仲裁单元和控制单元;
仲裁单元由两个多路复用器和两个2选1仲裁器组成,用于对来自前向路由计算单元和虚通道中的请求信号进行仲裁,其中,空标识信号作为多路复用器的选择信号,优先选择来自任一虚通道中的请求信号,仲裁单元将仲裁结果发往控制单元。
具体实施中,控制单元的输入信号包括:空标识信号和来自仲裁单元的仲裁结果;
控制单元的输出信号包括:发往多路复用器、多路解复用器和2×2交叉开关的选择控制信号和发往交叉开关分配器的请求信号;
控制单元将仲裁结果保存在自身的仲裁结果寄存器中并为分组传输配置数据路径,同时为需要通过5×5交叉开关的分组生成开关请求信号。
本实施例中,一种片上网络中双信道路由方法是应用于由东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道所组成的双信道路由器中,并按如下步骤进行:
步骤1:当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,同时,输入端口虚通道检测是否存在未处理的缓冲分组,若是,则执行步骤2;否则,执行步骤3;其中,未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
步骤2:未处理的分组进入路由计算阶段,并由前向路由计算单元根据编码在分组中的目的地址和当前双信道路由器坐标计算获得在当前双信道路由器中需要请求的输出端口和分组路径类型,分组路径类型包括直行、转弯、注入和弹出四种,并执行步骤4;
步骤3:前向路由计算单元检测在东南西北四个方向上是否接收到从邻居双信道路由器发来的前向路由信号;若是,则执行步骤4;否则,输入端口将即将到达的分组缓存至虚通道,并返回步骤1顺序执行;其中,前向路由信号包含分组需要请求的输出端口和分组的目的地址;
步骤4:前向路由计算单元根据接收到的前向路由信号判断即将到达的分组的路径类型,并根据分组在当前双信道路由器中的输出端口计算在下游双信道路由器中需要请求的输出端口,同时向交叉开关分配器请求交叉开关分配;
步骤5:当前输入端口虚通道为空,且交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组直接通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,避免了先将分组缓存至虚通道中,再从虚通道中读出的过程,交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
步骤6:判断是否分组路径类型为直行且外部输出信道未被其他分组占用,若是,则执行步骤7;否则,前向路由计算单元向交叉开关分配器发送请求信号,并执行步骤8;
步骤7:输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤8:交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤9:输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
步骤10:当前双信道路由器判断是否转发完毕完整的分组,若是,则结束流程;否则返回步骤8顺序执行。
如图1所示为本发明双信道路由器总体框架示意图,除基本输入信道和基本输出信道外,在双信道路由器的东南西北四个方向上添加了额外的外部输入信道和外部输出信道。前向路由计算单元接收来自邻居双信道路由器的前向路由信号。交叉开关分配器将在仲裁过程中获胜分组的前向路由信息发往邻居双信道路由器。输入端口中的每个虚通道都添加了一条旁路链路。级联交叉开关由四个2×2交叉开关和一个5×5交叉开关构成,其中四个2×2交叉开关分别位于东南西北输入端口中,5×5交叉开关的仲裁和分配过程由交叉开关分配器控制,2×2交叉开关的仲裁和分配过程由输入端口中的仲裁单元和控制单元完成。四个外部输出信道通过输出端口寄存器分别与四个2×2交叉开关的上输出端口相连,四个基本输出信道通过输出端口寄存器与5×5交叉开关相连。本地处理单元通过注入信道和弹出信道与5×5交叉开关相连。
如图2所示是本发明中输入端口逻辑结构示意图,其中包含一个外部输入信道和一个基本输入信道,每种输入信道分别与一个虚通道和一个旁路链路通过解复用器相连,末端通过复用器与2×2交叉开关的输入端相连;前向路由计算单元接收来自邻居双信道路由器的前向路由信号并为虚通道中未处理的分组进行路由计算,并生成发往仲裁单元的请求信号;仲裁单元由两个多路复用器和两个2选1仲裁器构成,其中空标识信号作为多路复用器的选择信号,优先选择来自任一虚通道中的请求信号,仲裁单元根据分组路径类型和输出信道空闲状态生成仲裁结果并发往控制单元;控制单元将仲裁结果保存在自身的仲裁结果寄存器中,并生成选通数据路径上的解复用器、复用器和2×2交叉开关的控制信号。
Claims (7)
1.一种片上网络中双信道路由器,其特征是包括:东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道;
当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,输入端口虚通道使未处理的分组进入路由计算阶段,由前向路由计算单元计算获得在当前和下游双信道路由器中分别需要请求的输出端口和分组路径类型;同时,前向路由计算单元在东南西北四个方向上接收从邻居双信道路由器发来的前向路由信号,并检测对应输入端口虚通道是否空闲,若是,则前向路由计算单元计算即将到达的分组在下游双信道路由器中需要请求的输出端口和分组路径类型,同时向所述交叉开关分配器请求交叉开关分配;否则,输入端口将即将到达的分组缓存至输入端口虚通道;其中,所述未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
当前输入端口虚通道为空,且所述交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,所述交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
当分组路径类型为直行且外部输出信道未被其他分组占用时,所述输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,所述交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
当分组路径类型为非直行或外部输出信道被其他分组占用时,所述前向路由计算单元向交叉开关分配器发送请求信号;
所述交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
所述输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
当前双信道路由器在转发完毕完整的分组后释放所占据的资源,从而完成分组传输。
2.根据权利要求1所述的片上网络中双信道路由器,其特征是:
每个输入端口中均包含一个2比特的空标识信号,用于表示对应的虚通道是否为空;所述空标识信号同时作为输入端口中的仲裁单元和控制单元的输入信号。
3.根据权利要求2所述的片上网络中双信道路由器,其特征是:
每个输入端口中均包含一个基本输入信道和一个外部输入信道,每种输入信道均包含一个虚通道、一条旁路链路、一个多路解复用器和一个多路复用器;
在相应的空标识信号为1时,在级联交叉开关分配仲裁中获胜的分组在一个时钟周期内通过旁路链路和级联交叉开关直接转发到下游双信道路由器。
4.根据权利要求1所述的片上网络中双信道路由器,其特征是:
所述级联交叉开关由四个2×2交叉开关和一个5×5交叉开关构成,其中四个2×2交叉开关分别位于东南西北输入端口中;四个2×2交叉开关的下输出端口和注入信道分别与5×5交叉开关的五个输入端口相连,上输出端口分别与双信道路由器的外部输出信道相连;5×5交叉开关的五个输出端口分别与双信道路由器的基本输出信道和弹出信道相连。
5.根据权利要求2所述的片上网络中双信道路由器,其特征是:
所述输入端口包含仲裁单元和控制单元;
所述仲裁单元由两个多路复用器和两个2选1仲裁器组成,用于对来自路由计算单元和虚通道中的请求信号进行仲裁,其中,空标识信号作为多路复用器的选择信号,优先选择来自任一虚通道中的请求信号,并将仲裁结果发往所述控制单元中。
6.根据权利要求5所述的片上网络中双信道路由器,其特征是:
所述控制单元的输入信号包括:空标识信号和来自仲裁单元的仲裁结果;
所述控制单元的输出信号包括:发往多路复用器、多路解复用器和2×2交叉开关的选择控制信号和发往交叉开关分配器的请求信号;
所述控制单元将仲裁结果保存在自身的仲裁结果寄存器中并为分组传输配置数据路径,同时为需要通过5×5交叉开关的分组生成开关请求信号。
7.一种片上网络中双信道路由方法,其特征是应用于由东南西北四个方向上的外部输入信道和外部输出信道、四个方向上的基本输入信道和基本输出信道、前向路由计算单元、级联交叉开关、交叉开关分配器、输入端口、输出端口、输入端口寄存器、输出端口寄存器、输入端口虚通道、连接本地处理单元的注入信道和弹出信道所组成的双信道路由器中,并按如下步骤进行:
步骤1:当前双信道路由器中注入信道接收来自本地处理单元的分组并将分组缓存到对应输入端口虚通道,同时,输入端口虚通道检测是否存在未处理的分组,若是,则执行步骤2;否则,执行步骤3;其中,所述未处理的分组是指位于输入端口虚通道头部且未执行流水线阶段的分组;
步骤2:分组进入路由计算阶段,并由前向路由计算单元计算获得在当前和下游双信道路由器中分别需要请求的输出端口和分组路径类型,并执行步骤4;
步骤3:前向路由计算单元检测在东南西北四个方向上是否接收到从邻居双信道路由器发来的前向路由信号;若是,则执行步骤4;否则,输入端口将即将到达的分组缓存至虚通道,并返回步骤1顺序执行;
步骤4:前向路由计算单元根据接收到的前向路由信号判断即将到达的分组的路径类型,并根据分组在当前双信道路由器中的输出端口计算在下游双信道路由器中需要请求的输出端口,同时向所述交叉开关分配器请求交叉开关分配;
步骤5:当前输入端口虚通道为空,且所述交叉开关分配器将交叉开关授予即将到达的分组时,即将到达的分组通过输入端口中的旁路链路和级联交叉开关转发到下游双信道路由器或本地处理单元,所述交叉开关分配器并将当前分组在下游双信道路由器需要请求的输出端口和目的地址通过前向路由信号发送到下游双信道路由器;
步骤6:判断是否分组路径类型为直行且外部输出信道未被其他分组占用,若是,则执行步骤7;否则,所述前向路由计算单元向交叉开关分配器发送请求信号,并执行步骤8;
步骤7:所述输入端口将当前分组通过级联交叉开关、输出端口寄存器和外部输出信道转发到下游双信道路由器,所述交叉开关分配器并将当前分组在下游双信道路由器中需要请求的输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤8:所述交叉开关分配器接收来自所有分组的请求信号并根据轮循仲裁机制进行仲裁以获得仲裁授予结果,并将获得仲裁授予的分组的下游输出端口和目的地址通过前向路由信号发往下游双信道路由器;
步骤9:所述输入端口根据仲裁授予结果,读取获得输出端口使用授予的分组并使其穿过级联交叉开关和输出端口寄存器,从而转发到下游双信道路由器或本地处理单元;
步骤10:当前双信道路由器判断是否转发完毕完整的分组,若是,则结束流程;否则返回步骤8顺序执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110390693.XA CN113114593B (zh) | 2021-04-12 | 2021-04-12 | 一种片上网络中双信道路由器及其路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110390693.XA CN113114593B (zh) | 2021-04-12 | 2021-04-12 | 一种片上网络中双信道路由器及其路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114593A true CN113114593A (zh) | 2021-07-13 |
CN113114593B CN113114593B (zh) | 2022-03-15 |
Family
ID=76715967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110390693.XA Active CN113114593B (zh) | 2021-04-12 | 2021-04-12 | 一种片上网络中双信道路由器及其路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114593B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113543154A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN114968861A (zh) * | 2022-05-25 | 2022-08-30 | 中国科学院计算技术研究所 | 一种两写两读的数据传输结构以及片上多通道交互网络 |
CN115550235A (zh) * | 2022-06-22 | 2022-12-30 | 南京大学 | 面向神经网络平台的单周期路由器 |
CN116775418A (zh) * | 2023-08-22 | 2023-09-19 | 北京象帝先计算技术有限公司 | 一种片上网络中的路由节点、频率调整方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841420A (zh) * | 2010-05-24 | 2010-09-22 | 中国人民解放军国防科学技术大学 | 面向片上网络的低延迟路由器结构 |
CN105007226A (zh) * | 2015-07-23 | 2015-10-28 | 合肥工业大学 | 一种基于包电路交换技术的多播路由器及其工作方式 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN106302163A (zh) * | 2016-09-30 | 2017-01-04 | 南京航空航天大学 | 一种具有多种工作模式的片上网络路由器及路由方法 |
US20180324110A1 (en) * | 2016-01-12 | 2018-11-08 | Huawei International Pte. Ltd | Dedicated ssr pipeline stage of router for express traversal (extra) noc |
-
2021
- 2021-04-12 CN CN202110390693.XA patent/CN113114593B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841420A (zh) * | 2010-05-24 | 2010-09-22 | 中国人民解放军国防科学技术大学 | 面向片上网络的低延迟路由器结构 |
CN105007226A (zh) * | 2015-07-23 | 2015-10-28 | 合肥工业大学 | 一种基于包电路交换技术的多播路由器及其工作方式 |
US20180324110A1 (en) * | 2016-01-12 | 2018-11-08 | Huawei International Pte. Ltd | Dedicated ssr pipeline stage of router for express traversal (extra) noc |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN106302163A (zh) * | 2016-09-30 | 2017-01-04 | 南京航空航天大学 | 一种具有多种工作模式的片上网络路由器及路由方法 |
Non-Patent Citations (2)
Title |
---|
SHIJUN LIN等: "Designing cost-effective network-on-chip by dual-channel access mechanism", 《IEEE》 * |
欧阳一鸣等: "一种故障通道隔离的低开销容错路由器设计", 《电子学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113543154A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN113543154B (zh) * | 2021-07-26 | 2022-06-07 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN114968861A (zh) * | 2022-05-25 | 2022-08-30 | 中国科学院计算技术研究所 | 一种两写两读的数据传输结构以及片上多通道交互网络 |
CN114968861B (zh) * | 2022-05-25 | 2024-03-08 | 中国科学院计算技术研究所 | 一种两写两读的数据传输结构以及片上多通道交互网络 |
CN115550235A (zh) * | 2022-06-22 | 2022-12-30 | 南京大学 | 面向神经网络平台的单周期路由器 |
CN115550235B (zh) * | 2022-06-22 | 2024-02-09 | 南京大学 | 面向神经网络平台的单周期路由器 |
CN116775418A (zh) * | 2023-08-22 | 2023-09-19 | 北京象帝先计算技术有限公司 | 一种片上网络中的路由节点、频率调整方法及电子设备 |
CN116775418B (zh) * | 2023-08-22 | 2023-12-19 | 北京象帝先计算技术有限公司 | 一种片上网络中的路由节点、频率调整方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113114593B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113114593B (zh) | 一种片上网络中双信道路由器及其路由方法 | |
CN109302357B (zh) | 一种面向深度学习可重构处理器的片上互联结构 | |
US8769458B2 (en) | Prototype verification system and verification method for high-end fault-tolerant computer | |
CN104158738A (zh) | 一种低缓冲区片上网络路由器及路由方法 | |
Chen et al. | Reducing wire and energy overheads of the SMART NoC using a setup request network | |
CN103580890A (zh) | 一种可重配置片上网络结构及其配置方法 | |
Xin et al. | A low-latency NoC router with lookahead bypass | |
Seitanidis et al. | Elastistore: An elastic buffer architecture for network-on-chip routers | |
CN110096475B (zh) | 一种基于混合互连架构的众核处理器 | |
Song et al. | Asynchronous spatial division multiplexing router | |
CN113490293B (zh) | 一种双层自适应重配置环簇片上网络硬件结构 | |
CN113704169B (zh) | 一种面向嵌入式的可配置众核处理器 | |
Zhu et al. | BiLink: A high performance NoC router architecture using bi-directional link with double data rate | |
Seifi et al. | A clustered NoC in group communication | |
Guo et al. | A bypass-based low latency network-on-chip router | |
Zhang et al. | A cellular NoC architecture based on butterfly network coding (CBNoC) | |
KR20170112775A (ko) | 듀얼 스위칭 네트워크 모드들에서 네트워킹 가능한 온칩 네트워크 장치 및 그것의 동작 방법 | |
Pande et al. | Performance optimization for system-on-chip using network-on-chip and data compression | |
Bansal et al. | Energy efficient noc router for high throughput applications in many-core gpus | |
Samman et al. | Planar adaptive router microarchitecture for tree-based multicast network-on-chip | |
Ribot González et al. | IPDeN 2.0: Real-time NoC with selective flit deflection and buffering | |
CN112949247B (zh) | 一种基于相位的芯片片上总线调度装置及调度方法 | |
Ling et al. | MACRON: the NoC-based many-core parallel processing platform and its applications in 4G communication systems | |
Heisswolf et al. | Efficient memory access in 2D Mesh NoC architectures using high bandwidth routers | |
Yang et al. | MBL: A multi-stage bufferless high-radix router |
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 |