CN102959907B - 提供用于多维网格拓扑的无缓冲器传输方法 - Google Patents
提供用于多维网格拓扑的无缓冲器传输方法 Download PDFInfo
- Publication number
- CN102959907B CN102959907B CN201180032585.XA CN201180032585A CN102959907B CN 102959907 B CN102959907 B CN 102959907B CN 201180032585 A CN201180032585 A CN 201180032585A CN 102959907 B CN102959907 B CN 102959907B
- Authority
- CN
- China
- Prior art keywords
- node
- grouping
- carrying capacity
- output port
- traffic carrying
- 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
- 238000012546 transfer Methods 0.000 title claims description 5
- 238000000034 method Methods 0.000 title abstract description 11
- 239000004065 semiconductor Substances 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
-
- 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/06—Deflection routing, e.g. hot-potato routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
-
- 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/1553—Interconnection of ATM switching modules, e.g. ATM switching fabrics
- H04L49/1584—Full Mesh, e.g. knockout
-
- 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
-
- 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
在一个实施例中,本发明包括一种方法,该方法用于:确定在节点的输入/输出(I/O)电路中接收到的分组是否是去往该节点的,并且若是,则将该分组提供给I/O电路的出口队列;以及确定在I/O电路的入口队列中是否存在一个或多个分组,并且如是,则根据独立于业务量流的全局调度将所选分组提供给第一或第二输出寄存器。描述并要求保护其他的实施例。
Description
背景
随着较小且较快电路形式中半导体技术的进步,可在单个半导体管芯中实现一个或多个组件。一种类型的管芯是其中存在多个代理的所谓芯片上系统(Soc),其可被用于处理数据并执行其他操作。这些代理之间的互连性是通过芯片上网络来达成的,该芯片上网络可基于包括分组路由网络、总线、环等等的各种方法。然而,这些办法可能具有关于设计复杂度、受限可缩放性、或面积/功率效率的问题。此外,已知互连中的一些可能展现待解决的复杂死锁/竞争问题。
给定由于业务量考虑因素、等待时间等等,在代理之间的传输机制中存在多个分组,因此大多数实现包括一些类型的缓冲介质作为代理之间的传输机制的一部分。虽然环可提供无缓冲器介质,但是此类环在历史上是单个维度的,使得环概念没有用于多维。
附图简述
图1是根据本发明一个实施例的网络互连系统的框图。
图2是根据本发明一个实施例的配置成穿过状态的网格互连系统的框图。
图3是根据本发明一个实施例的配置成转向状态的网格互连系统的框图。
图4是根据本发明一个实施例的互连系统的框图。
图5是根据本发明实施例的节点的框图。
图6是根据本发明实施例的根据静态全局循环调度来传达分组的方法的流程图。
详细描述
在各个实施例中,可提供所谓的“无路由器I环”的无缓冲器和无路由器环以实现芯片上节点(诸如可能存在于芯片上系统(Soc)或其他半导体器件中)的互连。此类SOC可包括各种类型的设计,包括具有高代理数量(包括诸如核、高速缓存、加速计、存储器控制器等)的多核和多个核中央处理单元(CPU)设计。
根据本发明的实施例的互连网络可被设计成有两个或更多维度。一般而言,该网络包括:(i)无缓冲器传输介质;(ii)入口接入点(用于将分组调度到传输介质);以及(iii)出口接收器点(用于从传输介质拉取分组)。在许多实施例中,无缓冲器传输介质可包括布置成nxm网格的一组同步时钟控制的节点。每个此类节点可包括联网相关硬件,并且进而可被耦合至相应的代理,诸如核、高速缓存、加速计等。
现在参见图1,所示为根据本发明的一个实施例的网格系统的框图。如图1中所示的,系统100可被实现为包括多个节点1101,1-110n,m的两维(2D)链路互连网格。在各个实施例中,系统100可以是芯片上系统(SoC),或者其他此类形成于一个半导体管芯上的单芯片半导体器件,而在其他实施例中,系统可以由多层堆叠管芯形成,从而实现具有大于两维的网格。在不同实现中,代理可以是异类或同类的,诸如处理器核、高速缓存块、存储器控制器、专用处理单元(诸如图形处理器)、分组处理器等等。一般而言,节点可与代理(例如,核或其他处理或控制单元)相关联,并且可包括互连相关输入/输出(I/O)电路,如以下所描述的。
仍参看图1,每个节点110可经由多个互连115(其可以是双向互连)被耦合至2D配置的多个其他节点。另外,边缘节点(即,在系统的外围处的节点)可包括反馈互连120,其将相应节点的输出端口耦合至相同或其他边缘节点的输入端口。在图1的高层视图中,仅示出I/O电路(例如,路由结构)。即,在图1中没有示出代理的实际功能单元。一般而言,每个节点可包括多个输入和输出端口。一般而言,这些输入和输出端口可包括用于影响通过网格互连对接收到的信息(诸如分组)的选择和传递的逻辑以及其他电路。注意:图1中所示的实现是代表性的,并且不完全反映节点内可用的开关或配置。即,如以下将进一步描述的,每个节点可根据多个路由图来配置,以将数据路由至给定节点可能被连接至的不同节点。
如图1中看到的,每个节点110具有至其毗邻节点的四个双向链路(且在边缘节点上有特殊反馈规则)。链路的数目可随着维度数目而增大。在每个时钟周期,每个节点的多个输入端口中的每一个可接收至少一个分组。传入分组可被本地消费或传递至每个节点的多个输出端口中的一个,其中这些分组在下一周期被传送至毗邻节点。由此,传输介质因此是无缓冲器的。注意:在图1中未示出I/O电路的细节。替换地,仅多个输出寄存器105a-d被示出,多个输出寄存器中的每一个与给定输出端口相关联,并由此是节点从其发送所选分组的组件。由于输出端口还可从除相应多个输入端口之外的耦合至节点的本地代理接收分组,因此多路复用器(未在图1中示出)可存在于每个输出寄存器105的前面。
分组采取的路由是根据所定义的先验知识以及独立于业务量的单个节点连接状态序列来确定的。该序列可被选择成对于所有节点相同或者为每个节点各自构成的。在任何时间,如节点特定序列所确定的,网格的所有节点是将输入端口映射至输出端口的多个预定义业务量独立连接状态中的一个。虽然本发明的范围并不限于此,但是在一个实施例中,所有节点可遵循从两个连接状态(即,穿过状态和转向状态)构建的相同序列,这两个连接状态中的每一个实现不同维度中的通信。
现在参看图2,示出的是其中所有节点处于穿过状态的网格互连系统100'的框图。在此穿过状态中,每个节点可被配置(例如,通过控制多路复用器或其他开关逻辑)成是将接收自第一相邻节点的数据直接传递至第二相邻节点。在图2中所示的实现中,这些节点可以是水平或垂直相邻节点。如本文中所用的,相邻节点是在给定维度中与一节点直接毗邻的节点。注意,在图2中所示的实现中,边缘节点被耦合至互连120,其提供直接反馈以使得在穿过操作模式中,由边缘节点输出的数据也在此同一边缘节点中被直接接收。出于便于图2中的例示起见,诸如节点内的内部路由之类的其他互连未被示出以免模糊图2中所示的状态。
在此穿过状态中,节点简单地转发来自相反侧的分组,并且由此网格被分解成一组水平或垂直重叠的、未连接的环。在一些实施例中,基于对系统的控制在两个方向上发生的穿过通信由此潜在地实现更高效的通信,但是在此实例中复杂度可能增大。
虽然如图2中所表示的穿过状态实现单个维度的相邻代理之间的数据通信,但是为了实现不同维度的节点之间的通信,实施例可配置节点以提供一个或多个转向状态。此类转向状态可被用于在不同维度的相邻核之间传达数据。注意,不管所选状态如何,每个节点可每周期输入和输出相等数目个分组,因为传输机制是无缓冲器的。
现在参看图3,示出的是以转向状态配置的网格互连系统100。如图3中所见的,系统100”现在被配置成使得在与穿过方向不同的方向上路由每个传入分组。在此状态中,每个节点向左路由传入分组。这导致每个节点处的传入分组在水平和垂直环(在穿过状态中建立的)之间被互换。在图3的例示中,此转向状态可向左转,以使得分组被传达给下一相邻节点。再次注意,关于图3的例示,边缘节点可经由反馈互连120来配置成经由节点的输入端口直接接收从节点的输出端口输出的分组。虽然在图3的例示中用左转状态示出,但是本发明的范围不限于此方面,并且在其他实现中,此转向状态可以是右转状态。
在一个实施例中,可根据可与介质上的真实通信完全独立的循环调度来选择状态。该调度必须保证在每个发送方节点处存在用于插入的一个时隙,以使得最终所插入的分组抵达预期目的地。一种满足此约束的方案是时钟循环调度(其中S-max(n,m)),其包括所有节点处于穿过状态(图2)的S-l个时钟周期以及所有节点处于转向状态(例如,图3,向左)的1个周期。更一般地,循环调度可以有S个时钟(其中,S=max(n,m))并且S-x个时钟周期处于穿过状态(图2),而x个周期处于转向状态(例如,图3,向左)。此类循环调度很可能可建立从每个发送方节点至每个其他节点的至少一个Manhattan路由。如本文中所使用的,术语“Manhattan路由”被用于定义这样的路由:该路由具有代理之间的最小传播距离,而没有任何障碍、绕道、向后循迹等等。典型地,可存在不满足Manhattan属性的附加可行路径。其他调度也是可行的,像S=2*max(n,m),再次地,其中在S-l个周期内所有节点处于穿过状态,而单个周期处于转向配置等等。虽然仅仅一个序列被应用于所有节点可能是满足的,但是可考虑多组序列应用于相应节点子集来改进介质的某些特性。作为一个示例,节点可具有导致在给定周期内在网络层上可见的多个不同连接状态的各个连接状态序列。可考虑另外其他类型的连接状态,像一个节点内右转或转向和穿过配置的组合。一般而言,附加状态可增加输出端口的多路复用器的输入的数量。
应当理解,存在不同的拓扑变体,诸如节点的边缘处的其他反馈连接方案,或者将网格缩减成单向传输机制。现在参见图4,所示为根据本发明的另一个实施例的互连系统的框图。如图4中所示的,系统200包括多个节点2101,1-210n,m。注意,在此实现中,仅单向互连115将相邻节点耦合在一起。另外,注意,作为边缘节点的反馈路径的替代,给出互连120以耦合公共维度的相邻节点。在其他方面,可与以上所述的图1的系统类似地来配置系统200。
往回参看图1,在源节点处,对于每个维度,对于每个输出阶段而言存在插入时隙表(时隙表),用于确保所插入的分组至预期目的地节点的递送。对于图1的网格操作并假定固定S时钟调度时段,有效插入的选项序列也变为以周期S进行循环,并且由此取决于源/目的地组合可在1与S之间改变。该表仅仅依赖于网格拓扑和循环调度,并且由此可通过不同方法来预先计算。在一些实施例中,可使用分析表达或经由穷尽自发现来推导表。在一些实施例中,此表可在每个节点的非易失性存储中实现。而且,可在进行中通过由逻辑门实现的、用时钟周期计数以及源和目的地信息作为输入参数的相应函数来构造。或者,可在上电时将预定表动态加载到节点的易失性存储。在特定实施例中,节点的每个输出端口可包括其自己的表,其被预定为反映网格系统内其特定连接。在一个实施例中,表的每个条目可包括目的地标识符以及去往该目的地的分组将经由输出端口被插入的相应循环时隙。在一些其他实施例中,每目的地提供包含S比特宽向量的单个表条目,其中每个比特n标记循环模式的相应时钟周期n中的插入是否可行。在一些实施例中,表还可包括启发式数据,用以帮助输出端口逻辑确定分组是否将在给定时隙提供。例如,对于其中仅一个或两个专用时隙可抵达目的地的那些目的地,可对具有多个选择可用于达到其预期目的地的分组上的那些宝贵时隙建立用于选择分组的启发式方法。由此,给定分组的优先级可基于未决待传输的分组而动态地改变。单个节点的连接状态序列的全局同步可以基于提供给系统的每个多路复用器的主或全局控制信号。在一些其他实施例中,可通过在网络初始化时发送的特殊分组来达成同步。
当经由I/O电路在分组插入期间由与相应节点相关联的代理传递分组时,其可被立即存储在入口缓冲器中,直至达到用于传输的恰当时隙,且在相应输出端口处没有分配数据。即,系统被配置成,由于其无缓冲器操作,使得至输入端口的传入分组获得胜于本地生成的分组的优越性,因为不存在将接收到的分组维护在缓冲器或其他存储结构中的能力。
在一些实施例中,为了改进每端口的最大注入速率,可并行地处理由本地代理提供的多个分组。由于对于要输入网络的分组典型地存在时隙和输出端口的多个组合(或者多个分组可在同一时隙输入),可应用各种启发式算法以改进网络性能。在这些算法中,可能偏好导致最优Manhattan路由的选项。作为一个示例,可从表中移除其他可行但低效(由于网络中的长路径)的路由(或降低其优先级)。在多个分组在同一时隙竞争同一输出端口的情形中,可使具有较少插入选项的分组优先。此外,可动态地适应此类启发式规则。由于介质的确定性行为,利用此网络满足实时需求容易达成。为此,可存在确定性时隙预先分配机制。
对于每个输入端口,可针对其目的地地址检查传入分组。此检查可以基于不同的目的地编码,例如,绝对值(诸如目的地标识符)或每个传递跳跃处的下降递减。在匹配的情形中,传入分组被本地存储在逐个输入端口实例化的出口接收机队列中,并且网格上的相应时隙被标记为空。为了实现此类操作,接收机可具有本地超速时钟,用以允许在给定周期从所有输入端口并行接收分组。为了消除此类超速,在一些其他实施例中,接收机可被限制成仅在给定时间观测输入端口的确定性子集,其在时隙表的相应条目中相应地得到反映。另外,输入端口逻辑可将时隙标记为空,以使得后继节点可将该时隙用于数据插入(假定当前节点不插入)。在一个实施例中,单比特指示符可被用于指示该时隙实际上被分配给数据还是空时隙。注意,接收机端口可选择不汇集(sink)去往它的传入分组(例如,出于功率、资源、或其他原因)。该构造允许此类“反弹”状况,并确保在有限时段之后分组再次被重新递送至其目的地。即,该构造可支持以确定性方式将分组带回其目的地节点的能力。在不同情形中,此最初不递送的分组可回到其源,其中关于其不递送的信息可被用于流控制或其他用途。
可根据本发明的实施例将各种微架构改进技术应用于I环互连。例如,物理定时可通过允许标记空时隙的控制信号在同一操作网格上提前固定周期计数运行,以实现接收机流水线化。
而且,可通过将目的地解码移至在前节点来使目的地解码流水线化,如以下将进一步描述的。
实施例还是实现超过两维的对环的缩放。例如,p个nxm网格的拓扑可被“层叠”在一起。在此类实现中,每个nxm网格可被定位半导体管芯的一个或个不同层上。替换地,在这些实现中,可存在多个层叠的管芯,其中每个管芯包括mxn网格。在每个节点,可提供“开关”状态以允许在垂直维度上相交的3个环之间的“分组交换”。就像2状态最小开关机制满足2-D网格,3状态最小开关机制将满足3-D网格层叠。当然,可创建附加状态和循环调度以最优化各个网络参数。
现在参见图5,所示为根据本发明实施例的网络节点的单个输入数据路径的框图。此路径的多个实例可存在于NoC的每个节点中。具体地,在一个实施例中,四个此类电路可存在以形成节点,每个被配置成接收来自第一方向的传入数据以及将数据输出到与第一方向相反的第二方向或第三方向,即转换方向。
在图5中所示的实现中,可在输入端口寄存器310中接收传入信息。在一些实施例中,基于存在或有效指示符(当没有分组要输出时活跃),可发生对输入寄存器的时钟的控制,以通过在没有有效数据传入时禁用寄存器来减少功耗。接收到的信息可包括有效载荷数据和状态/控制信息。状态/控制信息可被用来指示传入数据是否有效以及其他控制信息,诸如相应分组的目的地标识符、诸如在给定连接上保持无隙的保留比特之类的服务质量(QoS)相关信息等等。如所见的,如果传入有效载荷数据对应于与节点相关联的代理中的一个,例如,由控制信息中存在的目的地指示符所指示的,有效载荷数据被提供给出口队列320。数据可从此处被提供给与节点相关联的代理中的一个,诸如核、存储器控制器或其他此类处理单元。
否则,数据和控制信息两者传递至输出数据选择器330,其一般被用于选择经由输入端口寄存器310接收的数据或节点中生成、从节点的代理接收到的数据。因而,如图5中所示的,入口队列350被耦合来接收代理的、期望将被去往另一节点的数据。进而,入口队列被耦合至入口控制器340。一般而言,入口控制器340可基于时隙表345中存在的信息来选择多个数据分组中的一个来插入到开放时隙。如以上所讨论的,时隙表345可通过相应分组的目的地标识符来访问,并且可被用于指示用于插入分组的恰当时隙。如所见的,被入口控制器340用来选择用于插入的数据分组的附加信息是从静态全局循环调度器365接收的时隙标识符,其进一步细节在以下进行讨论。因此,基于对入口控制器340的控制,输出数据选择器330将输出接收自输入端口寄存器310的有效载荷或接收自入口控制器340的数据(即,源自节点本身的数据)。
仍参看图5,输出数据选择器330被耦合至输出端口选择器360,其由表示节点连接状态序列的静态全局循环调度器365来控制。具体地,在其中存在两个状态(即,穿过状态和转向状态)的实现中,对于每个时隙,调度器将生成控制信号,用以导致输出端口选择器将控制和有效载荷数据转发到第一或第二输出端口370和375中的一个。在一个实施例中,输出端口370可在穿过时隙期间输出信息,而输出端口375可在转向时隙期间输出信息。尽管在图5的实施例中示出了该特定实现,但应理解本发明的范围在这方面不受限制。
例如,如以上所讨论的,可存在附加状态,并且相应地,可存在更多输出端口,每个端口被配置成将信息输出至本节点被耦合至的不同相邻节点。此外,虽然在许多实现中,传入业务量取得优先级以使得当其存在时,输出逻辑仅传递传入分组,并且不将新分组插入下一时隙中,但是实施例不限于此。即,在一些实施例中,覆盖配置可存在,以使得可替代传入分组,以有利于新分组(可能是更高业务量类别)的插入。例如,节点可汇集分组(例如,至高速缓存)并且基于流控制方案稍后注入分组,或者可例如通过无确认消息通知被替代的分组的原始发送者,使得可重新发送分组。
现在参看图6,其示出的是根据本发明实施例的根据静态全局循环调度传达分组的方法的流程图。如图6中所示的,方法400可通过确定有效传入分组是否已被接收到(菱形410)来开始。此确定可以例如在接收有效载荷数据和多种控制信息的输入端口寄存器中作出,并且据此可确定此传入有效载荷数据是否有效。如果有效,则可进一步确定分组是否是去往当前节点相关联的代理(菱形415)。也可在输入端口寄存器中作出的此确定可以基于与分组相关联的目的地标识符。如果是,则控制传递至框420,在那里,将分组提供给出口队列。另外,可更新与此时隙相关联的状态信息。例如,有效指示符可被重置,以指示在此时隙中不存在有效数据,并且因此,此时隙可用于插入数据。
仍参看图6,如果替代地确定传入分组并非是去往当前节点的,则控制从菱形415传递至框430,在那里,根据全局调度将分组传递给所选输出端口(框430)。此全局调度可指示分组是在第一方向上还是在第二方向上被传递到节点之外。随后基于此全局调度,控制传递至435,在那里,在互连上输出分组。
仍参看图6,如果在菱形410处,确定未接收到有效分组(或者在那里接收到的分组并非是给相关联代理的),则控制传递至菱形450,在那里,可确定在入口队列中是否存在一个或多个分组。若否,则控制传递至框470,在那里,可将空分组传递给输出端口。此空分组,即空数据有效载荷和用于指示无效分组的控制信息,可由此被提供给另一节点,该另一节点随后将其自己的分组插入此时隙中。
如果在菱形450,确定存在一个或多个分组,则控制传递至菱形460,在那里,可确定全局调度时隙是否匹配诸分组中的一个。若否,则如上所讨论的,控制传递至框470。如果存在匹配,则控制替代地传递至框480,在那里,可根据全局调度将分组从入口队列提供到所选输出端口。注意:关于多个未决分组中的哪一个将被传送的确定可以基于表中的信息,以及对全局调度的当前时隙的理解。例如,表信息可将时隙标识符与目的地进行关联。各个启发式方法也可考虑选择多个分组中的一个来输出。由此,优先级信息可以是确定基础的一部分。此外,对于要插入到网络中的给定分组,多个时隙的可用性(或不可用)的启发式方法可用作确定基础的一部分。因此,在两个分组之间,与具有更多可用时隙以将分组插入的分组相比,提早地选择具有较少时隙以将分组插入的分组。
因而,在基本实现中,对多个分组是否将被选择的确定可基于时隙标识符和目的地标识符,而在更高级实现中,关于各个启发式方法的附加细节可被计及。随后,如所见的,控制传递至框435,以便在互连上输出此分组。虽然示出图6的这个特定实现,但是应理解,本发明的范围不限于此。
例如,在一些实施例中,可存在流水线实现,其中在相邻(例如,前一)节点中执行分组是否是去往给定节点的确定。即,此确定可在前一节点中作出,并且可例如经由一比特线路以预见(lookahead)方式或作为一般控制信息来转发。在任一事件中,通过使用流水线实现,可确定入口控制器可开始选择分组来插入可用时隙的时间提前。用于在前一节点中关于分组是否是去往下一节点作出确定的一种机制可以经由倒计时机制。例如,于对应于预期节点的目的地标识符不同,目的地标识符可以采用分组在源与目的地之间穿过的节点的计数的形式。因此,在分组穿过的每个节点中,确定此倒计时值。因此,当此分组在前一节点中被接收时,可确定计数值,例如,为零或一,指示分组是去往下一节点。相应地,以预见方式,一比特线路可指示由预期节点接收到的下一分组是去往该节点的。为此,一些实现可包括分开的路径,用于将此目的地信息作为可通过IO电路提供以使得可提前作出这些确定的单独的控制信息来传递。
各实施例可以用代码实现,并可存储在其上存储有指令的存储介质上,这些指令可用来对系统编程以执行这些指令。存储介质可包括但不限于任何类型的盘,包括软盘、光盘、光碟、固态驱动器(SSD)、紧凑盘只读存储器(CD-ROM)、可重写紧凑盘(CD-RW)和磁光盘、诸如只读存储器(ROM)的半导体器件、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁卡或者光学卡、或适于存储电子指令的任意其它类型的介质。
尽管本发明已针对有限数量的实施例作了描述,然而本领域技术人员将会从其中领会到许多修改和变型。所附权利要求旨在覆盖所有这样的修改和变型,只要其落在本发明的真实精神和范围内。
Claims (12)
1.一种用于多维网格拓扑的系统,包括:
nxm网格系统,包括多个节点,所述多个节点在第一维度和第二维度上布置;以及
多个互连,各自用于耦合所述多个节点中的一对,其中所述网格系统在业务量调度时段的第一周期内以第一业务量独立连接状态来配置,而在所述业务量调度时段的第二周期内以第二业务量独立连接状态来配置,
其中所述第一业务量独立连接状态包括穿过状态,其中分组是在所述第一维度上的相邻节点之间通信的,并且其中所述第二业务量独立连接状态包括转向状态,其中分组是在所述第二维度上的相邻节点之间通信的。
2.如权利要求1所述的系统,其特征在于,所述网格系统包括无缓冲器传输介质。
3.如权利要求1所述的系统,其特征在于,所述业务量调度时段是S时钟固定循环调度,其中S为max(n,m),并且所述网格系统在所述固定循环调度的S-x个周期内以所述第一业务量独立连接状态来配置,而在所述固定循环调度的x个周期内以所述第二业务量独立连接状态来配置。
4.如权利要求1所述的系统,其特征在于,所述多个节点中的每一个包括多个输入端口和多个输出端口,所述多个输入端口中的每一个被耦合至所述多个互连中的至少一个。
5.如权利要求4所述的系统,其特征在于,所述多个输入端口中的每一个用于将去往相应节点的分组引导到耦合至与所述相应节点相关联的代理的出口队列。
6.如权利要求4所述的系统,其特征在于,所述多个输出端口中的每一个用于基于时隙表中的条目选择从相应节点接收的分组来从所述输出端口输出,所述时隙表存储与所述分组的目的地相对应的目的地标识符和时隙标识符。
7.如权利要求6所述的系统,其特征在于,多个多个输出端口中的每一个用于进一步基于静态全局循环调度器的控制来选择分组。
8.如权利要求6所述的系统,其特征在于,所述输出端口包括用于将所述分组输出到耦合在第一节点与第一相邻节点之间的第一互连的第一输出端口,以及用于将所述分组输出到耦合在所述第一节点与第二相邻节点之间的第二互连的第二输出端口。
9.一种用于多维网格拓扑的装置,包括:
节点的输入端口寄存器,用于从第一相邻节点接收有效载荷数据和相应的控制信息;
耦合至所述输入端口寄存器的出口队列,用于接收所述有效载荷数据以及将所述有效载荷数据转发到与所述节点相关联的代理;
输出数据选择器,用于选择来自所述输入端口寄存器或来自所述代理的有效载荷数据,以从所述节点输出;以及
耦合至所述输出数据选择器的输出端口选择器,用于在业务量调度时段的第一周期期间将所选有效载荷数据和相应的控制信息输出到耦合至第二相邻节点的第一输出端口,以及在所述业务量调度时段的第二周期期间将所选有效载荷数据和相应的控制信息输出到耦合至第三相邻节点的第二输出端口,其中所述业务量调度时段独立于所述节点之间的业务量,
其中所述第一周期对应于其中分组在第一维度上在所述节点与所述第二相邻节点之间通信的穿过状态,而所述第二周期对应于其中分组在第二维度上在所述节点与所述第三相邻节点之间通信的转向状态。
10.如权利要求9所述的装置,其特征在于,第三周期对应于其中分组在第三维度上在所述节点与第四相邻节点之间通信的另一转向状态。
11.如权利要求9所述的装置,其特征在于,所述装置包括所述节点的第一输入/输出(I/O)电路,并且其中所述节点还包括多个I/O电路,所述多个I/O电路各自包括输入端口寄存器、出口队列、输出数据选择器和输出端口选择器。
12.如权利要求9所述的装置,其特征在于,所述装置包括处理器,所述处理器包括多个层叠半导体管芯,其中所述节点在第一半导体管芯上,并且还包括被配置成处于在所述第一半导体管芯上层叠的第二半导体管芯之上的第四相邻节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/827,495 US8593960B2 (en) | 2010-06-30 | 2010-06-30 | Providing a bufferless transport method for multi-dimensional mesh topology |
US12/827,495 | 2010-06-30 | ||
PCT/US2011/042431 WO2012012188A2 (en) | 2010-06-30 | 2011-06-29 | Providing a bufferless transport method for multi-dimensional mesh topology |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102959907A CN102959907A (zh) | 2013-03-06 |
CN102959907B true CN102959907B (zh) | 2016-02-17 |
Family
ID=45399689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180032585.XA Expired - Fee Related CN102959907B (zh) | 2010-06-30 | 2011-06-29 | 提供用于多维网格拓扑的无缓冲器传输方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8593960B2 (zh) |
EP (1) | EP2589186B1 (zh) |
JP (1) | JP5462412B2 (zh) |
CN (1) | CN102959907B (zh) |
BR (1) | BR112012033508A2 (zh) |
RU (1) | RU2565781C2 (zh) |
TW (1) | TWI516957B (zh) |
WO (1) | WO2012012188A2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8779609B2 (en) | 2010-06-15 | 2014-07-15 | Hamilton Sundstrand Corporation | Time delay contactor for aircraft APU starter |
US8982695B2 (en) | 2012-09-29 | 2015-03-17 | Intel Corporation | Anti-starvation and bounce-reduction mechanism for a two-dimensional bufferless interconnect |
US10445287B2 (en) * | 2013-09-12 | 2019-10-15 | Empire Technology Development Llc | Circuit switch pre-reservation in an on-chip network |
CN103746913B (zh) * | 2014-01-13 | 2016-09-14 | 北京工业大学 | 基于无缓冲区路由器架构的片上网络拓扑结构的构建方法 |
US9455933B2 (en) | 2014-01-25 | 2016-09-27 | Cisco Technology, Inc. | Flexible deterministic binary scheduler |
US9979624B1 (en) | 2015-12-29 | 2018-05-22 | Amazon Technologies, Inc. | Large flow detection for network visibility monitoring |
US10003515B1 (en) | 2015-12-29 | 2018-06-19 | Amazon Technologies, Inc. | Network visibility monitoring |
US10033613B1 (en) | 2015-12-29 | 2018-07-24 | Amazon Technologies, Inc. | Historically large flows in network visibility monitoring |
US10097464B1 (en) * | 2015-12-29 | 2018-10-09 | Amazon Technologies, Inc. | Sampling based on large flow detection for network visibility monitoring |
US10657216B2 (en) | 2016-02-29 | 2020-05-19 | Oregon State University | Routerless networks-on-chip |
RU2632418C1 (ru) * | 2016-04-04 | 2017-10-04 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система передачи данных между нодами без лидера |
CN108400880B (zh) | 2017-02-07 | 2020-11-03 | 华为技术有限公司 | 片上网络、数据传输方法和第一交换节点 |
US10515173B2 (en) * | 2017-12-29 | 2019-12-24 | Advanced Micro Devices, Inc. | Input-output processing on a remote integrated circuit chip |
CN109995633B (zh) * | 2017-12-29 | 2021-10-01 | 华为技术有限公司 | 一种芯片及相关设备 |
GB2586029B (en) * | 2019-07-29 | 2022-07-27 | Siemens Ind Software Inc | Emulating broadcast in a network on chip |
WO2021195422A1 (en) * | 2020-03-26 | 2021-09-30 | EOS Defense Systems USA, Inc. | System for implementing a data protocol enabled application |
US11303559B1 (en) * | 2021-02-25 | 2022-04-12 | Tsinghua University | Method, apparatus and computer storage medium for deadlock-free adaptive routing in two-dimensional mesh network based on the overlapping virtual network partitioning scheme |
US12095653B2 (en) | 2021-06-15 | 2024-09-17 | Applied Materials, Inc. | Router architecture for multi-dimensional topologies in on-chip and on-package networks |
CN115118677B (zh) * | 2022-06-24 | 2024-06-25 | 无锡中微亿芯有限公司 | 一种fpga中的片上网络的路由节点调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878265A (en) * | 1997-07-14 | 1999-03-02 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing polygonal hub topology |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943423A (en) | 1995-12-15 | 1999-08-24 | Entegrity Solutions Corporation | Smart token system for secure electronic transactions and identification |
US6088360A (en) | 1996-05-31 | 2000-07-11 | Broadband Networks Corporation | Dynamic rate control technique for video multiplexer |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6574230B1 (en) * | 1998-12-18 | 2003-06-03 | Nortel Networks Limited | Scheduling technique for delayed queue service |
US6721271B1 (en) * | 1999-02-04 | 2004-04-13 | Nortel Networks Limited | Rate-controlled multi-class high-capacity packet switch |
US6813268B1 (en) * | 1999-05-21 | 2004-11-02 | Broadcom Corporation | Stacked network switch configuration |
WO2001069823A1 (en) * | 2000-03-10 | 2001-09-20 | Tellabs Operations, Inc. | Non-consecutive data readout scheduler |
US6975626B1 (en) * | 2000-03-31 | 2005-12-13 | Sun Microsystems, Inc. | Switched network for low latency communication |
US7123623B2 (en) * | 2000-11-29 | 2006-10-17 | Tellabs Operations, Inc. | High-speed parallel cross bar switch |
US6920135B1 (en) * | 2001-01-23 | 2005-07-19 | Tau Networks | Scalable switching system and method |
WO2002069575A1 (en) * | 2001-02-28 | 2002-09-06 | Gotham Networks, Inc. | Methods and apparatus for network routing device |
US7170900B2 (en) * | 2001-07-13 | 2007-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for scheduling message processing |
US20030048792A1 (en) * | 2001-09-04 | 2003-03-13 | Qq Technology, Inc. | Forwarding device for communication networks |
US7221678B1 (en) * | 2001-10-01 | 2007-05-22 | Advanced Micro Devices, Inc. | Method and apparatus for routing packets |
US6751783B1 (en) | 2001-10-30 | 2004-06-15 | Lsi Logic Corporation | System and method for optimizing an integrated circuit design |
US7346067B2 (en) * | 2001-11-16 | 2008-03-18 | Force 10 Networks, Inc. | High efficiency data buffering in a computer network device |
US7154885B2 (en) * | 2001-12-31 | 2006-12-26 | Stmicroelectronics Ltd. | Apparatus for switching data in high-speed networks and method of operation |
JP3914771B2 (ja) * | 2002-01-09 | 2007-05-16 | 株式会社日立製作所 | パケット通信装置及びパケットデータ転送制御方法 |
US7586909B1 (en) * | 2002-03-06 | 2009-09-08 | Agere Systems Inc. | Striping algorithm for switching fabric |
US6920510B2 (en) * | 2002-06-05 | 2005-07-19 | Lsi Logic Corporation | Time sharing a single port memory among a plurality of ports |
US7292594B2 (en) * | 2002-06-10 | 2007-11-06 | Lsi Corporation | Weighted fair share scheduler for large input-buffered high-speed cross-point packet/cell switches |
KR100917042B1 (ko) * | 2002-08-14 | 2009-09-10 | 엘지전자 주식회사 | 무선 이동통신 시스템의 방송 및 멀티캐스트 데이터의전송 방법 |
US7330480B2 (en) | 2002-08-26 | 2008-02-12 | Telefonaktiebolaget Lm Ericcson | Adaptive network resource control |
US6804687B2 (en) | 2002-09-30 | 2004-10-12 | Scott E. Sampson | File system management with user-definable functional attributes stored in a token action log |
US20040151197A1 (en) * | 2002-10-21 | 2004-08-05 | Hui Ronald Chi-Chun | Priority queue architecture for supporting per flow queuing and multiple ports |
US7039914B2 (en) | 2003-03-07 | 2006-05-02 | Cisco Technology, Inc. | Message processing in network forwarding engine by tracking order of assigned thread in order group |
US7285487B2 (en) * | 2003-07-24 | 2007-10-23 | California Institute Of Technology | Method and apparatus for network with multilayer metalization |
US7366092B2 (en) | 2003-10-14 | 2008-04-29 | Broadcom Corporation | Hash and route hardware with parallel routing scheme |
KR100551072B1 (ko) * | 2003-12-29 | 2006-02-10 | 주식회사 하이닉스반도체 | 멀티-칩 패키지에서 입출력패드의 효율적인 멀티플렉싱이가능한 반도체 메모리 장치 |
KR100555753B1 (ko) * | 2004-02-06 | 2006-03-03 | 삼성전자주식회사 | 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법 |
US7529267B2 (en) | 2004-03-19 | 2009-05-05 | Fujitsu Limited | Data transmissions in communication networks using multiple tokens |
US7185138B1 (en) | 2004-05-14 | 2007-02-27 | Peter Galicki | Multi-dimensional data routing fabric |
KR100594318B1 (ko) | 2005-01-31 | 2006-06-30 | 삼성전자주식회사 | 위상점프없는 소프트 스위칭을 위한 멀티플렉서 및멀티플렉싱 방법 |
US20060193318A1 (en) * | 2005-02-28 | 2006-08-31 | Sriram Narasimhan | Method and apparatus for processing inbound and outbound quanta of data |
US7916135B2 (en) | 2005-03-08 | 2011-03-29 | Au Optronics Corporation | Timing controller and method of generating timing signals |
FR2898753B1 (fr) * | 2006-03-16 | 2008-04-18 | Commissariat Energie Atomique | Systeme sur puce a controle semi-distribue |
US8194690B1 (en) * | 2006-05-24 | 2012-06-05 | Tilera Corporation | Packet processing in a parallel processing environment |
US7493406B2 (en) * | 2006-06-13 | 2009-02-17 | International Business Machines Corporation | Maximal flow scheduling for a stream processing system |
US7493302B2 (en) | 2006-06-26 | 2009-02-17 | International Business Machines Corporation | Federated transaction path and service level agreement monitoring across service oriented application partner domains |
US7782770B1 (en) * | 2006-06-30 | 2010-08-24 | Marvell International, Ltd. | System and method of cross-chip flow control |
WO2008080122A2 (en) | 2006-12-22 | 2008-07-03 | The Trustees Of Columbia University In The City Of New York | Systems and method for on-chip data communication |
US7710904B2 (en) | 2006-12-27 | 2010-05-04 | Intel Corporation | Ring network with variable token activation |
US7598766B2 (en) | 2007-01-09 | 2009-10-06 | University Of Washington | Customized silicon chips produced using dynamically configurable polymorphic network |
US8406205B2 (en) | 2007-08-08 | 2013-03-26 | Qualcomm Incorporated | Apparatus and method for channel reservation in wireless communication systems |
JPWO2009096332A1 (ja) * | 2008-01-29 | 2011-05-26 | ソニー株式会社 | マルチホップ無線端末およびそのマルチホップ無線端末におけるトラヒック制御方法 |
US8699426B2 (en) | 2008-03-26 | 2014-04-15 | Qualcomm Incorporated | Method and apparatus for resource allocation in wireless communication systems |
US8665841B1 (en) * | 2008-08-13 | 2014-03-04 | Marvell International Ltd. | Multiple simultaneous mesh routes |
US20100158023A1 (en) * | 2008-12-23 | 2010-06-24 | Suvhasis Mukhopadhyay | System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions |
GB2471067B (en) * | 2009-06-12 | 2011-11-30 | Graeme Roy Smith | Shared resource multi-thread array processor |
US8639862B2 (en) * | 2009-07-21 | 2014-01-28 | Applied Micro Circuits Corporation | System-on-chip queue status power management |
-
2010
- 2010-06-30 US US12/827,495 patent/US8593960B2/en not_active Expired - Fee Related
-
2011
- 2011-06-29 BR BR112012033508A patent/BR112012033508A2/pt not_active IP Right Cessation
- 2011-06-29 EP EP11810139.3A patent/EP2589186B1/en active Active
- 2011-06-29 WO PCT/US2011/042431 patent/WO2012012188A2/en active Application Filing
- 2011-06-29 JP JP2013518664A patent/JP5462412B2/ja not_active Expired - Fee Related
- 2011-06-29 RU RU2013100980/08A patent/RU2565781C2/ru not_active IP Right Cessation
- 2011-06-29 CN CN201180032585.XA patent/CN102959907B/zh not_active Expired - Fee Related
- 2011-06-30 TW TW100123127A patent/TWI516957B/zh active
-
2013
- 2013-10-25 US US14/063,858 patent/US9450888B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878265A (en) * | 1997-07-14 | 1999-03-02 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing polygonal hub topology |
Non-Patent Citations (1)
Title |
---|
A highly resilient routing algorithm for fault-tolerant NoCs;David Fick et al;《Design, Automation and Test in Europe Conference and Exhibition, 2009》;20090424;第4.1节,图5 * |
Also Published As
Publication number | Publication date |
---|---|
EP2589186B1 (en) | 2018-02-21 |
RU2013100980A (ru) | 2014-07-20 |
JP2013534113A (ja) | 2013-08-29 |
JP5462412B2 (ja) | 2014-04-02 |
US8593960B2 (en) | 2013-11-26 |
RU2565781C2 (ru) | 2015-10-20 |
US9450888B2 (en) | 2016-09-20 |
CN102959907A (zh) | 2013-03-06 |
EP2589186A2 (en) | 2013-05-08 |
EP2589186A4 (en) | 2016-11-02 |
US20140050224A1 (en) | 2014-02-20 |
WO2012012188A3 (en) | 2012-04-12 |
TW201211787A (en) | 2012-03-16 |
WO2012012188A2 (en) | 2012-01-26 |
BR112012033508A2 (pt) | 2016-11-29 |
TWI516957B (zh) | 2016-01-11 |
US20120002675A1 (en) | 2012-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102959907B (zh) | 提供用于多维网格拓扑的无缓冲器传输方法 | |
US8819611B2 (en) | Asymmetric mesh NoC topologies | |
US9590813B1 (en) | Supporting multicast in NoC interconnect | |
US9569579B1 (en) | Automatic pipelining of NoC channels to meet timing and/or performance | |
US10027433B2 (en) | Multiple clock domains in NoC | |
US9742630B2 (en) | Configurable router for a network on chip (NoC) | |
US10749811B2 (en) | Interface virtualization and fast path for Network on Chip | |
Ahmed et al. | Low-overhead routing algorithm for 3D network-on-chip | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
US9864728B2 (en) | Automatic generation of physically aware aggregation/distribution networks | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
Ye et al. | The Design and Implementation of a NoC System Based on SoCKit | |
Ben Abdallah et al. | Multicore SoC On-Chip Interconnection Networks | |
Regidor et al. | Implementation of a parametrizable router architecture for networks-on-chip (NoC) with quality of service (QoS) support | |
Tatas et al. | Communication Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |