在边带接口中聚合完成消息的制作方法

文档序号:6497433阅读:192来源:国知局
在边带接口中聚合完成消息的制作方法
【专利摘要】在一个实施例中,本发明包括用于在路由器中从耦合到路由器的第一端点接收请求的方法,其中所述请求用于聚合的完成。接下来,路由器可以将请求转发到多个目标代理,从每个目标代理接收响应,并且合并响应到聚合的完成。然后,路由器可以将聚合的完成发送到第一端点。描述并要求保护其他的实施例。
【专利说明】在边带接口中聚合完成消息
【背景技术】
[0001]主流处理器芯片在高性能和低功耗两个环节正更多地集成额外的功能,例如图形、显示引擎、安全引擎、PCIe?端口(即按照外围部件互连快速(PCI Express?(PCIe?))规范基础规范版本2.0 (2007年公布)(此后称为PCIe?规范)的端口 )和其他基于PCIe?的外围设备,同时保持对符合PCI规范的设备的旧有支持,例如外围部件互连(PCI)本地总线规范,版本3.0 (2002年公布)(此后称为PCI规范))。
[0002]由于来自服务器、桌面、移动、嵌入式、超级移动和移动互连网设备分段的不同要求,这样的设计被高度划分。不同的市场寻求使用单芯片片上系统(SoC)解决方案,其将处理器核心、存储器控制器、输入/输出控制器和其他特定部分的加速元件中的至少一些合并到单芯片。然而,由于难以在单个管芯上集成不同的知识产权(IP)块,所以聚集这些特征的设计出现得慢。特别如此的是,IP块可以有各种要求和设计独特性,并且可以要求许多专用线、通信协议等,以使它们能够合并到SoC中。其结果是,开发的每个SoC或者其他先进的半导体设备要求大量的设计复杂度和定制以将不同的IP块合并到单个设备。这是如此的,由于给定的IP块通常需要被重新设计以容纳接口并且发送给定的SoC的要求的信号。
[0003]在许多计算机系统中,IP块或者代理可以发送广播或多播请求给在系统内的许多或者所有其他代理。当该请求用于读取操作时,代理将会接收用于在系统中的每个代理或者目标代理的完成/应答。因此代理的责任是聚合所有这些完成的状态和数据。发送这些多个完成提高了请求代理的复杂度,并且消耗带宽和其他资源。
【专利附图】

【附图说明】
[0004]图1是按照本发明的实施例的基本互连架构的框图。
[0005]图2是按照本发明的实施例的互连架构的进一步细节的框图。
[0006]图3是按照本发明的实施例的SoC的高级别框图。
[0007]图4是按照本发明的另一实施例的系统的框图。
[0008]图5是按照本发明的实施例的边带互连的框图。
[0009]图6是按照本发明的实施例的对边带接口可用的发信号的细节的框图。
[0010]图7是按照本发明的实施例的处理边带完成的方法的流程图。
[0011]图8是按照本发明的实施例的SoC的部分的更详细框图。
[0012]图9是按照本发明的实施例的另一个SoC的框图。
【具体实施方式】
[0013]实施例可以被用于在边带接口上聚合完成。以这种方式,可以避免在边带结构中的多个单播读取请求的传输,例如,当将要读取在多个代理中的相同的寄存器或者将要判定多播/广播完成状态时。在一些实施例中,发起的主代理可以响应于来自那个发起的主代理的多播或广播非投递请求,接收聚合的完成。为了识别对聚合的完成的请求,可以在请求中包括预定的聚合指示符。在一些实施例中,该指示符可以是预定的端口标识符(ID),其预留给所有发起多播/广播的非投递请求的端点,所述请求请求从将代理耦合在一起的结构返回单个聚合的完成。
[0014]实施例可以用于许多不同类型的系统。例如,在这里描述的实现可以结合半导体设备使用,所述半导体设备例如为处理器或者可以装配在单个半导体管芯上的其他半导体设备。在特定的实现中,所述设备可以是片上系统(SoC)或者其他先进的处理器或芯片组,包括各种同类的和/或异类的处理代理和如网络部件的额外部件,例如路由器、控制器、桥设备、设备、存储器等等。
[0015]一些实现可以被用于按照给定的规范设计的半导体设备,所述规范例如是由半导体制造商发布的集成片上系统结构(IOSF)规范,用来提供用于在芯片内(包括SoC)附着知识产权(IP)块的标准化片上互连协议。这样的IP块可以有不同类型,包括通用目的的处理器,例如除了许多其他的之外,还有有序或者无序核心、固定功能单元、图形处理器、IO控制器、显示控制器、媒体处理器。通过标准化互连协议,因此实现了在不同类型的芯片中广泛使用IP代理的框架。因此,不仅半导体制造商可以跨越广泛的各种客户分段有效地设计不同类型的芯片,而且可以通过规范使第三方能够设计逻辑(例如IP代理)以在这样的芯片中并入。并且此外,通过为互连协议的多个方面提供多个选项,能有效地适应设计重用。尽管在这里结合这个IOSF规范描述了实施例,但对本发明范围的理解并不限于这一点,并且实施例可以被用于许多不同类型的系统。
[0016]现在参照图1,显示了按照本发明的实施例的基本互连架构的框图。如图1显示的,系统10可以是片上系统的一部分或者其他半导体设备(例如高度集成的处理器复合体、或者集成的IO中心),并且包括用作在各部件间的互连的结构20。在显示的实现中,这些部件包括IP代理30和40,其可以是用来提供各种功能(例如计算能力、图形能力、媒体处理能力等)的独立的IP块。在一个实施例中,这些IP代理因此是具有遵从IOSF规范的接口的IP块或者逻辑设备。如进一步看到的,结构20也与桥50接口连接。尽管在图1的实施例中为了易于图示而没有显示,但应当理解,桥50可以作为到(例如,在相同的芯片上或者在一个或多个不同芯片上)其它系统部件的接口。
[0017]如将要在下面进一步描述的,在图1中显示的每个元件,也就是结构、IP代理、以及桥,可以包括用于处理各种信号的通信的一个或多个接口。这些接口可以根据IOSF规范进行定义,所述规范定义了用于在这些接口上通信的信号、用于在代理之间交换信息的协议、用于开始和管理信息交换的仲裁和流控制机制、支持的地址解码和转换能力、为带内或者带外通信传递消息、功率管理、测试、验证、以及调试支持。
[0018]IOSF规范包括可以提供给每个代理的3个独立接口,也就是主要接口、边带消息接口、以及可测试性和调试接口(为测试设计的(DFT)、为调试设计的(DFD)接口)。根据IOSF规范,代理可以支持这些接口的任何组合。特别地,代理可以支持O-N主要接口、O-N边带消息接口和可选的DFx接口。然而根据规范,代理必须支持这3个接口中的至少一个。
[0019]结构20可以是在不同的代理之间移动数据的硬件元件。注意到结构20的拓扑可以是特定于产品的。例如,结构可以实现为总线、层级总线、级联中心等。现在参照图2,显示了按照本发明的实施例的互连架构的进一步细节的框图。如图2显示的,IOSF规范定义了三个不同的结构,即主要接口结构112、DFx接口结构114以及边带结构116。主要接口结构112可以用于在代理与存储器之间(例如在主机处理器(例如中央处理单元(CPU))或者其他处理器与代理之间)的所有带内通信。主要接口结构112可以进一步使能在代理和支持的结构之间的同级事务通信。包括存储器、输入输出(10)、配置、和带内消息传递的所有事务类型可以经由主要接口结构112进行输送。因此主要接口结构可以用作在同级之间传送数据和/或与上游部件通信的高性能接口。
[0020]在各种实现中,主要接口结构112实现拆分事务协议以达到最大并发。也就是,这个协议规定了请求阶段、授权阶段、以及命令和数据阶段。在各种实施例中,主要接口结构112支持三种基本请求类型:投递(posted)、非投递、以及完成。通常,投递事务是如下的事务:当由源发送时,所述事务被源认为是完成的,并且源不接收关于事务的完成或者其他确认消息。投递事务的一个这样的示例可以是写入事务。相反,非投递事务在接收到返回消息(也就是完成)之前不被源认为是完成的。非投递事务的一个示例是读取事务,其中源代理请求读取数据。因此,完成消息提供请求的数据。
[0021]此外,主要接口结构112支持差异信道的概念,以提供独立数据流过系统的机制。如将要进一步描述的,主要接口结构112自己可以包括开始事务的主接口和接收事务的目标接口。主要的主接口可以进一步再分为请求接口、命令接口、以及数据接口。请求接口可以用于为事务的命令和数据的移动提供控制。在各种实施例中,主要接口结构112可以支持PCI排序规则和枚举。
[0022]接着,边带接口结构116可以是用于通信所有带外信息的标准机制。以这种方式,可以避免为给定实现设计的特别目的的线,增强了跨越多种芯片的IP重用的能力。因此与使用专用线来处理带外通信(例如状态、中断、功率管理、保险丝分布(fusedistribution)、配置映像(shadowing)、测试模式等)的IP块相反,根据IOSF规范的边带接口结构116标准化所有的带外通信,促进了模块化并且减少了用于跨越不同设计的IP重用的验证要求。总而言之,边带接口结构116可以被用于通信非性能关键信息,而不是用于通常可以经由主要接口结构112通信的性能关键数据传送。
[0023]如在图2中进一步示出的,IP代理130、140以及150中的每个可以包括对应的主要接口、边带接口以及DFx接口。然而,如上面讨论的,在一些实施例中,每个代理不需要包括这些接口中的每一个,并且给定的IP代理可以仅包括单个接口。
[0024]使用IOSF规范,可以设计具有广泛的各种不同功能的各种类型的芯片。现在参照图3,显示了按照本发明的实施例的SoC的高级别框图。如图3中显示的,SoC200可以包括各种部件,其中所有部件可以被集成到单个半导体管芯上以提供各种高速度和低功率的处理能力,占用比较少量的基板面(real estate)。如在图3中看到的,SoC200包括多个核心205。- 205n。在各种实施例中,核心205可以是相对简单的有序核心或者更加复杂的无序核心。或者在单个SoC中可以存在组合的有序和无序核心。如看到的,核心205可以经由一致性互连215互连,一致性互连215进一步耦合到高速缓存存储器210,例如共享的最后一级高速缓存(LLC)。尽管本发明的范围不限于这一点,但在一个实施例中,一致性互连215可以是按照从英特尔公司(圣克拉拉,加利福尼亚)的可用快速路径互连(QPI)?规范。
[0025]如在图3中进一步看到的,一致性互连215可以经由桥220与结构250 (其可以是IOSF结构)通信。一致性互连215可以进一步经由集成的存储器控制器215与片外存储器(为了便于示出图3的实施例而未显示)通信,并且进一步通过桥230与结构250通信。[0026]如在图3中进一步看到的,各种部件可以耦合到结构250,包括内容处理模块(CPM) 240,其可以用于执行各种操作,例如安全处理、加密功能等。此外,显示处理器245可以是为关联的显示器渲染视频的媒体处理管线的一部分。
[0027]如进一步看到的,结构250可以进一步耦合到IP代理255。尽管为了便于示出图3实施例而仅显示了单个代理,但应当理解,在不同的实施例中多个这样的代理是可能的。此外,为了能够与其他片上设备通信,结构250可以进一步与PCIe?控制器260和通用串行总线(USB)控制器265通信,这两者都可以按照这些协议与各种设备通信。最后,在图3的实施例中显示的是桥270,其可以被用于与其他协议的额外部件通信,例如开放核心协议(OCP)或者ARM高级微控制器总线架构(AMBA)协议。尽管以这些特定部件示出了图3的实施例,但应当理解,本发明的范围不限于这一方式,并且在不同的实施例中可以存在额外或者不同的部件。
[0028]此外,应当理解,虽然在图3中显示为单个管芯SoC实现,但实施例可以进一步在这样的系统中实现:其中多个芯片经由非IOSF接口相互通信。现在参照图4,显示了按照本发明的另一个实施例的系统的框图。如图4所显示的,系统可以包括SoC200’,其可以包括与关于图3在以上讨论的那些类似的多个部件,和额外的片外接口 275。因此,SoC200’可以与另一个芯片280通信,芯片280可以包括各种功能以在这些两个芯片间能够通信,以及到各种片外设备(例如按照一个或多个不同规范的不同外围部件)。特别的,按照本发明的实施例,第二芯片280被显示为包括片外接口 282以能够与SoC200’通信,并且片外接口 282接着可以与结构290 (可以是IOSF结构)通信。如看到的,结构290可以进一步耦合到与片外设备通信的各种控制器,包括PCIe?控制器292、USB控制器294和桥296。
[0029]如上面讨论的,在各种实施例中,所有的带外通信可以经由边带消息接口。现在参考图5,显示了按照本发明的实施例的边带互连的框图。如图5显示的,边带接口系统175包括多个路由器180和190,其在图5的实施例中显示为经由点到点(PTP)互连185耦合。接着,每个路由器可以被耦合到各种端点,例如其可以是给定系统的IP代理或者其他部件。特别的,路由器180耦合到多个端点186a-186e,而路由器190耦合到多个端点196x_196z。
[0030]现在参照图6,显示了按照本发明的实施例的对边带接口可用的发信号的细节的框图。如图6显示的,显示了在路由器180和端点186之间的互连。如看到的,路由器180可以包括目标接口 181和主接口 182。总而言之,目标接口 181可以被配置用于接收到来的信号,而主接口 182可以被配置用于传输外发信号。如看到的,端点186还可以包括主接口187和目标接口 188。
[0031]图6进一步显示了对边带接口可用的各种发信号的细节,包括信用信息、放置信息(put information)、消息信令的结束、以及数据。特别的,信用更新可以经由边带接口作为非投递信用更新信号(NPCUP)和投递信用更新信号(PCCUP)通信。此外,可以提供放置信号(NPPUT和PCPUT)。此外,消息结束(EOM)信号可以被通信。最后,可以经由有效负载分组通信数据,在一个实施例中有效负载分组可以经由字节宽通信信道实现。尽管以这个特定实现示出了图6的实施例,但本发明的范围不限于这一点。每当信用放置信号高时,这意味着信用已经被返回。每当放置信号高时,这意味着有效负载(例如数据)信号有效。每当放置信号和EOM同时高时,这意味着当前的有效负载是消息的最后有效负载。应当注意,在相同的时钟周期内接口可以既“放置”数据有效负载又“放置”信用。[0032]聚合的完成可以用于各种实例中。例如,这样的完成可以用于在多个代理中的寄存器映像。如果寄存器在多个代理中进行了映像,那么主代理可以发出多播读取请求到这些代理的每个中的影子寄存器,并且请求聚合的响应。如果聚合的响应不匹配于被映像的寄存器的预期值,那么代理可以判定影子更新还没有完成,或已发生错误。另一使用情况可以是用于在多个代理中读取复制状态寄存器。例如,如果多个代理包括一个或多个以给定的条件更新的复制状态寄存器(例如多个PCIe通道的链路状态寄存器),那么主代理能够发出多播读取到这些状态寄存器并且请求聚合的响应。因此聚合的响应提供关于特定条件是否在每一个状态寄存器中已经被更新的指示。进一步的使用情况可以是用于判定多播/广播事务的完成状态。
[0033]在这个示例中,发起主代理可以发送例如带有具有指示请求聚合的响应的预定值的源标识符(ID)(例如,FEh的源ID)的非投递的多播/广播写入事务,并且接着接收单个聚合完成。因此,在聚合完成中成功的响应状态向发起代理指不:在所有目标代理中已成功完成写入消息。
[0034]按照本发明的实施例的聚合的响应也可以用来判定系统中的代理的功率状态。发起主代理可以发送带有指示了聚合的响应请求的源ID(例如,具有FEh的值的源ID)的单个非投递的多播/广播写入事务,以查询在系统中的所有代理的功率状态。如果接收的完成具有断电状态,则主代理可以判定所有代理被断电。类似的,如果接收的完成具有成功状态,则主代理可以判定所有代理通电。相反地,如果完成具有混合状态,则主代理可以判定系统具有混合的通电、断电、或者行为异常的代理。并且在一些实施例中,每个代理可以具有预定义的待设置的位,以便当设置时,其指示了通电的代理和代理的标识。如果路由器完成了给代理的消息,则它将指示断电状态,并且也不能设置代理的特定位。其他使用情况可以使具有聚合的多播/广播读取请求避免多个单播读取请求。
[0035]发送到广播端口 ID或组端口 ID(多播)的消息可以是投递的或非投递的。在非投递操作的情况下,如果发送者寻求由结构和具有多个端口 ID的代理聚合所有的完成,则发送者可以使用聚合的请求指示符作为其源端口 ID。换句话说,通过在请求内使用该特定的端口 ID (例如OxFE)作为源端口 ID,保证单个完成被响应于请求返回给发送者。因此,当带有这个聚合的源端口 ID的非投递的请求被发送时,可以在耦合到请求者的路由器中收集聚合的完成,并且单个响应状态被返回。
[0036]在各种实施例中,路由器可以应用“按位0R”或“多位0R”操作到它们在发送聚合的完成到请求代理的入口端口之前接收的完成响应状态。当对数据和完成聚合时,返回给请求者的数据可以是来自每个完成者的相应数据的按位0R。如果路由器接收到具有数据的完成与没有数据响应的完成的组合,则聚合的完成可以形成为具有数据消息的完成,其中聚合的响应状态字段是所有接收到的完成消息的状态字段的按位0R,并且聚合的数据是来自所有接收到的具有数据消息的完成的数据的按位0R。在一些实施例中,路由器可以合成或创建对某些部件的完成。例如,路由器可以为断电端点合成响应,并且在一些实施例中,对于这样的端点的响应可以被认为是为了聚合的目的所接收的完成。
[0037]具有多个端口 ID的边带代理可以发送对接收到的具有聚合请求的非投递的消息的单个聚合完成。具有聚合完成的多个端口 ID的这样的边带代理可以与路由器关于聚合类似地操作。也就是说,这样的代理可以遵循为路由器定义的所有聚合规则。[0038]因此,作为按照本发明的实施例的数据聚合的结果,发起广播或多播的端点可以接收具有数据响应的完成,所述数据响应指示成功、不成功/不支持、断电、或多播混合的状态。
[0039]相反于在请求代理中传统的接收和处理单独响应,实施例可将聚合的责任放置于系统的边带路由器,这可以简化代理设计。并且通过将该责任放置在路由器中,来自系统中多个代理的这个功能可以被聚合到共享的对象(路由器),这可能导致系统门数的降低,并且通过允许令边带网络的总尺寸对于每个代理不可知,也简化了代理设计。
[0040]因此实施例经由以下方式能够进行聚合:使用聚合指示符(例如,预定的端口ID(例如,网络地址))作为源地址,以向系统中的所有路由器指示它们应当聚合完成。响应于检测到这样的请求,系统路由器可以为给定的完成聚合状态和数据两者。
[0041]现在参考图7,显示了按照本发明的实施例的处理边带完成的方法的流程图。如图7所示,方法300可以在路由器、交换机、或提供了聚合功能的其它设备中实现。例如,在一些实现中,端点自身可以在发送聚合完成返回请求者之前执行部分聚合。然而在图7的上下文中,假定聚合器是路由器。如在图7中看到的,方法300可以开始于:在路由器中接收多播请求(框310)。该多播请求可以来自于耦合的端点,例如耦合到路由器的IP代理。这个多播请求可以是针对于SoC的不止一个代理的请求,或者它可以是针对于SoC的所有代理的广播请求。在菱形315处,可以判定是否请求了聚合完成。尽管本发明的范围不限于此,但在一个实施例中,这个判定可以基于与请求相关联的源标识符。也就是说,预定的源标识符的值因此可以提供聚合的完成请求的指示。如果接收到这样的请求,如在图7中看到的,控制转到框320。
[0042]在框320处,路由器可以将请求转发到指示的端点。例如,在广播请求中,路由器可以将请求转发到所有系统代理;而对于多播请求,路由器可以将请求转发到指示的代理。在一些实施例中,路由器可以在发送请求之前判定每个代理是否具有可用的资源,例如,如参考信用计数器判定的。
[0043]仍然参照图7,在框325处接下来可以在路由器处接收到来自指示的端点的单独响应。注意到尽管在图7中显示为:如上面所讨论的,在端点包括多个端口的实施例中,接收来自每个端点的单独响应,但所述端点可以在发送它的单独响应之前聚合来自这些多个端口的响应。或者,另一个路由器元件可以为其耦合的代理聚合响应。
[0044]然后,控制转到框330,在这里来自这些单独响应的状态可以被聚合。更具体地,在一个实施例中,路由器的聚合逻辑可以操作以分别聚合状态信息和数据信息,例如,通过相应的按位操作。当然,按位OR可以是多位长度,而不是来自每个单独响应的单个位。控制然后转到框340,其中具有聚合状态和数据的完成可以被发送回请求代理。
[0045]相反,如果在菱形315处判定没有请求聚合的完成,则控制转到菱形350,在这里可以判定所接收到的请求是否是非投递的请求。如果不是(即,所述请求是投递的请求),那么控制转到框355,在这里可以将请求转发到指示的端点。如果相反,请求是非投递的请求,那么在框360处将该请求转发到指示的端点。其后,单独响应可以从指示的端点处接收并且单独的完成可被发送回请求者(框370)。因此,如在图7中看到的,通过在路由器中聚合完成可以实现更有效的处理,并且因此发送单个完成返回请求者,而不是与从每个指示的端点发送单独的完成相关联的带宽、时延、以及其他延迟。尽管借助在图7的实施例中的这个特定的实现显示,应当理解本发明的范围并不局限于此。
[0046]尽管图3和图4的SoC是高级别的,但应当理解可以出现附加功能。现在参考图8,显示了按照本发明的实施例的SoC的部分的更详细的框图。如在图8中显示的,显示的SoC700的部分可以对应于在存储器控制器中心或者其他接口逻辑下面耦合的非核心部分,所述存储器控制器中心或者其他接口逻辑可以反过来接合多个处理器核心和系统存储器。
[0047]因此如看到的,片外接口 710 (在一个实施例中可为直接媒体接口(DMI))可以耦合到中心715,例如输入/输出中心,其反过来在各种外围设备之间提供通信。尽管为了便于说明而没有在图8中显示,但应当理解各种引擎(例如可管理性引擎和虚拟化引擎)也可以被直接耦合到中心715。
[0048]为了提供到多个总线的连接(所述总线可以是按照IOSF规范的多点或共享总线),IOSF控制器720可以耦合在中心715和总线730之间,总线730可以是因而合并结构的元件以及路由器的IOSF总线。在图8中显示的实施例中,第一 IOSF总线730可具有与其耦合的各种控制器,以提供对片外设备的控制。具体地,可以看到的是PCI控制器722、SATA控制器724、以及USB控制器726。反过来,第二 IOSF总线750可以耦合到系统管理总线752以及到实时时钟754。
[0049]如在图8中进一步看到的,第一 IOSF总线730为主要信息和边带信息可以耦合到IOSF桥735,IOSF桥735反过来提供到(例如不同协议的)第三总线740的互连,各种控制器和部件可以附加到所述第三总线740。在图8中显示的实施例中,这些部件包括:闪存控制器741,以提供接口给非易失性存储器;旧有设备742,其可以实现各种旧有功能(例如PCI规范的),并且还可以包括中断控制器和定时器。另外,可以提供用于音频743、USB744、千兆字节以太网(GbE) 745、串行外围接口 6卩1)746和?(:1747的所有接口。尽管借助图8的实施例中的特定实现显示,应当理解本发明的范围并不局限于此。
[0050]其它实现也是可能的。现参考图9,显示了根据本发明的实施例的另一 SoC的框图。如图9中显示的,SoC800可以被配置为例如用于服务器系统中。如在图8中看到的,SoC可以包括平台控制器中心(PCH)840,其通常可以包括例如在图8的实施例中看到的部件。就是说,可能出现多个IOSF总线730和740,以及耦合这些总线的桥735。总线730可以包括与其耦合的各种代理,包括=PCIe控制器722、SATA控制器724、以及USB控制器726。反过来,经由IOSF控制器720,可以经由额外的总线718发生通信,额外的总线718可以与上游设备通信,例如核心或其他处理单元(为了便于说明而未在图9的实施例中显示)。
[0051]如在图9中进一步看到的,为了提供与其它基于服务器的部件的通信,可以提供额外的IOSF总线820,其反过来可与IOSF控制器822和可以被耦合到上游总线825的上游交换机端口 824(例如,X16端口)通信。同样耦合到总线820的可以是多个下游交换机端口 826 和 828。
[0052]此外,为了能够与例如基于服务器的系统的存储单元通信,交换机端口 830可耦合在总线820和另一个IOSF总线850之间,IOSF总线850反过来可以耦合到存储控制器单元(SCU)855,其可以是用于与各种存储设备耦合的多功能设备。
[0053]实施例可通过代码来实现,并且可以存储在其上存储有指令的非瞬态存储介质中,所述指令可用于编程系统以执行这些指令。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、固态驱动(SSD)、光盘只读存储器(⑶-ROM)、可重写光盘(⑶-RW)、以及磁光盘,半导体设备例如只读存储器(ROM)、随机访问存储器(RAM)例如动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡,或任何其它类型的适于存储电子指令的介质。
[0054]尽管已经关于有限数量的实施例对本发明进行了描述,但本领域的技术人员将会领会根据其做出的多种修改和变化。所附权利要求旨在覆盖所有这样的修改和变化,视为落在本发明的真实精神和范围内。
【权利要求】
1.一种方法,包括: 在片上系统(SoC)的路由器中接收来自耦合到所述路由器的第一端点的请求,所述请求包括对聚合的完成的请求; 将所述请求从所述路由器转发到多个目标代理; 在所述路由器中接收来自所述多个目标代理中的每一个的响应,并且将所述响应合并到所述聚合的完成;以及 从所述路由器发送所述聚合的完成到所述第一端点。
2.如权利要求1所述的方法,其中来自所述第一端点的所述请求包括多播请求,并且其代替来自所述第一端点的多个单播请求。
3.如权利要求1所述的方法,进一步包括在所述路由器中接收来自所述第一端点的边带接口的请求。
4.如权利要求1所述的方法,其中所述请求包括到被在所述多个目标代理中进行映像的寄存器的多播读取请求。
5.如权利要求1所述的方法,其中所述请求包括预定的源端口标识符以指示对所述聚合的完成的请求,以及响应于所述请求而得到所述多个目标代理中的每一个的状态。
6.如权利要求5所述的方法,其中从所述多个目标代理得到的所述状态有关于对应的目标代理的功率状态。
7.如权利要求1所述的方法,其中所述路由器包括聚合逻辑,用于从所述多个目标代理中的每一个接收响应,并且用于聚合所述响应。
8.如权利要求7所述的方法,其中所述聚合逻辑用于首先合并所述响应的状态,其次合并所述响应的数据。
9.如权利要求8所述的方法,其中状态合并包括在所述响应的状态部分之间的按位操作,而数据合并包括在所述响应的数据部分之间的按位操作。
10.如权利要求1所述的方法,其中所述路由器用于合成对不提供响应的目标代理的响应。
11.如权利要求1所述的方法,进一步包括在所述路由器中接收来自目标代理中的第一目标代理的聚合响应,其中所述第一目标代理包括多个端口。
12.一种装置,包括: 耦合到多个端点的路由器,其用于将从所述多个端点接收到的请求路由到至少一个目的地端点,所述路由器包括聚合逻辑,所述聚合逻辑用来响应于来自第一端点的聚合请求,将从所述多个端点中的至少一些接收到的多个响应组合到组合的响应,并且用来将所述组合的响应发送到所述第一端点。
13.如权利要求12所述的装置,进一步包括所述请求的预定的源端口标识符,用来指示所述聚合的完成的请求,并且响应于所述请求而得到所述多个目标代理中的每一个的状态。
14.如权利要求12所述的装置,其中所述请求包括多播请求,并且其代替来自所述第一端点的多个单播请求,其中所述路由器包括第一目标接口以接收来自所述第一端点的请求,和第一主接口以将所述组合的响应发送到所述第一端点。
15.如权利要求12所述的装置,其中所述聚合逻辑用于合并所述响应的状态信息,以及用于合并所述响应的数据信息,状态合并包括在所述响应的状态部分之间的按位逻辑操作,并且数据合并包括在所述响应的数据部分之间的按位逻辑操作。
16.如权利要求12所述的装置,其中第二端点包括多个端口,所述第二端点进一步包括聚合逻辑,所述聚合逻辑用来响应于从所述路由器接收到的聚合请求,将从与所述多个端口中的每一个相关联的所述第二端点的部分接收到的多个响应组合到组合的响应,并且用来将所述组合的响应发送到所述路由器。
17.—种片上系统(SoC),包括: 具有多个接口的结构,每个接口用于将所述结构耦合到对应的知识产权(IP)代理,所述结构包括耦合到所述多个IP代理中的至少一些的路由器,其中所述路由器包括聚合逻辑,所述聚合逻辑用来响应于来自所述多个IP代理中的一个IP代理的聚合请求,将从所述多个IP代理中的至少一些接收到的多个响应组合到组合的响应,并且用来将所述组合的响应发送到所述一个IP代理;以及 耦合到所述结构的所述多个IP代理。
18.如权利要求17所述的SoC,其中所述聚合逻辑用于合并所述多个响应的状态信息,并且用于合并所述多个响应的数据信息,状态合并包括在所述多个响应的状态部分之间的按位逻辑操作,并且数据合并包括在所述多个响应的数据部分之间的按位逻辑操作。
19.如权利要求17所述的SoC,其中所述聚合请求包括预定的源端口标识符以指示聚合的请求,并且响应于来自 所述一个IP代理的请求,所述聚合逻辑得到至少一些IP代理的状态,其中从至少一些IP代理得到的所述状态有关于对应的IP代理的功率状态。
20.如权利要求17所述的SoC,其中来自所述一个IP代理的聚合请求包括多播请求,并且其代替了来自所述一个IP代理的多个单播请求,所述聚合请求包括到被在所述至少一些IP代理中进行映像的寄存器的多播读取请求。
【文档编号】G06F15/16GK103959266SQ201280058462
【公开日】2014年7月30日 申请日期:2012年9月24日 优先权日:2011年9月29日
【发明者】S·拉克什马纳默西, M·C·亨塞克, M·T·克林莱史密斯, B·范宁, M·K·奈尔, J·默里, R·R·维尔马, G·J·拉韦尔, R·P·阿德勒 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1