欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多重陣列處理器的制作方法

文檔序號:6415721閱讀:219來源:國知局
專利名稱:多重陣列處理器的制作方法
一般而言,本發(fā)明涉及處理系統(tǒng),更具體地說,是涉及并行處理結(jié)構(gòu)。
能開發(fā)出許多對數(shù)據(jù)并行操作的計算任務(wù)。并行處理器的有效性取決于并行處理器的體系結(jié)構(gòu)、被編成代碼的算法、以及在各并行部件中的數(shù)據(jù)放置。例如,圖像處理、模式識別、以及計算機圖形都是對自然安排成2維或3維柵格的數(shù)據(jù)進(jìn)行操作的應(yīng)用。數(shù)據(jù)可以代表范圍很廣的信號,例如音頻、視頻、聲納或雷達(dá)信號。因為通常對這類數(shù)據(jù)進(jìn)行的操作,諸如離散余弦變換(DCT)、離散余弦反變換(IDCT)、卷積等可以同時對不同的柵格元素來完成,所以已經(jīng)發(fā)展出多處理器陣列系統(tǒng),它們通過允許在一個時刻有不只一個處理器進(jìn)行該任務(wù),從而可以顯著地加速這類操作。并行處理是大量專利的主題,包括,美國專利5,065,339號;5,146,543號;5,146,420號;5,148,515號;5,546,336號;5,542,026號;5,612,908號;以及5,577,262號;歐洲公布申請0,726,529號和0,726,532號,這里把它們列入作為參考。
實現(xiàn)并行處理結(jié)構(gòu)的一種傳統(tǒng)途徑是最近鄰網(wǎng)格連接計算機,它在以下文獻(xiàn)中討論過R.Cypher和J.L.C.Sanz的“用于圖像處理和計算機視圖的SIMD結(jié)構(gòu)和算法,IEEE聲學(xué)、語音和信號處理匯報,第37卷,第12期,2158-2174頁,1989年12月;K.E.Batcher的“大型并行處理器設(shè)計”IEEE計算機匯報,C-29卷,第9期,836-840頁,1980年9月;以及L.Uhr的“人工智能用多計算機結(jié)構(gòu),New York,N.Y.,John Wiley & Sons,第8章第97頁,1987。


圖1A的最近鄰環(huán)形連接計算機中,多個處理元件(PE)通過環(huán)形連接路徑MP連接到它們的北、南、東、西近鄰,而且所有PE都以同步信號指令多重數(shù)據(jù)(SIMD)方式進(jìn)行操作。由于可以對一個網(wǎng)格連接的計算機增加卷繞連接來得到環(huán)形連接的計算機,所以一個沒有卷繞連接的網(wǎng)格連接計算機可以看作是環(huán)形連接計算機的子集合。如圖1B所示,每個路徑MP可以包括T條發(fā)送線和R條接收線,或者如圖1C所示,每個路徑MP可以包括B條雙向線。雖然單向和雙向通信兩者都由本發(fā)明予以考慮了,但在一個路徑上的總線總數(shù)(不包括控制信號)在下文中將統(tǒng)稱為K條線,這里在雙向總線設(shè)計中K=B,而在單向總線設(shè)計中K=T+R。假定一個PE能向它的近鄰PE的任何一個發(fā)送數(shù)據(jù),但一次只能一個。例如,在一個通信周期中,每個PE能向它的東鄰發(fā)送數(shù)據(jù)。還假定,存在一種廣播機制,例如,在一個廣播分發(fā)周期中,數(shù)據(jù)和指令能從一個控制器同時分發(fā)到所有PEs。
雖然位串行PE間通信通常用于減少連線復(fù)雜性,但環(huán)形連接陣列的連線復(fù)雜性表現(xiàn)出在實現(xiàn)上的問題。圖1A的傳統(tǒng)環(huán)形連接陣列包括16個處理元件連接到PE的4×4陣列10中。每個處理元件PEij分別以其行號i和列號j來作標(biāo)簽。每個PE以點對點連接與其最近的北(N)、南(S)、東(E)、西(W)近鄰?fù)ㄐ?。例如,圖1A中所示的PE0,0和PE3,0之間的連接是PE0,0和N界面和PE3,0的南界面之間的一個卷繞連接,代表了使陣列成為一個環(huán)形構(gòu)形的卷繞界面之一。在這種構(gòu)形中,每行包含一組N個互連線,以N行計,共有N2個水平連接。類似地,以N列計,每列有N個垂直互連,則共有N2個垂直互連。對于圖1A中的舉例,N=4。所以,總的連線數(shù),例如在一個包含卷繞連接的NXN環(huán)形連接計算機中實現(xiàn)的集成電路里的金屬線,便是2kN2條,這里k是每個互連中的連線數(shù)。在一個位串行互連中數(shù)k可以等于1。例如,對于圖1A所示4×4陣列10,以k=1,則2kN2=32。
對于N較少的許多應(yīng)用,最好是整個PE陣列結(jié)合到單一的集成電路中。本發(fā)明不排除例如每個PE能是一個單獨微處理器芯片的那些實現(xiàn)。由于在環(huán)形連接計算機中連線總數(shù)會很大,所以這些互連會消耗大量的有價值的集成電路“不動產(chǎn),或者所占用的芯片面積。此外,PE互連路徑相當(dāng)頻繁地彼此交叉,使IC布線過程復(fù)雜化,而且還可能通過串?dāng)_向通信線引入噪聲。再有,連接陣列最北和最南處PE及最東和最西處PE的卷繞鏈路的長度隨著陣列的尺寸增大而增大。這增加了的長度增加了每個通信線的電容,從而降低了線上的最大位速率并向線上引入附加的噪聲。
轉(zhuǎn)置陣列的另一個缺點是在轉(zhuǎn)置操作方面產(chǎn)生的。由于在通信路徑中一個處理元件與其轉(zhuǎn)置被一個或多個位于中間的處理元件分離開,所以在利用轉(zhuǎn)置的操作中引入了延遲。例如,如果PE2,1需要從它的轉(zhuǎn)置PE1,2中得到數(shù)據(jù),該數(shù)據(jù)必須穿過中間的PE1,1或PE2,2。自然,即使PE1,1和PE2,2沒有被占用,這也會給操作帶進(jìn)延遲。然而,在一般情況下,那里PE是作為微處理器元件實現(xiàn)的,這時沒有可能PE1,1和PE2,2在完成其他操作,而為了從PE1,2向PE2,1傳送數(shù)據(jù)或命令,它們不得不按順序把這些操作放在一邊。所以,可能要用幾個操作才即使是開始從PE1,2向PE2,1傳送數(shù)據(jù)或命令,而PE1,1為了傳送轉(zhuǎn)置數(shù)據(jù)被迫放到一邊的那些操作也將被延遲。這種延遲隨著每個中間的PE介入而滾雪球似地增大,對于最遠(yuǎn)的轉(zhuǎn)置對,將引入顯著的延遲。例如,圖1A中的轉(zhuǎn)置對PE3,1/PE1,3有最少3個中間PE,一般情況下,需要4個通信步驟的延遲,而且為了在PE3,1和PE1,3之間傳送數(shù)據(jù),還必須使所有那些PE中的任務(wù)放到一邊,這又會額外地使所有這些任務(wù)造成延遲。
認(rèn)識到環(huán)形連接陣列的這種局限性,已經(jīng)在下列文獻(xiàn)中公開了新的實現(xiàn)陣列的途徑美國專利5,612,908號;G.G.Pechanek等的“大規(guī)模并行對角線褶疊陣列處理器,1993年應(yīng)用特殊陣列處理器國際會議,140-143頁,1993年10月25-27,Venice,意大利,以及G.G.Pechanek等的“多重褶疊叢集處理器環(huán)形陣列,VLSI設(shè)計第5次NASA研討會匯報,8,4.1-11頁,1993年11月4-5,新墨西哥州大學(xué),Albuquerque,新墨西哥,這些文獻(xiàn)全文引入作為參考。這些環(huán)形陣列組織的操作技術(shù)是使用傳統(tǒng)的最近鄰環(huán)形的對角線PE作為褶疊邊緣對PE陣列進(jìn)行褶疊。如圖2的陣列20中所示,這些技術(shù)可以用于顯著地(substantially)減小PE間連線,減少卷繞連接的個數(shù)和長度,并把PE放置在與其轉(zhuǎn)置緊密靠近的位置。這種處理器陣列結(jié)構(gòu)公布在例如美國專利5,577,262,5,612,908和EP 0,726,532和EP0,726,529中,這些是由本發(fā)明的同一發(fā)明者發(fā)明的,并整體納入這里作為參考。盡管這種陣列提供了對傳統(tǒng)環(huán)形結(jié)構(gòu)的實質(zhì)性優(yōu)點,但由于PE組合的不規(guī)則性,例如在單個褶疊的對角線褶疊縫,某些PE叢集“成行,而其他則是單個的,在一個3褶疊的對角線褶疊網(wǎng)格中有4個PE和8個PE的叢集。由于這些陣列在總體上的三角形形狀,這種對角線褶疊形陣列呈現(xiàn)出對實現(xiàn)有效、便宜地集成電路造成基本的障礙。再有,在如EP 0,726,532和EP 0,726,529中的對角線褶疊網(wǎng)格和在其他傳統(tǒng)的網(wǎng)格結(jié)構(gòu)中,互連拓?fù)浣Y(jié)構(gòu)是PE定義中的固有部分。這便固定了在拓?fù)浣Y(jié)構(gòu)中的PE位置,結(jié)果把PE的拓?fù)浣Y(jié)構(gòu)和它們的連接都限制于要實現(xiàn)的固定構(gòu)形。于是,需要對處理器陣列結(jié)構(gòu)的處理器互連作進(jìn)一步的改進(jìn)。
本發(fā)明的目標(biāo)是一個處理元件陣列,與傳統(tǒng)的環(huán)形處理元件陣列的連線需求相比,它基本上減少了陣列互連連線需求。在一個最佳實施例中,一個根據(jù)本發(fā)明的陣列實現(xiàn)了基本上減小了轉(zhuǎn)置操作的延遲。再有,所發(fā)明的陣列解耦了從陣列各維度的卷繞連線長度,從而減小了最長互連線的長度。還有,對于不會在通信的PE之間引起沖突的陣列通信模式,每個PE只需一個發(fā)送端口和一個接收端口,與一具體拓?fù)浣Y(jié)構(gòu)可能要求其PE節(jié)點近鄰連接數(shù)目無關(guān)。該陣列的一種最佳集成電路實現(xiàn)包括組合成矩形或正方形輪廓的類似處理元件叢的組合。這種處理元件的相似性、處理元件叢的相似性以及陣列總體輪廓的規(guī)則性使這種陣列特別適合于高效費比(cost-effctive)的集成電路制作。
為了形成根據(jù)本發(fā)明的陣列,首先可以把處理元件組合成叢,這是建立在單指令多重數(shù)據(jù)(“SIMD”)操作的通信需求基礎(chǔ)上的。然后可以把處理單元分組,從而使一個叢中的元件在一叢內(nèi)通信和只與其他兩個叢的成員通信。再有,每個叢的組成處理元件只在兩個相互排他的方向上與其他叢的每個處理元件通信。根據(jù)定義,在一個具有單向通信能力的SIMD環(huán)形中北/南方向與東/西方向相互排他。顧名思義,處理元件叢是最好按物理上彼此接近的方式形成的處理器組。例如,在一個集成電路實現(xiàn)中,一個叢的處理元件在布局上最好是盡可能地彼此接近,最好是彼此的接近程度要比到陣列中任何其他處理元件都要近。例如,相當(dāng)于傳統(tǒng)的4×4。處理單元陣列的一個陣列可以包括每叢4個元件的4個叢,每個叢只向北和向東與另一叢通信以及向南和向西與另一叢通信;或者向南和向東與另一叢通信以及向北和向西與另一叢通信。通過按這種方式使PE成叢,可以通過多路復(fù)用來共享PE叢之間的通信路徑,從而基本上減少了陣列所需互連連線。
在一個最佳實施例中,這樣來選擇一叢中包含的PE,即讓處理單元和它們的轉(zhuǎn)置位于同一叢中并且彼此間通過叢內(nèi)通信路徑進(jìn)行通信,從而消除了對傳統(tǒng)環(huán)形陣列進(jìn)行的轉(zhuǎn)置操作所伴隨的延遲。此外,由于把傳統(tǒng)的路徑作為與任何PE到PE路徑同樣的路徑對待,所以最長的通信路徑可以如同叢間間距一樣地短,而不論陣列的總尺度如何。根據(jù)本發(fā)明,一個N×M環(huán)形陣列可以轉(zhuǎn)換成M叢每叢N個PE的陣列或者N叢每叢M個PE的陣列。
由下文中結(jié)合附圖所作的詳細(xì)描述,那些本領(lǐng)域技術(shù)人員將會看清楚本發(fā)明的這些和其他特點、方面和優(yōu)點。
圖1A是傳統(tǒng)現(xiàn)有技術(shù)4×4最近鄰連接的環(huán)形處理元件(PE)陣列方框圖;圖1B說明圖1A所示現(xiàn)有技術(shù)環(huán)形連接路徑怎樣可以包括T個發(fā)送線和R個接收線;圖1C說明圖1A所示現(xiàn)有技術(shù)環(huán)形連接路徑怎樣可以包括B個雙向連線;圖2是現(xiàn)有技術(shù)對角線褶疊網(wǎng)格的方框圖;圖3A是可以合適地應(yīng)用于本發(fā)明PE陣列中的處理元件的方框圖;圖3B是可以合適地應(yīng)用于本發(fā)明PE陣列中的另一種處理元件的方框圖;圖4是一個4×4環(huán)形的貼面(tiling),它說明全部環(huán)形PE間的通信鏈路;
圖5A至5G是4×4環(huán)形的貼面,它說明根據(jù)本發(fā)明為成叢分組對PE的選擇;圖6是4×4環(huán)形的貼面,它說明為了成叢對PE所作的另一種分組;圖7是3×3環(huán)形的貼面,它說明為了PE成叢對PE的選擇;圖8是3×5環(huán)形的貼面,它說明為了PE成叢對PE的選擇;圖9是一個方框圖,說明為PE成叢選擇PE的另一種菱形/圓柱形途徑;圖10是一方框圖,說明各新的PE叢中的叢間通信路徑;圖11A和11B說明選擇PE叢的另一種菱形/圓柱形途徑;圖12是一方框圖,說明一個5×4PE陣列的菱形/圓柱形PE選擇過程;圖13是一方框圖,說明一個4×5PE陣列的菱形/圓柱形PE選擇過程;圖14是一方框圖,說明一個5×5PE陣列的菱形/圓柱形PE選擇過程;圖15A至15D是方框圖,分別說明對于有3、4、5和6個叢而每叢有6個PE的陣列,其叢間通信的路徑;圖16是一方框圖,說明在含有4個叢而每叢有4個成員的一個陣列內(nèi)部的東/南通信路徑;圖17是一框圖,說明在含有4個叢而每叢有4個成員的一個陣列內(nèi)部的東/南和西/北通信路徑;圖18是一方框圖,說明圖17實施例的一個叢,圖中更詳細(xì)地說明一個叢開關(guān)及其到所示叢的接口;圖19A和19B分別說明在一個示例卷積中所用的卷積窗和卷積路徑,在本發(fā)明的新陣列處理器上實現(xiàn)這一卷積可以有許多好處;圖19C和19D是方框圖,分別說明一個圖像在一個4×4塊內(nèi)的部分以及加載到傳統(tǒng)的環(huán)形位置的塊;圖20A至24B是方框圖,說明在每個卷積操作步驟結(jié)尾時根據(jù)本發(fā)明的一個多重陣列的狀態(tài)。
在一個實施例中,根據(jù)本發(fā)明的一個新陣列處理器把PE組合成叢,或者說組,從而使一個叢中的元件只與其他兩個叢的成員通信,而且每個叢的組成處理元件只在兩個相互排他的方向上與這其他叢的每個叢的處理元件通信。通過以這種方式使PE成叢,在PE叢之間的通信路徑可以共享,從而基本上減少了陣列所需的互連線。再有,每個PE可以有單一的發(fā)送端口和單一的接收端口;或者,在雙向順的或時間分片的發(fā)送/接收通信實現(xiàn)的情況中,每個PE有單一的發(fā)送/接收端口。結(jié)果,單個PE與陣列的拓?fù)浣Y(jié)構(gòu)解耦。就是說,傳統(tǒng)的環(huán)形連接陣列中每個PE有4個雙向通信端口,每個方向上用其中一個進(jìn)行通信,與此不同的是,新陣列結(jié)構(gòu)所利用的PE只需有一個端口。在利用單個發(fā)送和單個接收端口的實現(xiàn)中,一個陣列中的所有PE可以同時發(fā)送和接收。在傳統(tǒng)的環(huán)形中,每個PE將需要4個發(fā)送和4個接收端口,總共8個端口,而在本發(fā)明中,每個PE需要一個發(fā)送端口和一個接收端口,總共2個端口。
在一個最佳實施例中,選擇一個叢中包含的PE,從而使處理元件和它們的轉(zhuǎn)置位于同一叢中并通過叢內(nèi)通信路徑彼此通信。為了描述方便,把處理元件指作它們在傳統(tǒng)的環(huán)形陣列中會出現(xiàn)的位置,例如,處理元件PE0,0是在傳統(tǒng)的環(huán)形陣列中會在“北西角上出現(xiàn)的處理元件。于是,雖然新的成叢陣列與傳統(tǒng)陣列處理器基本上是不同的,但同樣的數(shù)據(jù)將提供給傳統(tǒng)環(huán)形陣列和新成叢陣列的相應(yīng)處理元件。例如,新的成叢陣列的PE0,0元件所接收用于操作的數(shù)據(jù)與傳統(tǒng)的環(huán)形連接陣列的PE0,0元件所接收用于操作的數(shù)據(jù)是相同的。再有,在本描述中所說的方向是指一個環(huán)形連接陣列中的方向。例如,當(dāng)說到處理元件之間的通信是發(fā)生在從北向南的方向時,那些方向是指在一個傳統(tǒng)的環(huán)形連接陣列中的通信方向。
PE可以是單個微處理器芯片,它們可以有為特定應(yīng)用定制的簡單結(jié)構(gòu)。雖然不限定于下面的描述,但將描述一個基本PE以說明所涉及的概念。圖3A中說明了一個PE30的基本結(jié)構(gòu),它說明一個適當(dāng)?shù)膶嵤├?,該實施例將被?yīng)用于根據(jù)本發(fā)明的新PE陣列的每個PE。為簡化描述,沒有顯示出接口邏輯和緩存器。被連接的廣播指令總線31用于接收由SIMD控制器29分發(fā)的指令,被連接的數(shù)據(jù)總線32用于從存儲器33或PE30外部的另一數(shù)據(jù)源接收數(shù)據(jù)。寄存器存儲器介質(zhì)34向執(zhí)行單元36提供源操作數(shù)。被連接的指令解碼器/控制器38用于通過廣播指令總線31接收指令和向寄存器存儲器34內(nèi)的寄存器提供控制信號,而寄存器存器34又經(jīng)由路徑22向執(zhí)行單元36提供它們的內(nèi)容作為操作數(shù)。執(zhí)行單元36從指令解碼器/控制器38接收控制信號23并經(jīng)由路徑24向寄存器文件34提供結(jié)果。指令解碼器/控制器38還在標(biāo)為“開關(guān)使能”(“Switch Enable”)的輸出線上提供叢開關(guān)使能信號。在下文中將結(jié)合圖18更詳細(xì)地討論叢開關(guān)的功能。數(shù)據(jù)或命令的PE間通信是在標(biāo)為“接收”的接收輸入端37接收,由標(biāo)為“發(fā)送的發(fā)送輸出端35發(fā)送。
圖3B顯示了另一種PE代表30′,它包括一個接口控制單元50,該單元50根據(jù)從指令解碼器/控制器38收到的控制信號提供數(shù)據(jù)格式操作。數(shù)據(jù)格式操作可包括例如從并行到串行和從串行到并行的轉(zhuǎn)換,數(shù)據(jù)加密,以及為滿足各種標(biāo)準(zhǔn)或接口要求所進(jìn)行的數(shù)據(jù)格式轉(zhuǎn)換。
圖4中顯示了如圖3A中所示相同類型的PE傳統(tǒng)4×4最近鄰環(huán)形,被其本身的貼面包圍。中央的4×4貼面40被環(huán)42包圍,它包括了該環(huán)形的卷繞連接。圖4的貼面是描述性輔助圖,用于使卷繞連接“展平,并從而幫助解釋在本發(fā)明一個實施例的陣列中利用的最佳成叢過程。例如,從PE0,0向西的卷繞連接是PE0,3,從PE1,3向東的卷繞連接是PE1,0等,如框42內(nèi)所示。這種圖示的利用將在結(jié)合圖5A-5G所作的描述中看得更清楚。
在圖5A中,基本的4×4PE環(huán)形再次被它本身的貼面包圍。本發(fā)明承認(rèn)從PE0,0向東和向南的通信分別涉及PE0,1和PE1,0。再有,向東與PE1,0通信的PE是PE1,3,而PE1,3向南與PE2,3通信。所以,把四個PE,即PE0,0,PE1,3,PE2,2,PE3,1,組合成一叢便產(chǎn)生叢44,該叢中的PE只是向南和向東與另一叢46通信,叢46包括PE0,1,PE1,0,PE2,3和PE3,2。類似地,叢46的PE向南和向東與叢48的PE通信,叢48包括PE0,2,PE1,1,PE2,0和PE3,3。叢50的PE,即PE0,3,PE1,2,PE2,1和PE3,0,向南和向東與叢44通信。這種組合產(chǎn)生的PE叢只與其他兩個叢中的PE通信,而且是在互不相交的方向上與那些叢通信。就是說,叢48的PE向南和向東只與叢50的PE通信,而向北和向西只與叢46的PE通信,與傳統(tǒng)的最近鄰環(huán)形陣列所需相比,正是這種PE分組示例允許根據(jù)本發(fā)明的陣列基本上減少了陣列內(nèi)PE間的連接數(shù)。
許多其他組合是可能的。例如,仍從PE0,0開始,關(guān)于向北和向東的通信,對PE組合組合產(chǎn)生圖5B所示的叢52、54、56和58。這些叢可以組合成極大地減少PE陣列的互連需要,并減小最長PE間連接的長度。然而,這些叢不象圖5A中的叢44-50所作的那樣把PE及其轉(zhuǎn)置組合在一起。就是說,雖然轉(zhuǎn)置對PE0,2/PE2,0和PE1,3/PE3,1包含在叢56中,但轉(zhuǎn)置對PE0,1/PE1,0被分離在叢54和58之間。根據(jù)本發(fā)明最佳實施例的陣列只利用如同44-50那樣的叢,它們把所有的PE與其轉(zhuǎn)置組合到叢內(nèi)。例如,在圖5A中,PE3,1/PE1,3轉(zhuǎn)置對包含在叢44內(nèi),PE3,2/PE2,3以及PE1,0/PE0,1轉(zhuǎn)置對包含在叢48內(nèi),而PE3,0/PE0,3和PE2,1/PE1,2轉(zhuǎn)置對包含在50內(nèi)。圖5C中的叢60、62、64和68是把向北和向西通信的PE組合而成的。請注意,叢60等效于叢44,叢62等效于叢46,叢64等效于叢48,而叢68等效于叢50。類似地,圖5D的叢70至76是把向南和向西通信的PE組合而成的,它們分別等效于叢52至58。如圖5E所示,叢45、47、49和51等效于最佳叢48、50、44和58,可以從環(huán)形40內(nèi)的任何“起點”出發(fā),把向南和向東通信的PE組合而成。
圖5F中描寫了另一種成叢,這里叢61、63、65和67在環(huán)形40的貼面中形成一個十字形。這種成叢表明,有多種方式產(chǎn)生在互不相交方向上與其他兩個叢通信的叢。就是說,叢65的PE0,0和PE2,0分別向東與叢61的PE0,1和PE2,3通信。此外,從65的PE1,1和PE3,3分別向西與叢61的PE1,0和PE3,2通信。如下文中將更詳細(xì)描述的那樣,剛才描述的向東通信路徑,即PE0,0和PE0,1之間以及PE2,2和PE2,3之間的路徑,和其他叢間路徑可以與互不相交的叢間通信路徑組合,例如通過多路復(fù)用,以減少一半PE間通信所需互連線數(shù)。圖5F的成叢也是把轉(zhuǎn)置元件組合到叢內(nèi)。
圖5G顯示了新陣列可伸縮性(scalability)的一個方面,這里一個4×8環(huán)形陣列被描繪成兩個4×4陣列40A和40B。人們可以利用至此已描述的技術(shù)由一個4×8環(huán)形陣列產(chǎn)生8個PE組,每組有4個PE。此外,通過把一個4×8環(huán)形陣列分解成2個4×4環(huán)形,并把各自的叢組合成叢,例如叢44A和44B,46A和46B等,便能得到4個8PE叢,它們具有8個4PE叢構(gòu)形中包含的4×4子叢所具有的全部連接以及轉(zhuǎn)置關(guān)系。這種成叢組合過程是一般性的,其他伸縮是可能的。
本最佳但不是唯一的成叢過程還可以描述如下。如果給定一個N×N基本環(huán)形PEi,j,這里i=0,1,2,…N-1,j=0,1,2,…,N-1,通過把Pi,j,PE(i+1)(ModN),(j+N-1)(ModN),PE(i+2)(ModN),(j+N-2)(ModN),…,PE(i+N-1)(ModN),(j+N-(N -1))(ModN)組合,可以形成最佳的向南和向東通信叢。對于具有N個NPE的N×N環(huán)形陣列,這一公式可以重寫,在此陣列中可通過選擇一個i和一個j來形成成叢分組,所使用的公式是對任何i,j和對所有a∈{0,1,…,N-1}取PE(i+a)(ModN),(j+N-a)(ModN)。
圖6顯示產(chǎn)生叢44至50,從PE1,3開始,把向南和向東通信的PE組合。事實上,叢44至50是新陣列4×4環(huán)形等效物的最佳實施例的叢,它們是把向南和向東通信的PE組成而成,不管在基本N×N環(huán)形40內(nèi)的那個PE用作為起始點。圖7和8是這一過程的另二個例子,分別使用3×3和3×5環(huán)形。
圖9中顯示了表現(xiàn)建叢過程的另一種方式。在這張圖和其后的類似圖中,為清楚起見,從圖中略去了卷繞連線。首先把傳統(tǒng)的4×4環(huán)形扭曲成一個菱形,由圖中每行向左移表示。這種移動用于把轉(zhuǎn)置PE組合到菱形的“垂直切片(vertical slice)”中。為產(chǎn)生相等大小的叢,這些菱形基本上形成為一個圓柱形。就是說,最左(或者說最西)垂直切片80被卷繞以緊靠在它的行中最東的PE0,3。切片80東邊的垂直切片82被卷繞以緊靠PE0,0和PE1,3,而再向東的垂直切片84被卷繞以緊靠PE0,1,PE1,0和PE2,3。雖然為了清楚而沒有顯示出所有的連接,但所有連接與原始4×4環(huán)形中的連接保持相同。所造成的垂直切片產(chǎn)生圖5A所示最佳實施例叢44至50,這與用結(jié)合圖5A和圖6所作討論中說明的方式產(chǎn)生的叢相同。在圖10中,由圖9的菱形/圓柱形過程建立的叢是為顯示的目的而被“剝開”的,用以揭示叢間連接。例如,從叢44到叢46的所有PE間連接都是向南和向東的,正如從叢46到叢48,從叢48到叢50以及從叢50到叢44。這種通用化的叢間連接與SIMD處理過程的PE間通信特性相結(jié)合,允許PE間連接數(shù)顯著減少。如下文中結(jié)合圖16和17更詳細(xì)討論的那樣,多重互不相交通信,例如從叢44向南和向東到叢46的通信,可以被多路復(fù)用到叢間通行的共同的一組互連線上。于是,在下文中將稱作“多重陣列(manifold array)”的這種新陣列的PE間連線可以基本上減少到傳統(tǒng)最近鄰環(huán)形陣列伴隨的互連線數(shù)的一半。
用于產(chǎn)生多重陣列的成叢過程是對稱的,取垂直移動環(huán)的水平切形成的叢與取水平移動環(huán)的垂直切片形成的叢相同。圖11A和11B說明了這樣的事實,即菱形/圓柱形技術(shù)也能用于從垂直移動環(huán)的水平切片產(chǎn)生最佳叢。在圖11A中,傳統(tǒng)4×4環(huán)形陣列的各列被垂直移動以產(chǎn)生菱形,在圖11B中該菱形被卷繞成一圓柱形。所成圓柱的水平切片提供了最佳叢44至50。至此所說明的技術(shù)中的任何一種可用于造成多重陣列的叢,它們提供的PE間連接等效于傳統(tǒng)環(huán)形陣列的連接,而所需PE間連線則基本上減少了。
如在發(fā)明概要中指出的那樣,上述成叢過程是通用性的,可以用于產(chǎn)生有M個叢,每叢含N個PE的多重陣列,其中每個PE來自一NXM環(huán)形陣列。例如,圖12中顯示的是造成4個叢每叢5個PE的菱形/圓柱形過程,得到5×4環(huán)形陣列等效物。請注意,構(gòu)成新PE叢,例如PE4,0,PE3,1,PE2,2,PE1,3和PE0,0的垂直切片保持了先前所示4×4陣列的轉(zhuǎn)置成叢關(guān)系。類似地,如圖13的圖形所示,一個4×5環(huán)形將產(chǎn)生每叢4個PE的5個叢,每叢具有的轉(zhuǎn)置關(guān)系與從4×4陣列得到的轉(zhuǎn)置關(guān)系只有稍許不同。事實上,轉(zhuǎn)置PE仍叢集在一起,只是安排上與4×4成叢陣列稍有不同。例如,轉(zhuǎn)置對PE1,0/PE0,1和PE2,3/PE3,2被分組到最佳4×4多重陣列內(nèi)的同一叢,但它們的表現(xiàn),盡管仍然成對,卻在圖13的4×5多重陣列的分開叢中。如圖14的叢選擇圖中所示,在奇數(shù)乘奇數(shù)陣列中,對角線PE,即PEi,j,i=j(luò),被分配到每個叢一個。
圖15A至15D的框圖說明新多重陣列的叢間連接。為簡化描述,在下文的討論中,除特別說明外,均假定為單向連接路徑。雖然為清楚起見,描述本發(fā)明時以單線代表并行互連路徑或總線,但本發(fā)明也能實現(xiàn)位串行通信,換句話說,即具有單線的總線。在使用多路復(fù)用器或總線開關(guān)的地方,多路復(fù)用器和/或開關(guān)用于代替總線中的線數(shù)。此外,利用適當(dāng)?shù)木W(wǎng)絡(luò)連接和PE的微處理器芯片實現(xiàn),這新陣列可被用于允許MIMD、SIMD和SISD方式動態(tài)切換的系統(tǒng),如在P.M.Kogge的美國專利5,475,856中描述的那樣,該專利題為動態(tài)多重方式并行處理器陣列技術(shù),這里把它列入作為參考。
在圖15A中,叢80、82和84是3個PE叢,通過叢開關(guān)86和叢間鏈路88彼此相連。為理解多重陣列的PE如何彼此連接以造成特定拓?fù)浣Y(jié)構(gòu),從一個PE來看的連接圖必須從單個PE連接改變成把PE作為一個PE叢的成員所進(jìn)行的連接。對于一個在SIMD單向通信環(huán)境中操作的多重陣列,任何PE只需要一個發(fā)送端口和一個接收端口,不依賴于傳統(tǒng)環(huán)形中PE和它的任何直接附著的近鄰之間的連接數(shù)。一般地說,對于不會造成PE通信沖突的陣列通信模式,每個PE只需一個發(fā)送和一個接收端口,不依賴于一個特定拓?fù)浣Y(jié)構(gòu)可能要求其PE的近鄰連接數(shù)。
每叢4個PE的4個叢,即44至50,組合在圖15B的陣列中。叢開關(guān)86和連接路徑88把這些叢連接起來,其連接方式將在圖16、17和18的討論中更詳細(xì)地解釋。類似地,每叢5個PE的5個叢,即90至98,組合在圖15C的陣列中。在實踐中,叢90-98的放置要適于使集成電路易于布局和減小最長叢間連線的長度。圖15D顯示一個有6個叢,即99、100、101、102、104和106的多重陣列,每叢有6個PE。由于在新多重陣列中的通信路徑86是在叢間的路徑,從而消除了傳統(tǒng)環(huán)形陣列的卷繞連接問題。就是說,不管該陣列變?yōu)槎嗝创?,都不需要任何互連路徑長于由連接路徑88所示的基本叢間間距。這與傳統(tǒng)環(huán)形陣列的卷繞連接形成對照,后者必須伸展到整個陣列。
圖16的框圖更詳細(xì)地說明了一個4叢共16個PE的多重陣列的最佳實施例。叢44至50被安排成矩形或正方形,與它們會在集成電路布局中的位置很相像。在這圖中更詳細(xì)地說明了連接路徑88和叢開關(guān)。向南和向東的連接通過叢開關(guān)86多路復(fù)用,以減少PE間連線數(shù)。例如,PE1,2和PE2,2之間的南連接是在連接路徑110上實現(xiàn)的,這與從PE2,1到PE2,2的東連接是相同的。如前面指出的那樣,每個連接路徑,如連接路徑110,可以是一個位串行路徑,于是可以由單個金屬現(xiàn)在一集成電路實現(xiàn)中生效。此外,只有當(dāng)各自的控制線被認(rèn)定時這種連接路徑才能被接通。這些控制線可由圖3A中所示每個PE3,0的指令解碼器/控制器38產(chǎn)生?;蛘撸@些控制線可由每個叢開關(guān)中包括的一個獨立的指令解碼器/控制器產(chǎn)生。由于每個開關(guān)有多個PE,所以對每個PE產(chǎn)生的多個使能信號進(jìn)行比較,以保證它們有相同值,從而保證沒有發(fā)生錯誤并且所有PE同步操作。就是說,每個標(biāo)明的方向路徑伴有一個控制線,N用于北,S用于南,E用于東,W用于西。在這些線上的信號使多路復(fù)用器能在多路復(fù)用器到被連接PE的相應(yīng)數(shù)據(jù)路徑上傳送數(shù)據(jù)。當(dāng)控制信號未被認(rèn)定時,相應(yīng)的數(shù)據(jù)路徑便不能開通,于是數(shù)據(jù)不能通過多路復(fù)用器沿那些路徑傳送。
圖17的方框圖更詳細(xì)地說明鏈接44到50這4個叢的互連路徑88和開關(guān)叢86。在這圖中,西和北連接被加到圖16中所示東和南連接上。雖然,在這種圖中每個處理元件看起來有兩個輸入和兩個輸出端口,但在這最佳實施例中在叢開關(guān)內(nèi)的另一層多路復(fù)用使每個PE的通信端口數(shù)降到一個用于輸入和一個用于輸出。在每個PE具有4個近鄰發(fā)送連接而且具有單向通信(即每個PE只有一個發(fā)送方向能被啟動)的標(biāo)準(zhǔn)環(huán)形中,每個PE中需要4個多路復(fù)用器或門電路發(fā)送路徑。一個門電路可以適用地包括具有使能和取消控制信號的多路復(fù)用器、與門、三態(tài)驅(qū)動器/接收器以及其他這種接口使能/取消電路。這是由于被定義為PE一部分的互連拓?fù)浣Y(jié)構(gòu)。純結(jié)果是在標(biāo)準(zhǔn)環(huán)中有4N2個多重發(fā)送路徑。在具有等效連接和無限制通信的多重陣列中,只需要2N2個被多路復(fù)用的或有門電路的發(fā)送路徑。減少2N2個發(fā)送路徑轉(zhuǎn)換成顯著地節(jié)省集成電路“不動產(chǎn)”面積,因為由多路復(fù)用器和2N2個發(fā)送路徑所消耗的面積顯著地少于4N2發(fā)送路徑所消耗的面積。
圖18的方框圖中更詳細(xì)地顯示了一個完整的叢開關(guān)86。北、南、東、西輸出如先前說明的那樣。已有另一多路復(fù)用層112加到叢開關(guān)86上。這一多路復(fù)用層在標(biāo)為A的東/南接收和標(biāo)為B的北/西接收之間進(jìn)行選擇,從而把每個PE的通信需求減少到一個接收端口和一個發(fā)送端口。此外,轉(zhuǎn)置PE(PE1,3和PE3,1)之間的多路復(fù)用連接是通過標(biāo)為T的叢內(nèi)轉(zhuǎn)置連接生效的。當(dāng)認(rèn)定了一個特定多路復(fù)用器的T多路復(fù)用器使能信號時,則在與該多路復(fù)用器相關(guān)聯(lián)的PE處收到來自轉(zhuǎn)置PE的通信。在該最佳實施例中,所有叢包括轉(zhuǎn)置路徑,如一個PE與其轉(zhuǎn)置PE之間的這種路徑。這些圖顯示了總體連接方案,但不打算用于說明一個多層集成電路實現(xiàn)可能如何實現(xiàn)整個常規(guī)陣列連接,這種整個常規(guī)陣列連接通常會是設(shè)計選擇的常規(guī)問題。就象任何集成電路布局那樣,IC設(shè)計者在對根據(jù)本發(fā)明的陣列的實際IC實現(xiàn)進(jìn)行布局時要分析各種權(quán)衡。例如,叢開關(guān)可以被分布到PE叢內(nèi),以減小大量接口的連線長度。
為了說明對一環(huán)形陣列通信能力的等效性和在多重陣列上執(zhí)行圖像處理算法的能力,下文中將描述一個使用圖19A所示3×3窗的簡單卷積。將使用在一環(huán)形機器上進(jìn)行卷積的Leen和Aggarwal算法。見S.Y.Lee和J.K.Aggarwal的“在一網(wǎng)格連接陣列處理器上的并行2D卷積”,IEEE模式分析和機器智能匯報,第PAMI-9卷,第4期,590-594頁,1997年7月。圖3A所示基本PE30的內(nèi)部結(jié)構(gòu)用于說明在具有16個這種PE的4×4多重陣列上執(zhí)行的卷積。為了這個例子的目的,指令解碼器/控制器還提供叢開關(guān)多路復(fù)用器使能信號。由于每個開關(guān)有多個PE,所以對多重使能信號比較其相等情況,以保證沒有錯誤并且所有PE在同步操作。
根據(jù)S.Y.Lee和J.K.Aggarwal的卷積算法,這多重陣列的大小最好是圖像的大小,例如對于N×N圖像使用N×N陣列。由于實現(xiàn)方面的問題,對于大的N,必須假定該陣列小于N×N。假定陣列大小為C×C,圖像處理可以被分塊成多個C×C塊,并考慮卷積窗大小所需要的圖像塊重疊。有各種技術(shù)可用于處置N×N圖像的邊緣效應(yīng)。例如,可使用象素復(fù)制,它有效地產(chǎn)生一個(N+1)×(N+1)陣列。應(yīng)該指出,由于所需處理的簡單性,在一個應(yīng)用的具體實現(xiàn)中可以定義很小的PE。于是,可以有大量的PE放置在一個芯片上的多重陣列組織中,從而改善對大圖像尺寸的卷積計算效率。
卷積算法提供了一種簡單的手段,用于演示多重陣列組織與北/東/南/西最近鄰環(huán)形陣列的等效性。于是,本例集中于該算法的通信方面,而且為簡化討論,一個很小的4×4圖像用于一個4×4多重陣列上。使用這一途徑能處置更大的N×N圖像,作法是在每個先前的4×4塊結(jié)束之后把一個新的4×4圖像段加載到陣列中。對于4×4陣列不使用卷繞,對于邊緣PE,從物理實現(xiàn)中不存在的虛擬PE接收0值。在這個操作例子中將復(fù)蓋對一個4×4象素塊的處理。
為開始這個卷積舉例,假定這些PE已被一個SIMD控制器(例如圖3A的控制器29)初始化,而且假定初始4×4象素塊已通過數(shù)據(jù)總線加載到每個PE中的寄存器R1,即每個PE已加載了一個象素。圖19C顯示了一個圖像的一部分,所具有的4×4塊被加載到該陣列中。圖19D顯示這一塊被加載到4×4環(huán)形的邏輯位置。此外,假定每個PE中的“累加和”寄存器R0已被初始化為零。雖然對這一算法不會造成后果,R2也顯示出已被初始化為零。在該算法的每一步,卷積窗元素被一次廣播一個。這些窗元素被接收到寄存器R2。在廣播窗元素之前機器的初始狀態(tài)示于圖20A。下面是對所有PE計算3×3近鄰中加權(quán)象素值之和的步驟。
該算法的開始是向所有PE發(fā)送(廣播)第一窗元素W00。一旦在每個PE中收到該值,這些PE計算第一個R0=R0+R2*R1或R0=R0+W*P。然后,根據(jù)所選擇的卷積路徑(圖19B)將計算結(jié)果通信到最近鄰PE。為簡化討論,假定每個要描述的操作步驟可被分解成三個子步驟,每個子步驟由控制器分發(fā)的指令控制廣播窗元素步驟,計算步驟,以及通信步驟。應(yīng)該指出,能開發(fā)出對這一簡化過程的改進(jìn),例如以主步驟2開始,以結(jié)果通信步驟復(fù)蓋窗元素廣播步驟。這些點對于本描述的目的不是實質(zhì)性的,而且會是本領(lǐng)域普通技術(shù)人員所理解的。在操作進(jìn)行過程中使用上標(biāo)代表求和步驟之值。為了有助于跟隨計算值的通信過程,在一個標(biāo)號上的下標(biāo)指出在其中產(chǎn)生該值的源PE。對象素{i,j}的卷積路徑示于圖19B。圖20-24指出每個計算步驟之后多重陣列的狀態(tài)。
在圖20B中,W00被廣播到各PE并每個PE計算R01=0+W00*R1并把R01通信到南PE,在那里,所收到的R01值被存儲在該PE的寄存器R0中。
在圖21A中,W10被廣播到各PE并每個PE計算R02=R01+W10*R1并把R02通信到南PE,在那里,所收到的R02值被存儲在該PE的寄存器R0中。
在圖21B中,W20被廣播到各PE并每個PE計算R03=R02+W20*R1并把R03通信到東PE,在那里,所收到的R03值被存儲在該PE的寄存器R0中。
在圖22A中,W21被廣播到各PE并每個PE計算R04=R03+W21*R1并把R04通信到東PE,在那里,所收到的R04值被存儲在該PE的寄存器R0中。
在圖22B中,W22被廣播到各PE并每個PE計算R05=R04+W22*R1并把R05通信到北PE,在那里,所收到的R05值被存儲在該PE的寄存器R0中。
在圖23A中,W12被廣播到各PE并每個PE計算R06=R05+W12*R1并把R06通信到北PE,在那里,所收到的R06值被存儲在該PE的寄存器R0中。
在圖23B中,W02被廣播到各PE并每個PE計算R07=R06+W02*R1并把R07通信,在那里,所收到的R07值被存儲在該PE的寄存器R0中。
在圖24A中,W01被廣播到各PE并每個PE計算R08=R07+W01*R1并把R08通信到南PE,在那里,所收到的R08值被存儲在該PE的寄存器R0中。
在圖24B中,W11被廣播到各PE并每個PE計算R09=R08+W11*R1并結(jié)束。
在上述9個步驟的結(jié)尾,每個PEi,j包含(參考圖19B)Ci,j=W00Pi-1,j-1+W10Pi,j-1+W20Pi+1,j-1+W21Pi+1,j+W22Pi+1,j+1+W12Pi,j+1+W02Pi-1,j+1+W01Pi-1,j+W11Pi,j。例如,對于i=5和j=6,C5,6=W00P4,5+W10P5,5W20P6,5+W21P6,6+W22P6,7+W12P5,7+W02P4,7+W01P4,6+W11P5,6。
應(yīng)該指出,在完成本例時,如果按給定的操作假設(shè),則已計算出4個有效的卷積值,即在PE(1,1),(1,2),(2,1),(2,2)中的值。這是由于先前討論的邊緣效應(yīng)。由于這一算法所需PE的簡單性,可在一個芯片上容納大量PE,從而極大地提高了大圖像尺寸卷積計算的效率。
上例表明,多重陣列在其4個通信方向(北、東、南、西)的通信能力方面等效于一個標(biāo)準(zhǔn)的環(huán)形陣列,而只需標(biāo)準(zhǔn)環(huán)形的一半連線消耗。如果給定一個以規(guī)則連接模式、最小連線長度和最小費用實現(xiàn)的多重陣列轉(zhuǎn)置PE間通信能力,那么該多重陣列還提供了超出標(biāo)準(zhǔn)環(huán)形陣列的附加能力。由于多重陣列組織結(jié)構(gòu)更規(guī)則,因為它是由同樣大小的PE叢構(gòu)成,而同時又提供了轉(zhuǎn)置和近鄰?fù)ㄐ诺耐ㄐ拍芰Γ运砹伺c現(xiàn)有技術(shù)的標(biāo)準(zhǔn)對角線褶疊環(huán)形陣列相比更優(yōu)越的設(shè)計。
為了演示和描述的目的,前面已展現(xiàn)了本發(fā)明具體實施例的描述。并不想把本發(fā)明完全地限定在所公開的實踐形式,而且根據(jù)上面的說明,許多修改和變化都是可能的。選擇和描述這些實施例是為了最好地解釋本發(fā)明的原理及其實際應(yīng)用,從而使本領(lǐng)域其他技術(shù)人員能最好地利用本發(fā)明。其意圖是本發(fā)明的范圍只由這里所附權(quán)利要求來限定。
權(quán)利要求
1.多個處理元件(PE)的互連系統(tǒng),每個PE有一通信端口用于發(fā)送和接收數(shù)據(jù)和命令,該互連系統(tǒng)包含PE間連接路徑;以及連到所述PE的叢開關(guān),從而把互不相交的PE間連接路徑組合起來,從而基本上減少了為提供等效于傳統(tǒng)環(huán)形連接PE陣列的PE間連接所需的通信路徑數(shù)。
2.權(quán)利要求1的互連系統(tǒng),這里所述叢開關(guān)還包含提供轉(zhuǎn)置PE間直接通信的連接。
3.權(quán)利要求1的互連系統(tǒng),這里數(shù)據(jù)和命令可以按下述4種可選方式之一在所述通信端口上被發(fā)送和接收a)發(fā)送東/接收西方式,用于通過通信端口向東邊的一個PE發(fā)送數(shù)據(jù),而通過該通信端口從西邊的一個PE接收數(shù)據(jù);b)發(fā)送北/接收南方式,用于通過通信端口向北邊的一個PE發(fā)送數(shù)據(jù),而通過該通信端口從南邊的一個PE接收數(shù)據(jù);c)發(fā)送南/接收北方式,用于通過通信端口向南邊的一個PE發(fā)送數(shù)據(jù),而通過該通信端口從北邊的一個PE接收數(shù)據(jù);d)發(fā)送西/接收東方式,用于通過通信端口向西邊的一個PE發(fā)送數(shù)據(jù),而通過該通信端口從東邊的一個PE接收數(shù)據(jù)。
4.權(quán)利要求3的互連系統(tǒng),這里可以按用于轉(zhuǎn)置PE間發(fā)送和接收的第5種可選擇的轉(zhuǎn)置發(fā)送/接收方式來發(fā)送和接收數(shù)據(jù)和命令。
5.權(quán)利要求4的互連系統(tǒng),還包含連于PE的控制器和存儲器系統(tǒng),以同時地向每個PE控制端口發(fā)送控制信息并向每個PE數(shù)據(jù)端口發(fā)送數(shù)據(jù)以加載到每個PE的寄存器中。
6.權(quán)利要求5的互連系統(tǒng),這里所述PE間連接路徑被路徑使能信號有選擇地切換。
7.權(quán)利要求5的互連系統(tǒng),這里所述路徑使能信號是根據(jù)來自所述控制器的控制信息而產(chǎn)生的。
8.權(quán)利要求4的互連系統(tǒng),這里每個通信端口包括B一比特寬發(fā)送和接收路徑,這里B是大于或等于1的整數(shù)。
9.權(quán)利要求1的互連系統(tǒng),這里每個PE被連接成根據(jù)通過控制端口接收并由駐留在每個PE上的控制邏輯解碼的通信指令,有選擇地在一通信端口上發(fā)送命令或數(shù)據(jù),而經(jīng)由另一通信端口接收數(shù)據(jù)或命令。
10.權(quán)利要求9的互連系統(tǒng),這里的通信指令是由控制邏輯在所述控制端口從一控制器接收到的。
11.權(quán)利要求9的互連系統(tǒng),這里叢開關(guān)支持一種操作,在這種操作中每個PE同時發(fā)送命令或數(shù)據(jù)并接收命令或數(shù)據(jù)。
12.權(quán)利要求11的互連系統(tǒng),這里所述同時操作被有選擇地切換,從而使每個PE同時發(fā)送命令或數(shù)據(jù)并接收數(shù)據(jù)或指令。
13.一種陣列處理器,包含多個處理元件(PE),每個PE有單一的PE間通信端口;以及PE間通信路徑,被連接成提供等效于傳統(tǒng)環(huán)形連接陣列的PE間連接。
14.權(quán)利要求13的陣列處理器,還包含PE間通信路徑被連接成提供直接的轉(zhuǎn)置PE通信。
15.一種陣列處理器,包含多個處理元件(PE),被安排成叢;PE間通信路徑,被連接成使每個叢的PE在互不相交的方向上與至少兩個其他叢的每個叢中的PE通信;以及叢開關(guān),被連接成在所述互不相交的方向上多路復(fù)用PE間通信。
16.一種陣列處理器,包含N個叢,每叢M個處理元件,每個處理元件有一個通信端口,該處理元件通過此端口在總共B條連線上發(fā)送和接收數(shù)據(jù);小于或等于(M)(B)線寬的通信路徑,它們在每對所述叢之間連接;該對中的每個叢成員包含的處理元件相對于該對中的另一叢中的處理元件而言是環(huán)形最近鄰,每個路徑允許所述叢對之間在兩個互不相交環(huán)形方向上的通信,即南和東,或南和西,或北和東,或北和西;以及多路復(fù)用器,被連接成把所述叢對之間的2(M)(B)線寬通信組合成所述少于或等地(M)(B)線寬的路徑。
17.權(quán)利要求16的陣列處理器,這里每個叢的處理元件向北和西環(huán)形方向與一個叢通信,向南和東環(huán)形方向與另一叢通信。
18.權(quán)利要求16的陣列處理器,這里每個叢的處理元件向北和東環(huán)形方向與一個叢通信,向南和西環(huán)形方向與另一叢通信。
19.權(quán)利要求16的陣列處理器,這里至少一個叢包括NXN個環(huán)形轉(zhuǎn)置對。
20.權(quán)利要求16的陣列處理器,這里的叢開關(guān)包含所述多路復(fù)用器,而所述叢開關(guān)被連接成多路復(fù)用從兩個互不相交方向收到的向一叢內(nèi)處理元件進(jìn)行的通信。
21.權(quán)利要求20的陣列處理器,這里所述叢開關(guān)被連接成多路復(fù)用從一叢內(nèi)處理單元向另一叢內(nèi)處理單元發(fā)送的通信。
22.權(quán)利要求21的陣列處理器,這里所述叢開關(guān)被連接成多路復(fù)用一叢內(nèi)轉(zhuǎn)置處理元件之間的通信。
23.權(quán)利要求16的陣列處理器,這里N大于或等于M。
24.權(quán)利要求16的陣列處理器,這里N小于M。
25.一種陣列處理器,包含N個叢,每叢有M個處理元件,每個處理元件有一個通信口,通過這個通信口,處理元件在總共B條線上發(fā)送和接收數(shù)據(jù),在一個叢內(nèi)的每個處理元件與叢內(nèi)的其他處理元件在物理上比該叢外部的處理元件更加靠近;通信路徑,它們小于或等于(M)(B)線寬,在所述叢對之間連接,在該對中的每個叢成員所包含的處理元件是該對中的另一叢中處理元件的環(huán)形最近鄰,每個路徑允許在所述叢對之間沿兩個互不相交環(huán)形方向進(jìn)行通信,即南和東,或南和西,或北和東,或北和西;以及多路復(fù)用器,把所述叢對之間的2(M)(B)線寬通信組合成少于或等于(M)(B)線寬路徑。
26.權(quán)利要求25的陣列處理器,這里每個叢的處理元件向北和西環(huán)形方向與一個叢通信,向南和東環(huán)形方向與另一叢通信。
27.權(quán)利要求25的陣列處理器,這里每個叢的處理元件向北和東環(huán)形方向與一個叢通信,向南和西環(huán)形方向與另一叢通信。
28.權(quán)利要求25的陣列處理器,這里至少一個叢包括NXN環(huán)形轉(zhuǎn)置對。
29.權(quán)利要求25的陣列處理器,這里一個叢開關(guān)包含所述多路復(fù)用器,所述叢開關(guān)被連接成多路復(fù)用從兩個互不相交環(huán)形方向到一叢內(nèi)處理元件所接收的通信。
30.權(quán)利要求29的陣列處理器,這里所述叢開關(guān)被連接成多路復(fù)用從一叢內(nèi)處理元件向另一叢發(fā)送的通信。
31.權(quán)利要求30的陣列處理器,這里所述叢開關(guān)被連接成多路復(fù)用在一叢內(nèi)轉(zhuǎn)置處理元件之間的通信。
32.權(quán)利要求25的陣列處理器,這里N小于或等于M。
33.權(quán)利要求25的陣列處理器,這里N大于M。
34.權(quán)利要求25的陣列處理器,這里處理元件之間的通信是位串行的,每個處理元件叢在所述通信路徑上與兩個其他叢通信。
35.權(quán)利要求25的陣列處理器,這里處理元件之間的通信路徑包含一個數(shù)據(jù)總線。
36.權(quán)利要求25的陣列處理器,這里所述通信路徑是雙向路徑。
37.權(quán)利要求25的陣列處理器,這里所述通信路徑包含單向信號線。
38.權(quán)利要求25的陣列處理器,這里P和Q分別是一環(huán)形連接陣列的行數(shù)和列數(shù),該陣列與所述陣列有相同PE數(shù),而且P和Q分別等于N和M。
39.權(quán)利要求25的陣列處理,這里P和Q分別是一環(huán)形連接陣列的行數(shù)和列數(shù),該陣列與所述陣列有相同PE數(shù),而且P和Q分別等于M和N。
40.一種陣列處理器,包含處理元件(PE)PEi,j,這里i和j代表一傳統(tǒng)環(huán)形連接陣列內(nèi)的各行和列的PE位置,而且這里i=0,1,2,…,N-1和j=0,1,2,…,N-1,所述PE對任何i,j和對所有a∈{0,1,…,N-1}被安排成叢PE(i+a)(ModN),(j+N- a)(ModN);叢開關(guān),被連接成多路復(fù)用在所述叢之間的PE間通信路徑,從而提供PE間連接等效于環(huán)形連接陣列的PE間連接。
41.權(quán)利要求40的陣列處理器,這里所述叢開關(guān)還進(jìn)一步被連接成提供一叢內(nèi)轉(zhuǎn)置PE對中的PE之間的直接通信。
42.權(quán)利要求40的陣列處理器,這里所述叢是可伸縮(scaleable)的。
43.構(gòu)成一陣列處理器的方法,包含的步驟是把處理元件安排到N個叢中,每叢M個處理器,使得每個叢包括的處理元件只在互不相交的環(huán)形方向上與至少一個其他叢的處理元件進(jìn)行通信;以及多路復(fù)用所述互不相交環(huán)形方向通信。
全文摘要
一個陣列處理器,所包括的處理元件被安排成叢,這些叢又被組合成一個矩形陣列。每個叢由這樣一些處理單元構(gòu)成,它們最佳地與至少兩個其他叢的處理元件通信。此外,每個叢間通信路徑是互不相交的,就是說,每個路徑承擔(dān)或者北和西,南和東,北和東,或者南和西通信。由于數(shù)據(jù)路徑的互不相交性,所以每個叢的處理元件之間的通信可以被組合成單一的叢間路徑。就是說,來自向北和東與另一叢通信的叢的那些通信可以被組合成一條路徑,從而去掉了一半為此路徑所需連線。此外,最長通信路徑不像傳統(tǒng)環(huán)形陣列那樣直接取決于該陣列的總尺度。相反,最長通信路徑只受叢間間距的限制。在一個實施例中,一個NxN環(huán)形的轉(zhuǎn)置元件被組合在叢中并通過叢內(nèi)通信路徑彼此通信。由于轉(zhuǎn)置元件彼此間有直接連接,因而以這種途徑消除了轉(zhuǎn)置操作延遲。另外,每個PE可以有單一發(fā)送端口和單一接收端口。結(jié)果,PE個體從陣列拓?fù)浣Y(jié)構(gòu)中解耦出來。
文檔編號G06F15/173GK1261966SQ98806757
公開日2000年8月2日 申請日期1998年6月24日 優(yōu)先權(quán)日1997年6月30日
發(fā)明者杰拉爾德·G·皮查尼克, 小查爾斯·W·克拉克 申請人:博普斯公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
调兵山市| 金昌市| 马龙县| 滦南县| 松桃| 通榆县| 辉南县| 武义县| 江达县| 惠水县| 定兴县| 裕民县| 大邑县| 正宁县| 拉孜县| 特克斯县| 河津市| 突泉县| 博野县| 教育| 布拖县| 凯里市| 峨边| 彭水| 泰宁县| 错那县| 永登县| 错那县| 鄯善县| 南汇区| 南川市| 阳曲县| 霞浦县| 宁蒗| 龙陵县| 松江区| 黄龙县| 海南省| 安泽县| 荣成市| 离岛区|