JPS6010344B2 - Input/output data transfer method - Google Patents

Input/output data transfer method

Info

Publication number
JPS6010344B2
JPS6010344B2 JP11783677A JP11783677A JPS6010344B2 JP S6010344 B2 JPS6010344 B2 JP S6010344B2 JP 11783677 A JP11783677 A JP 11783677A JP 11783677 A JP11783677 A JP 11783677A JP S6010344 B2 JPS6010344 B2 JP S6010344B2
Authority
JP
Japan
Prior art keywords
data
input
register
byte
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
JP11783677A
Other languages
Japanese (ja)
Other versions
JPS5451737A (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 JP11783677A priority Critical patent/JPS6010344B2/en
Publication of JPS5451737A publication Critical patent/JPS5451737A/en
Publication of JPS6010344B2 publication Critical patent/JPS6010344B2/en
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、チャネルと入出力制御装置との間の入出力デ
ータの転送方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for transferring input/output data between a channel and an input/output control device.

従来、低速の入出力装置は処理装置のバイトマルチプレ
クサチャネルに接続されて1バイト単位に転送処理が行
なわれ、その都度メモリ・アクセスが行われるため、処
理装置の効率を落していた。特に、カードリーグ、マー
クシートリーダ、ラインプリンタ等、データ長が固定さ
れた入出力装置では、必要データ以外は特定不必要コー
ドの連続することが多いが、このような余分な不必要デ
ータに対しても同様なデータ転送が行われ、かつ、処理
応答が間に合わないとエラーとしてしまうため、無駄な
エラーリカバリー処理が存在していた。通常、入出力デ
ータ転送の効率をあげるためには、データバッファを設
けたメモリ・アクセス回数を減らす方法、処理不応答防
止対策等がなされているが、バイトマルチプレクサチヤ
ネルは1/ゞイト単位に処理するという考え方から、こ
の種の対策はなされないのが普通で、もしこの方法を実
施しようとしたときはデータバッファのハード物量が莫
大な量となり、実現不可能である。
Conventionally, a low-speed input/output device is connected to a byte multiplexer channel of a processing unit and transfer processing is performed in units of bytes, and memory access is performed each time, reducing the efficiency of the processing unit. In particular, in input/output devices with fixed data lengths such as card leagues, mark sheet readers, and line printers, non-necessary data is often a series of specific unnecessary codes. However, if a similar data transfer is performed and the processing response is not received in time, an error occurs, resulting in unnecessary error recovery processing. Normally, in order to increase the efficiency of input/output data transfer, methods such as reducing the number of memory accesses by providing data buffers and measures to prevent processing unresponsiveness are taken, but byte multiplexer channels process in units of 1/byte. This kind of countermeasure is not normally taken because of the idea that this method will be used, and if this method were to be implemented, the amount of hardware required for the data buffer would be enormous, making it impossible to implement.

本発明の目的は、データバッファを設けることなく、転
送データのメモリ・アクセス回数を減らし、かつ、処理
不応答許容時間の拡大を図り、処理装置の効率向上をも
たらすことにある。
An object of the present invention is to reduce the number of memory accesses for transferred data without providing a data buffer, and to increase the allowable processing non-response time, thereby improving the efficiency of a processing device.

しかして、本発明は転送するデータが同一である場合、
1バイトの転送でメモリ・アクセス分(例えば最大4バ
イト)のバイト数を処理することを特徴とするもので、
これにより、メモリ・アクセス回数を減らし、かつ処理
不応答の許容時間を拡大することができる。
Therefore, in the present invention, when the data to be transferred is the same,
It is characterized by processing the number of bytes equivalent to memory access (for example, up to 4 bytes) with a 1-byte transfer.
This makes it possible to reduce the number of memory accesses and extend the allowable time for processing non-response.

以下、実施例により本発明を詳述する。図は本発明の一
実施例を示したもので、Aはチャネル側、Bは入出力制
御装置側である。
Hereinafter, the present invention will be explained in detail with reference to Examples. The figure shows an embodiment of the present invention, where A is the channel side and B is the input/output control device side.

図において、チャネルAはメモリレジスタ1を通じてメ
モリ100と接続され、入力データレジスタ2および出
力データレジスタ3を通じて入出力制御装置と接続され
ている。便宜上、メモリ100は1回のメモリサイクル
スで最大4バイトのデータを読み書きできるものとする
。したがって、メモリレジスタ1は4バイト構造を有し
ている。入力データレジスタ2および出力データレジス
タ3は共に1バイト構造であり、メモリレジスタ1ある
いは入出力制御装置Bとの間で、入力あるいは出力デー
タが1バイト単位で転送される。4は入力データレジス
タ2のデータをメモリレジスタ1のどのバイト位置に格
納する力を制御するバイト制御部であり、5はメモリ1
00からメモリレジスタ1に読み出され各バイト位置の
データを比較し、その結果をバイト制御部4に通知する
データ比較部である。
In the figure, channel A is connected to a memory 100 through a memory register 1, and to an input/output control device through an input data register 2 and an output data register 3. For convenience, it is assumed that the memory 100 can read and write a maximum of 4 bytes of data in one memory cycle. Therefore, memory register 1 has a 4-byte structure. Both the input data register 2 and the output data register 3 have a 1-byte structure, and input or output data is transferred to and from the memory register 1 or the input/output control device B in units of 1 byte. 4 is a byte control unit that controls which byte position in memory register 1 the data of input data register 2 is stored;
This is a data comparison unit that compares the data at each byte position read from 00 to the memory register 1 and notifies the byte control unit 4 of the result.

一方、入出力制御装置Bには1バイト構造のデータバッ
ファレジスタ6があり、該バッファレジスタ6を介して
1バイト単位に、入出力装置から読取ったデー外まチャ
ネル側の入力データレジスタ2へ、また、チャネル側の
出力データレジスタ3の内容が入出力装置へ転送される
ようになっている。
On the other hand, the input/output control device B has a data buffer register 6 with a 1-byte structure, and data read from the input/output device is transferred via the buffer register 6 in units of 1 byte to the input data register 2 on the channel side. Further, the contents of the output data register 3 on the channel side are transferred to the input/output device.

7は入出力装置からの読取りデータがバッファレジスタ
6に入っているかどうかを表示するフリツプフロツプ、
8はバツフアレジスタ6のデータと次に続く入出力装置
からの議取りデータが同一であるかどうかを比較する比
較ゲート回路である。
7 is a flip-flop that indicates whether data read from the input/output device is in the buffer register 6;
8 is a comparison gate circuit that compares the data in the buffer register 6 and the discussion data from the next input/output device to see if they are the same.

9はバッファレジスタ6に格納されたデータに続くデー
タが何バイト同一であるかをカウントするカウン夕であ
る。
9 is a counter that counts how many bytes of data following the data stored in the buffer register 6 are the same.

該カウンタ9は2ビット構造の2進可逆カウンタで、ゲ
ートG7の出力でカウントアップ、ゲートG9の出力で
カウントダウンされ、同一データを最大3バイトまでカ
ウントできるようになっている。10は遅延回路である
The counter 9 is a binary reversible counter with a 2-bit structure, and counts up by the output of the gate G7 and counts down by the output of the gate G9, so that it can count up to 3 bytes of the same data. 10 is a delay circuit.

なお、Rは入出力装置からデータ読取時(すなわちリー
ドコマンド動作時)、論理“1”となる信号、Wは入出
力装置へデータ書込み時(すなわちライトコマンド動作
時)、論理“1”となる信号、Tはデータの議取りタイ
ミングを規定する信号、T′はデータの送出タイミング
を規定する信号、STRは入出力制御装置からチャネル
ヘデータを1バイト転送し、それをチャネルで受け取る
と、チャネルから発せられる信号である。初め入出力装
置からデータを説取る場合について説明する。入出力装
置から謙取られたデータが1バイト、データバッファレ
ジスタ6に格納されると、入出力制御装置Bはチャネル
に転送処理要求を出し(これに必要な構成は省略してあ
る)、これにチャネルが応答すれば、バッファレジスタ
6の議取りデー外まチャネルAの入力データレジスタ2
に移され、その後、バイト制御部4で示されるメモリレ
ジスタ1の所望バイト位置に転送され、メモリサイクル
でメモリ10川こ格納される。しかし、議取りデータが
バッファレジスタ6に格納された後、チャネルがこれに
応答できず、転送処理が待たされることになると、引続
き入出力装置から謙取られるデータはバッファレジスタ
6が空いていないため格納できなくなる。このときチャ
ネルからSTR信号が到来せず、フリップフロツブ7は
セットされたま)である。該フリップフロップがセット
状態のとき、次の議取りタイミングで、比較ゲート回路
4はバッファレジスタ6に入っているデータと入出力装
置から引続いて謙取られたデータとを比較し、もし一致
していなかったらオアゲートG,3を通して処理不応答
エラーを発する。一方、両データが一致するものであれ
ば、オアゲートG7を通してカウンタ9を1カウントア
ップし、バッファレジスタ6の内容と同一のデータが続
いて1バイトあることを記憶する。更に処理待ちの状態
が続き、その間に講取りデータが発生すると同様の動作
を繰返し、バッファレジスタ6と同一データであれば、
その都度、カウンタ9をカウントアップしてそのバイト
数を記憶していく。このようにして、カウンタ9が「3
ハすなわち1メモリサイクルで処理できる最大のバイト
数分までカウントアップし、これを越えて引続き同一デ
ータが藷取られる場合は、アンドゲートG,2のアンド
条件が成立して、不一致の場合と同様に処理不応答エラ
ーが発せられる。すなわち、1バイト分のバッファレジ
スタ6でもつて、同一データが連続するケースにおいて
は最大4バイト分のバッファ機能を有することになり、
それだけ処理不応答許容時間が増加することになる。一
方、転送要求を受けたチャネルは、応答条件が揃うとバ
ッファレジスタ6の内容を入力データレジスタ2に取込
み、STR信号を発する。
Note that R is a signal that becomes logic "1" when reading data from the input/output device (that is, during a read command operation), and W becomes a logic "1" when writing data to the input/output device (that is, during a write command operation). signal, T is a signal that specifies the data discussion timing, T' is a signal that specifies the data sending timing, STR is a signal that transfers 1 byte of data from the input/output control device to the channel, and when it is received by the channel, the channel It is a signal emitted from First, the case of receiving data from an input/output device will be explained. When one byte of data taken from the input/output device is stored in the data buffer register 6, input/output control device B issues a transfer processing request to the channel (the configuration required for this is omitted), and If the channel responds to the input data register 2 of channel A, the input data register 2 of channel A
Thereafter, it is transferred to the desired byte position of the memory register 1 indicated by the byte control unit 4, and stored in the memory 10 in a memory cycle. However, after the discussion data is stored in the buffer register 6, if the channel cannot respond to it and the transfer process is forced to wait, the data that is subsequently taken from the input/output device will be stored in the buffer register 6 because the buffer register 6 is not free. It will no longer be possible to store it. At this time, no STR signal arrives from the channel, and the flip-flop 7 remains set. When the flip-flop is in the set state, at the next discussion timing, the comparison gate circuit 4 compares the data stored in the buffer register 6 with the data subsequently retrieved from the input/output device, and if they match, If not, a processing non-response error is generated through OR gate G,3. On the other hand, if both data match, the counter 9 is incremented by 1 through the OR gate G7, and it is stored that there is 1 subsequent byte of data identical to the contents of the buffer register 6. The state of waiting for processing continues, and if the transaction data is generated during that time, the same operation is repeated, and if it is the same data as the buffer register 6,
Each time, the counter 9 is counted up and the number of bytes is stored. In this way, the counter 9 becomes "3".
In other words, if the count is counted up to the maximum number of bytes that can be processed in one memory cycle, and the same data continues to be taken after exceeding this, the AND condition of AND gate G, 2 is satisfied, and it is the same as in the case of mismatch. A processing non-response error is issued. In other words, even the buffer register 6 for 1 byte has a buffer function for up to 4 bytes in the case where the same data is consecutive.
The allowable processing non-response time increases accordingly. On the other hand, when the channel receiving the transfer request meets the response conditions, it takes in the contents of the buffer register 6 into the input data register 2 and issues an STR signal.

このSTR信号によってフリツプフロツプ7はリセット
され、入出力制御装置は通常の動作に戻る。チャネル側
では、入力データレジスタ2の内容がバイト制御部4で
示されるメモリレジスタ1の該当バイト位置に、ゲート
Go〜G3のうちの選択されたゲート(便宜上、該ゲー
トをGoとする)を通して格納される。この時、カウン
タ9がある値にカウントアップされ、アンドゲートG伍
の出力信号線bが‘‘1”状態にあると、バイト制御部
4は信号線aに一定のタイミングでクロックを送出する
。このクロツクはアンドゲートG8、オアゲートG9を
通してカウンタ9に印加され、該カウン夕9の内容が順
次カウントダウンしていく。この間、バイト制御部4は
上記クロツクに同期してゲートGに続くゲートG,,G
2,・・・・・・を順次選択していさ、入力データレジ
スタ2の内容をメモリレジスタ1のバイト位置0に続く
バイト位置1,2・・・・・・に格納する。この動作は
カウンタ9の内容が「0」になり、信号線bが“0”状
態になるまで繰返される。すなわち、入出力装置から同
じデータが続いて鈴取られる場合、入出力制御装置から
チャネルへ1バイトのデータを転送するのみで、最大4
バイト分の同一データをメモリレジスタ1の各バイト位
置に転送することができる。このようにしてメモリレジ
スタ1に格納されたデータは、その後、1メモリサイク
ルで最大4バイト同時にメモリ100へ書込まれる。次
に、入出力装置へデータを送出する場合について説明す
る。
The flip-flop 7 is reset by this STR signal, and the input/output control device returns to normal operation. On the channel side, the contents of the input data register 2 are stored in the corresponding byte position of the memory register 1 indicated by the byte control unit 4 through a selected gate among the gates Go to G3 (for convenience, this gate is referred to as Go). be done. At this time, when the counter 9 counts up to a certain value and the output signal line b of the AND gate G is in the ``1'' state, the byte control unit 4 sends a clock to the signal line a at a constant timing. This clock is applied to the counter 9 through the AND gate G8 and the OR gate G9, and the contents of the counter 9 count down sequentially.During this time, the byte control section 4 operates the gates G, , , , , , , , , , , , , , , , , , , , , , in synchronization with the above-mentioned clock. G
2, . . . are sequentially selected, and the contents of input data register 2 are stored in byte positions 1, 2, . . . following byte position 0 of memory register 1. This operation is repeated until the contents of the counter 9 become "0" and the signal line b becomes "0". In other words, if the same data is sent successively from the I/O device, only 1 byte of data is transferred from the I/O control device to the channel, and up to 4
Bytes of the same data can be transferred to each byte location of the memory register 1. The data stored in the memory register 1 in this manner is then simultaneously written to the memory 100 at a maximum of 4 bytes in one memory cycle. Next, a case in which data is sent to an input/output device will be explained.

この場合、メモリ100からは1メモリサイクルで4バ
イト分のデータが謙出されてメモリレジスターの各バイ
ト位置に格納され、そのうちの例えば0バイト位置のデ
ータがまず出力データレジスタ3に移される。入出力制
御装置はチャネルからデータ転送要求を受取ると、上記
出力データレジス夕3のデータをアンドゲートG5を通
してバッファレジスタ6に取込み、図示しない出力デー
タ・バスを通して入出力装置へ送出する。一方、チャネ
ル側のデータ比較部5は、メモリレジスターの1〜3バ
イト位置のデータが0バイト位置のデータと同一である
かどうかを順次比較し、0バイト位置に続くバイト位置
に同ーデ−夕があれば、そのバイト数をバイト制御部4
に通知する。
In this case, 4 bytes of data are extracted from the memory 100 in one memory cycle and stored in each byte position of the memory register, of which, for example, data at the 0 byte position is first transferred to the output data register 3. When the input/output control device receives a data transfer request from the channel, it takes in the data in the output data register 3 into the buffer register 6 through the AND gate G5, and sends it to the input/output device through an output data bus (not shown). On the other hand, the data comparison unit 5 on the channel side sequentially compares whether the data in the 1st to 3rd byte positions of the memory register is the same as the data in the 0th byte position, and stores the same data in the byte position following the 0th byte position. If there is an evening, the number of bytes is sent to the byte control unit 4.
Notify.

いま、メモリレジスタ1の1〜3バイト位置のデータが
全て0バイト位置のデータと同一であったとする。この
場合、データ比較部5は同一データのバイト数が「3」
であることをバイト制御部4に通知し、これを受けてバ
イト制御部4は信号線aにクロツクを3個連続して出力
する。このクロツクはアンドゲートG6、オアゲートG
7を通してカウンタ9に印加され、カウンタ9は「3」
にカウントアップされる。このカウンタ9のカウントア
ップによりアンドゲートG,4を通して連続出力許可が
発せられる。この結末、入出力制御装置はT信号のタイ
ミングでバッファレジスタ6に格納されているデータを
引続いて入出力装置へ送出する。この間、チャネル側で
はメモリレジスタ1から出力データレジスタ3へのデー
タ転送を行わず、したがって、入出力制御装置へもデー
タ転送要求を発しない。上記T′信号はオアゲートG9
を通してカウンタ9へ印加されるため、バッファレジス
タ6の同一データが入出力装置へ送出される毎にカゥン
タ9はカウントダウンしていく。このようにして、カウ
ンタ9に設定されたバイト数分の同一データが送出され
るとカウンタ9は「0」になり、ゲートG,4はオフし
て動作は終了する。この場合においても、1メモリサイ
クルで最大4バイトのデータ転送が可能であり、処理効
率の向上が図れる。以上の説明から明らかな如く、本発
明によれば次のような効果が得られる。
Assume now that the data in the 1st to 3rd byte positions of memory register 1 are all the same as the data in the 0th byte position. In this case, the data comparison unit 5 determines that the number of bytes of the same data is "3".
In response to this, the byte control unit 4 successively outputs three clocks to the signal line a. This clock is AND gate G6, OR gate G
7 to the counter 9, and the counter 9 reads "3".
will be counted up. As the counter 9 counts up, continuous output permission is issued through the AND gates G and 4. As a result, the input/output control device successively sends the data stored in the buffer register 6 to the input/output device at the timing of the T signal. During this time, no data is transferred from the memory register 1 to the output data register 3 on the channel side, and therefore no data transfer request is issued to the input/output control device. The above T' signal is the OR gate G9
The counter 9 counts down each time the same data in the buffer register 6 is sent to the input/output device. In this way, when the same data for the number of bytes set in the counter 9 is sent out, the counter 9 becomes "0", gates G and 4 are turned off, and the operation ends. Even in this case, a maximum of 4 bytes of data can be transferred in one memory cycle, and processing efficiency can be improved. As is clear from the above description, the following effects can be obtained according to the present invention.

1 処理装置のメモリアクセス回教が減少し効率向上が
計れ、能力向上となる。
1. The number of memory accesses of the processing unit is reduced, improving efficiency and improving performance.

2 処理不応答許容時間が拡大でき、処理不応答エラー
を減少できる。
2. The allowable processing non-response time can be expanded and processing non-response errors can be reduced.

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

図は本発明の一実施例のブロックである。 A…・・・チャネル側、B・・・・・・入出力制御装置
側、1……メモリレジスタ、2……入力データレジスタ
、3……出力データレジスタ、4……バイト制御部、5
・・・・・・データ比較部、6・…・・データバッファ
レジスタ、7……フリツプフロツブ、8……比較ゲート
回路、9・・・・・・カウンタ、10・・・・・・遅延
回磯、100……メモリ。
The figure is a block diagram of one embodiment of the present invention. A... Channel side, B... Input/output control device side, 1... Memory register, 2... Input data register, 3... Output data register, 4... Byte control unit, 5
...Data comparison unit, 6...Data buffer register, 7...Flip-flop, 8...Comparison gate circuit, 9...Counter, 10...Delay circuit , 100...memory.

Claims (1)

【特許請求の範囲】[Claims] 1 チヤネルと入出力制御装置との間のデータ転送を1
バイト単位で行うシステム構成において、メモリあるい
は入出力装置からの読取りデータに対して相手装置が応
答できずに転送待ちしている状態で次のデータが読取ら
れた時、該データが転送待ちデータと同一であるかどう
かチエツクし、同一であれば転送待ちが解かれたとき、
前のデータを続けて相手装置に転送することを特徴とす
る入出力データ転送方式。
1 Data transfer between the channel and the input/output control device
In a system configuration in which data is read in bytes, when the other device is unable to respond to data read from memory or an input/output device and is waiting for transfer, when the next data is read, the data becomes the data waiting to be transferred. Check if they are the same, and if they are the same, when the transfer queue is released,
An input/output data transfer method characterized by continuously transferring the previous data to the other device.
JP11783677A 1977-10-03 1977-10-03 Input/output data transfer method Expired JPS6010344B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11783677A JPS6010344B2 (en) 1977-10-03 1977-10-03 Input/output data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11783677A JPS6010344B2 (en) 1977-10-03 1977-10-03 Input/output data transfer method

Publications (2)

Publication Number Publication Date
JPS5451737A JPS5451737A (en) 1979-04-23
JPS6010344B2 true JPS6010344B2 (en) 1985-03-16

Family

ID=14721445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11783677A Expired JPS6010344B2 (en) 1977-10-03 1977-10-03 Input/output data transfer method

Country Status (1)

Country Link
JP (1) JPS6010344B2 (en)

Also Published As

Publication number Publication date
JPS5451737A (en) 1979-04-23

Similar Documents

Publication Publication Date Title
US5133062A (en) RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
US4949301A (en) Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
GB2141270A (en) Multiple byte serial data transfer protocol
US4914575A (en) System for transferring data between an interleaved main memory and an I/O device at high speed
US5687393A (en) System for controlling responses to requests over a data bus between a plurality of master controllers and a slave storage controller by inserting control characters
US6141741A (en) Computer system with a shared address bus and pipelined write operations
JPS6010344B2 (en) Input/output data transfer method
JPH0479422A (en) Transmission control circuit
EP0382342B1 (en) Computer system DMA transfer
EP0176976A2 (en) Disk controller with shared address register
JPS63228856A (en) Communication controller
JP3256464B2 (en) Asynchronous transfer control method
JPS63228855A (en) Communication controller
JPH0432922A (en) Interface control circuit
JPH0581165A (en) Data transfer circuit
JP3585052B2 (en) Interface control device
JP2669028B2 (en) Command register circuit
JP4206524B2 (en) Printer control device
JP2001005636A (en) Buffer memory control circuit
JPS63292356A (en) Dma controller
JP2803616B2 (en) I / O bus interface control method
JPS5825291B2 (en) Direct memory access sofa
JPH0525216B2 (en)
JPS63187943A (en) Communication control equipment
JPH06149749A (en) Data transfer system among plural processors