JPH03273350A - プロトコル高速処理装置 - Google Patents

プロトコル高速処理装置

Info

Publication number
JPH03273350A
JPH03273350A JP2311494A JP31149490A JPH03273350A JP H03273350 A JPH03273350 A JP H03273350A JP 2311494 A JP2311494 A JP 2311494A JP 31149490 A JP31149490 A JP 31149490A JP H03273350 A JPH03273350 A JP H03273350A
Authority
JP
Japan
Prior art keywords
protocol
processor
processing
data
communication
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.)
Granted
Application number
JP2311494A
Other languages
English (en)
Other versions
JP2993728B2 (ja
Inventor
Tatsuya Yokoyama
達也 横山
Tetsuhiko Hirata
哲彦 平田
Mika Mizutani
美加 水谷
Susumu Matsui
進 松井
Matsuaki Terada
寺田 松昭
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2311494A priority Critical patent/JP2993728B2/ja
Priority to US07/659,705 priority patent/US5303344A/en
Publication of JPH03273350A publication Critical patent/JPH03273350A/ja
Application granted granted Critical
Publication of JP2993728B2 publication Critical patent/JP2993728B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
(産業上の利用分野) 本発明は1階層化された通信プロトコルの高速処理装置
に関する。
【従来の技術] 従来、階層化された通信プロトコルの処理は、○SIの
7階層モデルにおけるレイヤ2以下のプロトコルを、高
速動作が可能なLSI化されたハードウェアで処理し、
レイヤ3以上に関しては、汎用CPUによりソフトウェ
ア処理するのが一般的であった。これは、通信プロトコ
ル処理が複雑であること、各種プロトコルに適用できる
汎用性が要求されること及び、さまざまなネットワーク
環境に対応できる柔軟性が要求されるためである。 すなわち、複雑な通信プロトコルを、汎用性及び柔軟性
を確保しながらハードウェア化することは困難であった
。 これに対し、階層化された通信プロトコルを高速に処理
する装置として、例えば特開昭62−117050号公
報に記載のプロトコルプロセッサがある。これは、プロ
トコルレイヤ毎にプロトコルプロセッサを配置し、階層
化されたプロトコルをパイプライン処理させることによ
り、高スループツトを得ようとするものである。上記プ
ロトコルプロセッサにおいては、1つのレイヤのプロト
コル処理は、1つのプロトコフレプロセッサで処理する
ように構成されている。さらに、プロセッサ内部の動作
制御は、外部からダウンロードするマイクロプログラム
によって行う。 【発明が解決しようとする課題】 上記公知例による技術は、プロトコルレイヤ毎にプロト
コルプロセッサを配置するために、高スループツトが得
られる。しかしながら、1つのレイヤのプロトコル処理
を1つのプロトコルプロセッサで処理する構成となって
いるために、プロトコルプロセッサの内部動作を制御す
るマイクロプログラムは、複雑な通信プロトコル処理を
記述できるソフトウェア的な処理にならざるを得ない、
従って、1つのレイヤに注目してみると、そのプロトコ
ル処理は、ソフトウェア的に実行されるため、従来の汎
用CPUによる処理時間を大幅に短縮することは困難で
ある。 本発明の目的は、汎用性及び柔軟性を確保しながら、制
限された物量の範囲内で9通信プロトコル処理のハード
ウェア化を実現することにある。
【課題を解決するための手段】
上記目的を達成するために、本発明では1通信プロトコ
ル処理を、高速化が要求され、且つその処理が余り複雑
ではないデータ転送正常処理と、高速性よりむしろ汎用
性及び、柔軟性が要求され、処理が複雑であるコネクシ
ョン制御処理及びデータ転送異常処理とに分け、プロト
コル処理装置を、データ転送正常処理を専用ハードウェ
ア化した第一のプロセッサ部と、データ転送正常処理以
外をソフトウェアにより実行する第二のプロセッサ部と
で構成し、レイヤ間のインタフェース機能を第一のプロ
セッサ部に設け、第二のプロセッサ部を第一のプロセッ
サ部のバックエンドプロセッサとして機能させることに
特徴がある。
【作用) 本発明の構成によれば、正常なデータ転送処理を専用ハ
ードウェアにて行うため高速処理が可能であり、コネク
ション制御処理及びデータ転送異常処理についてはソフ
トウェアにて実行するため汎用性及び柔軟性を確保でき
る。また、専用ハードウェアは処理の比較的簡単なデー
タ転送正常処理にのみに対応すればよいため、物量が少
なくできるという利点がある。 [実施例1 以下1本発明の一実施例を図面を引用しながら説明する
。なお、以下の説明では、プロトコル処理装置を通信制
御装置、と称し、該通信制御装置の構成要素のうちで特
に本発明による通信プロトコル高速処理動作を行なうプ
ロセッサ部をプロトコル高速処理機構と記述する。 (実施例1) 第1図は5本発明に係る通信ネットワークシステムの1
例を示す構成図である。第1図において。 各計算機1(IA〜IN)は、それぞれ通信制御装!2
を介して、ネットワーク3に接続されている。 第2図は、通信制御装置2の詳細を示すブロック図であ
る。通信制御装置2は、計算機1内の主プロセツサ70
及び主メモリ8oが接続されたシステムバス90に接続
される。通信制御装置2は。 計算機1とのインタフェースをとるための計算機インタ
フェース20と、送受信データを格納するバッファメモ
リ30と、通信プロトコル処理を高速に行う本発明のプ
ロトコル高速処理機構10と。 ネットワーク3へのデータ送受信を制御するメディアア
クセスコントローラ(MAC−LSI)40と、MAC
−LSI40の制御及びMAC・LSI40とプロトコ
ル高速処理機構10との間のインタフェース制御を行う
MAC制御プロセッサ50と、それらを接続するローカ
ルバス60から成る。 計算機1からの送信データ及びネットワーク3からの受
信データは、データ経路21 (21−1,2l−2)
を経て、バッファメモリ30に格納される。計算機1か
らプロトコル高速処理機構1〇への送信要求及び、MA
C制御プロセッサ50からの受信通知等(以下、これら
をプリミティブと記す)は、プリミティブ経路22 (
22−1゜22−2)を介して授受される。プロトコル
高速処理機構10は、プリミティブ経路22からプリミ
ティブを受けとると、経路23を介して、バッファメモ
リ30上のプロトコル制御情報(以下、プロトコルヘッ
ダと記す)をアクセスし、プロトコル処理を実行する。 以上のように、通信制御装置2は、送受信されるデータ
を格納するバッファメモリ30が、計算機1内の主メモ
リ80間のデータ転送と、ネットワーク3との間のデー
タ転送と、プロトコル高速処理機構10によるプロトコ
ルヘッダのアクセスが同時に行えるように3ボートメモ
リを形成し、且つ、データの流れる経路と、プリミティ
ブ(制御)の流れる経路が分離されるように構成されて
いる。 本発明は、上記主プロセツサ70と、プロトコル高速処
理機構10が分担して実行する通信プロトコルの処理方
式に関するものであり、まず、そのプロトコルについて
説明する。 第3図は、各エンドシステムが有する通信プロトコルを
示す図である。エンドシステムは、レイヤ1 (Ll)
からレイヤ7(L7)までの階層化されたプロトコルを
有する。階層化されたプロトコルの内訳は、下位層から
、フィジカルレイヤL1、データリンクレイヤ(MAC
サブレイヤ。 LLCサブレイヤ)L2、ネットワークレイヤ上3.ト
ランスポートレイヤL4.セツションレイヤL5.プレ
ゼンテーションレイヤL6、アプリケーションレイヤL
7となっている。本実施例では、データリンクレイヤL
2のうちのMACサブレイヤ以下を、高速動作が可能な
LSI化されたハードウェア40で処理し、データリン
クレイヤL2のうちのLLCサブレイヤからトランスポ
ートレイヤL4までを本発明のプロトコル高速処理機構
10で処理し、セツションレイヤし5以上を計算機1内
の主プロセツサ70で分担して処理する。ここで、プロ
トコル高速処理機構10で処理するプロトコルについて
更に詳細に説明しておく。尚、本実施例では、具体的な
プ・ロトコルとして、データリンクレイヤにロジカルリ
ンクコントロール・タイプ1(以下、LLC(Tl)と
記す)、ネットワークレイヤにコネクションレス型ネッ
トワークプロトコル(以下、CLNPと記す)、トラン
スポートプロトコルに05I)−ランスポートプロトコ
ル・クラス4(以下、トランスポートプロトコルと記す
)を適用する。 第4図は、計算機Aと計算機Bの間で、データ転送を行
う場合の、トランスポートプロトコルのシーケンスを示
す図である。一連のシーケンスは。 コネクション確立フェーズ(I)、データ転送フェーズ
(■)、コネクション解放フェーズ(m)の3つのフェ
ーズから成る。 コネクション確立フェーズ(I)においては、一方の計
算機Aから、他方の計算機Bに対し、コネクション確立
要求パケットであるCR210を送信し、これを受けた
計算機Bがコネクション確立応答パケットCC220を
返信し、CCパケット220を受けた計算機Aが確認パ
ケットAK230を送信しコネクション確立状態と成る
。この後、データ転送フェーズに入る。 データ転送フェーズ(n)においては、一方の計算機A
からデータパケットDT240が送信され、DTパケッ
ト240を受信した計算機Bから、応答パケット250
が返信される。DTパケット240を送信した計算機A
では、AKパケット250の受信を監視する応答監視タ
イマーを起動し、AKパケット250を受信すると応答
監視タイマーを停止する。応答監視タイマーがタイムア
ウトした場合には、DTパケット240を再送する。更
に、DTパケット240には送信順序番号が付加され、
AKパケット250には次に受信を期待する送信順序番
号が付加される。DTパケット240の送信においては
、AKパケット250の受信を待たずに送信できる数(
以下、ウィンドウサイズと記す)の範囲内で、DTパケ
ット240を連続して送信できる。DTパケット240
を送信する毎にウィンドウサイズは少なくなり、AKパ
ケット250を受信する毎に大きくなる。ウィンドウサ
イズがなくなれば、AKパケット250を受信するまで
DTパケット240を送信できない。 このように送信するデータの流量を制御する機能を「フ
ロー制御」と呼ぶ。トランスポートプロトコルでは、こ
のフロー制御を送信状態変数■S、ウィンドウ下lIM
値LWE、ウィンドウ上限値UWEの3つの状態変数を
用いて制御する。送信状態変数VSは1次に送信するD
Tパケット240に付加する順序番号であり、ウィンド
ウ下限値LWEは、相手局によって送達確認を受けたD
Tパケット240の順序番号であり、ウィンドウ上限値
UWEは、AKパケット250の受信を待たずに送信で
きる上限の順序番号である。DTパケット240の送信
によって送信状態変数VSが更新され、AKパケットの
受信によってウィンドウ下限値LWE及び、ウィンドウ
上限値UWEが更新される、送信状態変数vSとウィン
ドウ上限値UWEが等しくなるとDTパケット240を
送信できない。 コネクション解放フェーズ(III)においては、一方
の計算機がコネクション解放パケットDR260を送信
する。DRパケット260を受信した他の計算機は、コ
ネクション解放を承認するパケットDC270を返信す
る。 一方、LLC(Tl)及び、CLNPプロトコルは、ト
ランスポートプロトコルに示すようなコネクション確立
/解放制御及び、フロー制御はなく、ユーザデータの転
送機能のみを有するプロトコルである。 第5図(A)〜(F)は、上述したトランスポートプロ
トコルの代表的なパケットフォーマット(CR,CC,
DT、AK、DRおよびDC)を示し、第6図(A)、
(B)は、CLNPプロトコルのデータパケットDTの
フォーマット(図A)及び、LLC(Tl)プロトコル
のデータフレームUIのフォーマット(図B)を示す。 第7図は、上位レイヤから、下位レイヤにプロトコル処
理が施されて行くに従い、各レイヤ毎のプロトコルヘッ
ダが(H4〜H1(H1’ )付加されて行く様子を示
した図である。 次に、以上述べたプロトコルを実行する本発明のプロト
コル高速処理機構10の構成を説明する。 第8図は、データリンクレイヤ(LLCサブレイヤ)か
らトランスポートレイヤまでの通信プロトコルを高速に
処理できるようにした本発明によるプロトコル高速処理
機構10の構成の1例を示すブロック図である。 プロトコル高速処理機構10は、レイヤ単位に設けられ
プロトコルヘッダ処理をハードウェア化したデータ転送
処理ユニット100 (100−1〜l 00−3 )
と、ローカルメモリ300とタイマー400を備えて、
ソフトウェア的にプロトコル処理を実行するバックエン
ドプロセッサ200と、それらが接続される内部バス5
00と、内部バス500のアービトレーションを行うバ
スアービタ600とで構成される。 プロトコルレイヤ間でのプリミティブの授受は、内部バ
ス500とは別にデータ転送処理ユニット100間に設
けたプリミティブ経路22 (22−1〜22−4)を
介して行われる。データ転送処理ユニット100及びバ
ックエンドプロセッサ200は2内部バス500を介し
て、バッファメモリ内のプロトコルヘッダ等をアクセス
できるように構成されている。上記構成において、各レ
イヤのプロトコル処理は、データ転送処理ユニット]0
0とバンクエンドプロセッサ200に分担して処理する
。 第9図は、各レイヤにおけるデータ転送処理ユニット1
00とバックエンドプロセッサ200の機能分担を示す
図である。トランスポートプロトコルについては、正常
なデータ転送に関するヘッダ処理(ヘッダ生成/ヘッダ
解析)と状態管理をデータ転送処理ユニット10oでハ
ードウェア的に処理し、コネクション制御、異常処理、
タイマー管理及びバッファ管理等の処理は、バックエン
ドプロセッサ200でソフトウェア処理する。 CLNP及びLLCプロトコルについては、正常なデー
タ転送処理をデータ転送処理ユニットI00で処理し、
異常処理及びエラー通知フレーム等のデータ以外のフレ
ーム処理をバックエンドプロセッサ200で処理する。 次に、プロトコル高速処理機構10の動作について説明
する。 第10図は、プロトコル高速処理機構10への動作指示
であるプリミティブを定義するコマンドディスクリブタ
31の形式と、送受信データが格納される送受信バッフ
ァ32との関係を示す。 コマンドディスクリブタ31は、それぞれコマンドフィ
ールドF1.コネクション識別フィールドF2、データ
長フィールドF3、バッファアドレスフィールドF4か
らなる4つのエントリE1〜E4を有する。これらのエ
ントリは、レイヤ間のインタフェースによって使いわけ
られる。すなわち、第1エントリE1は、計算機1とト
ランスポートレイヤ間L4のインタフェースに使用し、
第2エントリE2は、トランスポートレイヤL4とネッ
トワークレイヤL3間のインタフェースに使用し、第3
エントリE3は、ネットワークレイヤL3とデータリン
クレイヤ52間のインタフェースに使用し、第4エント
リE4は、データリンクレイヤL2とMAC制御プロセ
ッサ間のインクフェースに使用する。 コマンドフィールドFlには、レイヤ間でのプリミティ
ブを示すコマンドが設定される。計算機1からトランス
ポートレイヤへのコマンドには、CRパケットの送信を
要求するコネクション確立要求、CCパケットの送信を
要求するコネクション確立応答、DRパケットの送信を
要求するコネクション解放要求及び、DTパケットの送
信を要求するデータ送信要求がある。トランスポートレ
イヤL4からネットワークレイヤL3へのコマンド、ネ
ットワークレイヤL3からデータリンクレイヤL2への
コマンド及び、データリンクレイヤL2からMAC制御
プロセッサ50へのコマンドは、データ送信要求のみで
ある。一方、MAC制御プロセッサ50からデータリン
クレイヤL2へのコマンドには、データ受信通知とデー
タ送信完了通知がある。データリンクレイヤL2からネ
ットワークレイヤL3へのコマンド、ネットワークレイ
ヤL3からトランスポートレイヤL4へのコマンドは、
データ受信通知のみである。トランスポートレイヤL4
から計算機1へのコマンドは、CRパケットの受信を示
すコネクション確立通知。 CCパケットの受信を示すコネクション確立完了通知及
び、DTパケットの受信を示すデータ受信通知がある。 データ長フィールドF3及び、バッファアドレスフィー
ルドF4は、各レイヤにおけるデータ長及び、データの
先頭アドレスを示す。上記コマンドディスクリブタ31
及び、送受信バッファは、バッファメモリ30上に定義
する6次に、プロトコル高速処理機構10が行なう送信
動作について説明する。 計算機l内の主プロセツサ70は、予めバッファメモリ
30上に定義された送信用のコマンドディスクリブタ3
1の第1エントリE1に、コマンドコード、コネクショ
ン識別子、送信データ長。 送信バッファアドレス等のパラメータを設定し、コマン
ドディスクリブタ31のアドレス情報をプリミティブ経
路22−1を介してプロトコル高速処理機構1oへ入力
する。プロトコル高速処理機構10は、コマンドディス
クリブタ31のアドレス情報(以下、CDIDと記す。 )が入力されたことにより起動される。このように、レ
イヤ間のインタフェースは、プリミティブ経路22を介
して、CDIDを授受することにより行なわれる。 第11図及び第12図は、プロトコル高速処理[1構1
oの送信動作を示すフローチャートである。 計算機1からの送信要求は、まず、トランスポートレイ
ヤのデータ転送処理ユニット100−1に入力される。 データ転送処理ユニット100−1は、プリミティブ経
路22−1に入力されたCDIDが示すコマンドディス
クリブタ31の第1エントリE1を読み込み(ステップ
1000)、コマンドフィールドの値シこよりコマンド
を解析する(1001.1002)。 コマンドが、データ送信要求でなかった場合。 すなわち、コネクション確立要求、コネクション解放要
求、又は、コネクション確立応答であった場合には、デ
ータ転送処理ユニット100−1は。 先に取り込んだCDIDをバスインタフェース24−1
を介して、バックエンドプロセッサ200に渡し、バッ
クエンドプロセッサ200のソフトウェアによって、コ
ネクシ、ヨン制御処理を行う(1008)、このように
、データ転送処理ユニット100からバックエンドプロ
セッサ200への処理の依頼は、上下レイヤがら受は取
ったCDIDを、バスインタフェース24を介して、バ
ックエンドプロセッサ200に渡すことによって実現す
る。 コマンドが、データ送信要求であった場合には。 フロー制御を行い、送信できる状態かどうかを判断しく
1003)、送信できない場合には、バックエンドプロ
セッサ200に送信待ち処理を依頼する(1007)。 送信できる状態であった場合には、バックエンドプロセ
ッサ200に、応答監視タイマーの起動及び、送信デー
タの応答待ち処理を依頼する(1004)。次に、トラ
ンスボートヘッダをバッファメモリ30上に作成しく1
005)、コマンドディスクリブタ31の第2エントリ
E2にネットワークレイヤへのプリミティブを生成しく
1006)、CDIDをプリミティブ経路22−2に出
力することにより、ネットワークレイヤを起動する(1
009)。 ネットワークレイヤのデータ転送処理ユニット100−
2は、トランスポートレイヤからCDIDを受は取ると
、第12図に示す如く、当該コマンドディスクリブタの
第2エントリE2を読み込み(1010)、バッファメ
モリ30上の指定されたアドレスにプロトコルヘッダを
生成しく1011)、コマンドディスクリブタ31の第
3エントリE3にデータリンクレイヤへのプリミティブ
を生成しく1012)、CDIDをプリミティブ経路2
2−3に出力することにより、データリンクレイヤを起
動する(1013)。 データリンクレイヤのデータ転送処理ユニット100−
3は、ネットワークレイヤと同様に、コマンドディスク
リブタ31の第3エントリE3の内容に従いLLCヘッ
ダを生成しく1014゜1.015)、コマンドディス
クリブタ31の第4エントリE4にMAC制御プロセッ
サ50へのコマンドを生成し、CDIDをプリミティブ
経路22−4に出力し、MACIIJ#プロセッサ50
を起動する(1016)。 MAC制御プロセッサ50は、コマンドディスクリブタ
31の第4エントリE4を参照し、MAC−LSI40
を起動し、データをネットワーク3に送出する。 次に、プロトコル高速処理機構10の受信動作を説明す
る。MAC制御プロセッサ50は、MAC−LSI40
から受信割込みを受けると、予めバッファメモリ30上
に定義された受信用のコマンドディスクリブタ31の第
4エントリE4にコマンドコード、受信データ長、受信
バッファアドレス等のパラメータを設定し、CDIDを
プリミティブ経路22−4を介して、プロトコル高速処
理機構1oへ入力する。 第13図、第14図、第15図は、プロトコル高速処理
機構1oの受信動作を示すフローチャートである。MA
C制御プロセッサ50からの受信通知は、まず、データ
リンクレイヤのデータ転送処理ユニット100−3に入
力される。 データ転送処理ユニット100−3は、第13図に示す
如く、プリミティブ経路22−4に入力されたアドレス
が示すコマンドディスクリブタ31の第4エントリE4
を読み込み(ステップ1030)、指定されたアドレス
からLLCヘッダを読み込み、解析する(1031)。 フレームタイプがUIフレームでなかった場合、又は。 UIフレームに異常が検出された場合には、バックエン
ドプロセッサ200に当該フレームの受信処理を依頼す
る(1036)。LLCヘッダがUIフレームであり、
且つ、正常であった場合には、コマンドディスクリブタ
31の第3エントリE3にネットワークレイヤへのプリ
ミティブを生成しく1034)、先に取り込んだCDr
Dをプリミティブ経路22−3に出力することにより。 ネットワークレイヤを起動する(1035)。 ネットワークレイヤのデータ転送処理ユニット100−
2は、第14図に示す如く、データリンクレイヤからC
DIDを受は取ると、データリンクレイヤのデータ転送
処理ユニット100−3と同様に、ネットワークヘッダ
をチエツクしく1037〜1040)、正常なりTパケ
ットであれば、当該コマンドディスクリブタ31の第2
エントリE2にトランスポートレイヤへのプリミティブ
を生成しく1041)、CDIDをプリミティブ経路2
2−2に出力することにより、トランスボートレイヤを
起動する(1042)。 トランスポートレイヤのデータ転送処理ユニット100
−1は、ネットワークレイヤからCDIDを受は取ると
、第15図に示す如く、当該コマンドディスクリブタ3
1の第2エントリE2を読み込み(1044)、指定さ
れたアドレスからトランスボートヘッダを読み込み、解
析する(1045)。解析した結果、パケット種別が5
DTパケツト、又はAKパケットでなかった場合、又は
、プロトコルヘッダに異常が検出された場合には、バッ
クエンドプロセッサ200に当該パケットの受信処理を
依頼する(1052)、正常なりT受信であった場合に
は、当該コマンドディスクリブタ31の第1エントリE
1に、コネクション識別子、受信データ長、及びバッフ
ァアドレス等のパラメータを生成し、CDIDをプリミ
ティブ経路22−1に出力し、計算機1の主プロセツサ
70にデータ受信を通知する(1049)、その後、A
Kパケットを生成しく1050)、AKパケットを管理
するコマンドディスクリブタのCDIDをプリミティブ
経路22−2に出力することにより、ネットワークレイ
ヤに対して、AKパケットの送信を要求する(1051
)、受信したパケットが正常なAKパケットであった場
合には、フロー制御処理を行ない(1055)、バック
エンドプロセッサ50に応答監視タイマーの停止及び、
応答待ち送信バッファの解放処理を依頼する(1056
)。 第16図、第17図、第18図は、上述したトランスボ
ートプロトコル、CLNP及びLLCプロトコルを実行
した場合の、プロトコル高速処理機構10の動作を示す
タイムチャートである。コネクション確立フェーズ(1
)においては、第16@に示す如く、上位レイヤからの
コマンド解析及び、受信時のプロトコルヘッダの解析は
、データ転送処理ユニット100で行ない、以降の処理
は、バックエンドプロセッサ200で実行する。 データ転送フェーズ(n)においては、第17図に示す
如く、正常なデータ転送に関するプロトコルヘッダの処
理は、データ転送処理ユニット100で行ない、タイマ
ー制御及び、異常処理は。 バックエンドプロセッサ200で実行する。コネクショ
ン解放フェーズ(III)においては、第18図に示す
如く、コネクション確立フェーズと同様に5土位レイヤ
からのコマンド解析及び、受信時のプロトコルヘッダの
解析は、データ転送処理ユニット100で行ない、以降
の処理は、バックエンドプロセッサ200で実行する。 以上説明したように、正常なデータ転送処理に関しては
、そのプロトコル処理の大半を占めるプロトコルヘッダ
処理が、データ転送処理ユニット100によってハード
ウェア処理されるように動作する6 次に、正常なデータ転送に関するプロトコルヘッダ処理
をハードウェア処理するデータ転送処理ユニット100
を詳細に説明する。 第19図は、データ転送処理ユニット100の詳細な構
成を示すブロック図である。データ転送処理ユニット1
00は、送信入力PIFOIOIと、受信出力FIFO
102と、送信出力FIF0103と、受信入力PIF
O104と、上位レイヤからの送信要求をキューイング
する送信入力PIFOIOIと、プロセッサ8力FIF
O105と、プロセッサ入力PIFO106と、バス制
御部112と、コマンドディスクリブタ処理部113と
、プロトコルヘッダ処理部114と、プロトコル演算処
理部111と、応答送信用バッファプール107と、処
理完了フラグ108と、全体制御部110で構成する。 送信入力PIFOIOIは、上位レイヤから受けたコマ
ンドをキューイングする機能を持つ。受信出力PIFO
102は、上位レイヤへ渡すコマンドをキューイングす
る機能を持つ。送信出力PIFO103は、下位レイヤ
へ渡すコマンドをキューイングする機能を持つ。受信入
力PIFO104は、下位レイヤから受けたコマンドを
キューイングする機能を持つ。プロセッサ出力FIFO
105は、バックエンドプロセッサ200へ処理を依頼
するコマンドをキューイングする機能を持つ。プロセッ
サ入力PIFO106は、バックエンドプロセッサ20
0から依頼される上位レイヤへのコマンド及び下位レイ
ヤへのコマンドをキューイングする機能を持つ。以上の
FIFOによって、上位レイヤ、下位レイヤ及び、バッ
クエンドプロセッサ200とのインタフェースをとる。 バス制御部112は、内部バス500とのインタフェー
ス制御を行う機能を持つ。コマンドディスクリブタ処理
部113は、先に説明したコマンドディスクリブタの生
成及び解析を行う機能を持つ、プロトコルヘッダ処理部
114は、プロトコルヘッダの生成及び解析を行う機能
を持つ。プロトコル演算処理部111は、送信順序番号
の生成、チエツク及び、フロー制御を実現するだめの状
態チエツクを行う機能を持つ。応答送信用バッファプー
ル107は、データ受信に伴う応答送信時に必要となる
バッファをキューイングするハードウェアキューである
。処理完了フラグ108は、データ転送処理ユニット1
00がバックエンドプロセッサ200に依頼した処理が
完了したことを示すフラグであり、データ転送処理ユニ
ット100とパックエンドプロセッサ200間の同期を
とるためのフラグである。全体制御部110は、これら
の機能ブロックを制御し、全体の動作を制御する機能を
持つ。 茨に、トランスポートプロトコルを例にとり、データ転
送処理ユニット100の概略動作を説明する。 上記構成において、データ送信時には、プロトコル演算
処理部111によって、送信できる状態がどうかを判定
し、送信できる状態であれば送信するDTパケットに付
加する送信順序番号を生成し、プロトコルヘッダ処理部
114に送る。プロトコルヘッダ処理部114では、送
信順序番号を送信するプロトコルヘッダの形式に組立テ
、バッファメモリに書き込む。データ受信時には、プロ
トコルヘッダ処理部114によって、バッファメモリか
らプロトコルヘッダを読み込み、チエツクを行う。受信
したプロトコルヘッダに誤りがなければ、プロトコルヘ
ッダ中の順序番号をプロトコル演算処理部111に送る
。プロトコル演算処理部111では、順序番号のチエツ
クを行う。 第20図は、全体制御部110を更に詳細に示すブロッ
ク図である。全体制御部110は、送信処理に関する動
作制御を行う送信処理コントローラ110−2と、受信
処理に関する動作制御を行う受信処理コントローラ11
0−3と、上下レイヤ及びバックエンドプロセッサ20
0がらの起動を検出し、送信処理コントローラ110−
2&び受信処理コントローラ110−3を起動するスケ
ジューラ110−1で構成する。 第21図〜第29図を用いて、全体制御部110の動作
を説明する。 第21図は、第20図に示したスケジューラ110−1
の動作を示すフローチャートである。 スケジューラ110−1は、まず、FIFOがらの入力
横比信号120によって、起動元を判定する(ステップ
1100.1101)。プロセッサ入力FIFO106
がらの起動であった場合には、プロセッサ人力FIFo
1o6がら、CDID及び、送受信指定ビットをロード
しく1105)。 送信要求であれば、ロードしたCDIDを送信出力PI
FO103に出方することにより、下位レイヤに送信要
求を出す(1108)。上位レイヤへの通知要求であれ
ば、CDIDを受信出力FIFO102に呂カすること
により、上位レイヤへ通知する(1107)。受信入力
FIFOがらの起動であった場合には、受信処理コント
ローラ110−3を起動しく1103)、処理の完了を
待つ(1104)。送信六方FTFOがらの起動であっ
た場合には、送信処理コントローラ110−2を起動し
く1102)、処理の完了を待つ(1104)。 第22図〜第24図は第20図に示した送信処環コント
ローラ110−2の動作を示すフローチャートである。 送信処理コントローラ110−2は、第22図に示す如
く、スケジューラ110−1から起動されると(ステッ
プ1110)、送信人力FIFOからCDIDをロード
しく1111)、コマンドディスクリブタ処理部113
に対して、上位レイヤインタフェース用エントリのフェ
ッチ要求を出しく1112)、完了報告を待つ(111
3)。 コマンドディスクリブタのフェッチが完了すると、上位
レイヤからのコマンドがデータ送信要求かどうかを判定
しく1114)、データ送信要求でなければ、データ送
信処理でないことを示すフラグ1′と先に取り込んだC
DIDをプロセッサ出力PIF○105に出力すること
により、その処理をバンクエンドプロセッサ200に依
頼しく1115)、スケジューラ110−1に対して、
送信処理の完了を通知する(1116)。 データ送信要求であった場合には、第23図に示す如く
、プロトコル演算処理部111を起動しく1117)、
処理の完了を待つ(1118)。 プロトコル演算処理部111からの完了報告があれば送
信可能かどうかを判定しく1119)、送信不可能な状
態1例えば、フロー制御によりこれ以上送信できない場
合などは、先に取り込んだCDIDをプロセッサ出力P
IFO105に出力することにより、バックエンドプロ
セッサ200に対して送信待ち処理を依頼しく1123
)、処理完了フラグ108がONになるのを待つ(11
24)。バックエンドプロセッサ200では、送信待ち
処理を行ない処理完了フラグ108をONにする。送信
処理コントローラ110−2は、処理完了フラグ108
がONになると、当該フラグ108をOFFにしく11
25)、スケジューラ110−1に送信処理完了を通知
する(1126)、このように、データ転送処理ユニッ
ト100は、バックエンドプロセッサ200に依頼した
処理が次に発生し得るイベントに対する処理との順序性
を保証しなければならないような場合には、処理完了フ
ラグ108を用いて、プロセッサ間での同期をとる。一
方、送信可能な状態であった場合には、CDIDをプロ
セッサ出力FIFO105に出力することにより、バッ
クエンドプロセッサ200に対して、応答監視タイマー
の起動を依頼する(1120)。次に、プロトコルヘッ
ダ処理部114にデータパケットの生成を要求し、生成
完了を待つ(1121,1122)。 プロトコルヘッダの生成が完了すると、第24図に示す
如く、コマンドディスクリブタ処理部に下位レイヤイン
タフェース用エントリの生成を要求し、その完了を待つ
(1127,1i28)。 コマンドディスクリブタの生成が完了すると、先に取り
込んだCDIDを送信8力FIFOに出力Li1129
)、スケジューラ110−1 ニ送信処理の完了を通知
する(1130)。 第25図〜第29図は、第20図に示した受信処理コン
トローラ110−3の動作を示すフローチャートである
。 受信処理コントローラ110−3は、スケジューラ11
0−1から起動されると(ステップ1140)、まず、
受信人力FIFO104がらCDIDをロードしく11
41)、コマンドディスクリブタ処理部113に対して
、下位レイヤインタフェース用エントリのフェッチ要求
を出し。 その完了を待つ(1142,1143)。コマンドディ
スクリブタのフェッチが完了すると、相手局からのデー
タ受信かどうかを判定しく1144)、データの受信で
なければ、そのことを示すフラグ′ 1′とCDIDを
プロセッサ出力FIFOに出力しく1145)、スケジ
ューラに受信処理の完了を通知する(1146)。 データの受信であった場合には、第26図に示す如く、
プロトコルヘッダ処理部114に対して、プロトコルヘ
ッダの解析を要求し、その完了を待つ(1147,11
48)、プロトコルヘッダの解析が完了すると、受信し
たデータがデータパケットか応答パケットかを判定しく
1149)、データパケット又は、応答パケットでなか
った場合には、CDIDをプロセッサ出力PIFO10
5に出力することにより、バックエンドプロセッサ20
0に対して、その処理を依頼しく1154)、スケジュ
ーラ110−1に受信処理の完了を通知する(1145
)。受信したデータがデータパケットであった場合には
(1150)、プロトコル演算処理部111に対して、
データ受信時の順序番号の正常性チエツクを要求し、そ
の完了を待つ(1151,1152)。正常なデータ受
信でなかった場合、すなわち、受信順序番号に抜けが検
出された場合には、このことを示すフラグ′ 1′とC
DIDをプロセッサ出力FIFO105に出力すること
により、その処理をバックエンドプロセッサ200に依
頼しく1156)、処理完了フラグ108がON +、
−なるのを待−)(1157)。 バックエンドプロセッサ200は、データ転送処理ユニ
ット100から依頼された異常処理を行い、処理完了フ
ラグ108をONにする。データ転送処理ユニット10
0は、処理完了フラグ108がONになると、当該フラ
グ108をOFFにしく1158)、スケジューラ11
0−1に受信処理完了を通知する(1155)。 正常なデータ受信であった場合には、第27図に示す如
く、コマンドディスクリブタ処理部113に上位レイヤ
インタフェース用エントリの生成要求を出し、その完了
を待つ(1160゜1161)、コマンドディスクリブ
タの生成が完了すると、CDIDを受信出力FIFOに
出力することにより、上位レイヤに通知する(1162
)。さらに、応答送信用バッファプール107の状態に
より応答パケットの送信が可能がどうかを判定しく11
64)、不可能であれば、スケジューラ110−1に受
信処理の完了を通知する(1165)。 応答パケットの送信が可能である場合には、第28図に
示す如く、応答送信用バッファプール107から、応答
パケット送信用のコマンドディスクリブタのCDIDを
ロードしく1166)、コマンドディスクリブタ処理部
113に対して、下位レイヤインタフェース用エントリ
のフェッチ要求を出し、その完了を待つ(1167゜1
168)、この動作により、応答パケットを生成するバ
ッファアドレスが求められる。コマンドディスクリブタ
のフェッチが完了すると、プロトコルヘッダ処理部11
4に、応答パケットの生成を要求し、その完了を待つ(
1169,1170)。応答パケットの生成が完了する
と、CDIDを送信出力FIFOに出力することにより
、下位レイヤに対して、応答パケットの送信を要求しく
1171)、スケジューラ110−1に対して受信処理
の完了を通知する(1172)。 一方、受信したデータが応答パケットであった場合には
、第26図のステップ1150から第29図のステップ
1180に進み、プロトコル演算処理部111に対して
、応答パケット中の順序番号の正常性チエツクを要求し
、その完了を待つ(1180,1181)。正常な応答
受信でなかった場合には、このことを示す′ 1′と、
CDIDをプロセッサ出力FIFO105に出力するこ
とにより、その処理をバックエンドプロセッサ200に
依頼しく1187)、処理完了フラグ108がONにな
るのを待つ(1188)。処理完了フラグ108がON
になると、当該フラグ108をOFFにしく1189)
、スケジューラ110−1に受信処理完了を通知する(
1186)。 正常な応答受信であった場合には、コマンドディスクリ
ブタ処理部113に上位レイヤインタフェース用エント
リの生成要求を出し、その完了を待つ(1183,11
84)。この動作により、バックエンドプロセッサ20
0に対して、受信した応答バッファの解放を要求するコ
マンドをコマンドディスクリブタ31内に生成する。コ
マンドディスクリブタ31の生成が完了すると、CDI
Dをプロセッサ出力FIFO105に出力することによ
り、バックエンドプロセッサ200に対して。 受信バッファの解放を要求しく1185)、スケジュー
ラ110−1に対して、受信処理の完了を通知する(1
186)。 第30図は、第19図に示したコマンドディスクリブタ
処理部113を更に詳細に示すブロック図である。コマ
ンドディスクリブタ処理部113は、コマンドディスク
リブタ31のパラメータを格納スるコマンドレジスタ1
13−3.バッファアドレスレジスタ113−2、コネ
クション識別レジスタA113−4.データ長レジスタ
A113−5と、これらの動作を制御するコマンドディ
スクリブタコントローラL13−1で構成する。制御信
号線129は、バス制御部112に対するコマンドディ
スクリブタのアクセス要求信号であり、制御信号$11
34は、アクセスの完了を示す応答信号である。 まず、コマンドディスクリブタの読み込み(フェッチ)
動作を説明する。コマンドディスクリブタコントローラ
113−1は、制御信号122により全体制御部110
からのフェッチ要求を検出すると、制御信号線129に
よって、バス制御部112に対して、メモリアクセス要
求を2回発行する。1回目のアクセスで、コマンドディ
スクリブタ中のコマンドフィールドF1、コネクション
識別フィールドF2及び、データ長フィールドF3の値
を読み込み、各々、コマンドレジスタ113−3、コネ
クション識別レジスタA1】3−4、データ長レジスタ
A113−5に格納する。 1回目のアクセスが完了すると、バス制御部112に対
して、2回目のアクセス要求を出すのと並列に、コマン
ドレジスタ113−3の値をデコードすることによって
コマンドがデータ送信要求又は、データ受信通知である
かどうかを判定し、データ送信要求又は、データ受信通
知であった場合には、コネクション識別レジスタA11
3−4の内容及び、データ長レジスタAl 13−5の
内容を、以降のプロトコル処理に備え、バス131を介
して、プロトコル演算処理部111に送る。 2回目のアクセスにより読み込まれたコマンドディスク
リブタ中のバッファアドレスフィールドF4の値は、バ
ッファアドレスレジスタ113−2に一旦格納された後
、以降のプロトコルヘッダのアクセスに備え、バス13
3を介してバス制御部112に送られる。コマンドディ
スクリブタへの書き込み動作については、読み込み動作
と逆に、各レジスタの内容がコマンドディスクリブタに
書き込まれる。 第31図は、第19図に示したプロトコルヘッダ処理部
114を更に詳細に示すブロック図である。プロトコル
ヘッダ処理部114は、−度にアクセスするプロトコル
ヘッダを格納するヘッダレジスタ114−2,114−
3と、受信したプロトコルヘッダの正常性をチエツクす
るための比較回路114−4と、送信するプロトコルヘ
ッダを生成する生成回路114−5と、これらの動作を
制御するヘッダアクセスコントローラ114−1で構成
する。 まず、受信したプロトコルヘッダの解析動作を説明する
。 ヘッダアクセスコントローラ11.4−1は、制御信号
126により全体制御部110からのプロトコルヘッダ
の読み込み要求を受けると、制御信号線128によって
バス制御部112に対してプロトコルヘッダの読み込み
を要求する。 バス制御部112は、−度にアクセスできるデータをリ
ードすると、ヘッダレジスタA114−2に格納する。 アクセスが完了すると、ヘッダレジスタAl 14−2
に格納されたデータをヘッダレジスタB114−3に転
送する。ヘッダレジスタB114−3への転送が完了す
ると、ヘッダレジスタB 114−3に格納されたデー
タをプロトコルヘッダを構成する要素に分解し、比較回
路114−4に入力し、各要素のチエツクを開始する。 すべてのプロトコルヘッダの読み込みが完了していない
場合には、各要素のチエツクを開始すると同時に、バス
制御部112に対して、残りのプロトコルヘッダの読み
込みを要求する。この動作は、プロトコルヘッダを全て
読み終えるまで繰り返される。比較回路114−4にお
いては、値が固定である要素のチエツク及び、特定ビッ
トパターンのマスクによる要素の切りだし等が行われる
。比較データ及び、マスクデータは、ヘッダアクセスコ
ントローラ114−1から比較回路114−4に送られ
る。比較回路114−4でのチエツクで異常が検出され
た場合には、制御信号線114−7によってヘッダアク
セスコントロ−ラ114−1に通知される。以降のプロ
トコル演算処理に必要となる送受信順序番号等のパラメ
ータは、バス132を介してプロトコル演算処理部11
1に送られる。すべてのプロトコルヘッダのアクセス及
び、チエツクが完了すると、全体制御部110に対して
完了報告を行う。 以上説明したように、プロトコルヘッダの解析において
、プロトコルヘッダのアクセスが複数回のメモリアクセ
スに分割される場合、プロトコルヘッダのメモリからの
読み込みと、プロトコルヘッダのチエツクがパイプライ
ン処理されるように動作する。プロトコルヘッダの生成
動作については、解析動作と逆の動作をする。すなわち
、送信すべきプロトコルヘッダの要素を生成回路114
−5によって生成し、ヘッダレジスタB114−3でプ
ロトコルヘッダの形式に組立てられ、ヘッダレジスタA
l 14−2に送られた後、バス502を介してメモリ
に書き込まれる。さらに、解析動作と同様に、プロトコ
ルヘッダの組立てと、メモリへの書き込みがパイプライ
ン処理されるように動作する。 第32図は、第19図に示したプロトコル演算処理部1
11を更に詳細に示すブロック図である。 プロトコル演算処理部111は、コマンドディスクリブ
タのコネクション識別フィールドの値を保持するコネク
ション識別レジスタB111−2と、データ長フィール
ドの値を保持するデータ長レジスタB111−3と、プ
ロトコルヘッダを構成するパラメータを保持する複数の
パラメータレジスタ111−4と、コネクション対応に
存在し。 コネクションの状態及び、フロー制御を行う上で必要な
送受信順序番号等の状態を管理するレジスタファイル1
11−8と、処理の対象となるレジスタファイル111
−8を選択するレジスタファイル選択回路111−7と
、演算を行うALUI 11−6と、これらのレジスタ
及びALUI 11−6を制御し、レジスタ間での演算
を行うプロトコル演算コントローラ111−1で構成す
る。レジスタファイル111−8は、プロトコル演算コ
ントローラ111−1及び、バックエンドプロセッサ2
00の両方からアクセスできるように構成されている。 レジスタファイル111−8は、コネクションが確立さ
れた時点で、バックエンドプロセッサ200によって初
期化され、コネクションの状態を示す状態フラグは、コ
ネクション確立済み′状態に設定される。 まず、データ送信時の動作を説明する。送信データに付
加される送信順序番号は、送信状態変数VSとしてレジ
スタファイル111−8に格納されている。プロトコル
演算コントローラ111−1は、コネクション選択レジ
スタB111−2で選択したレジスタファイル111−
8中の状態フラグによりコネクションが確立状態にある
がどうかをチエツクし、′コネクション確立済み′状態
であれば、送信状態変数■Sをパラメータレジスタ11
1−4に転送し、プロトコルヘッダ処理部114に渡す
、その後、ALUI 11−6を用いて、送信状態変数
VSを更新し、次のデータ送信に備える。 次に、受信動作を説明する。受信したデータに付加され
た受信順序番号は、プロトコルヘッダ処理部114を介
して、パラメータレジスタ111−4に格納される。プ
ロトコル演算コントローラ111−1は、送信時と同様
に、状態フラグによりコネクションの状態をチエツクし
、′コネクション確立済み′状態であれば、パラメータ
レジスタ111−4の内容と、レジスタファイル111
−8の受信状態変数VRの内容を比較し、順序番号の正
常性をチエツクする6正常であれば、受信状態変数VR
を更新し1次のデータ受信に備える。 以、上説明したように、レジスタファイル111−8は
、正常なデータ送受信処理時には、プロトコル演算コン
トローラ111−1によって更新されるが、異常処理時
においては、バックエンドプロセッサ200によって更
新される。すなわち。 レジスタファイル111−8は、2つのプロセッサの共
有リソースであり、競合制御が必要となる。 これに対しては、データ転送処理ユニット100の動作
フローで説明した如く、処理完了フラグ108を利用し
て、バックエンドプロセッサ200が処理中の時は、デ
ータ転送処理ユニット1ooが新たな処理を受は付けな
いようにし、レジスタファイルIIIL−8に対するア
クセス競合を防止する。 第33図は、第19図に示したバス制御部112を更に
詳細に示すブロック図である6バス制御部112は、内
部バス500とのインタフェースを持ち、メモリアクセ
スを制御するメモリアクセス制御回路112−1と、ア
クセスするメモリのアドレスを生成するアドレスジェネ
レータ112−2と、コマンドディスクリブタのアドレ
スの一部の値を定義するベースアドレスレジスタ112
−3、オフセットアドレスレジスタ112−4と、チッ
プセレクタ112−5で構成する。 バス制御部112は、コマンドディスクリブタ処理部1
13からメモリアクセス要求を受けた場合には、ベース
アドレスレジスタ112−3と、バス109上のCDI
Dと、オフセットアドレスレジスタ112−4から、コ
マンドディスクリブタのアドレスを生成し、アクセスす
る。一方、プロトコルヘッダ処理部114からメモリア
クセス要求を受けた場合には、バス133を介して、プ
ロトコルヘッダが格納されたバッファアドレスをロード
し、アクセスする。 第34図は、データ送信処理時のデータ転送処理ユニッ
ト100内の動作を示すタイムチャート。 第35図は、データ受信処理時のデータ転送処理ユニッ
ト100内の動作を示すタイムチャートを示す。 以上説明したように、本実施例によれば、正常な゛デー
タ転送が行われている限り、そのプロトコル処理の大半
を占めるプロトコルヘッダの処理が。 データ転送処理ユニットによってハードウェア処理され
るため、従来のソフトウェア処理に比べ、プロトコル処
理時間を短縮できるという効果がある。 (実施例2) 次に、本発明の他の実施例を述べる。実施例1で説明し
たプロトコル高速処理機構10では、データ転送処理ユ
ニット100とバックエンドプロセッサ200を同一内
部バス500に接続している。この場合、データ転送処
理ユニット100及びバックエンドプロセッサ200か
らバッファメモリ30へのアクセスと、データ転送処理
ユニット100からバックエンドプロセッサ200への
処理の依頼が同一内部バス500を介して行われる。第
36図は、上記構成を変形し、データ転送処理ユニット
100 (100−1〜100−3)及びバックエンド
プロセッサ200からバッファメモリ30へのアクセス
経路と、データ転送処理ユニット100からバックエン
ドプロセッサ200へ処理を依頼する経路を分離させた
ものである。データ転送処理ユニット100及びバック
エンドプロセッサ200は、内部バス(A)500のみ
でなく、新たに設けた内部バス(B)510にも接続す
る。 上記構成において、データ転送処理ユニット100及び
バックエンドプロセッサ200からバッファメモリ30
へのアクセスは、内部バス(A)500を介して行い、
データ転送処理ユニット100とバックエンドプロセッ
サ200との間のインタフェースは、内部バス(B)5
10を介して行う。 本実施例によれば、データ転送処理ユニット100及び
バックエンドプロセッサ200からバッファメモリ30
へのアクセスと、データ転送処理ユニット100とバッ
クエンドプロセッサ200間のインタフェースが、各々
異なるバスを介して行われるため、バスの負荷が分散し
、高性能なプロトコル高速処理装置を実現できるという
効果がある。 (実施例3) 実施例1及び、実施例2では、バックエンドプロセッサ
200は、プロトコル高速処理機構10内に1つだけ設
けていた。第37図は、上記構成を変形し、バックエン
ドプロセッサ200を各レイヤ毎に設けた構成を示す図
である。各レイヤ対応のバックエンドプロセッサ200
は、インタフェース経路102を介してデータ転送処理
ユニツト100とのインタフェースをとり、内部バス5
00を介してバッファメモリ30にアクセスする。 本実施例によれば、ソフトウェア的に実行するバックエ
ンド処理が、各レイヤ毎のバックエンドプロセッサ20
0によって分散して処理されるため、高性能なプロトコ
ル高速処理装置を実現できるという効果がある。 (実施例4) 次に、本発明の他の実施例を述べる。実施例1で説明し
たプロトコル高速処理機構10では、トランスポートプ
ロトコル(レイヤ4)のデータ転送処理において、プロ
トコルヘッダの生成/解析処理をデータ転送処理ユニッ
ト100でハードウェア処理し、タイマー制御及び、応
答待ち処理をバックエンドプロセッサ200でソフトウ
ェア処理するように機能分担したものである。上記機能
分担は、レイヤ4のデータ送信時におけるタイマー起動
処理及び応答待ち処理と、レイヤ3のデータ送信処理を
並列処理し、レイヤ4〜2の送信遅延時間(レイヤ4の
データ転送処理ユニットが送信要求を受は付けてから、
レイヤ2のデータ転送処理ユニットがMAC制御部に対
して送信要求を出すまでの遅延時間)を短縮するもので
ある。上記実施例では、遅延時間を短縮する上では効果
があるが、データ転送処理にバックエンドプロセッサ2
00によるソフトウェア処理を必要とする為、プロトコ
ル高速処理機構10の処理能力(スループット)の点で
は、従来のソフトウェア処理方式に比べ、大きな性能改
善は望めない。 実施例4では、プロトコル高速処理機構10のスループ
ット向上を目的とし、正常なデータ転送処理において、
バックエンドプロセッサ200の処理が介在しないプロ
トコル高速処理機構10を提供する。上記目的を実現す
るために、データ転送処理ユニット100とバックエン
ドプロセッサ200の機能分担を改め、従来、バックエ
ンドプロセッサ200で処理していたタイマーの起動、
停止処理、応答待ち処理及び、送信待ち処理をデータ転
送処理ユニット100で処理する。 以下、上記機能分担を実現するためのハードウェア構成
について説明する。 第38図は、プロトコル高速処理機構10の構成を示す
ブロック図である。実施例1で示した構成(第8図)に
、データ転送処理ユニット100からローカルメモリ3
00へのアクセスパス25を追加した。該アクセスパス
25は、データ転送処理ユニット100によるタイマー
の起動、停止処理において使用する。タイマーの起動、
停止方法については後述する。 第39図は、レイヤ4に対応するデータ転送処理ユニッ
ト100−1の内部構造を示す図である。 実施例1で示した構成(第19図)に、タイマー制御部
13S、応答待ちFIFO145.送信待ちFIFO1
46を追加した。タイマー制御部135は、全体制御部
110の指示により、タイマーの起動及び停止処理を行
う機能を持つ。応答待ちPIFO145は、データの再
送処理に備え。 送信バッファを保持するハードウェアキューである。応
答待ちFIFO145には、送信バッファを管理するコ
マンドディスクリブタのアドレス情報を格納する。送信
待ちPIFO146は、上位レイヤからのデータ送信要
求に対して、フロー制御機能が働き、データの送信を待
ち合わせる場合。 送信バッファを保持するためのハードウェアキューであ
る。送信待ちPIFO146には、送信バッファを管理
するコマンドディスクリブタのアドレス情報を格納する
。応答待ちFIFO145及び、送信待ちFrFO14
6は、コネクション毎に設ける。次に、プロトコル高速
処理機構10の概略動作を、実施例1の動作フロー(第
11図〜第15図)と異なる部分を中心に説明する。実
施例1と動作が異なる部分は、レイヤ4におけるデータ
送信動作(第11図)と、レイヤ4における応答受信動
作(第15図)である。レイヤ4のデータ送信動作につ
いては、第11図において、上位レイヤからのデータ送
信要求に対して、送信が可能であった場合、データ転送
処理ユニット100−1により応答監視タイマーの起動
処理と応答待ち処理(1004)を行い、レイヤ3に対
してデータ送信要求を呂す、フロー制fxJ機能が働き
送信できない場合、データ転送処理ユニット100−1
により送信待ち処理(1007)を行う、レイヤ4の応
答受信動作については、第15図に示すフローにおいて
、応答パケットを受信した場合、データ転送処理ユニッ
ト100−1で応答監視タイマーの停止処理及び、応答
待ち処理(1056)を行う。 第40図は、上記動作フローに従い、データ転送に関す
るプロトコル高速処理機構10の概略動作を示すタイム
チャートである。本実施例では。 データ転送処理にバックエンドプロセッサ200の処理
が介在しない。 次に、データ転送処理ユニット100−1の詳細動作に
ついて、実施例1と異なる部分を中心に説明する。まず
、データ送信動作について説明する。実施例1の送信動
作(第22図〜第24図)において、上位レイヤからの
送信要求に対して。 コマンドディスクリブタ制御部113によるコマンドの
解析及び、プロトコル演算処理部111による送信フロ
ー制御処理は、実施例1と同様である。 第41図は1本実施例による。以降の動作を示すタイム
チャートである。プロトコル演算処理部111でのフロ
ー制御により、データ送信が可能と判断した場合には、
タイマー制御部135に対して、タイマーの起動要求を
出し、その完了を待つ(1120−1,1120−2)
、タイマーの起動が完了すると、コマンドディスクリブ
タのアドレス情報であるCDIDを応答待ち PIFO145に登録する0次に行うプロトコルヘッダ
処理部114によるプロトコルヘッダの生成処理及び、
レイヤ3への送信要求処理は、実施例1と同様である。 プロトコル演算処理部111でのフロー制御により、デ
ータ送信が不可能と判断した場合には、送信待ちFIF
O146にCDIDを登録する(1123−1)。 次に、応答受信動作について説明する。実施例1の受信
動作(第25図〜第29図)において。 受信したプロトコルヘッダの解析処理までは、同様であ
る。 第42.43図は、本実施例による。以降の動作を示す
フローチャートである。プロトコル演算処理部111で
フロー制御を行い(1180,1181)、正常な応答
パケットであった場合には、コマンドディスクリブタ処
理部113に対して、受信バッファ解放要求を示すコマ
ンドの生成を要求し、その完了を待つ(1183,11
84)、コマンドの生成が完了すると、受信した応答パ
ケットのCDIDを送信出力PIFO103に出力する
ことにより、下位レイヤに対して受信バッファを返却す
る(1185)、受信バッファの解放を終えると、応答
待ちFIFO145からCDIDを取り出し、受信出力
PIFO102に出力することにより、上位レイヤに対
してデータの送信完了を通知する(1190)。更に、
タイマー制御部135に対してタイマー停止要求を出し
、その完了を待つ(1191,1192)。タイマーの
停止が完了すると、送信待ち FIFO146にCDIDが登録されているかどうかを
チエツクしく1193)、を録されていれば、送信待ち
FIFO146からCDIDを取り出し、該CDIDに
対して、データ送信処理を行う(1194)、この処理
により、フロー制御により送信待ちにあったデータを送
信する。以上。 データ転送処理ユニット100−1の動作について説明
した。 次に、データ転送処理ユニット100−1によるタイマ
ーの起動、停止方法について、詳細に説明する。 第44図は9本実施例におけるタイマー管理方式′を示
す図である。ローカルメモリ300は、データ転送処理
ユニット100及び、バンクエンドプロセッサ200の
両方からアクセスできるように構成され、該メモリ上で
タイマー管理を実現する。ローカルメモリ300上には
、コネクション毎のタイマーを管理するタイマー管理テ
ーブル301を定義する。タイマー管理テーブル301
は、タイムアウト時間の初期値を保持するタイムアウト
時間設定エリア301−1及び、タイムアウドまでの残
り時間を保持するタイマーカウンタ301−2で構成す
る。上記構成において、タイマーの起動及び、停止は、
データ転送処理ユニット100で行い、タイマーの更新
及び、タイムアウトの検出は、バックエンドプロセッサ
200で行うように機能分担する。 第45図は、データ転送処理ユニット100によるタイ
マーの起動及び停止方法を示す図である。 タイマーを起動する場合は、タイムアウト時間301−
1の内容をタイマーカウンタ301−2に設定すること
により行う(1201)、タイマーの停止は、タイマー
カウンタ301−2に0′を設定することにより行う(
1203)。 すなわち、タイマーカウンタ301.−2の値が0′で
あれば、タイマーが起動されていないことを示し、′0
′でなければ、タイマーが起動されていることを示す。 第46図は、バックエンドプロセッサ200によるタイ
マーカウンタ301−2の更新及び、タイムアウトの検
出方法を示す図である。バックエンドプロセッサ200
は、ハードウェアタイマー400からの周期的な割込み
を基に、全コネクションのタイマーカウンタ301−2
を更新する機能を持つ。バックエンドプロセッサ200
は、タイマーカウンタ301−2をリードし、その値が
Hotであれば、タイマーが起動されていないと判断し
、他のタイマーの更新に移る。タイマーカウンタ301
−2の値がlotでなければ、その値を減算し、タイマ
ーカウンタ301−2に設定する(1251)。減算し
た結果、 0′になれば、タイマーがタイムアウトした
と判断し、タイムアウト処理を行う(1253)。上記
実施例によると、データ転送処理ユニット100とバッ
クエンドプロセッサ200の両方からタイマーカウンタ
301−2を更新するため、競合制御が必要となる。以
下、タイマーカウンタ301−2の競合制御方法を中心
に、更に詳細な動作を説明する。 第47図は、データ転送処理ユニット100内のタイマ
ー制御部135の内部構造を示す図でる。 タイマー制御部135は、タイマーの起動、停止動作を
制御するタイマー処理コントローラ135−1.タイマ
ーカウンタ301−2へのアクセス競合を防止するロッ
クフラグ135−2.タイマー起動時のタイムアウト値
を一時的に保持するタイマーレジスタ135−3. ロ
ーカルメモリ300上のタイマー管理テーブル301の
ベースアドレスを保持するタイマ管理テーブルベースア
ドレスレジスタ135−4及び、対応するコネクション
のタイムアウト時間301−1及びタイマーカウンタ3
01−2のアドレスを求めるタイマーカウンタアドレス
生成回路135−5で構成する。 ロックフラグ135−2、タイマー管理テーブルベース
アドレスレジスタ135−4は、バックエンドプロセッ
サ200からアクセスできるように構成されている60
ツクフラグ135−2は、バックエンドプロセッサ20
0がタイマーカウンタ301−2を更新中であることを
示すフラグである、以下、バックエンドプロセッサ20
0及び。 データ転送処理ユニット100内のタイマー制御部13
5の詳細な動作について説明する。 第48図は、バックエンドプロセッサ200によるタイ
マーカウンタ301−2の更新動作を示す図である。バ
ックエンドプロセッサ200は、タイマーカウンタ30
1−2の更新に先立ち50ツクフラグ135−2をセッ
トし、これよりタイマーカウンタ301−2を更新する
ことをタイマー制御部135に伝える(1400)。タ
イマーカウンタ301−2の更新(1401,1402
)を終えると、ロックフラグ135−2をリセットする
(1403)。 第49図は、タイマー制御部135の動作を示す図であ
る。タイマー制御部135は、全体制御部110から起
動されると、バス制御部112に対して、バス獲得要求
を出し、獲得完了を待つ(1300,1301)。バス
の獲得が完了すると、ロックフラグ135−2をチエツ
クしく1302)、ロックフラグ135−2がセットさ
れていれば、バス制御部112に対して、バス解放要求
を出しく1303.1304)、ロックフラグ135−
2がリセットされるまで待つ(1305)、ロックフラ
グ135−2がリセットされれば、上記処理を再度行い
、ロックフラグがリセットされていれば、第50図に示
すタイマーカウンタ301−2の操作に移る。全体制御
部110からの要求がタイマー起動要求であった場合に
は、対象とするコネクションのタイムアウト時間設定エ
リア301−1のアドレスを求め(1307)、バス制
御部112に対して、メモリリード要求を出し、タイム
アウト値をタイマレジスタ135−3に取り込む(13
08゜1309)。次に、タイマーカウンタ301−2
のアドレスを求め、バス制御部112に対して。 メモリライト要求を出し、タイマーレジスタ135−3
の値をタイマーカウンタ301−2に書き込む(131
1,1312)。全体制御部110からの要求がタイマ
ー停止要求であった場合には、対象とするコネクション
のタイマーカウンタ301−2のアドレスを求め(13
13)、バス制御部112に対して、メモリライト要求
を出し、タイマーカウンタ301−2にlot を書き
込む(1314,1315)。タイマーカウンタ301
−2べのアクセスが完了すると、バス制御部1】2に対
して、バス解放要求を出しく1316.1317)、全
体制御部110に対して、タイマー処理完了を報告する
(1318)。 以上説明した動作により、タイマーの起動、停止処理と
、タイムアウトの検呂処理を、2つのプロセッサで分担
して処理できる。 本実施例によれば、データ転送処理に、バックエンドプ
ロセッサ200の処理が介在しないため、高性能なプロ
トコル高速処理機構10を提供できるという効果がある
。更に、タイマー管理機能を、高速性が要求され、かつ
、処理の簡単なタイマーの起動及び、停止処理と、処理
が複雑であり、かつ、処理に柔軟性が要求されるタイム
アウトの検出処理とに分け、前者をデータ転送処理ユニ
ット100で処理し、後者をバックエンドプロセッサ2
00で処理することにより、データ転送処理ユニット1
00のコンパクト化と性能を両立できる。 (実施例5) 次に、本発明の他の実施例を述べる6実施例1において
、データ転送処理ユニット100によるプロトコルヘッ
ダの生成及び解析処理に関し、ヘッダ生成時には、ヘッ
ダ情報の生成とバッファメモリ30への書き込み処理を
パイプライン処理し。 ヘッダ解析時には、ヘッダのバッファメモリ30からの
読み出しとヘッダ情報の解析処理をパイプライン処理す
ることにより、ヘッダ処理を高速化する方法を述べた。 しかし、QS工のプロトコルヘッダは、メモリのバイト
境界に対する配慮が不十分であり、プロトコルヘッダを
構成するパラメータが、メモリのバイト境界をまたがっ
て格納されることがある。このような場合には、1つの
パラメータをアクセスするために、複数回のメモリアク
セスを必要とする。 第51図は、データバス幅が32ビツトの場合において
、トランスポートプロトコルのDTパケットがバイト境
界をまたがって格納された状況を示す図である。この図
において、DTパケットを構成する16ビツト長のパラ
メータDST−REFが、32ビツト境界をまたがって
格納されている。このような状況においては、パラメー
タDST−REFのアクセスは、2回のメモリアクセス
を必要とするため、効率の良いパイプライン動作が行え
ず、ヘッダ処理を高速化することができない。実施例5
では、プロトコルヘッダがバイト境界をまたがって格納
された状況においても。 効率よくパイプライン処理できるプロトコル高速処理機
構10を提供する。 第52図は、プロトコル高速処理機構10の構成を示す
ブロック図である。本実施例においては、内部バス50
0とバッファメモリ30の間に、バウンダリの問題を解
決するバウンダリ調整回路700を設ける。バウンダリ
調整回路700は、バイト境界をまたがるデータのアク
セスを、1回のメモリアクセスで実現する機能を持つ。 第53図は、バウンダリ調整回路700の構成を示す図
である。バウンダリ調整回路700は、データ転送処理
ユニット100が出力するアドレス501を+1するア
ドレスイン、クリメンタ701、バッファメモリ30か
らアクセスされるデータ形式と内部バス500上のデー
タ形式を変換するデータ整列回路703、アクセスする
データを一時的に保持するデータバッファ702゜70
4から構成する。バッファメモリ30は、1バイト幅の
データを記憶するメモリチップを4個並列に接続し、3
2ビット幅のデータバスを構成している。以下、バウン
ダリ調整回路700の動作について説明する6例として
、32ビツトバウンダリをまたがって格納されている1
6ビツトデータをデータ転送処理ユニット100がリー
ドする場合を考える。バウンダリ調整回路700は、バ
ウンダリを越えない値を保持するメモリチップ30−4
にデータ転送処理ユニットlOOが出力するアドレスを
与え、バウンダリを越える値を保持するメモリチップ3
0−1にデータ転送処理ユニット100が出力するアド
レスに+1したアドレスを与え、アクセスの対象となる
メモリチップ30−1.30−4を同時にアクセスする
。このアクセスによりリードされたデータは、データ整
列回路703によって16ビツトデータの形式に整列さ
れ、内部バス500を介して、データ転送処理ユニット
100に送られる。以上の動作により、バイト境界をま
たがるデータのアクセスを、1回のメモリアクセスで実
現できる。なお、バックエンドプロセッサ200を汎用
マイクロプロセッサで構成する場合には、バックエンド
プロセッサ200からバッファメモリ30へのメモリア
クセスに、上記バウンダリ調整回路700を適用しては
ならないため、プロセッサ識別信号705により、バウ
ンダリ調整回路 700を無効にするように構成している。 第54図は、バッファメモリ30上に格納されたトラン
スポートプロトコルのDTパケットを。 データ転送処理ユニット100が処理する様子を示した
図である。この例では、5バイト長のプロトコルヘッダ
に対して、最初の4バイトを1つの処理単位(A部)、
残りの1バイトを1つの処理単位(B部)とし、A部の
処理とB部の処理をパイプライン処理している。バウン
ダリ調整回路700を使用することにより、プロトコル
ヘッダがいかなるアドレスから格納されていても、上記
パイプライン処理の動作は乱れず、プロトコルヘッダを
高速に処理できる。 上記実施例によれば、プロトコルヘッダが、メモリのバ
イト境界をまたがって格納されている状態においても、
プロトコルヘッダ処理を効率良くパイプライン処理でき
、高性能なプロトコル高速処理機110を構成できると
いう効果がある。 (実施例6) 次に、本発明の他の実施例を述べる。実施例1において
、計算機1に接続する通信制御袋w2の構成(第2図)
では、MAC制御プロセッサ50とプロトコル高速処理
機構10のインタフェース制御及び、バッファメモリ3
0とMAC・L S I 40間のデータ転送は、いず
れもローカルバス60を介して行われる。従って、この
部分においては、データバスと制御バスが分離されてお
らず、バス競合により、どちらか一方の処理がウェイト
される。更に、高速なネットワークをサポートするMA
C−LSI40として、バッファメモリ30との間にバ
スを介在することを許さず、バッファメモリ30との直
接接続を前提とし、がっ、バッファ管理機能を持つタイ
プのものも存在する。 第55図は、上記MAC−LSI40の適用を可能とす
る通信制御装置2の構成を示す図である。 MAC−LSI40とバッファメモリ30間は。 経路21−2で接続され、独立したデータバスを形成し
ている。各レイヤ毎に設けたデータ転送処理ユニット1
00及び、MAC制御プロセッサ50間は、経路22で
接続され、独立した制御パスを形成している。データ転
送処理ユニット100、バックエンドプロセッサ200
.MAC制御プロセッサ50、MAC−LSI40.バ
ッファメモリ30は、内部バス500に接続されている
。データ転送処理ユニット100及び、バックエンドプ
ロセッサ200は、経路23を介してバッファメモリ3
0をアクセスし、プロトコルヘッダ処理を行う。MAC
制御プロセッサ50は、経路26を介してMAC−LS
I40とのインタフェースをとる。 本実施例によれば1通信制御装置2内のデータバスと制
御パスを完全に分離でき、高性能な通信制御装置2を構
成できるという効果がある。 (実施例7) 次に、本発明の他の実施例を述べる。これまでの実施例
において、プロトコル高速処理機構10を構成するデー
タ転送処理ユニット100は、プロトコルレイヤ単位に
設けている。これは1階層化されたプロトコルのパイプ
ライン処理を可能とする構成であるが、ハードウェア規
模が大きくなる欠点がある。更に、各レイヤの処理量が
均等でなければ、パイプライン処理の効果は少なく、コ
マンドディスクリブタを用いたプロセッサ間通信オーバ
ヘッドにより、かえって、性能低下の要因になることも
予想される。 第56図は、上記問題点を解決するプロトコル高速処理
機構10の他の構成を示すブロック図である9本実施例
では、レイヤ2〜レイヤ4のデータ転送処理を一つのデ
ータ転送処理ユニット100で処理するようにしたもの
である。 第57図は、上記プロトコル高速処理機構10を適用し
た通信制御装置2の構成を示すブロック図である。 本実施例によれば、ハードウェア規模を小さくでき、更
に、プロセッサ間オーバヘッドを低減できるため、高性
能なプロトコル高速処理装置を提供できるという効果が
ある。
【発明の効果】
以上、説明したように、本発明によれば、データ転送処
理が、データ転送処理ユニットによってハードウェア処
理されるため、高速なデータ転送を実現できるという効
果がある。 更に、データ転送処理の高速化に直接寄与しないコネク
ション制御処理をバックエンドプロセッサによって処理
するため、データ転送処理ユニットによるデータ転送処
理の妨げにならず、高性能なプロトコル処理装置を構成
できるという効果がある。 更に、ハードウェア化する部分がデータ転送処理に限ら
れるため、コンパクトにハードウェア化できるという効
果がある。 更に、処理の複雑なコネクション制御処理をソフトウェ
アで処理するため、柔軟性及び、汎用性を確保できると
いう効果がある。
【図面の簡単な説明】
第1図は本発明に係る通信ネットワークシステムの構成
図、第2図は通信制御装置2の構成を示すブロック図、
第3図は通信プロトコルにおけるプロトコル階層を示す
図、第4図はトランスポートプロトコルL4の処理シー
ケンスを示す図、第5図(A)〜(F)はトランスポー
トプロトコルの代表的なパケットフォーマットを示す図
、第6図(A)、(B)はCLNP及びLLCプロトコ
ルの代表的なパケットフォーマットを示す図、第7図は
ユーザデータにプロトコルヘッダが付加されていく様子
を示す図、第8図は本発明によるプロトコル高速処理機
構の1実施例を示すブロック図、第9図はプロトコル高
速処理機構におけるプロトコル処理の機能分担を示す図
、第10図はコマンドディスクリブタとバッファの関係
を示す図、第11図と第12図は、プロトコル高速処理
機構の送信動作を示すフローチャート、第13図、第1
4図、第15図は、プロトコル高速処理機構の受信動作
を示すフローチャート、第16図、第17図、第18図
は、プロトコル高速処理機構の動作を示すタイムチャー
ト、第19図は第8図におけるデータ転送処理ユニット
100の詳細を示すブロック図、第20図は第19図に
おける全体制御部110の詳細を示すブロック図、第2
1図〜第29図は全体制御部110の動作を示すフロ、
第30図は第19図におけるコマンドディスクリブタ処
理部113の詳細を示すブロック図。 第31図は第19図におけるプロトコルヘッダ処理部1
14の詳細を示すブロック図、第32図は第19図にお
けるプロトコル演算処理部111の詳細を示すブロック
図、第33図は第19図におけるバス制御部112の詳
細を示すブロック図、第34図と第35図はデータ転送
処理ユニット100の動作を示すタイムチャート、第3
6図と第37図は本発明によるプロトコル高速処理機構
の他の実施例を示すブロック図、第38図はプロトコル
高速処理機構10の他の構成を示すブロック図、第39
図はデータ転送処理ユニット100の他の構成を示すブ
ロック図、第40図はプロトコル高速処理機構10の他
の動作を示すタイムチャート、第41図〜第43図はデ
ータ転送処理ユニット100の他の動作を示すフローチ
ャート、第44図はタイマー管理方式を説明する図、第
45図はタイマーの起動及び停止方法の概要を示すフロ
ーチャート、 第46図はタイマーのタイムアウト検出方法の概要を示
すフローチャート、第47図は第38図におけるタイマ
ー制御部135の詳細を示すブロック図、第48図はバ
ックエンドプロセッサ200によるタイマー更新方法の
詳細を示すフローチャート、第49図と第50図はデー
タ転送処理ユニット100によるタイマーの起動及び停
止方法の詳細を示すフローチャート、第51図はトラン
スポートプロトコルのDTパケットがバッファメモリ上
に格納された様子を示す図、第52図はプロトコル高速
処理機構10の更に他の構成を示すブロック図、第53
図はバウンダリ調整回路700の詳細を示すブロック図
、第54図はプロトコルヘッダが、パイプライン処理さ
れる様子を示す図2第55図は通信制御装置2の他の構
成を示すブロック図、第56図はプロトコル高速処理機
構10の他の構成を示すブロック図、第57図は通信制
御装!2の他の構成を示すブロック図である。 符号の説明 2・・・通信制御装置、10・・・プロトコル高速処理
機構、100・・・データ転送処理ユニット。 200・・・バックエンドプロセッサ、22・・プリミ
ティブ経路、30・・バッファメモリ。 ′V31 図 冷 φ 図 まtaXζ八 :PIXS蝉 第 I3 図 4≧イを処1C二 禿 ノ2 凹 第 j享 (2) 第 27 図 牟 /l 四 % 2 1図 爾 21 図 第 0 図 全体制臀部 一 第 2 図 葛 23 図 χ 2r; 第 2ψ 図 ♀ 第 1 (2) 第 2プ 図 第 2? 図 ♀ 禎 0 区 令 33 tri ll’lグリP ■ 2 ■ ア否1コル邊隼(理1P 峰 11 め 3? 図 を 婬 図 判 tfLI−図 L         −一世一一一一」も V?図 墳 0 図 バ・、7アメL’ 1 豹 f、3 図 時 間

Claims (1)

  1. 【特許請求の範囲】 1、計算機と通信回線の間に位置し、計算機とのインタ
    フェースを制御する計算機対応部と、通信回線を接続し
    通信回線を介した通信データの送受信を行う通信回線制
    御部と、通信データを格納するバッファメモリ部と、通
    信データの通信プロトコル処理を行うプロセッサ部と、
    計算機対応部、通信回線制御部、バッファメモリ部、プ
    ロセッサ部を接続する内部バスから構成される通信プロ
    トコル処理装置において、プロセッサ部を通信プロトコ
    ル処理のうちの正常なデータ転送に関する処理を行う第
    一のプロセッサ部と、正常なデータ転送以外に関する処
    理を行う第二のプロセッサ部とから構成し、第二のプロ
    セッサを第一のプロセッサのバックエンドとして動作さ
    せる、即ち、正常なデータ転送の場合、制御の流れを計
    算機対応部→第一プロセッサ部→通信回線制御部(及び
    その逆)とならしめ、正常なデータ転送以外の場合、制
    御の流れを計算機対応部→第一プロセッサ部→第二プロ
    セッサ部→第一プロセッサ部→通信回線制御部(及びそ
    の逆)とならしめることを特徴とするプロトコル高速処
    理装置。 2、請求項1に記載のプロトコル高速処理装置において
    、計算機対応部と第一のプロセッサ部間、第一のプロセ
    ッサ部と通信回線制御部間、第一のプロセッサ部と第二
    のプロセッサ部間の各インタフェース用に方向別のFI
    FOを設けることを特徴とするプロトコル高速処理装置
    。 3、請求項1に記載のプロトコル高速処理装置において
    、階層化された通信プロトコルの処理を行う場合、第一
    のプロセッサ部を通信プロトコルの各階層に対応し独立
    して動作可能な階層数分の階層対応プロセッサ部から構
    成し、隣接する通信プロトコル階層に対応した階層対応
    プロセッサ部間に、インタフェース用に方向別のFIF
    Oを設けたことを特徴とするプロトコル高速処理装置。 4、請求項1、2、または3に記載のプロトコル高速処
    理装置において、各部間インタフェース情報を格納する
    インタフェースブロックをバッファメモリ上に置き、イ
    ンタフェース用のFIFOにはインタフェースブロック
    のアドレス情報のみを格納することを特徴とするプロト
    コル高速処理装置。 5、請求項1、2、3、または4に記載のプロトコル高
    速処理装置において、第一プロセッサ部内の階層対応プ
    ロセッサ部を、バッファメモリに格納された通信データ
    の通信プロトコル情報(以下プロトコルヘッダ)の読み
    出し及び書き込みを行うプロトコルヘッダアクセス回路
    と、通信データが通信回線からの受信データであった場
    合に受信データのプロトコルヘッダを解析するプロトコ
    ルヘッダ解析回路と、受信データ及び計算機からの送信
    データが正常なデータ転送に関するデータであるかどう
    かを判定する正常データ転送判定回路と、通信プロトコ
    ル処理を行うための各種情報を格納するための通信プロ
    トコル情報格納レジスタと、正常データ転送に関する通
    信プロトコル処理を行う通信プロトコル処理実行回路と
    、計算機からの正常な送信データのプロトコルヘッダを
    作成するプロトコルヘッダ作成回路と、インタフェース
    FIFOを介した各部との間のインタフェースを行うイ
    ンタフェース部と、上記各部の制御を行う全体制御部か
    ら構成することを特徴とするプロトコル高速処理装置。 6、請求項1、3、または5に記載のプロトコル高速処
    理装置において、第一のプロセッサ部内の階層対応プロ
    セッサ部のプロトコルヘッダアクセス回路にてバッファ
    メモリに格納された通信データのプロトコルヘッダの読
    み出し及び書き込み(アクセス)を行う場合、プロトコ
    ルヘッダの長さが一度にアクセスできる長さより長いと
    きには、プロトコルヘッダの読み出しと解析及びプロト
    コルヘッダの生成と書き込みを並列して行うことを特徴
    とするプロトコル高速処理装置。 7、請求項1記載のプロトコル高速処理装置において、
    第一のプロセッサと第二のプロセッサ間に連絡用のフラ
    グを設け、第一のプロセッサから第二のプロセッサに制
    御が渡った場合、第二のプロセッサの処理終了を連絡用
    フラグにより第一のプロセッサに知らせることを特徴と
    するプロトコル高速処理装置。 8、請求項1、2、または、3に記載のプロトコル高速
    処理装置において、データ転送処理を第一のプロセッサ
    で優先的に処理し、データ転送処理の高速化に直接寄与
    しない処理を第二のプロセッサでバックエンド処理する
    ことにより、データ転送処理が、他の処理の影響を受け
    ないようにしたことを特徴とするプロトコル高速処理装
    置。 9、請求項5に記載のプロトコル高速処理装置において
    、第一のプロセッサ部の通信処理プロトコル処理実行回
    路内に、第二のプロセッサ部からアクセス可能なレジス
    タを設けたことを特徴とするプロトコル高速処理装置。 10、請求項5、または、9に記載のプロトコル高速処
    理装置において、第一のプロセッサ部内に設けた、第二
    のプロセッサ部からアクセス可能なレジスタに、コネク
    ションが確立され、第一のプロセッサによって、データ
    転送処理が可能かどうかを示すフラグを設けたことを特
    徴とするプロトコル高速処理装置。 11、請求項1、2、3、または4に記載のプロトコル
    高速処理装置において、第一プロセッサ部内の階層対応
    プロセッサ部を、バッファメモリに格納された通信デー
    タの通信プロトコル情報(以下プロトコルヘッダ)の読
    み出し及び書き込みを行うプロトコルヘッダアクセス回
    路と、通信データが通信回線からの受信データであった
    場合に受信データのプロトコルヘッダを解析するプロト
    コルヘッダ解析回路と、受信データ及び計算機からの送
    信データが正常なデータ転送に関するものであるかどう
    かを判定する正常データ転送判定回路と、通信プロトコ
    ル処理を行うための各種情報を格納するための通信プロ
    トコル情報格納レジスタと、正常データ転送に関する通
    信プロトコル処理を行う通信プロトコル処理実行回路と
    、計算機からの送信データにプロトコルヘッダを付加す
    るプロトコルヘッダ作成回路と、正常なデータ転送処理
    以外の処理を第二のプロセッサ部に依頼する手段と、タ
    イマーの起動及び停止を行うタイマー処理回路と、上位
    レイヤからのデータ送信要求を待ち合わせる送信待ちキ
    ューと、送信したデータを応答受信まで待ち合わせる応
    答待ちキューと、不要になった受信バッファを下位レイ
    ヤに返却する手段と、データ受信時に送信する応答パケ
    ットを格納する応答送信バッファを管理する応答送信用
    バッファプールと、上記各部の制御を行う全体制御部か
    ら構成することを特徴とするプロトコル高速処理装置。 12、請求項1、または、9に記載のプロトコル高速処
    理装置において、プロトコル処理におけるタイマー処理
    を、タイマーの起動及び停止処理と、タイマーの更新及
    びタイムアイト検出処理に分け、前者を第一のプロセッ
    サ部で処理し、後者を第二のプロセッサ部で分担して処
    理することを特徴とするプロトコル高速処理装置。 13、請求項10に記載のプロトコル高速処理装置にお
    いて、第一のプロセッサによるタイマーの操作処理と、
    第二のプロセッサによるタイマーの操作処理の競合を防
    止するロックフラグを第一のプロセッサ内に設けたこと
    を特徴とするプロトコル高速処理装置。 14、計算機と通信回線の間に位置し、計算機とのイン
    タフェースを制御する計算機対応部と、通信回線を接続
    し通信回線を介した通信データの送受信を行う通信回線
    制御部と、通信データを格納するバッファメモリ部と、
    通信データの通信プロトコル処理を行うプロセッサ部と
    、計算機対応部、通信回線制御部、バッファメモリ部、
    プロセッサ部を接続する内部バスから構成される通信プ
    ロトコル処理装置において、内部バスとバッファメモリ
    との間に、データバス幅により決まるメモリのバイト境
    界をまたがって格納されたデータのアクセスを、1回の
    メモリアクセスで行えるバウンダリ調整回路を設けたこ
    とを特徴とするプロトコル高速処理装置。 15、計算機と通信回線の間に位置し、計算機とのイン
    タフェースを制御する計算機対応部と、通信回線を接続
    し通信回線を介した通信データの送受信を行う通信回線
    制御部と、通信データを格納するバッファメモリ部と、
    通信データの通信プロトコル処理を行うプロセッサ部と
    、計算機対応部、通信回線制御部、バッファメモリ部、
    プロセッサ部を接続する内部バスから構成される通信プ
    ロトコル処理装置において、送受信データが流れるデー
    タバスと、プロトコル処理の流れを制御する制御パスが
    分離されるように構成することを特徴とするプロトコル
    高速処理装置。
JP2311494A 1989-03-13 1990-11-19 プロトコル高速処理装置 Expired - Fee Related JP2993728B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2311494A JP2993728B2 (ja) 1990-02-23 1990-11-19 プロトコル高速処理装置
US07/659,705 US5303344A (en) 1989-03-13 1991-02-25 Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-41005 1990-02-23
JP4100590 1990-02-23
JP2311494A JP2993728B2 (ja) 1990-02-23 1990-11-19 プロトコル高速処理装置

Publications (2)

Publication Number Publication Date
JPH03273350A true JPH03273350A (ja) 1991-12-04
JP2993728B2 JP2993728B2 (ja) 1999-12-27

Family

ID=26380528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2311494A Expired - Fee Related JP2993728B2 (ja) 1989-03-13 1990-11-19 プロトコル高速処理装置

Country Status (1)

Country Link
JP (1) JP2993728B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069583A (ja) * 2001-08-22 2003-03-07 Hitachi Ltd 中継方法選択型ネットワーク装置及び中継方法
JP2003511777A (ja) * 1999-10-14 2003-03-25 ブルーアーク・ユーケー・リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
JP2008259238A (ja) * 2001-04-24 2008-10-23 Nvidia Corp ギガビット・イーサネット・アダプタ
JP2009080584A (ja) * 2007-09-25 2009-04-16 Canon Inc プロトコル処理装置及び制御方法
JP2010193364A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 通信プロトコル処理回路、情報処理装置及び通信プロトコル処理方法
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511777A (ja) * 1999-10-14 2003-03-25 ブルーアーク・ユーケー・リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US8180897B2 (en) 1999-10-14 2012-05-15 Bluearc Uk Limited Apparatus and method for hardware implementation or acceleration of operating system functions
JP2008259238A (ja) * 2001-04-24 2008-10-23 Nvidia Corp ギガビット・イーサネット・アダプタ
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
JP2003069583A (ja) * 2001-08-22 2003-03-07 Hitachi Ltd 中継方法選択型ネットワーク装置及び中継方法
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
JP2009080584A (ja) * 2007-09-25 2009-04-16 Canon Inc プロトコル処理装置及び制御方法
US8341453B2 (en) 2007-09-25 2012-12-25 Canon Kabushiki Kaisha Transmission apparatus that transmits data according to a protocol, and method for measuring time in the transmission apparatus
JP2010193364A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 通信プロトコル処理回路、情報処理装置及び通信プロトコル処理方法

Also Published As

Publication number Publication date
JP2993728B2 (ja) 1999-12-27

Similar Documents

Publication Publication Date Title
US5303344A (en) Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer
US6662252B1 (en) Group and virtual locking mechanism for inter processor synchronization
EP1282862B1 (en) Distributed memory control and bandwidth optimization
US5434976A (en) Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US20020009075A1 (en) System for reducing bus overhead for communication with a network interface
US7631128B1 (en) Protocol controller for a data storage system
EP1116118B1 (en) Intelligent network interface device and system for accelerating communication
US7337253B2 (en) Method and system of routing network-based data using frame address notification
US6717910B1 (en) Method and apparatus for controlling network data congestion
US20060168283A1 (en) Programmable network protocol handler architecture
US20080040519A1 (en) Network interface device with 10 Gb/s full-duplex transfer rate
JPH04230557A (ja) 直接メモリアクセス・コントローラ
US5790813A (en) Pre-arbitration system allowing look-around and bypass for significant operations
US10146468B2 (en) Addressless merge command with data item identifier
US8090789B1 (en) Method of operating a data storage system having plural data pipes
JPH03273350A (ja) プロトコル高速処理装置
US9846662B2 (en) Chained CPP command
US9665519B2 (en) Using a credits available value in determining whether to issue a PPI allocation request to a packet engine
US20070079077A1 (en) System, method, and computer program product for shared memory queue
JP2599553B2 (ja) 主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ
EP1069511B1 (en) Data Transfer Controller with Plural Ports
US9548947B2 (en) PPI de-allocate CPP bus command
US9559988B2 (en) PPI allocation request and response for accessing a memory system
US9413665B2 (en) CPP bus transaction value having a PAM/LAM selection code field
JPH07210320A (ja) ファイル装置用多重化インタフェース及びその制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees