(57)【特許請求の範囲】
【請求項１】
ＡＴＭ網の伝送路と端末との間で、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤの処理を行うＡＴＭコントローラであって、
バッファメモリに接続され、
前記端末内のメモリと前記バッファメモリとの間で、前記端末の通信するパケットデータを、一定長のデータブロックの単位で転送する転送手段と、
前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをＡＴＭ網側に送信するセル送信制御手段と、
前記ＡＴＭ網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するセル受信制御手段と、
前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ＡＴＭ網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段と、を有し、
前記セル送信制御手段および前記セル受信制御手段は、同一のコネクション上で、前記パケットデータの各データセルを送受信し、
前記転送制御手段は、前記ＡＴＭ網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること、を特徴とするＡＴＭコントローラ。
【請求項２】
請求項１に記載のＡＴＭコントローラにおいて、
前記転送制御手段は、前記セル送信制御手段に、前記一定長のデータブロックから分割され、前記バッファメモリに格納された前記データセルを前記ＡＴＭ網に送る指示を行うことを特徴とするＡＴＭコントローラ。
【請求項３】
請求項１に記載のＡＴＭコントローラにおいて、
前記ＡＴＭ網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、
データセル以外のセルの処理に用いられる制御プログラムを格納する書換え可能なプログラムメモリと、
前記判定により識別されたデータセル以外のセルの処理を行うマイクロプロセッサとを有することを特徴とするＡＴＭコントローラ。
【請求項４】
請求項１に記載のＡＴＭコントローラにおいて、
前記転送制御手段は、バッファメモリとＡＴＭ網との間でのセル送信制御手段によるデータセルの受信と並行して、前記端末内メモリとバッファメモリとの間で、転送手段を介して、一定長のデータブロックの転送を実行するよう、前記転送手段および前記セル送信制御手段に指示することを特徴とするＡＴＭコントローラ。
【請求項５】
請求項１に記載のＡＴＭコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段および転送制御手段は、一つのＬＳＩで構成されることを特徴とするＡＴＭコントローラ。
【請求項６】
請求項１に記載のＡＴＭコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段、転送制御手段および前記バッファメモリは、一つのＬＳＩで構成されることを特徴とするＡＴＭコントローラ。
【請求項７】
ＡＴＭ網の伝送路と端末との間で、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤの処理を行うＡＴＭコントローラであって、
バッファメモリに接続され、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータを、一定長のデータブロックの単位で転送する転送手段と、
前記端末内メモリから前記バッファメモリに転送されたデータブロック、もしくは、前記端末内メモリに格納されたパケットデータをデータセルに分割し、当該データセルをＡＴＭ網側に送信するセル送信制御手段と、
前記バッファメモリ上、もしくは、前記端末内のメモリ上で、それぞれ、受信したデータセルを組み立ててデータブロック、もしくは、パケットデータを形成するセル受信制御手段と、
前記端末内のメモリと前記バッファメモリとの間で、一定長のデータブロックの単位で転送するよう前記転送手段に指示し、かつ、前記バッファメモリおよび端末内メモリのいずれかと、前記ＡＴＭ網との間で、前記データセルを転送するよう前記セル送信制御手段およびセル受信制御手段に指示する転送制御手段と、を有し、
前記転送制御手段は、ＡＴＭ網から受信したデータセルを組み立て、前記バッファメモリおよび前記端末内メモリのうちいずれかにおける一定長のデータブロックの形成を示す通知を前記セル受信制御手段から受け、かつ、前記バッファメモリ上にデータセルを形成する場合には、一定長のデータブロックを前記端末メモリに転送するよう前記転送手段に指示することを特徴とするＡＴＭコントローラ。
【請求項８】
請求項７に記載のＡＴＭコントローラにおいて、
前記転送制御手段は、前記端末メモリ上のパケットデータ、または、前記バッファメモリ上の一定長のデータブロックのいずれかにより形成され、分割されているデータセルを前記ＡＴＭ網に送信するよう、前記セル送信制御手段に指示することを特徴とするＡＴＭコントローラ。
【請求項９】
請求項７に記載のＡＴＭコントローラにおいて、
前記ＡＴＭ網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、
データセル以外のセルの処理に用いられる制御プログラムを格納する書換え可能なプログラムメモリと、
前記判定により識別されたデータセル以外のセルの処理を行うマイクロプロセッサとを有することを特徴とするＡＴＭコントローラ。
【請求項１０】
請求項９に記載のＡＴＭコントローラにおいて、
判定されたデータセル以外のセルには、少なくとも、ＯＡＭ（Operation Administration Maintenance）セルとＲＭ（Resource Management）セルとを含むことを特徴とするＡＴＭコントローラ。
【請求項１１】
請求項７に記載のＡＴＭコントローラにおいて、
前記転送制御手段は、
設定されるＡＴＭコネクションにおけるトラヒックの性質に応じて、前記端末メモリのデータパケットを前記セル送信制御手段に転送し、前記データパケットを一定長のデータブロックに変換して前記バッファメモリに格納した後、データセルの一つを選択し、かつ、
前記セル受信制御手段においてパケットデータへ変換し、セル受信制御手段において前記データセルを一定長のデータブロックに変換した後、前記ＡＴＭ網から前記端末メモリへ転送するデータセルを一つ選択し、前記一定長のデータブロックを前記バッファメモリ内に形成することを特徴とするＡＴＭコントローラ。
【請求項１２】
請求項７に記載のＡＴＭコントローラにおいて、
前記転送制御手段は、
前記バッファメモリのトラヒック量に応じて端末内メモリのパケットデータを前記セル送信制御手段に転送し、データセルを分割するか、または、前記パケットデータを一定長のデータブロックに変換し前記バッファメモリに格納するかのいずれか一方を選択し、かつ、
前記セル受信制御手段が前記ＡＴＭ網からのデータセルをパケットデータに変換し、前記端末内メモリに送信するか、または、前記セル受信手段が前記データセルを一定長のデータブロックへ変換し格納するかのいずれか一方を選択して、前記バッファメモリ内に一定長のデータブロックを形成することを特徴とするＡＴＭコントローラ。
【請求項１３】
請求項７に記載のＡＴＭコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段および転送制御手段は、一つのＬＳＩで構成されることを特徴とするＡＴＭコントローラ。
【請求項１４】
請求項１３に記載のＡＴＭコントローラにおいて、
前記バッファメモリは、ＡＴＭコネクションごとに、一定長のデータブロックを複数格納する領域を有することを特徴とするＡＴＭコントローラ。
【請求項１５】
請求項７に記載のＡＴＭコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段、転送制御手段および前記バッファメモリは、一つのＬＳＩで構成されることを特徴とするＡＴＭコントローラ。
【請求項１６】
ＡＴＭ網の伝送路と、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤとＰＨＹレイヤの処理を行う端末との間を接続するＡＴＭ通信制御装置であって、
バッファメモリ、前記端末内のメモリと前記バッファメモリとの間で、パケットデータを一定長のデータブロックの単位で転送する転送手段、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをＡＴＭ網側に送信するセル送信制御手段、前記ＡＴＭ網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するセル受信制御手段、および、前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ＡＴＭ網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段を含むＡＴＭコントローラと、
前記ＡＴＭコントローラと前記伝送路との間を接続し、ＰＨＹレイヤの処理を実行するＰＨＹコントローラと、
前記ＰＨＹコントローラを駆動させる水晶発振器と、を有し、
前記ＡＴＭコントローラの前記転送制御手段は、前記ＡＴＭ網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること、を特徴とするＡＴＭ通信制御装置。
【請求項１７】
ＡＴＭ網の伝送路と、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤとＰＨＹレイヤの処理を行う端末との間を接続するＡＴＭ通信制御装置であって、
バッファメモリと、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータを一定長のデータブロックの単位で転送する転送手段、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをＡＴＭ網側に送信するセル送信制御手段、前記ＡＴＭ網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するか、または前記端末内のメモリ上で組立てて一以上のパケットデータを形成するかのいずれか一方を行うセル受信制御手段、および、前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ＡＴＭ網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段を含むＡＴＭコントローラと、
前記ＡＴＭコントローラと前記伝送路との間を接続し、ＰＨＹレイヤの処理を実行するＰＨＹコントローラと、
前記ＰＨＹコントローラを駆動させる水晶発振器と、を有し、
前記ＡＴＭコントローラの前記転送制御手段は、前記ＡＴＭ網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること
を特徴とするＡＴＭ通信制御装置。
【請求項１８】
ＡＴＭ網の伝送路と端末との間で、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤの処理を行うＡＴＭコントローラを制御する方法であって、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータ転送する段階と、
前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをＡＴＭ網側に送信する段階と、
前記ＡＴＭ網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成する段階と、を有することを特徴とするＡＴＭコントローラの制御方法。
【請求項１９】
ＡＴＭ網の伝送路と端末との間で、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤの処理を行うＡＴＭコントローラを制御する方法であって、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータ転送する段階と、
選択信号に応じて、前記端末内メモリから前記バッファメモリに転送されたデータブロックをデータセルに分割するか、または、前記端末内メモリから送られたパケットデータをデータセルに分割するかのいずれかを実行し、分割したデータセルをＡＴＭ網側に送信する段階と、
前記選択信号に応じて、ＡＴＭ網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するか、または、前記端末内のメモリ上で組立ててパケットデータを形成するかのいずれか一方を実行する段階と、を有することを特徴とするＡＴＭコントローラの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末とＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）網との間で、ＡＴＭプロトコルの下位部の処理を行うＡＴＭ通信制御装置、および、その装置内で処理を分担するＡＴＭコントローラに関するものである。
【０００２】
【従来の技術】
ＡＴＭ通信制御装置は、端末とＡＴＭ網の回線とを接続し、複数の端末の間で、ＡＴＭプロトコルに従った通信を行う。具体的には、ＡＴＭ通信制御装置は、ＡＴＭプロトコルの下位部の処理を分担し、端末で生成された可変長のパケットを受け取り、固定長のセルに分割して回線に送信する一方、回線より受信したセルからパケットを生成して端末に渡す。なお、ＡＴＭプロトコルについては、ＩＴＵ（国際電気通信連合）の勧告に基づいてＡＴＭフォーラムが標準化を進めている。
【０００３】
従来、ＡＴＭ通信制御装置の処理の内、セルの送受信制御を行うＡＴＭレイヤの処理と、セルの分割・組立てを行うＡＡＬレイヤの処理（両処理を合わせたものを、以下で、ＡＴＭプロトコル処理と記す）をＬＳＩで実現したＡＴＭコントローラが提案されている。例えば、ＮＥＣ技報（Ｖｏｌ．４７  Ｎｏ．７／１９９４）記載の「μＰＤ９８４０１」は、ＡＴＭプロトコル処理を、処理手順が固定化されるワイヤードロジックで実現したものである。この技術によれば、処理の高速化が可能となるが、処理内容の変更はできなくなる。ＡＴＭプロトコルでは、ネットワークの保守／運用に使われるＯＡＭセルや、回線でのトラヒックの混雑度を制御するのに使われるＲＭセルといった管理系のセルの処理など、未だ標準化がなされていない部分がある。ＡＴＭコントローラは、このような部分の処理の変更に対応できることが望ましい。
【０００４】
処理の変更に対応できるＡＴＭコントローラとして、日経エレクトロニクス（１９９４．４．１１  Ｎｏ．６０５  Ｐ．１７，１８）記載の「ＡＴＭｉｚｅｒ」がある。このコントローラはマイクロプロセッサを内蔵しており、セルヘッダの解析や、セルの分解・組立てなどを含む、ＡＴＭプロトコル処理の多くの部分をソフトウェア処理で実施する。ただし、ソフトウェア処理の負担が大いために、処理能力の高い複雑な構造のマイクロプロセッサを備えて、それを高速で動作させている。
【０００５】
【発明が解決しようとする課題】
上記従来の技術では、コネクション数の増加に対応するために、ＡＴＭコントローラでのセルの分解・組立てに、大容量で高速なアクセスが可能な高価なメモリを必要とする。
【０００６】
また、上記従来の、処理の変更に対応できるＡＴＭコントローラは、処理能力の高い複雑な構造のマイクロプロセッサを必要とするために、製造に微細な加工プロセス技術が要求され、コスト高となる。また、高速で動作するために消費電力も高くなる。
【０００７】
そこで、本発明は、セルの分解・組立に用いるメモリの容量を低減したＡＴＭコントローラを提供することを目的とする。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したＡＴＭコントローラを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ＡＴＭ網の伝送路と端末との間で、ＡＴＭプロトコルのＡＴＭレイヤとＡＡＬレイヤの処理を行うＡＴＭコントローラであって、バッファメモリに接続され、前記端末の通信するパケットデータを、前記端末内のメモリと前記バッファメモリとの間で、より短い一定長のデータブロックの単位で転送する転送手段と、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをＡＴＭ網側に送信するセル送信制御手段と、前記バッファメモリ上で、受信したデータセルを組み立てて一定長のデータブロックを形成するセル受信制御手段と、１データブロック分のセルの送受信がなされたことに応じて、前記転送手段に転送指示を行う転送制御手段とを有することを特長とするＡＴＭコントローラを提供する。
【０００９】
このＡＴＭコントローラでは、端末内のメモリとバッファメモリとの間のパケットデータの転送を一定長のデータブロックの単位で行い、この転送を１データブロック分のセルの送受信がなされることに応じて行うため、例えば、ＡＴＭコネクション当たり１データブロック分の格納領域をバッファメモリに確保すればよく、記憶容量の小さい安価なバッファメモリを利用することができる。
【００１０】
さらに、本発明は、上記構成のＡＴＭコントローラであって、前記ＡＴＭ網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、制御プログラムを格納し保持する書換え可能なプログラムメモリと、前記判定により識別されたデータセル以外のセルの解析および解析結果に応じた処理を行うマイクロプロセッサとを有することを特長とするＡＴＭコントローラを提供する。
【００１１】
このＡＴＭコントローラでは、プログラムメモリの書き換えにより、マイクロプロセッサに割り当てられるＡＴＭプロトコル処理の設定や変更に対応できる。また、マイクロプロセッサがセル種別の判定や、データセルの分割・組立ての処理を行わずに済むため、ソフトウェア処理の負荷は低減される。
【００１２】
【発明の実施の形態】
以下で、本発明の実施の形態を、図面を参照しながら説明する。
【００１３】
図２に、本実施形態に係るＡＴＭ通信制御装置が適用される通信ネットワークシステムの一例を示す。図２の例では、計算機等である複数の端末１（１Ａ〜１Ｄ）が、ＡＴＭ通信制御装置２（２Ａ〜２Ｄ）と伝送路７を介して、ＡＴＭスイッチ３に接続されている。ＡＴＭ通信制御装置２は、端末１と伝送路７の間で、パケットおよびセルの変換を行う。
【００１４】
図３に、ＡＴＭ通信プロトコルのレイヤ構成と、端末１とＡＴＭ通信制御装置２の機能分担を示す。図示すように、セルの分割・組立てを行うＡＡＬレイヤ以下の下位レイヤはＡＴＭ通信制御装置２が分担し、ＡＴＭコネクションを確立するシグナリング処理を含むＬＬＣレイヤ以上の上位レイヤは端末１が分担する。
【００１５】
図４は、端末１およびＡＴＭ通信制御装置２で生成されるパケットおよびＡＴＭセルの関係を示す図である。
【００１６】
図において、端末１は、送信する可変長のデータ１４１に、ＬＬＣレイヤ以上のレイヤ処理で得た上位プロトコルヘッダ１４２−１を付加することで、ＬＬＣフレーム１４２を生成する。ＡＴＭ通信制御装置２では、ＡＡＬレイヤの処理により、上記ＬＬＣフレーム１４２に、ＰＡＤフィールド１４３−１、ＬＮＧフィールド１４３−２、ＣＲＣ−３２フィールド１４３−３から成るＣＰＣＳトレイラを付加して、ＣＰＣＳ−ＰＤＵ１４３を生成して、４８バイト毎のデータ（以下、ペイロードと記す）１４４−２に分割する。そして、ＡＴＭレイヤの処理により、各ペイロード１４４−２にセルヘッダ１４４−１を付加して、セル１４４を生成する。生成されたセルは、ＰＨＹレイヤの処理を経て伝送路７上に送出される。一方、受信されたセルは、上記とは逆の手順でＬＬＣフレームに組立てられる。本実施形態では、端末１とＡＴＭ通信制御装置２との間でのＬＬＣフレーム４２の受け渡しは、一定データ長のデータブロック１４５の単位で行われる。
【００１７】
ここで、セルヘッダ１４４−１は、フロー制御等に使用されるＧＦＣフィールド１４４−１Ａと、ＡＴＭコネクションの識別子であるＶＰＩフィールド１４４−１Ｂと、ＶＣＩフィールド１４４−１Ｃと、セルの種別（パケットの最終セルの指定を含む）を示すＰＴフィールド１４４−１Ｄと、セル破棄優先を示すＣＬＰフィールド１４４−１Ｅと、セルヘッダ１４４−１に対する誤り検出用情報であるＨＥＣフィールド１４４−１Ｆとで構成される。また、セルは、図５に示すように、ユーザデータを運ぶデータセル２４５と、ネットワークの保守／運用で使用されるＯＡＭセル２４６と、データセルの送信レート制御に使用されるＲＭセル２４７とに分類される。これらの種別は、セルヘッダ４４−１内のＰＴフィールド４４−１Ｄにより識別される。
【００１８】
図６に、ＡＴＭ通信制御装置におけるセルの送受信シーケンスの一例を示す。端末１は、通信相手の端末１との間で、まず、ＡＴＭのコネクション（以下、ＶＣと記す）を設定する。ＶＣの設定および解放は、端末１のシグナリング処理により行われる。端末１から送信されるパケットは、ＡＴＭ通信制御装置２内でセルに分割されて、伝送路７に送出される。受信側のＡＴＭ通信制御装置２では、受信セルはパケットに組み立てられて端末１に転送される。また、ＡＴＭ通信制御装置２は、データセルの転送以外に、ＯＡＭセルやＲＭセルといった管理セルを、他のＡＴＭ通信制御装置２やＡＴＭスイッチ３との間でやり取りする。そして、セルの転送終了後には、ＶＣを解放して通信を終了する。
【００１９】
図１は、ＡＴＭ通信制御装置２の構成の一例を示すブロック図である。
【００２０】
図１において、端末１は、通信に関わる構成として、主プロセッサ４と、主メモリ５と、それらを接続するシステムバス６を備える。ＡＴＭ通信制御装置２は、セルの分割・組立てなどの処理を行うＡＴＭコントローラ８と、伝送路７でのセルの転送制御を行うＰＨＹコントローラ９と、送受信されるセルおよび分割・組立を行うセルを格納するバッファメモリ４０と、ＰＨＹコントローラ９を駆動する水晶発振器１０とにより構成される。
【００２１】
ＡＴＭコントローラ８は、端末１のシステムバス６に接続するためのバスインタフェース回路９０と、上記主メモリ５とバッファメモリ４０の間でパケットの転送を行うＨＯＳＴ・ＤＭＡＣ５０と、バッファメモリ４０上でセルの分割・組立てを行うＳＡＲ・ＤＭＡＣ６０と、セルの生成および解析を行うセル送受信制御部７０と、ＭＰＵ１００と、ＭＰＵ１００の制御プログラムを格納する書換え可能なＲＯＭ２０と、ＭＰＵ１００のワークメモリであるＲＡＭ３０と、上記ＨＯＳＴ・ＤＭＡＣ５０とＳＡＲ・ＤＭＡＣ６０とＭＰＵ１００の、バッファメモリ４０へのアクセスを調停するアービタ１１０と、上記主プロセッサ４とＭＰＵ１００との間で制御情報をやりとりするための共有メモリ８０と、コントローラ内の各部を相互に接続する内部バス２００とで構成される。
【００２２】
ＲＯＭ２０に格納されているプログラムコードは、バスインタフェース回路９０と内部バス２００を介して、主プロセッサ４から書き替えることができる。なお、ＡＴＭコントローラ８は水晶発信器（図示略）を内蔵しており、コントローラ内の各部は、この発信器のクロックに従って動作する。
【００２３】
図７に、ＡＴＭコントローラ８でのＡＴＭプロトコル処理の機能分担の一例を示す。図示するように、ＡＴＭ通信制御装置２では、管理セルの生成・解析処理や、パケットのデータブロック単位に発生する端末１とのインタフェース処理など、処理内容の変更に対する要求が高い部分に限って、ＭＰＵ１００が処理する。そして、ＣＲＣ計算や、セルの分割・組立て処理といった、処理内容の変更よりも処理の高速性の方が優先する部分については、ワイヤードロジックが処理する。本実施形態では、このように処理を分担することで、ＭＰＵ１００の処理負荷を軽減させている。
【００２４】
図８に、バッファメモリ４０の構成を示す。
【００２５】
図８において、バッファメモリ４０には、ＳＡＲ・ＤＭＡＣ６０がセルの分割（送信）処理で利用する管理情報を保持する分割管理テーブル４５と、ＳＡＲ・ＤＭＡＣ６０がセルの組立て（受信）処理で利用する管理情報を保持する組立て管理テーブル４７と、送信対象のパケットを格納する送信バッファ４６と、組み立てられた受信パケットのデータブロックを格納する受信バッファ４８と、送受信する管理用セルを格納する管理セル用受信バッファ４９Ａおよび管理セル用送信バッファ４９Ｂとが設定されている。これらのテーブルおよびバッファは、ＶＣ毎に設けられる。
【００２６】
分割管理テーブル４５は、次に送信すべきペイロード４４−１の、送信バッファ４６における格納位置（アドレス）を保持する送信バッファポインタ４５−１と、送信データ長４５−２と、セル送信毎に更新されるＣＲＣ計算の結果を保持する送信ＣＲＣ計算途中結果４５−３と、ペイロード４４−２に付加するセルヘッダ４４−１のテンプレートを保持する送信セルヘッダ４５−４と、最終ブロック表示フラグ４５−５とで構成される。
【００２７】
組立て管理テーブル４７は、次に受信するセルの受信バッファ４８でのアドレスを保持する受信バッファポインタ４７−１と、受信データ長４７−２と、セル受信毎に更新されるＣＲＣ計算の結果を保持する受信ＣＲＣ計算途中結果４７−３と、バッファブロック長４７−４とで構成される。
【００２８】
ところで、送信バッファ４６および受信バッファ４８にＬＬＣフレーム１４２全体を格納できるようにする場合には、ＶＣ毎に例えば４Ｋバイト程度の容量が必要となり、バッファメモリ４０として容量の大きい高価なメモリを使用しなければならない。また、可変長であるＬＬＣフレーム１４２は６４バイト程度の場合もあるため、バッファメモリ４０の利用効率は非常に低い。このため、本実施形態では、送信バッファ４６および受信バッファ４８の容量を、それぞれ、ＬＬＣフレーム１４２を分割したデータブロック１４５の大きさ（例えば、２８８バイト）とし、６個分のペイロード１４４１を格納できるようにしている。なお、送信バッファ４６および受信バッファ４８の容量と、データブロック１４５の大きさは、上記の値に限定されない。
【００２９】
図９は、セル送受信制御部７０の内部構成を示すブロック図である。
【００３０】
図において、セル送受信制御部７０は、受信したセルを一時的に保持する受信ＦＩＦＯ７４と、受信ＦＩＦＯ内のセルを分解して転送するセル分解処理部７５と、セルの経路情報の変換を行うＶＣ識別ＣＡＭ７７と、送信セルを生成するセルヘッダ組立て処理部７１と、生成された送信セルを一時的に保持する送信ＦＩＦＯ７２で構成される。
【００３１】
セル分解処理部７５は、セルのペイロードと、ヘッダ中のＰＴフィールド４４−１Ｄ（セル種別）とをＳＡＲ・ＤＭＡＣ６０に転送し、ＶＰＩフィールド４４−１ＢとＶＣＩフィールド４４−１ＣをＶＣ識別ＣＡＭ７７に転送する。ＶＣ識別ＣＡＭ７７は、ＭＰＵ１００により、ＶＰＩ／ＶＣＩとＶＣ識別子（コネクション識別子）との組が予め複数登録され、セル分解処理部７５より入力されるＶＰＩ４４−１ＢとＶＣＩ４４−１Ｃに一致する組を検索して、一致した組のＶＣ識別子をＳＡＲ・ＤＭＡＣ６０に出力する。
【００３２】
図１０は、ＳＡＲ・ＤＭＡＣ６０の内部構成を示すブロック図である。
【００３３】
図において、ＳＡＲ・ＤＭＡＣ６０は、組立て管理テーブル４７を用いて受信セルを順次に受信バッファ４８に格納するＲｘＤＭＡＣ６２と、送信バッファ４６に格納されたパケットデータを分割管理テーブル４５を用いてセルに分割して順次に送信するＴｘＤＭＡＣ６１と、複数ある受信バッファ４８の内の、空き状態のバッファのアドレスを保持する受信バッファプール６５と、送信するセルのスケジューリングを行うレートタイマ６９とから構成されている。また、図示するように、ＲｘＤＭＡＣ６２とＴｘＤＭＡＣ６１は、転送するセルのペイロードに対して、誤り検出用のＣＲＣ計算を行うＣＲＣ計算回路６３，６４が内蔵されている。
【００３４】
図１１に、レートタイマ６９の内部構成を示す。図において、レートタイマ６９は、データセルの送信要求をＶＣ毎に出すための複数のタイマエントリ部（０，・・・，ｎ）と、管理セルの送信要求を出すための管理セル送信要求レジスタ６９−４と、各タイマエントリ部および管理セル送信要求レジスタ６９−４の送信要求を調停するアービタ６９−５とにより構成される。
【００３５】
各タイマエントリ部は、ＶＣの識別情報が登録されるコネクション識別子格納部６９−１と、そのＶＣのセルの送信間隔を指定する情報が登録されるタイマ初期値格納部６９−２と、タイマカウンタであるカウンタ部６９−３とから成る。ＭＰＵ１００は、端末１から新たなパケットの送信要求を受けると、登録を行っていないタイマエントリ部に対し、上記送信要求に対応するＶＣの識別情報および送信間隔を指定する情報を登録する。登録のなされたタイマエントリ部では、カウンタ部６９−３が、タイマ初期値格納部６９−２の格納値から、供給されるクロック信号（ｃｌｏｃｋ）に同期してカウントダウンを行い、０値となった時点で送信要求（Ｔｉｍｅ  ｏｕｔ）をアービタ６９−５に出力する。そして、以上の動作を繰り返す。これにより、各タイマエントリ部からは、登録されたＶＣについての送信要求が、登録された時間間隔で出力される。一方、管理セル送信要求レジスタ６９−４は、ＭＰＵ１００により登録された情報を送信要求としてアービタ６９−５に出力する。
【００３６】
アービタ６９−５は、あるタイマエントリ部から送信要求を受けると、その送信要求と共に供給されるＶＣの識別情報を指定して、ＴＸ−ＤＭＡＣ６１にセル送信要求６９−６を出す。管理セル送信要求レジスタ６９−４からの送信要求を受けた場合には、管理セルを指定して送信要求を出す。そして、複数のタイマエントリ部や管理セル送信要求レジスタ６９−４から送信要求を同時に受けた場合には、それら送信要求をシリアル化し順次出力する。なお、複数のタイマエントリ部および管理セル送信要求レジスタ６９−４に予め優先順位を定め、優先順位の高いものからの送信要求をより早く出力するようにしてもよい。
【００３７】
次に、  ＡＴＭ通信制御装置２のデータ送信時の動作を、図１１を用いて説明する。
【００３８】
ＭＰＵ１００は、共有メモリ８０を介して端末１よりパケット送信要求を受けると（ステップ５００）、ＨＯＳＴ・ＤＭＡＣ５０を起動して、主メモリ５に格納された送信パケットのデータブロックを、送信バッファ４６に転送する（５０１）。そして、その送信パケットの全てのデータブロックの転送が完了したかどうかを判定する（５０２）。転送が完了した場合、転送した送信パケットに対して、ＣＲＣフィールド４３−３以外のＣＰＣＳトレイラを付加し（５０３）、送信バッファ４６の先頭アドレスと、送信データ長と、送信するセルに付加するセルヘッダのテンプレートと、最終ブロックであることを指定する情報とを、対応するＶＣの分割管理テーブル４５に設定する（５０４）。ステップ５０２で、ＤＭＡ転送が完了していない場合には、最終ブロックでないことを指定する情報を含む登録を、対応するＶＣの分割管理テーブル４５に行う（５０５）。
【００３９】
次に、ＭＰＵ１００は、レートタイマ６９に、対応するＶＣのコネクション識別子および送信間隔を登録する（５０６）。そして、レートタイマ６９は、指定された送信間隔が経過する毎にセルの送信要求をＴｘＤＭＡＣ６１に出力する（５０７）。送信要求を受けたＴｘＤＭＡＣ６１は、対応するＶＣの分割管理テーブル４５から、送信バッファポインタ４５−１、送信データ長４５−２、送信ＣＲＣ計算途中結果４５−３（初期値は０）、送信セルヘッダ４５−４をそれぞれ読み出す（５０８）。そして、送信バッファ４６の送信データを４８バイトの単位で読み出し、先に読み出したセルヘッダ４５−４と合わせてセルを形成して、送信する（５０９）。この時、ペイロード部分に対してはＣＲＣ計算を実行する。そして、セルの送信終了後、送信パケットの最終セルを送信したかどうかを判定する（５１０）。
【００４０】
送信パケットの最終セルを送信していない場合、ＴｘＤＭＡＣ６１は、ＣＲＣ計算の結果を分割管理テーブルに退避し、次のセル送信に備えて、送信バッファポインタ４５−１と送信データ長４５−２とを更新する（５１１）。そして、送信バッファ４６の最後のセルを送信したかどうかを判定し（５１２）、最後のセルを送信していない場合は上記のステップ５０７に戻る。送信バッファ４６の最後のセルを送信した場合には、ＭＰＵ１００にデータブロックの送信完了を通知し（５１３）、動作は上記のステップ５０１に戻る。
【００４１】
上記のステップ５１０で、送信パケットの最終セルを送信している場合、ＴｘＤＭＡＣ６１は、その時のＣＲＣ計算結果をＣＰＣＳトレイラのＣＲＣ−３２フィールド４３−３に挿入して、ＰＨＹコントローラ９に送信する（５１４）。そして、ＭＰＵ１００にパケット送信の完了を通知する（５１５）。この通知を受けたＭＰＵ１００は、端末１に対してパケット送信の完了を通知する（５１６）。
【００４２】
次に、ＡＴＭ通信制御装置２のセル受信時の動作を、図１３および図１４を用いて説明する。
【００４３】
ＡＴＭコントローラ８のセル送受信制御部７０では、ＰＨＹコントローラ９よりセルを受信すると（ステップ６００）、セル分解処理部７５が受信セルのセルヘッダを解析し、セル種別７８−２を判別すると同時に、ＶＣ識別ＣＡＭ７７を用いてセルのＶＰＩ／ＶＣＩをＶＣ識別子に変換する（６０１）。そして、セル送受信制御部７０は、セル種別７８−２およびＶＣ識別子７８−１を指定してＲｘＤＭＡＣ６２を起動する（６０２）。ＲｘＤＭＡＣ６２では、セル種別７８−２に従い次の処理を行う（６０３）。
【００４４】
受信したセルがデータセル２４５でない場合、管理セル用受信バッファ４９Ａにセルを転送し（６０４）、ＭＰＵ１００に管理セルの受信を通知する（６０５）。この通知を受けたＭＰＵ１００は、受信した管理セルに応じた処理を行い（６０６）、必要に応じて返信用の管理セルを生成して、管理セル用送信バッファ４９Ｂに格納し、ＴｘＤＭＡＣ６１を起動して、その管理セルを送信させる（６０７、６０８）。
【００４５】
ステップ６０３で、受信したセルがデータセル２４５であった場合には、識別したＶＣに対応する組立て管理テーブル４７からパラメータを読み出し（６０９）、受信バッファポインタ４７−１に受信バッファ４８が登録されていなければ、受信バッファプール６５から空き受信バッファの先頭アドレスを取り出して、組立て管理テーブル４７の受信バッファポインタ４７−１に登録する（６１０、６１１）。そして、受信したセルのペイロード部分を、受信バッファポインタ４７−１の指し示す受信バッファ４８に、ＣＲＣ計算を行いながら転送する（６１２）。転送が完了すると、ＲｘＤＭＡＣ６２は、ＣＲＣ計算結果を組立て管理テーブル４７の受信ＣＲＣ計算途中結果４７−３に退避し、次のセル受信に備えて、受信バッファポインタ４７−１と受信データ長４７−２を更新する（６１３）。そして、転送先の受信バッファ４８が、受信パケットの非最終セルで満たされたかどうかどうかを判定する（６１４）。
【００４６】
受信バッファ４８が非最終セルで満たされた場合、ＲｘＤＭＡＣ６２は、データブロックの受信完了と、その先頭アドレスとをＭＰＵ１００に通知し（６１５）、受信バッファプールより空き受信バッファのアドレスを獲得して、組み立て管理テーブル４７に登録する（６１６）。通知を受けたＭＰＵ１００は、ＨＯＳＴ・ＤＭＡＣ５０を起動して、データブロックを主メモリ５に転送する（６１７）。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する（６１８）。
【００４７】
上記のステップ６１４で、受信バッファ４８が非最終セルで満たされない場合、ＲｘＤＭＡＣ６２は、受信したセルが受信パケットの最終セルであるかどうかを判定し（６１９）、最終セルでない場合には上記のステップ６００の処理に戻る。受信したセルが最終セルである場合には、ＣＲＣ計算結果から正常性をチェックし、ＭＰＵ１００に対して、受信バッファのアドレスと、受信データ長を、パケット受信完了情報として通知する（６２０）。その後、次の受信に備えて、受信バッファポインタ４７−１、受信データ長４７−２、受信ＣＲＣ計算途中結果４７−３の各フィールドをクリアする（６２１）。パケット受信完了の通知を受けたＭＰＵ１００は、ＨＯＳＴ・ＤＭＡＣ５０を起動し、受信パケットの最後のデータブロックを主メモリ５に転送し（６２２）、共有メモリ８０を介してパケットの受信完了を端末１に通知する（６２３）。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する（６２４）。
【００４８】
図１５に、以上の処理により実現されるＡＴＭ通信制御装置２の動作の一例を示す。図中、Ｂ１，Ｂ２は、異なるデータブロックについての処理を示している。なお、図では、片方向の通信のみを示しているが、実際の通信は双方向に行われる。図示するように、ＡＴＭコントローラ２のＨＯＳＴ・ＤＭＡＣ５０は、データブロックの単位でパケットデータの転送を行い、１データブロック分の送受信がなされることに応じて転送を繰り返す。このため、バッファメモリ４０に必要とされる容量は、ＡＴＭコネクション当たり、最低１データブロック分あればよい。
【００４９】
図１６は、ＡＴＭ通信制御装置２をＰＣＭＣＩＡカード型に構成した場合の構成図である。このＡＴＭ通信制御装置２は、１チップのＬＳＩで実現したＡＴＭコントローラ８と、従来の１チップのＰＨＹコントローラ９と、バッファメモリ（ＲＡＭ）４０と、水晶発振器１０と、回線接続用のトランスとを、ＰＣＭＣＩＡカード内に実装したものである。
【００５０】
以上で説明したように、本実施形態のＡＴＭコントローラ８では、バッファメモリ４０として容量の小さい安価なメモリを用いることができる。また、ＭＰＵ１００が分担するＡＴＭプロトコル処理を、処理内容の変更に柔軟性を持たせたい処理だけに限定し、他の処理はワイヤードロジックで行うようにすることで、ＭＰＵ１００の処理負荷を低減し、低コストかつ低消費電力なＡＴＭコントローラが実現可能となる。また、ＡＴＭコントローラ８を１チップのＬＳＩで実現することで、ＡＴＭ通信制御装置２の構成部品の数が少なくなり、ＡＴＭ通信制御装置２をＰＣＭＣＩＡカード等の超小型の装置に実装することが可能となる。
【００５１】
（実施形態２）
次に、本発明の第２の実施形態に係るＡＴＭ通信制御装置について説明する。
【００５２】
本実施形態は、データブロック４５の転送に起因するセル通信の遅延を改善したものであり、データブロック４５の転送制御が第１の実施形態と異なる。なお、第１の実施形態と同じ構成および動作については説明を省略する。
【００５３】
図１７に、本実施形態のバッファメモリ４０（γ）の構成を示す。図示するように、バッファメモリ４０γの分割管理テーブル４５γは、送信バッファポインタ４５−１の設定領域が２つ（４５−１ａおよび４５−１ｂ）ある点が第１の実施形態と異なる。そして、本実施形態では、送信バッファポインタ４５−１ａおよび４５−１ｂにより、ＶＣ毎に２つの送信バッファ４６ａおよび４６ｂを登録することができる。
【００５４】
図１８は、本実施形態におけるＡＴＭ通信制御装置２の送信動作を示すフローチャートである。
【００５５】
図示するように、本実施形態の送信動作では、送信パケットの非最終のデータブロックを受信バッファ４６にＤＭＡ転送し、対応するＶＣの分割管理テーブル４５γの登録を行うと（７０１，７０２，７１２）、ＭＰＵ１００は、次のデータブロックを格納する受信バッファの登録が可能であるかどうかを判断し（７１３）、登録可能であればステップ７０１へ戻り、次のデータブロックのＤＭＡ転送を行う。
【００５６】
また、対象のデータブロックの最終セルの送信が完了し、それがＭＰＵ１００に通知されると（７１１，７１７）、次に送信するデータブロックを格納する送信バッファが登録されているかどうかが判断される（７１８）。登録されている場合、動作は、その登録を基にセルの生成および送信を行うステップ（７０８）に戻り、登録されていない場合には、新たなブロックデータを取り込む上記ステップ７０１に戻る。
【００５７】
図１９に、本実施形態のＡＴＭ通信制御装置２の送受信動作の一例を示す。図１５との比較から分かるように、本実施形態では、あるデータブロックの送受信と並行して、端末１との間で他のデータブロック（次に送信するデータブロックや、受信を完了した１つ前のデータブロック）の転送を行う。このため、端末との間でなされる転送の影響を受けずに、送信パケットの全てのセルを連続的に送信および受信することが可能となり、セルの通信効率が向上する。
【００５８】
（実施形態３）
次に、本発明の第３の実施形態に係るＡＴＭ通信制御装置について説明する。
【００５９】
本実施形態は、バッファメモリ４０のアクセス頻度と容量を共に低減し、バッファメモリ４０として、より安価なメモリ（ＲＡＭ）を利用できるようにしたものである。
【００６０】
図２０は、本実施形態のＡＴＭ通信制御装置２αの構成を示すブロック図である。
【００６１】
ＡＴＭ通信制御装置２αは、セルの分割・組立てを、バッファメモリ４０だけでなく、端末１の主メモリ５でも行えるように構成されている。具体的には、第１の実施形態で述べたＡＴＭコントローラ８のバスインタフェース回路９０とＳＡＲ・ＤＭＡＣ６０の間に、新たにデータ転送パス２１０，２２０を追加した構成のＡＴＭコントローラ８αを備える。この構成で、ＳＡＲ・ＤＭＡＣ６０は、ＤＭＡパス２１０，２２０およびバスインタフェース回路９０を介して、主メモリ５との間で送受信セルを受け渡しすることができる。
【００６２】
図２１に、ＡＴＭ通信制御装置２α内のバッファメモリ４０αと、端末１内の主メモリ５に形成されたバッファ領域との各構成とそれらの対応関係を示す。
【００６３】
分割管理テーブル４５αに定義された送信バッファポインタ４５−１は、バッファメモリ４０に定義された送信バッファ４６の他に、主メモリ５に定義された送信バッファ４６αを指し示すことができる。また、分割管理テーブル４５αには、送信対象のパケットが送信バッファ４６，４６αのどちらに格納されているかを指定する送信バッファ種別フィールド４５−５が追加されている。
【００６４】
組立て管理テーブル４７αも同様に、受信バッファポインタ４７−１が、バッファメモリ４０に定義された受信バッファ４８と、主メモリ５に定義された受信バッファ４８αの一方を指し示し、受信セルの格納先の受信バッファ４８，４８αを指定する受信バッファ種別フィールド４７−５が追加されている。
【００６５】
図２２に、ＡＴＭコントローラ８α内のＳＡＲ・ＤＭＡＣ６０αの構成を示す。図示するように、ＳＡＲ・ＤＭＡＣ６０αは、第１の実施形態のＳＡＲ・ＤＭＡＣ６０の構成に加え、主メモリ５に定義された受信バッファ４８αの空き領域のアドレスを保持するホスト受信バッファプール６６を備える。
【００６６】
本実施形態のＡＴＭ通信制御装置２αは、第１の実施形態と同様に、データブロック１４５の単位で端末１とデータの受け渡しを行う。以下では、第１の実施形態と異なる部分の動作について説明する。
【００６７】
図２３は、ＡＴＭコントローラ８αにおける、受信バッファを選択する処理の一例を示すフローチャートである。通信開始時、ＭＰＵ１００は、まず、ＡＴＭコネクション（ＶＣ）を設定する（ステップ４５０）。設定したＡＴＭコネクションが、セルの高速な転送を要求するものである場合には、組立て管理テーブル４７αの受信バッファ種別フィールド４７−４に“主メモリ”を設定し（４５２）、主メモリ５に定義された受信バッファ４８αのアドレスを、ＳＡＲ・ＤＭＡＣ６０α内のホスト受信バッファプール６６に登録する（４５３）。転送遅延の影響が少ないＡＴＭコネクションが設定された場合には、組立て管理テーブル４７αの受信バッファ種別フィールド４７−４に“バッファメモリ”を設定し（４５４）、バッファメモリ４０に定義された空き受信バッファ４８のアドレスを、ＳＡＲ・ＤＭＡＣ６０α内の受信バッファプール６５に登録する（４５５）。送信バッファ４６，４６αも、以上と同様の手順および条件で選択および登録が行われる。
【００６８】
図２４は、データセルの受信時におけるＲｘＤＭＡＣ６２の動作を示すフローチャートである。ＲｘＤＭＡＣ６２は、セルを受信すると（ステップ４６０）、対応するＶＣの組立て管理テーブル４７αのパラメータをリードし（４６１）、受信バッファ種別フィールド４７−４をチェックする（４６２）。そして、このフィールドに“主メモリ”が設定され、かつ、受信バッファポインタ４７−１にいずれの受信バッファも登録されていない場合には、ホスト受信バッファプール６６から空き受信バッファのアドレスを獲得し、受信バッファポインタ４７−１に登録する（４６３、４６４）。その後、受信バッファポインタ４７−１が示す、主メモリ５の受信バッファ４８αに受信セルを転送する（４６５）。ステップ４６２の処理で、フィールド４７−４に“バッファメモリ”が設定されており、かつ、受信バッファポインタ４７−１にいずれの受信バッファも登録されていない場合には、受信バッファプール６５から空き受信バッファのアドレスを獲得し、受信バッファポインタ４７−１に登録する（４６６、４６７）。そして、受信バッファポインタ４７−１が示すバッファメモリ４０の受信バッファ４８に受信セルを転送し（４６８）、組立て管理テーブル４７αを更新する（４６９）。セルの送信処理においても、上記と同様の手順で、送信バッファ４６，４６αの選択が行われる。
【００６９】
ＡＴＭコントローラ８αのバスインタフェース回路９０は、ＨＯＳＴ・ＤＭＡＣ５０に対するＤＭＡ転送処理よりも、ＳＡＲ・ＤＭＡＣ６０αに対する転送処理を優先させる。図２５に示すように、ＨＯＳＴ・ＤＭＡＣ５０のＤＭＡ転送の途中でＳＡＲ・ＤＭＡＣ６０αの転送要求を受けた場合、バスインタフェース回路９０は、ＨＯＳＴ・ＤＭＡＣ５０のＤＭＡ転送処理を中断して、ＳＡＲ・ＤＭＡＣ６０αの転送処理を行う。これにより、本実施形態では、ＳＡＲ・ＤＭＡＣ６０αと主メモリ５との間のセルの転送時間を短縮している。
【００７０】
以上のように、本実施形態のＡＴＭ通信制御装置２αでは、転送時の遅延の影響が大きいＶＣに対しては、セルの分割・組立て処理を主メモリ５上で行うため、より低速で小容量の安価なバッファメモリ４０を用いることが可能である。また、主メモリ５とＳＡＲ・ＤＭＡＣ６０αとの間で送受信セルを転送できるため、セル転送の高速化と、その転送に関わるＭＰＵ１００の処理負荷の軽減が達成される。
【００７１】
なお、本実施形態の装置では、扱うトラヒックの性質に応じて、ＶＣ毎に主メモリ５とバッファメモリ４０αの一方を転送先として選択しているが、これ以外の規則に基づいて選択を行ってもよい。例えば、トラヒックの性質や、ＶＣの単位に関わらず、トラヒック量に応じて転送先を切り替えてもよい。また、制御系のデータセル／ユーザ用のデータセルといった分類に対応させて、選択を行うようにしてもよい。
【００７２】
また、本実施形態のＡＴＭ通信制御装置２αは、バッファメモリ４０αの送信バッファポインタ４５−１を２つ設けて、第２の実施形態と同様のデータブロックの転送制御を行うことで、セルの通信効率を向上させることが可能である。
【００７３】
【発明の効果】
本発明によれば、セルの分解・組立に用いるメモリの容量を低減したＡＴＭコントローラを提供することができる。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したＡＴＭコントローラを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態のＡＴＭ通信制御装置およびＡＴＭコントローラの構成を示すブロック図。
【図２】ＡＴＭ通信制御装置が適用されるネットワークシステムの構成図。
【図３】通信プロトコルレイヤの階層および機能分担を示す図。
【図４】パケット（フレーム）とＡＴＭセルの関係および構成を示す図。
【図５】セルの種類を示す図。
【図６】ＡＴＭプロトコルの通信シーケンスを示す図。
【図７】ＡＴＭプロトコルにおける、ＭＰＵとワイヤードロジックの機能分担を示した図。
【図８】バッファメモリに定義されたテーブルの構成を示す図。
【図９】セル送受信制御部の構成を示すブロック図。
【図１０】ＳＡＲ・ＤＭＡＣの他の構成を示すブロック図。
【図１１】レートタイマの内部構成を示すブロック図。
【図１２】ＡＴＭ通信制御装置の送信フローを示すフローチャート。
【図１３】ＡＴＭ通信制御装置の受信フローを示すフローチャート。
【図１４】ＡＴＭ通信制御装置の受信フローを示すフローチャート。
【図１５】ＡＴＭ通信制御装置の動作例を示すタイミングチャート。
【図１６】ＰＣＭＣＩＡカード型のＡＴＭ通信制御装置の実装図。
【図１７】第２の実施形態のＡＴＭ通信制御装置のバッファメモリに定義されたテーブルの構成を示す図。
【図１８】ＡＴＭ通信制御装置の送信フローを示すフローチャート。
【図１９】ＡＴＭ通信制御装置の動作例を示すタイミングチャート。
【図２０】第３の実施形態のＡＴＭ通信制御装置の構成を示すブロック図。
【図２１】バッファメモリに定義されるテーブルの構成図。
【図２２】ＳＡＲ・ＤＭＡＣの構成を示すブロック図。
【図２３】ＭＰＵのバッファ選択処理フローを示すフローチャート。
【図２４】ＡＴＭコントローラのセル転送処理フローを示すブロック図。
【図２５】バスインタフェース回路の動作を示すタイムチャート。
【符号の説明】
１…端末、２…ＡＴＭ通信制御装置、３…ＡＴＭスイッチ、４…主プロセッサ、５…主メモリ、６…システムバス、７…伝送路、８…ＡＴＭコントローラ、９…ＰＨＹコントローラ、１０…水晶発振器、２０…ＲＯＭ、３０…ＲＡＭ、４０…バッファメモリ、５０…ＨＯＳＴ・ＤＭＡＣ、６０…ＳＡＲ・ＤＭＡＣ、６９…レートタイマ、７０…セル送受信制御部、８０…共有メモリ、９０…バスインタフェース回路、１００…ＭＰＵ、２００…内部バス。
【図１】
0003610193.tif 000002
【図２】
0003610193.tif 000003
【図３】
0003610193.tif 000004
【図４】
0003610193.tif 000005
【図５】
0003610193.tif 000006
【図６】
0003610193.tif 000007
【図７】
0003610193.tif 000008
【図８】
0003610193.tif 000009
【図９】
0003610193.tif 000010
【図１０】
0003610193.tif 000011
【図１１】
0003610193.tif 000012
【図１２】
0003610193.tif 000013
【図１３】
0003610193.tif 000014
【図１４】
0003610193.tif 000015
【図１５】
0003610193.tif 000016
【図１６】
0003610193.tif 000017
【図１７】
0003610193.tif 000018
【図１８】
0003610193.tif 000019
【図１９】
0003610193.tif 000020
【図２０】
0003610193.tif 000021
【図２１】
0003610193.tif 000022
【図２２】
0003610193.tif 000023
【図２３】
0003610193.tif 000024
【図２４】
0003610193.tif 000025
【図２５】
0003610193.tif 000026