專利名稱:數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)傳輸方法及設(shè)備。
背景技術(shù):
傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)典型地支持兩種通信方式。第一種通信方式是 一對(duì)一通信,其消息是從單一的源發(fā)送至單一的目的地。第二種通信 方式是廣播通信,其消息是從單一的源發(fā)送至連接到網(wǎng)絡(luò)中的所有其 他單元。
在由神經(jīng)元互連而成的神經(jīng)系統(tǒng)中,神經(jīng)元之間典型地有非常高
的連通性。通常情況下, 一個(gè)特定的神經(jīng)元從1,000至IO,OOO個(gè)其他
神經(jīng)元中接受數(shù)據(jù),并向相似數(shù)量的神經(jīng)元輸出數(shù)據(jù)。前面提到的兩 種通信方式都不能理想地適用于神經(jīng)系統(tǒng)。若使用一對(duì)一通信方式,
則需要發(fā)送大量消息。特別地,若一個(gè)神經(jīng)元向1,000個(gè)其他神經(jīng)元 傳輸數(shù)據(jù),則需要1,000條消息。若使用廣播通信方式,則消息將被
發(fā)送給所有其他神經(jīng)元。這也是不希望的,因?yàn)橄⒈话l(fā)送至比其 所需送達(dá)目的地更多的目的地,將浪費(fèi)大量的帶寬。
作為替代,多播通信機(jī)制會(huì)更理想。在多播通信中,消息從單一 的源傳輸至多個(gè)接收者,而不是所有可能的接收者。多播通信在神經(jīng) 系統(tǒng)中特別受到關(guān)注,盡管目前的多播通信技術(shù)還不能理想地適用于 神經(jīng)應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的是避免或消除至少一部分上述問(wèn)題。 根據(jù)本發(fā)明,提供了一種在多個(gè)互連的單元之間傳輸數(shù)據(jù)的方法。
該方法包括從第一單元接收到消息,所述消息包括路由關(guān)鍵字(routing key);處理所述路由關(guān)鍵字以標(biāo)識(shí)多個(gè)所述互連的單元;以 及向經(jīng)標(biāo)識(shí)的多個(gè)所述互連的單元傳輸數(shù)據(jù),其中處理所述路由關(guān)鍵 字包括通過(guò)使用所述路由關(guān)鍵字進(jìn)行查找操作而嘗試定位路由字
(routing word),所述多個(gè)所述互連的單元是使用所述路由字進(jìn)行標(biāo) 識(shí)的。
因此,本發(fā)明提供了一種數(shù)據(jù)傳輸方法,其中數(shù)據(jù)傳輸至哪些單 元是基于在消息中接收到的路由關(guān)鍵字來(lái)選擇的。例如,路由關(guān)鍵字 可能采用傳輸該消息的單元的標(biāo)識(shí)符的形式,在這種情況下,傳輸該 消息的單元的標(biāo)識(shí)就用于確定數(shù)據(jù)傳輸至哪些單元。
傳輸至經(jīng)標(biāo)識(shí)的多個(gè)互連的單元的數(shù)據(jù)可能包含接收的消息。實(shí) 際上,傳輸?shù)臄?shù)據(jù)可能與接收的消息相同。接收的消息可能包含數(shù)據(jù) 有效載荷。然而,需注意的是,在本發(fā)明的神經(jīng)實(shí)現(xiàn)中,接收的消息 典型地僅包含路由關(guān)鍵字,該路由關(guān)鍵字被認(rèn)為是一種神經(jīng)"釘",因 此不需要更多的數(shù)據(jù)。
處理路由關(guān)鍵字可能包含通過(guò)使用路由關(guān)鍵字進(jìn)行查找操作而嘗 試定位路由字。然后可使用路由字來(lái)選擇經(jīng)標(biāo)識(shí)的多個(gè)互連的單元。 若嘗試不成功,則可使用缺省數(shù)據(jù)來(lái)確定數(shù)據(jù)傳輸至哪些單元。特別 地,可使用缺省數(shù)據(jù)來(lái)標(biāo)識(shí)至少一個(gè)互連的單元。
路由字可以有針對(duì)每一個(gè)連接的單元的比特,各比特的狀態(tài)確定 了是否將數(shù)據(jù)傳送至一個(gè)互連的單元。這就是說(shuō),當(dāng)在一個(gè)與N個(gè)單 元相連的單元處實(shí)施該數(shù)據(jù)傳輸方法時(shí),可使用N比特路由字,每個(gè) 比特代表N個(gè)單元中的一個(gè)。查找操作可包括將路由關(guān)鍵字與同各路 由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較。路由關(guān)鍵字可包括多個(gè)比特,且這些 比特的任一子集可用于至少部分比較操作??舍槍?duì)每一個(gè)關(guān)鍵字獨(dú)立 地確定所使用的比特。這就是說(shuō),每一個(gè)關(guān)鍵字可具有一個(gè)相關(guān)的掩 碼,該掩碼用于確保路由關(guān)鍵字中僅有特定的比特被用于査找操作。 可使用逐比特的邏輯與操作將該掩碼同路由關(guān)鍵字相結(jié)合。
在本發(fā)明的優(yōu)選實(shí)施例中,第一單元及經(jīng)標(biāo)識(shí)的多個(gè)互連的單元 與第二單元相連接,本方法在第二單元處實(shí)施。
上述方法可由硬件實(shí)現(xiàn)。
7本發(fā)明進(jìn)一步提供了一種數(shù)據(jù)載體,載有計(jì)算機(jī)可讀的程序代碼, 配置用于使計(jì)算機(jī)實(shí)施上述方法。還提供了一種計(jì)算機(jī)設(shè)備,包括存 儲(chǔ)處理器可讀的指令的程序存儲(chǔ)器,以及配置用于讀取并執(zhí)行存儲(chǔ)于 程序存儲(chǔ)器的指令的處理器。處理器可讀的指令包括控制處理器實(shí)施 上述方法的指令。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種用于在多個(gè)互連的單元之 間傳輸數(shù)據(jù)的設(shè)備。該設(shè)備包括從第一單元接收消息的裝置,此消 息包括路由關(guān)鍵字;處理路由關(guān)鍵字,通過(guò)使用所述路由關(guān)鍵字進(jìn)行 查找操作而嘗試定位路由字以標(biāo)識(shí)多個(gè)互連的單元的裝置,所述多個(gè) 所述互連的單元是使用所述路由字進(jìn)行標(biāo)識(shí)的;以及向經(jīng)標(biāo)識(shí)的多個(gè) 互連的單元傳輸數(shù)據(jù)的裝置。
本發(fā)明也提供了用于在多個(gè)互連的單元之間傳輸數(shù)據(jù)的設(shè)備,該 設(shè)備包括接收器接口,配置用于從第一單元接收消息,所述消息包 括路由關(guān)鍵字;處理器,配置用于通過(guò)使用所述路由關(guān)鍵字進(jìn)行查找 操作而嘗試定位路由字,使用所述路由關(guān)鍵字來(lái)標(biāo)識(shí)多個(gè)所述互連的 單元,所述多個(gè)所述互連的單元是使用所述路由字進(jìn)行標(biāo)識(shí)的;以及 傳輸器接口,配置用于向所述經(jīng)標(biāo)識(shí)的多個(gè)互連的單元傳輸數(shù)據(jù)。
優(yōu)選地,該設(shè)備包括與RAM通信的聯(lián)合存儲(chǔ)器。該聯(lián)合存儲(chǔ)器 中存儲(chǔ)的數(shù)據(jù)可用于標(biāo)識(shí)多個(gè)互連的單元。這樣使用所述聯(lián)合存儲(chǔ)器, 就可在RAM中定位路由字。
本發(fā)明更進(jìn)一步的方面提供了一種互連單元的網(wǎng)絡(luò),該網(wǎng)絡(luò)配置 用于在單元之間傳輸數(shù)據(jù)。每個(gè)單元包括路由器,且路由器配置如下 從第一單元接收消息,該消息包括路由關(guān)鍵字;處理路由關(guān)鍵字,通 過(guò)使用所述路由關(guān)鍵字進(jìn)行查找操作而嘗試定位路由字以標(biāo)識(shí)多個(gè)互 連的單元,所述多個(gè)所述互連的單元是使用所述路由字進(jìn)行標(biāo)識(shí)的; 以及向經(jīng)標(biāo)識(shí)的多個(gè)互連的單元傳輸數(shù)據(jù)。
現(xiàn)在參照附圖,僅作為示例來(lái)描述本發(fā)明的實(shí)施例,附圖中 圖1是本發(fā)明可在其中實(shí)施的互連單元的網(wǎng)絡(luò)的示意圖。圖2是示出了圖1中一個(gè)單元所包括的路由器的操作的示意圖。 圖3是圖2的路由器所使用的査找表的示意圖。
圖4是與圖3中的查找表結(jié)合使用的路由關(guān)鍵字的示意圖。 圖5是示出了圖2中路由器的進(jìn)一步的詳細(xì)結(jié)構(gòu)的示意圖。 圖6是示出了圖5中路由器的更進(jìn)一步的詳細(xì)結(jié)構(gòu)的示意圖。 圖7是圖1中的單元的一種可能的架構(gòu)的示意圖。
具體實(shí)施例方式
首先參見(jiàn)圖l,圖1示出了16個(gè)互連單元,它們組成了一個(gè)更大的 網(wǎng)絡(luò)的一部分??梢钥吹剑總€(gè)單元都通過(guò)直接通信鏈路與其最鄰近 的8個(gè)相鄰單元相連接。圖l中的每個(gè)單元被配置用于從任一個(gè)與其互 連的單元接收消息,并產(chǎn)生數(shù)據(jù)以傳輸至一個(gè)或多個(gè)與其連接的單元。
互連單元中之間的數(shù)據(jù)傳輸由包含在每個(gè)互連單元中的路由器進(jìn) 行管理。路由器通過(guò)處理在消息中接收到的路由關(guān)鍵字,并根據(jù)該路 由關(guān)鍵字確定數(shù)據(jù)應(yīng)傳輸至哪些單元,來(lái)進(jìn)行處理。例如,在本發(fā)明 的優(yōu)選實(shí)施例中,該路由關(guān)鍵字包含傳輸消息的單元的標(biāo)識(shí)符。標(biāo)識(shí) 符被處理以標(biāo)識(shí)數(shù)據(jù)應(yīng)傳輸至的單元。這在圖2中示意性地示出了。從 圖中可以看到,路由器1從源單元3接收到標(biāo)識(shí)符2。路由器l處理標(biāo)識(shí) 符2以標(biāo)識(shí)三個(gè)目的地單元4、 5、 6。在標(biāo)識(shí)目的地單元4、 5、 6之后, 路由器1則以適當(dāng)消息的形式向目的地單元4、 5、 6傳輸數(shù)據(jù)。這樣, 通過(guò)這種方法,路由器1從源單元3接收消息,其數(shù)據(jù)路由由源單元3 的標(biāo)識(shí)符2確定。
路由器1使用如圖3所示意地示出的一種路由表進(jìn)行路由操作。該 表包含了多個(gè)査找關(guān)鍵字7,將接收的標(biāo)識(shí)符2與其相比較。若接收的 標(biāo)識(shí)符與關(guān)鍵字7中的一個(gè)相匹配,則對(duì)應(yīng)的路由字8就被檢索到并用 于確定數(shù)據(jù)應(yīng)傳輸至的合適的單元。每一個(gè)路由字8是一個(gè)二進(jìn)制數(shù), 具有預(yù)定的比特?cái)?shù)目,每一個(gè)比特代表一條通向另一單元的鏈路。這 就是說(shuō),在圖l的示例中,每個(gè)路由字是8比特?cái)?shù),這8個(gè)比特代表了每 個(gè)單元的8條通信鏈路。然而,在本發(fā)明的許多實(shí)施例中,每個(gè)單元可 以具有多于8條通信鏈路,因此每個(gè)路由字將包含更多比特。若路由字的一個(gè)特定比特被設(shè)置為l,則表示數(shù)據(jù)應(yīng)在由該比特所代表的通信鏈
路上傳輸。相反地,若路由字的一個(gè)特定比特被設(shè)置為o,則表示數(shù)據(jù)
不應(yīng)在由該比特所代表的通信鏈路上傳輸。
上述路由有效地允許了多播通信,在多播通信中,消息是從哪個(gè) 單元接收到的,該單元就確定了要向哪些單元傳輸數(shù)據(jù)。然而,當(dāng)使 用一個(gè)非常龐大的互連單元的網(wǎng)絡(luò)時(shí),圖3所示的路由表將非常龐大。 因此,當(dāng)使用單芯片實(shí)現(xiàn)圖l中的每個(gè)單元時(shí),將路由表裝入該芯片就 變得不可能或至少非常昂貴。因此可以進(jìn)行多種優(yōu)化。例如,應(yīng)注意, 網(wǎng)絡(luò)中任一單元中的路由器所包含的路由表僅需要包含與符合以下條 件的標(biāo)識(shí)符相關(guān)的關(guān)鍵字的條目該標(biāo)識(shí)符的從其源至其所有目的地 的路由經(jīng)過(guò)、產(chǎn)生于或終結(jié)于該單元。
另外,或作為選擇,在圖3的查找表未能為特定標(biāo)識(shí)符提供匹配 的情況下,每個(gè)單元可實(shí)現(xiàn)缺省路由。例如,當(dāng)消息中包含的標(biāo)識(shí)符 不能匹配圖3的表中的任何一個(gè)關(guān)鍵字時(shí),只將數(shù)據(jù)傳輸至與接收該消 息的鏈路正好方向相反的鏈路上的單個(gè)單元。
此外,經(jīng)常需要以相同方式處理消息標(biāo)識(shí)符組。這就是說(shuō),從多 個(gè)單元接收到的消息可能都需要產(chǎn)生至網(wǎng)絡(luò)中相同的單元集合的數(shù)據(jù) 傳輸。這可以通過(guò)在進(jìn)行查找操作時(shí)忽略消息標(biāo)識(shí)符中的一些比特而 有效實(shí)現(xiàn)。這就是說(shuō),在進(jìn)行查找操作時(shí)消息標(biāo)識(shí)符中的一些比特將 被作為"無(wú)關(guān)"比特來(lái)對(duì)待。現(xiàn)參照?qǐng)D4描述一種使用這樣的"無(wú)關(guān)"比特 的實(shí)施例。
參照?qǐng)D4,示意了一個(gè)16比特的路由關(guān)鍵字。這16比特形成了3個(gè) 邏輯部分。第一部分9包含兩個(gè)比特,表示這16個(gè)比特共同代表了一種 特定類型的路由數(shù)據(jù)。在一個(gè)實(shí)施例中,當(dāng)使用圖3的路由表來(lái)實(shí)現(xiàn)上 述的多播通信時(shí),這兩個(gè)比特值為"00"。值"01", "10"和"11"分別用 于表示 一對(duì)一路由,其中剩余的14比特代表數(shù)據(jù)應(yīng)傳輸至的地址;
廣播路由,其中不需要剩余的14比特;以及路由器采用的某種其他路
由算法。
當(dāng)?shù)谝徊糠种禐?00,,時(shí),路由關(guān)鍵字的第二和第三部分10和11用 于通過(guò)使用圖3的查找表進(jìn)行査找操作而進(jìn)行路由。然而,在本發(fā)明描述的實(shí)施例中,只有組成第二部分10的6個(gè)比特用于査找操作,組成第 三部分U的其余8個(gè)比特在當(dāng)前路由器用于路由目的時(shí)被忽略。這就是 說(shuō),只有第二部分10的比特確定數(shù)據(jù)傳輸至哪些單元,而第三部分ll 的比特在適當(dāng)情況下用于確定網(wǎng)絡(luò)中其它單元的其它路由。第三部分 ll的比特可由網(wǎng)絡(luò)中后續(xù)單元使用一種更細(xì)化的查找表進(jìn)行部分處 理,或選擇性地由后續(xù)單元進(jìn)行軟件處理。
可以看到,當(dāng)實(shí)施路由操作時(shí),僅考慮第二部分io (而不考慮第 三部分ll)的圖3路由表的優(yōu)化帶來(lái)了顯著的益處。否則,在該較小的 例子中,路由表將需要16,384個(gè)條目(即214),而不是64個(gè)條目(即26)。
如圖4所示,可以看到6個(gè)相鄰的比特組成了第二部分10,而8個(gè) 相鄰的比特組成了第三部分ll。第二和第三部分并不必須由相鄰的比 特構(gòu)成。例如,在進(jìn)行查找操作時(shí),可以決定第二部分ll中的最高比 特12也被忽略。在這種情況下,該最高比特12就成了第三部分11的一 部分,在査找操作中不使用。類似地,比特13可能在査找操作中被考 慮,相應(yīng)地,比特13就成了第二部分10的一部分。這就是說(shuō), 一般而 言,為了減小路由表的大小,僅考慮標(biāo)識(shí)符中的一些比特,被考慮和 不被考慮的比特位于路由關(guān)鍵字中的任何位置。
現(xiàn)在對(duì)包含如圖3所示的査找表的路由器1進(jìn)行進(jìn)一步詳細(xì)描述。 應(yīng)注意, 一般而言,路由器是一種聯(lián)合(內(nèi)容-地址)存儲(chǔ)器,基于每 一個(gè)條目都具有可編程掩碼(mask),以正確處理上述的路由關(guān)鍵字 中的第二和第三部分IO、 11。這個(gè)聯(lián)合存儲(chǔ)器與保存有用于實(shí)施路由 操作的路由字的傳統(tǒng)存儲(chǔ)器相連接。該聯(lián)合存儲(chǔ)器的實(shí)現(xiàn)可以使用任 何傳統(tǒng)技術(shù),如VLSICAM單元或哈希編址的RAM。
現(xiàn)參照?qǐng)D5和圖6,對(duì)路由器的結(jié)構(gòu)進(jìn)行描述。參照?qǐng)D5,如上所 述,可以看到路由器3包含聯(lián)合存儲(chǔ)器14和查找RAM 15。 一般而言, 如箭頭16所示,將如上所述類型的路由關(guān)鍵字提供給聯(lián)合存儲(chǔ)器。然 后該聯(lián)合存儲(chǔ)器通過(guò)將聯(lián)合存儲(chǔ)器中的每一個(gè)關(guān)鍵字與出現(xiàn)的路由關(guān) 鍵字進(jìn)行比較而實(shí)施查找操作。如箭頭17所示,聯(lián)合存儲(chǔ)器輸出該操 作所產(chǎn)生的成功或失敗。若產(chǎn)生成功的結(jié)果,就從査找RAM 15中得 到合適的路由字,并如箭頭18所示將其輸出?,F(xiàn)將參照?qǐng)D6,對(duì)路由器l的結(jié)構(gòu)及其操作進(jìn)一步詳細(xì)描述,該圖
示意了聯(lián)合存儲(chǔ)器14的兩個(gè)條目以及査找RAM 15中相應(yīng)的兩個(gè)條 目。聯(lián)合存儲(chǔ)器中的第一個(gè)條目包含掩碼19、掩碼選通(gating) 20、 關(guān)鍵字21及比較器22。如箭頭18所示,提供路由關(guān)鍵字(例如上面討 論過(guò)的源單元的標(biāo)識(shí)符),并與掩碼19一道傳送給掩碼選通20。掩碼選 通20是一系列的與門,進(jìn)行所提供的路由關(guān)鍵字與掩碼19之間的逐比 特與操作。
掩碼19經(jīng)配置以正確路由關(guān)鍵字中的"無(wú)關(guān)(don't care)"比特。 例如,若路由關(guān)鍵字具有如圖4所示的形式,其14個(gè)最低比特組成了路 由關(guān)鍵字的可操作部分,則提供形式為11111100000000的14比特掩碼。 可以看到,進(jìn)行該掩碼與圖4中的路由關(guān)鍵字的逐比特邏輯與操作將保 留路由關(guān)鍵字可操作部分中最高的6個(gè)比特的狀態(tài),而將8個(gè)最低比特 設(shè)置為0。通過(guò)確保關(guān)鍵字21的8個(gè)最低比特被設(shè)置為0,該方法有效實(shí) 現(xiàn)了所需的"無(wú)關(guān)"策略。
掩碼選通20實(shí)施的逐比特與操作的結(jié)果連同與聯(lián)合存儲(chǔ)器中該 條目相關(guān)聯(lián)的關(guān)鍵字21—道被輸出至比較器22。若比較成功,則讀取 査找RAM 15中存儲(chǔ)的與聯(lián)合存儲(chǔ)器中的所述條目相關(guān)聯(lián)的路由數(shù)據(jù) 23,并如箭頭18所示將其輸出。
之前對(duì)圖6的描述關(guān)注聯(lián)合存儲(chǔ)器14中的單一條目及查找RAM 15中的相關(guān)聯(lián)條目。圖6中還示出了聯(lián)合存儲(chǔ)器14中的另一條目,包含 掩碼19a、掩碼選通20a、關(guān)鍵字21a及比較器22a。然而,可以認(rèn)識(shí)到, 聯(lián)合存儲(chǔ)器實(shí)際上包含大量具有相同結(jié)構(gòu)的其它條目。從圖6可以看 出,若比較器22、 22a生成了一個(gè)成功結(jié)果,則其輸出傳送至或門24, 或門24將如箭頭17所示,產(chǎn)生成功/失敗數(shù)據(jù)。也就是說(shuō),如果一個(gè)比 較成功,則相應(yīng)比較器將'T'傳送至或門24,相應(yīng)地,輸出17將以"1" 表示一個(gè)成功結(jié)果。若沒(méi)有一個(gè)比較器輸出'T',或門24的輸出將為 "0"。箭頭17所示的成功/失敗的輸出可以用于如上所述的在失敗情況
下觸發(fā)缺省路由行為。
之前對(duì)圖5和圖6的描述關(guān)注適合于特定路由關(guān)鍵字的數(shù)據(jù)定位。 可以認(rèn)識(shí)到,在實(shí)施這一處理之前,聯(lián)合存儲(chǔ)器必須合理配置以存儲(chǔ)合適的數(shù)據(jù)?,F(xiàn)描述這樣的處理,首先參照?qǐng)D5。 一般地,箭頭25、 26
表示的控制信號(hào)表示是否應(yīng)將關(guān)鍵字或掩碼寫入聯(lián)合存儲(chǔ)器,接下來(lái)
如箭頭26所示,提供合適的數(shù)據(jù)。將出現(xiàn)的數(shù)據(jù)寫入聯(lián)合存儲(chǔ)器14中 的地址,該地址由箭頭27表示的地址數(shù)據(jù)確定。箭頭27表示的地址數(shù) 據(jù)進(jìn)一步標(biāo)識(shí)了査找RAM 18的條目,意味著可以提供由箭頭28表示 的合適的控制信號(hào),以允許將箭頭29表示的數(shù)據(jù)(以路由字的形式) 寫入査找RAM 15。
圖6示出了圖5的寫配置的進(jìn)一步細(xì)節(jié)??梢钥吹?,箭頭27表示的 地址被傳送至寫地址解碼器30,地址解碼器30選擇聯(lián)合存儲(chǔ)器14中的 合適的條目。聯(lián)合存儲(chǔ)器14的每個(gè)單元接收25a、 25b、 25c、 25d所表 示的控制信號(hào),以表示是否寫入關(guān)鍵字?jǐn)?shù)據(jù)或掩碼數(shù)據(jù)。接下來(lái),如 箭頭26所示,將要被寫入的數(shù)據(jù)提供給聯(lián)合存儲(chǔ)器的合適的單元,并 存儲(chǔ)在聯(lián)合存儲(chǔ)器中當(dāng)前寫入被啟用的單元中。
從圖6可以進(jìn)一步看出,寫地址解碼器30選擇了如箭頭29所示提 供的路由數(shù)據(jù)將被寫入的查找RAM 18的單元。
在圖6中,路由器被示為針對(duì)聯(lián)合存儲(chǔ)器14和査找RAM 15具有單 個(gè)寫地址解碼器。這種情況并不是必需的。例如,假定在成功的情況 下,準(zhǔn)確地說(shuō)一個(gè)比較器將為出現(xiàn)的路由關(guān)鍵字生成一個(gè)比特,則比 較器集合輸出將是一個(gè)(1, N)碼(即準(zhǔn)確地一個(gè)比特被設(shè)置為'T, 而N-1個(gè)比特被設(shè)置為"0")。該(l, N)碼可用于高效地對(duì)查找RAM 15 進(jìn)行尋址。
再次參照?qǐng)D6,應(yīng)注意到,給聯(lián)合存儲(chǔ)器中每個(gè)條目提供掩碼使 得對(duì)于聯(lián)合存儲(chǔ)器中不同條目可以實(shí)現(xiàn)不同的"無(wú)關(guān)"策略。在本發(fā)明 的備選實(shí)施例中,單一的"無(wú)關(guān)"策略可以應(yīng)用于聯(lián)合存儲(chǔ)器的全部條 目。在這樣的實(shí)施例中,單一的掩碼被存儲(chǔ)并傳送至所有條目的掩碼 選通。
之前的描述關(guān)注路由器在互連單元網(wǎng)絡(luò)中的單元間路由數(shù)據(jù)。然 而,本發(fā)明也適用于在單元內(nèi)的路由。例如,現(xiàn)在參照?qǐng)D7,圖7示出 了圖l中所示一個(gè)單元的合適的結(jié)構(gòu)??梢钥闯?,在路由器l之外,所 示的單元包含監(jiān)控處理器31,負(fù)責(zé)該單元的全面管理。另外,為每個(gè)接收消息的通信鏈路提供了接收器接口32(g卩,在圖l網(wǎng)絡(luò)中的每個(gè)單
元中將提供8個(gè)接收器接口)。接收器接口32將數(shù)據(jù)傳送至判決器33, 判決器33負(fù)責(zé)將從接收器接口32接收到的消息提供給路由器1。將消息 傳送給路由器的順序由判決器33確定,但是,若假定消息是獨(dú)立路由 的,則消息傳送的順序并不重要。接下來(lái),路由器l按照之前所述的方 式實(shí)施路由,將數(shù)據(jù)路由至單元中的簇處理器(fascicle processor) 34 或傳輸器接口35。應(yīng)注意,每一個(gè)簇處理器34都被配置為實(shí)現(xiàn)形成神 經(jīng)網(wǎng)絡(luò)的一部分的多個(gè)神經(jīng)元(即神經(jīng)束)。然而,處理器34可以采取 任何合適的形式,不必須實(shí)現(xiàn)多個(gè)神經(jīng)元。針對(duì)數(shù)據(jù)可能在其上傳輸 的每個(gè)鏈路都提供一個(gè)傳輸器接口35 (g卩,在圖l中的網(wǎng)絡(luò)的每個(gè)單元 中提供8個(gè)傳輸器接口)。這樣,可以看到,路由器l不僅向所示單元內(nèi) 的處理器路由數(shù)據(jù),也向網(wǎng)絡(luò)中的其他單元路由數(shù)據(jù)。簇處理器34可 以生成路由器l處理的消息,其處理方式同處理由互連單元接收到的消 息一樣。
根據(jù)本發(fā)明的路由和通信方法在神經(jīng)元互相通信的神經(jīng)系統(tǒng)中 尤其具有可應(yīng)用性。這樣的系統(tǒng)需要本發(fā)明所提供類型的高效的多播
通信。這樣的系統(tǒng)可以使用具有圖7所示形式的單元來(lái)實(shí)現(xiàn),其中包含 在每個(gè)單元內(nèi)的每一個(gè)簇處理器34都實(shí)現(xiàn)多個(gè)上述神經(jīng)元??梢哉J(rèn)識(shí) 到,在這樣的情況下,每個(gè)祌經(jīng)元有各自的標(biāo)識(shí)符。這些神經(jīng)元標(biāo)識(shí) 符可以被用做路由關(guān)鍵字。實(shí)際上,可以認(rèn)識(shí)到,路由關(guān)鍵字可以采 取任何方便的形式。這就是說(shuō),路由關(guān)鍵字可以采取神經(jīng)元、處理器 或單元的標(biāo)識(shí)符的形式。實(shí)際上,在本發(fā)明的備選實(shí)施例中,使用其 他的路由關(guān)鍵字。
可以認(rèn)識(shí)到,必須定義在本發(fā)明的實(shí)施例中使用的路由表。路由 表可使用外部軟件來(lái)配置。例如,在本發(fā)明的神經(jīng)實(shí)現(xiàn)中,提供描述 神經(jīng)元互連的神經(jīng)網(wǎng)列表,然后將神經(jīng)元映射到處理器以確定路由表 條目。這一處理和FPGA配置類似。在映射過(guò)程中必須考慮到如路由 表大小和帶寬限制等的資源限制。當(dāng)生成了合適的路由表時(shí),可以使 用參考圖6所述的方法將其寫入。
對(duì)靜態(tài)應(yīng)用,路由表是固定的。然而,可以在系統(tǒng)運(yùn)行時(shí)允許本地處理器修改路由表。這允許對(duì)發(fā)展過(guò)程進(jìn)行建模,如在基于神經(jīng)的 系統(tǒng)中。當(dāng)然必須小心實(shí)施在系統(tǒng)操作過(guò)程中修改路由表,以確???是能夠得到所希望的路由。
本發(fā)明的優(yōu)選實(shí)施例已經(jīng)描述如上。然而,可以認(rèn)識(shí)到,在不背 離由所附權(quán)利要求限定的本發(fā)明的精神和范圍的前提下,可以對(duì)這些 實(shí)施例進(jìn)行各種修改。例如,本發(fā)明描述了使用發(fā)出消息的單元的標(biāo) 識(shí)符來(lái)確定路由。這并不是必需的。發(fā)出消息的單元可以在消息中提 供在査找操作中用做路由關(guān)鍵字的任何合適的數(shù)據(jù)。
另外,在圖l示出了單元的二維排列,其中每個(gè)單元都與其最鄰 近的8個(gè)單元相連接。然而,可以認(rèn)識(shí)到,許多其他的配置都是可能的。 例如,可以使用三維排列,事實(shí)上,在每個(gè)單元有8個(gè)連接的網(wǎng)絡(luò)中, 可以使用一種四維超立方體互連構(gòu)造。
權(quán)利要求
1.一種在多個(gè)互連單元之間傳輸數(shù)據(jù)的方法,該方法包括從第一單元接收消息,所述消息包括路由關(guān)鍵字;處理所述路由關(guān)鍵字以標(biāo)識(shí)多個(gè)所述互連單元;以及向經(jīng)標(biāo)識(shí)的所述多個(gè)互連單元傳輸數(shù)據(jù);其中,處理所述路由關(guān)鍵字包括通過(guò)使用所述路由關(guān)鍵字進(jìn)行查找操作而嘗試定位路由字,所述查找操作包括將所述路由關(guān)鍵字同與各路由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較,所述路由關(guān)鍵字包含多個(gè)比特,且在至少一部分所述比較中僅使用這些比特的子集,多個(gè)所述互連單元是使用所述定位的路由字進(jìn)行標(biāo)識(shí)的。
2. —種在多個(gè)互連單元之間傳輸數(shù)據(jù)的方法,該方法包括 從第一單元接收消息,所述消息包括路由關(guān)鍵字; 處理所述路由關(guān)鍵字以標(biāo)識(shí)多個(gè)所述互連單元;以及 向經(jīng)標(biāo)識(shí)所述多個(gè)互連單元傳輸數(shù)據(jù);其中,處理所述路由關(guān)鍵字包括通過(guò)使用所述路由關(guān)鍵字進(jìn)行査 找操作而嘗試定位路由字,所述多個(gè)所述互連單元是使用所述路由字 進(jìn)行標(biāo)識(shí)的,所述路由字具有針對(duì)多個(gè)互連單元中的每一個(gè)的比特, 且各比特的狀態(tài)確定了是否將數(shù)據(jù)傳送到所述互連單元之一 。
3. 如權(quán)利要求2所述的方法,其中,所述路由字具有針對(duì)與所述 互連單元中的一個(gè)特定單元相連的多個(gè)單元中的每一個(gè)單元的比特。
4. 如權(quán)利要求2或3中所述的方法,其中,所述查找操作包括將所 述路由關(guān)鍵字同與各路由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較。
5. 如權(quán)利要求4所述的方法,其中,所述路由關(guān)鍵字包括多個(gè)比 特,且在至少一部分所述比較中僅使用這些比特的子集。
6. 如權(quán)利要求1或5所述的方法,其中,針對(duì)每一個(gè)所述關(guān)鍵字, 獨(dú)立地確定所述比特子集。
7. 如權(quán)利要求l、 5或6所述的方法,其中,選擇所述比特子集包 括在進(jìn)行所述比較之前,將所述路由關(guān)鍵字中除了所述比特子集之外的其他比特設(shè)置為預(yù)定的狀態(tài)。
8. 如權(quán)利要求7所述的方法,其中,設(shè)置所述路由關(guān)鍵字的比特 包括在所述路由關(guān)鍵字和預(yù)定掩碼之間進(jìn)行逐比特邏輯與操作。
9. 如之前任一權(quán)利要求所述的方法,其中,所述路由關(guān)鍵字包括 所述第一單元的標(biāo)識(shí)符。
10. 如之前任一權(quán)利要求所述的方法,其中,若所述嘗試不成功, 則使用缺省數(shù)據(jù)來(lái)標(biāo)識(shí)至少一個(gè)互連單元。
11. 如先前任一權(quán)利要求所述的方法,其中,所述第一單元和經(jīng) 標(biāo)識(shí)的所述多個(gè)互連單元與第二單元相連接,并且在所述第二單元處 執(zhí)行所述方法。
12. 如先前任一權(quán)利要求所述的方法,所述傳輸數(shù)據(jù)包括所述消必o
13. 如先前任一權(quán)利要求所述的方法,其中,所述消息包括數(shù)據(jù) 有效載荷。
14. 一種數(shù)據(jù)載體,載有計(jì)算機(jī)可讀程序代碼,使計(jì)算機(jī)執(zhí)行如 先前任一權(quán)利要求所述的方法。
15. —種計(jì)算機(jī)設(shè)備,包括程序存儲(chǔ)器,存儲(chǔ)處理器可讀指令;處理器,配置為讀取并執(zhí)行存儲(chǔ)在所述程序存儲(chǔ)器中的指令; 其中,所述處理器可讀指令包括控制處理器以執(zhí)行如權(quán)利要求 1 13中任一權(quán)利要求所述的方法的指令。
16. —種用于在多個(gè)互連單元之間傳輸數(shù)據(jù)的設(shè)備,該設(shè)備包括 從第一單元接收消息的裝置,所述消息包括路由關(guān)鍵字; 處理所述路由關(guān)鍵字,通過(guò)使用所述路由關(guān)鍵字進(jìn)行查找操作而嘗試定位路由字以標(biāo)識(shí)多個(gè)所述互連單元的裝置,所述查找操作包括 將所述路由關(guān)鍵字同與各路由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較,所述路由 關(guān)鍵字包括多個(gè)比特,且在至少一部分所述比較中僅使用這些比特的 子集,多個(gè)所述互連單元是使用所述路由字進(jìn)行標(biāo)識(shí)的;以及 向經(jīng)標(biāo)識(shí)的所述多個(gè)互連單元傳輸數(shù)據(jù)的裝置。
17. —種用于在多個(gè)互連單元之間傳輸數(shù)據(jù)的設(shè)備,該設(shè)備包括接收器接口,被配置為從第一單元接收消息,所述消息包括路由 關(guān)鍵字;處理器,被配置為通過(guò)使用所述路由關(guān)鍵字進(jìn)行查找操作而嘗試 定位路由字以標(biāo)識(shí)多個(gè)所述互連單元,所述査找操作包括將所述路由 關(guān)鍵字同與各路由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較,所述路由關(guān)鍵字包括 多個(gè)比特,且在至少一部分所述比較中僅使用這些比特的子集,多個(gè) 所述互連單元是使用所述路由字進(jìn)行標(biāo)識(shí)的;以及傳輸器接口,被配置為向經(jīng)標(biāo)識(shí)的所述多個(gè)互連單元傳輸數(shù)據(jù)。
18. 如權(quán)利要求17所述的設(shè)備,其中,所述處理器被配置為基于存儲(chǔ)在聯(lián)合存儲(chǔ)器中的數(shù)據(jù)來(lái)標(biāo)識(shí)所述多個(gè)所述互連單元。
19. 如權(quán)利要求18所述的設(shè)備,其中,所述聯(lián)合存儲(chǔ)器被配置為 定位存儲(chǔ)在相關(guān)RAM中的路由字。
20. 如權(quán)利要求18或19所述的設(shè)備,其中,所述聯(lián)合存儲(chǔ)器包括 多個(gè)條目,每一個(gè)條目均包括關(guān)鍵字,且所述處理器被配置為使用所 述聯(lián)合存儲(chǔ)器的關(guān)鍵字來(lái)標(biāo)識(shí)所述多個(gè)所述互連單元。
21. 如權(quán)利要求20所述的設(shè)備,其中,所述聯(lián)合存儲(chǔ)器的每一個(gè) 條目進(jìn)一步包括掩碼,以及將所述路由關(guān)鍵字與所述掩碼進(jìn)行組合以標(biāo)識(shí)所述多個(gè)互連單元。
22. —種互連單元的網(wǎng)絡(luò),所述互連單元被配置為在彼此之間傳輸數(shù)據(jù),每個(gè)互連單元均包括路由器,且所述路由器配置如下 從第一單元接收消息,所述消息包括路由關(guān)鍵字; 處理所述路由關(guān)鍵字,通過(guò)使用所述路由關(guān)鍵字進(jìn)行査找操作而 嘗試定位路由字以標(biāo)識(shí)多個(gè)所述互連單元,所述查找操作包括將所述 路由關(guān)鍵字同與各路由字相關(guān)聯(lián)的關(guān)鍵字進(jìn)行比較,所述路由關(guān)鍵字 包括多個(gè)比特,且在至少一部分所述比較中僅使用這些比特的子集, 多個(gè)所述互連單元是使用所述路由字進(jìn)行標(biāo)識(shí)的;以及 向經(jīng)標(biāo)識(shí)的所述多個(gè)互連單元傳輸數(shù)據(jù)。
23. —種用于在多個(gè)互連單元之間傳輸數(shù)據(jù)的設(shè)備,該設(shè)備包括 從第一單元接收消息的裝置,所述消息包括路由關(guān)鍵字; 處理所述路由關(guān)鍵字,通過(guò)使用所述路由關(guān)鍵字進(jìn)行査找操作而嘗試定位路由字以標(biāo)識(shí)多個(gè)所述互連單元的裝置,多個(gè)所述互連單元 是使用所述路由字進(jìn)行標(biāo)識(shí)的,所述路由字具有針對(duì)多個(gè)互連單元中 的每一個(gè)的比特,且各比特的狀態(tài)確定了是否將數(shù)據(jù)傳送到所述互連單元之一;以及向經(jīng)標(biāo)識(shí)的所述多個(gè)互連單元傳輸數(shù)據(jù)的裝置。
全文摘要
一種在多個(gè)互連的單元之間傳輸數(shù)據(jù)的方法。該方法包括從第一單元接收消息,所述消息包括路由關(guān)鍵字加上可選的數(shù)據(jù)有效載荷。處理該路由關(guān)鍵字以用于標(biāo)識(shí)多個(gè)所述互連的單元,將數(shù)據(jù)傳輸至經(jīng)標(biāo)識(shí)的所述多個(gè)單元。
文檔編號(hào)H04L12/18GK101322358SQ200680043232
公開(kāi)日2008年12月10日 申請(qǐng)日期2006年11月21日 優(yōu)先權(quán)日2005年11月26日
發(fā)明者斯蒂芬·拜拉姆·弗伯 申請(qǐng)人:考科尼散思有限公司