(57)【特許請求の範囲】
【請求項１】
オペレーティングシステムからの指示によって制御され、チャネルプログラム実行によりメモリからＨＩＰＰＩへデータを転送するＨＩＰＰＩ入出力装置において、
前記メモリからの転送データを取り込む第１の転送バッファと、
この第１の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記ＨＩＰＰＩへ転送するソースチャネル及び前記ＨＩＰＰＩからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、
前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第２の転送バッファと、
前記オペレーティングシステムからの指示に従って前記第１及び第２の転送バッファの転送を制御する転送制御ハードウェアと、
前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、
前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第１の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、
前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、
前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第１の転送バッファへ取り込むことを特徴とするＨＩＰＰＩ入出力装置。
【請求項２】
前記転送制御ハードウェアは、オペレーティングシステムからの論理チャネル単位のチャネルプログラム起動を受けて前記ファームウェアへ報告する手段、前記ファームウェアからの指示により前記メモリ上のチャネルプログラムを読み出す手段、前記ファームウェアからの指示により前記メモリからの転送データを前記第１の転送バッファに取り込む手段、前記ファームウェアからの指示により前記第２の転送バッファから前記メモリへデータを転送させる手段、前記ディスティネーションチャネルから前記第２の転送バッファへデータを転送させる手段に加え、さらに転送データを前記第１の転送バッファから前記ソースチャネルへ全て送出させた時点で前記ファームウェアへ次の動作指示要求を行う手段を備え、
前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えることを特徴とする請求項１記載のＨＩＰＰＩ入出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをＨＩＰＰＩ（Ｈｉｇｈ  ｐｅｒｆｏｒｍａｎｃｅ  ｐａｒａｌｌｅｌ  ｉｎｔｅｒｆａｃｅ  ：大容量データを８００Ｍ〜１．６Ｇビット／秒の超高速で転送することを目的として開発されているインターフェース）へ送出するＨＩＰＰＩ入出力装置に関する。
【０００２】
【従来の技術】
従来より、ＨＩＰＰＩ入出力装置にあっては、メモリ及びＨＩＰＰＩ間の入出力制御を、オペレーティングシステム（以下、ＯＳと記す）の指示に応じてチャネルプログラムを実行することによって行うようにしている。
【０００３】
ここで、チャネルプログラムは、メモリ及びＨＩＰＰＩ間の入出力制御を行うためのプログラムで、メモリ上に存在する。入出力装置は、メモリ及びＨＩＰＰＩ間のデータ転送を行うための物理的に存在する物理チャネルを持ち、物理チャネルは、送信側のソースチャネルと受信側のディスティネーションチャネルを持つ。また、物理チャネルは、チャネルプログラムの起動、終了の単位として複数の論理チャネルを持つ。これにより、ＯＳが複数のチャネルプログラムの起動指示を行えるようになっている。
【０００４】
複数チャネルプログラムの起動指示がソースチャネルに行われた場合、従来方式では、複数のチャネルプログラムの内容をメモリからＨＩＰＰＩへのデータ転送指示としている。
【０００５】
チャネルプログラムの制御は、入出力装置のファームウェア（以下、ＦＷと記す）により行われる。このＦＷは、チャネルプログラムの実行指示を受けると、チャネルプログラムの内容を解読し、実行内容を入出力装置の転送制御ハードウェア（以下、ＨＷと記す）に指示する。
【０００６】
入出力装置の転送制御ＨＷにより、メモリからの転送データは入出力装置の転送バッファに取り込まれ、取り込まれたデータは、次にソースチャネルの持つチャネル転送バッファに転送され、該バッファによりＨＩＰＰＩへ転送される。
【０００７】
図３に従来のＨＩＰＰＩ入出力装置の具体的な構成を示す。このＨＩＰＰＩ入出力装置３００は、メモリ２００及びＨＩＰＰＩ４００間の入出力制御を、ＯＳ１００の指示によりチャネルプログラムを実行することによって行う。
【０００８】
ここで、メモリ２００は、メモリ２００及びＨＩＰＰＩ４００間の入出力制御するチャネルプログラム２０１と、ＨＩＰＰＩ４００に対して入出力される転送データ２０２を格納する。
【０００９】
入出力装置３００は、ＯＳ１００からの指示に応じてチャネルプログラムを制御するＦＷ３０１と転送制御ＨＷ３０２、メモリ２００からの転送データを取り込む転送バッファ３０３、この転送バッファ３０３に取り込まれた転送データをＨＩＰＰＩ４００に送出する物理チャネル（ソースチャネル）３１０、ＨＩＰＰＩ４００からの転送データを取り込む物理チャネル（ディスティネーションチャネル）３２０、この物理チャネル３２０に取り込まれた転送データをメモリ２００に送出する転送バッファ３０４を備える。
【００１０】
転送制御ＨＷ３０２は、ＯＳ１００からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付け、ＦＷ３０１へ報告する手段、ＦＷ３０１からの指示によりメモリ２００上のチャネルプログラム２０１を読み出す手段、ＦＷ３０１からの指示によりメモリ２００からの転送データ２０２を転送バッファ３０３に取り込む手段、ＦＷ３０１からの指示により物理チャネル３２０からの転送データを転送バッファ３０４に取り込む手段、ＦＷ３０１からの指示により転送バッファ３０４からメモリ２００へデータを転送させる手段を持つ。
【００１１】
物理チャネル３１０，３２０は、メモリ２００及びＨＩＰＰＩ４００間のデータ転送を行うもので、送信側をソースチャネル（３１０）、受信側をディスティネーションチャネル（３２０）とする。
【００１２】
また、物理チャネル３１０，３２０は、それぞれチャネルプログラムの起動・終了の単位としての複数の論理チャネルを備える。
【００１３】
ソースチャネル３１０は、チャネル転送バッファ３１２、チャネル制御ＨＷ３１１を備える。チャネル転送バッファ３１２は、転送バッファ３０３からの転送データを取り込んでＨＩＰＰＩ４００へ送出するものである。チャネル制御ＨＷ３１１は、ＦＷ３０１からの指示により、チャネル転送バッファ３１２のデータ取り込み、転送を制御する手段、転送データの終わりを検出してＦＷ３０１へ転送終了の報告を行う手段を備える。
【００１４】
ディスティネーションチャネル３２０は、チャネル転送バッファ３２１、チャネル制御ＨＷ３２２を備える。チャネル転送バッファ３２１は、ＨＩＰＰＩ４００からの転送データを取り込んで転送バッファ３０４へ送出するものである。チャネル制御ＨＷ３２２は、ＦＷ３０１からの指示により、チャネル転送バッファ３２１のデータ取り込み、転送を制御する手段、転送すべきデータの終わりを検出してＦＷ３０１へ転送終了の報告を行う手段を備える。
【００１５】
ＦＷ３０１は、転送制御ＨＷ３０２を通じてメモリ２００上のチャネルプログラム２０１を制御してチャネルプログラム２０１の解読を行う手段、転送制御ＨＷ３０２へチャネルプログラム２０１の取り込み動作を指示する手段、ＯＳ１００へのチャネルプログラムの実行完了を報告する手段を備える。
【００１６】
上記構成において、図４に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル３１０に行われた場合について説明する。
【００１７】
複数のチャネルプログラムに対する実行指示は、論理チャネル単位毎に行われ、実行は物理チャネル３１０，３２０上で行われる。チャネルプログラムは、メモリ２００及びＨＩＰＰＩ４００間の入出力制御をするプログラムで、メモリ２００上に存在する。ここでは、チャネルプログラム（１）、チャネルプログラム（２）が用意されている。
【００１８】
チャネルプログラム（１）、チャネルプログラム（２）の内容は、メモリ２００からＨＩＰＰＩ４００への転送指示、メモリ２００上にある転送元データのアドレス、転送データ長の情報が含まれている。転送データ（１）、転送データ（２）はメモリ２００上にあるＨＩＰＰＩ４００への転送データである。
【００１９】
ソースチャネル３１０におけるメモリ２００−ＨＩＰＰＩ４００間のデータ転送制御方式では、まず、ＯＳ１００から論理チャネル（１）へチャネルプログラム（１）の実行指示（１１１）がなされる。
【００２０】
チャネルプログラム（１）の実行指示を受けた入出力装置３００では、ＦＷ３０１によりチャネルプログラム（１）を読み出し（３９１）、解読して（３９２）、解読したチャネルプログラム（１）の動作内容を転送制御ＨＷ３０２へ指示する（３９３）。
【００２１】
動作内容指示（３９３）を受け取ると、転送制御ＨＷ３０２は、メモリ２００上の指示のあったアドレスから指示のあったデータ長だけ転送データ（１）を転送バッファ３０３へ取り込み（３９４）、チャネル転送バッファ３１２に転送する（３９５）。チャネル転送バッファ３１２へ送られたデータはＨＩＰＰＩ４００へ転送される（３９６）。
【００２２】
チャネルプログラム（１）実行中のソースチャネル３１０は、チャネルプログラムの実行が終了するまでは、実行中チャネルプログラム（１）による占有状態となる。
【００２３】
物理チャネル占有状態で、ＯＳ１００からソースチャネルの論理チャネル（２）にチャネルプログラム（２）の実行指示（１１２）がなされた場合、ＦＷ３０１はチャネルプログラム（２）を読み出し（３８１）、解読する（３８２）。チャネルプログラム（２）の実行は、実行中のチャネルプログラム（１）の転送終了報告（３９７）がくるまではＦＷ３０１によって実行待ち状態（３８３）となる。
【００２４】
チャネルプログラム（１）の転送終了報告（３９７）がなされると、ＦＷ３０１はＯＳ１００へチャネルプログラム（１）の実行終了報告（１１３）を行う。
【００２５】
次に、チャネルプログラム（２）の実行処理を始め、解読したチャネルプログラム（２）の動作内容を転送制御ＨＷ３０２に指示する（３８４）。これにより、チャネルプログラム（２）実行によるメモリ−ＨＩＰＰＩへの転送が行われる。
【００２６】
データ（２）の転送終了後、ＦＷ３０１へ終了報告（３８６）を行う。ＦＷ３０１はＯＳ１００へチャネルプログラム（２）の実行終了報告（１１４）を行い、一連の動作が終了する。
【００２７】
ここで、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをＨＩＰＰＩへ送出するＨＩＰＰＩ入出力装置に関連する先行技術として、（１）特開平５−１２０００８号公報に「レジスタアクセス方式」、（２）特開昭６４−８８６６９号公報に「ＤＭＡ転送制御テーブル先読み方式」、（３）特開昭６１−２８２９５６号公報に「ＤＭＡ転送待ち行列制御方式」がある。
【００２８】
先行技術（１）の発明は、テンポラリレジスタを設け、動作中のチャネルの内部レジスタに対して、外部のＣＰＵから制御データの書き込み要求が生じた場合には、該書き込み要求データを該テンポラリレジスタに一旦書き込み、当該チャネルの内部処理結果に基づく制御データの内部レジスタへの書き込みが終了した後で、該テンポラリレジスタのデータを内部レジスタに転送するように書込制御部により制御し、これによりＣＰＵの待ち時間を大幅に減少させるというものである。
【００２９】
先行技術（２）の発明は、入出力装置はセクターまたはトラックにまたがる読み出しのときに機械的動作を行うために待ち時間が入る。この時、入出力装置のＤＭＡ転送要求がインアクティブになり、転送制御テーブル・リード・チャネルにバスの制御が渡され、次の転送制御テーブルの読み込みを行う。待ち時間終了後、再び入出力装置からのデータ転送が行われる。このように、データ転送中の空き時間を見つけて転送制御テーブルを先読みし、第１のデータ転送と第２のデータ転送の間に待ち時間が入らないようにするというものである。
【００３０】
先行技術（３）の発明は、チャネルからの当初の転送要求があったとき、中央処理装置はマイクロプログラムにより転送のための前処理を行う。そのとき、ＤＭＡ転送処理中であるか否かをチェックするというものである。
【００３１】
しかしながら、従来のＨＩＰＰＩ入出力装置では、上記の公報記載の方式を含め、いずれも複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−ＨＩＰＰＩへの転送方式であって、ソースチャネルがチャネルプログラム実行中であれば、他の起動指示がなされているチャネルプログラムが、実行中チャネルプログラムの転送終了報告がチャネル制御装置からあるまで、ＦＷにより実行を待たせている。このため、チャネルプログラムの実行待ちが生じ、転送効率が低下している。
【００３２】
【発明が解決しようとする課題】
以上述べたように、従来のＨＩＰＰＩ入出力装置では、複数チャネルプログラムの起動指示がソースチャネルに行われた際、チャネルプログラムの実行待ちが生じ、転送効率が低下するという欠点があった。
【００３３】
本発明は、上記の問題を解決し、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるＨＩＰＰＩ入出力装置を提供することを目的とする。
【００３４】
【課題を解決するための手段】
上記の課題を解決するために、本発明に係るＨＩＰＰＩ入出力装置は、以下のように構成される。
【００３５】
（１）オペレーティングシステムからの指示によって制御され、チャネルプログラム実行によりメモリからＨＩＰＰＩへデータを転送するＨＩＰＰＩ入出力装置において、前記メモリからの転送データを取り込む第１の転送バッファと、この第１の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記ＨＩＰＰＩへ転送するソースチャネル及び前記ＨＩＰＰＩからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第２の転送バッファと、前記オペレーティングシステムからの指示に従って前記第１及び第２の転送バッファの転送を制御する転送制御ハードウェアと、前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第１の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第１の転送バッファへ取り込むようにした。
【００３６】
（２）（１）の構成において、前記転送制御ハードウェアは、オペレーティングシステムからの論理チャネル単位のチャネルプログラム起動を受けて前記ファームウェアへ報告する手段、前記ファームウェアからの指示により前記メモリ上のチャネルプログラムを読み出す手段、前記ファームウェアからの指示により前記メモリからの転送データを前記第１の転送バッファに取り込む手段、前記ファームウェアからの指示により前記第２の転送バッファから前記メモリへデータを転送させる手段、前記ディスティネーションチャネルから前記第２の転送バッファへデータを転送させる手段に加え、さらに転送データを第１の転送バッファ３０３から前記ソースチャネルへ全て送出させた時点で前記ファームウェアへ次の動作指示要求を行う手段を備え、前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えるようにした。
【００３７】
すなわち、本発明に係るＨＩＰＰＩ入出力装置では、チャネルプログラム実行によるデータ転送において、転送データが第１の転送バッファからソースチャネルへ全て送出された際に、転送制御ハードウェアが実行待ちのチャネルプログラムの実行要求をファームウェアに通知する。
【００３８】
特に、複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−ＨＩＰＰＩ間のデータ転送方式において、チャネルプログラム実行待ちが生じて転送効率低下となることを回避するため、チャネルプログラム実行によるメモリ−ＨＩＰＰＩへの転送方式において、転送制御ハードウェアは、ファームウェアより指示のあったデータ長をメモリから取り込み、ソースチャネル転送バッファへ送出すると、ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。動作要求指示を受けたファームウェアは、実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御ハードウェアに行う。これを受けて、転送制御ハードウェアは動作内容に従ってメモリから転送データを第１の転送バッファへ取り込む。これによりチャネル制御からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、転送効率をあげることができるようになる。
【００３９】
【発明の実施の形態】
以下、図１及び図２を参照して本発明の実施の形態について詳細に説明する。
【００４０】
図１は本発明の実施形態に係るＨＩＰＰＩ入出力装置の構成を示すものである。尚、図１において、図３と同一部分には同一符号を付して示す。
【００４１】
図１に示すＨＩＰＰＩ入出力装置において、メモリ２００−ＨＩＰＰＩ４００間の入出力制御は、ＯＳ１００の指示によりチャネルプログラムを実行することによって行われる。
【００４２】
チャネルプログラム２０１は、メモリ２００−ＨＩＰＰＩ４００間の入出力制御をするプログラムで、メモリ２００上にチャネルプログラム（１）、チャネルプログラム（２）が用意されている。
【００４３】
チャネルプログラム（１）、チャネルプログラム（２）の内容は、メモリ２００からＨＩＰＰＩ４００への転送指示、メモリ２００上にある転送元データのアドレス、転送データ長が入っている。
【００４４】
転送データ（１）、転送データ（２）はメモリ２００上にあるＨＩＰＰＩ４００への転送データである。
【００４５】
入出力装置３００は、チャネルプログラムを制御するＦＷ３０１、転送制御の転送制御ＨＷ３０２、転送データを取り込む転送バッファ３０３，３０４、物理チャネル３１０，３２０を持つことで、メモリ２００−ＨＩＰＰＩ４００間のデータ転送を行う。
【００４６】
転送制御ＨＷ３０２は、ＯＳ１００からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付けてＦＷ３０１へ報告する手段、ＦＷ指示によりメモリ２００上のチャネルプログラム２０１を読み出す手段、ＦＷ指示によりメモリ２００からの転送データ２０２を転送バッファ３０３に取り込む手段、ＦＷ指示により転送バッファ３０４からメモリ２００へデータを転送させる手段、チャネル転送バッファ３２１から転送バッファ３０４へデータを転送させる手段に加え、さらに転送データを転送バッファ３０３からチャネル転送バッファ３１２へ全て送出したらＦＷ３０１へ次の動作指示要求を行う手段３７１を持つ。
【００４７】
物理チャネルは、メモリ２００−ＨＩＰＰＩ４００間のデータ転送を行うために物理的に存在し、送信側のソースチャネル３１０、受信側のディスティネーションチャネル３２０を備える。また、物理チャネルは、チャネルプログラムの起動・終了の単位としての複数の論理チャネルを持つ。
【００４８】
ソースチャネル３１０は、チャネル転送バッファ３１２、チャネル転送制御ＨＷ３１１を持ち、チャネル転送バッファ３１２は入出力装置の転送バッファ３０３の転送データを取り込み、チャネル制御ＨＷ３１１は転送バッファのデータをＨＩＰＰＩ４００へ送出する手段、転送すべきデータの終わりを送出したらＦＷ３０１への転送終了報告手段を持つ。
【００４９】
ディスティネーションチャネル３２０は、チャネル転送バッファ３２１、チャネル制御ＨＷ３２２を持ち、チャネル転送バッファ３２１はＨＩＰＰＩ４００からの転送データを取り込み、チャネル制御ＨＷ３２２はチャネル転送バッファ３２１のデータを転送バッファ３０４へ送出する手段、転送すべきデータの終わりを送出したらＦＷ３０１への転送終了報告手段を持つ。
【００５０】
上記構成において、図２に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル３１０に行われた場合について説明する。
【００５１】
複数のチャネルプログラムの内容は、メモリ２００−ＨＩＰＰＩ４００間の入出力制御するプログラムで、メモリ２００上に存在し、チャネルプログラム（１）、チャネルプログラム（２）が用意されている。
【００５２】
チャネルプログラム（１）、チャネルプログラム（２）の内容は、メモリ２００からＨＩＰＰＩ４００への転送指示、メモリ２００上にある転送元データのアドレス、転送データ長が含まれている。転送データ（１）、転送データ（２）はメモリ２００上にあるＨＩＰＰＩ４００への転送データである。
【００５３】
ソースチャネル３１０におけるメモリ２００−ＨＩＰＰＩ４００間のデータ転送制御方式では、まず、ＯＳ１００から論理チャネル（１）へチャネルプログラム（１）の実行指示（１１１）がなされる。
【００５４】
チャネルプログラム（１）の実行指示を受けた入出力装置３００では、ＦＷ３０１により制御され、ＦＷ３０１はチャネルプログラム（１）を読み出し（３９１）、解読して（３９２）、解読したチャネルプログラム（１）の動作内容を転送制御ＨＷ３０２へ指示する（３９３）。
【００５５】
この転送制御ＨＷ３０２は、動作内容指示（３９３）を受け取ると、メモリ２００上の指示のあったアドレスから指示のあったデータ長だけ転送データ（１）を転送バッファ３０３へ取り込み（３９４）、チャネル転送バッファ３１２に転送する（３９５）。チャネル転送バッファ３１２へ送られたデータはＨＩＰＰＩ４００へ転送される（３９６）。
【００５６】
チャネルプログラム（１）実行中のソースチャネルの論理チャネル（２）にチャネルプログラム（２）の実行指示された場合（１１２）、ＦＷ３０１はチャネルプログラム（２）を読み出し（３８１）、解読する（３８２）。チャネルプログラム（１）による転送データが転送バッファ３０３よりチャネル転送バッファ３１２へ全て送出されると、転送制御ＨＷ３０２は、ＦＷ３０１へ次チャネルプログラムによる動作指示要求を行う（３７１）。
【００５７】
動作指示要求を受けたＦＷ３０１は、チャネルプログラム（２）の動作内容を転送制御ＨＷ３０２へ指示する（３８４）。転送制御ＨＷ３０２は、動作内容指示（３８４）を受け取ると、転送バッファ３０３に対し、メモリ２００上の指示のあったアドレスから指示のあったデータ長だけの転送データ（２）の取り込みを行う（３８５）。チャネルプログラム（２）の転送が行われる。
【００５８】
転送データ（１）がチャネル転送バッファ３１２よりＨＩＰＰＩ４００へ送出されると、チャネルプログラム（１）の転送終了報告がなされる（３９７）。報告（３１１）を受けたＦＷ３０１は、ＯＳ１００へチャンネルプログラム（１）の実行終了報告を行う（１１３）。
【００５９】
チャネルプログラム（２）による転送データが転送バッファ３０３よりチャネル転送バッファ３１２へ全て送出されると、ＦＷ３０１へ次チャネルプログラムによる動作指示要求を行う（３７２）。
【００６０】
データ（２）の転送終了後、ＦＷ３０１へ終了報告が行われると（３８６）、ＦＷ３０１はＯＳ１００へチャネルプログラム（２）の実行終了報告を行う（１１４）。
【００６１】
以上の動作から明らかなように、本実施形態の構成によるＨＩＰＰＩ入出力装置では、チャネルプログラム実行によるメモリ−ＨＩＰＰＩへの転送において、転送制御ＨＷ３０２がＦＷ３０１より指示のあったデータ長をメモリ２００から取り込んでチャネル転送バッファ３１２へ送出させると、ＦＷ３０１へ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。この動作要求指示を受けたＦＷ３０１が実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御ＨＷ３０２に送り、転送制御ＨＷ３０２が動作内容に従ってメモリ２００から転送データを入出力装置３００の転送バッファ３０３へ取り込む。
【００６２】
これにより、チャネル制御ＨＷ３１１からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、従来装置に比して転送効率を上げることができる。
【００６３】
【発明の効果】
以上のように本発明によれば、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるＨＩＰＰＩ入出力装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るＨＩＰＰＩ入出力装置の構成を示すブロック図である。
【図２】同実施形態の動作を説明するため処理フローを示す図である。
【図３】従来のＨＩＰＰＩ入出力装置の構成を示すブロック図である。
【図４】従来装置の動作を説明するための処理フローを示す図である。
【符号の説明】
１００  ＯＳ
２００  メモリ
２０１  チャネルプログラム格納部
２０２  転送データ格納部
３００  ＨＩＰＰＩ入出力装置
３０１  ファームウェア
３０２  転送制御ハードウェア
３０３、３０４  転送バッファ
３１０  ソースチャネル
３１１  チャネル転送制御ハードウェア
３１２  チャネル転送バッファ
３２０  ディスティネーションチャネル
３２１  チャネル転送バッファ
３２２  チャネル制御ハードウェア
４００  ＨＩＰＰＩ
【図１】
0003541338.tif 000002
【図２】
0003541338.tif 000003
【図３】
0003541338.tif 000004
【図４】
0003541338.tif 000005