多處理器架構(gòu)與方法
【專利說(shuō)明】
[0001] 本申請(qǐng)是申請(qǐng)?zhí)枮?00980147694. 9,申請(qǐng)日為2009年10月5日,發(fā)明名稱為"多 處理器架構(gòu)與方法"的中國(guó)專利申請(qǐng)的分案申請(qǐng)。
技術(shù)領(lǐng)域
[0002] 本申請(qǐng)是關(guān)于計(jì)算器與其他數(shù)字系統(tǒng)中數(shù)據(jù)轉(zhuǎn)換的領(lǐng)域。
【背景技術(shù)】
[0003] 本申請(qǐng)主張2008年10月3日申請(qǐng)的美國(guó)申請(qǐng)案12/245, 686為優(yōu)先權(quán)案。本申 請(qǐng)也主張2008年12月19日申請(qǐng)的美國(guó)申請(qǐng)案12/340, 510為優(yōu)先權(quán)案,這是美國(guó)申請(qǐng)案 12/245,686的部分連續(xù)案。這兩件申請(qǐng)整體內(nèi)容皆并入本申請(qǐng)作為參考。
[0004] 隨著計(jì)算器與其他數(shù)字系統(tǒng)變得更復(fù)雜與更有能力,在系統(tǒng)成分或組件之間促進(jìn) 數(shù)據(jù)轉(zhuǎn)換的方法與硬件持續(xù)演化。要被轉(zhuǎn)換的數(shù)據(jù)包含代表數(shù)據(jù)、指令或是其他信號(hào)的信 號(hào)。在運(yùn)作非常大數(shù)據(jù)量應(yīng)用的系統(tǒng)中,例如制圖應(yīng)用的系統(tǒng)中,數(shù)據(jù)轉(zhuǎn)換的速度與效率 特別關(guān)鍵。在典型系統(tǒng)中,制圖處理能力是中心處理單元(CPU)的一部分,或是分別的特 殊目的處理器,,例如制圖處理單元(GPU)與CPU通訊且輔助處理用于例如視頻游戲應(yīng)用 的制圖數(shù)據(jù)??稍谙到y(tǒng)中包含一或多個(gè)GPU。在習(xí)知多GPU系統(tǒng)中,橋接宿主接口(例如 PCI快速(PCIe?)總線)接口必須在點(diǎn)對(duì)點(diǎn)(peertoper)交通與宿主交通之間分享帶寬。 交通主要包括內(nèi)存數(shù)據(jù)轉(zhuǎn)換,但通??砂噶?。圖1是習(xí)知系統(tǒng)100的方塊圖,包含根 (root) 102。典型根102試算機(jī)芯片組,包含中心處理器(CPU)、宿主橋104以及兩個(gè)終端 EPO106a與106b。終端是總線終端,以及可以是多種周邊組件,例如特殊目的處理器,例如 制圖處理單元GPU)。根102通過(guò)一或多個(gè)總線而耦合至橋104,以與周邊組件通訊。一些 周邊組件終端(例如GPUs)由于功能涉及大量數(shù)據(jù),所以需要總線上相對(duì)大量的帶寬。理 想是提供較少組件數(shù)目的架構(gòu),以及在組件之間提供有效率的數(shù)據(jù)轉(zhuǎn)換。例如,橋集成電路 (ICs)的成本相對(duì)高。除此之外,典型橋1C的尺寸可和制圖處理單元(GPU)相比,制圖處 理單元需要額外的印刷電路板面積以即可加至層數(shù)。橋1C也需要額外的環(huán)繞組件,用于電 力、帶子(straps)、時(shí)鐘以及可能是只讀內(nèi)存(ROM)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種系統(tǒng),所述系統(tǒng)包括周邊組件總線;以及多個(gè)周邊組件,通過(guò)多個(gè) 個(gè)別的傳送/接收(TX/RX)道直接耦合至所述周邊組件總線,因而所述多個(gè)周邊組件與所 述周邊組件總線連接且通訊而作為一周邊裝置;其中,所述多個(gè)周邊組件包括多個(gè)處理器; 以及其中,所述多個(gè)周邊組件更通過(guò)個(gè)別的傳送/接收(TX/RX)道直接彼此耦合,且每一 個(gè)處理器從所述周邊總線接收數(shù)據(jù)、將從所述周邊總線接收的所有數(shù)據(jù)轉(zhuǎn)送至剩余的處理 器。
[0006] 本發(fā)明還提供一種計(jì)算器可讀取的媒體,具有指令儲(chǔ)存在所述計(jì)算器可讀取的媒 體上,當(dāng)在多處理器系統(tǒng)中執(zhí)行時(shí),造成進(jìn)行一種方法,所述方法包括在多個(gè)處理器與周邊 總線之間通過(guò)總線的傳送/接收(TX/RX)道的個(gè)別組通訊總線數(shù)據(jù);在所述多個(gè)處理器之 間通過(guò)未耦合至所述總線的傳送/接收(TX/RX)道通訊數(shù)據(jù);利用地址判斷所述多個(gè)處理 器的其中一個(gè)與所述周邊總線通訊;以及其中,每一個(gè)處理器從所述周邊總線接收數(shù)據(jù)、將 從所述周邊總線接收的所有數(shù)據(jù)轉(zhuǎn)送至所述處理器。
[0007] 本發(fā)明又提供一種電路,包括:周邊組件連接器,耦合至周邊組件總線;多個(gè)周邊 組件,通過(guò)多個(gè)個(gè)別的傳送/接收(TX/RX)道直接耦合至所述周邊組件連接器,其中所述 多個(gè)周邊組件更通過(guò)個(gè)別的傳送/接收(TX/RX)道而直接彼此耦合,且每一個(gè)周邊組件 將從所述周邊組間連接器接收的所有數(shù)據(jù)轉(zhuǎn)送至剩余的周邊組件;其中,所述周邊組件利 用地址決定是否接收所述數(shù)據(jù);以及其中,所述多個(gè)周邊組件包括至少一個(gè)制圖處理單元 (GPU)〇
【附圖說(shuō)明】
[0008] 圖1是具有周邊組件的習(xí)知處理系統(tǒng)的方塊圖。
[0009]圖2是根據(jù)實(shí)施例,說(shuō)明具有多任務(wù)周邊組件的多處理器系統(tǒng)的部分的方塊圖。
[0010]圖3是根據(jù)實(shí)施例,說(shuō)明具有周邊組件的處理系統(tǒng)的部分的方塊圖。
[0011]圖4是根據(jù)實(shí)施例,說(shuō)明具有周邊組件的處理系統(tǒng)的更詳細(xì)方塊圖。
[0012]圖5是實(shí)施例的方塊圖,其中一總線終點(diǎn)包含內(nèi)部橋。
[0013]圖6是實(shí)施例的方塊圖,其包括多于兩個(gè)總線終點(diǎn),各總線終點(diǎn)包含內(nèi)部橋。 圖7是根據(jù)實(shí)施例,顯示總線地址空間架構(gòu),從系統(tǒng)中不同組件的透視說(shuō)明內(nèi)存空間 的方塊圖。
【具體實(shí)施方式】
[0014] 本申請(qǐng)揭露多處理器架構(gòu)與方法的實(shí)施例。實(shí)施例提供替代使用外部橋集成電路 (1C)架構(gòu)。例如,實(shí)施例多任務(wù)(multiplex)周邊總線,因而多處理器可使用一個(gè)周邊接口 槽,而不需要外部橋1C。其他實(shí)施例包含系統(tǒng),所述系統(tǒng)具有多個(gè)總線終點(diǎn)通過(guò)宿主總線橋 而耦合至總線根,所述宿主總線橋是內(nèi)部連接到至少一個(gè)總線終點(diǎn)。除此之外,總線終點(diǎn)直 接彼此親合。實(shí)施例可使用已知的總線規(guī)則(busprotocol)。
[0015] 圖2是根據(jù)實(shí)施例的示意方塊圖,說(shuō)明具有多任務(wù)周邊組件總線的多處理器系統(tǒng) 700的部分。在這個(gè)范例系統(tǒng)中,有兩個(gè)GPU、主GPU702A以及從GPU702B。每一個(gè)GPU 702具有16個(gè)周邊組件互連快送(PCIe?)傳送(TX)道以及16個(gè)pcie?接收(RX)道。每 一個(gè)GPU702包含個(gè)別的數(shù)據(jù)鏈接層706以及個(gè)別的物理層(PHY) 704。GPU702A的八個(gè) TX/RX道連接至X16PCIe?:連接器一半的TX/RX道或是槽708。GPU702B的八個(gè)TX/RX道 連接至X16PCIe?連接器剩余的TX/RX道或是槽708。GPU702A與GPU702B各自的剩余 TX/RX道是彼此連接,在GPU702之間提供直接高速連接。
[0016]PCIe?xl6槽708 (正常連至一個(gè)GPU)分為兩個(gè)部分,槽的一半是連接至GPU 702A,以及另一半是連接至GPU702B。每一個(gè)GPU702基本上回響另一個(gè)GPU702的另一 半數(shù)據(jù)。亦即GPU接收的數(shù)據(jù)會(huì)傳送至另一個(gè)。每一個(gè)GPU702見(jiàn)到PCIe?.總線接收的 所有數(shù)據(jù),每一個(gè)GPU702內(nèi)部決定是否回答請(qǐng)求或意見(jiàn)。而后每一個(gè)GPU702適當(dāng)響應(yīng) 或是不做任何事??墒褂靡恍?shù)據(jù)或指令,例如"重新啟動(dòng)"用于所有的GPU702。
[0017] 從系統(tǒng)階層觀點(diǎn),或是從周邊總線的觀點(diǎn),PGIe?、總線上只有一個(gè)PCIe?:負(fù)載 (裝置)。GPU702A或GPU702B以地址為基礎(chǔ)被存取。例如,對(duì)于地址區(qū)存?。ˋddress DomainAccess),主GPU702A可被分配一半的地址區(qū),以及從GPU702B可分配到另一半。 系統(tǒng)可在主/從模式中運(yùn)作,或是在單/多GPU模式中操作,以及可用帶子(straps)辨識(shí) 模式。
[0018] 由參考數(shù)目辨識(shí)不同的數(shù)據(jù)路徑。711是指參考時(shí)序(REFCLK)路徑。709是指 8道RX-2路徑。713是指8道RX-1路徑。715是指8道TX-1路徑??刂菩盘?hào)710是非 PCIe??信號(hào),例如帶子(straps)。每一個(gè)GPU702中的PHY704回響數(shù)據(jù)至適當(dāng)?shù)牡阑蛲?道??梢砸佬蛲瓿傻肋B接,幫助優(yōu)化系設(shè)計(jì)與/或支持具有少于16道的PCTo?槽。兩個(gè) GPU顯示為系統(tǒng)的范例,但是架構(gòu)可擴(kuò)充至n-GPUs。除此之外,GPU702是周邊組件的一個(gè) 范例,如前所述可被耦合。與周邊組件總線正常通訊的任何其他周邊組件可同樣被耦合。
[0019] 圖3根據(jù)實(shí)施例所示的方塊圖,說(shuō)明具有周邊組件的處理系統(tǒng)200的部分。系統(tǒng) 200包含總線根(busroot) 202,這與圖1的總線根102類似。實(shí)施例中的總線根202是 包含CPU與系統(tǒng)內(nèi)存的芯片組。根202通過(guò)總線209耦和至包含內(nèi)部橋205a的終端EP0 206a。實(shí)施例中的總線209是PCI快送(PCIe?)總線,但并不受限于此實(shí)施例。EPO206a耦合至另一終端EP1 206b。EP1 206b包含內(nèi)部橋205b。EPO205a與EP1 205B通過(guò)總線 207穿過(guò)個(gè)別