Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS5852249B2 - channel device - Google Patents
[go: Go Back, main page]

JPS5852249B2 - channel device - Google Patents

channel device

Info

Publication number
JPS5852249B2
JPS5852249B2 JP16354378A JP16354378A JPS5852249B2 JP S5852249 B2 JPS5852249 B2 JP S5852249B2 JP 16354378 A JP16354378 A JP 16354378A JP 16354378 A JP16354378 A JP 16354378A JP S5852249 B2 JPS5852249 B2 JP S5852249B2
Authority
JP
Japan
Prior art keywords
data
input
channel
register
output
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
JP16354378A
Other languages
Japanese (ja)
Other versions
JPS5587221A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16354378A priority Critical patent/JPS5852249B2/en
Publication of JPS5587221A publication Critical patent/JPS5587221A/en
Publication of JPS5852249B2 publication Critical patent/JPS5852249B2/en
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、チャネル装置1こ関し、特にデータ転送カウ
ントの表示機能を備えたチャネル装置に関するものであ
る。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a channel device 1, and more particularly to a channel device having a data transfer count display function.

チャネル装置は入出力装置と主記憶装置との間の情報転
送の制御機能を有し、中央処理装置から入出力命令が出
されることにより、第1図に示すような手順で一連の動
作を実行する。
The channel device has the function of controlling information transfer between the input/output device and the main storage device, and executes a series of operations in the steps shown in Figure 1 when input/output commands are issued from the central processing unit. do.

例えば、指定した入出力装置を起動するための入出力命
令5IO(StartIlo )、5IOF(Star
tI10pa3i Re1ease )が出されると1
でチャネル装置は入出力装置アドレスを受取り、サブチ
ャネルの検査を行う。
For example, input/output instructions 5IO (StartIlo) and 5IOF (StartIlo) are used to start a specified input/output device.
tI10pa3i Re1ease) is issued, 1
At , the channel device receives the I/O device address and performs subchannel testing.

次に、2で、主記憶装置MSの固定領域からチャネル・
アドレス語(以下CAW)を読出し、3で主記憶装置M
SのCAWで示されるアドレスよりチャネル・コマンド
語(以下CCW)を読出す。
Next, in step 2, the channel data is saved from the fixed area of the main memory MS.
Read the address word (hereinafter referred to as CAW), and at 3 the main memory M
A channel command word (hereinafter referred to as CCW) is read from the address indicated by CAW of S.

それに先立ち、チャネル装置は入出力台+5IOFを解
読して条件コードCCをセットして中央処理装置に返送
し、入出力命令を終了(STP)するが、SIO命令の
場合には、4て入出力装置1こコマンドを送出した後、
条件コードCCをセットして中央処理装置に返送する。
Prior to that, the channel device decodes the input/output board +5 IOF, sets the condition code CC, and sends it back to the central processing unit to complete the input/output command (STP). After sending this command to device 1,
It sets the condition code CC and sends it back to the central processing unit.

次いで、5では、入出力動作の実行、つまり入出力装置
と主記憶装置MSとの間でデータの転送を行い、6で終
了すると入出力割込みを行い、中央処理装置に制御を移
し、主記憶装置MSにチャネル状態語(以下C3W)を
書込み終結(END)する。
Next, in step 5, an input/output operation is executed, that is, data is transferred between the input/output device and the main memory MS, and when it ends in step 6, an input/output interrupt is performed, control is transferred to the central processing unit, and the main memory is transferred. A channel status word (hereinafter referred to as C3W) is written to the device MS and terminated (END).

ところで、入出力装置から入出力制御装置を介して、あ
るいは端末装置から通信制御装置を介して、主記憶装置
MSIこ不定長データを受信する場合、チャネル装置は
転送データ数を計算して、データ転送の終了時1こ中央
処理装置に報告する。
By the way, when the main storage MSI receives undefined length data from an input/output device via an input/output control device or from a terminal device via a communication control device, the channel device calculates the number of data to be transferred and transfers the data. At the end of the transfer, one is reported to the central processing unit.

この場合、1つのデータ転送が終了するととfこ、主記
憶装置MSからCCWを読出し、入出力装置1こコマン
ドを送出してからデータ転送が継続されるのであるが、
次のCCWが現在のコマンド・コードと同一のコマンド
・コードを持つ場合には、CCWのチェイン・データ・
フラグを「l」fこして、データ・チェイン動作を行う
In this case, when one data transfer is completed, the CCW is read from the main memory device MS, a command is sent to the input/output device 1, and then the data transfer is continued.
If the next CCW has the same command code as the current command code, the CCW's chain data
The data chain operation is performed by setting the flag "l"f.

また、チェイン・データ・フラグが「0」の場合でも、
チェイン・コマンド・フラグを「1」にすればコマンド
・チェイン動作が行われ、新しいコマンドによる入出力
動作が継続される。
Also, even if the chain data flag is "0",
When the chain command flag is set to "1", a command chain operation is performed, and input/output operations using new commands are continued.

このようtこ、入出力装置、端末装置と主記憶装置との
間のデータ転送が、複数のCCWのチェインにより行わ
れる場合、最後に実行されたCCW「こ関連する転送デ
ータ数が中央処理装置に報告されるのみであり、それ以
外のCCWに関連する転送データ数をチャネル装置は報
告することができない。
In this way, when data transfer between input/output devices, terminal devices, and main storage is performed by a chain of multiple CCWs, the number of data transferred related to the last CCW executed is The channel device cannot report the number of transferred data related to other CCWs.

このため、主記憶装置が不定長データを受信する場合に
、実際に転送されたデータ数を知る方法として、従来よ
り次の3つの手段が用いられているが、いずれも欠点が
ある。
For this reason, when the main memory receives undefined length data, the following three methods have been conventionally used to determine the number of data actually transferred, but each method has drawbacks.

(1)チェイン・コマンドを用いないで、1つの転送デ
ータごとにコマンドを送出する方法があるが、これでは
チェイン・コマンドの有効性を活用できない。
(1) There is a method of sending a command for each piece of transfer data without using chain commands, but this method cannot take advantage of the effectiveness of chain commands.

(2)チェイン・コマンドを用いるとき、データ長の情
報を転送データ(電文)内に挿入する方法、例えば、転
送データ数を入出力装置側で記憶しておき、次のリード
・コマンドがチャネル装置から送られると、転送データ
の先頭にデータ長、カウント情報を載せる方法である。
(2) When using a chain command, there is a method of inserting data length information into the transfer data (telegram). For example, the number of transfer data is memorized on the input/output device side, and the next read command is sent to the channel device. This method places the data length and count information at the beginning of the transferred data.

しかし、伝送制御手順において、データ長情報を電文に
含めることが許されない場合には、実施できない。
However, this cannot be implemented if the transmission control procedure does not allow data length information to be included in the message.

(3)チェイン・コマンドを用いるとき、最終データの
後にデータ区切り符号を含む情報を付加する方法、すな
わち、コマンドやデータに使われていないパターン、例
えばオール「1」情報を区切り符号として送出し、プロ
グラムで順次チェックしていき、最後の区切り符号の格
納されているアドレスから先頭アドレスを減算すること
により、データ長を判別する。
(3) When using a chain command, a method of adding information including a data delimiter code after the final data, that is, sending out a pattern that is not used in the command or data, for example, all "1" information as a delimiter code; The data length is determined by sequentially checking the data in the program and subtracting the first address from the address where the last delimiter is stored.

しかし、主記憶装置に格納されるデータをすべてチェッ
クしなければならないため、時間がかかること、および
データの完全透過性が保証されている場合、すなわち、
すべてのパターンをデータとして用いる場合には、デー
タ区切り符号を定義できない〇 本発明の目的は、このような従来の欠点を解消し、端末
装置から転送されるデータを、コマンド・チェインをこ
より連続的に受信する場合、転送データ中にデータ長情
報を含めることなく、またデータの完全透過性を保証し
ながら、各電文のデータ長情報を中央処理装置1こ報告
できるようなチャネル装置を提供することtこある。
However, it is time-consuming because all data stored in main memory has to be checked, and if complete data transparency is guaranteed, i.e.
When all patterns are used as data, it is not possible to define a data delimiter code.The purpose of the present invention is to eliminate such conventional drawbacks and to continuously transfer data from a terminal device through a command chain. To provide a channel device that can report the data length information of each message to a central processing unit without including the data length information in the transferred data and guaranteeing complete data transparency when receiving the message. There are so many.

本発明1こおいては、実行中のチャネル・コマンド・ワ
ードあるいはそれに引続くチャネル・コマンド・ワード
に含まれる所定の表示ビットを検出する手段と、該検出
手段の出力をこより実際(こ転送されたデータ・バイト
数情報を、実行中のあるいはそれtこ引続くチャネル・
コマンド・ワード内の任意のエリア、またはそれらのチ
ャネル・コマンド・ワードfこより指定される任意のデ
ータ・エリアをこ格納する手段を備えることにより、前
記の目的を遠戚する。
In the present invention, there is provided a means for detecting a predetermined display bit included in a channel command word being executed or a channel command word following it, and an output from the detecting means that is actually (transferred). data byte count information to the running or subsequent channel.
The foregoing object is distantly related by providing means for storing any area within the command word, or any data area specified by the channel command word f.

以下、図面により本発明の詳細な説明する。Hereinafter, the present invention will be explained in detail with reference to the drawings.

第2図a、b、cは、従来より用いられているccw、
csw、のフォーマット、および主記憶装置内のCCW
の連鎖状態図である。
Figure 2 a, b, and c show the conventionally used ccw,
csw, format, and CCW in main storage
FIG.

CCWは、第2図aに示すように、8バイト(2語)か
ら構成され、コマンド・コードCMD。
As shown in FIG. 2a, CCW consists of 8 bytes (2 words) and includes a command code CMD.

データ・アドレスD、ADR,フラグF L G、およ
びカウントCNTの各エリアを備えている。
It includes areas for data address D, ADR, flag FLG, and count CNT.

CCWは、入出力命令が出されたとき1こは、すでに主
記憶装置に格納されており、主記憶装置の固有領域にあ
るCAW(4バイト構戊)をこよりCCW群の先頭アド
レスが示される。
When an input/output command is issued, the CCW is already stored in the main memory, and the starting address of the CCW group is indicated by reading the CAW (4-byte structure) located in a unique area of the main memory. .

コマンド・コードCMDは、センス、ライト、リード、
バッタワード・リード、コントロール等の入出力動作の
種類を指定するものであり、データ・アドレスD−AD
Hはデータ転送を開始する最初のデータ・アドレスを示
すものである。
Command code CMD is sense, write, read,
It specifies the type of input/output operation such as batter word read, control, etc., and the data address D-AD
H indicates the first data address to start data transfer.

フラグFLGは、CCW相互間の簡単な制御を指定する
もので、チェイン・データ(CD’)、チェイン・コマ
ンド(CC)不正長表示抑止(SLI)、スキップ(S
KIP)、プログラム制御割込み(PCI)、および間
接データ・アドレス(IDA)等がある。
Flag FLG specifies simple control between CCWs, and includes chain data (CD'), chain command (CC), invalid length display inhibition (SLI), and skip (SLI).
KIP), program control interrupt (PCI), and indirect data address (IDA).

また、カウントCNTは、そのCCWによって転送され
るデータのバイト数を示す。
Further, the count CNT indicates the number of bytes of data transferred by the CCW.

本発明は、フラグFLG等の表示ビットを転送データ長
情報格納指示ビットとして用い、このビットが「l」の
ときに、データ長情報をカウントCNTのエリアに格納
する。
The present invention uses an indication bit such as a flag FLG as a transfer data length information storage instruction bit, and when this bit is "1", data length information is stored in the area of the count CNT.

次(こ、C8Wは、入出力割込みが発生する場合tこ、
その要因、入出力動作の終了状態を内容として、主記憶
装置の固定領域tこ格納されるもので、第2図すに示す
ように、保護キーKY、CCWアドレス、装置状態バイ
トD S B、チャネル状態バイトCS B、カウント
(残りバイト数)CNTの各エリアを備えている。
Next (C8W is used when an input/output interrupt occurs,
The cause and the completion status of the input/output operation are stored in a fixed area of the main memory.As shown in Figure 2, the protection key KY, CCW address, device status byte DSB, It has areas for channel status byte CSB and count (remaining number of bytes) CNT.

いま、第2図cfこ示すような配列で、主記憶装置R:
CCWが格納されているものとする。
Now, the main memory R is arranged as shown in Figure 2 cf:
It is assumed that CCW is stored.

CCWOは、出力動作(ライトWT)を指定し、チェイ
ン・コマンド・フラグCCFを「1」にしている。
CCWO specifies output operation (write WT) and sets chain command flag CCF to "1".

CCWI 、CCW2は、ともに不定長データの入力動
作(リードRD)を指1定し、CCWlがチェイン・コ
マンド・フラグCCFを「1」に、CCW2がプログラ
ム制御割込みフラグPCIFを「l」(こしている。
CCWI and CCW2 both specify the input operation (read RD) of undefined length data, CCWl sets the chain command flag CCF to "1", and CCW2 sets the program control interrupt flag PCIF to "l" (thus, There is.

すなわち、各CCWがチェイン・コマンド・フラグCC
F)こより連鎖されているため、これらの一連の入出力
動作は唯一の入出力起動命令(5tartl 10 )
ICより実行される。
That is, each CCW has a chain command flag CC
F) Because they are chained together, these series of I/O operations are a single I/O activation instruction (5 tartl 10)
Executed by IC.

このような連鎖は、チェイン・コマンド・フラグCCF
が「0」であるCCWまで実行され、その場合、入出力
起動命令の実行状態、つまり入出力動作の正常性、およ
び転送したデータのバイト数等は、C8Wとして主記憶
装置tこ格納されるので、プログラム(こより参照する
ことができる。
Such a chain is controlled by the chain command flag CCF
The execution state of the input/output activation instruction, that is, the normality of the input/output operation, the number of bytes of transferred data, etc., is stored in the main memory as C8W. Therefore, you can refer to the program (from here).

しかし、C8Wは、最後(こ実行され?、=CCWに関
係する情報のみを含むため、第2図Cの場合(こは、C
CW2tこより転送したデータ・バイト数のみを、C8
W中の「残りカウント」の値より知ることができるが、
CCWlにより転送したデータ・バイト数をプログラム
で知ることはできない。
However, since C8W only contains information related to the last (this is executed?) = CCW, in the case of C in Figure 2 (this is
Only the number of data bytes transferred from CW2t is transferred to C8.
You can know from the value of "remaining count" in W,
The number of data bytes transferred by CCWl cannot be known by the program.

そこで、本発明では、CCW21こチャネル・プログラ
ム制御割込みフラグPC,IFを付加し、CCWIによ
る入力動作が終了して、PCIFを含むCCW2を主記
憶装置から読出したとき、ccwitこより転送された
データ・バイトの「残りカウント」の値をCCWlのカ
ウント・エリアCNTlに格納し、プログラム(こより
転送されたデータ・バイト数を容易tこ参照できるよう
1こする。
Therefore, in the present invention, the channel program control interrupt flags PC and IF are added to the CCW21, and when the input operation by the CCWI is completed and the CCW2 including PCIF is read from the main memory, the data transferred by the ccwit. The value of the "remaining count" of bytes is stored in the count area CNTl of CCWl, and the number of data bytes transferred can be easily referenced by the program.

第3図は、本発明の実施例を示すチャネル装置のブロッ
ク構成国である。
FIG. 3 shows the block configuration countries of the channel equipment according to the embodiment of the present invention.

チャネル装置20は、人出力インタフェースの制御部2
4、サブ・チャネル26、演算器26、メイン制御部2
5、アドレス・レジスタ29、データ・レジスタ30お
よびサブ・チャネル記憶部27等より構成される。
The channel device 20 is a control unit 2 of a human output interface.
4, sub channel 26, computing unit 26, main control section 2
5, an address register 29, a data register 30, a sub-channel storage section 27, etc.

また、サブ・チャネル26は、フラグ・レジスタ32、
シーケンス制御レジスタ33、カウント・レジスタ34
、CCWアドレス・レジスタ35、およびデータ・アド
レス・レジスタ36を含む。
The sub-channel 26 also has a flag register 32,
Sequence control register 33, count register 34
, a CCW address register 35, and a data address register 36.

中央処理装置23より、入出力起動命令が実行されると
、CPUインタフェース39を通っでCPUレジスタ4
51こ入出力装置アドレスが送出されてくる。
When the input/output activation instruction is executed by the central processing unit 23, the input/output activation instruction is sent to the CPU register 4 through the CPU interface 39.
51 input/output device addresses are sent.

入出力インタフェース制御部24は、CPUレジスタ4
5のアドレスを受けると直ちtこ入出力装置22を選択
起動する。
The input/output interface control unit 24 controls the CPU register 4
When address 5 is received, the input/output device 22 is selected and activated immediately.

同時lこ、チャネル・シーケンス制御部25は、主記憶
装置21の固定領域よりCAWを読出すと、CAWはス
トレージ・データ・バス41を介してデータ・レジスタ
30)こロードされる。
At the same time, when the channel sequence control unit 25 reads the CAW from the fixed area of the main memory 21, the CAW is loaded into the data register 30 via the storage data bus 41.

CAWfこは、実行すべきCCW群の先頭アドレスが含
まれでいるので、シーケンス制御部25は先頭のCCW
を読出すため、CAW情報をデータ・レジスタ30から
アドレス・レジスタ291こ転送し、アドレス・ライン
40を介してCCWの読出しを開始する。
Since CAWf contains the start address of the CCW group to be executed, the sequence control unit 25 selects the start address of the CCW group to be executed.
To read the CCW, the CAW information is transferred from the data register 30 to the address register 291 and the CCW reading begins via the address line 40.

CCWの読出しが終ると、チャネル・シーケンス制御部
25は、データ・レジスタ30(こロードされたCCW
の内容にもとづきサブ・チャネル26のイニシャライズ
を行う。
When the reading of the CCW is completed, the channel sequence control unit 25 transfers the loaded CCW to the data register 30.
The sub-channel 26 is initialized based on the contents of the sub-channel 26.

すなわち、フラグ・レジスタ32、カウント・レジスタ
34、およびデータ・アドレス・レジスタ36の内容を
、各々、CCWのフラグF L G、カウントCNTお
よびデータ・アドレスD−ADRJこ対応させる。
That is, the contents of the flag register 32, count register 34, and data address register 36 are made to correspond to the CCW flag FLG, count CNT, and data address D-ADRJ, respectively.

CCWアドレス・レジスタ35+こは、アドレス・レジ
スタ29の内容をプラス8した1次のCCWのアドレス
」がセットされる。
The CCW address register 35+ is set with the address of the primary CCW which is the contents of the address register 29 plus eight.

また、読出されたコマンドCMDは、データ・レジスタ
30から入出力データ・レジスタ38)こ送られ、そこ
から入出力装置22(こ送出される。
Further, the read command CMD is sent from the data register 30 to the input/output data register 38, and from there to the input/output device 22.

入出力装置22は、コマンド・コードCMDを受取ると
、直ちtこデータ転送を開始する。
Upon receiving the command code CMD, the input/output device 22 immediately starts data transfer.

同時1こ複数の入出力装置22のデータ転送を制御する
マルチプレクサ・グヤネルの場合1こは、各入出力装置
1こ関連するサブ・チャネルの内容を、サブ・チャネル
記憶部27の各入出力装置1こ割当てられたエリアにユ
ニット・コントロール・ワード(以下UCW)として記
憶しておく。
In the case of a multiplexer that controls data transfer for multiple input/output devices 22 at the same time, the contents of the associated sub-channels of each input/output device are transferred to each input/output device in the sub-channel storage section 27. It is stored in one allocated area as a unit control word (hereinafter referred to as UCW).

その内容は、入出力インタフェースl10INFを介し
てデータ転送要求が行われたとき、サブ・チャネル26
にロードされ、データ・アドレス・レジスタ36の内容
はデータ・アドレスとしてアドレス・レジスタ29fこ
送られ、主記憶装置21#こ対してデータの読書きが行
われる。
Its contents are that when a data transfer request is made via the input/output interface l10INF, the subchannel 26
The contents of data address register 36 are sent to address register 29f as a data address, and data is read from and written to main memory 21#.

出力動作(ライトWT)の場合Eこは、主記憶装置21
から読出されたデータは、データ・レジスタ30から入
出力データ・バス43および入出力データ・レジスタ3
8を通して入出力インタフェースl10INFに送出さ
れる。
In the case of output operation (write WT), the main memory 21
The data read from data register 30 is transferred to input/output data bus 43 and input/output data register 3.
8 to the input/output interface l10INF.

一方、入力動作(リードRD)の場合tこは、転送デー
タは入出力インタフェースl10INFから入出力デー
タ・レジスタ38、入出力データ・バス43を通してデ
ータ・レジスタ30fこ送られ、主記憶装置21に格納
される。
On the other hand, in the case of an input operation (read RD), transfer data is sent from the input/output interface l10INF to the data register 30f via the input/output data register 38 and the input/output data bus 43, and is stored in the main memory 21. be done.

いずれの場合も、カウント・レジスタ34とデータ・ア
ドレス・レジスタ36の内容は、演算器281こよりそ
れぞれマイナス1、またはプラス1されて、再びサブ・
チャネル26の内容がサブ・チャネル記憶部27に格納
される。
In either case, the contents of the count register 34 and data address register 36 are incremented by 1 or 1, respectively, by the arithmetic unit 281, and then sub-counted again.
The contents of channel 26 are stored in sub-channel storage section 27.

このようなデータ転送動作は、入出力装置22tこおい
てデータ転送の終了条件が発生するまで繰返し続けられ
る。
Such a data transfer operation continues to be repeated until a data transfer termination condition occurs in the input/output device 22t.

この終了条件は、サブ・チャネルのカウント・レジスタ
34の値が「o jtこなり、チャネル装置20がその
内容を入出力装置22に通知したとき、あるいは入出力
装置22がすべてのデータの転送を終了して、転送すべ
きデータがなくなったとき1こそれぞれ発生する。
This termination condition occurs when the value of the sub-channel count register 34 reaches "o jt" and the channel device 20 notifies the input/output device 22 of the contents, or when the input/output device 22 stops transferring all data. When the transfer is completed and there is no more data to transfer, this occurs.

後者の場合、サブ・チャネルのカウント・レジスタ34
の値は、プログラムで指定した転送すべきデータ・バイ
ト数と実際Eこ転送したデータ・バイト数の差を示して
いる(残りカウント)。
In the latter case, the sub-channel count register 34
The value indicates the difference between the number of data bytes to be transferred specified by the program and the number of data bytes actually transferred (remaining count).

入出力装置22は、データ転送の終了条件を検出すると
、チャネル装置20に対して終了報告を行う。
When the input/output device 22 detects a data transfer end condition, it reports the end to the channel device 20.

この終了報告を入出力インタフェース制御部24で受取
ると、データ転送動作と同じように、その入出力装置2
2に関連するUCWがサブ・チャネル記憶部2Tからサ
ブ・チャネル26Eこロードされる。
When the input/output interface control unit 24 receives this completion report, the input/output device 2
The UCW associated with sub-channel 26E is loaded from sub-channel storage 2T.

このとき、フラグ・レジスタ32の内容はフラグ識別回
路311Iこ入力され、さらtこチャネル・シーケンス
制御部25に転送されるので、チャネルシーケンス制御
部25はチェイン・コマンド動作を行うべきか否かを知
ることができる。
At this time, the contents of the flag register 32 are input to the flag identification circuit 311I and further transferred to the channel sequence control section 25, so that the channel sequence control section 25 determines whether or not to perform a chain command operation. You can know.

チェイン・コマンド動作が指定されでいれば、チャネル
・シーケンス制御部25は、入出力起動命令を受けたと
きと同じように、終了報告を行った直後の入出力装置2
2を再選択、起動し、次に新しいCCWを読出して、サ
ブ・チャネルのイニシャライズを行う。
If the chain command operation is specified, the channel sequence control unit 25 executes the input/output device 2 immediately after reporting completion, in the same way as when receiving the input/output start command.
2 is reselected and activated, and then the new CCW is read to initialize the sub-channel.

この場合、新しいCCWのアドレスとして、CCWアド
レス・レジスタ35の内容が用いられる。
In this case, the contents of the CCW address register 35 are used as the address of the new CCW.

一方、チェイン・コマンド動作が指定されていないとき
には、カウント・レジスタ34、CCWアドレス・レジ
スタ35をもとにC8Wを作り、中央処理装置23に割
込み要求を起す。
On the other hand, when a chain command operation is not specified, a C8W is created based on the count register 34 and CCW address register 35, and an interrupt request is issued to the central processing unit 23.

第2図Cの例では、CCWOの出力動作が終了すると、
チェイン・コマンドFこより次のCCWlが読出され、
サブ・チャネル26のカウント・レジスタ34、CCW
アドレス・レジスタ35等がCCWIの内容1こもとづ
きイニシャライズされる。
In the example shown in Figure 2C, when the output operation of CCWO is completed,
The next CCWl is read from the chain command F,
Sub-channel 26 count register 34, CCW
The address register 35 and the like are initialized based on the contents of CCWI.

CCWIは、不定長データを主記憶装置21に書込むこ
とを指示しており、プログラムで指定するカウントは入
出力装置22から転送され得る最大のデータ・バイト数
を指定する。
The CCWI instructs to write undefined length data to the main storage device 21, and the count specified by the program specifies the maximum number of data bytes that can be transferred from the input/output device 22.

したがって、CCWlによる実際の転送データ・バイト
数は、プログラムで指定したカウント数より少い場合も
あり得る。
Therefore, the actual number of data bytes transferred by CCWl may be smaller than the count specified in the program.

このような場合でも、不正長表示抑止フラグ5LIPの
ビットがrlJであれば、データ長不正の表示はなされ
ずに、CCWlの実行が終了すると、チェイン・コマン
ドをこより、チャネル装置20は主記憶装置21からC
CW2を読出す。
Even in such a case, if the bit of the invalid length display suppression flag 5LIP is rlJ, an invalid data length will not be displayed, and when the execution of CCWl is completed, the channel device 20 will skip the chain command and transfer the data to the main memory. 21 to C
Read CW2.

本発明においては、フラグ検出回路46をデータ・レジ
スタ30に付属して設け、CCWの読出しが終了したと
き、データ・レジスタ30pこロードされたCCW中の
PCIFの有効性をこのフラグ検出回路46により試験
する。
In the present invention, a flag detection circuit 46 is provided attached to the data register 30, and when the reading of the CCW is completed, the validity of the PCIF in the CCW loaded in the data register 30p is determined by the flag detection circuit 46. test.

フラグ検出回路46は、PCIFが「l」であることを
検出すると、チャネル・シーケンス制御部251こ報告
すること1こより、シーケンス制御部25はカウント・
レジスタ34に残されている「残りカウント」をCCW
Iのカウント・エリアCNTIFこ格納する。
When the flag detection circuit 46 detects that PCIF is "l", it reports it to the channel sequence control section 251. From this, the sequence control section 25 starts counting and
CCW the "remaining count" left in register 34
The count area CNTIF of I is stored.

このとき、CCWアドレス・レジスタ35の内容はCC
W2のアドレスを示しているので、演算器28によりマ
イナス8されアドレス・レジスタ29に送られる。
At this time, the contents of the CCW address register 35 are
Since it indicates the address of W2, it is subtracted by eight by the arithmetic unit 28 and sent to the address register 29.

また、カウント・レジスタ34の内容は、データ・レジ
スタ30に送られ、アドレス・レジスタ29が示す主記
憶装置21のアドレス・エリアのCCWIのカウント・
エリアCNTtこ格納される。
Further, the contents of the count register 34 are sent to the data register 30, and the contents of the count register 34 are sent to the data register 30, and the contents of the CCWI of the address area of the main storage device 21 indicated by the address register 29 are sent to the data register 30.
Area CNTt is stored.

その後、チャネル装置20は主記憶装置21からCCW
2を読出し、CCW2の内容にもとづきサブ・チャネル
26のカウント・レジスタ34、データ・アドレス・レ
ジスタ36等のイニシャライズを行い、入出力動作を続
行する。
After that, the channel device 20 transfers the CCW from the main storage device 21 to the CCW.
2 is read out, and the count register 34, data address register 36, etc. of the sub-channel 26 are initialized based on the contents of CCW2, and the input/output operation is continued.

このよう(こ、実施例では、CCW2のプログラム制御
割込みフラグPCIFを「1」にしておき、これを検出
したチャネル・シーケンス制御部25がカウント・レジ
スタ34の内容の「残りカウント」を直前のCCWlの
カウント・エリアに書込むので、プログラムがこのエリ
アを参照することによって実際に転送されたデータ長を
知ることができる。
In this example, the program control interrupt flag PCIF of the CCW2 is set to "1", and the channel sequence control unit 25 detecting this sets the "remaining count" of the contents of the count register 34 to the immediately preceding CCW1. Since the data is written in the count area of , the program can know the actual length of data transferred by referring to this area.

なお、この場合、PCIFの本来の制御機能も併わせで
実行される。
In this case, the original control function of PCIF is also executed.

PCIFの本来の機能は、プログラムに割込んで、現在
とこまでCCWの実行が終了しているかをチェックする
ことである。
The original function of PCIF is to interrupt the program and check whether CCW execution has been completed up to the current point.

すなわち、第4図に示すように、主記憶装置のリード動
作は2元バッファの形式で実行され、DATAIとDA
TA2の書込みエリアおよび実際に使用されるワーク・
エリア(WK)が設けられている。
That is, as shown in FIG. 4, the main memory read operation is performed in a binary buffer format, and DATA
The writing area of TA2 and the work area actually used.
Area (WK) is provided.

各種の端末から転送されたデータは、とりあえずDAT
AIあるいはDATA2に格納され、これらの書込みエ
リアが満杯になる前1こデータを所定のワーク・エリア
WKに移す。
Data transferred from various terminals is DAT for the time being.
The data is stored in AI or DATA2, and is moved to a predetermined work area WK before these write areas become full.

すなわち、DATAI 、DATA2の最後のエリアま
で書込まれた後は、再び最初から書込まれ、オーバ・ラ
イトされることになる。
That is, after the last area of DATAI and DATA2 has been written, it will be written again from the beginning and overwritten.

これを防止するため、PCIF)こよりプログラムの進
行を常時監視して、実際(こ使用するワーク・エリアに
移す時期をこのPCIFによって決定する。
To prevent this, the progress of the program is constantly monitored by the PCIF, and the PCIF determines when to move the program to the work area where it will actually be used.

このような本来の機能tこ加えて、本実施例では、ある
入出力動作が終り、次のCCWが読出されたとき、PC
IFが「0」か「1」かをチェックし、「1」の場合E
こは実際に転送されたデータ・バイト数を参照できるよ
うEこ、カウント・レジスタの内容、すなわち「残りカ
ウント」を直前のCCW(こ格納するのである。
In addition to these original functions, in this embodiment, when a certain input/output operation is completed and the next CCW is read, the PC
Check whether IF is "0" or "1", and if it is "1", press E
In order to refer to the number of data bytes actually transferred, the contents of the count register, ie, the "remaining count", are stored in the immediately preceding CCW.

第5図は、本発明1こよる主記憶装置の格納状態説明図
である。
FIG. 5 is an explanatory diagram of the storage state of the main storage device according to the first invention.

CCW2のPCIFr I Jが検出されると、直前の
CCWlのカウント・エリアの値CNTlは「残りカウ
ントJR−CNTの値(こ書換えられる。
When PCIFr I J of CCW2 is detected, the value CNTl in the count area of the previous CCWl is rewritten to the value of the remaining count JR-CNT.

CCWIのカウント・エリアの値CNTlは、CCWH
こより転送される全データのバイト数であって、プログ
ラムがCCWIの入力動作のため(こ用意した主記憶装
置の書込みエリアは、データ・アドレスD−ADRIか
らデータ・アドレスD・ADRIにカウント・エリアの
値CNT1を加えた値までである。
The value CNTl in the count area of CCWI is
This is the total number of bytes of data transferred from this, and the program is used for CCWI input operation (the write area of the main memory prepared for this is a count area from data address D-ADRI to data address D-ADRI). The maximum value is the sum of the value CNT1.

すなわち、第5図に示すよう(こ、プログラムEこより
用意されたエリアは、データ・アドレスD・ADRl(
ll)から(D−ADR1+CNT1 )のアドレス(
13)までであるが、実際に転送された有効データは、
アドレス(13)から残りカウントR・CNTを差引い
たアドレス(12)、つまりD−ADR1+CNT1−
R−CNTまでである。
That is, as shown in FIG. 5, the area prepared by program E is data address D・ADRl(
ll) to (D-ADR1+CNT1) address (
13), the valid data actually transferred is
Address (12), which is obtained by subtracting the remaining count R・CNT from address (13), that is, D-ADR1+CNT1-
Up to R-CNT.

したがって、残りカウントR−CNTをプログラムで参
照できるエリア、例えば直前のCCWlのカウント・エ
リアに格納しておけば、プログラムにより、全データ・
バイト数CNT1から残りカウントR−CNTを減算す
ることによって、実際fこ転送されたデータ長を知るこ
とができる。
Therefore, if the remaining count R-CNT is stored in an area that can be referenced by the program, for example, the count area of the immediately preceding CCW1, all data can be saved by the program.
By subtracting the remaining count R-CNT from the number of bytes CNT1, the actual length of data transferred can be found.

なお、実施例では、「残りカウント」を格納するための
検出用ビットとして、PCIFビットを用いたが、本発
明ではこれfこ限定されることなく、他のいかなる表示
ビットを用いてもよい。
In the embodiment, the PCIF bit is used as the detection bit for storing the "remaining count", but the present invention is not limited to this, and any other display bit may be used.

すなわち、プログラムtこ割込むためのPCIFビット
を用いなくても、CCWの最後は割込みで終了するので
、その際にカウントをチェックすることができる。
That is, even if the PCIF bit for interrupting the program is not used, the CCW ends with an interrupt, so the count can be checked at that time.

例えばチェイン・コマンド・フラグCCF・チェイン・
データ・フラグCDF、不正長表示抑止フラグ5LIP
を用いることもでき、またCCWの予備エリアEこ新し
いビットを作ることもできる。
For example, chain command flag CCF chain
Data flag CDF, invalid length display suppression flag 5LIP
It is also possible to use a new bit in the reserved area E of the CCW.

また、実施例では、CCW2の表示ビットを用いてCC
WHこ関連する「残りカウント」を格納しているが、表
示ビットはCCWIの内tこ置いて、CCWlに関連す
る「残りカウント」を格納してもよい。
In addition, in the embodiment, the CCW2 display bit is used to
Although the "remaining count" associated with WH is stored, the display bit may be placed in CCWI and storing the "remaining count" associated with CCWl.

すなわち、CCWlの動作が終了したとき、そのビット
をチェックして、プログラムにより参照できるエリアに
格納する。
That is, when the operation of CCW1 is completed, the bit is checked and stored in an area that can be referenced by the program.

さらに、実施例では、「残りカウント」をCCWIのカ
ウント・エリア「こ格納しているが、CCWIの他のエ
リアあるいはCCW2のエリアに格納してもよく、ある
いはプログラムで容易1こ参照できる他のいかなるエリ
ア1こ格納してもよい。
Furthermore, in the embodiment, the "remaining count" is stored in the count area of the CCWI, but it may also be stored in another area of the CCWI or the area of CCW2, or in another area that can be easily referenced by the program. It may be stored in any area.

例えば、第4図tこ示すようfこ、書込みエリアDAT
AI 、DATA2の最後の2バイト・エリア15.1
6をそれぞれ「残りカウント」の格納エリアtこするこ
ともできる。
For example, as shown in Figure 4, the writing area DAT
AI, last 2 byte area 15.1 of DATA2
6 can also be rubbed in the "remaining count" storage area t.

最後尾エリア15゜16は、最初にCCWのカウント・
エリアで示されているので、プログラムtこより容易1
こ参照することが可能である。
The last area 15°16 is where the CCW count and
Since the area is shown, it is easier to program than 1.
It is possible to refer to this.

以上、説明したように、本発明(こよれば、CCW中の
所定の表示ビットを検出して、プログラムで参照できる
エリア(こ転送データ・バイト数情報を格納するので、
プログラムは不定長レコードのデータ長を認識すること
ができる。
As explained above, the present invention (according to the present invention) detects a predetermined display bit in the CCW and stores information on the number of transferred data and bytes in an area that can be referenced by a program.
Programs can recognize the data length of indefinite-length records.

その場合、入出力装置側Fこは、全く負担をかけること
なく、またデータ長情報を転送データlこ含まれて伝送
する必要がないので、伝送制御手順により制約を受ける
心配がなく、さらに伝送手順プログラムの複雑化、汎用
性低下という問題も生じない。
In this case, there is no burden on the input/output device side, and there is no need to transmit data length information including the transfer data, so there is no need to worry about being restricted by the transmission control procedure, and further transmission Problems such as complication of the procedure program and reduction in versatility do not arise.

また、データの区切り符号を用いないので、データの完
全透過性が保証される。
Furthermore, since no data delimiter is used, complete data transparency is guaranteed.

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

第1図はチャネル装置tこおける入出力動作の起動手順
を示すフロー・チャート、第2図はチャネル・コマンド
語、チャネル状態語の各フォーマット図および主記憶装
置内の連鎖状態図、第3図は本発明の実施例を示すチャ
ネル装置のブロック構成国、第4図は主記憶装置におけ
るバッファ動作説明図、第5図は主記憶装置中のチャネ
ル・コマンド・ワードおよび書込みデータ・エリアの状
態図である。 20:チャネル装置、21:主記憶装置、22:入出力
装置、23:中央処理装置、24:入出力インタフェー
ス制御部、25ニーfヤネル・シーケンス制御部、26
:サブ・チャネル、27:サブ・チャネル記憶部、28
:演算器、29ニアドレス・レジスタ、30:データ・
レジスタ、31:フラグ識別回路、32:フラグ・レジ
スタ、33ニジ−ケンス制御レジスタ、34:カウント
・レジスタ、35:CCWアドレス・レジスタ、36:
データ・アドレス・レジスタ、37:タグ線制御部、3
8二人出力データ・レジスタ、39:CPUインタフェ
ース信号、40:ストレージ・アドレス信号、41:ス
トレージ・データ・バス、42:チャネル・バス、43
:入出力データ・バス、44:フラグ信号線。
FIG. 1 is a flow chart showing the startup procedure for input/output operations in channel device t, FIG. 2 is a diagram of each format of the channel command word and channel state word, and a diagram of the chain state in the main storage device. 4 is an explanatory diagram of the buffer operation in the main memory, and FIG. 5 is a state diagram of the channel command word and write data area in the main memory. It is. 20: Channel device, 21: Main storage device, 22: Input/output device, 23: Central processing unit, 24: Input/output interface control unit, 25 Janel sequence control unit, 26
:Sub channel, 27:Sub channel storage section, 28
: Arithmetic unit, 29 Near address register, 30: Data
register, 31: flag identification circuit, 32: flag register, 33 sequence control register, 34: count register, 35: CCW address register, 36:
Data address register, 37: Tag line control section, 3
8 two output data registers, 39: CPU interface signals, 40: storage address signals, 41: storage data bus, 42: channel bus, 43
:I/O data bus, 44:Flag signal line.

Claims (1)

【特許請求の範囲】[Claims] 1 チェイン・コマンド動作番こより複数のチャネル・
コマンド・ワードを連続的に実行し、入出力装置から主
記憶装置1こ転送されたデータ数を中央処理装置に報告
するチャネル装置において、実行中のチャネル・コマン
ド・ワードあるいは次に続くチャネル・コマンド・ワー
ドに含まれる所定の表示ビットを検出する手段と、該検
出手段の出力をこより、入出力装置から実際に転送され
たデータ・バイト数情報を、プログラムにより参照でき
る主記憶装置内の任意のデータ・エリアtこ格納する手
段を備えることを特徴とするチャネル装置。
1 Chain command operation number
In a channel device that continuously executes command words and reports the number of data transferred from the input/output device to main memory to the central processing unit, the channel command word being executed or the next channel command・A means for detecting a predetermined display bit included in a word, and an arbitrary memory device in the main memory that allows a program to refer to information on the number of data bytes actually transferred from an input/output device through the output of the detection means. A channel device characterized in that it comprises means for storing a data area.
JP16354378A 1978-12-25 1978-12-25 channel device Expired JPS5852249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16354378A JPS5852249B2 (en) 1978-12-25 1978-12-25 channel device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16354378A JPS5852249B2 (en) 1978-12-25 1978-12-25 channel device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP16378984A Division JPS6111870A (en) 1984-08-06 1984-08-06 channel device

Publications (2)

Publication Number Publication Date
JPS5587221A JPS5587221A (en) 1980-07-01
JPS5852249B2 true JPS5852249B2 (en) 1983-11-21

Family

ID=15775877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16354378A Expired JPS5852249B2 (en) 1978-12-25 1978-12-25 channel device

Country Status (1)

Country Link
JP (1) JPS5852249B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106938A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Continuous processing system for undefined-length data
US8312176B1 (en) * 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices

Also Published As

Publication number Publication date
JPS5587221A (en) 1980-07-01

Similar Documents

Publication Publication Date Title
US5031091A (en) Channel control system having device control block and corresponding device control word with channel command part and I/O command part
US4562533A (en) Data communications system to system adapter
US3728693A (en) Programmatically controlled interrupt system for controlling input/output operations in a digital computer
US4271466A (en) Direct memory access control system with byte/word control of data bus
KR880001167B1 (en) Microcomputer system with buffer in peripheral storage control
US3833930A (en) Input/output system for a microprogram digital computer
CA1242286A (en) Terminal protocols
US5003468A (en) Guest machine execution control system for virutal machine system
JP2579170B2 (en) Memory card
JPS5852249B2 (en) channel device
WO2010050957A1 (en) Bit inversion for communication interface
US3562713A (en) Method and apparatus for establishing a branch communication in a digital computer
JPS5837578B2 (en) Channel Sochi
US4468753A (en) Input/output buffer circuitry
US3729716A (en) Input/output channel
JPS6111870A (en) channel device
JPS59112325A (en) Electronic computer system
JPS63228856A (en) Communication controller
JP3130798B2 (en) Bus transfer device
SU934464A1 (en) Multiplexor channel
JPS6232829B2 (en)
JPH0425581B2 (en)
JPS6131493B2 (en)
JPS6142986B2 (en)
JPS596407B2 (en) Initial program loading method