JPH05181778A - 入出力処理装置 - Google Patents

入出力処理装置

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
English (en)
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/ja
Publication of JPH05181778A publication Critical patent/JPH05181778A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 少ないハードウエアの追加でオーバーランの
少ない入出力処理装置を提供すること。 【構成】 アドレスバッファ122a はアドレスを格納
する。カウントバッファ123a はカウント値を格納す
る。アドレスバッファ121a は先取りのアドレスを記
憶する。カンウトバッファ121b は先取りのカウント
を記憶する。151は先取りのフラグを記憶する。有効
フラッグ160は各々先取り情報の有効性を示す。チャ
ネル部からのデータ転送要求に伴って、バッファ123
a から読みだされたカウント値が減算され、減算結果が
零になったときに、フラッグ160の値が全て“1”で
あるときに、バッファ122a にはバッファ121
a の、バッファ123a にはバッファ121b の、第二
フラッグ152には第一フラッグ151からの、各デー
タが書き込まれるのでデータ転送が継続することにな
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力処理装置に係わ
り、特にデータ転送における先取り方式を少ないハード
ウエアでオーバーランなく実現できる入出力処理装置に
関する。
【0002】
【従来の技術】従来、この種の入出力処理装置は、主記
憶装置と複数の入出力制御装置との間に接続され、この
主記憶装置と複数の入出力制御装置との間でデータ転送
を制御を行っている。このような入出力処理装置におい
て、データ転送につき先取り方式が行われている。この
データ転送における先取り方式としては、大別して二つ
の方式が採用されている。
【0003】その第一の先取り方式としては、先取りの
ための特別なハードウエアを持たずに、マイクロプログ
ラムでチャンネルプログラム語の先取りを行い、これを
処理装置内部のワークメモリ等へ格納しておき、データ
連鎖の切れ目などを契機にマイクロプログラムへ割り込
み、その格納しておいた先取り情報(データアドレスと
データカウント)を所定のバッファ等に設定し、データ
転送を再開するというものである。
【0004】その第二の先取り方式としては、先取りた
めの専用のハードウエアを持ち、次に必要となるデータ
転送制御情報(アドレスとカウント)を次々とマイクロ
プログラムにより設定するというものである。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の入出力処理装置で採用している第一の先取り方
式は、データ転送を一時中断し、その間にマイクロプロ
グラムの処理を行わなければならないため、データオー
バーランなく制御するためには、データバッファサイズ
を非常に大きくとるか、あるいは高性能のマイクロプロ
グラム制御装置を必要とするという欠点があった。
【0006】また、上述した従来の入出力処理装置にお
いて採用している第二の先取り方式は、性能的には大い
に有利であるものの、ハードウエアの物量が大きくなる
という欠点があった。
【0007】本発明は、上述した欠点を解消し、少ない
ハードウエアでオーバーランのないデータ転送を実行で
きる入出力処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の入出力処理装置は、上位装置である主記憶
装置と下位装置である複数の入出力制御装置との間に接
続されており、複数の入出力制御装置を接続する複数の
チャネル部と、マイクロプログラムで制御されるマイク
ロプログラム制御部およびチャネル部と主記憶装置間の
データ転送を制御するデータ転送制御部からなる共通部
とを備えた入出力処理装置において、前述のデータ転送
制御部には、先取りアドレス情報と先取りデータ長を記
憶する先取り情報格納手段と、転送データの主記憶装置
上のアドレス情報とデータ長を記憶する記憶手段と、デ
ータ転送のための主記憶装置を一回アクセスする毎に記
憶手段のアドレス情報とデータ長を更新する更新手段
と、データ連鎖が指示されているか否かを記憶する先取
り第一フラグと、データ連鎖が指示されている場合には
次の転送データのアドレス情報とデータ長とデータ連鎖
が継続するか否かの情報を格納する第二フラッグと、フ
ラッグの各内容が有効であることを示す先取り有効フラ
グとを備え、記憶手段のデータ長の値が更新手段により
減算されて零になったとき、有効フラッグが全て立って
いれば先取り情報格納手段のデータが記憶手段に書き込
まれてデータ転送が継続するようにしたことを特徴とす
るものである。
【0009】ここで、先取り格納手段は、先取りしたア
ドレスを格納する先取りアドレスバッファと、先取りの
データ長を格納する先取りカンウトバッファとから構成
すればよい。また、記憶手段も、現在データ転送中のデ
ータの残りバイト数を記憶するカウントバッファと、現
在データ転送中のアドレスを記憶するアドレスバッファ
とから構成すればよい。
【0010】本発明では、チャネル部からのデータ転送
要求に伴って、記憶手段から読みだされたカウント値
が、更新手段により更新され、その更新結果が零になっ
たとすると、有効フラッグの値が全て“1”であるとき
に、先取り情報格納手段からの先取りアドレスデータお
よび先取りカウント値(データ長)が記憶手段に、第二
フラッグには第一フラッグからのデータが書き込まれる
ことにより、データ転送が継続することになる。
【0011】一方、本発明では、有効フラッグの何れか
が“0”であると、データ転送は中断し、その後、マイ
クロプログラム制御部への割り込みが発生し、先取りデ
ータを先取り情報格納手段にセットした後に、データ転
送を再開し起動するものである。
【0012】
【実施例】以下実施例につき本発明を詳細に説明する。
【0013】図1は、本発明の入出力処理装置の実施例
を含むデータ転送システム示すブロック図である。
【0014】図1に示すデータ転送システムでは、入出
力処理装置10は、これの上位装置である中央処理装置
30および主記憶装置31にメモリバス32を介して接
続されている。また、入出力処理装置10には、これの
下位装置である複数の入出力制御装置50A ,50B
…,50H が接続されている。入出力制御装置50A
磁気ディスク制御装置であり、磁気ディスク駆動装置5
1の入出力を制御している。入出力制御装置50B はユ
ニットレコード制御装置であり、マンマシンインターフ
ェース装置52、プリンタ装置53、フロッピイディス
ク装置54の入出力を制御している。入出力制御装置5
H は磁気テープ制御装置であり、磁気テープ装置55
の入出力を制御している。
【0015】また、入出力処理装置10は、データ転送
に関する各種の処理を行う共通部11と、各入出力制御
装置30A ,30B ,…,30H のデータの入出力制御
を行う複数のチャネル部12A ,12B ,…,12H
からなる。共通部11は、マイクロプログラムで制御さ
れるマイクロプログラム制御部110と、マイクロプロ
グラムとは非同期にデータ転送を行うデータ転送制御部
111とからなる。
【0016】図2は、上記入出力処理装置の共通部の詳
細構成を示すブロック図である。
【0017】図2では、マイクロプログラム制御部11
0と、データ転送制御部111との詳細構成が示されて
いる。そこで、まず、データ転送制御部111の構成か
ら説明することにする。
【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
等を有している。
【0019】また、主な構成について詳説する。先取り
アドレスバッファ121a は、先取りしたデータアドレ
スを格納する。先取りカンウトバッファ121b は、先
取りのデータ長を格納する。アドレスバッファ122a
は、現在転送中データの残りバイト数を記憶するカウン
トバッファである。アドレスレジスタ122b は、現在
転送中のデータを格納するためのアドレスを更新する。
以上の4種はチャネル毎に存在する。第二フラッグ15
2は、現在処理中のチャネルコマンド語のデータ連鎖フ
ラグと、そのデータ転送がページモードか否かを格納す
るページモードフラグとからなる。第一フラッグ151
は、先取りしたチャネルコマンド語のデータ連鎖フラグ
を格納する。これらもチャネル毎に情報を格納する。
【0020】ゼロ検出回路131は、転送データの残り
カウントが0になったことを検出する。ページ境界検出
回路132は、データ転送中にメモリアドレスがページ
境界(これは、予め4kバイトと決められている)に到
達したかどうかを検出する。有効フラッグ160は、先
取りしたデータアドレス、データ長、データ連鎖フラグ
が有効か否かを示す有効フラグであり、V0 がデータア
ドレスに、V1 がデータ長に、V2 がデータ連鎖フラグ
に対応する。データ転送制御回路180は、データ転送
動作全体を制御するものであり、主記憶装置31とのイ
ンタフェースの制御も行う。データ転送優先判定回路1
90は、データ転送の優先度を判定し、複数のチャネル
から同時にデータ転送リクエストが上がってきた場合に
所定に優先順位に基づきその中から1つを選択する。割
込み優先判定回路1100は、チャネル部12から上が
ってくるマイクロプログラムへの割り込み要求の優先度
を判断し、マイクロプログラム制御部110へ割り込み
信号を伝達する。バッファレジスタ1110は、チャネ
ル部12からのデータを主記憶装置31へ書き込む場合
一時的にライトデータを保持する。出力データバッファ
レジスタ1120は、主記憶装置31からの読みだした
データをチャネル部12のデータバッファ200へ書き
込む場合に一時データを保持する。
【0021】なお、本実施例では、上述した先取りアド
レスバッファ121a 、先取りカンウトバッファ121
b 、第一フラッグ151、有効フラッグ160等を新た
に追加した点に特徴がある。
【0022】また、マイクロプログラム制御部110
は、マイクロプログラムを実行するマイクロプログラム
制御装置110A と、マイクロプログラムを記憶する制
御記憶装置110B とからなる。そして、マイクロプロ
グラム制御装置110A は、チャネル部12A ,1
B ,…,12H からの割り込み信号に応じて先取り情
報格納手段(先取りアドレスバッファ121a 、先取り
カンウトバッファ121b )に次の転送データに関する
アドレス情報とデータ長とデータ連鎖フラグの値を書き
込むとともに、書き込み後チャネル部12A ,12B
…,12H の後述する記憶手段の内容をリセットするも
のである。
【0023】図3は、上記入出力処理装置の複数のチャ
ネル部のうちの一つのチャンネル部の構成を示すブロッ
ク図である。
【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等を有している。
【0025】次に、主要部分の構成の説明をする。デー
タバッファ200は、1/0インタフェースを介して送
出されるデータあるいは受信するデータを一時バッファ
リングするものであり、64バイトの容量がある。ま
た、このデータバッファ200は、出力データ転送の場
合は、4バイト単位に主記憶装置31からのリードデー
タがレジスタ1120を介して書き込まれた後、1バイ
トづつ読みだされデータパスL11の上に送出される。
また、入力データ転送の場合には、データパスL11を
介して受信した1バイト毎のデータを、データバッファ
200に書き込み、4バイト以上バッファ内にデータが
留ると、主記憶装置31へ4バイト単位に書き込みを行
う。データバッファ200のビジー管理等は、データバ
ッファ制御部203が行う。
【0026】コマンドレジスタ208は、マイクロプロ
グラム制御部110からの指示内容(フラグのリセット
等)を一時格納する。チャネル番号レジスタ209は、
コマンドレジスタ208に格納されたコマンドがどのチ
ャネル部12に対して指示されたのかを示す。チャネル
部12は、自らの保有するチャネル番号情報と本レジス
タ208の内容を比較し、一致すると自分に対する指示
と認識しコマンドをデコード回路204で解読し実行す
る。なお、251〜253、261〜263、271〜
273は、データ転送制御部111からのデータ転送動
作に同期して指示される情報を記憶するフラグ群であ
る。次に、上述した実施例の作用を以下に説明する。
【0027】まず、データ転送の動作について説明す
る。
【0028】入出力処理装置10は、中央処理装置30
が主記憶装置31に作成したチャネルプログラムを主記
憶装置31から取り出す。チャネルプログラムは、チャ
ネル番号や装置番号を含むヘッダ部と、入出力動作を規
定するチャネルコマンド語とからなる。チャネルコマン
ド語は、8バイトからなり、その中にはチャネルコマン
ド、データ転送アドレス、データ長とからなる。データ
転送アドレスは、非ページモードの場合は、中央処理装
置30の物理的なアドレスで与えられるが、ページモー
ドの場合仮想記憶上の仮想的なアドレスである論理アド
レスで与えられるため入出力処理装置10の内部で論理
アドレスから主記憶装置31の物理的なアドレスへの変
換を行わなければならない。ページモードか否かは、中
央処理装置30がそのチャネルプログラムを発行する命
令によって定まる。チャネルコマンド語の形式の一例を
図6に示す。
【0029】図6に示すチャネルコマンド語600の形
式は、0〜7ビットがコマンド、8〜15ビットにDC
はデータ連鎖(DATA CHAINNING)、また
はCCはコマンド連鎖(COMMAND CHAINN
ING)を、16〜31ビットにカウント、0〜31ビ
ットにデータアドレスをそれぞれ示す。
【0030】中央処理装置30からは、チャネルプログ
ラムが格納されている主記憶装置31上の物理アドレス
とチャネル番号と装置番号が主記憶装置31の通信領域
(固定番地)を通じて入出力処理装置10に与えられ
る。
【0031】入出力処理装置10は、中央処理装置30
から入出力動作の起動を受けとると、その要求を一旦待
行列に入れる。待行列は、チャネル単位に存在し装置番
号をリンクする(その詳細は本実施例には示さない)。
その後、該当するチャネルの入出力インタフェース上の
特定の信号線を“1”にすることで、配下に接続されて
いる所定の入出力制御装置50A ,50B ,…,50H
に入出力の要求があることを知らせる。
【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 へ送出する。
【0033】入出力制御装置30A ,30B ,…,30
H は、入出力処理装置10から送られてきたコマンド語
を解読し、データ転送を指示するものであれば、再び、
サービスコードを入出力処理装置10に送出する。
【0034】今度のサービスコードは、データ転送の開
始を指示するものである。入出力制御装置50A ,50
B ,…,50H は、同時に自らも配下の装置を起動して
データ転送の可能なように準備を行う。
【0035】入出力処理装置10では、前述と同様にマ
イクロプログラム制御部110に対して割り込みが発生
する。こんどは、マイクロプログラム制御部110は、
チャネルコマンドを解析し、それがデータ転送を示して
いなければI/Oインタフェース制御部210上のエラ
ー信号を“1”にして異常であることを通知する。ま
た、入出力処理装置10は、チャネルコマンドの解析結
果がデータ転送を指示していれば、マイクロプログラム
制御部110によりデータ転送制御部111に対して以
下のことを行う。
【0036】(1)アドレスバアファ121a にチャネ
ルコマンド語に含まれるアドレスを書き込む。このとき
アドレスが論理アドレスであれば、マイクロプログラム
制御部110は、主記憶装置31上に存在する変換テー
ブルを使用して主記憶装置31上の物理アドレスに変換
した上でアドレスバッファ122a にセットする。
【0037】(2)チャネルコマンド語(図5参照)に
含まれるカウント値をカウントバッファ123a に書き
込む。
【0038】(3)次に、データ連鎖フラグを検査した
結果が“1”であれば第二フラッグ152のDCビット
を“1”に、検査結果が“0”であれば第二フラッグ1
52のDCビットを“0”にセットする。また、データ
転送がページモードか否かを調べ、ページモードであれ
ば第二フラッグ152のPGMDビットを“1”に、ペ
ージモードでなければ第二フラッグ152のPGMDビ
ットを“0”にセットする。
【0039】(4)入出力処理装置10では、マイクロ
プログラム制御部110により第二フラッグ152のP
GMDビットが“1”であれば、アドレスにカウント値
を加算する計算をし、その結果がページ境界であるとこ
ろの、例えば4〔Kバイト〕を越えるかどうかを検査す
る。もしも、ページ境界を越えるのであれば、次のペー
ジの開始アドレス(論理アドレス)を求め、これを物理
アドレスに変換し、先取りアドレスバッファ121a
書き込む。このとき、有効フラッグ160の有効ビット
0 ビットに“1”がセットされる。
【0040】(5)第二フラッグ152のPGMDビッ
トが“0”か、またはデータ転送中にページ境界を越え
なければ、入出力処理装置10は、データ連鎖ビットを
検査する。データ連鎖ビットが“1”であれば、第2番
目のチャネルコマンド語を取り出す。
【0041】(6)第2番目のチャネルコマンド語のア
ドレスを(論理アドレスであれば当然物理アドレスに変
換して)、先取りアドレスバッファ121a にセットす
る。また、同様にカウント値とデータ連鎖フラグを、カ
ウントバッファ123a と第一フラッグ151にセット
する。このときには、有効フラッグ160の有効ビット
0 からV2 まで有効ビットがセットされる。
【0042】(7)入出力処理装置10は、さらに、チ
ャネル部12のI/Oインタフェース制御部210にあ
るカウントレジスタ(図示せず)にカウントバッファ1
23 a と同じ値をセットし、チャネル部12のデータバ
ッファ200を空(Empty )の状態に設定する。
【0043】(8)チャネル部12にある制御フラグ群
251〜253、261〜263、271〜273をす
べてリセットする。
【0044】以上の(1)〜(8)までのステップの設
定が完了すると、I/Oインタフェース上の所定の信号
線を“0”にすることで、サービスコード処理からデー
タ転送へフェーズが移行する。
【0045】チャネルコマンド語が出力データ転送を指
示している場合、チャネル部12のデータバッファ20
0が空であることをデータバッファ制御部203が検出
し、チャネル用データ転送制御回路202は、信号線9
a を“1”にしてデータ転送を入出力処理装置10の
データ転送制御部111へ要求する(図4(a)タイミ
ングT1 )。
【0046】その要求は、データ転送優先判定回路19
0で他のチャネルからの要求との競合判定を受ける。こ
こでの優先度は、チャネル番号によって一意に定まって
いる。要求がデータ転送優先判定回路190で選択され
ると、その要求と選択されたチャネル番号が信号線92
によりデータ転送制御回路180に伝えられチャネル番
号が受付チャネルレジスタ171a に入る(図4(c)
タイミングT2 )。受付チャネルレジスタ171a の内
容がデコードされ要求を受け付けたチャネル部12にア
クセプト信号172a 〜172nの何れかひとつが返さ
れる(図4(b)タイミングT2 )。
【0047】チャネル部12は、アクセプト信号を受け
取ると要求信号91aを“0”に落とす。受付チャネル
レジスタ171a に入ったチャネル番号は、次のタイミ
ングでレジスタ171b に移される(図4(d)タイミ
ングT3 )。
【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によって生成される。
【0049】アドレスバッファ122a の内容は、演算
器122c により転送されたバイト数分だけ加算され、
アドレスバッファ122a に書き戻される。カウントレ
ジスタ123b の内容は、転送されたバイト数分だけ演
算器123c によって減算されカウントバッファ123
a に書き戻される。このときのアドレスバッファ122
a とカウントバッファ123a の書込みアドレスはレジ
スタ171c の内容が用いられる。
【0050】主記憶装置31から読みだされたデータ
は、レジスタ1120に一旦格納され、データ線L22
によりチャネル部12のデータバッファ200に送出さ
れることになる(図4(l)タイミングT5 )。
【0051】チャネル番号はレジスタ171c からさら
にレジスタ171d へ送られて(図4(f)タイミング
5 )、レジスタ171d の内容がデコードされ一連の
動作の完了を示すためチャネル部12へ信号線73a
73n の何れか1本のみを“1”にする。
【0052】チャネル部12は、信号線73a が“1”
になっていたことで、データバッファ200にデータ線
L22のデータを書き込み、データバッファ200の第
1バイト目を読み出し、I/Oインタフェース上のデー
タパスL11へ送出するとともに、必要なアウトタグ
(out tag )線を活性化して入出力制御装置12とのデ
ータ転送シーケンスを開始する。
【0053】チャネルコマンド語が入力データ転送を指
示していれば、データパスL11を介して1〔バイト〕
単位に受信したデータが4〔バイト〕以上データバッフ
ァ内に留ったことをデータバッファ制御部203が検出
するとチャネル用データ転送制御回路202にデータ転
送要求rqを指示する。
【0054】主記憶装置31から入出力制御装置5
A ,50B ,…,50H に対するデータ転送は上述し
たように行われる。
【0055】一方、入出力制御装置50A ,50B
…,50H から主記憶装置31への書込みの動作は出力
データ転送と同様であり、異なるのは、データバッファ
200の内容がレジスタ1110に読みだされ主記憶装
置31へ送られることと(図4(k)タイミング
3 )、データ転送制御回路180の生成するメモリコ
マンドが書き込みを指示していることだけである。
【0056】以上述べた動作は、データ転送によりカウ
ントが0にもならずまたアドレスがページ境界に達しな
い場合であり、フラグ141a 〜143a 、141b
143b 、141c 〜143c には、すべて0がセット
されている。
【0057】<カウント0の動作>
【0058】次に、データ転送によりカウントが0にな
る場合の動作について説明する。
【0059】(先取りが間に合う場合の動作)
【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ビットはリセットされる。
【0061】フラグ141a 〜143a の内容は、次の
タイミングでフラグ141b 〜143b に移り、信号線
41c 〜43c を介してチャネル部12に伝えられる。
チャネル部12では、ゲート251〜253を通ってフ
ラグ271〜273にセットされる。この場合、フラグ
271のみが“1”になる。
【0062】割り込み要求生成回路201は、フラグ2
71〜273に“0”以外のデータがセットされると割
り込み信号を発生し、信号線L01a (この信号線には
割り込み要求の他に割り込みの内容を示す情報も含まれ
ているが個別には図示していない)を活性化して、入出
力処理装置10に対し割り込みを要求する。入出力処理
装置10では、割込み優先判定回路1100を通ってマ
イクロプログラム制御部110に割り込み信号L02を
伝達する。
【0063】マイクロプログラム制御部110は、割り
込みが入ると、その内部に保持していた次のデータ転送
に関するメモリアドレスとデータカウントとデータ連鎖
フラグを先取りアドレスバッファ112a と先取りカウ
ントバッファ112b と先取り有効フラッグ160にセ
ットする。また、マイクロプログラム制御部110によ
る先取り情報のセットについては、仮に次のデータ転送
がデータ連鎖されたものであるならば上記3種の先取り
情報のセットが必要であるが、ページの切れ目に関する
ものであればアドレスのみをセットする。すなわち、ペ
ージの切れ目に関するものであれば、有効フラッグ16
0のV0 ビットのみが“1”となる。以上のセットが終
わると、マイクロプログラム制御部110は、さらに次
のデータ転送に関する先取り情報を準備し、マイクロプ
ログラム制御部110の内部に記憶する。次に、マイク
ロプログラム制御部110は、チャネル部12のフラグ
271〜273の内容のリセットを指示する。この指示
は、マイクロプログラム制御部110から信号線S2a
により指示内容がS2b により指示するチャネルを示
す。
【0064】信号線S2a と信号線S2b のデータは、
チャネル12内でレジスタ208とレジスタ209に格
納された後、デコード回路204で解読され実行され
る。前述のリセット指示があるとチャネル12は、フラ
グ261〜263の内容をフラグ271〜272へ移送
する。
【0065】以上の処理が行われている間もチャネル部
12と主記憶装置31の間のデータ転送は引き続き行わ
れている。
【0066】(先取りが間に合わない場合の動作)
【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間のデータ転送は抑止され
る。
【0068】マイクロプログラム制御部110は、先取
り処理が完了するまでは、当該チャネル12からの割り
込みを受け付けないようになっているため、割り込みが
受け付けられた時点ではすべての先取り有効フラッグ1
60のVビットのセットが行われている。マイクロプロ
グラム制御部110は、この場合、特別なマイクロ命令
を実行する。そのマイクロ命令の実行結果、有効フラッ
グ160のVビットが“1”である先取りバッファ先取
りアドレスバッファ121a 、先取りカンウトバッファ
121b 、データ連鎖フラグである第一フラッグ151
の内容が、アドレスバッファ122a 、カウントバッフ
ァ122b および第二フラッグ152のDCビットに書
き込まれる。マイクロプログラム制御部110は、以上
の処理を終えたあとチャネル部12のフラグのリセット
指示を行うと、フラグ273は“0”となり、データ転
送を再開する。
【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に伝えられることになる。
【0070】以下の動作は、フラグ141a がセットさ
れた前述の場合と同様に行われ、マイクロプログラム制
御部110に割り込みが起こり次の先取りに必要な情報
を先取りアドレスバッファ121a 、先取りカンウトバ
ッファ121b 、先取り用第二フラッグ152に書き込
んだ後に、チャネル部12のフラグのリセットが行われ
る。このときも、フラグ173が“1”の場合は、チャ
ネル部12と主記憶装置31との間のデータ転送は中断
され、フラグ173が“1”の場合はデータ転送は継続
される。
【0071】次に、チャネル部にある2組のフラグの動
作について説明する。
【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に送られる。
【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により、データ転送
を抑止する。
【0074】マイクロプログラム制御部110が先取り
アドレスバッファ121a 、先取りカンウトバッファ1
21b 、先取り用第二フラッグ152の書き込みを完了
し(すなわち、対応するVビットが“1”となった
後)、マイクロプログラム制御部110がチャネルのフ
ラグのリセット指示を行うと、チャネル部12の命令デ
コード部204の制御の下に、フラグ271〜273
に、フラグ261〜263の内容が移される(図5
(j)(k)タイミングT12)。データが移された後
に、フラグ273は“1”のため、データ転送の抑止状
態は継続し、割込み要求生成回路201は、再び、マイ
クロプログラム制御部110に対して割り込みを要求す
る。
【0075】マイクロプログラム制御部110は、割り
込みに応じて、前述と同様に先取りアドレスバッファ1
21a 、先取りカンウトバッファ121b 、有効フラッ
グ160に必要な情報を書き込んだあと、チャネル部1
2にフラグにリセットを指示する。2回目のリセット指
示では、フラグ261〜263は“0”のためフラグ2
71〜273は今後は“0”となり、割り込みの要因も
消えデータ転送の抑止状態を解除され、データ転送は再
開する。
【0076】以上のようにして、データ転送が行われ全
てのデータ転送が完了すると、即ち、データカウント値
が0となり、第二フラッグ152のDCビットが“0”
であると、データ転送制御部111は、データ転送の完
了をチャネル部12へ信号線により指示する(本信号線
は図示していない)。チャネル部12は、データ転送完
了の信号を受信するとデータバッファ200の空きまた
は詰まり具合にかかわらずデータ転送要求の送出を止
め、I/Oインタフェース上の所定の信号線を“1”に
して、所定の入出力制御装置50に転送の終了を通知す
る。
【0077】入出力制御装置50は、チャネルコマンド
語のCCビットが“1”であると次のチャネルコマンド
語の送出を入出力処理装置に要求するサービスコードを
送出する。また、入出力制御装置50は、CCビットが
“0”であると、I/O動作の終了を指示するサービス
コードを終了状態を示す状態バイトの3バイトと共に入
出力処理装置10へ送出する。
【0078】入出力処理装置10は、次のコマンド語を
要求するサービスコードであれば次のコマンド語メモリ
より取り出して、入出力制御装置50へ送出する。ま
た、終了を指示するサービスコードであれば、終了報告
を行うため主記憶装置31上に終了報告情報を作成し、
終了報告待行列にリンクする。(待行列は、メモリ上に
構築され、全ての入出力装置について1つのみ存在す
る。ここでは、詳細は示さない。)
【0079】
【発明の効果】以上説明したように、本発明によれば、
高性能でデータオーバーランが発生しにくく、少ないハ
ードウェアによりできる。
【図面の簡単な説明】
【図1】本発明の入出力処理装置の実施例を含むデータ
転送システムを示すブロック図である。
【図2】本発明の実施例の入出力処理装置のデータ転送
制御部の構成を示すブロック図である。
【図3】本発明の実施例の入出力処理装置のチャネル部
の構成を示すブロック図である。
【図4】本実施例の動作を説明するためのタイミングチ
ャートである。
【図5】本実施例の動作を説明するためのタイミングチ
ャートである。
【図6】本発明の実施例で使用するチャネルコマンドの
例を示す説明図である。
【符号の説明】
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 データ転送優先判定回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 上位装置である主記憶装置と下位装置で
    ある複数の入出力制御装置との間に接続されており、複
    数の入出力制御装置を接続する複数のチャネル部と、マ
    イクロプログラムで制御されるマイクロプログラム制御
    部および前記チャネル部と前記主記憶装置間のデータ転
    送を制御するデータ転送制御部からなる共通部とを備え
    た入出力処理装置において、 前記データ転送制御部には、 先取りアドレス情報と先取りデータ長を記憶する先取り
    情報格納手段と、 転送データの前記主記憶装置上のアドレス情報とデータ
    長を記憶する記憶手段と、 データ転送のための主記憶装置を一回アクセスする毎に
    前記記憶手段のアドレス情報とデータ長を更新する更新
    手段と、 データ連鎖が指示されているか否かを記憶する先取り第
    一フラグと、 データ連鎖が指示されている場合には次の転送データの
    アドレス情報とデータ長とデータ連鎖が継続するか否か
    の情報を格納する第二フラッグと、 前記フラッグの各内容が有効であることを示す先取り有
    効フラグとを備え、前記記憶手段のデータ長の値が更新
    手段により減算されて零になったとき、前記有効フラッ
    グが全て立っていれば前記先取り情報格納手段のデータ
    が前記記憶手段に書き込まれてデータ転送が継続するよ
    うにしたことを特徴とする入出力処理装置。
  2. 【請求項2】 前記先取り格納手段は、先取りしたアド
    レスを格納する先取りアドレスバッファと、先取りのデ
    ータ長を格納する先取りカウントバッファとからなるこ
    とを特徴とする請求項1記載の入出力処理装置。
  3. 【請求項3】 前記記憶手段は、現在データ転送中のデ
    ータの残りバイト数を記憶するカウントバッファと、現
    在データ転送中のアドレスを記憶するアドレスバッファ
    とからなることを特徴とする請求項1記載の入出力処理
    装置。
JP34709591A 1991-12-27 1991-12-27 入出力処理装置 Pending JPH05181778A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34709591A JPH05181778A (ja) 1991-12-27 1991-12-27 入出力処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34709591A JPH05181778A (ja) 1991-12-27 1991-12-27 入出力処理装置

Publications (1)

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

Family

ID=18387879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34709591A Pending JPH05181778A (ja) 1991-12-27 1991-12-27 入出力処理装置

Country Status (1)

Country Link
JP (1) JPH05181778A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (ja) * 1995-10-06 2009-04-16 Patriot Scientific Corp マイクロプロセッサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (ja) * 1995-10-06 2009-04-16 Patriot Scientific Corp マイクロプロセッサシステム

Similar Documents

Publication Publication Date Title
US5388219A (en) Efficient channel and control unit for host computer
US6336150B1 (en) Apparatus and method for enhancing data transfer rates using transfer control blocks
US6772237B2 (en) Host controller interface descriptor fetching unit
US7461183B2 (en) Method of processing a context for execution
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
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 (ko) 동적연쇄화조작동안레이스상태를막는방법및장치
JPH06168179A (ja) 非同期コプロセッサによるデータ移動方法および装置
JP2557199B2 (ja) インターフェース・システムおよび方法
US5371857A (en) Input/output interruption control system for a virtual machine
US20070162637A1 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
US7334056B2 (en) Scalable architecture for context execution
US6738837B1 (en) Digital system with split transaction memory access
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 (ja) 入出力処理装置
JPS63208151A (ja) デジタルデータ処理システムのプロセッサと特殊命令プロセッサの間のインターフェイス
US6134623A (en) Method and system for taking advantage of a pre-stage of data between a host processor and a memory system
US5734900A (en) Information handling system including efficient power on initialization
JPS6022376B2 (ja) キャッシュメモリ制御装置
JPH06324861A (ja) Cpu制御システム及び制御方法