亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

交換裝置的制作方法

文檔序號:7946335閱讀:368來源:國知局
專利名稱:交換裝置的制作方法
技術領域
本發(fā)明涉及交換裝置,特別涉及容納多個接口點、根據(jù)從各接口點的輸入端口輸入的ATM(異步傳遞方式)信元的題頭信息把該ATM信元向所希望的接口點的輸出端口轉移的交換裝置。
背景技術
以往,作為針對傳遞/交換技術的高速化技術,人們把注意力集中于ATM技術。ATM是針對把全部信息荷載于稱之為信元的固定長短的信息包中轉移,來進行信息包交換的硬件安裝,而把容易進行高速的信息傳送/交換為目標的技術。為了實現(xiàn)用這種方式進行信息通信的ATM通信網,就必須有一個根據(jù)來自某傳送通路的信元的題頭信息把該信元向所希望的傳送通路進行轉換的交換裝置。
然而,原來的交換裝置中存在如下問題,例如本發(fā)明人在美國專利US5,274,641中展示的原來的交換裝置的情況下,沿通話話路的數(shù)據(jù)流配備有實現(xiàn)物理層功能、ATM層功能的專用硬件。這些串連的專用硬件系列對各個從全段硬件傳送來的數(shù)據(jù)串進行處理,從而按所謂流水線方式進行物理層、ATM層處理,在這樣構成的交換裝置的情況下,為了用專用的硬件實現(xiàn)各自的每種層功能就要提高其總處理能力。但是,各自的每個層都要實現(xiàn)專用的硬件就存在成本變高的問題。特別是近年來人們把注意力集中于將ATM技術作為ATM-LAN用于接入對存在于較適宜的窄范圍的終端提供取決于ATM信元的傳送能力的通信系統(tǒng)和低輸入PC等的ATM通信網,今后在擴大市場規(guī)模和予測市場規(guī)模時,例如為了適用于6.3Mbps、20Mbps接口即所謂低速接口,其成本將高得難以承受。
而且,由硬件決定的功能的規(guī)格變換的靈活性很差,雖然目前ITU-T(國際電信聯(lián)盟)正在極力推行ATM通信網規(guī)格的標準化,但是還不能說已經完全固定下來,新的規(guī)格也還在層出不窮地推出來。
在這種狀態(tài)下,在把各層功能硬件化時,每次規(guī)格變換必定提出新的規(guī)格,都必須產生實現(xiàn)這些規(guī)格的硬件,其結果,由于必須設計多種硬件,就把成本抬得更高。

發(fā)明內容
本發(fā)明的目的在于提供成本低的交換裝置。
本發(fā)明的其他目的在于提供可以靈活地適應規(guī)格變換且能快捷地適應于新規(guī)格的交換裝置。
按照本發(fā)明的交換裝置,包括輸入端口,具有接收構成ATM單元有關的信息數(shù)據(jù)的位串、并臨時性保持該位串的輸入FIFO存儲器;按順序進行幀同步處理和信元同步處理的處理器,所述幀同步處理通過參照所述輸入FIFO存儲器、在存儲于該輸入FIFO存儲器的位串中檢索表示幀開端的位特征,并核對該位特征是否存在于幀長的開頭,所述信元同步處理先找到輸入的位串中表示幀開端的位特征,并在該位特征按幀長的間隔順序出現(xiàn)時、從該位特征最能夠確認信元開端,和按信元單位進行信息數(shù)據(jù)的處理;以及輸出端口,具有臨時性存儲由所述處理器作成的指示信元流的目標文件的信息、并將其輸出的輸出FIFO存儲器器。
因此,由于削減了通話處理功能所必要的硬件量,從而可以實現(xiàn)低成本的交換裝置。而且,由于把序列發(fā)生器的動作作成可編程的,所以可以靈活地適應規(guī)格變換和新的規(guī)格。
用原來技術的交換裝置,物理層處理、ATM層處理都是把通話話路的位串源源不斷地送到流水線中,通過流水線流暢地轉換這些位串。對此,用本發(fā)明的交換裝置,由于內部執(zhí)行的處理是按多重時間分割來實現(xiàn)的,所以,通路話路的位串一旦存儲在序列發(fā)生器外設的存儲器中,序列發(fā)生器就對該存儲單元采取用ALU把層處理按順序實施下去的手段,此時,如果予定量的通話話路的位串被存儲在序列發(fā)生器外設的存儲器中時,也可以起動各種層處理程序。
在優(yōu)選的實施例中,ALU和序列發(fā)生器中挪用了廉低的微處理器,在序列發(fā)生器中進行多重時間分割的各層功能間的用戶信息轉移時,由于使用指向該存儲器的指示符,所以,能大大地提高本發(fā)明的交換裝置的處理速度。
而且,用ALU和序列發(fā)生器不僅能實現(xiàn)各層所必要的功能,而且監(jiān)視這些功能是否正常動作的OAM程序也可以實現(xiàn)多重時間分割。


圖1是本發(fā)明一個實施例的交換裝置的構成圖。
圖2是具有處理器交換處理插件的交換裝置的整體構成圖。
圖3是實施例中的接口構成圖。
圖4是接收方通話話路數(shù)據(jù)輸入格式。
圖5是接收方通話話路幀同步處理的流程圖。
圖6是接收方通話話路信元同步處理的流程圖。
圖7是原來的信元同步處理的流程圖。
圖8是尋線狀態(tài)下每移動了一個字節(jié)的信元同步處理的流程圖。
圖9是一次讀出數(shù)據(jù)D1~D4的情況下的信元同步處理的流程圖。
圖10是信元同步運算的說明圖。
圖11是與圖10的r[1]有關的信元同步運算的詳細說明圖。
圖12是接收方ATM層處理器的簡要構成圖。
圖13是接收方ATM層處理流程圖。
圖14是發(fā)送方通話話路處理子程序的分界說明圖。
圖15是發(fā)送方通話話路物理層處理的流程圖。
圖16是數(shù)據(jù)譯碼處理流程圖。
圖17是本發(fā)明其他實施例的ATM交換裝置的構成示意圖。
圖18是命令流水線的構成圖。
圖19是該交換裝置接收方的主要部分構成及數(shù)據(jù)流程圖。
圖20是該交換裝置發(fā)送方的主要部分的構成及數(shù)據(jù)流程圖。
圖21是該交換裝置接收方的處理定時圖。
圖22是該交換裝置發(fā)送方的處理定時圖。
圖23是處理的優(yōu)先度分配圖。
圖24是處理的優(yōu)先度分配圖。
圖25是處理器交換處理插件中的處理流程的另一例。
具體實施例方式
參照圖1說明本發(fā)明的第1實施例。
按照圖1所示的交換裝置,在硬件化了的信元開關103的各端口上連接有進行信元題頭以外的直到物理層處理的處理器102-1~102-n,采用這種方式就能更便宜地接收采用較單純的幀結構作為物理層的幀結構的接口點,而且,因為用硬件化了的信元開關進行信元交換,就可以提供通過量大的交換裝置。
也就是說,按照圖1所示的交換裝置,在硬件化的信元開關103和接口點101-1,…101-n之間配置有分別對應于接口點1,…m的接口點接收電路101-1,…101-n和接口處理器102-1,…102-n。
接口點接收電路101-1,…101-n接收來自接口點1,…n的位串,把該位串變形成為可以由接口處理器102-1,…102-n接收的形式,同時接收來自接口處理器1021,…102n的位串,把該位串變形成為可以送到接口點1,…,n的形式。接口處理器102-1,…102-n接收來自接口點接收電路101-1,…,101n的位串并把那些位串變形成為能送到ATM開關103的信元串,同時把從信元開關103收到的信元串變形成為能送到接口點接收電路101-1,…101-n的位串。
接口點接收電路101-1,…101-n由接收來自接口點1,…,n的位串并進行電平變換等處理的線路接收器11011、參照來自線路接收器11011的輸出而從該輸出中提取對位串進行取樣的時鐘的時鐘提取器11012、輸入FIFO(先入先出)存儲器11013、輸出FIFO(先入先出)存儲器11014和線路驅動器11015構成。其中輸入FIFO存儲器11013根據(jù)來自時鐘提取器11012的時鐘對來自線路接收器11011的位串進行取樣并一次性存儲起來,同時根據(jù)來自接口處理器102-1,…,102-n的參照把所存儲的位串按FIFO規(guī)則送出去,輸出FIFO存儲器11014把接口處理器102-1,…102-n送出的位串一次性存儲起來,同時,響應于由時鐘提取器11012提取的時鐘把所存儲的位串按FIFO規(guī)則送出去;線路驅動器11015對輸出FIFO存儲器11014送出的位串在接口點進行電平變換等的處理。
另一方面,接口處理器102-1,…,102-n由處理器11021、附屬于處理器11021的超高速緩沖存儲器及MMU11022、附屬于處理器11021的主存儲器11023、第1信元FIFO存儲器11024和第2信元FIFO存儲器11025構成。其中處理器11021提供該接口處理器的處理能力;第1信元FIFO存儲器11024一次性存儲由處理器11021的處理得到的轉移到信元開關103的信元串;第2信元FIFO存儲器11025一次性存儲來自信元開關103的信元串直到來自處理器11021的參照為止。
硬件化的信元開關103根據(jù)附加在信元串中的信元上的路由標記切換由上述接口處理器102-1,…,102-n送來的信元串。
以下詳細說明圖1中所示的實施例的交換裝置的動作。
從接口點輸入的位串由線路接收器11011交換為交換裝置內部電平的同時,時鐘提取器11012提取出對該位串取樣用的時鐘。輸入FIFO存儲器11013用時鐘提取器11012提取的時鐘對線路接收器11011的輸出取樣,準備來自處理器11021的基準并把位串一次性存儲起來。
從處理器11021看,輸入FIFO存儲器11013就成了一個輸入端口,處理器11021一面定期參照輸入FIFO存儲器11013進行下述的幀同步和信元同步操作,一面由存儲在輸入FIFO存儲器11013中的位串形成信元。也就是說,對于輸入FIFO存儲器11013輸入的位串,處理器11021首先進行確立如下的幀同步處理。
從被輸入的位串中檢索表示幀開端的位組合格式,如果發(fā)現(xiàn)表示幀開端的位特征,就確認幀長開頭處存在位特征,這時,如果沒有發(fā)現(xiàn)位特征,由于見不到幀開端,也可以廢棄輸入的位串。
一旦在輸入的位串中找到表示幀開端的位特征,并確認該位特征處在幀長度方向的中間且順次出現(xiàn),接著處理器11021就從該位特征中尋找信元開端并進行信元同步。如ITU-T標準I.432中規(guī)定的那樣,這種操作是在連續(xù)輸入的4個字節(jié)的位串中進行預定的運算。運算結果判斷是否與接著的一個字節(jié)一致,如果一致的話,那4個字節(jié)是信元題頭,一致的一個字節(jié)是HEC,接著的48字節(jié)是信元的信息部分。這種操作的結果可以就輸入的位串認識信元的開頭,從而可以按信元單位進行處理。與幀同步相同,有關信元同步,在信元同步來確立期間也可以廢棄輸入的位串。
在確立信元同步時,處理器11021按順序把信元重現(xiàn)到內裝的寄存器上。然后,處理器11021參照內裝寄存器上的信元的VPI/VCI,進一步參照設置在主存儲器11023上的路由標志選擇表,得到表示轉移該信元的終點局的輸出端口號碼和輸出端口處的新VPI/VCI。而且,首先把根據(jù)信元開關103的結構格式從輸出端口號碼計算出來的路由標志送到第1信元FIFO存儲器11024,接著把從路由標志選擇表得到的新的VPI/VCI送往第1信元FIFO存儲器11024,然后按順序輸出被輸入的信元的PTI/CLP/HCE/信息部分。就這樣,在信元開關103上經交換處理的信元串被順次輸入到第1信元FIFO存儲器11024上。
信元開關103周期性地參照第1信元FIFO存儲器11024,信元FIFO存儲器11024一面存儲信元一面收受該信元并根據(jù)附加在該信元上的路由標志把它轉移到所希望的輸出端口。在此,信元開關103參照第1信元FIFO存儲器11024時,如果信元FIFO存儲器11024未存儲信元,信元FIFO存儲器11024也可以送出空信元。
由信元開關103切換的信元被轉移到第2信元FIFO存儲器11025,并被一次性存儲起來。如果該第2信元FIFO存儲器上由信元開關103轉移來了空信元的話,那么最好把該空信元也存儲起來。
處理器11021定期參照第2信元FIFO存儲器11025,并把存在信元FIFO存儲器內的信元存入內裝的寄存器內,然后,處理器11021把路由標志從該信元中除掉,再計算該信元的HEC,把它與舊的HEC調換。
處理器11021一旦完成以上的動作,就對輸出FIFO存儲器11014輸出該信元。這時,按一定間隔把幀同步所必要的位特征插入到信元中。就這樣,把送到接口點的位串順次寫入到了輸出FIFO存儲器11014。
輸出FIFO存儲器11014的輸出部同步于時鐘提取器11012提取的時鐘,把被存儲的位串送出去。從輸出FIFO存儲器11014送出的位串輸入到線路驅動器11015,在這里變換成接口點的電平后,送往接口點。
按照本實施例,輸入FIFO存儲器11013和輸出FIFO存儲器11014的功能可以吸收處理器11021執(zhí)行的處理的處理時間的變動,從而可以按予定的速度從接口點輸入信息并向接口點輸出信息。
而且,雖然通信網是多個交換裝置結合而構成,但這時,所謂網同步是構成通信網的全部交換裝置的動作時鐘的頻率嚴格地吻合于唯一的振蕩器的頻率。如果在確立綱同步之前幀同步或是信元同步周期性地偏離的話,通信網整體的動作會不穩(wěn)定。
在圖1的交換裝置中,因為按照從對置的交換裝置作成的位串中提取的時鐘來進行從輸出FIFO的數(shù)據(jù)提取,所以向接口點的數(shù)據(jù)輸出就進行得與對置交換裝置的動作時鐘的頻率相一致。這種情況下,圖1的交換裝置本身就不是網同步的主體,為了適應自身成為網同步主體的情況,除了與接收方FIFO重現(xiàn)的時鐘同步地向接口點發(fā)送位串的功能之外,也可以具有與自身作成的時鐘同步地向接口點發(fā)送的功能。另外,此時也可以具有使自己本身的動作時鐘的頻率符合于自身具有的時鐘提取功能群內予定的一個頻率的功能。這種功能可以用稱之為PLL的公知手段來實現(xiàn)。
下面,參照圖2按照流程籠統(tǒng)地說明在本實施例的交換裝置中接收到的數(shù)據(jù)在被發(fā)送之前要進行怎樣的處理。
圖2表示本實施例的交換裝置中的各接收方接口部位和各發(fā)送方接口部位的處理流程圖。
在本交換裝置中執(zhí)行的處理由通話話路處理101和OAM(操作和維護)處理102構成。
通話話路處理101又由兩種處理構成,即接收方通話話路處理和發(fā)送方通話話路處理。其中接收方通話話路處理是先經過接收方輸入部接收來自接收線路的數(shù)據(jù),再對它按順序進行物理層處理和ATM層處理,然后通過接收方輸出部向ATM開關103輸出;發(fā)送方通話話路處理是先通過發(fā)送方輸入部收取來自ATM開關103的數(shù)據(jù),再按順序對它進行ATM層處理和物理層處理,然后經由發(fā)送方輸出部向發(fā)送線路輸出。
接收方通話話路處理慨述如下在接收方輸入部中,從接收到的信號中提取網時鐘的同時達到位同步,再把信號變換成位表示的數(shù)據(jù)串,到此為止的處理假想都不是用軟件而是用硬件來實現(xiàn)的。
經過線路譯碼121、幀同步122、信元同步123、和信元有用荷載部分的譯碼124等物理層處理后,從這個位串中抽取ATM信元。此后,作為ATM層處理,要進行題頭變換125、附加開關內路由用的路由標志126、流量監(jiān)視127的處理,然后經由接收方的輸出部(信元FIFO 11024)把信元送到ATM信元開關103。
另一方面,發(fā)送方通話話路處理程序慨述如下在發(fā)送方,先通過發(fā)送輸入部把ATM信元開關103交換處理過的信元轉移到發(fā)送通話話路處理器,在該信元數(shù)據(jù)上進行作為ATM層處理的流量監(jiān)視137、除去路由標志136、題頭變換135等處理。進一步作為物理層處理在該信元數(shù)據(jù)上進行信元有用荷載部分的編碼134、信元題頭的HEC字段生成133、幀形成132和線路編碼131等處理,然后,通過發(fā)送輸出部向發(fā)送線路輸出位數(shù)據(jù)。
下面,分接收方通話話路處理和發(fā)送方通話話路處理詳細說明對數(shù)據(jù)進行這些通話話路處理步驟的各程序,該數(shù)據(jù)是根據(jù)ITU-TS推薦G.804把根據(jù)ITU-TS推薦I.432的信元變換成TTC標準JT-G.703-a的幀的數(shù)據(jù)。另外,最好用C語言等的高級語言來記述各程序。
首先說明構成接收方通話話路處理的各子程序及其細節(jié)。
(關于子程序的劃界)用軟件對數(shù)據(jù)進行多種處理時,因為不能同時進行這些處理,先把數(shù)據(jù)分成適當?shù)拇笮?,再按順序對其一進行多種處理,一系列的處理結束時再對下一個數(shù)據(jù)進行那些處理。以下,根據(jù)圖3來說明對某數(shù)據(jù)群進行的各子程度的流程和它的時間數(shù)據(jù)及指示符之類有效信元等的信息流程。圖3上的粗箭頭表示數(shù)據(jù)流向,用P表示的細箭頭表示指示符的流向。
首先,在接收方的輸入部中,把被變換成為位表示的數(shù)據(jù)串并存儲在接收方輸入FIFO(未示出)內的接收數(shù)據(jù),作成為某決定量的數(shù)據(jù)群,再由接收數(shù)據(jù)輸入子程序203寫入CPU內部的存儲器上的幀數(shù)據(jù)收納緩沖器209內。這個子程序203把指示數(shù)據(jù)已經寫入存儲器的哪個位置的指示符轉移到下一個子程序即幀同步子程序204。
收受數(shù)據(jù)輸入子程序203的幀同步子程序204只讀取幀數(shù)據(jù)接收緩沖器209上的數(shù)據(jù)的必要部分,總之,在沒有完全提取幀同步的狀態(tài)下,從數(shù)據(jù)開關按順序讀取全部數(shù)據(jù),進行檢查,從建立起幀同步開始就只讀取幀同步位的部分,對其進行確認。由幀同步所得到的幀同步位的位置信息等被轉移到下一個子程序,即信元同步子程序205。
信元同步子程序205讀取從幀同步子程序204收到的信息,仍然只讀取幀數(shù)據(jù)接收緩沖器209上的數(shù)據(jù)的必要部分來進行信元同步等手續(xù)??傊?,在未達到信元同步的時候,從頭按順序全部讀取數(shù)據(jù)中的信元數(shù)據(jù)部分,來檢索信元的題頭,從信元同步確立開始只讀取信元的題頭部分,來進行其錯誤的檢出和糾正。進一步,從信元同步確立開始,讀取的數(shù)據(jù)把題頭的4個字節(jié)匯總成一個字重新把存儲器上的信元題頭寫入集中了信元題頭的接收緩沖器210中。
在信元同步子程序204以后有譯碼和ATM層處理兩個子程序。
來自信元同步子程序204的幀數(shù)據(jù)接收緩沖器209上的數(shù)據(jù)內的信元個數(shù)和起始位置等的有效無效信息被轉移到譯碼子程序206,根據(jù)這個信息讀取幀數(shù)據(jù)接收緩沖器209上的信元的有用荷載部分。在讀出的數(shù)據(jù)上進行譯碼處理,然后對每個信元把譯碼后的數(shù)據(jù)寫入信元有效荷載接收緩沖器212上。
另一方面,題頭接收緩沖器的位置和所接收的題頭的個數(shù)的信息轉移到ATM層子程序287,根據(jù)該信息讀取信元題頭接收緩沖器210上的信元題頭。在讀取的題頭上附加流量監(jiān)視、路由標志,并進行數(shù)據(jù)換寫等處理,再把新的題頭寫入到帶有路由標志題頭接收緩沖器211中(帶RF的題頭接收緩沖器)。
信元有效荷載的位置和帶路由標志的題頭的位置等從兩個子程序206,207轉移到最后的接收數(shù)據(jù)輸出的子程序208。同時,由數(shù)據(jù)輸出子程序208合成信元數(shù)據(jù)后進行輸出。
如圖1所示,輸出的信元數(shù)據(jù)被一次性存儲在通向信元開關103的信元FIFO11024上,信元開關103按接收信元的速度從FIFO11024依次讀出數(shù)據(jù)。
由于采取了這樣的子程序構成,就可以做到在各子程序之間不進行無效數(shù)據(jù)的轉移,而且可以減少對CPU大負荷的數(shù)據(jù)荷載及存儲次數(shù),從而可以實現(xiàn)高速化。
而且,像這樣使各子程序分離而獨立、數(shù)據(jù)置于另外的存儲器中、把指示器等作成可轉移的結構,從而也能容易地用硬件來替換各子程序。例如幀同步之前的處理用硬件進行,其后的處理用軟件進行、或者譯碼之前的處理用硬件進行等等可以比較靈活地選擇。
下面更詳細說明各步驟和子程序。
(接收方輸入部分)在接收方通話話路數(shù)據(jù)輸入部在時鐘提取電路上用從數(shù)據(jù)本身提取的時鐘把由通話線路輸入的數(shù)據(jù)裝入內部寄存器(未示出),再在串行并行變換器中進行串行-并行變換之后存儲于通話線路輸入FIFO。
(接收數(shù)據(jù)輸入子程序203)用于本實施例的TTC標準JT-G.703-a的幀結構中,可以在由4個789比特的幀構成的一個復合幀上采用一次幀同步。由CPU對接收的數(shù)據(jù)進行的處理(各子程序),就是把這種復合幀的8份數(shù)據(jù)也就是說25248比特、789字的數(shù)據(jù)作為一個單位(當然這個數(shù)用其他值也行)。這時,即使一個復合幀中出現(xiàn)的兩個幀同步信號跨在納入的數(shù)據(jù)之間也能確認出來,而且可以讀到包含數(shù)據(jù)的789字的最后一位的信元的最末位,這樣,一次納入幀數(shù)據(jù)接收緩沖器209的數(shù)據(jù)量就作成帶有下次讀取的789字的數(shù)據(jù)的頭25個字的814字。總之,如圖4所示,把輸入的串行數(shù)據(jù)每789字分割為一組,在其前后數(shù)據(jù)間重復讀取25個字的數(shù)據(jù)。以下,把一次讀取的814字的數(shù)據(jù)稱之為數(shù)據(jù)塊。
數(shù)據(jù)輸入子程序203把該數(shù)據(jù)塊寫入幀數(shù)據(jù)接收緩沖器209,并把那個緩沖器的位置通知其他子程序。
(幀同步子程序204)對于幀數(shù)據(jù)接收緩沖器209中接收的數(shù)據(jù)塊首先進行幀同步,然后明確幀比特、用戶信息轉移區(qū)域的位置及那一幀是否有效。定義幾個變量,以便在接下來進行的信元同步及對于下一次的數(shù)據(jù)塊的幀同步的子程序內可以使用幀同步的結果以及其他信息。這些變量有三個,即幀同步狀態(tài)顯示變量、有效幀開始顯示變量和幀同步信號開始顯示變量。
幀同步狀態(tài)顯示變量的值表示幀同步的狀態(tài)以及具有錯誤的幀比特的幀連到達的個數(shù)等等。幀同步狀態(tài)顯示變量的值如果變?yōu)?4,那么就是幀同步完全未達到;-3~-1是為確立幀同步確認3個連續(xù)的正確幀同步信號的狀態(tài)(其絕對值表示達到同步狀態(tài)之后必須確認幾個正確同步信號);0~6是確立了幀同步的狀態(tài)(其值表示具有連續(xù)接收到錯誤同步信號的幀數(shù))。
有效幀開始顯示變量表示由幀同步判明的有效幀的起始點,對該值以后的數(shù)據(jù)進行信元同步處理。該值如果是零,就認為全部數(shù)據(jù)有效,該值若為26049則判定全部數(shù)據(jù)無效。
幀同步信號開始顯示變量代表校驗幀同步信號到何處為止,該值如果超過25248就把那個值減去25248得到的值作為新的幀同步信號開始顯示變量,從而結束幀同步子程序。這個被換上的幀同步信號顯示變量代表必須開始對下一個數(shù)據(jù)塊的幀同步的起始點。
下面根據(jù)圖5說明實際的幀同步子程序204。當新的數(shù)據(jù)塊被寫入幀數(shù)據(jù)接收緩沖器內時,可以由這時的幀同步狀態(tài)顯示變量的值知道前一個數(shù)據(jù)塊中的幀同步狀態(tài)最后處于哪個狀態(tài)。
當幀同步狀態(tài)顯示變量的值是-4時,對這個新的數(shù)據(jù)進行每比特的幀比特同步特征檢索501,也就是說,從幀數(shù)據(jù)接收緩沖器209上的數(shù)據(jù)的最前面開始按順序讀取每一個字的數(shù)據(jù),對于那個數(shù)據(jù)進行幀比特的同步特性的檢索。
如果同步特征在兩處幀比特中都被正確地確認,幀同步狀態(tài)顯示變量進1,把檢索轉移到下一個復合幀,并在該位置轉入確認存在兩個同步特征的前同步處理狀態(tài)502。進行這種確認時,只讀取幀數(shù)據(jù)接收緩沖器209的必要數(shù)據(jù),如果有正確的同步特征,再把幀同步狀態(tài)顯示變量進1,并進行下一個復合幀的同步特征的確認。但是在檢出錯誤的同步特征時,就設定幀同步狀態(tài)顯示變量為-4,并返回到每比特的檢索501。
連續(xù)三次檢出正確的同步特征而確立了幀同步的情況下,就把這一幀開端的比特數(shù)設定為有效幀開始顯示變量,并進入同步狀態(tài)503。此時,幀同步狀態(tài)顯示變量成為零。
在同步狀態(tài)503,對數(shù)據(jù)內全部復合幀檢查在幀比特中是否存在正確的同步特征,檢出不正確的復合幀時,幀同步狀態(tài)顯示變量進1,另一方面,正確的幀到來時始終把幀同步狀態(tài)顯示變量設定為零。但是,如果變量達到了7的話,就再把變量設定為-4,把有效幀起始顯示變量設定為表示幀的最末尾的26049,并把程序返回到比特單位的幀比特同步特征檢索狀態(tài)。
在這些步序進行到幀同步信號起始顯示變量超過數(shù)據(jù)塊的第789字的地方,從那時的幀同步信號起始顯示變量的值中減去25248(步驟504),結束幀同步子程序204。
(信元同步子程序205)
由于進行了幀同步處理,可以識別幀數(shù)據(jù)收納緩沖器209上的數(shù)據(jù)中的信元信息的區(qū)域以及信元數(shù)據(jù)的字節(jié)單位的同步。在此,接下來對那個信元信息所在的區(qū)域內的數(shù)據(jù)進行信元同步,明確信元題頭的位置和信元荷載的位置,并且進行題頭部分的糾錯和檢出。
為了能在接下來進行的譯碼以及對下一次數(shù)據(jù)塊的信元同步子程序中使用信元同步的結果和其他信息,定義幾個變量。即信元同步狀態(tài)顯示變量、同步信元數(shù)、同步信元首位排列、信元首位和無效信元顯示排列等。
與幀同步時一樣,信元同步狀態(tài)顯示變量表示信元同步的狀態(tài)以及錯誤信元題頭到達的個數(shù)。信元同步狀態(tài)顯示變量值如果是-7,表示完全未達到信元同步的狀態(tài)(尋線狀態(tài));-6~01正在表示確認信元同步的6個連續(xù)正確的信元題頭的狀態(tài)(前同步狀態(tài));0表示正在確立信元同步、題頭糾錯模式;1~6表示正在確立信元同步而檢出題頭錯誤的檢出模式。前同步狀態(tài)下的信元同步狀態(tài)顯示變量的值代表達到同步狀態(tài)所必要的正確的信元個數(shù),而在同步狀態(tài)的題頭錯誤檢出模式下,信元同步狀態(tài)顯示變量的值代表具有被連續(xù)觀測到的錯誤題頭的信元個數(shù)。
同步信元數(shù)表示數(shù)據(jù)塊中達到信元同步的部分內存在的信元的總數(shù);同步信元首位排列表示各信元的首位。當信元同步進行下去的時候,信元首位始終表示所針對的那個信元的開始位,信元同步進行到包含數(shù)據(jù)塊的第789字的字的最后一位的信元為止。也就是說,在信元首位超過25248的時間點上結束信元同步子程序。這時,把最后的信元首位的值減去25248得到的值作為下一次的數(shù)據(jù)塊中的信元同步必須開始的信元的首位,并作為新的信元首位存儲起來。
無效信元顯示排列表示由于上述的同步信元之中的題頭錯誤而導致無效的信元是第幾個信元。
下面根據(jù)圖6來說明實際的信元同步子程序205。
一旦新納入幀數(shù)據(jù)接收緩沖器209的數(shù)據(jù)塊的幀同步結束,就接著起動信元同步子程序205。
來自幀同步子程序204的有效幀開始顯示變量的值是26049時,判斷為該數(shù)據(jù)塊中不包含有效幀(步驟600a),信元同步子程序205設定信元同步狀態(tài)顯示變量的值為-7,并結束處理。
但是,有效幀開始顯示變量的值為零時,判定該數(shù)據(jù)塊的幀全部有效(步驟600b),所以,依據(jù)前次的信元同步子程序205中的最后的同步狀態(tài)顯示變量的值的狀態(tài)開始處理。
前次的信元同步子程序205在前同步狀態(tài)602及同步狀態(tài)603下結束的情況下,把來自前次的信元同步子程序205的信元首位的數(shù)據(jù)從幀數(shù)據(jù)接收緩沖器209中讀出來,對這個數(shù)據(jù)進行信元同步處理。
在尋找狀態(tài)601的情況下,從有效幀的開端讀取每個字的數(shù)據(jù),再隨著幀同步建立的字節(jié)同步來檢索信元的題頭。另外,如果有效幀開始顯示變量的值落在數(shù)據(jù)塊中途的幀上,就從該幀的數(shù)據(jù)開始進行尋找下的狀態(tài)處理。若在尋找狀態(tài)601上,發(fā)現(xiàn)正確的信元題頭部分的情況下,就把信元同步狀態(tài)顯示變量的值設定為-6,并進入前同步狀態(tài)602。
在前同步狀態(tài)602,每個信元周期都確認題頭,如果能確認出正確題頭,信元同步狀態(tài)顯示變量進1;若檢出錯誤題頭,就把信元同步狀態(tài)變量設定為-7;并把狀態(tài)改變?yōu)閷ふ覡顟B(tài)。連續(xù)確認6個正確的題頭,而使信元同步狀態(tài)變量變?yōu)?時,就進入同步狀態(tài)糾錯模式603。
在同步狀態(tài)糾錯模式603中,按照信元周期進行信元題頭的確認,同時增加同步信元數(shù)的值,再把該信元的首位記錄為表示同步信元首位排列的當時的同步信元數(shù)的值的要素,并且把信元題頭存儲在題頭接收緩沖器209中。如果觀測到錯誤的信元題頭,這時仍然也把同步信元數(shù)的值加1,并在同步信元首位排列中作記錄,此后試著進行信元題頭的糾正。與上述同樣,在糾正成功的情況下把該題頭存入題頭接收緩沖器中;如果糾正失敗,該信元作為無效信元,并在無效信元顯示排列中記錄當時的同步信元數(shù)的值。另外,把空信元的題頭輸出到題頭接收緩沖器209。觀察到錯誤信元題頭的情況下,不管什么情況都要把信元同步狀態(tài)顯示變量的值進1,再轉移到同步狀態(tài)的錯誤檢出模式604。
在同步狀態(tài)的錯誤檢出模式604,同樣對每個信元周期進行題頭的確認,與糾正模式一樣,同步信元數(shù)加1,并記錄同步信元首位,如果觀測到正確的題頭就把信元同步狀態(tài)顯示變量設定為0,并把狀態(tài)變化成為同步狀態(tài)的修正模式603。如果觀測到錯誤的題頭,就不試著進行該題頭的修正,把該信元作為無效信元記錄在無效信元顯示排列中,然后在信元同步狀態(tài)顯示變量上加1。如果信元同步狀態(tài)顯示變量的值達到7時,把信元同步狀態(tài)顯示變量作成-7,再把狀態(tài)變到尋找狀態(tài)601。
不管處在哪個狀態(tài),只要信元的首位或者尋找確認的字節(jié)超過數(shù)據(jù)塊的789字,就結束信元同步處理,并從信元首位的當時的值減去25248得到的值作為新的信元首位,然后結束子程序。
一般認為實際的信元同步和題頭糾錯有幾種方法。在原來那樣在硬件上實現(xiàn)的情況下,例如有日本公開專利特開平4-363927上所公開的方法。就信元同步來說,如果用這種方法,就是每一比特或一個字節(jié)地納入假定為題頭的部分,再進行GF(2)上的除法運算,判定總計5個字節(jié)是否達到期望的值。另外,若在確立同步的狀態(tài)下進行錯誤修正時,把對于5個字節(jié)的除法運算的結果作為初始值,繼續(xù)用1比特單位或1字節(jié)單位作同樣的除法運算,再進行尋找修正位置的處理。
在此所采用的信元同步的方法被認為是把上述信元同步的方法原原本本地用于軟件程序的方法。首先,確立信元同步時,如圖7所示,按連接題頭部分的1字節(jié)數(shù)據(jù)D1,D2,D3,D4,D5的順序讀出(步驟701~步驟S705),然后交替地進行除法處理706和GF(2)上的加法運算(即每比特的排他邏輯和707的處理),最好進行是否是題頭的判定708,這種情況下,對于一次處理必須讀出5次。
若用多項式表示各除法處理706,輸入為DI輸出為DO,該多項式即為DO=DI*X^8 mod G(X)………(1)其中G(X)=X^8+X^2+X+1另一方面,如上所述,在尋找狀態(tài)時,由于每位移一個字節(jié)的同時都要判定是否是信元題頭,如特開平4-363927的方法那樣,由于巧妙地使用前一個處理得到的結果,所以可以省略讀出處理。
作為一個例子,在某一時序上對5個連續(xù)的數(shù)據(jù)D1,D2,D3,D4,D5進行了信元同步處理。這時,其除法運算和排他邏輯和的值作為H5。對只錯開1個字節(jié)的數(shù)據(jù)D2,D3,D4,D5,D6的下一個處理就到了圖8所示的流程。
首先,重新讀出數(shù)據(jù)D1(步驟801),進行與先前不同的除法運算處理802,該除法運算處理802表示為多項式的話,輸入為DI,輸出為DO,那么系列式就是DO=DI*X^32 mod G(X)………(2)取該結果和H5的每比特的排他邏輯和803,然后對其全體進行由式(1)表示的除法運算處理B804。進一步再進行與讀出的數(shù)據(jù)D6的排他邏輯和處理806,如果該值達到了期望的值(二進位數(shù)的01010101),就判定這一部分是題頭,否則判定該部分不是題頭。
對于圖7中讀出的次數(shù)為5次來說,用這種方式只要2次讀出就可以解決,所以可以使處理量大為減少。
但是,上述特開平4-363927中公開的發(fā)明中,一次讀出的數(shù)據(jù)被限定在8比特,這在本實施例那樣使用32比特或64比特的高性能CPU的情況下效率就變得很差。
作為其他的方式,例如用32比特的CPU的情況下,由于一次讀出開始的4個字節(jié),所以比像圖7那樣為檢查題頭要進行5次讀取的情況更能減少讀出的次數(shù)。
例如如圖9所示,首先一次讀出題頭中的開頭4字節(jié)的D1,D2,D3,D4(步驟901),對其進行除法運算處理902。在這里的除法運算處理如果把32比特的數(shù)據(jù)用(1)式的G(X)順次除下去的話要花費大量的時間,體現(xiàn)不出把讀出次數(shù)減少到2次的優(yōu)點。
因此,如果按每比特把上述除法運算處理下去的話,各比特及其結果有如下的關系,按D1~D5字節(jié)的各比特的順序為
D1=(d[1]、d[2]、··、d[8]) …(3a)D2=(d[9]、d[10]、··、d[16]) …(3b)D3=(d[17]、d[18]、··、d[24]) …(3c)D4=(d[25]、d[26]、··、d[32]) …(3d)D5=(d[33]、d[34]、··、d[40]) …(3e)這樣,把除法運算結果的8比特從上位的比特開始按順序作成為r[i](i=1~8)r[1]=d[2]+d[3]+d[5]+d[10]+d[12]+d[14]+d[15]+d[17]+d[19]+d[21]+d[25]+d[26]+d[27]+d[33]…(4a)r[2]=d[3]+d[4]+d[6]+d[11]+d[13]+d[15]+d[16]+d[18]+d[20]+d[22]
+d[26]+d[27]+d[28]+d[34]…(4b)r[3]=d[1]+d[4]+d[5]+d[7]+d[12]+d[14]+d[16]+d[17]+d[19]+d[21]+d[23]+d[27]+d[28]+d[29]+d[35]…(4c)r[4]=d[1]+d[2]+d[5]+d[6]+d[8]+d[13]+d[15]+d[17]+d[18]+d[20]+d[22]+d[24]+d[28]+d[29]+d[30]+d[36] …(4d)r[5]=d[2]+d[3]+d[6]+d[7]+d[9]+d[14]+d[16]+d[18]+d[19]+d[21]+d[23]+d[25]+d[29]+d[30]+d[31]+d[37] …(4e)r[6]=d[3]+d[4]+d[7]+d[8]+d[10]+d[15]+d[17]+d[19]+d[20]+d[22]+d[24]+d[26]+d[30]+d[31]+d[32]+d[38] …(4f)r[7]=d[2]+d[3]+d[4]+d[8]+d[9]+d[10]+d[11]+d[12]+d[14]+d[15]+d[16]+d[17]+d[18]+d[19]+d[20]+d[23]+d[26]+d[31]+d[32]+d[39]…(4g)r[8]=d[1]+d[2]+d[4]+d[9]+d[11]+d[13]+d[14]+d[16]+d[18]+d[20]+d[24]+d[25]+d[26]+d[32]+d[40]…(4h)
其中+表示每比特的排他邏輯和。
在此所用的方法不是通常的除法運算,而是由排他的邏輯和運算直接處理這些比特,為得到與除法運算時同樣的結果而編制程序,所以可以大幅度地減少處理時間。
具體說就是如圖10所示,首先讀取題頭的D1,D2,D3,D4的32比特,把它們位移1比特,左側位移到最大7比特,右側位移到最大2比特,從不位移的D1到D4的相當于各自第1比特的位置取作r[1],第2比特的位置取作r[2]……,只提取出必要的數(shù)據(jù)進行排他邏輯和運算。
一旦這種處理結束,這次就讀出數(shù)據(jù)D5。按順序把D5的d[33]加入到r[1],d[34]加入到r[2],……,把上述的32比特的排他邏輯和的結果得到的8比特與D5的各比特位作單純的排他邏輯和運算就備齊了最終的題頭判定值r[1]~r[8]。如果這8比特達到了前述的01010101,就判定它是題頭。
下面對圖10的程序作更詳細的說明,這里只示出了求r[1]部分的圖11。如上所述,對r[1]的寄存器點是從D1到D4的各個最左側的4個位置,設有位移的情況下的寄存器1101中所見到的是從D1到D4的各自最初的比特,即d[1],d[9],d[17],d[25]。沿左右順序移動就能見到從d[1]到d[27]的數(shù)據(jù)。
首先在D1部分的寄存器1102處只取出d[2]和d[3]作排他邏輯和運算。這時忽略不計d[1]。同樣,在D2部分的寄存器1103處計算d[5]+d[10];D3部分的寄存器1104處計算d[12]+d[14]+d[15]+d[17]+d[19];D4部分的寄存器1105處計算d[21]+d[25]+d[26]+d[27]。再把這4個寄存器和D5的開頭的V比特即d[33]作邏輯和運算,從而完成r[1],其他怕r[i](i=2~8)也是同樣的。
這時,在涉及r[1]的寄存器中見不到d[28]~d[32],這是作為除法運算的結果的形式,沒有必要用這些比特,所以是見不到的。因此,為了能見到全部比特(即d[1]~d[32]),左右各自必須移動到7比特,但是,由于省略了不產生影響的部分,所以如上述那樣,左側位移可以到2比特。
在這些數(shù)據(jù)處理中,有多次反復使用的數(shù)據(jù),例如用C語言的寄存器變量說明等在寄存器上進行演算,可以減少多余存儲器中的荷載,實現(xiàn)處理的高速化。
糾錯時的方法雖然可以考慮上述的特開平4-363927那樣用(1)式進行與上述相同的除法運算,但是問題是這仍然必須作5次重復的處理,在軟件上要花費處理的時間。
在此,一旦r[i](i=1~8)決定下來,就決定了能怎樣糾錯,進一步可以糾正哪個比特。內裝有對全部r[i]的組(64組)糾正可能性及糾正比特特征表,求出r[i]來,在它不是(01010101)的時間點上引用特征表,采用這種得知糾正特征的步驟就能進行瞬時糾錯。當然,不用說必要的條件是確立了信元同步并處在可以糾錯的模式。
(譯碼子程序206)由信元同步子程序205明確了數(shù)據(jù)塊中包含的同步信元的個數(shù)及其其位,接下來從幀數(shù)據(jù)收納緩沖器209讀出信元有用荷載數(shù)據(jù),一面按順序進行譯碼214,一面把集中于每個信元的12個字寫入到荷載收納緩沖器212內。
為了進行對信元有用荷載數(shù)據(jù)的某一位的譯碼處理,仍然必須要荷載上的43比特前到達的數(shù)據(jù)。為此,把前次的數(shù)據(jù)塊的最后信元的荷載的最后2個字作為譯碼用數(shù)據(jù)存儲起來。
實際的操作進行如下。
提取數(shù)據(jù)塊最初的信元的荷載的起始32比特寫入寄存器。把該數(shù)據(jù)和譯碼用的數(shù)據(jù)左右位移,對各比特取與恰好對應于43比特之前的數(shù)據(jù)的比特位的排他邏輯和,把所得到的數(shù)據(jù)寫入有用荷載輸出用存儲器。存在寄存器中的頭32比特在以后2次譯碼中作為譯碼用數(shù)據(jù)使用之后被清除。用于這種譯碼的數(shù)據(jù)也作寄存器變量說明,這就有可能減少來自存儲器的數(shù)據(jù)裝載的次數(shù),從而實現(xiàn)高速化。
反復進行這個操作,在數(shù)據(jù)塊中的最后的信元有用荷載的最后一字的譯碼結束的時刻終止對該數(shù)據(jù)塊的譯碼,這時,把該信元的最后2字的數(shù)據(jù)存起來,可以在下一個數(shù)據(jù)塊的譯碼時使用。
最后,根據(jù)無效信元顯示排列把空信元數(shù)據(jù)寫入無效信元的有用荷載部分。另外,也可以從開始就對無效信元部分不作譯碼處理,而把固定特征寫入信元荷載收納緩沖器212中。
用原來的硬件概念的譯碼方法中,雖然同樣是采用了按每比特或每字節(jié)進行譯碼處理的方法,但是1個信元的有用荷載也有48個字節(jié),為對此進行譯碼處理最少也必須重復讀出一次,而如本實施例那樣,由于用CPU的數(shù)據(jù)的最大值32比特進行處理,所以可以大幅度地減少從存儲器中讀出的次數(shù),從而可以抑止軟件處理量。
(ATM層子程序207)如圖12所示,接收方ATM層子程序207由ATM層處理器1201和題頭變換表1202構成。用ATM層處理器1201,對物理層處理器2中抽取的ATM信元的信息從題頭變換表中查出來,再根據(jù)該信息進行題頭變換、附加開關電路由標志、流量監(jiān)視等ATM層處理,然后把該數(shù)據(jù)送到數(shù)據(jù)輸出程序1204。
在題頭變換表1202中存儲有為進行ATM層處理所必要的信息。具體說,在表中存儲有新的VPI/VCI或復制連接用的連接標識符、開關內路由信息(路由標志)、流量監(jiān)測參數(shù)以及過去某一定個數(shù)的信元到達時間(計數(shù)器值;Tp(n))。新的VPI/VCI及路由標志值如果在呼叫設定時被設定,那么直到下次進行設定變更為止都不變更,就連流量監(jiān)測用申報值(T0,X0,T1,X1)也不變更。每當對應于到達時間信息的VPI/VCI到達時,到達時間信息就被更新。
以下,有關接收方ATM層處理器結合圖13所示的程序圖加以說明。
(與物理層的數(shù)據(jù)交接;步驟1301)由接收方物理層處理提取的ATM信元被分成為信元題頭和有用荷載兩部分,接收方的ATM層子程序207只接收ATM信元中的題頭部分,有效荷載部分直接送往開關輸出部1204。因此,數(shù)據(jù)為32比特時,因為原來的ATM信元題頭有5個8位位組,所以為了原樣轉移題頭就必須要2個字。
因此,由于在接收方物理層以后的處理中削去了不被使用的HEC區(qū)域,所以就把從物理層送到ATM層的題頭作成了1個字。而且,在數(shù)據(jù)在64比特以上時,雖然不削除HEC區(qū)域也按1個字接收題頭,但在附加ATM開關中的控制信息區(qū)域(路由標志、復制信息等)時,為擴大這個區(qū)域也可以去掉HEC區(qū)域。
(信元數(shù)的計數(shù)終了;步驟1302)在接收方的ATM層處理器1201中進行流量監(jiān)視,但必須知道為進行這種流量監(jiān)視的信元到達交換裝置的時間或從同一個VPI/VCI的前一個信元起所經過的時間。因為來自物理層處理器2的全部輸入的ATM信元(有效信元、無效信元和空信元)都送到接收方ATM層處理器3中,而把這些信元全部進行計數(shù),所以可以按照以1個信元時間作單位的時間得知信元到達的時間。按照這種方法,不用交換裝置、CPU等使用的外部信息包就能知道這個接口處的正確的信元到達時間,即使接口速度發(fā)生變化也不必變更程序。實際的時間可以用該計數(shù)器值乘以1個信元時間求出來。
在此,如果設可以用于信元數(shù)計數(shù)的數(shù)據(jù)為m比特,計數(shù)器值按增量1增加,直到2^m-1時計數(shù)器值復位到0,再增加下去。
(VPI/VCI取出;步驟1303)從收到的題頭信息中分別取出路由和流量監(jiān)視所必要的VPI/VCI的值,先把從物理層處理器2轉移來的題頭數(shù)據(jù)(HD)右移(VCI的位長)+4比特,然后把VPI的位長以外掩蓋而得到VPI。而把HD右移4比特之后掩蓋VCI的位長以外部分得到VCI。這樣,即使VPI/VCI的位長發(fā)生變化,只變更VPI/VCI的位長參數(shù),就可以簡單地適應。
(變換表地址計算;步驟1304)首先從取出的VPI/VCI中計算對應于該VPI/VCI的變換表1202的參照位置。先把VPI/VCI的參照長作為VPI/VCI的位長以下的a(比特),b(比特),再用VPI/VCI的下位a(比特),b(比特)參照對應于各個VPI/VCI的變換表1202進行計算。
(讀出各信息;步驟1305)參照變換表1202讀出各信息。
流量監(jiān)視~峰值速率和平均速率計算;步驟1306)流量監(jiān)視按照ATM的公式中規(guī)定的UNI標準進行,關于具體的實現(xiàn)方法說明如下。
(1.峰值速率計算)本實施例中,作為峰值速率監(jiān)視的申報值,使用時間T0和時間T0中所得到的最大信元個數(shù)X0,用X0/T0表示峰值速率。如圖23所示,假定信元流在時間Tk(K=…,n-X0,…,n,…)到達,測定對象信元的到達時間Tn從X0個前面的信元到達時間Tn-X0算起不足T0時間的話,該信元就違反申報的峰值速率,也就是說如果Tac=Tn-Tn-X0小于T0的話該信元違反峰值速率。
但是,即使在末端遵守申報值把信元發(fā)送出去,由于經過交換裝置等的內部交換裝置的緩沖作用也會在信元流中產生波動,而變成為違反狀態(tài)。因此,為了容許某種程度的波動,確定一個時間τ,若Tac>T0-τ,就在波動的范圍內,就不作為違反信元。但是,這時的到達時間Tn不是計數(shù)器值,而是Tn=Tn-1+T0。
在此,如果信元在計數(shù)器回零之后到達,與其前面的信元到達時間間隔就成了負值,不是正確的值。因此,信元在Trb時到達,然后計數(shù)器回零,下一個信元在Tra時間到達。而且把Tcm作為計數(shù)器的最大值。這樣,信元的到達時間間隔不是Tra-Trb,而變成為(Tcm-Trb)+Tra。雖然插入計數(shù)器回零的到達時間間隔可以用該式算出來,但判定回零的有無很麻煩,所以,用(Tra-Trb+Tcm)modTcm來作到達時間間隔的計算,就與計數(shù)器的回零沒有關系,而可以算出到達時間間隔。
(2.平均速率計算)為了進行平均速率的監(jiān)視,用時間T1和信元個數(shù)X1作為申報值,這樣就把監(jiān)視值平均速率表示為X1/T1。假定信元流在時間Tk(K=…,n,…)到達,每次信元到達時,把與剛到達的信元間的時間和T1/X1的差累加起來。也就是說,每次信元到達時,Tad更換為Tad+((Tk-Tk-1)-T1/X1)(k=…,n,…,)如果這個值是負的,該信元就違反申報的平均速率。
信元到達時間間隔的計算和峰值速率監(jiān)視情況一樣,這時的計算也不受計數(shù)器回零的影響。
(VPI/VCI替換;步驟1312)對于在上述流量監(jiān)視中被判定不違反的信元,用從對應于題頭變換表1202中附加在信元題頭上的VPI/VCI的部分求出來的新的VPI/VCI或者復制連接用的連接標識符重新寫上題頭。
(路由標志的附加;步驟1313)信元為了在開關中進行自己的路由,按照符合開關信元格式把記有根據(jù)VPI/VCI從題頭變換表1202中檢索到的開關中的切換信息的路由標志附加在題頭部分。
(違反峰值速率、平均速率情況的處理;步驟1307~步驟1311)
另一方面,輸入的ATM信元流不管在違反上述哪一個流量監(jiān)視(峰值速率,平均速率)的情況下,ATM層處理器都要進行如下處理。即在附加路由標志時,附加在ATM開關中判定為無效信元或空信元的路由標志(步驟1311,1313)?;蛘咴谠撔旁嫌浬戏Q為違反信元的標記(步驟1310),再原樣進行題頭變換(步驟1312)。
(流量監(jiān)視用信元到達時間的更新;步驟1314)附加路由標志(步驟1313)之后,進行流量監(jiān)視用信元到達時間的更新。作為流量監(jiān)視的變量,除上述的申報值X0,T0,X1,T1之外,關于各VPI/VCI還必須要直到X0個信元之前的信元到達時間。例如在本實施例中,這些到達時間存儲在排列Tp(n)(n=0,1,…,X0-1)中。這個排列的內容按如下的算法更新。
設Tp(k)=Tn,那么,Tp(k-1)=Tn-1,Tp(k-2)=Tn-2,……,Tp(0)=Tn-k,Tp(X0-1)=Tn-k-1,……Tp(k+1)=T0-X0。當下一個信元到達時,把Tp(k+1)更新為Tp(k+1)=Tn+1。這樣,下一個信元到達時為進行流量監(jiān)視而使用k,參照/更新Tp(k),Tp(k+1)(k=X0-1的情況下,為Tp(X0-1),Tp(0))。
(接收數(shù)據(jù)輸出子程序(對應于圖3的201))把ATM層子程序的處理結果即必須輸出到ATM開關103的信元的題頭上附加了路由標志的數(shù)據(jù),存入帶有路由標志的題頭收納緩沖器211中。同時在信元同步子程序所得到的信元中得到不輸出到ATM開關104的數(shù)據(jù)的信息。從這些信息和譯碼子程序的結果的信元荷載收納緩沖器212上的數(shù)據(jù),再形成輸出到ATM開關103的信元并進行輸出。
(接收方輸出部分)
把來自數(shù)據(jù)輸出子程序的信元數(shù)據(jù)存入接收方輸出部,即接收方FIFO。接收方輸出FIFO根據(jù)來自ATM開關103的時序把信元數(shù)據(jù)輸出到ATM開關103。
下面說明發(fā)送方通話話路處理子程序的構成及其細節(jié)。
(關于子程序的劃界)發(fā)送方的通話話路處理也進行與接收方同樣的處理。以下,根據(jù)圖14說明通話話路處理中的各子程序的流程和它的數(shù)據(jù)、指示符、有效信元等信息流程。在圖14中用粗箭頭表示數(shù)據(jù)流向,標記為P的細箭頭表示指示符流向。
首先,把來自ATM開關103的信元輸入到發(fā)送方輸入部,即發(fā)送方輸入FIFO。發(fā)送方輸入子程序1403把發(fā)送方輸入FIFO內的信元數(shù)據(jù)寫入CPU存儲器上的開關信元接收緩沖器1409。在此,若發(fā)送方輸入FIFO的容量相當大的情況下,不必把信元數(shù)據(jù)一次存入開關信元收納緩沖器1409,所以就無需圖14的上部用點線圍成的部分1414。
從發(fā)送方輸入子程序1403向發(fā)送方ATM層處理子程序1404只轉移開關信元接收緩沖器1409的指示字,ATM層處理子程序1404根據(jù)這個指示字把信元數(shù)據(jù)從開關信元接收緩沖器1409中取出來。如上所述,在省略了開關信元接收緩沖器1409的情況下,信元數(shù)據(jù)被直接送到發(fā)送方ATM層處理器。
在發(fā)送方ATM層處理器中,把在接收方ATM層處理器中附加的路由標志從開關格式的信元中削掉,然后變換成為ATM格式的信元。另外,根據(jù)需要進行VPI/VCI的變換和整形處理。
整形的結果使信元順序和輸入到發(fā)送方ATM層處理器5時不一樣,所以,信元順序接收緩沖器1412中記錄整形后的信元順序,然后把它的指示字轉移到物理層處理子程序1405。
而且,先把信元分離為題頭和有用荷載,分別收納在題頭接收緩沖器1410和有效荷載接收緩沖器1411中,只把它的指示字轉移到物理層處理子程序1405。
用物理層處理子程序1405主要是進行有效荷載部分的編碼和題頭的HEC部分的計算以及把信元數(shù)據(jù)編排入幀。首先,按照信元順序接收緩沖器1412中存在的信元送出順序,以信元為單位從有效荷載接收緩沖器中讀出成幀所必要的數(shù)據(jù),逐次進行編碼。另一方面,在編排時,從題頭接收緩沖器1410中讀出對應于有效荷載的題頭,計算對應于讀出的4字節(jié)題頭的HEC,把它附加在題頭上,然后與經過編碼的有效荷載部分組合構成信元數(shù)據(jù),把該數(shù)據(jù)編入幀內。把該數(shù)據(jù)寫入輸出幀數(shù)據(jù)接收緩沖器1413內,然后轉移到輸出處理程序1408。這時,如果發(fā)送方的輸出FIFO容量十分大,或者在物理層處理子程序感知發(fā)送方輸出FIFO有空而被起動的情況下,就不必一次性把幀數(shù)據(jù)存入輸出幀數(shù)據(jù)接收緩沖器1413,而直接把數(shù)據(jù)轉移到發(fā)送方輸出子程序1406,可以寫入外部的FIFO中。這種情況下,就無需圖14下部的點線所圍成的部分1415。
如上所述,發(fā)送方通話話路處理也和接收方通話話路的處理一樣分割成為子程序。這樣,把有效荷載部分的編碼替換成硬件,可以靈活地進行這樣的軟件和硬件的組合。
對于這些發(fā)送方的物理層處理和接收方的物理層處理一樣,也是用CPU的數(shù)據(jù)進行處理,所以也能減輕軟件處理量。
在原來的硬件概念的處理中,生成HEC時每個字節(jié)要4次讀取題頭,每次要進行除法運算,但是用本實施例的32比特CPU,一次就讀出題頭的前4個字節(jié),進行排他邏輯和運算或者查表就可以很容易地得到HEC的值。
對于編碼也和譯碼一樣,因為每個信元必須讀出48個字節(jié)的數(shù)據(jù),所以與按1比特和1字節(jié)單位讀取數(shù)據(jù)的原來的方式相比,用32比特等的數(shù)據(jù)讀取就能減少讀出次數(shù)。
而且,由于把已編碼的數(shù)據(jù)直接寫入幀輸出用的FIFO中,所以就不必寫入一次性內部超高速緩沖存儲器,從而使寫入次數(shù)減少。
一般,把數(shù)據(jù)寫入存儲器和FIFO以及從它們讀取數(shù)據(jù)時,在CPU中要進行許多處理。因此,由于有效地使用超過上述1字節(jié)的那種CPU的數(shù)據(jù)進行數(shù)據(jù)處理,所以減少了寫入和讀出的次數(shù),從而減輕了CPU處理負擔。
以下,對各步驟,子程序作更加詳細的說明。
(發(fā)送方輸入處理子程序1403)把ATM開關4輸出的信元數(shù)據(jù)存入發(fā)送方輸入FIFO。發(fā)送方輸入子程序1403把這個FIFO內的數(shù)據(jù)寫入CPU存儲器上的開關信元接收緩沖器1409。再把該開關信元接收緩沖器1409的指示字和收納的信元數(shù)等加到下一個子程序ATM層處理子程序1404。在省略圖14上部點線圍成的部分1414的情況下,這個子程序只是單純地把數(shù)據(jù)從FIFO轉移到ATM層處理子程序1404。
(發(fā)送方ATM層處理子程序1404)在接收方ATM層處理部附加上路由標志、復制標志等信息,而把開關信元格式中變換的信元在發(fā)送方ATM層削掉由接收方附加的部分,還原成ATM信元格式。同時為了使后述的發(fā)送方物理層處理部進行的有效荷載部的編碼容易進行,進行信元題頭和有效荷載部分的分離。
在ATM開關103具備復制功能的情況下,取代在接收方ATM層處理部進行VPI/VCI的變換,而附加只在交換裝置內部有效的連接標識符,在發(fā)送方ATM層處理部,按照這個連接標識符參照VPI/VCI變換表更換寫入新的VPI/VCI,這種方式也是有效的。
另外,ATM開關中的會聚控制、與來自其他通道的信元的多重化,使信無流的形態(tài)變?yōu)楸惠斎霑r的狀態(tài)。因此,在發(fā)送方ATM層處理部實施對信元流的整形處理使之符合申報值是有效的。
進行整形時,必須知道進行整形的信元的輸出信元流中的時間位置。因此,要對從ATM層處理部向物理層處理部轉移的信元計數(shù),因為是把這個計數(shù)作為以1個信元的時間為單位的時間用于整形,所以CPU不必具備計時功能。這樣,通過對轉移到物理層處理部的信元數(shù)的計數(shù)例如為了提高信元廢棄特性,即使是對應于使信元轉移速度比接口點處的信元轉移速度還高的ATM開關103的ATM層處理子程序,用這種方法也能以物理層處理部中的信元轉移速度進行整形。
(物理層處理子程序1405)在形成幀時,以1幀為單位形成的。在此,作為一個模型的幀結構其一幀所包含的信元數(shù)據(jù)是96字節(jié),作成信元數(shù)是2個信元弱,并且希望信元的分段和幀形成的分段相一致。因此,在生成幀的子程序間必須轉移以下的數(shù)據(jù)。它們是幀寫入點、信元讀取點、編碼數(shù)據(jù)、存儲器內信元寫入變量、存儲器內信元讀出變量等。幀寫入點是以字節(jié)為單位表示幀內進行下一次寫入的位置,取值為0~95。信元讀出點是以字節(jié)為單位表示CPU內部存儲器上的信元內進行下一次讀出的位置,取值為-52~52。
值為負的情況是由于存儲器上不存在能輸出的信元而輸出空信元的情況,其絕對值表示空信元的第幾個字節(jié)。編碼數(shù)據(jù)是對該數(shù)據(jù)塊的最初2字的數(shù)據(jù)進行編碼所使用的數(shù)據(jù),也是前面數(shù)據(jù)塊中進行編碼后的最后2字的數(shù)據(jù)。當然,在這個數(shù)據(jù)塊的成幀結束時要輸入該數(shù)據(jù)塊編碼后的最后2字。
存儲器內信元寫入變量表示在CPU的存儲器上下一次寫入信元的寫入點,把代表信元讀出點的存儲器內信元讀出變量的值與該值比較來判別有無能輸出的信元。如果寫入變量和讀出變量的值相等,是不讀出信元的時間,若寫入變量大于讀出變量,則是存在能讀出信元的時間。如果讀完一個信元,就把信元讀出點進1,同時與寫入變量進行比較。
下面,根據(jù)圖15對實際形成新幀時的步驟予以說明。
首先,把上次成幀中剩余的未寫入的最后的字的數(shù)據(jù)(0~3字節(jié))寫入這次的幀的始端(步驟1501)。雖然是進行寫入整個一個字的操作,但實際上是接收對應于所剩余的數(shù)據(jù)的字節(jié)數(shù)的幀寫入點,再根據(jù)這個值開始下一次的數(shù)據(jù)寫入,實現(xiàn)向剩余數(shù)據(jù)幀的寫入。
接著,根據(jù)信元讀出點的值,檢查上一次物理層處理是在怎樣的狀態(tài)下結束的。
如果上次物理層處理的成幀在空信元的輸出過程中結束(步驟1502中Yes的情況),若有來自HEC的輸出(步驟1503中的Yes;信元讀出點是-4),首先把空信元的HEC寫入輸出幀數(shù)據(jù)收納緩沖器1413(步驟1504),然后,一面對空信元的數(shù)據(jù)編碼一面把它寫入緩沖器(步驟1505)。此處,因為空信元的題頭特征是固定值,所以程序中把HEC的值保持為常數(shù),可以只輸出該空信元HEC數(shù)據(jù)。另一方面,如果有來自有用荷載部分的輸出(步驟1503中No的情況;信元讀出點為-5以下),一面把空信元的有用荷載的剩余部分編碼,一面存入緩沖器(步驟1505)。
如果上一次成幀是處于有效信元的輸出過程中的情況(步驟1506的Yes),若有來自HEC的輸出(步驟1507中的Yes;信元讀出點是4),首先從題頭的值算出HEC,再把它寫入緩沖器中(步驟1508),然后,一面把有用荷載部分編碼一面寫入緩沖器(步驟1509)。另一方面,若是來自有用荷載部分(步驟1506中的No;信元讀出點是5以上),那么,一面把剩余的有用荷載部分編碼一面寫入緩沖器(步驟1509)。
接著,在進行過上述步驟1505,1509之后,或者在步驟1506No的情況下,也就是上次的處理恰好在信元終端結束的情況下(信元讀出點是0),進行如下的處理。
首先查問CPU上的存儲器中有沒有能輸出的有效信元(步驟1510或1515),根據(jù)查詢結果輸出有效信元(步驟1511~1513或步驟1516~1518)或者輸出空信元(步驟1514或1519)。這些向緩沖器寫入數(shù)據(jù)的位置沿著全部幀寫入點的值進行。而且在進行寫入時,必須進行幀寫入點和信元讀出點的值的更新。在空信元、有效信元不管哪種信元輸出的情況下,輸出到一個信元的終端也都要把信元讀出點置0,把存儲器內信元讀出變量進1,再檢查CPU上是否存在可以輸出的有效信元,根據(jù)檢查結果進行下一個信元的輸出。
上述處理一直進行到充滿幀的數(shù)據(jù)為止,也就是說一直進行到幀寫入點達到96以上為止。作滿一幀的情況下,就進行編碼用數(shù)據(jù)的存儲、存儲從幀數(shù)據(jù)中剩余的數(shù)據(jù)、設定下次成幀用的幀寫入點等步驟,然后結束物理層處理子程序。
接下來根據(jù)圖16來說明信元的有效荷載的編碼步驟。為進行信元有用荷載的某位的編碼,必須有從該位向前數(shù)43位中輸出并進行了編碼后的數(shù)據(jù)。因此,為進行對現(xiàn)在的數(shù)據(jù)字的編碼,始終要把編碼后的數(shù)據(jù)中最新的2個字存在寄存器內。這時,由于用C語言進行寄存器變量指定,從而可以削減存儲器間的無用的荷載,而實現(xiàn)高速化。實際的譯碼數(shù)據(jù)是這樣得到的,即用從信元有效荷載接收緩沖器中讀取到的1個字的數(shù)據(jù),與編碼用的數(shù)據(jù)2個字中的舊的數(shù)據(jù)左移21位及新的數(shù)據(jù)右移11位的數(shù)據(jù)三者作排他邏輯和處理得到實際譯碼數(shù)據(jù)。把新得到的數(shù)據(jù)作為信元數(shù)據(jù)輸出到幀上的同時,把它作為對下一個數(shù)據(jù)編碼用的數(shù)據(jù)存儲在CPU內部的寄存器上。而且,把編碼用的2字數(shù)據(jù)中的舊數(shù)據(jù)廢棄掉。在內部存儲器中沒有可讀出的信元的情況下,當然要用成幀子程序輸出空信元,這時,也可以考慮不進行數(shù)據(jù)的有效荷載部分的編碼。
HEC的計算可以這樣來進行,即如信元同步部分所詳細說明的那樣,先把1個字長的題頭數(shù)據(jù)向左移位最大7比特向右移位最大2比特,然后掩蓋住共計10個數(shù)據(jù)的各各數(shù)據(jù),使必要的比特位能作用于4個字節(jié)任意位置,最后,取對應于那4個字節(jié)的各比特的排他邏輯和。
輸出數(shù)據(jù)時,轉移到發(fā)送方輸出部7b的FIFO的1幀的數(shù)據(jù)變成為24字21比特,不符合一般的處理器的字長。因此,可以用軟件把不齊全的數(shù)據(jù)存在內部,加在下次發(fā)送的幀的開頭處。
按照上述的那樣的子程序群,可以構成把處理器作為程序發(fā)生器和ALU的交換裝置。按這種結構構成交換裝置的情況下,一次性存儲經過處理器和輸入FIFO(11013)、輸出FIFO(11014)、信元開關(103)的信元的FIFO(11024)、一次性存儲來自信元開關(103)的信元的FIFO(11025)和處理器(11021)連接部分的通過量就成了阻礙交換裝置本身數(shù)據(jù)通過量的主要因素。下面,說明為了提高交換裝置的數(shù)據(jù)通過量而提高這些FIFO和處理器之間的數(shù)據(jù)通過量的方法。
圖17中,微處理器(CPU)1701-1是如MIPS公司制的R3000那樣的RISC型微處理器,它用來對含有輸入輸出端口(I/O)1701-1~1701-n中分別被輸入輸出的ATM信元的信息進行交換處理。
在此,本發(fā)明中,所謂信息輸入輸出功能的意思是為處理器和外部(即接口點或ATM開關)的信息對話而設置的硬件。如到此為止的描述那樣,信息輸入輸出功能包含有為制定用處理器的處理時間而一次性存儲來自/發(fā)往外部的信息的FIFO。
超高速緩沖存儲器母線1791-1與CPU1701-1、指令超高速緩沖存儲器1702-1以及數(shù)據(jù)超高速緩沖存儲器1703-1相連接,而輸入輸出端口1710-1~1710-n直接連在超高速緩沖存儲器總線1791-1上。本實施例中,不同于把輸入輸出端口連接在存儲器總線1799上的一般的處理器系統(tǒng)的構成法,而是連接在超高速緩沖存儲器總線1791-1上。因此,使信息輸入輸出功能和數(shù)據(jù)超高速緩沖存儲器1703-1之間的通信執(zhí)行時間降低,從而提高了交換裝置的數(shù)據(jù)通過量。
當然,和通常的方式一樣,不寫入到超高速緩沖存儲器中的信息等經過讀/寫緩沖器1703-1寫入到接在存儲器總線1799上的主存儲器1761中。在本實施例中,存儲器總線1799由DMA控制器1751來控制,由DMA轉移進行數(shù)據(jù)的發(fā)送接收。
圖17是本實施例中的輸入輸出端口的一種構成方法,對各輸入輸出線送來的數(shù)據(jù)取得位同步后,順序地存入到輸入FIFO1722中,CPU1701-1再把從輸入FIFO1722的開頭輸入的數(shù)據(jù)順次轉移到數(shù)據(jù)超高速緩沖存儲器1703-1。然后把切換處理結束后的數(shù)據(jù)順次從數(shù)據(jù)超高速緩沖存儲器1703-1寫入到輸入輸出端口1710-1~1710-n的輸出FIFO1723中,再把數(shù)據(jù)從輸出FIFO1723的開頭順次送到輸出線上。
微處理器CPU1701-1把來自輸入輸出端口1710-1~1710-n的輸入數(shù)據(jù)寫入數(shù)據(jù)超高速緩沖存儲器1703-1的適當存儲區(qū),然后把物理層處理、ATM層處理和切換處理等順次進行下去。
本實施例中所用的軟件等都存儲在指令超高速緩沖存儲器1702-1或ROM1741中。
在此,在上述的本實施例中,其構成是把輸出輸入端口1710-1~1710-n直接連在超高速緩沖存儲器總線上。眾所周知,由于近年來微處理器技術及器件技術急劇進步,使微處理器的處理速度和超高速緩沖存儲器的大容量化和高速化也在進步。另外,雖然設想輸入到ATM交換裝置的數(shù)據(jù)是原來那種猝發(fā)性高的數(shù)據(jù),但是,這種數(shù)據(jù)的轉移速率的上限取決于于傳送線路的速度,用低于傳送線路速度的速率發(fā)送有效的數(shù)據(jù)還是可能的,而以高于傳送線路速度的速率發(fā)送就不可能了。目前稱之為最高速的微處理器(例如α芯片200MHz)就是以比ATM通信方式的典型的接口速度15MHz還高的高速時鐘來動作的。
另外,現(xiàn)在的微處理器可以具有大容量的超高速緩沖存儲器(例如R3000可以裝載256KB的超高速緩沖存儲器),可以說為進行通常的數(shù)據(jù)信息包的處理,這個容量是足夠的。
更進一步,作為高速SRAM,已經在開發(fā)具有存取時間為10ns的1MB存儲容量的存儲器,可望將來開發(fā)出容量更大更高速的超高速緩沖存儲器。
由于這種各功能的進步,如本實施例那樣,以輸入輸出端口直接連在超高速緩沖存儲器上的結構來進行ATM交換處理的情況下,不會把微處理器1701-1中的在輸入輸出端口1710-1~1710-n和數(shù)據(jù)超高速緩沖存儲器1703-1之間轉移信息的命令通路攪亂,所以,按照本實施例就能實現(xiàn)比原來更高速的ATM交換裝置。
例如可以考慮用6.4Mbps I/F作為ATM接口之一。6.4Mbps I/F的幀長是789比特×4幀=3156比特,所以這一幀的數(shù)據(jù)頂多是3K比特=0.4KB。對此,本實施例中所用的微處理器R3000的超高速緩沖存儲器可達256KB,所以,可以提供充分的字節(jié)作為超高速緩沖存儲器的容量。
另外,即使把這種6.4Mbps I/F的全部用來發(fā)送有意義的數(shù)據(jù),由于微處理器R3000是按其標準速度35MHz時鐘(1時鐘-1命令)來動作的,所以能充分地進行從其接口點到超高速緩沖存儲器的數(shù)據(jù)轉移。
在如上述的那樣的用25MHz時鐘動作的R3000(微處理器11)來處理6.4Mbps I/F的情況下,如果輸入輸出端口1710-1~1710-n內的輸入輸出FIFO1722,1723中寫入3156比特的數(shù)據(jù),那么R3000分配到各輸入輸出端口1710-1~1710-n的處理的命令循環(huán)數(shù)約為12000/n。換言之,例如微處理器1701-1進行100MHz的高速動作的情況下,如果各輸入輸出線所必要的ATM交換處理是12000命令以下,用本實施例的ATM交換裝置可以實現(xiàn)4×4的ATM交換處理,這種情況下的輸入輸出FIFO1722,1723有大約8000比特的FIFO長就可以說是充分了。
在此,圖18表示用R3000時的微處理器1701-1中的命令通路的構成。用圖18中所示的命令通路中的各循環(huán)的處理如下IF命令取數(shù)(此處是向指令超高速緩沖存儲器存取)RD從CPU寄存器中取出操作數(shù)ALU命令操作數(shù)的執(zhí)行MEM存儲器存取(在此是向數(shù)據(jù)超高速緩沖存儲器存取)WB向寄存器文件寫入結果微處理器1701-1用這樣的命令通路各循環(huán)中的MEM循環(huán)進行從數(shù)據(jù)超高速緩沖存儲器1703-1及輸入輸出端口1710-1~1710-n的數(shù)據(jù)讀取,和分別向它們的數(shù)據(jù)寫入等的處理。另外,從圖18也可知,MEM循環(huán)和IF循環(huán)(向指令超高速緩沖存儲器1702-1存取)是重復的,所以,在R3000中一個循環(huán)內在1702-1和1703-1兩方進行存取。實際上,在R3000以25MHz動作的情況下,對各個超高速緩沖存儲器1702-1,1703-1來說就變成以50MHz的存取速度進行存取了。因此,本實施例所示的指令超高速緩沖存儲器1702-1、數(shù)據(jù)超高速緩沖存儲器1703-1、輸入輸出端口1710-1~1710-n內的雙向FIFO1722,1723就都是以50MHz的存取速度進行數(shù)據(jù)的輸入輸出。
如前所述,作為高速SRAM已經在開發(fā)存取時間為10ns(存取速度100MHz),容量為1MB的產品。而且,作為FIFO,也在開發(fā)存取時間為20ns以下(存取速度50MHz以上)容量為3K比特以上的產品。
從這一點來看,用本實施例所示的構成對輸入輸出端口1710-1~1710-n送出的數(shù)據(jù)進行ATM交換處理而不攪亂微處理器1701-1的命令通路是可以實現(xiàn)的。
另外,因為ATM信元的題頭部分是由4個字節(jié)(32比特)構成的,如本實施例那樣用32比特的微處理器進行處理的情況下,可以用圖2所示的命令通路的1個命令(1個MEM循環(huán))讀出該ATM信元的題頭部分和把它寫入,所以能以非常高的效率來進行ATM層處理和切換處理。
再回到圖2,來描述OAM處理過程。
發(fā)送接收線路和本交換裝置之間輸入輸出的數(shù)據(jù)除用戶數(shù)據(jù)之外還有OAM數(shù)據(jù)。上述通話話路處理都是針對用戶數(shù)據(jù),對于OAM數(shù)據(jù)考慮用OAM數(shù)據(jù)專用的處理。
例如,作為OAM數(shù)據(jù)有故障地點特定中使用的回送信元,回送指示信元用連接路徑和端點的任意交換裝置(或終端設備)來決定進行返回該信元的指示。
因為把專用的信元題頭分配給承擔OAM數(shù)據(jù)的信元,所以能用ATM層的處理來進行某個信元是承擔OAM數(shù)據(jù)信元還是用戶信元的判定。但是,對于承擔該OAM數(shù)據(jù)的信元是否是指示回送或者返回點是否是該節(jié)點等,只用信元題頭的值是不能斷定的。回送信元中有返回前和返回后兩種狀態(tài),只有返回前的信元回送。可是,寫有表示返回前還是返回后的信息的不是信元題頭而是信元有用荷載,處理就更復雜。
像這樣,由于OAM數(shù)據(jù)的處理比通常的通話話路處理復雜,即使用原來的硬件構成的通話話路處理,提取這種OAM信元也不同于用戶數(shù)據(jù),多半是用軟件來處理。
另外,連接狀態(tài)的變更所引起的路由標志表的更新以及通話話路處理中所產生的統(tǒng)計信息的對外通知等的處理,通常也是用軟件來進行的。這些處理也被稱為OAM處理。
在本實施例中,OAM處理是用處理器上的OAM處理程序來進行的。如圖2所示,OAM處理具備有OAM信元信息的發(fā)送接收器141和針對表及統(tǒng)計信息等的監(jiān)視控制處理142。通話話路處理具有OAM信元交叉插入部113和監(jiān)視控制接口114。另外,OAM處理還具有與控制交換裝置整體的上位交換機控制處理器104的接口143。
作為OAM處理以外的例外處理有速度調整處理。在接收方從幀緩沖器輸入的數(shù)據(jù)因位差錯而丟失的情況下,必須轉移到ATM開關103的數(shù)據(jù)可能不足。用硬件進行信元處理時,在圖2所示的各處理階段之間設置緩沖器,如果輸出緩沖器的數(shù)據(jù)不足就插入空數(shù)據(jù)(空信元)。
這里,用CPU進行信元處理的情況下,也有信息的輸出速度必須獨立地與接收到的有效信息的速度相統(tǒng)一的接口點。發(fā)送點和與以一定速度動作的ATM開關的接口點處于其中。用CPU進行信元處理有必要用軟件處理來實現(xiàn)速度調整。在本實施例中,速度調整是由空信元發(fā)生器129,139進行的。
下面對本實施例的交換裝置中滿足各處理過程要求的處理起動方法、CPU等的資源分配方法及數(shù)據(jù)的交接方法等詳細地說明2個具體實例。按圖19(接收方)、圖20(發(fā)送方)進行說明,處理的時間流序表示于圖21(接收方)和圖22(發(fā)送方)中。
首先根據(jù)圖19說明第1例的接收方的處理。
從接收線路輸入的比特數(shù)據(jù)存儲到用FIFO的幀緩沖器1911中,如果硬件緩沖器中積存的數(shù)據(jù)量達到予定的一定值(當然其前提是只能認識幀的長度的數(shù)據(jù)積存在緩沖器中)時,幀緩沖器1911對處理器R產生起動通話話路處理的插入要求。這個起動條件的意思是說空出的容量達到一定值以下,接收緩沖器溢出之前起動接收處理。根據(jù)插入起動要求起動物理層處理步驟1932。
作為接收方物理層處理的起動條件,除上述幀緩沖器1911送來的插入之外,還要考慮時間插入的方法。處理器R每隔一定時間從幀緩沖器1911接收一次數(shù)據(jù),這就是開始物理層處理的方法。根據(jù)插入,起動物理層、ATM層的通話話路處理程序1931。
直到積存在幀緩沖器1911內的比特數(shù)據(jù)的一個塊的處理結束把數(shù)據(jù)轉移到ATM開關1902之前,由其他基本的處理程序來不中斷地進行通話話路的一系列的處理。為了不中斷處理,除去更優(yōu)先的程序插入的情況之外,通話話路處理必然能在一定的時間之內結束。也就是說滿足嚴格的實時處理條件。
但是,在處理的過程中加入優(yōu)先度更高的程序處理的情況下,如果知道那個處理過程的處理時間的上限值,本處理也能在下式表示的時間內結束處理。
(本處理的執(zhí)行時間)+(比本處理更優(yōu)先的程序的執(zhí)行時間)因為在一預定的時間內完成了處理,即使輸入幀緩沖器1911中發(fā)生接收數(shù)據(jù)的溢出也不丟失接收的數(shù)據(jù)。當然,為了防止發(fā)生溢出,必須預先估計通話話路處理程序1931所需的處理時間和該程序開始前最長的等待時間,考慮到溢出的可能性,必須通過產生一個中斷來起動通話話路處理1931。
進行這樣的CPU資源分配,由于在通話話路處理中加上適當?shù)碾娖教幚韮?yōu)先度而禁止插入,從而可以不產生其他處理程序對CPU資源的搶占。
那么,在物理層處理步驟1932中,對輸入位串進行行譯碼之后確立幀同步。這個處理由檢出物理層幀結構的同步位來進行。這時,不一定對所有的數(shù)據(jù)進行同步位的判定,對某些比特數(shù)據(jù)檢查,如果未達到同步,就結束幀同步處理,也可以把偏離幀同步通知OAM處理程序1941。這種方法將從不包含幀信息的輸入數(shù)據(jù)中檢出幀同步特征,所以在避免白白消耗CPU時間意義上講是有效的。
除了表示偏離幀同步之外,作為從物理層處理步驟1932轉移到OAM處理1941的信息還有接收幀的誤碼數(shù)和其他的統(tǒng)計信息。另外,根據(jù)物理層的接口規(guī)定,有時要把接收數(shù)據(jù)的誤碼數(shù)通知對方,但交接這個值的數(shù)據(jù)量是極少的,并且對延遲的要求也不嚴格。這樣的數(shù)據(jù)交接為使通話話路1931的安裝作得簡單,簡便的方法是一次轉移到OAM處理過程1941。在以高速動作為目的的通話話路程序1931中,不希望具有與對方通話話路等的多種處理(作為其安裝形態(tài)可能有各種各樣的處理步驟)的接口。后面還要描述有關物理層處理1932和OAM處理1941之間的接口(由統(tǒng)計信息表的項目詳細描述)。
接下來進行在取得幀同步的位串的用戶數(shù)據(jù)轉移用區(qū)域中的ATM信元同步,即進行ATM信元題頭的探索。在信元同步處理中,還同時進行信元題頭修正處理和題頭錯誤信元及物理層空信元的廢棄處理。對以上處理中未被廢棄的有效信元有用荷載進行譯碼處理。
用這些處理來確定位串中的有效信元題頭和有用荷載的位置。
接著,對信元進行ATM層處理1933,在ATM層中讀出基本的信元題頭的值,并進行題頭變換、附加路由標志、流量監(jiān)視、信元發(fā)送等處理。
在ATM層處理1933中不直接參照有用荷載的數(shù)據(jù)。為此,在物理層處理1932和ATM層處理1933共有同一存儲器的CPU處理中,為了減少從物理層處理1932向ATM層處理1933的數(shù)據(jù)轉移的額外的操作,不轉移信元有用荷載而只轉移信元有用荷載的被存儲的指示字的方法,對減少存儲器存取的次數(shù)和提高執(zhí)行速度都是有效的。在本實施例中,物理層處理步驟1932把信元有用荷載的內容寫入共有的緩沖器1921內,再把它的指示符和題頭值寫入物理層/ATM層輸入信元指示符隊列1923中。
接下來起動ATM層處理1933。由于接收方的物理層、ATM層的數(shù)據(jù)流是連續(xù)的,如果在OS上把它們分別作成處理程序的前半部分和后半部分,就能節(jié)約處理過程的上下關系的轉移和共有緩沖器存取的排他控制的處理。
在ATM層處理1933中,先從隊列1923中取出信元題頭和指示符,然后進行題頭變換、附加路由標志和流量監(jiān)視處理。最后,ATM層處理把信元送到ATM開關1902時,該信元的指示符所指位置的數(shù)據(jù)與信元題頭、路由標志結合起來,再轉移到輸出ATM/SW緩沖器1912。
因此,在認識幀結構的必要上,起動物理層處理的單位必須有至少1幀以上的周期。為了簡化排他控制,起動繼續(xù)物理層處理1932的ATM層處理1933的情況下,用包含在傳送幀中的信元數(shù)來規(guī)定ATM層處理產生結果后寫入ATM/SW緩沖1912內的信元數(shù)。例如在620Mbps的SDH傳送幀處理中,1幀的處理產生約160個信元。在物理層中為了認識幀結構必須處理至少1幀以上的數(shù)據(jù),所以繼物理層處理之后起動ATM層處理的情況下,必須進行至少160個信元以上的處理。
該處理結果所產生的信元幾乎全都寫入到ATM/SW緩沖器1912中。由于ATM/SW緩沖器1912的容量小而不能把這些信元存入時,就必須把ATM層處理的單位作得更小。例如把物理層處理的處理單位分割得比1幀更小,處理盡可能存入ATM/SW緩沖器1912內的信元,再起動ATM處理來處理信元。
另一方面,在用專用硬件構成物理層處理的情況下,因為沒有物理層處理,也可以根據(jù)從物理層處理的硬件送來的"信元生成信號"的定時來起動ATM層處理。
轉移結束后指示變?yōu)榭諣顟B(tài)的指示符送入空緩沖器指示符隊列1922。物理層處理在把信元寫入緩沖器時,從空緩沖器指示符隊列1922中取出空緩沖器的地址,再把信元有用荷載寫入那個地址。就這樣循環(huán)利用信元緩沖器1921。
對于緩沖器管理來說,由于ATM信元是固定長,所以,即使把緩沖器分割開,管理存儲區(qū)域的情況下,只要予先準備多個予先固定長的區(qū)域也就足夠了。在把存儲區(qū)的管理單位作成可變長的情況下,為避免成為侵蝕存儲區(qū)域的狀態(tài)要進行無用數(shù)據(jù)的收集處理。無用數(shù)據(jù)收集是妨害處理步驟實時性的原因之一,但處理ATM信元的情況下不必進行這種處理。
在ATM信元中有用戶信元和OAM信元。上面,對用戶信元作了說明,但是對OAM信元要進行區(qū)別于用戶信元的處理。下面說明OAM信元的處理。
用ATM層處理讀題頭時,如果是OAM信元,就把存儲該信元的緩沖器的指示符從ATM層處理1933轉移到OAM處理1941。
從確保通話話路處理的實時性的觀點來看,OAM處理步驟1941在指示符轉移時刻并不起動,而是繼續(xù)進行通話話路處理。即使這樣,由于比通話話路處理緩慢,所以OAM處理的時間的約束也不成問題。
根據(jù)協(xié)議規(guī)定雖然物理層的OAM信元是在物理層分支,但安裝方法并不作規(guī)定。因為物理層的OAM信元的識別是由調查信元題頭的值來進行,所以從處理的簡便性的觀點來看,與OAM層的OAM信元一樣,也希望用ATM層的OAM信元分支處理來進行分支。
因為處理層中并不處理信元,為確保前述的通話話路的實時性,在ATM層處理的動作中實施于OAM信元的處理,只能把OAM信元在OAM處理過程中予以分支。
另外,接收到OAM信元分支的同時如果要求必須從OAM處理插入ATM層的信元流的信元,就插入那個信元取代已經分支的信元。在檢出ATM層的空信元時,如果有來自OAM處理的信元插入要求,也要廢棄空信元插入OAM信元。
把來自OAM處理1941的信元插入要求寫入OAM/通話話路轉移信元指示符隊列1925。ATM層處理步驟1933從輸入信元指示符隊列1923中取出信元時,如果該信元是空信元,就檢查OAM/通話話路轉移信元指示符隊列1925中是否寫入有指示符。如果隊列1925中寫有指示符,ATM層處理就判定為有來自OAM處理1941的信元輸出要求,并把輸出的OAM信元題頭和有用荷載取代該空信元寫入到SW/ATM緩沖器1912。
把OAM處理1941所作成的信元轉移到通話話路處理步驟1931的情況下,必須確保在共有緩沖器1921上寫入該信元的區(qū)域。為此,雖然OAM處理1941也可以在空的緩沖器指示符隊列1922中存取,但是必須有對空緩沖器指示符隊列1922的競爭控制,通話話路處理1931的執(zhí)行時間最好不要延長。而且,在本實施例中,把為從通話話路處理1931轉移的信元保留的區(qū)域用來把來自OAM處理1941作成的信元向通話話路處理1931轉移。在此,若從通話話路處理1931轉移來的信元的個數(shù)少,而發(fā)生OAM處理1941作成的信元存儲區(qū)域不滿的情況,是不好的,但是,在予先確定的條件下,例如OAM/通話話路轉移信元指示符隊列1925空的時候,如果把空信元的有用荷載所存儲的指示符和題頭寫入到通話話路/OAM轉移信元指示符隊列1924中,就可以解決這個問題。
通話話路/OAM轉移信元指示符隊列1324內有空信元時,為了輸出OAM信元,OAM處理1941也可以優(yōu)先利用該空信元。因為指示符所指示的共有緩沖器1921的地址上還沒有寫入有效信息,所以把輸出的OAM信元的有用荷載寫在這里,再把信元題頭換寫成適當?shù)闹?,與指示符一道與入OAM/通話話路轉移信元指示符隊列1325。信元的輸出由通話話路處理1931進行。
被廢棄的空信元的有用荷載所存入的指示符和題頭被寫入通話話路/OAM轉移信元指示符隊列1925中。通話話路/OAM轉移信元指示符隊列1324中有空信元時,OAM處理把該空信元用來輸出OAM信元。因為指示符所指的共有緩沖器1921的地址上還沒有寫入有效的信息,所以就把輸出的OAM信元的有用荷載寫在這里,再把信元題頭改寫為適當?shù)闹?,與指示符一起寫入OAM/通話話路轉移信元指示符隊列1925。信元的輸出由通話話路處理1931來進行。
在ATM層的處理中用指向信元題頭和信元有用荷載的指示符的形式處理過的信元,在ATM層處理過程1933結束時,再按照信元題頭上連接了路由標志符、有用荷載的數(shù)據(jù)節(jié)內的信元格式被寫入向ATM開關1902輸出的緩沖器1912。
該緩沖器由硬件構成,它以與ATM開關1902的數(shù)據(jù)讀取速度一致的一定速度讀出數(shù)據(jù)和輸出數(shù)據(jù)到ATM開關1902。從物理層轉移來的用戶信息信元全都進行處理,在寫入對ATM開關1902的輸出緩沖器的時間點結ATM層、物理層以及配合ATM層處理的通話話路處理1931。
接收方通話話路處理1931的起動取決于幀緩沖器1911的緩沖存儲量。由于位同步錯誤而未把接收位串寫入幀緩沖器1911的情況下,不起動通話話路處理程序1931。當然,這時必須寫入輸出緩沖器的數(shù)據(jù)也不寫入。而且未確立幀同步、未確立信元同步時也不進行ATM層處理。為了使ATM開關1902動作,在必要的情況下不管用什么方法制作假數(shù)據(jù)都有必要加上信元特征。
執(zhí)行這項任務的是空信元生成步驟1934。如果輸出緩沖器的容量低于一定值,空信元生成程序1934就依靠緩沖器裝置的硬邏輯引起的插入來起動。空信元生成具有比通話話路處理1931更高的優(yōu)先度,通話話路處理1931的動作被起動立刻把予定數(shù)的空信元特征寫入輸出緩沖器。如果空信元生成程序一次寫的空信元數(shù)多,程序起動的次數(shù)就少,程序的起動操作就減少。但是,本來不必要的空信元,在ATM開關1902送出的變多。如果一次寫入的空信元的個數(shù)少時,結果與此相反。
在接收方通話話路處理1931的過程中,把最大的優(yōu)先度加在空信元的生成上。ATM開關1902正常動作,ATM/SW緩沖器1912存在的前提條件是交換裝置全體動作??招旁l(fā)生要求由ATM/SW緩沖器1912發(fā)出??招旁a生過程中不插入其他處理。因此,ATM/SW緩沖器1912的數(shù)據(jù)量只有(空信元發(fā)生程序的起動額外操作量)+(使空信元產生的必要時間),在連續(xù)送到ATM開關1902的信元量不減少時必須發(fā)出空信元產生要求。
整度調整處理也可以在CPU信元處理的一連串的處理的某處進行。但是,從安裝的容易性和處理的時間應答性(空信元的插入被認為是輸出緩沖存儲長度的反饋控制)的觀點來看,應盡量在CPU信元處理的輸出方,即最好剛好在ATM/SW緩沖器1912之前進行。而且,這種處理也能由專用硬件構成,這種硬件先輸出ATM/SW緩沖器1912的緩沖存儲長度再產生予定的空信元特征。
下面根據(jù)圖20說明第1例的發(fā)送方的處理。
發(fā)送方的處理對前述的接收方的處理來說大體上沿相反的途徑進行。從ATM開關1902朝CPU接口在其輸入部設有用硬件構成的信元緩沖器2012。與接收方的行輸入一樣,積存在信元緩沖器2012的數(shù)據(jù)超過予定的某一定值時就起動ATM層處理程序2033。
作為發(fā)送方ATM層處理的起動條件與前述的方法不同,其方法是用時間插入定期的監(jiān)視信元緩沖器2012的空間容量,空間容量在一定值以下時,起動ATM層處理2033。另外,發(fā)送方物理層處理2032為3成幀對ATM層處理2033要求信元時,起動ATM層處理2033,開始從信元緩沖器2012接收信元。
把帶有路由標志的信元從緩沖器2012中取出來,并把有用荷載存入共有緩沖器2021。進行流量監(jiān)視、削除路由標志、題頭變換,然后把變換過的題頭和指示符輸入到ATM層/物理層輸出信元指示符隊列2023。OAM信元的分支/插入也在此刻進行。然后結束對SW/ATM緩沖器2012中的全部信元或予定數(shù)的信元的處理的ATM層處理程序2031。
在接收方,按ATM層處理和物理層處理的順序起動。但在發(fā)送方則是在ATM層處理2031結束時根據(jù)發(fā)送方線路接口的幀緩沖器2031送來的插入獨立地起動物理層處理2032。
這是因為即將進行物理層處理之前為調整速度進行空信元產生程序2034,如果不備齊信元數(shù)據(jù)就不能構成幀(編碼影響前面的比特數(shù)據(jù))。在接收方,速度調整可以只生成空信元的特征再寫入緩沖器。但是,在發(fā)送方,在為速度調整而進行的空信元插入之后必須進行成幀處理,所以希望物理層處理和ATM層處理分別起動。如果空信元插入點設置在ATM層處理之前,雖然可以把物理層處理和ATM層處理一體化,但與把接收方的空信元的產生放在剛好在SW緩沖器之前的理由相同,最好把空信元的產生放在接近輸出的地方。
而且,物理層處理程序2032從輸出信元指示符隊列2023中取出構成幀所必要的予定數(shù)的信元,然后構成幀。取出信元內容后把不要的指示符送入空的緩沖器指示符隊列2022。緩沖器2021再次用于ATM層的信元存儲。
在輸出信元指示符隊列2023中的信元不足以構成幀的情況下,物理層處理2033呼叫空信元生成處理程序2034,生在空信元特征,從而構成幀。作為接收方速度調整功能的空信元生成對應于物理層+空信元生成。這是因為物理層中的處理以幀為單位。
當由硬件構成的FIFO處在ATM層處理和物理層處理之間而該FIFO內的數(shù)據(jù)變空時,也可以用把予存于主存儲器內的指示空信元特征的指示符和指示空信元的題頭寫入硬件的FIFO的功能來取代這種處理。
至此已說明的接收和發(fā)送處理,其處理時間的限制是嚴格的實時處理,即根據(jù)有無發(fā)送和接收數(shù)據(jù)來起動。處理幀全部數(shù)據(jù)的時間必須集中在一定的范圍。
另一方面,剩下來的OAM處理過程是處理時間限制比較慢的實時處理,也可以在故障、OAM信元大多數(shù)到達后,OAM處理負荷增大了的情況下,再由OAM處理程序對它們一一接順序進行處理。因此,在通話話路處理和OAM處理競爭CPU交換裝置的系統(tǒng)資源(主要是CPU時間)時,最好優(yōu)先分配給通話話路處理,把剩下的資源再分配給OAM處理。關于CPU時間的分配,只要使OAM處理的執(zhí)行優(yōu)先度低于通話話路處理的優(yōu)先度就能簡單地實現(xiàn)。
在此,說明從通話話路處理向OAM處理轉移信元的方法以及在OAM處理中的OAM信元的處理。
用圖19所示的接收方的ATM處理步驟1933檢出OAM信元。ATM層處理把信元題頭和有用荷載的存儲指示符寫入通話話路/OAM轉移信元指示符隊列1924。有用荷載予先存在通話話路/OAM處理的共有緩沖器1921內。通話話路處理1931中的OAM信元的處理到此結束。通話話路處理步驟1931的處理結束后,從控制轉移到OAM處理步驟1941,開始進行OAM處理1941的動作。
OAM信元的處理中有故障通知、回送等各種各樣的處理,各自的動作、處理時間也都很不同。因此,在處理時間受限的通話話路處理1931中只能進行向OAM處理1941發(fā)通知的處理。
OAM處理1941從信息色中讀取OAM信元題頭和有用荷載的指示符。從題頭和有用荷載的值知道所必要的處理,從而起動處理。OAM處理1941把必須插入的信元的內容寫入到只在處理起動時用而在結束處理后就不必要的共有緩沖器1921的有用荷載存儲區(qū)(1信元部分)。該信元必須附加的題頭值和指示符寫入OAM/通話話路信元指示符隊列1925中。
ATM層處理1933一旦檢出空信元或者OAM信元(把OAM信元分支,廢棄空信元),再從OAM/通話話路信息包中取出一個信元的信息來代替并插入信元流中。存儲被廢棄的空信元和向ATM開關1902輸出的OAM信元的緩沖器,再次排到空緩沖器指示符隊列1922中,物理層處理步驟1932存儲輸入的信元。
OAM處理和通話話路處理間的緩沖器存取的排他控制可以這樣實現(xiàn)。即轉移到OAM處理1941的共有緩沖器1921的存儲器資源循環(huán)再利用。由于把信元緩沖器作為共有緩沖器,即使通話話路處理和OAM處理之間交換信元數(shù)增加,因兩者之間轉移的信息量只有信元題頭和指示符部分,所以不必轉移信元有用荷載。
通話話路處理1931收集的誤碼數(shù)和通過信元數(shù)的統(tǒng)計信息轉移到OAM處理1941。而且,對方的誤碼率和信元題頭變換表從OAM處理1941轉移到通話話路處理1931用于通話話路處理。把指定通話話路處理1931的動作的信息,如路由標志表,從OAM處理1941送到通話話路處理1931。
因為通話話路處理1931插入在OAM處理1941中被起動,所以處理之間必須為交接這些值進行排他控制。
為了實現(xiàn)排他控制,也能使用一般的OS的信息包,但對于處理像統(tǒng)計信息這樣的短數(shù)據(jù)來說額外操作太大。
實現(xiàn)表更新的排他控制的簡單方式,有如下三種方法。
作為交接值的處理系統(tǒng)呼叫,禁止在它中間插入。把表的值的變更作為OS的系統(tǒng)呼叫,表值變更過程中禁止來自優(yōu)先度更高的處理的插入。但是,由于禁止插入會使優(yōu)先度高的處理的等待時間變大。
表的一個項目收在一個字中,如果讀寫用一條命令結束的話,用CPU自身的命令執(zhí)行的排他性能達到處理之間的排他控制。可是,這僅限于信息的一貫性在一個項目中結束的情況,而不能用于多個項目要求時刻一貫性的場合。
如美國專利US5203024所公開的方法,表的一條項目未收在一個字中的情況下,在項中間設置"項目換寫中間標志",OAM處理把該標志設置在項目換寫中間,通話話路處理參照過設置該標志的項目的情況下把那個信元廢棄掉。即在本實施例中,寫有那個信元的共有存儲器1921的指示符沒輸出到空緩沖器指示符隊列1922中,而不排隊。
至此所描述的處理可以作為一般的OS的任務來實現(xiàn)。這時,由來自硬件的插入起動通話話路的任務,而且,如果直接作為插入處理程序實現(xiàn)由來自CPU交換裝置所特有的硬件的信號起動的通話話路處理的話,起動就更快。
至此所說明的處理優(yōu)先度分配都匯集在圖23中。高優(yōu)先度基本上被分配到屬于通話話路處理的處理中。其中,輸出數(shù)據(jù)處理的優(yōu)先度最高。OAM處理的優(yōu)先度低。當然,通話話路處理必須在處理時間單位內結束。與此相比,OAM處理被通話話路處理中斷,但是恢復到先前的狀態(tài)。
下面參照圖21、圖22說明接收方和發(fā)送方由1個處理器構成的情況下的處理起動時期。
圖21是接收方的處理定時圖。上下方向是時間軸,向下方表示時間過程。
在這里,來自幀緩沖器1911和SW緩沖器1912的硬件插入起動通話話路處理1931。沒有來自硬件的處理開始要求時,執(zhí)OAM處理1941。
一旦送入來自幀緩沖器1911的插入,由于OAM處理的優(yōu)先度最低,處理就被中斷,通話話路處理的物理層處理被起動。物理層處理只對那些積存在幀緩沖器1911中的比特數(shù)據(jù)中被予先指定的數(shù)據(jù)進行處理,處理結束時,轉移到ATM層處理。
ATM層處理對由物理層處理轉移來的信元數(shù)據(jù)按順序處理。可是,如果在此期間SW緩沖器1912中的信元數(shù)比予先指定的數(shù)少,SW緩沖器1912就產生插入輸入,從而起動空信元生成處理??招旁商幚懋a生定時數(shù)據(jù),并把它寫入SW緩沖器1912,而供給ATM-SW1902的特征不被去掉。
被予定數(shù)的空信元特征寫入SW緩沖器1912,并結束信元生成處理,這時再開始ATM層處理。進一步把由物理層處理轉移來的信元全都處理之后,ATM信元處理結束時,再開始執(zhí)行OAM處理。
因為空信元生成處理在接收方處理中是優(yōu)先度最高的,所以,不僅在ATM層處理執(zhí)行中,就是在OAM處理和物理層處理的執(zhí)行中它也都是優(yōu)先執(zhí)行。
如果在時間經過過程的同時在幀緩沖器1911內積存了比特數(shù)據(jù)時,就再起動通話話路處理。產生幀緩沖器1911的插入的條件是積存1幀語句的數(shù)據(jù),而且在達到接收方行的位同步并且?guī)彌_器1911正常存儲數(shù)據(jù)的情況下,來自幀緩沖器1911的插入即通話話路處理起動的周期與1幀部分的幀時間一致。
圖22是發(fā)送方的處理定時圖,上下方向是時間軸,向下方表示時間的過程。
在這里,ATM層處理步驟和物理層(空信元生成)處理步驟分別由SW緩沖器2012和來自幀緩沖器2011的硬件插入信號起動。在沒有來自硬件的處理開始要求時,執(zhí)行OAM處理1941。
一旦ATM-SW1902送來予定的一定數(shù)以上的信元積存在SW緩沖器2012內時,OAM處理就被中斷,而起動ATM層處理。在ATM層處理過程中,如果發(fā)送數(shù)據(jù)不足而由幀緩沖器2011產生插入時,起動物理層處理。在發(fā)送方物理層處理的優(yōu)先度是最高的。
物理層處理根據(jù)輸出信元指示符隊列2023的信息把物理層處理前由ATM層處理過的信元取出來構成幀數(shù)據(jù)。這時,如果隊列中沒有使作成的幀填滿的數(shù)據(jù),就起動空信元生成處理來補充不足的信元。
這樣,一旦生成予定數(shù)的幀數(shù)據(jù),物理層處理結束,再開始被中斷了的ATM層處理。ATM層處理把在SW緩沖器2012內的信元全都處理后它就結束,再次開通中斷了的OAM處理。
若在處理期間,沒有來自幀緩沖器2011的插入,則ATM層處理繼續(xù)進行,到其結束時,再開始OAM處理。
時間經過的同時,由于輸出而使幀緩沖器2011的比特數(shù)據(jù)減少,這時再次起動物理層處理程序。幀緩沖器2011的插入產生的條件是來自積存起一幀的數(shù)據(jù),且?guī)彌_器2011的插入即物理層處理起動的周期與一幀的幀時間相一致。
圖24說明在發(fā)送方由一個處理器構成的情況下優(yōu)先度的分配情況。OAM處理能容易地對發(fā)送方和接收方進行并行處理。從減少處理起動的額外操作的觀點來看,希望把發(fā)送和接收方的OAM處理作為一個處理步驟來實現(xiàn)。
發(fā)送方處理基本上優(yōu)先于接收方,這是為了把該交換裝置內積存的數(shù)據(jù)盡快地送出去,從而能有效地使用全部緩沖器。假如讓接收方處理優(yōu)先的話,一旦延遲了發(fā)送方的處理,數(shù)據(jù)就要被存儲在所有緩沖器中。
下面,用圖25來說明圖2所示的接收方、發(fā)送方的各個接口部分中的處理流程的另一個例子。
本例中,為了謀求通話話路處理的高速化,把分別進行的幾個子程序進行子程序的合成。這里的子程序的合成的基本考慮是對一次寫入寄存器的數(shù)據(jù),能同時進行的處理全都同時進行完。
具體的處理流程說明如下。
在本例中也和圖2的情況一樣,由通話話路處理2501和OAM處理2502構成,通話話路處理2501進一步由發(fā)送方處理程序和接收方處理程序構成。
在接收方處理中,位同步部2511、網同步部2512從在接收方線路接口處收到的信號中提取網同步時鐘,同時取得位同步,再把信號變換成位串。該位串送去行譯碼2521,把經譯碼的接收數(shù)據(jù)輸入接收方輸入FIFO2611。通話話路處理的數(shù)據(jù)接收子程序2521把這個輸入FIFO2611中的數(shù)據(jù)寫入到處理器內部的存儲器上。對存儲器上讀入的數(shù)據(jù)首先由幀同步子程序2523確立幀同步。接著由信元同步子程序2524確立信元同步。然后,由幾個ATM層處理子程序2525(具體是題頭變換、附加路由標志、流量監(jiān)視等子程序)施以接收方的ATM層處理。最后,由被合成的子程序2526(具體是譯碼處理和信元送出子程序)一面進行譯碼處理一面把能隨時處理完的數(shù)據(jù)輸出到接收方FIFO2612。
在發(fā)送方的處理中,從ATM開關到達的信元數(shù)據(jù)被輸入到發(fā)送方輸入FIFO2613。被輸入到FIFO2613的信元數(shù)據(jù)由發(fā)送方合成的子程序2533(具體是信元接收和發(fā)送方的ATM層處理子程序)讀入到處理器內部的存儲器上,再進行發(fā)送方ATM層處理。在此,作為發(fā)送方的ATM層處理,是實施整形處理、削除路由標志處理和題頭變換處理等。ATM層處理也可以只對題頭部分進行,所以,可以不伴隨負荷大的信元的有用荷載部分的存儲器與寄存器之間的讀出寫入處理一起進行。因此,可以考慮把發(fā)送方、接收方的ATM層處理子程序合成起來進行,而其他子程序群則獨立進行。其次,仍然用合成的子程序2532(具體說是發(fā)送方的物理層處理和數(shù)據(jù)發(fā)送子程序)一面進行編碼、HEC生成、幀的制成等發(fā)送方的物理層處理,一面把能隨時處理完的數(shù)據(jù)輸出到發(fā)送方輸出FIFO2614。
在本例中,表示了通話話路處理2501中的子程序合成方法。但是,這種子程序合成對于OAM處理2502的子程序群來說也是可以套用的,和通話話路處理的情況一樣,在OAM處理中當然也可以考慮把能同時進行處理的子程序合成起來。
由于進行以上那樣的子程序的合成,對于一次讀入寄存器的數(shù)據(jù)來說,那時可能進行的處理可以全都進行完,所以能大大地減少數(shù)據(jù)在寄存-存儲器之間的讀出寫入的次數(shù),當然可以實現(xiàn)處理的高速化。
在此,在圖25中所示的實施例的情況下,必須注意向信元開關送去的信元的譯碼處理。即在譯碼處理中,關面送出的信元的譯碼的結果所得到的2字節(jié)的作業(yè)變量值必須用于下一個信元的譯碼中。在該圖上,把來自接口點的信元和來自OAM處理器的信元混合起來輸入到譯碼子程序。這種情況下,雖然譯碼程序不處理來自OAM處理的信元,但對來自接口點的信元一面繼續(xù)前期作業(yè)的變量值,同時必須進行處理。因此,也可以設置一個表示是否是從接口點輸入的信元的標志作為譯碼子程序的獨立變量。
另外,用該圖所示的方式的情況下,必須注意到如果從接口點輸入的OAM信元在OAM處理中分支的情況下,其信息部分必須一次通過編碼子程序。
權利要求
1.一種交換裝置,包括輸入端口,具有接收構成ATM單元有關的信息數(shù)據(jù)的位串、并臨時性保持該位串的輸入FIFO存儲器;按順序進行幀同步處理和信元同步處理的處理器,所述幀同步處理通過參照所述輸入FIFO存儲器、在存儲于該輸入FIFO存儲器的位串中檢索表示幀開端的位特征,并核對該位特征是否存在于幀長的開頭;所述信元同步處理先找到輸入的位串中表示幀開端的位特征,并在該位特征按幀長的間隔順序出現(xiàn)時、從該位特征最能夠確認信元開端,和按信元單位進行信息數(shù)據(jù)的處理;以及輸出端口,具有臨時性存儲由所述處理器作成的指示信元流的目標文件的信息、并將其輸出的輸出FIFO存儲器。
2.根據(jù)權利要求1的交換裝置,其特征在于當所述FIFO存儲器中積存到預定量的信息數(shù)據(jù)時,所述處理器按順序執(zhí)行所述幀同步處理和所述ATM信元同步處理。
3.根據(jù)權利要求2的交換裝置,其特征在于在所述輸出FIFO存儲器內存儲的信息數(shù)據(jù)少于預定的數(shù)據(jù)量的情況下,所述處理器把預定特征的信息數(shù)據(jù)插入到所述輸出FIFO存儲器中。
全文摘要
一種交換裝置,包括輸入端口,具有接收構成ATM單元有關的信息數(shù)據(jù)的位串、并臨時性保持該位串的輸入FIFO存儲器;按順序進行幀同步處理和信元同步處理的處理器,所述幀同步處理通過參照所述輸入FIFO存儲器、在存儲于該輸入FIFO存儲器的位串中檢索表示幀開端的位特征,并核對該位特征是否存在于幀長的開頭,所述信元同步處理先找到輸入的位串中表示幀開端的位特征,并在該位特征按幀長的間隔順序出現(xiàn)時、從該位特征最能夠確認信元開端,和按信元單位進行信息數(shù)據(jù)的處理;以及輸出端口,具有臨時性存儲由所述處理器作成的指示信元流的目標文件的信息、并將其輸出的輸出FIFO存儲器。
文檔編號H04L12/56GK1489331SQ0215783
公開日2004年4月14日 申請日期1994年12月1日 優(yōu)先權日1993年12月1日
發(fā)明者正畑康郎, 角田啟治, 高畠由彰, 橋本干生, 辻田武俊, 武田純一, 木村成人, 一, 人, 俊, 彰, 正 康郎, 治, 生 申請人:株式會社東芝
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1