JPS5953566B2 - チヤネル装置 - Google Patents

チヤネル装置

Info

Publication number
JPS5953566B2
JPS5953566B2 JP11336177A JP11336177A JPS5953566B2 JP S5953566 B2 JPS5953566 B2 JP S5953566B2 JP 11336177 A JP11336177 A JP 11336177A JP 11336177 A JP11336177 A JP 11336177A JP S5953566 B2 JPS5953566 B2 JP S5953566B2
Authority
JP
Japan
Prior art keywords
channel
command
input
data
record
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
JP11336177A
Other languages
English (en)
Other versions
JPS5447538A (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 JP11336177A priority Critical patent/JPS5953566B2/ja
Publication of JPS5447538A publication Critical patent/JPS5447538A/ja
Publication of JPS5953566B2 publication Critical patent/JPS5953566B2/ja
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、電子計算機システムにおけるチャネル装置に
関するものである。
周知のように、チャネル装置(以下チャネルと称す)は
入出力装置と主記憶装置との間のデータの流れを制御し
、かつ、種々の入出力装置を演算処理装置と主記憶装置
とに接続するための機能を有するものである。
このチャネルはプログラムにより与えられた形式の制御
情報を演算処理装置および主記憶装置内から受取りある
いは読み出して、それを入出力装置が受取ることのでき
る一連の信号に変換する。チャネルと入出力装置との間
の入出力動作が開始されると、演算処理装置は入出力動
作から開放されて他の仕事を行えるようになる。一方、
チャネルは主記憶装置のサイクルと同期をとるためにデ
ータの組立て分解を行いつつチャネルと人出力装置間の
いわゆる入出力インタフェースを通じて入出力装置との
データ転送を行う。このことを行うために、チャネルは
入出力装置から転送されるデータを格納する主記憶装置
内のアドレスまたは入出力装置へ転送するfヨ黹^が格納
されている主記憶装置内のアドレスおよびデータ転送を
行うべきバイト・カウント等を保持するレジスタ(チャ
ネル・レジスタと称す)を有し、データ転送の進行に従
つてこれらのレジスタを更新、監視することを行う。入
出力動作は、入出力命令およびチャネル・コマンド語に
よつて開始され、制御される。
チャネル・コマンド語(CCW)は、チャネルと入出力
装置によつて解読されて実行される。1つのCCWある
いは順次実行して行くように配列された一連のCCW群
が1つのチャネル・プログラムを形成する。
入出力命令もCCWも主記憶装置から読み出されるが、
その形式は種々の入出力装置に共通である。入出力開始
命令(SIO)は、チヤネルと入出力装置を指定し、チ
ヤネルに対して主記憶装置内に用意されたチヤネル・プ
ログラムの実行を指示する。
主記憶装置内に用意されたチヤネル・プログラムの先頭
アドレスは主記憶装置内のある固定したアドレス位置(
例えば72番地)に格納されている。入出力開始命令で
脂定されたチヤネルは、主記憶装置内の固定したアドレ
ス位置に格納されているチヤネル・プログラムの先頭ア
ドレスを示す語すなわちチヤネル・アドレス語(CAW
)を読出し、その後、このCAWによつて脂定されたC
CWを主記憶装置から順次読み出して入出装置との間で
の一連の入出力動作を制御する。チヤネル・プログラム
の実行を終了すると、チヤネルは演算処理装置に終了割
込みを要求し、この要求が受付けられると主記憶装置内
の予じめ定められたアドレス位置にチヤネル・プログラ
ムの終了結果を含む状況情報を格納する。第1図はCC
Wの形式を示したものであり、コマンド、データ・アド
レス、フラグおよびカウン,ト部からなる。
コマンド部は、第2図に示すように、無効コードを除く
と基本的には6種類に分類される。このうち、チヤネル
内とび゛越しコマンドはチヤネルによつてのみ触読、実
行されて、入出力装置には通知されない。他の有効な5
種類のコ・マンド・コードは、CCWの実行開始の時点
でチヤネルから入出力装置に通知されて解読される。入
出力装置は、1つのコマンド・コードを受取ると、この
コマンド・コードによつて定義された1つの入出力動作
を実行する。例えば、カード読取.り装置の場合には、
読取りコマンドを受取ると力ードを1枚分読取り、チヤ
ネルにはそのカード1枚にパンチされたデータを転送し
てくる。コマンド・コード゛x゛の部分はチヤネルおよ
び入出力装置によつて解読されない。また、Mの部分は
.個々の入出力装置にそのコマンドをどのように実行す
るかを指定するためのもので、チヤネルでは解読されな
い。データ・アドレス部は、入出力装置とチヤネルとの
間で転送されるデータの主記憶装置内におけるアドレス
位置の先頭アドレスを指・定する。フラグ部は、第3図
に示す形式であり、チヤネルに対して、CCWおよびチ
ヤネル・プログラムをどの様に実行すべきかを指定する
。カウント部は、そのCCWによつてチヤネルと入出力
装置間で転送されるべきデータのバイト数を指定する。
入出力開始命令によつてチヤネルがチヤネル・レジスタ
上にCCWを読出してくると、コマンド部はチヤネルで
解読されるとともに入出力装置に通知され解読される。
コマンド・コードが入出力装置で解読されると、そのコ
マンドが実行可能か否かがチヤネルに通知され、実行可
能な場合にはデータ転送が開始される。チヤネルはこの
時点で演算処理装置に入出力開始命令完了を報告する。
入出力装置からチヤネルに対してデータの転送が要求さ
れると、チヤネルはデータ・アドレス部で指定された主
記憶装置内のアドレス位置に対してカウント部で指定さ
れたバイト数分のデータ転送を行う。入出力装置からは
1バイト単位にデータの転送要求が行われ、チヤネルは
その都度、カウント部を1つつ減算することによつて転
送バイト数を管理する。データ転送の途中で功ウント部
が零になると、チヤネルは、フラグ部のビツト32が“
゜1゛か否かを調べ、゜゜1゛であつた場合には、すな
わち、データ連鎖が指定されていれば、現在実行してい
たCCWに続いて主記憶装置内に用意されている新しい
CCWを読出し、チヤネル・レジスタのコマンド部を除
く部分を新しいCCWのものと置き換えてデータ転送を
続行する。これがデータ連鎖であり、読取りコマンド時
には入出力装置から転送された一連の連続したデータも
異つた主記憶装置内のアドレス位置に格納することがで
きる。また、書込みコマンド時には主記憶装置内の異つ
たアドレス位置のデータを一連の連続したデータとして
入出力装置に転送することができる。データ連鎖は、チ
ヤネルによつて行われるので、入出力装置では関知しな
い。カウント部が零になつたときにデータ連鎖の指定が
ない場合には、そのCCWの実行を終了するため、チヤ
ネルは入出力装置にデータ転送の終了を指示する。デー
タ転送の終了を指示された入出力装置はデ゛一タ転送の
要求を停止してコマンド実行の終了をチヤネルに報告す
る。CCWのカウント部か入出力装置に通知したコマン
ドによつて転送されるバイト数よりも大きな値を示して
いた場合には、カウント部が零になる前に入出力装置か
らコマ実行の終了が報告される。チヤネルは、コマンド
実行の終了が報告されると、カウント部の値とフラグの
内容によつて次の様にチヤネル・プログラムの実行の仕
方を決定する。
まず、カウント部が零を示しており、かつ、コマンド連
鎖が指示されていると、データ連鎖時と同様にして新し
いCCWを主記憶装置内から読出してきて、コマンド部
を含むチヤネル・レジスタを新しいCCWと置き換えて
入出力装置に新しいコマンドを通知し、共に新しいCC
Wを実行する。これをコマンド連鎖と称する。カウント
部が零でなかつた場合には、フラグ部の誤長表示抑制指
示があるか否かを調べ、脂示がある場合には、カウント
が零であつたときと同様にコマンド連鎖を行う。上記以
外のコマンド連鎖を行わない場合には、実行を終了した
時点のチヤネル・レジスタ上の更新されたCCWを含む
状況情報を作成し演算処理装置に対して入出力終了割込
みを発生する。以上が従来技術における一般的なチヤネ
ルの動作である。
さて、電子計算機システムにおいて大量のデータを記録
する入出力装置の1つに磁気デイスク記憶装置がある。
第4図は、現在一般的に用いられている磁気デイスク装
置における磁気デイスク面上の記録形式を示したもので
あり、ある一つの円周に与えられたデータの記録の単位
であつて、トラツクと呼ばれているものである。イン、
デツクス・マーカは円周の始まり、すなわち、トラツク
の始まりを示すものである。磁気デイスク面上の各トラ
ツタは、ホーム・アドレスと呼ばれるエリアと複数個の
レコード・エリアによつて構成される。各レコード・エ
リアは、カウント・エリア、キー・エリアおよびデータ
・エリアから構成される。ホーム・アドレス・エリアと
カウント・エリアは固定の長さを有する。キー・エリア
およびデータ・エリアは可変であり、その長さは各エリ
アが属するレコードのカウント・エリアの一部に定義さ
れる。すなわち、カウント・エリアのKLの部分はキー
・エリアの長さを示し、DLの部分はデータ・エリアの
長さを示す。カウント・エリアのCC,HHはそのカウ
ント・エリアを有するレコードが存在するトラツクの磁
気デイスク記憶装置内でのアドレスで、シリンダ・アド
レスとトラツク・アドレスに分けられる。Rはレコード
の番号である。このような形式で記録されているレコー
ドを操作するために、磁気デイスク記憶装置は種々の入
出力コマンドを備えているのが普通であり、プログラム
は、CCWのコマンド部でこれらの入出力コマンドを与
えることができる。しかしながら、従来においては、磁
気デイスク記憶装置の入出力コマンドには、ホーム・ア
ドレス部の読取りと書込み、レコード内の各エリアに対
する読取りと書込みおよびレコードに対する読取りと書
込みのコマンド等は用意されていたが、トラツクに対す
る読取りと書込みのコマンドは用意されていなかつた。
このため、次の様に改善すべき問題があつた。すなわち
、トラツタ上に可変長で書かれたレコード群を主記憶装
置内の連続したアドレス位置にまとめて読出す場合いは
、まず、トラツク内の各レコードの長さを知る必要があ
り、このため、プログラムではレコードのカウント部の
読出しを行うCCWを作成し、これをレコードの数だけ
コマンド連鎖させたチヤネル・プログラムを作成し、実
行させなければならなかつた。次に、各レコードのカウ
ント・エリアを読込んだならば、このカウント・エリア
内に含まれるKLおよびDLによつてキー・エリアの長
さおよびデータ・エリアの長さを知り、各レコードに対
応したレコード読取りのCCWを作成し、これらを同じ
くコマンド連鎖させてチヤネル・プログラムを作成し、
実行させなければならなかつた。このため、1つのトラ
ツクを読出すためには、少なくとも磁気デイスクの2回
転に要する時間を必要とした。従つて、磁気デイスク記
憶装置1台分の全レコードを読込むために要する時間は
、近年の磁気デイスクの記録密度の向上によるトラツク
数の増加と相乗してフ冶グラム処理時間におけるネツク
となつていた。一例をあげると、トラツク数が7809
個、磁気デイスクの1回転に要する時間が16.7ms
ec、指定したトラツクへの読取リヘツドの位置付け時
間が10msecの性能を持つ磁気デイスク装置1台の
読取りに要する時間は約8分である。本発明の目的は、
上記した如き問題点を改善することにあり、従来技術で
はプログラムによつて複数個のCCWを用意しなければ
実行できなかつた入出力動作を、1つのCCWを用意す
るだけで実行することができるチヤネル装置を提供する
ことにある。
具体的には、チヤネルが特別のCCWによつて入出力装
置とデータ転送を行つている場合、カウントが零になる
前にコマンド実行の終了が報告されると、データ転送に
よつて更新されてチヤネル・レジスタ上に残されたデー
タ・アドレス、カウントおよびコマンドを新しいCCW
に見たててコマンド連鎖する機能すなわち1つのCCW
を複数個のCCWに分解して実行する機能を有するチヤ
ネル装置を提供することにある。
以下、実施例により本発明の内容を詳細に説明する。
第5図はチヤネル・レジスタを示したものである。
CARはチヤネルが次に実行すべきCCWのアドレスを
保持するレジスタであり、入出力開始命令受付け時には
主記憶装置の固定アドレスから読出したチヤネル・アド
レス語を格納してチヤネル・プログラムの先頭アドレス
を与える。チヤネルがCCWを読出してくると、次に実
行すべきCCWのアドレスを示すように更新する。CC
Rlおよび2は読出してきたCCWを格能するレジスタ
であり、CCWの実行の進行に従つてCCRlの,次に
転送すべきデータのアドレス部とCCR2の転送バイト
・カウント部を更新する。CCR2のフラグ部のビツト
7゜“CR゛は本発明で新しく導入したフラグ・ビツト
であり、入出力装置とのデータ転送(バイト)数がCC
Wで指定された転送,バイトカウントに満たないで終了
した場合には、コマンド連鎖を妨げる他の条件が発生し
ていない限り、チヤネル・レジスタCAR,CCRlお
よびCCR2に残つた数値を、新たなCCWとしてコマ
ンド連鎖することを指示する。ここでは、この動作を従
来のコマンド連鎖と区別するためにレコード連鎖と称す
ことにする。フラグ部がデータ連鎖あるいはコマンド連
鎖を指示していた場合にはレコード連鎖は抑止する。さ
て、第4図に示した記録形式の読取りを例に.説明する
説明を容易にするために、各レコードの長さは第6図に
示すようにカウント・エリアが7バイト、レコード1が
150バイト、レコード2は250バイト、レコード3
〜15が200バイト、トラツクの最大記録容量は50
00バイトと仮定し、レコード1からトラツクの最終に
位置するレコード15までを連続した主記憶装置内に読
込むものとする。この場合には読取りへツドをレコード
1に位置付けるチヤネル・プログラムに次の様なCCW
をコマンド連鎖すれば良い。すなわち、データ・アドレ
ス部には主記憶装置内のレコードが読込まれる位置の先
頭アドレスを与える。フラグ部ではCRビツトを゜゜1
゛にしてレコード連鎖を指示する。カウント部には1ト
ラツクの最大記録容量である5000を与える。コマン
ド部にはレコード読取りのコマンドを与える。このよう
なCCWが与えられると、チヤネルは次の様にしてこの
CCWを実行する。まず、レコード]の位置に読取りへ
ツドの位置付けが完了し、コマンド連鎖によつて上記C
CWがチヤネル・レジスタ上に読出されてレコード読取
りコマンドが磁気デイスタ記憶装置に通知される。レコ
ード読取りコマンドが通知された磁気デイスク記憶装置
は、レコード1のカウント・エリア、キーエリアおよび
゛データ・エリアのデータをチヤネルに転送してコマン
ド実行の終了を報告してくる。このとき、チヤネル・レ
ジスタの転送バイト・カウントは5000から150を
減算した値である4850を示している。したがつて、
チヤネルはチヤネル・レジスタ上に残つた情報を新しい
CCWとしてコマンド連鎖を行い、レコード2以下のデ
ータ転送を引き続いて制御する。第7図は、本発明の実
施にあたり新しく設けられたチヤネル内の回路および従
来からある回路の一部を示したものである。
図中、11〜14は論理否定(NOT)回路、15〜1
8は論理積(AND)回路、19は論理和(0R)回路
であり、CCR2の転送バイト・カウント部には、転送
バイト・カウントが零か否かを検出する零検出器20が
付加されている。入出力装置からコマンド実行の終了報
告があると、フラグ部と転送バイト・カウント部の関係
からコマンド連鎖あるいはレコード連鎖の条件が成立し
ているか否かが調べられる。
CCR2のフラグ部でデータ連鎖(CD=1)を指示し
ていた場合、AND回路16〜18はすべてNOT回路
11の出力信号によつて論理積が成立せず、コマンド連
鎖、レコード連鎖の条件は検出されない。フラグ部でコ
マンド連鎖(CC=1)を指示しており、かつ、転送バ
イト・カウントの値が零であつた場合にはAND回路1
6の論理積が成立し、又、転送バイト・カウントの値が
零でなく、かつフラグ部で誤長表示抑制(SLI=1)
を指示していた場合にはAND回路17の論理積が成立
し、ともにコマンド連鎖条件を検出する。この時、AN
D回路18はNOT回路12の出力信号によつて論理積
が成立せず、レコード連鎖の条件は検出されない。フラ
グ部がレコード連鎖(CR=1)を指示していた場合で
、転送バイト・カウントが零でない場合には、AND回
路18の論理積が成立し、レコード連鎖の条件を検出し
たことを示すレコード連鎖信号を出力する。AND回路
16〜18の出力信号は0R回路19に加えられ、コマ
ンド連鎖またはレコード連鎖条件が検出されていた場合
、コマンド連鎖信号を出力する。コマンド連鎖信号はチ
ヤネル全体の動作を制御しているマイクロ・プログラム
にコマンド連鎖に関する一連の動作を生起させる。マイ
クロ・プログラムは、コマンド連鎖を行う場合にはレコ
ード連鎖信号を調べる。
この時、レコード連鎖信号が出力されていない場合は従
来と同様のコマンド連鎖の処理を行い、主記憶装置内の
CARの次に実行すべきCCWのアドレスでアドレスさ
れる位置からCCWを読出し、これでチヤネル・レジス
タを更新し、更にCARを今読み出してきたCCWの次
に実行すべきCCWのアドレスに更新し、入出力装置に
対してコマンド連鎖を通知する。一方、レコード連鎖信
号が出力されていた場合には、CCWとしてはチヤネル
・レジスタ上に残されていた値を用い、CCWの読出し
、CARの更新を飛び越して直ちに入出力装置に対して
コマンド連鎖を通知する。さて、第6図のレコードの読
取りにおいて、以上のようにしてレコード連鎖が行われ
た場合、チヤネル・レジスタ上のデータアドレス部は初
期の値よりも150増加した値を示している。
コマンド連鎖によつて再びレコード読出しのコマンドを
受取つた磁気デイスク記憶装置はレコード1の場合と同
様にしてレコード2のデータを転送して終了する。この
とき、チヤネル・レジスタの転送バイト・カウントは4
850から250を減じた値4600を示しており、レ
コード1のときと同様コマンド連鎖が行われる。以下、
同様にしてレコード15までの読取りが行われる。レコ
ード15の読取りが終了した時点でチヤネル・レジスタ
上の転送バイト・カウントは5000から、レコード1
から15までのレコード長の総和150+250+20
0×13=3000を減算した値2000を示しており
、更にレコード連鎖が行われる。しかしながら、磁気デ
イスク装置にコマンド連鎖が指示されても、磁気デイス
ク装置はインデツクス・マーカを検出していることによ
り、レコード読取りコマンドは実行不可能であり、磁気
デイスク装置からチヤネルに対してコマンド実行不可の
通知がなされる。これでチヤネルにおける当該CCWの
実行が終了し、入出力終了割込みの発生条件となる。以
上説明してきたように、本発明によれば従来磁気デイス
クの2回転を必要としていたトラツクの読取りが1回転
で可能になる。
従つて、先に説明した磁気デイスク装置1台の読取りに
要した時間は、本発明によれば約8分から約4.5分に
短縮でき、磁気デイスク装置の数が多くなればその効果
は顕著なものとなることは明らかである。
なお、本発明によるチヤネルは磁気デイスク装置以外の
他の入出力装置にも利用することが可能である。
【図面の簡単な説明】
第1図はチヤネル・コマンド語の形式を示す図、第2図
および第3図はそれぞれチヤネル・コマンド語のコマン
ド部、フラグ部の詳細を示す図、第4図は磁気デイスタ
面上の記録形式を示す図、第5図はチヤネル・レジスタ
を示す図、第6図は第4図での各レコードの長さの1例
を示した図、第7図は本発明の一実施例で、特にチヤネ
ルのレコード連鎖条件検出回路を示した図である。

Claims (1)

    【特許請求の範囲】
  1. 1 演算処理装置の入出力開始命令を受取ると、主記憶
    装置に貯えられたチャネル・コマンド語(CCW)を読
    出して該チャネル・コマンド語に従つて主記憶装置と入
    出力装置間のデータ転送を制御するチャネル装置におい
    て、前記チャネル・コマンド語はコマンド部、データ・
    アドレス部、フラグ部およびカウント部から成り、該チ
    ャネル・コマンド語を読込むチャネル・レジスタと、前
    記チャネル・コマンド語に基づき該データ転送を制御し
    、前記チャネル・レジスタのデータ・アドレス部、カウ
    ント部の内容を更新する手段と、入出力装置からデータ
    転送終了が報告されたことを検出すると前記チャネル・
    コマンド語に特別な制御を行うことが指示されているか
    否かを検出する手段と、前記チャネル・レンジスタ内の
    カウント部が零の値であるか否かを検出する手段とを有
    し、前記チャネル・レジスタ内のカウント部が零の値で
    なく、かつ、前記チャネル・コマンド語に特別な制御を
    行うことが指示されていると、前記チャネル・レジスタ
    内の同じコマンド部を用いて入出力装置にコマンド連鎖
    を行い、該レジスタ内の更新されたデータ・アドレス部
    およびカウント部を用いてデータ転送を続行することを
    特徴とするチャネル装置。
JP11336177A 1977-09-22 1977-09-22 チヤネル装置 Expired JPS5953566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11336177A JPS5953566B2 (ja) 1977-09-22 1977-09-22 チヤネル装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11336177A JPS5953566B2 (ja) 1977-09-22 1977-09-22 チヤネル装置

Publications (2)

Publication Number Publication Date
JPS5447538A JPS5447538A (en) 1979-04-14
JPS5953566B2 true JPS5953566B2 (ja) 1984-12-26

Family

ID=14610323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11336177A Expired JPS5953566B2 (ja) 1977-09-22 1977-09-22 チヤネル装置

Country Status (1)

Country Link
JP (1) JPS5953566B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6362025A (ja) * 1986-09-03 1988-03-18 Sharp Corp 高速フアイルアクセス方法

Also Published As

Publication number Publication date
JPS5447538A (en) 1979-04-14

Similar Documents

Publication Publication Date Title
US4598357A (en) Cache/disk subsystem with file number for recovery of cached data
EP0017670B1 (en) A data processing system arranged for controlling the transfer of data between a central processing unit and a storage device thereof
US5384669A (en) Combining small records into a single record block for recording on a record media
CA1197021A (en) Roll mode for cached data storage
JPH0727438B2 (ja) ディスク回転位置制御を行うキャッシュ付きdasdサブシステム及びその実行方法
US5862363A (en) Method of controlling a disk device by disk control unit
EP0098172B1 (en) Register control processing system
EP0347032B1 (en) Record format emulation
JPH04243458A (ja) チャネルー直接アクセス記憶装置間非同期通信システム
EP0017666A2 (en) Methods of operating direct access storage means
JP2761289B2 (ja) ディスクトラックエミュレーション方法
US4089027A (en) Arrangement for retrieving information recorded on a semi-random access record carrier
JPS5953566B2 (ja) チヤネル装置
US6170034B1 (en) Hardware assisted mask read/write
US5581458A (en) Bufered intelligent digital tape controller with onboard ECC and featuring global control variables
EP0080878A2 (en) Cache memory and method of control for use with magnetic disks
JPS5816212B2 (ja) エラ−リトライ制御方式
JPS58223860A (ja) 磁気デイスク制御装置
JPS6041124A (ja) 磁気デイスク制御装置
JPS61221924A (ja) 入出力チヤネル
KR930008151B1 (ko) 디스크 제어장치
JPS6050672A (ja) 回転形記憶装置の読取り制御方式
JPS6247735A (ja) 外部記憶装置用コントロ−ラ
JPS60142417A (ja) デ−タ処理装置における入出力制御方法及び装置
JPS6113259B2 (ja)