CN103501285B - 分组交换的片上互连网络中的快速虚拟通道 - Google Patents
分组交换的片上互连网络中的快速虚拟通道 Download PDFInfo
- Publication number
- CN103501285B CN103501285B CN201310460325.3A CN201310460325A CN103501285B CN 103501285 B CN103501285 B CN 103501285B CN 201310460325 A CN201310460325 A CN 201310460325A CN 103501285 B CN103501285 B CN 103501285B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- control unit
- quick
- node
- current control
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/33—Flow control; Congestion control using forward notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
-
- 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/40—Wormhole 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/10—Flow control; Congestion control
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
Abstract
本申请涉及“分组交换的片上互连网络中的快速虚拟通道”。公开了用于在芯片上部件网络中使用快速虚拟通道的方法、路由器节点和指令集。输入链路302可以经由快速虚拟通道110从分组交换网络中的源节点102接收快速流控制单元。输出链路306可以把快速流控制单元发送到汇节点106。交换机分配器322可以把快速流控制单元直接转发到输出链路306。
Description
本分案申请的母案申请日为2009年3月31日、申请号为200980110393.9、发明名称为“分组交换的片上互连网络中的快速虚拟通道”。
技术领域
本发明一般涉及单芯片多处理器(chipmulti-processor)上的部件之间的通信的领域。本发明还具体地涉及在单芯片多处理器上的部件之间创建快速(express)虚拟通信通道。
背景技术
单芯片多处理器(CMP)或专用片上系统(ASOC)可能具有需要彼此通信的若干部件。这些部件可以是诸如处理器、高速缓存、数据寄存器或其他芯片部件之类的零件。芯片部件可以使用总线系统或专用布线系统进行通信。这些系统中的每一个可能要求大量的布线,其可能用尽芯片上的宝贵空间并且在信号之间产生干扰。
这些部件可以通过使用分组交换系统来以空间更高效的方式进行通信。分组交换系统可以通过在部件之间传送数据分组来起作用,从而减小任意两个部件之间的布线量。
发明内容
根据本发明的实施例,提供了一种在片上网络中提供快速虚拟通道的方法,所述方法包括:
经由快速虚拟通道从源节点接收快速流控制单元;以及
基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制单元直接转发到输出链路以发送到汇节点;
其中,每次去往作为快速流控制单元的相同输出端口的正常流控制单元被缓冲时,将更新所述资源缺乏计数器,其中,基于确定快速流控制单元正在快速虚拟通道上运行,相对于其它非快速流控制单元,快速流控制单元被给予优先选择。
根据本发明的实施例,提供了一种在片上网络中提供快速虚拟通道的设备,所述设备包括:
经由快速虚拟通道从源节点接收快速流控制单元的输入链路;
基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制单元发送到汇节点的输出链路,其中,每次去往作为快速流控制单元的相同输出端口的正常流控制单元被缓冲时,将更新所述资源缺乏计数器;以及
将快速流控制单元直接转发到输出链路的交换机分配器,其中,基于确定快速流控制单元正在快速虚拟通道上运行,相对于其它非快速流控制单元,快速流控制单元被给予优先选择。
根据本发明的实施例,还提供了一种包含代码的机器可读介质和一种设备。
附图说明
要理解这些附图仅描绘了本发明的典型实施例,而因此不被视为对其范围的限制,将通过使用附图另外详细且具体地描述和解释本发明,在附图中:
图1以框图示出单芯片多处理器部件数据分组传输的一个实施例。
图2作为二维网状网络示出芯片上的部件网络的一个实施例。
图3以框图示出实施快速虚拟通道的路由器节点微架构的一个实施例。
图4作为二维网状网络示出芯片上的动态快速虚拟通道部件网络的一个实施例。
图5作为框图示出芯片上的路由灵活(route-flexible)的动态快速虚拟通道部件网络的一个实施例。
图6以流程图示出路由器节点处理来自虚拟通道的数据分组的方法的一个实施例。
图7以网状网络示出快速虚拟通道网络中的资源缺乏(starvation)事件的一个实施例。
图8以时间线示出正常虚拟通道基于信用(credit)的缓冲器管理系统的一个实施例。
图9以时间线示出快速虚拟通道基于信用的缓冲器管理系统的一个实施例。
图10以框图示出静态缓冲器管理系统的缓冲器计数的一个实施例。
图11以框图示出动态共享的缓冲器管理系统的缓冲器计数的一个实施例。
图12以框图示出可获得的进出给定节点的路径的组合的一个实施例。
图13以框图示出虚拟通道的静态分区的一个实施例。
图14以框图示出可以充当路由器节点的计算机系统的一个实施例。
具体实施方式
本发明的附加特征和优点将在以下的说明书中进行阐述,并且部分地将从说明书中显而易见,或者可以通过实践本发明而获悉。本发明的特征和优点可以借助于在所附权利要求书中具体指出的工具和组合来实现和获得。本发明的这些及其他特征将从以下的说明书和所附的权利要求书中变得更彻底地清楚,或者可以通过实践如本文所阐述的发明而获悉。
下面详细讨论本发明的各个实施例。虽然讨论了具体的实施方式,但是应当理解这样做仅仅是为了说明目的。相关领域的技术人员将意识到在不偏离本发明的精神和范围的情况下可以使用其他部件和配置。
本发明包括诸如方法、设备和计算机指令集之类的各种各样的实施例、以及与本发明的基本概念有关的其他实施例。公开了用于在芯片上的部件网络中使用快速虚拟通道的方法、路由器节点和指令集。输入链路可以经由快速虚拟通道从分组交换网络中的源节点接收快速流控制单元(express flow control unit)。输出链路可以把快速流控制单元发送到汇节点。交换机分配器可以把快速流控制单元直接转发到输出链路。
单芯片多处理器(CMP)或专用芯片上系统(ASOC)可能具有许多需要彼此通信的部件。这些部件可以使用分组交换来传送数据而不使用过量的芯片空间。图1以框图示出单芯片多处理器部件数据传输100的一个实施例。充当源节点102的部件可以把数据集组织成数据分组。数据分组可以被分成一个或多个流控制单元(FLIT)。源节点102可以把每个FLIT传输到最近可用的部件。充当路由器节点104的接收部件可以把数据传输到下一个最近可用的部件,直到到达充当汇节点106的部件为止。FLIT从源节点102到汇节点106所遵循的路径可以被组织成虚拟通道。在正常虚拟通道(NVC)108中,源节点102可以把FLIT传输到路由器节点104,该路由器节点104可以缓冲FLIT、组织该FLIT以及其他经历该管线的FLIT、然后把它们发送到输出链路以将其发送到下一个路由器节点104或汇节点106。
快速虚拟通道(EVC)110可以通过接近专用链路的等待时间和能量而用来缩短封包化的片上网络和理想互连结构之间的性能和能量差距。EVC110可以允许FLIT沿节点对之间的预定义路径绕过中间路由器节点104。与其他FLIT相比,可以给予在EVC110上行进的FLIT优待,从而使得它们直接使用输出链路而不用进行缓冲,且不必通过每个路由器节点104处的路由器管线。EVC110可以以类似于电路交换的方式促进流在网络中的创建而不涉及任何电路建立阶段,从而显著地减少分组传输等待时间。此外,通过允许FLIT实际上绕过中间路由器节点104,EVC110可以减小缓冲量、路由器交换活动和每跳资源竞争,从而增加能量和面积效率。
图2作为二维网状网络示出静态EVC分组交换网络200的一个实施例。虽然引用分组交换芯片多处理器网络,但是EVC110可以用于任何分组交换网络。请注意,对本发明而言,网状网络的大小和二维性质是说明性的而决不是限定性的。每个节点202可以充当源节点102、路由器节点104或汇节点106。网络200中的每个节点202可以通过NVC108而连接到相邻节点202。而且,节点202可以通过EVC110而连接到非相邻节点,从而允许FLIT沿预定义路径穿过多个中间节点或路由器节点104,而不用在任何路由器节点104处停止或缓冲。例如,从节点B行进到节点G的FLIT可以采取从节点B到节点D的规则NVC路径108并且然后采取从节点D到节点G的EVC110或链路。EVC110可以消除通过诸如节点E和F之类的路由器节点104的等待时间,并且通过消除路由器节点104上的所有缓冲操作来节约功率。在静态EVC网络中,具体的源节点102和汇节点106可以通过EVC110连接。虽然在本示例中使用四个节点的静态EVC110,但是根据选择也可以使用更大或更小长度的静态EVC110。
路由器可以实施在虚拟通道流控制之上的快速链路。路由器可以指定虚拟通道,该虚拟通道可以仅由在快速路径上行进的数据分组预订。图3以框图示出实施EVC110的路由器节点微架构300的一个实施例。路由器节点104可以经由输入链路302上的虚拟通道接收FLIT,并且把FLIT引导至流控制模块304。用于流控制的虚拟通道可以被布置为NVC108和EVC110。流控制模块304可以使用虚拟通道来确定FLIT优先级以选择哪个FLIT转发到由纵横式交换机308所选择的输出链路306。
路由计算逻辑模块310可以在每个路由器节点104处计算路由计算或数据分组在源节点102和汇节点106之间行进的路径。路由计算逻辑模块310可以负责验证数据分组是否可以被放置在EVC110上。另外,路由计算逻辑模块310可以执行所有数据分组的先行(look-ahead)路由,以便一旦数据分组到达节点或EVC路径110端点,在路由器管线的关键路径中就不需要路由计算。路由计算不必以任何方式影响所用的基本路由算法。EVC分配器312可以给打算使用快速通路来在节点对之间行进的数据分组分配EVC110,而NVC分配器314可以给打算行进到邻近节点的另一个数据分组分配NVC108。
流控制模块304可以经由EVC输入缓冲器(EVC BUF)316从EVC110或者经由NVC输入缓冲器(NVC BUF)318从NVC108接收FLIT。当FLIT通过其快速路径110上的任何路由器节点104时,EVC锁存器320可以实行(stage)FLIT。通过EVC锁存器320行进的FLIT可以优先于(pre-empt)相同输出端口306上的任何其他数据分组流。EVC锁存器320可以中断两个节点之间正在进行的数据分组传输而免于被源节点102发送,诸如较低优先级EVC流。
交换机分配器322可能喜欢EVC流110胜过NVC流108。交换机分配器322可以中断源节点102处具有较少跳的FLIT的EVC流110,以便具有更多跳的FLIT的EVC流110可以使用该路由器节点104。交换机分配器322可以中断较近源节点102处的FLIT的EVC流110,以便来自更远源节点102的FLIT的EVC流110可以使用该路由器节点104。
网络200可以被静态地划分成EVC110和NVC108,或者可以具有更多动态创建的虚拟通道。图4作为二维网状网络示出动态EVC分组交换网络400的一个实施例。在动态EVC分组交换网络400中,节点202之间的任何跳集可以被指定为动态EVC402。EVC路径402的长度可以在由部件网络约束确定的最大EVC长度内针对给定数据路径的路径来根据需要定制大小。例如,在静态EVC网络200中,源节点102可以经由单跳NVC路径108从节点B遍历到节点C并从节点C遍历到节点D,并且经由静态分配的EVC路径110从节点D遍历到节点G。在允许最大三跳EVC路径402的动态网络中,源节点102可以把FLIT从节点B直接发送到节点E,然后可以使用两跳长度的子集EVC路径402而去往节点G,诸如此类。
图5作为框图示出芯片500上的路由灵活的动态EVC部件网络的一个实施例。有时,数据路径可能由于资源约束而不能使用最优EVC路径502,诸如最长的EVC路径502。在这种情况下,源节点102可以经由具有可用资源的可选EVC路径504(诸如下一个较短EVC路径504)发送FLIT。例如,对于源节点A102把FLIT发送到汇节点G106的最高效的数据路径可以是把FLIT沿第一最优EVC路径502从源节点A102直接发送到节点D,然后沿第二最优EVC路径502从路由器节点D104发送到汇节点G106。然而,最高效的数据路径可能没有可用的资源。源节点A102可以沿可选路径504把FLIT发送到汇节点。源节点A102可以沿可选EVC路径504把FLIT发送到路由器节点C104,然后从路由器节点C104发送到路由器节点E104,并然后从路由器节点E104发送到汇节点G106。EVC分配器212可以通过考虑数据分组的路由信息来确定最佳路径。
图6以流程图示出路由器节点处理来自虚拟通道的FLIT的方法600的一个实施例。路由器节点104可以经由虚拟通道(VC)接收FLIT(块602)。如果FLIT是正常FLIT(NF)(块604),则路由器节点104可以把NF存储在输入缓冲器中(块606)并且然后处理NF(块608)。NF可以是路由器节点104是源节点102的FLIT、从NVC108上的邻近节点到达路由器节点104的FLIT、或者路由器节点104是EVC110的终点但不是汇节点106的FLIT。输入端口可以是NVC输入缓冲器318(如果到达NVC108的话)或者是EVC输入缓冲器316(如果到达EVC110的话)。路由器节点104可以把处理的NF转发到输出链路306(块610)。如果FLIT是快速FLIT(EF)110(块604),则路由器节点104可以把EF转发到输出链路306(块612)。快速FLIT可以是由在EVC110中部的路由器节点104接收的FLIT。
在为具体的消息流预留带宽的任何网络中,当在预先建立的电路上行进的消息阻挡其他消息时可能出现资源缺乏。图7以网状网络示出EVC网络中的资源缺乏事件700的一个实施例。给予EF702的较高优先级可能导致资源缺乏情形704。更具体地,如果沿EVC702路径的路由器节点D104总是具有即将到来的EF要服务,则在路由器节点D104处局部缓冲的NF可能从未得到使用物理通道的机会。来自更上游的快速数据分组也可以使源自下游路由器的不同EVC110上的快速数据分组连续资源缺乏。
为对此进行补救,每个路由器节点104可以保存该路由器节点104已服务了具体EVC路径110的连续循环的数量的计数。在给快速FLIT服务了阈值数量的连续循环之后,路由器节点104可以把诸如“开始资源缺乏补救(Begin Starvation Remediation)”消息或“资源缺乏开(Starvation On)”令牌之类的资源缺乏消息沿信用通道向上游发送到EVC源节点A102。在接收到这个令牌后,源节点A102可以停止在对应的链路上发送EF,以允许服务局部资源缺乏的FLIT。在这样做设定数量的循环后,路由器节点D104可以发送“结束资源缺乏补救(End Starvation Remediation)”消息或“资源缺乏关(Starvation Off)”令牌到EVC源节点A102,以信号通知可以恢复EVC通信。
如图6中所示,对于EF,如果去往相同输出端口306的NF被缓冲(块614),则路由器节点104可以递增资源缺乏计数(SCT)(块616)。路由器节点104可以检查SCT以查看其是否达到了资源缺乏阈值(STHR)(块618)。如果SCT达到了STHR(块618),则路由器节点104可以把“开始资源缺乏补救”消息(BSRM)向上游发送到所有EVC源节点102(块620)。在允许所有适当的上游节点接收BRSM的一段时间之后,路由器节点104可以进入资源缺乏补救模式,在资源缺乏补救模式期间,路由器节点不接收EF。虽然路由器节点104处于资源缺乏补救模式,但是EVC源节点102可以暂停EF的传输、重新路由EF、或者采取其他补偿动作。路由器节点104可以把资源缺乏补救周期计数器(SRP)设定为零(块622)。
对于NF,如果路由器节点104不处于资源缺乏补救模式(块624),则路由器节点104可以把SCT复位为零(块626)。如果路由器节点104处于资源缺乏补救模式(块624),则一旦NF已经被成功地路由到输出端口306,路由器节点104就可以递增SRP(块628)。一旦资源缺乏补救周期结束(块630),路由器节点104就可以把“结束资源缺乏补救”消息(ESRM)发送到所有上游EVC源节点102,以信号通知路由器节点104再次接收EF(块632)。
芯片上部件网络可以使用缓冲流控制技术来管理缓冲器,并且在相邻的路由器节点104之间传送其可用性。下游节点可以通过背压把可用的自由缓冲器数量传送到上游节点。基于信用的缓冲器管理可以使用上游路由器来保存下游可用的自由缓冲器数量的计数。每当发出FLIT就可以使计数递减,从而消耗下游缓冲器。当FLIT离开下游节点并且释放其相关缓冲器时,可以向上游发回信用并且可以递增对应的自由缓冲器计数。
部件网络可以使用简单的缓冲器管理方案来给每个虚拟通道静态地分配等于该虚拟通道的信用往返延迟的缓冲。图8以时间线示出NVC108基于信用的缓冲器管理系统800的一个实施例。在时间t1,当节点B发送FLIT到下一个节点(箭头802)时,节点B可以在t1和t2之间发送信用到节点A(箭头804)。节点A可以在t2和t3之间处理信用(箭头806)。节点A可以发送信用到先前节点(箭头804)同时在t3和t4之间发送FLIT到节点B(箭头802)。节点B可以从t4到t5处理非快速管线中的FLIT(箭头808)。因而,从t1到t5可以得到信用往返延迟(TCRN)。
当使用EVC110时,缓冲器可用性的传送可以跨越若干跳来完成,以确保在下游EVC汇节点106处的自由缓冲器。缓冲器可用性的多跳传送可能导致较长的缓冲周转时间,对通过量有不良影响。图9以时间线示出EVC110基于信用的缓冲器管理系统900的一个实施例。在时间t1,当节点D发送FLIT到下一个节点(箭头902)时,节点D可以在t1和t2之间发送信用到节点A(箭头904)。节点A可以在t2和t3之间处理信用(箭头906)。节点A可以发送信用到先前节点(箭头904)同时在t3和t4之间发送FLIT到节点B(箭头902)。节点B可以从t4到t5把FLIT转发到作为部分快速管线的输出链路(箭头908)。节点B可以在t5和t6之间发送FLIT到节点C(箭头902)。节点C可以从t6到t7把FLIT转发到作为部分快速管线的输出链路(箭头908)。节点C可以在t7和t8之间发送FLIT到节点D(箭头902)。节点C可以从t8到t9处理非快速管线中的FLIT(箭头910)。因而,从t1到t9可以得到信用往返延迟(TCRE)。
缓冲器管理系统可以静态地组织缓冲器。图10以框图示出静态缓冲器管理系统1000的缓冲器计数的一个实施例。缓冲器的静态数量可以被分派给每个虚拟通道,被保留用于到达每个虚拟通道的FLIT。NVC缓冲器集1002可以被保留用于每个NVC108并且EVC缓冲器集1004可以被保留用于每个EVC110。当设定该集中缓冲器的数量时,每个EVC缓冲器集1004的大小可以把TCRE考虑在内。
静态缓冲器管理可能在对立业务的情况下在分配缓冲器方面效率低。例如,如果大多数网络业务只有近邻,则EVC110也许从未被使用,并且静态分派给EVC110的缓冲器空间也许变得闲置。代替把缓冲器静态地分区成VC(诸如NVC108和EVC110)的是,缓冲器可以按需被分派给VC。当缓冲器变得可用时,向上游节点信号通知EVC的存在的高水位线(high-water mark)方案可以优先考虑短跳EVC402或NVC108而不是长跳。例如,如果两跳EVC402要求至少八个缓冲器可用,则当在下游路由器处的缓冲器计数等于八时,下游路由器可以给上游路由器信号通知离开两个节点(two nodes away)的EVC402可用。可以允许缓冲器自由浮动跨越VC,以致VC可能只有一个FLIT。
图11以框图示出动态共享的缓冲器管理系统1100的缓冲器计数的一个实施例。缓冲器计数1102可以表示可用的或自由的缓冲器的数量。如果缓冲器计数1102指示可用缓冲器的数量等于NVC阈值数量1104、或者为操作NVC108所需的缓冲器数量,则节点可以使用NVC108。如果缓冲器计数1102指示可用缓冲器的数量等于EVC阈值数量1106、或者为操作EVC402所需的缓冲器数量,则节点可以使用EVC402。EVC阈值1106可以与EVC路径402的长度有关。
为了实现灵活的缓冲,下游路由器可能必须向上游路由器发送适当的信号。图12以框图示出可获得的进出给定节点的路径1200的组合的一个实施例。虽然示出八节点网络,但是可以使用其他大小的网络。
VC可以被静态地分区。图13以框图示出虚拟通道的静态分区1300的一个实施例。VC的总数1302或分组状态跟踪器(packet statetracker)可以在NVC108和不同长度的EVC402两者之间进行划分。这种划分可以在设计时完成。对于具有EVC长度高达IMAX的能力的部件网络而言,总计(k×IMAX)的虚拟通道集可以被供应。部件网络可以给NVC108分派k1个虚拟通道1302,给长度为二的EVC402分派k2个虚拟通道,给长度为三的EVC402分派k3个虚拟通道,诸如此类。
图14示出用于充当分组交换网络中的路由器节点104的计算系统1400的可能配置。路由器节点104可以包括通过总线1440连接的控制器/处理器1410、存储器1420、网络接口1430。路由器节点104可以实施任何操作系统,例如诸如MicrosoftUNIX或LINUX。客户端和服务器软件可以以任何编程语言来编写,例如诸如C、C++、Java或VisualBasic。服务器软件可以运行在应用程序框架上,例如诸如服务器或.框架。
控制器/处理器1410可以是为本领域技术人员所已知的任何编程处理器。然而,决策支持方法也可以在通用或专用计算机、编程微处理器或微控制器、外围集成电路元件、专用集成电路或其他集成电路、硬件/电子逻辑电路,诸如分立元件电路、可编程逻辑器件(诸如可编程逻辑阵列、现场可编程门阵列等等)上实施。一般而言,能够实施如本文所描述的EVC路由方法的任一装置或多个装置可以用来实施本发明的决策支持系统功能。
存储器1420可以包括易失性和非易失性数据储存器,包括一个或多个电、磁或光存储器,诸如随机存取存储器(RAM)、高速缓存、硬驱或其他存储器装置。存储器可以具有高速缓存以加速对特定数据的访问。存储器1420也可以连接到致密盘只读驱动器(CD-ROM)、数字多功能光盘只读存储器(DVD-ROM)、DVD读写输入、磁带驱动或者允许直接加载数据到系统中的其他可移动存储器装置。
网络连接接口1430可以连接到通信装置、调制解调器、网络接口卡、收发器或者任何其他能够从网络发射和接收信号的装置。网络连接接口1430可以用来把路由器节点104连接到网络。路由器节点104的部件可以例如经由电总线1440连接或者被以无线方式链接。
客户端软件和数据库可以被控制器/处理器1410从存储器1420进行访问,并且例如可以包括数据库应用、字处理应用以及体现本发明的决策支持功能的部件。路由器节点104可以实施任何操作系统,例如诸如MicrosoftUNIX或LINUX。客户端和服务器软件可以以任何编程语言来编写,例如诸如C、C++、Java或Visual Basic。尽管不要求,但是在诸如程序模块之类的计算机可执行指令的一般背景下,至少部分地描述本发明,所述计算机可执行指令由诸如通用计算机之类的电子装置执行。一般而言,程序模块包括执行特定任务或实施特定抽象数据类型的例程程序、对象、部件、数据结构等等。此外,本领域的技术人员将明白,本发明的其他实施例可以在具有许多类型的计算机系统配置的网络计算环境中加以实施,包括个人计算机、手持式装置、多处理器系统、基于微处理器的或可编程消费者电子器件、网络PC、小型计算机、大型计算机、等等。
尽管不要求,但是在诸如程序模块之类的计算机可执行指令的一般背景下至少部分地描述本发明,所述计算机可执行指令由诸如通用计算机之类的电子装置执行。一般而言,程序模块包括执行特定任务或实施特定抽象数据类型的例程程序、对象、部件、数据结构等等。此外,本领域的技术人员将明白,本发明的其他实施例可以在具有许多类型的计算机系统配置的网络计算环境中加以实施,包括个人计算机、手持式装置、多处理器系统、基于微处理器的或可编程消费者电子器件、网络PC、小型计算机、大型计算机、等等。
实施例也可以在分布式计算环境中加以实施,其中任务由通过通信网络(由硬布线链路、无线链路或由其组合)链接的本地和远程处理装置执行。
本发明范围内的实施例也可以包括用于承载计算机可执行指令或数据结构或者在其上存储计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是任何可用介质,所述介质可以由通用或专用计算机访问。作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘储存器、磁盘储存器或其他磁储存器装置、或者任何其他可以用来以计算机可执行指令或数据结构的形式承载或存储期望的程序代码构件的介质。当信息通过网络或另一通信连接(硬布线的、无线的或其组合)而被转移或提供到计算机时,计算机把该连接恰当地视为计算机可读介质。因而,任何这样的连接被恰当地称作计算机可读介质。上面的组合也应当被包括在计算机可读介质的范围内。
计算机可执行指令包括例如使通用计算机、专用计算机或专用处理装置执行特定功能或功能组的指令和数据。计算机可执行指令也包括由独立或网络环境中的计算机执行的程序模块。一般而言,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件和数据结构等等。计算机可执行指令、相关数据结构以及程序模块代表用于执行本文公开的方法的步骤的程序代码构件的示例。这样的可执行指令或相关数据结构的特定序列代表用于实施在此类步骤中描述的功能的对应动作的示例。
尽管上面的描述可以包含特定细节,但是它们不应当被解释为以任何方式限制本发明。本发明的所描述实施例的其他配置是本发明的范围的一部分。例如,本发明的原理可以应用于每个单独用户,其中每个用户可以单独部署这样的系统。即使大量可能应用中的任何一个不需要本文描述的功能,这也使得每个用户能够利用本发明的益处。电子装置的多个实例中的每一个可以以各种可能的方式处理内容。不必需要所有终端用户都使用一个系统。因此,所附的权利要求书及其法律等效物应当唯一地限定本发明,而不是由所给出的任何特定实例来限定本发明。
Claims (15)
1.一种在片上网络中提供快速虚拟通道的方法,所述方法包括:
经由快速虚拟通道从源节点接收快速流控制单元;以及
基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制单元直接转发到输出链路以发送到汇节点;
其中,每次去往作为快速流控制单元的相同输出端口的正常流控制单元被缓冲时,将更新所述资源缺乏计数器,其中,基于确定快速流控制单元正在快速虚拟通道上运行,相对于其它非快速流控制单元,快速流控制单元被给予优先选择。
2.如权利要求1所述的方法,进一步包括:
跟踪从快速虚拟通道接收的快速流控制单元;
如果达到资源缺乏阈值,则进入资源缺乏补救模式;以及
把正常流控制单元传输到相邻节点。
3.如权利要求1所述的方法,其中快速虚拟通道具有静态长度。
4.如权利要求1所述的方法,其中快速虚拟通道具有动态长度。
5.如权利要求1所述的方法,其中快速虚拟通道是在最优快速虚拟通道不能用的情况下供替换的快速虚拟通道。
6.如权利要求1所述的方法,其中快速虚拟通道具有静态分派的缓冲器。
7.如权利要求1所述的方法,其中快速虚拟通道具有动态分派的缓冲器。
8.一种在片上网络中提供快速虚拟通道的设备,所述设备包括:
经由快速虚拟通道从源节点接收快速流控制单元的输入链路;
基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制单元发送到汇节点的输出链路,其中,每次去往作为快速流控制单元的相同输出端口的正常流控制单元被缓冲时,将更新所述资源缺乏计数器;以及
将快速流控制单元直接转发到输出链路的交换机分配器,其中,基于确定快速流控制单元正在快速虚拟通道上运行,相对于其它非快速流控制单元,快速流控制单元被给予优先选择。
9.如权利要求8所述的设备,进一步包括确定是否达到资源缺乏阈值的资源缺乏计数器,使得正常流控制单元能够到达相邻节点。
10.如权利要求8所述的设备,其中快速虚拟通道具有静态长度。
11.如权利要求8所述的设备,其中快速虚拟通道具有动态长度。
12.如权利要求8所述的设备,其中快速虚拟通道是在最优快速虚拟通道不能用的情况下供替换的快速虚拟通道。
13.如权利要求8所述的设备,其中快速虚拟通道具有静态分派的缓冲器。
14.如权利要求8所述的设备,其中快速虚拟通道具有动态分派的缓冲器。
15.一种在片上网络中提供快速虚拟通道的设备,包括执行如权利要求1-7中任一项所述的方法的部件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/061,302 | 2008-04-02 | ||
US12/061302 | 2008-04-02 | ||
US12/061,302 US8223650B2 (en) | 2008-04-02 | 2008-04-02 | Express virtual channels in a packet switched on-chip interconnection network |
CN2009801103939A CN101978659B (zh) | 2008-04-02 | 2009-03-31 | 分组交换的片上互连网络中的快速虚拟通道 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801103939A Division CN101978659B (zh) | 2008-04-02 | 2009-03-31 | 分组交换的片上互连网络中的快速虚拟通道 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103501285A CN103501285A (zh) | 2014-01-08 |
CN103501285B true CN103501285B (zh) | 2015-07-22 |
Family
ID=41133227
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310460325.3A Active CN103501285B (zh) | 2008-04-02 | 2009-03-31 | 分组交换的片上互连网络中的快速虚拟通道 |
CN2009801103939A Active CN101978659B (zh) | 2008-04-02 | 2009-03-31 | 分组交换的片上互连网络中的快速虚拟通道 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801103939A Active CN101978659B (zh) | 2008-04-02 | 2009-03-31 | 分组交换的片上互连网络中的快速虚拟通道 |
Country Status (9)
Country | Link |
---|---|
US (2) | US8223650B2 (zh) |
JP (2) | JP5335892B2 (zh) |
KR (1) | KR101170262B1 (zh) |
CN (2) | CN103501285B (zh) |
BR (2) | BRPI0911368A2 (zh) |
DE (2) | DE112009000836T5 (zh) |
GB (1) | GB2470878B (zh) |
RU (1) | RU2487401C2 (zh) |
WO (2) | WO2009146027A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8223650B2 (en) | 2008-04-02 | 2012-07-17 | Intel Corporation | Express virtual channels in a packet switched on-chip interconnection network |
US8539130B2 (en) * | 2009-09-24 | 2013-09-17 | Nvidia Corporation | Virtual channels for effective packet transfer |
US9015448B2 (en) | 2010-06-17 | 2015-04-21 | Advanced Micro Devices, Inc. | Message broadcast with router bypassing |
CN103181127B (zh) * | 2011-03-09 | 2016-05-25 | 松下知识产权经营株式会社 | 中继装置、中继装置的控制方法及程序 |
CN102437953B (zh) * | 2011-12-14 | 2014-07-30 | 清华大学 | 片上网络中的低功耗自适应路由方法 |
WO2013095665A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Tracking distributed execution on on-chip multinode networks without a centralized mechanism |
US9608922B2 (en) * | 2011-12-23 | 2017-03-28 | Intel Corporation | Traffic control on an on-chip network |
US9647921B2 (en) | 2012-08-07 | 2017-05-09 | Qualcomm Incorporated | Statistics and failure detection in a network on a chip (NoC) network |
CN103383671A (zh) * | 2013-02-26 | 2013-11-06 | 西安交通大学 | 一种基于片上网络的dram通讯优化方法 |
US9166687B2 (en) * | 2013-03-28 | 2015-10-20 | Cisco Technology, Inc. | Method and apparatus for using credits to determine cable length |
US20150049758A1 (en) * | 2013-08-13 | 2015-02-19 | Utah State University | Hot carrier injection tolerant network on chip router architecture |
US10193827B2 (en) | 2013-08-13 | 2019-01-29 | Dean Michael Ancajas | Hot carrier injection tolerant network on chip router architecture |
US10445287B2 (en) * | 2013-09-12 | 2019-10-15 | Empire Technology Development Llc | Circuit switch pre-reservation in an on-chip network |
US9602587B2 (en) * | 2014-06-26 | 2017-03-21 | Altera Corporation | Multiple plane network-on-chip with master/slave inter-relationships |
CN112737976A (zh) * | 2014-12-29 | 2021-04-30 | 甲骨文国际公司 | 用于支持分组交换的系统、方法、介质和设备 |
CN104636085B (zh) * | 2015-01-27 | 2017-10-03 | 北京理工大学 | 一种片上网络消息缓冲区的存储管理模块 |
US9658675B1 (en) | 2015-02-19 | 2017-05-23 | Amazon Technologies, Inc. | Achieving power saving by a circuit including pluralities of processing cores based on status of the buffers used by the processing cores |
US9658676B1 (en) * | 2015-02-19 | 2017-05-23 | Amazon Technologies, Inc. | Sending messages in a network-on-chip and providing a low power state for processing cores |
CN105991428B (zh) * | 2015-03-05 | 2020-11-10 | 中兴通讯股份有限公司 | 交换机路由冲突的处理方法及装置 |
CN104683242B (zh) * | 2015-03-15 | 2018-05-25 | 西安电子科技大学 | 一种二维片上网络的拓扑结构以及路由方法 |
US20190199633A1 (en) * | 2017-12-27 | 2019-06-27 | Futurewei Technologies, Inc. | Method and apparatus for forwarding in information centric networking |
US11502934B2 (en) * | 2018-08-21 | 2022-11-15 | The George Washington Univesity | EZ-pass: an energy performance-efficient power-gating router architecture for scalable on-chip interconnect architecture |
CN110049104A (zh) * | 2019-03-15 | 2019-07-23 | 佛山市顺德区中山大学研究院 | 基于分层片上互连网络的混合缓存方法、系统及存储介质 |
US11386031B2 (en) * | 2020-06-05 | 2022-07-12 | Xilinx, Inc. | Disaggregated switch control path with direct-attached dispatch |
US11757798B2 (en) * | 2020-12-28 | 2023-09-12 | Arteris, Inc. | Management of a buffered switch having virtual channels for data transmission within a network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
CN1705297A (zh) * | 2004-06-02 | 2005-12-07 | 英特尔公司 | 用于控制系统功率模式的分组交换 |
US7433316B2 (en) * | 2003-02-20 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Summarizing nodes in route propagation in auxiliary network for P2P overlay networks |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2563819B2 (ja) * | 1988-03-04 | 1996-12-18 | 日本電信電話株式会社 | 優先制御方法 |
US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
US5388101A (en) * | 1992-10-26 | 1995-02-07 | Eon Corporation | Interactive nationwide data service communication system for stationary and mobile battery operated subscriber units |
JPH0816470A (ja) * | 1994-07-04 | 1996-01-19 | Hitachi Ltd | 並列計算機 |
JP3224963B2 (ja) * | 1994-08-31 | 2001-11-05 | 株式会社東芝 | ネットワーク接続装置及びパケット転送方法 |
JPH08256154A (ja) * | 1995-03-17 | 1996-10-01 | Nec Corp | Atmのセルバッファ制御方法 |
US6055618A (en) | 1995-10-31 | 2000-04-25 | Cray Research, Inc. | Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel |
US6285679B1 (en) | 1997-08-22 | 2001-09-04 | Avici Systems, Inc. | Methods and apparatus for event-driven routing |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US20020150056A1 (en) | 1998-05-15 | 2002-10-17 | Martin Abadi | Method for avoiding broadcast deadlocks in a mesh-connected network |
US6973455B1 (en) * | 1999-03-03 | 2005-12-06 | Emc Corporation | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator |
US6338123B2 (en) * | 1999-03-31 | 2002-01-08 | International Business Machines Corporation | Complete and concise remote (CCR) directory |
US6751190B1 (en) | 1999-05-18 | 2004-06-15 | Cisco Technology, Inc. | Multihop nested tunnel restoration |
JP2001156798A (ja) * | 1999-11-29 | 2001-06-08 | Hitachi Ltd | Vc切替え方法およびatm交換機 |
US20020146022A1 (en) | 2000-05-31 | 2002-10-10 | Van Doren Stephen R. | Credit-based flow control technique in a modular multiprocessor system |
US20010049742A1 (en) * | 2000-05-31 | 2001-12-06 | Steely Simon C. | Low order channel flow control for an interleaved multiblock resource |
US6842826B1 (en) * | 2000-06-07 | 2005-01-11 | International Business Machines Incorporated | Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache |
JP2002057710A (ja) * | 2000-08-11 | 2002-02-22 | Nippon Telegr & Teleph Corp <Ntt> | ショートカットパス経路選択方法 |
JP2002169787A (ja) * | 2000-11-30 | 2002-06-14 | Matsushita Electric Ind Co Ltd | 複数のプロセッサ部を含む半導体装置 |
US6907490B2 (en) * | 2000-12-13 | 2005-06-14 | Intel Corporation | Method and an apparatus for a re-configurable processor |
EP1370967A4 (en) | 2001-02-24 | 2009-10-21 | Ibm | OPTIMIZED RESIZING NETWORK SWITCH |
US6711662B2 (en) * | 2001-03-29 | 2004-03-23 | Intel Corporation | Multiprocessor cache coherence management |
US7126921B2 (en) | 2001-05-14 | 2006-10-24 | Tropic Networks Inc. | Packet network providing fast distribution of node related information and a method therefor |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
US6757755B2 (en) * | 2001-10-15 | 2004-06-29 | Advanced Micro Devices, Inc. | Peripheral interface circuit for handling graphics responses in an I/O node of a computer system |
US6807599B2 (en) * | 2001-10-15 | 2004-10-19 | Advanced Micro Devices, Inc. | Computer system I/O node for connection serially in a chain to a host |
JP3679374B2 (ja) * | 2002-03-06 | 2005-08-03 | 日本電信電話株式会社 | ノードおよび光パスネットワークおよびプログラムおよび記録媒体 |
WO2003088048A1 (en) * | 2002-04-08 | 2003-10-23 | University Of Texas System | Non-uniform cache apparatus, systems, and methods |
JP3678715B2 (ja) * | 2002-04-24 | 2005-08-03 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 |
US7096323B1 (en) * | 2002-09-27 | 2006-08-22 | Advanced Micro Devices, Inc. | Computer system with processor cache that stores remote cache presence information |
JP2004248085A (ja) * | 2003-02-14 | 2004-09-02 | Kyocera Corp | 経路決定方法および経路決定装置 |
US7957428B2 (en) * | 2004-05-21 | 2011-06-07 | Intel Corporation | Methods and apparatuses to effect a variable-width link |
US7558920B2 (en) * | 2004-06-30 | 2009-07-07 | Intel Corporation | Apparatus and method for partitioning a shared cache of a chip multi-processor |
US7287122B2 (en) * | 2004-10-07 | 2007-10-23 | International Business Machines Corporation | Data replication in multiprocessor NUCA systems to reduce horizontal cache thrashing |
US8098571B2 (en) * | 2004-10-28 | 2012-01-17 | Alcatel Lucent | Stack manager protocol with automatic set up mechanism |
US20060248287A1 (en) * | 2005-04-29 | 2006-11-02 | Ibm Corporation | Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures |
US20070143546A1 (en) * | 2005-12-21 | 2007-06-21 | Intel Corporation | Partitioned shared cache |
JP4572169B2 (ja) * | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
US7571285B2 (en) * | 2006-07-21 | 2009-08-04 | Intel Corporation | Data classification in shared cache of multiple-core processor |
US7773617B2 (en) * | 2006-11-08 | 2010-08-10 | Sicortex, Inc. | System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system |
US8014387B2 (en) * | 2007-08-27 | 2011-09-06 | International Business Machines Corporation | Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture |
US8223650B2 (en) | 2008-04-02 | 2012-07-17 | Intel Corporation | Express virtual channels in a packet switched on-chip interconnection network |
-
2008
- 2008-04-02 US US12/061,302 patent/US8223650B2/en not_active Expired - Fee Related
-
2009
- 2009-03-31 RU RU2010139595/07A patent/RU2487401C2/ru not_active IP Right Cessation
- 2009-03-31 JP JP2011503088A patent/JP5335892B2/ja not_active Expired - Fee Related
- 2009-03-31 BR BRPI0911368A patent/BRPI0911368A2/pt not_active IP Right Cessation
- 2009-03-31 GB GB1017257.5A patent/GB2470878B/en active Active
- 2009-03-31 BR BRPI0911376A patent/BRPI0911376A2/pt not_active IP Right Cessation
- 2009-03-31 KR KR1020107022092A patent/KR101170262B1/ko active IP Right Grant
- 2009-03-31 WO PCT/US2009/038886 patent/WO2009146027A1/en active Application Filing
- 2009-03-31 CN CN201310460325.3A patent/CN103501285B/zh active Active
- 2009-03-31 JP JP2010546148A patent/JP5201514B2/ja not_active Expired - Fee Related
- 2009-03-31 DE DE112009000836T patent/DE112009000836T5/de not_active Ceased
- 2009-03-31 DE DE112009000834.8T patent/DE112009000834B4/de active Active
- 2009-03-31 WO PCT/US2009/038874 patent/WO2009146025A2/en active Application Filing
- 2009-03-31 CN CN2009801103939A patent/CN101978659B/zh active Active
-
2012
- 2012-07-17 US US13/551,537 patent/US9391913B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US7433316B2 (en) * | 2003-02-20 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Summarizing nodes in route propagation in auxiliary network for P2P overlay networks |
CN1705297A (zh) * | 2004-06-02 | 2005-12-07 | 英特尔公司 | 用于控制系统功率模式的分组交换 |
Also Published As
Publication number | Publication date |
---|---|
JP5201514B2 (ja) | 2013-06-05 |
WO2009146025A3 (en) | 2010-03-18 |
DE112009000836T5 (de) | 2011-04-28 |
CN101978659A (zh) | 2011-02-16 |
GB2470878A (en) | 2010-12-08 |
KR20100134004A (ko) | 2010-12-22 |
GB201017257D0 (en) | 2010-11-24 |
CN101978659B (zh) | 2013-11-06 |
US20090252171A1 (en) | 2009-10-08 |
RU2010139595A (ru) | 2012-04-10 |
US8223650B2 (en) | 2012-07-17 |
US9391913B2 (en) | 2016-07-12 |
KR101170262B1 (ko) | 2012-08-01 |
DE112009000834B4 (de) | 2017-05-24 |
US20130070763A1 (en) | 2013-03-21 |
JP2011511989A (ja) | 2011-04-14 |
RU2487401C2 (ru) | 2013-07-10 |
BRPI0911376A2 (pt) | 2018-03-20 |
WO2009146025A2 (en) | 2009-12-03 |
JP5335892B2 (ja) | 2013-11-06 |
BRPI0911368A2 (pt) | 2017-02-07 |
CN103501285A (zh) | 2014-01-08 |
DE112009000834T5 (de) | 2011-04-28 |
GB2470878B (en) | 2013-03-20 |
JP2011517903A (ja) | 2011-06-16 |
WO2009146027A1 (en) | 2009-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103501285B (zh) | 分组交换的片上互连网络中的快速虚拟通道 | |
US9426099B2 (en) | Router, method for controlling router, and program | |
US7940788B2 (en) | System for transmitting data within a network between nodes of the network and flow control process for transmitting the data | |
US9264371B2 (en) | Router, method for controlling the router, and computer program | |
Bolotin et al. | QNoC: QoS architecture and design process for network on chip | |
CN103348640B (zh) | 中继装置 | |
US8234435B2 (en) | Relay device | |
US10129329B2 (en) | Apparatus and method for deadlock avoidance | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
EP1875681A1 (en) | Electronic device and method for flow control | |
EP2782301B1 (en) | Router device, method for controlling router device, and computer program | |
JP2553260B2 (ja) | ネットワーク情報転送方法及び装置 | |
Al Faruque et al. | Configurable links for runtime adaptive on-chip communication | |
Peh | Flow control and micro-architectural mechanisms for extending the performance of interconnection networks | |
Latif et al. | PVS-NoC: Partial virtual channel sharing NoC architecture | |
US7978693B2 (en) | Integrated circuit and method for packet switching control | |
CN105721354A (zh) | 片上网络互联方法及装置 | |
CN112084729A (zh) | 用于逻辑器件的粗粒度可编程路由网络 | |
US20230401117A1 (en) | Automatically optimized credit pool mechanism based on number of virtual channels and round trip path delay | |
US8032654B2 (en) | System and method for data exchange in multiprocessor computer systems | |
CN112486871A (zh) | 一种用于片上总线的路由方法以及系统 | |
Palumbo et al. | A novel non-exclusive dual-mode architecture for mpsocs-oriented network on chip designs | |
Shermi et al. | A novel architecture of bidirectional NoC router using flexible buffer | |
Umamaheswari et al. | Dynamic buffer management to improve the performance of fault tolerance adaptive network-on-chip applications | |
Song et al. | A Dynamic Link Allocation Router |
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 |