JPS609306B2 - デ−タ転送装置 - Google Patents
デ−タ転送装置Info
- Publication number
- JPS609306B2 JPS609306B2 JP56062160A JP6216081A JPS609306B2 JP S609306 B2 JPS609306 B2 JP S609306B2 JP 56062160 A JP56062160 A JP 56062160A JP 6216081 A JP6216081 A JP 6216081A JP S609306 B2 JPS609306 B2 JP S609306B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- counter
- register
- buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】
本発明は計算機システム間の通信に係り、特にデータ転
送装置上で動作する送信サブチャネル及び受信サブチャ
ネル間のデータ転送を制御するデータ転送装置に関する
。
送装置上で動作する送信サブチャネル及び受信サブチャ
ネル間のデータ転送を制御するデータ転送装置に関する
。
タ従来計算機システム間結合手
段として、第1図に示されているようなチャネル間結合
装置(以下においてCTCAとよぶ。)が使用されてい
る。主記憶装置(以下においてMSUとよぶ。)1,C
PU2、及びチャネル3はそれぞれのサブシスZテムを
構成し、CTCA4はサブシステムを結合する通信路を
構成している。CTCAによるサブシステム間通信方式
には次に述べるような問題点を有している。‘1l 1
回当りのデータ転送に数回のSIO命令、ZCPUに対
する割込があり、CPUのオーバヘッドが大きい。
段として、第1図に示されているようなチャネル間結合
装置(以下においてCTCAとよぶ。)が使用されてい
る。主記憶装置(以下においてMSUとよぶ。)1,C
PU2、及びチャネル3はそれぞれのサブシスZテムを
構成し、CTCA4はサブシステムを結合する通信路を
構成している。CTCAによるサブシステム間通信方式
には次に述べるような問題点を有している。‘1l 1
回当りのデータ転送に数回のSIO命令、ZCPUに対
する割込があり、CPUのオーバヘッドが大きい。
■ CTCAはチャネルに接続されているため」CTC
A−チャネル間のデータ転送方式は、従来の比較的低速
のIOC−チャネル間のィンタフェ2−スによらざるを
得ず、高速データ転送には限界がある。
A−チャネル間のデータ転送方式は、従来の比較的低速
のIOC−チャネル間のィンタフェ2−スによらざるを
得ず、高速データ転送には限界がある。
上記第1の問題点を解決する発明が、本出願人の昭和5
仏手特許願第146164号「計算機システム間通信方
式」(特開昭56一技斑5y号公報・特公昭斑−233
97〆号公報)に示されている。
仏手特許願第146164号「計算機システム間通信方
式」(特開昭56一技斑5y号公報・特公昭斑−233
97〆号公報)に示されている。
その発明において送信サブチャネル、受信サブチャネル
は一度動作状態にされるとデータ転送動作を開始し、停
止命令などにより停止しないかぎり、動作状態を継続し
、送信サブチャネルに対し3送信データは主記憶装置上
にキューィングされ、キューィングされているデータを
転送終了後も動作状態のまま次の送信データがキューィ
ングされるのを待つ。
は一度動作状態にされるとデータ転送動作を開始し、停
止命令などにより停止しないかぎり、動作状態を継続し
、送信サブチャネルに対し3送信データは主記憶装置上
にキューィングされ、キューィングされているデータを
転送終了後も動作状態のまま次の送信データがキューィ
ングされるのを待つ。
もし送信データのキューィングが連続的に行なわれるな
らば「他系に対するデータ転3送も連続的に行なわれ、
従って起動命令「割込の回数は最小限におさえられる。
本発明の目的は、前記第2の問題点を解決し、サブシス
テム間の通信において、高速で信頼度が高く、且つ距離
等の制約の少ないデータ転送方式を実現するデータ転送
装置を提供するにある。
らば「他系に対するデータ転3送も連続的に行なわれ、
従って起動命令「割込の回数は最小限におさえられる。
本発明の目的は、前記第2の問題点を解決し、サブシス
テム間の通信において、高速で信頼度が高く、且つ距離
等の制約の少ないデータ転送方式を実現するデータ転送
装置を提供するにある。
この目的は、データ処理システムの2つのサブシステム
の各々に接続され、通信路により相互に接続されてデー
タの転送制御を行なうデータ転送装置において、該デー
タの転送制御はコマンドの送受信によって行なわれ、該
コマンド‘こは少なくとも、データの転送であることを
示すデータコマンドを含み、バッファ番号により特定さ
れ、該バッファ番号の順序に使用され、送信データを記
憶する、複数のバッファ、該バッファのうち現に使用さ
れている最も古いバッファのバッファ番号を示す第1の
カウンタ、レジスタ番号により特定され、該レジスタ番
号の順序に使用され、送信すべきコマンドを記憶する、
複数のレジスタ、該レジスタのうち現に使用されている
最も古いレジスタのレジスタ番号を示す第2のカゥン夕
、上記しジス外こ記憶されたコマンドに、そのレジスタ
番号を送信シーケンス番号として付加し、該コマンドが
データコマンドである場合には、該レジスタに記憶され
たバッファ番号と長さにより、特定のバッファのデータ
を読み出し、データコマンド‘こ付加し、上記通信路に
送出する手段、通信路において「コマンド、データおよ
びそれに付加されたシーケンス番号を受信する手段、該
受信した最新のシーケンス番号の次の番号を通信路に送
出する手段、該番号を受信する手段を有し、該番号を受
信した時は、該番号と等しくなるまで第2のカゥンタを
歩進し、譲歩進の過程において、第2のカゥンタが指示
するレジス夕に記憶されていたデータコマンドの個数に
等しい数だけ第1のカウン夕を歩進することを特徴とす
るデータ転送装置によって達成される。本発明は、デー
タ転送装置がサブシステム間で転送すべきデータを一定
長のブロックに分割して転送し、転送においてブロック
には適当な誤り動制御が行なわれ、送受装置間の通信に
より、フロックの受信が確認され、正常に受信されなか
ったフロックは自動的に再送信され、受信側においては
、ブロックを結合して、再び一つのデータを構成するよ
うにしたデータ転送装置において、送信および再送信の
ための「データおよびコマンドのバッファの管理を、小
数のカゥン外こよって効率よく行うようにしたものであ
る。
の各々に接続され、通信路により相互に接続されてデー
タの転送制御を行なうデータ転送装置において、該デー
タの転送制御はコマンドの送受信によって行なわれ、該
コマンド‘こは少なくとも、データの転送であることを
示すデータコマンドを含み、バッファ番号により特定さ
れ、該バッファ番号の順序に使用され、送信データを記
憶する、複数のバッファ、該バッファのうち現に使用さ
れている最も古いバッファのバッファ番号を示す第1の
カウンタ、レジスタ番号により特定され、該レジスタ番
号の順序に使用され、送信すべきコマンドを記憶する、
複数のレジスタ、該レジスタのうち現に使用されている
最も古いレジスタのレジスタ番号を示す第2のカゥン夕
、上記しジス外こ記憶されたコマンドに、そのレジスタ
番号を送信シーケンス番号として付加し、該コマンドが
データコマンドである場合には、該レジスタに記憶され
たバッファ番号と長さにより、特定のバッファのデータ
を読み出し、データコマンド‘こ付加し、上記通信路に
送出する手段、通信路において「コマンド、データおよ
びそれに付加されたシーケンス番号を受信する手段、該
受信した最新のシーケンス番号の次の番号を通信路に送
出する手段、該番号を受信する手段を有し、該番号を受
信した時は、該番号と等しくなるまで第2のカゥンタを
歩進し、譲歩進の過程において、第2のカゥンタが指示
するレジス夕に記憶されていたデータコマンドの個数に
等しい数だけ第1のカウン夕を歩進することを特徴とす
るデータ転送装置によって達成される。本発明は、デー
タ転送装置がサブシステム間で転送すべきデータを一定
長のブロックに分割して転送し、転送においてブロック
には適当な誤り動制御が行なわれ、送受装置間の通信に
より、フロックの受信が確認され、正常に受信されなか
ったフロックは自動的に再送信され、受信側においては
、ブロックを結合して、再び一つのデータを構成するよ
うにしたデータ転送装置において、送信および再送信の
ための「データおよびコマンドのバッファの管理を、小
数のカゥン外こよって効率よく行うようにしたものであ
る。
次に本発明を実施例により説明する。
第2図はシステムの構成を示す図であり、SCC(サブ
システムコミニュケーシヨンチヤネル)5が本発明のデ
ータ転送装置である。
システムコミニュケーシヨンチヤネル)5が本発明のデ
ータ転送装置である。
各SCC5は1つのサブシステムのCPU2,MSUI
とインタフェースをもっと同時に他サブシステムのSC
C5ともインタフェースを持っていて、一方のサブシス
テムのMSUIから他方のサブシステムのMSUIへデ
ータを転送することを目的とする。
とインタフェースをもっと同時に他サブシステムのSC
C5ともインタフェースを持っていて、一方のサブシス
テムのMSUIから他方のサブシステムのMSUIへデ
ータを転送することを目的とする。
第3図は一方のSCCの送信サブチャネル6が他のSC
Cの受信サブチャネル7と通信路により論理的に結合し
て、一方向性データ転送を行なう概念図である。
Cの受信サブチャネル7と通信路により論理的に結合し
て、一方向性データ転送を行なう概念図である。
データは送信サブチャネル6により主記憶からデータが
取り込まれ、相手受信サブチャネル7にデータが渡され
、該受信サブチャネル側の主記憶へ格納される。両サプ
チャネルの起動、停止、データ転送を制御するために両
サプチャネル間で送受信されるコマンドを、以下でLT
Pコマンドという。サブチヤネルとは単一の入出力動作
の開始から終了までを一貫して制御する論理的な機構を
言い、単一の入出力動作に必要な制御表等を主体に構成
される。第4図はサブシステム間で双方向にデータ転送
を可能とするために互いに逆方向の送信サブチャネルー
受信サブチャネルの組を2組使用し、サブチャネル間の
コマンドの送受信を双方伝送制御回路(以下においてT
P制御という。
取り込まれ、相手受信サブチャネル7にデータが渡され
、該受信サブチャネル側の主記憶へ格納される。両サプ
チャネルの起動、停止、データ転送を制御するために両
サプチャネル間で送受信されるコマンドを、以下でLT
Pコマンドという。サブチヤネルとは単一の入出力動作
の開始から終了までを一貫して制御する論理的な機構を
言い、単一の入出力動作に必要な制御表等を主体に構成
される。第4図はサブシステム間で双方向にデータ転送
を可能とするために互いに逆方向の送信サブチャネルー
受信サブチャネルの組を2組使用し、サブチャネル間の
コマンドの送受信を双方伝送制御回路(以下においてT
P制御という。
)10,1 1によって行なうことを示す概念図である
。TP制御10は送信サブチャネル6あるいは受信サブ
チャネル8に送信依頼されたLTPコマンドを相手TP
制御1 1へ送り、相手TP制御1 1は該コマンドを
それぞれ受信サブチャネル7あるいは送信サブチャネル
へ引き渡すよう動作する。両TP制御間の通信はコマン
ドで行なわれ、これらのコマンドを以下において総称し
てTPコマンドと言う。
。TP制御10は送信サブチャネル6あるいは受信サブ
チャネル8に送信依頼されたLTPコマンドを相手TP
制御1 1へ送り、相手TP制御1 1は該コマンドを
それぞれ受信サブチャネル7あるいは送信サブチャネル
へ引き渡すよう動作する。両TP制御間の通信はコマン
ドで行なわれ、これらのコマンドを以下において総称し
てTPコマンドと言う。
第5図はサブシステムー,2の主記憶上のキューェレメ
ントとその制御プ。
ントとその制御プ。
ツクを図示したものである。この詳細は前記特許出願第
146164号に示されているが、以下に概要を述べる
。サブシステムーのBCB12は送信サブチャネル6と
CPUの通信域として使用され、サブシステム2のBC
B13は受信サブチヤネル7とCPUの通信城として使
用されている。
146164号に示されているが、以下に概要を述べる
。サブシステムーのBCB12は送信サブチャネル6と
CPUの通信域として使用され、サブシステム2のBC
B13は受信サブチヤネル7とCPUの通信城として使
用されている。
BAT1 4および1 5はキューェレメント(以下で
QEという)16,17,18,19等をアドレス指定
する情報を保持するテーブルである。
QEという)16,17,18,19等をアドレス指定
する情報を保持するテーブルである。
BCB1 2および1 3により、BAT1 4および
I5の所在及びキューィング状況が管理されている。こ
)で、キューェレメント(QE)は主記憶上にある送受
信データであり、符号16〜19で示してある。送信サ
ブチャネル6は動作状態において、BCB1 2中のE
NQPとDEQPを比較し、一致していないと送信デー
タ(QE)が存在するとみなし、受信サブチャネル7が
受信可能であるならばDEQPの指すBATエントリー
で指定されるQEのデータを送信し、終了後DEQPを
更新する。送信サブチャネル6はこの動作をくり返し、
DEQPとENQPが一致している間は一定時間おきに
QEが存在するかどうか調べる。受信サブチャネルはE
NQPで指定されているBAT1 5のエントリーが受
信キューェレメント用のバッファの準備ができているこ
とを示しているとき、受信可能であり、送信サプチヤネ
ルからのデータをその領域に書込み、QEの全データが
書込まれたとき、ENQPを更新する。受信サブチャネ
ル7は該QEの受信が完了したことを送信サブチャネル
6に報告すると同時に次QEの受信が可能かどうかをも
報告する。
I5の所在及びキューィング状況が管理されている。こ
)で、キューェレメント(QE)は主記憶上にある送受
信データであり、符号16〜19で示してある。送信サ
ブチャネル6は動作状態において、BCB1 2中のE
NQPとDEQPを比較し、一致していないと送信デー
タ(QE)が存在するとみなし、受信サブチャネル7が
受信可能であるならばDEQPの指すBATエントリー
で指定されるQEのデータを送信し、終了後DEQPを
更新する。送信サブチャネル6はこの動作をくり返し、
DEQPとENQPが一致している間は一定時間おきに
QEが存在するかどうか調べる。受信サブチャネルはE
NQPで指定されているBAT1 5のエントリーが受
信キューェレメント用のバッファの準備ができているこ
とを示しているとき、受信可能であり、送信サプチヤネ
ルからのデータをその領域に書込み、QEの全データが
書込まれたとき、ENQPを更新する。受信サブチャネ
ル7は該QEの受信が完了したことを送信サブチャネル
6に報告すると同時に次QEの受信が可能かどうかをも
報告する。
受信が不可能であることを報告した場合は、受信が可能
になった時点で、受信可能の報告を行なう。第5図にお
いて、BCB1 2のTHPはBAT1 4の先頭アド
レスを指し、TLはBAT1 4の長さを示す。BCB
1 3の場合も同様である。送信側において、BCB1
2のENQPは、次にCPUが送信データを書込むべき
QEのアドレスを示すBAT1 4のエントリーを指し
、送信データを書込んだ時は、CPUがENQPを次の
エントリーを指すように更新する。受信側のBCB13
のDEQPは、次にCPUが処理すべき受信データを書
込んであるQEのアドレスを示すBAT15のエントリ
ーを指し、このQEを処理した後に、CPUはDEQP
を更新する。送信サブチャネルと受信サブチャネルの通
信に使用されるLTPコマンドは状態制御コマンド(S
TOおよびSTI)、データコマンド(SD)、受信完
了コマンド(RC)、受信可能コマンド(RS)が定義
されている。第6図で示されているようにST○、SD
コマンドは送信サブチャネルから発信され、ST1、R
C、RSコマンドは受信サブチャネルから発信される。
状態制御コマンドSTOおよびSTIはサブチャネルの
起動、停止の制御用コマンドとして使用され、STOお
よびSTIコマンドはコマンドコード部のフラグによっ
て、起動、停止、肯定応答又は否定応答の別が示される
。STOとSTIコマンドは方向が異なるほかは同じ機
能を有する。SD、RCの各コマンドもコマンドコード
部にフラグビットが割当られており各フラグにより示さ
れる意味は、以下の説明でコマンド名の後にカッコで示
す。これらのコマンドを使用して行われるサブチャネル
の起動、データ転送、停止についての制御を説明する。
第7図は送信サブチャネル、受信サブチャネルがともに
使用可能状Z態(A状態)にあるとき、状態制御コマン
ドにより動作状態(W状態)へ遷移するまでの過程を示
しているA状態にある送信サブチャネルにCPUから起
動命令でSEND指令が与えられると、送信サブチZャ
ネルはST○(起動)コマンドを発信し、受信サプチャ
ネルからの応答を待つ。
になった時点で、受信可能の報告を行なう。第5図にお
いて、BCB1 2のTHPはBAT1 4の先頭アド
レスを指し、TLはBAT1 4の長さを示す。BCB
1 3の場合も同様である。送信側において、BCB1
2のENQPは、次にCPUが送信データを書込むべき
QEのアドレスを示すBAT1 4のエントリーを指し
、送信データを書込んだ時は、CPUがENQPを次の
エントリーを指すように更新する。受信側のBCB13
のDEQPは、次にCPUが処理すべき受信データを書
込んであるQEのアドレスを示すBAT15のエントリ
ーを指し、このQEを処理した後に、CPUはDEQP
を更新する。送信サブチャネルと受信サブチャネルの通
信に使用されるLTPコマンドは状態制御コマンド(S
TOおよびSTI)、データコマンド(SD)、受信完
了コマンド(RC)、受信可能コマンド(RS)が定義
されている。第6図で示されているようにST○、SD
コマンドは送信サブチャネルから発信され、ST1、R
C、RSコマンドは受信サブチャネルから発信される。
状態制御コマンドSTOおよびSTIはサブチャネルの
起動、停止の制御用コマンドとして使用され、STOお
よびSTIコマンドはコマンドコード部のフラグによっ
て、起動、停止、肯定応答又は否定応答の別が示される
。STOとSTIコマンドは方向が異なるほかは同じ機
能を有する。SD、RCの各コマンドもコマンドコード
部にフラグビットが割当られており各フラグにより示さ
れる意味は、以下の説明でコマンド名の後にカッコで示
す。これらのコマンドを使用して行われるサブチャネル
の起動、データ転送、停止についての制御を説明する。
第7図は送信サブチャネル、受信サブチャネルがともに
使用可能状Z態(A状態)にあるとき、状態制御コマン
ドにより動作状態(W状態)へ遷移するまでの過程を示
しているA状態にある送信サブチャネルにCPUから起
動命令でSEND指令が与えられると、送信サブチZャ
ネルはST○(起動)コマンドを発信し、受信サプチャ
ネルからの応答を待つ。
受信サブチャネルはA状態においてSTO(起動)コマ
ンドを受信するとST1(否定応答)コマンドを返す。
否定応答の場合、STIコマンドのSNBフィールドが
有効であり、SNB情報により、受信サブチヤネルがA
状態であることが送信サブチャネルに報告される。また
受信サブチャネルはアテンション割込原因を生成して割
込保留状態(1状態)となる。これは受信傍股PUに対
して割込を要求し、受信サプチャネルに対してRECE
IVE指令を発行することを要求するためである。CP
Uにより割込が受付けられると受信サブチャネルはA状
態にもどる。一方ST1(否定応答)コマンドを受信し
た送信サブチャネルは上記の起動命令の実行結果を示す
条件コードCC=1で終了し、状態はA状態のままにし
ておく。CPUはCC=1であることを見て、起動が完
了していないことを知る。アテンション割込を受けた受
信側CPUは受信用のQEバッファを準備し受信サブチ
ャネルに対して、起動命令を出しRECEIVE指令を
与える。受信サブチャネルはSTI(起動)コマンドを
発信する。
ンドを受信するとST1(否定応答)コマンドを返す。
否定応答の場合、STIコマンドのSNBフィールドが
有効であり、SNB情報により、受信サブチヤネルがA
状態であることが送信サブチャネルに報告される。また
受信サブチャネルはアテンション割込原因を生成して割
込保留状態(1状態)となる。これは受信傍股PUに対
して割込を要求し、受信サプチャネルに対してRECE
IVE指令を発行することを要求するためである。CP
Uにより割込が受付けられると受信サブチャネルはA状
態にもどる。一方ST1(否定応答)コマンドを受信し
た送信サブチャネルは上記の起動命令の実行結果を示す
条件コードCC=1で終了し、状態はA状態のままにし
ておく。CPUはCC=1であることを見て、起動が完
了していないことを知る。アテンション割込を受けた受
信側CPUは受信用のQEバッファを準備し受信サブチ
ャネルに対して、起動命令を出しRECEIVE指令を
与える。受信サブチャネルはSTI(起動)コマンドを
発信する。
送信サブチャネルはA状態においてST1(起動)コマ
ンドを受信するとアテンション割込原因を生成し割込保
留状態になると同時に応答としてST○(肯定応答)コ
マンドを返す。
ンドを受信するとアテンション割込原因を生成し割込保
留状態になると同時に応答としてST○(肯定応答)コ
マンドを返す。
受信サブチャネルがST○(肯定応答)コマンドを受信
すると命令をCC=○で終了し、状態をW状態に変える
。
すると命令をCC=○で終了し、状態をW状態に変える
。
CPUはCC=0により起動成功とみなす。アテンショ
ン割込を受けた送信側CP山ま送信サブチャネルに対し
て再び起動命令でSEND指令を出す。送信サブチヤネ
ルは再びST○(起動)コマンドを発信し、応答を待つ
。W状態の受信サブチャネルがST○(起動)コマンド
を受けた時はST1(肯定応答)コマンドを返す。この
ときは割込は行なわない。ST1(肯定応答)コマンド
を受信した送信サブチャネルは命令をCC=○で終了し
、状態をW状態に変える。以上が送信サブチャネルと受
信サブチャネルの間で交信される起動シーケンスであり
、両サブチャネル共、CPUからの起動命令により起動
指定の起動コマンドの相手へ送り、このコマンドを受け
た時、受信サブチャネルはW状態の場合のみ肯定応答を
返し、送信サブチャネルはA状態において肯定応答を返
し、両サブチャネルとも、肯定応答を受信した場合のみ
W状態となることにより、両サブチャネルのW状態の同
期が得られることがわかる。W状態においてのみ、両サ
ブチャネルは次記のようにデータの送受信を行なう。次
に送信サブチャネル、受信サブチャネルが動作状態(W
状態)にあるときの動作について説明する。送信サブチ
ャネルは動作状態になると送信すべきデータ(キューヱ
レメント)があるかどうか調べる。
ン割込を受けた送信側CP山ま送信サブチャネルに対し
て再び起動命令でSEND指令を出す。送信サブチヤネ
ルは再びST○(起動)コマンドを発信し、応答を待つ
。W状態の受信サブチャネルがST○(起動)コマンド
を受けた時はST1(肯定応答)コマンドを返す。この
ときは割込は行なわない。ST1(肯定応答)コマンド
を受信した送信サブチャネルは命令をCC=○で終了し
、状態をW状態に変える。以上が送信サブチャネルと受
信サブチャネルの間で交信される起動シーケンスであり
、両サブチャネル共、CPUからの起動命令により起動
指定の起動コマンドの相手へ送り、このコマンドを受け
た時、受信サブチャネルはW状態の場合のみ肯定応答を
返し、送信サブチャネルはA状態において肯定応答を返
し、両サブチャネルとも、肯定応答を受信した場合のみ
W状態となることにより、両サブチャネルのW状態の同
期が得られることがわかる。W状態においてのみ、両サ
ブチャネルは次記のようにデータの送受信を行なう。次
に送信サブチャネル、受信サブチャネルが動作状態(W
状態)にあるときの動作について説明する。送信サブチ
ャネルは動作状態になると送信すべきデータ(キューヱ
レメント)があるかどうか調べる。
これは送信サブチャネルに対応づけられたBCBのEN
QPとDEQPを比較し、一致していないとき送信デー
タが存在するとみなす(第5図参照)。第8図に示すよ
うに、一つのキューヱレメントは一定長のブロックに分
割され通信路上を伝送され、受信側主記憶上で結合され
る。
QPとDEQPを比較し、一致していないとき送信デー
タが存在するとみなす(第5図参照)。第8図に示すよ
うに、一つのキューヱレメントは一定長のブロックに分
割され通信路上を伝送され、受信側主記憶上で結合され
る。
SDコマンドは第6図のようにコマンド部とデータ部か
ら成っており、各ブロックはSDコマンドのデータ部と
して送信サブチャネルから受信サブチャネルへ転送され
る。第9図は3個のQEを順次転送する様子を示し、Q
EIは4つのブロックに分割され、4つのSDコマンド
‘こより順次送信されている。
ら成っており、各ブロックはSDコマンドのデータ部と
して送信サブチャネルから受信サブチャネルへ転送され
る。第9図は3個のQEを順次転送する様子を示し、Q
EIは4つのブロックに分割され、4つのSDコマンド
‘こより順次送信されている。
SDコマンドは3ビットのフラグを持ち、これをSD(
F、L、1)で示してある。こ)でFビット=1は最初
のブロックを示し、Lビット=1は最終ブロックを示す
。従ってFビット、Lビットともに“0”である場合は
このSDコマンドのデータ部のブロックが中間ブロック
であることを示している。1ビット=1は、コマンドを
受信した時、受信サブチャネルでCPUへ割込みを発生
すべきことを示す。
F、L、1)で示してある。こ)でFビット=1は最初
のブロックを示し、Lビット=1は最終ブロックを示す
。従ってFビット、Lビットともに“0”である場合は
このSDコマンドのデータ部のブロックが中間ブロック
であることを示している。1ビット=1は、コマンドを
受信した時、受信サブチャネルでCPUへ割込みを発生
すべきことを示す。
この割込は、受信データを即時にCPUの処理に入れる
ための通知の目的等に使用される。受信サブチヤネルは
第5図ENQPの指すBAT15のアドレスで示される
キューェレメントに順次受信データを格納し、Lビット
が“1”であるSDコマンド(SD(0、1、0)、S
D(1、1、0)等)を受信すると、そのデータ部のブ
ロックを主記憶に格納した後、ENQPを更新する。
ための通知の目的等に使用される。受信サブチヤネルは
第5図ENQPの指すBAT15のアドレスで示される
キューェレメントに順次受信データを格納し、Lビット
が“1”であるSDコマンド(SD(0、1、0)、S
D(1、1、0)等)を受信すると、そのデータ部のブ
ロックを主記憶に格納した後、ENQPを更新する。
次に更新後のENQPの指すBAT1 5のエントリー
の内容が、有効か否かを見て、次に送られるデータを受
信可能か否か判断する。もし受信可能であればRC(0
)コマンドを送信サブチャネルに送り(第9図でQE2
およびQE3受信後)、受信不能であればRC(1)コ
マンドを送る(第9図の例でQEI受信後)。送信サブ
チャネルはRC(0)コマンドを受信した場合は、次に
送るデータがある場合は続いて送信する。もしRC(1
)コマンドを受信した場合は、次にRSコマンドを受信
するまで送信を遅らせる。受信サブチャネルはRC(1
)コマンドを送信した後は、第5図のBCB13等を周
期的にチェックし、CPUが次の受信キューェレメント
バツフアを準備するのを待ち、受信可能になったならば
RSコマンドを送信する。送信サブチヤネルはRC(0
)又はRC(1)コマンドを受信するとBCB12のD
EQPを更新する。以上述べたデータ転送方式により、
送信サブチャネルと受信サブチャネルは動作状態におい
て連続的にキューェレメントを転送することができる。
次に停止動作について第10図により説明する。
の内容が、有効か否かを見て、次に送られるデータを受
信可能か否か判断する。もし受信可能であればRC(0
)コマンドを送信サブチャネルに送り(第9図でQE2
およびQE3受信後)、受信不能であればRC(1)コ
マンドを送る(第9図の例でQEI受信後)。送信サブ
チャネルはRC(0)コマンドを受信した場合は、次に
送るデータがある場合は続いて送信する。もしRC(1
)コマンドを受信した場合は、次にRSコマンドを受信
するまで送信を遅らせる。受信サブチャネルはRC(1
)コマンドを送信した後は、第5図のBCB13等を周
期的にチェックし、CPUが次の受信キューェレメント
バツフアを準備するのを待ち、受信可能になったならば
RSコマンドを送信する。送信サブチヤネルはRC(0
)又はRC(1)コマンドを受信するとBCB12のD
EQPを更新する。以上述べたデータ転送方式により、
送信サブチャネルと受信サブチャネルは動作状態におい
て連続的にキューェレメントを転送することができる。
次に停止動作について第10図により説明する。
第10図は動作状態にある送信サブチャネルにおいて何
らかの原因でCPUの介入を必要とする事象が検出され
、割込を発生した場合の停止シーケンスを示している。
送信サブチャネルは割込原因を検出すると受信サブチヤ
ネルに対してST0(停止)コマンドを送信し、自分の
状態を割込保留状態にする。
らかの原因でCPUの介入を必要とする事象が検出され
、割込を発生した場合の停止シーケンスを示している。
送信サブチャネルは割込原因を検出すると受信サブチヤ
ネルに対してST0(停止)コマンドを送信し、自分の
状態を割込保留状態にする。
一方受信サブチャネルはこのコマンドを受信すると割込
保留状態になる。割込原因等の状態はSTOコマンドの
SNBフィールドで示される。各サプチヤネルは自系C
PUへ割込が受付けられると使用可能状態となる。
保留状態になる。割込原因等の状態はSTOコマンドの
SNBフィールドで示される。各サプチヤネルは自系C
PUへ割込が受付けられると使用可能状態となる。
受信サブチャネル側で割込原因が発生した場合は、受信
サブチャネルからSTIコマンドを発行して同様に停止
シーケンスが行なわれる。第11図は本発明の実施例に
おけるSCC内部のブロック図である。
サブチャネルからSTIコマンドを発行して同様に停止
シーケンスが行なわれる。第11図は本発明の実施例に
おけるSCC内部のブロック図である。
DBE20,DB021‘ま32ビットのレジスタであ
り、主記憶装置とローカル0ストーレジ(B)24間で
のデータ転送時のバッファ、あるいはアドレス計算等の
ワークレジスタとして使用される。ALU22は加減算
、DBE20およびDB021のセレクトの機能を持つ
論理回路、WR23はLS夕24の入力データを一時保
持するためのバッファレジスタである。
り、主記憶装置とローカル0ストーレジ(B)24間で
のデータ転送時のバッファ、あるいはアドレス計算等の
ワークレジスタとして使用される。ALU22は加減算
、DBE20およびDB021のセレクトの機能を持つ
論理回路、WR23はLS夕24の入力データを一時保
持するためのバッファレジスタである。
LS24は送受信データのバッファ及び送信/受信サプ
チャネルの使用する各種制御情報を保持するためのロー
カルメモリである。O LSA25はB24をリード/
ライトするためのアドレスレジスタである。
チャネルの使用する各種制御情報を保持するためのロー
カルメモリである。O LSA25はB24をリード/
ライトするためのアドレスレジスタである。
送信サブチャネル6/受信サプチャネル8は起動、停止
、データ転送に関する制御情報を保持し全体のシーケン
スを制御する。HSI制御26はCPUおよび主記憶装
置夕とSCCのインタフェースを管理し、CPU命令の
実行、CPUに対する割込処理、主記憶装置とLS24
間のデータ転送、主記憶装置上のバッファ制御、制御ブ
ロックによるCPUプログラムとの交信等を実行する。
TP制御27は送/受信サブチャネル6,8に依頼され
たLTPコマンドの他系TP制御への送信、他系TP制
御から受けたLTPコマンドを送/受信サブチャネル6
,8へ引き渡す機能をもつ。
、データ転送に関する制御情報を保持し全体のシーケン
スを制御する。HSI制御26はCPUおよび主記憶装
置夕とSCCのインタフェースを管理し、CPU命令の
実行、CPUに対する割込処理、主記憶装置とLS24
間のデータ転送、主記憶装置上のバッファ制御、制御ブ
ロックによるCPUプログラムとの交信等を実行する。
TP制御27は送/受信サブチャネル6,8に依頼され
たLTPコマンドの他系TP制御への送信、他系TP制
御から受けたLTPコマンドを送/受信サブチャネル6
,8へ引き渡す機能をもつ。
フロック送信制御28はTPコマンドのCRCチェック
コードの生成、ブロックの区切りビットを付加してTP
コマンドを相手SCCへ送出する機能を持つ。フロック
受信制御29はブロックの区切りビットを認識して相手
SCCから送られるTPコマンドを受信し、CRCチェ
ックコード‘こよるェラ検出を行なう。
コードの生成、ブロックの区切りビットを付加してTP
コマンドを相手SCCへ送出する機能を持つ。フロック
受信制御29はブロックの区切りビットを認識して相手
SCCから送られるTPコマンドを受信し、CRCチェ
ックコード‘こよるェラ検出を行なう。
第12図はは中に割当てられた送信用バッファ及び受信
用バッファの様子と管理用カウン夕の様子を示したもの
である。
用バッファの様子と管理用カウン夕の様子を示したもの
である。
実施例では送受信ともそのバッファは等長の4ブロック
で構成されている。送信用バッファ3川ま送信サブチヤ
ネル6により管理されていて、ライトカウンタWTN3
1の示すブロック領域へ主記憶から1バイトのデータフ
ロックがロードされる。
で構成されている。送信用バッファ3川ま送信サブチヤ
ネル6により管理されていて、ライトカウンタWTN3
1の示すブロック領域へ主記憶から1バイトのデータフ
ロックがロードされる。
1ブロックロード完了するごとにWTN31は十1カウ
ントアップする。
ントアップする。
リードカウンタRDN32の示すブロック領域のデータ
が次に相手サブチャネルに送られるべきものであること
を示している。
が次に相手サブチャネルに送られるべきものであること
を示している。
このカウンタは送信サブチャネル6がTP制御27に送
信依頼して受付けられた後+1される。データ確認カウ
ンタACN33は送信用バッファ30のブロックが相手
通信チャネルへ送信され、その受信が確認されたとき十
1カウントアップされる。各カウンタはカウン夕値7の
次は0にもどる。ブロック領域が4個であるのに各カゥ
ン夕が7までカウントするのは次の理由による。各カゥ
ンタは3ビットから成り、下位2ビットでブロックの領
域を指示し、上位1ビットはカウン夕の比較における制
御情報として使用される。例えばWTN3 1はACN
33と同カウント値又は先行するが、WTN31がブロ
ック3を指示した後、再びブロック0の指示からカウン
トを進めている場合にACN33を追起することがない
ように、WTN31,ACN33の下位2ビットが一致
している場合に、上位1ビットも一致しているときはW
TN31の指すブロックにデータをロードして、WTN
3 1を更新してよいが「 上位1ビットが不一致のと
きは、送信用バッファ30の全ブロックが使用中である
ので〜ブロックのロードおよびWTN31の更新はでき
ない。受信用バッファ35は受信サブチャネル8‘こよ
り管理されていて、ライトカウンタWTN36の示すブ
ロック領域へ相手送信サブチャネルから送られたブロッ
クが書込まれ、その時十1カウントアップされる。リー
ドカウンタRDN37の示すブロックは次に主記憶へ格
納されるべきものであり、主記憶へ格納されたとき、十
1カウントアップされる。いつれのカウンタも7に達す
ると、次は0にもどる。WTN36およびRDN37の
上位の1ビットの使い方は、上記と同様であって、WT
N36がRDN37を造越さないように制御される。第
13図はTP制御27と相手SCCのTP制御との間で
通信を行なうためのTPコマンドである。
信依頼して受付けられた後+1される。データ確認カウ
ンタACN33は送信用バッファ30のブロックが相手
通信チャネルへ送信され、その受信が確認されたとき十
1カウントアップされる。各カウンタはカウン夕値7の
次は0にもどる。ブロック領域が4個であるのに各カゥ
ン夕が7までカウントするのは次の理由による。各カゥ
ンタは3ビットから成り、下位2ビットでブロックの領
域を指示し、上位1ビットはカウン夕の比較における制
御情報として使用される。例えばWTN3 1はACN
33と同カウント値又は先行するが、WTN31がブロ
ック3を指示した後、再びブロック0の指示からカウン
トを進めている場合にACN33を追起することがない
ように、WTN31,ACN33の下位2ビットが一致
している場合に、上位1ビットも一致しているときはW
TN31の指すブロックにデータをロードして、WTN
3 1を更新してよいが「 上位1ビットが不一致のと
きは、送信用バッファ30の全ブロックが使用中である
ので〜ブロックのロードおよびWTN31の更新はでき
ない。受信用バッファ35は受信サブチャネル8‘こよ
り管理されていて、ライトカウンタWTN36の示すブ
ロック領域へ相手送信サブチャネルから送られたブロッ
クが書込まれ、その時十1カウントアップされる。リー
ドカウンタRDN37の示すブロックは次に主記憶へ格
納されるべきものであり、主記憶へ格納されたとき、十
1カウントアップされる。いつれのカウンタも7に達す
ると、次は0にもどる。WTN36およびRDN37の
上位の1ビットの使い方は、上記と同様であって、WT
N36がRDN37を造越さないように制御される。第
13図はTP制御27と相手SCCのTP制御との間で
通信を行なうためのTPコマンドである。
TPコマンドの第1藷のビット0−8がコマンドコード
を形成している。TPコマンドにはSABM、UA、旧
R、RNR、1の5種類のコマンドがある。
を形成している。TPコマンドにはSABM、UA、旧
R、RNR、1の5種類のコマンドがある。
これらのコマンドはCRCチェックコードを最終ワード
として付加され、コマンドコード及びデータ部分の伝送
エラーがチェックされる。ビットBはブロックの区切り
ビットであって、後述のようにして、TPコマンドの第
1語および最終語を識別するために使われる。第14図
は第13図に示したTPコマンドのコマンドコードの一
例が示されている。RR、RNR 1コマンドのN(R
)は受信シーケンス番号でありも次に受取ることのでき
るLTPコマンドのシーケンス番号であり〜 1コマン
ドのN(S)は送信シーケンス番号であり送信している
LTPコマンドのシーケンス番号を示す。RR、RNR
コマンドのビット4およびビット8は再送チェック用に
使用される。これらの機能は後述する。他のビットは各
コマンドの種別の識別に使用される。SABMコマンド
はTP制御間で通信を開始するためのコマンドで、UA
コマンドはSABMコマンドに対する応答コマンドであ
る。
として付加され、コマンドコード及びデータ部分の伝送
エラーがチェックされる。ビットBはブロックの区切り
ビットであって、後述のようにして、TPコマンドの第
1語および最終語を識別するために使われる。第14図
は第13図に示したTPコマンドのコマンドコードの一
例が示されている。RR、RNR 1コマンドのN(R
)は受信シーケンス番号でありも次に受取ることのでき
るLTPコマンドのシーケンス番号であり〜 1コマン
ドのN(S)は送信シーケンス番号であり送信している
LTPコマンドのシーケンス番号を示す。RR、RNR
コマンドのビット4およびビット8は再送チェック用に
使用される。これらの機能は後述する。他のビットは各
コマンドの種別の識別に使用される。SABMコマンド
はTP制御間で通信を開始するためのコマンドで、UA
コマンドはSABMコマンドに対する応答コマンドであ
る。
SABMコマンド送信後、UAコマンドを受信すれば以
後、TP制御は1、RR、RNRコマンドを使用して通
信を行なう。1コマンドはLTPコマンドを送信するた
めに使用し、1コマンドの第1語ビット9以下に第6図
で示したLTPコマンドが置かれて送受信される。
後、TP制御は1、RR、RNRコマンドを使用して通
信を行なう。1コマンドはLTPコマンドを送信するた
めに使用し、1コマンドの第1語ビット9以下に第6図
で示したLTPコマンドが置かれて送受信される。
RR、RNRコマンド‘ま受信報告、ビジー報告、再送
制御に使用される。第15図は山24上にありTP制御
27が使用するコマンドレジスタ及び制御カウンタであ
る。
制御に使用される。第15図は山24上にありTP制御
27が使用するコマンドレジスタ及び制御カウンタであ
る。
コマンドレジスタ40は4コマンド分用意され、各レジ
スタはコマンド、ID、長さフィールドを持つている。
コマンドフイールドにはLTPコマンドのビット9〜3
1が置かれ、ID、長さフィールドはコマンドフイール
ドカ$Dコマンドのときのみ有効とされる。コマンドレ
ジスタ40の制御カウンタとしてRQCN4 1,VS
CN42,CACN43が用意されている。これらのカ
ウン夕は3ビットから成り、下位2ビットはコマンドレ
ジスタ40の1つを指示するために使用され、上位1ビ
ットは前記第12図の送信用バッファ30の制御用カウ
ンタの場合と同様にして、比較のための制御用に使用さ
れる。RQCN14は次に書込むべきコマンドレジスタ
を指し、VSCN42は次に送信すべきコマンドレジス
タを指し、CACN43は次に受信が確認されるべきコ
マンドレジスタを指す。
スタはコマンド、ID、長さフィールドを持つている。
コマンドフイールドにはLTPコマンドのビット9〜3
1が置かれ、ID、長さフィールドはコマンドフイール
ドカ$Dコマンドのときのみ有効とされる。コマンドレ
ジスタ40の制御カウンタとしてRQCN4 1,VS
CN42,CACN43が用意されている。これらのカ
ウン夕は3ビットから成り、下位2ビットはコマンドレ
ジスタ40の1つを指示するために使用され、上位1ビ
ットは前記第12図の送信用バッファ30の制御用カウ
ンタの場合と同様にして、比較のための制御用に使用さ
れる。RQCN14は次に書込むべきコマンドレジスタ
を指し、VSCN42は次に送信すべきコマンドレジス
タを指し、CACN43は次に受信が確認されるべきコ
マンドレジスタを指す。
以上の制御カウン外ま初期状態ではゼロに設定される。
別のカゥンタVRCN44は次に受信する予定のLTP
コマンドの受信シーケンス番号を示す。
別のカゥンタVRCN44は次に受信する予定のLTP
コマンドの受信シーケンス番号を示す。
Z次にLTPコマンドの転送動作を説明する。送信
サブチヤネル6および受信サプチャネル8はLTPコマ
ンドを送信する時は、TP制御27に要求する。TP制
御は、CACN43とRQCN4 1を比較し、両者の
下位2ビットが等しくないか、3 Zビットすべてが等
しい場合には転送要求を受付け、RQCN4 1の示す
コマンドレジスタにLTPコマンドをセットし、RQC
N4 1を十1カウントアップする。同時に、もしLT
PコマンドがSDであればそのSDコマンドで送るデー
タブロックの送信バッファ上のアドレスとしてRDN3
2の値をmへ、又有効データ長を長さフィールドにセッ
トする。RQCN41とVSCN42が等しくない時は
、送信すべきコマンドが存在すると判断し、TP制御2
7はVSCN42で示されるレジスタよりLTPコマン
ドを取り出し、SDコマンドかどうかチェックする。
サブチヤネル6および受信サプチャネル8はLTPコマ
ンドを送信する時は、TP制御27に要求する。TP制
御は、CACN43とRQCN4 1を比較し、両者の
下位2ビットが等しくないか、3 Zビットすべてが等
しい場合には転送要求を受付け、RQCN4 1の示す
コマンドレジスタにLTPコマンドをセットし、RQC
N4 1を十1カウントアップする。同時に、もしLT
PコマンドがSDであればそのSDコマンドで送るデー
タブロックの送信バッファ上のアドレスとしてRDN3
2の値をmへ、又有効データ長を長さフィールドにセッ
トする。RQCN41とVSCN42が等しくない時は
、送信すべきコマンドが存在すると判断し、TP制御2
7はVSCN42で示されるレジスタよりLTPコマン
ドを取り出し、SDコマンドかどうかチェックする。
SDコマンドでなければ第13図e−1の形式の1コマ
ンド第1語を形成する。1コマンドのN(S)としてV
SCN43の値、N(R)としてVRCN44の値を使
用する。
ンド第1語を形成する。1コマンドのN(S)としてV
SCN43の値、N(R)としてVRCN44の値を使
用する。
TP制御27は第1語をブロック送信制御28に渡し、
フロツク送信制御28でチェックコードCRC及びブロ
ック区切りビットを付加して相手SCCのブロック受信
制御29へ送信する。
フロツク送信制御28でチェックコードCRC及びブロ
ック区切りビットを付加して相手SCCのブロック受信
制御29へ送信する。
もしSDコマンドであれば、第13図e−2の形式の1
コマンド第1語を形成し、ブロック送信制御28に依頼
し、同時にコマンドレジスタから読み出したIDおよび
長さフィールドを渡す。ブロック送信制御28の詳細を
第16図に示す。フロツク送信制御28は常時ブロック
区切りビットであるBビット54を“1”にして相手S
CCへ送出している。TP制御27により渡されたSD
コマンドはしジスタSA50にセットされる。SA50
の内容はしジスタSB51に転送され、同時に8ビット
54が“0”にされ、SB51とB54の内容が送出さ
れる。同時にブロック送信制御28はLS24上の送信
バッファのブロックIDで指定されるブロックから1語
のデータを読み出してSA50‘こセットする。次にS
A50の内容をSB51に移し、送出する。
コマンド第1語を形成し、ブロック送信制御28に依頼
し、同時にコマンドレジスタから読み出したIDおよび
長さフィールドを渡す。ブロック送信制御28の詳細を
第16図に示す。フロツク送信制御28は常時ブロック
区切りビットであるBビット54を“1”にして相手S
CCへ送出している。TP制御27により渡されたSD
コマンドはしジスタSA50にセットされる。SA50
の内容はしジスタSB51に転送され、同時に8ビット
54が“0”にされ、SB51とB54の内容が送出さ
れる。同時にブロック送信制御28はLS24上の送信
バッファのブロックIDで指定されるブロックから1語
のデータを読み出してSA50‘こセットする。次にS
A50の内容をSB51に移し、送出する。
この間には24から次のデータ1語をSA501こセッ
トする。このようにして指定のブロック長のデータ語数
をLS24から読み出して送出する。この間Bビット5
4は最初に“0”にされたま)、“0”が送出される。
以上の動作と並行して、SB51にセットされた内容は
チェックコード発生回路SCG53へ入力され、レジス
タSC52の内容と共に演算されて結果はSC52にセ
ットされる。SC52はTP制御27から送信要求があ
った時初期状態にされている。上記動作で、SB51に
最後のデータをセットして送出し、同時にSCG53に
入力して最後のチェックコード発生演算を行ない、SC
52に結果がセットされると「SC52の内容がチェッ
クコードとして送出される。同時にBビット54は‘4
1”にセットされて送出され、最後の転送語であること
を表示する。SDコマンド以外の送信の場合には、SB
51からコマンドを送出した後、第2藷としてSC52
の内容を送出して転送を終る。次に受信動作についての
べる。
トする。このようにして指定のブロック長のデータ語数
をLS24から読み出して送出する。この間Bビット5
4は最初に“0”にされたま)、“0”が送出される。
以上の動作と並行して、SB51にセットされた内容は
チェックコード発生回路SCG53へ入力され、レジス
タSC52の内容と共に演算されて結果はSC52にセ
ットされる。SC52はTP制御27から送信要求があ
った時初期状態にされている。上記動作で、SB51に
最後のデータをセットして送出し、同時にSCG53に
入力して最後のチェックコード発生演算を行ない、SC
52に結果がセットされると「SC52の内容がチェッ
クコードとして送出される。同時にBビット54は‘4
1”にセットされて送出され、最後の転送語であること
を表示する。SDコマンド以外の送信の場合には、SB
51からコマンドを送出した後、第2藷としてSC52
の内容を送出して転送を終る。次に受信動作についての
べる。
第17図にブロック受信制御29の詳細を示す。ブロッ
ク受信制御29は常時受信ワードをレジスタRB61,
B64にセットしBビットがオフになるのを監視してい
る。Bビット64がオフになった最初の語をレジスタR
A601こ保持する。同時にRC62はリセットされる
。RB61の内容はRA6川こ保持すると共に、チェッ
クコード発生器RCG63に入力されその結果がレジス
タRC62に保持される。次の語をRB61に受信し、
このときBビットが“1”に復帰していれば、RC62
の内容とRB61の内容が比較回路65で比較され、一
致していればレジスタRA6川ま有効とされ、TP制御
27に渡される。もし一致しなければRA60の内容は
破棄して、受信動作を終る。第2語を受信した時、なお
Bビットが“0”であれば、第1語のコマンドは1コマ
ンドで、LTPコマンドフィールドはSDコマンドであ
り、従って第2語以後はデータ部であるとみなす。
ク受信制御29は常時受信ワードをレジスタRB61,
B64にセットしBビットがオフになるのを監視してい
る。Bビット64がオフになった最初の語をレジスタR
A601こ保持する。同時にRC62はリセットされる
。RB61の内容はRA6川こ保持すると共に、チェッ
クコード発生器RCG63に入力されその結果がレジス
タRC62に保持される。次の語をRB61に受信し、
このときBビットが“1”に復帰していれば、RC62
の内容とRB61の内容が比較回路65で比較され、一
致していればレジスタRA6川ま有効とされ、TP制御
27に渡される。もし一致しなければRA60の内容は
破棄して、受信動作を終る。第2語を受信した時、なお
Bビットが“0”であれば、第1語のコマンドは1コマ
ンドで、LTPコマンドフィールドはSDコマンドであ
り、従って第2語以後はデータ部であるとみなす。
第2語以降はRB61の内容を山24へ転送し、受信バ
ッファのWTN36の示すブロック領域へ書込まれる。
同時に、RCG63でチェック演算が行われる。Bビッ
ト64が“1”である最初の語を受信すると、その語は
は24へ転送せず、比較回路65でRC62と比較され
る。一致すればレジスタRA60の内容をTP制御27
に渡し、次のブロックの受信のためBビット64が“0
”になるのを監視する。TP制御27はブロック受信制
御29から渡されたコマンドのビット0〜8をデコード
し、もし1コマンドであるならば、シーケンスチヱツク
のためビット1〜3のN(S)とカウンタVRCN44
を比較する。一致しているならばVRCN44を十1カ
ウントアップする。もし不一致であればVRCN44は
更新しない。次にコマンドのビット5〜7のN(R)と
VACN4 3が比較され一致していなければ、CAC
Nの示すコマンドが受信されたとみなし、VACN43
の指示するコマンドレジスタ40を読み出し、それがS
Dコマンドであれば、送信バッファ30のカウンタAC
N33を十1することにより、ACN33が指していた
ブロックを新しい送信データに使用可能とする。
ッファのWTN36の示すブロック領域へ書込まれる。
同時に、RCG63でチェック演算が行われる。Bビッ
ト64が“1”である最初の語を受信すると、その語は
は24へ転送せず、比較回路65でRC62と比較され
る。一致すればレジスタRA60の内容をTP制御27
に渡し、次のブロックの受信のためBビット64が“0
”になるのを監視する。TP制御27はブロック受信制
御29から渡されたコマンドのビット0〜8をデコード
し、もし1コマンドであるならば、シーケンスチヱツク
のためビット1〜3のN(S)とカウンタVRCN44
を比較する。一致しているならばVRCN44を十1カ
ウントアップする。もし不一致であればVRCN44は
更新しない。次にコマンドのビット5〜7のN(R)と
VACN4 3が比較され一致していなければ、CAC
Nの示すコマンドが受信されたとみなし、VACN43
の指示するコマンドレジスタ40を読み出し、それがS
Dコマンドであれば、送信バッファ30のカウンタAC
N33を十1することにより、ACN33が指していた
ブロックを新しい送信データに使用可能とする。
読み出したコマンドの種類にか)わらず。CACN43
を十1し、CACN43が指していたレジスタを空きに
する。通常は以上の処理により、受信したN(R)とC
ACN43は等しくなるが、なお不一致の場合は、一致
するまで以上を繰返す。但しCACN43をVSCN4
2の値を越えて更新してはならない。3もし、最初から
、又は以上の処理の結果にACN43とVSCN42が
等しく、且つなおN(R)とCACN43が不一致の場
合には、何等かの障害により、相手SCCとの送受信確
認動作の同期をとり得ない状態になっているので、これ
はCPUへ3通知され、適当な回復処理が行なわれなけ
ればならないが回復処理については説明を省略する。
を十1し、CACN43が指していたレジスタを空きに
する。通常は以上の処理により、受信したN(R)とC
ACN43は等しくなるが、なお不一致の場合は、一致
するまで以上を繰返す。但しCACN43をVSCN4
2の値を越えて更新してはならない。3もし、最初から
、又は以上の処理の結果にACN43とVSCN42が
等しく、且つなおN(R)とCACN43が不一致の場
合には、何等かの障害により、相手SCCとの送受信確
認動作の同期をとり得ない状態になっているので、これ
はCPUへ3通知され、適当な回復処理が行なわれなけ
ればならないが回復処理については説明を省略する。
受信した1コマンドの送信シーケンス番号N(S)とV
RCN44の比較の結果、不一致の場合には、この受信
コマンド‘こついて更に処理を行わ子ず、コマンドをす
てる。一致した場合には、次にLTPコマンドを判定し
、それがSTOおよびSDコマンドであれば受信サブチ
ャネル8へ、ST1、RCおよびRSコマンドであれば
送信サブチャネル6へ、そのLTPコマンドを渡す。又
、SDコマンドであれば、受信バッファ35のカゥンタ
WTN36を十1する。上記各LTPコマンドの機能は
前記の通りであるが、SDコマンドの場合、受信サブチ
ャネル8は、LS24上の受信バッファ35のカウンタ
RDN37で指すブロックのデータを、主記憶装置のキ
ューェレメントの領域へ転送し、その後RDN37を十
1する。TP制御27は、RRおよびRNRコマンドを
受信した時は、そのビット5〜6のN(R)により、前
記と同機の受信シーケンス番号のチェック処理のみを行
なう。
RCN44の比較の結果、不一致の場合には、この受信
コマンド‘こついて更に処理を行わ子ず、コマンドをす
てる。一致した場合には、次にLTPコマンドを判定し
、それがSTOおよびSDコマンドであれば受信サブチ
ャネル8へ、ST1、RCおよびRSコマンドであれば
送信サブチャネル6へ、そのLTPコマンドを渡す。又
、SDコマンドであれば、受信バッファ35のカゥンタ
WTN36を十1する。上記各LTPコマンドの機能は
前記の通りであるが、SDコマンドの場合、受信サブチ
ャネル8は、LS24上の受信バッファ35のカウンタ
RDN37で指すブロックのデータを、主記憶装置のキ
ューェレメントの領域へ転送し、その後RDN37を十
1する。TP制御27は、RRおよびRNRコマンドを
受信した時は、そのビット5〜6のN(R)により、前
記と同機の受信シーケンス番号のチェック処理のみを行
なう。
TP制御27は、コマンドを受信した時は、その後相手
SCCへ受信報告を行なう。
SCCへ受信報告を行なう。
この報告は、コマンドレジスタ40に送信すべきLTP
コマンドがある場合(RQCN41とVSCN42が不
一致の場合)で、後述のように相手SCCからRNRコ
マンドを受信していなかった場合は、VSCN42で指
すレジスタであるLTPコマンドを送信するための1コ
マンドで行われ、送信すべきLTPコマンドがない場合
(RQCN41とVSCN42が等しい場合)は「RR
又はRNRコマン日こよる。この場合において、受信バ
ッファ35に空きがない場合(WTN36とRDN37
の下位2ビットが等しく、上位1ビットが異なる場合)
にRNRコマンド、上記でない場合にRRコマンドを用
いる。RRおよびRNRコマンドのSおよびRビットは
“0”とする。上記いづれのコマンドによる場合にも、
そのコマンドのビット5〜6のN(R)をVRCN44
の値に設定して送信することにより受信報告とされる。
TP制御27は、上記によりRNRコマンドを送信した
場合には、フロック受信制御29へ通知し、ブロック受
信制御29はその後の受信動作において、SDコマンド
と判定した場合の受信は行なわず、その1コマンドをす
てる。
コマンドがある場合(RQCN41とVSCN42が不
一致の場合)で、後述のように相手SCCからRNRコ
マンドを受信していなかった場合は、VSCN42で指
すレジスタであるLTPコマンドを送信するための1コ
マンドで行われ、送信すべきLTPコマンドがない場合
(RQCN41とVSCN42が等しい場合)は「RR
又はRNRコマン日こよる。この場合において、受信バ
ッファ35に空きがない場合(WTN36とRDN37
の下位2ビットが等しく、上位1ビットが異なる場合)
にRNRコマンド、上記でない場合にRRコマンドを用
いる。RRおよびRNRコマンドのSおよびRビットは
“0”とする。上記いづれのコマンドによる場合にも、
そのコマンドのビット5〜6のN(R)をVRCN44
の値に設定して送信することにより受信報告とされる。
TP制御27は、上記によりRNRコマンドを送信した
場合には、フロック受信制御29へ通知し、ブロック受
信制御29はその後の受信動作において、SDコマンド
と判定した場合の受信は行なわず、その1コマンドをす
てる。
TP制御27は受信バッファ35のカゥン夕を監視し、
RDN37が更新された時、RRコマンドを送信して相
手SCCへ通知し、且つブロック受信制御29のSDコ
マンド受信禁止を解く。相手SCCのTP制御27はR
NRコマンド受信後は1コマンドの送信を停止し、RR
コマンド受信により再開する。丁P制御27は1コマン
ドが相手SCCで正常に受信されない時に、自動的に再
送信を行なうために、以下の処理を行なう。TP制御2
7はタイマーを持ち、1コマンドを送信するごとにタイ
マーをリセットして計時を開始し、前記説明の受信シー
ケンス番号チェック処理でコマンドレジスタのカウンタ
VSCN42とCACN43が等しくなった時に計時を
停止する。タイマーで設定した一定時間内にVSCN4
2とCACN43が一致する状態にならなかった時は、
正常に受信確認が得られない状態とみなして、再送チェ
ック動作を開始する。まづ、TP制御27はRR又はR
NRコマンドをSビットを“1”、Rビットを“0”と
して送信する。RRコマンドとRNRコマンドの使い分
けは、前記と同様に受信バッファ35の状態による。相
手SCCのTP制御27は、このコマンドを受信すると
、SビットとRビットを共に“1”として再送チェック
に対する応答であることを示すRR又はRNRコマンド
を返送する。このコマンドのN(R)は相手SCCのV
RCN44の値であり、相手SCCが正常に受信ずみの
1コマンドの次のシーケンス番号が示されている。TP
制御27は応答のRR又はRNRコマンドを受信すると
、そのN(R)により前記と同様に受信シーケンス番号
チェック処理を実行する。その結果、CACN43とN
(R)が等しくなって、なおCACN43とVSCN4
2が等しくならなかった場合には、CACN43が指す
レジスタからVSCN42の指すレジスタの1つ前のレ
ジスタまでにある、既に送信したLTPコマンドが受信
されていないことを示している。従ってこの場合にはN
(R)の値をVSCN42にセットし、VSCN42の
新しい値で指示されるレジスタから再送信を開始する。
この制御は、前記1コマンドの送信において説明した通
りである。以上により明かなように、本発明によれば、
データおよびコマンドの送信用バッファを少数の制御用
カウンタで管理することにより、フロツク単位のデータ
転送およびその受信確認、再送信処理が自動的に行なわ
れ、従来そのために費されていたCPUの処理オーバヘ
ッドを著しく軽減して、高速且つ信頼度の高いサブシス
テム間データ転送を実現することができるので、データ
処理システムの処理効率を著しく高め得る効果がある。
RDN37が更新された時、RRコマンドを送信して相
手SCCへ通知し、且つブロック受信制御29のSDコ
マンド受信禁止を解く。相手SCCのTP制御27はR
NRコマンド受信後は1コマンドの送信を停止し、RR
コマンド受信により再開する。丁P制御27は1コマン
ドが相手SCCで正常に受信されない時に、自動的に再
送信を行なうために、以下の処理を行なう。TP制御2
7はタイマーを持ち、1コマンドを送信するごとにタイ
マーをリセットして計時を開始し、前記説明の受信シー
ケンス番号チェック処理でコマンドレジスタのカウンタ
VSCN42とCACN43が等しくなった時に計時を
停止する。タイマーで設定した一定時間内にVSCN4
2とCACN43が一致する状態にならなかった時は、
正常に受信確認が得られない状態とみなして、再送チェ
ック動作を開始する。まづ、TP制御27はRR又はR
NRコマンドをSビットを“1”、Rビットを“0”と
して送信する。RRコマンドとRNRコマンドの使い分
けは、前記と同様に受信バッファ35の状態による。相
手SCCのTP制御27は、このコマンドを受信すると
、SビットとRビットを共に“1”として再送チェック
に対する応答であることを示すRR又はRNRコマンド
を返送する。このコマンドのN(R)は相手SCCのV
RCN44の値であり、相手SCCが正常に受信ずみの
1コマンドの次のシーケンス番号が示されている。TP
制御27は応答のRR又はRNRコマンドを受信すると
、そのN(R)により前記と同様に受信シーケンス番号
チェック処理を実行する。その結果、CACN43とN
(R)が等しくなって、なおCACN43とVSCN4
2が等しくならなかった場合には、CACN43が指す
レジスタからVSCN42の指すレジスタの1つ前のレ
ジスタまでにある、既に送信したLTPコマンドが受信
されていないことを示している。従ってこの場合にはN
(R)の値をVSCN42にセットし、VSCN42の
新しい値で指示されるレジスタから再送信を開始する。
この制御は、前記1コマンドの送信において説明した通
りである。以上により明かなように、本発明によれば、
データおよびコマンドの送信用バッファを少数の制御用
カウンタで管理することにより、フロツク単位のデータ
転送およびその受信確認、再送信処理が自動的に行なわ
れ、従来そのために費されていたCPUの処理オーバヘ
ッドを著しく軽減して、高速且つ信頼度の高いサブシス
テム間データ転送を実現することができるので、データ
処理システムの処理効率を著しく高め得る効果がある。
第1図は従来のCTCAによりサブシステム間結合を行
うシステム構成図、第2図は本発明のシステムの構成図
、第3図は送受信サブチャネルの接続概念図、第4図は
両方向通信を行なう接続概念図、第5図は主記憶上のキ
ューェレメントとその制御ブロックを示す図、第6図は
LTPコマンドを示す図、第7図は起動シーケンスの説
明図、第8図はキューヱレメントのブロック分割を説明
する図、第9図はデータ転送シーケンスの説明図、第1
0図は停止シーケンスの説明図、第11図はSCCの構
成ブロック図、第12図は送信および受信バッファおよ
び制御カワンタを示す図、第13図はTPコマンドの例
示図、第1 4図はTPコマンドコードの例示図、第1
5図はコマンドレジスタおよび制御カウン夕を示す図、
第16図はブロック送信制御の構成例を示す図、第17
図はブロック受信制御の構成例を示す図である。 図において、1は主記憶装置、2はCPU、3はデータ
転送装置であるSCC、6および7は送信サブチャネル
、8および9は受信サブチヤネル、27はTP制御、2
8はブ。 ツク送信制御、29はブロック受信制御、30は送信バ
ッファ、31,32,33は送信バッファの制御カウン
タ、35は受信バッファ、36,37は受信バッファの
制御カウン夕、4川まコマンドレジス夕、41,42,
43はコマンドレジスタの制御カウンタを示す。多1図 巻z図 父3図 鷲4図 父S図 亀8図 多5蟹 汝7図 斧q図 ゑ’0四 キー’図 淡い図 外‘そ図 姿 ′5図 斧 ’3図 丁P]マント 灸′4図コ?ンドコ‐ト え1つ図
うシステム構成図、第2図は本発明のシステムの構成図
、第3図は送受信サブチャネルの接続概念図、第4図は
両方向通信を行なう接続概念図、第5図は主記憶上のキ
ューェレメントとその制御ブロックを示す図、第6図は
LTPコマンドを示す図、第7図は起動シーケンスの説
明図、第8図はキューヱレメントのブロック分割を説明
する図、第9図はデータ転送シーケンスの説明図、第1
0図は停止シーケンスの説明図、第11図はSCCの構
成ブロック図、第12図は送信および受信バッファおよ
び制御カワンタを示す図、第13図はTPコマンドの例
示図、第1 4図はTPコマンドコードの例示図、第1
5図はコマンドレジスタおよび制御カウン夕を示す図、
第16図はブロック送信制御の構成例を示す図、第17
図はブロック受信制御の構成例を示す図である。 図において、1は主記憶装置、2はCPU、3はデータ
転送装置であるSCC、6および7は送信サブチャネル
、8および9は受信サブチヤネル、27はTP制御、2
8はブ。 ツク送信制御、29はブロック受信制御、30は送信バ
ッファ、31,32,33は送信バッファの制御カウン
タ、35は受信バッファ、36,37は受信バッファの
制御カウン夕、4川まコマンドレジス夕、41,42,
43はコマンドレジスタの制御カウンタを示す。多1図 巻z図 父3図 鷲4図 父S図 亀8図 多5蟹 汝7図 斧q図 ゑ’0四 キー’図 淡い図 外‘そ図 姿 ′5図 斧 ’3図 丁P]マント 灸′4図コ?ンドコ‐ト え1つ図
Claims (1)
- 【特許請求の範囲】 1 データ処理システムの2つのサブシステムの各々に
接続され、通信路により相互に接続されてデータの転送
制御を行なうデータ転送装置において、該データの転送
制御はコマンドの送受信によって行なわれ、該コマンド
には少なくとも、データの転送であることを示すデータ
コマンドを含み、バツフア番号により特定され、該バツ
フア番号の順序に使用され、送信データを記憶する複数
のバツフア、該バツフアのうち現に使用されている最も
古いバツフアのバツフア番号を示す第1のカウンタ、レ
ジスタ番号により特定され、該レジスタ番号の順序に使
用され、送信すべきコマンドを記憶する、複数のレジス
タ、該レジスタのうち現に使用されている最も古いレジ
スタのレジスタ番号を示す第2のカウンタ、上記レジス
タに記憶されたコマンドに、そのレジスタ番号を送信シ
ーケンス番号として付加し、該コマンドがデータコマン
ドである場合には、該レジスタに記憶されたバツフア番
号と長さにより特定のバツフアのデータを読み出し、デ
ータコマンドに付加し、上記通信路に送出する手段、通
信路において、コマンド、データおよびそれに付加され
たシーケンス番号を受信する手段、該受信した最新のシ
ーケンス番号の次の番号を通信路に送出する手段、該番
号を受信する手段を有し、該番号を受信した時は、該番
号と等しくなるまで第2のカウンタを歩進し、該歩進の
過程において、第2のカウンタが指示するレジスタに記
憶されていたデータコマンドの個数に等しい数だけ第1
のカウンタを歩進することを特徴とするデータ転送装置
。 2 mを整数として、上記バツフアは2^m個あり、該
バツフアはバツフア番号の順序に繰返し使用され、使用
中でない先頭のバツフアを示す第のカウンタを有し、該
第3のカウンタおよび上記第1のカウンタはm+1ビツ
トで構成され、該両カウンタの歩進は、2^m^+^1
−1の次に0に歩進するようにされ、少なくとも両カウ
ンタの値がそれらの最上位1ビツトの値のみにおいて異
なる場合には、第3のカウンタの歩進を行なわない、特
許請求の範囲第1項記載のデータ装置。 3 nを整数として、上記レジスタは2^n個あり、該
レジスタはレジスタ番号の順に繰返し使用され、使用中
でない先頭のレジスタを示す第4のカウンタを有し、該
第4のカウンタおよび上記第2のカウンタはn+1ビツ
トで構成され、該両カウンタの歩進は、2^n^+^1
−1の次に0に歩進するようにされ、少なくとも両カウ
ンタの値が、それらの最上位1ビツトの値のみにおいて
異なる場合には、第4のカウンタの歩進を行なわない、
特許請求の範囲第1項又は第2項記載のデータ転送装置
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56062160A JPS609306B2 (ja) | 1981-04-24 | 1981-04-24 | デ−タ転送装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56062160A JPS609306B2 (ja) | 1981-04-24 | 1981-04-24 | デ−タ転送装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57176444A JPS57176444A (en) | 1982-10-29 |
| JPS609306B2 true JPS609306B2 (ja) | 1985-03-09 |
Family
ID=13192078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56062160A Expired JPS609306B2 (ja) | 1981-04-24 | 1981-04-24 | デ−タ転送装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS609306B2 (ja) |
-
1981
- 1981-04-24 JP JP56062160A patent/JPS609306B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS57176444A (en) | 1982-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4414620A (en) | Inter-subsystem communication system | |
| US5020020A (en) | Computer interconnect system with transmit-abort function | |
| US5193149A (en) | Dual-path computer interconnect system with four-ported packet memory control | |
| US5187780A (en) | Dual-path computer interconnect system with zone manager for packet memory | |
| US7533197B2 (en) | System and method for remote direct memory access without page locking by the operating system | |
| US7978705B2 (en) | Self-healing link sequence counts within a circular buffer | |
| EP0577115B1 (en) | Programmed I/O Ethernet adapter with early interrupts for accelerating data transfer | |
| US6742076B2 (en) | USB host controller for systems employing batched data transfer | |
| US5131085A (en) | High performance shared main storage interface | |
| JPH0550021B2 (ja) | ||
| US8402180B2 (en) | Autonomous multi-packet transfer for universal serial bus | |
| US20040015979A1 (en) | System and method for efficiently exchanging data among processes | |
| US7603488B1 (en) | Systems and methods for efficient memory management | |
| EP0502214A1 (en) | Message control method for data communication system | |
| US6842797B1 (en) | USB adapter for burst mode communications | |
| JPS6122333B2 (ja) | ||
| US20080215926A1 (en) | Dubug by a Communication Device | |
| JPH10105489A (ja) | 処理システム内でのデータパケット送信のための方法、および、バッファ管理のためのシステム、ならびに、データパケット送信のためのプログラム情報を含むコンピュータ可読な媒体 | |
| EP0094177B1 (en) | Apparatus for direct memory-to-memory intercomputer communication | |
| US6496901B1 (en) | Mapping variable size data blocks into a fixed block structure | |
| JPS609306B2 (ja) | デ−タ転送装置 | |
| WO1992006430A1 (fr) | Systeme de commande de messages dans un systeme de communication de donnees | |
| JPH04297942A (ja) | 待ち行列を使用してトランザクションを発生する装置及びその方法 | |
| US5675737A (en) | Message receiving system for use in parallel computer system | |
| KR850000562B1 (ko) | 계산기 시스템간 통신방식 |