JP3360138B2 - 通信制御装置 - Google Patents
通信制御装置Info
- Publication number
- JP3360138B2 JP3360138B2 JP00353491A JP353491A JP3360138B2 JP 3360138 B2 JP3360138 B2 JP 3360138B2 JP 00353491 A JP00353491 A JP 00353491A JP 353491 A JP353491 A JP 353491A JP 3360138 B2 JP3360138 B2 JP 3360138B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- buffer memory
- data
- bus
- processor
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Description
【0001】
【産業上の利用分野】本発明は、通信制御装置に関し、
さらに詳しくは、計算機と情報通信ネットワークとを接
続する通信制御装置に関する。
さらに詳しくは、計算機と情報通信ネットワークとを接
続する通信制御装置に関する。
【0002】
【従来の技術】従来の通信制御装置としては、特開昭6
2−60044号公報や,特開昭62−60045号公
報や,特開昭62−279754号公報に記載の通信制
御装置が知られている。
2−60044号公報や,特開昭62−60045号公
報や,特開昭62−279754号公報に記載の通信制
御装置が知られている。
【0003】特開昭62−60044号公報に記載の通
信制御装置は、送受信データと送受信のための制御情報
とを同一のメモリに格納したときにメモリ競合が起こる
ことを避けるため、送受信データ用のメモリと,送受信
のための制御情報用のメモリとを別個のメモリとしたも
のである。
信制御装置は、送受信データと送受信のための制御情報
とを同一のメモリに格納したときにメモリ競合が起こる
ことを避けるため、送受信データ用のメモリと,送受信
のための制御情報用のメモリとを別個のメモリとしたも
のである。
【0004】特開昭62−60045号公報に記載の通
信制御装置は、上記特開昭62−60044号公報に記
載の通信制御装置における送受信データ用のメモリに対
してアクセス競合が起こるのを避けるため、送受信デー
タ用のメモリとして、入力線と出力線とを別個にもつF
IFOを用いたものである。
信制御装置は、上記特開昭62−60044号公報に記
載の通信制御装置における送受信データ用のメモリに対
してアクセス競合が起こるのを避けるため、送受信デー
タ用のメモリとして、入力線と出力線とを別個にもつF
IFOを用いたものである。
【0005】特開昭62−279754号公報に記載の
通信制御装置は、通信プロトコル処理の高速化を図り,
通信制御装置のスループットを向上させるため、マトリ
ックス制御回路,入力イベント・ステート・アドレス変
換回路,入力イベントFIFOメモリ,ステートレジス
タといったハードウェアにより通信プロトコル処理を実
行させるものである。
通信制御装置は、通信プロトコル処理の高速化を図り,
通信制御装置のスループットを向上させるため、マトリ
ックス制御回路,入力イベント・ステート・アドレス変
換回路,入力イベントFIFOメモリ,ステートレジス
タといったハードウェアにより通信プロトコル処理を実
行させるものである。
【0006】
【発明が解決しようとする課題】上記従来の通信制御装
置では、メモリを分けたり、FIFOを用いたり、通信
プロトコル処理用のハードウェアを設けたりしている。
置では、メモリを分けたり、FIFOを用いたり、通信
プロトコル処理用のハードウェアを設けたりしている。
【0007】しかし、メモリやFIFOや通信プロトコ
ル処理用のハードウェアが同一の内部バスに接続されて
いるため、送受信データの入出力のためのデータ転送と
プロトコル処理のための制御情報転送の間で内部バス獲
得競合を起こす。これは、送受信データの入出力のとき
に通信プロトコル処理が中断し、並列に処理が進まない
ことを意味する。すなわち、従来の通信制御装置では、
内部バス獲得競合のために、全体としての通信制御装置
のスループットがそれほど向上しない問題点がある。
ル処理用のハードウェアが同一の内部バスに接続されて
いるため、送受信データの入出力のためのデータ転送と
プロトコル処理のための制御情報転送の間で内部バス獲
得競合を起こす。これは、送受信データの入出力のとき
に通信プロトコル処理が中断し、並列に処理が進まない
ことを意味する。すなわち、従来の通信制御装置では、
内部バス獲得競合のために、全体としての通信制御装置
のスループットがそれほど向上しない問題点がある。
【0008】そこで、本発明の目的は、内部バス獲得競
合を防止して、ネットワーク伝送速度の高速化に見合っ
た高スループットの得られる通信制御装置を提供するこ
とにある。
合を防止して、ネットワーク伝送速度の高速化に見合っ
た高スループットの得られる通信制御装置を提供するこ
とにある。
【0009】
【課題を解決するための手段】第1の観点では、本発明
は、計算機と通信回線の間に位置し、計算機とのインタ
フェースを制御する上位計算機インタフェース部と,通
信回線を介したデータの送受信を行う回線制御部と,送
受信データを格納するバッファメモリ部と、バッファメ
モリ部に格納されたデータに対してプロトコル処理を実
行するプロトコル処理部とを含む通信制御装置におい
て、上位計算機インタフェース部および回線制御部とバ
ッファメモリ部とを結ぶデータバスとは別にプロトコル
処理部とバッファメモリ部とを結ぶプロトコル処理部バ
スを設け、バッファメモリ部への上位計算機インタフェ
ース部若しくは回線制御部のアクセスと、バッファメモ
リ部へのプロトコル処理部のアクセスとがバス獲得競合
を起こさないようにしたことを特徴とする通信制御装置
を提供する。
は、計算機と通信回線の間に位置し、計算機とのインタ
フェースを制御する上位計算機インタフェース部と,通
信回線を介したデータの送受信を行う回線制御部と,送
受信データを格納するバッファメモリ部と、バッファメ
モリ部に格納されたデータに対してプロトコル処理を実
行するプロトコル処理部とを含む通信制御装置におい
て、上位計算機インタフェース部および回線制御部とバ
ッファメモリ部とを結ぶデータバスとは別にプロトコル
処理部とバッファメモリ部とを結ぶプロトコル処理部バ
スを設け、バッファメモリ部への上位計算機インタフェ
ース部若しくは回線制御部のアクセスと、バッファメモ
リ部へのプロトコル処理部のアクセスとがバス獲得競合
を起こさないようにしたことを特徴とする通信制御装置
を提供する。
【0010】第2の観点では、本発明は、計算機と通信
回線の間に位置し、計算機とのインタフェースを制御す
る上位計算機インタフェース部と,通信回線を介したデ
ータの送受信を行う回線制御部と,送受信データを格納
するバッファメモリ部と、バッファメモリ部に格納され
たデータに対してプロトコル処理を実行するプロトコル
処理部とを含む通信制御装置において、上位計算機イン
タフェース部,回線制御部,プロトコル処理部の各々に
通信プロトコル処理を実行する各処理部専用のプロセッ
サを配置し、上位計算機インタフェース部および回線制
御部とバッファメモリ部とを結ぶデータバスとは別に前
記各プロセッサとバッファメモリ部とを結ぶプロトコル
処理部バスを設け、バッファメモリ部への上位計算機イ
ンタフェース部および回線制御部のデータ入出力のため
のアクセスと、バッファメモリ部への各プロセッサの通
信プロトコル処理のためのアクセスとがバス獲得競合を
起こさないようにしたことを特徴とする通信制御装置を
提供する。
回線の間に位置し、計算機とのインタフェースを制御す
る上位計算機インタフェース部と,通信回線を介したデ
ータの送受信を行う回線制御部と,送受信データを格納
するバッファメモリ部と、バッファメモリ部に格納され
たデータに対してプロトコル処理を実行するプロトコル
処理部とを含む通信制御装置において、上位計算機イン
タフェース部,回線制御部,プロトコル処理部の各々に
通信プロトコル処理を実行する各処理部専用のプロセッ
サを配置し、上位計算機インタフェース部および回線制
御部とバッファメモリ部とを結ぶデータバスとは別に前
記各プロセッサとバッファメモリ部とを結ぶプロトコル
処理部バスを設け、バッファメモリ部への上位計算機イ
ンタフェース部および回線制御部のデータ入出力のため
のアクセスと、バッファメモリ部への各プロセッサの通
信プロトコル処理のためのアクセスとがバス獲得競合を
起こさないようにしたことを特徴とする通信制御装置を
提供する。
【0011】第3の観点では、本発明は、上記構成にお
いて、上位計算機インタフェース部のプロセッサとプロ
トコル処理部のプロセッサの間およびプロトコル処理部
のプロセッサと回線制御部のプロセッサの間に送信用お
よび受信用のFIFOを設け、これらFIFOを介して
プロセッサ間でインタフェース情報を受け渡しするよう
にしたことを特徴とする通信制御装置を提供する。
いて、上位計算機インタフェース部のプロセッサとプロ
トコル処理部のプロセッサの間およびプロトコル処理部
のプロセッサと回線制御部のプロセッサの間に送信用お
よび受信用のFIFOを設け、これらFIFOを介して
プロセッサ間でインタフェース情報を受け渡しするよう
にしたことを特徴とする通信制御装置を提供する。
【0012】第4の観点では、本発明は、上記構成にお
いて、送受信データを格納するバッファメモリとは別に
コマンドメモリを設け、インタフェース情報により示さ
れたコマンドメモリ上のロケーションに、各プロセッサ
の動作を指示するコマンドディスクリプタを定義するこ
とを特徴とする通信制御装置を提供する。
いて、送受信データを格納するバッファメモリとは別に
コマンドメモリを設け、インタフェース情報により示さ
れたコマンドメモリ上のロケーションに、各プロセッサ
の動作を指示するコマンドディスクリプタを定義するこ
とを特徴とする通信制御装置を提供する。
【0013】
【作用】上記第1の観点による通信制御装置では、デー
タ入出力用のデータバスと,通信プロトコル処理用のプ
ロトコル処理部バスを別個に設けたので、バッファメモ
リ部への回線制御部のアクセスとバッファメモリ部への
プロトコル処理部のアクセスがバス獲得競合を起こさな
い。
タ入出力用のデータバスと,通信プロトコル処理用のプ
ロトコル処理部バスを別個に設けたので、バッファメモ
リ部への回線制御部のアクセスとバッファメモリ部への
プロトコル処理部のアクセスがバス獲得競合を起こさな
い。
【0014】上記第2の観点による通信制御装置では、
上位計算機インタフェース部,プロトコル処理部,回線
制御部の各部にプロセッサを配置し、これらプロセッサ
を、データ入出力用のデータバスとは異なるプロトコル
処理部バスに接続したので、バッファメモリ部への上位
計算機インタフェース部および回線制御部のデータ入出
力のためのアクセスとバッファメモリ部への各プロセッ
サの通信プロトコル処理のためのアクセスがバス獲得競
合を起こさない。
上位計算機インタフェース部,プロトコル処理部,回線
制御部の各部にプロセッサを配置し、これらプロセッサ
を、データ入出力用のデータバスとは異なるプロトコル
処理部バスに接続したので、バッファメモリ部への上位
計算機インタフェース部および回線制御部のデータ入出
力のためのアクセスとバッファメモリ部への各プロセッ
サの通信プロトコル処理のためのアクセスがバス獲得競
合を起こさない。
【0015】上記第3の観点による通信制御装置では、
プロトコル処理部バスを使わずに、FIFOを用いてプ
ロセッサ間通信を行うため、プロセッサ間通信のための
オーバヘッドが一層軽減される。
プロトコル処理部バスを使わずに、FIFOを用いてプ
ロセッサ間通信を行うため、プロセッサ間通信のための
オーバヘッドが一層軽減される。
【0016】上記第4の観点による通信制御装置では、
バッファメモリとは別にコマンドメモリを設けたため、
データ入出力処理と通信プロトコル処理の間でメモリ競
合が起こらず、これらの処理を一層並列に進めることが
出来る。
バッファメモリとは別にコマンドメモリを設けたため、
データ入出力処理と通信プロトコル処理の間でメモリ競
合が起こらず、これらの処理を一層並列に進めることが
出来る。
【0017】
【実施例】以下、本発明の一実施例を図面を参照しなが
ら説明する。なお、これにより本発明が限定されるもの
ではない。
ら説明する。なお、これにより本発明が限定されるもの
ではない。
【0018】(第1実施例) 図2は、情報通信ネットワークシステム100を示す構
成図である。この情報通信ネットワークシステム100
は、計算機101Aと通信制御装置102Aとからなる
エンドシステムと,計算機101Bと通信制御装置10
2Bとからなるエンドシステムと,計算機101Cと通
信制御装置102Cとからなるエンドシステムとが、ネ
ットワーク103に接続されたものである。計算機10
1A,101B,101Cはそれぞれ同じ構成であり、
以下では参照符号を101とする。通信制御装置102
A,102B,102Cはそれぞれ同じ構成であり、以
下では参照符号を102とする。
成図である。この情報通信ネットワークシステム100
は、計算機101Aと通信制御装置102Aとからなる
エンドシステムと,計算機101Bと通信制御装置10
2Bとからなるエンドシステムと,計算機101Cと通
信制御装置102Cとからなるエンドシステムとが、ネ
ットワーク103に接続されたものである。計算機10
1A,101B,101Cはそれぞれ同じ構成であり、
以下では参照符号を101とする。通信制御装置102
A,102B,102Cはそれぞれ同じ構成であり、以
下では参照符号を102とする。
【0019】図3は、情報通信ネットワーク100にお
ける階層化プロトコルを示したものである。階層化プロ
トコルの構成をOSIの場合を例にとって示すと、フィ
ジカルレイヤL1,LLC副層とMAC副層とを含むデ
ータリンクレイヤL2,ネットワークレイヤL3,トラ
ンスポートレイヤL4,セションレイヤL5,プレゼン
テーションレイヤL6,アプリケーションレイヤL7の
7層構造となっている。このうちフィジカルレイヤL1
からトランスポートレイヤL4までの4層を通信制御装
置102が受け持ち、セションレイヤL5からアプリケ
ーションレイヤL7までの3層を計算機101が受け持
つ。
ける階層化プロトコルを示したものである。階層化プロ
トコルの構成をOSIの場合を例にとって示すと、フィ
ジカルレイヤL1,LLC副層とMAC副層とを含むデ
ータリンクレイヤL2,ネットワークレイヤL3,トラ
ンスポートレイヤL4,セションレイヤL5,プレゼン
テーションレイヤL6,アプリケーションレイヤL7の
7層構造となっている。このうちフィジカルレイヤL1
からトランスポートレイヤL4までの4層を通信制御装
置102が受け持ち、セションレイヤL5からアプリケ
ーションレイヤL7までの3層を計算機101が受け持
つ。
【0020】図1は、計算機101と通信制御装置10
2の内部構成を示すブロック図である。計算機101
は、主メモリ201と,主プロセッサ202と,システ
ムバス203とを含んでいる。
2の内部構成を示すブロック図である。計算機101
は、主メモリ201と,主プロセッサ202と,システ
ムバス203とを含んでいる。
【0021】通信制御装置102は、計算機101との
インタフェースをとるための上位計算機インタフェース
部204と,ネットワーク103とのインタフェースを
とるための回線制御部206と,通信プロトコル処理を
実行するプロトコル処理部205と,送受信データを格
納するバッファメモリ部207とから構成される。
インタフェースをとるための上位計算機インタフェース
部204と,ネットワーク103とのインタフェースを
とるための回線制御部206と,通信プロトコル処理を
実行するプロトコル処理部205と,送受信データを格
納するバッファメモリ部207とから構成される。
【0022】上位計算機インタフェース部204とバッ
ファメモリ部207とは、送受信データの入出力のため
のデータバス208−1で接続されている。回線制御部
206とバッファメモリ部207とは、送受信データの
入出力のためのデータバス208−2で接続されてい
る。
ファメモリ部207とは、送受信データの入出力のため
のデータバス208−1で接続されている。回線制御部
206とバッファメモリ部207とは、送受信データの
入出力のためのデータバス208−2で接続されてい
る。
【0023】上位計算機インタフェース部204とプロ
トコル処理部205とは、通信プロトコル処理のための
プロトコル処理部バス210−1で接続されている。ま
た、上位計算機インタフェース部204とプロトコル処
理部205は、送信要求や受信通知等(以下、これらを
プリミティブと記す)を入出力するためのプロセッサ間
情報伝達手段209−1を有している。
トコル処理部205とは、通信プロトコル処理のための
プロトコル処理部バス210−1で接続されている。ま
た、上位計算機インタフェース部204とプロトコル処
理部205は、送信要求や受信通知等(以下、これらを
プリミティブと記す)を入出力するためのプロセッサ間
情報伝達手段209−1を有している。
【0024】回線制御部206とプロトコル処理部20
5とは、通信プロトコル処理のためのプロトコル処理部
バス210−2で接続されている。また、回線制御部2
06とプロトコル処理部205は、プリミティブを入出
力するためのプロセッサ間情報伝達手段209−2を有
している。
5とは、通信プロトコル処理のためのプロトコル処理部
バス210−2で接続されている。また、回線制御部2
06とプロトコル処理部205は、プリミティブを入出
力するためのプロセッサ間情報伝達手段209−2を有
している。
【0025】プロトコル処理部205とバッファメモリ
部207とは、通信プロトコル処理のためのプロトコル
処理部バス210−3で接続されている。
部207とは、通信プロトコル処理のためのプロトコル
処理部バス210−3で接続されている。
【0026】図4は、通信制御装置102をさらに詳細
に示すブロック図である。上位計算機インタフェース部
204は、上位インタフェースプロセッサ401と,ロ
ーカルメモリ402と,コマンドメモリ406と,コマ
ンドメモリポート制御回路407と,DMAC403
と,FIFO404と405と,上位インタフェース部
バス420と,プロトコル処理部バス210−4とから
なる。DMAC403は、計算機101の主メモリ20
1とバッファメモリ部207の間のデータ転送を行う。
FIFO404,405は、計算機101の主プロセッ
サ202から通信制御装置102を起動したり,通信制
御装置102から計算機101の主プロセッサ202に
処理終了を通知するのに用いる。
に示すブロック図である。上位計算機インタフェース部
204は、上位インタフェースプロセッサ401と,ロ
ーカルメモリ402と,コマンドメモリ406と,コマ
ンドメモリポート制御回路407と,DMAC403
と,FIFO404と405と,上位インタフェース部
バス420と,プロトコル処理部バス210−4とから
なる。DMAC403は、計算機101の主メモリ20
1とバッファメモリ部207の間のデータ転送を行う。
FIFO404,405は、計算機101の主プロセッ
サ202から通信制御装置102を起動したり,通信制
御装置102から計算機101の主プロセッサ202に
処理終了を通知するのに用いる。
【0027】回線制御部206は、通信コントローラ4
15と,MACプロセッサ413と,ローカルメモリ4
14とから成る。通信コントローラ415は、ネットワ
ーク103の伝送路に対してデータ送受信を行う。プロ
トコル処理部205は、プロトコル処理装置410から
なる。
15と,MACプロセッサ413と,ローカルメモリ4
14とから成る。通信コントローラ415は、ネットワ
ーク103の伝送路に対してデータ送受信を行う。プロ
トコル処理部205は、プロトコル処理装置410から
なる。
【0028】バッファメモリ部207は、バッファメモ
リ416と,バッファメモリアクセス制御部417とか
らなる。
リ416と,バッファメモリアクセス制御部417とか
らなる。
【0029】図5は、プロトコル処理装置410の内部
を示したブロック図である。プロトコル処理装置410
は、トランスポートレイヤL4の処理を受け持つデータ
転送処理ユニット501Aと,データリンクレイヤL2
およびネットワークレイヤL3の処理を受け持つデータ
転送処理ユニット501Bと,バックエンドプロセッサ
509を含んでいる。
を示したブロック図である。プロトコル処理装置410
は、トランスポートレイヤL4の処理を受け持つデータ
転送処理ユニット501Aと,データリンクレイヤL2
およびネットワークレイヤL3の処理を受け持つデータ
転送処理ユニット501Bと,バックエンドプロセッサ
509を含んでいる。
【0030】データ転送処理ユニット501Aは、プロ
トコル処理回路502Aと,受信出力FIFO503A
と,送信入力FIFO504Aと,受信入力FIFO5
05Aと,送信出力FIFO506Aと,バックエンド
プロセッサ(BEP)出力FIFO507Aと,BEP
入力FIFO508Aとから成る。受信出力FIFO5
03Aおよび送信入力FIFO504Aが、プロセッサ
間情報伝達手段209−1を構成する。
トコル処理回路502Aと,受信出力FIFO503A
と,送信入力FIFO504Aと,受信入力FIFO5
05Aと,送信出力FIFO506Aと,バックエンド
プロセッサ(BEP)出力FIFO507Aと,BEP
入力FIFO508Aとから成る。受信出力FIFO5
03Aおよび送信入力FIFO504Aが、プロセッサ
間情報伝達手段209−1を構成する。
【0031】データ転送処理ユニット501Bは、デー
タ転送処理ユニット501Aと同様の構成である。受信
入力FIFO505Bおよび送信出力FIFO506B
が、プロセッサ間情報伝達手段209−2を構成する。
バックエンドプロセッサ509には、ローカルメモリ5
10と,タイマ511とが接続されている。
タ転送処理ユニット501Aと同様の構成である。受信
入力FIFO505Bおよび送信出力FIFO506B
が、プロセッサ間情報伝達手段209−2を構成する。
バックエンドプロセッサ509には、ローカルメモリ5
10と,タイマ511とが接続されている。
【0032】図6は、バッファメモリ部207のバッフ
ァメモリアクセス制御部417を展開した図である。バ
ッファメモリアクセス制御部417は、バス選択回路6
01と,バッファメモリポート制御回路602とからな
る。
ァメモリアクセス制御部417を展開した図である。バ
ッファメモリアクセス制御部417は、バス選択回路6
01と,バッファメモリポート制御回路602とからな
る。
【0033】バス選択回路601は、データバス208
−1と,データバス208−2と,データバス208−
3に接続されている。バッファメモリポート制御回路6
02は、データバス208−3と,プロトコル処理部バ
ス210−3と,バッファメモリ416とに接続されて
いる。
−1と,データバス208−2と,データバス208−
3に接続されている。バッファメモリポート制御回路6
02は、データバス208−3と,プロトコル処理部バ
ス210−3と,バッファメモリ416とに接続されて
いる。
【0034】バス選択回路601は、データバス208
−1を介してのバッファメモリ416へのデータ入出力
のためのアクセス要求と,データバス208−2を介し
てのバッファメモリ416へのデータ入出力のためのア
クセス要求の調停を行う。
−1を介してのバッファメモリ416へのデータ入出力
のためのアクセス要求と,データバス208−2を介し
てのバッファメモリ416へのデータ入出力のためのア
クセス要求の調停を行う。
【0035】バッファメモリポート制御回路602は、
データバス208−3を介してのバッファメモリ416
へのデータ入出力のためのアクセス要求と,プロトコル
処理部バス210−3を介してのバッファメモリ416
への通信プロトコル処理のためのアクセス要求の調停を
行う。通信コントローラ415の内部には、バスインタ
フェース603と,バスアービタ604と,MAC制御
回路605がある。
データバス208−3を介してのバッファメモリ416
へのデータ入出力のためのアクセス要求と,プロトコル
処理部バス210−3を介してのバッファメモリ416
への通信プロトコル処理のためのアクセス要求の調停を
行う。通信コントローラ415の内部には、バスインタ
フェース603と,バスアービタ604と,MAC制御
回路605がある。
【0036】図7は、上位インタフェースプロセッサ4
01,MACプロセッサ413,バックエンドプロセッ
サ509への動作を指示するコマンドやそれに関連する
情報を格納するコマンドディスクリプタと,送信デー
タ,受信データが格納されるバッファの概念図である。
コマンドディスクリプタは、コマンドメモリ406上に
定義される。バッファは、バッファメモリ416上に定
義される。
01,MACプロセッサ413,バックエンドプロセッ
サ509への動作を指示するコマンドやそれに関連する
情報を格納するコマンドディスクリプタと,送信デー
タ,受信データが格納されるバッファの概念図である。
コマンドディスクリプタは、コマンドメモリ406上に
定義される。バッファは、バッファメモリ416上に定
義される。
【0037】コマンドディスクリプタは、3つのエント
リE1,E2,E3を持つ。エントリE1は、上位イン
タフェースプロセッサ401とデータ転送処理ユニット
501A間のインタフェースに使用する。エントリE2
は、データ転送処理ユニット501Aとデータ転送処理
ユニット501B間のインタフェースに使用する。エン
トリE3は、データ転送処理ユニット501BとMAC
プロセッサ413間のインタフェースに使用する。
リE1,E2,E3を持つ。エントリE1は、上位イン
タフェースプロセッサ401とデータ転送処理ユニット
501A間のインタフェースに使用する。エントリE2
は、データ転送処理ユニット501Aとデータ転送処理
ユニット501B間のインタフェースに使用する。エン
トリE3は、データ転送処理ユニット501BとMAC
プロセッサ413間のインタフェースに使用する。
【0038】各エントリE1,E2,E3は、コマンド
フィールドF1,コネクション識別フィールドF2,デ
ータ長フィールドF3,バッファアドレスフィールドF
4からなる。コマンドフィールドF1には、レイヤ間で
のプリミティブを示すコマンドが設定される。例えばコ
ネクション設定要求,コネクション確立応答,データ送
信要求,コネクション解放指示等のプリミティブを示す
コマンドが設定される。コネクション識別フィールドF
2には、 ? トランスポート・クラス4 ?のような
コネクション型プロトコルを使用する場合のコネクショ
ン識別子を格納する。データ長フィールドF3には、各
レイヤL2,L3,L4におけるデータ長を格納する。
バッファアドレスフィールドF4には、各レイヤL2,
L3,L4におけるデータの先頭アドレスを格納する。
フィールドF1,コネクション識別フィールドF2,デ
ータ長フィールドF3,バッファアドレスフィールドF
4からなる。コマンドフィールドF1には、レイヤ間で
のプリミティブを示すコマンドが設定される。例えばコ
ネクション設定要求,コネクション確立応答,データ送
信要求,コネクション解放指示等のプリミティブを示す
コマンドが設定される。コネクション識別フィールドF
2には、 ? トランスポート・クラス4 ?のような
コネクション型プロトコルを使用する場合のコネクショ
ン識別子を格納する。データ長フィールドF3には、各
レイヤL2,L3,L4におけるデータ長を格納する。
バッファアドレスフィールドF4には、各レイヤL2,
L3,L4におけるデータの先頭アドレスを格納する。
【0039】次に、通信制御装置102の送信動作およ
び受信動作の概略を、図4,図5を参照して、説明す
る。
び受信動作の概略を、図4,図5を参照して、説明す
る。
【0040】送信の場合、計算機101(の主プロセッ
サ202)は、FIFO404を通して、上位インタフ
ェースプロセッサ401を起動する(FIFO404に
起動を登録する)。
サ202)は、FIFO404を通して、上位インタフ
ェースプロセッサ401を起動する(FIFO404に
起動を登録する)。
【0041】上位インタフェースプロセッサ401は、
DMAC403を起動して、計算機101(の主プロセ
ッサ202)からのコマンドをコマンドメモリ406に
転送し、解析を行う。コマンドがデータ送信であれば、
再びDMAC403を起動する。
DMAC403を起動して、計算機101(の主プロセ
ッサ202)からのコマンドをコマンドメモリ406に
転送し、解析を行う。コマンドがデータ送信であれば、
再びDMAC403を起動する。
【0042】DMAC403は、計算機101(の主メ
モリ201)から、データバス419−1およびバッフ
ァメモリアクセス制御部417を介して、送信データ
を、バッファメモリ416に転送する。
モリ201)から、データバス419−1およびバッフ
ァメモリアクセス制御部417を介して、送信データ
を、バッファメモリ416に転送する。
【0043】上位インタフェースプロセッサ401は、
コマンドメモリ406からコマンドディスクリプタをゲ
ットし、それに必要な情報を書き込み、そのIDを送信
入力FIFO504Aに登録する。
コマンドメモリ406からコマンドディスクリプタをゲ
ットし、それに必要な情報を書き込み、そのIDを送信
入力FIFO504Aに登録する。
【0044】プロトコル処理装置410は、送信入力F
IFO504AからIDを取り出し、そのIDに基づい
て、プロトコル処理部バス210−1,210−4およ
びコマンドメモリポート制御回路407を介して、コマ
ンドメモリ406にアクセスする。また、上位インタフ
ェース部バス420およびデータバス208−1および
バッファメモリアクセス制御部417を通して、バッフ
ァメモリ416にアクセスし、フレームヘッダの作成等
を行う。
IFO504AからIDを取り出し、そのIDに基づい
て、プロトコル処理部バス210−1,210−4およ
びコマンドメモリポート制御回路407を介して、コマ
ンドメモリ406にアクセスする。また、上位インタフ
ェース部バス420およびデータバス208−1および
バッファメモリアクセス制御部417を通して、バッフ
ァメモリ416にアクセスし、フレームヘッダの作成等
を行う。
【0045】送信プロトコル処理が終了すると、プロト
コル処理装置410は、コマンドディスクリプタのID
を送信出力FIFO506Bに登録する。
コル処理装置410は、コマンドディスクリプタのID
を送信出力FIFO506Bに登録する。
【0046】MACプロセッサ413は、送信出力FI
FO506Bに登録されたIDに基づいて、通信コント
ローラ415を起動する。
FO506Bに登録されたIDに基づいて、通信コント
ローラ415を起動する。
【0047】通信コントローラ415は、データバス2
08−2およびバッファメモリアクセス制御部417を
介して、バッファメモリ416から送信データを取り出
し、ネットワーク103上に送出する。
08−2およびバッファメモリアクセス制御部417を
介して、バッファメモリ416から送信データを取り出
し、ネットワーク103上に送出する。
【0048】受信の場合、通信コントローラ415は、
ネットワーク103上のフレームを受信し、データバス
208−2およびバッファメモリアクセス制御部417
を介して、バッファメモリ416に格納する。そして、
MACプロセッサ413を起動する。
ネットワーク103上のフレームを受信し、データバス
208−2およびバッファメモリアクセス制御部417
を介して、バッファメモリ416に格納する。そして、
MACプロセッサ413を起動する。
【0049】MACプロセッサ413は、プロトコル処
理部バス210−2および210−3およびバッファメ
モリアクセス制御部417を介して、バッファメモリ4
16にアクセスして、フレームの処理を行う。また、プ
ロトコル処理部バス210−2および210−4および
コマンドメモリポート制御回路407を介して、コマン
ドメモリ406にアクセスして、フレーム受信のコマン
ドディスクリプタを作成する。さらに、プロトコル処理
装置410の受信入力FIFO505Bにコマンドディ
スクリプタのIDを登録する。
理部バス210−2および210−3およびバッファメ
モリアクセス制御部417を介して、バッファメモリ4
16にアクセスして、フレームの処理を行う。また、プ
ロトコル処理部バス210−2および210−4および
コマンドメモリポート制御回路407を介して、コマン
ドメモリ406にアクセスして、フレーム受信のコマン
ドディスクリプタを作成する。さらに、プロトコル処理
装置410の受信入力FIFO505Bにコマンドディ
スクリプタのIDを登録する。
【0050】プロトコル処理装置410は、プロトコル
処理部バス210−2および210−3およびバッファ
メモリアクセス制御部417を介して、バッファメモリ
416にアクセスし、また、プロトコル処理部バス21
0−2および210−4およびコマンドメモリポート制
御回路407を介して、コマンドメモリ406にアクセ
スして、プロトコル処理を実行する。このプロトコル処
理の間にも、通信コントローラ415は、ネットワーク
103上のフレームを受信し、データバス208−2お
よびバッファメモリアクセス制御部417を介して、バ
ッファメモリ416に格納することが出来る。これは、
使用する内部バスが異なり、プロトコル処理とフレーム
の入力処理の間でバス獲得競合が起こらないためであ
る。
処理部バス210−2および210−3およびバッファ
メモリアクセス制御部417を介して、バッファメモリ
416にアクセスし、また、プロトコル処理部バス21
0−2および210−4およびコマンドメモリポート制
御回路407を介して、コマンドメモリ406にアクセ
スして、プロトコル処理を実行する。このプロトコル処
理の間にも、通信コントローラ415は、ネットワーク
103上のフレームを受信し、データバス208−2お
よびバッファメモリアクセス制御部417を介して、バ
ッファメモリ416に格納することが出来る。これは、
使用する内部バスが異なり、プロトコル処理とフレーム
の入力処理の間でバス獲得競合が起こらないためであ
る。
【0051】プロトコル処理を終了したプロトコル処理
装置410は、受信出力FIFO503Aにコマンドデ
ィスクリプタのIDを登録する。
装置410は、受信出力FIFO503Aにコマンドデ
ィスクリプタのIDを登録する。
【0052】上位インタフェースプロセッサ401は、
上位インタフェース部バス420およびコマンドメモリ
ポート制御回路407を介して、コマンドメモリ406
にアクセスする。また、DMAC403を起動する。さ
らに、FIFO405に計算機101への受信通知を登
録する。DMAC403は、バッファメモリ416か
ら、バッファメモリアクセス制御部417およびデータ
バス419−1を介して、受信データを取り出し、計算
機101(の主メモリ201)に転送する。
上位インタフェース部バス420およびコマンドメモリ
ポート制御回路407を介して、コマンドメモリ406
にアクセスする。また、DMAC403を起動する。さ
らに、FIFO405に計算機101への受信通知を登
録する。DMAC403は、バッファメモリ416か
ら、バッファメモリアクセス制御部417およびデータ
バス419−1を介して、受信データを取り出し、計算
機101(の主メモリ201)に転送する。
【0053】図8は、データ送信時の各プロセッサの動
作の関連を示した送信タイムチャートである。計算機1
01でデータ送信要求が発生すると、主プロセッサ20
2がコマンドブロックを作成し、通信制御装置102内
の上位計算機インタフェース部204にデータ送信要求
を発行する(801)。
作の関連を示した送信タイムチャートである。計算機1
01でデータ送信要求が発生すると、主プロセッサ20
2がコマンドブロックを作成し、通信制御装置102内
の上位計算機インタフェース部204にデータ送信要求
を発行する(801)。
【0054】データ送信要求を受けた上位インタフェー
スプロセッサ401は、コマンドブロックのコマンドに
応じた処理を実行する(この中にDMAC403を用い
たデータコピ−や、分割/組立等の処理も含まれる)。
更に、上位インタフェースプロセッサ401は、コマン
ドをデータ転送処理ユニット501A起動用のコマンド
ディスクリプタ形式にし、データ転送処理ユニット50
1Aを起動する(802)。
スプロセッサ401は、コマンドブロックのコマンドに
応じた処理を実行する(この中にDMAC403を用い
たデータコピ−や、分割/組立等の処理も含まれる)。
更に、上位インタフェースプロセッサ401は、コマン
ドをデータ転送処理ユニット501A起動用のコマンド
ディスクリプタ形式にし、データ転送処理ユニット50
1Aを起動する(802)。
【0055】データ転送処理ユニット501Aは、コマ
ンドディスクリプタ701を用いてデータ送信処理を実
行し、タイマ処理をバックエンドプロセッサ509に依
頼しつつ、データ転送処理ユニット501Bを起動する
(803)。
ンドディスクリプタ701を用いてデータ送信処理を実
行し、タイマ処理をバックエンドプロセッサ509に依
頼しつつ、データ転送処理ユニット501Bを起動する
(803)。
【0056】バックエンドプロセッサ509は、依頼さ
れたタイマ処理を実行する(804)。データ転送処理
ユニット501Bは、データ送信のための処理を実行す
る(805)。MACプロセッサ413は、通信コント
ローラ415を用いて(806)、送信データを、ネッ
トワーク103の伝送路上に送出する(807)。
れたタイマ処理を実行する(804)。データ転送処理
ユニット501Bは、データ送信のための処理を実行す
る(805)。MACプロセッサ413は、通信コント
ローラ415を用いて(806)、送信データを、ネッ
トワーク103の伝送路上に送出する(807)。
【0057】次いで、MACプロセッサ413は、後処
理を行う(808)。すなわち、送信バッファとコマン
ドディスクリプタを解放するため、コマンドディスクリ
プタがデータ転送処理ユニット501Bに入力される
(809)。バックエンドプロセッサ509は、送信バ
ッファとコマンドディスクリプタを解放する(81
0)。
理を行う(808)。すなわち、送信バッファとコマン
ドディスクリプタを解放するため、コマンドディスクリ
プタがデータ転送処理ユニット501Bに入力される
(809)。バックエンドプロセッサ509は、送信バ
ッファとコマンドディスクリプタを解放する(81
0)。
【0058】相手からのAKパケットがネットワーク1
03の伝送路で送られてくると(811)、その受信処
理が順に実行される(812〜815)。
03の伝送路で送られてくると(811)、その受信処
理が順に実行される(812〜815)。
【0059】図9は、データ受信時の各プロセッサの動
作の関連を示した受信タイムチャートである。ネットワ
ーク103の伝送路でデータが送られてくると(90
1)、MACプロセッサ413に通知がなされる。
作の関連を示した受信タイムチャートである。ネットワ
ーク103の伝送路でデータが送られてくると(90
1)、MACプロセッサ413に通知がなされる。
【0060】MACプロセッサ413は、通信コントロ
ーラ415のドライブや,コマンドディスクリプタと受
信バッファの関連付け等の受信処理を行った後(90
2)、データ転送処理ユニット501Bに通知する。デ
ータ転送処理ユニット501Bは、所定の処理を行い
(903)、データ転送処理ユニット501Aに通知す
る。
ーラ415のドライブや,コマンドディスクリプタと受
信バッファの関連付け等の受信処理を行った後(90
2)、データ転送処理ユニット501Bに通知する。デ
ータ転送処理ユニット501Bは、所定の処理を行い
(903)、データ転送処理ユニット501Aに通知す
る。
【0061】データ転送処理ユニット501Aは、所定
の処理を行い(904)、上位インタフェースプロセッ
サ401に通知する。また、バックエンドプロセッサ5
09にタイマ関連処理を依頼する。上位インタフェース
プロセッサ401は、所定の処理を行う(905)。バ
ックエンドプロセッサ509は、所定の処理を行う(9
06)。また、データ転送処理ユニット501Aは、所
定の処理を行った後(904)、データ転送処理ユニッ
ト501Bに通知する。
の処理を行い(904)、上位インタフェースプロセッ
サ401に通知する。また、バックエンドプロセッサ5
09にタイマ関連処理を依頼する。上位インタフェース
プロセッサ401は、所定の処理を行う(905)。バ
ックエンドプロセッサ509は、所定の処理を行う(9
06)。また、データ転送処理ユニット501Aは、所
定の処理を行った後(904)、データ転送処理ユニッ
ト501Bに通知する。
【0062】データ転送処理ユニット501Bは、AK
パケット送信のための処理を行い(907)、MACプ
ロセッサ413に通知する。MACプロセッサ413
は、AKパケットを処理し(908)、ネットワークシ
ステム103の伝送路へと送出する(909)。
パケット送信のための処理を行い(907)、MACプ
ロセッサ413に通知する。MACプロセッサ413
は、AKパケットを処理し(908)、ネットワークシ
ステム103の伝送路へと送出する(909)。
【0063】一方、上位インタフェースプロセッサ40
1での受信処理(905)が終了すると、計算機101
内の主プロセッサ202によるメッセージ解読が行われ
る(910)。また、通信制御装置102内でのバッフ
ァ解放が行われる(911,912)。
1での受信処理(905)が終了すると、計算機101
内の主プロセッサ202によるメッセージ解読が行われ
る(910)。また、通信制御装置102内でのバッフ
ァ解放が行われる(911,912)。
【0064】次に、各プロセッサの動作を図10〜図2
0のフローチャートで説明する。
0のフローチャートで説明する。
【0065】図10は、上位インタフェースプロセッサ
401の送信処理の概要を示す。計算機101から送信
要求のあったメッセージが長い場合には、トランスポー
トレイヤL4で扱える大きさに分割しなければならな
い。そこで、先ずメッセージ長とメッセージ先頭アドレ
スをストアする(1001,1002)。
401の送信処理の概要を示す。計算機101から送信
要求のあったメッセージが長い場合には、トランスポー
トレイヤL4で扱える大きさに分割しなければならな
い。そこで、先ずメッセージ長とメッセージ先頭アドレ
スをストアする(1001,1002)。
【0066】次に、コマンドディスクリプタ(CD)を
ゲットする(1003)。そして、コマンドディスクリ
プタにコマンドやデータ長,バッファアドレス等の情報
を設定する(1004)。次に、DMAC403を用い
て、計算機101(の主メモリ201)からバッファメ
モリ416へとデータを転送する(1005)。また、
送信入力FIFO504Aにコマンドディスクリプタの
ID(CD_ID)を登録する(1006)。
ゲットする(1003)。そして、コマンドディスクリ
プタにコマンドやデータ長,バッファアドレス等の情報
を設定する(1004)。次に、DMAC403を用い
て、計算機101(の主メモリ201)からバッファメ
モリ416へとデータを転送する(1005)。また、
送信入力FIFO504Aにコマンドディスクリプタの
ID(CD_ID)を登録する(1006)。
【0067】次に、メッセージ長を判定する(100
7)。もし、メッセージ長が4Kバイトを超える場合、
メッセージ長とメッセージ先頭アドレスを更新する(1
008,1009)。そして、前記ステップ1003に
戻る。メッセージ長が4Kバイトを超えない場合、計算
機101との情報のやり取りに使用するコマンドブロッ
ク(CB)に終了情報を設定し(1010)、コマンド
ブロックをFIFO405に登録する(1011)。
7)。もし、メッセージ長が4Kバイトを超える場合、
メッセージ長とメッセージ先頭アドレスを更新する(1
008,1009)。そして、前記ステップ1003に
戻る。メッセージ長が4Kバイトを超えない場合、計算
機101との情報のやり取りに使用するコマンドブロッ
ク(CB)に終了情報を設定し(1010)、コマンド
ブロックをFIFO405に登録する(1011)。
【0068】図11は、上位インタフェースプロセッサ
401の受信処理の概要を示す。データ転送処理ユニッ
ト501Aで受信処理された受信データがメッセージの
先頭かどうかを判定する(1101)。先頭である場合
には、メッセージ長(RM_LEN),メッセージ先頭
ポインタ(RM_ADR)を初期設定する(1102、
1103)。先頭である場合または上記初期設定が終る
と、受信データを計算機101(の主メモリ201のメ
ッセージ先頭ポインタで指される場所)に、DMAC4
03を用いて、転送する(1104)。次に、メッセー
ジ長,メッセージ先頭アドレスを更新する(1105,
1106)。
401の受信処理の概要を示す。データ転送処理ユニッ
ト501Aで受信処理された受信データがメッセージの
先頭かどうかを判定する(1101)。先頭である場合
には、メッセージ長(RM_LEN),メッセージ先頭
ポインタ(RM_ADR)を初期設定する(1102、
1103)。先頭である場合または上記初期設定が終る
と、受信データを計算機101(の主メモリ201のメ
ッセージ先頭ポインタで指される場所)に、DMAC4
03を用いて、転送する(1104)。次に、メッセー
ジ長,メッセージ先頭アドレスを更新する(1105,
1106)。
【0069】次に、メッセージの最終データかどうかを
判定する(1107)。最終データであれば、コマンド
ブロックをゲットし(1108)、コマンドブロックに
必要事項を設定し(1109)、コマンドブロックをF
IFO405に登録する(1110)。最終データでな
いかまたは上記ステップ1108〜1110の処理が主
迂りょすれば、コマンドディスクリプタにバッファ解放
要求を設定し(1111)、受信出力FIFO503A
にコマンドディスクリプタのIDを登録する(111
2)。
判定する(1107)。最終データであれば、コマンド
ブロックをゲットし(1108)、コマンドブロックに
必要事項を設定し(1109)、コマンドブロックをF
IFO405に登録する(1110)。最終データでな
いかまたは上記ステップ1108〜1110の処理が主
迂りょすれば、コマンドディスクリプタにバッファ解放
要求を設定し(1111)、受信出力FIFO503A
にコマンドディスクリプタのIDを登録する(111
2)。
【0070】図12は、データ転送処理ユニット501
Aの送信処理の概要を示す。送信入力FIFO504A
からコマンドディスクリプタのIDを取り出す(120
1)。
Aの送信処理の概要を示す。送信入力FIFO504A
からコマンドディスクリプタのIDを取り出す(120
1)。
【0071】次に、コマンドディスクリプタのコマンド
フィールドF1を見ることによりデータ送信かどうかを
判定する(1202)。データ送信以外の処理であれ
ば、バックエンドプロセッサ509にその処理を依頼す
る(1206)。データ送信であれば、送信バッファの
ヘッダを作成し(1203)、コマンドディスクリプタ
に必要な情報を設定し(1204)、下位のデータ転送
処理ユニット501Bに向けて送信出力FIFO506
AにコマンドディスクリプタのIDを登録する(120
5)。
フィールドF1を見ることによりデータ送信かどうかを
判定する(1202)。データ送信以外の処理であれ
ば、バックエンドプロセッサ509にその処理を依頼す
る(1206)。データ送信であれば、送信バッファの
ヘッダを作成し(1203)、コマンドディスクリプタ
に必要な情報を設定し(1204)、下位のデータ転送
処理ユニット501Bに向けて送信出力FIFO506
AにコマンドディスクリプタのIDを登録する(120
5)。
【0072】また、タイマ関連の処理をバックエンドプ
ロセッサ509に依頼する(1206)。
ロセッサ509に依頼する(1206)。
【0073】図13は、データ転送処理ユニット501
Aの受信処理の概要を示す。受信入力FIFO505A
からコマンドディスクリプタのIDを取り出す(130
1)。
Aの受信処理の概要を示す。受信入力FIFO505A
からコマンドディスクリプタのIDを取り出す(130
1)。
【0074】次に、コマンドディスクリプタにチェイン
された受信バッファを見ることにより、パケットの種別
を判定する(1302)。AKパケットであれば、コマ
ンドディスクリプタと受信バッファを用いて、AKの受
信処理を行う(1303)。データ(DT)パケット受
信であれば、コマンドディスクリプタと受信バッファを
用いてDTの受信処理を行い(1304)、上位計算機
インタフェース部204に向けて受信出力FIFO50
3AにコマンドディスクリプタのIDを登録する(13
05)。また、AK返送のために、下位のデータ転送処
理ユニット501Bに向けて送信出力FIFO506A
にコマンドディスクリプタのIDを登録する(130
6)。AKパケット,DTパケット以外はデータ転送処
理ユニット501Aでは処理しないので、バックエンド
プロセッサ509に処理を依頼する(1307)。
された受信バッファを見ることにより、パケットの種別
を判定する(1302)。AKパケットであれば、コマ
ンドディスクリプタと受信バッファを用いて、AKの受
信処理を行う(1303)。データ(DT)パケット受
信であれば、コマンドディスクリプタと受信バッファを
用いてDTの受信処理を行い(1304)、上位計算機
インタフェース部204に向けて受信出力FIFO50
3AにコマンドディスクリプタのIDを登録する(13
05)。また、AK返送のために、下位のデータ転送処
理ユニット501Bに向けて送信出力FIFO506A
にコマンドディスクリプタのIDを登録する(130
6)。AKパケット,DTパケット以外はデータ転送処
理ユニット501Aでは処理しないので、バックエンド
プロセッサ509に処理を依頼する(1307)。
【0075】AKパケット,DTパケットの処理後は、
タイマ,キュー操作等の処理をバックエンドプロセッサ
509に依頼する(1307)。
タイマ,キュー操作等の処理をバックエンドプロセッサ
509に依頼する(1307)。
【0076】図14は、データ転送処理ユニット501
Bの送信処理の概要を示す。送信入力FIFO504B
からコマンドディスクリプタのIDを取りだし(140
1)、コマンドディスクリプタにチェインされた送信バ
ッファのヘッダを作成し(1402)、コマンドディス
クリプタに必要な情報を設定し(1403)、下位のM
ACプロセッサ413に向けてコマンドディスクリプタ
のIDを送信出力FIFO506Bに登録する(140
4)。
Bの送信処理の概要を示す。送信入力FIFO504B
からコマンドディスクリプタのIDを取りだし(140
1)、コマンドディスクリプタにチェインされた送信バ
ッファのヘッダを作成し(1402)、コマンドディス
クリプタに必要な情報を設定し(1403)、下位のM
ACプロセッサ413に向けてコマンドディスクリプタ
のIDを送信出力FIFO506Bに登録する(140
4)。
【0077】図15は、データ転送処理ユニット501
Bの受信処理の概要を示す。受信入力FIFO505B
からコマンドディスクリプタのIDを取り出す(150
1)。
Bの受信処理の概要を示す。受信入力FIFO505B
からコマンドディスクリプタのIDを取り出す(150
1)。
【0078】コマンドディスクリプタにチェインされた
受信バッファを見ることにより、パケットがデータ受信
かどうかを判定する(1502)。データ受信であれ
ば、コマンドディスクリプタと受信バッファでデータ受
信処理を行い(1503)、上位のデータ転送処理ユニ
ット501Aに向けて受信出力FIFO503Bにコマ
ンドディスクリプタのIDを登録する(1504)。デ
ータ受信以外の場合は、それに対する処理をバックエン
ドプロセッサ509に依頼する(1505)。
受信バッファを見ることにより、パケットがデータ受信
かどうかを判定する(1502)。データ受信であれ
ば、コマンドディスクリプタと受信バッファでデータ受
信処理を行い(1503)、上位のデータ転送処理ユニ
ット501Aに向けて受信出力FIFO503Bにコマ
ンドディスクリプタのIDを登録する(1504)。デ
ータ受信以外の場合は、それに対する処理をバックエン
ドプロセッサ509に依頼する(1505)。
【0079】図16は、バックエンドプロセッサ509
がデータ転送処理ユニット501Aから依頼を受けた場
合の処理の概要を示す。BEP入力FIFO508Aか
らコマンドディスクリプタのIDを取り出す(160
1)。
がデータ転送処理ユニット501Aから依頼を受けた場
合の処理の概要を示す。BEP入力FIFO508Aか
らコマンドディスクリプタのIDを取り出す(160
1)。
【0080】そして、データ転送正常処理としての依頼
かどうかを判定する(1602)。
かどうかを判定する(1602)。
【0081】データ転送正常処理の依頼でない場合は、
バッファ解放要求かどうかを判定し(1603)、解放
要求であればその処理を行い(1604)、解放要求で
なければトランスポート異常処理を実行する(160
5)。
バッファ解放要求かどうかを判定し(1603)、解放
要求であればその処理を行い(1604)、解放要求で
なければトランスポート異常処理を実行する(160
5)。
【0082】データ転送正常処理の依頼なら、DT送信
かどうかを判定する(1606)。DT送信であれば、
DTを応答待ちキューに登録し(1607)、DT送信
によるタイマ処理を行う(1608)。
かどうかを判定する(1606)。DT送信であれば、
DTを応答待ちキューに登録し(1607)、DT送信
によるタイマ処理を行う(1608)。
【0083】DT送信でなければ、AK受信かどうかを
判定する(1609)。AK受信であれば、応答待ちキ
ューに登録されているDTを解放し(1610)、AK
受信によるタイマ処理を行う(1611)。AK受信で
なければ、DT受信であるから、その処理を行う(16
12)。
判定する(1609)。AK受信であれば、応答待ちキ
ューに登録されているDTを解放し(1610)、AK
受信によるタイマ処理を行う(1611)。AK受信で
なければ、DT受信であるから、その処理を行う(16
12)。
【0084】図17は、バックエンドプロセッサ509
がデータ転送処理ユニット501Bから依頼を受けた場
合の処理の概要を示す。BEP入力FIFO508Bか
らコマンドディスクリプタのIDを取り出し(170
1)、コマンドディスクリプタのコマンドフィールドF
1を見てバッファ解放要求かどうかを判定する(170
2)。バッファ解放要求であれば、その処理を実行し
(1703)する。バッファ解放要求でなければ、レイ
ヤL2,L3の異常処理を行う(1704)。
がデータ転送処理ユニット501Bから依頼を受けた場
合の処理の概要を示す。BEP入力FIFO508Bか
らコマンドディスクリプタのIDを取り出し(170
1)、コマンドディスクリプタのコマンドフィールドF
1を見てバッファ解放要求かどうかを判定する(170
2)。バッファ解放要求であれば、その処理を実行し
(1703)する。バッファ解放要求でなければ、レイ
ヤL2,L3の異常処理を行う(1704)。
【0085】図18は、MACプロセッサ413の送信
起動処理の概要を示す。送信出力FIFO506Bから
コマンドディスクリプタのIDを取り出し(180
1)、コマンドディスクリプタからチェインされた送信
バッファ内のデイスクリプタを作成する(1802)。
起動処理の概要を示す。送信出力FIFO506Bから
コマンドディスクリプタのIDを取り出し(180
1)、コマンドディスクリプタからチェインされた送信
バッファ内のデイスクリプタを作成する(1802)。
【0086】次に、送信出力FIFO506Bが空かど
うかの判定を行う(1803)。空でない場合、送信バ
ッファをチェインに作り込み(1804)、上記ステッ
プ1801に戻る。空であれば、通信コントローラ41
5に必要な情報セットし(1805)、送信要求を発行
し(1806)、送信完了待ちポインタに先頭のコマン
ドディスクリプタアドレスをセットする(1807)。
うかの判定を行う(1803)。空でない場合、送信バ
ッファをチェインに作り込み(1804)、上記ステッ
プ1801に戻る。空であれば、通信コントローラ41
5に必要な情報セットし(1805)、送信要求を発行
し(1806)、送信完了待ちポインタに先頭のコマン
ドディスクリプタアドレスをセットする(1807)。
【0087】図19は、MACプロセッサ413の送信
完了処理の概要を示す。通信コントローラ415の送信
が完了すると割込みが入り、割込みルーチンの中で送信
完了処理フラグをONにする(1901)。
完了処理の概要を示す。通信コントローラ415の送信
が完了すると割込みが入り、割込みルーチンの中で送信
完了処理フラグをONにする(1901)。
【0088】送信完了処理では、送信完了待ちをしてい
るコマンドディスクリプタの中に送信完了のパラメータ
をセットし(1902)、コマンドディスクリプタを受
信入力FIFO505Bに登録し(1903)、送信完
了処理フラグをOFFにする(1904)。
るコマンドディスクリプタの中に送信完了のパラメータ
をセットし(1902)、コマンドディスクリプタを受
信入力FIFO505Bに登録し(1903)、送信完
了処理フラグをOFFにする(1904)。
【0089】図20は、MACプロセッサ413の受信
処理の概要を示す。通信コントローラ415がデータを
受信すると割込みが入り、割込みルーチンの中で受信処
理フラグをONする(2001)。
処理の概要を示す。通信コントローラ415がデータを
受信すると割込みが入り、割込みルーチンの中で受信処
理フラグをONする(2001)。
【0090】受信処理では、受信データがあるかどうか
を判定する(2002)。受信データがなければ、受信
処理フラグをOFFにして処理を終了する(200
8)。受信データがある場合には、受信エラーが起こっ
ていないかを判定する(2003)。受信エラーが起こ
っている場合は、下記ステップ2007に移行する。受
信エラーが起こっていなければ、コマンドディスクリプ
タプールから空のコマンドディスクリプタをゲットし
(2004)、コマンドディスクリプタ内に必要な情報
をセットしてバッファとチェインし(2005)、コマ
ンドディスクリプタのIDを受信入力FIFO505B
に登録する(2006)。
を判定する(2002)。受信データがなければ、受信
処理フラグをOFFにして処理を終了する(200
8)。受信データがある場合には、受信エラーが起こっ
ていないかを判定する(2003)。受信エラーが起こ
っている場合は、下記ステップ2007に移行する。受
信エラーが起こっていなければ、コマンドディスクリプ
タプールから空のコマンドディスクリプタをゲットし
(2004)、コマンドディスクリプタ内に必要な情報
をセットしてバッファとチェインし(2005)、コマ
ンドディスクリプタのIDを受信入力FIFO505B
に登録する(2006)。
【0091】1つの受信データを処理したら、次の受信
データのために受信バッファアドレスを更新する(20
07)。
データのために受信バッファアドレスを更新する(20
07)。
【0092】以上の第1実施例によれば、通信制御装置
102内の処理負荷を、上位インタフェースプロセッサ
401と、プロトコル処理装置410と、MACプロセ
ッサ413とに分散することが出来る。また、通信制御
装置102内のバス負荷を、各プロセッサ間のプロセッ
サ間情報伝達手段209−1,209−2と、プロトコ
ル処理部バス210−1,210−2,210−3,2
10−4と、データバス208−1ね208−2とに分
散することが出来る。このため、高性能な通信性能を得
ることが出来る。
102内の処理負荷を、上位インタフェースプロセッサ
401と、プロトコル処理装置410と、MACプロセ
ッサ413とに分散することが出来る。また、通信制御
装置102内のバス負荷を、各プロセッサ間のプロセッ
サ間情報伝達手段209−1,209−2と、プロトコ
ル処理部バス210−1,210−2,210−3,2
10−4と、データバス208−1ね208−2とに分
散することが出来る。このため、高性能な通信性能を得
ることが出来る。
【0093】(第2実施例) 第1実施例では、プロトコル処理装置410を、プロト
コル処理専用ハードウェアであるデータ転送処理ユニッ
ト501A,501Bとバックエンドプロセッサ509
とから構成したが、第2実施例では、マイクロプロセッ
サを用いて構成する。
コル処理専用ハードウェアであるデータ転送処理ユニッ
ト501A,501Bとバックエンドプロセッサ509
とから構成したが、第2実施例では、マイクロプロセッ
サを用いて構成する。
【0094】図21は、マイクロプロセッサを用いて構
成したプロトコル処理装置410のブロック図である。
すなわち、プロトコル処理装置410は、プロトコル処
理を実行する高速のマイクロプロセッサ2101と,プ
ログラム格納用のローカルメモリ2102と,タイマ回
路2103と,上位インタフェースプロセッサ401と
の情報伝達用FIFO2104および2105と、MA
Cプロセッサ413との情報伝達用FIFO2106お
よび2107から構成される。
成したプロトコル処理装置410のブロック図である。
すなわち、プロトコル処理装置410は、プロトコル処
理を実行する高速のマイクロプロセッサ2101と,プ
ログラム格納用のローカルメモリ2102と,タイマ回
路2103と,上位インタフェースプロセッサ401と
の情報伝達用FIFO2104および2105と、MA
Cプロセッサ413との情報伝達用FIFO2106お
よび2107から構成される。
【0095】図21のプロトコル処理装置410は、A
SICの技術を用いてこれを1チップにするのが好まし
い。
SICの技術を用いてこれを1チップにするのが好まし
い。
【0096】(実施例3) 第1実施例および第2実施例では、上位計算機インタフ
ェース部204,プロトコル処理部205,回線制御部
206に各々プロセッサを配置していたが、第3実施例
では、通信制御装置102内にのみプロセッサを配置す
る。
ェース部204,プロトコル処理部205,回線制御部
206に各々プロセッサを配置していたが、第3実施例
では、通信制御装置102内にのみプロセッサを配置す
る。
【0097】図22は、通信制御装置102内にのみプ
ロセッサを配置した場合のデータバス2206と,プロ
トコル処理部バス2301の分離を示したものである。
ロセッサを配置した場合のデータバス2206と,プロ
トコル処理部バス2301の分離を示したものである。
【0098】計算機101とバッファメモリ部2203
の間のデータ入出力の経路は、DMAC2205とデー
タバス2206である。ネットワーク103とバッファ
メモリ部2203の間のデータ入出力の経路は、通信コ
ントローラ2204とデータバス2206である。
の間のデータ入出力の経路は、DMAC2205とデー
タバス2206である。ネットワーク103とバッファ
メモリ部2203の間のデータ入出力の経路は、通信コ
ントローラ2204とデータバス2206である。
【0099】一方、プロトコル処理部2201とバッフ
ァメモリ部2203の間のプロトコル処理のための経路
は、プロトコル処理部バス2301である。
ァメモリ部2203の間のプロトコル処理のための経路
は、プロトコル処理部バス2301である。
【0100】第3実施例の構成によれば、データ入出力
とプロトコル処理の間でバス獲得競合が発生しないの
で、高性能な通信性能を得ることが出来る。
とプロトコル処理の間でバス獲得競合が発生しないの
で、高性能な通信性能を得ることが出来る。
【0101】第3実施例は、通信制御装置内に複数のプ
ロセッサを配置することがハードウェア的に不可能であ
る場合や、プロセッサの処理速度が十分高速であり,1
プロセッサでも十分にネットワーク伝送速度に対応でき
る場合において有効である。
ロセッサを配置することがハードウェア的に不可能であ
る場合や、プロセッサの処理速度が十分高速であり,1
プロセッサでも十分にネットワーク伝送速度に対応でき
る場合において有効である。
【0102】
【発明の効果】本発明の通信制御装置によれば、データ
入出力処理のためのバス獲得と通信プロトコル処理のた
めのバス獲得の競合がなくなるため、これらの処理を一
層並列に進めることが出来る。
入出力処理のためのバス獲得と通信プロトコル処理のた
めのバス獲得の競合がなくなるため、これらの処理を一
層並列に進めることが出来る。
【0103】また、複数のプロセッサで通信プロトコル
処理を分担するため、処理の並列性が一層高くなる。
処理を分担するため、処理の並列性が一層高くなる。
【0104】また、プロセッサ間通信でプロトコル処理
部バスを使用しないため、この点でも処理の並列性が一
層高くなる。
部バスを使用しないため、この点でも処理の並列性が一
層高くなる。
【0105】以上により、通信プロトコル処理を高速に
実行し、ネットワーク伝送速度に見合った高スループッ
トの通信制御装置を提供できる。
実行し、ネットワーク伝送速度に見合った高スループッ
トの通信制御装置を提供できる。
【図1】本発明の通信制御装置の概略ブロック図。
【図2】情報通信ネットワークシステムの一例を示す構
成図。
成図。
【図3】情報通信ネットワークにおける階層化プロトコ
ルの概念図。
ルの概念図。
【図4】本発明の通信制御装置の詳細ブロック図。
【図5】図4に示すプロトコル処理装置の内部のブロッ
ク図。
ク図。
【図6】図4のバッファメモリアクセス制御部を展開し
たブロック図。
たブロック図。
【図7】コマンドディスクリプタとバッファの概念図。
【図8】データ送信時の各プロセッサの動作関連を示す
タイムチャート。
タイムチャート。
【図9】データ受信時の各プロセッサの動作関連を示す
タイムチャート。
タイムチャート。
【図10】上位インタフェースプロセッサの送信処理フ
ローチャート。
ローチャート。
【図11】上位インタフェースプロセッサの受信処理フ
ローチャート。
ローチャート。
【図12】データ転送処理ユニット501Aの送信処理
フローチャート。
フローチャート。
【図13】データ転送処理ユニット501Aの受信処理
フローチャート。
フローチャート。
【図14】データ転送処理ユニット501Bの送信処理
フローチャート。
フローチャート。
【図15】データ転送処理ユニット501Bの受信処理
フローチャート。
フローチャート。
【図16】バックエンドプロセッサのレイヤL4処理フ
ローチャート。
ローチャート。
【図17】バックエンドプロセッサのレイヤL2,L3
処理フローチャート。
処理フローチャート。
【図18】MACプロセッサの送信起動処理フローチャ
ート。
ート。
【図19】MACプロセッサの送信完了処理フローチャ
ート。
ート。
【図20】MACプロセッサの受信処理フローチャー
ト。
ト。
【図21】本発明の第2実施例にかかるプロトコル処理
装置のブロック図。
装置のブロック図。
【図22】本発明の第3実施例の通信制御装置のブロッ
ク図。
ク図。
101 計算機 102 通信制御装置 103 ネットワーク 204 上位計算機インタフェース部 207 バッファメモリ部 205 プロトコル処理部 206 回線制御部 208−1,208−2 データバス 209−1,209−2 プロセッサ間情報伝達手段 210−1〜210−4 プロトコル処理部バス 401 上位インタフェースプロセッサ 406 コマンドメモリ 410 プロトコル処理装置 413 MACプロセッサ 416 バッファメモリ 420 上位インタフェース部バス 501A,501B データ転送処理ユニット 502A,502B プロトコル処理回路 503A,503B 受信出力FIFO 504A,504B 送信入力FIFO 506A 受信入力FIFO 506B 送信出力FIFO 507A,507B BEP出力FIFO 508A,508B BEP入力FIFO 509 バックエンドプロセッサ 601 バス選択回路 602 バッファメモリポート制御回路 701 コマンドディスクリプタ 702 バッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 水谷 美加 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (72)発明者 寺田 松昭 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 特開 平3−34661(JP,A) 特開 平1−260555(JP,A) 特開 平1−131945(JP,A) 特開 昭61−232747(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 H04L 29/00 - 29/12 G06F 13/20 - 13/378
Claims (5)
- 【請求項1】 計算機と通信回線の間に位置し、計算機
とのインタフェースを制御する上位計算機インタフェー
ス部と,通信回線を介したデータの送受信を行う回線制
御部と,送受信データを格納するバッファメモリ部と、
バッファメモリ部に格納されたデータに対してプロトコ
ル処理を実行するプロトコル処理部とを含む通信制御装
置において、上位計算機インタフェース部および 回線制御部とバッフ
ァメモリ部とを結ぶデータバスとは別にプロトコル処理
部とバッファメモリ部とを結ぶプロトコル処理部バスを
設け、バ ッファメモリ部への上位計算機インタフェース部若し
くは回線制御部のアクセスと、バッファメモリ部へのプ
ロトコル処理部のアクセスとがバス獲得競合を起こさな
いようにしたことを特徴とする通信制御装置。 - 【請求項2】 計算機と通信回線の間に位置し、計算機
とのインタフェースを制御する上位計算機インタフェー
ス部と,通信回線を介したデータの送受信を行う回線制
御部と,送受信データを格納するバッファメモリ部と、
バッファメモリ部に格納されたデータに対してプロトコ
ル処理を実行するプロトコル処理部とを含む通信制御装
置において、 上位計算機インタフェース部,回線制御部,プロトコル
処理部の各々に通信プロトコル処理を実行する各処理部
専用のプロセッサを配置し、上 位計算機インタフェース部および回線制御部とバッフ
ァメモリ部とを結ぶデータバスとは別に前記各プロセッ
サとバッファメモリ部とを結ぶプロトコル処理部バスを
設け、バ ッファメモリ部への上位計算機インタフェース部およ
び回線制御部のデータ入出力のためのアクセスと、バッ
ファメモリ部への各プロセッサの通信プロトコル処理の
ためのアクセスとがバス獲得競合を起こさないようにし
たことを特徴とする通信制御装置。 - 【請求項3】 上位計算機インタフェース部のプロセッ
サとプロトコル処理部のプロセッサの間およびプロトコ
ル処理部のプロセッサと回線制御部のプロセッサの間に
送信用および受信用のFIFOを設け、これらFIFO
を介してプロセッサ間でインタフェース情報を受け渡し
するようにしたことを特徴とする請求項2の通信制御装
置。 - 【請求項4】 送受信データを格納するバッファメモリ
とは別にコマンドメモリを設け、インタフェース情報に
より示されたコマンドメモリ上のロケーションに、各プ
ロセッサの動作を指示するコマンドディスクリプタを定
義することを特徴とする請求項2または請求項3の通信
制御装置。 - 【請求項5】 上位計算機インタフェース部側のデータ
バスと回線制御部側のデータバスとをバス選択回路を介
してバッファメモリ側のデータバスに接続し、そのバッ
ファメモリ側のデータバスとプロトコル処理部バスとを
バッファメモリポート制御回路を介してバッファメモリ
に接続し、前記バス選択回路は、上位計算機インタフェ
ース部のバッファメモリへのデータ入出力のためのアク
セス要求および回線制御部のバッファメモリへのデータ
入出力のためのアクセス要求の調停を行い、前記バッフ
ァメモリポート制御回路は、前記バッファメモリ側のデ
ータバスを介してのバッファメモリへのデータ入出力の
ためのアクセス要求およびプロトコル処理部バスを介し
てのバッファメモリへの通信プロトコル処理のためのア
クセス要求の調停を行うことを特徴とする請求項2から
請求項4のいずれかの通信制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00353491A JP3360138B2 (ja) | 1991-01-17 | 1991-01-17 | 通信制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00353491A JP3360138B2 (ja) | 1991-01-17 | 1991-01-17 | 通信制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04242460A JPH04242460A (ja) | 1992-08-31 |
| JP3360138B2 true JP3360138B2 (ja) | 2002-12-24 |
Family
ID=11560065
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00353491A Expired - Fee Related JP3360138B2 (ja) | 1991-01-17 | 1991-01-17 | 通信制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3360138B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6968369B2 (en) * | 2001-09-27 | 2005-11-22 | Emc Corporation | Remote data facility over an IP network |
| JP6217060B2 (ja) * | 2012-07-17 | 2017-10-25 | 沖電気工業株式会社 | 通信装置及び通信プログラム |
-
1991
- 1991-01-17 JP JP00353491A patent/JP3360138B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04242460A (ja) | 1992-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6622193B1 (en) | Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system | |
| JP2977688B2 (ja) | マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ | |
| US6587906B2 (en) | Parallel multi-threaded processing | |
| US6128669A (en) | System having a bridge with distributed burst engine to decouple input/output task from a processor | |
| US6704831B1 (en) | Method and apparatus for converting address information between PCI bus protocol and a message-passing queue-oriented bus protocol | |
| US9824037B2 (en) | Memory mapping in a processor having multiple programmable units | |
| US7496699B2 (en) | DMA descriptor queue read and cache write pointer arrangement | |
| US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
| US20240419358A1 (en) | Hardware management of direct memory access commands | |
| US5978858A (en) | Packet protocol and distributed burst engine | |
| US20050235072A1 (en) | Data storage controller | |
| US7016984B2 (en) | System controller using plural CPU's | |
| JPH09160861A (ja) | ローカル・プロセッサの介入なしにコマンド・ブロックをローカル処理サイドに転送するための情報処理システム | |
| WO2002041155A2 (en) | Method and apparatus for implementing pci dma speculative prefetching in a message passing queue oriented bus system | |
| JP4798849B2 (ja) | グラフィックスエンジンマスターモード動作の改良 | |
| JP2000293436A (ja) | パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート | |
| JPH05274252A (ja) | コンピュータシステムにおけるトランザクション実行方法 | |
| JP3360138B2 (ja) | 通信制御装置 | |
| JP3757904B2 (ja) | 通信制御装置 | |
| JPH09224066A (ja) | 通信プロトコル並列処理装置 | |
| JPH07325779A (ja) | 入出力制御装置 | |
| JP2719280B2 (ja) | 計算機システムと高速i/oデータ転送方法 | |
| JP2718702B2 (ja) | メモリアクセス制御方法 | |
| JP2000293151A (ja) | グラフィックス表示装置及びディスプレイリストによるグラフィックス表示方法 | |
| JPH03241442A (ja) | ストアバッファ制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071018 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081018 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091018 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |