專利名稱:一種多核處理器的互連結(jié)構(gòu)及基于該結(jié)構(gòu)的層次化互連設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路設(shè)計領(lǐng)域,涉及一種簡單、高效的,適用于多核處理 器的互連結(jié)構(gòu),同時提出了一種基于該結(jié)構(gòu)的多核處理器層次化互連設(shè)計方 法。該互連結(jié)構(gòu)和層次化互連設(shè)計方法可用于多核處理器陣列的互連結(jié)構(gòu)設(shè) 計,優(yōu)化處理器核間的數(shù)據(jù)傳輸與交換的方式。
背景技術(shù):
計算技術(shù)的發(fā)展一直以來都是追求計算機的高性能的過程,然而一直以來 通過提高流水線深度和復(fù)雜的結(jié)構(gòu)設(shè)計等改善性能的方法已經(jīng)不能繼續(xù)有效提 高計算機的性能,因此片上多處理器(Chip Multiple processor, CMP)逐漸成 為現(xiàn)代處理器設(shè)計的熱點。
而且,隨著器件、工藝和應(yīng)用技術(shù)的不斷發(fā)展,片上處理器中處理器核的 數(shù)目必將進一步增加,從目前的幾個、十幾個發(fā)展到幾十個甚至更多。當(dāng)所集 成的片上處理器核數(shù)目增加時,各個處理器核以及處理器中其它節(jié)點之間(比 如共享的內(nèi)存、交叉開關(guān)等)的互連及其通信就成為影響多處理器性能的重要 因素了。
在具有多個處理器核的片上系統(tǒng)中,要求連接各個處理器核的片上網(wǎng)絡(luò)提 供高速度、高吞吐量、高帶寬的互連通信,同時要求用于內(nèi)部互連的開銷要盡 量小,也就是說占用芯片的面積小、功耗低。因此多核處理器的互連網(wǎng)絡(luò)的設(shè) 計成為了當(dāng)前研究中的一個熱點和難點。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供了一種適用于多核處理器的互連結(jié)構(gòu),同時提出了 一種基于該結(jié)構(gòu)的多核處理器層次化互連設(shè)計方法。本發(fā)明提供了一種多核處理器的互連結(jié)構(gòu),在該結(jié)構(gòu)中采用片上互連網(wǎng)絡(luò)結(jié) 構(gòu),將多核處理器的互連結(jié)構(gòu)從處理器核中獨立出來,作為局部集中化互連結(jié) 構(gòu)。
在本發(fā)明的互連結(jié)構(gòu)中,將一定數(shù)量的處理器核與一個集中互連結(jié)構(gòu)相 連,并將該集中互連結(jié)構(gòu)與相鄰的集中互連結(jié)構(gòu)相連,處理器核的數(shù)量和相鄰 的集中互連結(jié)構(gòu)的數(shù)量根據(jù)需求進行選擇,每個處理器僅與一個集中互連結(jié)構(gòu) 相連,處理器核間的通信和數(shù)據(jù)傳遞通過集中互連結(jié)構(gòu)來完成。
該互連結(jié)構(gòu)基于路由結(jié)構(gòu),采用局部集中化互連結(jié)構(gòu),此結(jié)構(gòu)具有面積 小,功耗低,靈活性高等特點,可以高效處理處理器核間局部數(shù)據(jù)通信和遠距 離通信。這種局部集中化互連結(jié)構(gòu)具有較低的互連面積和較高的可擴展性。與 傳統(tǒng)將多路選擇器和緩存集成在各個處理器核中的結(jié)構(gòu)相比,此結(jié)構(gòu)可以有效 的減少互連中多路選擇器和緩存的數(shù)量,極大的降低了用于互連的面積。
本發(fā)明還提供了一種多核處理器的層次化互連設(shè)計方法,對上述的局部集 中化互連結(jié)構(gòu),采用層次化的設(shè)計方法,采用層次化的互連設(shè)計方法,根據(jù)處 理器核的數(shù)目選擇集中互連結(jié)構(gòu)的數(shù)量和互連層次。
本發(fā)明還提供了一種多核處理器的層次化互連設(shè)計方法,對上述采用集中 互連結(jié)構(gòu)的多核處理器的互連結(jié)構(gòu)進行層次化互連設(shè)計,根據(jù)處理器核的數(shù)目 集中互連結(jié)構(gòu)的數(shù)量和互連層次。
本發(fā)明的層次化設(shè)計方法則可用于多核處理器陣列的互連結(jié)構(gòu)設(shè)計,優(yōu)化 處理器核間的數(shù)據(jù)傳輸與交換的方式。
圖1為基于集中互連結(jié)構(gòu)設(shè)計的處理器陣列示意圖2為集中互連的內(nèi)部結(jié)構(gòu);
圖3為層次化多核處理器結(jié)構(gòu)設(shè)計示意圖4為4X4處理器陣列實例化說明示意圖。
圖中標(biāo)號說明如下 101為處理器核;102為本發(fā)明所提供的集中互連結(jié)構(gòu);
201-204為向四個處理器核進行數(shù)據(jù)輸出的多路選擇器(MUX); 201輸出連接西北方向的處理器核; 202輸出連接?xùn)|北方向的處理器核; 203輸出連接?xùn)|南方向的處理器核; 204輸出連接西南方向的處理器核;
205-208為向四個集中互連結(jié)構(gòu)進行數(shù)據(jù)輸出的多路選擇器(MUX); 205輸出連接北面的集中互連結(jié)構(gòu); 206輸出連接?xùn)|面的集中互連結(jié)構(gòu);
207輸出連接南面的集中互連結(jié)構(gòu); 208輸出連接西面的集中互連結(jié)構(gòu);
209-212為來自四個處理器核的輸入數(shù)據(jù)的緩沖存儲器(BUFFER);
209的輸入來自西北方向的處理器核;
210的輸入來自東北方向的處理器核;
211的輸入來自東南方向的處理器核;
212的輸入來自西南方向的處理器核;
213-216為來自四個相鄰集中互連結(jié)構(gòu)的輸入數(shù)據(jù)的緩沖存儲器 (BUFFER);
213的輸入來自北面的集中互連結(jié)構(gòu);
214的輸入來自東面的集中互連結(jié)構(gòu);
215的輸入來自南面的集中互連結(jié)構(gòu);
216的輸入來自西面的集中互連結(jié)構(gòu);
301是LMU單元;
302是MU單元;
303是單個處理器核;
304是多核處理器陣列一層集中互連結(jié)構(gòu); 305是多核處理器陣列二層集中互連結(jié)構(gòu); 306是多核處理器陣列三層集中互連結(jié)構(gòu); 401-404為四個處理器核;405-407為一層集中互連結(jié)構(gòu); 408為二層集中互連結(jié)構(gòu)。
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明的方案作進一步描述。
本發(fā)明提出了一種片上互連網(wǎng)絡(luò)(NOC, network on chip)結(jié)構(gòu),將多核 處理器的互連結(jié)構(gòu)從處理器核中獨立出來,作為局部集中互連結(jié)構(gòu)。具體而 言,就是采用集中互連結(jié)構(gòu),將一定數(shù)量的處理器核與一個集中互連結(jié)構(gòu)相 連,并將該集中互連結(jié)構(gòu)與相鄰的集中互連結(jié)構(gòu)相連,處理器核的數(shù)量和相鄰 的集中互連結(jié)構(gòu)的數(shù)量根據(jù)需求進行選擇,每個處理器僅與一個集中互連結(jié)構(gòu) 相連,處理器核間的通信和數(shù)據(jù)傳遞通過集中互連結(jié)構(gòu)來完成。
圖1為采用本發(fā)明提出的片上互連網(wǎng)絡(luò)(NOC, network on chip)結(jié)構(gòu)的互 連結(jié)構(gòu)設(shè)計的處理器陣列,主要由處理器核101和集中互連結(jié)構(gòu)102構(gòu)成。各 個處理器核101內(nèi)部不再包含互連結(jié)構(gòu),相鄰的處理器核共用一個集中互連, 且每個處理器僅僅與一個集中互連相連,從而組成局部的集中化互連(本專利 中將以四個處理器核共用一個集中互連結(jié)構(gòu)進行具體說明)。處理器核之間的 通信和數(shù)據(jù)傳遞通過集中互連完成。連接于同一個集中互連結(jié)構(gòu)上的多個處理 器核可以共享該集中互連中的多路選擇器(MUX)和緩存(BUFFER),從而 有效地減少互連結(jié)構(gòu)中MUX和BUFFER的數(shù)量,也就是有效地降低了互連的 面積。與傳統(tǒng)的將MUX和BUFFER集成在各個處理器核中、由各個處理器核 獨立完成核間數(shù)據(jù)交互的結(jié)構(gòu)相比,該方案采用集中共享的集中互連結(jié)構(gòu)來負(fù) 責(zé)完成核間通信,省去了各個處理器核中的MUX和BUFFER電路,從而降低 了由多核互連引入的芯片面積.
圖2為集中互連的內(nèi)部的結(jié)構(gòu),集中互連的內(nèi)部結(jié)構(gòu)主要由輸入緩存209-216和輸出選擇器201-208組成。輸入緩存可以分別接受并存儲來自于西北、東 北、東南、西南四個方向的處理器核的數(shù)據(jù)中的數(shù)據(jù),如輸入緩存209-212,也 可以接受來自東、南、西、北四個方向的相鄰集中互連的數(shù)據(jù),如輸入緩存213-216;輸入的數(shù)據(jù)經(jīng)過控制電路對多路選擇器(MUX)的選擇,分別送入所期望的目的節(jié)點,目的節(jié)點可以是連接在該集中互連上的四個處理器核,如輸出 選擇器201-204或四個相鄰集中互連,如輸出選擇器205-208。
處理器核以及各個集中互連結(jié)構(gòu)間的數(shù)據(jù)通信可以通過靈活地配置多路選 擇器201-208來完成。通過集中互連結(jié)構(gòu)中多路選擇器的配置,可以將與該集 中互連相連的任意處理器核的數(shù)據(jù)傳送給其他三個連接在同一集中互連上的處 理器核,也可以將數(shù)據(jù)傳送給與該集中互連結(jié)構(gòu)相連的其他集中互連結(jié)構(gòu),繼 續(xù)進行分配,從而實現(xiàn)高效的核間通信。
每個輸入端的緩存209-216容量的大小可以根據(jù)具體應(yīng)用需求靈活選擇, 從而最大限度的提高互連面積的使用效率。
在一個時鐘周期之內(nèi),集中互連結(jié)構(gòu)可以向四個相鄰集中互連結(jié)構(gòu)以及四 個與之相連的處理器核同時發(fā)送數(shù)據(jù)。送入相鄰集中互連結(jié)構(gòu)的數(shù)據(jù)存入對應(yīng) 的集中互連結(jié)構(gòu)的輸入緩存。而送入處理器核的數(shù)據(jù)則可以存入處理器的特殊 寄存器堆中,供處理器的特殊指令調(diào)用。
圖3為層次化多核處理器結(jié)構(gòu)的設(shè)計示意圖。層次化的多核處理器互連設(shè) 計方法,主要是基于上述集中互連結(jié)構(gòu),并且根據(jù)處理器數(shù)量及規(guī)模選擇多核 處理器架構(gòu)的層次級數(shù)。當(dāng)處理器核的數(shù)量為四個或四個以下時,直接采用四 個處理器核303共用一個集中互連結(jié)構(gòu)304進行連接,此時四個處理器在同一 層結(jié)構(gòu)中,通過一層集中互連結(jié)構(gòu)304連接并且進行數(shù)據(jù)傳輸和通信;當(dāng)處理 器核的數(shù)量為五到十六個時,可先將四個處理器核和一個集中互連結(jié)構(gòu)構(gòu)成一 個多核處理器單元(MU) 302,這四個MU再通過二層集中互連結(jié)構(gòu)305進行 連接,此時MU內(nèi)部網(wǎng)絡(luò)處于一層,MU內(nèi)部數(shù)據(jù)交互通過一層集中互連結(jié)構(gòu) 304進行,而四個MU結(jié)構(gòu)處于二層,MU之間的數(shù)據(jù)交互通過二層集中互連結(jié) 構(gòu)305進行;當(dāng)處理器核的數(shù)量為十六個至六十四個時,四個MU則可以繼續(xù) 構(gòu)成新的處理器整列中的一個單元——LMU 301, LMU內(nèi)部的MU結(jié)構(gòu)之間同 樣通過二層集中互連結(jié)構(gòu)305進行數(shù)據(jù)傳輸,而四個LMU則處于三層之中,他 們之間的數(shù)據(jù)傳輸通過三層集中互連結(jié)構(gòu)306進行連接;采用這種方法以此類 推,得到大規(guī)模多核處理器陣列的層次化互連結(jié)構(gòu)設(shè)計。
下面以圖4所示的4X4處理器陣列為例,結(jié)合圖2—4更具體地說明本發(fā) 明的互連結(jié)構(gòu)。該多核處理器架構(gòu)整個包括16個處理核,四個一層集中互連結(jié)構(gòu)和一個二層集中互連結(jié)構(gòu)408;其中,每個處理核對于互連網(wǎng)絡(luò)的輸入端口 個數(shù)為一個,輸出端口個數(shù)為一個,輸入輸出數(shù)據(jù)寬度和處理器核的數(shù)據(jù)寬度 保持一致;處理器核接受來自集中互連結(jié)構(gòu)的輸入數(shù)據(jù),并且保存在處理器核 中特殊寄存器中,供處理器核的特殊指令進行調(diào)用。集中互連結(jié)構(gòu)的輸入端口 個數(shù)為7個,輸出端口個數(shù)也為7個,其中4個輸入/輸出端口是用來與處理器 核進行傳輸,另外2個輸入/輸出端口用來與相鄰2個同一層次內(nèi)集中互連結(jié)構(gòu) 進行傳輸,剩下的1個輸入/輸出端口用來與高一層的集中互連結(jié)構(gòu)進行連接, 輸入/輸出數(shù)據(jù)寬度同樣與處理器核的寬度保持一致。
根據(jù)本架構(gòu)特點,當(dāng)處理器核401欲與處理器核402進行數(shù)據(jù)傳輸時,401 將需要傳輸?shù)臄?shù)據(jù)輸入集中互連結(jié)構(gòu)405的輸入緩存209,經(jīng)過集中互連結(jié)構(gòu) 405的多路選擇器202選擇之后輸出給處理器核402,完成數(shù)據(jù)傳輸;處理器 401和402處于一個MU單元,如圖3中的302之內(nèi),因此僅需要通過一個集中 互連結(jié)構(gòu)即可完成數(shù)據(jù)傳輸。而處理器核401與403交互時,401需先將傳輸?shù)?數(shù)據(jù)輸入集中互連結(jié)構(gòu)405的輸入緩存209,經(jīng)過多路選擇器206進行選擇后 輸出給集中互連結(jié)構(gòu)406,集中互連結(jié)構(gòu)406的輸入緩存216收到前一個集中 互連結(jié)構(gòu)傳輸?shù)臄?shù)據(jù)后,通過多路選擇器202分配給處理器核403,完成數(shù)據(jù) 交互;這時,由于401與403處于不同MU單元,因此整個數(shù)據(jù)傳輸?shù)倪^程經(jīng) 過兩個集中互連結(jié)構(gòu)完成。同樣,處理器核401與404進行數(shù)據(jù)交互時,401需 先將傳輸?shù)臄?shù)據(jù)輸入集中互連結(jié)構(gòu)405的輸入緩存209,經(jīng)過多路選擇器206 進行選擇后輸出給集中互連結(jié)構(gòu)406,集中互連結(jié)構(gòu)406的輸入緩存216收到 前一個集中互連結(jié)構(gòu)傳輸?shù)臄?shù)據(jù)后,通過多路選擇器207繼續(xù)傳遞給集中互連 結(jié)構(gòu)407,集中互連結(jié)構(gòu)407的輸入緩存213收到數(shù)據(jù)后,通過多路選擇器203 將數(shù)據(jù)傳輸至目標(biāo)處理器404,完成整個過程。
這里401、 402、 403、 404雖然所屬不同的MU,但是這些MU卻處于同一 層次(LMU內(nèi)部),因此圖中所述的處理器核之間的通信和數(shù)據(jù)傳輸不需要通 過第二層集中互連結(jié)構(gòu)408,但是當(dāng)LMU之間進行數(shù)據(jù)傳輸時需要使用二層集 中互連結(jié)構(gòu)408。
權(quán)利要求
1、一種多核處理器的互連結(jié)構(gòu),其特征在于,在該結(jié)構(gòu)中采用片上互連網(wǎng)絡(luò)結(jié)構(gòu),將多核處理器的互連結(jié)構(gòu)從處理器核中獨立出來,作為集中互連結(jié)構(gòu)。
2、 如權(quán)利要求l所述的多核處理器的互連結(jié)構(gòu),其特征在于, 將一定數(shù)量的處理器核與一個集中互連結(jié)構(gòu)相連,并將該集中互連結(jié)構(gòu)與相鄰 的集中互連結(jié)構(gòu)相連,處理器核的數(shù)量和相鄰的集中互連結(jié)構(gòu)的數(shù)量根據(jù)需求 進行選擇,每個處理器僅與一個集中互連結(jié)構(gòu)相連,處理器核間的通信和數(shù)據(jù) 傳遞通過集中互連結(jié)構(gòu)來完成。
3、 如權(quán)利要求2所述的多核處理器的互連結(jié)構(gòu),其特征在于, 每個所述集中互連結(jié)構(gòu)包含多路選擇器和緩存,共用一個集中互連結(jié)構(gòu)的多個 處理器,共享該集中互連結(jié)構(gòu)中的多路選擇器和緩存。
4、 如權(quán)利要求3所述的多核處理器的互連結(jié)構(gòu),其特征在于, 通過對集中互連結(jié)構(gòu)中的多路選擇器進行配置,將與該集中互連結(jié)構(gòu)相連的任 意處理器核的數(shù)據(jù)傳送給其他連接在同一集中互連結(jié)構(gòu)上的處理器核。
5、 如權(quán)利要求3所述的多核處理器的互連結(jié)構(gòu),其特征在于, 通過對集中互連結(jié)構(gòu)中的多路選擇器進行配置,將與該集中互連結(jié)構(gòu)相連的任 意處理器核的數(shù)據(jù)傳送給與集中互連結(jié)構(gòu)相連的其他集中互連結(jié)構(gòu)。
6、 如權(quán)利要求3所述的多核處理器的互連結(jié)構(gòu),其特征在于, 對集中互連結(jié)構(gòu)的輸入端配置緩存,作為集中互連結(jié)構(gòu)輸入數(shù)據(jù)的臨時存儲 器,緩存的大小根據(jù)具體應(yīng)用需求配置。
7、 如權(quán)利要求6所述的多核處理器的互連結(jié)構(gòu),其特征在于,在一個時鐘周期之內(nèi),集中互連結(jié)構(gòu)能夠向相鄰的集中互連結(jié)構(gòu)以及每個與之 相連的處理器核同時發(fā)送數(shù)據(jù),送入相鄰的集中互連結(jié)構(gòu)的數(shù)據(jù)存入對應(yīng)的集 中互連結(jié)構(gòu)的輸入緩存中。
8、 如權(quán)利要求3所述的多核處理器的互連結(jié)構(gòu),其特征在于, 每個集中互連結(jié)構(gòu)通過外部軟件進行配置和控制,通過配置集中互連結(jié)構(gòu),使 用多路選擇器進行數(shù)據(jù)的流向控制選擇。
9、 一種多核處理器的層次化互連設(shè)計方法,其特征在于,對權(quán)利要求1所述的局部集中化互連結(jié)構(gòu),采用層次化的設(shè)計方法,根據(jù)處理 器核的數(shù)目多少選擇互連層次及權(quán)利要求3所述的互連結(jié)構(gòu)。
10、 如權(quán)利要求9所述的多核處理器的層次化互連設(shè)計方法,其特征在于, 當(dāng)處理器核的數(shù)量為四個或四個以下時,直接采用四個處理器核共用一個集中 互連結(jié)構(gòu)進行連接,此時處理器在一層結(jié)構(gòu)中;當(dāng)處理器核的數(shù)量為五到十六 個時,可先將四個處理器核和一個集中互連結(jié)構(gòu)構(gòu)成一個多核處理器單元,這 四個多核處理器單元再通過二層集中互連結(jié)構(gòu)進行連接,這時多核處理器單元 內(nèi)部網(wǎng)絡(luò)處于一層,而四個多核處理器單元結(jié)構(gòu)處于二層;當(dāng)處理器核的數(shù)量 為十六個至六十四個時,四個多核處理器單元則可以繼續(xù)構(gòu)成處理器整列中的 一個單元,四個處理器整列中的一個單元之間通過三層集中互連結(jié)構(gòu)進行連 接;以此類推,得到大規(guī)模多核處理器陣列的層次化設(shè)計。
全文摘要
本發(fā)明屬于集成電路設(shè)計領(lǐng)域,提供了一種簡單、高效的適用于多核處理器的互連結(jié)構(gòu)——局部集中化互連結(jié)構(gòu),同時提出了一種基于該結(jié)構(gòu)的多核處理器層次化互連設(shè)計方法。該集中互連結(jié)構(gòu),結(jié)構(gòu)簡單,能有效降低多核處理器互連面積;同時有很高的靈活性,在處理器核間通信的任務(wù)時,不論是局部數(shù)據(jù)通信還是遠距離通信中都可以得到很高的效率和很低的延遲。
文檔編號G06F15/80GK101546302SQ20091005070
公開日2009年9月30日 申請日期2009年5月7日 優(yōu)先權(quán)日2009年5月7日
發(fā)明者周曉方, 虞志益, 陸雯青, 陳芳露 申請人:復(fù)旦大學(xué)