片上网格互连的制作方法_4

文档序号:9493647阅读:来源:国知局
或行)上共享的功率递送和时钟架构),以及其他示例好处和实现。如上文所述,环形网格型互连允许实现多种不同的平片图布局时的灵活性。由此,应当理解的是,图8的简化的示例仅仅是采用环形网格互连的平面图的一个代表性示例,而且可以提供具有更多或更少的瓦片、不同的组件、代理和环形的不同的放置等的广泛的替代设计。
[0055]图9A-9C示出了可以利用连接多个CPU核心瓦片的环形网格互连的多种实现方式而实现的示例流。在下列简化的示例中,示例设备400(在图4中介绍的)被呈现为表示设备 400 的组件(例如,416、418、420、422、424、425、426、428、430、432、434、435、436、438、440、442、444、445、446、448、450、452)之间的示例流。例如,在图9A的示例中,可以将消息从核心418发送至设备400上的另一个瓦片(核心424的)上的高速缓存组434中。每个高速缓存组(例如,426、428、430、432、434、435)可以表示系统的整体高速缓存的划分,并且每个核心(例如,416、418、420、422、424、425)可以潜在地存取并利用在设备400的高速缓存组中的任意一个中的数据。可以使用核心418的代理456以将目的地为代理462的消息业务注入到垂直环形410上。消息业务可以被路由至代理454以用于将业务从环形410转移至水平环形404。在一个示例中,代理454、456、458、460、462、464每个都可以被配置以双向地或根据单方向转移而在各个环形之间提供交叉。例如,图9A的示例可以以单方向配置实现,其中越界缓冲器被配置为将业务从垂直环形转移至平行环形。代理454可以将业务转移(例如,将业务从环形410进行汇集并重新注入)至水平环形404以传输至代理462的核心。一旦在环形404上,业务可以不经停地前进到连接到垂直环形414的代理462,有效地传递,无阻碍地经过中间的垂直环形,例如垂直环形412。在垂直和水平环形(例如,环形404和412)的“交叉”处,没有中间的缓冲器或环形站可以被提供,这允许环形中的任意一个(例如,402、404、406、408、410、412、414、415)上的业务不被打断地前进到环形上的其目的地。通过采用在网格交叉处的环形站的设计可以实现较低的延时,这允许延时简档相似于传统环形互连的延时简档并且低于传统的网格互连设计,同时提供相似于其他非环形、网格互连的带宽概况,以及其它示例优点。
[0056]环形网格互连可以不仅在管芯的布局中提供灵活性,而且可提供针对在设备上的组件之间进行路由的灵活性。在一些实现中,可以提供在环形网格上的对业务的动态重新路由,这允许业务便利地被重新路由至网格上的其他环形以到达特定的目的地。图9B的示例示出了可以用于在互连上将业务从代理456传输至代理462的另一个潜在的路径。在图9B的示例中,代理456可以将业务注入到水平环形406上以传输至代理464。代理464可以将业务从水平环形406转移至垂直环形414 (例如,利用越界缓冲器),以传输至目的地瓦片和代理462。在一个实现中,在图9B中示出的示例流可以是由使用从水平环形到垂直环形的单向越界缓冲器的环形网格所采用的流程。此外,如在图9A的示例中,注入到环形上的业务可以利用环形互连协议而不经停地在环形上前进,而不汇集至业务在其上通过的中间环形(例如,412)的中间环形站。
[0057]在一些实现中,可以在少至单个循环中实现在越界缓冲器处对业务的缓冲以用于从一个环形转移至另一环形。通过提供将业务沿着环形网格的环形不被打断地传输到其目的地或下一转移点,可以减小在其他示例优点中,如将由沿着更加传统的网格互连的水平或垂直路径所提供的额外的环形站所引入的,以及其他示例优点。
[0058]转到图9C的示例,第三个示例被示出涉及使用用于将多个CPU核心和高速缓存组进行互连的环形网格互连的设备400。在图9C的示例中,在存储器控制器446处接收到针对存储在设备400的末级高速缓存(LLC)的行中的数据的请求905 (例如,来自设备400外部的另一设备)0。存储器控制器446可以将请求路由至被认为用于存储所请求的数据的高速缓存组428的代理456。在该特定的示例中,可以在环形网格上利用这样的路径,所述路径包括首先通过水平环形402发送请求消息以不经停地前进到EDC组件436的越界处理器,其用于将该业务注入到垂直环形404上。该业务可以在垂直环形404上不经停地前进到在代理456处的请求的目的地。在图9C的示例中示出的路径可以对应于使用水平到垂直越界缓冲器的实现的实现方式。在其他示例中,可以使用替代的路径(包括对请求的重新路由中)以潜在地利用环形402、404、406、408、410、412、414、415的任意组合而将请求输达至代理456。
[0059]继续图9C的示例,代理456可以连接到核心方框418。核心418可以处理请求并确定高速缓存组428实际上不拥有请求的高速缓存行并且可以执行散列函数或其它查找以确定设备高速缓存的哪一个组拥有对应于请求905的高速缓存行。核心方框418可以确定高速缓存组434替代地是所请求的高速缓存行的正确的所有者。代理456可以确定用于将请求转发至对应于高速缓存组434的代理462的路径。在该示例中,该路径可以再一次遵循单圈的水平到垂直路径,尽管可以使用包括多个水平和垂直环形上的具有多圈的路径的替代的路径。如在图9C的示例中所示,代理456将请求注入910到水平环形406上以利用代理464将其转移至垂直环形414。请求不经停地前进到代理464,代理464将该请求潜在地进行缓冲并且接着将其注入到环形414上以传输至其目的地,代理462。接着,业务沿着环形414前进到代理462。在接收请求之后,核心方框424可以处理请求以确定在高速缓存组434中是否存在所请求的高速缓存行。如果该行存在以及其他条件,核心424可以基于包括在缓存行中的数据而产生待被传输至存储器控制器446 (或另一组件)的响应。然而在本示例中,核心424确定缺少LLC并且将请求重新定向回系统存储器以由被存储器控制器446处理。由此,生成LLC缺少响应915并且代理462在环形网格上确定路径以将该响应传达至存储器控制器446。在该情况下,由于存储器控制器446和代理462连接到相同的垂直环形,所以该响应在垂直环形上前进至存储器控制器446。存储器控制器446可以处理该响应,并在系统存储器中潜在地尝试寻找原来所要求的数据,利用更新的消息对请求组件(即,请求905的)进行回复,以及其他示例。
[0060]现在转到图10A-10B的简化的流程图1000a-b,关于在环形网格互连上的事务消息(或分组)的传输而示出了示例技术。在图10A的示例中,在1005,在第一环形站处可以接收特定消息,其中所述环形站连接到沿第一方向取向的环形网格互连的第一环形和沿大体上正交于第一方向的第二方向取向的网格中的第二环形两者。例如,可以从另一组件接收消息,并且可以将消息沿着第一环形传输至第一环形站。在其他实例中,可以从对应于第一环形站的核心代理或高速缓存代理接收消息。第一环形站可以是多核心平台中的瓦片的环形站,所述瓦片包括CPU核心(对应于核心代理)和由高速缓存代理管理的高速缓存组(例如,LLC的)两者。消息可以是目的地为包括另一组件和第一环形站的设备上的另一组件。在1010,可以确定用于利用环形网格互连而将消息发送至另一组件的环形站的路径,并且在1015,消息可以被缓冲以用于根据所确定的路径将消息注入到环形网格互连的第二环形上。在1020,例如,响应于识别第二环形上的可用性或带宽,可以将特定的消息注入到第二环形上。可以根据流程控制、消息分类、仲裁、以及可适用于环形网格的的消息饥饿策略等而注入特定的消息。接着注入的消息可以通过第二环形不经停地前进到其他组件,无论第二环形是否经过沿第一方向取向的任何其他中间的环形。
[0061]转到图10B的示例,在1030,可以将消息(例如,事务的一个或多个分组)沿着环形网格互连的第一环形互连发送至在设备的特定瓦片或组件处的环形站。环形网格可以包括沿第一方向取向的环形,例如第一环形,以及大体沿正交于第一方向的第二方向取向的环形。消息可以最终目的地为设备上的另一组件,并且在1035,可以将消息从第一环形转移至在环形网格互连中的沿第二方向取向的第二环形。接着,在1040,可以将消息沿着第二环形、通过置于第一方向的一个或多个中间环形转发至目的地组件的环形站。通过将环形互连协议应用至环形网格互连的环形上的消息的传输,可以使消息能够有能力在环形网格中的特定的环形上前进而不经停地通过中间的(或交叉的)环形。
[0062]应当注意的是,如上文中所描述的装置、方法、以及系统可以在任何电子设备或系统中被实现。如具体的说明,以下的示例提供了用于使用如在本文中所描述的本发明的示例性系统。如以下系统更详细地说明,从上文的讨论中公开、描述、并重新访问了多个不同的互连。并且显而易见的是,可以将上文所述的提升应用至那些互连、结构、或架构中的任意一个。
[0063]现在参考图11,所示出的是根据本发明的实施例的第二系统1100的方框图。如图11所示,多处理器系统1100是点对点互连系统,并且包括经由点对点互连1150耦合的第一处理器1170和第二处理器1180。处理器1170和1180中的每个都可以是一些版本的处理器。在一个实施例中,1152和1154是串行的点对点一致性互连结构的一部分,例如Intel的快速路径互连(QPI)架构。因此,可以在QPI架构内实现本发明。
[0064]尽管仅示出有两个处理器1170、1180,但应当理解的是,本发明的范围并不限于此。在其他实施例中,在给定的处理器中可以存在一个或多个额外的处理器。
[0065]处理器1170和1180被示出分别包括集成的存储器控制器单元1172和1182。处理器1170也包括作为其总线控制器单元的一部分的点对点(P-P)接口 1176和1178 ;相似地,第二处理器1180包括P-P接口 1186和1188。处理器1170、1180可以经由点对点(P-P)接口 1150利用P-P接口电路1178、1188()来交换信息。如在图11中所示,MC 1172和1182将处理器耦合至相应的存储器,即存储器1132和存储器1134,这些存储器可以是在本地附接至相应的处理器的主存储器的部分。
[0066]处理器1170、1180各自经由单独的P-P接口 1152、1154使用点对点接口电路1176、1194、1186、1198而与芯片组1190交换信息。芯片组1190也经由接口电路1192、沿着高性能图形互连1139而与高性能图形电路1138交换信息。
[0067]共享的高速缓存(未示出)可以被包括在两个处理器
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1