CN101485162A - 电子设备、芯片上系统以及用于监控数据流量的方法 - Google Patents
电子设备、芯片上系统以及用于监控数据流量的方法 Download PDFInfo
- Publication number
- CN101485162A CN101485162A CNA2007800253978A CN200780025397A CN101485162A CN 101485162 A CN101485162 A CN 101485162A CN A2007800253978 A CNA2007800253978 A CN A2007800253978A CN 200780025397 A CN200780025397 A CN 200780025397A CN 101485162 A CN101485162 A CN 101485162A
- Authority
- CN
- China
- Prior art keywords
- network interface
- multiplexer
- coupled
- mni
- data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/14—Monitoring arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种电子设备,包括:多个处理单元(IP1-IP6、M1-M4);具有多条网络链路(L1-L6)的、基于网络的互连(N);以及网络接(NI、MNI、DNI),其与处理单元(IP1-IP6、M1-M4)中的至少一个相关联并用于将处理单元(IP1-IP6、M1-M4)耦合到基于网络的互连(N)。多个处理单元(IP1-IP6、M1-M4)通过多条通信通路(C1-C4)彼此通信。如果至少两条通信通路(C1-C4)的组合带宽没有超出至少一条共享网络链路(L1-L6)的可用带宽,则将该至少两条通信通路(C1-C4)沿该至少一条共享网络链路(L1-L6)合并。
Description
技术领域
本发明涉及一种电子设备、芯片上系统以及用于监控数据流量的方法。
背景技术
芯片上网络(Networks on chips,NOC)已被证明是可升级的互连结构,特别是对于可成为未来的、所谓IP块(即知识产权块)之间的芯片上互连的可能解决方案的芯片上系统(systems on chip)而言。IP块通常是具有特定功能的芯片上模块(如CPU、存储器、数字信号处理器等)。IP块通过芯片上网络彼此通信。芯片上网络通常由网络接口和路由器组成。网络接口用于提供IP块与芯片上网络之间的接口,即网络接口将来自IP块的信息转换为芯片上网络可理解的信息,反之亦然。路由器用于将数据从一个网络接口传输到另一个网络接口。对于尽力而为的通信来说,没有关于通信吞吐量的延迟的保证。对于有保证的吞吐量业务,需要等待和吞吐量的精确值。
芯片上网络NOC内的通信通常基于分组,即,在路由器之间或路由器与网络接口之间转发分组。分组通常包括报头和有效载荷。
为了监控通过芯片上网络的数据流量,可将探针附在芯片上网络的组件上,即路由器和网络接口上,并且探针可允许在芯片上产生数据的调试。如“An event-based network-on-chip monitoring service”byCiordas et al.,in Proc.Int′l High-Level DesignValidation and TestWorkshop(HLDVT)中所描述的,可以在监控系统中组织探针。
嗅探探针(sniffer probe)允许(非接触式的)对来自网络链路和/或NoC组件的功能数据的访问。可以布置嗅探探针,以使得其可以从经过该链路的连接中进行嗅探。嗅探是调试操作所需的数据流量的至少一部分,相当于对其他与调试有关的组件(如分析器或事件产生器以及数据/事件滤波器)的需求。通过调试连接将嗅探产生的数据送往监控业务接入点(monitoring service access point,MSA)。监控业务接入点相当于用于监控数据的集中接入点。为了嗅探来自连接的全部流量,调试连接所需的带宽将或多或少对应于所嗅探的连接的带宽。
发明内容
本发明的目的在于提供一种实现了更有效带宽利用率的电子设备。
通过根据权利要求1所述的电子设备、根据权利要求7所述的芯片上系统和根据权利要求8所述的用于监控数据流量的方法来实现这个目的。
因此,提供了一种电子设备,其包括:多个处理单元;具有多条网络链路的、基于网络的互连;网络接口,其与处理单元中的至少一个相关联并用于将处理单元耦合到基于网络的互连。多个处理单元通过多条通信通路彼此通信。如果至少两条通信通路的组合带宽没有超出至少一条共享网络链路的可用带宽,则使该至少两条通信通路沿该至少一条共享网络链路合并。
相应地,如果两个通信的带宽或其带宽的组合没有超出网络链路的可用带宽,则可以使两个通信合并。换言之,如果两个通信共享至少一个网络链路并且如果其各自的带宽小于该链路的基本带宽,则这两个通信可在至少一条共享网络链路中合并。
在本发明的一方面中,基于网络的互连包括通过网络链路耦合的多个路由器。那么,该至少两个通信在耦合到这两个通信所共享的网络链路的路由器中合并(权利要求2)。因此,在直接与共享链路相邻的路由器中执行这两个通信的合并。
在本发明的另一方面中,通信在网络接口中的一个中合并(权利要求3)。
在本发明的另一方面中,网络接口包括:用于从第一通信接收数据的解复用器、以及耦合到解复用器输出端的至少两个第一缓冲器。电子设备还包括:在输入端耦合到至少两个第二缓冲器和第二复用器的第一复用器。该第二复用器耦合到解复用器输出端的缓冲器,缓冲器耦合到网络接口的输入端口。基于耦合到第二复用器的仲裁器的仲裁,第二复用器将来自一个缓冲器的数据或来自另一个缓冲器的数据转发到第一复用器(权利要求4)。因此,通过提供由仲裁器控制的、附加的复用器,可以在网络接口中执行两个通信的合并,以便在需要时可以使两个通信合并。
在本发明的另一方面中,网络接口包括:第一解复用器、耦合到解复用器输出端的至少两个缓冲器、用于从第一通信接收数据且用于将数据转发到第一解复用器或缓冲器的第二解复用器。网络接口还包括:在输入端耦合到至少两个缓冲器的第一复用器、以及耦合到第一复用器输出端的第二复用器。第二复用器耦合到缓冲器以及耦合到第一复用器的输出端。根据耦合到第二复用器的仲裁器的仲裁,将来自缓冲器的数据或来自第一复用器的数据输出到第二复用器(权利要求5)。
在本发明的另一方面中,网络接口包括输入和输出缓冲器。多个处理器中的一个实现为监控单元,并包括:复用器、输入缓冲器、事件产生器和仲裁器。根据耦合到第二复用器的仲裁器的仲裁,复用器输出来自输入缓冲器的数据或来自事件产生器的数据(权利要求6)。相应地,在监控单元内执行两个通信的合并。
本发明还涉及一种芯片上网络,包括:多个处理单元;具有多条网络链路的、基于网络的互连;网络接口,其与处理单元中的至少一个相关联并用于将处理单元耦合到基于网络的互连。多个处理单元通过多条通信通路彼此通信。如果至少两条通信的组合带宽没有超出至少一条共享网络链路的可用带宽,则使该至少两条通信通路沿该至少一条共享网络链路合并。
本发明还涉及一种用于在电子设备内监控数据流量的方法,该电子设备包括:多个处理单元;具有多条网络链路的、基于网络的互连;与处理单元中的至少一个相关联的网络接口。网络接口将处理单元耦合到基于网络的互连。多个处理单元通过多条通信通路彼此通信。如果至少两个通信的组合带宽没有超出至少一条共享网络链路的可用带宽,则使该至少两条通信通路沿该至少一条共享网络链路合并。
本发明还涉及如下思想:使多个低带宽的调试或监控连接或通信通路全部或部分地合并为一个连接或一个通信,以更有效地使用可用的带宽来在TDMA数据传送中传送小于时隙的数据。
附图说明
本发明的这些方面和其他方面将从随后描述的实施例中显而易见,并将参照随后描述的实施例得以阐明。
图1是根据本发明的具有芯片上网络互连的芯片上系统的基本结构的方框图;
图2a示出了根据第一实施例的芯片上系统的方框图;
图2b示出了根据图2a的芯片上系统中针对连接的时隙预留的时隙表的图示;
图3a示出了根据第二实施例的、图1所示芯片上系统的一部分的方框图;
图3b示出了根据第二实施例的时隙表预留的图示;
图4a示出了根据第三实施例的、图1所示芯片上系统的一部分的方框图;
图4b示出了根据第三实施例的时隙表预留的图示;
图5a示出了根据第四实施例的、图1所示芯片上系统的一部分的方框图;
图5b示出了根据第四实施例的时隙表预留的图示;
图6示出了根据第五实施例的芯片上系统的一部分的方框图;
图7示出了根据本发明的网络接口的方框图;
图8示出了根据第六实施例的监控网络接口的示意图;
图9示出了根据第七实施例的监控网络接口的示意图;
图10示出了根据第八实施例的监控器的示意图;
图11示出了根据第九实施例的详细的监控单元的方框图;以及
图12示出了根据第十实施例的系统的方框图。
具体实施方式
图1示出了根据本发明的具有芯片上网络互连的芯片上系统(或电子设备)的基本结构的方框图。多个IP块IP1-IP6通过芯片上网络N彼此耦合。网络NOC包括用于提供IP块IP与芯片上网络N之间的接口的网络接口NI。芯片上网络N还包括多个路由器R1-R5。网络接口NI1-NI6用于将来自IP块的信息转换为可由芯片上网络N处理的协议,反之亦然。路由器R用于将数据从一个网络接口NI传输到另一个网络接口NI。网络接口NI之间的通信不仅取决于它们中间的路由器R的数量,而且取决于路由器R的拓扑。在定制或不规则的拓扑中,路由器R可以全连接(fully connected),以2D网格(2D mesh)的方式连接、以线性阵列(linear array)的方式连接、以环绕(torus)的方式连接、以折叠环绕(folded torus)的方式连接、以二叉树(binarytree)或以胖树(fat-tree)的方式连接。IP块IP可实现为具有特定或专用功能的芯片上模块(如CPU、存储器、数字信号处理器等)。此外,示出了在NI6和NI1之间用于IP6与IP1的通信的具有例如100MB/s带宽的用户连接或用户通信通路C。提供监控业务接入单元作为用于监控数据的中央接入点。
通过芯片上网络NOC而传送的、来自IP块IP的信息将在网络接口NI处被转换为具有可变长度的分组。来自IP块IP的信息通常包括地址所遵循的命令和在网络上传输的实际数据。网络接口NI将来自IP块IP的信息划分为被称为分组的片段,并给每一个分组加上分组报头。这样的分组报头包括允许数据在网络上传输的额外信息(如目的地址或路由通路、以及流控制信息)。相应地,每一个分组被划分为flit(流控制数),其可通过芯片上网络来传播。Flit可以被看作发生控制的最小粒度。需要端到端的流控制,以确保:除非目的缓冲器中有足够的可用空间,否则不发送数据。
IP块之间的通信可以是基于连接的或是基于无连接通信的(即非广播通信,如多层总线、AXI总线、AHB总线、基于交换的总线(switch-based bus)、多芯片互连(multi-chip interconnect)或多芯片跳互连(multi-chip hop interconnect))。实际上,网络可以是子网络或子互连结构的集合(分等级布置的或其他布置方式),网络可以跨越多个模具(如在分组的系统中)或跨越多个芯片(包括多个ASIC、ASSP和FPGA)。此外,如果正在对系统进行原型化(prototyped),则网络可以连接模具、芯片(特别包括FPGA)、以及运行原型化&调试软件的计算机(PC)、监控业务接入点MSA、或系统的功能部件。如实施例所示,优选地,用于对数据进行调试的互连与用于功能的互连相同。然而,也可以是(部分)不同的互连(如更低速的令牌、环、总线或网络)。
图2a示出了根据第一实施例的芯片上系统的方框图。此处示出了三个监控器M1、M2、M3,其通过监控网络接口MNI1-MNI3耦合到各自的路由器R1-R3。路由器R1-R3通过芯片上网络N耦合到目的网络接口DNI,以使得来自监控器M1-M3的数据能够通过三个连接C1、C2、C3分别被转发到目的网络接口DNI。目的网络接口DNI包括三个缓冲器B(即每连接一个缓冲器)。特别地,第一路由器R1通过链路L9耦合到网络N。路由器R2通过链路L10耦合到网络N。路由器R3通过链路L8耦合到网络N。优选地,监控网络接口MNI实现为标准网络接口,其连接到监控器M1-M3以便将监控器M耦合到网络N。目的网络接口DNI也可以实现为标准网络接口,其用于在主IP块IP需要监控业务的情况下将主IP块IP连接到网络NOC。链路L0、L1、L3、L4、L6、L7可以是单向链路,而L2、L5、L8、L9、L10可以是双向链路。链路L0和L1(以及链路L3+L4和链路L6+L7)形成分别将监控网络接口MNI连接到路由器R1、R2和R3的双向链路。优选地,连接C1、C和C3是可仅需要小于系统基本时隙的低带宽连接,例如预留的原子单位(如时隙)的1/10(U的1/10)。然而,由于最小预留单位与U对应,所以即使没有充分利用时隙,在路由器R1、R2和R3中也必须预留时隙。相应地,在路由器中,特别是沿着通往目的网络接口DNI的连接通路,每一个连接都需要时隙。
图2b示出了根据图2a的芯片上系统中针对连接的时隙预留的时隙表的图示。第一连接C1从与第一监控器M1相关联的监控网络接口MNI1延伸到路由器R1,沿着链路L9延伸到网络N,接着延伸到目的网络接口DNI。第二连接C2从与第二监控器M2相关联的监控网络接口MNI2、经由链路L4延伸到第二路由器R2,从第二路由器R2、经由链路L10延伸到目的网络接口DNI。第三连接C3从与第三监控器M3相关联的监控网络接口MNI3、经由链路L7延伸到第三路由器R3,从路由器R3、经由链路L8延伸到目的网络接口DNI。因此,对于第一时隙S1,分别针对第一、第二和第三连接C1-C3预留链路L1、链路L4和链路L7。第二时隙S2分别用于第三、第一和第二连接预留链路L8、链路L9和链路L10。
图3a示出了根据第二实施例的、图1所示的芯片上系统的一部分的方框图。根据图3a的监控器、路由器和监控网络接口的布置与根据图2a的布置一致。这两个布置之间唯一的不同之处在于:仅有链路L8用在路由器R1-R3与芯片上网络N以及目的网络接口DNI之间。从路由器R3向网络NOC仅提供了单个链路L8,而不是提供每一个路由器与网络N之间的链路。将来自监控器M1的数据从监控网络接口MNI1经由链路L1和L2,路由到路由器R2,然后经由链路L3环回到监控网络接口MNI2。来自第二监控器M2的数据与来自监控器M1的数据在网络接口MNI2或监控器M2中组合。
然后,将结果数据经由链路L4和L5发往路由器R3,并经由链路6发往MNI3。相应地,来自监控器M3的数据与来自监控器M1和M2的已组合数据在MNI3或M3中组合。经由链路L7和L8发送来自第一、第二和第三监控器M1-M3的结果数据。
三个连接C1-C3合并成单个连接,使得从网络接口MNI3到网络之间仅需要单个连接。此外,目的网络接口DNI仅需要一个用于连接的缓冲器B。
对于本示例来说,连接C的聚集带宽(aggregate width)是1U的3/10(用于C1的1/10+用于C2的1/10+用于C3的1/10)。在从路由器R3到目的网络接口NI的通路上,在每一个路由器中必须仅预留1个时隙。下面将参照图8和图9,更详细地描述监控网络接口MNI中的数据组合。将参考图10更详细地描述监控器M中的数据组合。
图3b示出了根据第二实施例的时隙表预留的图示。此处,可以看出对于任何给出的时隙S1-S8,针对链路L1-L8中的每一条仅预留单个时隙。如果将根据第二实施例的表与根据第一实施例的表比较,则可以看出对于时隙S1,仅预留单个链路,而根据图2b预留了三条链路。
根据第二实施例,就至少部分相同的通路而言,在从路由器R3到目的网络接口NI的通路上仅需要一个连接(其中每路由器预留1个时隙),而不是具有3个连接(其中每路由器预留1个时隙)。
因此,合并后仅需要初始预留的带宽的1/3,在合并连接的通路上,路由器中用到更少的时隙,在目的网络接口NI处需要更少的缓冲器(即,一个缓冲器B,而不是根据图2a的三个缓冲器)。
图4a示出了根据第三实施例的、图1所示的芯片上系统的一部分的方框图。此处,仅示出监控网络接口MNI1-MNI4以及路由器R1-R5。第一连接C1从监控网络接口MNI1经由路由器R1、R4和R5延伸到监控网络接口MNI4。第二连接C2从监控网络接口MNI2经由路由器R2、R4和R5延伸到监控网络接口MNI4。第三连接C3从监控网络接口MNI3经由路由器R3、R4和R5延伸到监控网络接口MNI4。相应地,路由器R4与R5之间以及路由器R5与监控网络接口MNI4之间的链路L7和L8为三个连接所用。作为说明性的示例,连接C1-C3中的每一个占用可用带宽的1/3。
如果具有监控器的监控网络接口MNI在系统中不可用,则如下所述,仍然可以执行部分合并,但是没有通过监控网络接口MNI的环回(looping)。
图4b示出了根据第三实施例的时隙表预留的图示。特别地,针对不同的时间点t示出时隙表预留。针对时隙S1-S4示出了每一条链路的使用或预留。针对第一连接而预留的时隙由C1指示。第二连接所需要的时隙由C2指示,第三连接所需要的时隙由C3指示。被预留但实际未被引入(induced)的时隙由R指示。
图5a示出了根据第四实施例的、图1所示芯片上系统的一部分的方框图。根据图5a的监控网络接口MNI和路由器R与根据图4a的监控网络接口MNI和路由器R对应。第一、第二和第三连接C1-C3的通路与根据图4a的第一、第二和第三连接C1-C3的通路对应。然而,连接C1-C3在路由器R4中合并成单个连接C。
图5b示出了根据第四实施例的时隙表预留的图示。根据第四实施例,三个连接C1-C3合并成单个连接C。可以通过在这些连接当中共享链路L7和L8来实现这一点。
除时隙表外,每一个监控网络接口MNI可保持大小为3的小时隙MS1-MS3。由于原始连接仅需要1/3的可用带宽,在时隙表的3个循环(revolution)中仅产生一个分组。小时隙MS1-MS3包含监控网络接口MN1的信息,该信息是关于在哪个时隙表循环中可将数据置于网络N上。如果要有效使用上述小时隙MS1-MS3,则需要适配数据传送的调度。所保证的吞吐量flit在路由器中可能仅停留一个flit时钟。相应地,由于在连接当中共享链路L7和L8,即,在相同的时隙内共享这些链路,所以在任何先前的链路中必须重新布置时隙预留。这一点在将根据图5b的时隙预留表与根据图4b的表比较时清晰可见。
以同样的方式,目的MNI保持如下的小时隙:从该小时隙中,目的MNI得知在每一个时隙表循环中从哪个连接接收数据。
图6示出了根据第五实施例的芯片上系统的一部分的方框图。根据图6的芯片上系统的结构基本上与根据图3a的芯片上系统的结构对应。唯一的不同之处在于:除了具有其关联的监控网络接口MNI1-MNI3的三个监控器M1-M3以及对应的、耦合到网络N1一部分的路由器R1-R3之外,第四监控单元M4经由第四监控网络接口MNI4耦合到路由器R4。路由器R4经由网络N2的一部分耦合到目的网络接口DNI。第五实施例相当于第二和第四实施例的组合。来自监控器M1、M2和M3的数据首先在链路上合并,随后被环回并根据第二实施方式在MNI4或M4中与来自监控器M4的本地数据组合。
应当注意到的是,通过多个路由器来环回数据并不总是可能的,这是由于例如不可能有一条经过所有被探查或被监控的路由器的通路这一事实,或这是由于例如事件产生器的空间分布。
根据第五实施例,即使不可能通过多个路由器来环回数据,也可以通过如下方式来节省所预留带宽的部分:在网络N的特定点(如路由器R4)处将三个连接C1、C2和C3部分地合并成一个连接C,以通过其对应的监控网络接口MNI形成回路;以及将监控器M4的本地数据也聚集在连接C中。相应地,针对从路由器R4到目的网络接口DNI的通路上的连接C,必须仅预留一个时隙。相应地,带宽的节省仅应用于路由器R4与目的网络接口NI之间的通路。
作为非限定性的示例,时隙表的大小可以是256,连接C1、C2和C3均可需要最小预留单位的1/10。相应地,256个时隙的时隙表的每10个循环可需要一个分组。如果来自不同连接的分组在不同的时隙表循环中到达,则在与路由器R4相关联的监控网络接口MNI中不需要缓冲。可以通过如下方式来确保这一点:a)使用缓冲和计数器来防止监控网络接口MNI发送多于其所预留的(如基于速率的)数据;或b)使用小时隙表来选择监控网络接口MNI可发送数据的子时隙,该选择应基于非线路争夺来执行。
应当注意到,可以将第二、第三、第四和第五实施例组合,以便可以部分或全部合并现有连接。
图7示出了根据本发明的网络接口的方框图。网络接口NI包括复用器MUX、解复用器DEMUX、调度器SCHED以及多个缓冲器B。三个缓冲器B1-B3耦合到复用器MUX,复用器MUX根据调度器SCHED输出这三个缓冲器B1-B3的数据(其为从三个端口接收)。解复用器DEMUX接收数据并对该数据进行解复用,以使数据存储在三个缓冲器B4-B6中并可被输出到三个端口P1-P3。
图8示出了根据第六实施例的监控网络接口的图示。根据图8的监控网络接口的结构基本上与根据图7的网络接口的结构对应。此外,提供了耦合到解复用器DEMUX的缓冲器B7,且另外的复用器MUX1耦合到缓冲器B7的输出端和复用器MUX的输入端。复用器MUX1接收来自缓冲器B8的输出以及来自耦合到解复用器DEMUX的缓冲器B7的输出。缓冲器B8从第二端口P2(即,从监控器M)接收第二连接C2的数据。优选地,网络接口MNI经由第二端口P2耦合到监控器M,第二端口P2产生被作为第二连接C2而处理的数据流量。在缓冲器B8中对来自监控器M的数据进行缓冲。缓冲器B7的输出端耦合到解复用器,即来自连接C1的数据流量,并且缓冲器B8的输出端输入到复用器MUX1,其中复用器MUX1由仲裁器ARB控制。仲裁器ARB用于选择来自连接C1的数据或来自连接C2的数据。仲裁器ARB可以执行如轮转(round-robin)等任何仲裁策略。相应地,通过根据图8的网络接口,可以实现数据的环回或转发。根据图8的网络接口,仲裁器ARB基于当前时隙和小时隙,判决数据从哪个连接(C1或C2)转发到监控业务接入单元MSA。因此,对流控制进行处理无需进一步修改。
图9示出了根据第七实施例的监控网络接口的图示。根据图9的监控网络接口的结构基于根据图7的网络接口的结构。然而,根据第七实施例,在第一复用器MUX的输出端布置仲裁器ARB1所控制的第二复用器MUX2,在解复用器DEMUX的输入端布置第二解复用器DEMUX2,第二解复用器DEMUX2由控制单元ctrl控制。第二解复用器DEMUX接收来自第一连接C1的数据,并将该数据转发到第一解复用器DEMUX或通过附加缓冲器B9转发到第二复用器MUX2。因此,第二复用器MUX2从第一复用器(第二连接C2)或从对来自第一连接C1的数据进行缓冲的缓冲器B9接收数据。
在监控网络接口MNI-A中可以加入间接级(level of indirection)。控制单元ctrl控制网络接口NI输入端的数据是用于标准连接还是用于合并连接。如果数据用于合并连接,则其被放入C1队列缓冲器B9。如果数据不用于合并连接,则其被放入常规队列。仲裁器ARB1基于当前时隙和小时隙,判决数据将被从哪个连接(C1或C2)送往监控业务接入单元MSA。
然而,需要修改根据图9的流控制(特别是端到端流控制)。在源网络接口NI中进行分组化时,在分组报头中加入流控制数据(端到端流控制),其寻址到单个目的网络接口DNI。对于分组化,需要从源网络接口NI到目的网络接口NI的通路以及目的网络接口NI的队列ID queueID。因为从监控网络接口MNI-MSA发送的流控制(端到端流控制)必须既到达监控网络接口MNI-A又到达监控网络接口MNI-B,所以流控制可能成为问题。
这个问题可以在如下情况下得到解决:监控网络接口MNI-MSA保存或存储从监控网络接口MNI-MSA到监控网络接口MNI-B的通路(即,从监控网络接口MNI-MSA到监控网络接口MNI-B的通路相当于从监控网络接口MNI-MSA到监控网络接口MNI-A的通路和从监控网络接口MNI-A到MNI-B的通路)和监控网络接口MNI-B中的队列ID queueID。此外,监控网络接口MNI-A可以保存其自身队列的queueID。在监控网络接口MNI-MSA中进行分组化时,所提供的通路是从监控网络接口MNI-MSA到监控网络接口MNI-B的通路,所提供的queueID是监控网络接口MNI-B中的队列的queueID。备选地,将流控制发往监控网络接口MNI-A和监控网络接口MNI-B。
用于监控网络接口MNI-B的端到端流控制将不会造成问题。然而,当监控网络接口MNI-MSA中的分组化时使用的通路和队列IDqueueID不匹配监控网络接口MNI-A时,用于监控网络接口MNI-A的端到端流控制可能造成问题。通往监控网络接口MNI-A的通路已被包含在通往监控网络接口MNI-B的通路中,即,分组将经过监控网络接口MNI-A。如果监控网络接口MNI-A接收到该分组,并且如果该分组指定为监控网络接口MNI-A自身,则监控网络接口MNI-A将该分组与自身的、已知的队列的queueID联系起来。
备选地,监控网络接口MNI-MSA可以保存或存储从监控网络接口MNI-MSA到监控网络接口MNI-A的通路和MNI-A中的队列的queueID。监控网络接口MNA-A保存或存储监控网络接口MNI-B中的队列的queueID和通往监控网络MNI-B的通路。相应地,如果端到端流控制分组到达监控网络接口MNI-A,则也可以使用监控网络接口MSA-A中保存的信息将该端到端流控制分组发往监控网络接口MNI-B。在监控网络接口MNI-MSA中进行分组化时,所提供的通路是从监控网络接口MNI-MSA到监控网络接口MNI-A的通路,所提供的queueID是监控网络接口MNI-A中的队列的queueID。此处,备选地,将端到端流控制发往监控网络接口MNI-A以及监控网络接口MNI-B。被发往监控网络接口MNI-A的端到端流控制不会造成问题。然而,当监控网络接口MNI-MSA中的分组化时使用的通路和queueID不匹配监控网络接口MNI-B时,发往监控网络接口MNI-B的端到端流控制可能造成问题。如果监控网络接口MNI-A接收到该分组,并且如果该分组未指定为监控网络接口MNI-A自身,则用通往监控网络接口MNI-B的通路替换通往监控网络接口MNI-A的通路,用监控网络接口MNI-B中的队列的queueID替换监控网络接口MNI-A中的队列的queueID,即,分组将经过监控网络接口MNI-A。
图10示出了根据第八实施例的监控器示意图。此处,在该监控器中实现环回或转发机制,即,监控网络接口MNI中无需修改。然而,该解决方案关于缓冲的成本更高。需要两个缓冲器B16和B14,即,在监控网络接口MNI中需要一个(B16),在监控器中需要一个(B14),而根据第六实施例,仅在监控网络接口MNI中需要一个缓冲器。然而,无需新的监控网络接口MNI(其为标准网络接口)的设计。
可以在根据图8或图9的监控网络接口MNI中或在根据图10的监控器中实现环回或转发机制。监控器是来自图10的、连接到MNI的IP,例如用于调试目的。
图11示出了根据第九实施例的详细的监控单元的方框图。该监控单元或事务监控器(transaction monitor)可以经由嗅探器S耦合到路由器。嗅探器将经过关联的路由器的数据流量转发到监控单元M。监控单元可以耦合到网络接口MNI,通过该网络接口MNI,监控单元可以耦合到网络以转发该监控单元的结果。监控单元可以具有用于对来自嗅探器的原始数据进行滤波的多个块。优选地,这些滤波块串行耦合,以使得它们对其前一个块的输出进行滤波。监控单元的网络接口MNI可以实现为分离的网络接口,或可以与现有的网络接口合并。
监控单元可以嗅探所有路由器链路。链路选择单元LS将选择至少一条要被进一步分析的链路。可以提供用于使能和配置监控单元的使能/配置单元EC。监控单元可以具有两个端口,即:从端口SP,通过该从端口SP可以对监控单元进行编程。第二端口可以实现为:主端口MP,其用于通过网络接口将监控结果发往监控业务接入点MSA。
链路选择单元用于对来自所选链路的数据流量进行滤波,特别地,在所选链路上传递的所有flit被转发到下一个滤波块。通过对来自嗅探器的数据进行滤波,来减小下一个滤波块所要处理的数据流量的量。在下一个滤波块GB中,可以对所保证的吞吐量GT或尽力而为BE流量进行滤波,这也将导致仍需要被监控或被处理的数据流量的减小。通过例如可唯一标识每个连接的队列标识符和通路,连接滤波单元CF识别至少一个所选连接。如果使用目的路由,则可以基于目的地址(以及如果连接的队列标识符不是目的标识符的一部分,则还可基于连接的队列标识符)来对该连接进行滤波。
实现相同目的的其他实施例也是可能的。例如,其也可以由从端口SP编程得到。当队列标识符和通路可以是分组报头的部分时,可以通过连接滤波单元CF容易地识别。为了识别作为数据流量一部分的消息,需要对所选择的分组进行解分组(depacketized),以便针对任何相关的消息都能检查到分组的有效载荷。优选地,在解分组单元DP中执行该操作。可以将该解分组的结果转发到提取单元AU,在提取单元AU中监控并检查该消息以确定是否发生了事件。根据传输和网络协议的(不)相关性以及这些协议在分组&消息报头中的编码,解分组单元DP和提取单元AU可以是组合的或分离的。通过从端口SP和使能/配置块,可以对各个事件进行编程。
图12示出了根据第十实施例的系统的方框图。根据第十实施例的系统的组件基本上与根据图1的芯片上系统的组件对应。然而,在ASIC模具上布置组件的一部分(IP1-IP2、NI1、NI2、NI4、R1、R2、R4),而在FPGA或个人计算机PC(即,监控业务接入点MSA)上布置其他部件(IP3、IP6、NI3、NI6、NI5、R3、R5)。虽然系统的组件分布为其他多个独立部件,但总体操作与第一、第二或第三实施例相比没有改变。
本发明的原理与具有相同目的地的任何低带宽GT连接(调试、功能数据、性能分析、资源管理、网络管理)的聚集有关,这不必然要求带宽预留的原子单位的最小需求。
本发明的原理可以用在可针对流量而进行资源预留的任何互连(如芯片上网络、跨越多个芯片的网络等)中。示例是基于TDMA、速率控制的方案。
该解决方案显著地减少了低带宽连接集的带宽使用。其与更少的超尺寸(over-dimensioning)等效,以支持调试。由于通往目的NI的连接的数量减少,所以该解决方案还减小了的目的NI的大小。该解决方案减少了芯片上网络NoC内使用的资源(时隙)的数量。
此外,该解决方案为现有的芯片上网络NoC基础设施所支持,在MNI或调试监控器中,实现环回需要最少的额外硬件。
应当注意到,上述实施例是示出而不是限定本发明,且本领域技术人员将能够在不背离所附权利要求的保护范围的前提下,设计出很多备选实施例。在权利要求中,括号之间的任何参考标记不应解释为限定权利要求。词“包括(comprising)”并不排除除了权利要求中列出的元件或步骤之外的元件或步骤。元件之前的词“一个(a或an)”并不排除多个这样的元件存在。在列举了多个装置的设备权利要求中,这些装置中的多个可以体现为同一项硬件。在互不相同的从属权利要求中限定了特定手段的起码事实并不表示不能有利地结合使用这些手段。
此外,权利要求中的任何参考标记不应解释为限定权利要求的保护范围。
Claims (8)
1.一种电子设备,包括:
多个处理单元(IP1-IP6、M1-M4);
具有多条网络链路(L1-L6)的、基于网络的互连(N);
网络接口(NI、MNI、DNI),其与多个处理单元(IP1-IP6、M1-M4)中的至少一个相关联并用于将处理单元(IP1-IP6、M1-M4)耦合到基于网络的互连(N);
其中,所述多个处理单元(IP1-IP6、M1-M4)通过多条通信通路(C1-C4)彼此通信;
其中,如果至少两条通信通路(C1-C4)的组合带宽没有超出至少一条共享网络链路(L1-L6)的可用带宽,则将所述至少两条通信通路(C1-C4)沿所述至少一条共享网络链路(L1-L6)合并。
2.根据权利要求1所述的电子设备,其中
基于网络的互连(N)包括通过网络链路(L1-L8)而耦合的多个路由器(R1-R5);
其中,所述至少两条通信通路在耦合到共享网络链路(L1-L8)的路由器(R1-R5)中合并。
3.根据权利要求1所述的电子设备,其中,所述至少两条通信通路在网络接口(NI、MNI)中的一个中合并。
4.根据权利要求3所述的电子设备,其中
网络接口(NI、MNI、DNI)包括用于从第一通信(C1)接收数据的解复用器(DEMUX)以及耦合到解复用器(DEMUX)输出端的至少两个第一缓冲器(B4-B6),以及在输入端耦合到至少两个第二缓冲器(B1-B2)和第二复用器(MUX1)的第一复用器(MUX),
其中,所述第二复用器(MUX1)耦合到:解复用器(DEMUX)输出端的缓冲器(B7);以及缓冲器(B8),其耦合到网络接口(MNI、NI)的输入端口(P2),其中根据耦合到第二复用器(MUX1)的仲裁器(ARB)的仲裁,第二复用器(MUX1)将来自缓冲器(B8)的数据或来自缓冲器(B7)的数据转发到第一复用器(MUX)。
5.根据权利要求3所述的电子设备,其中
网络接口(NI、MNI、DNI)包括:第一解复用器(DEMUX1);耦合到解复用器(DEMUX)输出端的至少两个缓冲器(B4-B6);用于从第一通信(C1)接收数据并将数据转发到第一解复用器(DEMUX1)或缓冲器(B9)的第二解复用器(DEMUX2);在输入端耦合到至少两个缓冲器(B1-B3)的第一复用器(MUX1);以及耦合到第一复用器(MUX1)的输出端的第二复用器(MUX2),
其中所述第二复用器(MUX2)耦合到缓冲器(B9)以及第一复用器(MUX1)的输出端,其中根据耦合到第二复用器(MUX1)的仲裁器(ARB)的仲裁,第二复用器(MUX1)输出来自缓冲器(B9)的数据或来自第一复用器(MUX1)的数据。
6.根据权利要求3所述的电子设备,其中
网络接口(NI、MNI)包括输入和输出缓冲器(B16、B15),
多个处理单元(M1-M3)中的一个实现为监控单元(M)并包括:复用器(MUX)、输入缓冲器(B4)、事件产生器(EG)和仲裁器单元(ARB);
其中复用器(MUX)根据耦合到第二复用器(MUX1)的仲裁器(ARB)的仲裁,输出来自输入缓冲器(B14)的数据或来自事件产生器(EG)的数据。
7.一种芯片上系统,包括:
多个处理单元(IP1-IP6、M1-M4);
具有多条网络链路(L1-L6)的、基于网络的互连(N);
网络接口(NI、MNI、DNI),其与多个处理单元(IP1-IP6、M1-M4)中的至少一个相关联并用于将处理单元(IP1-IP6、M1-M4)耦合到基于网络的互连(N);
其中,多个处理单元(IP1-IP6、M1-M4)通过多条通信通路(C1-C4)彼此通信;
其中,如果至少两条通信通路(C1-C4)的组合带宽没有超出至少一条共享网络链路(L1-L6)的可用带宽,则将所述至少两条通信通路(C1-C4)沿所述至少一条共享网络链路(L1-L6)合并。
8.一种在电子设备内监控数据流量的方法,所述电子设备包括:多个处理单元(IP1-IP6、M1-M4);具有多条网络链路(L1-L6)的、基于网络的互连;与多个处理单元中的至少一个相关联的网络接口(NI、MNI、DNI),所述方法包括以下步骤:
将处理单元耦合到基于网络的互连,
其中,多个处理单元(IP1-IP6、M1-M4)通过多条通信通路(C1-C4)彼此通信;
如果至少两条通信通路(C1-C4)的组合带宽没有超出至少一条共享网络链路(L1-L6)的可用带宽,则将所述至少两条通信通路(C1-C4)沿所述至少一条共享网络链路(L1-L6)合并。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06116609 | 2006-07-05 | ||
EP06116609.6 | 2006-07-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101485162A true CN101485162A (zh) | 2009-07-15 |
Family
ID=38669164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800253978A Pending CN101485162A (zh) | 2006-07-05 | 2007-07-03 | 电子设备、芯片上系统以及用于监控数据流量的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090323540A1 (zh) |
EP (1) | EP2041933A2 (zh) |
CN (1) | CN101485162A (zh) |
WO (1) | WO2008004185A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119833A (zh) * | 2015-09-08 | 2015-12-02 | 中国电子科技集团公司第五十八研究所 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
CN105706403A (zh) * | 2013-09-12 | 2016-06-22 | 英派尔科技开发有限公司 | 片上网络中的电路交换预先预留 |
CN109617767A (zh) * | 2019-02-22 | 2019-04-12 | 盛科网络(苏州)有限公司 | 一种在芯片中报文环回处理的实时调试方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8661455B2 (en) * | 2009-04-21 | 2014-02-25 | International Business Machines Corporation | Performance event triggering through direct interthread communication on a network on chip |
CN102893268B (zh) * | 2010-05-27 | 2015-11-25 | 松下电器产业株式会社 | 总线控制装置以及向总线控制装置输出指示的控制装置 |
CN102567277A (zh) * | 2010-12-30 | 2012-07-11 | 世意法(北京)半导体研发有限责任公司 | 用于通过片上网络系统来降低功耗的方法 |
US8861386B2 (en) | 2011-01-18 | 2014-10-14 | Apple Inc. | Write traffic shaper circuits |
US8493863B2 (en) | 2011-01-18 | 2013-07-23 | Apple Inc. | Hierarchical fabric control circuits |
US8744602B2 (en) | 2011-01-18 | 2014-06-03 | Apple Inc. | Fabric limiter circuits |
US8649286B2 (en) * | 2011-01-18 | 2014-02-11 | Apple Inc. | Quality of service (QoS)-related fabric control |
FR2979444A1 (fr) * | 2011-08-23 | 2013-03-01 | Kalray | Reseau sur puce extensible |
US9053058B2 (en) | 2012-12-20 | 2015-06-09 | Apple Inc. | QoS inband upgrade |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549954B1 (en) * | 1997-01-16 | 2003-04-15 | Advanced Micro Devices, Inc. | Object oriented on-chip messaging |
WO1999022496A1 (en) * | 1997-10-28 | 1999-05-06 | Abrizio, Inc. | Stream-line data network |
US6633585B1 (en) * | 1999-08-13 | 2003-10-14 | International Business Machines Corporation | Enhanced flow control in ATM edge switches |
US6665816B1 (en) * | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US7315542B2 (en) * | 2002-09-30 | 2008-01-01 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Handling and discarding packets in a switching subnetwork |
-
2007
- 2007-07-03 WO PCT/IB2007/052590 patent/WO2008004185A2/en active Application Filing
- 2007-07-03 CN CNA2007800253978A patent/CN101485162A/zh active Pending
- 2007-07-03 US US12/307,404 patent/US20090323540A1/en not_active Abandoned
- 2007-07-03 EP EP07789870A patent/EP2041933A2/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105706403A (zh) * | 2013-09-12 | 2016-06-22 | 英派尔科技开发有限公司 | 片上网络中的电路交换预先预留 |
CN105706403B (zh) * | 2013-09-12 | 2019-01-08 | 英派尔科技开发有限公司 | 片上网络与片上网络中发送数据的方法 |
US10445287B2 (en) | 2013-09-12 | 2019-10-15 | Empire Technology Development Llc | Circuit switch pre-reservation in an on-chip network |
CN105119833A (zh) * | 2015-09-08 | 2015-12-02 | 中国电子科技集团公司第五十八研究所 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
CN105119833B (zh) * | 2015-09-08 | 2018-05-01 | 中国电子科技集团公司第五十八研究所 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
CN109617767A (zh) * | 2019-02-22 | 2019-04-12 | 盛科网络(苏州)有限公司 | 一种在芯片中报文环回处理的实时调试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2008004185A2 (en) | 2008-01-10 |
WO2008004185A3 (en) | 2008-03-06 |
US20090323540A1 (en) | 2009-12-31 |
EP2041933A2 (en) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101485162A (zh) | 电子设备、芯片上系统以及用于监控数据流量的方法 | |
JP5102831B2 (ja) | 電子デバイス、システムオンチップ、及びデータフロー監視方法 | |
AU2003298814B2 (en) | Method for verifying function of redundant standby packet forwarder | |
Ben-Itzhak et al. | HNOCS: modular open-source simulator for heterogeneous NoCs | |
KR100506323B1 (ko) | 네트워크 프로세서를 사용하는 네트워크 스위치 및 그의방법 | |
KR100466083B1 (ko) | 인터페이스 디바이스를 포함하는 장치 및 데이터 플로우 핸들링 방법 | |
US7100091B2 (en) | Method and system for testing networks | |
CN101485147B (zh) | 片上系统以及监控数据流通量的方法 | |
CN103460654B (zh) | 中继装置、中继装置的控制方法 | |
Ciordas et al. | NoC monitoring: Impact on the design flow | |
Carara et al. | Communication models in networks-on-chip | |
Kerrison et al. | A Benes Based NoC switching architecture for mixed criticality embedded systems | |
Rantala et al. | Multi network interface architectures for fault tolerant Network-on-Chip | |
Minhass et al. | Design and implementation of a plesiochronous multi-core 4x4 network-on-chip fpga platform with mpi hal support | |
JP2595350B2 (ja) | 分散制御高速接続回路スイッチ | |
Achballah et al. | Investigating the use of the AFDX protocol as a Network-On-Chip | |
Tedesco et al. | A message-level monitoring protocol for QoS flows in NoCs | |
Kirstadter et al. | Implementation of resilient packet ring nodes using network processors | |
Barczyk et al. | Network processors for a 1-MHz trigger-DAQ system | |
Coulson | An ASIC implementation of a multicast message routing switch for interprocessor communications | |
Albertengo et al. | D-Net: A laboratory prototype of a deflection network | |
Abdo | Hardware implementation of a packet switch with an optical core | |
Jacobsson | Use of Network Processors in the LHCb Trigger/DAQ System | |
Dufey et al. | Use of Network Processors in the LHCb Trigger/DAQ System | |
Nejad et al. | On-chip interconnect protocol stack exploration for FPGA board-to-board bridging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090715 |