JPH09101918A - I/o処理方法 - Google Patents

I/o処理方法

Info

Publication number
JPH09101918A
JPH09101918A JP7257301A JP25730195A JPH09101918A JP H09101918 A JPH09101918 A JP H09101918A JP 7257301 A JP7257301 A JP 7257301A JP 25730195 A JP25730195 A JP 25730195A JP H09101918 A JPH09101918 A JP H09101918A
Authority
JP
Japan
Prior art keywords
ccw
dcw
channel command
sequence
command
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.)
Granted
Application number
JP7257301A
Other languages
English (en)
Other versions
JP3796281B2 (ja
Inventor
Yoshiki Fushimi
佳樹 伏見
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25730195A priority Critical patent/JP3796281B2/ja
Publication of JPH09101918A publication Critical patent/JPH09101918A/ja
Application granted granted Critical
Publication of JP3796281B2 publication Critical patent/JP3796281B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 分岐を伴うCCW列を一括変換する。 【解決手段】 CCW変換部12は、CCWアドレスと
DCWアドレスとの対応をテーブル13に記憶する。
又、CCW変換部は、CCWが単純なジャンプの場合、
分岐先CCW列が変換済みでなければ、CCWをDCW
に変換することなく分岐先CCW以降のCCW列をDC
W列に変換し、変換済みの場合は、分岐先CCWに対応
するDCWに分岐するDCWを作成する。又、CCWが
条件つきジャンプの場合、CCWを分岐先アドレスが未
定の分岐DCWに変換し、条件不成立のCCW列をDC
W列に変換する。ついで、条件成立の分岐先CCW列が
変換済みでなければ、前記分岐DCWの分岐先アドレス
を次のDCWの格納アドレスとし、分岐先CCW列をD
CW列に変換し、分岐先CCW列が変換済みであれば該
分岐先CCWに対応する分岐先DCWに分岐するように
前記分岐DCWの分岐先アドレスを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はI/O処理方法に係
わり、特に特定の計算機のために作成されたチャネルコ
マンド列(CCW列)を、他の計算機のための別のチャ
ネルコマンド列(DCW列)に一括変換し、該変換され
たチャネルコマンド列(DCW列)を用いて他の計算機
が前記特定の計算機と同一のI/O動作を実行するI/
O処理方法に関する。
【0002】
【従来の技術】汎用の計算機のために作成されたチャネ
ルコマンド列(CCW列)を、ワークステーション上の
パソコン等のための別のチャネルコマンド列(DCW
列)に変換し、該変換されたチャネルコマンド列(DC
W列)を用いてパソコンが汎用計算機と同一のI/O動
作を実行するシステムがある。図20はかかるシステム
の構成図であり、1aは汎用計算機等の第1処理装置、
2aは第1処理装置対応に設けた第1チャネル装置、3
aは第1チャネル装置に接続された第1のI/O装置、
1bはパソコン等の第2処理装置でI/O処理を専用に
実行するもの、2bはパソコン用の第2チャネル装置、
3bは第2チャネル装置に接続された第2のI/O装置
である。4は主記憶装置で、領域5にはI/Oバッファ
部5aやチャネルコマンド列(CCW列)を記憶する領
域5b設けられている。6はバス線である。領域5に記
憶されているチャネルコマンド列(CCW列)は、第1
処理装置1aが第1チャネル2aを介してI/O装置3
aにアクセスするために作成したものである。第1、第
2処理装置1a,1bは同一の主記憶装置4を共有して
いるが、第1処理装置は領域5のみをアクセス可能であ
り、両者は異なるアドレス空間で動作する。
【0003】ところで、第1チャネル装置2aで動作す
るチャネルコマンド列(CCW列)と第2チャネル装置
2bで動作するチャネルコマンド列(DCW列)は異な
る形式を有している。このため、第1チャネル装置2a
のために作成されたチャネルコマンド列(CCW列)を
第2チャネル装置2bのためのチャネルコマンド列(D
CW列)に変換して実行しなければならない。すなわ
ち、第2処理装置1bは、第1処理装置1aが第1チャ
ネル2aを介してI/O装置3aにアクセスするために
作成したチャネルコマンド列(CCW列)を、第2処理
装置1bが第2チャネル装置2bを介してI/O装置3
bにアクセスするためのコマンド列(DCW列)に変換
し、該DCW列に基づいて第1処理装置と同様のI/O
動作を実行する。
【0004】
【発明が解決しようとする課題】特定のチャネルを想定
したチャネルコマンド(CCW列)を他のチャネル上で
実行する方法としては、特開平7-44324号公報及び特開
平1-293455号公報に開示されているものがある。特開平
7-44324号公報に開示されている方法は、ソフトあるい
はI/O制御装置が与えられたCCW列上のCCWを1
個づつ変換しながらI/O処理を実行するもので、実行
時のオーバヘッドが大きい。このため、十分なI/O性
能を得るためには巨大なディスクキャッシュを主記憶上
に持たなければならない問題がある。特開平1-293455号
公報に開示されている方法は、静的にCCW列を変換す
るものであるが、変換対象CCW列が限定されており、
分岐、ループを伴うような複雑なCCW列に対しては、
十分に変換を行えない問題がある。又、変換対象CCW
が異常なものであった場合、異常CCWまでは正常に実
行し、異常CCWについて適切なエラー報告をしなけれ
ばならないが、従来の方法では適切なエラー報告ができ
ない問題がある。更に、CCW列の中には、外部装置に
格納されたCCW列を後続するCCW列として使用する
場合があるが、従来方法はこれに対応できない問題があ
る。又、CCW列の中には実行の途中でソフト(OS)
によりCCW列の変更を行わせる場合があるが、かかる
場合にも従来方法は対応できない問題がある。
【0005】以上から、本発明の目的は、CCW列の変
換を最初に一括して行うことにより、実行時のオーバヘ
ッドを削減でき、十分なI/O処理性能を発揮できるI
/O処理方法を提供することである。本発明の別の目的
は、分岐、ループを伴うような複雑なCCW列に対して
も変換が行えるI/O処理方法を提供することである。
本発明の更に別の目的は、変換対象CCWが異常なもの
であった場合、異常CCWまで正常に実行し、異常CC
Wについて適切なエラー報告ができるI/O処理方法を
提供することである。本発明の他の目的は、外部装置に
格納されたCCW列を後続するCCW列として使用する
場合であっても、変換及び実行が可能なI/O処理方法
を提供することである。本発明の更に他の目的は、実行
の途中でソフト(OS)によりCCW列の変更を行わせ
る場合であっても、変換及び実行が可能なI/O処理方
法を提供することである。
【0006】
【課題を解決するための手段】図1は本発明の原理説明
図である。(a)において、12はチャネルコマンド列
(CCW列)を別のチャネルコマンド列(DCW列)に
変換するCCW変換部、13はチャネルコマンドCCW
のアドレスと変換されたチャネルコマンドDCWのアド
レスとの対応を記憶するCCW・DCW対応テーブル、
21は主記憶装置であり、CCW列及び変換により得ら
れたDCW列が記憶される。CCW変換部12は、一括
変換に際して、CCWのアドレスと変換されたDCWの
アドレスとの対応をCCW・DCW対応テーブル13に
記憶する。CCW変換部12は、(b)に示すように変換
すべきCCWが単純なジャンプコマンド(分岐コマンド)
J1,J2の場合、分岐先CCW列が既に変換済みで
あるか否かをCCW・DCW対応テーブル13をサーチ
して判断し、変換済みでない場合には(J1の場合)、
分岐CCW(J1)を変換することなく分岐先CCW以
降のCCW列をDCW列に変換する。一方、変換済
みの場合(J2の場合)には、分岐先CCWに対応する
DCW(DCW列の先頭)に分岐するDCWを作成す
る。
【0007】CCWが(c)に示すように条件つきジャン
プコマンド(分岐CCW)SKの場合、該分岐CCWを分
岐先アドレスが未定の分岐DCW(SK′)に変換し、
ついで、条件が不成立の場合におけるCCW列をDC
W列に変換する。しかる後、条件成立の場合における分
岐先CCW列が既に変換済みであるか否かをCCW・
DCW対応テーブル13をサーチして判断し、変換済み
でない場合には、前記分岐DCWの分岐先アドレスを次
のDCWを格納するアドレスとし、以後、分岐先CCW
以降のCCW列をDCW列に変換する。又、分岐先
CCW列が既に変換済みの場合には該分岐先CCWに
対応する分岐先DCWに分岐するように前記分岐DCW
の分岐先アドレスを決定する。以上のようにすれば、C
CW列を、内部に分岐が存在しない一連のCCWの集ま
りであるCCW群に分割して変換を行い、又、CCWの
アドレスと変換されたDCWのアドレスとの対応をCC
W・DCW対応テーブルで管理し、該テーブルを参照し
て分岐コマンド、ジャンプコマンドを適切に変換処理す
るようにしたから、分岐、ループを伴うような複雑なC
CW列に対しても効率良く変換を行って実行することが
できる。・・・請求項1
【0008】CCW変換部12は、一括変換時に、異常
CCWが検出された時、直前のCCWに対応するDCW
のチェインビットをオフすると共に、CCW・DCW対
応テーブル13においてDCWアドレスに応じたエラー
フラグビットをオンする。そして、一括変換により得ら
れたDCWの実行時、チェインビットのオフによりDC
Wの実行が停止した時、CCW・DCW対応テーブル1
3を参照してエラーフラグビットがオンしているかチェ
ックし、オンしている場合には、次のCCW(異常CC
Wである)を読み出してチェック後、異常終了の割込み
を発生する。このようにすれば、変換対象CCWが異常
なものであった場合、異常CCWまで正常に実行し、異
常CCWについて適切なエラー報告ができる。・・・請
求項2
【0009】CCW・DCW対応テーブル13に、リー
ドコマンドのデータ入力領域の先頭アドレスとデータ長
を記憶する欄を設ける。CCW変換部12は、一括変換
に際して、CCWがリードコマンドの場合には該テーブ
ル13にデータ入力領域の先頭アドレスとデータ長を記
憶すると共に、以降のCCWのアドレスが前記テーブル
に記憶されているデータ領域内に存在するか判断する。
存在する場合は、該CCWは外部装置より読み込んだC
CWであると判定し、前記データ領域をデータ入力領域
とするリードコマンド(CCW)に対応するDCWにフ
ラグをセットする。そして、一括変換により得られたD
CW列の実行時、前記フラグが検出された時、該フラグ
付きのDCW(リードコマンド)により外部装置より前
記データ領域に読み込んだCCW列を、順次別のDCW
列に変換し、変換後、該DCW列を実行する。このよう
にすれば、外部装置に格納されたCCW列を後続するC
CW列として使用する場合であっても、変換及び実行で
きる。・・・請求項3
【0010】所定のCCWにフラグをセットしておき、
CCW変換部12は、一括変換時に該CCWに応じたD
CWにフラグをセットする。そして、一括変換により得
られたDCWの実行時に、前記フラグが検出された時、
該検出をオペレーションシステムOSに通知する。しか
る後、一定間隔で一括変換時におけるCCW列と現在の
CCW列を比較し、変更CCWが存在する場合には、該
変更CCWをDCWに再変換する。このようにすれば、
実行の途中でソフト(OS)によりCCW列の変更を行
う場合であっても、変更通りに正しくCCW列をDCW
列に変換して実行することができる。・・・請求項4 以上のように、本発明においては、CCW列の変換を最
初に一括して行うことにより、実行時のオーバヘッドを
削減でき、十分なI/O処理性能を発揮することができ
る。
【0011】
【発明の実施の形態】
(a)本発明の構成 図2は本発明の概略構成図であり、10はチャネルコマ
ンド列(CCW列)を別のチャネルコマンド列(DCW
列)に変換するCCW変換機構、20は第1チャネル装
置、30は第2チャネル装置、40は入出力動作終了時
における割込み処理部である。図3はCCWの説明図で
あり、READ,WRITE,TRANSFER IN CHANNEL等のコマンドコ
ードCM、入出力データ領域の先頭アドレスDAD、細
かな指示を与えるフラグFG、データのバイト数(デー
タ長)DLを備えている。図4は入出力割込み時に設定
されるチャネルステータスワードCSWの説明図であ
り、プロテクションキーK、直前に実行したコマンドア
ドレスCAD、入出力装置の状態を示すI/Oステータ
スIST、チャネルの状態を示すチャネルステータスC
ST、異常終了時において未処理(残っている)データ
のバイト数DTを備えている。
【0012】図5はCCW変換機構10におけるCCW
→DCW変換の説明図である。CCW→DCW変換にお
いて、CCWのデータサイズDLはそのままDCWに
おいて使用することができる。CCW、DCWのコマ
ンドは1:1に対応しており、コマンド変換テーブルに
よりCCWのコマンドCMをDCWのコマンドに変換す
ることができる。CCWの先頭アドレスは物理アドレ
スの場合と論理アドレスの場合があり、物理アドレスの
場合にはそのままDCWにおいて使用することができる
が、論理アドレスの場合には、動的アドレス変換機構D
ATにより論理アドレス(CCWアドレス)→物理アド
レス(DCWアドレス)に変換を行うことにより得るこ
とができる。
【0013】図6は割込み処理部40におけるDSW→
CSW変換説明図であり、第2チャネル装置30より入
力されたチャネルステータスワードDSWをOSが認識
できるチャネルステータスワードCSWに変換する場合
の説明図である。DSW→CSW変換において、DS
WのチャネルステータスCST、I/OステータスIS
T、残りバイト数DTはそのままCSWにおいて使用す
ることができる。直前に実行したコマンドアドレス
(DCWアドレス)はCCWアドレスに変換する必要が
ある。変換は、CCW変換機構10に設けられている後
述のCCW・DCW対応テーブルより求めることができ
る。
【0014】図7はCCW変換機構11の構成図であ
る。12はチャネルコマンド列(CCW列)を別のチャ
ネルコマンド列(DCW列)に変換するCCW変換部、
13はは、CCWのアドレスと該CCWを変換する
ことにより得られたDCWのアドレスと各種フラグFl
agの対応を記憶するCCW・DCW対応テーブル、14
は機種と該機種におけるスキップコマンドの対応を記憶
するスキップコマンド一覧テーブルである。CCW変換
部12において、12aはCCW・DCW変換制御部、
12bは動的アドレス変換機構(DAT)、12cはD
CW組立て部である。CCW・DCW変換制御部12a
は、主記憶装置(図示せず)の所定のCCWアドレス
よりCCWを読み出し、該読み出したCCWをコマン
ドコードCM、データアドレスDAD、フラグFG、デ
ータバイト数DLに分解し、データアドレスDADを
動的アドレス変換機構12bに入力し、コマンドコー
ドを内蔵のコマンドコード変換部で変換すると共に、必
要に応じて所定のフラグをオン・オフセットし、得ら
れたコマンドコード、フラグ、データバイト数をDCW
組立て部12cに入力する。又、CCW・DCW変換制
御部12aは、CCW・DCW対応テーブル13の更
新、参照、その他後述する種々の制御を実行する。
【0015】動的アドレス変換機構12bは、入力され
たCCWのデータアドレス(先頭アドレス)をDCWの
データアドレス(先頭アドレス)に動的に変換し、得ら
れたDCWのデータアドレス(先頭アドレス)をDCW
組立て部12cに入力する。DCW組立て部12cは入
力されたコマンドコード、データサイズ、フラグ、デー
タアドレスを用いてDCWを組立て、主記憶装置の所定
のアドレス(DCWアドレス)に格納する。尚、CCW
・DCW変換制御部12aは、CCWを読み出したCC
WアドレスとDCWを記憶するDCWアドレスとの対応
及びフラグをCCW・DCW対応テーブル13に記憶す
る。
【0016】(b)分岐コマンドを含む場合の変換処理 与えられたCCW列が分岐やジャンプによるループ等が
ない単純なものである場合は、その変換方法は容易に考
えることが可能である。だが、分岐等があるCCW列で
は、分岐先CCW列が変換後のDCW列上でいずれのD
CWに対応するかを検出し、DCW上の分岐コマンド上
に記述しなければならない。図8及び図9は分岐コマン
ドを含む場合におけるCCW→DCW変換処理のフロー
である。チャネルアドレスワードCAWの指定する主記
憶装置より先頭のCCWを読み取り(ステップ10
1)、該CCWが単純なジャンコマンド(TIC)であ
るかチェックし(ステップ102)、ジャンプコマンド
でなければ、条件つきジャンコマンド(スキップコマン
ド)であるかチェックする(ステップ103)。尚、機
種とスキップコマンドの対応はテーブル14に登録され
ているから、該テーブルを参照してスキップコマンドの
判別を行う。
【0017】スキップコマンドでなければ、CCW→D
CW変換を行うと共に、CCWアドレスとDCWアドレ
スの対応をテーブル13に記憶する(ステップ10
4)。しかる後、全CCW列の変換が終了したかチェッ
クし(ステップ105)、終了してなければ、次のCC
WをCCWアドレスより読み取り(ステップ106)、
ステップ102以降の処理を行う。一方、全CCWのD
CWへの変換が終了すれば、第2チャネル装置30は順
次DCWを実行し(ステップ107,108)、全DC
Wの実行終了によりDSWを割込み処理部40に入力す
る。割込み処理部40はDSWをCSWに変換して上位
装置(OS)に入出力割込みを掛け(ステップ10
9)、入出力動作を終了する。。
【0018】一方、ステップ102において、CCWが
単純なジャンプコマンドの場合には、分岐先CCWが既
に変換済みであるか否かをCCW・DCW対応テーブル
13をサーチして判断する(ステップ110)。すなわ
ち、分岐先CCWが変換済みの場合には、該分岐先CC
WのCCWアドレスがCCW・DCW対応テーブル13
に記憶されるから、該テーブル13に分岐先CCWアド
レスが存在するか調べ、存在する場合には変換済みであ
ると判定し、存在しない場合には変換済みでないと判定
する。変換済みの場合には分岐先CCWに対応する分岐
先DCWに分岐するようにDCWを作成し(ステップ1
11)、変換済みでない場合には該分岐先CCW以降の
CCW列をDCW列に変換する(ステップ112)。し
かる後、ステップ105以降の処理を行う。
【0019】図10は単純ジャンプコマンドの場合にお
けるCCW→DCW変換説明図である。図10に示すよ
うにCCW列,の後のCCWが単純なジャンプコマ
ンド(TIC)J1,J2の場合、分岐先CCW列が既
に変換済みであるか否かをCCW・DCW対応テーブル
13をサーチして判断し、変換済みでない場合には(J
1の場合)、分岐CCWをDCWに変換することなく分
岐先CCW列をDCW列に変換する。一方、変換済
みの場合(J2の場合)には、分岐先CCWに対応する
DCW(DCW列の先頭)に分岐するDCWを作成す
る。
【0020】又、ステップ103において、CCWがス
キップコマンド(分岐CCW)の場合には、該分岐CC
Wを分岐先アドレスが未定の分岐DCWに変換する(ス
テップ113)。ついで、分岐条件が不成立の場合にお
けるCCW列をDCW列に変換する(ステップ114,
115)。しかる後、条件成立の場合における分岐先C
CWが既に変換済みであるか否かをCCW・DCW対応
テーブル13をサーチして判断する(ステップ11
6)。変換済みの場合には該分岐先CCWに対応する分
岐先DCWに分岐するように前記ステップ113におけ
る分岐DCWの分岐先アドレスを決定して埋め込み(ス
テップ117)、以後ステップ105以降の処理を行
う。一方、変換済みでない場合には、前記ステップ11
3における分岐DCWの分岐先アドレスを次のDCWの
格納アドレスする。ついで、分岐先CCW以降のCCW
列をDCW列に変換し、ステップ105以降の処理を行
う。
【0021】図11はスキップコマンドの場合における
CCW→DCW変換説明図である。図11に示すよう条
件コマンドCKの後のコマンドSKがスキップコマンド
(分岐CCW)の場合、該分岐CCWを分岐先アドレスが
未定の分岐DCW(SK′)に変換し、ついで、条件が
不成立の場合におけるCCW列をDCW列に変換す
る。しかる後、条件成立の場合における分岐先CCW列
が既に変換済みであるか否かをCCW・DCW対応テ
ーブル13をサーチして判断し、変換済みでない場合に
は、前記分岐DCW(SK′)の分岐先アドレスを次の
DCWを格納するアドレスとし、以後、分岐先CCW列
をDCW列に変換する。又、分岐先CCW列が既
に変換済みの場合には該分岐先CCWに対応する分岐先
DCWに分岐するように前記分岐DCW(SK′)の分
岐先アドレスを決定する。
【0022】以上、CCW列を、内部に分岐が存在しな
い一連のCCWの集まりであるCCW群に分割して変換
を行い、又、CCWのアドレスと変換されたDCWのア
ドレスとの対応をCCW・DCW対応テーブルで管理
し、該テーブルを参照して分岐コマンド、ジャンプコマ
ンドを適切に変換処理するから、分岐、ジャンプによる
ループを伴うような複雑なCCW列に対しても効率良く
変換を行って実行することができる。
【0023】(c)CCWに異常CCWが存在する場合
の処理 変換対象CCWが異常なものであった場合、異常CCW
の直前までは正常に実行し、異常CCWについては適切
なエラー報告をしなければならない。図12はCCWに
異常CCWが存在する場合のCCW→DCW変換処理の
説明図、図13はCCWに異常CCWが存在する場合の
DCW実行処理の説明図である。CCWを主記憶装置の
所定のCCWアドレスより読み取り(ステップ20
1)、該CCWが異常CCWかチェックする(ステップ
202)。なお、CCWはフォーマットエラー、未定義
コード使用、文法エラー等が検出された場合、異常CC
Wである。異常CCWでなければ、CCW→DCWの変
換を実行し(ステップ203)、ついで、全CCW列に
ついて変換したかチェックし(ステップ204)、変換
してなければステップ201以降の処理を繰返す。
【0024】一方、ステップ202において、異常CC
Wの場合には、直前のCCWに対応するDCWのチェイ
ンビットをオフすると共に(ステップ205)、CCW
・DCW対応テーブル13において該CCW、DCWの
アドレスに対応するフラグ(エラーフラグビット)をオ
ンする(ステップ206)。尚、DCW実行時にチェイ
ンビットがオン(”1”)の場合には次のDCWを実行
し、チェインビットがオフ(”0”)の場合には次のD
CWの実行を中止する。ついで、異常CCW以降のCC
W列の変換を打切る。そして、異常CCW以前に分岐C
CW(スキップコマンド)の分岐先CCW列で変換をし
てないものが存在するかチェックし(ステップ20
7)、存在しなければ変換処理を終了し、存在すれば、
分岐先CCW列を読み取り(ステップ208)、以後、
ステップ202以降の変換処理を実行する。
【0025】CCW列変換終了後、DCWを読み取って
実行する(ステップ301)。実行後、チェインビット
がオフかチェックし(ステップ302)、オフでなけれ
ば、全DCWの実行が終了したかチェックし(ステップ
303)、終了してなければステップ301に戻り次の
DCWを実行する。一方、チェインビットがオフあるい
は、全DCWの実行が終了すれば、その時のDCWアド
レスに対応するエラーフラグをCCW・DCW対応テー
ブル13より求め、エラーフラグビット=”1”かチェ
ックする(ステップ304)。エラーフラグビット=”
0”の場合には、正常終了報告を出力し(ステップ30
5)、エラーフラグビット=”1”の場合には、次のC
CW(異常CCWである)を主記憶装置より読み出して
チェック後、異常終了の割込みによりエラー報告する
(ステップ307)。以上により、変換対象CCWが異
常なものであった場合、異常CCWまで正常に実行し、
異常CCWについて適切なエラー報告をすることができ
る。
【0026】(d)CCW列が外部装置に格納されてい
る場合の処理 CCW列の中には、磁気ディスク装置等の外部装置に格
納されたCCW列を後続するCCW列として使用するよ
うなものがある。図14はかかる場合の説明図であり、
21は主記憶装置、50は磁気ディスク装置である。主
記憶装置21には、CCW列、磁気ディスク装置より
データ(実はCCW列)を読み出すリードコマンド(R
D α L)、CCW列がそれぞれ格納されている。
又、磁気ディスク装置50には、上記リードコマンドに
より読み取られるCCW列が記憶されている。このよ
うに外部装置にCCW列が記憶されている場合、CCW
列は以下のように実行される。すなわち、まず、CCW
列を実行し、ついで、リードコマンドにより磁気ディ
スク装置50よりCCW列を主記憶装置21に読み込
み、しかる後、CCW列を実行し、最後にCCW列
を実行する。従って、CCW列をDCW列に変換した場
合、上記と同様の順序でDCW列を実行するようにしな
ければならない。
【0027】ところで、本発明のように、CCW列を一
括変換する方式では、変換後のDCW列により外部装置
より読み出したCCW列は最初のCCW→DCW変換時
には変換がされていない。このため、外部装置よりCC
W列を読み出した後に再度、CCW列の変換を行うよう
にしなければならない。更に、いずれのCCWがCCW
の変更を行うものであるか、変更されたCCWはいずれ
のものであるかを知る手段が必要である。
【0028】そこで、図15に示すように、CCW・D
CW対応テーブル13に、リードコマンド(CCW)の
データ入力領域の先頭アドレスαとデータ長Lを記憶す
る欄を設ける。そして、CCW変換部12はCCWがリ
ードコマンドの場合、CCW・DCW対応テーブル13
にCCWアドレス、DCWアドレスと共に該リードコマ
ンド(CCW)のデータ入力領域の先頭アドレスαとデ
ータ長Lを記入する。かかる状態において、以降のCC
WのCCWアドレスが上記領域に含まれているならば、
その領域をデータ入力領域とするリードコマンド(CC
W)を変換して得られたDCWによってCCWの書替え
が行われる。このため、該DCW上のPCIフラグをセ
ットし、CCWの変更が行われることをCCW変換機構
が検出可能にする。すなわち、最初に各CCWを変換す
る際、変換対象のCCWが変換済みCCWのデータ領域
に含まれているか否かをチェックし、含まれているなら
ば該変換対象CCWは変換済みCCWの実行によって書
き替えられるため、該変換済みCCWに対応するDCW
のPCIフラグをセットする。
【0029】そして、DCW列実行時にPCI割込みが
発生すると、CCW変換機構11はPCI割込みを通知
したDCWアドレスによってCCW・DCW対応テーブ
ル13をサーチし、書替えが行われた領域を検出し、対
応するCCW列を読み出して再変換し、再変換したDC
Wを実行する。
【0030】図16はCCW列が外部装置に格納されて
いる場合のCCW→DCW変換処理フローである。所定
のCCWアドレスよりCCWを読み込み(ステップ40
1)、該CCWがリードコマンドであるかチェックする
(ステップ402)。リードコマンドでなければ、該C
CWアドレスがCCW・DCW対応テーブル13に格納
されているデータ領域内に存在するかチェックし(ステ
ップ403)、存在しなければ、CCW→DCW変換を
行うと共に、CCWアドレス、DCWアドレスの対応を
CCW・DCW対応テーブル13に記入する(ステップ
404)。ついで、全CCWをDCWに変換したかチェ
ックし(ステップ405)、変換が終了してなければ、
ステップ401に戻り以降のCCWについてステップ4
01以降の処理を実行し、変換が終了していれば、CC
W→DCW変換処理を終了する。
【0031】一方、ステップ402において、CCWが
リードコマンドであれば、CCW→DCW変換を行うと
共に、CCWアドレス、DCWアドレス及びリードコマ
ンドの先頭アドレスα、データ長LをCCW・DCW対
応テーブル13に記入し(ステップ406)、以後、ス
テップ405以降の処理を実行する。又、ステップ40
3において、CCWアドレスがCCW・DCW対応テー
ブル13に格納されているデータ領域内に存在すれば、
CCWは外部装置より主記憶装置に読み込んであるCC
Wであると判定し、前記データ領域をデータ入力領域と
するリードコマンド(CCW)を変換して得られたDC
WにPCIフラグをセットする(ステップ406)。つ
いで、該CCWをDCWに変換すると共に、以降のCC
W列をDCW列に変換し(ステップ407、408)、
変換処理を終了する。
【0032】図17はCCW列が外部装置に格納されて
いる場合のDCW実行処理フローである。DCWを読み
取って実行すると共に(ステップ501)、該DCWの
PCIフラグがセットされているか(”1”であるか)
チェックする(ステップ502)。PCIフラグがセッ
トされていなければ、全DCWを実行したかチェックす
る(ステップ503)。全DCWの実行が終了してなけ
れば、ステップ501に戻り以降のDCW実行処理を繰
返し、全DCWの実行が終了すれば、DSWを作成して
割込み処理部40に入力してI/O処理を終了する(ス
テップ504)。
【0033】一方、ステップ502において、PCIフ
ラグがセットされている場合には、PCI割込みを発生
する(ステップ505)。これにより、CCW変換部1
2は現DCWアドレスに対応するデータ領域をCCW・
DCW対応テーブル13より求め(ステップ506)、
該データ領域よりCCW列(外部装置より読み込んだC
CW列)を順次読み取ってCCW→DCW変換を行う
(ステップ507,508)。外部装置より読み込んだ
CCW列のCCW→DCW変換が終了すれば、再変換し
たDCW列を順次実行する(ステップ509)。DCW
列の実行終了後、ステップ503において全DCWを実
行したかチェックし、以降の処理を行う。以上のように
すれば、CCW列の中に外部装置に格納されたCCW列
を後続するCCW列として使用する場合であっても、正
しくCCW→DCW変換を行って実行することができ
る。
【0034】ところで、PCI割込みが遅れたり、再変
換処理に時間を要した場合、再変換終了より以前に、変
更対象DCWが実行される可能性がある。この場合、変
換前のDCWは本来実行すべきものではなく、予期しな
い動作が行われてしまう。そこで、変更対象のDCW
は、ステップ407において先頭DCWをNOP(NOOp
eration)にすると共に、チェインビットフラグをオフす
ることにより、変更前DCWの実行によって弊害が生じ
ないようにする。さらに、該NOPコマンドに対応する
CCW・DCW対応テーブル13上の動的変更ビットを
立てる(”1”にする)ことで、動的変更の遅延によっ
てDCW実行が終了したことを検出可能にする。上記の
ように、CCWの動的変更の遅れによってDCWの実行
が終了した場合、通常は動的変更が終了すると、変更を
行ったDCWより処理を再開する。しかし、場合によっ
ては、オリエンテーションが崩れているため、予期しな
い動作が行われる可能性がある。そこで、CCW変換部
は、以前のCCWをチェックし、該CCWより実行を再
開すれば問題となる可能性がある場合は、先頭DCWよ
り再度、実行を行わせる。この場合、CCWの動的変
更、再変換は既に終了しているため、処理再開前に、変
更を行うDCWのPCIフラグ並びに対応するCCW・
DCW対応テーブル上の動的変更ビットをオフする。
【0035】(e)ソフトによるCCW変更があった場
合の処理 CCW列の中には、実行の途中でソフトにPCI(Prog
ram Controlled Interrupt)を通知し、ソフトにCCW
の変更を行わせるようなものがある。この場合、いずれ
のCCWがどのタイミングで変換されたかが、CCW変
換部では認識することができない。そこで、ソフト(O
S)へのPCI報告後、一定時間ごとに変換時のCCW
列と最新のCCW列を照合比較し、CCW変更の有無を
チェックする。変更が確認された場合は変更CCWを再
変換する。図18はソフトによるCCW変更がある場合
のCCW→DCW変換処理フローである。尚、所定のC
CWには、該CCWまでの実行終了をソフトに通知する
ためにPCIフラグがセットされている。このPCIを
報告されるとソフトはCCWを変更する。
【0036】まず、CCWアドレスよりCCWを読み取
り(ステップ601)、該CCWのPCIフラグがセッ
トされているかチェックする(ステップ602)。PC
Iフラグがセットされていなければ、該CCWをDCW
に変換すると共にCCWアドレス、DCWアドレスをC
CW・DCW対応テーブル13に記入する(ステップ6
03)。以後、全CCWの変換が終了したかチェックし
(ステップ604)、変換が終わってなければ、ステッ
プ602に戻り以降のCCWの変換を行う。一方、ステ
ップ602において、CCWのPCIフラグがセットさ
れていれば、CCW→DCW変換すると共にDCWのP
CIフラグをセットする(ステップ605)。又、CC
Wアドレス、DCWアドレスをCCW・DCW対応テー
ブル13に記入すると共に、これらアドレスに対応する
フラグ上のPCIビットをセット子(ステップ60
6)、以後ステップ604以降の処理を実行する。
【0037】図19はソフトによるCCW変更がある場
合のDCW実行処理フローである。DCWを読み取って
実行すると共に(ステップ701)、該DCWのPCI
フラグがセットされているかチェックし(ステップ70
2)、セットされていれば、CCW変換部12を介して
ソフト(OS)にPCI通知を行う(ステップ70
3)。しかる後、あるいはステップ702において、P
CIフラグがセットされていない場合には、全DCWの
実行が終了したかチェックする(ステップ704)。全
DCWの実行が終了すれば、実行処理を終える。しか
し、全DCWの実行が終了してなければ、保持している
CCW→DCW変換時のCCW列と現在のCCW列との
比較が必要であるかチェックする(ステップ705)。
PCIが検出されず、PCI通知をしてなければ、比較
する必要はなく、以後ステップ701以降の処理を実行
する。
【0038】一方、PCI通知をしており、比較する必
要がある場合には、定期的に変換時のCCW列と現在の
CCW列との比較を行う(ステップ706)。比較の結
果、不一致のCCWがあったか調べ(ステップ70
7)、なければステップ701以降の処理を行い、不一
致のCCWが存在すれば、ソフトによりCCWが変更さ
れたものであるから、該変更CCWをDCWに再変換し
(ステップ708)、以後、ステップ701以降の処理
を実行する。以上のようにすれば、実行の途中でソフト
(OS)によりCCW列の変更を行う場合であっても、
変更通りに正しくCCW列をDCW列に変換して実行す
ることができる。以上、本発明を実施例により説明した
が、本発明は請求の範囲に記載した本発明の主旨に従い
種々の変形が可能であり、本発明はこれらを排除するも
のではない。
【0039】
【発明の効果】以上本発明によれば、CCW列の変換を
最初に一括して行うことにより、実行時のオーバヘッド
を削減でき、十分なI/O処理性能を発揮することがで
きる。又、本発明によれば、CCW列を、内部に分岐が
存在しない一連のCCWの集まりであるCCW群に分割
して変換を行い、又、CCWのアドレスと変換されたD
CWのアドレスとの対応をCCW・DCW対応テーブル
で管理し、該テーブルを参照して分岐コマンド、ジャン
プコマンドを適切に変換処理するようにしたから、分
岐、ループを伴うような複雑なCCW列に対しても効率
良く変換を行って実行することができる。
【0040】更に本発明によれば、変換対象CCWが異
常なものであった場合、異常CCWまで正常に実行し、
異常CCWについて適切なエラー報告ができる。又、本
発明によれば、外部装置に格納されたCCW列を後続す
るCCW列として使用する場合であっても、変換及び実
行ができる。更に、本発明によれば、実行の途中でソフ
ト(OS)によりCCW列の変更を行う場合であって
も、変更通りに正しくCCW列をDCW列に変換して実
行することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の概略構成図である。
【図3】CCWの説明図である。
【図4】CSWの説明図である。
【図5】CCW→DCW変換説明図である。
【図6】DSW→CSW変換説明図である。
【図7】CCW変換機構の構成図である。
【図8】分岐を含むCCW→DCW変換処理フロー(そ
の1)である。
【図9】分岐を含むCCW→DCW変換処理フロー(そ
の2)である。
【図10】単純ジャンプの場合の変換説明図である。
【図11】条件つきジャンプコマンド(スキップコマン
ド)の場合の変換説明図である。
【図12】異常CCWが検出された場合のCCW→DC
W変換処理フローである。
【図13】異常CCWが検出された場合のDCW実行処
理フローである。
【図14】CCW列が外部装置に格納されている場合の
説明図である。
【図15】CCW・DCW対応テーブルの別の説明図で
ある。
【図16】CCW列が外部装置に格納されている場合の
CCW→DCW変換処理フローである。
【図17】CCW列が外部装置に格納されている場合の
DCW実行処理フローである。
【図18】ソフトによるCCW変更がある場合のCCW
→DCW変換処理フローである。
【図19】ソフトによるCCW変更がある場合のDCW
実行処理フローである。
【図20】本発明の背景説明図である。
【符号の説明】
12・・CCW変換部 13・・CCW・DCW対応テーブル 21・・主記憶装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 特定の計算機のために作成されたチャネ
    ルコマンド列(CCW列)を、他の計算機のための別の
    チャネルコマンド列(DCW列)に一括変換し、該変換
    されたチャネルコマンド列(DCW列)を用いて他の計
    算機が前記特定の計算機と同一のI/O動作を実行する
    I/O処理方法において、 一括変換に際して、チャネルコマンドCCWのアドレス
    と変換されたチャネルコマンドDCWのアドレスとの対
    応をCCW・DCW対応テーブルに記憶し、 チャネルコマンドCCWが単純なジャンプコマンドの場
    合、分岐先チャネルコマンドCCWが既に変換済みであ
    るか否かを前記CCW・DCW対応テーブルをサーチし
    て判断し、変換済みの場合には対応するチャネルコマン
    ドDCWに分岐するチャネルコマンドDCWを作成し、
    変換済みでない場合には該分岐先チャネルコマンドCC
    W以降のチャネルコマンドCCWをチャネルコマンドD
    CWに変換し、 チャネルコマンドがスキップコマンド(分岐CCW)の
    場合、該分岐CCWを分岐先アドレスが未定の分岐DC
    Wに変換し、 ついで、条件が不成立の場合におけるCCW列をDCW
    列に変換し、 しかる後、条件成立の場合における分岐先チャネルコマ
    ンドCCWが既に変換済みであるか否かを前記CCW・
    DCW対応テーブルをサーチして判断し、 変換済みの場合には該分岐先チャネルコマンドCCWに
    対応する分岐先チャネルコマンドDCWに分岐するよう
    に前記分岐DCWの分岐先アドレスを決定し、 変換済みでない場合には、次のチャネルコマンドDCW
    を格納するアドレスを前記分岐DCWの分岐先アドレス
    とし、前記分岐先チャネルコマンドCCW以降のチャネ
    ルコマンドCCWをチャネルコマンドDCWに変換する
    ことを特徴とするI/O処理方法。
  2. 【請求項2】 前記一括変換時に、異常チャネルコマン
    ドCCWが検出された時、直前のチャネルコマンドCC
    Wに対応するチャネルコマンドDCWのチェインビット
    をオフすると共に、CCW・DCW対応テーブルにおい
    て該チャネルコマンドDCWのエラーフラグビットをオ
    ンし、 一括変換により得られたチャネルコマンドDCWの実行
    時、チェインビットのオフによりチャネルコマンドの実
    行が停止した時、CCW・DCW対応テーブルを参照し
    てエラーフラグビットがオンしているかチェックし、オ
    ンしている場合には、次のチャネルコマンドCCW(異
    常チャネルコマンドCCWである)を読み出してチェッ
    ク後、異常終了の割込みを発生することを特徴とする請
    求項1記載のI/O処理方法。
  3. 【請求項3】 前記CCW・DCW対応テーブルに、リ
    ードコマンドのデータ入力領域の先頭アドレスとデータ
    長を記憶する欄を設け、 一括変換に際して、チャネルコマンドCCWがリードコ
    マンドの場合には前記テーブルにデータ入力領域の先頭
    アドレスとデータ長を記憶すると共に、チャネルコマン
    ドCCWのアドレスが前記テーブルに記憶されているデ
    ータ領域内に存在するか判断し、 存在する場合は、該チャネルコマンドCCWは外部装置
    より読み込んだチャネルコマンドであると判定し、前記
    データ領域をデータ入力領域とするリードコマンド(チ
    ャネルコマンドCCW)に対応するチャネルコマンドD
    CWにフラグをセットし、 一括変換により得られたチャネルコマンドDCWの実行
    時、前記フラグが検出された時、該フラグ付きのチャネ
    ルコマンドDCW(リードコマンド)により外部装置よ
    り前記データ領域に読み込んだチャネルコマンド列CC
    Wを、順次別のチャネルコマンド列DCWに変換し、変
    換後、該チャネルコマンド列DCWを実行することを特
    徴とする請求項1記載のI/O処理方法。
  4. 【請求項4】 所定のチャネルコマンドCCWにフラグ
    をセットしておき、 一括変換時に該フラグをセットされたチャネルコマンド
    CCWに応じたチャネルコマンドDCWにフラグをセッ
    トし、 一括変換により得られたチャネルコマンドDCWの実行
    時に、前記フラグが検出された時、該検出をオペレーシ
    ョンシステムOSに通知し、 しかる後、一定間隔で一括変換時におけるチャネルコマ
    ンド列(CCW列)と現在のチャネルコマンド列(CC
    W列)を比較し、変更により不一致のチャネルコマンド
    CCWが存在する場合には、該変更チャネルコマンドC
    CWをチャネルコマンドDCWに再変換することを特徴
    とする請求項1記載のI/O処理方法。
JP25730195A 1995-10-04 1995-10-04 I/o処理方法 Expired - Fee Related JP3796281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25730195A JP3796281B2 (ja) 1995-10-04 1995-10-04 I/o処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25730195A JP3796281B2 (ja) 1995-10-04 1995-10-04 I/o処理方法

Publications (2)

Publication Number Publication Date
JPH09101918A true JPH09101918A (ja) 1997-04-15
JP3796281B2 JP3796281B2 (ja) 2006-07-12

Family

ID=17304469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25730195A Expired - Fee Related JP3796281B2 (ja) 1995-10-04 1995-10-04 I/o処理方法

Country Status (1)

Country Link
JP (1) JP3796281B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277583A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277583A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置

Also Published As

Publication number Publication date
JP3796281B2 (ja) 2006-07-12

Similar Documents

Publication Publication Date Title
US5579220A (en) Method of updating a supplementary automation system
US5056010A (en) Pointer based DMA controller
JP2003512670A (ja) 連結リストdma記述子アーキテクチャ
JPH0636515B2 (ja) 通信プロセッサ装置
JPS63301339A (ja) コンピュ−タ装置
US7711891B1 (en) Method, system, and computer-readable medium for updating memory devices in a computer system
JPH0348537B2 (ja)
US5206942A (en) Partially storing control circuit used in a memory unit
US6012104A (en) Method and apparatus for dynamic extension of channel programs
JPH09101918A (ja) I/o処理方法
JP2595341B2 (ja) パイプライン・プロセッサのメモリー動作制御装置
CN112015159B (zh) 一种基于双核mcu的故障记录存储方法及计算机系统
JP3452771B2 (ja) 命令制御システム及びその方法
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
US6535935B1 (en) Method of sending data streams using a refetchable first-in-first-out memory which is read in a sequence that backs-up
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JP2826781B2 (ja) データ転送方式
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
JPH04255960A (ja) ディスクドライブ並列操作方法
JPH0439732A (ja) 可変長データ処理装置
CN118151838A (zh) 记忆装置、快闪存储器控制器及其控制方法
JPS61169937A (ja) マイクロプロセツサ命令拡張方式
CN116301602A (zh) 数据记录或读取方法、装置、采集设备、车辆及介质
JP2001188764A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060417

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140421

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees