JPS609306B2 - data transfer device - Google Patents

data transfer device

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
Application number
JP56062160A
Other languages
Japanese (ja)
Other versions
JPS57176444A (en
Inventor
英男 鈴木
栄伸 宮野
達士 宮沢
三郎 金田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56062160A priority Critical patent/JPS609306B2/en
Publication of JPS57176444A publication Critical patent/JPS57176444A/en
Publication of JPS609306B2 publication Critical patent/JPS609306B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

【発明の詳細な説明】 本発明は計算機システム間の通信に係り、特にデータ転
送装置上で動作する送信サブチャネル及び受信サブチャ
ネル間のデータ転送を制御するデータ転送装置に関する
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to communication between computer systems, and particularly to a data transfer device that controls data transfer between a transmission subchannel and a reception subchannel operating on a data transfer device.

タ従来計算機システム間結合手
段として、第1図に示されているようなチャネル間結合
装置(以下においてCTCAとよぶ。)が使用されてい
る。主記憶装置(以下においてMSUとよぶ。)1,C
PU2、及びチャネル3はそれぞれのサブシスZテムを
構成し、CTCA4はサブシステムを結合する通信路を
構成している。CTCAによるサブシステム間通信方式
には次に述べるような問題点を有している。‘1l 1
回当りのデータ転送に数回のSIO命令、ZCPUに対
する割込があり、CPUのオーバヘッドが大きい。
BACKGROUND OF THE INVENTION Conventionally, an inter-channel coupling device (hereinafter referred to as CTCA) as shown in FIG. 1 has been used as a coupling means between computer systems. Main storage unit (hereinafter referred to as MSU) 1,C
PU2 and channel 3 constitute respective subsystems Z, and CTCA4 constitutes a communication path that connects the subsystems. The inter-subsystem communication method using CTCA has the following problems. '1l 1
Each data transfer requires several SIO commands and interrupts to the ZCPU, resulting in a large CPU overhead.

■ CTCAはチャネルに接続されているため」CTC
A−チャネル間のデータ転送方式は、従来の比較的低速
のIOC−チャネル間のィンタフェ2−スによらざるを
得ず、高速データ転送には限界がある。
■ Since CTCA is connected to the channel "CTC
The A-channel data transfer method has no choice but to rely on the conventional relatively low-speed IOC-channel interface, and there is a limit to high-speed data transfer.

上記第1の問題点を解決する発明が、本出願人の昭和5
仏手特許願第146164号「計算機システム間通信方
式」(特開昭56一技斑5y号公報・特公昭斑−233
97〆号公報)に示されている。
The invention that solves the first problem mentioned above was developed by the present applicant in 1933.
Buddha Hand Patent Application No. 146164 "Communication system between computer systems"
No. 97).

その発明において送信サブチャネル、受信サブチャネル
は一度動作状態にされるとデータ転送動作を開始し、停
止命令などにより停止しないかぎり、動作状態を継続し
、送信サブチャネルに対し3送信データは主記憶装置上
にキューィングされ、キューィングされているデータを
転送終了後も動作状態のまま次の送信データがキューィ
ングされるのを待つ。
In the invention, once the transmission subchannel and the reception subchannel are put into operation, they start data transfer operation, and unless stopped by a stop command etc., they continue to operate, and the 3 transmission data for the transmission subchannel is stored in the main memory. The device is queued on the device, and even after the transfer of the queued data is completed, it remains in an operating state and waits for the next transmission data to be queued.

もし送信データのキューィングが連続的に行なわれるな
らば「他系に対するデータ転3送も連続的に行なわれ、
従って起動命令「割込の回数は最小限におさえられる。
本発明の目的は、前記第2の問題点を解決し、サブシス
テム間の通信において、高速で信頼度が高く、且つ距離
等の制約の少ないデータ転送方式を実現するデータ転送
装置を提供するにある。
If transmission data queuing is performed continuously, data transfer to other systems is also performed continuously,
Therefore, the number of interrupts required by the activation command is kept to a minimum.
It is an object of the present invention to provide a data transfer device that solves the second problem and realizes a data transfer method that is high speed, highly reliable, and has fewer restrictions such as distance in communication between subsystems. be.

この目的は、データ処理システムの2つのサブシステム
の各々に接続され、通信路により相互に接続されてデー
タの転送制御を行なうデータ転送装置において、該デー
タの転送制御はコマンドの送受信によって行なわれ、該
コマンド‘こは少なくとも、データの転送であることを
示すデータコマンドを含み、バッファ番号により特定さ
れ、該バッファ番号の順序に使用され、送信データを記
憶する、複数のバッファ、該バッファのうち現に使用さ
れている最も古いバッファのバッファ番号を示す第1の
カウンタ、レジスタ番号により特定され、該レジスタ番
号の順序に使用され、送信すべきコマンドを記憶する、
複数のレジスタ、該レジスタのうち現に使用されている
最も古いレジスタのレジスタ番号を示す第2のカゥン夕
、上記しジス外こ記憶されたコマンドに、そのレジスタ
番号を送信シーケンス番号として付加し、該コマンドが
データコマンドである場合には、該レジスタに記憶され
たバッファ番号と長さにより、特定のバッファのデータ
を読み出し、データコマンド‘こ付加し、上記通信路に
送出する手段、通信路において「コマンド、データおよ
びそれに付加されたシーケンス番号を受信する手段、該
受信した最新のシーケンス番号の次の番号を通信路に送
出する手段、該番号を受信する手段を有し、該番号を受
信した時は、該番号と等しくなるまで第2のカゥンタを
歩進し、譲歩進の過程において、第2のカゥンタが指示
するレジス夕に記憶されていたデータコマンドの個数に
等しい数だけ第1のカウン夕を歩進することを特徴とす
るデータ転送装置によって達成される。本発明は、デー
タ転送装置がサブシステム間で転送すべきデータを一定
長のブロックに分割して転送し、転送においてブロック
には適当な誤り動制御が行なわれ、送受装置間の通信に
より、フロックの受信が確認され、正常に受信されなか
ったフロックは自動的に再送信され、受信側においては
、ブロックを結合して、再び一つのデータを構成するよ
うにしたデータ転送装置において、送信および再送信の
ための「データおよびコマンドのバッファの管理を、小
数のカゥン外こよって効率よく行うようにしたものであ
る。
This purpose is to provide a data transfer device that is connected to each of two subsystems of a data processing system and that is interconnected by a communication path to control data transfer, and that the data transfer control is performed by sending and receiving commands. The command 'includes at least a data command indicating data transfer, is specified by a buffer number, is used in the order of the buffer number, and is a plurality of buffers for storing transmission data; a first counter indicating the buffer number of the oldest buffer in use, identified by a register number and used in the order of the register number to store commands to be sent;
a plurality of registers; a second counter indicating the register number of the oldest register currently in use; If the command is a data command, a means for reading data in a specific buffer according to the buffer number and length stored in the register, adding the data command, and sending it to the communication channel; A means for receiving a command, data and a sequence number added thereto, a means for transmitting a number next to the latest received sequence number onto a communication channel, a means for receiving the number, and when the number is received. increments the second counter until it becomes equal to the number, and in the process of yielding, increments the first counter by a number equal to the number of data commands stored in the register pointed to by the second counter. This is achieved by a data transfer device characterized in that the data transfer device divides data to be transferred between subsystems into blocks of a fixed length and transfers the data by dividing the data into blocks of a certain length. Appropriate error control is performed, and the reception of the flock is confirmed through communication between the transmitting and receiving devices.Flocks that were not received normally are automatically retransmitted, and on the receiving side, the blocks are combined and retransmitted. In a data transfer device that configures one piece of data, management of data and command buffers for transmission and retransmission can be performed efficiently by using decimal counts.

次に本発明を実施例により説明する。Next, the present invention will be explained by examples.

第2図はシステムの構成を示す図であり、SCC(サブ
システムコミニュケーシヨンチヤネル)5が本発明のデ
ータ転送装置である。
FIG. 2 is a diagram showing the configuration of the system, and an SCC (subsystem communication channel) 5 is the data transfer device of the present invention.

各SCC5は1つのサブシステムのCPU2,MSUI
とインタフェースをもっと同時に他サブシステムのSC
C5ともインタフェースを持っていて、一方のサブシス
テムのMSUIから他方のサブシステムのMSUIへデ
ータを転送することを目的とする。
Each SCC5 is one subsystem CPU2, MSUI
and interface with other subsystems at the same time
It also has an interface with C5, and its purpose is to transfer data from the MSUI of one subsystem to the MSUI of the other subsystem.

第3図は一方のSCCの送信サブチャネル6が他のSC
Cの受信サブチャネル7と通信路により論理的に結合し
て、一方向性データ転送を行なう概念図である。
Figure 3 shows that the transmission subchannel 6 of one SCC is connected to the other SC.
FIG. 3 is a conceptual diagram in which unidirectional data transfer is performed by logically coupling with the reception subchannel 7 of C through a communication path.

データは送信サブチャネル6により主記憶からデータが
取り込まれ、相手受信サブチャネル7にデータが渡され
、該受信サブチャネル側の主記憶へ格納される。両サプ
チャネルの起動、停止、データ転送を制御するために両
サプチャネル間で送受信されるコマンドを、以下でLT
Pコマンドという。サブチヤネルとは単一の入出力動作
の開始から終了までを一貫して制御する論理的な機構を
言い、単一の入出力動作に必要な制御表等を主体に構成
される。第4図はサブシステム間で双方向にデータ転送
を可能とするために互いに逆方向の送信サブチャネルー
受信サブチャネルの組を2組使用し、サブチャネル間の
コマンドの送受信を双方伝送制御回路(以下においてT
P制御という。
Data is fetched from the main memory by the transmission subchannel 6, passed to the receiving subchannel 7 of the other party, and stored in the main memory on the side of the receiving subchannel. The commands sent and received between both subchannels to control starting, stopping, and data transfer of both subchannels are described below as LT.
It is called P command. A subchannel is a logical mechanism that consistently controls a single input/output operation from start to end, and is mainly composed of control tables and the like necessary for a single input/output operation. Figure 4 shows two pairs of transmitting subchannels and receiving subchannels in opposite directions to enable bidirectional data transfer between subsystems, and a two-way transmission control circuit (hereinafter referred to as In T
This is called P control.

)10,1 1によって行なうことを示す概念図である
。TP制御10は送信サブチャネル6あるいは受信サブ
チャネル8に送信依頼されたLTPコマンドを相手TP
制御1 1へ送り、相手TP制御1 1は該コマンドを
それぞれ受信サブチャネル7あるいは送信サブチャネル
へ引き渡すよう動作する。両TP制御間の通信はコマン
ドで行なわれ、これらのコマンドを以下において総称し
てTPコマンドと言う。
) 10, 1 is a conceptual diagram showing what is done by 1. The TP control 10 transmits the LTP command requested to be sent to the transmission subchannel 6 or the reception subchannel 8 to the other party's TP.
control 1 1, and the partner TP control 1 1 operates to pass the command to the receiving subchannel 7 or the transmitting subchannel, respectively. Communication between both TP controls is performed using commands, and these commands are hereinafter collectively referred to as TP commands.

第5図はサブシステムー,2の主記憶上のキューェレメ
ントとその制御プ。
Figure 5 shows the queue element on the main memory of subsystem 2 and its control program.

ツクを図示したものである。この詳細は前記特許出願第
146164号に示されているが、以下に概要を述べる
。サブシステムーのBCB12は送信サブチャネル6と
CPUの通信域として使用され、サブシステム2のBC
B13は受信サブチヤネル7とCPUの通信城として使
用されている。
This is an illustration of the tsuku. The details are shown in the aforementioned patent application No. 146164, but a summary will be given below. The BCB 12 of the subsystem is used as a communication area between the transmission subchannel 6 and the CPU, and the BCB of the subsystem 2
B13 is used as a communication hub between the reception subchannel 7 and the CPU.

BAT1 4および1 5はキューェレメント(以下で
QEという)16,17,18,19等をアドレス指定
する情報を保持するテーブルである。
BAT14 and BAT15 are tables that hold information for addressing queue elements (hereinafter referred to as QE) 16, 17, 18, 19, etc.

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の受信が可能かどうかをも
報告する。
BCB12 and BCB13 manage the location and queuing status of BAT14 and I5. In this case, the queue elements (QE) are transmitted and received data stored in the main memory, and are indicated by numerals 16 to 19. Transmit subchannel 6 is in operation state E in BCB1 2
Compare NQP and DEQP, and if they do not match, it is assumed that transmission data (QE) exists, and if reception subchannel 7 is receivable, transmit the QE data specified by the BAT entry pointed to by DEQP, and end. Then update DEQP. Transmission subchannel 6 repeats this operation,
While DEQP and ENQP match, it is checked at regular intervals whether QE exists. The receiving subchannel is E
When the entry in BAT15 specified in the NQP indicates that the buffer for the receive queue element is ready, it is ready to receive, the data from the transmit subchannel is written to that area, and the entire QE Update ENQP when data is written. The receiving subchannel 7 reports to the transmitting subchannel 6 that the reception of the QE is completed, and at the same time reports whether the next QE can be received.

受信が不可能であることを報告した場合は、受信が可能
になった時点で、受信可能の報告を行なう。第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○(起動)コマンドを発信し、受信サプチャ
ネルからの応答を待つ。
If it is reported that reception is not possible, a report that reception is possible is made when reception becomes possible. In FIG. 5, THP of BCB12 indicates the start address of BAT14, and TL indicates the length of BAT14. B.C.B.
The same applies to the case of 13. On the sending side, BCB1
ENQP 2 points to an entry in BAT14 indicating the address of the QE to which the CPU should write transmission data next, and when writing transmission data, the CPU updates ENQP to point to the next entry. BCB13 on the receiving side
DEQP points to the entry in BAT15 that indicates the address of the QE to which received data to be processed by the CPU is written.After processing this QE, the CPU writes DEQP
Update. The LTP commands used for communication between the transmit and receive subchannels are state control commands (S
TO and STI), data command (SD), reception completion command (RC), and reception ready command (RS) are defined. ST○, SD as shown in Figure 6
The command originates from the transmit subchannel, ST1, R
The C,RS command originates from the receive subchannel.
The state control commands STO and STI are used as control commands for starting and stopping subchannels, and whether the STO and STI commands are start, stop, positive response, or negative response is indicated by a flag in the command code section. The STO and STI commands have the same function except for different directions. Flag bits are also assigned to the command code portions of the SD and RC commands, and the meanings indicated by each flag are shown in parentheses after the command name in the following explanation. The control of subchannel activation, data transfer, and termination performed using these commands will be explained.
Figure 7 shows the process of transitioning to the operating state (W state) by a state control command when both the transmitting subchannel and the receiving subchannel are in the usable state Z state (A state). When the sending subchannel is given a SEND command as a start command from the CPU, the sending subchannel Z issues an ST○ (start) command and waits for a response from the receiving subchannel.

受信サブチャネルは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(起動)コマンドを
発信する。
When the receiving subchannel receives an STO (startup) command in the A state, it returns an ST1 (negative response) command.
In the case of a negative response, the SNB field of the STI command is valid and the SNB information indicates that the receiving subchannel is
The status is reported to the transmit subchannel. Further, the reception subchannel generates an attention interrupt cause and enters an interrupt pending state (1 state). This requests an interrupt to the receiving side PU and sends a RECE request to the receiving subchannel.
This is to request that an IVE directive be issued. C.P.
When the interrupt is accepted by U, the receiving subchannel returns to the A state. On the other hand, the transmission subchannel that has received the ST1 (negative response) command ends with condition code CC=1 indicating the execution result of the start command, and the state remains in the A state. The CPU sees that CC=1 and knows that startup has not been completed. The receiving side CPU that received the attention interrupt prepares a QE buffer for reception, issues a start command to the reception subchannel, and issues a RECEIVE command. The receive subchannel issues an STI (initiate) command.

送信サブチャネルはA状態においてST1(起動)コマ
ンドを受信するとアテンション割込原因を生成し割込保
留状態になると同時に応答としてST○(肯定応答)コ
マンドを返す。
When the transmission subchannel receives an ST1 (activation) command in state A, it generates an attention interrupt cause, enters the interrupt pending state, and simultaneously returns an ST○ (acknowledgement) command as a response.

受信サブチャネルがST○(肯定応答)コマンドを受信
すると命令をCC=○で終了し、状態をW状態に変える
When the receiving subchannel receives the ST○ (acknowledgement) command, it terminates the command with CC=○ and changes the state to the W state.

CPUはCC=0により起動成功とみなす。アテンショ
ン割込を受けた送信側CP山ま送信サブチャネルに対し
て再び起動命令でSEND指令を出す。送信サブチヤネ
ルは再びST○(起動)コマンドを発信し、応答を待つ
。W状態の受信サブチャネルがST○(起動)コマンド
を受けた時はST1(肯定応答)コマンドを返す。この
ときは割込は行なわない。ST1(肯定応答)コマンド
を受信した送信サブチャネルは命令をCC=○で終了し
、状態をW状態に変える。以上が送信サブチャネルと受
信サブチャネルの間で交信される起動シーケンスであり
、両サブチャネル共、CPUからの起動命令により起動
指定の起動コマンドの相手へ送り、このコマンドを受け
た時、受信サブチャネルはW状態の場合のみ肯定応答を
返し、送信サブチャネルはA状態において肯定応答を返
し、両サブチャネルとも、肯定応答を受信した場合のみ
W状態となることにより、両サブチャネルのW状態の同
期が得られることがわかる。W状態においてのみ、両サ
ブチャネルは次記のようにデータの送受信を行なう。次
に送信サブチャネル、受信サブチャネルが動作状態(W
状態)にあるときの動作について説明する。送信サブチ
ャネルは動作状態になると送信すべきデータ(キューヱ
レメント)があるかどうか調べる。
The CPU regards CC=0 as success in startup. A SEND command is issued again as a start command to the transmitting side CP peak transmission subchannel that received the attention interruption. The transmitting subchannel issues the ST○ (activation) command again and waits for a response. When a receiving subchannel in the W state receives an ST○ (activation) command, it returns an ST1 (acknowledgement) command. No interrupt is performed at this time. The transmitting subchannel that has received the ST1 (acknowledgement) command ends the command with CC=○ and changes its state to W state. The above is the startup sequence communicated between the sending subchannel and the receiving subchannel. Both subchannels send a startup command from the CPU to the other party of the designated startup command, and when this command is received, the receiving subchannel The channel returns an acknowledgement only when in the W state, the transmitting subchannel returns an acknowledgement in the A state, and both subchannels enter the W state only when they receive an acknowledgement, thereby changing the W state of both subchannels. It can be seen that synchronization can be obtained. Only in the W state, both subchannels transmit and receive data as described below. Next, the transmitting subchannel and receiving subchannel are in the operating state (W
This section describes the operation when the device is in the state). When the transmit subchannel becomes active, it checks whether there is data (queue element) to be transmitted.

これは送信サブチャネルに対応づけられたBCBのEN
QPとDEQPを比較し、一致していないとき送信デー
タが存在するとみなす(第5図参照)。第8図に示すよ
うに、一つのキューヱレメントは一定長のブロックに分
割され通信路上を伝送され、受信側主記憶上で結合され
る。
This is the BCB EN associated with the transmit subchannel.
QP and DEQP are compared, and if they do not match, it is assumed that transmission data exists (see Figure 5). As shown in FIG. 8, one queue element is divided into blocks of a fixed length, transmitted over a communication path, and combined on the receiving side main memory.

SDコマンドは第6図のようにコマンド部とデータ部か
ら成っており、各ブロックはSDコマンドのデータ部と
して送信サブチャネルから受信サブチャネルへ転送され
る。第9図は3個のQEを順次転送する様子を示し、Q
EIは4つのブロックに分割され、4つのSDコマンド
‘こより順次送信されている。
The SD command consists of a command part and a data part as shown in FIG. 6, and each block is transferred from the transmission subchannel to the reception subchannel as the data part of the SD command. Figure 9 shows the sequential transfer of three QEs,
The EI is divided into four blocks, and the four SD commands are sequentially transmitted.

SDコマンドは3ビットのフラグを持ち、これをSD(
F、L、1)で示してある。こ)でFビット=1は最初
のブロックを示し、Lビット=1は最終ブロックを示す
。従ってFビット、Lビットともに“0”である場合は
このSDコマンドのデータ部のブロックが中間ブロック
であることを示している。1ビット=1は、コマンドを
受信した時、受信サブチャネルでCPUへ割込みを発生
すべきことを示す。
The SD command has a 3-bit flag, which is set to SD (
F, L, 1). In this), the F bit=1 indicates the first block, and the L bit=1 indicates the last block. Therefore, when both the F bit and the L bit are "0", this indicates that the block in the data portion of this SD command is an intermediate block. 1 bit = 1 indicates that an interrupt should be generated to the CPU on the reception subchannel when a command is received.

この割込は、受信データを即時にCPUの処理に入れる
ための通知の目的等に使用される。受信サブチヤネルは
第5図ENQPの指すBAT15のアドレスで示される
キューェレメントに順次受信データを格納し、Lビット
が“1”であるSDコマンド(SD(0、1、0)、S
D(1、1、0)等)を受信すると、そのデータ部のブ
ロックを主記憶に格納した後、ENQPを更新する。
This interrupt is used for the purpose of notifying the received data to be immediately processed by the CPU. The receiving subchannel sequentially stores the received data in the queue element indicated by the address of BAT15 pointed to by ENQP in FIG.
D (1, 1, 0), etc.), the block of the data portion is stored in the main memory, and then ENQP is updated.

次に更新後の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図により説明する。
Next, it is checked whether the contents of the BAT15 entry pointed to by the updated ENQP are valid or not, and it is determined whether the next data to be sent can be received. If it can be received, RC(0
) command to the transmit subchannel (QE2 in Figure 9).
and after receiving QE3), and if reception is not possible, sends an RC(1) command (after receiving QEI in the example of FIG. 9). When the transmission subchannel receives the RC(0) command, if there is data to be transmitted next, it transmits the next data. If RC(1
) command is received, the transmission is delayed until the next RS command is received. The reception subchannel is RC(1
) After sending the command, periodically check the BCB13 etc. in Figure 5, wait for the CPU to prepare the next receive queue element buffer, and when it becomes possible to receive, send the RS command. . The transmission subchannel is RC(0
) or RC(1) command is received, D of BCB12
Update EQP. With the data transfer method described above,
The transmit subchannel and the receive subchannel can continuously transfer queue elements in the active state.
Next, the stopping operation will be explained with reference to FIG.

第10図は動作状態にある送信サブチャネルにおいて何
らかの原因でCPUの介入を必要とする事象が検出され
、割込を発生した場合の停止シーケンスを示している。
送信サブチャネルは割込原因を検出すると受信サブチヤ
ネルに対してST0(停止)コマンドを送信し、自分の
状態を割込保留状態にする。
FIG. 10 shows a stop sequence when an event requiring CPU intervention is detected for some reason in a transmission subchannel in an operating state and an interrupt is generated.
When the transmitting subchannel detects the cause of an interrupt, it transmits an ST0 (stop) command to the receiving subchannel, and sets its own state to an interrupt pending state.

一方受信サブチャネルはこのコマンドを受信すると割込
保留状態になる。割込原因等の状態はSTOコマンドの
SNBフィールドで示される。各サプチヤネルは自系C
PUへ割込が受付けられると使用可能状態となる。
On the other hand, when the receiving subchannel receives this command, it enters an interrupt pending state. The status of the cause of the interrupt, etc. is indicated by the SNB field of the STO command. Each subchannel is own C
When an interrupt is accepted by the PU, it becomes usable.

受信サブチャネル側で割込原因が発生した場合は、受信
サブチャネルからSTIコマンドを発行して同様に停止
シーケンスが行なわれる。第11図は本発明の実施例に
おけるSCC内部のブロック図である。
If an interrupt cause occurs on the receiving subchannel side, an STI command is issued from the receiving subchannel and a similar stop sequence is performed. FIG. 11 is a block diagram inside the SCC in the embodiment of the present invention.

DBE20,DB021‘ま32ビットのレジスタであ
り、主記憶装置とローカル0ストーレジ(B)24間で
のデータ転送時のバッファ、あるいはアドレス計算等の
ワークレジスタとして使用される。ALU22は加減算
、DBE20およびDB021のセレクトの機能を持つ
論理回路、WR23はLS夕24の入力データを一時保
持するためのバッファレジスタである。
DBE20 and DB021' are 32-bit registers, and are used as a buffer during data transfer between the main storage device and local 0 storage (B) 24, or as a work register for address calculation, etc. The ALU 22 is a logic circuit having functions of addition/subtraction and selection of the DBE 20 and DB021, and the WR 23 is a buffer register for temporarily holding input data of the LS 24.

LS24は送受信データのバッファ及び送信/受信サプ
チャネルの使用する各種制御情報を保持するためのロー
カルメモリである。O LSA25はB24をリード/
ライトするためのアドレスレジスタである。
LS24 is a local memory for holding a buffer for transmitting and receiving data and various control information used by the transmitting/receiving subchannel. O LSA25 leads B24/
This is an address register for writing.

送信サブチャネル6/受信サプチャネル8は起動、停止
、データ転送に関する制御情報を保持し全体のシーケン
スを制御する。HSI制御26はCPUおよび主記憶装
置夕とSCCのインタフェースを管理し、CPU命令の
実行、CPUに対する割込処理、主記憶装置とLS24
間のデータ転送、主記憶装置上のバッファ制御、制御ブ
ロックによるCPUプログラムとの交信等を実行する。
TP制御27は送/受信サブチャネル6,8に依頼され
たLTPコマンドの他系TP制御への送信、他系TP制
御から受けたLTPコマンドを送/受信サブチャネル6
,8へ引き渡す機能をもつ。
The transmission subchannel 6/reception subchannel 8 holds control information regarding activation, termination, and data transfer, and controls the entire sequence. The HSI control 26 manages the interface between the CPU and main memory and the SCC, executes CPU instructions, handles interrupts to the CPU, and controls the main memory and the LS24.
data transfer between the CPUs, buffer control on the main memory, communication with the CPU program using control blocks, etc.
The TP control 27 sends LTP commands requested to the sending/receiving subchannels 6 and 8 to the other system TP control, and transmits/receiving LTP commands received from the other system TP control to the sending/receiving subchannel 6.
, 8.

フロック送信制御28はTPコマンドのCRCチェック
コードの生成、ブロックの区切りビットを付加してTP
コマンドを相手SCCへ送出する機能を持つ。フロック
受信制御29はブロックの区切りビットを認識して相手
SCCから送られるTPコマンドを受信し、CRCチェ
ックコード‘こよるェラ検出を行なう。
The flock transmission control 28 generates a CRC check code for the TP command, adds block delimiter bits, and transmits the TP command.
It has the function of sending commands to the other party's SCC. The block reception control 29 recognizes the block delimiter bit, receives the TP command sent from the partner SCC, and performs error detection due to the CRC check code.

第12図はは中に割当てられた送信用バッファ及び受信
用バッファの様子と管理用カウン夕の様子を示したもの
である。
FIG. 12 shows the state of the transmission buffer and reception buffer allocated to the inside, and the state of the management counter.

実施例では送受信ともそのバッファは等長の4ブロック
で構成されている。送信用バッファ3川ま送信サブチヤ
ネル6により管理されていて、ライトカウンタWTN3
1の示すブロック領域へ主記憶から1バイトのデータフ
ロックがロードされる。
In the embodiment, the buffers for both transmission and reception are composed of four blocks of equal length. The transmission buffer 3 is managed by the transmission subchannel 6, and the write counter WTN3
A 1-byte data block is loaded from the main memory into the block area indicated by 1.

1ブロックロード完了するごとにWTN31は十1カウ
ントアップする。
Every time one block is completed, the WTN 31 counts up by 11.

リードカウンタRDN32の示すブロック領域のデータ
が次に相手サブチャネルに送られるべきものであること
を示している。
This indicates that the data in the block area indicated by the read counter RDN32 is to be sent to the partner subchannel next.

このカウンタは送信サブチャネル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コマンドである。
This counter is incremented by 1 after the transmission subchannel 6 makes a transmission request to the TP control 27 and is accepted. The data confirmation counter ACN33 is incremented by 11 when the block in the transmission buffer 30 is transmitted to the other party's communication channel and its reception is confirmed. Each counter returns to 0 after the counter value 7. The reason why each counter counts up to 7 even though there are 4 block areas is as follows. Each counter consists of 3 bits, the lower 2 bits indicate the area of the block, and the higher 1 bit is used as control information in counter comparison. For example, WTN3 1 is ACN
The lower 2 bits of WTN31 and ACN33 are set to the same count value as 33 or earlier, but after WTN31 instructs block 3, the lower 2 bits of WTN31 and ACN33 are If they match, and the upper 1 bit also matches, W
Load the data into the block pointed to by TN31, and
3 1 may be updated, but "If the upper 1 bit does not match, all blocks in the transmitting buffer 30 are in use, so loading blocks and updating the WTN 31 cannot be performed. The receiving buffer 35 is The block sent from the other transmission subchannel is written into the block area indicated by the write counter WTN36, and the count is increased by 11 at that time.The block indicated by the read counter RDN37 is then transferred to the main memory. When stored in main memory, it is counted up by 11. When each counter reaches 7, it returns to 0. How to use the upper 1 bit of WTN36 and RDN37 , as above, WT
N36 is controlled so as not to exceed RDN37. FIG. 13 shows TP commands for communicating between the TP control 27 and the TP control of the partner SCC.

TPコマンドの第1藷のビット0−8がコマンドコード
を形成している。TPコマンドにはSABM、UA、旧
R、RNR、1の5種類のコマンドがある。
Bits 0-8 of the first line of the TP command form the command code. There are five types of TP commands: SABM, UA, old R, RNR, and 1.

これらのコマンドは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コマンドに対する応答コマンドであ
る。
These commands are appended with a CRC check code as the final word, and the command code and data portion are checked for transmission errors. Bit B is a block delimiter bit and is used to identify the first and last words of the TP command, as described below. FIG. 14 shows an example of the command code of the TP command shown in FIG. 13. RR, RNR 1 command N(R
) is the reception sequence number, which is the sequence number of the LTP command that can be received next ~ N(S) of 1 command is the transmission sequence number, which indicates the sequence number of the LTP command that is being sent. RR, RNR
Bits 4 and 8 of the command are used for retransmission checking. These functions will be described later. Other bits are used to identify the type of each command. The SABM command is a command to start communication between TP controls, and the UA
The command is a response command to the SABM command.

SABMコマンド送信後、UAコマンドを受信すれば以
後、TP制御は1、RR、RNRコマンドを使用して通
信を行なう。1コマンドはLTPコマンドを送信するた
めに使用し、1コマンドの第1語ビット9以下に第6図
で示したLTPコマンドが置かれて送受信される。
After sending the SABM command, if a UA command is received, TP control performs communication using the 1, RR, and RNR commands. 1 command is used to transmit an LTP command, and the LTP command shown in FIG. 6 is placed below the first word bit 9 of the 1 command and is transmitted and received.

RR、RNRコマンド‘ま受信報告、ビジー報告、再送
制御に使用される。第15図は山24上にありTP制御
27が使用するコマンドレジスタ及び制御カウンタであ
る。
RR and RNR commands are used for reception reports, busy reports, and retransmission control. FIG. 15 shows the command register and control counter located on the mountain 24 and used by the TP control 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は次に受信が確認されるべきコ
マンドレジスタを指す。
Command registers 40 are prepared for four commands, and each register has command, ID, and length fields.
The command field contains bits 9 to 3 of the LTP command.
1 is set, and the ID and length fields are valid only when the command field is a $D command. RQCN4 1, VS as a control counter for the command register 40
CN42 and CACN43 are available. These counters consist of 3 bits, the lower 2 bits are used to instruct one of the command registers 40, and the upper 1 bit is used in the same way as the counter for controlling the transmission buffer 30 in FIG. and is used as a control for comparison. RQCN14 points to the command register to be written next, VSCN42 points to the command register to be sent next, and CACN43 points to the command register to which reception is to be confirmed next.

以上の制御カウン外ま初期状態ではゼロに設定される。
別のカゥンタVRCN44は次に受信する予定のLTP
コマンドの受信シーケンス番号を示す。
In the initial state, it is set to zero except for the above control counters.
Another counter VRCN44 is the next LTP to be received.
Indicates the command reception sequence number.

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コマンドかどうかチェックする。
Z Next, the transfer operation of the LTP command will be explained. The transmission subchannel 6 and the reception subchannel 8 request the TP control 27 when transmitting an LTP command. TP control compares CACN43 and RQCN41, and if the lower 2 bits of both are not equal or all 3Z bits are equal, the transfer request is accepted, an LTP command is set in the command register indicated by RQCN41, and RQCN41 is set.
N4 Count up 1 by 11. At the same time, if LT
If the P command is SD, RDN3 is used as the address on the transmission buffer of the data block sent with the SD command.
Set the value of 2 to m and the effective data length to the length field. When RQCN41 and VSCN42 are not equal, it is determined that there is a command to be sent, and TP control 2
7 takes out the LTP command from the register indicated by VSCN 42 and checks whether it is an SD command.

SDコマンドでなければ第13図e−1の形式の1コマ
ンド第1語を形成する。1コマンドのN(S)としてV
SCN43の値、N(R)としてVRCN44の値を使
用する。
If it is not an SD command, the first word of one command is formed in the format shown in FIG. 13 e-1. V as N(S) of 1 command
The value of VRCN44 is used as the value of SCN43 and N(R).

TP制御27は第1語をブロック送信制御28に渡し、
フロツク送信制御28でチェックコードCRC及びブロ
ック区切りビットを付加して相手SCCのブロック受信
制御29へ送信する。
TP control 27 passes the first word to block transmission control 28;
A block transmission control 28 adds a check code CRC and a block delimiter bit, and transmits it to the block reception control 29 of the other party's SCC.

もし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に移し、送出する。
If it is an SD command, 1 in the format of Figure 13 e-2
Form the first word of the command and ask the block send control 28, passing at the same time the ID and length fields read from the command register. Details of the block transmission control 28 are shown in FIG. The flock transmission control 28 always sets the B bit 54, which is a block delimiter bit, to "1" and sends it to the other party S.
Sending to CC. SD passed by TP control 27
The command is set in register SA50. SA50
The contents of SB51 and B54 are transferred to register SB51, and at the same time, 8 bits 54 are set to "0", and the contents of SB51 and B54 are sent out. At the same time, the block transmission control 28 reads one word of data from the block designated by the block ID of the transmission buffer on the LS 24 and sets SA50'. Next, S
The contents of A50 are moved to SB51 and sent.

この間には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
の内容を送出して転送を終る。次に受信動作についての
べる。
During this time, the next data word from 24 is set to SA501. In this way, the number of data words of the designated block length is read out from the LS 24 and sent out. During this time B bit 5
4 is initially set to "0"), "0" is sent out.
In parallel with the above operations, the contents set in SB51 are input to the check code generation circuit SCG53, and are operated on together with the contents of register SC52, and the result is set in SC52. The SC 52 is put into an initial state when a transmission request is received from the TP control 27. With the above operation, the last data is set in SB51 and sent out, and at the same time it is input to SCG53 to perform the final check code generation operation, and the SC
When the result is set in SC52, the contents of SC52 are sent as a check code.At the same time, the B bit 54 is set to '4.
1" and is sent to indicate that it is the last transfer word. In the case of sending a command other than the SD command, the SB
After sending the command from SC51, SC52 is sent as the second line.
The content of is sent and the transfer ends. Next, I will talk about the receiving operation.

第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語以後はデータ部であるとみなす。
FIG. 17 shows details of the block reception control 29. The block reception control 29 always sends the received word to the register RB61.
It sets it to B64 and monitors until the B bit turns off. The first word with B bit 64 turned off is stored in register R.
A601 is retained. At the same time, RC62 is reset. The contents of RB61 are held in RA6, and are also input to check code generator RCG63, and the result is held in register RC62. Receive the next word to RB61,
If the B bit has returned to “1” at this time, the RC62
The contents of RB61 are compared with the contents of RB61 by a comparison circuit 65, and if they match, the register RA6 is made valid and passed to the TP control 27. If they do not match, the contents of RA 60 are discarded and the reception operation ends. When the second word is received, if the B bit is still “0”, the command of the first word is 1 command, the LTP command field is an SD command, and therefore the second word and subsequent words are considered to be the data part. .

第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が指していた
ブロックを新しい送信データに使用可能とする。
After the second word, the contents of RB61 are transferred to mountain 24 and written to the block area indicated by WTN36 of the reception buffer.
At the same time, the RCG 63 performs a check calculation. When the first word with the B bit 64 set to "1" is received, that word is not transferred to the B bit 64 but is compared with the RC 62 in the comparator circuit 65. If they match, the contents of register RA60 are controlled by TP control 27.
and B bit 64 is set to “0” to receive the next block.
”.The TP control 27 decodes bits 0 to 8 of the command passed from the block reception control 29, and if it is one command, it decodes bits 1 to 3 of N( S) and counter VRCN44
Compare. If they match, the VRCN 44 is counted up by 11. If there is a mismatch, the VRCN 44 is not updated. Next, N(R) in bits 5 to 7 of the command and VACN43 are compared, and if they do not match, the CAC
It is assumed that the command indicated by N has been received, and VACN43
Reads the command register 40 indicated by S.
If it is a D command, the counter AC of the transmission buffer 30
By incrementing N33 by 11, the block pointed to by ACN33 can be used for new transmission data.

読み出したコマンドの種類にか)わらず。CACN43
を十1し、CACN43が指していたレジスタを空きに
する。通常は以上の処理により、受信したN(R)とC
ACN43は等しくなるが、なお不一致の場合は、一致
するまで以上を繰返す。但しCACN43をVSCN4
2の値を越えて更新してはならない。3もし、最初から
、又は以上の処理の結果にACN43とVSCN42が
等しく、且つなおN(R)とCACN43が不一致の場
合には、何等かの障害により、相手SCCとの送受信確
認動作の同期をとり得ない状態になっているので、これ
はCPUへ3通知され、適当な回復処理が行なわれなけ
ればならないが回復処理については説明を省略する。
regardless of the type of command read. CACN43
11 and empties the register pointed to by CACN43. Normally, through the above processing, the received N(R) and C
The ACNs 43 become equal, but if they still do not match, repeat the above steps until they match. However, CACN43 is VSCN4
It must not be updated beyond a value of 2. 3. If ACN43 and VSCN42 are equal from the beginning or as a result of the above processing, and N(R) and CACN43 still do not match, synchronization of the transmission and reception confirmation operation with the other party's SCC may be caused by some kind of failure. Since this is an impossible state, this is notified to the CPU and appropriate recovery processing must be performed, but a description of the recovery processing will be omitted.

受信した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)により、前
記と同機の受信シーケンス番号のチェック処理のみを行
なう。
Transmission sequence number N(S) and V of one received command
If the result of the comparison by the RCN 44 is that they do not match, the received command is ignored and no further processing is performed and the command is discarded. If they match, then the LTP command is determined, and the LTP command is passed to the reception subchannel 8 if it is an STO and SD command, and to the transmission subchannel 6 if it is an ST1, RC, or RS command. If it is an SD command, the counter WTN 36 of the reception buffer 35 is incremented by 1. The functions of each of the above LTP commands are as described above, but in the case of the SD command, the reception subchannel 8 transfers the data of the block pointed to by the counter RDN 37 of the reception buffer 35 on the LS 24 to the queue element area of the main storage device. , and then increment RDN37 to 11. When the TP control 27 receives the RR and RNR commands, it only checks the receiving sequence number of the same aircraft using bits 5 and 6 of N(R).

TP制御27は、コマンドを受信した時は、その後相手
SCCへ受信報告を行なう。
When the TP control 27 receives a command, it then reports the reception to the other party's 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コマンドをす
てる。
This report should be sent to the command register 40.
If there is a command (if RQCN41 and VSCN42 do not match) and an RNR command has not been received from the other SCC as described later, execute one command to send the LTP command that is the register pointed to by VSCN42. If there is no LTP command to be sent (if RQCN41 and VSCN42 are equal), "RR
Or RNR command day Koyoru. In this case, if there is no free space in the reception buffer 35 (WTN 36 and RDN 37
(If the lower 2 bits of are equal and the upper 1 bit is different)
The RNR command is used in cases other than the above, and the RR command is used in cases other than the above. The S and R bits of the RR and RNR commands are set to "0". In case of using any of the above commands,
N(R) of bits 5 to 6 of that command to VRCN44
Setting the value to this value and sending it is considered a reception report.
When the TP control 27 transmits the RNR command as described above, it notifies the block reception control 29, and in the subsequent reception operation, the block reception control 29 does not receive the command if it is determined to be an SD command. Throw away.

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の処理オーバヘ
ッドを著しく軽減して、高速且つ信頼度の高いサブシス
テム間データ転送を実現することができるので、データ
処理システムの処理効率を著しく高め得る効果がある。
The TP control 27 monitors the count of the reception buffer 35,
When the RDN 37 is updated, an RR command is sent to notify the other party's SCC, and the SD command reception prohibition of the block reception control 29 is released. The TP control 27 of the other party's SCC is R.
After receiving the NR command, stop sending one command and start the RR command.
Resumes upon reception of command. The DIP control 27 performs the following processing in order to automatically retransmit when one command is not normally received by the other party's SCC. TP control 2
Reference numeral 7 has a timer, and each time one command is transmitted, the timer is reset to start timing, and the timing is stopped when the counters VSCN42 and CACN43 of the command register become equal in the reception sequence number checking process described above. VSCN4 within a certain period of time set by the timer.
If 2 and CACN43 do not match,
It is assumed that the reception confirmation cannot be normally obtained, and a retransmission check operation is started. First, the TP control 27 is RR or R.
Send the NR command with the S bit set to "1" and the R bit set to "0". The use of the RR command and the RNR command depends on the state of the reception buffer 35, as described above. When the TP control 27 of the partner SCC receives this command, it returns an RR or RNR command with both the S bit and the R bit set to "1" to indicate that it is a response to the retransmission check. N(R) of this command is the V of the other SCC.
This is the value of RCN44, and indicates the next sequence number of one command that has been normally received by the other party's SCC. T.P.
When the controller 27 receives the response RR or RNR command, it executes the reception sequence number check process using the N(R) in the same manner as described above. As a result, CACN43 and N
(R) are equal, CACN43 and VSCN4
If 2 are not equal, this indicates that the already transmitted LTP commands from the register pointed to by CACN 43 to the register immediately before the register pointed to by VSCN 42 have not been received. Therefore, in this case N
The value of (R) is set in VSCN 42 and retransmission is started from the register indicated by the new value of VSCN 42.
This control is as explained in the transmission of one command above. As is clear from the above, according to the present invention,
By managing data and command transmission buffers with a small number of control counters, data transfer in units of flocks, reception confirmation, and retransmission processing are automatically performed, reducing the processing overhead of the CPU that was previously used for this purpose. Since it is possible to realize high-speed and highly reliable data transfer between subsystems by significantly reducing the amount of noise, the processing efficiency of the data processing system can be significantly improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第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つ図
Fig. 1 is a system configuration diagram that performs subsystem coupling using conventional CTCA, Fig. 2 is a system configuration diagram of the present invention, Fig. 3 is a conceptual diagram of connection of transmitting and receiving subchannels, and Fig. 4 performs bidirectional communication. Connection conceptual diagram, Figure 5 is a diagram showing the queue element on the main memory and its control block, Figure 6 is a diagram showing the LTP command, Figure 7 is an explanatory diagram of the startup sequence, and Figure 8 is the block of the queue element. Figure 9 is a diagram explaining the division, Figure 9 is a diagram explaining the data transfer sequence,
Fig. 0 is an explanatory diagram of the stop sequence, Fig. 11 is a block diagram of the SCC configuration, Fig. 12 is a diagram showing transmitting and receiving buffers and control counters, Fig. 13 is an illustration of the TP command, and Fig. 14 is a diagram of the TP command. Command code example diagram, 1st
Figure 5 is a diagram showing the command register and control counter;
FIG. 16 is a diagram showing an example of the configuration of block transmission control, and FIG.
The figure is a diagram showing a configuration example of block reception control. In the figure, 1 is the main storage device, 2 is the CPU, 3 is the SCC which is a data transfer device, 6 and 7 are transmission subchannels, 8 and 9 are reception subchannels, 27 is TP control, 2
8 is bu. 29 is block reception control, 30 is a transmission buffer, 31, 32, 33 are transmission buffer control counters, 35 is a reception buffer, 36, 37 are reception buffer control counters, 4 command registers, 41, 42,
43 indicates a control counter of the command register. Figure 1 Figure z Figure Father 3 Figure Eagle 4 Figure Father S Figure Tortoise 8 Figure Multi 5 Crab You 7 Figure Ax q Figure ゑ'04 key'Figure light off the figure'That figure '5 Figure Ax '3 Figure Ding P ] Cloak moxibustion '4 figure? 1 diagram of code

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項記載のデータ転送装置
[Claims] 1. In a data transfer device connected to each of two subsystems of a data processing system and mutually connected by a communication path to control data transfer, the data transfer control is performed by sending and receiving commands. The command includes at least a data command indicating that data is to be transferred, is specified by a buffer number, is used in the order of the buffer number, and is a plurality of buffers for storing transmission data, among the buffers. a first counter indicating the buffer number of the oldest buffer currently in use; a plurality of registers, identified by register numbers, used in the order of the register numbers, and storing commands to be sent; a second counter indicating the register number of the oldest register in use, appending that register number as a transmission sequence number to the command stored in said register; and if said command is a data command, said register number; means for reading the data of a specific buffer according to the buffer number and length stored in the data command, adding it to a data command, and transmitting it to the communication channel; means for receiving the command, data, and the sequence number added thereto on the communication channel; , means for sending a number next to the latest received sequence number to the communication channel, and means for receiving the number, and when receiving the number, steps the second counter until it becomes equal to the number. In the process of incrementing, the first counter is incremented by a number equal to the number of data commands stored in the register pointed to by the second counter.
A data transfer device characterized by incrementing a counter. There are 2^m buffers, where 2 m is an integer, and the buffers are used repeatedly in the order of the buffer numbers, and have a first counter that indicates the first buffer that is not in use, and the third counter and the first buffer 1 counter consists of m+1 bits, and the increment of both counters is 2^m^+^1
The third counter is incremented from -1 to 0, and the third counter is not incremented when the values of both counters differ only in the value of their most significant 1 bit. The data device according to paragraph 1. 3. There are 2^n registers, where n is an integer, and the registers are used repeatedly in the order of register numbers, and have a fourth counter that indicates the first register that is not in use. The counter 2 is composed of n+1 bits, and the increment of both counters is 2^n^+^1
The fourth counter is incremented from -1 to 0, and the fourth counter is not incremented when the values of both counters differ only in the value of the most significant 1 bit.
A data transfer device according to claim 1 or 2.
JP56062160A 1981-04-24 1981-04-24 data transfer device Expired JPS609306B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56062160A JPS609306B2 (en) 1981-04-24 1981-04-24 data transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56062160A JPS609306B2 (en) 1981-04-24 1981-04-24 data transfer device

Publications (2)

Publication Number Publication Date
JPS57176444A JPS57176444A (en) 1982-10-29
JPS609306B2 true JPS609306B2 (en) 1985-03-09

Family

ID=13192078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56062160A Expired JPS609306B2 (en) 1981-04-24 1981-04-24 data transfer device

Country Status (1)

Country Link
JP (1) JPS609306B2 (en)

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
US7533197B2 (en) System and method for remote direct memory access without page locking by the operating system
US4914653A (en) Inter-processor communication protocol
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
US6205501B1 (en) Apparatus and method for handling universal serial bus control transfers
US6742076B2 (en) USB host controller for systems employing batched data transfer
US8090883B2 (en) Method, system and computer program product for enhanced shared store buffer management scheme with limited resources for optimized performance
US5131085A (en) High performance shared main storage interface
US8402180B2 (en) Autonomous multi-packet transfer for universal serial bus
EP0502214A1 (en) Message control method for data communication system
JPS6122333B2 (en)
US7603488B1 (en) Systems and methods for efficient memory management
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
JPH10105489A (en) Method for transmitting data packet in processing system, system for managing buffer and medium for reading computer including program information for transmitting data packet
EP0094177B1 (en) Apparatus for direct memory-to-memory intercomputer communication
US6496901B1 (en) Mapping variable size data blocks into a fixed block structure
JPS609306B2 (en) data transfer device
WO1992006430A1 (en) Message control system in a data communication system
US5675737A (en) Message receiving system for use in parallel computer system
CN115658571B (en) Data transmission method, device, electronic equipment and medium
KR850000562B1 (en) Inter-subsystem communication system
JPH10154116A (en) Data transfer method