集成电路和发送请求的方法

文档序号:7577189阅读:222来源:国知局
专利名称:集成电路和发送请求的方法
技术领域
本发明涉及一种如权利要求1的前序部分所述的集成电路。本发明涉及一种如权利要求7的前序部分所述的用于发送请求的方法。
请求-响应事务处理模型经常被用来作为一种用于集成电路上系统的通信模型。该事务处理模型既可以在采用总线体系结构的系统中配置,也可以在采用网络体系结构的系统中配置,以便在模块之间建立通信。在集成电路上的网络上采用这样一个事务模型,提供与例如总线的现有互连的后向兼容。
该事务处理模型使用请求和响应。一个请求包含一个带有诸如地址或脉冲串长度的参数的命令(例如读、写),并且可选地,该请求包含一个数据部分。响应则携带一个表明对一个请求的执行结果的确认,并且可选地,该响应携带一个数据部分。
另一个通信模型是采用消息和确认的消息-传送模型。这样一个确认表明对一个消息的接收而不是对一个请求的执行。
在集成电路上的网络中,第一模块(亦称主块、主模块或发起者)一般能访问一个地址空间,其中,地址标识第二模块(亦称从属块、从属模块或目标)内的位置。根据情况,可能有必要同时寻址两个或更多的第二模块。例如,当需要由两个或更多的第二模块同时开始对请求的执行、并且所述的开始是通过向在地址空间中映射的开始寄存器的写入而执行时,就需要这样做;必须同时对所有这些开始寄存器进行写入。另一个例子是当数据被复制到不同的存储器以便被本地地处理的时候。在这些情况中,第一模块复制请求,并将所产生的多个复制的请求发送到各第二模块。这样做的缺点是,第一模块不能用一个单一地址把一个请求发送到一个以上的第二模块,而是必须复制请求,然后用对于每个第二模块都不同的地址把所复制的请求发送到各第二模块。这就造成对第一模块的很大负担。
本发明的一个目的是提供一种集成电路和所述的那种减少第一模块上的负担的方法。为了实现所述目的,该集成电路的特征在于权利要求1的特征部分,该方法的特征在于权利要求7的特征部分。
通过提供一个能够将一个请求复制成至少两个复制的请求、并且能向各第二模块发送所复制的请求的网络,能减少第一模块上的负担。如果网络能执行这些任务,则第一模块就免于执行这些任务。
权利要求2中限定一个实施例,其中,网络包含一种用于把至少一个专用地址(也称多点传送地址)映射到至少两个另外的地址的设备(facility)。这就使第一模块能向一个单一的地址发送一个单一的请求,而不是复制请求并把所复制的请求发送到不同的地址。
也有可能把一个或多个多点传送地址映射到一个或多个其它多点传送地址;这个实施例在权利要求3中限定。这个实施例具有不应发生循环的约束。
根据具体情况,一次性地规定多点传送地址的一个范围而不是规定若干单独的多点传送地址是方便的。在权利要求4中限定的这个实施例提供一种用于定义这样的一个多点传送地址范围的设备。
另一个实施例在权利要求5中限定,其中,配置一个多点传送连接,以免除第一模块进行复制及分送任务。第一模块能发送一个包含一个指示这样一个连接的连接标识符的单一请求;网络然后将这个单一请求复制成至少两个复制的请求,并通过该连接把所复制的请求发送到各第二模块。
可以用网络中的一个或多个专用节点来复制单一请求和发送所复制的请求。在权利要求6中限定的实施例包含一个用于复制单一请求和发送所复制的请求的网络接口。
本发明克服了集成电路上的网络中的多点传送事务处理的缺点,因为网络能响应来自第一模块的单一请求而向至少两个第二模块提供一个多点传送请求。
注意到US 2002/0093964公开了一种用于交换数据的路由器(数据交换节点)和监管器(supervisors)的协议。该路由器能向监管器发送命令,包括学习/删除/搜索多点传送地址命令。监管器向路由器提供关于必须被路由的多点传送包的信息。然而,监管器并不执行实际的多点传送;路由器必须执行这个多点传送。所述的那种多点传送的方法在US 2002/0093964中没有公开。
参照附图更详细地说明本发明,附图中

图1表示一个集成电路上的网络;
图2表示一个多点传送的方法,其中至少两个复制的请求被从一个第一模块发送到至少两个第二模块;图3表示如何用地址来寻址第二模块;图4表示按照本发明的一种多点传送的方法;图5表示按照本发明是如何使用多点传送地址的;图6表示一个多点传送范围;图7表示按照本发明的一个多点传送连接。
图1示意性地表示一种集成电路IC,它配置一个网络,用于在M1、M2、M3直至且包括Mn的多个模块之间的通信。模块的例子是中央处理单元(CPU)、专用处理器、存储器和存储器控制器。网络包含N1、N2直至且包括Nx的节点和各节点之间的连接。这个网络体系结构提供模块之间的互连,并能被配置在集成电路上,作为对常规总线体系结构的一种替代。
图2表示一个多点传送的方法,其中至少两个复制的请求REQ2、REQ3直至且包括REQn被从一个第一模块M1发送到至少两个第二模块M2、M3直至且包括Mn。第二模块M2、M3直至且包括Mn向第一模块M1发送回响应RESP2、RESP3直至且包括RESPn。这个多点传送方法的缺点是,第一模块M1不能用一个单一地址向所述两个第二模块M2、M3直至且包括Mn发送一个请求,而是必须复制该请求并用对于每个第二模块都不同的地址把所复制的请求REQ2、REQ3直至且包括REQn发送到各第二模块。这导致第一模块M1上的很大负担。
图3表示如何用地址来寻址各第二模块M2、M3直至且包括Mn。地址空间ADDR_SPC包含0直到且包括EFFF的一个地址范围。该范围的包含地址0直至且包括AFFF的第一子范围与第二模块M2相关联,包含地址B000直至且包括EFFF的第二子范围与第二模块M3相关联。为了向第二模块M2和M3二者都发送一个请求,第一模块M1必须复制该请求,然后把一个复制的请求发送到0直至且包括AFFF的第一子范围中的一个地址(例如地址3A98),并把另一个复制的请求发送到B000直至且包括EFFF的第二子范围中的一个地址(例如地址C350)。
图4表示按照本发明的一种多点传送的方法。第一模块不向第二模块M2、M3直至且包括Mn发送复制的请求,而是能发送一个单一请求SREQ,它被网络复制,并被分发到两个或更多的第二模块。这例如可以通过使用一个或多个用来指定各第二模块的地址的专用地址来实现。这样的专用地址(也称作多点传送地址)在地址空间中被映射到各第二模块M2、M3直至且包括Mn的地址。网络执行对单一请求SREQ的复制,产生至少两个复制的请求SREQ2、SREQ3直至且包括SREQn,它们被发送到各第二模块M2、M3直至且包括Mn。网络也可以为了这个目的而配置一个网络接口;或者可以采用一个或多个专用节点。
图5表示一个多点传送地址与两个分别与第二模块M2和M3相关联的地址之间的映射。该多点传送地址必须被配置成使得它与各第二模块M2和M3中的每一个的地址中的至少一个相关联;这可以通过配置网络的引导代码进行或者可以在运行时间进行。在这个例子中,地址空间ADDR_SPC包含常规地址0直到(且包括)EFFF的一个范围,这些地址与各第二模块直接关联。假设包含在网络中的一个网络接口NI执行对请求的复制并把所复制的请求发送到第二模块M2和M3。
将一个也称作多点传送地址的专用地址F000映射到两个常规地址位于与第二模块M2相关联的子范围0直到且包括AFFF中的地址3A98,和位于与第二模块M3相关联的子范围B000直到且包括EFFF中的地址C350。这样一个映射例如可以通过使用一个查找表或者通过一个逻辑运算进行。现在,第一模块M1就能向多点传送地址F000发送一个请求,然后,该请求被网络接口NI复制并发送到分别与第二模块M2和第二模块M3相关联的地址3A98和C350注意有可能一个多点传送地址被映射到另一个多点传送地址,但是必须避免循环,即不应将一个第一多点传送地址映射到一个进而又被映射到该第一多点传送地址的第二多点传送地址。也要注意的是,有可能一个多点传送地址被映射到单一第二模块内的两个或更多的地址。
此外,有可能定义一个多点传送范围,这在图6中表示。替代指定大量要被映射到对应于第二模块M2和M3的常规地址上的多点传送地址,有可能一次性地指定一个完整的多点传送地址范围。在这个例子中,将多点传送地址的范围F000+x映射到地址1000+x(它们对应于第二模块M2)和地址3000+x(它们对应于第二模块M3),其中x是其值在0直到且包括3FF的范围中的变量。因此,多点传送地址F000被映射到地址1000和3000,多点传送地址F001被映射到地址1001和3001,多点传送地址F002被映射到地址1002和3002,如此等等。该范围中的最后一个多点传送地址是F3FF,它被映射到地址13FF和33FF。这个多点传送范围具有的优点是,没有必要指定1024个单独的多点传送地址。
或者,可以配置一个多点传送连接,以减少第一模块M1上的负担,这在图7中表示。一般来说,连接在网络中被用来描述和标识具有不同属性的通信,这些属性诸如是有保障的通量、延迟和抖动、有序的传递或者流控制。在这个上下文中,一个连接被用来标识一个第一模块和一个第二模块或多个第二模块。该连接包含允许在第一模块与(一个或多个)第二模块之间的事务处理所必需的物理装置和控制信息。第一模块与(一个或多个)第二模块之间的路径能在运行时间、在(重新)配置时间被确定,以及/或者能被引导代码预先确定。所需要的控制信息包含一个连接标识符与一个或多个网络接口端口(NIP)之间的映射。例如,控制信息可以被存储在网络节点(即路由器和网络接口)中,以及/或者可以包含在一个包的报头中。
在这个例子中,建立一个从一个第一模块M1到两个第二模块M2和M3的多点传送连接。该连接要求一个连接标识符CID与一个请求一起被发送。在这样一个连接上的请求于是就能自动被发送到该连接的所有第二模块。注意,这些请求仍然携带被用作各第二模块的内部地址的地址,即标识各第二模块内部的位置的、但是不被用来复制和向各第二模块分发请求的地址。
在网络的配置阶段设置一个连接。网络通常是由引导代码配置的,但是也可以在运行时间被配置。连接标识符CID有一个标识该连接的值;在本例中该值是“0”。在所示的例子中,连接标识符CID的值通过映射0->{NIP2,NIP3}被映射到网络接口端口NIP2和NIP3。网络接口端口NIP2和NIP3分别构成网络接口NI2和NI3的一部分;注意一个网络接口可以有一个以上的网络接口端口,而若干个网络接口端口可以与一个单一的地址相关联。这些网络接口端口NIP2和NIP3进而被与第二模块M2和M3的地址相关联。现在,可以与一个请求一起发送连接标识符CID;网络接口NI1能复制该请求并通过该连接发送复制的请求。通过网络接口端口NIP2和NIP3,该请求能被传递到第二模块M2和M3的地址。
注意本发明的保护范围并不受这里所描述的实施例的限制。本发明的保护范围也不受权利要求书中的附图标记的限制。“包含”一词并不排除权利要求中所提及的以外的其它部件。元件前面的“一个”一词并不排除多个这样的元件。构成本发明的一部分的装置可以以专用硬件的形式实现,也可以以已编程的通用处理器的形式实现。本发明在于每个新特征或特征组合。
权利要求
1.包含一个网络和多个模块(M1、M2、M3直至且包括Mn)的集成电路(IC),所述多个模块被安排成通过网络互相通信,其中,该网络被安排成在第一模块(M1)与至少两个第二模块(M2、M3直至且包括Mn)之间建立事务处理,其特征在于,该网络被安排成将来自第一模块(M1)的一个单一请求(SREQ)复制成至少两个复制的请求,并且该网络被安排成把所复制的请求发送到各第二模块(M2、M3直至且包括Mn)。
2.按照权利要求1的集成电路(IC),其中,该网络包含一个地址空间(ADDR_SPC)和一个用于把至少一个多点传送地址(F000)映射到一个地址范围(0直到且包括AFFF)内的至少两个另外的地址的设备。
3.按照权利要求2的集成电路(IC),其中,该网络进一步包含一个用于在如果第二多点传送地址不被映射到第一多点传送地址的情况下把至少一个第一多点传送地址映射到至少一个第二多点传送地址的设备。
4.按照权利要求2的集成电路(IC),其中,该网络进一步包含一个用于将一个多点传送地址范围(F000+x)映射到至少两个另外的地址范围(1000+x,3000+x)的设备。
5.按照权利要求1的集成电路(IC),其中,单一请求(SREQ)包含一个标识一个多点传送连接的连接标识符(CIP)。
6.按照权利要求1的集成电路(IC),其中,一个网络接口(NI)被安排成执行将单一请求(SREQ)复制成复制的请求,并且其中该网络接口被安排成将所复制的请求发送到各第二模块(M2、M3直至且包括Mn)。
7.用于在一个集成电路(IC)中发送请求的方法,该集成电路包含一个网络和多个模块(M1、M2、M3直至且包括Mn),所述多个模块通过网络互相通信,其中,该网络在第一模块(M1)与至少两个第二模块(M2、M3直至且包括Mn)之间建立事务处理,其特征在于,该网络将来自第一模块(M1)的一个单一请求(SREQ)复制成至少两个复制的请求,并且该网络把所复制的请求发送到各第二模块(M2、M3直至且包括Mn)。
全文摘要
在集成电路上的网络中,一个第一模块(M
文档编号H04L12/56GK1703683SQ200380101045
公开日2005年11月30日 申请日期2003年10月7日 优先权日2002年10月8日
发明者A·拉杜勒斯库, K·G·W·戈斯森斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1