本发明专利技术描述点对点专用处理器结构和方法。实施例包括:多个专用处理器,通过主桥总线耦接至中央处理单元;直接总线,将所述各专用处理器直接耦接至其余专用处理器中的至少一个;以及存储控制器,耦接至所述多个专用处理器。其中,所述至少一存储控制器决定是否通过该主机总线或直接总线传输数据以及是否通过该主机总线或直接总线接收数据。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机及其他数字系统中的数据传输领域。相关申请本申请要求2008年3月31日提交的美国临时专利申请号61/041,210的优先权, 其全部内容通过参考整体纳入本申请。
技术介绍
随着计算机以及其他数字系统变得更加复杂而强大,用以增强系统元件之间数据 传输的方法和硬件也在不断发展。要传输的数据包括代表数据的信号、指令或任意其他信 号。数据传输的速度和效率在运行数据密集型应用例如图形应用的系统中极为重要。在 典型的系统中,图形处理功能是作为中央处理单元(central processing unit ;CPU)功能 的一部分来提供的,或者由独立的专用处理器例如图形处理单元(graphics processing unit ;GPU)提供,该专用处理器与CPU通信并辅助处理视频游戏等应用的图形数据。系统 中可包括一个或多个GPU。在传统的多GPU系统中,桥接主机接口(例如高速周边元件接口 (peripheral component interface express ;PCIe))必须与主机、流量共享带宽。图 1 为现 有系统100的方块图,该系统100包括根处理器108 (例如CPU)、桥106以及两个端点EPO 104a和EPl 104b (例如GPUO和GPU1)。各端点104分别耦接至存储器元件102a和102b。为了充分利用系统中存在的多个GPU,该多个GPU共享处理任务,从而需要在其之 间传输数据。在多GPU系统中实现性能提升的挑战在于潜在有大量数据需要在这些GPU之 间来回传输。例如,若应用要求绘制背景或其他纹理,而该绘制需要花费大量时间,则宜将 该背景或纹理复制到另一 GPU,以使其能够用于下一帧或同一帧的另一部分。在系统100 中,在GPU 104之间进行数据传输的唯一路径是分别通过路径105a和105b到达桥106。抵 达根108的此路径必然承载有自各GPU104至根108的流量以及两个GPU104之间的流量。 这样,由于物理线路共享而可形成瓶颈。附图说明图1显示现有技术中多处理器系统的方块示意图。图2显示依据一实施例加入点对点输入输出路径的多处理器系统的部分方块示 意图。图3显示依据一实施例加入点对点输入输出路径的多处理器系统的详细方块示 意图。图4显示依据一实施例由该输入输出系统执行的方法流程示意图。图5显示依据一实施例在不对称输入输出系统中传输相位信息的方法流程图。图6显示依据一实施例在不对称输入输出系统中向主机设备传输客户端相位信 息的时序图。具体实施例方式这里描述点对点(peer-to-peer)专用处理器结构和方法的实施例。实施例包括 通过主桥总线耦接至至少一个中央处理单元的多个专用处理器。直接总线将所述各专用处 理器直接耦接至其余专用处理器中的至少一个。存储控制器耦接至该多个专用处理器并决 定是否通过该主机总线或直接总线传输数据图2显示依据一实施例的多处理器系统200的部分方块示意图。系统200包括耦 接至桥026的根处理器208。桥206分别通过总线205a和205b耦接至总线端点EPO 204a 和EPl 204b。各端点204分别耦接至存储器设备202a、202b。一实施例中,根处理器208为CPU,各端点204为GPU,但并不以此为限。如下文所 述,实施例包括的端点204分别为具有侧端口(sicbport)的GPU,所述侧端口类似PCIe端 口。PCIe的寻址特征和各种负载平衡特征应用于系统200的结构中以提升性能。在典型 的结构中,自一 GPU向另一 GPU发出的“读”操作极其昂贵。“读”操作中,发出请求,并于一 段时间后接收所请求的数据。相较包括“读”操作在内的操作的典型性能,实施例作出了改 进。图3显示依据一实施例的多处理器系统300的方块示意图。系统300与系统200 类似,但所示更为详细。CPU 308为系统300的根处理器。CPU 308通过桥306耦接至系统 存储器309。CPU 308还通过桥306经由主桥总线305a耦接至GPUO 304a,并经由主桥总线 305b 耦接至 GPUl 304b οGPU 304通过各自的侧端口经由直接总线307彼此耦接。GPU 304还分别通过各 自独立的端口耦接至各自的本地存储器313a和313b。GPUO 304a包括多个客户端311a。 客户端311a与存储控制器303a通信。存储控制器303a控制客户端311对本地存储器 313a(例如视频存储器)的访问,以及客户端311对总线305a的访问。更具体地说,存储 控制器303a决定哪个客户端311与本地存储器313a通讯,哪个客户端311与总线305a通 信,以及何时通信。类似地,GPUl 304b包括耦接至存储控制器303b的多个客户端311b。存储控制器 303b与本地存储器313b通信。GPUO 304a与GPU1304b经由直接总线307彼此耦接。直接 总线307是位于GPU 304的新的侧端口之间的点对点路径。一实施例中,客户端311对不同总线的访问由地址范围决定。对存储器309和313 的访问基于所述地址范围。一实施例中,存储地址空间分为三部分系统存储器309部分; 本地存储器313a部分;以及本地存储器313b部分。从GPU 304b的角度看,存储器313a为 对等存储器,反之亦然。对等地址涉及另一 GPU上的存储器。对本地存储器的访问由桥306 以一种典型方式处理。一实施例中,当地址落在对等地址范围内时,使用两条可行路径(直 接总线307和主桥总线305)。经由一条路径或另一条路径发送的数据量取决于不同实施例 中的不同条件。例如,依据一模式,数据被平均分配在两条路径中50%的数据由总线307 发送,50%的数据由总线305发送。该模式提升了性能,而这在传统结构中是不可能实现。 不过,本领域的技术人员应了解,总线305仍在被其他流量(如上所述的正在传输的数据之 外)共享。为此,还可在该模式中采用动态负载平衡以进一步提升性能。例如,所述直接路 径(利用直接路径307)可为优选路径,但当该路径满负荷时,则使用其他路径(例如利用 路径305a和305b)。不过,考虑以下情形。假设一个“写”数据序列(“W”表示“写”,WA表示“写入存储地址/位置A”)1、WA至GPU0,经由305 ;(如图3所示该数据=4)2、WB 至 GPUO ;3, WC M GPUO ;4、WA至GPU0,经由307 ;(如图3所示该数据=6)这里欲写入的数据为“6”。如上所述,首先发生写入“4”,但经由主桥总线305a和 305b。写入“6”在后来发生,但经由直接总线307 (较快的途径)。“6”先写入,但“4”随后 到达,覆盖了 “6”。如果预料到这样的问题,则一种避免该问题的模式是基于地址的路由。 可将地址进行划分,以便将针对相同地址的数据发送在相同路径上。例如,偶双字地址可经 由直接路径307发送,而奇双字地址可经由主桥路径305a和305b发送。或者,八个地址中 的七个(不以二进制000结尾的地址)可经由直接路径307发送,而其他则可经由主桥路 径305a和305b发送。依据另一种模式,全部数据都经由一条路径或另一条路径发送。由于有一条路径本文档来自技高网...
【技术保护点】
一种系统,包括: 多个专用处理器,耦接至主桥总线; 直接总线,将所述多个专用处理器的每一个直接耦接至所述多个专用处理器中的至少另一个;以及 存储控制器,耦接至所述多个专用处理器中的至少一个,其中,所述至少一个存储控制器决定是否通过该主机总线或直接总线传输数据以及是否通过该主机总线或直接总线接收数据。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:S莫雷恩,MS格罗斯曼,WF克鲁格,B艾特沙伊德,
申请(专利权)人:先进微装置公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。