JPH05181778A - Input/output processor - Google Patents

Input/output processor

Info

Publication number
JPH05181778A
JPH05181778A JP34709591A JP34709591A JPH05181778A JP H05181778 A JPH05181778 A JP H05181778A JP 34709591 A JP34709591 A JP 34709591A JP 34709591 A JP34709591 A JP 34709591A JP H05181778 A JPH05181778 A JP H05181778A
Authority
JP
Japan
Prior art keywords
data
flag
buffer
prefetch
address
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.)
Pending
Application number
JP34709591A
Other languages
Japanese (ja)
Inventor
Koichi Ito
幸一 伊藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP34709591A priority Critical patent/JPH05181778A/en
Publication of JPH05181778A publication Critical patent/JPH05181778A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide an I/O processor reduced at its overrun by the addition of the small number of hardwares. CONSTITUTION:An address buffer 122a stores addresses. A count buffer 123 stores a count value. An address buffer 121a stores a prefetched address. A count buffer 121b stores a prefetched count value. A part 151 stores a prefetched flag. A valid flag 160 indicates the validity of each prefetched information. At the time of outputting a data transfer request from a channel part, a count value read out from the buffer 123a is subtracted, and if all the values of the flag 160 are '1' when the subtracted result becomes zero, the data of the buffer 121a are written in the buffer 122a, the data of the buffer 121b are written in the buffer 123a and the data of the 1st flag 151 are written in the 2nd flag 152, so that data transfer is continued.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、入出力処理装置に係わ
り、特にデータ転送における先取り方式を少ないハード
ウエアでオーバーランなく実現できる入出力処理装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input / output processing device, and more particularly to an input / output processing device capable of realizing a prefetching method in data transfer with a small amount of hardware without overrun.

【0002】[0002]

【従来の技術】従来、この種の入出力処理装置は、主記
憶装置と複数の入出力制御装置との間に接続され、この
主記憶装置と複数の入出力制御装置との間でデータ転送
を制御を行っている。このような入出力処理装置におい
て、データ転送につき先取り方式が行われている。この
データ転送における先取り方式としては、大別して二つ
の方式が採用されている。
2. Description of the Related Art Conventionally, this type of input / output processing device is connected between a main storage device and a plurality of input / output control devices, and transfers data between the main storage device and the plurality of input / output control devices. Is controlling. In such an input / output processing device, a preemptive method is used for data transfer. As a prefetching method in this data transfer, there are roughly two methods adopted.

【0003】その第一の先取り方式としては、先取りの
ための特別なハードウエアを持たずに、マイクロプログ
ラムでチャンネルプログラム語の先取りを行い、これを
処理装置内部のワークメモリ等へ格納しておき、データ
連鎖の切れ目などを契機にマイクロプログラムへ割り込
み、その格納しておいた先取り情報(データアドレスと
データカウント)を所定のバッファ等に設定し、データ
転送を再開するというものである。
As a first prefetching method, a channel program word is prefetched by a microprogram without storing any special hardware for prefetching, and this is stored in a work memory or the like inside the processor. When a break in a data chain occurs, the microprogram is interrupted, the stored prefetch information (data address and data count) is set in a predetermined buffer or the like, and data transfer is restarted.

【0004】その第二の先取り方式としては、先取りた
めの専用のハードウエアを持ち、次に必要となるデータ
転送制御情報(アドレスとカウント)を次々とマイクロ
プログラムにより設定するというものである。
The second pre-fetching method is to have dedicated hardware for pre-fetching, and set the data transfer control information (address and count) required next one after another by a microprogram.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来の入出力処理装置で採用している第一の先取り方
式は、データ転送を一時中断し、その間にマイクロプロ
グラムの処理を行わなければならないため、データオー
バーランなく制御するためには、データバッファサイズ
を非常に大きくとるか、あるいは高性能のマイクロプロ
グラム制御装置を必要とするという欠点があった。
However, the first pre-emption method adopted in the above-mentioned conventional input / output processing device must suspend the data transfer and process the microprogram during that time. In order to control without data overrun, there is a drawback that the data buffer size is made very large or a high performance microprogram controller is required.

【0006】また、上述した従来の入出力処理装置にお
いて採用している第二の先取り方式は、性能的には大い
に有利であるものの、ハードウエアの物量が大きくなる
という欠点があった。
Further, although the second prefetching method adopted in the above-mentioned conventional input / output processing device is very advantageous in terms of performance, it has a drawback that the amount of hardware becomes large.

【0007】本発明は、上述した欠点を解消し、少ない
ハードウエアでオーバーランのないデータ転送を実行で
きる入出力処理装置を提供することを目的とする。
SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-mentioned drawbacks and to provide an input / output processing device capable of executing data transfer without overrun with a small amount of hardware.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するた
め、本発明の入出力処理装置は、上位装置である主記憶
装置と下位装置である複数の入出力制御装置との間に接
続されており、複数の入出力制御装置を接続する複数の
チャネル部と、マイクロプログラムで制御されるマイク
ロプログラム制御部およびチャネル部と主記憶装置間の
データ転送を制御するデータ転送制御部からなる共通部
とを備えた入出力処理装置において、前述のデータ転送
制御部には、先取りアドレス情報と先取りデータ長を記
憶する先取り情報格納手段と、転送データの主記憶装置
上のアドレス情報とデータ長を記憶する記憶手段と、デ
ータ転送のための主記憶装置を一回アクセスする毎に記
憶手段のアドレス情報とデータ長を更新する更新手段
と、データ連鎖が指示されているか否かを記憶する先取
り第一フラグと、データ連鎖が指示されている場合には
次の転送データのアドレス情報とデータ長とデータ連鎖
が継続するか否かの情報を格納する第二フラッグと、フ
ラッグの各内容が有効であることを示す先取り有効フラ
グとを備え、記憶手段のデータ長の値が更新手段により
減算されて零になったとき、有効フラッグが全て立って
いれば先取り情報格納手段のデータが記憶手段に書き込
まれてデータ転送が継続するようにしたことを特徴とす
るものである。
In order to achieve the above object, the input / output processing device of the present invention is connected between a main storage device which is an upper device and a plurality of input / output control devices which are lower devices. And a common section including a plurality of channel sections that connect a plurality of input / output control apparatuses, a microprogram control section that is controlled by a microprogram, and a data transfer control section that controls data transfer between the channel section and the main storage device. In the input / output processing device including the above, the data transfer control unit stores prefetch information storage means for storing prefetch address information and prefetch data length, and address information and data length of the transfer data in the main storage device. The storage means, the updating means for updating the address information and the data length of the storage means each time the main storage device for data transfer is accessed, and the data chain are instructed. The prefetch first flag that stores whether or not the data is stored, the address information of the next transfer data and the data length when the data chain is instructed, and the information that stores whether or not the data chain is continued. A flag and a prefetch valid flag indicating that each content of the flag is valid, and when the value of the data length of the storage means is subtracted by the updating means to become zero, the prefetch is performed if all the valid flags are set. It is characterized in that the data in the information storage means is written in the storage means so that the data transfer is continued.

【0009】ここで、先取り格納手段は、先取りしたア
ドレスを格納する先取りアドレスバッファと、先取りの
データ長を格納する先取りカンウトバッファとから構成
すればよい。また、記憶手段も、現在データ転送中のデ
ータの残りバイト数を記憶するカウントバッファと、現
在データ転送中のアドレスを記憶するアドレスバッファ
とから構成すればよい。
The prefetch storage means may be composed of a prefetch address buffer for storing the prefetched address and a prefetch count buffer for storing the prefetch data length. Further, the storage means may be composed of a count buffer for storing the number of remaining bytes of the data currently being transferred and an address buffer for storing the address currently being transferred.

【0010】本発明では、チャネル部からのデータ転送
要求に伴って、記憶手段から読みだされたカウント値
が、更新手段により更新され、その更新結果が零になっ
たとすると、有効フラッグの値が全て“1”であるとき
に、先取り情報格納手段からの先取りアドレスデータお
よび先取りカウント値(データ長)が記憶手段に、第二
フラッグには第一フラッグからのデータが書き込まれる
ことにより、データ転送が継続することになる。
In the present invention, when the count value read from the storage means is updated by the updating means in response to a data transfer request from the channel section and the update result becomes zero, the value of the effective flag is When all are "1", the prefetch address data and the prefetch count value (data length) from the prefetch information storage means are written in the storage means, and the data from the first flag is written in the second flag, thereby transferring the data. Will continue.

【0011】一方、本発明では、有効フラッグの何れか
が“0”であると、データ転送は中断し、その後、マイ
クロプログラム制御部への割り込みが発生し、先取りデ
ータを先取り情報格納手段にセットした後に、データ転
送を再開し起動するものである。
On the other hand, according to the present invention, if any of the valid flags is "0", the data transfer is interrupted, and then the micro program control unit is interrupted to set the prefetch data in the prefetch information storage means. After that, the data transfer is restarted and activated.

【0012】[0012]

【実施例】以下実施例につき本発明を詳細に説明する。EXAMPLES The present invention will be described in detail below with reference to examples.

【0013】図1は、本発明の入出力処理装置の実施例
を含むデータ転送システム示すブロック図である。
FIG. 1 is a block diagram showing a data transfer system including an embodiment of an input / output processing device of the present invention.

【0014】図1に示すデータ転送システムでは、入出
力処理装置10は、これの上位装置である中央処理装置
30および主記憶装置31にメモリバス32を介して接
続されている。また、入出力処理装置10には、これの
下位装置である複数の入出力制御装置50A ,50B
…,50H が接続されている。入出力制御装置50A
磁気ディスク制御装置であり、磁気ディスク駆動装置5
1の入出力を制御している。入出力制御装置50B はユ
ニットレコード制御装置であり、マンマシンインターフ
ェース装置52、プリンタ装置53、フロッピイディス
ク装置54の入出力を制御している。入出力制御装置5
H は磁気テープ制御装置であり、磁気テープ装置55
の入出力を制御している。
In the data transfer system shown in FIG. 1, the input / output processing device 10 is connected via a memory bus 32 to a central processing device 30 and a main storage device 31, which are upper devices of the input / output processing device 10. Further, the input / output processing device 10 includes a plurality of input / output control devices 50 A , 50 B , which are subordinate devices thereof.
..., 50 H is connected. The input / output control device 50 A is a magnetic disk control device, and the magnetic disk drive device 5
I / O of 1 is controlled. The input / output control device 50 B is a unit record control device and controls the input / output of the man-machine interface device 52, the printer device 53, and the floppy disk device 54. I / O controller 5
0 H is a magnetic tape controller, and the magnetic tape device 55
I / O is controlled.

【0015】また、入出力処理装置10は、データ転送
に関する各種の処理を行う共通部11と、各入出力制御
装置30A ,30B ,…,30H のデータの入出力制御
を行う複数のチャネル部12A ,12B ,…,12H
からなる。共通部11は、マイクロプログラムで制御さ
れるマイクロプログラム制御部110と、マイクロプロ
グラムとは非同期にデータ転送を行うデータ転送制御部
111とからなる。
The input / output processing device 10 includes a common section 11 for performing various processes related to data transfer, and a plurality of input / output control devices 30 A , 30 B , ..., 30 H for input / output control of data. Channel parts 12 A , 12 B , ..., 12 H. The common unit 11 includes a micro program control unit 110 controlled by a micro program, and a data transfer control unit 111 that transfers data asynchronously with the micro program.

【0016】図2は、上記入出力処理装置の共通部の詳
細構成を示すブロック図である。
FIG. 2 is a block diagram showing a detailed structure of a common part of the input / output processing device.

【0017】図2では、マイクロプログラム制御部11
0と、データ転送制御部111との詳細構成が示されて
いる。そこで、まず、データ転送制御部111の構成か
ら説明することにする。
In FIG. 2, the micro program control unit 11
0 and the detailed configuration of the data transfer control unit 111 are shown. Therefore, first, the configuration of the data transfer control unit 111 will be described.

【0018】データ転送制御部111は、転送データの
主記憶装置31上のアドレス情報とデータ長を記憶する
先取り情報格納手段(先取りアドレスバッファ12
a 、先取りカンウトバッファ121b )と、転送デー
タの主記憶装置上のアドレス情報とデータ長を記憶する
記憶手段(アドレスバッファ113a ,カウントバッフ
ァ113a )と、データ転送のために主記憶装置31を
1回アクセスするごとにアドレス情報とデータ長を更新
する更新手段(アドレス更新手段〔アドレスレジスタ1
22b ,減算器122c 〕、データ長更新手段〔カウン
トレジスタ132b ,減算器132c 〕)と、データ連
鎖が指示されているか否かを記憶するデータ連鎖の第一
フラグ(第一フラッグ151)と、データ連鎖が指示さ
れている場合には次の転送データのアドレス情報とデー
タ長とさらにデータ連鎖が継続するか否かの情報を格納
する第二フラッグ(第二フラッグ152)と、それぞれ
の内容が有効であることを示す先取り有効フラグ(有効
フラッグ160)と、先取り有効フラッグ(先取り有効
フラッグ160)の各々の情報を書き込んだ場合に先取
り情報に対応する有効第一フラグをセットする手段と、
チャネル部12A ,12 B ,…,12H からのデータ転
送要求に応じて前記したアドレス情報により主記憶装置
31をアクセスし、チャネル部12A ,12B ,…,1
H からのデータを主記憶装置31へ書き込むか、ある
いはデータを読みだしてチャンネル部へ送出する手段
(データ転送制御回路180、データ転送優先判定回路
190)と、更新手段からのデータ長の更新結果がゼロ
になったことを検出するゼロ検出手段(カウントゼロ検
出回路131)と、ゼロ検出手段(カウントゼロ検出回
路131)の出力とデータ連鎖フラグの値をチャンネル
部へ通知する手段(フラッグ141a 〜141c 、14
a 〜142c)と、ゼロ検出手段の出力が活性化され
た場合に、第一フラッグが“1”で、かつすべての先取
り有効フラグ(有効フラッグ160)がセットされてい
る場合には、先取り有効フラグの内容を前記したアドレ
ス情報とデータ連鎖フラグに移送しさらに先取り有効フ
ラグをリセットする手段と、有効フラグのいずれかひと
つでもセットされていなければデータ転送の中断をチャ
ンネル部へ指示する指示手段(先取り有効性検出回路1
33)とを有している。また、データ転送制御部111
は、割込優先判定回路1100、レジスタ1110、1
120、171a 〜171d 、デコーダ172,173
等を有している。
The data transfer control section 111 controls the transfer data.
Stores address information and data length on the main memory 31
Prefetch information storage means (prefetch address buffer 12
1a, Pre-emption buffer 121b) And the transfer date
Stores address information and data length on the main memory of the computer
Storage means (address buffer 113a, Count buff
A 113a) And a main storage device 31 for data transfer.
Updates address information and data length each time it is accessed
Updating means (address updating means [address register 1
22b, Subtractor 122c], Data length updating means [count
Register 132b, Subtractor 132c]) And the data
The first in a data chain that stores whether or not the chain is indicated
A flag (first flag 151) and a data chain are instructed.
Address information and data of the next transfer data
Stores the data length and whether or not the data chain continues
The second flag (second flag 152)
Preemption valid flag (valid)
Flag 160) and pre-emption enabled flag (pre-emption enabled)
Preemption when each information of flag 160) is written
Means for setting a valid first flag corresponding to the information,
Channel part 12A, 12 B, ..., 12HData transfer from
Main memory device based on the address information described above in response to a transmission request
31 to access the channel section 12A, 12B, ..., 1
TwoHWrite data to main memory 31 or
Ia means for reading data and sending it to the channel section
(Data transfer control circuit 180, data transfer priority determination circuit
190) and the update result of the data length from the updating means is zero.
Zero detection means (count zero detection
Output circuit 131) and zero detection means (count zero detection times).
Channel 131) output and the value of the data chain flag
Means to notify the department (flag 141a~ 141c, 14
Twoa~ 142c), the output of the zero detection means is activated.
If the first flag is "1" and all preemption
The valid flag (valid flag 160) is set
If the address of the pre-fetching flag is
Information and data chain flag
One of the means to reset the lag and the valid flag
If none is set, the data transfer will be interrupted.
Instructing means for instructing the channel section (preemption effectiveness detection circuit 1
33) and. In addition, the data transfer control unit 111
Is an interrupt priority determination circuit 1100, registers 1110, 1
120, 171a~ 171d, Decoders 172,173
And so on.

【0019】また、主な構成について詳説する。先取り
アドレスバッファ121a は、先取りしたデータアドレ
スを格納する。先取りカンウトバッファ121b は、先
取りのデータ長を格納する。アドレスバッファ122a
は、現在転送中データの残りバイト数を記憶するカウン
トバッファである。アドレスレジスタ122b は、現在
転送中のデータを格納するためのアドレスを更新する。
以上の4種はチャネル毎に存在する。第二フラッグ15
2は、現在処理中のチャネルコマンド語のデータ連鎖フ
ラグと、そのデータ転送がページモードか否かを格納す
るページモードフラグとからなる。第一フラッグ151
は、先取りしたチャネルコマンド語のデータ連鎖フラグ
を格納する。これらもチャネル毎に情報を格納する。
The main structure will be described in detail. Prefetch address buffer 121 a stores the prefetched data address. Prefetch cans out buffer 121 b stores the data length of prefetch. Address buffer 122 a
Is a count buffer that stores the number of remaining bytes of data currently being transferred. Address register 122 b updates the address for storing the data currently transferred.
The above four types exist for each channel. Second flag 15
2 consists of a data chain flag of the channel command word currently being processed and a page mode flag for storing whether or not the data transfer is in page mode. First flag 151
Stores the data chain flag of the prefetched channel command word. These also store information for each channel.

【0020】ゼロ検出回路131は、転送データの残り
カウントが0になったことを検出する。ページ境界検出
回路132は、データ転送中にメモリアドレスがページ
境界(これは、予め4kバイトと決められている)に到
達したかどうかを検出する。有効フラッグ160は、先
取りしたデータアドレス、データ長、データ連鎖フラグ
が有効か否かを示す有効フラグであり、V0 がデータア
ドレスに、V1 がデータ長に、V2 がデータ連鎖フラグ
に対応する。データ転送制御回路180は、データ転送
動作全体を制御するものであり、主記憶装置31とのイ
ンタフェースの制御も行う。データ転送優先判定回路1
90は、データ転送の優先度を判定し、複数のチャネル
から同時にデータ転送リクエストが上がってきた場合に
所定に優先順位に基づきその中から1つを選択する。割
込み優先判定回路1100は、チャネル部12から上が
ってくるマイクロプログラムへの割り込み要求の優先度
を判断し、マイクロプログラム制御部110へ割り込み
信号を伝達する。バッファレジスタ1110は、チャネ
ル部12からのデータを主記憶装置31へ書き込む場合
一時的にライトデータを保持する。出力データバッファ
レジスタ1120は、主記憶装置31からの読みだした
データをチャネル部12のデータバッファ200へ書き
込む場合に一時データを保持する。
The zero detection circuit 131 detects that the remaining count of transfer data has reached 0. The page boundary detection circuit 132 detects whether or not the memory address has reached a page boundary (which is previously determined to be 4 kbytes) during data transfer. The valid flag 160 is a valid flag indicating whether or not the prefetched data address, data length, and data chain flag are valid. V 0 corresponds to the data address, V 1 corresponds to the data length, and V 2 corresponds to the data chain flag. To do. The data transfer control circuit 180 controls the entire data transfer operation, and also controls the interface with the main storage device 31. Data transfer priority determination circuit 1
Reference numeral 90 determines the priority of data transfer, and when data transfer requests are simultaneously received from a plurality of channels, one of them is selected based on a predetermined priority order. The interrupt priority determination circuit 1100 determines the priority of an interrupt request to the microprogram coming from the channel unit 12 and transmits an interrupt signal to the microprogram control unit 110. The buffer register 1110 temporarily holds write data when writing the data from the channel unit 12 to the main storage device 31. The output data buffer register 1120 holds temporary data when writing the data read from the main storage device 31 into the data buffer 200 of the channel unit 12.

【0021】なお、本実施例では、上述した先取りアド
レスバッファ121a 、先取りカンウトバッファ121
b 、第一フラッグ151、有効フラッグ160等を新た
に追加した点に特徴がある。
[0021] In this embodiment, the prefetch address buffer 121 a as described above, prefetch cans out buffer 121
The feature is that b , the first flag 151, the effective flag 160 and the like are newly added.

【0022】また、マイクロプログラム制御部110
は、マイクロプログラムを実行するマイクロプログラム
制御装置110A と、マイクロプログラムを記憶する制
御記憶装置110B とからなる。そして、マイクロプロ
グラム制御装置110A は、チャネル部12A ,1
B ,…,12H からの割り込み信号に応じて先取り情
報格納手段(先取りアドレスバッファ121a 、先取り
カンウトバッファ121b )に次の転送データに関する
アドレス情報とデータ長とデータ連鎖フラグの値を書き
込むとともに、書き込み後チャネル部12A ,12B
…,12H の後述する記憶手段の内容をリセットするも
のである。
Further, the micro program control unit 110
Is composed of a micro program controller 110 A for executing a micro program and a control memory device 110 B for storing a micro program. Then, the micro program controller 110 A includes the channel units 12 A , 1
In response to the interrupt signal from 2 B , ..., 12 H , the prefetch information storage means (prefetch address buffer 121 a , prefetch count buffer 121 b ) stores the address information, the data length, and the value of the data chain flag regarding the next transfer data. After writing, after writing, the channel sections 12 A , 12 B ,
The contents of the storage means 12H described later are reset.

【0023】図3は、上記入出力処理装置の複数のチャ
ネル部のうちの一つのチャンネル部の構成を示すブロッ
ク図である。
FIG. 3 is a block diagram showing the configuration of one of the plurality of channel units of the input / output processing device.

【0024】チャンネル部12は、データ転送制御部1
11から通知されたゼロ検出手段131の出力と、ペー
ジ境界検出回路132からのデータ連鎖フラグの値と、
先取り有効性検出回路133からのデータ転送の中断指
示を記憶する記憶手段(フラッグ261〜263、27
1〜273)と、この記憶手段のデータ連鎖フラグが
“1”で、かつゼロ検出手段131からの出力が活性化
されていた場合に、割り込み要求信号を生成しマイクロ
プログラム制御部へ割り込む手段(割込み要求生成回路
201)と、中断指示があった場合に、チャンネル部の
チャネル用データ転送制御回路202からのデータ転送
要求を抑止する手段(フラッグ263,273、アンド
回路233、ナンド回路232、アンド回路231)と
を有している。また、チャネル部12は、また、データ
バッファ200、データバッファ制御部203、デコー
ド回路204、レジスタ208、レジスタ209、I/
Oインタフェース制御部210等を有している。
The channel unit 12 is a data transfer control unit 1.
11, the output of the zero detection means 131 notified from 11, and the value of the data chain flag from the page boundary detection circuit 132,
Storage means (flags 261-263, 27) for storing a data transfer interruption instruction from the prefetch validity detection circuit 133.
1-273), and means for generating an interrupt request signal and interrupting the microprogram controller when the data chain flag of the storage means is "1" and the output from the zero detection means 131 is activated. Interrupt request generation circuit 201) and means for suppressing a data transfer request from the channel data transfer control circuit 202 of the channel section (flags 263, 273, AND circuit 233, NAND circuit 232, AND Circuit 231). The channel unit 12 also includes a data buffer 200, a data buffer control unit 203, a decoding circuit 204, a register 208, a register 209, and an I / O.
It has an O interface control unit 210 and the like.

【0025】次に、主要部分の構成の説明をする。デー
タバッファ200は、1/0インタフェースを介して送
出されるデータあるいは受信するデータを一時バッファ
リングするものであり、64バイトの容量がある。ま
た、このデータバッファ200は、出力データ転送の場
合は、4バイト単位に主記憶装置31からのリードデー
タがレジスタ1120を介して書き込まれた後、1バイ
トづつ読みだされデータパスL11の上に送出される。
また、入力データ転送の場合には、データパスL11を
介して受信した1バイト毎のデータを、データバッファ
200に書き込み、4バイト以上バッファ内にデータが
留ると、主記憶装置31へ4バイト単位に書き込みを行
う。データバッファ200のビジー管理等は、データバ
ッファ制御部203が行う。
Next, the structure of the main part will be described. The data buffer 200 temporarily buffers data sent or received via the 1/0 interface, and has a capacity of 64 bytes. In the case of output data transfer, this data buffer 200 is read byte by byte from the main storage device 31 via the register 1120 and then read out byte by byte on the data path L11. Sent out.
Further, in the case of input data transfer, data of each byte received via the data path L11 is written to the data buffer 200, and when data of 4 bytes or more remains in the buffer, 4 bytes are written to the main storage device 31. Write in units. The data buffer control unit 203 performs busy management and the like of the data buffer 200.

【0026】コマンドレジスタ208は、マイクロプロ
グラム制御部110からの指示内容(フラグのリセット
等)を一時格納する。チャネル番号レジスタ209は、
コマンドレジスタ208に格納されたコマンドがどのチ
ャネル部12に対して指示されたのかを示す。チャネル
部12は、自らの保有するチャネル番号情報と本レジス
タ208の内容を比較し、一致すると自分に対する指示
と認識しコマンドをデコード回路204で解読し実行す
る。なお、251〜253、261〜263、271〜
273は、データ転送制御部111からのデータ転送動
作に同期して指示される情報を記憶するフラグ群であ
る。次に、上述した実施例の作用を以下に説明する。
The command register 208 temporarily stores the instruction contents (such as flag reset) from the microprogram control unit 110. The channel number register 209 is
It indicates to which channel section 12 the command stored in the command register 208 is instructed. The channel unit 12 compares its own channel number information with the contents of this register 208, and if they match, recognizes that it is an instruction to itself and decodes the command by the decoding circuit 204 and executes it. In addition, 251-253, 261-263, 271-
A flag group 273 stores information instructed in synchronization with the data transfer operation from the data transfer control unit 111. Next, the operation of the above-described embodiment will be described below.

【0027】まず、データ転送の動作について説明す
る。
First, the data transfer operation will be described.

【0028】入出力処理装置10は、中央処理装置30
が主記憶装置31に作成したチャネルプログラムを主記
憶装置31から取り出す。チャネルプログラムは、チャ
ネル番号や装置番号を含むヘッダ部と、入出力動作を規
定するチャネルコマンド語とからなる。チャネルコマン
ド語は、8バイトからなり、その中にはチャネルコマン
ド、データ転送アドレス、データ長とからなる。データ
転送アドレスは、非ページモードの場合は、中央処理装
置30の物理的なアドレスで与えられるが、ページモー
ドの場合仮想記憶上の仮想的なアドレスである論理アド
レスで与えられるため入出力処理装置10の内部で論理
アドレスから主記憶装置31の物理的なアドレスへの変
換を行わなければならない。ページモードか否かは、中
央処理装置30がそのチャネルプログラムを発行する命
令によって定まる。チャネルコマンド語の形式の一例を
図6に示す。
The input / output processing unit 10 is a central processing unit 30.
The channel program created in the main storage device 31 is retrieved from the main storage device 31. The channel program is composed of a header part including a channel number and a device number, and a channel command word that defines an input / output operation. The channel command word consists of 8 bytes, and consists of a channel command, a data transfer address, and a data length. The data transfer address is given as a physical address of the central processing unit 30 in the non-page mode, but is given as a logical address which is a virtual address on a virtual memory in the page mode, so that it is an input / output processing unit. The conversion from the logical address to the physical address of the main storage device 31 must be performed inside 10. Whether the page mode or not is determined by an instruction issued by the central processing unit 30 to issue the channel program. An example of the format of the channel command word is shown in FIG.

【0029】図6に示すチャネルコマンド語600の形
式は、0〜7ビットがコマンド、8〜15ビットにDC
はデータ連鎖(DATA CHAINNING)、また
はCCはコマンド連鎖(COMMAND CHAINN
ING)を、16〜31ビットにカウント、0〜31ビ
ットにデータアドレスをそれぞれ示す。
In the format of the channel command word 600 shown in FIG. 6, 0 to 7 bits are commands, and 8 to 15 bits are DC.
Is a data chain (DATA CHAINING), or CC is a command chain (COMMAND CHAINNING).
ING) is shown in 16 to 31 bits and the data address is shown in 0 to 31 bits.

【0030】中央処理装置30からは、チャネルプログ
ラムが格納されている主記憶装置31上の物理アドレス
とチャネル番号と装置番号が主記憶装置31の通信領域
(固定番地)を通じて入出力処理装置10に与えられ
る。
From the central processing unit 30, the physical address, the channel number and the device number on the main storage device 31 in which the channel program is stored are transferred to the input / output processing device 10 through the communication area (fixed address) of the main storage device 31. Given.

【0031】入出力処理装置10は、中央処理装置30
から入出力動作の起動を受けとると、その要求を一旦待
行列に入れる。待行列は、チャネル単位に存在し装置番
号をリンクする(その詳細は本実施例には示さない)。
その後、該当するチャネルの入出力インタフェース上の
特定の信号線を“1”にすることで、配下に接続されて
いる所定の入出力制御装置50A ,50B ,…,50H
に入出力の要求があることを知らせる。
The input / output processing unit 10 is a central processing unit 30.
When the I / O operation is started by the device, the request is once placed in the queue. The queue exists for each channel and links device numbers (details of which are not shown in this embodiment).
Thereafter, the corresponding specific signal line on the channel output interface of it to "1", a predetermined input-output control unit 50 A which is connected under, 50 B, ..., 50 H
Informs that there is an I / O request.

【0032】入出力処理装置10は、上記信号線が
“1”になったのを検出すると、入出力インタフェース
を介して入出力動作の開始準備ができていることを知ら
せるため、1バイトの情報(サービスコード)を送出す
る。入出力処理装置10の所定のチャネル部12A ,1
B ,…,12H は、入出力制御装置30A ,30B
…,30H からサービスコードを受信すると、I/Oイ
ンタフェース制御部210から割込み制御部201へ割
り込みの生成を要求する。マイクロプログラム制御部1
10は、割り込まれるとサービスコードをチャネル部1
A ,12B ,…,12H から取り出し解析し、入出力
の開始を指示するものであればチャネルプログラムの第
1語を主記憶装置31から取り出して、装置番号と共に
そのコマンド語8バイトを入出力制御装置50A ,50
B ,…,50H へ送出する。
When the input / output processing device 10 detects that the signal line has become "1", it informs that the input / output operation is ready to start via the input / output interface, so that 1 byte of information is transmitted. (Service code) is transmitted. Predetermined channel part 12 A , 1 of the input / output processing device 10
2 B , ..., 12 H are input / output control devices 30 A , 30 B ,
.., 30 H , the I / O interface controller 210 requests the interrupt controller 201 to generate an interrupt. Micro program control unit 1
10 indicates the service code when it is interrupted
2 A, 12 B, ..., 12 and analyzed removed from the H, the first word of that value, if the channel program that instructs the start of the output is taken out from the main memory 31, the command word of 8 bytes with the device number Input / output control device 50 A , 50
B , ..., 50 H.

【0033】入出力制御装置30A ,30B ,…,30
H は、入出力処理装置10から送られてきたコマンド語
を解読し、データ転送を指示するものであれば、再び、
サービスコードを入出力処理装置10に送出する。
Input / output control devices 30 A , 30 B , ..., 30
If H decodes the command word sent from the input / output processing device 10 and instructs the data transfer, again,
The service code is sent to the input / output processing device 10.

【0034】今度のサービスコードは、データ転送の開
始を指示するものである。入出力制御装置50A ,50
B ,…,50H は、同時に自らも配下の装置を起動して
データ転送の可能なように準備を行う。
The service code of this time is an instruction to start the data transfer. Input / output control device 50 A , 50
At the same time, B , ..., 50 H also activate their own devices to prepare for data transfer.

【0035】入出力処理装置10では、前述と同様にマ
イクロプログラム制御部110に対して割り込みが発生
する。こんどは、マイクロプログラム制御部110は、
チャネルコマンドを解析し、それがデータ転送を示して
いなければI/Oインタフェース制御部210上のエラ
ー信号を“1”にして異常であることを通知する。ま
た、入出力処理装置10は、チャネルコマンドの解析結
果がデータ転送を指示していれば、マイクロプログラム
制御部110によりデータ転送制御部111に対して以
下のことを行う。
In the input / output processing device 10, an interrupt is issued to the micro program control unit 110 as described above. This time, the micro program control unit 110
The channel command is analyzed, and if it does not indicate data transfer, the error signal on the I / O interface control unit 210 is set to "1" to notify that it is abnormal. Further, if the analysis result of the channel command indicates data transfer, the input / output processing device 10 causes the microprogram control unit 110 to perform the following to the data transfer control unit 111.

【0036】(1)アドレスバアファ121a にチャネ
ルコマンド語に含まれるアドレスを書き込む。このとき
アドレスが論理アドレスであれば、マイクロプログラム
制御部110は、主記憶装置31上に存在する変換テー
ブルを使用して主記憶装置31上の物理アドレスに変換
した上でアドレスバッファ122a にセットする。
[0036] (1) writing to the address Baa file 121 a the address contained in the channel command word. If the address at this time is a logical address, the microprogram controller 110, set in the address buffer 122 a on which is translated to a physical address of the main storage device on 31 using a conversion table that exists in the main storage device 31 To do.

【0037】(2)チャネルコマンド語(図5参照)に
含まれるカウント値をカウントバッファ123a に書き
込む。
[0037] (2) channel command word written to the count value contained in the count buffer 123 a (see FIG. 5).

【0038】(3)次に、データ連鎖フラグを検査した
結果が“1”であれば第二フラッグ152のDCビット
を“1”に、検査結果が“0”であれば第二フラッグ1
52のDCビットを“0”にセットする。また、データ
転送がページモードか否かを調べ、ページモードであれ
ば第二フラッグ152のPGMDビットを“1”に、ペ
ージモードでなければ第二フラッグ152のPGMDビ
ットを“0”にセットする。
(3) Next, if the result of checking the data chain flag is "1", the DC bit of the second flag 152 is set to "1", and if the check result is "0", the second flag 1 is set.
The DC bit of 52 is set to "0". Also, it is checked whether or not the data transfer is in the page mode. If the page mode, the PGMD bit of the second flag 152 is set to "1", and if it is not the page mode, the PGMD bit of the second flag 152 is set to "0". ..

【0039】(4)入出力処理装置10では、マイクロ
プログラム制御部110により第二フラッグ152のP
GMDビットが“1”であれば、アドレスにカウント値
を加算する計算をし、その結果がページ境界であるとこ
ろの、例えば4〔Kバイト〕を越えるかどうかを検査す
る。もしも、ページ境界を越えるのであれば、次のペー
ジの開始アドレス(論理アドレス)を求め、これを物理
アドレスに変換し、先取りアドレスバッファ121a
書き込む。このとき、有効フラッグ160の有効ビット
0 ビットに“1”がセットされる。
(4) In the input / output processing device 10, the microprogram control unit 110 causes the P of the second flag 152 to be changed.
If the GMD bit is "1", calculation is performed to add the count value to the address, and it is checked whether the result exceeds the page boundary, for example, 4 [K bytes]. If, if exceeding a page boundary, determine the starting address of the next page (logical address), converts it to a physical address, and writes the prefetch address buffer 121 a. At this time, “1” is set to the valid bit V 0 bit of the valid flag 160.

【0040】(5)第二フラッグ152のPGMDビッ
トが“0”か、またはデータ転送中にページ境界を越え
なければ、入出力処理装置10は、データ連鎖ビットを
検査する。データ連鎖ビットが“1”であれば、第2番
目のチャネルコマンド語を取り出す。
(5) If the PGMD bit of the second flag 152 is "0" or does not cross the page boundary during data transfer, the I / O processor 10 checks the data chain bit. If the data chain bit is "1", the second channel command word is extracted.

【0041】(6)第2番目のチャネルコマンド語のア
ドレスを(論理アドレスであれば当然物理アドレスに変
換して)、先取りアドレスバッファ121a にセットす
る。また、同様にカウント値とデータ連鎖フラグを、カ
ウントバッファ123a と第一フラッグ151にセット
する。このときには、有効フラッグ160の有効ビット
0 からV2 まで有効ビットがセットされる。
[0041] (6) the address of the second channel command word (converted to naturally physical address if the logical address), is set to prefetch address buffer 121 a. Similarly, the count value and the data chaining flag is set to the count buffer 123 a and the first flag 151. At this time, the valid bits from the valid bit V 0 to V 2 of the valid flag 160 are set.

【0042】(7)入出力処理装置10は、さらに、チ
ャネル部12のI/Oインタフェース制御部210にあ
るカウントレジスタ(図示せず)にカウントバッファ1
23 a と同じ値をセットし、チャネル部12のデータバ
ッファ200を空(Empty )の状態に設定する。
(7) The input / output processing device 10 is further
In the I / O interface control unit 210 of the channel unit 12,
To a count register (not shown)
23 aSet the same value as the
The buffer 200 is set to an empty state.

【0043】(8)チャネル部12にある制御フラグ群
251〜253、261〜263、271〜273をす
べてリセットする。
(8) All the control flag groups 251-253, 261-263, 271-273 in the channel section 12 are reset.

【0044】以上の(1)〜(8)までのステップの設
定が完了すると、I/Oインタフェース上の所定の信号
線を“0”にすることで、サービスコード処理からデー
タ転送へフェーズが移行する。
When the above steps (1) to (8) have been set, the phase shifts from service code processing to data transfer by setting a predetermined signal line on the I / O interface to "0". To do.

【0045】チャネルコマンド語が出力データ転送を指
示している場合、チャネル部12のデータバッファ20
0が空であることをデータバッファ制御部203が検出
し、チャネル用データ転送制御回路202は、信号線9
a を“1”にしてデータ転送を入出力処理装置10の
データ転送制御部111へ要求する(図4(a)タイミ
ングT1 )。
When the channel command word indicates the output data transfer, the data buffer 20 of the channel unit 12
The data buffer control unit 203 detects that 0 is empty, and the channel data transfer control circuit 202 causes the signal line 9
To "1" to 1 a to request data transfer to the data transfer control unit 111 of the input-output processor 10 (FIGS. 4 (a) timing T 1).

【0046】その要求は、データ転送優先判定回路19
0で他のチャネルからの要求との競合判定を受ける。こ
こでの優先度は、チャネル番号によって一意に定まって
いる。要求がデータ転送優先判定回路190で選択され
ると、その要求と選択されたチャネル番号が信号線92
によりデータ転送制御回路180に伝えられチャネル番
号が受付チャネルレジスタ171a に入る(図4(c)
タイミングT2 )。受付チャネルレジスタ171a の内
容がデコードされ要求を受け付けたチャネル部12にア
クセプト信号172a 〜172nの何れかひとつが返さ
れる(図4(b)タイミングT2 )。
The request is the data transfer priority determination circuit 19
When it is 0, the competition with the request from another channel is judged. The priority here is uniquely determined by the channel number. When the request is selected by the data transfer priority determination circuit 190, the request and the selected channel number are assigned to the signal line 92.
Channel number is transmitted to the data transfer control circuit 180 by entering the reception channel register 171 a (FIG. 4 (c)
Timing T 2 ). Accepts channel register 171 a is either one of an accept signal 172 a ~172n the channel portion 12 which has received the decoded request is returned (see FIG. 4 (b) timing T 2).

【0047】チャネル部12は、アクセプト信号を受け
取ると要求信号91aを“0”に落とす。受付チャネル
レジスタ171a に入ったチャネル番号は、次のタイミ
ングでレジスタ171b に移される(図4(d)タイミ
ングT3 )。
When receiving the accept signal, the channel section 12 drops the request signal 91a to "0". Channel number entered the reception channel register 171 a is transferred to the register 171 b at the next timing (FIG. 4 (d) timing T 3).

【0048】同時に、レジスタ171a の出力でアドレ
スバッファ122a とカウントバッファ123a の値が
読みだされ、アドレスレジスタ122b とカウントレジ
スタ123b にセットされ(図4(g)(h)タイミン
グT3 )、レジスタ171b のチャネル番号がレジスタ
171c に転送される(図4(e)タイミングT4 )。
データ転送制御回路180は、このとき主記憶装置31
に対してデータの読出をリクエスト信号線81とコマン
ド線82を用いて要求する(図4(i)(j)タイミン
グT3 )。このとき、主記憶装置31のアドレスは、ア
ドレスレジスタ122b の内容が主記憶装置31へ送出
され、コマンド線82の内容はデータ読出しを指示する
内容がデータ転送制御回路180によって生成される。
[0048] Simultaneously, the register 171 the value of the address buffer 122 a count buffer 123 a at the output of a is read out, is set in the address register 122 b and the count register 123 b (FIG. 4 (g) (h) timing T 3), the channel number of register 171 b is transferred to the register 171 c (FIG. 4 (e) timing T 4).
At this time, the data transfer control circuit 180
Data is requested using the request signal line 81 and the command line 82 (FIG. 4 (i) (j) timing T 3 ). At this time, the address of the main memory 31, sent contents of the address register 122 b is the main storage device 31, the contents of the command line 82 the contents for instructing the data reading is generated by the data transfer control circuit 180.

【0049】アドレスバッファ122a の内容は、演算
器122c により転送されたバイト数分だけ加算され、
アドレスバッファ122a に書き戻される。カウントレ
ジスタ123b の内容は、転送されたバイト数分だけ演
算器123c によって減算されカウントバッファ123
a に書き戻される。このときのアドレスバッファ122
a とカウントバッファ123a の書込みアドレスはレジ
スタ171c の内容が用いられる。
The contents of the address buffer 122 a are summed by the number of bytes transferred by the computing unit 122 c,
Written back to the address buffer 122 a. The contents of the count register 123 b is the number of bytes transferred is subtracted by the calculator 123 c count buffer 123
written back to a. Address buffer 122 at this time
The contents of the register 171 c are used as the write addresses of a and the count buffer 123 a .

【0050】主記憶装置31から読みだされたデータ
は、レジスタ1120に一旦格納され、データ線L22
によりチャネル部12のデータバッファ200に送出さ
れることになる(図4(l)タイミングT5 )。
The data read from the main memory 31 is temporarily stored in the register 1120, and the data line L22
Will be sent to the data buffer 200 of the channel section 12 (timing T 5 in FIG. 4 (l)).

【0051】チャネル番号はレジスタ171c からさら
にレジスタ171d へ送られて(図4(f)タイミング
5 )、レジスタ171d の内容がデコードされ一連の
動作の完了を示すためチャネル部12へ信号線73a
73n の何れか1本のみを“1”にする。
The channel number is further sent from the register 171 c to the register 171 d (timing T 5 in FIG. 4 (f)), the contents of the register 171 d are decoded and signaled to the channel section 12 to indicate the completion of a series of operations. Line 73 a ~
Only one of 73 n is set to "1".

【0052】チャネル部12は、信号線73a が“1”
になっていたことで、データバッファ200にデータ線
L22のデータを書き込み、データバッファ200の第
1バイト目を読み出し、I/Oインタフェース上のデー
タパスL11へ送出するとともに、必要なアウトタグ
(out tag )線を活性化して入出力制御装置12とのデ
ータ転送シーケンスを開始する。
[0052] channel section 12, the signal line 73 a is "1"
Therefore, the data of the data line L22 is written to the data buffer 200, the first byte of the data buffer 200 is read, and the data is sent to the data path L11 on the I / O interface. The tag) line is activated to start a data transfer sequence with the input / output control device 12.

【0053】チャネルコマンド語が入力データ転送を指
示していれば、データパスL11を介して1〔バイト〕
単位に受信したデータが4〔バイト〕以上データバッフ
ァ内に留ったことをデータバッファ制御部203が検出
するとチャネル用データ転送制御回路202にデータ転
送要求rqを指示する。
If the channel command word indicates input data transfer, 1 [byte] is sent through the data path L11.
When the data buffer control unit 203 detects that the data received in units remains in the data buffer for 4 [bytes] or more, it issues a data transfer request rq to the channel data transfer control circuit 202.

【0054】主記憶装置31から入出力制御装置5
A ,50B ,…,50H に対するデータ転送は上述し
たように行われる。
Main memory 31 to input / output controller 5
Data transfer for 0 A , 50 B , ..., 50 H is performed as described above.

【0055】一方、入出力制御装置50A ,50B
…,50H から主記憶装置31への書込みの動作は出力
データ転送と同様であり、異なるのは、データバッファ
200の内容がレジスタ1110に読みだされ主記憶装
置31へ送られることと(図4(k)タイミング
3 )、データ転送制御回路180の生成するメモリコ
マンドが書き込みを指示していることだけである。
On the other hand, the input / output control devices 50 A , 50 B ,
The writing operation from the 50 H to the main memory device 31 is similar to the output data transfer, except that the contents of the data buffer 200 are read into the register 1110 and sent to the main memory device 31 (see FIG. 4 (k) timing T 3 ), the memory command generated by the data transfer control circuit 180 only instructs writing.

【0056】以上述べた動作は、データ転送によりカウ
ントが0にもならずまたアドレスがページ境界に達しな
い場合であり、フラグ141a 〜143a 、141b
143b 、141c 〜143c には、すべて0がセット
されている。
[0056] The above-mentioned operation is the case also the address not to count 0 by the data transfer does not reach the page boundary, the flag 141 a ~143 a, 141 b ~
To 143 b, 141 c ~143 c are all 0 is set.

【0057】<カウント0の動作><Operation of Count 0>

【0058】次に、データ転送によりカウントが0にな
る場合の動作について説明する。
Next, the operation when the count becomes 0 by data transfer will be described.

【0059】(先取りが間に合う場合の動作)(Operation when pre-emption is in time)

【0060】カウントレジスタ123b の内容を減算し
た結果は、カウントゼロ検出回路でチェックされ結果が
0で、かつ第二フラッグ152のDCビットが“1”で
あると、フラグ141a が1にセットされ、先取りアド
レスバッファ121a と、先取りアドレスバッファ12
a と、先取りフラグ151の全ての有効フラグV0
2 が先取り有効性判定回路133で検査される。検査
の結果、先取りフラグ151のすべてのVビットが
“1”であるときに、アドレスバッファ122a とカウ
ントバッファ123a には、演算器122c の出力と演
算器123c の出力の代わりに先取りアドレスバッファ
121a と先取りカウントバッファ121b の内容が書
き込まれ、フラグ143a とフラグ142a には“0”
がセットされる。さらに、有効フラッグ160のすべて
のVビットはリセットされる。
[0060] count register 123 b result of subtracting the contents of the can in checked by counting the zero detection circuit result is 0 and the DC bits of the second flag 152 is "1", set the flag 141 a 1 is a prefetch address buffer 121 a, prefetch address buffer 12
1 a and all valid flags V 0 of the prefetch flag 151
V 2 is checked by the prefetch validity judgment circuit 133. Result of the test, when the prefetch all V bits of the flag 151 is "1", the address buffer 122 a count buffer 123 a, preemption instead of the output of the output operation unit 123 c of the arithmetic unit 122 c the contents of the prefetch count buffer 121 b and the address buffer 121 a is written, the flag 143 a and the flag 142 a "0"
Is set. In addition, all V bits in valid flag 160 are reset.

【0061】フラグ141a 〜143a の内容は、次の
タイミングでフラグ141b 〜143b に移り、信号線
41c 〜43c を介してチャネル部12に伝えられる。
チャネル部12では、ゲート251〜253を通ってフ
ラグ271〜273にセットされる。この場合、フラグ
271のみが“1”になる。
[0061] the content of the flag 141 a ~143 a is moved to the flag 141 b ~143 b at the next timing, is transmitted to the channel unit 12 via the signal line 41 c ~ 43 c.
In the channel section 12, the flags 271 to 273 are set through the gates 251 to 253. In this case, only the flag 271 becomes "1".

【0062】割り込み要求生成回路201は、フラグ2
71〜273に“0”以外のデータがセットされると割
り込み信号を発生し、信号線L01a (この信号線には
割り込み要求の他に割り込みの内容を示す情報も含まれ
ているが個別には図示していない)を活性化して、入出
力処理装置10に対し割り込みを要求する。入出力処理
装置10では、割込み優先判定回路1100を通ってマ
イクロプログラム制御部110に割り込み信号L02を
伝達する。
The interrupt request generation circuit 201 uses the flag 2
When data other than “0” is set in 71 to 273, an interrupt signal is generated, and the signal line L01 a (this signal line includes information indicating the content of the interrupt in addition to the interrupt request, but (Not shown) is activated to request an interrupt to the input / output processing device 10. In the input / output processing device 10, the interrupt signal L02 is transmitted to the micro program control unit 110 through the interrupt priority determination circuit 1100.

【0063】マイクロプログラム制御部110は、割り
込みが入ると、その内部に保持していた次のデータ転送
に関するメモリアドレスとデータカウントとデータ連鎖
フラグを先取りアドレスバッファ112a と先取りカウ
ントバッファ112b と先取り有効フラッグ160にセ
ットする。また、マイクロプログラム制御部110によ
る先取り情報のセットについては、仮に次のデータ転送
がデータ連鎖されたものであるならば上記3種の先取り
情報のセットが必要であるが、ページの切れ目に関する
ものであればアドレスのみをセットする。すなわち、ペ
ージの切れ目に関するものであれば、有効フラッグ16
0のV0 ビットのみが“1”となる。以上のセットが終
わると、マイクロプログラム制御部110は、さらに次
のデータ転送に関する先取り情報を準備し、マイクロプ
ログラム制御部110の内部に記憶する。次に、マイク
ロプログラム制御部110は、チャネル部12のフラグ
271〜273の内容のリセットを指示する。この指示
は、マイクロプログラム制御部110から信号線S2a
により指示内容がS2b により指示するチャネルを示
す。
[0063] microprogram control unit 110, when the interrupt occurs, prefetch memory address and data count and data chaining flag for the next data transfer retained therein and prefetch address buffer 112 a and prefetch count buffer 112 b Set to the effective flag 160. Regarding the prefetch information set by the microprogram control unit 110, if the next data transfer is a data chain, the above-mentioned three types of prefetch information sets are necessary, but they are related to page breaks. If there is, set only the address. That is, if it is related to page breaks, the effective flag 16
Only the V 0 bit of 0 becomes “1”. When the above setting is completed, the microprogram control unit 110 further prepares prefetch information regarding the next data transfer and stores it in the microprogram control unit 110. Next, the micro program control unit 110 gives an instruction to reset the contents of the flags 271 to 273 of the channel unit 12. This instruction is issued from the micro program control unit 110 through the signal line S2 a.
Indicates the channel designated by S2 b .

【0064】信号線S2a と信号線S2b のデータは、
チャネル12内でレジスタ208とレジスタ209に格
納された後、デコード回路204で解読され実行され
る。前述のリセット指示があるとチャネル12は、フラ
グ261〜263の内容をフラグ271〜272へ移送
する。
The data on the signal line S2 a and the signal line S2 b are
After being stored in the register 208 and the register 209 in the channel 12, it is decoded by the decoding circuit 204 and executed. Upon receiving the reset instruction, the channel 12 transfers the contents of the flags 261 to 263 to the flags 271 to 272.

【0065】以上の処理が行われている間もチャネル部
12と主記憶装置31の間のデータ転送は引き続き行わ
れている。
Data transfer between the channel unit 12 and the main storage device 31 is continued while the above processing is being performed.

【0066】(先取りが間に合わない場合の動作)(Operation when pre-emption is not in time)

【0067】図5を参照して説明すると、カウントレジ
スタ123b の演算結果が0で、かつ第二フラッグ15
2のDCビットが“1”の場合であって、先取り有効フ
ラッグ160のV0 〜V2 のどれか1ビットでも“0”
であったときには、なんらかの理由(処理の競合等)で
先取り処理が間に合っていないと判断し、フラグ141
a とともにフラグ143a がセットされ、次のタイミン
グでフラグ141b 、フラグ143b がセットされる。
この場合は、先取り有効フラッグ160のVビットの値
は保持される。この結果、チャネル部12のフラグ26
1とフラグ263がセットされ、次の次のタイミングで
フラグ271とフラグ273がセットされ、前述の説明
と同様に次のタイミングで割り込みが発生する。しかし
ながら、フラグ273が“1”のため、この間のチャネ
ル部12と主記憶装置31間のデータ転送は抑止され
る。
[0067] With reference to FIG. 5, the count register 123 b of the operation result is 0, and the second flag 15
When the DC bit of 2 is "1", and any one bit of V 0 to V 2 of the prefetch valid flag 160 is "0"
If it is, it is determined that the pre-emption process is not in time for some reason (process conflict, etc.), and the flag 141
a flag 143 a is set with a flag 141 at the next timing b, the flag 143 b is set.
In this case, the value of the V bit of the prefetch valid flag 160 is retained. As a result, the flag 26 of the channel unit 12
1 and the flag 263 are set, the flag 271 and the flag 273 are set at the next next timing, and an interrupt is generated at the next timing as in the above description. However, since the flag 273 is "1", data transfer between the channel unit 12 and the main storage device 31 during this period is suppressed.

【0068】マイクロプログラム制御部110は、先取
り処理が完了するまでは、当該チャネル12からの割り
込みを受け付けないようになっているため、割り込みが
受け付けられた時点ではすべての先取り有効フラッグ1
60のVビットのセットが行われている。マイクロプロ
グラム制御部110は、この場合、特別なマイクロ命令
を実行する。そのマイクロ命令の実行結果、有効フラッ
グ160のVビットが“1”である先取りバッファ先取
りアドレスバッファ121a 、先取りカンウトバッファ
121b 、データ連鎖フラグである第一フラッグ151
の内容が、アドレスバッファ122a 、カウントバッフ
ァ122b および第二フラッグ152のDCビットに書
き込まれる。マイクロプログラム制御部110は、以上
の処理を終えたあとチャネル部12のフラグのリセット
指示を行うと、フラグ273は“0”となり、データ転
送を再開する。
Since the microprogram control unit 110 does not accept the interrupt from the channel 12 until the prefetch processing is completed, all the prefetch valid flags 1 are accepted at the time when the interrupt is accepted.
60 V-bits have been set. In this case, the micro program controller 110 executes a special micro instruction. Its microinstruction execution result, V bit of the effective flag 160 is "1" prefetch buffer prefetch address buffer 121 a, prefetch cans out buffer 121 b, the first flag is data chaining flag 151
Is written to the address buffer 122 a , the count buffer 122 b, and the DC bit of the second flag 152. When the micro program control unit 110 gives an instruction to reset the flag of the channel unit 12 after finishing the above processing, the flag 273 becomes "0" and the data transfer is restarted.

【0069】データ転送の結果、カウントバッファ12
a の減算結果が0にならなくとも、アドレスレジスタ
122b の加算結果がページ境界に到達したことをペー
ジ境界検出回路132が検出し、しかも第二フラッグ1
52のPGMDビットが“1”であると、フラグ142
a がセットされる。同時に、先取り有効性判定回路13
3ではV0 ビットが“1”であるかどうかを検査し、そ
の検査結果が“1”であれば、フラグ143a を“0”
に、有効フラッグ160のV0 が“0”ならば“1”に
セットする。有効フラッグ160のV0 ビットが“1”
であると、アドレスバッファ122a には、加算器12
c の加算結果ではなく、先取りアドレスバッファ12
a の内容が書き込まれ、カウントバッファ123a
は減算結果が書き込まれ、有効フラッグ160のV0
ットは“0”にリセットされる。そうでなければ、有効
フラッグ160のV0 ビット、フラグ141a 〜143
a の内容は、フラグ141c 〜143c にセットされ
て、チャネル部12に伝えられることになる。
As a result of data transfer, the count buffer 12
Even if the subtraction result of 3 a does not become 0, the page boundary detection circuit 132 detects that the addition result of the address register 122 b has reached the page boundary, and the second flag 1
If the PGMD bit of 52 is "1", the flag 142
a is set. At the same time, the preemptive effectiveness determination circuit 13
3, it is checked whether the V 0 bit is “1”, and if the check result is “1”, the flag 143 a is set to “0”.
If V 0 of the effective flag 160 is “0”, it is set to “1”. V 0 bit of valid flag 160 is “1”
If it is, the address buffer 122 a, an adder 12
It is not the addition result of 2 c , but the prefetch address buffer 12
The content of 1 a is written, the subtraction result is written in the count buffer 123 a, and the V 0 bit of the valid flag 160 is reset to “0”. Otherwise, V 0 bit of the effective flag 160, the flag 141 a ~143
The contents of a is set to the flag 141 c ~143 c, will be conveyed to the channel portion 12.

【0070】以下の動作は、フラグ141a がセットさ
れた前述の場合と同様に行われ、マイクロプログラム制
御部110に割り込みが起こり次の先取りに必要な情報
を先取りアドレスバッファ121a 、先取りカンウトバ
ッファ121b 、先取り用第二フラッグ152に書き込
んだ後に、チャネル部12のフラグのリセットが行われ
る。このときも、フラグ173が“1”の場合は、チャ
ネル部12と主記憶装置31との間のデータ転送は中断
され、フラグ173が“1”の場合はデータ転送は継続
される。
[0070] The following operation is performed as in the aforementioned flag 141 a is set, ahead of the information required to interrupt occurs next prefetch to the micro program control unit 110 address buffer 121 a prefetch Kan'uto After writing to the buffer 121 b and the second flag 152 for prefetching, the flag of the channel unit 12 is reset. Also at this time, if the flag 173 is "1", the data transfer between the channel unit 12 and the main storage device 31 is interrupted, and if the flag 173 is "1", the data transfer is continued.

【0071】次に、チャネル部にある2組のフラグの動
作について説明する。
Next, the operation of the two sets of flags in the channel section will be described.

【0072】データ転送中にデータカウント値が0にな
り、チャネル部12のフラグ271がセットされ(図5
(j)タイミングT6 )、マイクロプログラム制御部1
10に割り込みが起こり(図5(n)タイミング
7 )、マイクロプログラム制御部110が次の先取り
バッファの書き込みを行う前に再びカウントが0になる
と、フラグ141a と143a とがセットされ(図5
(g)タイミングT9 )、次のタイミングでフラグ14
c と143c とがセットされ(図5(i)タイミング
10)、チャネル部12に送られる。
During data transfer, the data count value becomes 0, and the flag 271 of the channel section 12 is set (see FIG. 5).
(J) Timing T 6 ), microprogram controller 1
If an interrupt occurs in 10 (timing T 7 in FIG. 5 (n)) and the count reaches 0 again before the microprogram controller 110 writes the next prefetch buffer, the flags 141 a and 143 a are set ( Figure 5
(G) Timing T 9 ) and flag 14 at the next timing
1 c and 143 c are set (timing T 10 in FIG. 5 (i)) and sent to the channel section 12.

【0073】チャネル部12は、一組目のフラグ271
〜273が“0”では無いため(図5(j)(k)タイ
ミングT15)、このフラグの内容は2組目のフラグ26
1〜262に記憶される(図5(j)(k)タイミング
12)。このときには、フラグ263が“1”のため、
オア(OR)ゲート233とナンド(NAND)ゲート
232を介してANDゲート231により、データ転送
を抑止する。
The channel section 12 has the first set of flags 271.
~273 because not "0" (FIG. 5 (j) (k) Timing T 15), the contents of this flag second set of flags 26
1 to 262 (FIG. 5 (j) (k) timing T 12 ). At this time, since the flag 263 is "1",
Data transfer is suppressed by the AND gate 231 via the OR gate 233 and the NAND gate 232.

【0074】マイクロプログラム制御部110が先取り
アドレスバッファ121a 、先取りカンウトバッファ1
21b 、先取り用第二フラッグ152の書き込みを完了
し(すなわち、対応するVビットが“1”となった
後)、マイクロプログラム制御部110がチャネルのフ
ラグのリセット指示を行うと、チャネル部12の命令デ
コード部204の制御の下に、フラグ271〜273
に、フラグ261〜263の内容が移される(図5
(j)(k)タイミングT12)。データが移された後
に、フラグ273は“1”のため、データ転送の抑止状
態は継続し、割込み要求生成回路201は、再び、マイ
クロプログラム制御部110に対して割り込みを要求す
る。
The microprogram control unit 110 uses the prefetch address buffer 121 a and the prefetch count buffer 1
21 b , when the writing of the second flag for prefetching is completed (that is, after the corresponding V bit becomes “1”) and the microprogram control unit 110 issues a reset instruction of the channel flag, the channel unit 12 Flags 271-273 under the control of the instruction decoding unit 204 of
The contents of the flags 261 to 263 are transferred to (see FIG. 5).
(J) (k) Timing T 12 ). Since the flag 273 is “1” after the data is transferred, the data transfer inhibition state continues, and the interrupt request generation circuit 201 requests the microprogram control unit 110 again for an interrupt.

【0075】マイクロプログラム制御部110は、割り
込みに応じて、前述と同様に先取りアドレスバッファ1
21a 、先取りカンウトバッファ121b 、有効フラッ
グ160に必要な情報を書き込んだあと、チャネル部1
2にフラグにリセットを指示する。2回目のリセット指
示では、フラグ261〜263は“0”のためフラグ2
71〜273は今後は“0”となり、割り込みの要因も
消えデータ転送の抑止状態を解除され、データ転送は再
開する。
The microprogram control unit 110 responds to the interrupt by the prefetch address buffer 1 as described above.
21 a , the prefetch counter 121 b and the effective flag 160, after writing necessary information, the channel unit 1
2 instruct the flag to reset. In the second reset instruction, since the flags 261 to 263 are "0", the flag 2
71 to 273 will be "0" in the future, the cause of the interrupt will disappear, the data transfer inhibition state will be released, and the data transfer will resume.

【0076】以上のようにして、データ転送が行われ全
てのデータ転送が完了すると、即ち、データカウント値
が0となり、第二フラッグ152のDCビットが“0”
であると、データ転送制御部111は、データ転送の完
了をチャネル部12へ信号線により指示する(本信号線
は図示していない)。チャネル部12は、データ転送完
了の信号を受信するとデータバッファ200の空きまた
は詰まり具合にかかわらずデータ転送要求の送出を止
め、I/Oインタフェース上の所定の信号線を“1”に
して、所定の入出力制御装置50に転送の終了を通知す
る。
As described above, when the data transfer is performed and all the data transfers are completed, that is, the data count value becomes 0 and the DC bit of the second flag 152 is "0".
Then, the data transfer control unit 111 instructs the channel unit 12 to complete the data transfer by a signal line (this signal line is not shown). Upon receiving the data transfer completion signal, the channel unit 12 stops sending the data transfer request regardless of whether the data buffer 200 is empty or clogged, sets a predetermined signal line on the I / O interface to "1", and sets the predetermined signal line to "1". The end of transfer is notified to the input / output control device 50.

【0077】入出力制御装置50は、チャネルコマンド
語のCCビットが“1”であると次のチャネルコマンド
語の送出を入出力処理装置に要求するサービスコードを
送出する。また、入出力制御装置50は、CCビットが
“0”であると、I/O動作の終了を指示するサービス
コードを終了状態を示す状態バイトの3バイトと共に入
出力処理装置10へ送出する。
When the CC bit of the channel command word is "1", the input / output control device 50 sends a service code requesting the input / output processing device to send the next channel command word. Further, when the CC bit is "0", the input / output control device 50 sends the service code instructing the end of the I / O operation to the input / output processing device 10 together with 3 bytes of the status byte indicating the end status.

【0078】入出力処理装置10は、次のコマンド語を
要求するサービスコードであれば次のコマンド語メモリ
より取り出して、入出力制御装置50へ送出する。ま
た、終了を指示するサービスコードであれば、終了報告
を行うため主記憶装置31上に終了報告情報を作成し、
終了報告待行列にリンクする。(待行列は、メモリ上に
構築され、全ての入出力装置について1つのみ存在す
る。ここでは、詳細は示さない。)
If the service code requesting the next command word, the I / O processor 10 fetches it from the next command word memory and sends it to the I / O controller 50. If the service code is an instruction to terminate, the termination report information is created in the main storage device 31 to report the termination,
Link to the end report queue. (A queue is built on memory and there is only one for all I / O devices. Details are not shown here.)

【0079】[0079]

【発明の効果】以上説明したように、本発明によれば、
高性能でデータオーバーランが発生しにくく、少ないハ
ードウェアによりできる。
As described above, according to the present invention,
High performance, less data overrun, and less hardware required.

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

【図1】本発明の入出力処理装置の実施例を含むデータ
転送システムを示すブロック図である。
FIG. 1 is a block diagram showing a data transfer system including an embodiment of an input / output processing device of the present invention.

【図2】本発明の実施例の入出力処理装置のデータ転送
制御部の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a data transfer control unit of the input / output processing device according to the embodiment of the present invention.

【図3】本発明の実施例の入出力処理装置のチャネル部
の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a channel unit of the input / output processing device according to the embodiment of the present invention.

【図4】本実施例の動作を説明するためのタイミングチ
ャートである。
FIG. 4 is a timing chart for explaining the operation of this embodiment.

【図5】本実施例の動作を説明するためのタイミングチ
ャートである。
FIG. 5 is a timing chart for explaining the operation of this embodiment.

【図6】本発明の実施例で使用するチャネルコマンドの
例を示す説明図である。
FIG. 6 is an explanatory diagram showing an example of channel commands used in the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

10 入出力処理装置 30 中央処理装置 31 主記憶装置 50A 入出力制御装置 50B 入出力制御装置 50H 入出力制御装置 110 マイクロプログラム制御部 110A マイクロプログラム制御装置 110B 制御記憶装置 111 データ転送制御部 121a 先取りアドレスバッファ 121b 先取りカンウトバッファ 122a アドレスバッファ 122b アドレスレジスタ 122c 加算器 123a カウントバッファ 123b カウントレジスタ 123c 減算器 131 カウントゼロ検出回路 132 ページ境界検出回路 133 先取り有効性検出回路 151 第一フラッグ 152 第二フラッグ 160 有効フラッグ 180 データ転送制御回路 190 データ転送優先判定回路10 input / output processing unit 30 central processing unit 31 main storage unit 50 A input / output control unit 50 B input / output control unit 50 H input / output control unit 110 micro program control unit 110 A micro program control unit 110 B control storage unit 111 data transfer Control unit 121 a Prefetch address buffer 121 b Prefetch counter buffer 122 a Address buffer 122 b Address register 122 c Adder 123 a Count buffer 123 b Count register 123 c Subtractor 131 Count zero detection circuit 132 Page boundary detection circuit 133 Prefetch enabled Property detection circuit 151 First flag 152 Second flag 160 Effective flag 180 Data transfer control circuit 190 Data transfer priority determination circuit

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 上位装置である主記憶装置と下位装置で
ある複数の入出力制御装置との間に接続されており、複
数の入出力制御装置を接続する複数のチャネル部と、マ
イクロプログラムで制御されるマイクロプログラム制御
部および前記チャネル部と前記主記憶装置間のデータ転
送を制御するデータ転送制御部からなる共通部とを備え
た入出力処理装置において、 前記データ転送制御部には、 先取りアドレス情報と先取りデータ長を記憶する先取り
情報格納手段と、 転送データの前記主記憶装置上のアドレス情報とデータ
長を記憶する記憶手段と、 データ転送のための主記憶装置を一回アクセスする毎に
前記記憶手段のアドレス情報とデータ長を更新する更新
手段と、 データ連鎖が指示されているか否かを記憶する先取り第
一フラグと、 データ連鎖が指示されている場合には次の転送データの
アドレス情報とデータ長とデータ連鎖が継続するか否か
の情報を格納する第二フラッグと、 前記フラッグの各内容が有効であることを示す先取り有
効フラグとを備え、前記記憶手段のデータ長の値が更新
手段により減算されて零になったとき、前記有効フラッ
グが全て立っていれば前記先取り情報格納手段のデータ
が前記記憶手段に書き込まれてデータ転送が継続するよ
うにしたことを特徴とする入出力処理装置。
1. A plurality of channel units, which are connected between a main storage device, which is a higher-level device, and a plurality of input / output control devices, which are lower-level devices, and which connect the plurality of input / output control devices, and a microprogram. In an input / output processing device comprising a controlled microprogram control unit and a common unit including a data transfer control unit that controls data transfer between the channel unit and the main storage device, the data transfer control unit includes a prefetch Preemption information storage means for storing address information and prefetch data length, storage means for storing address information and data length of the transfer data on the main storage device, and each time the main storage device for data transfer is accessed once An updating means for updating the address information and the data length of the storage means, a prefetch first flag for storing whether or not a data chain is instructed, If a data chain is instructed, a second flag that stores the address information and data length of the next transfer data and information whether the data chain continues or not, and that each content of the flag is valid When the value of the data length of the storage means is subtracted by the updating means and becomes zero, the data of the prefetch information storage means is stored in the storage means if all the valid flags are set. The input / output processing device is characterized in that the data transfer is continued by being written in.
【請求項2】 前記先取り格納手段は、先取りしたアド
レスを格納する先取りアドレスバッファと、先取りのデ
ータ長を格納する先取りカウントバッファとからなるこ
とを特徴とする請求項1記載の入出力処理装置。
2. The input / output processing device according to claim 1, wherein the prefetch storage means comprises a prefetch address buffer for storing a prefetched address and a prefetch count buffer for storing a prefetch data length.
【請求項3】 前記記憶手段は、現在データ転送中のデ
ータの残りバイト数を記憶するカウントバッファと、現
在データ転送中のアドレスを記憶するアドレスバッファ
とからなることを特徴とする請求項1記載の入出力処理
装置。
3. The storage means comprises a count buffer for storing the number of remaining bytes of data currently being transferred and an address buffer for storing an address currently being transferred. I / O processor.
JP34709591A 1991-12-27 1991-12-27 Input/output processor Pending JPH05181778A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34709591A JPH05181778A (en) 1991-12-27 1991-12-27 Input/output processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34709591A JPH05181778A (en) 1991-12-27 1991-12-27 Input/output processor

Publications (1)

Publication Number Publication Date
JPH05181778A true JPH05181778A (en) 1993-07-23

Family

ID=18387879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34709591A Pending JPH05181778A (en) 1991-12-27 1991-12-27 Input/output processor

Country Status (1)

Country Link
JP (1) JPH05181778A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (en) * 1995-10-06 2009-04-16 Patriot Scientific Corp Microprocessor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (en) * 1995-10-06 2009-04-16 Patriot Scientific Corp Microprocessor system

Similar Documents

Publication Publication Date Title
US5388219A (en) Efficient channel and control unit for host computer
US6772237B2 (en) Host controller interface descriptor fetching unit
US6336150B1 (en) Apparatus and method for enhancing data transfer rates using transfer control blocks
US4860244A (en) Buffer system for input/output portion of digital data processing system
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US7461183B2 (en) Method of processing a context for execution
US5664145A (en) Apparatus and method for transferring data in a data storage subsystems wherein a multi-sector data transfer order is executed while a subsequent order is issued
KR100225744B1 (en) Method and apparatus for the prevention of race conditions during dynamic chaining operations
JPH06168179A (en) Method and apparatus for movement of data by asynchronous coprocessor
US20070162637A1 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
JP2557199B2 (en) Interface system and method
US5371857A (en) Input/output interruption control system for a virtual machine
JPH02239331A (en) Data processing system and method with heightened operand usability
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
US6738837B1 (en) Digital system with split transaction memory access
US20060031602A1 (en) Scalable architecture for context execution
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
US6931473B2 (en) Data transfer via Host/PCI-X bridges
US6442647B1 (en) Method and apparatus for utilization of plural commands to improve read response times of data from a disk track
JPH05181778A (en) Input/output processor
JPS63208151A (en) Interface between processor of digital data processing system and special instruction processor
US5734900A (en) Information handling system including efficient power on initialization
JPH06324861A (en) System and method for controlling cpu
KR0170595B1 (en) Software emulation method of xcent-net interface
JPS61239339A (en) System for controlling transfer of page data