JP3541338B2 - HIPPI input / output device - Google Patents
HIPPI input / output device Download PDFInfo
- Publication number
- JP3541338B2 JP3541338B2 JP10125797A JP10125797A JP3541338B2 JP 3541338 B2 JP3541338 B2 JP 3541338B2 JP 10125797 A JP10125797 A JP 10125797A JP 10125797 A JP10125797 A JP 10125797A JP 3541338 B2 JP3541338 B2 JP 3541338B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- channel
- data
- instruction
- memory
- 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 - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをHIPPI(High performance parallel interface :大容量データを800M〜1.6Gビット/秒の超高速で転送することを目的として開発されているインターフェース)へ送出するHIPPI入出力装置に関する。
【0002】
【従来の技術】
従来より、HIPPI入出力装置にあっては、メモリ及びHIPPI間の入出力制御を、オペレーティングシステム(以下、OSと記す)の指示に応じてチャネルプログラムを実行することによって行うようにしている。
【0003】
ここで、チャネルプログラムは、メモリ及びHIPPI間の入出力制御を行うためのプログラムで、メモリ上に存在する。入出力装置は、メモリ及びHIPPI間のデータ転送を行うための物理的に存在する物理チャネルを持ち、物理チャネルは、送信側のソースチャネルと受信側のディスティネーションチャネルを持つ。また、物理チャネルは、チャネルプログラムの起動、終了の単位として複数の論理チャネルを持つ。これにより、OSが複数のチャネルプログラムの起動指示を行えるようになっている。
【0004】
複数チャネルプログラムの起動指示がソースチャネルに行われた場合、従来方式では、複数のチャネルプログラムの内容をメモリからHIPPIへのデータ転送指示としている。
【0005】
チャネルプログラムの制御は、入出力装置のファームウェア(以下、FWと記す)により行われる。このFWは、チャネルプログラムの実行指示を受けると、チャネルプログラムの内容を解読し、実行内容を入出力装置の転送制御ハードウェア(以下、HWと記す)に指示する。
【0006】
入出力装置の転送制御HWにより、メモリからの転送データは入出力装置の転送バッファに取り込まれ、取り込まれたデータは、次にソースチャネルの持つチャネル転送バッファに転送され、該バッファによりHIPPIへ転送される。
【0007】
図3に従来のHIPPI入出力装置の具体的な構成を示す。このHIPPI入出力装置300は、メモリ200及びHIPPI400間の入出力制御を、OS100の指示によりチャネルプログラムを実行することによって行う。
【0008】
ここで、メモリ200は、メモリ200及びHIPPI400間の入出力制御するチャネルプログラム201と、HIPPI400に対して入出力される転送データ202を格納する。
【0009】
入出力装置300は、OS100からの指示に応じてチャネルプログラムを制御するFW301と転送制御HW302、メモリ200からの転送データを取り込む転送バッファ303、この転送バッファ303に取り込まれた転送データをHIPPI400に送出する物理チャネル(ソースチャネル)310、HIPPI400からの転送データを取り込む物理チャネル(ディスティネーションチャネル)320、この物理チャネル320に取り込まれた転送データをメモリ200に送出する転送バッファ304を備える。
【0010】
転送制御HW302は、OS100からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付け、FW301へ報告する手段、FW301からの指示によりメモリ200上のチャネルプログラム201を読み出す手段、FW301からの指示によりメモリ200からの転送データ202を転送バッファ303に取り込む手段、FW301からの指示により物理チャネル320からの転送データを転送バッファ304に取り込む手段、FW301からの指示により転送バッファ304からメモリ200へデータを転送させる手段を持つ。
【0011】
物理チャネル310,320は、メモリ200及びHIPPI400間のデータ転送を行うもので、送信側をソースチャネル(310)、受信側をディスティネーションチャネル(320)とする。
【0012】
また、物理チャネル310,320は、それぞれチャネルプログラムの起動・終了の単位としての複数の論理チャネルを備える。
【0013】
ソースチャネル310は、チャネル転送バッファ312、チャネル制御HW311を備える。チャネル転送バッファ312は、転送バッファ303からの転送データを取り込んでHIPPI400へ送出するものである。チャネル制御HW311は、FW301からの指示により、チャネル転送バッファ312のデータ取り込み、転送を制御する手段、転送データの終わりを検出してFW301へ転送終了の報告を行う手段を備える。
【0014】
ディスティネーションチャネル320は、チャネル転送バッファ321、チャネル制御HW322を備える。チャネル転送バッファ321は、HIPPI400からの転送データを取り込んで転送バッファ304へ送出するものである。チャネル制御HW322は、FW301からの指示により、チャネル転送バッファ321のデータ取り込み、転送を制御する手段、転送すべきデータの終わりを検出してFW301へ転送終了の報告を行う手段を備える。
【0015】
FW301は、転送制御HW302を通じてメモリ200上のチャネルプログラム201を制御してチャネルプログラム201の解読を行う手段、転送制御HW302へチャネルプログラム201の取り込み動作を指示する手段、OS100へのチャネルプログラムの実行完了を報告する手段を備える。
【0016】
上記構成において、図4に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル310に行われた場合について説明する。
【0017】
複数のチャネルプログラムに対する実行指示は、論理チャネル単位毎に行われ、実行は物理チャネル310,320上で行われる。チャネルプログラムは、メモリ200及びHIPPI400間の入出力制御をするプログラムで、メモリ200上に存在する。ここでは、チャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0018】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長の情報が含まれている。転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0019】
ソースチャネル310におけるメモリ200−HIPPI400間のデータ転送制御方式では、まず、OS100から論理チャネル(1)へチャネルプログラム(1)の実行指示(111)がなされる。
【0020】
チャネルプログラム(1)の実行指示を受けた入出力装置300では、FW301によりチャネルプログラム(1)を読み出し(391)、解読して(392)、解読したチャネルプログラム(1)の動作内容を転送制御HW302へ指示する(393)。
【0021】
動作内容指示(393)を受け取ると、転送制御HW302は、メモリ200上の指示のあったアドレスから指示のあったデータ長だけ転送データ(1)を転送バッファ303へ取り込み(394)、チャネル転送バッファ312に転送する(395)。チャネル転送バッファ312へ送られたデータはHIPPI400へ転送される(396)。
【0022】
チャネルプログラム(1)実行中のソースチャネル310は、チャネルプログラムの実行が終了するまでは、実行中チャネルプログラム(1)による占有状態となる。
【0023】
物理チャネル占有状態で、OS100からソースチャネルの論理チャネル(2)にチャネルプログラム(2)の実行指示(112)がなされた場合、FW301はチャネルプログラム(2)を読み出し(381)、解読する(382)。チャネルプログラム(2)の実行は、実行中のチャネルプログラム(1)の転送終了報告(397)がくるまではFW301によって実行待ち状態(383)となる。
【0024】
チャネルプログラム(1)の転送終了報告(397)がなされると、FW301はOS100へチャネルプログラム(1)の実行終了報告(113)を行う。
【0025】
次に、チャネルプログラム(2)の実行処理を始め、解読したチャネルプログラム(2)の動作内容を転送制御HW302に指示する(384)。これにより、チャネルプログラム(2)実行によるメモリ−HIPPIへの転送が行われる。
【0026】
データ(2)の転送終了後、FW301へ終了報告(386)を行う。FW301はOS100へチャネルプログラム(2)の実行終了報告(114)を行い、一連の動作が終了する。
【0027】
ここで、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをHIPPIへ送出するHIPPI入出力装置に関連する先行技術として、(1)特開平5−120008号公報に「レジスタアクセス方式」、(2)特開昭64−88669号公報に「DMA転送制御テーブル先読み方式」、(3)特開昭61−282956号公報に「DMA転送待ち行列制御方式」がある。
【0028】
先行技術(1)の発明は、テンポラリレジスタを設け、動作中のチャネルの内部レジスタに対して、外部のCPUから制御データの書き込み要求が生じた場合には、該書き込み要求データを該テンポラリレジスタに一旦書き込み、当該チャネルの内部処理結果に基づく制御データの内部レジスタへの書き込みが終了した後で、該テンポラリレジスタのデータを内部レジスタに転送するように書込制御部により制御し、これによりCPUの待ち時間を大幅に減少させるというものである。
【0029】
先行技術(2)の発明は、入出力装置はセクターまたはトラックにまたがる読み出しのときに機械的動作を行うために待ち時間が入る。この時、入出力装置のDMA転送要求がインアクティブになり、転送制御テーブル・リード・チャネルにバスの制御が渡され、次の転送制御テーブルの読み込みを行う。待ち時間終了後、再び入出力装置からのデータ転送が行われる。このように、データ転送中の空き時間を見つけて転送制御テーブルを先読みし、第1のデータ転送と第2のデータ転送の間に待ち時間が入らないようにするというものである。
【0030】
先行技術(3)の発明は、チャネルからの当初の転送要求があったとき、中央処理装置はマイクロプログラムにより転送のための前処理を行う。そのとき、DMA転送処理中であるか否かをチェックするというものである。
【0031】
しかしながら、従来のHIPPI入出力装置では、上記の公報記載の方式を含め、いずれも複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−HIPPIへの転送方式であって、ソースチャネルがチャネルプログラム実行中であれば、他の起動指示がなされているチャネルプログラムが、実行中チャネルプログラムの転送終了報告がチャネル制御装置からあるまで、FWにより実行を待たせている。このため、チャネルプログラムの実行待ちが生じ、転送効率が低下している。
【0032】
【発明が解決しようとする課題】
以上述べたように、従来のHIPPI入出力装置では、複数チャネルプログラムの起動指示がソースチャネルに行われた際、チャネルプログラムの実行待ちが生じ、転送効率が低下するという欠点があった。
【0033】
本発明は、上記の問題を解決し、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるHIPPI入出力装置を提供することを目的とする。
【0034】
【課題を解決するための手段】
上記の課題を解決するために、本発明に係るHIPPI入出力装置は、以下のように構成される。
【0035】
(1)オペレーティングシステムからの指示によって制御され、チャネルプログラム実行によりメモリからHIPPIへデータを転送するHIPPI入出力装置において、前記メモリからの転送データを取り込む第1の転送バッファと、この第1の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記HIPPIへ転送するソースチャネル及び前記HIPPIからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第2の転送バッファと、前記オペレーティングシステムからの指示に従って前記第1及び第2の転送バッファの転送を制御する転送制御ハードウェアと、前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第1の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第1の転送バッファへ取り込むようにした。
【0036】
(2)(1)の構成において、前記転送制御ハードウェアは、オペレーティングシステムからの論理チャネル単位のチャネルプログラム起動を受けて前記ファームウェアへ報告する手段、前記ファームウェアからの指示により前記メモリ上のチャネルプログラムを読み出す手段、前記ファームウェアからの指示により前記メモリからの転送データを前記第1の転送バッファに取り込む手段、前記ファームウェアからの指示により前記第2の転送バッファから前記メモリへデータを転送させる手段、前記ディスティネーションチャネルから前記第2の転送バッファへデータを転送させる手段に加え、さらに転送データを第1の転送バッファ303から前記ソースチャネルへ全て送出させた時点で前記ファームウェアへ次の動作指示要求を行う手段を備え、前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えるようにした。
【0037】
すなわち、本発明に係るHIPPI入出力装置では、チャネルプログラム実行によるデータ転送において、転送データが第1の転送バッファからソースチャネルへ全て送出された際に、転送制御ハードウェアが実行待ちのチャネルプログラムの実行要求をファームウェアに通知する。
【0038】
特に、複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−HIPPI間のデータ転送方式において、チャネルプログラム実行待ちが生じて転送効率低下となることを回避するため、チャネルプログラム実行によるメモリ−HIPPIへの転送方式において、転送制御ハードウェアは、ファームウェアより指示のあったデータ長をメモリから取り込み、ソースチャネル転送バッファへ送出すると、ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。動作要求指示を受けたファームウェアは、実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御ハードウェアに行う。これを受けて、転送制御ハードウェアは動作内容に従ってメモリから転送データを第1の転送バッファへ取り込む。これによりチャネル制御からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、転送効率をあげることができるようになる。
【0039】
【発明の実施の形態】
以下、図1及び図2を参照して本発明の実施の形態について詳細に説明する。
【0040】
図1は本発明の実施形態に係るHIPPI入出力装置の構成を示すものである。尚、図1において、図3と同一部分には同一符号を付して示す。
【0041】
図1に示すHIPPI入出力装置において、メモリ200−HIPPI400間の入出力制御は、OS100の指示によりチャネルプログラムを実行することによって行われる。
【0042】
チャネルプログラム201は、メモリ200−HIPPI400間の入出力制御をするプログラムで、メモリ200上にチャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0043】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長が入っている。
【0044】
転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0045】
入出力装置300は、チャネルプログラムを制御するFW301、転送制御の転送制御HW302、転送データを取り込む転送バッファ303,304、物理チャネル310,320を持つことで、メモリ200−HIPPI400間のデータ転送を行う。
【0046】
転送制御HW302は、OS100からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付けてFW301へ報告する手段、FW指示によりメモリ200上のチャネルプログラム201を読み出す手段、FW指示によりメモリ200からの転送データ202を転送バッファ303に取り込む手段、FW指示により転送バッファ304からメモリ200へデータを転送させる手段、チャネル転送バッファ321から転送バッファ304へデータを転送させる手段に加え、さらに転送データを転送バッファ303からチャネル転送バッファ312へ全て送出したらFW301へ次の動作指示要求を行う手段371を持つ。
【0047】
物理チャネルは、メモリ200−HIPPI400間のデータ転送を行うために物理的に存在し、送信側のソースチャネル310、受信側のディスティネーションチャネル320を備える。また、物理チャネルは、チャネルプログラムの起動・終了の単位としての複数の論理チャネルを持つ。
【0048】
ソースチャネル310は、チャネル転送バッファ312、チャネル転送制御HW311を持ち、チャネル転送バッファ312は入出力装置の転送バッファ303の転送データを取り込み、チャネル制御HW311は転送バッファのデータをHIPPI400へ送出する手段、転送すべきデータの終わりを送出したらFW301への転送終了報告手段を持つ。
【0049】
ディスティネーションチャネル320は、チャネル転送バッファ321、チャネル制御HW322を持ち、チャネル転送バッファ321はHIPPI400からの転送データを取り込み、チャネル制御HW322はチャネル転送バッファ321のデータを転送バッファ304へ送出する手段、転送すべきデータの終わりを送出したらFW301への転送終了報告手段を持つ。
【0050】
上記構成において、図2に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル310に行われた場合について説明する。
【0051】
複数のチャネルプログラムの内容は、メモリ200−HIPPI400間の入出力制御するプログラムで、メモリ200上に存在し、チャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0052】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長が含まれている。転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0053】
ソースチャネル310におけるメモリ200−HIPPI400間のデータ転送制御方式では、まず、OS100から論理チャネル(1)へチャネルプログラム(1)の実行指示(111)がなされる。
【0054】
チャネルプログラム(1)の実行指示を受けた入出力装置300では、FW301により制御され、FW301はチャネルプログラム(1)を読み出し(391)、解読して(392)、解読したチャネルプログラム(1)の動作内容を転送制御HW302へ指示する(393)。
【0055】
この転送制御HW302は、動作内容指示(393)を受け取ると、メモリ200上の指示のあったアドレスから指示のあったデータ長だけ転送データ(1)を転送バッファ303へ取り込み(394)、チャネル転送バッファ312に転送する(395)。チャネル転送バッファ312へ送られたデータはHIPPI400へ転送される(396)。
【0056】
チャネルプログラム(1)実行中のソースチャネルの論理チャネル(2)にチャネルプログラム(2)の実行指示された場合(112)、FW301はチャネルプログラム(2)を読み出し(381)、解読する(382)。チャネルプログラム(1)による転送データが転送バッファ303よりチャネル転送バッファ312へ全て送出されると、転送制御HW302は、FW301へ次チャネルプログラムによる動作指示要求を行う(371)。
【0057】
動作指示要求を受けたFW301は、チャネルプログラム(2)の動作内容を転送制御HW302へ指示する(384)。転送制御HW302は、動作内容指示(384)を受け取ると、転送バッファ303に対し、メモリ200上の指示のあったアドレスから指示のあったデータ長だけの転送データ(2)の取り込みを行う(385)。チャネルプログラム(2)の転送が行われる。
【0058】
転送データ(1)がチャネル転送バッファ312よりHIPPI400へ送出されると、チャネルプログラム(1)の転送終了報告がなされる(397)。報告(311)を受けたFW301は、OS100へチャンネルプログラム(1)の実行終了報告を行う(113)。
【0059】
チャネルプログラム(2)による転送データが転送バッファ303よりチャネル転送バッファ312へ全て送出されると、FW301へ次チャネルプログラムによる動作指示要求を行う(372)。
【0060】
データ(2)の転送終了後、FW301へ終了報告が行われると(386)、FW301はOS100へチャネルプログラム(2)の実行終了報告を行う(114)。
【0061】
以上の動作から明らかなように、本実施形態の構成によるHIPPI入出力装置では、チャネルプログラム実行によるメモリ−HIPPIへの転送において、転送制御HW302がFW301より指示のあったデータ長をメモリ200から取り込んでチャネル転送バッファ312へ送出させると、FW301へ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。この動作要求指示を受けたFW301が実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御HW302に送り、転送制御HW302が動作内容に従ってメモリ200から転送データを入出力装置300の転送バッファ303へ取り込む。
【0062】
これにより、チャネル制御HW311からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、従来装置に比して転送効率を上げることができる。
【0063】
【発明の効果】
以上のように本発明によれば、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるHIPPI入出力装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るHIPPI入出力装置の構成を示すブロック図である。
【図2】同実施形態の動作を説明するため処理フローを示す図である。
【図3】従来のHIPPI入出力装置の構成を示すブロック図である。
【図4】従来装置の動作を説明するための処理フローを示す図である。
【符号の説明】
100 OS
200 メモリ
201 チャネルプログラム格納部
202 転送データ格納部
300 HIPPI入出力装置
301 ファームウェア
302 転送制御ハードウェア
303、304 転送バッファ
310 ソースチャネル
311 チャネル転送制御ハードウェア
312 チャネル転送バッファ
320 ディスティネーションチャネル
321 チャネル転送バッファ
322 チャネル制御ハードウェア
400 HIPPI[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, when a start instruction of a multi-channel program is issued to a source channel, transfer data from a memory is transferred at a very high speed of 800 M to 1.6 Gbit / sec from HIPPI (High performance parallel interface). HIPPI input / output device for sending to an interface developed for this purpose.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a HIPPI input / output device, input / output control between a memory and a HIPPI is performed by executing a channel program in accordance with an instruction of an operating system (hereinafter, referred to as an OS).
[0003]
Here, the channel program is a program for performing input / output control between the memory and the HIPPI, and exists on the memory. The input / output device has a physically existing physical channel for performing data transfer between the memory and the HIPPI, and the physical channel has a source channel on the transmission side and a destination channel on the reception side. The physical channel has a plurality of logical channels as a unit for starting and ending the channel program. As a result, the OS can issue an instruction to activate a plurality of channel programs.
[0004]
When an instruction to start a multi-channel program is issued to the source channel, the contents of the plurality of channel programs are used as data transfer instructions from the memory to the HIPPI in the conventional method.
[0005]
The control of the channel program is performed by firmware (hereinafter, referred to as FW) of the input / output device. When receiving the instruction to execute the channel program, the FW decodes the contents of the channel program and instructs the execution contents to the transfer control hardware (hereinafter, referred to as HW) of the input / output device.
[0006]
The transfer data from the memory is taken into the transfer buffer of the input / output device by the transfer control HW of the input / output device, and the taken data is then transferred to the channel transfer buffer of the source channel and transferred to the HIPPI by the buffer. Is done.
[0007]
FIG. 3 shows a specific configuration of a conventional HIPPI input / output device. The HIPPI input /
[0008]
Here, the
[0009]
The input /
[0010]
The transfer control HW 302 receives a channel program execution instruction issued for each logical channel from the
[0011]
The physical channels 310 and 320 perform data transfer between the
[0012]
Each of the physical channels 310 and 320 has a plurality of logical channels as units for starting and ending the channel program.
[0013]
The source channel 310 includes a
[0014]
The destination channel 320 includes a
[0015]
The FW 301 controls the
[0016]
The operation of the above configuration will be described with reference to the time schedule shown in FIG. Here, a case will be described in which the activation instruction of the multi-channel program is issued to the source channel 310.
[0017]
Execution instructions for a plurality of channel programs are issued for each logical channel unit, and execution is performed on physical channels 310 and 320. The channel program is a program that controls input and output between the
[0018]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the
[0019]
In the data transfer control method between the
[0020]
In the input /
[0021]
Upon receiving the operation content instruction (393), the
[0022]
The source channel 310 under execution of the channel program (1) is occupied by the channel program under execution (1) until the execution of the channel program ends.
[0023]
When the execution instruction (112) of the channel program (2) is issued from the
[0024]
When the transfer end report (397) of the channel program (1) is made, the
[0025]
Next, the process of executing the channel program (2) is started, and the operation content of the decoded channel program (2) is instructed to the transfer control HW 302 (384). Thus, the transfer to the memory-HIPPI is performed by executing the channel program (2).
[0026]
After the transfer of the data (2) is completed, an end report (386) is made to the
[0027]
Here, as a prior art relating to a HIPPI input / output device for transmitting transfer data from a memory to a HIPPI when an instruction to start a multi-channel program is issued to a source channel, (1) Japanese Patent Laid-Open No. 5-120008 discloses There is a "register access method", (2) a "DMA transfer control table look-ahead method" in JP-A-64-88669, and (3) a "DMA transfer queue control method" in JP-A-61-282965.
[0028]
According to the invention of the prior art (1), a temporary register is provided, and when a write request for control data is issued from an external CPU to an internal register of an operating channel, the write request data is stored in the temporary register. Once the writing and the writing of the control data based on the result of the internal processing of the channel to the internal register are completed, the writing control unit controls the data of the temporary register to be transferred to the internal register. It significantly reduces waiting time.
[0029]
In the invention of the prior art (2), a waiting time is required for the input / output device to perform a mechanical operation at the time of reading over a sector or a track. At this time, the DMA transfer request of the input / output device becomes inactive, the control of the bus is transferred to the transfer control table read channel, and the next transfer control table is read. After the end of the waiting time, data transfer from the input / output device is performed again. In this way, a vacant time during data transfer is found and the transfer control table is pre-read to prevent a waiting time from being inserted between the first data transfer and the second data transfer.
[0030]
In the invention of the prior art (3), when there is an initial transfer request from a channel, the central processing unit performs preprocessing for transfer by a microprogram. At that time, it is checked whether or not a DMA transfer process is being performed.
[0031]
However, the conventional HIPPI input / output device is a transfer method to the memory-HIPPI when the start instruction of the multi-channel program is issued to the source channel, including the method described in the above publication, and the source channel is If the channel program is being executed, the execution of the channel program for which another start instruction has been issued is made to wait by the FW until a transfer end report of the channel program being executed is received from the channel control device. For this reason, execution waiting of the channel program occurs, and transfer efficiency is reduced.
[0032]
[Problems to be solved by the invention]
As described above, the conventional HIPPI input / output device has a drawback in that when an instruction to start a multi-channel program is issued to the source channel, the execution of the channel program is waited, and the transfer efficiency is reduced.
[0033]
The present invention solves the above-described problem, and can execute a channel program continuously without waiting for the execution of a channel program even when an instruction to start a multi-channel program is issued to a source channel. It is an object to provide a HIPPI input / output device capable of improving efficiency.
[0034]
[Means for Solving the Problems]
In order to solve the above problems, a HIPPI input / output device according to the present invention is configured as follows.
[0035]
(1) In a HIPPI input / output device which is controlled by an instruction from an operating system and transfers data from a memory to a HIPPI by executing a channel program, a first transfer buffer for taking in transfer data from the memory, and the first transfer A physical channel including a source channel for capturing the transfer data captured in the buffer for each channel and transferring the data to the HIPPI and a destination channel for capturing the transfer data from the HIPPI for each channel; and a transfer captured in the destination channel A second transfer buffer for transferring data to the memory, transfer control hardware for controlling transfer of the first and second transfer buffers in accordance with an instruction from the operating system, ; And a firmware for controlling the transfer control hardware and physical channels in accordance with an instruction from the stem, the transfer control hardware incorporating a data length of instruction from the firmware from the memory to the first transfer buffer After sending the request to the source channel , the firmware notifies the firmware of an operation instruction request of the next channel program waiting to be executed, and the firmware waits for execution upon receiving an operation request instruction from the transfer control hardware. and select and execute the channel programs, sends an operation instruction to the transfer control hardware, the transfer control hardware, the transfer data from the memory so as to take into the first transfer buffer in accordance with an operation instruction from the firmware did.
[0036]
(2) In the configuration of (1), the transfer control hardware is a means for receiving a channel program activation in units of logical channels from an operating system and reporting to the firmware, and a channel program on the memory according to an instruction from the firmware. Means for reading data, means for taking in transfer data from the memory in accordance with an instruction from the firmware into the first transfer buffer, means for transferring data from the second transfer buffer to the memory in accordance with an instruction from the firmware, In addition to the means for transferring data from the destination channel to the second transfer buffer, when the transfer data is completely transmitted from the
[0037]
That is, in the HIPPI input / output device according to the present invention, in the data transfer by executing the channel program, when the transfer data is completely transmitted from the first transfer buffer to the source channel, the transfer control hardware executes the channel program waiting for execution. Notify the firmware of the execution request.
[0038]
In particular, in a data transfer method between a memory and a HIPPI when a start instruction of a multi-channel program is issued to a source channel, a memory for executing a channel program is used to avoid a decrease in transfer efficiency due to a wait for execution of a channel program. In the transfer method to the HIPPI, the transfer control hardware fetches the data length instructed by the firmware from the memory and sends the data length to the source channel transfer buffer. Notify. The firmware that has received the operation request instruction executes the channel program waiting to be executed, and issues an operation instruction to the transfer control hardware. In response, the transfer control hardware fetches the transfer data from the memory to the first transfer buffer according to the operation content. As a result, the next channel program can be executed without waiting for the transfer completion report of the executing channel program from the channel control, so that the transfer efficiency can be improved.
[0039]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0040]
FIG. 1 shows a configuration of a HIPPI input / output device according to an embodiment of the present invention. In FIG. 1, the same parts as those in FIG. 3 are denoted by the same reference numerals.
[0041]
In the HIPPI input / output device illustrated in FIG. 1, input / output control between the
[0042]
The
[0043]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the
[0044]
The transfer data (1) and the transfer data (2) are transfer data to the
[0045]
The input /
[0046]
The
[0047]
The physical channel physically exists for performing data transfer between the
[0048]
The source channel 310 has a
[0049]
The destination channel 320 has a
[0050]
The operation of the above configuration will be described with reference to the time schedule shown in FIG. Here, a case will be described in which the activation instruction of the multi-channel program is issued to the source channel 310.
[0051]
The contents of the plurality of channel programs are programs for input / output control between the
[0052]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the
[0053]
In the data transfer control method between the
[0054]
In the input /
[0055]
Upon receiving the operation content instruction (393), the
[0056]
When the execution of the channel program (2) is instructed to the logical channel (2) of the source channel under execution of the channel program (1) (112), the
[0057]
Upon receiving the operation instruction request, the
[0058]
When the transfer data (1) is sent from the
[0059]
When all the transfer data by the channel program (2) is sent from the
[0060]
After completion of the transfer of the data (2), when a completion report is made to the FW 301 (386), the
[0061]
As is apparent from the above operation, in the HIPPI input / output device according to the configuration of the present embodiment, in the transfer to the memory-HIPPI by executing the channel program, the
[0062]
As a result, the next channel program can be executed without waiting for the transfer completion report of the currently executed channel program from the
[0063]
【The invention's effect】
As described above, according to the present invention, even when an instruction to start a multi-channel program is issued to the source channel, the channel program can be continuously executed without waiting for the execution of the channel program, and the transfer efficiency can be improved. Can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a HIPPI input / output device according to an embodiment of the present invention.
FIG. 2 is a diagram showing a processing flow for explaining the operation of the embodiment.
FIG. 3 is a block diagram showing a configuration of a conventional HIPPI input / output device.
FIG. 4 is a diagram showing a processing flow for explaining the operation of the conventional device.
[Explanation of symbols]
100 OS
200
Claims (2)
前記メモリからの転送データを取り込む第1の転送バッファと、
この第1の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記HIPPIへ転送するソースチャネル及び前記HIPPIからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、
前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第2の転送バッファと、
前記オペレーティングシステムからの指示に従って前記第1及び第2の転送バッファの転送を制御する転送制御ハードウェアと、
前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、
前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第1の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、
前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、
前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第1の転送バッファへ取り込むことを特徴とするHIPPI入出力装置。In a HIPPI input / output device controlled by an instruction from an operating system and transferring data from a memory to a HIPPI by executing a channel program,
A first transfer buffer for receiving transfer data from the memory;
A physical channel having a source channel for taking in the transfer data taken into the first transfer buffer for each channel and transferring the data to the HIPPI, and a destination channel for taking in the transfer data from the HIPPI for each channel;
A second transfer buffer for transferring the transfer data captured by the destination channel to the memory;
Transfer control hardware for controlling transfer of the first and second transfer buffers according to an instruction from the operating system;
Comprising a firmware that controls the transfer control hardware and a physical channel according to an instruction from the operating system,
The transfer control hardware reads the data length instructed by the firmware from the memory into the first transfer buffer , sends the data to the source channel , and then executes the next channel program waiting for execution by the firmware. Notify the operation instruction request of
The firmware executes the channel program waiting to be executed in response to the operation request instruction from the transfer control hardware, sends an operation instruction to the transfer control hardware,
It said transfer control hardware, HIPPI output apparatus characterized by incorporating the transfer data from the memory according to the operation instruction from the firmware to the first transfer buffer.
前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えることを特徴とする請求項1記載のHIPPI入出力装置。The transfer control hardware is a means for receiving a channel program activation in units of logical channels from the operating system and reporting to the firmware, a means for reading a channel program on the memory according to an instruction from the firmware, and an instruction from the firmware. Means for taking in transfer data from the memory into the first transfer buffer, means for transferring data from the second transfer buffer to the memory in accordance with instructions from the firmware, and means for transferring the data from the destination channel to the second transfer buffer Means for transmitting a next operation instruction request to the firmware at a point in time when all of the transfer data has been transmitted from the first transfer buffer to the source channel,
The firmware receives the instruction to execute the channel program, decodes the content of the channel program, and instructs the transfer control hardware to execute the content, and issues a next operation instruction request from the transfer control hardware. 2. The HIPPI input / output device according to claim 1, further comprising means for decoding the contents of the next channel program upon receipt, and instructing the transfer control hardware of the contents of execution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10125797A JP3541338B2 (en) | 1997-04-18 | 1997-04-18 | HIPPI input / output device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10125797A JP3541338B2 (en) | 1997-04-18 | 1997-04-18 | HIPPI input / output device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10293739A JPH10293739A (en) | 1998-11-04 |
JP3541338B2 true JP3541338B2 (en) | 2004-07-07 |
Family
ID=14295869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10125797A Expired - Fee Related JP3541338B2 (en) | 1997-04-18 | 1997-04-18 | HIPPI input / output device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3541338B2 (en) |
-
1997
- 1997-04-18 JP JP10125797A patent/JP3541338B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10293739A (en) | 1998-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5548788A (en) | Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory | |
JP4563829B2 (en) | Direct memory access control method, direct memory access control device, information processing system, program | |
US7818479B2 (en) | Interface apparatus and packet transfer method | |
JPH05502314A (en) | Data transfer method | |
KR20100088523A (en) | Descriptor transfer apparatus, i/o controller, and descriptor transfer method | |
JP2003288317A (en) | System and method for detecting and compensating for runt block data transfer | |
JP3541338B2 (en) | HIPPI input / output device | |
JPS5832417B2 (en) | Data transfer control method | |
KR100638378B1 (en) | Systems and Methods for a Disk Controller Memory Architecture | |
JPH10334037A (en) | Communication dma device | |
KR920007949B1 (en) | Peripheral controller | |
JP2636206B2 (en) | Information processing system | |
JP2848099B2 (en) | Multiple drive control method | |
JP2004139482A (en) | Method for monitoring and setting command processing time of magnetic disk control device | |
KR100276379B1 (en) | Apparatus and method for transfering message between digital signal processor and control software | |
JPS5939766B2 (en) | multiplexer channel equipment | |
JPH04170752A (en) | Magnetic disk device | |
JPH11327798A (en) | Data transfer controller | |
JPH0425581B2 (en) | ||
JPH05189357A (en) | Method and device for data chaining control | |
JPH01302456A (en) | Data transfer control system using channel control block | |
JPH0261741A (en) | Integrated circuit device | |
JPH0421126A (en) | Data processor | |
JPS63311840A (en) | Communication controller | |
JPS5880757A (en) | Data transfer controlling method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040318 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |