多处理器架构与方法_2

文档序号:9288388阅读:来源:国知局
的桥。EP1 206b通过总线211穿过桥205b耦合至根202。终端EPO206a与 EP1 206b各自包含个别的局部内存208a与208b。从个别的根202, 209与211分别传送与 接收标准双向点对点数据链接的道(lanes)。
[0020] 在实施例中,EPO206a与EP1 206b是相同的。如以下进一步说明,在不同的实施 例中,桥205b并不是必需的,但可被用于达到具有终端版本的目的,例如一种版本的GPU, 而不是制造两种不同版本。注意可单独使用EP0,通过总线207与211直接连接至根202。
[0021] 当EP0与EP1存在时,含有桥205会排除需求例如图1桥104的外部桥。相较于 图1的"Y"或"T"形成,系统200在回路中移动数据(在这例子中是顺时钟方向)。左终点 EP0可直接传送数据至右终点EP1。从EP1返回至EP0的路径是经过根202。因此,根能将 来自epl的数据封包反射回至EP0。换句话说,当架构用于终点对根交易时,提供在相同线 对上点对点交易的外观。
[0022] EPO206a与EP1 206b也可用于习知的架构中。亦即EPO206a与EP1 206b通过 总线209与211各自直接与根202通讯,在此架构中,各自为双向通讯。
[0023] 图4是根据实施例的更详细方块图,说明具有周边组件的处理系统。系统300类 似系统200,但显示更多的细节。系统300包含总线根302耦合至系统内存303。总线根 302更通过总线309耦合至终点305a。为了说明特定实施例,终点305a与305b是GPU,但 实施例并不受限于GPU。GPUO305a包含多客户。客户包含逻辑,例如着色器单元(shader unit)与译码器单元,用于执行任务。客户通过总线接口(VF)逻辑耦合至内部桥,控制GPU 进行的所有读取操作与存写操作。
[0024] GPUO305a通过总线 307 从GPUO305a的内部桥至GPU1 305b耦合至GPU1 305b。 在实施例中,GPU1 305b与GPUO305a相同,以及包含多客户、内部桥与I/F逻辑。每一个 GPU典型连接至局部内存单元,通常是⑶DRDRAM。GPU1 305b通过总线311而耦合至总线 根302。在实施例中,如箭头所指,例如读取请求与完成的数据与其他信息从总线根302至 GPUO305a至GPU1 305b的顺时钟回路流动。
[0025] 在其他实施例中,GPU305其中之一不包含桥。在其他实施例中,数据反时钟方向 流动而不是顺时钟方向流动。
[0026] 在实施例中,决定数据路由的协议图1的架构具有相同的通讯架构。特别地,305b 的桥必须呈现在连结307至桥305a作为上游埠,而305a中桥上对应的附接点必须呈现在 连结309至根302作为下游埠。再者,当在进入连结上接收所有请求的返回路径时,包埋的 桥必须可以知道出发的连结,即使两个链接的实体路由不同。这可由对于每一个GPU设定 链模式架构带而达到。如果带设定为零,桥假设传送与接收连结为上游埠,根多任务或是 桥装置。如果带设定为一,桥假设菊链(daisy-chain)架构。
[0027] 在另一实施例中,根的点对点桥功能是两步骤工艺,GP1 305b据以存写数据至系 统内存303或缓冲。而后当分别操作时,GPO305a通过总线根302返回读取数据。
[0028] 如果内部桥是外部桥(如图1所示),则总线根302正常响应请求。在实施例中, GPO305a桥是主动的,而GPU1 305b的桥是作为线路以及简单传送数据。这使得总线根302 知道总县309与311是正常的周边互连。当总线根从GPUO305a读取总线根时,如果数据 直接来自于GPUO305a,则此桥传送数据通过GPU1 305b的桥,以及返回至总线根302。
[0029] 图5是系统400的方块图,其中多个总线终端的其中之一包含内部桥。系统400包 含总线根402以及包含桥405a的EPO406a。EPO406a耦合至根402通过总线409穿过桥 405a,以及耦合至EPlb406b通过总线407穿过桥405a。每一个终点EPO406a与EP1 406b 包含个别的局部内存408a与408b。
[0030] 图6是系统500的方块图,包含超过两个总线终端,各自包含内部桥。系统500包 含总线根501,以及含有桥505a与局部内存508a的EPO506a。系统500更包含具有桥505b 与局部内存508b的EP1 506b,以及具有桥505c与内部内存508c的桥505c。
[0031] EPO506a耦合是根502通过总线509穿过桥505a,以及也耦合至EPlb506b通过 总线507a穿过桥506b。EPO506b耦合至EPlc506c通过总线507b穿过桥506c。其他实 施例包含加入环状架构的额外终点。在其他实施例中,系统包含超过两个终点506,但是最 右边的终点不包含内部桥。在其他实施例中,数据流是反时钟方向,如图所示。
[0032] 请再次参阅图4,根据实施例,内部桥上有两个逻辑端口。一埠是在GPUO305a的 桥中"开启",以及一埠是在GPU1 305b的桥中"关闭"。总线根302可在总线309上传送请 求而进行存写操作。标准地址方案是指桥传送请求至总线I/F。如果是对于GPU1 305b请 求,桥把请求导引至总线307。因此,在实施例中,GPUO305a与GPU1 305b的个别内部桥编 程不同。
[0033] 图7的方块图说明总线地址范围的分配以及从不同组件的内存空间概示。同时也 参阅图4,602是说明总线根或是宿主处理器302的内存。604是说明GPUO305a内部桥的 内存。606是说明GPU1 305b内部桥的内存。总线地址范围分割范围给GPUO305a、GPU1 305b与系统302内存空间。设定GPUO305a桥,因而进入到GPUO305a范围的请求被导引 到自身的局部内存。来自根或来自GPUO305a进入GPU1 305b或系统302的请求被导引到 GPUO305a的输出埠。GPU1305b设定稍有不同,因此进入GPU1 305b范围的请求被导引到 自身的局部内存。从GPUO305a或是从GPU1 305b到根或是GPUO305a范围的请求被导引 到GPU1 305b的输出埠。
[0034] 宿主知道总线像图1所示。GPU1 05b可通过桥而向宿主处理器302制造请求,以 及请求会传送到宿主处理器302。当宿主处理器302返回请求时,会通过GPUO305a的桥, 具有逻辑用来决定请求与数据被导引到何处。
[0035] 可在两种路径中进行从GPU1 305b至GPUO305a的存写操作。GPU1 305b传送数 据至系统内存303中的内存位置。而后,GPUO305a在学习到数据在系统内存303中之后, GPUO305a读取数据。
[0036] 读取数据请求其他分割交易操作的完成信息必须沿着和请求相同方向的线路旅 行。因此,除了上述地址基础的请求路由之外,装置基础的路由必须用类似的方式设定。例 如,GPUO305a的内部桥辨识请求与完成信息的路径是通过总线307。
[0037] 实施例包含电力管理,改善高负载使用例子中的电力使用。例如,在具有一点制图 处理的使用例子中,GPU1 305b的逻辑电力关闭,以及GPU1 305b中的桥功能减少到从输入 端口至输出端口的简单通过功能。再者,GPUO305a的功能减少,不处理从输入埠路由至输 出埠的转换。在实施例中,有个别的电力供应用于GPU1 305b的桥功能。软件侦测电力降 低的条件。实施例包含用于桥的个别电力调节器与/或个别内部电源,分别从装置的剩余 逻辑调降电力。
[0038] 即使在不包含上述电力管理的实施例中,由于不需要外部桥(如图1所示),所以 保留系统板面积。保留了外部桥所需要的板面积与电力以及它的接脚。另一方面,不需要 每一个GPU具有自己的内部桥。在另一实施例中,GPU1 305b不具有内部桥,如图5所示。
[0039] 在包含用于加法电路板(add-incircuitboard)多槽的系统中,实施系统300的 架构。或者,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1