用于建立事务的集成电路和方法

文档序号:7871691阅读:278来源:国知局
专利名称:用于建立事务的集成电路和方法
技术领域
本发明涉及具有多个处理模块和被安排用于在处理模块间传送消息的网络的集成电路以及用于在这种集成电路中交换消息的方法。
背景技术
硅上系统由于用于实现现有功能的新特性和改进的日益增长的需要,在复杂性方面显示出持续的增长。这通过利用其可在集成电路上集成部件的增加的密度来实现。同时,电路操作的时钟速度也趋于增加。与部件的增加密度结合的更高的时钟速度已经减少了可在相同时钟域内同时操作的区域。这已产生了对于模块化方法的需要。根据这种方法,处理系统包括多个相对独立的、复杂的模块。在传统的处理系统中,系统模块通常经总线彼此通信。然而,随着模块数量增加,由于下述原因,这种通信方法不再实用。一方面,大量模块形成非常高的总线负荷。另一方面,由于总线仅允许一个设备向其发送数据,所以总线形成通信瓶颈。通信网络形成了一种克服这些缺点的有效的方法。
作为高度复杂的芯片中的互连问题的解决方案,片上网络(NoC)近来已经受到相当多的关注。原因有两个方面。首先,NoC有助于解决深亚微米技术方面的电气问题,因为它们构造和管理全局导线。同时,它们共享导线,降低了它们的数量并增加了它们的利用率。NoC也可是能量高效和可靠的,并且与总线相比是可称的。其次,NoC还将计算和通信分离,其主要管理十亿晶体管芯片的设计。NoC实现了此分离,因为传统上使用协议栈来设计它们,所述协议栈提供了将通信服务使用与服务实现分开的明确定义的接口。
然而,当设计片上系统(SoC)时,使用用于片上通信的网络引起了许多必须考虑的新问题。这是因为与其中直接连接通信模块的现有的片上互连(例如总线、交换机或点到点导线)相对比,在NoC中模块经网络节点远程通信。因此,互连判优从集中式改变成分布式,并且必须通过知识产权块(IP)或通过网络来处理诸如无序事务、更高等待时间和端到端流量控制之类的问题。
这些主题的大多数已经是局域与广域网(计算机网络)和作为用于并行机互连网络的互连的领域中的研究课题。两者都与片上网络密切相关,并且在那些领域中的许多结果也可应用于片上。然而,NoC的前提是与片外网络不同的,因此,必须重新评估大多数网络设计选择。片上网络具有导致最终影响网络服务的不同设计选择的不同属性(例如更严格的链路同步)和约束(例如更高存储器成本)。内存(即存储器)和计算资源相对更昂贵,而片上点到点链路的数量在比片外大。内存昂贵,因为诸如RAM之类的通用片上存储器占用大的面积。使存储器以相对较小的尺寸分布在网络部件中甚至更糟,因为那时存储器中开销面积变成主要的。
对片上网络来说,与片外网络相比,计算也以相对较高的成本获得。片外网络接口通常包含专用处理器来实现达到网络层或甚至更高的协议栈,以使主处理器免于通信处理。在网络接口中包括专用处理器在片上是不可行的,因为网络接口的大小将变得比得上连接到网络上的IP或更大。此外,在IP本身上运行协议栈也是不可行的,因为通常这些IP仅具有一个专用功能,并且不具有运行网络协议栈的能力。
连接网络部件的导线和管脚的数量在片上比片外大一个数量级。如果它们整体上不被用于除NoC通信外的其他目的,则它们允许广泛的点到点互连(例如300位链路)。这对片外是不可能的,其中链路相对更窄8-16位。
片上导线也比片外相对更短,允许比片外更严格的同步。这允许减少路由器中的缓冲空间,因为能以更小粒度进行通信。在当前的半导体技术中,导线也是快的和可靠的,这允许更简单的链路层协议(例如不需要纠错或重传)。这也补偿了缺乏的存储和计算资源。
数据排序在网络中,从源传送到目的地的数据由于网络节点中的重排序、沿着不同路径、或在丢失后重传而可以无序地到达。对于片外网络,无序数据传送是典型的。然而,对于其中无数据丢失的NoC,能迫使数据沿着源和目的地间的相同路径(确定性路由)而不用重排序。此有序数据传输需要更少的缓冲空间,并且不再需要重排序模块。
当与诸如总线或交换机之类的直接互连相比时,引入网络作为片上互连彻底地改变了通信。这是因为网络的多跳特性,其中不直接连接通信模块,而是由一个或多个网络节点分开。这与其中直接连接模块的普遍的现有互连(即总线)形成对比。这一改变的含意在于判优(其必须从集中式改变成分布式)和通信属性(例如排序或流量控制)。
事务排序传统上,在总线上排序所有事务(参照外围VCI、AMBA或CoreConnect PLB和OPB)。这以低成本是可能的,因为作为通信方之间的直接链接的互连不重新排序数据。然而,在分割总线上,当从模块以不同速度响应时,在单个主模块上的总排序仍然可引起性能恶化。为解决这一问题,近来总线协议的扩充允许在连接上执行事务。仍然保留连接内的事务排序,但在连接之间没有排序约束(例如OCP或基本VCI)。几个总线协议允许在它们的高级模式(例如高级VCI)中的每连接的无序响应,但请求和响应以与发送它们时相同的顺序到达目的地。
在NoC中,排序变得更差。由于网络的分布式特性与全局排序所需的集中式判优的要求之间的冲突,仅能以非常高的成本来提供全局排序。甚至在源-目的地对之间的局部排序的成本也高。如果数据在多个路径上传送,则它会无序地到达。在这种情况下,为了仍然实现有序传送,必须在传送数据前以顺序号标记数据并在目的地对其重排序。通信网络包括多个部分连接的节点。由节点将来自模块的消息重定向到一个或多个其他节点。为此,所述消息包括表示网络内的寻址模块的位置的第一信息。所述消息可以进一步包括表示模块内的特定位置的第二信息,例如存储器或寄存器地址。第二信息可以调用寻址模块的特定响应。
目的地名称和路由对于总线来说,在互连上广播命令、地址和数据。它们到达每个目的地,其中的一个基于广播地址激活,并执行所请求的命令。这是可能的,因为所有模块直接连接到相同的总线。在NoC中,将信息广播到所有目的地是不可行的,因为它必须被拷贝到所有路由器和网络接口。这用数据填满了网络。

发明内容
本发明的目的是提供集成电路和用于在集成电路中交换消息的方法,而不用将许多数据引入到网络中。
这个目的是通过根据权利要求1的集成电路和根据权利要求7的用于交换消息的方法来实现的。
因此,提供了一种包括多个模块M、S和被配置用来在所述模块M、S之间传送消息的网络N的集成电路,其中,由第一模块M发出的消息包括表示网络内所寻址的模块的位置的第一信息,以及表示寻址模块S内的位置的第二信息。所述集成电路进一步包括至少一个地址转换装置AT,用于将第一和第二信息配置成单个地址。所述地址转换装置AT适合于基于所述单个地址来确定寻址哪个模块,以及基于所述单个地址来确定寻址模块S的选择位置。
因此,可以独立于映射到寻址模块即从模块的地址来实现第一模块即主模块的设计。此外,实现了更高效的网络资源利用,并且这一方案与总线向后兼容。通过地址转换装置来执行该寻址。
根据本发明的一个方面,所述集成电路包括至少一个与模块M、S中的一个有关的接口装置ANIP、PNIP,用于管理在所述相关模块M、S和网络N之间的通信。所述地址转换装置AT被安排在所述接口装置ANIP、PNIP的一个中。
根据本发明的另一方面,所述地址转换装置AT被安排在与所述第一模块M有关的所述接口装置ANIP、PNIP中。
根据本发明的又一方面,所述地址转换装置AT包括地址映射表,以便存储在全局和局部存储器映射之间的联系。
根据本发明的另一方面,所述地址映射表是静态的、可编程的或动态的。
根据本发明的又一方面,所述地址映射表包含用于连接的每个信道、用于连接的网络接口端口ANIP、PNIP和用于在寻址模块S中的局部地址的字段。
本发明还涉及一种用于在包括多个模块M、S的集成电路中交换消息的方法,所述消息经网络N在模块M、S之间进行交换,其中,由模块M发出的消息包括表示网络内的寻址模块S的位置的第一信息,以及表示寻址模块S内的位置的第二信息。通过将第一和第二信息配置为单个地址来执行地址转换AT。基于所述单个地址,所述地址转换确定寻址哪个模块,以及基于所述单个地址,确定寻址模块(S)的选择位置。
本发明基于对主模块隐藏数据的寻址的思想。
本发明的另外方面如在从属权利要求书中所述。
参考下文所述的实施例,本发明的这些和其他方面是显而易见的并将被阐明。


图1示出根据第一实施例的片上系统,以及图2示出根据第二实施例的片上系统,以及图3示出根据第三实施例的片上系统。
具体实施例方式
下述实施例涉及片上系统,即在相同芯片上经某种互连彼此通信的多个模块。互连具体化为片上网络NOC。片上网络可以包括网络内的导线、总线、时分多路复用、交换机和/或路由器。在所述网络的传输层,在连接上执行模块间的通信。连接被视为在第一模块和至少一个第二模块间的一组信道,每个具有一组连接属性。对于在第一模块和单个第二模块间的连接(即简单连接),所述连接包括两个信道,也就是从第一模块到第二模块的一个信道,即请求信道,以及从第二模块到第一模块的第二信道,即响应信道。请求信道专供从第一模块到第二模块的数据和消息之用,而响应信道专供从第二模块到第一模块的数据和消息之用。然而,如果连接包含一个第一模块以及N个第二模块,则提供2*N个信道,以便提供例如多播连接。这里,第一模块向所有第二模块发出请求。连接属性可以包括排序(有序数据传输)、流量控制(远程缓冲器被保留用于连接,以及允许数据产生者仅当保证空间可用于所生成的数据时才发送数据)、吞吐量(保证吞吐量的下限)、等待时间(保证用于等待时间的上限)、损失(数据丢失)、传输终止、事务完成、数据纠正、优先级或数据传送。
图1示出根据第一实施例的片上系统。该系统包括主模块M、两个从模块S1、S2。每个模块分别经网络接口NI连接到网络N上。网络接口NI用作在主从模块M、S1、S2与网络N之间的接口。网络接口NI被提供来管理各个模块和网络N的通信,以便模块能执行它们的专用操作,而不必处理与网络或其他模块的通信。模块接口NI可以通过网络在彼此之间发送读rd和写wr请求以及操作。
图2示出根据第二实施例的片上系统。该系统包括主模块M和两个从模块S1、S2,路由器网络RN以及三个在模块和路由器网络RN之间的网络接口ANIP、PNIP。网络接口提供两个网络接口端口NIP(一个请求和一个响应端口),通过它们模块能与路由器网络RN或经路由器网络RN与其他模块通信。与主模块M有关的网络接口端口被称为有源网络接口端口ANIP以及与从模块有关的网络接口称为无源网络接口端口PNIP。在主模块M和从模块S1、S2之间的通信基于请求-响应事务,其中主M通过提出可能具有一些数据或所请求的连接属性的请求来启动事务。请求REQ经有源网络接口端口ANIP、网络RN和无源网络接口端口PNIP被传送到从模块S。由从模块T执行请求,并且如果需要或请求的话将数据返回为响应RESP。此响应RESP可以包括用于主M的数据和/或确认。主M上的过程可以看见0-FF的地址映射,其被分配在两个从S1、S2的存储器中,即第一从S1的存储器中的0-7F以及第二从S2的存储器中的80-FF。在源处解码地址以便找出到目的地模块的路径。因此,事务地址将具有两部分(a)目的地标识符,以及(b)目的地处的内部地址。
模块/网络接口间的连接可以分类如下-简单连接是在一个ANIP和一个PNIP之间的连接。
-多播连接是在一个ANIP和一个或多个PNIP之间的连接,其中复制所发送的消息,并且每个PNIP接收这些消息的拷贝。在多播连接中,当前允许无返回消息,因为它们产生大的通信量(即每个目的地一个响应)。它还增加了在ANIP中的复杂性,因为来自PNIP的各个响应必须合并成用于ANIP的单个响应。这要求用于合并本身的缓冲器空间和/或附加计算。
-窄播(narrowcast)连接是在一个ANIP和一个或多个PNIP之间的连接,其中ANIP启动的每个事务正好由一个PNIP执行。窄播连接的例子,其中ANIP在两个存储器模块上映射的地址空间上执行事务。根据事务地址,仅在这两个存储器中的一个上执行事务。
通过解码在有源网络接口端口ANIP处的每个事务地址可以实现窄播连接。根据所述解码,识别了事务的目标从模块,并且仅将事务请求发送到那个特定的从模块,即请求仅对目标从模块可见而不是对网络中所有的从模块可见。
图3示出根据本发明的第三实施例的片上系统。根据第三实施例的系统是基于根据第二实施例的系统。另外,有源网络接口端口ANIP包括具有地址映射表AMT的地址转换管理器AT,其中地址转换管理器AT基于存储在地址映射表AMT中的信息来执行目标从模块的地址解码。所述地址映射表AMT可以在静态的、可编程的或动态的基础上实现,并且可以包含用于连接的每个信道、用于连接标识符、用于连接的网络接口端口ANIP、PNIP和/或用于寻址模块S中的本地地址的字段。
在从模块中的每个地址具有全局和局部地址。全局地址与如从主M上的处理所看到的地址有关以及局部地址与从模块的地址有关。全局地址的地址范围可以是0000-FFFF,而从模块内的范围可以是000-FFF。
全局地址可以用不同方式形成。首先,它由网络地址和局部地址构成。网络地址可以是接收模块的端口标识符,即无源网络接口端口PNIP的port_ID。这种方案可以向后兼容。
其次,全局地址由连接标识符(连接id)和作为最小信息的局部地址、或者替代地连接标识符、无源网络接口端口PNIP和局部地址构成。提供无源网络接口端口PNIP在某些情形中是冗余的,但增加了方案的安全性。在主模块的情况下,连接id识别几个从模块,以及应当有某种装置来选择它们中的一个。仍然需要网络接口端口NIP地址或全局地址(从其导出无源网络接口端口PNIP)。在两种情况下(即网络接口(NI)地址和全局地址),根据用于选择的装置校验是可能的,因为仅将网络接口端口NIP的子集映射到连接a)基于连接id+全局地址,即无源网络接口端口PNIP id和局部地址,也可能仅通过连接的通信属性和校验来执行地址转换。
b)基于连接id、无源网络接口端口PNIP id+局部地址,也可能通过连接的通信属性和校验来执行地址转换。
在从模块的情况下,连接id足以确定数据的目的地。此目的地是在那个连接的唯一ANIP处连接的唯一主模块。
如上所述,在有源网络接口中由地址转换管理器AT执行地址转换,其中地址转换管理器AT包括其自己的地址映射表AMT,其中存储执行地址转换所需的所有信息。然而,地址转换管理器AT和/或地址映射表AMT也可以不被安排在网络接口中,而是被安排在网络N的中央。
根据本发明的另一实施例,使用简单或多播连接也能实现窄播连接的功能性,然而是以更高的成本,具有更少的灵活性和/或妨碍模块的可重用性。使用几个到每个从模块S的简单连接可以实现窄播连接。根据所述地址,主模块M或其有源网络接口端口ANIP选择适当的简单连接。连接的不同属性,即用于连接的各个信道的不同连接属性仍然能被每个从模块地实现。然而,主模块M需要预先了解地址映射的分配,其将妨碍可重用性。使用简单连接使得编程主模块更困难,因为必须管理多个连接标识符。如果使用多个简单连接,则必须为各个响应分配多个缓冲器,即一个用于一个简单连接。然而,这会需要比分配如用在窄播连接中的单个的较大缓冲器更大的存储器。对要求有序窄播事务的情形,必须在较高级上实现这些,因为在连接上不提供排序保证。
可选择地,可以在多播连接的基础上实现窄播连接。多播连接将主M连接到一个或多个从S1、S2。对具有响应的事务,所有从模块均响应,但仅有一个单个响应返回到主模块。可以通过与主模块有关的有源网络接口ANIP来执行响应消息的这一过滤。可选择地,可以通过在从模块处实施事务过滤来实现基于多播连接的窄播连接,即通过与从模块有关的无源网络接口PNIP执行过滤。PNIP根据事务地址确定是否将事务转发到相关从模块。然而,由于多播连接期望来自每个从模块的响应,所以PNIP必须包括空响应,其然后通过ANIP或模块过滤。这一方案允许主模块的简单编程,因为仅包含一个单个连接。也增加了主模块M的设计的可重用性,因为不需要知道各个从模块上的地址分配。但生成了对于其也需要缓冲的大量不必要的网络通信量,即到未寻址的从模块或来自未寻址的从模块的通信量。最后,由于将请求发送到每个从模块,所以可执行每个从模块的微分带宽分配的微调。
没有响应的事务(例如预写入)在已经由从模块执行时被认为完成。由于没有到主模块的响应消息,所以不能提供有关事务完成的保证。
当从ANIP接收RETSTAT消息时,具有响应的事务(例如确认写入)被认为完成。回想当数据接收为响应(RETDATA)时,也接收RETSTAT(可能隐含)来验证数据。或者可以成功地执行事务,在这种情况下,返回成功RETSTAT,在从模块处的执行失败,然后返回执行错误RETSTAT,或者失败,因为与无流量控制有关的缓冲器溢出,然后报告溢出错误。假定当从模块接受请求响应的CMD时,从模块总是生成响应。
在网络中,路由器不丢失数据,因此,总是保证在NI处传送消息。与流量控制有关,NI也不丢失数据。因此,在这种情况下,自动保证消息递送,以及由此的到IP的事务完成。
然而,如果没有流量控制,在缓冲器溢出的情况下,在网络接口处丢失消息。在NI处会丢失所有CMD、OUTDATA和RETDATA。为保证事务完成,不允许RETSTAT丢失。因此,在ANIP中,必须提供足够的缓冲器空间来容纳用于所有未完成事务的RETSTAT消息。这是通过限制未完成事务的数量来实施的。
现在描述单个连接内的不同事务间的排序要求。在不同连接上,在传输层不定义事务的排序。
在其中能观察到事务的顺序的连接中有几点(a)其中主模块M、I向ANIP提供CMD消息的顺序,(b)其中通过PNIP将CMD递送到从模块T、S的顺序,(c)其中从模块T、S向PNIP提供响应的顺序,以及(d)通过ANIP将响应递送到主模块的顺序。注意并非(b)、(c)和(d)总是存在。此外,不存在有关从模块执行事务的假设;仅能观察到响应的顺序。通过从模块的事务执行的顺序被认为是系统判定,并且不是互连协议的一部分。
在ANIP和PNIP处,允许交错属于相同连接上的不同事务的输出消息。例如,可以发出两个写入命令,并仅在它们的数据后。如果OUTDATA消息的顺序不同于CMD消息的顺序,则必须引入事务标识符以将OUTDATA与它们相应的CMD关联。
如下可以通过PNIP将输出消息递送到从模块(见b)-无序,其使得在PNIP处的不同事务的输出消息的递送无序,-局部有序,其中必须按发送事务的顺序将它们递送到每个PNIP,但在PNIP上强加无序。可以通过有序数据传输或通过在PNIP处重新排序输出消息来提供输出消息的局部有序递送。
-全局有序,其中必须在连接的所有PNIP上按发送事务的顺序来递送它们。事务的输出部分的全局有序递送需要成本高的同步机制。
当按与将CMD递送到从模块相同的顺序返回RETDATA和RETSTAT消息(b)时,可以按顺序将事务响应消息通过从模块递送到PNIP(c),或者相反地按无序。当响应是无序时,必须有识别响应所属的事务的机制。这通常使用附加到用于事务识别的消息的标记(与VCI中的标记类似)来完成。
如下可以通过ANIP将响应消息递送到主模块(见d)-无序,其使得响应的递送无序,这里还必须使用标记来将响应与它们相应的CMD关联。
-局部有序,其中按通过主模块将原始CMD提供给ANIP的顺序来递送用于单个从模块的事务的RETDATA和RETSTAT消息。注意对到相同连接内的不同从模块的事务不强迫排序。
-全局有序,其中按与原始CMD相同的顺序来将连接中的所有响应递送到主模块。当在连接上对事务进行流水线处理时,那么响应的全局有序递送要求在ANIP处重新排序。
上述排序间的所有3×2×3=18种组合是可能的。从这些中定义和提供了下述两个。未排序连接是其中在事务的任何部分中假定无排序的连接。因此,必须标记响应以能够识别它们属于哪个事务。实现无排序连接具有低成本,然而,它们更难被使用,并且引入了标记的开销。
有序连接被定义为具有用于从PNIP到从模块的输出消息的局部排序、PNIP处的有序响应以及用于在ANIP处的响应的全局排序的连接。选择用于输出部分的局部排序,因为全局排序具有非常高的成本,并且很少使用。选择响应排序以允许具有无标记的简单编程模式。以适度成本在ANIP处的全局排序是可能的,因为在ANIP中局部完成了所有重新排序。用户可以使用非流水线确认的事务以高的等待时间为代价来在PNIP处模拟具有输出和返回消息的全局排序的连接。
在网络中,可以以时分多址(TDMA)方式为连接保留吞吐量,其中,在固定帧上以固定大小的时隙来分离带宽。当保留时隙时,可以保证带宽以及等待时间和抖动的限度。它们都被定义在多个时隙中。
如前所述,网络保证消息递送到NI。从一个NIP发送的消息在另一NIP处不是立即可见的,因为网络的多跳特性。因此,网络上的信号交换仅允许每次传送一个单个消息。这限制了连接上的吞吐量并增加了事务的等待时间。为解决这一问题以及实现更好的网络利用,必须对消息进行流水线处理。在这种情况下,如果不以数据到来的相同速率在PNIP处使用数据,则必须引入流量控制来降低生产者,或者会丢失数据,因为在用户NI处有限的缓冲空间。
定义了从网络细节提取的一组NoC服务。在IP设计中使用这些服务来分离计算和通信。使用请求-响应事务模型来接近现有的片上互连协议。这易于当前IP到NoC的迁移。为了充分利用NoC的性能,例如高带宽和事务并行性,提供了面向连接的通信。可以与不同属性无关来构造连接。这些属性包括事务完成、各种事务排序、带宽下限、等待时间和抖动上限以及流量控制。
如上所述,NoC具有不同于现有的片外网络和现有的片上互连的属性。因此,不能直接将现有的协议和服务接口应用于NoC,而是必须考虑到NoC的特性。例如,诸如TCP/IP之类的协议假定网络有损耗,并且包括相当的复杂性以提供可靠的通信。因此,在NoC中,假定在较低层已经解决数据传送可靠性是不合适的。另一方面,也不可以直接应用现有片上协议,例如VCI、OCP、AMBA或CoreConnect。例如,假定数据的有序传送如果从相同主模块启动两个请求,则它们以相同的顺序到达目的地。这并不自然而然地适合NoC。事务的原子链以及端对端流量控制也需要NoC接口中的特别关注。
如图1和2中所述的模块可以是在所述网络接口NI处与网络交互作用的所谓的知识产权块IP(计算元件、存储器或包含模块的子系统)。NI提供NI端口NIP,通过该端口通信服务被访问。NI可以具有连接一个或多个IP的几个NIP。类似地,IP可连接到不至一个的NI和NIP上。
通过连接上的网络接口来执行网络上的通信,即启动者和目标模块对网络来说是不可见的。引入连接来描述和识别具有诸如有保证的吞吐量、受限的等待时间和抖动、有序递送或流量控制之类的不同属性的通信。例如,为区分和独立地保证1Mbs和25Mbs的通信,可以使用两个连接。通过可能具有不同属性的多个连接可以连接两个NIP。如在此定义的连接与来自OCP和VCI的线程和连接的概念类似。其中在OCP和VCI中仅使用连接来放宽事务排序,仅从排序属性归纳以包括缓冲和流量控制的结构、有保证的吞吐量以及每个连接受限的等待时间。
根据本发明的实施例的具有想要属性的连接必须在使用前首先被创建或建立。这会导致网络内的资源保留(例如缓冲空间或每时间单位的链接使用率的百分比)。如果所请求的资源不可用,则网络RN将拒绝该请求。在使用后,关闭连接,这将导致释放由那个连接占用的资源。
为了允许结构连接更灵活并因此的每个连接的更好资源分配,可以独立地构造连接的输出和返回部分。例如,可以在主从模块处的NIP中分配不同数量的缓冲空间,或可以对请求和响应保留不同的带宽。
在使用由请求以及可能响应组成的事务的连接上进行通信。所述请求编码操作(例如读、写、刷新、测试并设置、空操作指令)并可能运送输出数据(例如用于写命令)。作为命令(例如读)和/或确认的结果,所述响应返回数据。连接包含至少两个NIP。总是在称为连接的有源NIP(ANIP)的NIP的一个且仅一个处启动连接上的事务。连接的所有其他NIP称为无源NIP(PNIP)。
在连接上每次可有多个激活的事务,但更通常地不是用于分割总线。也就是说,在连接的ANIP处启动事务,而用于先前事务的响应是未决的。如果连接具有多个从模块,则可向多个从模块启动多个事务。也可在用于请求和响应的单个主-从对间对事务进行流水线处理。原则上,也可在从模块内对事务进行流水线处理,如果从模块允许此的话。
事务可以由下述消息组成-由ANIP发送的命令消息(CMD),并且其描述了将在连接到PNIP的从模块处执行的动作。命令的例子是读取、写入、测试和设置以及刷新。命令是事务中必须的唯一消息。对仅允许不具有参数的单个命令(例如固定大小的无地址写入)的NIP,假定命令消息仍然存在,即使它是隐含的(即不是由IP明确发送的)。
-在要求要被执行的数据的命令(例如写入、多播及测试并设置)后由ANIP发送的输出数据消息(OUTDATA)。
-作为产生数据(例如读取及测试并设置)的事务执行的结果由PNIP发送的返回数据消息(RETDATA)。
-完成确认消息(RETSTAT),它是在结束命令时由PNIP返回的可选消息。它可以发信号告知成功完成或错误。对包括RETDATA和RETSTAT的事务,为了效率可以将两个消息结合成单个消息。然而,在概念上它们都存在发信号告知存在数据或错误的RETSTAT,以及运送数据的RETDATA。在基于总线的接口中,RETDATA和RETSTAT通常存在为两个单独的信号。
组成事务的消息被划分成输出消息,即CMD和OUTDATA,以及响应消息,即RETDATA、RETSTAT。在事务内,CMD在所有其他消息之前,以及如果存在的话,RETDATA在RETSTAT之前。这些规则适用于主模块和ANIP间以及PNIP和从模块间。
应该注意到,上述实施例是示例说明而不是限制本发明,并且本领域的技术人员将能设计许多替代的实施例而不背离附加权利要求书的范围。在权利要求书中,位于括号间的任何附图标记不被解释为限制权利要求。词“包括”不排除存在除了在权利要求中列出的以外的元件或步骤。在元件前的词“一”或“一个”不排除存在多个这种元件。在列举几个装置的设备权利要求中,可以通过硬件的同一项来实现这些装置中的若干。不过,在相互不同的从属权利要求中讲述的某些措施的事实不表示这些措施的组合不能被有利地利用。
此外,权利要求书中的任何附图标记不应当被解释为限制权利要求的范围。
权利要求
1.包括多个模块(M,S)和被安排用于在所述模块(M,S)间传送消息的网络(N)的集成电路,其中,由第一模块(M)发出的消息包括表示网络内所寻址的模块的位置的第一信息,以及表示寻址模块(S)内的位置的第二信息,所述集成电路包括至少一个地址转换装置(AT),用于将第一和第二信息配置成单个地址,其中,所述地址转换装置(AT)适合于基于所述单个地址来确定寻址哪个模块,以及其中,基于所述单个地址来确定寻址模块(S)的选择位置。
2.如权利要求1所述的集成电路,进一步包括至少一个与模块(M,S)中的一个有关的接口装置(ANIP,PNIP),用于管理在所述相关模块(M,S)和网络(N)之间的通信,其中,所述地址转换装置(AT)中的一个被安排在所述接口装置(ANIP,PNIP)的一个中。
3.如权利要求2所述的集成电路,其中,其中,所述地址转换装置(AT)被安排在与所述第一模块(M)有关的所述接口装置(ANIP,PNIP)中。
4.如权利要求2或3所述的集成电路,其中,所述地址转换装置(AT)包括地址映射表(AMT)。
5.如权利要求4所述的集成电路,其中,所述地址映射表(AMT)包含用于连接的每个信道、用于连接的网络接口端口(ANIP,PNIP)和用于寻址模块(S)中的局部地址的字段。
6.用于在包括多个模块(M,S)的集成电路中交换消息的方法,所述消息经网络(N)在模块(M,S)之间进行交换,其中,由模块(M)发出的消息包括表示网络内的寻址模块(S)的第一信息,以及表示寻址模块(S)内的位置的第二信息,该方法包括步骤-将第一和第二信息配置为单个地址;-基于所述单个地址来确定寻址哪个模块;以及-基于所述单个地址来确定寻址模块(S)的选择位置。
全文摘要
提供了一种包括多个模块(M,S)和被安排用于在所述模块(M,S)间传送消息的网络(N)的集成电路,其中,由第一模块(M)发出的消息包括表示网络(N)内所寻址的模块的位置的第一信息,以及表示寻址模块(S)内的位置的第二信息。所述集成电路进一步包括至少一个用于将第一和第二信息配置成单个地址的地址转换装置(AT)。所述地址转换装置(AT)适合于基于所述单个地址来确定寻址哪个模块,以及基于所述单个地址来确定寻址模块(S)的选择位置。因此,第一模块(M)即主模块的设计可以独立于映射到寻址模块(S)即从模块的地址而被实现。此外,实现了更有效的网络资源使用,并且这一方案与总线向后兼容。
文档编号H04L12/56GK1689312SQ03823915
公开日2005年10月26日 申请日期2003年7月4日 优先权日2002年10月8日
发明者K·G·W·戈斯森斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1