TW577205B - Method and apparatus for routing packets that have multiple destinations - Google Patents
Method and apparatus for routing packets that have multiple destinations Download PDFInfo
- Publication number
- TW577205B TW577205B TW091122466A TW91122466A TW577205B TW 577205 B TW577205 B TW 577205B TW 091122466 A TW091122466 A TW 091122466A TW 91122466 A TW91122466 A TW 91122466A TW 577205 B TW577205 B TW 577205B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- item
- routing
- patent application
- scope
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 50
- 239000000872 buffer Substances 0.000 claims abstract description 239
- 238000012545 processing Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 49
- 238000003860 storage Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 241001605695 Pareronia Species 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001449342 Chlorocrambe hastata Species 0.000 description 1
- 241000667922 Ougeinia dalbergioides Species 0.000 description 1
- 241000282373 Panthera pardus Species 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000084978 Rena Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009304 pastoral farming Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
577205 五、發明說明(1) [發明所屬之技術領域] 本發明係有關於電腦和網路系統,且尤甚者,係有關 於在電腦或網路系統中訊包之路由選擇。 [先前技術] 通常,將個人電腦(PCs )和其他形式之電腦系統設計 成環繞在分享式匯流排系統周圍以便存取其記憶體。一個 或多個處理器和一個或多個輸入/輸出(I / 0 )裝置是經由此 分享式匯流排而耦接至記憶體。此I /0裝置可經由I /0橋接 器而耦接至分享式匯流排,此橋接器管理在分享式匯流排 和I /0裝置間之訊息轉移,而處理器通常是直接耦接至分 享式匯流排或經由高速緩衝儲存器層級而耦接至分享式匯 流排。 很不幸地,分享式匯流排系統具有許多的缺點。舉例 而言,因為有許多裝置連接到此分享式匯流排,所以匯流 排通常是以相當低之頻率操作。這多數的附加裝置會表現 出在此匯流排上用於驅動訊號之裝置的高電容性負載,且 此多數的連接點在高頻時會呈現相當複雜的傳輸線模式。 因此,頻率維持於低頻,且因此在分享式匯流排上可獲得 之頻寬相當低。低頻寬會導致無法為在分享式匯流排上增 加更多額外的裝置,因為額外的裝置會對其性能有不良的 影響。 分享式匯流排系統的另一個缺點為其所具有的數目裝 置無法擴充。如上所述,頻寬的大小是固定的(且假如所 增加之額外裝置降低匯流排可操作之頻率則其可能再降
92184.ptd 第5頁 577205 五、發明說明(2) 低)。一旦(直接或間接)連接到匯流排之裝置所需頻寬超 過匯流排可提供頻寬時,當裝置嘗試存取匯流排時會經常 發生拖時間等候之情形。因此,會降低其整體的性能。 藉由使用分散式記憶體系統可解決上述的一個或多個 問題。使用分散式記憶體系統之電腦系統包含有多個節 點。二個或多個節點是連接到記憶體,且這些節點是利用 任何適合的互連系統而互相連接。舉例而言,每個節點可 藉由專線而連接各其他節點。另一方面,每個節點可連接 至固定數目之其他節點,且可選擇將事項處理從第一節點 發送至第二節點的路由,在此第一節點並不是經過一個或 多個中間節點而直接連接至第二節點。為每個節點内所涵 蓋記憶體指定記憶體位址空間。 通常,”節點π為一旦互相連接即可參與事項處理之裝 置。舉例而言,在基於訊包之互連系統中,節點可建構成 能夠與其他節點互相接收和傳送訊包。可使用一個或多個 訊包執行特殊的事項處理。特殊的節點可以是訊包的目的 地,在此狀況下訊息是由節點接收且在此節點内部進行處 理。另一方面,假如此特殊的節點不是該訊包之目的地節 點則可將訊包從源頭節點轉送到目的地節點。 分散式系統所引起的設計挑戰不同於分享式匯流排系 統所引起之設計挑戰。舉例而言,分享式匯流排系統依據 匯流排之仲裁而管理事項處理之起始。因此,公平的仲裁 演算會使得各匯流排的參與者有機會起始事項處理。在匯 流排上事項處理之順序代表執行事項處理之順序(例如,
92184.ptd 第6頁 577205 五、發明說明(3) 為了連貫性)。另一方面,在分散式記憶體系統中,節點 可同時起始多個事項處理且利用互連系統將這些事項處理 傳送到其他節點。因為沒有設置中間機構用於管理事項處 理之起始,所以這些事項處理之間可能具有邏輯衝突(例 如,送到相同位址之事項處理的連貫性衝突)且可能遭遇 源頭衝突(例如,在各節點内沒有可供使用之緩衝器空 間)。因此,非常難確保訊息能夠平穩地持續在節點間傳 送,且避免發生拖時間等候之現象(在此因為事項處理間 之衝突而無法完成事項處理)。 藉由使用虛擬通道且為虛擬通道配置不同的源頭,可 減少衝突的發生。一般而言,”虛擬通道’’為用於在各處理 節點間起始事項處理之通訊路徑(例如,藉由包含有指令 之發送訊包)。各虛擬通道與其他虛擬通道間可以是源頭 獨立的(亦即,在實際傳輸中,一個虛擬通道内流動之訊 包通常不會因為另一個虛擬通道内出現或消失一個訊包而 受影響)。不具有邏輯/協定相關之衝突的訊包可群組成一 個虛擬通道。舉例而言,可依據訊包形式為虛擬通道指定 訊包。在相同虛擬通道内之訊包實際上可能會與其他的傳 輸發生衝突(亦即,在相同虛擬通道内之訊包可能遭遇源 頭衝突),但是實際上不會與在不同虛擬通道内之訊包傳 輸發生衝突(因為虛擬通道間是源頭獨立的)。因此,邏輯 衝突是發生在不同虛擬通道内之訊包間。因為遭遇源頭衝 突之訊包不會發生邏輯衝突,且會發生邏輯衝突之訊包不 會發生源頭衝突,所以可達到無拖時間等候現象之操作。
92184.ptd 第7頁 577205 五、發明說明(4) 為了避免發生拖時間等候之現象,虛擬通道必須能夠 進行獨立的程序。假如不能的話,會在訊包間同時發生邏 輯和源頭衝突,因而提供發生拖時間等候之機會。舉例而 言,假設第一個虛擬通道所包含之訊包發出向記憶體控制 器要求數據之請求。為了處理每一個請求,記憶體控制器 會在第二個虛擬通道内發送有關此請求之回應。為了避免 發生拖時間等候之現象,不管是第一虛擬通道或第二虛擬 通道均不能阻擾對方。可是,假如訊包因為記憶體控制器 之佇列(用於接收在第一虛擬通道内之訊包)已滿而無法前 進,則第一虛擬通道將會受阻饒。為了處理在記憶體控制 器之第一虛擬通道佇列内的第一訊包,因此需空出佇列中 用於從第一虛擬通道接收更多訊包之空間,所以可在第二 虛擬通道内送出於第一訊包中請求的回應。假如因為第一 虛擬通道受阻而無法在第二虛擬通道内傳送回應,則會發 生拖時間等候之現象。 除了拖時間等候,另一個考量係發生於當使用虛擬通 道實現基於訊包之系統已經中斷時。假如在節點内之任何 介面(例如,其連接至另一個節點或連接至在節點内如記 憶體控制器等裝置的介面)無法共用在特殊虛擬通道内可 獲得頻寬時可能會發生中斷。系統性能為另一個考量。通 常,最好能夠在傳送’’較新的π訊包之前能夠先傳送”較舊 的”訊包(亦即,哪些已經等待較長時間之需要傳送之訊 包)。為節點介面和裝置間之連接系統實際進行之路由選 擇可能出現額外的問題。通常,最好具有較少和較短的連
92184.ptd 第8頁 577205 五、發明說明(y 接糸統。可是, 他介面互相傳送 此功能可能會在 [發明内容] 在節點内之各界面必須能夠與節點内之其 和接收在各虛擬通道内之訊包。為了達到 節點内導致較複雜的實體連接系統。 方法和系統 點包含有數 從輕接至此 輪出埠,言亥 程邏輯可控 到輪出埠之 制如何為訊 數目的地或 包接收者的 則按路由發 的輪出埠。 於接收訊包 一個目的地 均已發送到 之流量可再 可供使用之 道内是否具 本發明 例。在其中 該等輸入埠 接收訊包。 將訊包輸出 由輸入埠所 —只施例中 網路裝置之 其中一 包。排程邏 有可用於接 數目的地之 僅只有其中 器,則排程 會持續為訊 的地。在某 虛擬通道, 意謂著判斷 之輸入緩衝 提出為訊包 一個實施例 建構成可從 此節點亦可 到其他節點 接收到之訊 ,類似的排 路由。 個輸入埠可 輯可建構成 收訊包之輸 訊包到此至 一個訊包接 邏輯可路由 包選擇路由 些實施例中 且判斷接收 接收者在訊 器。 選擇路由之 中,一個節 其他節點或 包含有許多 或裝置。排 包選擇傳送 程邏輯可控 接收具有多 假如至少訊 入緩衝器, 少其中之一 收者具有用 此訊包到此 直到該訊包 ,經過節點 者是否具有 包的虛擬通 的各種實施 個輸入埠’ 節點之裝置 等輸出埠可 制如何為經 路由。在某 包選擇經過 接收者之訊 #中之一具 送此具有多 ®此’假如 之輪入緩衝 。排程邏輯 其所有的目 化分成幾個 輸入緩衝器 有可供使用 一旦已經按路由發送訊包
92184.ptd
則排程邏輯 會修改用於此
577205
所以路由數據不會將訊包 。以…,排程邏輯;傳达到之 且磷名壬a # ^科了以追蹤那個接 =再:人將訊包傳送給相同的接收 又紅式(scheduler )可a山— 頊 為由節點所接收 =。·接收含有多數目的地之訊包 =用於辨識訊包所有接收者之路由項 日用此路由項目中之數據為訊包進行路 -可包含用於此節點内各可能目的地之 =例如,各輸出埠和/或各裝置或節 訊包之路由 目的地視為 收者已經具 者。舉例而 到之訊包分 時,調度程 目,且排程 由選擇。此 目的地或接 點’其搞接 以便表示哪 者。每次排 時,排程邏 之目的地將 節點包 地或接收者 一個或多個 須按路由發 更少可獲得 要文艨, 接收者 有訊包 言,調 配路由 式會分 邏輯會 路由項 收者位 成從節 一個接 程邏輯 輯會更 是此訊 含有數 上可獲 目的地 送之目 之輸入 收ί收ί包)’且可設定或清除各位元 可此成為多數目的地訊包的 =由傳送訊包至其-個或多個目的地 新目的地位元,所以由路由項的地 包要按路由發送的最後目的地。辨識 個暫存器,各暫存器用於追蹤 得之輪入緩衝器數目。在傳送1各目的 之後,排程邏輯會更新對應於:,至其 的地的計數值,所以此計數值I A包必 緩衝器。 ㈢顯示有 在另一個實施例中,提出按路由傳送訊包之 方法包含有利用輸入埠接收具有兩個或多個接收去。此 δ孔包、決定第一訊包的哪一個接收者具有至少—之第〜 輸入緩衝器以便接收第一訊包、且假二第一 =^個的可用 中一個接收者具有一個可用於接收第一訊包之g的至少其 月’J入緩衝
577205 五、發明說明(7) 器 則按路由傳送此第一訊包至此接收者之一 接收者之第一部分内各接收者具有至少一個 2 ^, 衝器。按路由傳送包含有按路由傳送第_ = = = 出槔的第-部份’,中各輪出槔由輸出琿的第數個; 訊包給各接收者之第一部份。 4份輸出 [實施方式] 以下參照附圖說明本發明之一具體實施 例並不侷限本發明,而可接受各種修正和 该:: 可瞭解的是所顯示之圖式和所提出之特定形式u= 有:足由本發明所附申請專利範圍所定義 :: 之修正、均等和置換。 r 7耗圍 實施例之詳細說明 系統概觀 現參考第1圖,圖中係顯示電腦系統丨〇之一個實施 例。其他實施例亦是可能的且可預期的。在第1圖之實施 例中,電腦系統1 0包含有數個處理節點1 2 A、i 2B、丨2(:和 12D。每一個處理節點均經由包含在各處理節點12A—12D内 之6己憶體控制态1 6 A - 1 6 D而耗接至個別的記體體1 4 a — 1 4 D。 除此之外,處理節點1 2 A - 1 2 D包含有用於在處理節點 1 2 A - 1 2 D間通訊之介面邏輯。舉例而言,處理節點1 2 A包含 有用於與處理節點1 2 B、處理郎點1 2 C、以及另一個處理節 點(未顯示)通訊之介面邏輯。處理節點1 2 B、1 2 C和1 2 D可 包括相似的介面邏輯。處理節點1 2 D則耦接成可藉由介面 邏輯而與輸入/輸出(I/O)裝置20A通訊,且I/O裝置20A可
92184.pid 第11頁 577205 五、發明說明(8) 進一步搞接至第二I/O裝置2〇b。其他的處理从 方式與其他的I/O裝置通訊。另一方面,處理即點可以相同 耦接至I / 0匯流排之I / 0橋接器通訊。 即點亦可與 處理節點12A至12D使用基於訊包之鏈路作 間之通讯鏈路。在本實施例中,此鏈路是由—:处即 的連接線實現(例如,連接線2 4 A係用於將訊勹":方=挫 1 2A傳輸到處理節點i π,而連接線mb則用於J处理二點 理節點1 2B傳輸到處理節點1 2A)。如第1圖中所、3 從处 連接線24C至24H集合可用於在其他處理節點間傳=1 /包他 ίΐΐ可:高速緩衝儲存器相關方式操作以便在處理節點 I ST至,2 = 鏈結構之不相關連方式操作在1 /0裝 置20Α至20Β(及依需要所增加之其他1/〇裝置)間。 個處理節點傳送到另一個處理節點之訊包可通過一
多個中間節點。舉例而言,如第i圖所示,由處理節點f2A 傳送到處理節點丨21)之訊包可能經過處理節點12β或處理節 點12C。可使用任何適合的路由選擇演算以便執行節點間 所需之路由選擇。電腦系統10之其他實施例包含有較第ι 圖所顯示實施例更多或更少的處理節點。
Pa處理節點12A至12D之全部或部分包含有一個或多個處 理器。概括地說,處理節點包含有處理器和記憶體控制器 用於依需要與記憶體和其他邏輯通訊。此處所使用之,,節 點”為一種裝置,一旦互相連接則能夠參與事項處理。 έ己憶體1 4A至1 4D包含有任何適當的記憶體裝置。舉例 而言’記憶體14A至14D包含有一個或多個rambus
92184.ptd 第12頁 577205 五、發明說明(9) DRAMs(RDRAM)、同步 DRAMs(SDRAMs)、 DRAM、靜態 RMA等。 電腦系統1 0之位址空間是由記憶體1 4A至1 4D分割。每個處 理節點1 2 A至1 2 D包含有記憶體對照表用於決定那個位址對 應到記憶體1 4 A至1 4 D的那一個,且因此可決定要將請求特 殊位址之記憶體按路由發送到哪一個處理節點丨2 a至1 2 d。 在一個貫施例中,在電腦系統1 〇内位址之相關點為記憶體 控制器1 6A至1 6D,其耦接至儲存對應於此位址之位元組的 記憶體。記憶體控制器1 6 A至1 6 D包含有控制電路用於與記 憶體14A至14D介接。除此之外,記憶體控制器16人至夏⑽包 含有用於為記憶體請求排序之請求仔列。 一般而言,各節點之介面邏輯包含有緩衝器用於從鍵 路接收訊包和用於緩衝將在鏈路上傳送之訊包。 10可使用任何適合的流程控制機構用於傳送訊包 例而 言,在一個實施例中,各節點儲存在接收端 缓衝器的計數ϋ ’此接收端係位於各介面邏輯二 路的另-端。,匕節點並不會傳送訊包, = 有空閒的緩衝器可儲存訊包。當接收緩衝器因為 前發送之訊包已經空閒,則接收介面邏輯會傳逆二Τ 2 2 送介:邏輯以便指示此緩衝器已經空 構;;:: 配給式系統。 风稱間稱之為 I/O裝置20Α及20Β係標示任何希望之周 而言:"Ο裝置20Α-20Β可包含有網路介面卡、視^舉例 器、聲朝卡、硬碟或軟碟驅動器。 0速 系統界面(SCSI)配接器和電話卡、數=制:、小型電腦 數據機、音效卡、和如
92184.ptd
577205 五、發明說明(ίο) 通用界面匯流排(G P I B )或攔位匯流排介面卡之各種數據揭 取卡。 現參考第2圖,將以處理節點1 2人和1 2 B之方塊圖更詳 細地說明鏈路之一個實施例。其他實施例亦是可行的且是 可預期的。在第2圖之實施例中,連接線24A包含有時脈線 24AA、控制線24AB、和控制/位址/數據匯流排24AC。同樣 地’連接線2 4 B包含有時脈線2 4 B A、控制線2 4 B B、和控制/ 位址/數據匯流排24BC。 時脈線傳送時脈訊號,該時脈訊號為控制線和控制/ 位址/數據匯流排標示取樣點。在一特殊實施例中, 時^訊號之各邊緣(亦即,上升邊緣和下降邊緣)傳送 /控制位兀。因此’在每條連接線之每個時脈專 據 送兩個數據位元。在每條連接線上用於傳送_個 了傳 間在此簡稱為"位元時間"。上述實施例中,每=之時 包含有兩個位元時間。tfl包之傳送可能跨戈:2期 :時間。T依據控制/…數據匯流排之寬 時脈線。舉例而言’在32位S之控制/位址/ ^二個 2中-個時脈線而另-半的控制,位址 排排參 制線則參考另一個時脈線)。 匚机排和控 日控制線係標示在控制/位址/數據匯流排上傳於 為-個位元時間的控制訊包’或一個位:的= ,。可藉由域認控制線而標示控制訊包的位元J二數據 精由解除確認而標示數據訊包的位元時間。 松^,且 付心控制訊包
92184.ptd
577205 五 可 制 據 個 、發明說明(11) 標不其後緊接著數據訊包。數據訊包合 訊包之後。在-個實施例中,其他心制=::應控 訊包之傳送。可藉由在數據訊包傳送 =包可中斷數 位元時間且在確認控制線的同時傳送數線數 制訊包而執行此種中斷。在一個實施二=:間的控 沒有跟隨著數據訊包之控制訊包可中 ;;,表=其後 制線而指示將控制訊包延後:::二以解=;控 線的再確認係表不此控制訊包是連續的。、/、後控制 控制/位址/數據匯流排包含一 '、 據/控制位元。在一個實施例中,一、、且連接線用於傳送數 包含有8、1 6或32條連接線。每個^制^位址/數據匯流排 依據設計的需求使用任何有支援处理希點或I / 0橋接器可 一。其他的實施例可依需要支^之連接線數目的其中之 據匯流排。 交其他大小之控制/位址/數 依據一個實施例,指令/位土 脈線可傳遞反相數據(亦即,邏數據匯流排連接線和時 壓表示,而邏輯〇則以高電壓表/ 1在此連接線上是以低電 可傳遞非反相數據(在此邏輯丨是^ 另一方面,連接線亦 則以低電壓表示)。 < 以高電壓表示,而邏輯0 現參考第3至6圖,圖中顯示 ^ 使用之訊包範例。第3至5圖係$在系統1 0一個實施例中所 示數據訊包。其他的實施例可依=控制訊包而第6圖係顯 義。各訊包是以一系列列舉在:需要使用不同的訊包定 知題為”位元時間”下之位元
577205 五、發明說明(12) 時間表示。訊包的位元時間是依據所列出之位元時間順序 傳送。第3 - 6圖係顯示在8位元控制/位址/數據匯流排應用 中所使用之訊包。因此,每個位元時間包含有8個位元, 其編號為從7到0。圖中沒有值標示於其中之位元可保留給 任何特定訊包,或用於傳送特定訊包的訊息。以虛線標示 之攔位係表示選擇性欄位,在特定形式之所有訊包中可能 不會包含此欄位。 通常,訊包是在兩個節點(傳送訊包之起始節點和接 收此訊包之目的地節點)間通訊。起始節點和目的地節點 可以是不同於事項處理的源頭和目標節點,在此訊包為事 項處理的一部分,或者節點可以是源頭節點或目標節點其 中之一。控制訊包為攜帶與事項處理相關之控制訊息的訊 包。某些控制訊包可能標示其後跟隨有數據訊包。數據訊 包則傳遞對應於此事項處理和對應於特定控制訊包之數 據。 第3圖係顯示訊息訊包(i n f 〇訊包)3 0。 I n f 〇訊包3 0包 含有在八位元鏈路上的四個位元時間。在本實施例中,指 令編碼是在位元時間1内傳送且其包含有6個位元。第4和5 圖中所顯示的各其他控制訊包包括指令編碼是放置在位元 時間1期間的相同位置内。I n f 〇訊包3 0當訊息不包含有記 憶體位址時可用於在處理節點間傳送訊息。除此之外,可 在使用配給式流程控制機構之實施例中利用I n f 〇訊包3 0傳 送空閒緩衝器計數值。 第4圖係顯示請求訊包3 2的一個實施例。請求訊包3 2
92184.ptd 第16頁 577205 五、發明說明(13) 包含有在8位元鏈路上的8個位元時間。在位元時間1期間 傳送指令編碼。在位元時間1期間同時亦傳送源頭單元編 號,而源頭節點編號則在位元時間2期間傳送。節點編號 明確地辨識電腦系統1 0内之處理節點1 2 A至1 2 D的其中之一 且用於經由電腦系統1 0而按路由發送訊包。單元編號則辨 識節點内的哪一個單元為事項處理之源頭(源頭單元編號) 或哪一個為事項處理之目的地(目的地單元編號)。單元包 含有記憶體控制器、快速緩衝貯存區、處理器等。可以選 用之,請求訊包3 2可以包含有在位元時間2内之目的地節 點編號和目的地單元(或就某些其他訊包而言,目標節點 編號及目標單元)。假如包含有目的地節點編號,則用於 按路由傳送訊包至此目的地節點。除此之外,許多請求訊 包可在位元時間3内包含有源頭標籤,其與源頭節點和源 頭單元一起將訊包連結至特殊事項處理,此訊包為此特殊 事項處理的一部分。位元時間5至8係用於傳送受此事項處 理影響之記憶體位址的最高位元。請求訊包3 2可用於起始 事項處理(例如,讀取或寫入事項處理),同時為那些攜帶 有受處理事項影響之記憶體位址的指令發送在執行處理事 項之程序中的請求。一般而言,請求訊包會顯示是由目的 地節點所執行之操作。 可在各種請求訊包内使用訊包3 2内一些未定義欄位以 便傳遞訊包特定訊息。再者,可在一些請求中使用位元時 間4以便傳送受事項處理影響之記憶體位址的最小位元。 第5圖係顯示回應訊包3 4的一個實施例。回應訊包3 4
92184.ptd 第17頁 577205 五、發明說明(14) 包含有指令編碼和目的地節點編號及目的地單元編號。目 的地節點編號辨識回應訊包之目的地節點(此節點在一些 例子中可以是事項處理之源頭節點或目標節點)。目的地 單元編號辨識在目的地節點内之目的地單元。各種形式之 回應訊包可包含有各種額外的訊息。舉例而言,讀取回應 訊包會顯示在其後數據訊包内所提供之讀取數據數量。探 測回應會標示是否所請求區塊之副本已由探測節點保留。 一般而言,在執行沒有要求傳送受事項處理影響之記憶體 位置的事項處理期間指令可使用回應訊包3 4。再者,回應 訊包3 4可用於傳送肯定回應訊包以便終止事項處理。類似 請求訊包3 2,回應訊包3 4可包含有用於各種形式之回應的 源頭節點編號、源頭單元編號、和源頭標籤(其顯示於第5 圖中作為選擇欄位)。 第6圖係顯示數據訊包3 6之一個實施例。數據訊包3 6 包含有第6圖所顯示實施例之8位元鏈路上的8個位元時 間。數據訊包3 6依據所傳送數據的數量可能包含有不同數 目的位元時間。舉例而言,在一個實施例中,區塊包含有 6 4個位元組且因此在8位元鏈路上具有6 4個位元時間。其 他實施例可依需要定義不同大小之區塊。除此之外,無法 快速讀取和寫入之數據的傳送可以在較小的區塊中進行。 以較小區塊傳送數據的數據訊包會使用較少的位元時間。 在一個實施例中,非區塊大小的數據訊包在傳送數據之前 可先傳送數個位元時間的位元組致能以便標示在數據訊包 内哪一個數據位元組是有效的。再者,送回之區塊數據先
92184.ptd 第18頁 377205
疋“求位址之最小位元定址 回剩餘的四字元。在1 予70緊接者再父錯达 有_位a &。 目Λ⑯例中,-細字元可能包含 五、發明說明(15) 第3至6圖係顯示8伋;μ的m 70鏈路用之訊包。1 fi釦q A击 路用之訊包可藉由鏈社b矛3 2位το鏈 匕j稽w硬、、0在第3至6圖中所顯 間而形成。舉例而言,在;(^一 μ於 之連,位兀時 π处勺人女产⑽一仏在16位兀鏈路上之訊包的位元時間 自n ^ +4l太物打一上位兀時間1和2期間所傳送之訊 息。同樣地,在3 2位疋金*放 Αw - β & μ /甘鏈路上之讯包的位元時間1可能包 含有8位兀鏈路上在其位亓眭Μ〗 7 a疋時間1至4期間所傳送之訊息。
下列公式1和2係顯示依攄8办;Α去的> / ^ , 爆8位兀鏈路之位疋時間所形成之 1 6位元鏈路的位元時間1和q 9仞$ μ攸认从一士 s 丄子口 d Z位兀鏈路的位兀時間1。 BTl16[15:0]^BT28[7:〇]| |BTl8[7:〇](1) BTl32[31:0]=BT48[7:〇] I | BT3 8[ 7 : 0 ] | | BT2 8[ 7 : 0 ] | | BT 18 [7:0](2) 現參考第7圖’表38係顯示依據電腦系統丨〇内相關鏈 路之範例貫施例所使用之訊包。其他實施例亦是可行的且 町期待的’其包含有任何其他適合的訊包和指令攔位編碼 之組合。表3 8包含有顯示指定給各指令之指令編碼的指令 瑪攔位、列舉^曰々名稱之指令欄位,和顯示那一個指令使 用哪〆個控制訊包3 0至3 4 (和數據訊包3 6,假如詳細指明)
之訊包形式欄位。 利用 ReadSized, RdBlk, RdblkS或 RdBlkMod等指令的 其中之一可以起始讀取事項處理。ReadSized指令係用於 弈可快速緩衝貯存區之讀取或所讀取之數據大小並非區塊
92184.ptd 第19頁 577205 五、發明說明(16) 大小。將需要士矣 , ^ ^ "買取之數據總數編碼成R e a d S i z e d指令訊 包。右要碩取—柄 a π地々,丄 個區塊’則使用RdB 1 k指令’除非(i )希望 此區塊之副本是π # 人·々"·、, J寫入,在此狀況下則使用RdBlkMod指 令,或(1 1 )雖铁* 1 ., ,,、、、而要區塊之副本但是不需要修改已知之區 塊,在此狀況下目丨 p 4主々#斗、 則使用RdblkS指令。RdblkS指令可用於使 爭古4 I 連組合(例如,以目錄為基礎之關連組合) 之源頭傳送到擁;二,的讀取指令是從起始事項處理 標節點傳送探以應於此區塊之記憶體的目標節點。目 、j礼々(顯不對應於事項處理源頭之探測回 . ,. At’、、,、中的其他節點以便藉由改變在那些節點内之 ^免狀悲:藉由致使包含有區塊更新副本之節點傳送此區 塊到源頭節點而維持相關性。接收探測指令之各節點傳送 ProbeResp回應訊包給源頭節點。假如所探測之節點具有 所讀取數據之更新副本(亦即,壞數據(dirty data)/)',則 該節點傳送RdResponse回應訊包和壞數據。傳送壞數據之 節點亦傳送M e m C a n c e 1回應訊包給目標節點以便企圖取消 傳送目標節點所請求讀取之數據。除此之外,在目標節點 内之記憶體控制器利用RdResponse回應訊包傳送所^求讀 取之數據,此回應訊包之後緊接著於數據訊包中的二據: 假如源頭節點從探測節點接收8(11^30〇1136回應訊包,則使 用所讀取之數據。否則,使用來自目標節點之數^。三旦 在源頭節點内接收到探測回應和讀取的數據,則源頭節點 傳送S r c D ο n w回應訊包至目標節點作為事項處理纟士束之止 定回應。
92184.ptd 第20頁
577205 五、發明說明(17) ' 利用緊接在相對應數據訊包之後的WrSized* v 扣7可起始寫入事項處理。計s丨zed指令係用於非 k I緩衝貯存區之寫入或所寫入之數據大小並非區塊大、速 了維持WrSized指令之相關性,目標節點傳送探测指、人。j ^員不所达回之事項處理目標節點的探測回應)給在:士、 |之各其他節點。因應此探測指令,各探測節點傳送、、、、 ProbeResp回應訊包給目標節點。假如所探測之 J ^ ,1 „f , RdResponse, ^ m ^ ^ 回應。以此方式,將利用WrSized指令更新之 據 泞體控制5以便與由WrSized指令所提供之數據合二回, |憶體控制器在從各探測節點接收到探測回應時會记 TgtDone回應訊包給源頭節點以便提 \ 定回應二而源頭節點則以SrcDonw回應訊包二里、、:束之肯 I換之5 : 内?.速緩衝貯存區中已經由節點修正且已姐置
VicBlk指令中不需要探測。因此,在 備將犧牲區塊數據傳送认$ # _ $…己匕體抆制态準 口0己憶體時,目標記情髀批生丨丨奖你
TgtD〇ne" ^ ^ fi 〇 ^ 則以表示數據已經傳送之SrcD〇n =源1 :, 在V i c B 1 k指今之值1 J π 應匕或表不此數據 在7之傳迗和TgtD〇ne回應訊包之 效之M e m C a n c e 1回癉訊白「办丨l _ 間已丄無 rh + η·扎包(例如,因應干涉探測)來回岸。 丨 Changet〇Dlrty請求訊包可 』木D應 由源頭節點以不可寫人狀能 ’’、、P”、專送以便獲得 用ChangetoDirty指令所起始 可、々可。對利 肀貞處理可彳呆作類似於讀
92184.pid 第21頁 577205 五、發明說明(18) 取操作,除了目择^ _ 向於更新整個區;不萬要送回數據。假如源頭節點傾 是由源頭節點所,指令可用於獲得對不 存區塊之寫入弄可。除了在此種事項處 理中沒有數據傳送到源頭節點外,其操作類似讀取事項處 理。 目標可利用Tgt St art回應表示事項處理已經開始(例 如’用於指揮其後的事項處理)。N 〇 p i n f 〇訊包為不可操 作訊包,其可用於傳送如節點間緩衝器閒置指示之訊息。 Broadcast指令可用於在節點間廣播訊息(例如,廣播指令 可用於为配中斷)。隶後’ sync inf 〇訊包可用於當組織之 同步是需要時(例如,錯誤偵測、重置、起始等) 路由選擇 在如上所述之分散式記憶體電腦系統中,可在節點間 和節點内按路由發送訊包。可刹用流程控制機構處理各節 點間的路由選擇。舉例而言,在配給式流程控制機制中, 傳輸節點可在接收節點内維持一定數量之可供使用緩衝 器。每當接收節點顯示其已經釋放或使用緩衝器時,傳送 節點可更新目前緩衝器總數。每當緩衝器總數顯示所有可 供使用緩衝器均已填充時,傳送節點會停止傳送訊包以便 避免過渡使用在接收節點内之缓衝器。 特定訊包在邏輯上會與其他訊包相衝突(例如,因為 通訊協定的原因或相關性之原因)。假設第一訊包邏輯上 與第二訊包相衝突,所以如果第二訊包實際上會阻饒第— 訊包之傳送則可能會發生拖時間等候之情形(例如,藉由
92184.Pid 第22頁 )/7205 五、發明說明(19) 佔據衝突資源)。為了降低發哇 望所建構之通訊可使邏輯上會^^^气候之機會,故希 在實際上不會發生與其他訊二包發生衝突之訊包 達成此目的的方法之-是為,且反之亦然。 不同的|,處擬,,通道,且所衝突之訊包指定 請 ...... Ά I又难料啡企^ 之關連性)。請求訊包包含有如讀取或、、令等泮 之指令(亦即,請求之接收者會產生回應^應訊包, 有對請求訊包之回應。告知請求和非告\浐求之不同在 告知請求之接收者不需要產生回應(例如,明告妒請求义^ 來自不同虛擬通道之訊包可i=;!在某些實施例V〗 圖中之連接線24)而傳送。❹y 假,相同形式之訊包不可能與邏輯上之 則可依據其指令編石馬為各訊包指定虛擬通道(舉例 =^可參考第顶之指令碼攔位)。在—個實施例中--為汛包指定下列四種不同虛擬通道的其中:廣播 ;:、,回應、和告知之請求。廣播虛擬通道所包含之訊包, 傳达到多數目的I也(例如’作為事項處理之一部分,探糾 訊包則*傳_系…统中之各節•點以便維透缓衡貯存〆 之關連性)。誥龙til紅句,令古L A _ . ' Λ .妓非告♦ 含 於 澤:例
佈者並不期待從告知請求之接收者接收到回) 言’告知請求可應用於支援週邊元件互連(pCI • ,,…心川"、八认〜心〜Ί卞夂連(pL i, enph^ral c〇mp〇nent interc〇nnect)告 八之 #,: 。通吊,請求會導致 σ ·族此請求 告知請求者(就非告知佈二應U播以便服務應〆 与衣而a )凊求已經完成。口
577205 五 、發明說明(20) ^ - -- 傳回任何與請求相關之數據。在此實施例中,某些形式之 ^ (如第3圖=所顯示之訊息訊包)一旦被接收則不再路 由選擇。因為廷些形式之訊包不需路由選擇,Μ以可以藉 由不為其指定虛擬通道而簡化路由選擇系统。可是,這些 未疋的Λ包與已經為其指定虛擬通道之其他訊包相同 會透Ϊ相㈣實體傳送媒體傳送。 四個虛擬通道之實2大部分的說=範!:】中將參考上述 需要選擇不同的虛二:是,注貫與施例可能依據 實施例並不支援告知J道數目和/或群組。舉例而言’有 (廣播、請求、和回,'求。該實施有三個虛擬通道 四個更多的虛擬通道')而非四個。其他的實施例可具有較 互相時Λ等㊣,將虛擬通道建構成可避免源頭 假如一連串的請求^ν午虛擬通道互相阻擾)。舉例而言, 滿的請求仔列時送到記憶體控制器内—個已經填 在請求件列前頭之S求?擬通=被阻擾。為了服務 記憶體控制器必須能豹σ因此空出接收新請求的空間, 拖時間等候,已延;:ίΐ;應和=測…,為了避免 廣播虛擬通道。後之凊求虛擬通道不能阻擾回應和/或 除了要避免拖時間等候,♦八 之路由選擇時,可能有:他:在::土:統中進行訊包 平性(例如,確認每個人 里&二考I可能包含有公 得之頻寬),性能(例如"° /或虛擬通道均能夠存取可獲 如,先按路由發送那些稍早收到的訊
921S4.ptd 第24頁 577205 五、發明說明(21) 包在按路由發送那 ^ . .. P ~稍後收到的訊包),和名文μ 際連接之複雜性。 )和在各節點内實 調度裎 使用分 中一些 之獨立 路由。 滿足公 平性和 用於接 情況, 是屬於 未準備 供使用 擬通道 需考量 訊包, 點可 的其 通道 選擇 所述 關公 有可 此種 訊包 為尚 有可 以虛 而不 收此 郎 些考量 各虛擬 為訊包 可如下 量。有 那些具 假如是 管這些 收。因 地不具 理,所 行排程 介面接 性。 散式緩衝、 °舉例而言 輪入緩衝器 在某些實施 平性、中斷 中斷,集中 收^訊包之輸 貝1J訊包是依 哪一個虛擬 好路由選擇 之輪入緩衝 不會互相阻 该訊包是屬 所以可改善 集中式排程系統以便滿足這 ,各節點介面可能具有用於 且可使用集中式調度程式 例中,利用集中式調度程式 、貫際路由選擇、和性能考 式排程系統可建構成僅能為 入緩衝器的訊包選擇路由。 據其就緒狀態而排程,而不 通道或是由哪一個介面接 之訊包(亦即,訊包的目的 器)可能不會影響排程處 擾。同樣地,因為可單獨進 於那一個虛擬通道及那一個 公平性及降地中斷之可能 有關於性能,集中式排程系統可追蹤各訊包之相關 ,(亦即,各訊包已由節點接收多長時間)。依據各訊包 相關期齡,集中式排程系統可建構成在為較年輕訊包進 路由選擇之前先為舊的訊包進行路由選擇。舉例而言, 旦,特定目的地之某特定虛擬通道具有可供使用之輸入 衝器’則在該虛擬通道内的所有要傳送至該目的地的訊
92184.ptd 第25頁 577205 五、發明說明(22) ' -- 疋疋T排程的利用在該虛擬通道内要傳送至該目的地之 訊包的相對期齡,可辨識這些訊包中最老的訊包,允許最 先按路由發送此最老的訊包且因此可改善其性能。 2者’假如訊包是在分散式輸入緩衝器内緩衝(亦 即,每個介面有一組輸入緩衝器),則可改善在一個節點 内實際的路由選擇。舉例而t,在許多實施例中,不需要 將訊包寫入集中式調度程式中,所以可簡化調度程式之輸 入。同樣地,在一些實施例中,可使用多工器而將訊包發 送至各輸出埠,所以可簡化節點内實際的路由選擇。 第8圖所顯不之節點實施例其集中式調度程式具有用 於各介面之分散式訊包緩衝器。注意在節點内介面和互連 系統的真正實體配置可能與第8圖所顯示連接邏輯不同。 在所顯示實施例中,有六個介面42A至42F(整體係以介面 42表不)。介面42每個均可建構成傳送和接收訊包。有一 些介面42B、j2D、和42F可耦接至在節點内之裝置(例如, CPU主橋接或5己憶體控制器)。這些介面接收由裝置 所產生之訊包且將其傳送到將對其進行處理之裝置。盆他 的^面42Α、42C、和42Ε可耦接成從其他節點接收訊包及 傳运訊包至其他節點。因此,介面1(η)42Β可建構成傳送 訊包給CPU以便進行處理及接收由cpu所產生之訊包,而介 面0 (I 0 ) 4 2 A可建構成從另一個節點傳送和接收節點。 在所顯示實施例中,各介面42可具有相關的控制緩衝 器組合和相關的數據緩衝器組合。舉例而言,由介面4 2 a 所接收之控制和數據訊包會分別儲存在控制緩衝器4 6A和
92184.ptd
577205 五、發明說明(23) 數據緩衝器48A内。為了方便,將控制緩衝器46A至46F之 ,體集合在下文中將簡稱為控制緩衝器4 6,且將數據緩衝 夯48A至4 8F之整體集合在下文中簡稱為數據緩衝器48。通 ¥ ,,制緩衝|§ 4 6可儲存將進行路由選擇之控制訊包(例 如丄凊求、回應、廣播、和告知請求)。數據緩衝器48可 儲子與特殊指令相關之數據訊包。整體而言,控制緩衝器 4 6和數據緩衝器4 8係簡稱為輸入緩衝器4丨。各介面用之指 二和數據緩衝器之的各集合包含有各虛擬通道用之獨立指 1和ί據緩衝器(參照第9圖)。另一方面,指令和/或數據 ,衝器之聯集疋由各虛擬通道之間共同使用。在此實施例 配置!^各虛擬通道之緩衝器數目是規劃成可選擇的。 4 1允路由益54使用集中式調度程式40為儲存在輸入緩衝器 ΡΛ包選擇到節點1 2内各介面4 2的路由。集中式調度 =^ 〇為目前儲存在控制緩衝器4 6内其中之一的各控制訊 之二=,由項目(如果有數據訊包則為控制訊包選擇路由 要且:匕S為相關數據訊包選擇路由,所以調度程式不需 豆^目奶f於各數據訊號之路由項目)。各路由項目包含有 目、肉I ί包之訊息。調度程式控制邏輯60可使用在路由項 而t,、t些訊息決定要為哪一個訊包進行路由選擇。舉例 邊—枚w周度程式控制邏輯6 0可選擇對應於節點内下一個要 疋订路由選遮 ^ 6 0選擇路、擇之訊包的路由項目。一旦調度程式控制邏輯 儲在斜&由項目’則路由器5 4會產生適當的控制訊號致使 出到多工^ 迷擇路由項目之訊包的緩衝器4 6將此訊包輸 夕工益52A。假如所選擇之路由項目亦具有相關的數
第27頁 577205 五、發明說明(24) 據訊包,則路由器5 4亦會產生訊號致使儲存數據訊包之緩 衝器4 8將此訊包輸出到多工器5 2 B。這兩個多工器(整體簡 稱為多工器5 2 )之輸出係分別連接至各介面4 2。路由器5 4 可產生控制訊號用於辨識要將所選擇訊包傳送到哪一個介 面4 2。因應這些訊號的辨識,介面4 2可從多工器5 2接收所 選擇訊包且傳送所選擇訊包給與此介面通訊之節點或裝 置。 如同第3至6圖中之取樣訊包,有些訊包會辨識其將路 由選擇傳送至之節點和單元(例如,裝置)。此目的地辨識 可辨識訊包之最終目的地(例如,在節點X内之記憶體控制 器)。為了能夠處理將按路由傳送經過非其最終目的地之 節點之訊包,各節點包含有目的地寫映單元(未顯示),其 具有使在外側的各目的地寫映至内部節點介面之訊息。舉 例而言,假如訊包之最終目的地是在節點A内且此訊包目 前正按路由傳送經過節點B,則節點B之目的地寫映單元會 確認介面4 2 C為用於此訊包的最佳内部節點目的地,在此 介面42C與節點A(或訊包可通過而到達節點A之另一節點) 之介面通訊。因此,當分配各調度程式之路由項目時,用 於各訊包之内部目的地(相對於最終的外部目的地)可使用 作為在各調度程式路由項目内之目的地。 在所顯示實施例中,各介面4 2可建構成僅當路由器5 4 已經確認該介面為訊包之接收者時才輸出訊包。舉例而 言,路由器5 4可通知介面4 2 B接收由多工器5 2 A所輸出之訊 包。雖然此訊包可能提供給各其他介面,但僅介面4 2 B接
92184.ptd 第28頁 577205 五、發明說明(25) —-- 收此訊包,因為其是由路由器54_認為作為接收者的唯一 介面。一旦介面42B接收到訊包,則介面42β會將訊包輸出 到CPU,其然後會依據在訊包内之指令依次處理訊包。假 如在此具有相關的數據訊包,則數據訊包利用多工器$ Μ 以相同方式按路由發送數據訊包。 可利用多工器5 2使互相連接之介面4 2間的實際路由選 擇變容易。在某些實施例中,各多工器5 2可表示數個多工 器(例如,用於各介面42 )。在這些實施例中,各多數個多 工器5 2之輸出僅可路由選擇至其相對應介面(相對應於將 各多工器之輸出按路由發送至所有的介面)。在一實施例 中’利用每個介面僅具有一個數據路徑之路由選擇機制可 簡化節點内之實際路由選擇。 注意在所顯示實施例中,一次僅能為一個控制訊包進 行路由選擇。其他實施例可允許使需要進行路由選擇之不 同訊包在幾乎相同的時間按指定路徑傳送至各介面4 2。舉 例而言,在一個實施例中,可能具有用於各介面4 2之控制 訊包多工器(類似多工器5 2)。在此實施例中,每次路由器 54執行路由選擇操作時,路由器54會確認提供給各多工器 之控制訊包(假如就緒將傳送之訊包之數目少於所有介面 之數目,則可能不會有訊包提供給一些多工器)。因為各 界面42均具有其本身的多工器,所以可將其建構成接收由 其特殊多工器所提供之各訊包(相對照於所顯示實施例, 在此各介面42依賴路由器54確認其是否為從共用多工器輪 出之訊包所期待的接收者)。
92184.ptd
577205 五、發明說明(26) 第9圖係顯示介面4 2 A的一個實施例及與該介面相關之 控制和數據緩衝器46A和48A(控制和數據緩衝器46A和48A 係統稱為輸入緩衝器4 1)。注意介面4 2 B至4 2 F可與所顯示 之介面42A具有相同結構。在此實施例中,介面42A包含有 接收訊包用之輸入埠4 4。這些訊包可利用另一個節點傳送 到介面42或由與介面42A連接之裝置產生(例如,記憶體控 制器、CPU、或其他此類裝置)。輸入埠44包含有輸入佇列 和/或同步電路5 8以便在其接收到訊包時用於暫時緩衝訊 包和/或使訊包同步。舉例而言,輸入佇列5 8可從另一個 節點接收與第一時脈同步之訊包。在内部,節點可能具 不同的時脈(其可能與第一時脈相位不匹配),而佇列和/ 或同步邏輯58可使節點内訊包之傳送與節點的内部時脈同 〇 旦接收到 輸入緩衝器41 A之適合的哪—個。那些不需按路由傳 -節點内另:個介面的訊包(例如,inf〇訊包)則不會儲存J 輸入缓衝窃^納。舉例而言,假如輸入埠44接收 已更新缓衝器計數(用於介面42A所連接之節點或裝置、 info訊包’ ^輸” 44會傳送已更新緩衝 ^二 54而非將info訊包儲存在輪入緩衝器的其中之—了路由益 介面42A亦包含有輪出埠45。輸出埠45可接收 器52(在第8圖中,出之訊包和由路由器5 二= 訊包。因為可將多工器之輪出提供給各介面(如=控制一 施例中所顯示),所以控制訊號可確認哪-個介面是多工貫
577205 五、發明說明(27) ' - 器52所輸出訊包的真正接收者。舉例而言,路由器具有 連接至各輸出埠45之不同連接線。假如由多工器52A所提 供訊包是傳送到介面42A,則路由器54可在連接至介面42八 :,接線上產生適當的訊號。另一方面,假如路由器54提 供相同的訊號集合給所有介面的輸出埠,則路由哭W可發 出辨識介面42A之確認訊號。如同輸入埠“,二 λ 包含有輸出仵列和/或同步邏輯59。 如圖所示,介面42Α具有其本身 合。這些輸入緩衝器撕分成用=衝;41A集 缓衝器46A和用於儲存數據訊包之數=‘ pi L之控制匕 實施例中’控制訊包很明顯地小於播益 。一 & 之發生率更高。因為大小和頻率包且較數據訊包 和數據訊包設置不同的輸入緩衝芎你=以精由為控制 訊包之控制訊包則將不需到沒有具體指定數據 二= 指定數據訊包之控制訊包,則需 空間和數據緩衝器的空間。為 以”供多數的相對小容量緩衝器, 擬通、ruj制和數據緩衝器之集細分成用於各虛 合。在所顯示實施例中,有用it—個或多個緩衝器集 控制緩衝器集合:請求、告知於韦個不同虛擬通道之四個 CB0可儲存請求,集合⑶可=廄回應、和廣播。集合 子Q應,集合CB2可儲存告
92184.ptd 5772〇5 五、發明說明⑽ 知請求,而集合CB3可儲存廣播。在此亦具有用於三個不 同虛擬通道之三個數據緩衝器之集合:請求、告知請求、 矛口應(在此實施例中’廣播訊包並未包含有數據包, 所以沒有顯示廣播數據訊包)。注意在其他實施例中,廣 播可能具有相關的數據訊包。 輸入緩衝器4 1 A可由緩衝器控制邏輯5 0控制。因應由 輸入埠4 4所接收到之控制訊包(或因應由輸入埠4 4儲存在 輸入緩衝器4 1 A其中之一内之控制訊包),緩衝器控制邏輯 5 0會傳送數據用於確認該訊包是包含由調度程式4 0所配置 之路由項目中。舉例而言,路由項目數據包含有訊包在輸 入缓衝器41 A内(例如,在集合CB0内之緩衝器3)之位置, 訊包(例如,請求)之虛擬通道,是否此訊包具有相關的數 據訊包,且假如具有,則亦包含有該數據訊包之位置(例 如,在集合DB0内之緩衝器1 ),和將按路由發送該訊包到 之目的地介面(例如,介面3)。如先前所述,在訊包標頭 所指定之目的地可在整個系統(例如’在節點X内之記憶體 控制器)内之另一個節點中的裝置而非目前訊包傳送經過 之節點内的裝置確$忍。因此’緩衝裔控制邏輯5 0可建構成 存取路由選擇之訊息’其依據訊包的最終目的地而讀認訊 包要路由選擇之介面。路由選擇訊息可用於指定在調度程 式之訊包路由項目内之目的地。 緩衝器控制邏輯5 0亦可建構成你 乂攸路由哭所 接收之訊 號係用於辨識已經選擇要按規定路綠找 =而言,假如路由器54確認在集合、=送之訊包位置。舉 1J LB〇之第3嫿衝器内的訊
92184.ptd
577205 五、發明說明(29) 包已經排定程序,則緩衝器控制邏輯5 0會導致輸入緩衝器 4 1 A將訊包輸出到多工器5 2 A。 第1 〇圖係顯示路由器5 4的一個實施例。路由器5 4邏輯 上說明包含有輸入緩衝器4丨和用於節點内各介面中之緩衝 器控制邏輯5 0 (雖然這些元件可能實際上是位於各介面4 2 内)°路由器亦包含有數個暫存器6 2和6 4。這些暫存器可 用於實現配 和6 4可儲存 和目前所使 存器6 2可儲 衝器的總數 通道内目前 调度程 衝器計數值 送訊包至與 面連接之節 為了追縱在 已經按路由 的訊包後, 緩衝器目前 然後可將此 6 〇。因應從 調度程式控 目前使用之 給式的流程 與個別其中 用緩衝器數 存與I 4連接 ,而與I 4相 由該節點使 式控制邏輯 。舉例而言 其連接之節 點或裝置具 各介面之目 傳送儲存於 各介面可接 可用於儲存 已更新緩衝 介面42其中 制邏輯6 0可 緩衝器計數 控制機制。 一個介面連 目。舉例而 之節點上用 關的一些暫 用之輸入緩 6 〇可耦接成 ,在配給式 點或裝置的 有可用於接 的地有多少 介面目的地 收已更新緩 來自該介面 器計數值傳 之一接收到 為特定虛擬 暫存器64内 舉例而言, 結之節點或 言,與I 4相 於各虛擬通 存器6 4則儲 衝器數目。 從介面4 2接 式系統中, 能力是依據 收訊包之輸 緩衝器是可 輸入緩衝器 衝器計數值 的另一個訊 ^到調度程 &更新緩衝 通道和介面 之值。舉例 各暫存器6 2 裝置的全部 關的一些暫 道之輸入緩 存在各虛擬 收已更新緩 各介面4 2傳 是否與該介 入緩衝器。 供使用,在 其中之一内 ’因為輸入 包。各介面 式控制邏輯 器計數值, 更新儲存在 而言,當14
577205 五、發明說明(30) 從與其連接之節 I 4的輸入埠4 4會 且因應此計數值 前可使用緩衝器 器計數值可用於 實施例中不會發 有可供使用之輸 部節點目的地為 接之郎點的介面 會發送回應訊包 注思在其他 蹤各緩衝器計數 之初始值設定為 内可供使用之緩 分別減少和増加 為計數值等於零 沒有可供使用之 點之介面接收到已更新緩衝器計數值, 將已更新緩衝器計數值傳送到路由器54 钟Ϊ ί Ϊ Ϊ控制邏輯6〇會更新最適當的目 在-點Ϊ f器“。全部和目前可使用緩衝 在即點内按規定路線發送訊包,因為在此 送汛包除非在其虛擬通道和在其目的地内 入緩衝器。舉例而言,假如回應訊包之内 I 〇,則假如回應訊包之總數(在與介面〇連 )超過目前使用中之回應訊包數目,則不 〇 實施例中,可利用單一個計數值暫存器追 值。舉例而言,可將其中一緩衝器計數值 該緩衝器計數值所對應之虛擬通道和介面 衝器總數。隨著緩衝器之填充和閒置,可 緩衝器計數值以便反應其變化。當此緩衝 時’則表不在該虛擬通道之該介面中目前 緩衝器。 如前文曾簡要討論過的,路由器5 4包含有調度程式 4 〇 ’其為儲存在輸入緩衝器4 1其中之一内的各控制訊包分 配路由項目。調度程式控制邏輯6 0可建構成因應其中一介 面4 2接收訊包或在其中一個輸入緩衝器4 1内儲存訊包而分 配其在調度程式4 0内之路由項目。在一些實施例中,調度 程式控制邏輯6 0可建構成分配在路由器5 4前端調度程式4 〇 内之各路由項目。在選擇路由項目且按規定路線傳送對應
577205 五、發明說明(31) '~------ 於該路由項目之訊包後,調度程式4 〇合 =之路由…下移動以便填= : = 之路由項目會反應-個現象,亦即二=调度程式底部 變得更舊且具有更高優先權的路由項s :因?路由:員目? 式40内路由項目之相對順序可用於決定各路:f : : J 期齡,所以可使用期齡作為路由選擇之準則。員之相對 調度程< 40可建構成可為將纟節點 ㈣ ^控制訊包(亦即,儲存在其中—個控制輸人了n擇之 Π 項目。各路由項目包含有訊息用於確認 那一個介面接收到讯包(且因此由哪一個 器儲存該訊包)、儲存訊包化士 / 一 + /面之輸入緩衝 含有儲存與其相關之數據上有數據訊包 虛擬通道、訊包之目的Λ衝器位置、該訊包之 據訊包。纟路由項目亦辨m疋否此訊包具有相關數 器内(且假如有相關的數攄\此^包儲存在哪一個控制緩衝 存此相關數據訊包)。在據=’則哪一個數據緩衝器儲 輯60可建構成執行管道貫施 <列中’調度程式控制邏 元用於辨識是否此路由項目包含有狀態位 程)。第20A圖係顯矛•嶸f =在S道中(亦即,已經排 他的路由項目tfl息。田的管道實施例。亦可包含有其 在第1 0圖之調庶γ 一 此實施例中,路由項目顯示有範例路由項目61。在 VC、Dest I和狀態。、六個攔位:卜CB、DB、 I攔位7 3儲存辨識最先是由哪一個介
92184.ptd m 第35頁 577205 五、發明說明(32) 面接收對應於路由項目6 1之訊包。CB攔位7 1辨識該介面的 哪一個指令緩衝器儲存此訊包。如果有數據訊包則位 6 9顯示該介面的那一個數據緩衝器儲存對應於該訊包之數 據訊包。假如沒有與特殊路由項目相關之數據訊包,則用 於該路由項目之DB攔位6 9可設定為標示在此沒有數據訊包 之特定值而非設定為辨識數據緩衝器之值。VC欄位6 7可辨 識訊包是在哪〆個虛擬通道内傳送。D e s t I欄位6 5可辨識 訊包將按規定路線發送到之介面。狀態欄位6 3可標示路由 項目6 1是否是有效和/或是否路由項目已經排定程序(例 如,在排程為管道式之實施例中)。在第2 1圖中顯示狀態 攔位6 3的一個實施例。可在其他實施例中使用其他具有不 同形式和/或不同欄位數目之路由項目。 在第2 1圖中’係顯示調度程式路由項目之狀態欄位6 3 的實施例。在此實施例中,狀態欄位6 3包含有數據緩衝器 攔位220 1,其標示是否對應於該路由項目之訊包具有相關 的數據訊包。除此之外,假如此訊包雖然不具有相關的數 據訊包但是應該排列在另一個具有數據訊包的訊包之後, 則可將數據緩衝器欄位2 2 0 1設定為顯示不需按規定路徑發 送該訊包直到有可獲得之數據訊包。因此,亦可將數據緩 衝器欄位2 2 0 1設定成特定值以便滿足順序請求。虛擬通道 相依性攔位2 2 0 3可用於顯示對應於該路由項目之訊包和在 不同虛擬通道内之另一個訊包對順序請求的相依性。舉例 而言,虛擬通道相依性攔位2 2 0 3可設定為特定值用於標示 不需要按規定路線發送相對應訊包直到在告知請求虛擬通
92184.ptd 第36頁 577205 五、發明說明(33) 道内有可供使用之控制緩衝器。管道欄位2 2 0 5可以是單一 個位元或一串的位元,其值顯示是否在調度程式之管道式 實施例中目前已經排定對應之路由項目。在一些實施例 中,其他的狀態欄位2 2 0 7 (例如,顯示路由項目是否有效 之攔位)亦可包含在各路由項目中。注意在一些實施例 中,狀態欄位所包含之欄位可較第2 1圖所顯示之欄位更 少 〇 在一些實施例中,用於特定訊包之路由項目訊息可能 遠小於其所描述之訊包。此可以降低調度程式4 0之大小。 舉例而言,在一個實施例中,控制訊包可以是6 4位元且數 據訊包可能多達6 4位元組。各控制緩衝器因此需儲存至少 6 4位元且各數據緩衝器則可能儲存6 4位元組。相反地,2 0 位元的路由項目能夠為各控制訊包指定相關的路由選擇訊 息。因此,調度程式路由項目之大小可遠小於其所對應之 真正訊包大小。可是,注意在一些實施例中,路由項目幾 乎或甚至於大於其所描述之訊包大小。 選擇哪一個路由項目有部分是由與訊包相關之流程控 制訊息決定。舉例而言,在配給式流程控制設計中,將不 會按規定路線發送訊包直到有可用於接收該訊包之輸入緩 衝器可供使用。當路由項目對應於亦指定有數據訊包之訊 包時,不會按規定路線發送相對應訊包直到在該訊包之虛 擬通道内有可供使用之數據緩衝器和控制緩衝器。因此, 儲存在暫存器6 2和6 4内之全部和目前可使用緩衝器計數值 可用於決定在調度程式4 0内的那一個路由項目已經排程
92184.ptd 第37頁 577205 五、發明說明(34) (亦即’那一個路由項目在其目的地具有可供使用之輸入 緩衝器)。舉例而言,假如在请求虛擬通道内之路由項目 將按規定路線發送到I 2,則當與I 2連接之接點的介面在請 求虛擬通道内具有可供使用之輸入緩衝器時,則可對該路 由項目進行排程。因此,假如緩衝器計數值暫存器顯示該 介面具有可供使用之請求緩衝器,則可對該路由項目進行 排程。因為可供使用之缓衝器會隨時間改變,所以需在每 一個排程嘗試重新計算路由項目之就緒狀態。因為尚未準 備好可按規定路線發送之訊包(例如,訊包在其目的地不 具有可供使用之輸入緩衝器)不會影響排程處理(例如,將 其視為尚未準備好且因此在路由項目選擇期間將其忽 略所以虛擬通道不會互相阻擾。同樣地,因為可按規 疋路線發送訊包而不需考慮是由那個介面接收各訊包,所 以可改善公平性且可降地中斷。 一旦已經計算路由項目就緒狀態,調度程式控制邏輯 6 0可建構成選擇目前已經準備好可進行排程之最舊的路由 ,目 在一些實施例中,可從訊包在調度程式4 0内對應於 "亥七包之路由項目的相關位置決定訊包的相對抵達時間或 期,ϊ 1在這些實施例中,調度程式控制邏輯6 0可建構成當 技尋就緒路由項目時可從最舊的路由項目往最新的路由項 目知*描,> 以便母次均可選擇最舊的已就緒路由項目。 旦已經從調度程式4 0選擇路由項目且對應於該路由 項目之兮孔4 Θ么- °匕已經從輪入緩衝器4 1輸出到適當的目的地介面 4 Ζ ’則可從々固洚 β ^式4 0删除該路由項目。在一個實施例
第38頁 577205 五、發明說明(35) 中’各路由項目包含有效性標示,且可藉由修改此有效性 標示而刪除此路由項目以便顯示該路由項目不再有效。當 在調度程式4 0内之路由項目的相對位移是標示路由項目之 相對年齡的實施例時,可藉由將較年輕的路由項目往下移 到調度程式4 0之底部而刪除路由項目,因此可空出在調度 程式4 0上端之空間給新的路由項目。 第11圖顯示為在凋度程式40内之單一路由項目計算路 由項目就緒狀態之電路1 〇 0的一個實施例。其他實施例可 利用不同的硬體結構達到相同的功能。,調度程式控制邏輯 6 〇具有用於調度程式4 0内各路由項目之路由項目就緒狀態 計异器1 0 0。在此實施例中,依據是否有用於接收由該路 由,目辨識之訊包的控制緩衝器(假如有,和數據緩衝器) 计算路由項目就緒狀態,且假如此路由項目已排程,則確 認路由項目就緒訊號(亦即,假如,,和”(AND)閘78之所有輸 入均確認)。 多工器7 2接收對應於此六個介面(丨〇 _丨5 )之每一個的 控制緩衝态就緒訊號。在此實施例中,有四個虛擬通道, 所以各介面的控制緩衝器就緒訊號包含有每個虛擬通道一 =汛號。可從目前使用和全部的緩衝器計數值(例如,儲 =,第1 0圖之暫存器6 4和6 2内的值)決定控制緩衝器就緒 ^就。舉例而言,假如從節點介面0傳送來訊包之各虛擬 ^ 1可供使用之控制緩衝器,則可發佈確認各界面〇的控 k衝裔就緒訊號。另一方面,假如僅一個虛擬通道具有 "供使用之控制緩衝器,則僅確認其中一個之介面0的控
92l84.ptd
第39頁 577205 五、發明說明(36) 制緩衝器就緒訊號。更詳細的控制緩衝器就緒訊號一個實 施例範例請參考第20B圖。 在路由項目中所指定目的地介面可用於作為多工器72 之輸入。依據目的地介面,可選擇相關的控制緩衝器就緒 訊號。舉例而言,假如路由項目之目的地介面為I 5,則多 工器7 2會選擇I 5的控制緩衝器就緒訊號。同樣地,路由項 目的虛擬通道是用於作為多工器74之輸入,其依據路由項 目的虛擬通道選擇相關的控制緩衝器就緒訊號。 假如對應於特殊路由項目的訊包具有相關的數據訊 包,則路由項目包含有指標,其指示亦須按規定路線發送 數據訊包。舉例而言,在此實施例中,各路由項目包含有 一個位元,其用於指示是否按規定路線發送數據訊包。假 如此位元已設定,則表示在此有相關數據訊包。為了同時 按規定路線發送控制和數據訊包,則必須同時具有可供使 用之控制和數據緩衝器。因此,當具有相關的數據訊包 時,多工器6 8和7 0可用於決定是否有可供使用之數據緩衝 器。如同多工器7 2和7 4選擇適當的控制緩衝器就緒訊號, 多工6 8和7 0依據在路由項目中所指定之目的地介面和虛 擬通道,選擇適當的數據緩衝器就緒訊號。亦可使用反相 器82和”或’’(0R)閘80,以便僅在具有相關數據訊包的路由 項目中才考量數據緩衝器就緒。 在排程為管道式之實施例中,可能無法再次選擇已經 排程之路由項目。因此,各路由項目亦包含有指標指示是 否該路由項目已經在管道中。舉例而言,在所顯示實施例
92184.ptd 第40頁 577205 五、發明說明(37) 中,此指標可以是一個狀態位元,假如此路由項目尚未排 程則設定此位元(亦可以是當各路由項目已配置時才設定 此位元)。假如路由項目已經排程,則狀態位元會被清 除,因而解除確認路由項目就緒訊號。在另一個實施例 中,各路由項目可包含有數個狀態位元其顯示目前路由項 目在通道内之階段(例如,當路由項目不在管道内時可清 除所有的狀態位元,然後當路由項目進入管道中會設定第 一個位元,且當路由項目傳送經過該管道時,會使位元移 位,其反映該路由項目已經前進到管道的其他階段)。在 此種實施例中,各狀態位元之邏輯0R可用於決定是否該路 由項目目前正排程中。 因此,第11圖中所顯示的路由項目就緒狀態計算器 1 0 0是依據是否該路由項目已經排程、是否該路由項目表 示需同時按規定路線發送數據和控制訊包、及是否在該路 由項目目的地之路由項目虛擬通道内有可供使用之所需輸 入緩衝器而為單一路由項目決定路由項目就緒狀態。 因為在調度程式40内可能具有用於各路由項目之路由 項目就緒狀態計算器1 0 0,所以路由項目就緒狀態亦依據 在各特殊路由項目位置内目前是否已配置有效的路由項目 而定。在一個實施例中,可將顯示是否路由項目已經進入 管道之狀態位元清除為無效路由項目,而致使路由項目就 緒狀態計算器1 0 0解除確認此路由項目就緒訊號,故可避 免為無效路由項目排程。 另一方面,假如移動期齡較短的路由項目以便填充由
92184.ptd 第41頁 577205
已排程路由項目所騰出之位置,則調度程式控制邏輯6 〇可 維持指向調度程式40内最上面之有效位置的指標。當將訊 包儲存在輸入緩衝器内時,可利用指標配置在調度程式4 〇 上側之新路由項目。除此之外,當在調度程式控制邏輯6 〇 中需考量路由項目就緒狀態時,此指標可用於指示最後的 路由項目’所以不會不當地為無效的路由項目排程。 現參考 訊包之方法 此第一介面 個節點或裝 -訊包是儲 在1203中, 對應於第一 將其儲存在 收到第二訊 二路由項目 收到第一訊 第一路由項 包至其在節 項目之就緒 流程控制訊 可供使用之 路由項目已 但是第二路 第1 2圖,圖中係顯示在節點内按規定路徑發送 。在1 2 0 1,由節點之第一介面接收第一訊包。' 可將訊包傳送到另一個節點或裝置,及從另_ 置接收訊包,此裝置可以是記憶體控制卡。第 存在第一輸入緩衝器内,此亦顯示在12〇1中。 因為接收到第—訊包,所以在調度程式中配置 ^之路由項目。由第二介面接收第二訊包且 f二輸入緩衝器内,如1 2 0 5中所顯示。因摩接 包,會在古周声# , ^ ^ 在乃度矛王式中配置對應於 ,如 1 2 0 7中所~_ e i ^ ^ 包且沒有更老。假設是在收到第二訊包前 目已準備好排_路由項目已經排程,所以假如 點内之目的地二’則將按規定路線發送第一訊 狀態)。舉例而(不管期齡較短、第二路由 息顯示在與目的°/如果有與路由項目相關之 緩衝器可接收輿面連接之節點或裝置内有 經可排程。假如路由項目相關之訊包,則該 由項目已經可4 —路由項目還不可以排程, 卜& ’則可按規定路線先將第
577205 五、發明說明(39) — 〜--- 二訊包發送到目的地介面。因此,當沒有期 <排程日奔可务接招κ 7季乂長的包 、 見又路線發送期齡較短之可排裎々勺 您序執行路由選^ 娜私汛包。 在一些貫施例中, 同虛擬通道内 在有特定的時間相彳少t A y 4 a間可此存 線發送期齡較短;;如系統在按規定路 包,則可維持訊包n則先f J疋士运期齡較長的訊 有相依性,則最;認;::0!::::不;·,假如其間沒 的順序(例如,要新女具有同排程請求之訊包 送之哺勺讦沪义j有可供使用控制缓衝器以便按路線發 # >111超刖同時要求有控制和數據緩衝器可供使用以 便按路線發送之其他訊包、 及辦裔』仏便用以 新排列其順序可能導致不。可是,s相依性存在時,重 無效的數據。同時,假如π望之結果,如讀取請求會存取 改善其性能,因為將傳送Ζ維持其發送期間的順序,則可 傳送前等待來自各訊包的=置設計成不需要在進行下一個 為虛擬通道内之訊=即可傳送多個訊包。 程控制設計(例如,控制$ \序的方法之一為使用現有的流 其在虛擬通道内的最佳順欠據緩衝器就緒訊號)以便保持 入請求且具有相關的數據::舉例…假如訊包Α為; 訊包A之入請求以相同康的:包,而訊包則取請= 效數據。因此,訊包Β所U ^會導致此^取無 在訊包A之前。為了使寫^的排序請求使其不應、,; 調度程式控制邏輯可修改動作是發生在讀取動彳^ =盥 文用於訊包B之路由項目以便其與
577205 五、發明說明(40) 用於訊包A之路由項目具有相同的排程請求(例如,在其路 由項目已準備好排程之前必須滿足之條件)。舉例而言, 因為訊包A的路由項目就緒狀態是依據是否有可供使用之 控制和數據緩衝器,所以可藉由設定表示其具有相關數據 訊包之位元而將訊包B的路由項目修改為具有相同排程請 求。設定用於訊包B之路由項目之數據位元的結果,路由 項目就緒狀態計算器將不會顯示訊包B之路由項目已準備 好可排程直到數據和控制緩衝器均是可供使用的。因此, 訊包A和訊包B之路由項目會同時間準備好,且因為訊包A 之路由項目較老,所以會先為訊包A排程。因此,藉由強 迫訊包B等待其數據緩衝器變成可供使用(就算按路由發送 訊包B時並不一定真正需要數據緩衝器),可保持其最佳的 排序。注意假如各路由項目亦包含有指向持有數據訊包 (如果有一個數據訊包的話)之緩衝器之指標’則會將數據 位元設定成滿足排序請求之路由項目具有零指標而非指向 數據緩衝器之指標,因為在此沒有真正需要按路由發送之 數據訊包。 為了偵測在虛擬通道内之訊包與其他訊包相關之排序 請求的狀況,路由器需具有額外的比較器(例如,當配置 路由項目時比較在請求訊包内之讀取和寫入指令的位 址)。在一些實施例中,訊包可包含有相關的排序訊息(例 如指令和/或標示其順序之專屬欄位)。 第1 3圖係顯示當在相同虛擬通道内之訊包具有與其他 訊包相關之排序請求時,用於為訊包配置調度程式路由項
92184.ptd 第44頁 577205 五、發明說明(41) 目之方法的貫施例。在步驟1 3 0 1中,第一訊包是由其中一 個節點的介面接收且儲存在第一輸入緩衝器内。在13〇3, 在調度程式内配置對應於該訊包之路由項目。在1 3 〇 5,第 二訊包猶後是由其中一介面接收(此介面可以是與接收第 一訊包相同之介面)。假如此第二訊包與第一訊包是在相 同的虛擬通道内且與第一訊包相依所以必須排程在第_訊 包之後,可如1 3 0 9所示藉由使第二路由項目和第一路由項 目具有相同的排程請求可滿足此排程請求。舉例而言,假 如第一路由項目顯示需同時按規定路線發送控制訊包和數 據訊包,則第一路由項目必須在同時有可供使用之控制和 數據緩衝器時才算就緒。藉由為第二路由項目設定相同的 排程請求(亦即,顯示同時具有可獲得之控制和數據緩衝 器以便使其路由項目是在就緒狀態),所以不會為第二路 由項目排程直到完成第一路由項目之排序,此是假設將路 由器建構成在選擇期齡較短路由項目之前會先選擇期齡較 長的路由項目。此設計使用現存的流程控制訊息和路由項 目就緒狀態計算器以便有效地維護虛擬通道内之順序。 排序凊求亦發生於在不同虛擬通道内之訊包間。這些 排序請求的其中一些是因為告知請求之特殊性質而發生。 舉例而言,在發佈讀取請求之前(在請求虛擬通道内)發佈 給相同位址之告知寫入(在告知請求虛擬通道内)應該在按 路由發送讀取請求前先按路由發送此告知寫入,以避免此 讀取會存取無效的數據。可是,告知寫入用之路由項目的 就緒狀態是由在告知請求虛擬通道内之緩衝器的玎得性而
92184.ptd 第45頁 五、發明說明(42) 通首 而晴求用之路由項目的就緒狀態則是由在請求虛擬 ^ ^内之緩衝器的可得性而決定。因此,當可供請求使用 第f衝器較可供告知請求使用之緩衝器先獲得時,使用如 讀取所不之路由項目就緒狀態計算器的系統會不慎地將 ,1 θ求排序在寫入之前。同樣地,假如告知寫入更新數
媒且設定一企卜二TT ^ 二訊號的排序以便指示哪些數據已經更新,則 #彳灸看見此訊號(其是在回應通道内傳遞)之讀取應該不會 傳送=更新數據之告知寫入。 δ在不同虛擬通道内之訊包間存在有排序請求,則需 對調度程式内之特定路由項目進行額外的修正以便滿足這 二排序明求。舉例而言,假如在回應虛擬通道内之訊包的 排程較在告知請求虛擬通道内之告知寫入請求落後,則需 修改用於回應訊包之路由項目以便顯示其與告知請求虛擬 通道之相依性。在一個實施例中,此種指示可以是額外的 狀悲位元’其當特殊的訊包是取決於告知請求虛擬通道時 則設定此位元。當計算路由項目就緒狀態時,為了考量此 額外的相依性’可使用如第1 4和1 5圖所顯示之路由項目就 緒狀態計算器。 如第1 4圖所顯示之路由項目就緒狀態計算器1 〇 〇 a與如 第11圖所顯示之路由項目就緒狀態計算器1 〇 〇相類似。可 是,為了處理不應該在按路由傳送於告知請求虛擬通道内 之訊包前先按路由發送對應於此路由項目之訊包的狀況, 路由項目就緒狀態計算器1 Ο Ο A之實施例包含有相依性檢查 邏輯9 8。在此實施例中,假如相依性檢查邏輯9 8之輸出為
92184.ptd 第46頁 577205 五、發明說明(43) ^---- 解除確認,則將不會發佈路由項目就緒 現參考第1 5圖,圖中更詳細地顯—^ 的一個實施例。所顯示之相依性檢查依性檢查邏輯98 AND閘120,其輸入端接收各介面用^ = ^ I8包含有數個 (用於CB2,其為告知請求控制緩衡哭二,緩衝器就緒訊號 已解碼目的地訊號。已解碼目的地訊觫女广貝目用之备 控制缓衝器就緒訊號,因為會忽略在目沾α 1 擇、田 #曰的地外之介面上的 控制缓衝器就緒訊號。注意在另一個實施你丨由 ^ ^ 口貝她例中,可以建構 成以依據訊包目的地選擇控制緩衝器就緒訊號之多工器 (M U X)取代閘1 2 0和1 2 2。 夕 口口 9 8的一個輸入 因 元 此,假如清除相依狀態位元(表示在告知請求虛擬通道闪 沒有相依性存在),則相依性檢查邏輯9 8的輸出將會確認 (且因此對路由項目就緒狀態沒有影響)。因此,再次參考 第1 5圖,假如路由項目不是由告知請求虛擬通道決定,則 路由項目就緒訊號僅是由路由項目虛擬通道内緩衝器的可 得性決定。假如相依狀態位元是設定的(表示在告知請求 虛擬通道内有相依性存在),則將使用來自AND閘1 2〇之輸 出決定是否在告知請求虛擬通道内有可供使用之緩衝器。 假如沒有缓衝器’則用於該路由項目之路由項目就緒訊號 會是零,此可避免為對應於該路由項目之訊包進行排程。 注意雖然第1 4和1 5圖所顯示之實施例檢查告知請求虛 擬通道内之相依性,但是其他實施例亦可檢查在其他虛擬 通道内之相依性。再者,一個實施例可檢查數個不同虛擬
92184.ptd 第47頁 577205
通道内之相依性。舉例而古,力 y 口 仕一 目可具有已解碼虛擬通道棚位,所^^例中,各路由項 數個虛擬通道,且可將路由項目 ^可為各路由項目指定 查多數相依性及假如滿足這些相=緒狀態計算器修正成檢 緒訊號。 一 x性’則確認路由項目就 第 他訊包 排程路 虛擬通 程路由 與第一 程路由 包之排 關的數 序請求 二訊包 會將第 例而言 (例如, 衝器以 丨的排 要有可 告知請 為修改 1 6圖係顯示當訊包具有盥主 相關之排序請求時,為由節:::求虛擬通道内其 由項目之方法的實施例。在‘i二收到之該訊包配置 道内之第一訊包,且在1 6 0 3 ,接收在告知請求 XI Η 〇 ^ 在1 6 0 3,配置用於該訊包之排 項目。在1 6 05接收第二訊包。假如第二訊 訊包相關之排序請求,則可 八 τ5 甘於θ — 表則了配置用於第二訊包之排 項目’具係顯示於〗β1。斗玫山工 ^ ^ λ ^ 1 b 11此路由項目會顯示第二訊 序,求(如其屬於那一個虛擬通道及是否其具有相 據訊包假如第二訊包具有與第一訊包相關之排 且苐一 Λ包不在告知請求虛擬通道内,則用於第 之排程路由項目會顯示第二訊包之排序請求,所以 二訊包排序在第一訊包之後,其係顯示於丨6 0 9。舉 ’各路由項目可包含有與第一訊包相同的排程請求 在告知清求虛擬通道内需要有可供使用之控制緩 便各路由項目可準備好進行排程),除了具有其各 程請求(例如,在各路由項目自己的虛擬通道内需 供使用之控制緩衝器)。每當要將一個訊包排程在 求虛擬通道内之訊包之後時,則需修改此攔位。因 此攔位,所以第二路由項目不會顯示其已經準備好
92184.ptd 第48頁 577205 五、發明說明(45)
排程直利心足 為此二訊包之路由Jg η η + 和弟—訊包的排程請求。因 式會先選擇期齡輕具ΑΑ # ”邊不已準備就緒,所以調度程 訊包,因此可滿足妯皮& i L再選擇較期齡較短的第二 〜哪斤睛求。 由選擇 先前所述 的地。各 數目的地 具有四個 目,其分 顯示之路 一個實施 處理具有 由發送訊 中的目的 介面且該 10至15)。 路由選擇 送廣播訊 衝器。 上的目 内之多 訊包 路由項 圖中所 另 項目而 要按路 由項目 有六個 分別為 例中之 路由發 包之緩 者f廣播虛擬通道内之訊包可具有一個以 二轭例可以不同方法支援在廣播虛擬通道 ^ 舉例而& ,在一個實施例中,當廣 目的地介面,則在調度程式内可配置四個 別指定不同的目的地。此實施例可與第i i 由項目就緒狀態計算器i 〇 〇相容。^ 例可藉由配置具有解碼目的地攔位之路由 多數目的地之廣播訊包。舉例而言,假如 包至I 0、I 3和I 4,則在對應於該訊包之路 地攔位可以是1 0 0 1 1 〇 (假設在一個節點内 已解碼目的地所表示的介面順序由左至右 有數種不同方法可用於處理在此種實施 。舉例而言,在一個實施例中,將不會按 包直到各目的地均具有可用於接收廣&訊 在 可接收 廣播tfl 修正用 另一個實施例中,可能只要至少有一個目的地具有 訊包之輸入緩衝器即可按路由發送廣播訊包。假如 包並未按路由發送至其所有的目的地,則路由器I 於該廣播訊包之路由項目,所以目的地欄位僅顯二
第49頁 577205 五、發明說明(46) 剩餘的目的地。舉例而言,假如具有目的地I 〇、I 3和I 4之 訊包會在一個排程内按路由發送至I 〇和I 3,則路由器會將 路由項目修正為在目的地欄位内僅剩下單一個目的地j 4。 然後,在稍後當在I 4有可供使用之輸入緩衝器時再將訊包 按路由發送至I 4。在最差的狀況下,可能需多次為一個訊 包排程因為每次僅只有一個目的地具有可供使用之輸入緩 衝器。可是,在其他狀況下,均可在單一個排程内將訊包 按路由發送多個目的地,且因此可以較少的排程將訊包按 路由發送到其所有的目的地。第1 7和1 8圖係顯示在此種實 施例中所使用之路由項目就緒狀態計算器的一個實施例。' 在第1 7圖所顯示之實施例中,路由項目就緒狀態計算 Is 1 0 0 B與第1 1圖所顯示之路由項目就緒狀態計算器1 〇 〇相 類似。可是,在廣播通道内之路由項目的就緒狀態是依據 廣播檢查邏輯11 2決定的。對非廣播路由項目而言,緩衝 裔就緒訊號是輸入到多工器7 2 B且依據這些各路由項目之 單一目的地(其可以是已解碼值)選擇適當的就緒訊號。依 據路由項目的虛擬通道,利用多工器7 4 b選擇來自多工器 72B其中之一的輸出或來自廣播檢查邏輯n2之輸出的一個 訊號。假如由多工器7 4 B所選擇之訊號已確認數據緩衝器 疋可獲得的(如果需要),則確認路由項目就緒訊號,但是 假如排程程序為管道式,則還不可以排程此路由項目(需 依據管道狀態位元)。 第1 8圖係顯示廣播檢查邏輯1 1 2的一個實施例。廣播 檢查邏輯1 1 2藉由對用於各接面之cb3的缓衝器就緒訊號進
92184.ptd 第50頁 577205 五、發明說明(47) ---- — 灯及閘動作解碼目的地訊號而決定是否廣播訊包之目的 地的至少其中之一是就緒的,其中此CB3係對應於廣播通 道。以此方法,可選擇用於各目的地之相關訊號且將其輸 入至OR閘1 30。因此,只要至少有其中一個目的地具有可 供廣播虛擬通道用之控制缓衝器,則可確認閘1 30的輸 出,同時確認路由項目就緒訊號。 注意在某些實施例中’在任何虛擬通道(相對於僅是 廣播虛擬通道)内之訊包可具有多數目的地。在這些實施 例中,可修改路由項目就緒狀態計算器以便使得各虛擬通 道内可具有多數目的地’而非僅在廣播虛擬通道具有多數 目的地。 第1 9圖係顯示用於為在一個節點内具有多數目的地之 訊包選擇路由之方法的實施例。在1 9 0 1,具有多數目的地 之訊包是由節點接收。此節點判斷是否任何訊包的接收者 具有可用於接收訊包之輸入緩衝器,其係顯示於1 9 0 3中。 假如至少訊包接收者的其中之一已經準備可接收訊包,則 將訊包按路由發送到在輸出訊包至就緒接收者之節點内的 目的地輸出埠,此係顯示於1 9 0 5和1 9 0 7。注意步驟1 9 0 7可 同時由其他考量決定。舉例而言,假如有期齡較長訊包亦 可已按路由發送’則將先發送此期齡較長的訊包而非多目 的訊包。 為了避免將訊包多次按路由發送到相同的目的地,則 調度程式會追蹤訊包已經按路由發送到哪一個接收者,其 係顯示於1 2 0 7中。顯示訊包已經按路由發送到哪一個接收
92184.ptd 第51頁 577205 五、發明說明(48) 者會導致修改對應於該訊包之調度程式路由項目,所以不 再列出這些接收者。一旦已經將訊包按路由發送到其所有 的目的地,則用於該訊包之路由項目可刪除。 八 排程 如先前/斤述,在某些實施例中其排程為管道式。第 ϋ圖係顯*如何在此種實施例中進行f道式 岸;Ϊ:個排程中可選擇一調度程式路由項目且 ;面; 路由項目之訊包按路由發送到其各目的地 含有: = 道階段,階段1包 舉例而言,如第丨i、、凋度私式内各路由項目之就緒訊號。 計算器可用於計曾' 14和17圖所顯示之路由項目就緒狀態 名;^ e π π路由項目之就緒訊號。
在官道階段2和他Μ ^ ^ L 將並行彳Ψ描各群组,且從各
到期齡最短的路由/ :,可错由從期齡最長的路由項目 就緒路由項目所在、目掃描其路由項目就緒訊號直到確定 項目。隨著在調声為止,可選擇期齡最長的就緒路由 有路由項目就緒式内路由項目數目增加,需要掃描所 時間亦隨之增加。=以=找出期齡最長的就緒路由項目之 於在任何其他管道;=f,所有路由項目所需之時間遠長 掃描操作再晝分成又、行操作所需時間,則可能需要將 率。舉例而言,在此,,多個管道階段以便增加管道時序 最長的就緒路由項目=%例中,使用兩個階段來選擇期齡 度程式路由項目。比,,必須在一個階段内掃描所有調 牧I白丰又n “ 92184.ptd 第52頁 577205 五、發明說明(49) 次群組中選擇期齡最長的就緒路由項目。然後,在階段3 中,從在階段2所選擇的期齡最長就緒路由項目中選擇期 齡最長的就緒路由項目。注意在其他實施例中,可在單一 個階段執行階段2和3之工作。 在階段2,係在調度程式内數個路由項目之次集合選 擇已經就緒的期齡最長路由項目。舉例而言,在第2 0 C圖 所顯示之調度程式實施例中,其具有6 4個路由項目。為了 減少掃描期齡最長的就緒路由項目所需時間,將此6 4個路 由項目畫分成四個群組,其每個具有1 6個路由項目(群組 I - I V )。在階段2期間,可同時掃描此四個群組及選擇各群 組中期齡最長的就緒路由項目。為了避免在下一個排程的 階段2再次選擇這些路由項目,必須清除在各所選擇路由 項目内標示此路由項目為可排程之狀態位元,以避免在下 一個排程之階段1中為這些路由項目再次產生路由項目就 緒訊號。在階段3的期間,從階段2所選擇的期齡最長的就 緒路由項目中選擇期齡最長的就緒路由項目。大部分的時 間,在階段3所選擇之路由項目是從期齡最長的路由項目 群組所選出的(例如,在此實施例中之群組I )。可是,假 如在階段1於群組I中沒有任何已經就緒之路由項目,則在 階段2中將不會從群組I中選擇任何路由項目,且因此在階 段3中所選擇之路由項目會是從較新的群組I I - I V的其中之 一選出的。在階段3選出路由項目之後,將重置那些在階 段2選中但在階段3沒有被選中之路由項目的狀態位元。 在階段4,從路由器讀取包含在階段3所選中路由項目
92184.ptd 第53頁 577205 '發明說明(50) 五 之數據。因為是管道式, 使用之輪入緩衝器在此排程之階段1中可供 中:選中之路由項目的%:;用m應於在前-個排程 目的地之緩衝器,所有會在階’為了避免過度使用在 ^之就緒狀態,且假如 心 _欠檢查所選擇路由項 衝器仍是可供使用的),則仍按項路目/=就緒的(亦即,緩 目之訊包。通常,階段5合決 叙达對應於該路由項 選擇路由項目之訊包。Λ發^疋否㈣由發送對應於所 器已經先儲存對應於所選擇::項2次調整其輸入緩衝 緩衝器計數值,且此介之訊包之介面的輸入 其所連接之介面或裝置。;此^更=的緩衝器記數值給 關之緩衝it計數值(亦即,V二增加與傳送介面相 面連接之介面内可供使用緩衝骂數、由益中與傳达介 中’對應於所選擇路由項目之訊包係傳送到目的 "面且從調度程式中將此路由項目刪除。 在廣播訊包具有多數目的地之實施例中,階段5中可 k得的不同輸入緩衝器會較在階段丨中可獲得的多。舉例 而言,可依據I 0和I 3可獲得的緩衝器為具有目的地! 〇、 1 2、I 3和I 5之廣播路由項目排程。在階段5之發送期間, 會再次檢查此路由項目之就緒狀態。此時,丨2可能具有可 供使用之緩衝器而I 〇或I 3可能沒有。可是,因為仍^可將 廣播訊包按路由發送到其至少其中一個的目的地(丨2 ),所 以可傳送此路由項目。在階段6,相對應訊包可發送到 I 2 ’並且修改其路由項目(相對於將其刪除),所以不再將
92184. 第54頁 577205 五、發明說明(51) — ~ -- I 2列為其目的地。因此,在此排避芒你 10、Π和⑽為其目的地 取後,路由項目會僅將
在第20A圖中,排程丨顯示正常的管道 為在一個時脈中執行其中一個階段 F彺彺汁 U 要花六個時脈來完成。 …W,所以排程1需 排程2顯示正常操作之可能例外。 :排;已選擇該路由項目所以將其從選;二t: 11各路由項目包含有狀態指標其顯示目前已、驾握 路由項目。因此,假如將選 2 項目加註記因而可避擇免在個下路由/目’且為所選擇的路由 由項目。然後在階段3將、、,有^排程的階段再次選擇此路 擇。假如從不同次群Γ:選有擇選= 排程中所選擇的路由項1員目不同於在前-個 矛盾。 貝目則在排程之階段3期間會導致
舉例而言,個4 J L 15,而從次群組二;期間從次群組1選出路由項目 註記為已選擇,就項目16’則會將此二路由項目 項目仍是路由項目I5HMl之階段3期間所選擇之路由 會為這二路由項目產生=,在排程2之階段1期間,將不 I中不再有就緒的路由二/號。假如在此排程期間群組 緒的路由項目。可是由,項時/則將從此群組11中選擇就 認就緒訊號,路由H异在此階段沒有為路由項目U確 由項目16仍是此時期齡最長的已就緒路由
92184.ptd 第55頁 577205 五、發明說明(52) 一 項目,因為在前一佃 項目1 6。在一個睥 耘之階段3期間並沒有選擇此路由 目16之狀態位元之後(在排程1之階段3中重置路由項 已更新路由項目就纟^獲得顯示路由項目16之就緒狀態的 的路由項目排序在期二,。因此,為了一致地將期齡較長 由項目是從不同的〕路甶項目之則,所以每當路 擇之路由項目時, f中選出而非從前一個排程中所選 可考量已更新路由 =夠重複階段3。藉由重複階段3, 階段2期間已經註、就緒訊號以便偵測在前一個排程之 正被選取之路由項目。、\释路由項目但在階段3中沒有真 任何其後的排種無效一 2意在一排程中重複階段3會導致、 性。 週期以便維持整個管道的一致 排程3係顯示當所選 狀況。舉例而言,假如释/由項目在階段5中無法實現之 入緩衝器不再可用於接=檢核路由項目之就緒狀態且輸 時,路由器可選擇不要對應於所選擇路由項目之訊包 能會過度使用在目的地I袼由發送此訊包,因為這麼做可 現該路由項目,則 决接收用輸入緩衝器。假如無法實 項目之傳送無效所以無=除排程管道,因為有可能該路由 當地排裎。因此,^去,為其後排程所選擇的路由項目適 致之影響。在管道产除3係顯示在階段5中因傳送無效所導 新開始。清除管道可避^後(在時脈8)’管道會在時脈9重 現參考第2〇Β圖,圖免^由項目之排序順序紊亂。 制和數據緩衝器就θ緒訊' 係顯適用於特殊介面(I 〇 )之控 u產生為之貫施例。在此實施例
92184.ptd 第56頁 577205 五、發明說明(53) ' ""~~一-^ -- 中^目前的(目前使用中之緩衝器數目)和全部的可使 〇 ΐ衝11計數f係可供使用並表示在傳送訊包到達之節^ ΐτ 2置1 〇ΐ ,目=和全部的可使用輸入緩衝器數目。當目前 1你用的緩衝!?數目小於全部可使用的緩衝器•目則有可 二吏用之緩衝器。因為目前可使用的緩衝器數目不可以超 ,^部可使用的緩衝器數目,所以假如目前可使用的緩衝 益數目不等於全部可使用的緩衝器數目則會確認各緩衝器 就緒訊號。如先前所討論的,在其他實施例中,可利用單 一個暫存器追蹤各緩衝器數目。 網路系統 通常’上述的調度程式除了在第8圖所顯示節點中使 用亦可在其他部分使用。舉例而言,第22圖係顯示耦接至 包含有路由器54Α之網路裝置21 02Α(或2102Β)的電腦系統 2100A至C(或2100D至F)之網路。在此實施例中,路由器 5 4八可連接網路中的數個不同電腦系統21〇〇八至(:(或21〇〇1) 至F)。一般而言,電腦系統21〇〇人至F可通稱為電腦系統 2 1 0 0。各電腦系統2 1 0 0可經由一個或多個網路裝置與其他 的電腦系統互相發送和接收訊包,很像耦接至節點的裝置 可經由一個或多個節點與其他裝置互相發送和接收訊包。 再者’有些電腦糸統可連接至多個網路裝置,使得這些電 腦系統可共享此多個網路(未顯示)。除此之外,在某^實 她例中’網路裝置2 1 0 2 A可連接至另一個網路裝置2 W 2 B 因此,如同第8圖之節點1 2包含有連接至其他節點之 介面’網路裝置2 1 0 2 A可包含有連接至其他產生和接收訊
92184.ptd 第57頁 577205 五、發明說明(54) ----——一 包之網路裝置(例如,其他網路裝置21〇2“和/或裝置 如,電腦系統2 1 0 0 )之介面。各網路裝置之介面包含^ 於與電腦系統或另一個網路裳置互相傳送和接收訊包之 入埠和輸出埠。路由器54A可建構成從輸入埠按路由發送〜 訊包至輸出埠。 x 可以建構第8圖所顯示路由器54的相同方式建構路由 器54A。路由器54 A包含有輸入緩衝器、且各輸入緩衝器可 建構成儲存從電腦系統21 〇〇或另一個網路裝置21 02B所接 11欠到之訊包。在網路内之訊務可劃分成數個虛擬通道,且 1;丨面的輸入緩衝器包含有用於各虛擬通道之專用輸入緩 衝器。路由器54A可根據第8至20圖之說明而為訊包排程。 舉例而言,路由器54A所具有之調度程式可為從電腦系統 2 1 0 0之一或從另一個網路裝置2 1 0 0 B所接收到之各訊包配 置路由項目。 具有此方面技藝者一旦完全瞭解上述的發明,則各種 變動和修正會變得更加顯而易見。希望下列之申請專利範 圍可以涵蓋所有的這些變動和修正。
92184.ptd
第58頁 577205 圖式簡單說明 [圖式簡單說明] 第1圖係顯示電腦系統之一個實施例方塊圖; 第2圖係顯示第1圖中之一對節點的一個實施例方塊 圖,圖中強調其間連接系統之一個實施例; 第3圖係顯示訊息訊包之一個實施例方塊圖。 第4圖係顯示指令訊包之一個實施例方塊圖。 第5圖係顯示回應訊包之一個實施例方塊圖。 第6圖係顯示數據訊包之一個實施例方塊圖。 第7圖係顯示表列訊包定義之一個實施例。 第8圖係顯示節點之一個實施例。 第9圖係顯示與節點之輸入介面有關之輸入緩衝器的 一個實施例。 第1 0圖係顯示包含在節點内之調度程式的一個實施 例。 第1 1圖所顯示之一個邏輯實施例係用於判斷是否調度 程式路由項目已經可以排程。 第1 2圖之流程圖係顯示在節點内按路由傳送訊包之方 法的一個實施例。 第1 3圖之流程圖係顯示分配調度程式路由項目以便維 護在相同虛擬通道内訊包之時間順序之方法的一個實施 例。 第1 4圖係顯示用於判斷是否調度程式路由項目已經可 以排程之另一個邏輯實施例。 第1 5圖係顯示用於決定是否與在另一個虛擬通道内之
92184.ptd 第59頁 577205 圖式簡單說明 路由項目相關的調度程式路由項目已經可以排程的另一個 邏輯實施例。 第1 6圖之流程圖係顯示在節點内按路由傳送訊包之方 法的另一個實施例。 第1 7圖係顯示用於決定是否調度程式路由項目已經可 以排程之另一個邏輯實施例。 第1 8圖係顯示用於決定是否具有多數目的地之調度程 式路由項目已經可以排程的一個邏輯實施例。 苐1 9圖之流程圖係顯不在郎點内按路由傳送訊包之方 法的另一個實施例。 第2 0 A圖係顯示管道式調度程式之一個實施例。 第2 0B圖係顯示可用於產生在第11、14、15、16、18 和1 9圖内使用之就緒訊號之系統的一個實施例之方塊圖。 第2 0 C圖係顯示調度程式及如何將路由項目分割成數 個次集合以便可同時掃描多個次集合之一個實施例。 第2 1圖係顯示路由項目之狀態欄位的一個實施例。 第2 2圖係顯示使用與第1 0圖所顯示排程系統類似之網 路系統的一個實施例方塊圖。 10 電腦系統 12 訊包選擇節點 1 2 A、1 2 B、1 2 C、1 2 D 處理節點 14A、14B、14C、14D 記憶體 1 5、1 6 路由項目 16A、16B、16C、16D 記憶體控制器
92184.ptd 第60頁 577205
圖式簡單說明 20A 、20B 輸入/輸出(I/O)裝置 24、 24A至24H 連接線 24AA、 24BA 時脈線 24AB、 24BB 控制線 24AC、24BC 控制/位址 /數據匯流排 30 訊息(i n f 〇 )訊包(控制訊包 ) 32 請求訊包(控制訊包 ) 34 回應訊包 (控制訊包) 36 數據訊包 38 表 40 調度程式 4卜 4 1 A輸入緩衝器 42^ 42人至42?介面 44 輸入埠 45 輸出埠 46、 46A至 46F 1 (控制)緩 48、 48A至48F 數據緩衝器 50 緩衝器控制邏輯 52> 52A、 52B、 68、 70 多 工器 5[ 5 4 A路由器 58 同步電路(輸入佇列 輸入仵列) 59 同步邏輯(輸出仔列 ) 60 調度程式控制邏輯 61 路由項目 62 ^ 64 暫存器 63 狀態欄位 65 D e s t I欄位 67 V C搁位 69 D B棚位 71 CB欄位 12、 74、 72A及 72B、 74A及 74B 多工器 73 I欄位 78 ^ 120 ▼,和丨, (AND)閘 80> 122、130 π或 ”(OR)閘 82 反相器 98 相依性檢查邏輯 92184.ptd 第61頁 577205 圖式簡單說明 1 0 0、1 0 0 A 路由項目就緒狀態計算器 11 2廣播檢查邏輯 2 1 0 0、2 1 0 0 A至C、2 1 0 0 D至F電腦系統 2102A、2 102B 網路裝置 2 2 0 1 數據缓衝器攔位 2 2 0 3 虛擬通道相依性欄位 22 0 5 管道欄位 2 2 0 7 狀態攔位 I 0至I 5 介面
92184.ptd 第62頁
Claims (1)
- 577205 六、申請專利範圍 1. 一種將含有多數目的地之訊包按路由發送之裝置,包 含有: 輸入埠,建構成接收具有兩個或多個接收者之第 一訊包; 兩個或多個輸出埠,分別建構成將該第一訊包輸 出至個別其一接收者; 排程邏輯,建構成假如至少有其中一個接收者具 有可用於接收該第一訊包之輸入緩衝器,則按路由發 送該第一訊包給至少其中一個該輸出埠。 2. 如申請專利範圍第1項之裝置,更包含有調度程式,該 調度程式建構成因應輸入埠接收該第一訊包而分配對 應於該第一訊包之路由項目。 3. 如申請專利範圍第2項之裝置,其中此路由項目可辨識 此兩個或多個該第一訊包的接收者。 4. 如申請專利範圍第2項之裝置,其中該路由項目包含有 複數個接收者位元,其中每個接收者位元對應於一個 可能的接收者,該接收者耦接成可經由其中一個裝置 的輸出埠接收訊包,其中各該接收者位元之值辨識是 否各可能的接收者為該第一訊包之接收者的其中之 〇 5. 如申請專利範圍第2項之裝置,其中該排程邏輯更建構 成假如該排程邏輯按路由發送該第一訊包給該第一訊 包之接收者的第一部份,則可修改此路由項目,所以 該路由項目不會再辨識此接收者之該第一部份作為第92184.ptd 第63頁 577205 六、申請專利範圍 一訊包的接收者。 6 ·如申请專利範圍第5項之裝置,其中該排程邏輯更建構 成假如至少有其中一個接收者具有可用於接收第一訊 包之輸入緩衝器,該接收者維持已辨識於該路由項目 中,則將該第一訊包按路由發送到至少其中一個的輸 出埠。 7 ·如申請專利範圍第5項之步w ^ ^ ^ , ,,lL ,, , α <裝置,其中該调度程式建構成 假如此路由項目不再拂缉士/ , ,, 只日个丹辨識有任何接收者存在時,則可 將此路由項目移除。 8 如申請專利範圍第1項之奘 Λ ^ ^ . i/v _ ^ A ^ ^ ^ ^ ^ 裝置,更包含有輸入緩衝器, 吞亥輸入緩衝器建構成儲左丄μ 甘& +1~ ^1 存由輪入埠所接收到之訊包, 其中此όίΐ包係移動於兮楚 A 4 W 々第—訊包的虛擬通道内。 如申請專利範圍第i項之萝¥匕4广、円 成判斷是否該第一吨包的裝/,其中該排程邏輯係建構 少一個的輸入緩衝器可=ί收者中至少有二個具有至 虛擬通道内之訊包。 ;儲存移動於该第一訊包的 10·如申請專利範圍第㈣ 器,其中各暫存器、、展置,更包含有複數個暫存 在該第一訊包之I接彳成所儲存之計數值係用於表示 入緩衝器數目。 者中有多少目前可供使用之輸 11·如申請專利範圍第1〇項 構成因應按路由發送节,凌置,其中該排程邏輯係建 者的第一部分而^新=第—訊包至該第一訊包之接收 值可表示在該第一气1數值之第一部份,所以此計數 σ匕之各接收者的第一部分内各接577205 六、申請專利範圍 收者目前將具有一個更少的輸入緩衝器可供使用。 1 2 .如申請專利範圍第1項之裝置,其中該第一訊包之接收 者包含有耦接成可從該裝置接收訊包之裝置。 1 3 .如申請專利範圍第1 2項之裝置,其中此裝置包含有中 央處理單元(CPU)。 1 4 .如申請專利範圍第1 2項之裝置,其中此裝置包含有記 憶體控制器。 15.如申請專利範圍第12項之裝置,其中此裝置包含有電 腦系統。 1 6 .如申請專利範圍第1項之裝置,其中該輸入埠是建構成 接收第二訊包,且其中此排程邏輯係建構成在按路由 發送該第一訊包至其任何目的地之前,假如該第二訊 包之至少其中一個的接收者在該第一訊包的任何接收 者具有可用於接收該第一訊包之輸入緩衝器前具有可 用於接收該第二訊包之輸入緩衝器,則按路由發送該 第二訊包至該第二訊包之至少其中一個的接收者。 1 7.如申請專利範圍第1 6項之裝置,其中該第二訊包具有 單一個接收者。 1 8 .如申請專利範圍第1 6項之裝置,其中該第二訊包是在 該第一訊包前接收到的。 1 9 . 一種按路由發送訊包之方法,此方法包含有: 經由輸入埠接收第一訊包,其中該第一訊包具有 兩個或多個接收者; 判定該第一訊包的哪一個接收者具有至少一個輸92184.ptd 第65頁 577205 六、申請專利範圍 入緩衝器可用於接收該第一訊包;和 假如該第一訊包的至少一個的接收者具有至少一 個的輸入緩衝器可用於接收第一訊包,則按路由發送 該第一訊包至該接收者之第一部份,其中在接收者之 該第一部分内的各接收者具有至少一個的輸入緩衝器 可供使用。 2 0 .如申請專利範圍第1 9項之方法,其中前述的按路由發 送包含有按路由發送該第一訊包至複數個輸出埠之第 一部份,其中在輸出埠之該第一部份的各輸出埠將訊 包輸出至個別其中一個接收者之第一部份。 2 1.如申請專利範圍第1 9項之方法,更包含有: 在調度程式内因應前述的接收,配置對應於該第 一訊包之路由項目,其中此路由項目辨識該第一訊包 的兩個或多個接收者。 2 2 .如申請專利範圍第2 1項之方法,其中該路由項目包含 有數個接收者位元,其中此數目等於耦接成從節點接 收訊包之可能的接收者數目,且其中各接收者位元之 值係用於辨識是否各可能的接收者為第一訊包之接收 者的其中之一。 2 3 .如申請專利範圊第2 1項之方法,更包含有: 因應前述的按路由發送,修改此路由項目以便此 路由項目不再辨識該接收者之該第一部份。 2 4.如申請專利範圍第2 3項之方法,更包含有: 假如在前述的按路由發送之後,此路由項目仍舊戀_92184.ptd 第66頁 577205 六、申請專利範圍 辨識其餘的接收者,則重複前 的修改直到此路由項目不再辨 5 ·如申請專利批圍第2 4項之方法 目不再辨識有任何的接收者之 此路由項目。 26·如申請專利範圍第19項之方法 包儲存在緩衝器内,該緩衝器 蜂所接收到之移動於該第一訊 的訊包。 2 7 ·如申請專利範圍第2 6項之方法 有判定該第一訊包的哪一個接 擬通道内具有至少一個的可供2 8 ·如申請專利範圍第1 g項之方法 多個計數值,各對應於個別其 者’其中各計數值辨識在其個 輪入緩衝器的數目。 29·如申請專利範圍第28項之方法 按路由發送而更新計數值之第 於個別其中一個接收者之第一 者之第一部份一個較少之輸入 3 0 ·如申請專利範圍第1 9項之方法 收者包含有一個裝置。 31·如申請專利範圍第30項之方法 央處理單元(CPU)。 述的按路由 識任何的接 ’更包含有 後,從該調 ’更包含有 係建構成儲 包所移動之 發送及前迷 收者。 當此路由項 度種式移除 將該第一訊 存利用輪入 虛擬通道内 ,其中前述 收者在該第 使用輸入緩 ,更包含有 的判定包含 一訊包的虛 衝器。 維護兩個或 訊包的接收 別接收者中可供使用之 中一個第一 更包含有 一部份 此 因應前述的 計數值對應 示在各接收 部份,以標 緩衝器可供使用。 ,其中該第一訊包的接 ,其中此裝置包含有中Ptd ill92184. 第67頁 177205 六、申請專利範圍 3 2 .如申請專利範圍第3 0項之方法,其中此裝置包含有記 憶體控制器。 3 3.如申請專利範圍第1 9項之方法,其中此裝置包含有電 腦系統。 3 4.如申請專利範圍第1 9項之方法,更包含有: 接收第二訊包,該第二訊包具有經由輸入埠之一 個或多個接收者; 判定是否該第二訊包的一個或多個接收者的至少 其中之一具有至少一個可用於接收該第二訊包的輸入 緩衝器;以及 假如該第二訊包的一個或多個接收者的至少其中 之一在該第一訊包的任何接收者具有至少一個可用於 接收該第一訊包之輸入緩衝器前具有至少可用於接收 該第二訊包的一個輸入緩衝器,則在路由發送該第一 訊包至其任何接收之前,先按路由發送該第二訊包至 其接收者的至少其中之一。 3 5 .如申請專利範圍第3 4項之方法,其中前述第二訊包的 接收發生在前述第一訊包的接收之前。 3 6 .如申請專利範圍第3 5項之方法,其中前述的第二訊包 具有單一個接收者。92184.ptd 第68頁
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/968,845 US7274692B1 (en) | 2001-10-01 | 2001-10-01 | Method and apparatus for routing packets that have multiple destinations |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW577205B true TW577205B (en) | 2004-02-21 |
Family
ID=25514850
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW091122466A TW577205B (en) | 2001-10-01 | 2002-09-30 | Method and apparatus for routing packets that have multiple destinations |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7274692B1 (zh) |
| TW (1) | TW577205B (zh) |
| WO (1) | WO2003030470A1 (zh) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10270713B2 (en) * | 2014-12-16 | 2019-04-23 | Oracle International Corporation | Scheduling packets with multiple destinations in a virtual output queue network switch |
| US10176126B1 (en) * | 2015-06-29 | 2019-01-08 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for a PCI implementation handling multiple packets |
| US9860841B2 (en) * | 2015-08-20 | 2018-01-02 | Apple Inc. | Communications fabric with split paths for control and data packets |
| US11030102B2 (en) | 2018-09-07 | 2021-06-08 | Apple Inc. | Reducing memory cache control command hops on a fabric |
| US11275632B2 (en) | 2018-09-14 | 2022-03-15 | Advanced Micro Devices, Inc. | Broadcast command and response |
| CN113010173A (zh) | 2019-12-19 | 2021-06-22 | 超威半导体(上海)有限公司 | 并行处理中矩阵数据广播的方法 |
| CN113094099A (zh) | 2019-12-23 | 2021-07-09 | 超威半导体(上海)有限公司 | 矩阵数据广播架构 |
| US11403221B2 (en) | 2020-09-24 | 2022-08-02 | Advanced Micro Devices, Inc. | Memory access response merging in a memory hierarchy |
| US11757798B2 (en) | 2020-12-28 | 2023-09-12 | Arteris, Inc. | Management of a buffered switch having virtual channels for data transmission within a network |
| CN115118677B (zh) * | 2022-06-24 | 2024-06-25 | 无锡中微亿芯有限公司 | 一种fpga中的片上网络的路由节点调度方法 |
| US12542748B2 (en) | 2022-06-24 | 2026-02-03 | Wuxi Esiontech Co., Ltd. | Routing node scheduling method for network on chip (NOC) in field programmable gate array (FPGA) |
Family Cites Families (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4727537A (en) | 1985-12-24 | 1988-02-23 | American Telephone And Telegraph Company | Flow control arrangement for the transmission of data packets to a communication network |
| US5043979A (en) | 1986-09-16 | 1991-08-27 | Hitachi, Ltd. | Time-division channel arrangement |
| US5379297A (en) * | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
| JPH06318951A (ja) | 1993-01-07 | 1994-11-15 | Toshiba Corp | セル転送方法およびセル転送システム |
| JP2644185B2 (ja) | 1994-06-27 | 1997-08-25 | 甲府日本電気株式会社 | データ処理装置 |
| US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
| JP2001519973A (ja) | 1995-07-19 | 2001-10-23 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 共用バッファへの優先度付きアクセス |
| SE9504231L (sv) | 1995-11-27 | 1997-05-28 | Ericsson Telefon Ab L M | Kösystem för överföring av informatonspaket |
| US6542502B1 (en) * | 1996-01-26 | 2003-04-01 | International Business Machines Corporation | Multicasting using a wormhole routing switching element |
| US5892766A (en) | 1996-02-22 | 1999-04-06 | Fujitsu, Ltd. | Method and apparatus for coordinating access to an output of a routing device in a packet switching network |
| US5784003A (en) * | 1996-03-25 | 1998-07-21 | I-Cube, Inc. | Network switch with broadcast support |
| US5898687A (en) * | 1996-07-24 | 1999-04-27 | Cisco Systems, Inc. | Arbitration mechanism for a multicast logic engine of a switching fabric circuit |
| US5901147A (en) | 1996-08-30 | 1999-05-04 | Mmc Networks, Inc. | Apparatus and methods to change thresholds to control congestion in ATM switches |
| US5970229A (en) * | 1996-09-12 | 1999-10-19 | Cabletron Systems, Inc. | Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory |
| US6188690B1 (en) * | 1996-12-12 | 2001-02-13 | Pmc-Sierra, Inc. | Method and apparatus for high speed, scalable communication system |
| US5915104A (en) | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
| US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
| US5918074A (en) * | 1997-07-25 | 1999-06-29 | Neonet Llc | System architecture for and method of dual path data processing and management of packets and/or cells and the like |
| US6781994B1 (en) * | 1997-12-25 | 2004-08-24 | Kabushiki Kaisha Toshiba | Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding |
| US6417944B1 (en) * | 1998-05-28 | 2002-07-09 | 3Com Corporation | Asynchronous transfer mode switch utilizing optical wave division multiplexing |
| US7346063B1 (en) * | 1998-07-08 | 2008-03-18 | Broadcom Corporation | Memory management unit for a network switch |
| US6611519B1 (en) * | 1998-08-19 | 2003-08-26 | Swxtch The Rules, Llc | Layer one switching in a packet, cell, or frame-based network |
| JP3866425B2 (ja) * | 1998-11-12 | 2007-01-10 | 株式会社日立コミュニケーションテクノロジー | パケットスイッチ |
| US6661774B1 (en) | 1999-02-16 | 2003-12-09 | Efficient Networks, Inc. | System and method for traffic shaping packet-based signals |
| US6996099B1 (en) | 1999-03-17 | 2006-02-07 | Broadcom Corporation | Network switch having a programmable counter |
| US7145869B1 (en) | 1999-03-17 | 2006-12-05 | Broadcom Corporation | Method for avoiding out-of-ordering of frames in a network switch |
| US6519225B1 (en) | 1999-05-14 | 2003-02-11 | Nortel Networks Limited | Backpressure mechanism for a network device |
| US6654346B1 (en) | 1999-07-19 | 2003-11-25 | Dunti Corporation | Communication network across which packets of data are transmitted according to a priority scheme |
| US6556571B1 (en) * | 1999-05-25 | 2003-04-29 | Nec Usa, Inc. | Fast round robin priority port scheduler for high capacity ATM switches |
| US6768717B1 (en) | 1999-05-28 | 2004-07-27 | Network Equipment Technologies, Inc. | Apparatus and method for traffic shaping in a network switch |
| CA2310909C (en) | 1999-06-12 | 2005-05-24 | Jinoo Joung | Packet switching apparatus and method in data network |
| US6888830B1 (en) | 1999-08-17 | 2005-05-03 | Mindspeed Technologies, Inc. | Integrated circuit that processes communication packets with scheduler circuitry that executes scheduling algorithms based on cached scheduling parameters |
| US6553446B1 (en) * | 1999-09-29 | 2003-04-22 | Silicon Graphics Inc. | Modular input/output controller capable of routing packets over busses operating at different speeds |
| US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
| US6687247B1 (en) | 1999-10-27 | 2004-02-03 | Cisco Technology, Inc. | Architecture for high speed class of service enabled linecard |
| US6674754B1 (en) * | 1999-11-09 | 2004-01-06 | Synchrodyne Networks, Inc. | Wavelength division multiplexing combined with time division multiplexing using a common time reference |
| US6484224B1 (en) | 1999-11-29 | 2002-11-19 | Cisco Technology Inc. | Multi-interface symmetric multiprocessor |
| US6754211B1 (en) * | 1999-12-01 | 2004-06-22 | Mosaid Technologies, Inc. | Method and apparatus for wire speed IP multicast forwarding |
| ATE331369T1 (de) * | 2000-03-06 | 2006-07-15 | Ibm | Schaltvorrichtung und verfahren |
| US6629147B1 (en) * | 2000-03-31 | 2003-09-30 | Intel Corporation | Segmentation and reassembly of data frames |
| US7136381B2 (en) * | 2000-06-19 | 2006-11-14 | Broadcom Corporation | Memory management unit architecture for switch fabric |
| US6745277B1 (en) | 2000-10-04 | 2004-06-01 | Force10 Networks, Inc. | Intelligent interleaving scheme for multibank memory |
| US6975638B1 (en) | 2000-10-13 | 2005-12-13 | Force10 Networks, Inc. | Interleaved weighted fair queuing mechanism and system |
| US7002926B1 (en) * | 2000-11-30 | 2006-02-21 | Western Digital Ventures, Inc. | Isochronous switched fabric network |
| US6959002B2 (en) | 2001-05-01 | 2005-10-25 | Integrated Device Technology, Inc. | Traffic manager for network switch port |
| US20030035371A1 (en) * | 2001-07-31 | 2003-02-20 | Coke Reed | Means and apparatus for a scaleable congestion free switching system with intelligent control |
| US6950394B1 (en) * | 2001-09-07 | 2005-09-27 | Agilent Technologies, Inc. | Methods and systems to transfer information using an alternative routing associated with a communication network |
-
2001
- 2001-10-01 US US09/968,845 patent/US7274692B1/en not_active Expired - Lifetime
-
2002
- 2002-08-22 WO PCT/US2002/026813 patent/WO2003030470A1/en not_active Ceased
- 2002-09-30 TW TW091122466A patent/TW577205B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| WO2003030470A1 (en) | 2003-04-10 |
| US7274692B1 (en) | 2007-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7269709B2 (en) | Memory controller configurable to allow bandwidth/latency tradeoff | |
| US6950438B1 (en) | System and method for implementing a separate virtual channel for posted requests in a multiprocessor computer system | |
| US6938094B1 (en) | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation | |
| US7237016B1 (en) | Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device | |
| TW577205B (en) | Method and apparatus for routing packets that have multiple destinations | |
| US6888843B2 (en) | Response virtual channel for handling all responses | |
| US20080043742A1 (en) | Transmission using multiple physical interface | |
| US20040019730A1 (en) | On chip network with independent logical and physical layers | |
| US7295563B2 (en) | Method and apparatus for routing packets that have ordering requirements | |
| CN103729329A (zh) | 核间通信装置及方法 | |
| TW201225584A (en) | Apparatus, system, and methods for facilitating one-way ordering of messages | |
| TW201203947A (en) | Cell based data transfer with dynamic multi-path routing in a full mesh network without central control | |
| CN104081722A (zh) | SoC构造中的高效对等通信支持 | |
| JP4255833B2 (ja) | コンピュータ・システムの入出力ノードにおけるタグ付けおよび調停メカニズム | |
| JPH02150140A (ja) | 非同期高速パケツト・スイツチングのためのラベル・スイツチング及び制御インタフエース | |
| US20040100900A1 (en) | Message transfer system | |
| US7221678B1 (en) | Method and apparatus for routing packets | |
| US7346722B2 (en) | Apparatus for use in a computer systems | |
| JP6835758B2 (ja) | フロー制御装置および方法 | |
| US7844758B1 (en) | Dynamic resource allocation scheme for efficient use of a queue | |
| TW588250B (en) | Computer system I/O node | |
| TWI223747B (en) | Increasing memory access efficiency for packet applications | |
| WO2002015470A2 (en) | System and method for separate virtual channels for posted requests in a multiprocessor system | |
| JP4489116B2 (ja) | リングインターコネクト上のパケットの同期的非バッファフロー制御のための方法及び装置 | |
| US6098105A (en) | Source and destination initiated interrupt method for message arrival notification |