(57)【特許請求の範囲】
【請求項１】
複数の上位装置に接続されたコマンド形式の異なる複数種類のインタフェースと、
前記複数種類のインタフェースのそれぞれに備えられ、前記上位装置から送信されたコマンドを所定の共通形式に変換する形式変換部と、
前記複数種類のインタフェースに接続され、当該形式変換部によって変換されたコマンドを記憶するコマンド格納部と、
前記コマンド格納部に接続され、前記コマンド格納部にコマンドが格納されたときに当該格納されたコマンドに基づいて周辺機器を制御するコマンド実行部と、を備えたことを特徴とする周辺機器制御装置。
【請求項２】
前記インタフェースは、前記コマンド格納部が他のインタフェースによって占有されていないときに前記上位装置から送信されるコマンドの受信を許可する排他制御機能と、前記上位装置から送信されたコマンドがデータ受信コマンドである場合には当該データの受信が終了するまで前記コマンド格納部を占有するデータ転送時占有機能を備えたことを特徴とする請求項１記載の周辺機器制御装置。
【請求項３】
前記コマンド格納部に、前記コマンド実行部によってコマンドが実行されたときに前記周辺機器から出力されるレスポンスを記憶するレスポンス格納部を併設し、
前記複数のインタフェースが、前記レスポンス格納部に格納されたレスポンスを共通形式から前記それぞれのインタフェースの形式に変換するレスポンス変換機能を備えたことを特徴とする請求項１記載の周辺機器制御装置。
【請求項４】
前記コマンド格納部が、複数のコマンドを記憶するコマンド記憶領域と、このコマンド記憶領域に格納されたコマンドの格納開始位置を示す格納ポインタと、前記コマンド記憶領域から送出するときの送出位置を示す送出ポインタとを備えたことを特徴とする請求項１記載の周辺機器制御装置。
【請求項５】
前記レスポンス格納部が、複数のレスポンスを記憶するレスポンス記憶領域と、このレスポンス記憶領域に格納されたレスポンスの格納開始位置を示す格納ポインタと、前記レスポンス記憶領域から送出するときの送出位置を示す送出ポインタとを備えたことを特徴とする請求項３記載の周辺機器制御装置。
【請求項６】
前記インタフェースが、上位装置から受信したコマンドに当該インタフェースの識別番号を付加する識別番号付加機能と、前記レスポンス格納部に格納されたレスポンスに当該インタフェースを示す識別番号が付加されているときに当該レスポンスを読み出して前記上位装置に送信する識別番号別送信機能を備えたことを特徴とする請求項３又は５記載の周辺機器制御装置。
【請求項７】
前記識別番号付加機能が、前記上位装置から受信したコマンドが他の上位装置への転送命令である場合には当該コマンドで指定された送信先の周辺機器に接続されたインタフェースの識別番号を当該コマンドに付加する手段を備えたことを特徴とする請求項６記載の周辺機器制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、周辺機器を制御する周辺機器制御装置に係り、特に、物理的に異なる複数のインタフェースを有する周辺機器制御装置に関する。
【０００２】
周辺機器は、磁気ディスク装置、磁気テープ装置、光ディスク装置、光磁気ディスク装置、ＰＣカード装置などの記憶装置をいい、さらに、プリンタ装置やディスプレイ装置などの出力装置と、スキャナ装置等の入力装置とを含む。
【０００３】
【従来の技術】
一般に周辺機器制御装置の制御は上位装置からのコマンド体系を制御するのに適した処理形式が採用される。磁気テープ、磁気ディスクなどの周辺機器と上記装置のインタフェースを制御する周辺機器制御装置では、例えばコマンドを実行するシーケンスにおいて周辺機器を選択してからコマンドを転送するインタフェースが採用されているもの、コマンドと対象となる周辺機器の識別番号（アドレス）が同時に転送されてくるインタフェースを採用したものなど様々な特性を持ったインタフェースがある。
【０００４】
メインフレームのようなシステムでは、個々のシステム毎に専用のインタフェースを持っていていも、これらの装置の診断のためにはホスト側で試験診断プログラム（Ｔ＆Ｄ）を用意し、これによって装置の診断を行うことが多かった。
【０００５】
近年、ホストインタフェースの統一規格化が進み、規格に合ったインタフェースを持ち、接続されるホストコンピュータを制限しなくなりつつある。このようにオープンシステム化が進むと、接続される製造メーカーなどの異なるホストコンピュータ側で試験診断プログラムを用意することは必ずしも容易ではない。
【０００６】
そのため、これらの周辺機器制御装置の中には診断などを行うため、異なる種類の比較的安価な外部インタフェースを持ち、単独、あるいはパーソナルコンピュータなどの接続により装置の診断を可能としている。
【０００７】
さらに、診断以外でも例えば光チャネルと電気チャネルの混在など、物理的に異なる複数種類のホストインタフェースが接続されることもある。
【０００８】
このように、異なる複数の外部インタフェースを有する周辺機器制御装置では、それぞれインタフェースの特性が異なるため、各々のインタフェースから受け取ったコマンドを処理するためには専用のルーチンを用意するか、同一ルーチンで処理するために処理ルーチン内でコマンドを受け取ったインタフェースを識別するために複雑な切り分け処理を必要としていた。
【０００９】
関連する技術としては、特開昭６３−３１３２３８号公報に開示されたＯＳにおける非同期入出力要求処理方式がある。これは、非同期に生起する入出力要求を処理するのにキューイング部と、入出力要求部と、完了処理部とを備えたものである。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記従来例では、物理的に異なる複数種類のインタフェースを持っている場合、各々インタフェースから受け取ったコマンドを処理するために特別な処理ルーチンを用意した場合には、処理そのものが異なるため、診断用インタフェースなど異なる外部インタフェースを通して診断すると再現しなくなることがあり、ホスト側で用意する診断用Ｔ＆Ｄプログラムに較べて、単独での診断の信頼性を低下させる、という不都合があった。
【００１１】
また、ルーチン内部での複雑な切り分けは、ルーチン構造の複雑化を招き、信頼性の低下、その切り分け処理自体によるステップ数増加、およびオーバーヘッドの増加につながるという問題がある。
【００１２】
さらに、複数の物理的に異なるホストインタフェースを有する場合には、その制御は複雑になってしまうことが多い、という不都合があった。例えば、電気チャネルと光チャネルというように物理的に異なる複数種類のインタフェースが接続されている場合、論理的に同じプロトコールが用いられていればコマンドの受け取り、レスポンスの報告等の処理はあまり複雑な切り分けをすることはなく処理することが可能である。これはコマンドの受け取り、レスポンスの報告のような処理はインタフェースの物理的な制御を主とする部分であり、この部分は共通に処理できる部分が少ないためである。
【００１３】
これに対して、磁気ディスク、磁気テープなど補助記憶装置を制御する場合には、主たるコマンドの処理では周辺機器側の制御が大きな比率を占める。これらの処理は接続されているホストインタフェースの種類には直接関係しない処理であり、何れのインタフェースからコマンドが発行された場合でも共通の処理である。
【００１４】
しかし、例えば、磁気ディスクからのリード（Ｒｅａｄ）処理のようにディスクからのデータの読み込み処理とホストへのデータ転送を行う必要がある処理では、リードコマンドの処理内で使用中のホストインタフェースが何であるかを判断して、そのインタフェースの種類に合わせて適当な処理を選択する必要がある。このことは、リードコマンド処理の他の処理との相関を強め、処理の複雑さを増す要因となる。
【００１５】
【発明の目的】
本発明は、かかる従来例の有する不都合を改善し、特に、複数種類の物理的に異なるインタフェースが接続されている場合でも、高い信頼性の診断を実行することを、その目的とする。
【００１６】
さらに、複数の物理的に全く性格の異なるホストインタフェースであっても、周辺機器側処理の独立性を高め、処理の複雑さを回避することが可能な制御方法を提供することをも、その目的とする。
【００１７】
このような物理的に異なるホストインタフェースとしては、例えば、ＡＮＳＩＸ３．１８３−１９９ｘに規定されるＨＩＰＰＩとＡＮＳＩ  Ｘ３．２３０−１９９ｘに規定されている  ＦＣ（Ｆｉｂｅｒ−Ｃｈａｎｎｅｌ）というように２つの物理的特性の異なるホストインタフェースを同一周辺機器制御装置に接続するものや、あるいは、ＡＮＳＩ  Ｘ３．１３１−１９９４等に規定されているＳＣＳＩのような双方向インタフェースとＨＩＰＰＩの様な単一方向のみのインタフェースを２本組み合わせて双方向のデータ転送を可能にして周辺機器用インタフェースとして使用するものがある。
【００１８】
【課題を解決するための手段】
本発明では、複数の上位装置に接続された物理的に異なる複数種類のインタフェースと、これらのインタフェースに接続された周辺機器を所定のコマンドに基づいて制御する制御手段とを備えた周辺機器制御装置において、複数種類のインタフェースが、上位装置から送信されたコマンドを所定の共通形式に変換する形式変換部を有すると共に、この形式変換部に、当該形式変換部によって変換されたコマンドを一時的に記憶するコマンド格納部を併設し、制御手段が、コマンド格納部にコマンドが格納されたときに当該格納されたコマンドに基づいて周辺機器を制御するコマンド実行部を備えた、等の構成を採っている。本発明はこれにより前述した目的を達成しようとするものである。
【００１９】
インタフェースは、上位装置からコマンドを受信すると、このコマンドの形式を共通の形式に変換する。次いで、コマンド格納部は、この共通形式のコマンドを記憶する。そして、コマンド実行部は、どのインタフェースで受信したコマンドであっても、共通形式に変換されてコマンド格納部に格納されたコマンドに基づいて当該コマンドを実行する。従って、一方のインタフェースを通常のホストコンピュータと接続し、他方のインタフェースを診断装置と接続すると、診断装置にから出力されるコマンドであっても、通常のホストコンピュータから出力されたコマンドが実行される状態と同一の状態で実行される。
【００２０】
さらに、周辺機器からのレスポンスについても各インタフェースが上位装置の形式に変換して送信することで、レスポンスの内容及び発生状態について各インタフェースの相違がなくなる。また、コマンド格納部及びレスポンス格納部が、複数のコマンド又はレスポンスを記憶する構成では、インタフェース毎のデータ転送速度の差が吸収される。
【００２１】
【発明の実施の形態】
次に本発明について図面を参照して説明する。図１は本発明の実施の形態の構成を示すブロック図である。本実施形態による周辺機器制御装置は、複数のインタフェース１，２と、この複数のインタフェース１，２に接続された周辺機器を所定のコマンドに基づいて制御する制御手段とを備えている。しかも、複数のインタフェースが、上位装置から送信されたコマンドを所定の共通形式に変換する形式変換部（インタフェース制御モジュール）１２，２２と、インターフェースポート１１，２１とを備えている。
【００２２】
そして、このインタフェース制御モジュール１２，２２に、形式変換部によって変換されたコマンドを一時的に記憶するコマンド格納部３を併設している。さらに、制御手段は、コマンド格納部にコマンドが格納されたときに当該格納されたコマンドに基づいて周辺機器を制御するコマンド実行部１０を備えている。
【００２３】
このように、コマンド実行部１０が、共通形式に変換されてコマンド格納部３に格納されたコマンドを実行するため、複数のインタフェースのうちどのインタフェースから入力されたコマンドであっても、実行環境を同一の状態で実行することができる。
【００２４】
また、インタフェース１，２の各制御モジュール１２，２２は、コマンド格納部３が他のインタフェースによって占有されていないときに上位装置から送信されるコマンドの受信を許可する排他制御機能と、上位装置から送信されたコマンドがデータ受信コマンドである場合には当該データの受信が終了するまでコマンド格納部を占有するデータ転送時占有機能を備えている。
【００２５】
本実施形態では、複数のインタフェースポート１１，２２を有するが、書き込み／読み出しのデータ転送は同時には１つしかできない。このため、コマンド格納部３にコマンドが既に格納されているか否かによって排他制御を行う。この場合、上位装置から周辺機器へのデータ転送の場合、このデータ受信が終了するまでは他のインタフェースでの受信はできないため、データ転送時占有機能により、当該データの受信が終了するまでコマンド格納部を占有する。
【００２６】
また、本実施形態では、コマンド格納部３に、コマンド実行部１０によってコマンドが実行されたときに周辺機器から出力されるレスポンスを記憶するレスポンス格納部４を併設している。さらに、複数のインタフェースの各制御モジュール１２，２２が、レスポンス格納部４に格納されたレスポンスを共通形式から上位装置の形式に変換するレスポンス変換機能を備えている。
【００２７】
各インタフェースが、レスポンス格納部４に格納されたレスポンスを各上位装置の形式に変換するため、周辺機器は、どのインタフェースから入力されたコマンドに対しても同一の環境で同一のレスポンスを発生することができ、このため、インタフェースの種類のよらず同一の動作を行うことができ、従って、診断プログラムの信頼性が向上する。
【００２８】
ここで、「コマンド」というときは、コマンドの発行対象の周辺機器の識別情報（アドレス）、コマンドを受け取ったインタフェース制御部１、２の識別情報などの情報を含むものとする。また、「レスポンス」というときは、入力方向（周辺機器から上位装置への転送方向）のデータ転送の開始、コマンド処理の実行結果など上位装置に報告すべき情報、及びこれらのレスポンスを報告すべきインタフェースの識別情報などを含むものとする。
【００２９】
さらに、コマンド実行部１０は、接続されている周辺機器とのインタフェース制御をつかさどるデバイスインタフェース制御モジュール９と、受け付けコマンド格納部３に格納されたコマンド情報の解析、実行対象の周辺機器の選択、占有処理などを行うコマンド実行起動制御モジュール７と、コマンド実行制御モジュール７で解析されたコマンドに応じて指示された処理を実行するホストコマンド実行制御モジュール５と、ホストコマンド実行制御モジュール５で所定の処理が完了した後、実行対象の周辺機器の選択・占有解除、処理結果に応じた適当なステータス情報の生成などの処理を行うコマンド終了処理制御モジュール６とを備えている。
【００３０】
さらに、コマンド実行部１０は、コマンド格納部３にコマンドが格納されていることを検出してコマンド実行起動制御モジュール７にコマンドを引き渡す実行監視モジュール８を備えている。この実行監視モジュール８は、レスポンス格納部４にレスポンスが格納されていることを検出してこれを報告すべきインタフェース制御部１、２を選択すると共に、格納されている情報を引き渡す。
具体的には、実行監視モジュール８は、受け付けコマンド格納部３、レスポンス格納部４の監視を行う。そして、コマンドが受け付けコマンド格納部３に格納されたことを検出し、これをコマンド実行起動制御モジュール７に引き渡す。また、レスポンス格納部４にステータス情報、報告すべきインタフェース識別情報などの情報が格納されたことを検出し、格納されているインタフェース識別情報を元に送出すべきインタフェース制御部を選択し、格納されている情報の送出を実行させる。
【００３１】
本実施形態では、ホストインタフェースと診断用インタフェースというように複数の異なるインタフェースを有する場合でも、コマンド格納部３、レスポンス格納部４という独立した記憶手段を持ち、個々のインタフェース１，２で受け付けたコマンド、コマンドの発行対象になる周辺機器のアドレスなどの情報を共通の形式に変換して格納してから非同期処理を起動し、その実行結果など上位装置に報告するべき事象、報告先インタフェースの情報などをレスポン格納部４に格納し、非同期に報告先インタフェースを選択して転送する。
【００３２】
本実施例では２種類のインタフェースを通して接続されている２つの上位装置を説明の便宜上ホストコンピュータ、診断用装置として記述するが、これは特に接続される上位装置を制限するものではない。
【００３３】
図２はコマンドの形式を示す説明図である。図２に示されるコマンドの形式は、ＡＮＳＩ  Ｘ３．  １３２−１９８７  （Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ  Ｐａｒｔ  ３：  Ｄｅｖｉｃｅ  Ｇｅｎｅｒｉｃ  Ｃｏｍｍａｎｄ  ｓｅｔ  ｆｏｒ  Ｍａｇｎｅｔｉｃ  ａｎｄ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ  Ｄｒｉｖｅｓ）  に規定されているコマンドの形式である。
【００３４】
１つのコマンドからなる一群のデータを、コマンドパケットと呼ぶ。次に、このコマンドパケット内に含まれる情報の概略を説明する。先頭の２バイトのレングス（Ｌｅｎｇｔｈ）３１０はレングス３１０自身を除くパケットの長さを示す情報である。
【００３５】
コマンドリファレンス（Ｃｏｍｍａｎｄ  Ｒｅｆｅｒｅｎｃｅ）３１１はホストコンピュータ、および周辺機器制御装置内でコマンドの識別のために使用する識別番号である。オペレーションコード（Ｏｐｃｏｄｅ）３１２、およびオペコードモディファイア（Ｏｐ  Ｍｏｄｉ）３１３はこの組み合わせによって上位装置からの指示を示す命令コードである。スレーブアドレス（Ｓｌａｖｅ  Ａｄｒｅｓｓ）３１４はホストコンピュータがコマンドを発行する周辺機器制御装置のアドレスを指定する領域、ファシリティアドレス（Ｆａｃｉｌｉｔｙ  Ａｄｄｒｅｓｓ）３１５はコマンドを発行する周辺機器のアドレスを指定する領域である。レングス３１０からファシリティアドレス３１５までがコマンドパケットに常に含まれる情報である。
【００３６】
この後ろにパラメータ（Ｐａｒａｍｅｔｅｒ）３１６が連結されることがある。このパラメータ３１６はオペレーションコード３１２、オペコードモディファイア３１３で指示された動作の詳細を指定する情報で、例えばＲｅａｄ／Ｗｒｉｔｅコマンドの場合には、ディスクのＲｅａｄ／Ｗｒｉｔｅ開始ブロックアドレス、転送データ長の指定などであり、コマンドによって内容、長さが異なり、コマンドによっては連結されないときもある。
【００３７】
図３は周辺機器制御装置からホストコンピュータへコマンドの終了報告などを行う時の形式で、１度に転送されるデータをレスポンスパケットと呼ぶ。先頭の２バイトのレングス（Ｌｅｎｇｔｈ）４１０はレングス４１０自身を除くパケットの長さを示す情報である。コマンドリファレンス（Ｃｏｍｍａｎｄ  Ｒｅｆｅｒｅｎｃｅ）４１１はホストコンピュータ、および周辺機器制御装置内でコマンドの識別のために使用する識別番号で、ホストコンピュータから発行されたコマンドに関連する報告は該当するコマンドパケット内のコマンドリファレンス３１１と同じ識別番号で報告される。
【００３８】
オペレーションコード（Ｏｐｃｏｄｅ）４１２、オペコードモディファイア（Ｏｐ  Ｍｏｄｉ）４１３、スレープアドレス（Ｓｌａｖｅ  Ａｄｄｒｅｓｓ）４１４、ファシリティアドレス（Ｆａｃｉｌｉｔｙ  Ａｄｄｒｅｓｓ）４１５はホストコンピュータがコマンドを発行する際に指定した値がそのままセットされて報告される。
【００３９】
メジャーステータス（Ｍａｊｏｒ  Ｓｔａｔｕｓ）４１６はコマンドの終了報告などの際に終了状態の概要を報告するための領域、レスポンスタイプ（Ｒｅｓ  Ｔｙｐ）４１７は報告するレスポンスの種別を示す情報で、本実施形態では以下の２種類のレスポンスタイプが報告される。
【００４０】
０００１  ……  Ｓｔａｎｄａｒｄ    Ｃｏｍｍａｎｄ    Ｃｏｍｐｌｅｔｉｏｎ  Ｒｅｓｐｏｎｓｅ
コマンドの終了ステータスを報告するためのレスポンスであることを示す。
０１０１  ……  Ｔｒａｎｓｆｅｒ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｒｅｓｐｏｎｓｅ  Ｒｅａｄ
コマンドのデータ転送の開始をホストコンピュータに通知するためのレスポンスであることを示す。
【００４１】
この後ろにパラメータ（Ｐａｒａｍｅｔｅｒ）４１８が連結されることがある。このパラメータ４１８は、例えば異常が発生した場合の詳細情報などが報告される領域であり、レスポンス種別、内容により異なり、連結されないこともある。
【００４２】
ホストコンピュータから発行されるコマンドの処理の流れについて、次の３態様に分けて説明する。
【００４３】
（１）コマンド、パラメータだけで構成されるデータ転送を伴わないコマンド
（２）周辺機器に対する書き込み方向のデータ転送を伴うコマンド
（３）周辺機器からの読み出し方向のデータ転送を伴うコマンド
【００４４】
（１）コマンド、パラメータだけで構成されるデータ転送を伴わないコマンド
【００４５】
ホストコンピュータから発行されるコマンドは図２の形式で発行される。インタフェースＡ制御モジュール１は、受け付けコマンド格納部３が空きであることを確認し、空いていれば図２の形式のコマンドパケットを受け取り、コマンドパケットの形式には何ら変更を加えずに、受け付けコマンド格納部３に格納する。このとき、受け付けコマンド格納部３には同時にインタフェースＡ制御モジュール１で受け付けたことを示す情報が書き込まれる。以下、このコマンドパケットと受け付けたインタフェースの識別情報など１つのコマンドに関して受け付けコマンド格納部３に格納される情報をコマンドブロックという。
【００４６】
その後、実行監視モジュール８は、受け付けコマンド格納部３にコマンドが格納されていることを検出すると、これを取り出してコマンド実行起動制御モジュール７にコマンドの起動を指示する。コマンド実行起動制御モジュール７は、コマンドパケットを読み出し、ファシリティアドレス３１５で指定された周辺機器を選択、占有し、オペレーションコード３１２を解析して実行すべきコマンドを処理を決定し、該当するホストコマンド実行制御モジュール５に引き渡す。
【００４７】
ホストコマンド実行制御モジュール内の該当するコマンド処理はコマンドおよびパラメータで指定された処理を行って、コマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡す。コマンド終了処理制御モジュール６は受け付けコマンド格納部３からコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を受け取り、レスポンス格納部４にコピーする。
【００４８】
さらに、ホストコマンド実行制御モジュール５から受け取ったコマンドの終了ステータスを元にメジャーステータス４１６を生成してセットし、レスポンスタイプ４１７にコマンドの終了レスポンスであることを示す‘０００１’を書き込み、ファシリティアドレス４１５で指定されている周辺機器の選択、占有を解除すると共に受け取りコマンド格納部３を解放する。
【００４９】
その後、実行監視モジュール８がレスポンス格納部４にレスポンスが格納されていることを検出すると、報告すべきインタフェースの識別情報を元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに渡し、ホストコンピュータにレスポンスを報告する。これによりホストコンピュータから発行されたコマンドの一連の処理が完了する。
【００５０】
（２）周辺機器に対する書き込み方向のデータ転送を伴うコマンド
ホストコンピュータから発行される書き込み方向のデータ転送を伴うコマンドは図２の形式で発行され、さらにその後ろに書き込みデータが続いて送られてくる。
【００５１】
インタフェースＡ制御モジュール１は、受け付けコマンド格納部３が空きであることを確認し、空いていれば図２の形式のコマンドパケットを受け取り、コマンドパケットの形式には何ら変更を加えずに、受け付けコマンド格納部３に格納する。その際に受け付けコマンド格納部３には同時にインタフェースＡ制御モジュール１で受け付けたことを示す情報が書き込まれる。
【００５２】
さらに、書き込みコマンドの場合にはコマンドパケットの後に書き込みデータが続いて送られてくるため、インタフェースＡ制御モジュール１は、書き込みコマンドを識別し、周辺機器へのデータ転送経路を閉じ、後続のデータの転送を保留する。
【００５３】
その後、実行監視モジュール８は、受け付けコマンド格納部３にコマンドが格納されていることを検出すると、これを取り出してコマンド実行起動制御モジュール７にコマンドの起動を指示する。すると、コマンド実行起動制御モジュール７は、コマンドパケットを読み出し、ファシリティアドレス３１５で指定された周辺機器を選択、占有し、オペレーションコード３１２を解析して書き込みコマンドであることを認識し、ホストコマンド実行制御モジュール５の書き込みコマンド処理に制御を引き渡す。
【００５４】
書き込みコマンド処理は、指定された周辺機器に対してデータを書き込むアドレスなどパラメータで指定された情報を転送し、上位装置からのデータ転送経路を開き、保留されている書き込みデータの転送を再開させる処理となる。周辺機器へのデータの書き込みが完了すると、コマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡す。
【００５５】
コマンド終了処理制御モジュール６は、受け付けコマンド格納部３からコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を受け取り、レスポンス格納部４にコピーする。
【００５６】
さらに、ホストコマンド実行制御モジュール５から受け取ったコマンドの終了ステータスを元にメジャーステータス４１６を生成してセットし、レスポンスタイプ４１７にコマンドの終了レスポンスであることを示す‘０００１’を書き込み、ファシリティアドレス４１５で指定されている周辺機器の選択、占有を解除すると共に受け取りコマンド格納部３を解放する。
【００５７】
その後、実行監視モジュール８がレスポンス格納部４にレスポンスが格納されていることを検出すると、報告すべきインタフェースの識別情報を元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに渡し、ホストコンピュータにレスポンスを報告する。これによりホストコンピュータから発行された書き込みコマンドの一連の処理が完了する。
【００５８】
（３）周辺機器からの読み出し方向のデータ転送を伴うコマンド
ホストコンピュータから発行されるコマンドは図２の形式で発行される。インタフェースＡ制御モジュール１は、受け付けコマンド格納部３が空きであることを確認し、空いていれば図２の形式のコマンドパケットを受け取り、コマンドパケットの形式には何ら変更を加えずに、受け付けコマンド格納部３に格納する。その際に受け付けコマンド格納部３には同時にインタフェースＡ制御モジュール１で受け付けたことを示す情報が書き込まれる。
【００５９】
その後、実行監視モジュール８は、受け付けコマンド格納部３にコマンドが格納されていることを検出すると、これを取り出してコマンド実行起動制御モジュール７にコマンドの起動を指示する。コマンド実行起動制御モジュール７は、コマンドパケットを読み出し、ファシリティアドレス３１５で指定された周辺機器を選択、占有し、オペレーションコード３１２を解析して読み出しコマンドであることを認識し、ホストコマンド実行制御モジュール５の読み出しコマンド処理に制御を引き渡す。
【００６０】
読み出しコマンド処理は、指定された周辺機器に対してデータを読み出すアドレスなどパラメータで指定された情報を転送する処理となる。ただし、周辺機器から上位装置へのデータ転送経路は閉じられ、周辺機器からの読み出しデータの転送を保留した状態にしておく。この状態で受け付けコマンド格納部３からコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を読み出し、レスポンス格納部４にコピーする。
【００６１】
さらに、レスポンスタイプ４１７にデータ転送の開始を通知するレスポンスであることを示す‘０１０１’を書き込み、読み出しコマンドの処理を中断する。その後、実行監視モジュール８は、レスポンス格納部４にレスポンスが格納されていることを検出すると、報告すべきインタフーフェースの識別情報を元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに引き渡す。
【００６２】
レスポンスのデータを引き渡されたインタフェース制御モジュールはレスポンスタイプ４１７の内容を参照し、これがデータ転送の開始を通知するレスポンスであることを認識すると周辺機器からのデータ転送経路を開き、周辺機器から読み出したデータが選択されたインタフェースに流れるように設定し、制御をホストコマンド実行制御モジュール５の読み出しコマンド処理に戻して読み出しコマンドの処理を再開させる。
【００６３】
あらかじめ指定された周辺機器からのデータの読み出しが完了するとコマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡す。さらに、コマンド終了処理制御モジュール６は、受け付けコマンド格納部３からコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を受け取り、レスポンス格納部４にコピーする。
【００６４】
次いで、ホストコマンド実行制御モジュール５から受け取ったコマンドの終了ステータスを元にメジャーステータス４１６を生成してセットし、レスポンスタイプ４１７にコマンドの終了レスポンスであることを示す‘０００１’を書き込み、ファシリティアドレス４１５で指定されている周辺機器の選択、占有を解除すると共に受け取りコマンド格納部３を解放する。
【００６５】
その後、実行監視モジュール８がレスポンス格納部４にレスポンスが格納されていることを検出すると、報告すべきインタフェースの識別情報を元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに渡し、ホストコンピュータにレスポンスを報告する。これにより、ホストコンピュータから発行された読み出しコマンドの一連の処理が完了する。
【００６６】
上記の説明はインタフェースＡ制御モジュール１を介してホストコンピュータからコマンドが発行された場合の処理として扱われている。
【００６７】
一方、インタフェースＢ制御モジュール２を介して診断用装置からコマンドが発行された場合には、診断用装置から発行されるコマンド形態に合わせてインタフェースＢ制御モジュール２が図２に示されるコマンドパケットを生成して受け付けコマンド格納部３に格納すると共にインタフェースＢ制御モジュール２を介して受け付けたコマンドであることを示す情報が格納される。以降、実行監視モジュール８によってコマンドが格納されたことを検出して実行が開始され、レスポンス格納部４にレスポンスが格納される一連の処理はインタフェースＡ制御モジュール１を介してコマンドを受け付けた場合と同じである。
【００６８】
レスポンス格納部４にレスポンスが格納され、実行監視モジュール８によって検出されると、このレスポンスに付加されたコマンドを受け付けたインタフェースの識別情報を元にインタフェースＢ制御モジュール２を選択し、レスポンスデータを送り出す。インタフェースＢ制御モジュール２はこれを診断用装置のインタフェースに合わせた形態に変更した上で診断用装置に通知する。このようにして、診断用装置から発行されたコマンドを処理する。
【００６９】
〔第２実施形態〕
図４は本発明の周辺機器制御装置の制御方法を使用した制御装置の他の一構成例を示すブロック図である。図４に示すように、コマンド格納部３は、複数のコマンドを記憶するコマンド記憶領域（コマンドキュー）３０と、このコマンドキュー３０に格納されたコマンドの格納開始位置を示す格納ポインタ３１と、コマンドキュー３０から送出するときの送出位置を示す送出ポインタ３２とを備えている。
【００７０】
また、レスポンス格納部４は、複数のレスポンスを記憶するレスポンス記憶領域（レスポンスキュー）４０と、このレスポンスキュー４０に格納されたレスポンスの格納開始位置を示す格納ポインタ４２と、レスポンスキュー４０から送出するときの送出位置を示す送出ポインタ４１とを備えている。
【００７１】
このように、図４に示す例では、コマンド格納部３、レスポンス格納部４がそれぞれ複数のコマンド、レスポンス情報を格納し、複数の格納されているコマンドを制御する手段（格納ポインタ３１、送出ポインタ３２）と、複数のレスポンスを制御する手段（格納ポインタ４２、送出ポインタ４１）とによりキューイング制御を行う。このため、各インタフェースの速度差を吸収することができ、例えば一方のインタフェースを安価で低速なものとすることができる。
【００７２】
次に、第２実施形態におけるホストコンピュータから発行されるコマンドの処理の流れについて以下の３態様に分けて説明する。
【００７３】
（４）コマンド、パラメータだけで構成されるデータ転送を伴わないコマンド
（５）周辺機器に対する書き込み方向のデータ転送を伴うコマンド
（６）周辺機器からの読み出し方向のデータ転送を伴うコマンド
【００７４】
（４）コマンド、パラメータだけで構成されるデータ転送を伴わないコマンド
【００７５】
インタフェースＡ制御モジュール１２は受け付けコマンド格納部３が満杯でないこと、他のインタフェース制御部によって占有されていないことを確認し、格納可能であればコマンドパケットを受け取り、受け付けコマンド格納部３の格納開始ポインタ３０１の示す位置にインタフェースＡ制御モジュール１で受け付けたことを示す情報と共に格納する。この受け付けコマンド格納部３への格納が完了すると、格納ポインタ３０１の内容は次の格納ポイントを指すように変更される。
【００７６】
その後、実行監視モジュール８は、格納ポインタ３０１と送出ポインタ３０２の差から受け付けコマンド格納部３にコマンドが格納されていることを検出し、これを取り出してコマンド実行起動制御モジュール７にコマンドの起動を指示する。すると、コマンド実行起動制御モジュール７は、送出ポンタ３０２の指す位置からコマンドバケットを読み出し、ファシリティアドレス３１５で指定された周辺機器を選択すると共に占有し、オペレーションコード３１２を解析して実行すべきコマンド処理を決定し、該当するホストコマンド実行制御モジュール５に引き渡す。
【００７７】
ホストコマンド実行制御モジュール内の該当するコマンド処理でコマンドおよびパラメータで指定さた処理を実行、コマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡すことは図１の第１の実施形態と同じである。
【００７８】
コマンド終了処理制御モジュール６は受け付けコマンド格納部３の送出ポインタの指す位置のコマンドブロックからコマンドを受け付けたインタフェースの識別情報、コマンドバケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモティファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を受け取り、レスポンス格納部４の格納ポインタ４０２の指す位置にコピーする。
【００７９】
さらに、ホストコマンド実行制御モジュール５から受け取ったコマンドの終了ステータスを元にメジャーステータス４１６を生成してセットし、レスポンスタイプ４１７にコマンドの終了レスポンスであることを示す‘０００１’を書き込む。レスポンスの生成が完了するとレスポンス格納部４の格納ポンタ４０２の内容を次のレスポンス格納位置に変更する。
【００８０】
続いて、ファシリティアドレス４１５で指定されている周辺機器の選択、占有を解除すると共に受け付けコマンド格納部３の送出ポインタ３０２の内容を次のコマンドブロックの格納位置に変更する。
【００８１】
その後、実行監視モジュール８が格納ポインタ４０２と送出ポインタ４０１の差からレスポンス格納部４にレスポンスが格納されていることを検出すると、送出ポインタ４０１の指す位置から報告すべきインタフェースの識別情報を取り出し、これを元に送出すべきインタフェースを決定し、格納されているレスポンのデータを選択されたインタフェース制御モジュールに渡し、ホストコンピュータにレスポンスを報告する。
【００８２】
格納されているレスポンスのデータが選択されたインタフェース制御モジュールに渡されたら、送出ポインタ４０１の内容を次のレスポンスの格納位置に変更する。これによりホストコンピュータから発行されたコマンドの一連の処理が完了する。
【００８３】
（５）周辺機器に対する書き込み方向のデータ転送を伴うコマンド
【００８４】
インタフェースＡ制御モジュール１２は受け付けコマンド格納部３が満杯でないこと、他のインタフェース制御部によって占有されていないことを確認し、格納可能であればコマンドバケットを受け取り、受け付けコマンド格納部３の格納開始ポインタ３０１の示す位置にインタフェースＡ制御モジュール１で受け付けたことを示す情報と共に書き込まれる。
【００８５】
さらに、書き込みコマンドの場合にはコマンドバケットの後に書き込みデータが続いて送られてくるため、インタフェースＡ制御モジュール１は書き込みコマンドを認識し、周辺機器へのデータ転送経路を閉じ、後続のデータの転送を保留する。そして、データ転送が保留中であるために他のインタフェースからのコマンドを受け取れないようにするために受け付けコマンド格納部３を占有する。受け付けコマンド格納部３への書き込みが完了すると格納ポインタ３０１の内容は次の格納ポイントを指すように変更される。
【００８６】
その後、実行監視モジュール８は、格納ポインタ３０１と送出ポインタ３０２の差から受け付けコマンド格納部３にコマンドが格納されていることを検出すると、これを取り出してコマンド実行起動制御モジュール７にコマンドの起動を指示する。
【００８７】
コマンド実行起動制御モジュール７は送出ポインタ３０２の指す位置からコマンドバケットを読み出し、ファシリティアドレス３１５で指定された周辺機器を選択、占有し、オペレーションコード３１２を解析して書き込みコマンドであることを認識し、ホストコマンド実行制御モジュール５の書き込みコマンド処理に制御を引き渡す。
【００８８】
ホストコマンド実行制御モジュール内の書き込みコマンド処理で書き込み開始ブロックアドレス、転送データ長などパラメータで指定された情報を周辺機器に送ること、および上位装置からのデータ転送経路を開きデータ転送を再開すること、コマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡すことは図１の第１の実施形態と同じである。
【００８９】
コマンド終了処理制御モジュール６は受け付けコマンド格納部３の送出ポインタの指す位置のコマンドブロックからコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を受け取り、レスポンス格納部４の格納ポインタ４０２の指す位置にコピーする。
【００９０】
さらに、ホストコマンド実行制御モジュール５から受け取ったコマンドの終了ステータスを元にメジャーステータス４１６を生成してセットし、レスポンスタイプ４１６にコマンドの終了レスポンスであることを示す‘０  ００１’を書き込む。レスポンスの生成が完了するとレスポンス格納部４の格納ポインタ４０２の内容を次のレスポンス格納位置に変更する。
【００９１】
続いてファシリティシドレス４１５で指定されている周辺機器の選択、占有を解除すると共に受け付けコマンド格納部３の送出ポインタ３０２の内容を次のコマンドブロックの格納位置に変更する。
【００９２】
その後、実行監視モジュール８が格納ポインタ４０２と送出ポインタ４０１の差からレスポンス格納部４にレスポンスが格納されていることを検出すると、送出ポインタ４０１の指す位置から報告すべきインタフェースの識別情報を取り出し、これを元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに渡し、ホストコンピュータにレスポンスを報告する。
【００９３】
格納されているレスポンスのデータが、選択されたインタフェース制御モジュールに渡されたら、送出ポインタ４０１の内容を次のレスポンスの格納位置に変更する。これによりホストコンピュータから発行された書き込みコマンドの一連の処理が完了する。
【００９４】
（６）周辺機器からの読み出し方向のデータ転送を伴うコマンド
【００９５】
コマンド実行起動制御モジュール７で、オペレーションコード３１２を解析して読み出しコマンドであることを認識し、ホストコマンド実行制御モジュール５の読み出しコマンド処理に制御を引き渡すまでの処理は（４）に示したコマンド、パラメータだけで構成されるデータ転送を伴わないコマンドと同様の動作をする。
【００９６】
読み出しコマンド処理は指定された周辺機器に対してデータを読み出すアドレスなどパラメータで指定された情報を転送する。ただし、周辺機器から上位装置へのデータ転送経路は閉じられ、読み出しデータの転送を保留した状態にしておく。受け付けコマンド格納部３の送出ポインタ３０２の指す位置のコマンドブロックからコマンドを受け付けたインタフェースの識別情報、コマンドパケット内のコマンドリファレンス３１１、オペレーションコード３１２、オペコードモディファイア３１３、スレーブアドレス３１４、ファシリティアドレス３１５の内容を読み出し、レスポンス格納部４の格納ポインタ４０２の指す位置にコピーする。
【００９７】
さらに、レスポンスタイプ４１７にデータ転送の開始を通知するレスポンスであることを示す‘０１０１’を書き込み、格納ポインタ４０２の内容を次のレスポンス格納位置に変更して、読み出しコマンドの処理を中断する。
【００９８】
その後、実行監視モジュール８が格納ポインタ４０２と送出ポインタ４０１の差からレスポンス格納部４にレスポンスが格納されていることを検出すると、送出ポインタ４０１の指す位置から報告すべきインタフェースの識別情報取り出し、これを元に送出すべきインタフェースを決定し、格納されているレスポンスのデータを選択されたインタフェース制御モジュールに引き渡し、送出ポインタ４０１の内容を次のレスポンスの格納位置に変更する。
【００９９】
レスポンスのデータを引き渡されたインタフェース制御モジュールはレスポンスタイプ４１７の内容を参照し、これがデータ転送の開始を通知するレスポンスであることを認識すると周辺機器からのデータ転送経路を開き、周辺機器から読み出したデータが選択されたインタフェースに流れるように設定し、制御をホストコマンド実行制御モジュール５の読み出しコマンド処理に戻して読み出しコマンドの処理を再開させる。
【０１００】
あらかじめ指定された周辺機器からのデータの読み出しが完了するとコマンド終了処理制御モジュール６に処理の終了情報と共に制御を引き渡す。コマンド終了処理制御モジュール６に制御か引き渡された後の動作は（４）に示したコマンド、パラメータだけで構成されるデータ転送を伴わないコマンド、あるいは（５）に示した周辺機器に対する書き込み方向のデータ転送を伴うコマンドと同様の動作を行う。これによりホストコンピュータから発行された読み出しコマンドの一連の処理が完了する。
【０１０１】
本実施形態においてもインタフェースＢ制御モジュール２を介して診断用装置からコマンドが発行された場合には診断用装置から発行されるコマンド形態に合わせてインタフェースＢ制御モジュール２が図２に示されるコマンドパケットを生成して受け付けコマンド格納部３に格納すると共にインタフェースＢ制御モジュール２を介して受け付けたコマンドであることを示す情報が格納される。以降、実行監視モジュール８によってコマンドが格納されたことを検出実行が開始され、レスポンス格納部４にレスポンスが格納される一連の処理はインターフフェースＡ制御モジュール１を介してコマンドを受け付けた場合と同じである。
【０１０２】
レスポンス格納部４にレスポンスが格納され、実行監視モジュール８によって検出されると、このレスポンスに付加されたコマンドを受け付けたインタフェースの識別情報を元にインタフェースＢ制御モジュール２を選択しレスポンスデータを送り出す。インタフェースＢ制御モジュール２はこれを診断用装置のインタフェースに合わせた形態に変更した上で診断用装置に通知する。
【０１０３】
次に、第３の実施形態について図５を参照して説明する。上述した例では、説明の簡略化のため受け付けコマンド格納部３のキューイング処理でコマンド実行起動制御モジュール７によってコマンド処理が開始された後もコマンド終了処理制御モジュール６に制御が移行するまでコマンドパケットが受け付けコマンド記憶部３の中に記憶されているものとして説明してきたが、図５のようなシステム構成で１つの周辺機器制御装置配下の周辺機器のデータをホストコンピュータを経由しないで他の周辺機器制御装置配下の周辺機器に直接データを転送することがある。
【０１０４】
この第３の実施形態では、インタフェース１，２が、上位装置から受信したコマンドに当該インタフェースの識別番号を付加する識別番号付加機能と、レスポンス格納部４に格納されたレスポンスに当該インタフェースを示す識別番号が付加されているときに当該レスポンスを読み出して上位装置に送信する識別番号別送信機能を備えている。そして、識別番号付加機能は、上位装置から受信したコマンドが他の上位装置への転送命令である場合には、当該コマンドで指定された送信先の周辺機器に接続されたインタフェースの識別番号を当該コマンドに付加する手段を備えている。
【０１０５】
これはデータのコピー、あるいは表示装置などへのデータの転送時にホストコンピュータの負荷を軽減するために、直接他の周辺機器制御装置に対してデータを転送したいときに使用される手法である。
【０１０６】
この場合、ホストコンピュータ５３から受け付けたコマンドに対して、読み出しデータを転送するインタフェースはコマンドを受け付けたインタフェースとは別のインタフェースに転送することになる。このような動作をさせる場合には、前述の読み出し方向のデータ転送を伴うコマンドの動作（３）または（６）において、データ転送の開始をホストコンピュータに通知するレスポンスをレスポンス格納部４に格納する際に、同時に格納される報告先インタフェースを受け付けコマンド格納部３のコマンドを受け付けたインタフェースの識別情報をコピーする代わりにデータを転送するべきインタフェースの識別情報を格納することにより該当するインタフェース制御部が選択され、目的の転送先にデータが送られるようになる。
【０１０７】
以上説明したように第１乃至第３の実施形態によると、以下の効果を奏する周辺機器制御装置を提供することができる。
【０１０８】
第１の効果は、診断用インタフェースからの信頼性の高い診断を実行することができるようになることである。その理由は、ホストインタフェースと診断用インタフェースというように複数の物理的に異なるインタフェースを有していても、これらのインタフェースの制御と周辺機器の処理を行うコマンド実行制御部との相関を減らすことができ、従って、異なるインタフェースからのコマンドでも同一のコマンド処理を使用することが可能になるためである。
【０１０９】
第２の効果は、複数の異なるインタフェースを使用してホストコンピュータと接続する場合にも周辺機器制御装置でコマンドを受け付けたインタフェースによる複雑な切り分けをせずに接続可能になるため、オーバーヘッドを増加させることなく処理することができる。
その理由は、インタフェースの制御と周辺機器の処理を行うコマンド実行制御部との相関を減らすことができるため、内部で複雑な切り分けのための判断を行う必要がなくなるからである。
【０１１０】
第３の効果は、コマンド記憶部、レスポンス記憶部を複数のコマンド、レスポンスを記憶できるようにし、キューイング制御を行うことにより、低速のインタフェースと高速のインタフェースが混在する場合でも、低速インタフェースからのコマンドの実行が高速インタフェースからのコマンドの実行に与える影響を低減させることができる効果がある。
その理由は、接続されている１つのインタフェースでデータ転送を実行しているときに、他のインタフェースからコマンドを受け付けて格納しておくなどすることができるようになるためで、特に診断用インタフェースでは比較的安価な、転送速度の低いインタフェースを使用することが多いため、このような低速のインタフェースを使用する場合にはホストコンピュータに接続される高速インタフェースからのコマンドの実行に与える影響を低減させることができる効果がある。
【０１１１】
第４の効果は、コマンドを発行した上位装置に対して読み出しデータを送る様な構成ばかりでなく、上位装置からコマンドだけ受け取って、データを他のインタフェースに転送するような機能を持たせる場合にも容易に対応可能であるという効果がある。
これは、インタフェースの制御と周辺機器の処理を行うコマンド実行制御部との相関を減らすことができるためにデータを送出するインタフェースの識別情報を変更するだけでレスポンスの報告先を選択でき、周辺機器の処理を行うコマンド実行制御部でインタフェースに関わる設定を行わない構成となっているためである。
【０１１２】
【発明の効果】
本発明は以上のように構成され機能するので、これによると、インタフェースが、上位装置から受信したコマンドの形式を共通の形式に変換し、コマンド格納部が、この共通形式のコマンドを記憶するため、コマンド実行部は、どのインタフェースで受信したコマンドであっても、共通形式に変換されてコマンド格納部に格納されたコマンドに基づいて当該コマンドを実行することとなり、従って、一方のインタフェースを通常のホストコンピュータと接続し、他方のインタフェースを診断装置と接続すると、診断装置にから出力されるコマンドであっても、通常のホストコンピュータから出力されたコマンドが実行される状態と同一の状態で実行することができる。さらに、周辺機器からのレスポンスについても各インタフェースが上位装置の形式に変換して送信することで、レスポンスの内容及び発生状態について各インタフェースの相違をなくすことができる。また、コマンド格納部及びレスポンス格納部が、複数のコマンド又はレスポンスを記憶する構成では、インタフェース毎のデータ転送速度の差を吸収することができる。このように、複数種類の物理的に異なるインタフェースが接続されている場合でも、高い信頼性の診断を実行することができる従来にない優れた周辺機器制御装置を提供することができる。
【図面の簡単な説明】
【図１】本発明による周辺機器制御装置の第１実施形態の構成を示すブロック図である。
【図２】第１の実施形態で使用されるコマンドの形態を示す説明図である。
【図３】第１の実施形態で使用されるレスポンスの形態を示す説明図である。
【図４】本発明による周辺機器制御装置の第２実施形態の構成を示すブロック図である。
【図５】本発明による周辺機器制御装置の第３実施形態の構成を示すブロック図である。
【符号の説明】
１  インタフェースＡ
２  インタフェースＢ
３  コマンド格納部
４  レスポンス格納部
５  ホストコマンド実行制御モジュール
６  コマンド終了処理制御モジュール
７  コマンド実行起動制御モジュール
８  実行監視モジュール
９  デバイスインタフェース制御モジュール
１０  コマンド実行部
１１  インタフェースＡポート
１２  インタフェースＡ制御モジュール
２１  インタフェースＢポート
２２  インタフェースＢ制御モジュール
３０  コマンドキュー
３１  格納ポインタ
３２  送出ポインタ
４０  レスポンスキュー
４１  送出ポインタ
４２  格納ポインタ
【図１】
0003586522.tif 000002
【図２】
0003586522.tif 000003
【図３】
0003586522.tif 000004
【図４】
0003586522.tif 000005
【図５】
0003586522.tif 000006