專(zhuān)利名稱(chēng):具有多個(gè)可編程處理器的集成數(shù)據(jù)處理電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有設(shè)置成二維矩陣形式的多個(gè)可編程處理器的集成數(shù)據(jù)處理電路。
在本領(lǐng)域中并行處理器的陣列是已知的。這樣的陣列促進(jìn)了處理任務(wù)的高速并行執(zhí)行。在實(shí)踐中,已發(fā)現(xiàn)這樣的陣列的速度取決于處理器之間的通信的需要。已經(jīng)提出了各種各樣的通信體系結(jié)構(gòu)。
DE 3812823描述了一種晶片機(jī)(transputer)網(wǎng)絡(luò)。晶片機(jī)(最初是由Inmos制造的)包含處理器,并典型地包含四個(gè)通信信道,經(jīng)由所述信道處理器可以耦合至處理器陣列中的四個(gè)鄰居。處理器之間的通信通過(guò)信道流動(dòng)。當(dāng)消息必須在陣列中不是緊靠的鄰居的兩個(gè)處理器之間進(jìn)行通信的時(shí)候,該消息傳播通過(guò)中間的計(jì)算機(jī)。所述信道也支持廣播消息(針對(duì)所有晶片機(jī)的)。晶片機(jī)可以在第一次收到廣播消息的時(shí)候?qū)⑵鋫鹘o它們的所有鄰居。
在實(shí)踐中,為彼此遙遠(yuǎn)的晶片機(jī)之間的通信使用中間晶片機(jī)已證明是太大的負(fù)擔(dān)。因此DE 3812823描述了,除了晶片機(jī)之外還使用通信處理器來(lái)處理消息傳輸。
作為另一實(shí)例,F(xiàn)ujitsu AP1000并行計(jì)算機(jī)公開(kāi)了多個(gè)處理器,所述處理器是以矩陣的方式組織的單元的一部分(不同的單元包含在不同印刷電路板上)。這種并行計(jì)算機(jī)使用多個(gè)通信網(wǎng)絡(luò),包括用于在單元之間通信的所謂的T-網(wǎng),以及用于從主機(jī)到單元的廣播通信的B-網(wǎng)。每個(gè)單元包含一個(gè)與處理器相鄰的路由控制器,T-網(wǎng)將單元的每個(gè)路由控制器鏈接到四個(gè)鄰近單元的路由控制器。路由控制器能夠在處理器之間路由信息。B-網(wǎng)包括許多總線(xiàn)和用于與所述總線(xiàn)通信的環(huán)狀通信結(jié)構(gòu),其中每一總線(xiàn)耦合至一組處理器。主計(jì)算機(jī)連接到該環(huán)狀結(jié)構(gòu)。
假如處理速度是潛在高的,那么在針對(duì)許多不同應(yīng)用的專(zhuān)用集成電路中采用處理器陣列就是有吸引力的。為了支持這種不同應(yīng)用,所希望的是提供用于自動(dòng)生成任意規(guī)模的處理器陣列的電路說(shuō)明的設(shè)計(jì)庫(kù)。但是,通信結(jié)構(gòu)的設(shè)計(jì)呈現(xiàn)出設(shè)計(jì)上的瓶頸。已知的通信結(jié)構(gòu)不容易縮放。也就是說(shuō),要從根本上說(shuō)的話(huà)(if at all),它們僅僅對(duì)于具有特定范圍內(nèi)的規(guī)模的陣列來(lái)說(shuō)是最佳的。通信等待時(shí)間在陣列按比例放大時(shí)增大。這意味著為了最佳的結(jié)果,通信結(jié)構(gòu)必須根據(jù)陣列的規(guī)模來(lái)重新設(shè)計(jì)。這使得由庫(kù)生成的處理器陣列不是效率低就是難以設(shè)計(jì)。
其中,本發(fā)明的一個(gè)目的是提供具有可縮放通信結(jié)構(gòu)的高效率的處理器陣列。
其中,本發(fā)明的一個(gè)目的是提供自動(dòng)生成高效率的處理器陣列和它們的通信結(jié)構(gòu)的電路設(shè)計(jì)的設(shè)計(jì)生成器。
本發(fā)明提供根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理電路。根據(jù)本發(fā)明,使用至少兩種通信結(jié)構(gòu)來(lái)用于集成電路上的陣列中的處理器之間的通信。在處理器之間采用基于操作數(shù)的最近鄰居通信,從而處理器能夠非常有效率地將操作數(shù)傳給它們的鄰居,而不必另外傳送地址。此外,采用樹(shù)型結(jié)構(gòu)的通信網(wǎng)絡(luò),且路由器電路將具有地址的消息從根路由器電路傳給被尋址的處理器。每一個(gè)路由器電路選擇通過(guò)該樹(shù)到所述處理器的路徑的一部分。因此,對(duì)于具有足夠規(guī)模的陣列來(lái)說(shuō),在樹(shù)中存在至少兩個(gè)層次的路由器電路,每一層次上的路由器從消息的地址獲得例如不同的片段,來(lái)決定該消息將路由至該樹(shù)的下一層次中的哪一個(gè)路由器電路。因此,通過(guò)改變樹(shù)結(jié)構(gòu)中路由器電路的層次數(shù),可以容易地縮放該矩陣。優(yōu)選地,在樹(shù)的所有層次上的所有路由器電路都具有到該樹(shù)的下一層次上的路由器或處理器的相同預(yù)定數(shù)量的輸出端。這進(jìn)一步簡(jiǎn)化了自動(dòng)設(shè)計(jì)。
在一個(gè)實(shí)施例中,該樹(shù)是四叉樹(shù)。在典型的四叉樹(shù)中,處理器矩陣是由行和列構(gòu)成的方陣,其中行數(shù)和列數(shù)都是二的相同次冪。在該樹(shù)的最低層次上,該矩陣分成由方塊構(gòu)成的陣列,每一個(gè)方塊延續(xù)兩行和列,并且在最低層次上的路由器電路各自具有到相應(yīng)方塊中的四個(gè)處理器的連接。在下一較高層次上,所述方塊的陣列分成2×2方塊的較高層次的方塊,在這下一較高層次上的路由器電路各自具有到用于該方塊的四個(gè)路由器電路的連接,就這樣繼續(xù)下去。
在另一個(gè)實(shí)施例中,樹(shù)結(jié)構(gòu)也用于在來(lái)自陣列的處理器之間傳輸消息。在這種情況下,消息首先從處理器朝著該樹(shù)的根路由器電路傳播,直到它到達(dá)覆蓋源處理器和目的處理器兩者的路由器,然后向下回到目的處理器。在另外的實(shí)施例中,優(yōu)選為每一路由器電路提供仲裁電路,來(lái)處理來(lái)自根路由器電路的消息與來(lái)自處理器的消息沖突和/或來(lái)自多個(gè)處理器的消息沖突的情況。
本發(fā)明的這些和其它目的以及有利方面將在下列附圖的說(shuō)明中加以說(shuō)明。
圖1示出了一個(gè)處理器陣列;圖2示出了一個(gè)樹(shù)結(jié)構(gòu);圖3示出了一個(gè)處理器;圖4示出了一個(gè)路由器電路;圖5示出了另一個(gè)路由器電路的消息部分;圖6示出了另一個(gè)路由器電路的握手部分。
圖1示出了一個(gè)具有主計(jì)算機(jī)10、處理器12的陣列(為了清晰起見(jiàn)只有一個(gè)標(biāo)注了參考數(shù)字)以及路由器電路16、18、19的電路。處理器經(jīng)由最近鄰居連接14(為了清晰起見(jiàn)只有一個(gè)標(biāo)注了參考數(shù)字)來(lái)進(jìn)行連接的。主計(jì)算機(jī)10經(jīng)由樹(shù)結(jié)構(gòu)中的路由器電路16、18、19連接到處理器12。
圖2示出了該樹(shù)結(jié)構(gòu)的組織圖(在這個(gè)圖中省去了最近鄰居連接14)。該樹(shù)結(jié)構(gòu)具有由路由器電路16、18、19構(gòu)成的若干層。主計(jì)算機(jī)10連接到根路由器電路19,該根路由器電路19又連接到四個(gè)下一較低層次的路由器電路18,該路由器電路18又各自連接到四個(gè)下下一層次的路由器電路16(為了清晰起見(jiàn)只有一個(gè)標(biāo)注了參考數(shù)字),該路由器電路16又各自連接到四個(gè)處理器12,所述處理器12形成該樹(shù)結(jié)構(gòu)的最低層次上的葉子。
圖3示出了處理器12的實(shí)施例。該處理器包含處理電路20(該電路可以包含諸如算術(shù)邏輯單元、指令存儲(chǔ)器、程序計(jì)數(shù)器等功能元件)、寄存器堆22、存儲(chǔ)器24、輸出單元26和許多輸入單元28a-d。處理電路20具有連接到寄存器堆22的操作數(shù)讀取輸入端和結(jié)果輸出端。輸入單元28a-d的輸入端用于從鄰近的處理器(未示出)接收操作數(shù),并且其連接到寄存器堆22,從而處理電路20能夠從輸入單元28a-d讀取操作數(shù)。處理電路20的結(jié)果輸出端和輸出選擇輸出端21一起連接到輸出單元26。輸出單元26的輸出端用于將操作數(shù)輸出到各個(gè)相鄰的處理器(未示出)。存儲(chǔ)器24連接到處理電路20,從而處理電路20能夠?qū)Υ鎯?chǔ)器24進(jìn)行尋址,以便從存儲(chǔ)器24讀取數(shù)據(jù)或向其寫(xiě)入數(shù)據(jù)。存儲(chǔ)器24具有一個(gè)輸入和輸出端25,用于連接到路由器電路之一(未示出)。
在操作中,處理器12執(zhí)行指令的程序。可用指令集包括從輸入單元28a-d接收來(lái)自所選擇的鄰近處理器12的操作數(shù)的指令。該指令集還包括經(jīng)由輸出單元26將操作數(shù)的結(jié)果輸出到所選擇的鄰近處理器12的指令。這樣的指令的一個(gè)實(shí)例是“LOAD A,B”,其中A是要傳送的操作數(shù)的寄存器地址,而B(niǎo)是標(biāo)識(shí)要將來(lái)自寄存器A的操作數(shù)傳送到的鄰居的虛擬寄存器地址。這樣的LOAD指令可以用傳統(tǒng)的取數(shù)、譯碼、執(zhí)行、寫(xiě)指令循環(huán)來(lái)加以執(zhí)行。應(yīng)該理解,這種類(lèi)型的通信是完全本地的向一個(gè)鄰近處理器12的寫(xiě)入不影響任何其它處理器12。
路由器電路16、18、19用于將消息從主計(jì)算機(jī)10通信到處理器12。一個(gè)典型的消息包含該消息所打算送給的處理器12的地址A,后面是消息凈荷數(shù)據(jù)。該地址優(yōu)選包含與標(biāo)識(shí)各個(gè)處理器12所必需的一樣多的位。在陣列由64個(gè)處理器12構(gòu)成的情況下,該地址優(yōu)選包含六個(gè)位。
圖4示出了路由器電路的一個(gè)實(shí)例。該路由器電路包括多路分配器40和用于存儲(chǔ)地址的開(kāi)頭兩位的兩位寄存器42。兩位寄存器42控制多路分配器40,該多路分配器40將所接收到的消息路由至它的輸出端中的一個(gè),這個(gè)輸出端是通過(guò)所述兩位進(jìn)行選擇的。
在操作中,主計(jì)算機(jī)10將消息發(fā)送到根路由器電路19。根路由器電路19從消息的地址A中提取開(kāi)頭兩位,并使用這兩位來(lái)控制下一層次的路由器電路18的選擇,其中,根路由器電路19有選擇地將所述消息,優(yōu)選的是沒(méi)有地址A的開(kāi)頭兩位的消息傳輸至所選擇的路由器電路18。
所選擇的下一層次的路由器電路18接收該消息,并提取消息的原始地址A的第三和第四位(如果根路由器電路19已扣留地址A的最初的開(kāi)頭兩位,那么就是該地址的開(kāi)頭兩個(gè)所接收到的位)。所選擇的下一層次的路由器電路18又使用這兩位來(lái)控制下下層次的路由器電路16的選擇,下一層次的路由器電路18有選擇地將消息,優(yōu)選的是沒(méi)有該地址A的開(kāi)頭兩位(最初是第三和第四位)的消息傳輸至所選擇的路由器電路16。
類(lèi)似地,所選擇的最低層次的路由器電路16從原始地址中提取第五和第六位,使用這些位來(lái)控制選擇一個(gè)處理器12,并將該消息傳輸至所選擇的處理器12,其中該消息用于將數(shù)據(jù)寫(xiě)入到存儲(chǔ)器24中(例如,在標(biāo)準(zhǔn)緩沖區(qū)中,或在由該消息中的另一個(gè)地址所尋址的位置中)。
應(yīng)該理解,在每一路由器電路16、18、19中使用地址A的前兩位并且傳輸剩余的位只是一個(gè)有利的實(shí)施例,其使得使用一致的路由器電路16、18、19成為可能,且緩沖信息的需求最小。在不偏離本發(fā)明的情況下,路由器電路16、18、19可以使用該地址的位的其它子集來(lái)控制路由。優(yōu)選地,在特定層次上的所有路由器電路16、18、19使用來(lái)自該地址的相同的位,但是甚至這個(gè)也不是必需的只要主計(jì)算機(jī)10提供適當(dāng)?shù)牡刂罚涂梢缘竭_(dá)任何處理器12。代替除去已經(jīng)使用的位,可以傳輸所有的位,在這種情況下,可以對(duì)在不同層次上的路由器加以編程,以使用該地址的不同位,或者路由器可以重新排列這些位(例如,對(duì)這些位進(jìn)行移位,并將在消息一端移出的位在另一端移回進(jìn)來(lái))。
在支持組播通信的更進(jìn)一步的實(shí)施例中,該消息具有掩碼M,可以為每一地址位,或?yàn)橛傻刂肺凰鶚?gòu)成的對(duì)、或由地址位所構(gòu)成的更大的組提供各自的掩碼。當(dāng)設(shè)置了掩碼時(shí),路由器電路16、18、19將相應(yīng)的地址位視為“不理會(huì)”,并且將該消息傳給由所述地址位的不同值所尋址的所有下一較低的路由器電路或處理器12。因此,例如,通過(guò)提供三個(gè)掩碼,可以將在每一層次上的路由器電路16、18、19設(shè)置為廣播至所選擇的較低層次的路由器電路或處理器,或者廣播至全部的路由器電路或處理器。例如,在掩碼為011的情況下,根路由器電路19將該消息發(fā)送給所選擇的路由器電路,但是所有較低層次的路由器電路都將該消息傳輸給所有較低層次的電路,從而十六個(gè)處理器被尋址。
應(yīng)該理解,圖1和2中所示的體系結(jié)構(gòu)僅僅是作為實(shí)例而給出的。并不是所有處理器12都必需連在同一層次上處理器可以代替任何路由器電路連在該樹(shù)結(jié)構(gòu)上。這是可以做到的,例如如果處理器的數(shù)量不是二的冪。原則上,處理器可以與一個(gè)以上的路由器電路相連(該處理器具有多個(gè)輸入端)。因此處理器可以具有一個(gè)以上的地址。代替一比四的路由器電路,可以使用其它分支比(優(yōu)選的是二的冪,例如一比二或一比八)。
可以采用不同形狀或大小的其它區(qū)域,而不是將由處理器構(gòu)成的2×2塊連到路由器電路。
在另外的實(shí)施例中,處理器12被設(shè)置來(lái)通過(guò)路由器電路向上發(fā)送另外的消息。來(lái)自處理器12的另外的消息包含地址,該地址可以選擇另一處理器12和/或主計(jì)算機(jī)10。這個(gè)實(shí)施例的路由器電路基本上包括兩個(gè)部分,一個(gè)用于消息的向下傳輸(朝著處理器12),而一個(gè)用于向上傳輸(離開(kāi)處理器12)。此外,提供交叉連接用于將另外的消息從上部傳給下部。下部大體上與在前面描述的相似。路由器電路的上部與下部相似,只是采用多路復(fù)用器來(lái)從所選擇的較低層次的路由器電路或處理器12傳送另外的消息,而不是將消息分發(fā)給較低層次的路由器電路或處理器的多路分配器40。交叉連接被設(shè)置來(lái)檢查向上傳送的另外的消息是不是對(duì)由路由器電路“服務(wù)”的處理器尋址(即,可以通過(guò)向下傳送消息而到達(dá)的)。如果是這樣的話(huà),則該另外的消息被送到下部,并如前所述那樣加以傳輸。對(duì)于該另外的消息來(lái)說(shuō),可以使用與向下的消息相同類(lèi)型的地址。但是在一個(gè)實(shí)施例中,使用了與處理器相關(guān)的地址。例如,如果源的地址包含位(a0,a1,a2,…)而目的地的地址包含位(b0,b1,b2,),那么該另外的消息的相對(duì)地址C就是(a0+b0,a1+b1,a2+b2,…),其中“+”表示異或。在這種情況下,通過(guò)驗(yàn)證在相對(duì)地址C中所有供較高層次的路由器電路使用的地址位都是零,就可以在路由器電路中檢測(cè)該消息是否應(yīng)該從向上的傳輸交換(cross over)到向下的傳輸。當(dāng)路由器電路向上傳送該另外的消息時(shí),它改變對(duì)應(yīng)于路由器電路或處理器12的選擇的那些地址位,其中從所選擇的路由器電路或處理器12接收所述另外的消息。
例如,如果具有地址010111的處理器12將另外的消息傳輸給地址為011001的處理器,那么相對(duì)地址C就是001110。剛一接收到地址C,較低層次的路由器電路16就確定C的前四位不是零,因此在修改最后兩位之后將該另外的消息傳輸給下一較高層次的路由器電路18,從而該地址變成C’=001101。下一較高層次的路由器電路18確定C的前兩位是零,因此在修改中間的由位構(gòu)成的對(duì)C”=001001之后,將該另外的消息轉(zhuǎn)為發(fā)送成向下傳輸。這個(gè)地址的最后四位現(xiàn)在用來(lái)控制向下的路由。以這種方式,僅需要使路由器適合于它所在的層次,而不用適合于它服務(wù)的矩陣部分。
優(yōu)選地,使用仲裁機(jī)構(gòu)來(lái)保證消息不沖突。原則上,在設(shè)置了處理器和主計(jì)算機(jī)的程序從而不會(huì)出現(xiàn)沖突的消息時(shí),這不是必需的。在那種情況下,一旦檢測(cè)到任何消息就可以傳送它(例如,通過(guò)傳輸來(lái)自不同的源的消息信號(hào)的邏輯OR,并且如果沒(méi)有消息的話(huà),使消息信號(hào)為邏輯零)。
但是,優(yōu)選地,至少對(duì)來(lái)自主計(jì)算機(jī)10和來(lái)自處理器12的消息之間的沖突進(jìn)行檢測(cè)和仲裁,例如通過(guò)將優(yōu)選權(quán)給予來(lái)自主計(jì)算機(jī)10的消息。這使得可以與處理器中運(yùn)行的程序無(wú)關(guān)地發(fā)送來(lái)自主計(jì)算機(jī)10的消息。在進(jìn)一步的實(shí)施例中,對(duì)來(lái)自處理器12的消息之間的沖突也進(jìn)行仲裁。這使得可以運(yùn)行程序的任意組合。仲裁電路是與向上和向下的路徑以及交叉耦合平行地設(shè)置的??梢允褂萌魏沃俨脵C(jī)構(gòu),諸如例如常規(guī)的請(qǐng)求和確認(rèn)的握手此類(lèi)的。在這個(gè)實(shí)施例中,處理器12和主計(jì)算機(jī)10在應(yīng)該發(fā)送一消息的時(shí)候斷言一請(qǐng)求信號(hào),仲裁器(a)選擇應(yīng)該回答的請(qǐng)求,(b)向該消息的目的地傳輸該請(qǐng)求,(c)從目的地接收該請(qǐng)求的確認(rèn),(d)將該確認(rèn)傳輸回源頭。當(dāng)然可以使用其它已知類(lèi)型的仲裁結(jié)構(gòu),諸如菊鏈(daisy-chained)仲裁,或諸如12C總線(xiàn)中使用的那樣的等等。
圖5和6示出了一路由器電路的實(shí)施例的部分,該路由器電路使用了請(qǐng)求和確認(rèn)的握手?;旧蠄D5示出了該路由器電路的消息部分,而圖6則示出了握手部分。這兩個(gè)部分具有相似的結(jié)構(gòu),具有兩個(gè)平行的路徑,一條從上到下而一條從下到上,以及這兩條路徑之間的交叉(cross over)。
圖5包括圖4中所示的部件多路分配器40和兩位的寄存器42。來(lái)自?xún)晌患拇嫫?2的選擇信號(hào)由A表示。此外,圖4示出了用于多路傳輸“來(lái)自下面”-即來(lái)自較低層次的路由器電路或處理器的消息的第一多路復(fù)用器50。地址檢測(cè)器52,檢測(cè)來(lái)自下面的消息的地址是不是對(duì)由該路由器所服務(wù)的區(qū)域內(nèi)的處理器進(jìn)行尋址,如果是這樣的話(huà)就生成信號(hào)C,以使該消息交換(cross-over)。第二多路分配器54用于在信號(hào)D的控制下將來(lái)自下面的消息傳送給第二多路復(fù)用器56或較高層次的路由器電路。第二多路復(fù)用器56將來(lái)自較高層次的路由器電路或中央處理器的“從上面”接收的消息多路傳輸?shù)蕉嗦贩峙淦?0和兩位寄存器42。
圖6示出了該路由器電路的握手部分。這個(gè)部分包含第一握手多路復(fù)用電路60,該電路具有與“下面”的處理器和路由器電路的握手接口。如果必要的話(huà),握手多路復(fù)用電路60在未完成的請(qǐng)求之間進(jìn)行仲裁,確認(rèn)獲勝的請(qǐng)求,在請(qǐng)求已獲勝的信號(hào)線(xiàn)B上生成繼續(xù)(follow on)請(qǐng)求和信號(hào)。信號(hào)線(xiàn)B控制輸入端,消息是通過(guò)圖5的第一多路復(fù)用器50從該輸入端傳送的。請(qǐng)求多路分配器64由圖5的交換選擇信號(hào)C來(lái)加以控制,它將繼續(xù)請(qǐng)求傳送給“上面的”路由器電路或使其交換到第二握手多路分配電路66(應(yīng)該明白,可以延遲地生成所述繼續(xù)請(qǐng)求,以允許消息的地址被分析以生成信號(hào)C)。
如果有必要的話(huà),第二握手多路分配電路66在未完成(outstanding)的交換請(qǐng)求和來(lái)自上面的請(qǐng)求之間進(jìn)行仲裁,確認(rèn)獲勝的請(qǐng)求,在請(qǐng)求已獲勝的信號(hào)線(xiàn)D上生成進(jìn)一步的繼續(xù)請(qǐng)求和信號(hào)。信號(hào)D控制第二多路復(fù)用器56。該進(jìn)一步的繼續(xù)請(qǐng)求被傳送至第二握手多路分配器68,其將所述進(jìn)一步的繼續(xù)請(qǐng)求傳送至用于所選擇的路由器電路的“來(lái)自上面的”握手的握手輸入端,所述選擇的路由器電路是通過(guò)來(lái)自?xún)晌患拇嫫?2的信號(hào)A來(lái)加以選擇的(再一次,可以有延遲地生成所述進(jìn)一步的繼續(xù)請(qǐng)求,以允許從該消息生成信號(hào)C)。多路復(fù)用器64和多路分配器60、68經(jīng)由所選擇的握手連接以相互相反的方向傳送請(qǐng)求和確認(rèn)信號(hào)。這些握手電路60、66、68本身是已知的。
到現(xiàn)在應(yīng)該可以認(rèn)識(shí)到,本發(fā)明提供了一種非常規(guī)則的結(jié)構(gòu),該結(jié)構(gòu)在集成電路布圖的自動(dòng)生成期間可以容易地加以縮放。在設(shè)計(jì)階段,根據(jù)應(yīng)用來(lái)選擇處理器矩陣的規(guī)模。放置處理器,且連接鄰近的處理器。根據(jù)處理器的數(shù)量來(lái)選擇樹(shù)結(jié)構(gòu)中的層次的數(shù)量(可任選的是根據(jù)該矩陣的寬度和長(zhǎng)度的最大值)。為每一層次添加路由器電路,并且路由器電路連接到較低和較高層次上的路由器電路,或者連接到處理器12或主計(jì)算機(jī)10。如果路由器電路消去或重新排列地址位,從而相關(guān)位總是在該消息中的同一位置上,那么路由器電路就甚至不需要根據(jù)使用它的層次來(lái)加以適應(yīng)。
權(quán)利要求
1.一種集成數(shù)據(jù)處理電路,包括以二維矩陣的方式設(shè)置的可編程處理器(12),在該矩陣中每一個(gè)處理器(12)具有與它的鄰近處理器(12)的專(zhuān)用操作數(shù)傳輸連接;包括路由器電路(16,18,19)的通信結(jié)構(gòu),該路由器電路以樹(shù)狀結(jié)構(gòu)的方式彼此分層地耦合并與所述處理器分層地耦合,所述處理器(12)形成該樹(shù)狀結(jié)構(gòu)的葉節(jié)點(diǎn),所述路由器電路(16,18,19)被設(shè)置來(lái)有選擇地經(jīng)由穿過(guò)該樹(shù)狀結(jié)構(gòu)的路徑,將具有地址的消息從根路由器電路(19)路由至被尋址的處理器(12),所述路由器電路(16,18,19)各自在該地址的控制下選擇該路徑的一部分。
2.如權(quán)利要求1所述的集成數(shù)據(jù)處理電路,每個(gè)所述處理器(12)支持經(jīng)由所述專(zhuān)用操作數(shù)傳輸連接中所選擇出一個(gè)來(lái)傳輸命令的操作數(shù)的命令。
3.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其中該地址包含多個(gè)位,每一個(gè)路由器電路(16,18,19)被設(shè)置來(lái)選擇所述位的一個(gè)片段,所述路由器電路(16,18,19)僅根據(jù)該片段中的位來(lái)控制到所述樹(shù)狀結(jié)構(gòu)中的直接后繼路由器電路(16,18,19)和/或處理器的路由,沿著從所述根路由器電路(19)到各個(gè)處理器的每一條路徑的后繼路由器電路(16,18,19)各自選擇不同的片段。
4.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其中每一個(gè)特定路由器電路(16,18,19)與該矩陣中的一個(gè)區(qū)域相關(guān),該區(qū)域包含通過(guò)該樹(shù)狀結(jié)構(gòu)與所述特定路由器電路(16,18,19)直接或間接耦合的那些處理器(12),與任何在層次上較高的路由器電路(18,19)相關(guān)的在層次上較高的區(qū)域被分成在層次上較低的路由器電路(16,18)的空間上分離的后繼區(qū)域,所述在層次上較低的路由器電路(16,18)直接連接到所述在層次上較高的路由器電路(18,19)。
5.如權(quán)利要求4所述的數(shù)據(jù)處理電路,其中該樹(shù)狀結(jié)構(gòu)形成四叉樹(shù),每一個(gè)路由器電路與在層次上較低的四個(gè)路由器電路(16,18)和/或處理器(12)耦合,將所述較高的區(qū)域分成與所述在層次上較低的四個(gè)路由器電路(16,18)和/或處理器中相應(yīng)的一個(gè)相關(guān)的四個(gè)區(qū)域。
6.如權(quán)利要求5所述的數(shù)據(jù)處理電路,其中該地址包含多個(gè)位,每一個(gè)路由器被設(shè)置來(lái)選擇由所述位中的兩個(gè)位構(gòu)成的片段,該路由器電路僅根據(jù)該片段中的所述位來(lái)控制到該樹(shù)狀結(jié)構(gòu)中的直接后繼路由器電路(16,18)和/或處理器(12)的路由,沿著從所述根路由器電路(19)到各個(gè)處理器(12)的每一條路徑的后繼路由器電路各自選擇不同的片段。
7.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其中所述路由器電路(16,18,19)還被設(shè)置來(lái),在朝向所述根路由器電路(19)的第一方向上經(jīng)由穿過(guò)該樹(shù)狀結(jié)構(gòu)的第一子路徑,從所述處理器(12)中的特定第二處理器,對(duì)具有所述處理器(12)中的特定第一處理器的進(jìn)一步地址的進(jìn)一步消息進(jìn)行路由,直到該進(jìn)一步的消息到達(dá)服務(wù)于被尋址的所述處理器中的所述第一處理器的路由器電路(16,18,19),隨后交換到朝向所述處理器(12)中的所述第一處理器的、經(jīng)由穿過(guò)該樹(shù)狀結(jié)構(gòu)的第二子路徑的傳輸,所述路由器電路(16,18,19)在該進(jìn)一步的地址的控制下選擇所述第一和第二子路徑。
8.如權(quán)利要求7所述的數(shù)據(jù)處理電路,該數(shù)據(jù)處理電路包括仲裁電路(60,66),各自與所述路由器電路(16,18,19)中相應(yīng)的一個(gè)相關(guān),所述仲裁電路被設(shè)置來(lái)對(duì)來(lái)自所述根路由器電路(19)的消息和交叉上的所述進(jìn)一步的消息之間的沖突進(jìn)行仲裁。
9.如權(quán)利要求8所述的數(shù)據(jù)處理電路,其中該仲裁電路(60,66)被設(shè)置來(lái)對(duì)來(lái)自不同的所述處理器的所述進(jìn)一步消息之間的沖突進(jìn)行仲裁。
10.如權(quán)利要求1所述的數(shù)據(jù)處理電路,包括公共控制單元,被設(shè)置來(lái)將處理中使用的參數(shù)發(fā)送至在消息中所選擇的一個(gè)處理器(12)。
11.一種制造集成電路的方法,該方法包括選擇處理器(12)的二維矩陣的尺寸;利用設(shè)計(jì)計(jì)算機(jī)生成在該矩陣中對(duì)所述處理器(12)進(jìn)行布圖的指令;利用所述設(shè)計(jì)計(jì)算機(jī)生成對(duì)在該矩陣中的相鄰處理器(12)對(duì)之間的專(zhuān)用操作數(shù)傳輸連接進(jìn)行布圖的指令;利用所述設(shè)計(jì)計(jì)算機(jī)自動(dòng)生成指令來(lái)對(duì)路由器電路(16,18,19)進(jìn)行布圖,所述路由器電路以樹(shù)狀結(jié)構(gòu)的方式彼此分層地耦合并與所述處理器(12)分層地耦合,所述處理器(12)形成該樹(shù)狀結(jié)構(gòu)的葉節(jié)點(diǎn),所述路由器電路(16,18,19)被設(shè)置來(lái)有選擇地經(jīng)由穿過(guò)該樹(shù)狀結(jié)構(gòu)的路徑,將具有地址的消息從根路由器電路(19)路由至被尋址的處理器(12),所述路由器電路(16,18,19)各自在該地址的控制下選擇該路徑的一部分,所述設(shè)計(jì)計(jì)算機(jī)選擇該樹(shù)狀結(jié)構(gòu)中路由器電路(16,18,19)的層次的數(shù)量;根據(jù)所生成的布圖來(lái)制造所述集成電路。
全文摘要
一種集成數(shù)據(jù)處理電路包含可編程處理器的矩陣。在該矩陣中每一個(gè)處理器(12)具有到它鄰近處理器(12)的專(zhuān)用操作數(shù)傳輸連接,典型地是用于傳送傳輸命令的操作數(shù)。附加的樹(shù)通信結(jié)構(gòu)包含彼此分層地相連或與處理器分層地相連的路由器電路(16,18,19)。處理器(12)形成該樹(shù)結(jié)構(gòu)的葉節(jié)點(diǎn),路由器(16,18,19)被設(shè)置來(lái)有選擇地經(jīng)由穿過(guò)該樹(shù)結(jié)構(gòu)的路徑,將具有地址的消息從根路由器電路(19)路由至被尋址的處理器(12),該路由器電路(16,18,19)在該地址的控制下各自選擇該路徑的一部分。
文檔編號(hào)G06F15/173GK1849598SQ200480025715
公開(kāi)日2006年10月18日 申請(qǐng)日期2004年8月20日 優(yōu)先權(quán)日2003年9月9日
發(fā)明者緬諾·M·林德韋, 埃德溫·J·范達(dá)倫 申請(qǐng)人:皇家飛利浦電子股份有限公司