亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于高容量異步傳輸模式交換機(jī)的快速循環(huán)端口調(diào)度程序的制作方法

文檔序號(hào):7604266閱讀:313來(lái)源:國(guó)知局
專利名稱:用于高容量異步傳輸模式交換機(jī)的快速循環(huán)端口調(diào)度程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)系統(tǒng)和控制網(wǎng)絡(luò)周圍的數(shù)據(jù)流動(dòng)的交換機(jī),更具體的涉及高容量異步傳輸模式(ATM)交換機(jī)和通過(guò)交換機(jī)管理ATM信元流的調(diào)度程序。
在眾多的局域網(wǎng)(LAN)/廣域網(wǎng)(WAN)和遠(yuǎn)程通訊系統(tǒng)中已經(jīng)采用了ATM交換機(jī)。

圖1中示出了ATM交換機(jī)的基本結(jié)構(gòu)。交換機(jī)包括一組輸入端口、一組輸出端口和中心調(diào)度程序。流動(dòng)的ATM信元到達(dá)輸出端口并被切換到所指定的輸出端口。任何輸入通過(guò)由ATM調(diào)度程序進(jìn)行決定可在不同的時(shí)間到達(dá)任何的輸出。通過(guò)多個(gè)ATM交換機(jī),在任何的單元時(shí)間內(nèi)會(huì)產(chǎn)生限制,只有一個(gè)單元可被調(diào)度。輸入可與一個(gè)或幾個(gè)輸出相連。因此,輸入與輸出的映射是一對(duì)多的操作。如果一個(gè)輸入只被切換到一個(gè)輸出,此種連接模式被稱為單點(diǎn)傳送(unicast)。如果另一方面,一個(gè)輸入被發(fā)送到多個(gè)輸出端口,此種連接方式被稱為多點(diǎn)傳送(multicast)。調(diào)度程序執(zhí)行這些連接的最快速度是決定ATM交換機(jī)的最大總處理能力的因素。
在文獻(xiàn)種已經(jīng)揭示了多種的ATM結(jié)構(gòu)。很多此類的文獻(xiàn)都著眼于輸入/輸出緩沖ATM交換機(jī)。參見IEEE INFO COM,1992 I.Iliadis的“在非平衡通信量中的具有輸入和輸出隊(duì)列的分組交換機(jī)的性能”和I.Iliadia和W.E.DenZel的發(fā)表在IEEE INFO COM,1990的“具有輸入輸出隊(duì)列的分組交換機(jī)的性能”。在輸入/輸出緩沖交換機(jī)中,在輸出端口產(chǎn)生單元隊(duì)列。所有的輸入緩沖器都以線路速率進(jìn)行工作,其可為622兆位/秒,或以類似的速度。輸入緩沖的一個(gè)弊端是線路頭(Head-Of-Line(HOL))堵塞,其是由于輸出緩沖器已滿而無(wú)被發(fā)送的輸入單元所造成的結(jié)果。這個(gè)問(wèn)題可通過(guò)根據(jù)目標(biāo)端口由輸入模塊中的隊(duì)列單元進(jìn)行解決。所有的隊(duì)列被存儲(chǔ)在共享的公共存儲(chǔ)器中。
最早的一個(gè)調(diào)度ATM信元的方法是先入先出(FIFO)。此方法以單元到達(dá)輸入端的順序進(jìn)行連接。雖然此方法簡(jiǎn)單,但是其無(wú)法保證公平地共享帶寬。為了解決此問(wèn)題,人們已經(jīng)提出了一種公平共享調(diào)度程序。參見A.Demers等人在1990年1月的互連網(wǎng)雜志研究和實(shí)驗(yàn),第3-26頁(yè)“公平隊(duì)列算法的分析和仿真”,Golestani的在1994年6月的IEEE INFOCOM,“用于寬帶應(yīng)用的自計(jì)時(shí)公平隊(duì)列調(diào)度程序”及J.Bennett和H.Zhang在1996年3月的IEEE INFOCOM,第120-128頁(yè)中的“WF2Q最差情況的公平權(quán)重公平隊(duì)列”。已經(jīng)發(fā)表的一種公平共享調(diào)度程序?yàn)闄?quán)重循環(huán)。參見M.Katevenis等人在1991年10月的IEEEJSACpp.1265-1279中的“在常規(guī)目的的ATM交換機(jī)中的權(quán)重循環(huán)單元的多路復(fù)用”。
通常的,調(diào)度程序的結(jié)構(gòu)可表示為有限狀態(tài)機(jī),如圖2中所示。有限狀態(tài)機(jī)(FSM)的當(dāng)前狀態(tài),標(biāo)記為P.STATE,其表示正進(jìn)行交換機(jī)連接的當(dāng)前所選的輸出端口。下一個(gè)所選的輸出端口,標(biāo)記為NSTATE,為當(dāng)前狀態(tài)P_STATE和兩個(gè)輸入信號(hào)IB_STAUS和OB_STATUS的函數(shù)。信號(hào)IB_STATUS和OR_STATUS為分別來(lái)自輸入和輸出緩沖器的狀態(tài)信號(hào)。IB_STATU表示哪一個(gè)輸入緩沖器(IB)為BUSY或NOT_BUSY,即其是否包含一個(gè)信元。OB_STATUS表示通過(guò)對(duì)到達(dá)某一特定的輸出緩沖器的信元指派信號(hào)STOP、SHARE或GO而在輸出緩沖器(OB)處的充滿程度。因此,GO表示可以最大的線路速率將單元發(fā)送到OB,相反的,STOP表示禁止發(fā)送單元。SHARE信號(hào)指示放慢向OB發(fā)送單元。在此狀態(tài)機(jī)中,需注意的是,輸入信號(hào)和當(dāng)前的狀態(tài)被用于決定下一個(gè)狀態(tài)FSM被稱為米利機(jī)(Mealymachine)。
雖然現(xiàn)有技術(shù)的系統(tǒng)通過(guò)較好的調(diào)度程序可提高交換機(jī)的速度,對(duì)網(wǎng)絡(luò)性能而言在速度上小的改進(jìn)是很有益的。另外,上述的交換機(jī)不具有高度的可伸縮性。因此,如果交換機(jī)的端口數(shù)增多,交換機(jī)的總的過(guò)程延遲會(huì)隨著端口數(shù)的增多而增大。現(xiàn)有技術(shù)的系統(tǒng)在所需的邏輯門上也不夠緊密,而這在當(dāng)系統(tǒng)被應(yīng)用在硅技術(shù)中時(shí)是很重要的。
本發(fā)明的一個(gè)目的是提供一種用于高速ATM交換機(jī)的調(diào)度程序,其使用能夠高速運(yùn)行的循環(huán)調(diào)度程序。
本發(fā)明的另外的一個(gè)目的是提供一種就邏輯門的要求而言很緊密且尺寸規(guī)劃好的調(diào)度程序。
本發(fā)明的再一個(gè)目的是提供一種調(diào)度程序,其具有一個(gè)總的交換機(jī)過(guò)程延遲,該過(guò)程延遲與交換機(jī)上的端口數(shù)的增加成對(duì)數(shù)關(guān)系,而不是隨著端口數(shù)的增加過(guò)程延遲也線性的增大。
本發(fā)明的另外的一個(gè)目的是提供一種用于具有耐用結(jié)構(gòu)且具備更強(qiáng)的總的處理能力的交換機(jī)的調(diào)度程序。
根據(jù)本發(fā)明的第一方面,使用ATM交換機(jī)控制具有輸出端口、輸出端口和中心調(diào)度程序的網(wǎng)絡(luò)中的ATM信元的數(shù)據(jù)流。中心調(diào)度程序使用樹結(jié)構(gòu)并參考前面所選的輸出端口處理包含數(shù)據(jù)的數(shù)據(jù)包。然后調(diào)度程序從一組輸出端口中選擇一個(gè)特定的輸出端口,并在端口隊(duì)列的開頭將ATM信元傳送到所指定的輸出。調(diào)度程序可交替的使用切入路徑以選擇特定的輸出端口。
在另外的一個(gè)實(shí)施例中,中心調(diào)度程序根據(jù)所述輸出端口的所檢測(cè)到的就緒狀態(tài)選擇特定的輸出端口。就緒狀態(tài)可能不是用于在調(diào)度程序中設(shè)置優(yōu)先的就緒狀態(tài)、通常的就緒狀態(tài)或優(yōu)先的就緒狀態(tài)。另外,所選的端口也依據(jù)輸出端口的最小信元速率而確定。
在第三實(shí)施例中,ATM交換機(jī)的調(diào)度程序使用了一個(gè)具有二元樹結(jié)構(gòu)或四元樹結(jié)構(gòu)。另外,ATM交換機(jī)可以單點(diǎn)傳送或多點(diǎn)傳送的連接方式進(jìn)行工作。
在第四實(shí)施例中,其提供了一種對(duì)到達(dá)輸出端口而要被發(fā)送到輸出端口的輸入信號(hào)進(jìn)行調(diào)度的方法。通過(guò)確定所述輸出端口的就緒狀態(tài),根據(jù)所述的就緒狀態(tài)以循環(huán)的方式選擇其中的一個(gè)所述輸出端口,輸入信號(hào)被從所選的輸出端口發(fā)送到所指定的輸出端口。選擇過(guò)程使用具有給定數(shù)目的節(jié)點(diǎn)的樹結(jié)構(gòu),從而數(shù)據(jù)包(其中包含與前面所選的輸出端口、就緒狀態(tài)和輸出端口有關(guān)的信息)通過(guò)節(jié)點(diǎn),而選擇具有指定的輸出端口的特定的數(shù)據(jù)包。
在第五實(shí)施例中,每個(gè)節(jié)點(diǎn)具有兩個(gè)輸入和一個(gè)輸出,并通過(guò)對(duì)每個(gè)數(shù)據(jù)包的某一位的高速的比較而確定將那一個(gè)輸入提供到所述的輸出。
在第六實(shí)施例中,交換機(jī)為ATM交換機(jī)。
在第七實(shí)施例中,調(diào)度程序使用了一個(gè)具有二元樹結(jié)構(gòu)或四元樹結(jié)構(gòu)的樹結(jié)構(gòu),并可以單點(diǎn)傳送或多點(diǎn)傳送連接方式進(jìn)行工作。在第八實(shí)施例中,以權(quán)重循環(huán)方式進(jìn)行選擇的過(guò)程。
在第九的實(shí)施例中,提供ATM交換機(jī)用于控制具有輸出端口、輸出端口和中心調(diào)度程序的網(wǎng)絡(luò)中的ATM信元的數(shù)據(jù)流。中心調(diào)度程序參考前面所選的輸出端口處理包含數(shù)據(jù)的數(shù)據(jù)包。調(diào)度程序運(yùn)行,從而在交換機(jī)中的ATM信元的數(shù)據(jù)流中的總的處理延遲只隨著端口總數(shù)的增長(zhǎng)呈對(duì)數(shù)增大。然后調(diào)度程序選擇輸出端口的特定的輸出端口并將特定的輸出端口單元發(fā)送到輸出端口的所指定的輸出。
下面將對(duì)本發(fā)明的其他的目的和優(yōu)點(diǎn)進(jìn)行描述,通過(guò)描述或通過(guò)實(shí)踐這些優(yōu)點(diǎn)是很明顯的。通過(guò)所述的描述和所附權(quán)利要求的結(jié)合會(huì)實(shí)現(xiàn)和獲得本發(fā)明的上述的目的和優(yōu)點(diǎn)。
圖1為ATM交換機(jī)結(jié)構(gòu)的示意圖;圖2為表示為有限狀態(tài)機(jī)的調(diào)度程序的結(jié)構(gòu)示意圖;圖3為用于描述用于128端口輸入/輸出ATM交換機(jī)的ATM調(diào)度程序結(jié)構(gòu)的示意圖;圖4為用于描述ATM交換機(jī)的端口的組成的示意圖;圖5示出了實(shí)現(xiàn)4的多點(diǎn)回顧的結(jié)構(gòu)示意圖;圖6示出了二元樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)結(jié)構(gòu)的示意圖;圖7為用于描繪通過(guò)節(jié)點(diǎn)元件處理數(shù)據(jù)包的示意圖;圖8(a)和8(b)示出了在選擇端口過(guò)程中二元樹的工作實(shí)例的示意圖;及圖9描述了循環(huán)調(diào)度程序的執(zhí)行程序。
圖3描繪了用于128端口輸入/輸出ATM交換機(jī)的ATM調(diào)度程序結(jié)構(gòu)的示意圖。正如前面所描述的,ATM調(diào)度程序可被想象稱為有限狀態(tài)機(jī),其中下一個(gè)狀態(tài)基于當(dāng)前的狀態(tài)和所有的輸入。交換機(jī)中的每個(gè)輸出端口可為三種狀態(tài)中的一種未就緒、常規(guī)就緒和有限就緒。調(diào)度程序必須從就緒輸出端口以循環(huán)的方式選擇一個(gè)具有高于常規(guī)就緒端口的優(yōu)先級(jí)的優(yōu)先就緒端口。
通過(guò)將信號(hào)IB_STATUS、OB_STATUS和MCR_STATUS的邏輯結(jié)合獲得對(duì)于每個(gè)端口的就緒(READY)信號(hào)了。如果對(duì)于一個(gè)端口的READY的比特位置為‘1’,其意味著端口可將單元發(fā)送到被稱做OB的指定的輸出端口。如果位為‘0’,端口不能發(fā)送單元。OB_STATUS信號(hào)為來(lái)自O(shè)B的背壓信號(hào),表示在輸出端口的擁擠程度。每個(gè)OB可處于三種狀態(tài)中的一種STOP、SHARE或GO。每個(gè)OB將一個(gè)2-位狀態(tài)信號(hào)發(fā)送回輸入端口,表示其處于三種狀態(tài)中的哪一種。在表1中的真值表示對(duì)OB_STATUS的編碼。每個(gè)端口同樣被分配一個(gè)必須總是保持不變的稱為MCR速率的最小信元速率。對(duì)于每個(gè)端口的MCR信號(hào)是周期性的,且它們產(chǎn)生在端口選擇器子宏塊的外部。MCR信號(hào)被用作為優(yōu)先于SHAPE信號(hào)并使端口優(yōu)先就緒。如果同時(shí)設(shè)定了IB_STATUS和MCR_STATUS且端口處于GO模式,則端口同樣為優(yōu)先就緒。當(dāng)端口為優(yōu)先就緒時(shí),則指定一個(gè)規(guī)則,所有的通常就緒信號(hào)被禁止,即設(shè)置等于0。表2中的真值表中示出產(chǎn)生就緒信號(hào)的方法。
表1
表2(a)
表2(b)
READY(就緒)的特征在于如果輸入緩沖器存在一個(gè)單元準(zhǔn)備發(fā)送,且其不會(huì)被其任何的目標(biāo)OB所阻止,并將置位READY位。為了更加的精確,如果輸入緩沖器具有一個(gè)要被發(fā)送的單元(IB_STATUS為‘1’),且要向其發(fā)送單元的所有的OB都處于GO狀態(tài)(或MCR位被置位的SHAPE),并將置位READY位。否則,將不會(huì)置位READY位。
存在兩種類型的有效READY信號(hào)普通就緒和優(yōu)先就緒。其原則是如果任何的端口為優(yōu)先就緒,則所有的為普通就緒的端口被掩蔽。換句話說(shuō),它們的READY信號(hào)被禁止。交換機(jī)具有128個(gè)單點(diǎn)傳送端口,這些端口被等量的劃分為實(shí)時(shí)端口(RT)和非實(shí)時(shí)端口(NRT)。因此,有64個(gè)RT端口和64個(gè)NRT端口用于單點(diǎn)傳送。另外,分別存在一個(gè)RT和一個(gè)NRT用于多點(diǎn)傳送。圖4中示出了其結(jié)構(gòu)組成。
多點(diǎn)傳送的單元的發(fā)送工作方式與單點(diǎn)傳送不同。單點(diǎn)傳送端口向其被指定的處于就緒的一個(gè)OB發(fā)送一個(gè)單元,而多點(diǎn)傳送端口可向多個(gè)OB發(fā)送單元。通過(guò)多點(diǎn)傳送端口發(fā)送單元的工作描述如下。
每個(gè)多點(diǎn)傳送端口被分配一個(gè)目標(biāo)端口向量(DPV),16位長(zhǎng),每位表示端口是否將其發(fā)送到該特定的OB。換句話說(shuō),如果位被置位,端口將會(huì)將其發(fā)送到OB,否則端口將不發(fā)送。所有的由DPV所確定的OB必須準(zhǔn)備進(jìn)行接收,否則多點(diǎn)傳送將不向任何OB進(jìn)行發(fā)送。為了消除線路頭(HOL)堵塞,進(jìn)行4的回顧。如果端口隊(duì)列中的任何前面4個(gè)單元的指定的OB被就緒進(jìn)行接收,多點(diǎn)傳送端口將向該組OB進(jìn)行發(fā)送。
為了以及時(shí)的方式進(jìn)行多點(diǎn)傳送單元的4的回顧,需要將第一個(gè)4多點(diǎn)傳送單元的描述符存儲(chǔ)進(jìn)芯片上高速緩存存儲(chǔ)器中。在每個(gè)塊中用2×4字節(jié)將高速緩存存儲(chǔ)器構(gòu)成為4個(gè)塊。這與ATM信元描述符具有相同的尺寸。因此,高速緩存存儲(chǔ)器的總的尺寸為8×4字節(jié)。每個(gè)塊中的DPV字段被存儲(chǔ)進(jìn)16位寄存器中。當(dāng)選擇了多點(diǎn)傳送端口時(shí),所有的4寄存器被相關(guān)的與由OB狀態(tài)寄存器所表示的狀態(tài)進(jìn)行比較。如果在4個(gè)DPV中任何一個(gè)中的所有目標(biāo)OB可接收一個(gè)信元,則產(chǎn)生“命中(hit)”。如果產(chǎn)生多于一個(gè)的命中,則以FIFO的順序?qū)Ω咚倬彺娲鎯?chǔ)器進(jìn)行訪問(wèn)。與所選的多點(diǎn)傳送單元相關(guān)的調(diào)度隊(duì)列識(shí)別(SOL)塊被從高速緩沖存儲(chǔ)器中讀出。圖5中示出實(shí)現(xiàn)4的回顧的結(jié)構(gòu)。用于選擇多點(diǎn)傳送端口的程序可簡(jiǎn)述如下。
每個(gè)多點(diǎn)傳送SQI被指定一個(gè)DPV,16位長(zhǎng),每位表示端口是否向OB進(jìn)行發(fā)送。DPV字段范圍為SQI字2的從第31位到第16位的范圍;由于存在64個(gè)OB,用一個(gè)2位的平面指示符(PI)表示DPV代表64OB的哪一個(gè)子組;如果在多點(diǎn)傳送端口的DPV中確定其可向所有的OB進(jìn)行發(fā)送,則多點(diǎn)傳送端口為就緒;為了消除線路頭堵塞,同時(shí)對(duì)RT和NRT表進(jìn)行4的回顧;
多點(diǎn)傳送高速緩沖存儲(chǔ)器存儲(chǔ)第一組4個(gè)SQI,從而在一個(gè)SQI被讀出后,通過(guò)來(lái)自外部存儲(chǔ)器中的多點(diǎn)傳送端口表的一個(gè)對(duì)其進(jìn)行替換;如果由DPV所確定的所有的目標(biāo)OB不是STOP,則產(chǎn)生命中;在多個(gè)命中的情況下,按FIFO順序訪問(wèn)高速緩沖存儲(chǔ)塊。
可使用二元樹進(jìn)行端口調(diào)度/選擇。用于128端口輸入/輸出ATM交換機(jī)的二元樹共有127個(gè)節(jié)點(diǎn)。在樹中具有64葉節(jié)點(diǎn),每葉節(jié)點(diǎn)具有兩個(gè)輸入鏈路。每個(gè)鏈路代表交換機(jī)的輸出端口,因此,對(duì)于128端口交換機(jī),有128個(gè)連接葉節(jié)點(diǎn)的鏈路。將比特位置從兩個(gè)寄存器連接到鏈路。這些寄存器被命名為TOKEN(標(biāo)識(shí))和READY(就緒),并將在后續(xù)的段落中進(jìn)行定義。最初,端口選擇過(guò)程包含從最后被選擇的端口比特位置開始從左到右掃描端口READY位。掃描過(guò)程一直進(jìn)行到遇到‘1’位為止,且此端口變?yōu)樾卤贿x擇的端口。如果在從左到右的掃描過(guò)程中未遇到‘1’位,則從第一位向最后被選擇的比特位置進(jìn)行從左到右掃描。類似的,掃描過(guò)程直到遇到‘1’位時(shí)為止,此端口變?yōu)樾卤贿x擇的端口。在實(shí)踐中,同時(shí)在最后被選擇的端口比特位置的兩側(cè)進(jìn)行掃描。下面通過(guò)實(shí)例對(duì)此過(guò)程作進(jìn)一步的描述。
考慮到一個(gè)8端口輸入/輸出交換機(jī),端口被從1到8進(jìn)行編號(hào)。正如前面所描述的,存在兩個(gè)向量,稱為READY向量和TOKEN向量。READY向量與輸出端口具有相同數(shù)目的位。READY向量中的每個(gè)位表示相應(yīng)的端口是否就緒。通過(guò)READY向量的MSB表示端口1的就緒狀態(tài)。如果交換機(jī)的當(dāng)前狀態(tài)具有READY向量01011010,其中從左到右的每個(gè)位分別表示端口1到8。與端口相關(guān)的下面劃線的位是當(dāng)前被選擇的端口。掃描具有下劃線的數(shù)位右側(cè)的數(shù)位,遇到的第一位為‘1’,是位7。因此,下一個(gè)被選擇的端口是端口號(hào)7。在選擇端口后,位7被下劃線,反映出其是新被選擇的端口。READY向量現(xiàn)在為01011010。在下一輪的端口選擇中,在下面劃線的位的右側(cè)不存在1。因此,將在下面劃線的位的左側(cè)進(jìn)行掃描。首先遇到的‘1’是位2,其表示端口2將是下一個(gè)被選擇的位。因此,01011010是所獲得的READY向量。
除了READY位向量外,還存在另外一個(gè)名為TOKEN的向量。TOKEN向量與READY向量的大小相同。通過(guò)前面的READY=01011010的實(shí)例可被用于解釋如何獲得TOKEN向量中的位。在此情況下,TOKEN=11111000,其中所有在劃線位的左側(cè)的位,包括該下劃線位被設(shè)為‘1’,下劃線位的右側(cè)的其他的位被設(shè)為‘0’。因此,在READY=01010000的情況下,TOKEN將為11111110。最后,對(duì)于READY=01010000,TOKEN將為11111111。同樣,作為一種附注,TOKEN=00000000等同于TOKEN=11111111。最后,READY位向量中的每個(gè)位被稱為“READY位”,而TOKEN位中的每個(gè)位被稱為“TOKEN位”。
在輸入/輸出交換機(jī)中的每個(gè)端口可通過(guò)被稱做PORT_NUMBER的8-位數(shù)表示??偣泊嬖?28個(gè)端口,標(biāo)號(hào)是1到128,通過(guò)8-位的PORT_NUMBER表示。對(duì)應(yīng)于PORT_NUMBER的READY位和TOKEN位被附到PORT_NUMBER的LHS,以形成10-位的數(shù)據(jù)包。在端口選擇的開始,對(duì)應(yīng)每個(gè)端口的128個(gè)不同的數(shù)據(jù)包被施加到相應(yīng)的與二元樹的子葉相關(guān)的對(duì)應(yīng)的鏈路上,如圖8中所示。二元樹中的每個(gè)節(jié)點(diǎn)具有兩個(gè)輸入鏈路和一個(gè)輸出鏈路,如圖6中所示。輸入鏈路和輸出鏈路被分別表示為RIGHT(右),LEFT(左)和PARENT(母)鏈路。被提供到子葉上的數(shù)據(jù)包掃過(guò)樹且它們中的一個(gè)最終通過(guò)根節(jié)點(diǎn)的PARENT鏈路。此數(shù)據(jù)包包含新被選擇端口的端口號(hào)PORT_NUMBER。
當(dāng)數(shù)據(jù)包在樹上路由時(shí),對(duì)樹進(jìn)行前面所述的快速掃描運(yùn)算。樹中的每個(gè)節(jié)點(diǎn)在其LEFT和RIGHT鏈路接受數(shù)據(jù)包,快速對(duì)位8和位9進(jìn)行比較,并將適宜的數(shù)據(jù)包送上通過(guò)其PARENT鏈路。以切入的方式將數(shù)據(jù)包送到樹上,即在節(jié)點(diǎn)無(wú)緩沖。另外,在節(jié)點(diǎn)的處理非常的簡(jiǎn)單,只是使程序執(zhí)行的簡(jiǎn)單且快速。
圖7中的流程圖示出一節(jié)點(diǎn)元素把進(jìn)入其RIGHT和LEFT鏈路的數(shù)據(jù)包路由通過(guò)PARENT鏈路的方式。節(jié)點(diǎn)的第一個(gè)行為是檢查其LEFT鏈路上的輸入數(shù)據(jù)包的位9、8,依據(jù)這些位的設(shè)置,可能采取四個(gè)行為中的一種。如果位9、8為“00”或“01”,則分別在RIGHT和LEFT鏈路上的輸入數(shù)據(jù)包被通過(guò)PARENT鏈路。如果另一方面,位9、8是“01”或(“11”),則RIGHT鏈路上的輸入數(shù)據(jù)包的位9、8被檢測(cè)。如果圖中所示的這些位是“01“或“11”(“10”),RIGHT鏈路上的輸入數(shù)據(jù)包路由到PARENT。在其他的情況下,LEFT鏈路上的輸入數(shù)據(jù)路由到PARENT。數(shù)據(jù)包從子葉節(jié)點(diǎn)開始前行到樹上。從根節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包包含新選擇端口的端口號(hào)PORT_NUMBER。
下面將描述在選擇端口的過(guò)程中二元樹的工作方式。在圖8中示出了一個(gè)15-節(jié)點(diǎn)的樹結(jié)構(gòu)。此結(jié)構(gòu)被用于選擇16端口中的一個(gè)。假設(shè)最后被選擇的端口是9。因此,TOKEN向量被設(shè)置,從而位9及其左側(cè)的所有的位被設(shè)定為‘1’,9的所有右側(cè)的位被設(shè)定為‘0’。同樣假設(shè)READY向量具有圖8(a)中所示的位設(shè)置。形成由TOKEN位、READY位和PORT_NUMBER構(gòu)成的3字段數(shù)據(jù)包。將這些數(shù)據(jù)包提供到圖8(a)中所示的葉節(jié)點(diǎn)的輸入鏈路中。每個(gè)節(jié)點(diǎn)使用圖7中所示的格式將其RIGHT和LEFT鏈路中的其中的一個(gè)輸入數(shù)據(jù)包切換到其PARENT鏈路上。來(lái)自根節(jié)點(diǎn)的數(shù)據(jù)包包含所選的端口號(hào)。
在圖8(a)中所示的實(shí)例中,來(lái)自根節(jié)點(diǎn)的數(shù)據(jù)包包含12作為所選的端口號(hào)。需注意的是,最后被選擇的端口是端口9。因此,將READY位設(shè)定到端口9的右側(cè)的第一個(gè)端口為端口12。因此,樹確實(shí)可選擇正確的端口。在圖8(b)所示的實(shí)例中,示出了最后被選擇的端口為同樣是端口9的情況。然而,所有的到位9的RHS的位都為‘0’。因此,在端口9的RHS上無(wú)可供選擇的READY端口。因此,端口9的LHS上的端口被從端口1進(jìn)行搜索。第一個(gè)具有其READY位設(shè)置的端口為端口2,且其變?yōu)橄乱粋€(gè)被選擇的端口。同樣可以看到,當(dāng)無(wú)就緒的端口時(shí),總是選擇端口1,即在樹的根上出現(xiàn)端口號(hào)1。然而,其READY位是‘0’,因此可知端口沒(méi)有就緒。
二元樹只選擇其中的一個(gè)單點(diǎn)傳送端口。樹選擇算法不考慮多點(diǎn)傳送端口是否就緒。因此,存在一個(gè)在單點(diǎn)傳送端口和多點(diǎn)傳送端口之間進(jìn)行選擇的最終仲裁器。仲裁器定義按下面優(yōu)先順序進(jìn)行最后端口的選擇。
1.如果單點(diǎn)傳送RT優(yōu)先就緒,選擇單點(diǎn)傳送RT,否則2.如果單點(diǎn)傳送NRT優(yōu)先就緒,選擇單點(diǎn)傳送NRT,否則3.如果多點(diǎn)傳送RT優(yōu)先就緒,選擇多點(diǎn)傳送RT,否則4.如果多點(diǎn)傳送NRT優(yōu)先就緒,選擇多點(diǎn)傳送NRT,否則5.如果多點(diǎn)傳送RT普通就緒,選擇多點(diǎn)傳送RT,否則6.如果單點(diǎn)傳送RT普通就緒,選擇單點(diǎn)傳送RT,否則7.如果多點(diǎn)傳送NRT普通就緒,選擇多點(diǎn)傳送NRT,否則8.如果單點(diǎn)傳送NRT普通就緒,選擇單點(diǎn)傳送NRT。
圖9中示出循環(huán)調(diào)度程序(RRS)通過(guò)三個(gè)VHSIC硬件描述語(yǔ)言(VHDL)進(jìn)行執(zhí)行,其中VHSIC為超高速集成電路。數(shù)據(jù)塊對(duì)應(yīng)實(shí)體且?guī)Ъ^的線表示信號(hào)路徑。在表3中定義了每個(gè)塊的功能,而在表4中提供了對(duì)信號(hào)的描述。</
表4
<p>為了確保調(diào)度程序的作用,在VHDL中構(gòu)成其模型。其是一個(gè)寄存器傳送級(jí)(RTL)模型。用多個(gè)IB_STATUS、OB_STATUS和MCR_STATUS的值對(duì)模式進(jìn)行檢測(cè)。對(duì)多點(diǎn)傳送端口加上不同的DPV。模擬的結(jié)果正確,即在每種的檢測(cè)的情況下都獲得了正確的響應(yīng)。接著,對(duì)模型進(jìn)行合成以獲得預(yù)測(cè)的門數(shù)和臨界路徑延遲。通過(guò)由商標(biāo)為SYNOPSYS由加利弗尼亞的Synopsys公司所銷售的邏輯合成軟件工具的狀態(tài)對(duì)模式進(jìn)行合成,使用CB-C90.35微米標(biāo)準(zhǔn)單元技術(shù)。所獲得結(jié)果提供一個(gè)12.5K的門數(shù)和15.5ns的臨界延遲。
上述的二元樹的結(jié)果可在不過(guò)大的增加延遲的情況下保證優(yōu)良的尺寸設(shè)計(jì)。樹中的節(jié)點(diǎn)以切入的方式進(jìn)行工作,這是使程序快速運(yùn)行的一個(gè)因素。就硅門需要而言調(diào)度程序很緊密并尺寸合理。其可在15.5ns快速的對(duì)連接進(jìn)行調(diào)度。
雖然對(duì)具有二元樹結(jié)構(gòu)的用于高速ATM交換機(jī)的RR調(diào)度程序進(jìn)行了描述,本發(fā)明并不限于此。除了二元樹結(jié)構(gòu)外的諸如四元樹的結(jié)構(gòu)也可提供同樣的結(jié)果。雖然上述的實(shí)施例描述了執(zhí)行循環(huán)調(diào)度程序,調(diào)度程序也可使用加權(quán)循環(huán)調(diào)度程序獲得同樣的優(yōu)點(diǎn)。
對(duì)本領(lǐng)域中的技術(shù)人員而言,其他的優(yōu)點(diǎn)和限定是很容易做到的。因此,本發(fā)明的范圍并不限于所描述的各個(gè)細(xì)節(jié)。相應(yīng)的,本發(fā)明的范圍由所附的權(quán)利要求進(jìn)行限定,對(duì)其所做的各種的修改都在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種用于控制網(wǎng)絡(luò)中的ATM信元流的ATM交換機(jī),其特征在于包含輸入端口;輸出端口;中心調(diào)度程序,其使用樹結(jié)構(gòu)并參考前面所選擇的輸入端口處理包含數(shù)據(jù)的數(shù)據(jù)包,并選擇所述輸入端口的特定的輸入端口,將特定的輸入端口ATM信元發(fā)送到所述輸出端口的一個(gè)指定的輸出端。
2.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述中心調(diào)度程序使用切入路徑選擇所述的特定的輸入端口。
3.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述中心調(diào)度程序根據(jù)至少部分檢測(cè)的所述輸入端口的就緒狀態(tài)選擇所述特定的輸入端口。
4.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于每個(gè)所述的就緒狀態(tài)是未就緒狀態(tài)、普通就緒狀態(tài)和優(yōu)先就緒狀態(tài)中的一種。
5.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述樹結(jié)構(gòu)包含一個(gè)二元樹結(jié)構(gòu)。
6.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述樹結(jié)構(gòu)包含一個(gè)四元樹結(jié)構(gòu)。
7.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述中心調(diào)度程序根據(jù)所述輸入端口的最小信元速率選擇所述特定的輸入端口。
8.根據(jù)權(quán)利要求1所述的ATM交換機(jī),其特征在于所述中心調(diào)度程序以多點(diǎn)傳送方式選擇所述特定的輸入端口。
9.一種用于調(diào)度到達(dá)交換機(jī)的輸入端口并將被發(fā)送到所述交換機(jī)的輸出端口的輸入信號(hào)的方法,其特征在于包含如下的步驟確定所述輸入端口的就緒狀態(tài);根據(jù)所述就緒狀態(tài)以循環(huán)的方式選擇所述輸入端口中的一個(gè);及將輸入信號(hào)從所述所選的輸入端口發(fā)送到指定的輸出端口;其中所述的選擇步驟使用具有給定數(shù)目節(jié)點(diǎn)的結(jié)構(gòu),從而包含與所選的輸入端口、所述就緒狀態(tài)和所述輸出端口相關(guān)的信息的數(shù)據(jù)包通過(guò)所述節(jié)點(diǎn),選擇具有所述指定輸出端口的特定的數(shù)據(jù)包。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于所述的給定數(shù)目的節(jié)點(diǎn)中每一個(gè)具有兩個(gè)輸入端和一個(gè)輸出端,并通過(guò)對(duì)每個(gè)數(shù)據(jù)包的某些位的快速比較確定將所述兩個(gè)輸入端中的哪一個(gè)輸入提供給所述輸出端。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于所述交換機(jī)是ATM交換機(jī)。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于所述樹結(jié)構(gòu)包含二元樹結(jié)構(gòu)。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于所述樹結(jié)構(gòu)包含四元樹結(jié)構(gòu)。
14.根據(jù)權(quán)利要求9所述的方法,其特征在于每個(gè)所述的就緒狀態(tài)是從未就緒狀態(tài)、普通就緒狀態(tài)和優(yōu)先就緒狀態(tài)中選擇的一種。
15.根據(jù)權(quán)利要求9所述的方法,其特征在于所述選擇其中一個(gè)所述輸入端口的步驟按加權(quán)循環(huán)方式進(jìn)行。
16.根據(jù)權(quán)利要求9所述的方法,其特征在于所述選擇其中一個(gè)所述輸入端口的步驟同樣根據(jù)所述輸入端口的最小信元速率。
17.根據(jù)權(quán)利要求9所述的方法,其特征在于所述發(fā)送輸入信號(hào)的步驟是以多點(diǎn)傳送的方式進(jìn)行。
18.一種用于控制網(wǎng)絡(luò)中的ATM信元的流動(dòng)的ATM交換機(jī),其特征在于包含輸入端口;輸出端口;中心調(diào)度程序,其參考前面所選擇的輸入端口處理包含數(shù)據(jù)的數(shù)據(jù)包,并選擇所述輸入端口中的特定輸入端口,將特定的輸入端口ATM信元發(fā)送到所述輸出端口的被指定輸出端;其中通過(guò)所述中心調(diào)度程序的作用,從而在交換機(jī)中的ATM信元的流動(dòng)中的總的處理延遲在當(dāng)交換機(jī)的端口的總數(shù)增加時(shí)只是對(duì)數(shù)增加。
全文摘要
用于高容量ATM轉(zhuǎn)換器的循環(huán)調(diào)度程序(RRS)的新型結(jié)構(gòu)和執(zhí)行程序。根據(jù)端口的優(yōu)先級(jí),從一組交替的實(shí)時(shí)/非實(shí)時(shí)優(yōu)先級(jí)端口中選出一個(gè)端口,將最小的信元速率(MCR)分配給端口和來(lái)自輸出緩沖器的被背壓信號(hào)。使用二元樹結(jié)構(gòu)產(chǎn)生調(diào)度程序的快速執(zhí)行程序。二元樹中的節(jié)點(diǎn)作為“切入”交換機(jī),因此調(diào)度程序可高速的運(yùn)行。此調(diào)度程序適合用于在高速硅技術(shù)中執(zhí)行。就邏輯門的要求而言,其緊密、非??缮炜s并且是在兆位ATM交換機(jī)中可行的選擇。
文檔編號(hào)H04L12/56GK1275008SQ0010065
公開日2000年11月29日 申請(qǐng)日期2000年1月26日 優(yōu)先權(quán)日1999年5月25日
發(fā)明者謝里夫·M·沙瑞爾, 亞力山大·T·伊什 申請(qǐng)人:日本電氣株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1