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

文档序号:9493647阅读:来源:国知局
,在一些实现中,可以将环形架构协议和流控制的部分设计为用于在传统或其它环形互连架构中使用。例如,在一些实现中,这种“环形网格”架构中使用在于2011年11月29日提交的在专利合作条约下为PCT/US2011/062311的专利申请(通过引用包含在本文中)中公开的技术、协议、算法、策略、以及主题的其他方面。架构的网格状的布局可以在保持接近于直接路径的延时的同时,移除关于环形的正交扩展的带宽限制(例如,如在图2和3的示例中)。每个瓦片(tile)(包括核心)可以包括具有到水平方向的环形中的一个和垂直方向的环形中的一个两者的连接代理或环形站,环形站还充当从连接到环形站的水平方向的环形到连接到环形站的垂直方向的环形的交叉点(cross-over point)。
[0045]在图4的示例方框图中示出了改进的环形网格互连架构的简化的表示。芯片400被表示为包括水平方向(关于图4中的呈现的角度)的环形互连分段402、404、406、408和垂直方向的环形互连分段410、412、414、416的网格。可以提供多个瓦片,其中至少一些包括多个处理核心416、418、420、422、424、425中的一个以及末级高速缓存(LLC)426、428、430、432、434、435的部分或分区。在其他示例中,也可以提供例如存储器控制器和存储器接口的额外的组件,例如嵌入式DRAM控制器(EDC)、外部存储器控制器接口(EMI)(例如,444,445)、存储器控制器(例如,446、448)、以及设备间的互连组件,例如PCIe控制器450和QPI控制器452等。可以提供代理(例如,454、456、458、460、462、464)和其他逻辑以作为组件(例如,416、418、420、422、424、425、426、428、430、432、434、435、436、438、440、442、444、445、446、448、450、452)的环形站,从而将每个组件连接到一个水平方向的环形和一个垂直方向的环形。例如,每个对应于核心(例如,416、418、420、422、424、425)的瓦片可以对应于在网格中的水平方向的环形与垂直方向的环形的交叉。例如,与核心422和并置在核心422的瓦片上的末级高速缓存分段的高速缓存框(例如,432)相对应的代理456可以作为水平方向的环形406和垂直方向的环形412两者的环形站。
[0046]在其他潜在的示例优点中,例如在图4的示例中表示的环形网格架构,可以利用环形架构设计并提供更大并且更多的灵活性,同时提供更高的性能。环形站可以在水平方向的环形和垂直方向的环形两者上上发送事务。每个环形站也可以负责汇集一个环形的消息并注入到另一(即,正交方向的)环形。消息一旦被注入到环形上,便不会在每个中间的环形站停止,而是是沿着环形前进直到达到转向(traverse)环形站或目的地环形站为止。在特定路径的转向环形站处,消息可以从水平方向的环形转向至垂直方向的环形(反之亦然)。可以在该转向环形站处缓冲该消息,其中该消息在在该转向环形站处重新注入网格上(即,在另一网格上),其中,消息不经停地(即,越过中间的环形)前进,直到达到其目的地(或又一转向点(例如,与消息的动态重新路由等有关))为止。
[0047]在一些实现中,可以与瓦片的代理(例如,454、456、458、460、462、464)相关地包括片上瓦片的环形站。在一些实现中,代理(例如,454、456、458、460、462、464)可以是针对瓦片的核心和高速缓存组(cache bank)的组合的代理。在一个示例中,代理可以包括管理对系统高速缓存的访问的高速缓存代理和管理对系统存储器的访问的本地代理的功能,以及其他特征和示例。
[0048]转到图5,示出了关于在示例环形网格架构中使用的环形站500的示例实现的简化的方框图。在图5的特定示例中,环形站500包括水平环形站组件505、垂直环形站组件510、以及越界(transgress)缓冲器515。水平环形站组件505可以包括用于路由、缓冲、传输并管理从水平环形互连进入和退出至水平环形互连的业务的逻辑,其中所述水平环形互连和环形站代理500相连接。相似地,垂直环形站组件510可以包括用于路由、缓冲、传输并管理从垂直环形互连进入和退出至垂直环形互连的业务的逻辑,其中所述垂直环形互连和环形站代理500相连接。越界缓冲器515可以包括用于将消息从连接到环形站500的环形互连(即,水平方向或垂直方向的环形)中的一个转移到另一个(即,垂直方向或水平方向的环形)的逻辑。
[0049]在一个实现中,越界缓冲器515可以将从一个环形转移到另一个环形的消息缓冲,并且管理适用于这些转移的策略和协议。消息的仲裁可以由越界缓冲器515根据一个或多个策略执行。在一个示例中,越界缓冲器515包括信用/非信用队列的阵列以汇集来自一个环形的业务,并且将业务注入连接到特定的瓦片的环形站的另一个环形。越界缓冲器515的缓冲器大小可以基于特定的环形网格互连的总体性能特性、工作量、业务模式等来定义。此外,由于已经位于环形网格的给定的环形上的消息将无阻碍地前进到其目的地或转向点,所以已经位于环形上的消息具有优先权并且越界缓冲器515可以监测该越界缓冲器515所连接到的环形上的业务,并且当在合适的环形上发现可用带宽时注入业务。在一个示例中,越界缓冲器515可以应用反饥饿策略以由越界缓冲器515对业务进行仲裁。在一个示例中,可以将每个事务限定为在其通过互连的路径上穿过给定的越界缓冲器恰好一次。这可以进一步简化由越界缓冲器515使用的协议的实现,以有效地在由多个传统的环形互连策略和协议(包括,流控制、消息类别、和其他规则)控制的网格内连接或桥接环形。
[0050]在一些实现中,例如在本文中所描述的环形网格互连可以展示改进的带宽和延时特性。在一个示例中,只要没有来自相邻的环形站的穿过的业务,则互连的代理就可以将业务注入到源环形上(例如,在具有水平到垂直的转换的系统中的水平环形上)。代理之间的用于注入的优先级可以是循环的。在单向设计中,只要在越界缓冲器处没有分组进行交换(从水平环形到垂直环形)并且没有穿过的业务,则代理可以进一步直接汇集到汇集环形(例如,具有水平到垂直转换的系统中的垂直环形)。代理可以从汇集环形中直接进行汇集。关于汇集环形的极性规则可以保证在汇集环形上在给定的时钟内仅单个分组被发送至每个代理。如果在单向设计中没有来自汇集环形分组以进行汇集,则代理可以接着从越界缓冲器进行汇集(例如,之前从源环形中缓冲的分组),或从源环形直接进行汇集(例如,通过越界缓冲器旁路路径或其他位于同一处的旁路路径)。在这样的实例中,由于越界缓冲器可以被假定为双端口的并且每个循环可以汇集两个分组,所以源环形不需要任何极性规贝1J。例如,越界缓冲器可以具有两个或更多读取端口以及两个或更多写入端口。此外,即使是目的在于汇集至源环形上的代理中的分组也可以在需要时在相对应的越界缓冲器中被缓冲。
[0051]在一些实现中,越界缓冲器515可以是双向的,其中,越界缓冲器515将来自连接到环形站500的水平方向的环形和垂直方向的环形中的任一个的业务进行汇集,并且将该业务注入到其他环形上。然而,在其他实现中,越界缓冲器515可以是单向的,如在图5的示例中所示。在该特定的示例中,环形网格将业务从环形站的水平环形发送至环形站的垂直环形。由此,源自水平环形的业务可以经由越界缓冲器515被路由通过水平环形站组件到垂直环形站组件510,以用于在连接到环形站500的垂直环形上进行注入或用于发送至在环形站500所属于的瓦片处的核心的核心方框入口 530或LLC的部分的高速缓存方框入口 535。在该特定实现中,从环形站500的瓦片的核心或高速缓存方框中发送的消息可以经由连接到水平环形站组件505的核心方框(或代理)出口(520)或高速缓存方框(或代理)出口(525)来发送。此外,由瓦片的核心或LLC接收到的消息可以由连接到垂直环形站组件510的核心方框入口 530或高速缓存方框入口 535进行处理。专用连接可以从核心和高速缓存方框和环形站500提供。虽然图5的示例根据单向的、水平到垂直环形转移设计示出了一个示例实现,但可以使用其他替代选择,例如上文中介绍的双向设计,以及在图6的示例中示出的双向的、垂直到水平的环形转移设计。
[0052]图7示出了根据在本文中描述的原理和特征的方框图,其示出了包含在使用环形网格互连的多核心设备中的瓦片700的片上布局的简化表示。在一个示例中,瓦片700可以包括CPU核心705、包括末级高速缓存(LLC)710的高速缓存以及中级高速缓存715的分区等。代理720可以被提供包括被定位成使得连接到环形网格中的两个环形725、730的环形站。环形站的越界缓冲器可以允许消息从环形中的一个(例如,725)转移到环形中的另一个(例如,730)。每个环形(例如,725、730)可以包括多个导线。在一些实现中,环形网格的管芯上的导线可以位于管芯上的瓦片的至少一部分的顶部上或下方。核心的一些部分可以被视为“禁飞”区域,这是因为没有导线将置于用于实现核心的硅的那些部分上。例如,在图7的示例中,环形725、730被布局在管芯上以使得所述环形725、730不位于核心705上或与核心705交互。环形725、730的导线可以替代地定位在瓦片上的其他组件上,包括LLC 710、MLC 715、和代理720,以及在瓦片上的其他组件,包括例如监听过滤器735、时钟逻辑、电压调整和控制组件(例如,745),以及甚至对环形网格互连的导线的接近比较不敏感的核心的一些部分等。
[0053]图8表示使用环形网格互连的简化的多核设备的示例平面图800。环形网格互连便利地允许在垂直(y_轴)和水平(X-轴)维度两者中缩放多核心设计。四个或更多列可以被提供具有每列多核心(和瓦片)。在一些实现中,使用环形网格互连的多核心设备可以扩展成多达20个核心。由此,可以利用环形网格型互连实现多个多核心平面图,同时保持带宽和低延时特性。
[0054]例如,如在图7的示例的讨论中所述,平面图800中的每个瓦片可以包括核心(例如,705)和高速缓存组以及相对应的高速缓存控制器(例如,710)。此外,为了帮助最小化环形网格互连的成本,环形(例如,725、730)的导线可以置于允许瓦片在设备上紧紧地聚集的每个瓦片的部分上,这使得对管芯区域的利用更加高效。每个瓦片的代理可包括将瓦片连接到网格中的环形中的两个环形的环形站。在一些实现中,环形站可以置于瓦片的角落处。在图8的特定的示例中,瓦片的列可以使瓦片上的环形站的放置交替,这允许临近的垂直环形被置于列的邻接侧上。核心的两列(例如810、815)可以接着被提供下一组的两个大体相邻的垂直环形(例如,820、825)等。在一些实现中,提供了在管芯上大体相邻的环形网格环形中的一些可以允许在两个相邻的列(
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1