CN101069174A - 用于同步数据通信量的数据处理系统和方法 - Google Patents
用于同步数据通信量的数据处理系统和方法 Download PDFInfo
- Publication number
- CN101069174A CN101069174A CNA2005800414167A CN200580041416A CN101069174A CN 101069174 A CN101069174 A CN 101069174A CN A2005800414167 A CNA2005800414167 A CN A2005800414167A CN 200580041416 A CN200580041416 A CN 200580041416A CN 101069174 A CN101069174 A CN 101069174A
- Authority
- CN
- China
- Prior art keywords
- subnet
- noc
- network
- data
- router
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- 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/39—Credit based
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种用于同步数据通信量的数据处理系统和方法。根据本发明的数据处理系统包括转换单元,该转换单元被设置成把应用在第一子网中的第一流控制方案转换成应用在第二子网中的第二流控制方案。该转换单元可以与另一个组件协作或者与另一个组件集成,该另一个组件例如是执行各子网之间的操作频率转换(时钟域交叉)的组件。为了流控制的正确运行,有必要对于第一子网和第二子网分别使用单独的流控制方案。所述转换单元在这些方案之间执行转换。例如,如果所述各流控制方案是基于信用度的,则该转换单元基于在第二流控制方案中可用的信用量来计算对应于第一流控制方案的正确信用量。如果必要的话,执行信用度转换。例如,当第一子网与第二子网中的微片大小不同时,执行信用度转换是必要的。所述转换单元把来自第二子网的信用度(所述信用度代表一定量的数据元素)变换成对应于第一子网的信用度。对于相同数量的数据元素,信用度的数目在第一子网与第二子网中可以分别是不同的。
Description
技术领域
本发明涉及一种处在至少一个集成电路上的数据处理系统,该数据处理系统包括至少两个模块和用来在所述各模块之间传送数据的网络,该数据处理系统被设置成应用一种流控制方案以便同步所述各模块之间的数据通信量,其中该网络包括第一子网和第二子网,第一子网与第二子网具有不同的操作条件。
本发明还涉及一种用于在至少一个集成电路上的数据处理系统中同步数据通信量的方法,该数据处理系统包括至少两个模块和用来在所述各模块之间传送数据的网络,其中该数据处理系统应用一种流控制方案以便同步所述各模块之间的数据通信量,该网络包括第一子网和第二子网,第一子网与第二子网具有不同的操作条件。
背景技术
芯片上网络(NoC)已经被提出,并且已经作为一种针对与高度复杂的芯片上的各模块的互连相关的问题的适当解决方案而被广泛接受。与诸如单总线或者总线分级结构之类的传统互连结构相比,所述网络概念具有许多重要的优点。举例来说,(i)网络能够令人满意地以深亚微米技术构造及管理连线,(ii)网络允许通过共享而实现良好的连线利用率,(iii)网络比起总线具有更好的扩展性,(iv)网络可以具有很高的能量效率并且可以非常可靠,并且(v)网络通过明确定义的接口将计算与通信分离,从而可以独立地设计所述模块和互连并且可以很容易地将它们集成在一起。
一个芯片上网络典型地包括多个路由器,所述路由器形成该网络的节点,并且所述路由器被设置成通过该网络传输及路由数据。此外,所述网络通常配备有所谓的网络接口,所述网络接口实现在连接到该网络的各模块与该网络自身之间的接口。所述各模块通常被归类为主模块和从属模块。主模块向从属模块发送请求消息,例如包括写入命令的请求消息,所述写入命令伴随有应当被写入到存储器(从属)模块中的数据。该从属模块可以发送回一则响应消息,该响应消息包括对于接收到该请求消息的确认,或者包括关于成功执行了由该主模块所请求的写入操作的指示。这种请求-响应机制常常被称作事务模型。请求与相应的响应的组合常常被称作事务。
芯片上网络是一个正在快速发展的研究和开发领域。近年来已经公开了许多进展,比如关于网络拓扑或者诸如网络接口、路由器和交换机之类的组件的设计。最近的一个很重要的进展是多芯片网络的概念。多芯片网络被划分为各个子网,所述子网专用于各模块之间的通信,所述各模块在更大的数据处理系统中形成子系统的一部分并且在该更大的数据处理系统中执行特定的功能。所述各子网驻留在不同的集成电路(管芯、板或芯片)上。或者,所述各子网可以驻留在单一芯片上。在后一种情况下,所述各子网可以具有不同的功率或电压域。
在本发明的情境中,US 6,018,782是特别相关的。US 6,018,782公开了一种单芯片集成电路,其包括在一个芯片上网络中互连的多个模块。所述各模块是处理器或存储器设备或混合设备。模块间链路提供用于在各模块之间进行数据通信的电路径。所述各模块通过模块间端口连接到该模块间链路,其中至少一个模块间端口耦合在相关模块与该模块间链路之间。该模块间链路将各模块间端口电耦合在一起,并且在各模块之间提供通信路径。所述芯片上网络还可以包括模块间网络交换机或者芯片间网络桥,所述模块间网络交换机用于接合所述模块间链路的电路并且把来自一条模块间链路的数据分组路由到另一条模块间链路,所述芯片间网络桥用来把两个单芯片集成电路接合成单一通信网络并且把来自一个计算机芯片上的各模块的数据分组路由到另一个计算机芯片上的各模块。
从US 6,018,782的图2和5可以看出,所述芯片间网络桥能够通过多个连接器来接合两个计算机芯片以便扩展所述芯片上网络。该芯片间网络桥优选地包括一个或多个输出缓冲器以及一个或多个输入缓冲器,所述输出缓冲器适于接受针对第二计算机芯片上的地址的外出数据,所述输入缓冲器适于接收针对该相关计算机芯片上的相关地址的进入数据。当输出缓冲器中的空间可用时,所述芯片间网络桥把将被传送到第二计算机芯片的数据接受到该输出缓冲器中。如果第二计算机芯片上的相应的芯片间网络桥用信号表示可以接受附加的数据,则该输出缓冲器中的所述数据通过所述连接器被传送到第二计算机芯片上的该相应的芯片间网络桥。
从US 6,018,782的说明书可以明显看出,所述网络桥只适用于驻留在不同集成电路上的各网络之间的通信,并且所述网络桥仅包括用于临时存储应当从一个网络发送到另一个网络的数据的缓冲装置。其中不存在用于对从一个网络到另一个网络的数据传输进行同步的机制。由于所述网络桥只提供了把网络耦合到另一个芯片从而扩展该网络的可能性,因此由该网络桥所提供的功能在这方面是十分有限的。所述网络桥还提供了相对简单的缓冲装置以便在(包括在另一个计算机芯片上的网络中的)相应的网络桥表示其无法接受附加数据时把数据排成队列。因此,这种网络桥的一个重要的缺陷在于,该网络桥无法适当地对从一个网络到另一个网络的数据通信量进行同步。
还可以明显看出需要有两个组件,特别是在第一计算机芯片上的网络桥以及在第二计算机桥上的协作网络桥,由于延长了等待时间,因此这两个网络桥的组合对于所述网络整体的性能具有负面影响。对于性能的负面影响是所述已知的网络桥的另一个缺陷。
另一相关文献是Mikko Alho和Jari Nurmi的“Implementation ofinterface router IP for Proteo Network-on-chip(用于Proteo芯片上网络的接口路由器IP的实现方式)”一文(Institute of Digital ComputerSystems,Tampere University of Technology,Finland)。在该文中介绍并且实现了一种用于(在Tampere University of Technology开发的)Proteo NoC的接口路由器IP。除了该接口路由器IP的实现方式之外,还简要地说明了多子网的概念以及说明了使用桥组件把各子网互连成一个更大的网络。然而,其中并没有对这些桥组件进行说明。在该文中并没有解决上面提到的缺乏数据通信量同步的问题,也没有把该问题作为由各个子网的不同特性造成的技术问题而提出来。
发明内容
本发明的一个目的是提供一种用于互连上面阐述的该类子网的装置和方法,所述装置和方法能够适当地同步各子网之间的数据通信量。该目的是通过如权利要求1所述的数据处理系统以及如权利要求7所述的方法而实现的。
根据本发明的数据处理系统包括转换单元,该转换单元被设置成把应用在第一子网中的第一流控制方案转换成应用在第二子网中的第二流控制方案。该转换单元可以与另一个组件协作或者与另一个组件集成,该另一个组件例如是执行各子网之间的操作频率转换(时钟域交叉)的组件。为了流控制的正确运行,有必要对于第一子网和第二子网分别使用单独的流控制方案。所述转换单元在这些方案之间执行转换。例如,如果所述各流控制方案是基于信用度(credit)的,则该转换单元基于在第二流控制方案中可用的信用量来计算对应于第一流控制方案的正确信用量。如果必要的话,执行信用度转换。例如,当第一子网与第二子网中的微片(flit)大小不同时,执行信用度转换是必要的。所述转换单元把来自第二子网的信用度(所述信用度代表一定量的数据元素)变换成对应于第一子网的信用度。对于相同数量的数据元素,信用度的数目在第一子网与第二子网中可以分别是不同的。
根据在权利要求2中所限定的本发明的第一方面,所述数据处理系统配置一种流控制方案以便对各模块之间的数据通信量进行同步,其中该流控制方案是基于存储在第一模块中的信用度,所述信用度代表可以由第二模块接收的数据量。这常常被称作基于信用度的流控制方案。
根据在权利要求3中所限定的本发明的另一方面,第一子网包括第一路由器,第二子网包括第二路由器,第一路由器的输出被耦合到所述转换单元的输入,并且该转换单元的输出被耦合到第二路由器的输入,其中第一路由器包括第一缓冲器单元,第二路由器包括第二缓冲器单元,该转换单元被设置成从第一缓冲器单元接收数据,并且该转换单元还被设置成存储数据以用于传输到第二缓冲器单元,该转换单元包括用于存储所述数据的中间缓冲器单元,其特征在于,第一缓冲器单元与该中间缓冲器单元之间的通信由第一流控制方案所控制,并且该中间缓冲器单元与第二缓冲器单元之间的通信由第二流控制方案所控制。所述各单独的流控制方案控制各单独的缓冲器对,并且所述转换单元在所述各流控制方案之间进行转换。
根据如权利要求4所述的本发明的另一方面,第一子网与第二子网使用具有不同大小的流控制单位,其中所述转换单元被设置成把由第二流控制方案使用的信用度转换成由第一流控制方案使用的信用度。这被称作信用度转换;在第二流控制方案中使用的信用度被变换成对应于第一流控制方案的信用度。
根据如权利要求5所述的本发明的另一方面,第一子网与第二子网驻留在不同的芯片上,所述数据处理系统配备有另一个转换单元,其中在所述转换单元与该另一个转换单元之间提供芯片外链路。利用另一个转换单元来扩展所述转换装置,该另一个转换单元与第一转换单元协作。当在各转换单元之间提供芯片外链路时上述做法是有利的。
根据如权利要求6所述的本发明的另一方面,第一子网与第二子网驻留在单一芯片上,第一子网与第二子网具有不同的时钟域,其特征在于,所述转换单元还被设置成提供时钟域交叉。在该实施例中,所述转换单元与用来执行所述时钟域交叉的装置集成在一起。
附图说明
下面参照附图更详细地描述本发明,其中:
图1示出了在集成电路上的网络中的通信路由器的已知配置;
图2示出了驻留在不同管芯上的通信路由器的已知配置;
图3示出了根据本发明的链路层桥的一个例子;
图4示出了根据本发明的另一个链路层桥的一个例子;
图5示出了基于信用度的链路层流控制的已知概念;
图6示出了包括在根据本发明的链路层桥中的桥缓冲器单元的一个例子;
图7示出了根据本发明的链路层桥和另一个链路层桥的应用;
图8示出了根据本发明的链路层桥的应用;
图9示出了导致缓冲器溢出的基于信用度的链路层流控制方案的使用;
图10示出了在根据本发明的链路层桥内的转换单元中使用流控制方案;
图11示出了根据本发明的两个链路层桥的应用的一个例子;
图12示出了根据本发明的链路层桥的体系结构的一个例子。
具体实施方式
图1示出了在集成电路上的网络中的通信路由器R1、R2的已知配置。该网络包括通过链路L1、L3连接的路由器R1、R2的集合。这两条链路都在特定的时钟或操作频率f1下操作。在性能(时钟频率、相位、比特宽度等等)方面,两个路由器R1、R2在所述路由器之间的链路L1上所看到的景象相同。这是当前盛行的芯片上网络视图。
图2示出了驻留在不同的管芯1、2上的通信路由器R1、R2的已知配置。所述网络可以被扩展成覆盖多个管芯,这一概念被称作多芯片或多管芯网络。路由器R1、R2是不同子网的一部分;在本例中是驻留在不同管芯上的子网。所述路由器R1、R2仍然希望在性能方面在链路L1上看到相同的景象,但是链路L1的性能可能不同于在路由器R1和R2的子网中的其他链路(例如链路L3)的性能。在这种情况下,链路L1与L3具有不同的时钟或操作频率,分别为f2和f1。对于链路L1和L3可以给出等同的性能,但是这样做对于各子网内的链路(比如L3)的利用率不足或者对于各子网之间的链路(L1)的利用率不足。另一种可能性将是使得路由器R1、R2知道链路L1不同于链路L3,但是这要求修改所述路由器并且使得所述路由器复杂化,这在路由器的成本和可再利用性方面是不合期望的。因此,一种更好的解决方案将是对于路由器R1和R2隐藏链路L1的不同性能。这可以通过配置根据本发明的转换单元来实现。所述转换单元可以被具体实现为链路层桥,这是因为该转换单元可以在OSI模型中的所谓的“链路层”上执行转换。
图3示出了根据本发明的链路层桥LLB1的一个例子。所述路由器R1、R2保持不变,并且该链路层桥LLB1在所述各网络内以及各网络之间可以再利用。该链路层桥LLB1的一个重要功能是对于路由器隐藏以下事实:该路由器用来与另一个路由器或网络接口进行通信的链路的特性与其所预期的特性不同。可以对于路由器隐藏的差异的例子是(OSI模型中的)物理层和链路层特性的差异,比如:
-介质(芯片上的铜与芯片外的光纤等等);
-时钟或操作频率(即速度);
-时钟相位;
-链路宽度;
-链路层流控制方案;
-操作模式(例如突发模式与恒定传输模式)。
所述链路层桥LLB1被设置成从链路L1到链路L3在物理层和链路层协议之间进行变换。路由器R1与路由器R2之间的通信以分组的形式发生。典型地,所述分组包括报头、有效载荷和报尾的至少其中之一。所述分组被进一步分解并且分配到所谓的流控制单位。一个流控制单位通常被称作“微片”。
图4示出了根据本发明的另一个链路层桥LLB2的一个例子。这种配置特别适用于驻留在不同管芯上的子网,其中第一链路层桥LLB1与第二链路层桥LLB2合作来提供路由器R1、R2之间的所述转换,所述路由器R1、R2被包括在对应的子网中。第一链路层桥LLB1与第二链路层桥LLB2之间的链路L2典型地将是芯片外链路。在这种情况下,所述转换采取一种步进式方法:首先执行从芯片上链路L1到芯片外链路L2的转换,随后执行从芯片外链路L2到芯片上链路L3的转换,反之亦然。因此,第一路由器R1与第二路由器R2之间的链路层流控制被分解成三个阶段:(1)链路L1上的流控制,(2)链路L2上的流控制,以及(3)链路L3上的流控制。下面将参照图10更详细地讨论(通过至少一个链路层桥LLB1)在两个或更多阶段中的链路层流控制的实现方式。
首先将讨论链路层流控制的原理。图5示出了基于信用度的链路层流控制的已知概念。两个路由器R1、R2被包括在单一子网中。所述路由器R1、R2通过直接链路L连接。通过链路L从第一路由器R1向第二路由器R2传送具有微片的形式的数据元素。所述路由器R1、R2包括缓冲器单元fifo1、fifo2,所述缓冲器单元被设置成例如在尚不能传送数据元素的情况下临时存储所述数据元素。假设所述缓冲器单元fifo1、fifo2中的单个位置容纳一个微片。或者可以使用另一种映射,比如一个缓冲器位置容纳一个字。第一路由器R1包括一个信用度(远程空间)计数器,该计数器的值代表第二路由器R2的缓冲器单元fifo2中的可用位置,即可以被成功地传送并且存储在第二路由器R2中的微片的数目。
初始地,如果第二路由器R2的缓冲器单元fifo2仍然是空的,则所述信用度(远程空间)计数器的值等于该缓冲器单元的大小。路由器R1可以发送与其所具有的信用度一样多的微片,即等于该信用度(远程空间)计数器的值的微片数目。当第一路由器R1向第二路由器R2传送数据时,第一路由器R1把该信用度(远程空间)计数器递减由该第一路由器R1所传送的微片的数量。当数据离开第二路由器R2的缓冲器单元fifo2时,把待报告信用度计数器的值递增已经离开该缓冲器单元的微片的数目。如果该待报告信用度计数器的值大于零,则把该值报告给第一路由器R1,在第一路由器R1中把该值加到所述信用度(远程空间)计数器的值上。按照这种方式,如果没有用于存储所述数据的缓冲器空间,则将不向第二路由器R2发送数据,因此将不会丢失数据(也就是说通信是无损的)。
图6示出了被包括在根据本发明的链路层桥LLB1中的桥缓冲器单元fifoB的一个例子。驻留在第一子网域1中的第一路由器R1(也被称作生产路由器)通过所述链路层桥LLB1向驻留在第二子网域2中的第二路由器R2(也被称作消费路由器)传送数据。该链路层桥LLB1包括该桥缓冲器单元fifoB,该桥缓冲器单元fifoB被设置成存储通过链路L1从第一路由器R1接收到的数据。例如需要这种数据存储来补偿操作频率的差异。
应当注意到,所述链路层桥LLB1可以包含多于一个缓冲器单元,例如可以包含一系列先进先出缓冲器单元。使用单一桥缓冲器单元fifoB可以被看作是一种抽象。本领域技术人员可以选择所述缓冲器的实际实现方式和位置。缓冲器实现方式的例子包括用于频率转换的双锁存器以及用于链路宽度转换的序列化器。
图7示出了根据本发明的链路层桥LLB1和另一个链路层桥LLB2的应用。在该例中,第一路由器R1和链路层桥LLB1驻留在第一集成电路芯片1上。第二路由器R2和另一个链路层桥LLB2驻留在第二集成电路芯片2上。在第一集成电路芯片1与第二集成电路芯片2之间的芯片外链路的特性通常与所述芯片上链路的特性大不相同。两个链路层桥LLB1、LLB2分别具有桥缓冲器单元fifoB、fifoB’,所述桥缓冲器单元被配置来进行从第一集成电路芯片1到第二集成电路芯片2的流控制方案转换。
图8示出了根据本发明的链路层桥LLB1的应用。在该例中,第一路由器R1被包括在第一子网NoC中,第二路由器R2被包括在第二子网NoC 2中。第一子网NoC与第二子网NoC 2具有不同的操作条件。所述链路层桥LLB1把配置在第一子网NoC中的流控制方案转换成配置在第二子网NoC 2中的流控制方案。应当注意到,该链路层桥LLB1在概念上形成全部两个子网的一部分,或者其驻留在所述子网之间,这取决于对所述概念的解释。该链路层桥LLB1物理上可以例如是驻留在其中一个子网内的经过适配的网络接口组件、类似于图7所示的配置的两个链路层桥组件的组合、或者可以是由本领域技术人员选择的另一种实现方式。
图9示出了可能导致缓冲器溢出的基于信用度的链路层流控制方案的使用。如果将不对所述基于信用度的链路层流控制机制进行适配以便考虑到链路层桥LLB1的存在,则路由器R1的所述信用度计数器中的信用度将不反映所述桥缓冲器单元fifoB中的空闲空间,而是反映路由器R2的缓冲器单元fifo2中的空闲空间。如果该桥缓冲器单元fifoB比该缓冲器单元fifo2更慢并且更小,则即使当信用度数目大于零时该桥缓冲器单元fifoB仍然可能填满。结果,在所述链路层桥LLB1中将出现缓冲器溢出,从而导致数据丢失。
图10示出了在根据本发明的转换单元中使用流控制方案。在该例中,每一对缓冲器单元(分别是fifo1-fifoB和fifoB-fifo2)具有单独的流控制机制,该单独的流控制机制避免所述桥缓冲器单元fifoB的溢出。应当注意到,缓冲器fifo1、fifoB与fifo2可以具有不同的大小。假设信用度与微片相关联,即一个信用度代表一个微片,但是其他映射也是可能的。在大多数芯片上网络中,微片是所能处理的最小数据量。例如,一个微片可以由多个字构成。微片大小是可变的,这意味着不同的(子)网络可以配置不同的微片大小,但是在一个(子)网络中微片大小是固定的。
如上所述,由于所述流控制机制已经被划分成对应于缓冲器对fifo1-fifoB和fifoB-fifo2的单独的流控制机制,因此可以避免所述链路层桥LLB1中的缓冲器溢出。然而,如果微片大小在各子网中是不同的,则附加地需要信用度转换。例如,如果路由器R1的子网中的微片大小是2个字,而路由器R2的子网中的微片大小是4个字,那么离开该链路层桥LLB1的三个4字微片必须被变换成将要报告给路由器R1的六个信用度。或者,如果路由器R1的子网中的微片大小是3个字,而路由器R2的子网中的微片大小是4个字,那么离开该链路层桥LLB1的三个4字微片必须被变换成将要报告给R1的四个信用度。
图11示出了根据本发明的两个链路层桥的应用的一个例子。两个集成电路芯片1、芯片2包括运行在不同操作频率f1、f2下的网络。这两个集成电路通过作为外部串行链路的芯片间链路连接。两个链路层桥被用来实现流控制方案的转换。该外部链路对于两个网络是透明的。
图12示出了根据本发明的链路层桥的体系结构的一个例子。只有在“信用度”的值为正从而“pos”具有逻辑高值时该桥才能通过数据2发送数据。当由该桥发送的数据的接收器通过“inc2”向回发送信号时,递增“信用度”计数器。当“数据2”被进一步发送时(“有效2”和“接受2”都具有逻辑高值),与该队列相关联的信用度(“信用度”)被递减。产生一个信用度,该信用度通过fifo缓冲器单元跨越时钟域边界,并且导致“待报告信用度”计数器被递增。通过dec1把该“待报告信用度”向回报告给向该桥发送数据的路由器/NI。
应当说明,本发明的保护范围不限于这里描述的实施例。本发明的保护范围也不限于权利要求中的附图标记。“包括”一词不排除权利要求中所提到的部件之外的其他部件。元件前面的“一个”不排除多个这种元件。形成本发明的一部分的装置可以以专用硬件的形式实现或者也可以以经过编程的通用处理器的形式实现。本发明在于每一个新颖特征或特征组合。
Claims (7)
1、一种处在至少一个集成电路上的数据处理系统,该数据处理系统包括至少两个模块和用来在所述各模块之间传送数据的网络,该数据处理系统被设置成应用流控制方案来同步所述各模块之间的数据通信量,其中该网络包括第一子网(NoC)和第二子网(NoC 2),第一子网(NoC)与第二子网(NoC 2)具有不同的操作条件,其特征在于,该数据处理系统还包括转换单元(LLB1),该转换单元被设置成把应用在第一子网(NoC)中的第一流控制方案转换成应用在第二子网(NoC2)中的第二流控制方案。
2、如权利要求1所述的数据处理系统,其中,用于同步所述各模块之间的数据通信量的所述流控制方案基于存储在第一模块中的信用度,所述信用度代表可以由第二模块接收的数据量。
3、如权利要求1所述的数据处理系统,其中,第一子网(NoC)包括第一路由器(R1),第二子网(NoC 2)包括第二路由器(R2),第一路由器(R1)的输出被耦合到所述转换单元(LLB1)的输入,并且该转换单元(LLB1)的输出被耦合到第二路由器(R2)的输入,其中第一路由器(R1)包括第一缓冲器单元(fifo1),第二路由器(R2)包括第二缓冲器单元(fifo2),该转换单元(LLB1)被设置成从第一缓冲器单元(fifo1)接收数据,并且该转换单元(LLB1)还被设置成存储数据以用于传送给第二缓冲器单元(fifo2),该转换单元(LLB1)包括用于存储所述数据的中间缓冲器单元(fifoB),其特征在于,第一缓冲器单元(fifo1)与该中间缓冲器单元(fifoB)之间的通信由第一流控制方案所控制,并且该中间缓冲器单元(fifoB)与第二缓冲器单元(fifo2)之间的通信由第二流控制方案所控制。
4、如权利要求3所述的数据处理系统,其中,第一子网(NoC)与第二子网(NoC 2)使用具有不同大小的流控制单位(微片),其中所述转换单元(LLB1)被设置成把由第二流控制方案使用的信用度转换成由第一流控制方案使用的信用度。
5、如权利要求1所述的数据处理系统,其中,第一子网(NoC)与第二子网(NoC 2)驻留在不同的芯片(芯片1、芯片2)上,所述数据处理系统配备有另一个转换单元(LLB2),其中在所述转换单元(LLB1)与该另一个转换单元(LLB2)之间提供芯片外链路。
6、如权利要求1所述的数据处理系统,其中,第一子网(NoC)与第二子网(NoC 2)驻留在单一芯片上,第一子网(NoC)与第二子网(NoC 2)具有不同的时钟域,其特征在于,所述转换单元(LLB1)还被设置成提供时钟域交叉。
7、一种用于在至少一个集成电路上的数据处理系统中同步数据通信量的方法,该数据处理系统包括至少两个模块和用来在所述各模块之间传送数据的网络,其中该数据处理系统应用流控制方案来同步所述各模块之间的数据通信量,该网络包括第一子网(NoC)和第二子网(NoC 2),第一子网(NoC)与第二子网(NoC 2)具有不同的操作条件,其特征在于,该数据处理系统还包括转换单元(LLB1),该转换单元被设置成把应用在第一子网(NoC)中的第一流控制方案转换成应用在第二子网(NoC 2)中的第二流控制方案。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106213 | 2004-12-01 | ||
EP04106213.4 | 2004-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101069174A true CN101069174A (zh) | 2007-11-07 |
Family
ID=36499461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800414167A Pending CN101069174A (zh) | 2004-12-01 | 2005-11-29 | 用于同步数据通信量的数据处理系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080144670A1 (zh) |
EP (1) | EP1839183A2 (zh) |
JP (1) | JP2008522526A (zh) |
CN (1) | CN101069174A (zh) |
WO (1) | WO2006059277A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394732A (zh) * | 2011-09-06 | 2012-03-28 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
CN103842929A (zh) * | 2011-09-30 | 2014-06-04 | 英特尔公司 | 在管芯上系统结构中管理边带段 |
CN104054065A (zh) * | 2011-10-28 | 2014-09-17 | 卡尔雷公司 | 片上网络中的流管理 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962786B2 (en) * | 2006-11-17 | 2011-06-14 | Nokia Corporation | Security features in interconnect centric architectures |
US8174977B2 (en) * | 2007-07-06 | 2012-05-08 | Hewlett-Packard Development Company, L.P. | End-to-end flow control in a network |
US7827325B2 (en) * | 2007-10-31 | 2010-11-02 | International Business Machines Corporation | Device, system, and method of speculative packet transmission |
JP5543894B2 (ja) * | 2010-10-21 | 2014-07-09 | ルネサスエレクトロニクス株式会社 | NoCシステム及び入力切替装置 |
CN101986741B (zh) * | 2010-11-19 | 2013-09-11 | 中国船舶重工集团公司第七〇九研究所 | Manet中基于节点信誉划分虚拟子网的方法 |
US8798038B2 (en) | 2011-08-26 | 2014-08-05 | Sonics, Inc. | Efficient header generation in packetized protocols for flexible system on chip architectures |
US8711867B2 (en) * | 2011-08-26 | 2014-04-29 | Sonics, Inc. | Credit flow control scheme in a router with flexible link widths utilizing minimal storage |
US9473415B2 (en) * | 2014-02-20 | 2016-10-18 | Netspeed Systems | QoS in a system with end-to-end flow control and QoS aware buffer allocation |
US9584429B2 (en) * | 2014-07-21 | 2017-02-28 | Mellanox Technologies Ltd. | Credit based flow control for long-haul links |
US9367370B2 (en) * | 2014-08-25 | 2016-06-14 | Empire Technology Development Llc | NOC loopback routing tables to reduce I/O loading and off-chip delays |
US10152112B2 (en) | 2015-06-10 | 2018-12-11 | Sonics, Inc. | Power manager with a power switch arbitrator |
US10075383B2 (en) * | 2016-03-30 | 2018-09-11 | Advanced Micro Devices, Inc. | Self-timed router with virtual channel control |
US10671554B1 (en) * | 2019-02-08 | 2020-06-02 | Advanced Micro Devices, Inc. | Credit based flow control mechanism for use in multiple link width interconnect systems |
US10951549B2 (en) | 2019-03-07 | 2021-03-16 | Mellanox Technologies Tlv Ltd. | Reusing switch ports for external buffer network |
US11558316B2 (en) | 2021-02-15 | 2023-01-17 | Mellanox Technologies, Ltd. | Zero-copy buffering of traffic of long-haul links |
US11973696B2 (en) | 2022-01-31 | 2024-04-30 | Mellanox Technologies, Ltd. | Allocation of shared reserve memory to queues in a network device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018782A (en) * | 1997-07-14 | 2000-01-25 | Advanced Micro Devices, Inc. | Flexible buffering scheme for inter-module on-chip communications |
DE19848340A1 (de) * | 1998-10-21 | 2000-04-27 | Philips Corp Intellectual Pty | Lokales Netzwerk mit Brücken-Terminal zur Übertragung von Daten zwischen mehreren Sub-Netzwerken |
US7304949B2 (en) * | 2002-02-01 | 2007-12-04 | International Business Machines Corporation | Scalable link-level flow-control for a switching device |
US7356633B2 (en) * | 2002-05-03 | 2008-04-08 | Sonics, Inc. | Composing on-chip interconnects with configurable interfaces |
US6859437B2 (en) * | 2002-11-05 | 2005-02-22 | Nortel Networks Limited | Method and system for extending the reach of a data communication channel using a flow control interception device |
US7397764B2 (en) * | 2003-04-30 | 2008-07-08 | Lucent Technologies Inc. | Flow control between fiber channel and wide area networks |
-
2005
- 2005-11-29 CN CNA2005800414167A patent/CN101069174A/zh active Pending
- 2005-11-29 US US11/720,207 patent/US20080144670A1/en not_active Abandoned
- 2005-11-29 JP JP2007543962A patent/JP2008522526A/ja active Pending
- 2005-11-29 WO PCT/IB2005/053954 patent/WO2006059277A2/en not_active Application Discontinuation
- 2005-11-29 EP EP05820492A patent/EP1839183A2/en not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394732A (zh) * | 2011-09-06 | 2012-03-28 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
CN102394732B (zh) * | 2011-09-06 | 2013-09-18 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
CN103842929A (zh) * | 2011-09-30 | 2014-06-04 | 英特尔公司 | 在管芯上系统结构中管理边带段 |
US9489028B2 (en) | 2011-09-30 | 2016-11-08 | Intel Corporation | Managing sideband segments in on-die system fabric |
CN103842929B (zh) * | 2011-09-30 | 2016-12-21 | 英特尔公司 | 在管芯上系统结构中管理边带段 |
CN103842929B8 (zh) * | 2011-09-30 | 2017-05-10 | 英特尔公司 | 在管芯上系统结构中管理边带段 |
CN104054065A (zh) * | 2011-10-28 | 2014-09-17 | 卡尔雷公司 | 片上网络中的流管理 |
CN104054065B (zh) * | 2011-10-28 | 2017-05-10 | 卡尔雷公司 | 片上网络中的流管理 |
Also Published As
Publication number | Publication date |
---|---|
JP2008522526A (ja) | 2008-06-26 |
WO2006059277A2 (en) | 2006-06-08 |
WO2006059277A3 (en) | 2006-10-12 |
US20080144670A1 (en) | 2008-06-19 |
EP1839183A2 (en) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101069174A (zh) | 用于同步数据通信量的数据处理系统和方法 | |
US6044087A (en) | Interface for a highly integrated ethernet network element | |
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
CN101252537B (zh) | 一种交换网通信系统、方法和主控板 | |
CN1965606B (zh) | 用于时隙分配的集成电路和方法 | |
EP2009554A1 (en) | Method for transferring data from a source target to a destination target, and corresponding network interface | |
EP2003823B1 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
US20090080885A1 (en) | Scheduling method and system for optical burst switched networks | |
CN1695130A (zh) | 网状结构内的多端口高速串行结构互连芯片 | |
CN101052013A (zh) | 一种网络设备内部管理通道实现的方法及系统 | |
CN101052053A (zh) | 一种实现网口切换的方法、系统及单板 | |
JP2003008619A (ja) | パケット通信装置 | |
CN1731754A (zh) | 一种适用于强电磁干扰环境下的高性能光纤can通讯系统 | |
CN111131408B (zh) | 一种基于fpga的网络协议栈架构设计方法 | |
Yang et al. | NISAR: An AXI compliant on-chip NI architecture offering transaction reordering processing | |
US20040081096A1 (en) | Method and device for extending usable lengths of fibre channel links | |
CN1889483A (zh) | 框间互连的通信系统及其数据交换方法 | |
CN101069434B (zh) | 用于转换及同步数据通信量的数据处理系统和方法 | |
CN101702714A (zh) | 计算机系统中的基于信用的流动控制的方法、系统和设备 | |
CN100372334C (zh) | 一种实现在光网络中传输InfiniBand数据的设备及方法 | |
Nejad et al. | An FPGA bridge preserving traffic quality of service for on-chip network-based systems | |
CN1299477C (zh) | 在多层网络交换机中实现多路线速atm接口的方法 | |
CN103248585A (zh) | 一种高效能的服务器中继交换芯片 | |
CN1662894A (zh) | 包括时隙总线和若干缓冲器的交换装置 | |
CN218243548U (zh) | 车辆线束系统及车辆 |
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 |