JP3431308B2 - Atm交換装置 - Google Patents

Atm交換装置

Info

Publication number
JP3431308B2
JP3431308B2 JP24680694A JP24680694A JP3431308B2 JP 3431308 B2 JP3431308 B2 JP 3431308B2 JP 24680694 A JP24680694 A JP 24680694A JP 24680694 A JP24680694 A JP 24680694A JP 3431308 B2 JP3431308 B2 JP 3431308B2
Authority
JP
Japan
Prior art keywords
processing
atm
cell
data
oam
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24680694A
Other languages
English (en)
Other versions
JPH0888635A (ja
Inventor
由彰 高畠
康郎 正畑
武俊 辻田
純一 武田
啓治 角田
成人 木村
幹生 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP24680694A priority Critical patent/JP3431308B2/ja
Priority to US08/351,098 priority patent/US5557609A/en
Priority to CN94112756A priority patent/CN1113502C/zh
Priority to CNB02157832XA priority patent/CN1274108C/zh
Publication of JPH0888635A publication Critical patent/JPH0888635A/ja
Application granted granted Critical
Publication of JP3431308B2 publication Critical patent/JP3431308B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Exchange Systems With Centralized Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、交換装置に係わり、特
に複数のインタフェース点を収容し、各インタフェース
点に入力ポートから入力されたATMセルを、そのAT
Mセルのヘッダ情報に従って所望のインタフェース点の
出力ポートへと転送して出力するATM交換装置に係わ
り、特に物理レイヤ処理やATMレイヤ処理などをCP
Uを用いたソフトウェア処理によって行うATM交換装
置に関する。
【0002】
【従来の技術】従来より、伝送/交換技術の高速化を狙
う技術として、ATM(非同期転送モード)技術が注目
を集めている。ATMは全ての情報をセルと呼ばれる固
定長短パケットに担わせて転送することによりパケット
交換のハードウェア化を狙い、高速な情報の伝送/交換
を容易にすることを狙った技術である。この方式を用い
て情報通信を行うATM通信網を実現するためには、セ
ルをある伝送路から該セルのヘッダ情報に従って所望の
伝送路に転送する交換装置が必須となる。
【0003】しかしながら、従来の交換装置には以下の
ような問題がある。ATM通信網は、基本的にハードウ
ェアでATMレイヤの情報伝達機能を提供するものであ
る。ハードウェアで実現される機能は、一般的にそのス
ループットは高いが、コスト高となる。従来の交換装置
においても、ハードウェアによりATMレイヤ機能を実
現しており、コスト高となってしまう。特に、ATM−
LANとして近年注目を集めている、比較的狭い範囲に
存在している端末に対してATMセルによる情報転送能
力を提供する目的の通信システムに使用する交換装置と
しては、耐え難いコストとなってしまう。また、ハード
ウェア化された機能では、機能を少しだけ変更する場合
にもハードウェアを作りなおす必要があり、柔軟性に欠
けるという問題点もある。
【0004】このような問題点を解決するためには、交
換装置の機能をソフトウェアにより実現することが考え
られるが、その場合にはスループットの低下をいかに抑
えるかが大きな課題となる。さらに、ソフトウェア処理
を行うことを考えた場合、与えられた情報によって処理
時間が変動するという問題も考えられる。インタフェー
ス点より定められた速度でよどみなく情報の入出力を行
わなければならないATM交換装置においては、この処
理時間の変動をいかに吸収するかも大きな課題である。
【0005】ソフトウェアによって交換処理を行うよう
にした交換装置であって、スループットの低下を抑える
ために、例えば良く知られたDMAの技術を用い、イン
タフェース点から入力されたビット列やセルをマイクロ
プロセッサのメインメモリに転送し、処理済みのセルを
マイクロプロセッサのメインメモリからインタフェース
点へと転送するものが考えられる。これにより、I/O
ポートへのマイクロプロセッサのアクセス回数を削減
し、その結果として、高速な物理レイヤ処理、ATMレ
イヤ処理を実現できる可能性がある。
【0006】ところで、近年性能向上の著しいプロセッ
サで、RISCプロセッサとして周知のもの(例えばM
IPS社のR3000)は、その速度向上を大規模なキ
ャッシュメモリを持つことに負っているところが大き
い。高速のキャッシュメモリに、キャッシュメモリに較
べて低速のメインメモリの内容をコピーして保持してお
くことで、メインメモリへのアクセス回数を削減し、も
って高速化を得ている。 (1)しかしながら、前記のようなソフトウェアによる
交換処理を採用した交換装置では、DMA転送にてイン
タフェース点とメインメモリとの間でデータ転送を行う
だけであり、結局プロセッサのメインメモリへのアクセ
ス回数を削減できず、結果として充分な高速性を得るこ
とはできない。
【0007】(2)また、ソフトウェアによって交換処
理を行うようにした交換装置(CPU交換装置)では、
通話路機能を実現するプロセス(以下、通話路プロセス
と呼ぶ)と通話路機能を制御するプロセス(以下、OA
Mプロセスと呼ぶ)とを分離し、通話路プロセスを差し
替えることで、複数種類のフレーム構造に容易に対応可
能となるようにしていた。
【0008】しかしながら、ソフトウェアによって交換
処理を行う交換装置では、これらのプロセスの実行制御
を行う手段をまったく持っていなかった。これは、必要
な時に必要に応じてこれらプロセスの起動、停止を行う
ことが出来ないことを意味し、結果としてプロセッサの
処理能力の効率的使用ができなかった。
【0009】以下では、プロセッサの処理能力の効率性
についての問題点を詳細に述べる。一般に交換装置にお
けるOAMプロセスを実行する機能(以下、OAM機能
と呼ぶ)は通常、広い意味で装置や網自身の管理制御を
行う機能であり、装置の統計情報や故障情報、故障復旧
処理などさまざまな処理がある。
【0010】このOAM機能は通話路機能の処理がハー
ドウェアによって行われる従来からの交換装置における
通話路インタフェースにおいても、ソフトウェアで実現
されている場合が多い。
【0011】CPU交換装置ではコスト削減の観点から
通話路プロセスとOAMプロセスが同じプロセッサによ
って処理実行される場合が多いものと考えられるが、単
純に従来のOAMプロセス処理のプログラムの一部とし
て通話路処理を追加しただけではCPU交換装置に要求
される性能を満たすことは難しい。
【0012】これは、OAMプロセスと通話路プロセス
とでは、処理に要求される時間的な特性が大きく異るた
めである。
【0013】一般的な交換装置のOAMプロセスは一般
にはリアルタイムプロセスと呼ばれ、一定時間以内に処
理を終了することが要求されている。しかし、その要求
時間は100ms〜10secオーダーのものが一般的
であり、現在の高速プロセッサの処理時間はもとより、
高速ハードディスクなどの2次記憶装置を利用する場合
にも十分余裕があるといえる。また、要求自体もマン−
マシンインタフェースにおける応答性の確保や、他のO
AMプロセスのタイムアウト制限によるものである。従
ってアプリケーションにおける巨大なデータベースの検
索などの事象、もしくは処理を起動する事象の頻発など
について考慮すれば、ここで要求されるリアルタイム性
は十分確保できるものであり、ソフトウェアやハードウ
ェアの資源を管理するオペレーティングシステムレベル
では特別なものは要求されないものである。
【0014】ただし、OAMプロセス処理は時間的な制
約は緩いが、処理の内容は多岐に渡り複雑な状態遷移を
伴う。また、実行プログラムイメージも大きくなりやす
いため高速プロセッサのキャッシュメモリに格納するの
は困難である。
【0015】一方、通話路処理はリアルタイム性の要求
がOAM処理に比較して極めて厳しい。例えばSDH
(Synchronous Digital Hier
archy)のフレーム周期は125μsである。これ
は高速ハードディスクのアクセスタイムの約10倍程度
でしかないため、通常の2次記憶を利用することは困難
である。プロセッサによる処理を考えても、この時間内
で実行できるプログラムのステップ数は極めて限られて
おり、一般的にはそれほど余裕がない。
【0016】さらに、これらの速度が要求されるおおも
とは通信路のデータ処理である。通話路処理の速度要求
が満たされなければ、正常に受信されるべき受信データ
が失われたり、異常データが送信されることにもなる。
このような事象が起きれば伝送システムの特性が悪化し
て、例えばITU等で規定された通信路の特性を満たせ
なくなることもありうる。
【0017】しかしながら、処理の複雑さの点から見れ
ば通話路処理は常に同じ動作の繰り返しであり、処理の
内容もOAM処理に比べてさほど多くはない。
【0018】これら2種類の異なる要求をもつソフトウ
ェア上の処理単位である通話路プロセス、及びOAMプ
ロセスを一つまたは限られた数のプロセッサと周辺装置
の上に実装するには、それぞれのプロセスに適した扱い
をすると同時に、両者が共存するための起動処理や資源
管理が必要になる。
【0019】加えて、通話路処理には速度整合という問
題もある。クロックのずれや、伝送誤り、管理用に挿入
されるデータによって、送受信すべきデータが期待され
るものに対して過不足が生じることがある。従来のハー
ドウェア処理では送受信部に十分なバッファを用意し、
そこに専用の制御回路を設けてダミーデータ(空セル)
の挿入などの速度整合処理を行ってきた。
【0020】しかし、CPU交換装置におけるATMセ
ル処理部ではコスト制約の点からなるべく専用の制御回
路を減らしてソフトウェアによる処理を行うことが要求
される。もちろんこの制御には先ほど述べた通話路のリ
アルタイム性が要求されるため、ハードウェアのバッフ
ァを単純にソフトウェア上のバッファに置き換えただけ
では高速な伝送路に対応することは困難である。
【0021】この問題についても、ATMのプロトコル
処理の特徴と速度やコスト要求条件に適合した実装方式
が要求される。特に、従来のように交換装置の通話路処
理あるいはスイッチング処理をハードウェアによって実
現していた場合には、特にATM処理のような作業の多
いものについて、通常は複数のハードウェアモジュール
から構成されていることになる。従って交換装置の外部
インタフェースに対応するのみでなく、交換装置内部に
おいても、モジュール単位の速度整合機能をそれら複数
のモジュール毎に少なくとも1箇所持つことを必要とし
ていた。
【0022】このような速度整合のためには、通常は空
セルを生成して挿入するような機構が用いられる。しか
し、交換装置をソフトウェアで実現する場合、やはり複
数のプロセス(あるいはプログラム)によって交換処理
が実現されていることが有り得るが、これら複数プロセ
ス(あるいはプログラム)間のデータの受け渡しは、1
回の単位がプロセッサのデータ幅に制限されている。も
ちろん、この受け渡しのための速度は、プロセッサにお
いて用いられるクロックの速度がベースとなって決ま
る。しかし、一般に交換装置外部のインタフェース速度
とプロセッサのクロックとは周波数上のずれがあり、ま
たプロセッサ上での処理の排他制御や、タスクスイッチ
ング等の処理によって、プロセッサ自体の処理タイミン
グにもずれがある。
【0023】このような理由からデータの受け渡しは、
その順序は保証されているとしても、タイミングに関し
ては通常正確に一定ではない。このことは逆に言うと、
ソフトウェアによる交換処理は、そのような微妙なずれ
を許容できるような性質を持つように設計されているこ
とを意味する。すなわち、ハードウェアのように交換装
置内のモジュール単位で正確なタイミングでデータを受
け渡しする必要がなく、そのため、正確なデータの授受
を行うための空セル生成/挿入処理機能が不要となる。
そして、ソフトウェアによる処理から正確なタイミング
を必要とするハードウェア処理に変わる部分に対しての
み、速度整合機能を設ければよいことになる。
【0024】しかしながら、通話路プロセスにおいて、
その中に速度調整機能を含めるような場合の処理方法に
ついては、これまで全く知られていなかった。
【0025】
【発明が解決しようとする課題】以上説明したように、
従来のソフトウェアによって交換処理を行うCPU交換
装置では、通話路機能を実現するプロセスと、このプロ
セスを制御するプロセスの実行制御ができず、必要に応
じてプロセッサの処理能力を割り当てることができなか
った。
【0026】
【0027】
【0028】本発明は、上記事情に鑑みてなされたもの
であり、通話路機能を実現するプロセスと、通話路機能
を実現するプロセスを制御するプロセスに対して効率的
にプロセッサの処理能力を割り当てることのできる交換
装置を提供することを目的とする。
【0029】
【0030】
【0031】
【課題を解決するための手段】本発明は、入力されたA
TMセルを該ATMセルに付加されたヘッダ情報に従っ
て交換処理するATM交換装置において、前記ATMセ
ルに対して物理レイヤ処理およびATM処理を、通話路
プロセスとして、マイクロプロセッサで実行する通話路
処理手段と、前記ATMセルにスイッチ処理を施すスイ
ッチ処理手段と、前記通話路処理手段を制御するため
に、OAMプロセスをマイクロプロセッサで実行するO
AM処理手段と、前記通話路プロセスを予め決められた
所定の実行周期毎にほぼ一定期間実行させる制御を行う
通話路プロセス実行制御手段と、前記OAMプロセスを
前記通話路プロセスの前記実行周期とは独立したタイミ
ングで実行させる制御を行うOAMプロセス実行制御手
段とを具備したことを特徴とする。
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【作用】本発明によれば、通話路プロセスは、規格仕様
上早い応答性を要求されることから、比較的短い周期に
対応できるよう、短期間の一定周期で実行されるように
制御される。この通話路プロセスの実行内容は、例えば
フレーム同期、セル同期、セルヘッダ変換等の比較的定
常的なタスクであるため、処理量の変動が極めて少な
く、従って短い周期で実行される場合にも1回のプロセ
ス実行時間がその周期を超えて継続されなければならな
いような事態は発生し得ない。一方、比較的長い周期で
実行されるべきOAMプロセスは、その一定周期とは全
く独立して実行される。しかも一般に処理内容が複雑で
あるため、通話路プロセスと独立した一定周期を持つこ
とはできない。その代わり、処理の高速性を要求されな
いため、あるタスクの処理中に別のタスクを起動しなけ
ればならないような割り込み処理が入ったとしても、そ
れほど問題ではない。従って、通話路プロセスとOAM
プロセスを同じプロセッサ、あるいはプロセッサ群で実
行する場合には、例えば短周期の通話路プロセス処理の
余り時間を利用してOAMプロセスを実行させる、ある
いはOAMプロセスを一定処理量毎に区切って通話路プ
ロセスに引き渡す等の実行制御手段を用いることによっ
て、プロセッサによる交換処理の利用効率を上げること
が可能である。また、複数の通話路プロセスおよびOA
Mプロセスを同じプロセッサ(あるいはプロセッサ群)
上で実行する場合にも、上記の実行制御手段を応用し
て、例えば複数の短周期プロセスを排他的にタスクスイ
ッチングするような複数のタスクの組合せによって構成
された通話路プロセスに対して、OAMプロセス処理を
上記のような方法で加えるといった、実行制御手段を用
いることができる。このように、それぞれのプロセスの
特性にあったプロセス制御手段、さらにはプログラミン
グ手法を用いることによって、プロセッサの利用効率を
上げることができる。
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
【0052】
【0053】
【0054】
【0055】
【0056】
【0057】
【0058】
【0059】
【0060】
【0061】
【0062】
【0063】
【0064】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。
【0065】(1)(第1の実施例) まず、第1の発明に係る第1の実施例について説明す
る。
【0066】図1に、本実施例のATM交換装置の基本
構成の概念図を示す。
【0067】マイクロプロセッサ(CPU)1−1は、
例えばMIPS社製のR3000のようなRISC型の
マイクロプロセッサであり、入出力ポート(I/O)1
0−1〜10−nにおいて夫々入出力されるATMセル
を含んだ情報の交換処理を行うために用いられる。
【0068】CPU1−1と、インストラクション・キ
ャッシュ(I−Cache;Instruction−
Cache)21−1とデータ・キャッシュ(D−Ca
che;Data−Cache)22−1とを接続して
いるキャッシュ・バス(Cache−Bus)91−1
には、入出力ポート10−1〜10−nを直接接続して
いる。本実施例では、入出力ポートから送られてきたデ
ータを一度メインメモリに取り込んでからCPUにて処
理を施すのではなく、CPU1−1が各入出力ポート1
0−1〜10−nからそれぞれキャッシュ・バス91−
1を介して入出力回線を送られてきたデータを直接D−
Cache22−1に転送できるようになっている。
【0069】当然、通常の方式と同様に、キャッシュ領
域に書き込めない情報などは、リード/ライト・バッフ
ァ(Read/Write−Buffer)3−1を介
してメモリ・バス(Memory−Bus)999に接
続しているメインメモリ61に書き込まれることにな
る。本実施例においては、メモリ・バス999をDMA
コントローラ(DMA)51によって制御し、DMA転
送によってデータの送受信を行う構成を示している。
【0070】図1には、本実施例における入出力ポート
の一構成方法として、各入出力回線から送られてきたデ
ータについてビット同期を取った後に、入力FIFO1
22に順次書き込み、CPU1−1が入力FIFO12
2の先頭から入力されたデータをD−Cache22−
1に順次転送する方法を示している。スイッチング処理
が終わったデータは、D−Cache22−1から順次
入出力ポート10−1〜10−nの出力FIFO123
に書き込まれ、出力FIFO123の先頭からデータが
出力回線に順次送出されていくこととなる。
【0071】マイクロプロセッサCPU1−1は、入出
力ポート10−1〜10−nからの入力データをD−C
ache22−1の適当な記憶領域に書き込んで、物理
レイヤ処理・ATMレイヤ処理、スイッチング処理を順
次施していく。
【0072】本実施例で用いられるソフトウェアなど
は、I−Cache21−1またはROM41などに格
納される。
【0073】ここで、上記のように本実施例では、入出
力ポート10−1〜10−nをキャッシュバスに直接接
続する構成としている。良く知られているように、近年
のマイクロプロセッサ技術やデバイス技術の急激な進歩
により、マイクロプロセッサの処理速度やキャッシュメ
モリの大容量化や高速化が進んでいる。また、ATM交
換装置に入力されるデータは従来通りバースト性の高い
データであることが予想されるが、そのデータの転送レ
ートの上限は伝送路の速度によって決まっており、有意
のデータが伝送路速度より低いレートで送られてくるこ
とはあっても、伝送路速度以上の高いレートで送られて
くることはありえない。すでに、現在の最も高速である
といわれているマイクロプロセッサ(例えばアルファチ
ップ200MHz)は、ATM通信方式の代表的なイン
タフェース速度である155MHzよりも高速のクロッ
クで動作している。
【0074】また、現在のマイクロプロセッサは大容量
のキャッシュメモリを持つことが可能となっており(例
えばR3000は256kBのキャッシュメモリまで搭
載可能である)、通常のデータパケットの処理を行うた
めには充分な容量になってきたといえる。
【0075】さらに、高速SRAMとしては、すでにア
クセス時間10nsで1MBの記憶容量を持ったものが
開発されており、将来的にはより大容量でより高速なキ
ャッシュメモリが開発されることが期待されている。
【0076】このような各機能の進歩から、本実施例の
ようにキャッシュバスに直接入出力ポートを接続するよ
うな構成によってATM交換処理を行った場合、入出力
ポート10−1〜10−nとデータ・キャッシュ22−
1の間でのデータ転送のためにマイクロプロセッサ1−
1における命令パイプラインを乱されることはないと考
えられるので、本実施例によって従来よりも高速のAT
M交換装置を実現することが可能となる。
【0077】例えば、ATMインタフェースの一つであ
る6.4Mbps I/Fについて考える。6.4Mb
ps I/Fのフレーム長は789bit×4フレーム
=3156bitであるので、この1フレーム分のデー
タは高々3Kbit=0.4KBである。これに対し
て、本実施例で用いているマイクロプロセッサR300
0のキャッシュメモリは256KBまで持つことができ
るので、キャッシュメモリの容量としては充分なものが
提供できることになる。
【0078】また、この6.4Mbps I/Fの全て
を使って有意データが送られてくるとしても、マイクロ
プロセッサR3000は、その標準動作速度である25
MHzクロック(1クロック−1命令)で動作するの
で、充分そのインタフェース点からキャッシュメモリま
でのデータ転送を実行できることになる。
【0079】以上に示したような6.4Mbps I/
Fを25MHzクロック動作のR3000(マイクロプ
ロセッサ11)で処理する場合には、入出力ポート10
−1〜10−n内の入出力FIFO122,123には
3156bit分のデータが書き込めればよく、R30
00が各入出力ポート10−1〜10−nの処理に割り
当てられる命令サイクル数は約12000/n程度とな
る。言い換えると、マイクロプロセッサ1−1が例えば
100MHzのような高速動作を行う場合に、各入出力
回線あたりに必要となるATM交換処理が12000命
令以下であるならば、本実施例に示したATM交換装置
によって4×4のATM交換処理が実現でき、その場合
の入出力FIFO122,123としては800bit
ほどのFIFO長があれば充分ということになる。
【0080】ここで、マイクロプロセッサ1−1として
R3000を用いた場合のマイクロプロセッサ1−1に
おける命令パイプラインの構成を図2に示す。この図2
に示すパイプラインの中の各サイクルでの処理は以下の
ようになっている。
【0081】IF:命令フェッチ(ここではI−Cac
heへのアクセス) RD:CPUレジスタからオペランドをフェッチ ALU:命令オペランドの実行 MEM:メモリアクセス(ここではD−Cacheへの
アクセス) WB:レジスタファイルへの結果の書き込み このような命令パイプラインの各サイクル中のMEMサ
イクルで、マイクロプロセッサ11はD−Cache2
2−1や入出力ポート10−1〜10−nからのデータ
読み込みや夫々へのデータ書き込みなどの処理を行うこ
とになる。また、図2からもわかるように、MEMサイ
クルとIFサイクル(I−Cache21−1へのアク
セス)が重なることになるので、R3000においては
1サイクルにI−Cache22−1とD−Cache
21−1の両方にアクセスを行うこととしており、実際
にはR3000が25MHzで動作している場合には、
それぞれキャッシュメモリ21−1,22−1に対して
50MHzのアクセス速度でアクセスしていることにな
る。このため、本実施例に示しているI−Cache2
1−1、D−Cache22−1、入出力ポート101
〜10n内の双方向FIFO122,123は50MH
zのアクセス速度でデータの入出力を行うことになる。
【0082】前述したように、高速SRAMとしてはア
クセスタイム10ns(アクセス速度100MHz)で
容量1MB程度のものはすでに開発されている。また、
FIFOとしても、アクセスタイム20ns以下(アク
セス速度50MHz以上)で容量3Kbit以上のもの
はすでに開発されている。
【0083】このような点からも、本実施例に示した構
成で入出力ポート10−1〜10−nから送られてくる
データを、マイクロプロセッサ1−1の命令パイプライ
ンを乱すことなくATM交換処理を行うことは現実に可
能である。
【0084】また、ATMセルのヘッダ部は4Byte
(32bit)で構成されているので、本実施例のよう
に32bitマイクロプロセッサを用いて処理を行うと
した場合には、図2に示した命令パイプラインの1命令
(1MEM Cycle)でそのATMセルのヘッダ部
を読み出すことや書き込むことができるので、非常に効
率的にATMレイヤ処理やスイッチング処理を行ってい
くことが可能になる。以上のような命令パイプラインに
よって処理を行うR3000などのマイクロプロセッサ
CPU1−1が、本実施例のATM交換装置において順
次行っていくべき処理としては、物理レイヤ処理、AT
Mレイヤ処理、スイッチング処理などが必要である。そ
して、物理レイヤ処理としてはラインコーディング・デ
コーディング、物理レイヤフレームのフレーム同期確
立、ATMセルのセル同期確立、スクランブル・デスク
ランブル処理などが上げられる。
【0085】また、ATMレイヤ処理としてはヘッダ読
み取り処理やヘッダ書き換え処理などが上げられる。
【0086】さらに、スイッチング処理としてはATM
レイヤ処理において読み取ったヘッダの値から出力する
べき伝送路にATMセルを転送させる処理が上げられ
る。
【0087】このような各処理をマイクロプロセッサで
行っていく場合の処理の手順(命令ストリーム)の一例
を以下に示す。
【0088】1)入出力回線を経て入出力ポート10−
1〜10−nに到着したデータを、CPU1−1のリー
ド・サイクルによってCPU1−1の扱うビット幅(例
えばR3000であれば32bit)毎に読み取り、デ
ータキャッシュD−Cache22−1内の各入力回線
からのデータを処理するための記憶領域(図3参照)に
順次書き込んで行く。
【0089】(受信側の物理レイヤ処理;2〜5) 2)データ・キャッシュ22−1の各入出力回線に対応
した記憶領域内に書き込んだデータに対して、各入出力
回線が従っている物理レイヤの物理レイヤフレームの同
期を確立する。
【0090】3)物理レイヤフレーム内のデータに対し
てHec演算処理を順次行い、ATMセル同期を確立し
てからATMセルにセグメント化する。
【0091】4)セグメント化したATMセルに対し
て、そのペイロード部に施されているスクランブル処理
を解除するためのデスクランブル処理を行う。
【0092】5)セグメント化したATMセルに対し
て、順次Hec演算処理を施していき、セル同期の確認
とともにヘッダの誤り訂正や空セルの廃棄処理を行う。
【0093】(受信側のATMレイヤ処理) 6)各ATMセルのヘッダ値を用いて各コネクション毎
のトラヒック監視処理や課金情報の収集などの処理を行
う。
【0094】(ATMレイヤのスイッチング処理) 7)ATMセルのヘッダ情報に従って、そのATMセル
を出力するべき所望の入出力回線を識別し、所望の入出
力回線へ出力するデータの処理を行う別の記憶領域にそ
のATMセルを転送する。ここでは、ヘッダ値の書き換
え処理も行う。
【0095】(送信側のATMレイヤ処理) 8)スイッチング処理を施されたATMセルに対して、
書き換えられたヘッダ値を用いて各コネクション毎のシ
ェイピング処理やシェイピング処理のための空セルの挿
入を行う。
【0096】(送信側の物理レイヤ処理;9〜11) 9)新たなヘッダ値から新たにHec値を計算してヘッ
ダに付加する。
【0097】10)各出力回線に送出するATMセルス
トリーム内の各ATMセルのペイロード部のスクランブ
ル処理を施す。
【0098】11)各出力回線毎にATMセルを物理レ
イヤフレーム内に書き込んでいき、物理レイヤフレーム
のヘッダを付加して物理レイヤフレームを作成する。
【0099】12)送信側の物理レイヤ処理を施した物
理レイヤフレームをCPU11のライト・サイクルによ
って、スイッチング処理が識別した出力するべき入出力
ポート(例えば、入出力ポート10−1)に転送し、入
出力ポート10−1からデータを出力回線に送出する。
【0100】ここでは示していないが、もちろん、この
ような処理の他にもOAMセルの分岐・挿入や、網管理
情報やシグナリング情報の授受、物理レイヤフレームに
対するOAM機能の提供など、CPU11はATM交換
処理を行うために必要な多数の処理を行う。
【0101】ここで、本実施例のようなATM交換処理
方式においては、例えばマイクロプロセッサCPU1−
1が入出力ポート10−1内のデータを読みにいった際
に、入出力ポート10−1内には有意なデータが存在し
ないという場合(データが送られてきていない場合やビ
ット同期やフレーム同期がはずれている場合など)にマ
イクロプロセッサが処理をストップするのか継続するの
かという間題が考えられる。このような場合に、例え
ば、命令パイプラインを崩さないために、全ての入出力
ポートに対して常に同じ処理手順でマイクロプロセッサ
CPU1−1を動作させ、有意でないデータも一度D−
Cache22−1に取り込んで処理を行うという方法
(継続処理方法と呼ぶ)が考えられる。
【0102】また、マイクロプロセッサCPU1−1は
インタフェース点に送られてきたデータに対する処理ば
かりではなく、ネットワーク全体の管理情報処理やOA
M機能のための処理など、他にも行わなければならない
処理(プロセス)がいくつか考えられるので、このよう
な複数のプロセス間でのプロセススイッチングのタイミ
ングをどのようにするのかという問題も考えられる。こ
のような場合に、例えば、他の処理(OAM処理など)
のプロセスを実行する必要が生じた場合にマイクロプロ
セッサに割り込みをかけ、インタフェース点に送られて
きたデータ処理のためのプロセスを一度ストップさせて
他の処理のためのプロセスを実行するという方法(割り
込み処理方法と呼ぶ)が考えられる。
【0103】この割り込み処理方法を行う場合には、O
AMプロセスなどからの割り込みによってデータ処理の
プロセスを実行していた命令パイプラインが乱されるの
で、割り込みを行う際に、データ処理プロセスの再起動
のために一度処理結果などを記憶しておく処理が必要と
なる。
【0104】このような継続処理方法と割り込み処理方
法の中間的な方法として、例えば、入出力ポート10−
1内に有意情報が存在しなかった場合には、入出力ポー
ト10−1から割り込み信号をマイクロプロセッサCP
U1−1に送信し、マイクロプロセッサCPU1−1が
入出力ポート10−1からのデータ転送処理のプロセス
からOAM処理などの別のプロセスを実行するためにプ
ロセススイッチングを行うという方法(アクティブプロ
セススイッチ方法と呼ぶ)が考えられる。
【0105】そして、マイクロプロセッサCPU1−1
は、入出力ポート10−1からのデータ取り込みに割り
当てられるはずであったサイクル数だけ時間が経過した
後に、自律的に、または再度の割り込み信号によって再
びプロセススイッチングを行い、先ほど割り込みをかけ
られたデータ処理のプロセスに復帰すれば、命令パイプ
ランを乱すことのないプロセススイッチングが実現でき
ることになる。
【0106】ただし、このアクティブプロセススイッチ
ング方法だけでは入出力ポートに有意情報が存在しない
確率が保証されないことなどから、どの程度の能力をO
AM処理などの他の処理のプロセス実行に割り当てるこ
とができるかわからなくなるという問題点も存在する。
そのため、本実施例に示したATM交換装置において
は、アクティブプロセススイッチング方式によってプロ
セススイッチングを行う場合と割り込み処理方式によっ
てプロセススイッチングを行う場合とを比較して、最も
効率的にデータ処理プロセスとOAM処理プロセスの間
のプロセススイッチングを実現できる方法を選択して適
応する必要がある。
【0107】本実施例に示した構成において、キャッシ
ュ領域がCPU11からどのように見えているのかを図
3に示す。図3に示すように、入出力ポート10−1〜
10−nがキャッシュ・バス91−1に直接接続する構
成となっているため、CPU1−1からは入出力ポート
10−1〜10−nがあたかもキャッシュ領域の一部で
あるかのように見えていることになる。
【0108】本実施例に示したような高速のマイクロプ
ロセッサ1−1と大容量・高速のキャッシュメモリ22
−1の組み合わせによるATM交換装置を用いることに
よって、従来のソフトウェア処理によるATM交換装置
よりもメインメモリ61へのアクセス回数を大幅に削減
することができ、従来より高速のATMインタフェース
処理やATM交換処理を実現できるようになる。また、
このような構成のATM交換装置は現在すでに存在して
いる高速SRAMや高速FIFOを用いることによって
実現可能であり、今後の量産効果によるコストの低減化
が期待できるとともに、さらなるマイクロプロセッサの
進歩によって、より高速のインタフェース処理までも実
現可能となることが期待できる。
【0109】(第2の実施例)次に、第1の発明に係る
第2の実施例について説明する。
【0110】図4に、本実施例のATM交換装置の基本
構成の概念図を示す。このATM交換装置は、入出力ポ
ートの構成を図1に示した入出力FIFOを用いる方法
ではなく、各回線毎に単一のRAM(2−Port−R
AM)126を用いて構成したものである。
【0111】図4においては、各入出力回線から送られ
てきたデータを各入出力ポート20−1〜20−n内の
2−Port−RAM126の適当な記憶領域に書き込
み、CPU1−1がその書き込まれたデータに対して順
次受信側の物理レイヤ処理・ATMレイヤ処理を行って
いく。スイッチング処理によって出力回線を識別された
データは、その識別された入出力回線に対応している入
出力ポート20−1〜20−n内の2−Port−RA
M126の適当な記憶領域に、キャッシュバス91−1
を用いて転送され書き込まれる。新たに書き込まれたデ
ータに対して、CPU1−1が、順次送信側のATMレ
イヤ処理・物理レイヤ処理を行ってから出力回線に送出
することで、ATM交換処理が終了する。
【0112】本実施例では、入出力ポート20−1〜2
0−nに送られてきたデータを直接キャッシュメモリの
一部となる2−Port−RAM126に書き込んでい
くことになるので、図1に示した構成に較べて入出力ポ
ート10−1〜10−nからD−Cache22−1へ
のデータの転送処理を行う必要がなくなることになり、
マイクロプロセッサ1−1からのキャッシュへのデータ
アクセスの回数を減らすことができるという効果が期待
できる。
【0113】このような方法でキャッシュメモリへのア
クセスの回数を減らすことによって、マイクロプロセッ
サ1−1によって行うべき処理を削減することができ、
図2に示した命令パイプラインを乱す確率をさらに削減
することができる。その結果、本実施例のような構成の
入出力ポート20−1〜20−nを用いることによっ
て、さらに高速インタフェースまで収容できるATM交
換装置を実現することが可能となる。
【0114】本実施例において、マイクロプロセッサ1
−1から見えるキャッシュ空間がどのようになっている
かを図5に示す。本構成の場合には、入出力ポート20
−1〜20−n内の2−Port−RAM126がCP
U1−1のD−Cacheの役割もはたしていることか
ら、CPU1−1から見えるキャッシュ空間としては、
各入出力回線毎に存在する複数の2−Port−RAM
126の記憶領域とI−Cache21−1の記憶領域
のみが存在することになる。
【0115】ここで、本実施例は、各入出力回線毎に2
−Port−RAM126を配置してATM交換処理を
行うことによって、前述したような効果を得ることを期
待したものである、この点に関しては本実施例の構成に
限られたものではない。例えば、キャッシュメモリとし
て使用する2−Port−RAMは1つだけとして、複
数の入出力回線からのデータが同じ2−Port−RA
Mの異なる記憶領域に順次書き込まれ、その1つの2−
Port−RAMに対してマイクロプロセッサがATM
交換処理を施すという方法も考えられる。このような場
合においても、同様に、入出力ポートからD−Cach
eへのデータ転送処理が不要となるので、本実施例と同
じような効果が得られることは自明である。この場合に
は、本実施例におけるスイッチング処理のように、出力
ポートを識別した際にその出力回線に対応した入出力ポ
ート内の2−Port−RAMにデータを転送するので
はなく、出力ポートを識別した際には同じ2−Port
−RAM内の所望の出力回線に割り当てられている異な
る記憶領域にデータを書き移すという処理を行うことに
なる。このような1つの2−Port−RAMによって
実現する場合にも、マイクロプロセッサから見えるキャ
ッシュ空間としては図4と同様に、各入出力回線に対応
した記憶領域と、命令キャッシュI−Cacheの記憶
領域だけということになる。
【0116】本実施例のようなキャッシュ構成をとるこ
とによっても、図1の場合と同様に、従来のソフトウェ
ア処理によるATM交換装置に較べてメインメモリへの
アクセス回数を削減することができるとともに、図1の
構成よりもさらにキャッシュメモリへのアクセス回数を
削減することが可能となり、ソフトウェア処理によるA
TM交換処理全体をより高速化することが可能となる。
また、入出力データを高速のRAMで直接扱う構成にな
っているので、図1のようなFIFOを用いる構成より
も将来の高速化や量産効果による低価格化が期待できる
ので、将来、より低価格のATM交換装置が提供できる
ようになるという期待ができる。
【0117】次に、以下では他の実施例をいくつか示し
ていくが、夫々の実施例における入出力ポートの構成方
法は前述したように双方向のFIFOを用いる図1のよ
うな構成や2−Port−RAMを用いる図4のような
構成などいくつか考えられる。よって、以下ではその構
成を限定せずに「入出力ポート」として述べていくこと
とするが、入出力ポートの構成としては前述のようにい
くつかの構成を適用できることは自明である。以下、第
1の発明に係るATM交換装置において、ATM交換装
置内で行うべき処理を複数のマイクロプロセッサによっ
て分担して行う場合のいくつかの実施例を、図6〜図1
1を参照しながら説明していく。
【0118】(第3の実施例)まず、第1の発明に係る
第3の実施例について説明する。
【0119】図6に、本実施例のATM交換装置の基本
構成の概念図を示す。このATM交換装置は、ATM交
換処理を行うためのマイクロプロセッサを入出力回線毎
に配置して、各入出力回線毎にATM交換処理を行うよ
うに構成したものである。
【0120】このようなATM交換装置においては、m
×mのATM交換装置を実現するためにm個のマイクロ
プロセッサとm個のキャッシュメモリの組み合わせによ
って処理を行うことになる。そのため、単純にはハード
ウェア量が増えることになるのでATM交換装置のコス
トが高くなることが考えられる。
【0121】しかしながら本実施例では、全ての処理を
1つのマイクロプロセッサで行う場合に較べて、一つ一
つのマイクロプロセッサで行うべき処理量を1/mに削
減できるとともに、キャッシュメモリへのアクセス回数
も1/mにできる。そのため、最先端のマイクロプロセ
ッサではなく現在すでに広く使用されている(量産体制
が確立されていてコストが下がっている)マイクロプロ
セッサが使用できるとともに、それほど高速・大容量で
はないRAMによってキャッシュメモリを実現すること
が可能となる。そして、その結果として、マイクロプロ
セッサの単価を削減することができるとともに、キャッ
シュメモリなどの周辺機能の低価格化も期待できるとい
うことから、高価な一つのマイクロプロセッサによって
ATM交換装置を実現するよりも安価なATM交換装置
を提供できるようになることが期待できる。
【0122】本実施例では、CPU1−1〜1−nにお
ける処理は、基本的には第1の実施例(図1)あるいは
第2の実施例(図4)と同様のものである。ただし、ス
イッチング処理を行う場合には、各マイクロプロセッサ
がATMセルのヘッダ情報からの出力ポートを識別した
後に、その出力ポートに対応しているマイクロプロセッ
サに対して識別したATMセルを転送することになる。
そのため、図6の各マイクロプロセッサはメモリバス9
99で接続され、スイッチング処理にともないマイクロ
プロセッサ間のATMセルの転送はメモリバス999に
よって行われるような構成になっている。
【0123】図7に、本実施例では、キャッシュ領域や
メモリ領域が各マイクロプロセッサCPU1−1〜1−
nからどのように見えているのかを示す。図7に示すよ
うに、各マイクロプロセッサはキャッシュ領域として各
入出力ポートと各I−Cache,D−Cacheが見
えているだけである。しかし、メモリ領域としては、入
出力回線に対応したメモリ領域がそれぞれ見える構成に
なっている。
【0124】このような構成でスイッチング処理を行う
本実施例においては、まず、このメモリ空間内の所望の
入出力回線に対応したメモリ領域に、あて先識別したA
TMセルを書き込むという処理を行う。次に、各マイク
ロプロセッサCPU1−1〜1−nが、各マイクロプロ
セッサが処理を行っている入出力回線に対応したメモリ
領域から、各出力回線に出力するべきデータを読みだす
という処理を行うことによってスイッチング処理が実現
できる。
【0125】このような方法でスイッチング処理を行う
場合には、各入出力回線に対応したメモリ領域からデー
タを読み出すタイミングが問題となる。例えば、出力す
るべきATMセルが各メモリ領域に到着する毎に、その
メモリ領域に対応した入出力回線の処理を行っているマ
イクロプロセッサに割り込みをかけて処理していたので
は、マイクロプロセッサに頻繁に割り込み処理が入って
しまい、マイクロプロセッサの命令ストリームが頻繁に
乱されることになる。
【0126】このような命令ストリームへの割り込みを
制御する方法としては、各メモリ領域に出力するべきA
TMセルがある程度蓄積された段階で対応するマイクロ
プロセッサに割り込みをかけるという方法が考えられ
る。また、各入出力回線の処理を行っているマイクロプ
ロセッサの方が自律的に、ある程度の命令サイクル毎に
各入出力回線に対応するメモリ領域内のATMセルを読
み出しにいくという方法も考えられる。以上のような方
法などでマイクロプロセッサの命令ストリームを制御す
ることによって、本実施例のような構成でATM交換装
置を実現した場合でも、マイクロプロセッサ処理におけ
る命令ストリームを乱すことなくソフトウェア処理を実
現できる。
【0127】(第4の実施例)次に、第1の発明に係る
第4の実施例について説明する。
【0128】図4に、本実施例のATM交換装置の基本
構成の概念図を示す。また、図9には、各マイクロプロ
セッサからそれぞれのキャッシュ空間や全体のメモリ空
間がどのように見えているかを示す。
【0129】第3の実施例(図6)のように各入出力回
線毎にマイクロプロセッサを配置して処理を行う方法で
は、スイッチング処理を行う際にどうしてもメインメモ
リとD−Cache間でのデータ転送を行わなければな
らず、メインメモリへのアクセス回数の削減という点で
は充分な効果が得られないおそれがある。
【0130】そこで、本実施例では、スイッチング処理
を施したATMセルをその所望の出力回線に対応してい
るマイクロプロセッサに転送する処理を、メインメモリ
を介して行うのではなく、各マイクロプロセッサが接続
されているキャッシュバス間に、入出力ポートと同じよ
うに直接接続された双方法FIFO33−1−2〜33
−1−nによって行う方法を適用している。
【0131】なお、双方法FIFO33−i−jは、キ
ャッシュバス91−iと91−j間に直接接続されたも
のを表す。
【0132】図8の構成では、例えば入出力回線#1の
処理を行っているマイクロプロセッサCPU1−1は、
キャッシュ空間上に自分が処理を行う入出力ポート10
−1と、他のマイクロプロセッサとのATMセルの授受
を行う双方向FIFO33−1−2〜33−1−nが見
えることになる。そのため、マイクロプロセッサ1−1
がスイッチング処理を行う場合には、まず、このキャッ
シュ空間内の入出力回線#1〜#nから取り込んだAT
Mセルのあて先情報から、そのセルを出力すべき入出力
回線の処理を行っているマイクロプロセッサを識別し、
識別したマイクロプロセッサに対応する双方法FIFO
にあて先を識別したATMセルを書き込む処理を行う。
次に、他の入出力回線の処理を行っているマイクロプロ
セッサから入出力回線#1〜#nへATMセルを転送す
るために双方法FIFOに書き込まれたセルを順次読み
出していくという処理を行うことで、CPU1−1が入
出力回線#1〜#nでのスイッチング処理を実行してい
くことになる。
【0133】以上、図6や図8を参照して説明したよう
に、各入出力回線毎にマイクロプロセッサを配置する方
法を用いることによって、各入出力回線毎にATM交換
処理を行うことができるので、より高速のインタフェー
スまで収容可能なATM交換装置が提供できることにな
る。また、ATM交換装置の各入出力インタフェースの
仕様が入出力回線毎に異なるような場合のATM交換装
置を容易に実現することができるとともに、ATM交換
装置の一部の入出力インタフェースの仕様変更にも柔軟
に対応可能なATM交換装置が提供できることとなる。
【0134】(第5の実施例)次に、第1の発明に係る
第5の実施例について説明する。
【0135】図10に、本実施例のATM交換装置の基
本構成の概念図を示す。
【0136】このATM交換装置は、入出力回線からA
TM交換装置へデータを入力する入力ポート31−1〜
31−nからの入力データに対して施される受信側の処
理と、ATM交換装置から入出力回線にデータを出力す
る出力ポート32−1〜32−nへの出力データに対し
て施される送信側の処理とを、それぞれ異なるマイクロ
プロセッサCPU1−1,1−2によって処理するよう
な構成にしたものである。また、本実施例のATM交換
装置においては、受信側処理を行うCPU1−1が受信
側の処理を終えたデータを送信側の処理を行うCPU1
−2に転送するためのCPU間情報転送用メモリとし
て、メモリ・バス999に各入力回線(出力回線)に対
応するI/OメモリI/O11−1〜11−nを接続す
るようになっている。
【0137】本実施例のように、送信側の処理と受信側
の処理を分離することによって、それぞれのマイクロプ
ロセッサによって行う処理の種類を削減することができ
るので、RISC型のマイクロプロセッサのように少な
い種類の命令を高速に処理していくようなマイクロプロ
セッサが適用し易い構成となる。また、受信側では入力
ポートからはデータの読み出しだけ、送信側では出力ポ
ートへのデータの書き込みだけを行うことになるので、
キャッシュメモリへのアクセス回数が減るだけではな
く、キャッシュバス上でのデータ転送の方向をかなり一
様なものにすることができるので、マイクロプロセッサ
の命令パイプラインを乱すことの少ない、高速のATM
交換処理が実現可能となることが期待できる。
【0138】ここで、送信側と受信側の2つのマイクロ
プロセッサ1−1,1−2にどのように処理を割り振る
かによって、I/Oメモリ11−1〜11−nに書き込
まれるデータがスイッチング処理が済んだ情報であるの
か、それともスイッチング処理はまだ行われていない情
報であるのかが変化することになる。このような、送信
側と受信側の2つのマイクロプロセッサ1−1とマイク
ロプロセッサ1−2で行う処理の区切り方としては、基
本的に以下の2通りが考えられる。
【0139】[方法1]CPU1−1には、受信側の物
理・ATMレイヤ処理・ATMレイヤスイッチング処理
を割り当てる。CPU1−2には、送信側のATM・物
理レイヤ処理を割り当てる。 [方法2]CPU1−1には、受信側の物理・ATMレ
イヤ処理を割り当てる。CPU1−2には、送信側のA
TM・物理レイヤ処理・ATMレイヤスイッチング処理
を割り当てる。
【0140】本実施例において各マイクロプロセッサが
行う処理は、第1の実施例で示した命令ストリームと基
本的には同様である。特に受信側と送信側の物理レイヤ
処理とATMレイヤ処理は全く同様の処理を行うと考え
ることができる。ただし、スイッチング処理は、第1の
実施例とは多少異なる手順を踏むことになる。以下、受
信側のマイクロプロセッサ11が受信したATMセルの
ヘッダ値から所望の出力回線を識別し、その識別した出
力回線に対応したI/Oメモリ11−1〜11−nにA
TMセルを順次転送して書き込んでいく場合の各マイク
ロプロセッサ1−1,1−2の処理手順(命令ストリー
ム)を示す。
【0141】受信側のマイクロプロセッサ1−1の処理
は、以下のようである。
【0142】i)入力回線を経て入力ポート31−1〜
31−nに到着したデータを、CPU1−1のリード・
サイクルによってCPU1−1の扱うビット幅毎に読み
取り、D−Cache22−1内の各入力回線からのデ
ータを処理する記憶領域に順次書き込んでいく。
【0143】ii)データキャッキュD−Cache22
−1の各入力回線に対応した記憶領域内に書き込んだデ
ータに対して、受信側の物理レイヤ処理を施す。
【0144】iii )受信側の物理レイヤ処理を施したデ
ータに対して受信側のATMレイヤ処理を施す。
【0145】iv)受信側のATMレイヤ処理を施された
ATMセルのヘッダ値を読み取り、所望の出力回線を識
別する。
【0146】v)出力回線を識別したATMセルを、そ
の識別した出力回線に対応したI/Oメモリ11−1〜
11−nに転送する。
【0147】一方、送信側のマイクロプロセッサCPU
12の処理は以下のようである。
【0148】i)各I/Oメモリ11−1〜11−n内
に書き込まれているATMセルを、順次D−Cache
22−2内の各I/Oメモリに対応している出力回線へ
送出するデータの処理を行うための記憶領域に転送す
る。
【0149】ii)各出力回線に送出するATMセルに対
して送信側のATMレイヤ処理を施す。
【0150】iii )各出力回線に送出するATMセルス
トリームに対して送信側の物理レイヤ処理を施す。
【0151】iv)送信側の物理レイヤ処理を施した物理
レイヤフレームをCPU1−2のライト・サイクルによ
って、出力するべき出力ポートに転送し、出力ポートか
らデータを出力回線に送出する。
【0152】図11には、本実施例において、キャッシ
ュ領域、メモリ領域が、それぞれCPU1−1,1−2
からどのように見えているのかを示す。図11に示すよ
うに、受信側の処理を行うCPU1−1からの入力ポー
ト31−1〜31−nがあたかもキャッシュ領域の一部
であるかのように見える。また、送信側の処理を行うC
PU1−2からは出力ポート32−1〜32−nがあた
かもキャッシュ領域の一部であるかのように見えること
になる。また、メモリ領域には、送信側キャッシュ、受
信側キャッシュ、I/Oメモリ11−1〜11−nとメ
インメモリ61、ROM41などが見える構成になって
いる。
【0153】ここで、図11では、I/Oメモリ11−
1〜11−nがメモリバス999に接続されている構成
になっているが、これは第3の実施例(図6)の場合と
同様に、送信側のマイクロプロセッサCPU1−1から
受信側のマイクロプロセッサCPU1−2にデータを転
送する際にメインメモリへのアクセスを行う構成となっ
ているために、メインメモリのアクセス回数を削減する
という効果が少なくなってしまう。そこで、図8の場合
と同様に、送信側と受信側のマイクロプロセッサ間のデ
ータ転送には、受信側処理のキャッシュ・バス91−1
と、送信側処理のキャッシュ・バス91−2の間にデー
タ転送用I/Oメモリを接続し、送/受信用キャッシュ
・バス間でダイレクトにデータの受け渡しを行う方法が
考えられる。
【0154】この場合のデータ転送に用いられるI/O
メモリは、送信側キャッシュ・バス91−1から受信側
キャッシュ・バス91−2へデータ転送を行えるFIF
Oによって接続する構成でもよいし、図4に示したよう
な2−Port−RAMによって接続する構成でもよ
い。また、データ転送用のI/Oメモリ(FIFOまた
は2−Port−RAM)は、各入出力回線毎に対応し
て存在しても良いし、送信側のキャッシュ・バス91−
1と受信側のキャッシュ・バス91−2の間の一つだけ
存在するという構成でもよいことになる。ただし、これ
らの各FIFOや2−Port−RAMは、CPU1−
1およびCPU1−2からキャッシュ領域の一部として
その入出力点が見えている必要がある。そのため、この
場合には図11の送信側/受信側双方のキャッシュ空間
内の一領域として、データ転送用I/Oメモリの各FI
FOや2−Port−RAMのアドレスがどこかに指定
されていなければならない。
【0155】また、第3の実施例(図6)のATM交換
装置の場合と同様に、さらに、このような構成のATM
交換処理用のマイクロプロセッサを入出力回線毎に設置
する方法も考えられる。本実施例の場合にはm×mのA
TM交換装置を実現するために、1/2mの処理能力で
よいマイクロプロセッサを2m個用いることとなる。本
実施例に示すATM交換装置を用いることによって、送
信側の処理と受信側の処理を異なるマイクロプロセッサ
に分けて行っているために、各マイクロプロセッサで行
うべき処理を削減することができ、より高速のATMイ
ンタフェースを収容可能なATM交換装置が実現できる
ことになる。また、各入出力回線毎の送信側と受信側の
処理をそれぞれ異なるマイクロプロセッサに割り当てる
ことによって、本実施例のATM交換装置が提供するA
TMインタフェースの組み合わせをより柔軟性の高いも
のにすることも可能である。
【0156】以上のように、第3〜第5の実施例(図
6、図8、図10)のATM交換装置は、各入出力ポー
トや送信側/受信側毎の柔軟なインタフェースを提供し
易くなるという特徴を持っている。また、複数のマイク
ロプロセッサによってATM交換機能を提供しているの
で、個々の機能としてそれほど高い機能が求められなく
なることから、その時代の最先端のマイクロプロセッサ
ではなく、広く使われている低価格のマイクロプロセッ
サを用いてATM交換装置を実現することができる。通
常、提供するべき処理能力が1/mに削減されたLSI
の価格は、もともとの処理能力を提供するLSIの価格
の1/m以下になることから、本実施例のような構成で
ATM交換装置を実現することによって、装置全体とし
てより低価格のATM交換装置を提供できるようになる
と期待できる。
【0157】(第6の実施例)次に、第1の発明に係る
第6の実施例について説明する。
【0158】図12に、本実施例のATM交換装置の基
本構成の概念図を示す。このATM交換装置は、データ
キャッシュの構成方法の一例を示すものであり、ATM
交換装置に送られてきたデータの入出力処理、物理レイ
ヤ処理、ATMレイヤ処理、スイッチング処理のそれぞ
れの処理に対して、それぞれ、D−Cache22−1
とは別に、入出力処理用記憶領域(図1、図4、図6、
図8、図10の各図中での入出力ポートに対応するも
の)40−1〜40−n、物理レイヤ処理用記憶領域4
1−1〜41−n、ATMレイヤ処理用記憶領域42−
1〜42−n、スイッチング処理用記憶領域43−1〜
43−nをあらかじめキャッシュ領域内の一部に割り当
てておく構成を示している。このような構成としている
ため、本実施例のATM交換装置では、各回線を送られ
てきたデータに対する各処理を順次行っていく際に、各
処理が終了した毎に異なる記憶領域にデータを順次書き
移していくことになる。
【0159】例えば、R3000などの32bitマイ
クロプロセッサによって入出力ポート40−1〜40−
nからデータを読み取って処理を行う場合を考える。入
出力ポートでデータを読み取る際にビット同期が確立さ
れるタイミングは物理レイヤフレームのどの位置になる
のかは予想ができないので、入出力ポートからキャッシ
ュバス91−1に送り出されるビット列(32bitの
ビット列)も物理レイヤフレーム内のどの位置のビット
列であるのかは解らないことになる。そのため、1つの
キャッシュメモリによって32bitずつの各処理にお
けるデータの読み出し・書き込みを行う場合を想定する
と、物理レイヤフレームの同期を確立させた後において
も、キャッシュバス上で転送しているデータが必ずしも
物理レイヤフレームのバイト同期のとれた情報とはなら
ず、フレームの先頭や最後尾では32bitの中の前半
の数ビットが前のフレームに属す情報であるのに、残り
の数ビットは後ろのフレームに属するビットとなってし
まうということになる。
【0160】これに対し本実施例のように、物理レイヤ
フレームの同期を確立させた後にATMレイヤ処理用記
憶領域42−1〜42−nに情報を伝送する際に、フレ
ームの先頭のビットから32bitずつをキャッシュバ
ス91−1上に送出することによって、ATMレイヤ処
理用記憶領域42−1〜42−nにはバイト同期のとれ
たデータとして書き込むことができることになる。その
ため、物理レイヤフレームの同期を確立させた後にはキ
ャッシュバス91−1上を転送するデータのバイト同期
は保証されていることになり、マイクロプロセッサによ
って物理レイヤ処理以降の各処理(ATM交換処理やス
イッチング処理)を行う際には、キャッシュバス91−
1を介して読み込むデータのバイト同期は確立されてい
るものとして扱えるので、マイクロプロセッサによる処
理を軽減させることができる。また、このようにデータ
を順次処理していくという観点から、物理レイヤ処理用
など各固定的に割り当てられている記憶領域をFIFO
構成とするATM交換装置も実現可能である。
【0161】本実施例のような構成のキャッシュメモリ
を用いた場合のCPU1−1における各記憶領域間での
データの転送手順の概要は以下のようになる。
【0162】i)各入出力回線を伝送されてきたデータ
を各入出力ポート40−1〜40−nからその入出力回
線の従っている物理レイヤフレームのフレーム長程度の
ビット数のデータを、その入出力回線に対応する物理レ
イヤ処理用記憶領域(PHYL)41−1〜41−n内
に転送する。
【0163】ii)各物理レイヤ処理用記憶領域41−1
〜41−nから32bitずつデータを読み込み、読み
込んだデータへの受信側の物理レイヤ処理を施してフレ
ーム同期を確立した後、フレーム同期のとれたフレーム
の先頭のビットから順に32bitずつを、対応するA
TMレイヤ処理用記憶領域(ATML)42−1〜42
−n内に転送する。
【0164】iii )各ATMレイヤ処理用記憶領域42
−1〜42−nからデータを読み込み、(確実に4By
teずつ読み込むことができる)読み込んだデータへの
受信側のATMレイヤ処理を施し、セル同期(バイト同
期)のとれたデータのままで対応するスイッチング処理
用記憶領域(Switch)43−1〜43−n内に転
送する。
【0165】iv)各スイッチン処理用記憶領域43−1
〜43−nからデータを読み込み、読み込んだデータの
あて先情報からそのセルを転送するべき入出力回線を識
別し、識別したセルをその出力するべき入出力回線に対
応しているスイッチング処理用記憶領域43−1〜43
−n内に転送する。
【0166】v)各スイッチング処理用記憶領域43−
1〜43−n内から順次ATMセルを読み出し、その読
みだしたセルに対して送信側のATMレイヤ処理を施
し、対応するATMレイヤ処理用記憶領域2−1〜42
−n内に転送する。
【0167】vi)各ATMレイヤ処理用記憶領域42−
1〜42−n内から順次ATMセルを読み出し、その読
みだしたセルに対して出力回線に対応した送信側の物理
レイヤ処理を施して、対応する物理レイヤ処理用記憶領
域41−1〜41−n内に転送する。
【0168】vii )各物理レイヤ処理用記憶領域41−
1〜41−n内から順次データを読みだし、対応する各
入出力ポート40−1〜40−nにその読み出したデー
タを転送し、各入出力ポート40−1〜40−nから出
力回線に送出する。
【0169】ここで、図12においては物理的に異なる
Cache/RAMによってそれぞれの記憶領域を区別
するように示してあるが、物理的に異なるRAMでなく
ても、1つのCache/RAM内のアドレスを各処理
専用のアドレスとして固定的に割り当ててしまうこと
で、本実施例と同様の効果を得ることも可能である。ま
た、図12では、各入出力回線毎の物理レイヤ処理、A
TMレイヤ処理、スイッチング処理全てに対して記憶領
域を割り当てるような構成になっているが、本発明はこ
のような方式に限られたものではなく、例えばスイッチ
ング処理の記憶領域は各入出力回線毎には区切らずに全
体を1つの記憶領域内で処理していくというような構成
も当然実施可能である。さらに、本実施例においては各
処理毎の記憶領域を受信側の処理が終わった時点と送信
側の処理を行う時点で同じ記憶領域を用いる構成になっ
ているが、このような構成に限られたものではなく、例
えば受信側の物理レイヤ処理用記憶領域と送信側の物理
レイヤ処理レイヤ処理用記憶領域をそれぞれ別に設ける
ような構成も考えられる。当然、このような送信側と受
信側で記憶領域を区別して処理を行う方法は物理レイヤ
処理用記憶領域に限られたものではなく、ATM処理用
記憶領域やスイッチング処理用記憶領域などでも実現す
ることができる。
【0170】また、第3の実施例(図6)のATM交換
装置の場合と同様に、このような構成のスイッチング処
理用のマイクロプロセッサを入出力回線毎に設置する方
法も考えられる。さらに、本実施例のように1つのマイ
クロプロセッサによって全ての処理を行うのではなく、
物理レイヤ処理、ATMレイヤ処理、スイッチング処理
にそれぞれ1つずつマイクロプロセッサを割り当て、そ
れぞれの処理を異なるマイクロプロセッサとキャッシュ
の組み合わせによって行い、順次処理の終わったデータ
を次の処理を行うマイクロプロセッサとキャッシュの組
み合わせに転送していくような方法も当然考えられる。
【0171】このような構成でデータキャッシュを実現
した場合のキャッシュ領域、メモリ領域が、それぞれC
PU1−1からどのように見えているのかを図13に示
す。物理的に異なるCache/RAMによって実現す
る場合でも、前述したような一つのCache/RAM
によって実現する場合でもキャッシュ領域やメモリ領域
は同じように見えるということは自明である。
【0172】本実施例によって、入出力処理・物理レイ
ヤ処理・ATMレイヤ処理・スイッチング処理の各処理
毎に記憶領域を区切っているので、マイクロプロセッサ
によるメモリ空間の管理が容易になることが期待でき
る。また、ここで述べてきたように、各レイヤの処理を
行うべきデータを順次異なる記憶領域に書き移しながら
転送して行くので、入出力回線から送られてきたデータ
のタイミングによらずに、各レイヤのデータ構造に合わ
せて(ここではバイト同期のとれたデータとして)記憶
領域にデータを保持することができる。そして、このよ
うに記憶領域内にバイト同期のとれた状態で保持してお
くことができることによって、各レイヤ毎の処理を行う
際に、キャッシュバス上で転送するデータのバイト同期
は保証されたものとして扱うことができ(32bitマ
イクロプロセッサならば4Byteずつのデータ転送が
できる)、マイクロプロセッサによる処理のさらなる高
速化が期待できる。
【0173】次に、以下では、ATM交換処理装置内の
いくつかの処理をハードウェア処理によって行うことと
した第2の発明に係るATM交換装置(特にキャッシュ
バス上の構成に関するもの)のいくつかの実施例を、図
14〜図23を参照しながら示していく。
【0174】(第7の実施例)まず、第2の発明に係る
第7の実施例について説明する。
【0175】図14に、本実施例のATM交換装置の基
本構成の概念図を示す。このATM交換装置は、マイク
ロプロセッサによって行う処理を、入出力回線からのデ
ータの物理レイヤ処理とATMレイヤ処理のインタフェ
ース処理のみに限定し、スイッチング処理は別の入出力
ポートによって接続されたATMスイッチを用いて行う
ように構成したものである。本実施例では図14のよう
に、CPU1−1とI−Cache21−1,D−Ca
che22−1を接続しているキャッシュ・バス91−
1には、各入出力回線毎の入出力ポート10−1〜10
−nと、スイッチング処理を実行するATMスイッチ1
000とのインタフェースとなる入出力ポート50−1
〜50−nを接続している。
【0176】本実施例においては、入出力回線を経て入
出力ポート10−1〜10−nに到着したデータをD−
Cache22−1に順次転送してから、D−Cach
e22−1に書き込んだデータに対して、受信側の物理
レイヤ処理とATMレイヤ処理を施してATMセル化し
た後に、データが転送されてきた入出力ポートに対応し
たATMスイッチ1000へのインタフェースポートに
転送する。また、ATMスイッチ1000からスイッチ
ング処理をされた後にATMスイッチへのインタフェー
スポートに送られてきたATMセルをD−Cache2
2−1に順次転送してから、D−Cache22−1に
書き込んだATMセルに対して、送信側のATMレイヤ
処理を物理レイヤ処理を施して物理レイヤフレーム化し
た後に、データが転送されてきたATMスイッチへのイ
ンタフェースポートに対応した入出力ポートにそのフレ
ームを転送することになる。
【0177】上記のようにATMセルの形でATMスイ
ッチ1000にデータを転送する場合だけではなく、C
PU11においてATM交換処理の他に、ATMスイッ
チ1000内の物理VCIの識別やルーティングタグの
付加等のATMスイッチの前処理を行う場合も考えられ
る。この場合には、マイクロプロセッサCPU11は、
ATMスイッチ1000から送られてきたデータからの
ルーティングタグの除去やVPI/VCIの書き換えな
どのATMスイッチの後処理も行うこととなる。
【0178】以上述べてきたような手順でATM交換処
理を行うので、CPU1−1で行う必要のある処理とし
ては、図1に示した実施例の場合からスイッチング処理
を省くことができるようになる。
【0179】ATMセルのスイッチング処理は入出力回
線の物理レイヤ仕様などからは独立のものであり、各メ
ーカーが独自の方式で各種のATMスイッチLSIをす
でに実現している。このような点から、ATM交換装置
の各インタフェース点と各社が開発したATMスイッチ
のインタフェース点との間のインタフェースはかなりの
組み合わせが考えられるので、それぞれのインタフェー
スの組み合わせに対して専用のインタフェースLSIを
開発することは、開発コストなどの点からも問題があ
る。
【0180】これに対して本実施例のような構成でAT
M交換装置を構築すれば、前述したような複数のインタ
フェースの組み合わせに対する処理をソフトウェアの書
き換えだけで提供することができるので、ユーザーが必
要とする収容インタフェースやATMスイッチ機能に対
してより柔軟性の高いATM交換装置を提供することが
できる。当然、ATMスイッチを用いることによってマ
イクロプロセッサによって行うべき処理量を削減するこ
とができるので、入出力ポートで収容するインタフェー
スをより高速のものまで収容可能にできるようになる。
【0181】以上のようなことから、本実施例のように
スイッチング処理はATMスイッチなどのハードウェア
によって行うとすることによって、収容するインタフェ
ースに対する柔軟性の向上と収容するインタフェースの
高速化の両方を提供できるATM交換装置を実現するこ
とができる。
【0182】このような構成のATM交換装置を用いた
ときにCPU1−1から見えるキャッシュ空間とメモリ
空間の構成を図15に示す。
【0183】また、このような入出力ポートやATMス
イッチへのインタフェースポートの接続方法の他にも、
ATMスイッチへのインタフェースポートはキャッシュ
・バスではなくメモリ・バスに接続してATMインタフ
ェース処理を行う方法や、その逆に入出力回線への入出
力ポートをメモリ・バスに接続する方法などが考えられ
ることは自明である。さらに、このような構成のインタ
フェース処理用のマイクロプロセッサを第3の実施例
(図6)のATM交換処理装置の場合と同様に、ATM
交換装置への入出力回線毎に設置することも考えられ
る。
【0184】(第8の実施例)次に、第2の発明に係る
第8の実施例について説明する。
【0185】図16に、本実施例のATM交換装置の基
本構成の概念図を示す。このATM交換装置は、物理回
線からのデータのビット同期などの回線終端処理は通常
の回線終端LSIなどのハードウェアによって処理を行
い、CPU1−1によって行う処理をデータのATMレ
イヤ処理・スイッチング処理のみに限定するように構成
したものである。
【0186】図16に示すようなATM交換装置におい
ては、各入出力回線から入力されたビット列の例えばビ
ット同期・フレーム同期までの回線終端処理を各回線毎
の回線終端処理ハードウェア66−1〜66−nによっ
て行い、フレーム同期のとれたデータを入出力ポート6
0−1〜60−nに書き込むことになる。そのため、C
PU1−1は送られてくるデータが常にフレーム同期の
とれたデータとして処理することができることになる。
【0187】これまで図1〜図15に示してきたATM
交換装置の各構成では、入出力ポートには各入出力回線
からのデータをそのまま書き込んでいき、マイクロプロ
セッサが入出力ポートから一定ビット数ずつ(R300
0であれば32bitずつ)データを読み込んで順次処
理を行っていくことになるので、毎回入出力ポートから
読み出すデータのバイト同期は保証されていなかった。
そのため、図12に示した実施例のようにマイクロプロ
セッサにおいて物理レイヤフレームのフレーム同期を確
立した後に、その同期のとれたデータをあらためてAT
Mレイヤ処理用記憶領域に書き移して次の処理を行って
いくなどの処理を行うことによって、扱うデータのバイ
ト同期を保証するような方法が考えられた。
【0188】それに対して図16に示した構成のATM
交換装置では、フレーム同期までの物理レイヤ処理のよ
うに、各入出力回線毎に一定の決まった処理を行う部分
はハードウェア化してしまうことによって、マイクロプ
ロセッサによる物理レイヤ処理の一部分を省略すること
ができることになる。このような物理回線終端処理を実
行するLSIはすでにいくつものものが開発されてお
り、コスト的にも大きな問題はないものと考えられる。
また、入出力ポートからデータの読み出しを行う際には
常に物理レイヤフレームの先頭ビットから一定ビットず
つ(R3000であれば32bitずつ)取り出すこと
ができるので、キャッシュ・バス91−1上を転送され
るデータは常にバイト同期が保証されていることにな
る。このように、マイクロプロセッサにおける処理量を
削減することができることや、キャッシュ・バス99−
1上を転送されるデータのバイト同期は確立されている
ものとしてデータを扱うことができるようになるという
ことから、より高速のインタフェースまで収容可能なA
TM交換装置が提供できることになる。
【0189】このような構成のATM交換装置を用いた
ときにCPU1−1から見えるキャッシュ空間とメモリ
空間の構成を図17に示す。
【0190】また、このような構成のATM交換処理用
のマイクロプロセッサを第3の実施例(図6)のATM
交換装置の場合と同様に、ATM交換装置への入出力回
線毎に設置することも考えられることは自明である。
【0191】次に、以下では、第2の発明に係るATM
交換装置において、物理レイヤ処理の一部であるATM
セルのペイロード部に対するスクランブル処理およびデ
スクランブル処理を、それらの処理専用のLSIなどの
ハードウェアによって処理を行う場合のいくつかの実施
例を、図18〜図23を参照しながら示していく。
【0192】第1の実施例で示した命令ストリームのよ
うに、ATM交換装置内で行うべき処理としては、物理
レイヤ処理、ATMレイヤ処理、スイッチング処理など
が必要である。このような各処理は、基本的に各処理に
おいて扱うパケット(物理レイヤフレームやATMセ
ル)の同期がとれた後ではそのパケットのヘッダ部分に
対する処理を行っていけば良いという特徴を持ってい
る。特に、ATMセルのヘッダ部は、そのHECである
1Byteを除くとちょうど4Byte(32bit)
であり、本実施例で用いているような32bitマイク
ロプロセッサR3000との整合がとれているので、A
TMセルはマイクロプロセッサ処理によって処理を行い
易いパケット構成になっていると考えられる。
【0193】ここで、スクランブル処理やデスクランブ
ル処理は、ATMセルのペイロード部に対する処理であ
る。そのため、スクランブル処理・デスクランブル処理
を行う場合には、物理レイヤ処理によってATMセル同
期を確立した後でも、マイクロプロセッサにATMセル
全てを読み出して処理を行わなければならなくなってい
た。また、ITU−Tなどで標準化されているスクラン
ブル処理・デスクランブル処理は、ペイロード部の43
bitずつを用いて処理を行うようになっているため
に、本実施例のように32bitマイクロプロセッサR
3000を用いて処理を行う場合には、そのデータの扱
いが非常に複雑となり、処理時間が多くかかるという問
題が考えられた。
【0194】それに対して、各実施例のようにスクラン
ブル処理・デスクランブル処理はハードウェア処理によ
って行うこととし、それ以外の処理をマイクロプロセッ
サによって行うとした場合には、ATMセル同期を確立
した後にはマイクロプロセッサにはATMセルのヘッダ
部のみを読み出して処理を行うことが可能となり、キャ
ッシュ・バス91−1上を転送するデータを大幅に削減
することができるようになる。
【0195】(第9の実施例)次に、第2の発明に係る
第9の実施例について説明する。
【0196】図18に、本実施例のATM交換装置の基
本構成の概念図を示す。また、図19には、CPU1−
1から見えるキャッシュ空間とメモリ空間の一例を示
す。
【0197】このATM交換装置は、スクランブル処理
・デスクランブル処理をハードウェア化した機能をキャ
ッシュ・バス91−1に直接接続するように構成したも
のである。
【0198】スクランブル処理部(S)71−1、デス
クランブル処理部(D)72−1においては、ATM交
換装置の各入出力回線毎のATMセルストリームに対す
るスクランブル処理、デスクランブル処理を行わなけれ
ばならない。そのため、本実施例のように1つのスクラ
ンブル処理部71−1やデスクランブル処理部72−1
で処理を行う場合には、マイクロプロセッサCPU1−
1から送られてくるペイロード部が、どの入出力回線に
対応したATMセルのペイロードであるのかを識別しな
ければならない。
【0199】このための方法としては、CPU1−1か
ら各入出力回線の順番に従って決められた順番でペイロ
ード部を送信する方法や、各処理部に転送するペイロー
ド部の情報に入出力回線を識別するタグのようなものを
付加して転送する方法などが考えられる。また、スクラ
ンブル処理部71−1、デスクランブル処理部72−1
内においても各入出力回線毎のデータを識別して処理し
ているので、それぞれの入出力回線に対応したデータの
処理のために、各入出力回線毎の直前の43bitのデ
ータを保持しながら、それぞれの入出力回線に対応した
データの次のスクランブル処理・デスクランブル処理を
行っていく方法が考えられる。また、このようなスクラ
ンブル処理部・デスクランブル処理部を各入出力回線毎
に対応して持たせる方法も考えられる。このような場合
には、スクランブル処理部やデスクランブル処理部の数
は増えるけれども、マイクロプロセッサCPU1−1は
入出力回線をスクランブル処理部・デスクランブル処理
部のアドレスによって識別して転送することができる。
また、各スクランブル処理部・デスクランブル処理部に
おいても、送られてくるペイロード部のデータは各入出
力回線に対応した連続したATMセルのペイロード部で
あるので、直前の43bitのみを記憶しておけば良い
ことになる。
【0200】このような各スクランブル処理部・デスク
ランブル処理部における処理は、マイクロプロセッサC
PU1−1においてATMセルに対する送信側・受信側
のATMレイヤ処理が終了するまでの間に終わるように
しておけば、以下のような命令ストリームによってスク
ランブル処理・デスクランブル処理が実行できることに
なる。
【0201】i)ATMセル同期を確立した後に、各A
TMセルのヘッダ部をマイクロプロセッサCPU1−1
に、ペイロード部をデスクランブル処理ハードウェア7
2−1に順次転送していく。
【0202】ii)受信側のATMレイヤ処理をマイクロ
プロセッサで行う。
【0203】受信側のATMレイヤ処理を行っている間
にペイロード部のデスクランブル処理を実行する。
【0204】iii )デスクランブル処理ハードウェア7
2−1から処理済みのペイロード部を順次読み取り、受
信側のATMレイヤ処理を施された対応するATMセル
ヘッダを接続してATMセルを再構築して次のスイッチ
ング処理に渡す。
【0205】iv)スイッチング処理を施した後に、各A
TMセルのヘッダ部をマイクロプロセッサCPU1−1
に、ペイロード部をスクランブル処理ハードウェア71
−1に順次転送する。
【0206】v)送信側のATMレイヤ処理をマイクロ
プロセッサで行う。
【0207】送信側のATMレイヤ処理を行っている間
にペイロード部のスクランブル処理を実行する。
【0208】vi)スクランブル処理ハードウェア71−
1から処理済みのペイロードを順次読み取り、送信側の
ATMレイヤ処理を施された対応するATMセルヘッダ
を接続してATMセルを再構築し、さらに物理レイヤ処
理を行っていく。
【0209】(第10の実施例)次に、第2の発明に係
る第10の実施例について説明する。
【0210】図20に、本実施例のATM交換装置の基
本構成の概念図を示す。また、図21には、CPU1−
1から見えるキャッシュ空間とメモリ空間の一例を示
す。このATM交換装置は、スクランブル処理・デスク
ランブル処理をハードウェア化した機能を各回線毎にA
TMレイヤ処理用記憶領域43−1〜43−nにそれぞ
れ直接接続するように構成したものである。
【0211】上記構成において、CPU1−1が行うべ
き処理は、基本的に各処理毎にキャッシュ領域を区切っ
てATM交換処理を行う第6の実施例(図12)の場合
と同様であるが、ATMレイヤ処理用記憶領域42−1
〜42−nにおいて新たな処理を行う必要が生じる。セ
ル同期のとれたデータがATMレイヤ処理用記憶領域4
2−1〜42−nに書き込まれると、その書き込まれた
データが送信側の処理を行っているATMセルである場
合には、各ATMレイヤ処理用記憶領域からスクランブ
ル処理ハードウェア71−1〜71−nがそのセルを読
み取り(ATMレイヤ処理用記憶領域42−1〜42−
nがスクランブル処理部71−1〜71−nに転送
し)、各ATMセルのペイロード部にスクランブル処理
を施して、ATMレイヤ処理用記憶領域42−1〜42
−nに処理済みのATMセルを書き戻すことになる。一
方、書き込まれたセルが受信側の処理を行っているAT
Mセルである場合には、デスクランブル処理ハードウェ
ア72−1〜72−nによって同様にデスクランブル処
理が施され、同様にATMレイヤ処理用記憶領域42−
1〜42−nに処理済みのATMセルが書き戻されるこ
とになる。
【0212】ここで、このような方法で各処理を行うた
めには、CPU1−1がスイッチング処理用記憶領域か
らは、スクランブル処理・デスクランブル処理を施され
たデータのみ読み出すことができるようにする必要があ
る。そのための方法としては、基本的に以下の2通りの
方法が考えられる。
【0213】[1]ATMレイヤ処理用記憶領域のデー
タにはそれぞれタグを付加しておき、スクランブル処理
またはデスクランブル処理が終了したデータか、未終了
のデータかを、そのタグを読むことによってCPU1−
1が識別できるようにする。 [2]スイッチング処理用記憶領域に書き込まれたデー
タはすぐにスクランブル処理またはデスクランブル処理
のハードウェアに転送して各処理を施し、マイクロプロ
セッサがそのデータを再び読み出しにくるまでの間に同
じ記憶領域に書き戻す。
【0214】ここで、2番目に示した方法のように、ス
クランブル処理・デスクランブル処理が終了する時間以
上待ってマイクロプロセッサがデータを読み出す場合に
は、マイクロプロセッサが確実にスクランブル処理・デ
スクランブル処理を施されたデータを読み出せるように
保証する必要がある。その方法としては、まず、スクラ
ンブル処理・デスクランブル処理にかかる処理時間をあ
らかじめ予測し、マイクロプロセッサの方がそのスクラ
ンブル・デスクランブル処理が終了する時間以上必ず待
ってから読み出すという方法が考えられる。また、マイ
クロプロセッサによって受信側・送信側のATMレイヤ
処理を行うために必要となる命令数はあらかじめわかる
ので、その命令をこなすために必要となる最低のサイク
ル数もあらかじめ計算できる。そこで、受信側のATM
レイヤ処理に必要な最低のサイクル以内にデスクランブ
ル処理を終了させ、送信側のATMレイヤ処理に必要な
最低のサイクル数以内にスクランブル処理を終了させる
という方法が考えられる。本実施例のATM交換装置の
ようにマイクロプロセッサによってATM交換装置内の
各処理を行う場合には、できるだけマイクロプロセッサ
の命令パイプラインを崩さずに処理を行えるようにした
方がよい。そのため、本実施例のように新たにハードウ
ェアを追加してATM交換装置を構成する場合には、そ
の追加するハードウェアをマイクロプロセッサの命令パ
イプラインになるべく合わせて動作させるようにしなけ
ればならない。そのような観点から、スクランブル処理
用・デスクランブル処理用のハードウェアをマイクロプ
ロセッサの命令ストリームに合わせて動作させる方法の
方が、本発明のATM交換装置においては適した方法で
あると考えられる。
【0215】このような、ATMレイヤ処理用記憶領域
とスクランブル処理部・デスクランブル処理部を接続し
てスクランブル処理・デスクランブル処理を行う方法と
しては、他に、スクランブル処理部・デスクランブル処
理部をATMレイヤ処理用記憶領域と専用バスによって
接続し、専用バス上でのデータ転送はDMAコントロー
ラを用いてDMA転送によって行うような方法が考えら
れる。このような方法でもマイクロプロセッサCPU1
1が行うべき処理は、図20の場合と同じであるので、
ATMレイヤ処理用記憶領域からは、スクランブル・デ
スクランブル処理を施されたデータのみ読み出すことが
できるようにする必要がある。また、前述した理由か
ら、DMAコントローラなどの新たに追加するスクラン
ブル・デスクランブル処理用のハードウェアは、それぞ
れの処理を受信側・送信側のATMレイヤ処理にかかる
サイクル数以内に終了させる方法が考えられる。
【0216】(第11の実施例)次に、第2の発明に係
る第11の実施例について説明する。
【0217】図22に、本実施例のATM交換装置の基
本構成の概念図を示す。また、図23には、CPU1−
1から見えるキャッシュ空間とメモリ空間の一例を示
す。
【0218】このATM交換装置は、デスクランブル処
理ハードウェア71−1〜71−nを各回線毎のATM
レイヤ処理用記憶領域42−1〜42−nの入力部に設
置し、スクランブル処理ハードウェア72−1〜72−
nをその出力部に設置するように構成したものである。
【0219】図22においては、CPU1−1によって
セル同期を確立されたデータをATMレイヤ処理用記憶
領域に書き込む際に強制的にスクランブル処理が施さ
れ、逆にスイッチング処理用記憶領域からセル同期のと
れたデータを読み出す際に強制的にデスクランブル処理
が施される方式を示している。本実施例においては、第
10の実施例(図20)のATM交換装置のように一度
ATMレイヤ処理用記憶領域に書き込んだデータを改め
て読み出してスクランブル処理・デスクランブル処理を
行うという方法にはよらない、スクランブル処理・デス
クランブル処理自体にかかる時間を削減した、さらに高
速なハードウェア処理を実現することが期待できる。
【0220】この場合にCPU11が行うべき処理は第
10の実施例の場合と同様であるが、第10の実施例の
場合とは異なりスイッチング処理用記憶領域からのデー
タ読み出しやデータ書き込みを通常通りに行えば良く、
前述したようなマイクロプロセッサの命令ストリームに
対するタイミング制御を行う必要はなくなることにな
る。しかし、本実施例の場合にはATMセルの読み出し
時や書き込み時にハードウェア処理を組み込む構成にな
っているので、マイクロプロセッサの命令パイプライン
を崩さずに処理を進めることを考えてハードウェアを作
る必要がある。
【0221】例えば、スクランブル処理やデスクランブ
ル処理に1サイクル以上の時間がかかるとすると、AT
Mレイヤ処理用記憶領域へのATMセルの書き込み、読
み出し命令を実行する際には、その後にスクランブル処
理やデスクランブル処理にかかる時間分だけnop(n
o operation)サイクルを追加しなければな
らなくなり、命令パイプラインを守るために不要な命令
を追加するという非効率的な処理を行う必要ができてし
まう。逆に言えば、ATMレイヤ処理用記憶領域にAT
Mセルを書き込む1サイクル以内のスクランブル処理を
終了し、ATMレイヤ処理用記憶領域からATMセルを
読み出す1サイクル以内のデスクランブル処理を終了さ
せることができれば最も効率が良く、マイクロプロセッ
サによる処理においてはスクランブル・デスクランブル
を全く意識しないで命令ストリームを構成することがで
きるようになる。
【0222】ここで、R3000のような25MHzで
動作しキャッシュアクセスは50MHzで動作するよう
なマイクロプロセッサの場合には、1サイクルが20n
sであるので、アクセスタイム10nsの高速SRAM
によってATMレイヤ処理用記憶領域が作られていると
するならば、スクランブル・デスクランブル処理を10
ns以内に終了することができれば、最も効率的な命令
ストリームが構築できると考えられる。スクランブル・
デスクランブル処理が、43bitのデータと直前の4
3bitのデータとの排他的論理和(Exclusiv
e OR)処理であることを考えれば、この10nsと
いう時間は実現可能な時間であると考えられる。
【0223】また、本実施例のような構成でスクランブ
ル処理・デスクランブル処理を行うとすると、各処理部
においてキャッシュバスを転送されてきたデータがAT
Mセルのヘッダ部であるのかペイロード部であるのかを
識別して各処理を施すようにしなければならない。この
ための方法としては、ATMレイヤ処理用記憶領域にA
TMセルを転送する際に、タグのような識別子を付加し
てそのデータがヘッダ部であるのかペイロード部である
のかを通知する方法が考えられる。また、図22におけ
るATMレイヤ処理用記憶領域42−1〜42−nをペ
イロード部用の記憶領域とヘッダ部用の記憶領域に分け
て構成する方法も考えられる。この方法の場合には、ヘ
ッダ部用の記憶領域の入出力部は通常の構成とし、ペイ
ロード部用の記憶領域の入出力部にスクランブル処理用
・デスクランブル処理用のハードウェアを設置する方法
が考えられる。
【0224】また、このような構成のATM交換処理用
のマイクロプロセッサを、第3の実施例(図6)のAT
M交換装置の場合と同様に、ATM交換装置への入出力
回線毎に設置することも当然考えられる。
【0225】ハードウェア処理によってスクランブル処
理・デスクランブル処理を行う構成としては、ここで示
したような、スクランブル処理用・デスクランブル処理
用のハードウェアをATMレイヤ処理用記憶領域に接続
する方法だけではなく、他の構成も考えられる。例え
ば、スイッチング処理をハードウェア処理によって行う
第7の実施例(図14)に示したような構成のATM交
換装置に適用する場合には、ATMスイッチへの入出力
ポート50−1〜50−nにスクランブル処理・デスク
ランブル処理ハードウェアを接続する方法が考えられ
る。また、送信側と受信側の処理を異なるマイクロプロ
セッサによって行う第5の実施例(図10)に示したよ
うな構成のATM交換装置に適用する場合には、データ
転送用I/Oメモリ11−1〜11−nにスクランブル
・デスクランブル処理ハードウェアを接続する方法や、
メモリ・バス999にスクランブル・デスクランブル処
理ハードウェアを接続して第9の実施例(図18)にて
示したような手順で各処理を行うような構成も考えられ
る。
【0226】以上、第2の発明に係る第7〜第11の実
施例(図14、図16、図18、図20、図22)にて
示したような構成のATM交換装置を用いれば、同一処
理を繰り返し高速で行い、処理内容の変更があまり考え
られないような部分をハードウェア処理とし、複雑な処
理を行い、処理内容が変更される可能性の高い部分をマ
イクロプロセッサによるソフトウェア処理とすること
で、マイクロプロセッサによるATM交換処理を高速化
することができるとともに、ATM交換装置の低価格化
が期待できる。
【0227】また、第9〜第11の実施例(図18、図
20、図22)に示したような構成のATM交換装置を
用いることによって、スクランブル処理やデスクランブ
ル処理などのATMセルのペイロード部のような多くの
ビット数に対して施す処理をハードウェア処理とし、A
TMセルのヘッダ部に対する処理はマイクロプロセッサ
によるソフトウェア処理とすることによって、より高速
のATMインタフェースを収容することのできるATM
交換装置を実現できる。
【0228】次に、以下では、第3の発明に係るいくつ
かの実施例を、図24〜図27を参照しながら説明す
る。
【0229】(第12の実施例)まず、第3の発明に係
る第12の実施例について説明する。
【0230】図24に、本実施例のATM交換装置の構
成の概念図の一例を示す。このATM交換装置では、受
信側のインタフェース処理、スイッチング処理、送信側
のインタフェース処理などの通話路処理を行うCPU1
−1、CPU1−2と、ATM交換装置で処理を行うデ
ータに対する障害検出や網管理などのOAM処理を行う
CPU1−3の3つのCPUによってATM交換処理を
行うように構成している。
【0231】本実施例においては、受信側のマイクロプ
ロセッサ1−1とOAM処理用マイクロプロセッサ1−
3の間のデータ授受のためにFIFO811を用い、O
AM処理マイクロプロセッサ1−3と送信側のマイクロ
プロセッサ1−2の間のデータ転送にFIFO821を
用いる構成を示している。受信側マイクロプロセッサC
PU1−1と送信側マイクロプロセッサCPU1−2間
のデータ転送には、第5の実施例(図10)に示したA
TM交換装置の場合と同様に、メインメモリ上のデータ
転送用記憶領域11−1〜11−nを用いることとして
いる。このような構成のATM交換装置おいて、各マイ
クロプロセッサから見えるキャッシュ空間やメモリ空間
の状態の一例を図25に示す。
【0232】本実施例では、受信側のマイクロプロセッ
サCPU1−1において、各入力回線31−1〜31−
nから送られてきたデータの処理をしながら、回線の故
障情報や送られてきたOAMセルなどはキャッシュ空間
内のI/O#xに書き込む処理を行うことによって、各
入出力回線の状態を監視しているOAMセルなどをOA
M処理用マイクロプロセッサCPU1−3に転送するこ
とができるようになる。また、OAM処理用マイクロプ
ロセッサCPU13から送出される各入出力回線へのO
AMセルやOAM情報は、送信側のマイクロプロセッサ
CPU1−2によってキャッシュ空間内のI/O#yか
ら適当な出力回線に対して読み出されることによって各
出力回線32−1〜32−nに送出できるようになって
いる。
【0233】このような構成にした場合には、送信側の
マイクロプロセッサCPU1−1から転送されたOAM
データが確実にOAM処理用マイクロプロセッサCPU
13に読み出されるようになっていなければならない。
また、逆に、OAM処理用マイクロプロセッサCPU1
−3から送り出されたデータも送信側のマイクロプロセ
ッサCPU1−2に確実に読み出されるようになってい
なければならない。このような、各マイクロプロセッサ
間でのOAMデータ転送の制御方法としては、以下のよ
うな各種の方法が考えられる。
【0234】[1]OAM処理用CPU1−3が一定サ
イクル毎にI/O#x内のデータを読みにいく。
【0235】[2]受信側処理用CPU1−1がI/O
#xにデータが書き込んだ時に、OAM処理用CPU1
−3に割り込みをかけ、I/O#x内のOAMデータを
読みにいかせるように制御する。
【0236】[3]OAM処理用CPU1−3がI/O
#yにデータが書き込んだ時に、送信側処理用CPU1
−2に割り込みをかけ、I/O#y内のOAMデータを
読みにいかせるように制御する。
【0237】[4]送信側処理用マイクロプロセッサC
PU1−2が一定サイクル毎にI/O#y内のデータを
読みにいく。
【0238】ここで、[1]や[4]のような方法でO
AMデータの読み出し制御を行う場合には、各マイクロ
プロセッサがOAMデータを読み出すサイクル数が問題
となる。CPU1−3やCPU1−2は、各入出力回線
に到着してCPU1−1から転送されてくるOAMデー
タを確実に読み出していかなければならないので、その
読み出しアクセスを行う周期(サイクル数)は各入出力
回線に到着するOAMデータの到着周期(サイクル数)
よりも短くなければならない。また、各入出力回線に到
着するOAMデータは確実に周期的に到着するものでは
ないので、各マイクロプロセッサでのOAMデータ授受
を行うFIFO811,821にはある程度のFIFO
長を持ったものを用いる必要がある。
【0239】次に、上記の[2]や[3]のような方法
でOAMデータの読み出し制御を行う場合には、前述し
たような読み出しサイクルのような問題は生じないけれ
ども、OAM処理用マイクロプロセッサCPU1−3に
頻繁に読み出しのための割り込みがかけられ、CPU1
−3のOAM処理のための命令ストリームを頻繁に乱す
結果となってしまうので、この読み出しのための割り込
みをいかに効率的に行うかが問題となる。そのための方
法としては、OMAデータ転送用FIFO811,82
1にある程度のOAMデータがたまった段階でCPU1
−3やCPU1−2に割り込みをかけるという方法が考
えられる。
【0240】以上のような読み出し制御を行いながら3
つのマイクロプロセッサが並列動作しているような、本
実施例に示したATM交換装置における各マイクロプロ
セッサの動作手順の一例を以下に示す。
【0241】[1]CPU1−1の動作手順 i)各入出力回線I/O31−1〜31−nから入力さ
れたデータをD−Cache22−1に転送し、その書
き込んだデータに対して、フレーム同期・ATMセル同
期の確立などの受信側の物理レイヤ処理を施す。
【0242】ii)フレーム同期やセル同期がとれない状
態に陥った場合などに、それらの物理レイヤの故障情報
をCPU1−3に転送する。
【0243】iii )フレーム同期確立の後の物理レイヤ
フレーム内のOAM情報などを、OAM処理用マイクロ
プロセッサCPU1−3に転送する。
【0244】iv)ATMセルのヘッダ情報を読みとり、
読み取ったセルがOAMセルであった場合には、そのO
AMセルをOAM処理用マイクロプロセッサCPU1−
3に転送する。
【0245】v)ATMセルのヘッダ情報を読み取り、
読み取ったセルが通常のユーザーセルであった場合に
は、そのユーザーセルを、データ転送用の記憶領域I/
O11−1〜11−nの中の、出力回線に対応した記憶
領域に書き込む。
【0246】[2]CPU1−2の動作手順 i)各データ転送用記憶領域I/O11−1〜11−n
から順次出力データを、送信側のデータキャッシュD−
Cache22−2に取り込む。
【0247】ii)OAM処理用マイクロプロセッサから
のATMレイヤに対応したOAMセルを、送信側のデー
タキャッシュD−Cache22−2に取り込む。
【0248】iii )D−Cache22−2内の出力デ
ータに対して、シェイピング処理や、Hec処理などの
送信側のATMレイヤ処理を施す。
【0249】iv)OAM処理用マイクロプロセッサから
の物理レイヤに対応したOAMセルや物理レイヤに対応
したOAMデータをD−Cache22−2に取り込
む。
【0250】v)各入出力ポートへ送出するデータの物
理レイヤフレーム作成などの送信側の物理レイヤ処理を
施し、各入出力ポートにデータを転送し、各入出力回線
にデータを送出する。
【0251】[3]CPU1−3の動作手順 i)送信側からの物理レイヤ関連のOAM情報や物理レ
イヤOAMセルやATMレイヤOAMセルをFIFO8
11から読み取る。
【0252】ii)読み取ったOAM情報に対して必要と
なるOAM情報を作成し、そのOAM情報を送出する必
要のある出力回線を決定する。(ATM交換装置内の別
の管理プロセッサ(ネットワーク管理プロセッサ)にO
AM情報を転送する場合もある。) iii )各OAM情報とそのOAM情報を出力するべき出
力回線を示すあて先情報をFIFO821に書き込む。
(OAM情報を物理レイヤ対応のOAMセルやATMレ
イヤ対応のOAMセルとして書き込む場合と、物理レイ
ヤフレームに対するOAM情報として書き込む場合が考
えられる。) また、本実施例の他にも、受信側処理と送信側処理を1
つのマイクロプロセッサで処理するような場合や、ここ
で示した構成のマイクロプロセッサを各入出力回線毎に
設置して各処理するような場合も考えられる。
【0253】本実施例で示したATM交換装置を用いる
ことによって、各マイクロプロセッサCPU1−1,1
−2,1−3によってATM交換装置における送信側の
通話路処理と受信側の通話路処理とOAM処理をそれぞ
れ独立に行うことになるので、全ての処理を1つのマイ
クロプロセッサで行う場合に較べてより高速な伝送レー
トの情報の処理を実現することが可能となる。また、O
AM処理のために独立のマイクロプロセッサを持って処
理を行うことになるので、ATMネットワーク内のネッ
トワーク構成は変わらないままでのOAM機能の変更や
追加などにも、より柔軟に対応することができるように
なる。さらに、通話路処理のように高速処理が求められ
る部分と、OAM処理のように高速性よりも処理の多様
性への対応が求められる部分の処理を、それぞれ異なる
マイクロプロセッサによって処理を行うことになるの
で、それぞれの処理に最も適したマイクロプロセッサに
よってそれぞれの処理を行うことができる。このよう
に、それぞれの特徴の異なる処理を別々のマイクロプロ
セッサによって実行することによって、より効率的かつ
柔軟性の高いATM交換装置を実現することができる。
【0254】(第13の実施例)次に、第3の発明に係
る第13の実施例について説明する。
【0255】図26に、本実施例のATM交換装置の基
本構成の概念図を示す。このATM交換装置は、各入出
力回線に対しての物理レイヤ処理を行うCPU1−1と
ATMレイヤ処理を行うCPU1−2と、スイッチング
処理を行うCPU1−3と、ATM交換装置内やネット
ワークに対するOAM機能を提供するCPU1−4の4
つのCPUを持つように構成したものである。本実施例
においては、物理レイヤ処理用・ATMレイヤ処理用・
スイッチング処理用の各マイクロプロセッサとOAM処
理用のマイクロプロセッサ間のデータ授受のために、双
方向FIFO80−1,80−2,80−3を用い、物
理レイヤ処理用マイクロプロセッサとATMレイヤ処理
用マイクロプロセッサとスイッチング処理用マイクロプ
ロセッサ間のデータ転送には、メインメモリ上の記憶領
域I/O11−1〜11−nを用いることとしている。
このような構成のATM交換装置における、各マイクロ
プロセッサから見えるキャッシュ空間や全体のメモリ空
間の状態の一例を図27に示す。
【0256】本実施例のATM交換装置内におけるOA
M情報の転送は、第12の実施例(図24)で示したよ
うに、各情報転送用のFIFOを各マイクロプロセッサ
がキャッシュ領域の一部と見てデータの書き込みや読み
取りを行うことによって実現可能である。また、情報転
送用双方向FIFOを介したOAM情報のデータ転送の
ための各マイクロプロセッサの制御方法や、OAM処理
用マイクロプロセッサCPU1−4の起動方法も第12
の実施例(図24)で示したものと同様の方法が考えら
れる。
【0257】このような構成では、物理レイヤ処理用の
マイクロプロセッサCPU1−1は、各入出力回線10
−1〜10−nから送られてきたデータの物理レイヤ処
理をしながら、各入出力回線の断線やフレーム同期不確
立やATMセル同期不確立などの故障情報を双方向FI
FO80−1を介してOAM処理用マイクロプロセッサ
CPU1−4に転送する。また、ATMレイヤ処理用マ
イクロプロセッサCPU1−2は読みだした(送られて
きた)データのATMレイヤ処理をしながら、ATMセ
ルのヘッダ部を読んで、そのセルがOAMセルであった
場合に、双方向FIFO80−2を介してOAM処理用
マイクロプロセッサ1−4にOAMセルを転送する。さ
らに、スイッチング処理用マイクロプロセッサ1−3は
読み取った(送られてきた)ATMセルのヘッダ情報を
読み取り、ATMセルの誤配送等を検出した際に、その
OAM情報を双方向FIFO80−3を介してOAM処
理用マイクロプロセッサ1−4に転送する。
【0258】このようにして転送されてきたOAM情報
をもとにOAM処理用マイクロプロセッサ1−4は、必
要となる物理レイヤに対するOAM情報や、物理レイヤ
・ATMレイヤに対応したOAMセルを作成し、そのO
AM情報の対応する各処理用のマイクロプロセッサに対
して、FIFO80−1〜80−3を介して各OAM情
報を送出する。
【0259】本実施例で示したATM交換装置を用いる
ことによって、各マイクロプロセッサによってATM交
換装置におけるをそれぞれ独立に行うことになるので、
全ての処理を1つのマイクロプロセッサで行う場合に較
べてより高速な伝送レートの情報の処理を実現すること
が可能となる。また、OAM処理のために独立のマイク
ロプロセッサを持つことができるので、より柔軟な構成
のATM交換装置を提供することができるようになる。
【0260】本実施例においては、OAM処理を行うた
めのマイクロプロセッサを全入出力回線のATM交換処
理または各入出力回線のATM交換処理に対して1つ割
り当てるような構成を示したが、第12の実施例(図2
4)や本実施例に示したようなOAM処理と通話路ユー
ザー情報処理を異なるマイクロプロセッサによって行う
方法は、他にも考えられる。例えば、各入出力回線の物
理レイヤ処理・ATMレイヤ処理・スイッチング処理の
各処理毎のOAM機能を提供するマイクロプロセッサを
それぞれ配置して、ATM交換装置を6つのマイクロプ
ロセッサによって動作させるような方法である。当然、
各入出力回線毎に同じ構成を持たせることも可能であ
り、その場合には、m×mのATM交換装置内で6m個
のマイクロプロセッサが動作していることになる。
【0261】また、本実施例に示したような構成におい
て、各送信側と受信側の物理レイヤ処理・ATMレイヤ
処理それぞれにマイクロプロセッサを配置して、合計6
個のマイクロプロセッサによって動作させるような方法
も考えられる。
【0262】このようなATM交換装置を用いることに
よっても、先の場合と同様に、1つのマイクロプロセッ
サでATM交換装置を動作させる場合に較べてより高速
な伝送レートの情報の処理を実現することが可能であ
り、物理レイヤのみの機能変更や物理レイヤOAM処理
機能だけの変更などの、より細かな機能変更に対しても
柔軟に対応することができるようになる。
【0263】(2)(第14の実施例) 次に、本発明の第14の実施例について説明する。
【0264】本実施例の交換装置は、通話路機能を実現
するプロセスと、通話路機能を実現するプロセスを制御
するOAMプロセスに対して効率的にプロセッサの処理
能力を割り当てることができるようにしたものである。
さらには、通話路機能を実現するプロセスの実行ゆらぎ
を吸収して、交換装置に隣接する機器との速度整合を行
うことができるものである。また、本実施例では、速度
整合機能の実装の無駄をできるだけ省いている。
【0265】本実施例の交換装置は、概略的には図28
のように受信側物理レイヤ処理部1002および受信側
ATMレイヤ処理部1003を有する受信側インタフェ
ース部(受信側インタフェースパッケージ)と、送信側
物理レイヤ処理部1005および送信側ATMレイヤ処
理部1006を有する送信側インタフェース部(送信側
インタフェースパッケージ)とを、それぞれスイッチ部
1004の入力側と出力側に複数接続して構成されてい
る。
【0266】ここでは、受信側インタフェース部への入
力ポートは1つ、送信側インタフェース部からの出力ポ
ートは1つであるものとして説明する。
【0267】また、本実施例の交換装置には、図29の
ように受信側の各ソフトウェア処理を実行させるプロセ
ッサ(以下プロセッサRと呼ぶ)1011−1と送信側
の各ソフトウェア処理を実行させるプロセッサ(以下プ
ロセッサTと呼ぶ)1011−2を設けており、予めプ
ログラム記憶部1013上に用意しておいた上記各処理
部の後述するような各機能に対応するプログラム101
4を各プロセッサにて実行させるものである。外部から
入力された通信情報や交換処理に必要な情報は、必要に
応じて図29のメインメモリ1012および各プロセッ
サに対応するキャッシュメモリ1016−1,1016
−2に格納され、プログラムによって提供される各機能
(プロセス)は、このメインメモリ1012およびキャ
ッシュメモリ1016−1,1016−2や図示しない
送受信FIFOにアクセスしつつ処理を実行する。プロ
グラムは、その実行前に予めプログラム記憶部1013
からメインメモリ1012にロードされる。メインメモ
リ1012は、各プロセッサに対応して夫々設けても良
い。なお、本実施例の交換装置のハードウェア構成は、
図29に限らず種々の構成が考えられる。
【0268】本実施例では、スイッチ部1004とし
て、一定の時間サイクルでセルデータを読み込むハード
ウェア的に構成されたスイッチを想定する。以下では、
このスイッチ部1004をATMスイッチ1004と記
述して説明する。ただし、ATMスイッチの代わりに、
スイッチ処理をも後述する通信路プロセスと一体の処理
としてソフトウェアにて実現する方式を採用することも
可能である。
【0269】本実施例の交換装置において、受信された
データが送信されるまでにどのような処理がなされるの
かを、流れに沿っておおまかに説明する。図30は、本
実施例の交換装置における各受信側インタフェース部お
よび各送信側インタフェース部での処理の流れを示した
ものである。
【0270】本交換装置にて実行される処理は、通話路
プロセス(プロセッサ交換処理パッケージ)1101と
OAM(Operation And Mainten
ance)プロセス1102から構成される。
【0271】通話路プロセス1101は、さらに2つの
プロセスから構成される。すなわち、受信側ラインから
のデータを受信し、これに対して物理レイヤ処理とAT
M処理を順に行い、ATMスイッチ1004に向けて出
力する受信側通話路プロセスと、ATMスイッチ100
4からのデータを受取り、これに対してATMレイヤ処
理と物理レイヤ処理を順に行い、送信側ラインへ向けて
出力する送信側通話路プロセスである。
【0272】受信側通話路プロセスの処理の概略は以下
の通りである。
【0273】まず、受信側ラインインタフェースで受信
された信号から、ビット同期部1111、網同期部11
12によって網クロックが抽出されるとともにビット同
期がとられて信号はビット表現のデータ列に変換され
る。このビット列からラインデコーディング1121、
フレーム同期1122、セル同期1123、デスクラン
ブル1124の物理レイヤのプロトコル処理を受けてA
TMセルが抽出され、ATMレイヤの処理が行われる。
ATMレイヤ処理はヘッダ変換1125、スイッチ内ル
ーティング用のルーティングタグ付加1126、流量監
視(ポリシング)1127の処理が行われてセル送出部
1128によってATMスイッチ1004にセルが送出
される。
【0274】一方、送信側通話路プロセスの処理の概略
は以下の通りである。
【0275】ATMスイッチ1004で交換されたセル
は、送信側ではATMスイッチ1004からセル受信部
1138によって送信側通話路プロセスへと渡される。
このセルデータはATMレイヤ処理として流量監視(シ
ェイピング)1137、ルーティングタグ削除113
6、ヘッダ変換1135が行われる。さらにこのデータ
にスクランブル1134、セルヘッダのHEC生成11
33、SDHフレームの作成1132、ラインエンコー
ディング1131が行われて送信側ラインビットデータ
が送出される。
【0276】次に、OAMプロセスの処理について述べ
る。
【0277】送受信ラインと本交換装置との間で入出力
されるデータには、ユーザデータの他にOAMデータが
ある。上記各通話路プロセスではユーザデータを扱う
が、OAMデータについてはOAMデータ専用のプロセ
スが用意されている。
【0278】例えばOAMデータとしては故障箇所の特
定に使われるループバックのセルがある。ループバック
指示のセルはコネクションの経路及び端点の任意の交換
装置(または端末)で当該セルを折り返す指示を行える
ことが決められている。
【0279】OAMデータを担うセルには専用のセルヘ
ッダの値が割り当てられているため、あるセルがOAM
データを担うセルかユーザセルであるのかを判定するの
はATMレイヤの処理で行うことができる。しかし、該
OAMデータを担うセルがループバックを指示するもの
であるか否か、あるいは折り返し点が当該ノードである
か否かなどについては、セルヘッダの値のみでは判断で
きない。ループバックセルには折り返し前と折り返し後
の状態があり、折り返し前のセルのみループバックす
る。ところが、折り返し後か折り返し前のものなのかを
示す情報が書かれているのはセルヘッダではなくセルペ
イロードであることが処理をより複雑にする。
【0280】このようにOAMデータの処理は通常の通
話路処理に比べて複雑であるため、従来のハードウェア
によって構成された通話路処理においても、このような
OAMセルはユーザデータとは別に抽出され、ソフトウ
ェアに処理が委ねられることが多かったのである。
【0281】また、コネクション状態の変更によるルー
ティングタグテーブルの更新や通話路処理で発生する統
計情報の外部への通知などの処理も、通常はソフトウェ
アによって行われる。これらの処理も、OAM処理と呼
ばれる。
【0282】本実施例においては、OAM処理はプロセ
ッサ上のOAMプロセスによって行われる。OAMプロ
セスはOAMセルメッセージの送受信部1141と、テ
ーブルや統計情報などを扱う監視制御処理1142を備
える。通話路プロセスにはOAMセル分岐挿入部111
3、監視制御インタフェース1114を備える。また、
OAMプロセスは交換装置全体を制御する上位交換機制
御プロセッサ1103とのインタフェース1143も持
つ。
【0283】OAM処理以外の例外的な処理として速度
調整処理がある。受信側でフレームバッファから入力し
たデータがビットエラーなどのために失われた場合、A
TMスイッチ1004に渡すべきデータが不足すること
がある。ハードウェアによるセル処理では図30に示し
た各処理段階の間にバッファを設け、出力側バッファの
データが不足するとダミーのデータ(空セル)を挿入す
る。
【0284】ここで、CPUによるセル処理の場合で
も、受信した有効情報の速度とは独立に情報の出力速度
が一定にならなければならないインタフェース点があ
る。送信点や一定速度で動作するATMスイッチとのイ
ンタフェース点がそれにある。CPUによるセル処理で
は、ソフトウェア処理によって速度調整を実現する必要
がある。本実施例では、速度調整を、空セル発生部11
29,1139によって行っている。
【0285】以下、本実施例の交換装置において、それ
ぞれのプロセスへの要求を満たす処理の起動方法、CP
Uなどの資源割り当て方法やデータの受渡しについての
2つの具体例(実施例14−1と実施例14−2と呼
ぶ)を詳細に説明する。説明は図31(受信側)、図3
2(送信側)に沿って行う。また、処理の時間的な流れ
をそれぞれ図33(受信側)、図34(送信側)に示
す。
【0286】[実施例14−1]まず、受信側の処理を
図31にしたがって説明する。
【0287】受信側ラインから入力したビットデータ
は、FIFOを用いたフレームバッファ1211に格納
される。フレームバッファ1211は、ハードウェア的
にバッファに溜ったデータ量が予め定められた一定値以
上(もちろんフレームを認識できるだけの長さのデータ
がバッファに溜っていることが前提である)になると、
プロセッサRに対して通話路の処理を起動する割り込み
要求を発生する。この起動条件の意味するところは、空
き容量が一定値以下になって受信バッファがオーバーフ
ローする前に受信処理が起動されるということである。
割り込み要求によって物理レイヤ処理プロセス1232
が起動される。
【0288】この受信側物理レイヤの起動条件として
は、上記のフレームバッファ1211からの割り込みの
他に、タイマ割り込みによる方法が考えられる。プロセ
ッサRが、一定時間毎にフレームバッファ1211から
データを受け取り、物理レイヤ処理を開始する方法であ
る。割り込みによって、物理レイヤ・ATMレイヤの通
話路処理プロセス1231が起動される。
【0289】通話路の一連の処理は、フレームバッファ
1211に溜ったビットデータのひと塊の処理を終了し
てATMスイッチ1004にデータを渡すまで、基本的
に他のプロセスの実行によって中断されることなく行わ
れる。処理が中断されることがないため、より優先度が
高いプロセスに割り込まれる場合を除いて通話路処理は
必ず一定の時間の間に処理を完了することができる。つ
まり、厳しいリアルタイムプロセスの条件が満たされる
ということである。
【0290】ただし、処理の途中により優先度が高いプ
ロセスの処理が入る場合にも、そのプロセスの処理時間
の上限値がわかっていれば当該処理は、 (当該処理の実行時間)+(当該処理よりも優先度が高
いプロセスの実行時間) 以内にて処理を終えることができる。
【0291】一定の時間で処理が終るため、フレームバ
ッファ1211で受信データのオーバーフローが生じて
受信データが失われるようなことはない。もちろん、オ
ーバーフローが起きないようにするためには、予め通話
路プロセス1231の所要処理時間と起動までの待ち時
間の最大値を見積もっておき、その間にオーバーフロー
が起きないだけの余裕を持って割り込みをかけて通話路
プロセス1231を起動しなければならない。
【0292】このようなCPU資源の割り当てを行うこ
とは、通話路処理に適切なレベルの処理優先度を与える
とともに割り込みを禁止して、他のプロセスによるCP
U資源の横取りが起きないようにすることで実現が可能
である。
【0293】さて、物理レイヤ処理プロセス1232で
は、入力ビット列に対してラインデコーディングを行っ
た後フレーム同期を確立する。この処理は、物理レイヤ
フレーム構造の同期ビットを検出することによって行わ
れる。このとき全てのデータについて必ずしも同期ビッ
トの判定を行う必要はなく、ある程度のビットデータに
ついて調べて同期がとれない場合は、フレーム同期処理
を終了してOAMプロセス1241にフレーム同期はず
れを通知してもよい。この方法は、フレーム情報が含ま
れていない入力データからフレーム同期パターンを検出
しようとして無駄にCPU時間を消費することを避ける
意味で有効である。
【0294】フレーム同期はずれ表示の他に物理レイヤ
処理プロセス1232からOAMプロセス1241へ渡
される情報として、受信フレームのビットエラー数やそ
の他の統計情報がある。また、物理レイヤのインタフェ
ース規定によっては対向側に受信データのビットエラー
数を通知する場合がある。この値の受渡しのデータ量は
極めて少く、また遅延に対する要求も緩い。このような
データの受渡しは、通話路プロセス1231の実装を簡
単にするために、一度OAMプロセス1241に渡すこ
とによって実装することが簡便な方法である。高速に動
作することを目的とする通話路プロセス1231に、対
向側通話路など複数のプロセス(その実装形態としては
種々のものが可能である)とのインタフェースを持つこ
とは望ましくない。物理レイヤプロセス1232とOA
Mプロセス1241との間のインタフェースについては
後述する(統計情報テーブルの項で詳しく述べる)。
【0295】次に、フレーム同期がとられたビット列の
ユーザデータ転送用領域でATMセル同期すなわちAT
Mセルヘッダの探索が行われる。セル同期処理では同時
にセルヘッダの訂正やヘッダ誤りセルや物理レイヤ空セ
ルの廃棄処理も行われる。以上の処理で廃棄されなかっ
た有効セルのペイロードに対してデスクランブル処理が
行われる。
【0296】これらの処理によって、ビット列の中の有
効なセルヘッダとペイロードの位置が確定される。
【0297】続いて、セルに対してATMレイヤ処理プ
ロセス1233が行われる。ATMレイヤでは基本的に
セルヘッダの値を読んで、ヘッダ変換、ルーティングタ
グ付加、流量監視、セル送出の処理を行う。
【0298】ATMレイヤ処理プロセス1233では、
ペイロードのデータが直接参照されることはない。この
ため、物理レイヤ処理プロセス1232とATMレイヤ
処理プロセス1233が同一メモリ空間を共有するCP
U処理においては、物理レイヤ処理1232からATM
レイヤ処理1233へのデータ渡しのオーバヘッドを減
らすためにセルペイロードではなくセルペイロードの格
納されるポインタのみを渡す方法が、メモリアクセスの
回数を減らし実行速度を向上させるという観点で有効で
ある。本実施例では、物理レイヤ処理プロセス1232
は、共有バッファ1221にセルペイロードの内容を書
き込み、そのポインタとヘッダ値を物理レイヤ/ATM
レイヤ入力セルポインタキュー1223に書き込む。
【0299】続いて、ATMレイヤ処理1233が起動
される。受信側の物理レイヤ,ATMレイヤはデータの
流れがシーケンシャルな処理なので、OS上の実装とし
てそれぞれを同一プロセスの前半部分,後半部分とすれ
ば、プロセスのコンテクスト切替えと共有バッファアク
セスの排他制御の処理を節約することができる。
【0300】ATMレイヤ処理プロセス1233では、
キュー1223からセルヘッダとポインタをとりだし、
ヘッダ変換、ルーティングタグ付加、ポリシング処理を
行い、ATMレイヤ処理は、最終的にATMスイッチ1
004にセルを送出するときに当該セルのポインタが指
す位置のデータをセルヘッダ、ルーティングタグと結合
して出力ATM/SWバッファ1212に転送する。
【0301】ところで、フレーム構造を認識する必要
上、物理レイヤ処理を起動する単位は少なくとも1フレ
ーム周期以上必要である。このため、排他制御を簡略化
するために、物理レイヤ処理プロセス1232に引き続
いてATMレイヤ処理プロセス1233を起動する場
合、ATMレイヤ処理の結果生成されてATM/SWバ
ッファ1212に書き込まれるセルの数は、伝送フレー
ムに含まれるセル数によって規定されてしまう。例え
ば、620MbpsのSDH伝送フレーム処理では、1
フレームの処理によって約160のセルが発生する。物
理レイヤでフレームを認識するには少くとも1フレーム
以上のデータを処理しなければならないので、ATMレ
イヤ処理が物理レイヤ処理に引き続いて起動される場
合、セルを少くとも160個以上処理しなければならな
い。
【0302】この処理の結果発生したセルは、ほとんど
がATM/SWバッファ1212に書き込まれる。AT
M/SWバッファ1212の容量が小さいためにそれだ
けのセルが格納できない場合には、ATMレイヤの処理
の単位をより小さくしなければならない。例えば物理レ
イヤ処理の処理単位を1フレームより小さく分割してA
TM/SWバッファ1212に収容できるだけのセルを
処理したら、ATM処理を起動してセルを処理する方法
がある。
【0303】一方、物理レイヤ処理が専用ハードウェア
によって構成されている場合には、物理レイヤ処理がな
いので物理レイヤ処理のハードウェアから送られる「セ
ル生成信号」のタイミングにしたがってATMレイヤ処
理を起動してもよい。
【0304】転送が終了して空き状態になったバッファ
を指すポインタは、空きバッファポインタキュー122
2に入れられる。物理レイヤ処理はセルをバッファに書
き込むときに空きバッファポインタキュー1222から
空きバッファのアドレスを取り出し、そのアドレスにセ
ルペイロードの内容を書き込む。セルバッファ1221
は、このようにして循環利用される。
【0305】バッファ管理の点については、ATMセル
は固定長であるため、バッファを分割して記憶領域を管
理する場合でも、予め固定長の領域を多数準備すれば十
分である。記憶領域の管理単位を可変長とした場合に
は、記憶領域が虫食い状態になることを割けるためガベ
ージコレクションの処理が行われる。カベージコレクシ
ョンはプロセスのリアルタイム性を妨げる原因の一つで
あるが、ATMセルを扱う場合には行う必要がない。
【0306】さて、ATMセルには、ユーザセルとOA
Mセルがある。以上では、ユーザセルの処理について説
明してきたが、OAMセルはユーザセルとは別に処理が
行われる。以下では、OAMセルの処理を説明する。
【0307】ATMレイヤ処理でヘッダを読んだとき、
それがOAMセルであるならATMレイヤ処理プロセス
1233からOAMプロセス1241に当該セルが格納
されているバッファのポインタが渡される。
【0308】通話路処理のリアルタイム性を確保する観
点から、OAMプロセス1241の処理はポインタが渡
された時点で起動されることはなく、通話路の処理が継
続される。このようにしても、OAM処理の時間的制約
は通話路処理に比べて緩いため問題はない。
【0309】物理レイヤのOAMセルはプロトコル規定
上では物理レイヤで分岐することになっているが、実装
方法が規定されているわけではない。物理レイヤのOA
Mセルの識別はセルヘッダの値を調べて行うので、処理
の簡便さの点からはOAMレイヤのOAMセルと同様に
ATMレイヤのOAMセル分岐処理で分岐することが望
ましい。
【0310】物理レイヤではセルは扱わないので、AT
Mレイヤ処理の動作においてOAMセルに施される処理
は、先に述べた通話路のリアルタイム性を確保する理由
から、OAMセルをOAMプロセスに分岐することだけ
である。
【0311】また、受信したOAMセルの分岐と同時に
OAMプロセスからATMレイヤのセル流に挿入すべき
セルの要求があれば、分岐したセルの代わりにそのセル
を挿入する。ATMレイヤの空セルを検出した時にもO
AMプロセスからのセル挿入要求があれば空セルを廃棄
してOAMセルを挿入する。
【0312】OAMプロセス1241からのセル挿入要
求はOAM/通話路転送セルポインタキュー1225に
書き込まれる。そして、ATMレイヤ処理プロセス12
33が入力セルポインタキュー1223からセルを取り
出した時、該セルが空セルであれば、OAM/通話路転
送セルポインタキュー1225にポインタが書き込まれ
ているかどうかを検査する。キュー1225にポインタ
が書き込まれていれば、ATMレイヤ処理はOAMプロ
セス1241からのセル出力要求ありと判断して該空セ
ルの代わりに出力するOAMセルヘッダとペイロードを
SW/ATMバッファ1212に書き込む。
【0313】OAMプロセス1241の作成したセルを
通話路プロセス1231に渡す場合、共有バッファ12
21上に該セルを書き込む領域を確保する必要がある。
これにはOAMプロセス1241が空きバッファポイン
タキュー1222にアクセスするようにしても良いが、
空きバッファポインタキュー1222に関する競合制御
が必要で、通話路プロセス1231の実行時間が伸び、
好ましくない。そこで、本実施例においては、通話路プ
ロセス1231から渡されたセルのために保持していた
領域を、OAMプロセス1241の作成したセルを通話
路プロセス1231へと渡すために使用することとして
いる。ここで、通話路プロセス1231から渡されるセ
ルの個数が少いと、OAMプロセス1241の作成する
セルを書き込む領域に不足が発生し、好ましくないが、
空セルのペイロードが格納されたポインタとヘッダを予
め定められた条件、例えばOAM/通話路転送セルポイ
ンタキュー1225が空である時に、通話路/OAM転
送セルポインタキュー1224に書き込むようにすれ
ば、この問題は解決することができる。
【0314】OAMプロセス1241は、通話路/OA
M転送セルポインタキュー1324に空セルがある時
は、それをOAMセルの出力のために優先して利用する
様にしても良い。ポインタの指す共有バッファ1221
のアドレスには既に有効な情報は入っていないので、こ
こで出力するOAMセルのペイロードを書き込み、さら
にセルヘッダを適切な値に書き換えてポインタとともに
OAM/通話路転送セルポインタキュー1325に書き
込む。セルの出力実行は、通話路プロセス1231によ
って行われる。
【0315】廃棄される空セルのペイロードが格納され
るポインタとヘッダは、通話路/OAM転送セルポイン
タキュー1225に書き込まれる。OAMプロセスは、
通話路/OAM転送セルポインタキュー1324に空セ
ルがある時はそれをOAMセルの出力のために利用す
る。ポインタの指す共有バッファ1221のアドレスに
は既に有効な情報が入っていないので、ここに出力する
OAMセルのペイロードを書き込む。さらにセルヘッダ
を適切な値に書き換え、ポインタとともにOAM/通話
路転送セルポインタキュー1225に書き込む。セルの
出力実行は、通話路プロセス1231によって行われ
る。
【0316】ATMレイヤでの処理でセルヘッダとセル
ペイロードへのポインタの形で扱われていたセルは、A
TMレイヤ処理プロセス1233の終了時に再びセルヘ
ッダにルーティングタグ、ペイロードを連結したノード
内のセルフォーマットでATMスイッチ1004への出
力バッファに書き込まれる。
【0317】このバッファはハードウェアによって構成
され、ATMスイッチ1004のデータ取り込み速度に
合わせて一定の速度でデータが読み出され、ATMスイ
ッチ1004に出力される。物理レイヤから渡されたユ
ーザ情報セルを全て処理してATMスイッチ1004へ
の出力バッファに書き込んだ時点でATMレイヤ、そし
て物理レイヤ、ATMレイヤを合わせた通話路プロセス
1231の処理は終了する。
【0318】受信側通話路プロセス1231の起動は、
フレームバッファ1211のバッファ量に依存してい
る。ビット同期エラーでフレームバッファ1211に受
信ビット列が書き込まれない場合、通話路プロセス12
31は起動されない。当然このときには出力バッファに
書き込まれるべきデータも書き込まれない。また、フレ
ーム同期未確立、セル同期未確立時にはATMレイヤ処
理が行われない。ATMスイッチ1004が動作するた
めにセルパターンが必要な場合には何らかの方法でダミ
ーのデータを作って与える必要がある。
【0319】この役割を行うのが、空セル生成プロセス
1234である。空セル生成プロセス1234は、出力
バッファの容量が一定値以下になるとバッファ装置のハ
ードロジックによる割り込みによって起動される。空セ
ル生成は通話路プロセス1231より高い優先度を持
ち、通話路プロセス1231の動作にも起動されてすぐ
に予め決められた数の空セルパターンを出力バッファに
書き込む。空セル生成プロセス一回に書く空セルの数が
多ければプロセス起動の回数が少くなり、プロセスの起
動オーバヘッドが減少する。しかし、本来必要のない空
セルまでATMスイッチ1004に送出されることも多
くなる。一回に書き込む空セルの個数を少なくした時は
この逆になる。
【0320】空セル発生には、受信側通話路処理123
1の中で最大の優先度を与える。ATM/SWバッファ
1212があることが、ATMスイッチ1004が正常
動作し、交換装置全体が動作するための前提だからであ
る。空セル発生要求はATM/SWバッファ1212が
出す。空セル発生中に他の処理が割り込むことはない。
従って、ATM/SWバッファ1212のデータ量が、
(空セル発生プロセスの起動オーバヘッド)+(空セル
を発生させるのに必要な時間)だけATMスイッチ10
04にセルを送り続けられる量を下回らないうちに空セ
ル発生要求が出されなければならない。
【0321】速度整合処理は、CPUセル処理の一連の
処理のどこでも行うことができる。しかしながら、実装
の容易性と処理の時間応答性(空セル挿入は出力バッフ
ァ長のフィードバック制御と考えられる)の観点からC
PUセル処理のなるべく出力側すなわちATM/SWバ
ッファ1212の直前で行うことが望ましい。なお、こ
の処理は、ATM/SWバッファ1212のバッファ長
を検出して予め決められた空セルパターンを発生する専
用ハードウェアによって構成することも可能である。
【0322】次に、送信側の処理を図32にしたがって
説明する。
【0323】送信側での処理は、前述したような受信側
の処理に対して、ほぼ逆の過程をたどる。ATMスイッ
チ1004からCPUインタフェースへの入力部にはハ
ードウェアで構成されたセルバッファ1312が設けら
れる。受信側のライン入力と同様に、セルバッファ13
12に溜ったデータが予め定められたある一定値を越え
るとATMレイヤ処理プロセス1333が起動される。
【0324】送信側ATMレイヤ処理の起動条件として
前述した方法とは別に、タイマ割り込みにより、定期的
にセルバッファ1312の空き容量を監視(ポーリン
グ)して、空き容量が一定値以下になるとATMレイヤ
処理1333が起動されるという方法がある。また、送
信側物理レイヤ処理1332が、フレームを作るめにセ
ルをATMレイヤ処理1333に要求すると、ATMレ
イヤ処理1333が起動され、セルバッファ1312か
らセルを受け取り処理を開始する方法も考えられる。
【0325】バッファ1312からルーティングタグが
ついたセルが取り出され、ペイロードは共有バッファ1
321に格納される。流量監視、ルーティングタグ削
除、ヘッダ変換が行われ、変換されたヘッダとポインタ
はATMレイヤ/物理レイヤ出力セルポインタキュー1
323へ入れられる。OAMセルの分岐/挿入もこの時
点で行われる。SW/ATMバッファ1312にある全
てのセルまたは予め決められた数のセルを処理するAT
Mレイヤ処理プロセス1331は終了する。
【0326】受信側ではATMレイヤ処理と物理レイヤ
処理はシーケンシャルな処理として起動されていた。し
かし、送信側では物理レイヤ処理1332はATMレイ
ヤ処理1331の終了とは独立に送信側ラインインタフ
ェースのフレームバッファ1331からの割り込みによ
って起動される。
【0327】これは送信側では物理レイヤ処理の直前に
速度調整のための空セル生成プロセス1334が行われ
ることと、セルデータが揃わなければフレームを構成す
ることができない(スクランブルは前のビットデータに
影響される)ことが理由である。受信側では速度調整は
空セルパターンを生成してバッファに書き込むだけでよ
い。しかし、送信側では速度調整のために行われる空セ
ルの挿入のあとでフレームを構成する処理が必要なた
め、物理レイヤ処理プロセスとATMレイヤ処理プロセ
スは別々に起動されることが望ましい。空セル挿入点を
ATMレイヤより前に持っていけばATMレイヤプロセ
スと物理レイヤプロセスを一体化することができるが、
受信側の空セル発生をSWバッファ直前におく理由と同
様になるべく出力側に近いところにおく方が好ましいと
考えられる。
【0328】そして、物理レイヤ処理プロセス1332
は、出力セルポインタキュー1323からフレームを構
成するのに必要なだけの予め定められた数のセルを取り
出し、フレームを構成する。セル内容を取り出して不要
になったポインタは空きバッファポインタキュー132
2に入れられて、バッファ1321は再びATMレイヤ
のセル格納に使われる。
【0329】出力セルポインタキュー1323にあるセ
ルがフレームを構成するのに足りない場合は、物理レイ
ヤ処理13332から空セル生成処理1334が呼ば
れ、空セルパターンを生成してフレームが構成される。
受信側における速度調整機能である空セル生成が、物理
レイヤ+空セル生成に対応している。これは物理レイヤ
における処理がフレームを単位としているためである。
【0330】ATMレイヤ処理と物理レイヤ処理の間に
ハードウェア的構成されたFIFOをおき、このFIF
O内のデータが空になった時、予めメインメモリ内に格
納されている空セルパターンを示すポインタと、空セル
を示すヘッダをハードウェア的にFIFOに書き込む機
能によってこの処理を置き換えることも可能である。さ
て、これまでに説明した受信と送信プロセスの処理は処
理時間の制約が厳しいリアルタイムプロセスであり、こ
れらは送受信データの有無によって起動されていた。フ
レームのようなデータの一纏まりを処理する時間が必ず
一定の範囲に収まらなければならないのである。
【0331】一方、残りのOAMプロセスは処理時間の
制約が緩いリアルタイムプロセスである。故障や、OA
Mセルが多数到着してOAMプロセスの処理負荷が増大
した場合にも、OAMプロセスはその処理を一つずつ順
次行っていけば良い。従って通話路プロセスとOAMプ
ロセスがCPU交換装置のシステム資源(主としてCP
U時間)を巡って競合する場合には、通話路プロセスに
優先的に割り当て、OAMプロセスへの資源割り当ては
その残りを割り当てる方式が望まはい。CPU時間の割
り当てについてはOAMプロセスの実行優先度を通話路
プロセスに比べて低くすることで簡単に実現できる。
【0332】ここで、通話路プロセスからOAMプロセ
スへのセルの渡し方と、OAMプロセスにおけるOAM
セルの処理について説明する。
【0333】今、受信側のATMレイヤ処理プロセス1
233でOAMセルが検出されたとする。ATMレイヤ
は通話路/OAM転送セルポインタキュー1224にセ
ルヘッダとペイロードの格納ポインタを書き込む。ペイ
ロードは予め通話路/OAMプロセスの共有バッファ1
221に格納されている。通話路プロセス1231での
OAMセルの処理はこれだけで終了する。OAMプロセ
ス1241の動作は通話路プロセス1231の処理が終
ってOAMプロセス1241に制御が移ってから行われ
る。
【0334】OAMセルの処理には故障通知、ループバ
ックなどさまざまなものがあり、それぞれ動作も処理時
間も大きく異る。このため、処理時間が制約された通話
路プロセス1231ではOAMプロセス1241に通知
することだけを行うのである。
【0335】OAMプロセス124は、メッセージボッ
クスからOAMセルヘッダとペイロードのポインタを読
み出す。ヘッダとペイロードの値から必要な処理がわか
り、処理が起動される。処理が起動されるか、終了して
必要がなくなった共有バッファ1221のペイロード格
納領域(1セル分)には、OAMプロセス1241から
挿入すべきセルの内容が書き込まれる。そして、そのセ
ルに付けられるべきヘッダ値とポインタがOAM/通話
路セルポインタキュー1225に書き込まれる。
【0336】ATMレイヤ処理プロセス1233は、空
セルまたはOAMセルを検出すると(OAMセルを分
岐、空セルを廃棄して)、代わりにOAM/通話路メッ
セージボックスから一つのセルの情報をとりだしてセル
流に挿入する。廃棄された空セルとATMスイッチ10
04へ出力されたOAMセルが格納されていたバッファ
領域は再び空きバッファポインタキュー1222へイン
キューされて物理レイヤ処理プロセス1232が入力セ
ルを格納するために使われる。
【0337】OAMプロセスと通話路プロセスの間にお
けるバッファアクセスの排他制御はこのようにして実現
することができる。また、OAMプロセス1241に渡
された共有バッファ1221のメモリ資源は循環して再
利用される。セルバッファを共有バッファとすることに
より、通話路プロセスとOAMプロセスの間でやりとり
されるセルの数が増えても両者のプロセスの間で転送さ
れる情報量はセルヘッダとポインタの分だけで、セルペ
イロードの転送は必要ない。
【0338】通話路プロセス1231で収集されるビッ
トエラー、通過セル数のような統計情報はOAMプロセ
ス1241に渡される。また、対向側ビットエラー率や
セルヘッダ変換テーブルはOAMプロセス1241から
通話路プロセス1231に渡されて通話路の処理に利用
される。通話路プロセス1231の動作を指定する情
報、例えばルーティングタグテーブルはOAMプロセス
1241から通話路プロセス1231に渡される。
【0339】通話路プロセス1231はOAMプロセス
1241の処理中に割り込んで起動されるため、これら
の値の受渡しにはプロセスの間で排他制御が必要であ
る。
【0340】排他制御を実現するには一般的なOSのメ
ッセージボックス機能も使えるが、統計情報のような短
いデータを扱うにはオーバヘッドが大きい。
【0341】テーブル更新の排他制御を実現する簡単な
方式には、例えば次の3つの方法が考えられる。
【0342】[1]値を受け渡す処理システムコールと
してその間を割り込み禁止とする。テーブルの値の変更
をOSのシステムコールとして実装し、テーブルの値を
変更している間はより優先度の高いプロセスからの割り
込みを禁止する。ただし、割り込み禁止とすることによ
って優先度の高いプロセスの待ち時間が大きくなる。 [2]テーブルの1エントリが1ワードに収まり、読み
書きが1命令で完了するならば、CPU自身の命令実行
の排他性でプロセス間の排他制御が可能である。ただ
し、これは情報の一貫性が1エントリの中に閉じている
場合に限られ、複数のエントリで時刻の一貫性が要求さ
れる場合には使えない。
【0343】[3]米国特許第5203024号に開示
されたごとくテーブルの1エントリが1ワードに収まら
ない場合は、エントリ中に“エントリ書き換え中フラ
グ”を設け、OAMプロセスがエントリの書き換え中は
該フラグをセットし、通話路プロセスが該フラグがセッ
トされたエントリを参照した場合そのセルを廃棄する。
すなわち、本実施例においては、そのセルの書かれてい
る共有メモリ1221へのポインタを空きバッファポイ
ンタキュー1222に出力せずにアンキューする。
【0344】ここまでに述べたプロセスは一般的なOS
のタスクとして実装することができる。このとき通話路
のタスクはハードウェアからの割り込みによって起動さ
れる。また、CPU交換装置特有のハードウェアからの
信号によって起動される通話路プロセスは直接割り込み
ハンドラとして実装すれば起動はさらに速くなる。
【0345】また、これらの機能をOS内部に組み込
み、CPU交換装置のOAM機能も含めて全て「CPU
交換装置」というデバイスとして実装しても良い。デバ
イスとはOSの管理下にあって物理装置(論理装置でも
良い)を統一されたインタフェースの下に仮想化してハ
ードウェアに対するソフトウェアからの操作性の向上を
図るものである。
【0346】これまでに説明したプロセスの優先度割り
当てを図35にまとめる。基本的に通話路プロセスに高
い優先度が割り当てられ、その中でもデータを出力する
プロセスの優先度を高くする。OAM処理の優先度は低
い。通話路プロセスは処理時間単位の中で必ず処理を終
えなければならない。一方、OAMプロセスは通話路プ
ロセスに中断はされるが、前の状態を継続して動作す
る。
【0347】次に、図33、図34を参照しながら受信
側、送信側がそれぞれ1つのCPUで構成された場合の
プロセスの起動時期について説明する。
【0348】図33は、受信側の処理タイミング図であ
る。上下方向は時間軸であり、下向きが時間の経過を示
す。
【0349】ここでは通話路プロセス1231はフレー
ムバッファ1211及びSWバッファ1212からのハ
ードウェア割り込みによって起動される。ハードウェア
からの処理開始要求がないときはOAMプロセス124
1が実行されている。
【0350】ここにフレームバッファ1211からの割
り込みが入ると、OAMプロセスの優先度は一番低いた
め、処理は中断されて通話路プロセスの物理レイヤ処理
が起動される。物理レイヤ処理はフレームバッファ12
11に蓄積したビットデータから予め定められただけの
データを処理して終了すると実行をATMレイヤ処理に
移す。
【0351】ATMレイヤ処理は物理レイヤ処理から引
き渡されたセルデータを順次処理していく。だが、その
間にSWバッファ1212にあるセル数が予め定められ
た数を下回るとSWバッファ1212が割り込み入力を
発生して空セル生成処理が起動される。空セル生成処理
はダミーデータを生成してSWバッファ1212に書き
込みATM−SW1004に供給するパターンが途切れ
ないようにする。
【0352】予め定められた数の空セルパターンをSW
バッファ1212に書き込んで空セル生成処理が終了す
ると、ATMレイヤ処理が再開される。さらに物理レイ
ヤ処理から引き渡されたセルを全て処理してATMレイ
ヤ処理が終了するとOAMプロセスが再開され実行され
る。
【0353】空セル生成プロセスは受信側処理でもっと
も優先度が高いので、ATMレイヤ処理だけでなく、O
AMプロセスや物理レイヤ処理の実行中にも優先的に実
行される。
【0354】そして時間の経過とともにフレームバッフ
ァ1211にビットデータが溜ると再び通話路プロセス
が起動される。フレームバッファ1211の割り込み発
生の条件が1フレーム文のデータの蓄積であり、かつ受
信側ラインのビット同期がとれてフレームバッファ12
11に正常にデータが蓄積されている場合、フレームバ
ッファ1211からの割り込み即ち通話路プロセス起動
の周期は1フレーム分のフレーム時間に一致する。
【0355】図34は、送信側の処理タイミング図であ
る。上下方向は時間軸であり、下向きが時間の経過を示
す。
【0356】ここではATMレイヤ処理プロセスはSW
バッファ1312の、物理レイヤ(空セル生成)処理プ
ロセスはフレームバッファ1311からのハードウェア
割り込み信号によって起動される。ハードウェアからの
処理開始要求がないときはOAMプロセス1241が実
行されている。
【0357】予め定められた一定数以上のセルがATM
−SW1004から送られてSWバッファ1312に溜
ると、OAMプロセスの実行は中断され、ATMレイヤ
処理が起動される。ATMレイヤ処理を実行中に、送信
データが不足してフレームバッファ1311から割り込
みが発生すると物理レイヤ処理が起動される。送信側で
は物理レイヤ処理の優先度がもっとも高いためである。
【0358】物理レイヤ処理はATMレイヤがそれまで
に処理したセルを出力セルポインタキュー1323の情
報を元に取り出して出力フレームデータを構成する。こ
のとき、作成するフレームを満たすだけのデータがキュ
ーになければ空セル生成処理を起動して不足したセルを
補う。
【0359】このようにして物理レイヤ処理は予め定め
られた数のフレームデータを生成すると終了して中断さ
れていたATMレイヤ処理が再開される。ATMレイヤ
処理はSWバッファ1004にあるセルを全て処理する
と終了して中断されていたOAM処理が再開される。
【0360】ATMレイヤ処理は処理の間にフレームバ
ッファ1311からの割り込みがなければそのまま実行
され、終了するとOAMプロセスが再開される。
【0361】時間の経過とともにフレームバッファ13
11のビットデータが出力されることによって減少し、
再び物理レイヤ処理プロセスが起動される。フレームバ
ッファ1311の割り込み発生の条件が1フレーム分の
データの蓄積であるフレームバッファ1311からの割
り込み即ち物理レイヤ処理プロセス起動の周期は1フレ
ーム分のフレーム時間に一致する。
【0362】送受信を1個のプロセッサで処理する場合
には優先度は図36のようになる。また、OAM処理は
送受信を共通に処理することが容易に可能なため、プロ
セス起動のオーバヘッドを減らす観点から一つのプロセ
スとして実装することが望ましい。
【0363】基本的に送信側処理が受信側に優先する。
これはCPU交換装置内に溜ったデータを素早く送出し
て全体のバッファを有効に活用するためである。仮に受
信側処理を優先させると、送信側処理が滞ると全てのバ
ッファにデータが溜ることになる。
【0364】[実施例14−2]実施例14−1では、
受信側の物理レイヤ処理、ATMレイヤ処理、空セル生
成、OAMプロセスを1つのCPUで処理し、送信側の
物理レイヤ処理、ATMレイヤ処理、空セル生成、OA
Mプロセスをもう1つCPUで処理する方法を説明し
た。
【0365】しかし、網インタフェースの速度が速くな
ると、実施例14−1の構成ではセルの処理が追いつか
ない可能性があり、実施例14−1とは違った構成を考
える必要性が生じてくる。
【0366】そのような構成例として、受信側物理レイ
ヤ処理、受信側ATMレイヤ処理、送信側物理レイヤ処
理、送信側ATMレイヤ処理のそれぞれを1CPUで処
理する構成が考えられる。この構成を図37に示し、図
に沿って簡単にセルの流れを説明する。
【0367】図中の1601は受信側インタフェースパ
ッケージを表す。ここでいうインタフェースパッケージ
とは、外部通信網とのインタフェースを司るボードで、
セル処理用のCPUを搭載する。この受信側インタフェ
ースパッケージで外部からの入力を受ける。外部からの
入力は、受信側物理レイヤ処理CPU1603で、物理
レイヤ処理を受けてセルになり、受信側ATMレイヤ処
理CPU1604に渡される。そこでセルは、ATMレ
イヤ処理を受け、ATMスイッチ1607を経て送信側
ATMレイヤ処理CPU1606に渡される。そこでA
TMレイヤ処理を受けて、次に送信側物理レイヤ処理C
PU1605で物理レイヤ処理を受けて、送信側インタ
フェースパッケージ1602より外部に送出される。
【0368】この場合、ATMレイヤでセルの識別(ユ
ーザセルとOAMセル)を行う関係上、ATMレイヤを
処理するCPUでOAMプロセスを実行するほうが良
い。この場合も実施例14−1と同様に、OAMプロセ
スは、ATMプロセスに対してバックグランド的なプロ
セスとして実行される。また、ATMレイヤ処理とのセ
ルのハンドリングは、実施例14−1と同様の方法で実
行可能である。
【0369】空セル生成に関しては、空セルを「需要に
最も近い場所で作る」というポリシーから、受信側で
は、ATMレイヤを処理するCPUで空セル生成を実行
し、送信側は物理レイヤを処理するCPUで空セル生成
を実行することにする。
【0370】次に、この構成例では各処理の関係を受信
側、送信側の順に説明する。まず、受信側では、物理レ
イヤ処理、ATMレイヤ処理、空セル生成、OAMプロ
セスの機能は、実施例14−1と同様であり、実施例1
4−1と違うところはATMレイヤ処理の起動条件であ
る。実施例14−1では、受信側物理レイヤ処理、受信
側ATMレイヤ処理が一つのプロセスとして実現されて
いたので、ATMレイヤ処理の起動条件を考える必要が
なかったが、この構成例では、物理レイヤ処理とATM
レイヤ処理が別CPUで実行されるため、ATMレイヤ
処理の起動条件を考える必要がある。
【0371】一つの方法として、物理レイヤ処理CPU
が、物理レイヤ処理済みのセルをFIFOに置き、FI
FOからの割り込みでATMレイヤ処理を実行するCP
Uに通知して、ATMレイヤ処理を起動し、セルバッフ
ァに置かれたセルを処理させる方法がある(図38参
照)。この方法の他に、物理レイヤ処理を実行するCP
UとATMレイヤ処理を実行するCPUの間に2ポート
RAMを置き、この2つのCPUのセルのハンドリング
に2ポートRAMを使う方法もある。
【0372】しかしこちらの方法は、物理レイヤとAT
Mレイヤ処理の間で、情報の受け取りに使用する領域を
予め定めておくことが必要であり、物理レイヤ処理とA
TMレイヤ処理の2つのプロセスの独立性が損なわれる
という欠点を持つ。
【0373】また、ATMレイヤ処理を実行するCPU
に、タイマ割り込みをかけて一定時間ごとにセルバッフ
ァを監視して、セルバッファにセルがある場合には処理
を開始するような方法を取ることも出来る。しかし、こ
の方法は、空いた時間に実行しているOAMプロセスに
対して、いたずらに割り込みが入り、OAMプロセス処
理が中断されるという欠点を持つ。
【0374】次に送信側について説明する。送信側の物
理レイヤ処理、ATMレイヤ処理、空セル生成、OAM
プロセスの機能、起動条件は、実施例14−1と同様で
ある。
【0375】送信側でのATMレイヤ処理と物理レイヤ
処理との間のセルのハンドリングは、ATMレイヤ処理
はATMスイッチからのセルを処理してセルバッファに
置き、物理レイヤ処理は、ATMレイヤの処理とは独立
に、セルバッファからセルを取りだし、フレームを作成
し、ラインに流し、フレームを外部に出力する。物理レ
イヤ処理がセルを取りだそうとしたときに、セルがセル
バッファにない場合は、空セル生成を起動し、空セルを
生成してフレームを作る。
【0376】本構成により実施例14−1と変わるとこ
ろは、実施例14−1では、1CPUで処理していたの
で、物理レイヤ処理とATMレイヤ処理は同時には実行
されなかったが、本構成では物理レイヤ処理とATMレ
イヤ処理が独立に実行される点である。このことから、
これらの処理のパイプラインが構成でき、全体としての
処理速度が向上する。
【0377】ここで、OAMプロセスのソフトウェアに
ついて一言述べておく。OAMプロセスのソフトウェア
の保守、開発などを考慮すると、実施例14−1の構成
でも、本構成例でもどちらを選択しても、OAMプロセ
スのソフトウェアに対して、なるべく変更箇所が少なく
なるようなソフトウェアの構造が望ましい。さらに言え
ば、物理レイヤ処理、ATMレイヤ処理、または空セル
生成がハード化されてもなるべくOAMプロセスのソフ
トウェアに変更を加えなくてもよいようにすることが望
ましい。そのためには、ソフトウェアを論理的に下位の
部分と上位の部分に分けてしまい、変更を加えなければ
ならないところを下位の部分に押し込めて、上位の部分
は構成の如何に拘らず、変更を加える必要がないように
作ることがよい。
【0378】次に、本構成例における各プロセスの優先
順位について説明する。本構成例は、実施例14−1の
構成とは異なるので、プロセスの優先順位も実施例14
−1とは異なってくる。まず受信側については、物理レ
イヤとATMレイヤ処理は、別CPUで実行されるの
で、この2つのプロセス間には優先順位はない。
【0379】ATMレイヤ処理、空セル生成、OAMプ
ロセスの間には優先順位があり、これは実施例14−1
と同様になる(図36参照)。また送信側についても、
受信側と同様なことが言えて、物理レイヤ処理+空セル
生成とATMレイヤ処理の間には優先順位はないが、A
TMレイヤ処理とOAMプロセスの間には実施例14−
1と同様な優先順位がある(図39参照)。
【0380】ここで、実施例14−1の構成でセルの処
理が網インタフェースの速度に追いつかない場合を想定
して、実施例14−2の構成を考えたが、その逆にCP
Uのセル処理能力が網インタフェースの速度に対して充
分余裕のある場合の構成を示す。
【0381】実施例14−1では、外部からの入出力ポ
ートが各1本の場合を想定していたが、CPUの処理能
力に余裕があれば、この入出力ポートを各N(N>1)
本にすることが可能である。この構成を図40に示す。
ここで、図中の1801は受信側インタフェースパッケ
ージを表し、1802は送信側インタフェースパッケー
ジを表し、1803は受信側プロセス処理CPUを表
し、1804は送信側プロセス処理CPUを表し、18
05はATMスイッチを表す。この構成例で注意するこ
とは、セルがどのポートのものであるかを常に知ってい
なければならないということである。
【0382】例えば、次のようにすると構成例を実現す
ることができる。受信側物理レイヤ処理は各ポートのセ
ルを処理すると受信側ATMレイヤ処理に渡し、ATM
レイヤ処理はそのセルを処理し、処理済みのセルをAT
Mスイッチのバッファに入れる。
【0383】この動作を順次各ポートについて行うよう
にすると、受信側では各セルなどのポートのものかを常
に認識して処理していることになる。OAMプロセスに
関しては、時間があまっていれば実行するようにする。
送信側に関しても受信側と同様に各ポートのセルを順番
に処理していけばよい。
【0384】(他の実施例)その他の構成例としては、
実施例14−2と同様に物理レイヤ処理とATMレイヤ
処理を別CPUにする方法がある。この構成例について
は、受信側物理レイヤ処理CPUと受信側ATMレイヤ
処理CPU間でのセルのハンドリングの問題があるが、
これは実施例14−2と同様にすればできる(図38参
照)。
【0385】また、物理レイヤ処理に対して、ATMレ
イヤ処理の負荷が軽い場合は、複数ポートを収容してい
る物理レイヤ処理用の複数個のCPUと1個のATM処
理用のCPUを接続し、セルの処理をするような構成も
考えられる。この構成を図41に示す。ここで、図中の
1901は受信側インタフェースパッケージを表し、1
902は送信側インタフェースパッケージを表し、19
03は受信側物理レイヤ処理CPUを表し、1904は
受信側ATMレイヤ処理CPUを表し、1905は送信
側ATMレイヤ処理CPUを表し、1906は送信側A
TMレイヤ処理CPUを表し、1907はATMスイッ
チを表す。
【0386】また、OAMプロセスが他のプロセスに対
して負荷が重い時には、OAMプロセスのみを別のCP
Uで実行することも考えられる。このとき、送受信のO
AMプロセスをそれぞれ別CPUで実行する場合と、送
受信のOAMプロセスを1CPUで実行する場合が考え
られ、後者の場合、送受信OAMプロセス間のデータの
受渡しなどが前者の場合よりも簡単になるという利点が
ある。この構成を図42に示す。ここで、図中の200
1は受信側インタフェースパッケージを表し、2002
は送信側インタフェースパッケージを表し、2003は
送受信側OAM処理CPUを表し、2004はATMス
イッチを表す。
【0387】ここで、図43に、図30で示した受信側
・送信側の各インタフェース部における処理の流れの、
別の一例について説明をする。
【0388】本例では、通話路プロセス処理の高速化を
はかるために、別々に行っていたいくつかのサブルーチ
ンについて、サブルーチンの合成を行っている。ここに
おけるサブルーチンの合成の基本的な考え方は、一度レ
ジスタに書き込んだデータに対して、同時に行なうこと
のできる処理はすべて同時に行ってしまうというもので
ある。
【0389】具体的な処理の流れを、以下に説明する。
【0390】本例においても図30の場合と同様に、通
話路プロセス3101、OAMプロセス3102から構
成され、さらに通話路プロセス3101が送信側処理の
ためのプロセスと受信側処理のためのプロセスから構成
されるようになっている。
【0391】受信側プロセスでは、受信側ラインインタ
フェースで受信された信号から、ビット同期部311
1、網同期部3112によって網クロックが抽出される
とともにビット同期がとられ、信号がビット列に変換さ
れる。このビット列からラインデコーディング3121
においてデコードされた受信データが、受信側入力FI
FO3211に入力される。このFIFO3211に入
力されたデータは、通話路プロセスのデータ受信サブル
ーチン3121によってプロセッサ内部のメモリ上に読
み込まれる。メモリに読み込まれたデータに対して、ま
ずフレーム同期サブルーチン3123によって、フレー
ムの同期が確立される。次に、セル同期サブルーチン3
124によって、セルの同期が確立される。次に、いく
つかのATMレイヤ処理サブルーチン3125(具体的
にはヘッダ変換、ルーチングタグ付加、ポリシング等の
サブルーチン)によって受信側のATMレイヤ処理が施
される。最後に、合成されたサブルーチン3126(具
体的にはデスクランブル処理とセル送出サブルーチン)
によってデータにデスクランブル処理を施しながら、随
時処理済みのデータを受信側出力FIFO3212に出
力する。
【0392】送信側プロセスでは、ATMスイッチから
到着したセルデータは、送信側の入力FIFO3213
に入力される。FIFO3213に入力されたセルデー
タは、送信側の合成されたサブルーチン3133(具体
的には、セル受信と送信側のATMレイヤ処理サブルー
チン)によってプロセッサ内部のメモリ上に読み込ま
れ、送信側のATM処理が施される。ここで、送信側の
ATMレイヤ処理としては、シェイピング処置、ルーチ
ングタグ削除処理、ヘッダ変換処理などが施されること
になる。ここで、ATMレイヤ処理は、ヘッダ部分のみ
に対して行えばよいものであるので、負荷の大きいセル
のペイロード部分のメモリとレジスタ間の読みだし書き
込み処理を伴わずに実現できる。このことから、送信側
・受信側のATMレイヤ処理サブルーチンを合成して、
他のサブルーチン群とは独立して行うことも考えられ
る。次に、やはり合成されたサブルーチン3132(具
体的には、送信側の物理レイヤ処理とデータ送出サブル
ーチン)によって、スクランブル、HEC生成、フレー
ムの作成などの送信側の物理レイヤ処理を行いながら、
随時処理済みのデータをそうち側出力FIFO3214
に出力している。
【0393】本例においては、通話路プロセス3101
におけるサブルーチンの合成方法を示している。しか
し、このようなサブルーチンの合成は、OAMプロセス
3102のサブルーチン群に対しても当てはめられるも
のであり、通話路プロセスの場合と同様に、OAMプロ
セスにおいても同時に処理の行えるサブルーチンを合成
していくことは当然考えられるものである。
【0394】以上のようなサブルーチンの合成を行うこ
とによって、ひとたびレジスタに読み込んだデータに対
して、そのとき行うことが可能な処理を全て行ってしま
うことができるので、データのレジスタ−メモリ間の読
みだし書き込み回数を極力減らすことが可能となり、さ
らなる処理の高速化が実現できる。
【0395】また、本発明は上述した各実施例に限定さ
れるものではなく、その要旨を逸脱しない範囲で、種々
変形して実施することができる。
【0396】
【発明の効果】本発明のATM交換装置によれば、比較
的処理が単純で1回の処理時間が比較的変動しない通話
路プロセスを、ある決められた一定周期毎(例えば1フ
レームといった細かい周期毎等)に実行し、一方、その
処理量がOAMセルおよび警報信号等の到着および送出
割合の変動によって大きく変わる、比較的複雑なOAM
プロセスは、通話路プロセスの周期とは全く独立に処理
を行う。このような複数プロセスの実行制御機能をAT
M交換装置に持たせることによって、ソフトウェアによ
る交換処理に関するプロセッサの使用効率を増大させる
ことができる。
【0397】
【0398】
【0399】
【0400】
【0401】
【図面の簡単な説明】
【図1】第1の実施例のATM交換装置の構成概念図
【図2】命令パイプラインの構成を説明するための図
【図3】同実施例のメモリ空間の構成を説明するための
【図4】第2の実施例のATM交換装置の構成概念図
【図5】同実施例のメモリ空間の構成を説明するための
【図6】第3の実施例のATM交換装置の構成概念図
【図7】同実施例のメモリ空間の構成を説明するための
【図8】第4の実施例のATM交換装置の構成概念図
【図9】同実施例のメモリ空間の構成を説明するための
【図10】第5の実施例のATM交換装置の構成概念図
【図11】同実施例のメモリ空間の構成を説明するため
の図
【図12】第6の実施例のATM交換装置の構成概念図
【図13】同実施例のメモリ空間の構成を説明するため
の図
【図14】第7の実施例のATM交換装置の構成概念図
【図15】同実施例のメモリ空間の構成を説明するため
の図
【図16】第8の実施例のATM交換装置の構成概念図
【図17】同実施例のメモリ空間の構成を説明するため
の図
【図18】第9の実施例のATM交換装置の構成概念図
【図19】同実施例のメモリ空間の構成を説明するため
の図
【図20】第10の実施例のATM交換装置の構成概念
【図21】同実施例のメモリ空間の構成を説明するため
の図
【図22】第11の実施例のATM交換装置の構成概念
【図23】同実施例のメモリ空間の構成を説明するため
の図
【図24】第12の実施例のATM交換装置の構成概念
【図25】同実施例のメモリ空間の構成を説明するため
の図
【図26】第13の実施例のATM交換装置の構成概念
【図27】同実施例のメモリ空間の構成を説明するため
の図
【図28】第14の実施例に係る交換装置の要部の機能
ブロック図
【図29】同実施例の交換装置のハードウェア構成図
【図30】プロセッサ交換処理パッケージを備えた交換
装置の全体構成を示す図
【図31】同交換装置の受信側の要部構成とデータの流
れを示す図
【図32】同交換装置の送信側の要部構成とデータの流
れを示す図
【図33】同交換装置の受信側の処理のタイミングを示
す図
【図34】同交換装置の送信側の処理のタイミングを示
す図
【図35】プロセスの優先度割り当てを説明するための
【図36】プロセスの優先度割り当てを説明するための
【図37】同実施例の交換装置の他の構成図
【図38】受信側物理レイヤ処理CPUと受信側ATM
レイヤ処理CPU間でのFIFOを使ったセルのハンド
リングを説明するための図
【図39】プロセスの優先度割り当てを説明するための
【図40】同実施例の交換装置のさらに他の構成図
【図41】同実施例の交換装置のさらに他の構成図
【図42】同実施例の交換装置のさらに他の構成図
【図43】プロセッサ交換処理パッケージにおける処理
の流れの別の一例を示す図
【符号の説明】
1−1〜1−n…CPU、3−1〜3−n…リード/ラ
イト・バッファ、10−1〜10−n…入出力ポート、
20−1〜20−n…入出力ポート、11−1〜11−
n…I/Oメモリ、21−1〜21−n…I−Cach
e、22−1〜22−n…D−Cache、31−1〜
31−n…入力ポート、32−1〜32−n…出力ポー
ト、33−1−2〜33−(n−1)−n…双方向FI
FO、40−1〜40−n…入出力処理用記憶領域、4
1−1〜41−n…物理レイヤ処理用記憶領域、42−
1〜42−n…ATMレイヤ処理用記憶領域、43−1
〜43−n…スイッチング処理用記憶領域、41…RO
M、50−1〜50−n…入出力ポート、51…DMA
コントローラ、60−1〜60−n…入出力ポート、6
1…メインメモリ、66−1〜66−n…回線終端処理
ハードウェア、71−1〜71−n…スクランブル処理
部、72−1〜72−n…デスクランブル処理部、80
−1〜80−3…双方向FIFO、91−1〜91−n
…キャッシュ・バス、121…ラインレシーバ、122
…入力FIFO、123…出力FIFO、124…ライ
ンドライバ、125…クロック検出部、126…2ポー
トRAM、127…FIFO、128…FIFO、12
9…ビット同期部、130…フレーム同期部、131…
フレーム作成部、134…FIFO、135…FIF
O、811…FIFO、821…FIFO、999…メ
モリ・バス、1000…ATMスイッチ、1001a…
受信側入力部、1001b…受信側出力部、1002…
受信側物理レイヤ処理部、1003…受信側ATMレイ
ヤ処理部、1004…スイッチ部(ATMスイッチ)、
1005…送信側物理レイヤ処理部、1006…送信側
ATMレイヤ処理部、1007a…送信側入力部、10
07b…送信側出力部、1011…プロセッサ、101
2…メインメモリ、1013…プログラム記憶部、10
14…プログラム、1016…キャッシュメモリ、11
01…通話路プロセス(プロセッサ交換処理パッケー
ジ)、1103…上位交換装置制御プロセッサ、111
1…ビット同期、1112…網同期、1113…OAM
セル分岐挿入、1114…監視制御インタフェース、1
121…ラインデコーディング、1122…フレーム同
期、1123…セル同期、1124…デスクランブル、
1125…ヘッダ変換、1126…ルーティングタグ付
加、1127…流量監視(ポリシング)、1128…セ
ル送出、1129…空セル生成、1131…ラインエン
コーディング、1132…フレーム作成、1133…H
EC生成、1134…スクランブル、1135…ヘッダ
変換、1136…ルーティングタグ削除、1137…流
量監視(シェイピング)、1138…セル受信、113
9…空セル生成、1141…メッセージ送受信、114
2…監視制御処理、1143…上位プロセッサインタフ
ェース、1201…受信側交換処理パッケージ、121
1…フレームバッファ、1212…ATM/SW転送バ
ッファ、1221…共有セルバッファ、1222…空き
バッファポインタキュー、1223…入力セルポインタ
キュー、1224…通話路/OAM転送セルポインタキ
ュー、1225…OAM/通話路転送セルポインタキュ
ー、1231…通話路プロセス、1232…物理レイヤ
処理、1233…ATMレイヤ、1234…空セル生成
処理、1241…OAMプロセス、1301…送信側交
換処理パッケージ、1311…フレームバッファ、13
12…SW/ATM転送バッファ、1321…共有セル
バッファ、1322…空きバッファポインタキュー、1
323…出力セルポインタキュー、1324…OAM/
通話路転送セルポインタキュー、1325…通話路/O
AM転送セルポインタキュー、1331…通話路プロセ
ス、1332…物理レイヤ処理、1333…ATMレイ
ヤ処理、1334…空セル生成処理、1341…OAM
プロセス、1601…受信側インタフェースパッケー
ジ、1602…送信側インタフェースパッケージ、16
03…受信側物理レイヤ処理CPU、1604…受信側
ATMレイヤ処理CPU、1605…送信側物理レイヤ
処理CPU、1606…送信側ATMレイヤ処理CP
U、1607…ATMスイッチ、1701…受信側物理
レイヤ処理CPU、1702…ATMセル、1703…
FIFO、1704…受信側ATMレイヤ処理CPU、
1801…受信側インタフェースパッケージ、1802
…送信側インタフェースパッケージ、1803…受信側
プロセス処理CPU、1804…送信側プロセス処理C
PU、1805…ATMスイッチ、1901…受信側イ
ンタフェースパッケージ、1902…送信側インタフェ
ースパッケージ、1903…受信側物理レイヤ処理CP
U、1904…受信側ATMレイヤ処理CPU、190
5…送信側物理レイヤ処理CPU、1906…送信側A
TMレイヤ処理CPU、1907…ATMスイッチ、2
001…受信側インタフェースパッケージ、2002…
送信側インタフェースパッケージ、2003…送受信側
OAM処理CPU、2004…ATMスイッチ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 武田 純一 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝研究開発センター内 (72)発明者 角田 啓治 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝研究開発センター内 (72)発明者 木村 成人 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝研究開発センター内 (72)発明者 橋本 幹生 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝研究開発センター内 (56)参考文献 特開 平7−154395(JP,A) 特開 平8−18563(JP,A) 特開 平2−268041(JP,A) 特開 平4−74046(JP,A) 富澤ほか,ソフトウェア処理による低 速回線ATMセル方式の一考察,電子情 報通信学会秋季大会論文集,日本, (社)電子情報通信学会,1994年,B− 457,p55 武田ほか,ソフト処理によるATM交 換機の検討,電子情報通信学会秋季大会 論文集,日本,(社)電子情報通信学 会,1994年,B−456,p54 (58)調査した分野(Int.Cl.7,DB名) H04L 12/28 H04Q 3/545

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】入力されたATMセルを該ATMセルに付
    加されたヘッダ情報に従って交換処理するATM交換装
    置において、 前記ATMセルに対して物理レイヤ処理およびATM処
    理を、通話路プロセスとして、マイクロプロセッサで実
    行する通話路処理手段と、 前記ATMセルにスイッチ処理を施すスイッチ処理手段
    と、 前記通話路処理手段を制御するために、OAMプロセス
    をマイクロプロセッサで実行するOAM処理手段と、 前記通話路プロセスを予め決められた所定の実行周期毎
    にほぼ一定期間実行させる制御を行う通話路プロセス実
    行制御手段と、 前記OAMプロセスを前記通話路プロセスの前記実行周
    期とは独立したタイミングで実行させる制御を行うOA
    Mプロセス実行制御手段とを具備したことを特徴とする
    ATM交換装置。
  2. 【請求項2】同一のタイミングにおいて同一のマイクロ
    プロセッサにより前記通話路プロセスと前記OAMプロ
    セスとのいずれも実行し得る状態になった場合には、前
    記通話路プロセスを前記OAMプロセスよりも優先的に
    実行させることを特徴とする請求項1に記載のATM交
    換装置。
JP24680694A 1993-12-01 1994-09-16 Atm交換装置 Expired - Fee Related JP3431308B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP24680694A JP3431308B2 (ja) 1994-09-16 1994-09-16 Atm交換装置
US08/351,098 US5557609A (en) 1993-12-01 1994-11-30 Switching apparatus for ATM
CN94112756A CN1113502C (zh) 1993-12-01 1994-12-01 异步传递方式(atm)交换装置
CNB02157832XA CN1274108C (zh) 1993-12-01 1994-12-01 用于atm的交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24680694A JP3431308B2 (ja) 1994-09-16 1994-09-16 Atm交換装置

Publications (2)

Publication Number Publication Date
JPH0888635A JPH0888635A (ja) 1996-04-02
JP3431308B2 true JP3431308B2 (ja) 2003-07-28

Family

ID=17153964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24680694A Expired - Fee Related JP3431308B2 (ja) 1993-12-01 1994-09-16 Atm交換装置

Country Status (1)

Country Link
JP (1) JP3431308B2 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
富澤ほか,ソフトウェア処理による低速回線ATMセル方式の一考察,電子情報通信学会秋季大会論文集,日本,(社)電子情報通信学会,1994年,B−457,p55
武田ほか,ソフト処理によるATM交換機の検討,電子情報通信学会秋季大会論文集,日本,(社)電子情報通信学会,1994年,B−456,p54

Also Published As

Publication number Publication date
JPH0888635A (ja) 1996-04-02

Similar Documents

Publication Publication Date Title
KR100268565B1 (ko) 다중 처리 시스템에서 타스크를 큐잉하기 위한 시스템 및 방법
EP0473777B1 (en) High-speed packet switching apparatus and method
JP2931798B2 (ja) ネットワーク・インタフェース
US6223305B1 (en) Method and apparatus for resetting, enabling and freezing a communication device in a diagnostic process
US7512724B1 (en) Multi-thread peripheral processing using dedicated peripheral bus
US5446726A (en) Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5802287A (en) Single chip universal protocol multi-function ATM network interface
US8943507B2 (en) Packet assembly module for multi-core, multi-thread network processors
EP1561161A2 (en) Method and apparatus for serialized mutual exclusion
EP1044406A1 (en) Method and apparatus for performing frame processing for a network
EP2406723A1 (en) Scalable interface for connecting multiple computer systems which performs parallel mpi header matching
EP1466449A1 (en) Deferred queuing in a buffered switch
WO1996031820A1 (en) Method and apparatus for the management of queue pointers by multiple processors in a digital communications network
WO2001067237A2 (en) High-speed data processing using internal processor memory space
US20020174316A1 (en) Dynamic resource management and allocation in a distributed processing device
US5606666A (en) Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US7334074B2 (en) Method and system for multi-channel transfer of data and control
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
WO2000075797A1 (en) Serialized bus communication and control architecture
JPH0818567A (ja) データの交換処理方法及び装置
JP3431308B2 (ja) Atm交換装置
KR100472796B1 (ko) Atm라인카드및접속메모리데이타를전송하는방법
JPH098813A (ja) エラスティックバッファ
CA2042171C (en) High-speed packet switching apparatus and method
KR0129612B1 (ko) 집중형 광대역망 종단(b-nt) 시스템의 하드웨어를 제어하기위한 장치

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees