(57)【要約】【課題】ホストデバイスと複数のスレーブデバイスとからなるデータ処理システムにおいて、簡単な構成により、スレーブデバイス間の割込みやホストデバイスからスレーブデバイスへの割込みを発生させることができる割込み制御方法及びデータ処理システムを提供すること。【解決手段】第１スレーブデバイスが入出力バスを介して第２スレーブデバイスが備えるメモリにコマンドを書込み、第１スレーブデバイスが入出力バスを介してホストデバイスが備えるメモリに割込み要因を書込み、第１スレーブデバイスが割込み要因を書込んだ後に割込み信号線を介してホストデバイスに割込み要求を送信し、ホストデバイスが割込み要求を受信した後に、自デバイスのレジスタから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して第２スレーブデバイスに割込み信号を送信し、第２スレーブデバイスが割込み信号を受信した後に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行する。【選択図】      図１
2006285829.tif 000002
【特許請求の範囲】
【請求項１】
第１スレーブデバイスが入出力バスを介して第２スレーブデバイスが備えるメモリにコマンドを書込むステップと、前記第１スレーブデバイスが前記入出力バスを介してホストデバイスが備えるメモリに割込み要因を書込むステップと、前記第１スレーブデバイスが前記割込み要因を書込んだ後に割込み信号線を介して前記ホストデバイスに割込み要求を送信するステップと、前記ホストデバイスが前記割込み要求を受信した後に、自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して前記第２スレーブデバイスに割込み信号を送信するステップと、前記第２スレーブデバイスが前記割込み信号を受信した後に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行するステップと、を含んでなることを特徴とする割込み制御方法。
【請求項２】
前記スレーブデバイスのメモリには、前記入出力バスを介して自デバイスと接続された各デバイスが前記コマンドを書込むためのコマンドエリアが各デバイス毎に設けられていることを特徴とする請求項１記載の割込み制御方法。
【請求項３】
前記入出力バスは、ＰＣＩバスであることを特徴とする請求項１又は２記載の割込み制御方法。
【請求項４】
メモリを備えるホストデバイスと、それぞれがメモリを備える複数のスレーブデバイスとからなり、これらの各デバイスがデータを入出力するために入出力バスにより接続されるとともに、前記複数のスレーブデバイスが個別に前記ホストデバイスと割込み信号線により接続されたデータ処理システムであって、
前記スレーブデバイスは、前記入出力バスを介して他のスレーブデバイスのメモリにコマンドを書込む第１書込み手段と、該コマンドを書込んだ後に前記入出力バスを介して前記ホストデバイスのメモリに割込み要因を書込む第２書込み手段と、該割込み要因を書込んだ後に割込み信号線を介して前記ホストデバイスに割込み要求を送信する第１送信手段と、前記ホストデバイスから割込み信号線を介して割込み信号を受信した場合に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行するコマンド実行手段と、を備え、
前記ホストデバイスは、前記割込み要求を受信した後に自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して前記他のスレーブデバイスに割込み信号を送信する第２送信手段を備えることを特徴とするデータ処理システム。
【請求項５】
前記ホストデバイスは、前記入出力バスを介して前記スレーブデバイスのメモリにコマンドを書込む手段と、該コマンドを書込んだ後に前記割込み信号線を介して当該スレーブデバイスに割込み信号を送信する手段と、を備えることを特徴とする請求項４記載のデータ処理システム。
【請求項６】
前記スレーブデバイスのメモリには、前記入出力バスを介して自デバイスと接続された各デバイスが前記コマンドを書込むためのコマンドエリアが各デバイス毎に設けられていることを特徴とする請求項４又は５記載のデータ処理システム。
【請求項７】
前記入出力バスは、ＰＣＩバスであることを特徴とする請求項４乃至６のいずれか１に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込み制御方法及びデータ処理システムに関し、詳しくは、ホストデバイスと複数のスレーブデバイスとの間における割込み制御方法及びホストデバイスと複数のスレーブデバイスとからなるデータ処理システムに関する。
【背景技術】
【０００２】
ホストデバイスと複数のスレーブデバイスとの間で、ＰＣＩバス（Peripheral Component Interconnect Bus）を介して通信を行うデータ処理システムがある（例えば、特許文献１参照。）。図５は、この特許文献１のデータ処理システム５１の構成の一部を示したブロック図である。
【０００３】
特許文献１のデータ処理システム５１では、図示するように、ホストデバイス（ホストプロセッサ）５２がシステムバス５３に接続されるとともに、内部レジスタ５４を備える割込みコントローラ５５と複数のスレーブデバイス（Ｉ／Ｏデバイス）５６とがＰＣＩバス（Ｉ／Ｏバス）５７に接続されている。そして、システムバス５３とＰＣＩバス５７とが汎用レジスタ５８を備えるホストブリッジ５９によって接続されている。
【０００４】
このデータ処理システム５１において、スレーブデバイス５６から割込み信号線６０を介して割込み要因（割込み信号）が出力されると、出力された割込み要因は、割込みコントローラ５５の内部レジスタ５４及びホストブリッジ５９の汎用レジスタ５８に書込まれる。そして、割込みコントローラ５５は、内部レジスタ５４に書込まれた割込み要因に基づいてホストデバイス５２に対して割込み信号線６１を介して割込み信号を出力する。これに対し、ホストデバイス５２は、システムバス５３を介してホストブリッジ５９の汎用レジスタ５８にアクセスし、該汎用レジスタ５８から割込み要因を取得してその割込み要因に対応する処理を実行する。
【特許文献１】特開２００４−３０１６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＰＣＩ規格は、本来、ＰＣ（Personal Computer）に１又は複数のスレーブデバイスを接続する目的で策定されたものであるため、データ処理システム５１のように入出力バスとしてＰＣＩバスのようなバスを使用する従来のデータ処理システムには、スレーブデバイス間の割込みやホストデバイスからスレーブデバイスへの割込みを発生させることができるものがなかった。
【０００６】
また、スレーブデバイス間での割込みを可能にするために、スレーブデバイス同士を割込み信号線で接続するようにした場合、割込み信号線の数が増加し、システム全体の構成が複雑になって生産コストが増大するという問題点があった。
【０００７】
本発明は、かかる課題に鑑みてなされたものであり、ホストデバイスと複数のスレーブデバイスとからなるデータ処理システムにおいて、簡単な構成により、スレーブデバイス間の割込みやホストデバイスからスレーブデバイスへの割込みを発生させることができる割込み制御方法及びデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の割込み制御方法は、第１スレーブデバイスが入出力バスを介して第２スレーブデバイスが備えるメモリにコマンドを書込むステップと、前記第１スレーブデバイスが前記入出力バスを介してホストデバイスが備えるメモリに割込み要因を書込むステップと、前記第１スレーブデバイスが前記割込み要因を書込んだ後に割込み信号線を介して前記ホストデバイスに割込み要求を送信するステップと、前記ホストデバイスが前記割込み要求を受信した後に、自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して前記第２スレーブデバイスに割込み信号を送信するステップと、前記第２スレーブデバイスが前記割込み信号を受信した後に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行するステップと、を含んでなることを特徴としている。
【０００９】
請求項２記載の割込み制御方法は、請求項１に記載の割込み制御方法において、前記スレーブデバイスのメモリには、前記入出力バスを介して自デバイスと接続された各デバイスが前記コマンドを書込むためのコマンドエリアが各デバイス毎に設けられていることを特徴としている。
【００１０】
請求項３記載の割込み制御方法は、請求項１又は２に記載の割込み制御方法において、前記入出力バスは、ＰＣＩバスであることを特徴としている。
【００１１】
請求項４記載のデータ処理システムは、メモリを備えるホストデバイスと、それぞれがメモリを備える複数のスレーブデバイスとからなり、これらの各デバイスがデータを入出力するために入出力バスにより接続されるとともに、前記複数のスレーブデバイスが個別に前記ホストデバイスと割込み信号線により接続されたデータ処理システムであって、前記スレーブデバイスは、前記入出力バスを介して他のスレーブデバイスのメモリにコマンドを書込む第１書込み手段と、該コマンドを書込んだ後に前記入出力バスを介して前記ホストデバイスのメモリに割込み要因を書込む第２書込み手段と、該割込み要因を書込んだ後に割込み信号線を介して前記ホストデバイスに割込み要求を送信する第１送信手段と、前記ホストデバイスから割込み信号線を介して割込み信号を受信した場合に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行するコマンド実行手段と、を備え、前記ホストデバイスは、前記割込み要求を受信した後に自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して前記他のスレーブデバイスに割込み信号を送信する第２送信手段を備えることを特徴としている。
【００１２】
請求項５記載のデータ処理システムは、請求項４に記載のデータ処理システムにおいて、前記ホストデバイスは、前記入出力バスを介して前記スレーブデバイスのメモリにコマンドを書込む手段と、該コマンドを書込んだ後に前記割込み信号線を介して当該スレーブデバイスに割込み信号を送信する手段と、を備えることを特徴としている。
【００１３】
請求項６記載のデータ処理システムは、請求項４又は５に記載のデータ処理システムにおいて、前記スレーブデバイスのメモリには、前記入出力バスを介して自デバイスと接続された各デバイスが前記コマンドを書込むためのコマンドエリアが各デバイス毎に設けられていることを特徴としている。
【００１４】
請求項７記載のデータ処理システムは、請求項４乃至６のいずれか１に記載のデータ処理システムにおいて、前記入出力バスは、ＰＣＩバスであることを特徴としている。
【発明の効果】
【００１５】
請求項１に記載の割込み制御方法によれば、第１スレーブデバイスから第２スレーブデバイスへの割込み要因及び割込み要求（割込み信号）が一旦ホストデバイスに送られ、ホストデバイスにより第２スレーブデバイスへ割込み信号が送信される。すなわち、スレーブデバイス間の割込みが一旦ホストデバイスに集約され、ホストデバイスが第２スレーブデバイスへ割込みを発生させる。したがって、スレーブデバイス間で割込みを発生させるためにスレーブデバイス同士を割込み信号線で接続する必要はなく、簡単な構成により、スレーブデバイス間で割込みを発生させることができる。また、新たにスレーブデバイスを追加する場合に、追加したスレーブデバイスと既存のホストデバイスとを割込み信号線で接続すれば、追加したスレーブデバイスから既存のスレーブデバイスへ割込みを発生させたり、その逆の割込みを発生させることが可能になるので、スレーブデバイスを容易に追加することができるという利点がある。
【００１６】
請求項２に記載の割込み制御方法によれば、請求項１に記載の割込み制御方法の効果に加えて、スレーブデバイスのメモリには、自デバイス（スレーブデバイス）に接続された各デバイス毎にコマンドエリアが設けられているので、ホストデバイスから割込み信号を受信したスレーブデバイスは、メモリを検索してコマンドがいずれのデバイスのコマンドエリアに書込まれているかを判別することにより、ホストデバイスから受けた割込みがどのスレーブデバイスからの要求に基づくものであるかを容易に判断することができる。
【００１７】
請求項３に記載の割込み制御方法によれば、スレーブデバイスからホストデバイスへ向けてしか割込みを発生させることができないＰＣＩ規格のバスで接続されたホストデバイスと複数のスレーブデバイスとからなるデータ処理システムにおいても、スレーブデバイス間で割込みを発生させることができるという利点がある。
【００１８】
請求項４に記載のデータ処理システムによれば、あるスレーブデバイス（第１スレーブデバイス）から他のスレーブデバイス（第２スレーブデバイス）への割込み要因及び割込み要求（割込み信号）が一旦ホストデバイスに送られ、ホストデバイスにより第２スレーブデバイスへ割込み信号が送信される。すなわち、スレーブデバイス間の割込みが一旦ホストデバイスに集約され、ホストデバイスが第２スレーブデバイスへ割込みを発生させる。したがって、スレーブデバイス間で割込みを発生させるためにスレーブデバイス同士を割込み信号線で接続する必要はなく、簡単な構成により、スレーブデバイス間で割込みを発生させることができる。また、新たにスレーブデバイスを追加する場合に、追加したスレーブデバイスと既存のホストデバイスとを割込み信号線で接続すれば、追加したスレーブデバイスから既存のスレーブデバイスへ割込みを発生させたり、その逆の割込みを発生させることが可能になるので、スレーブデバイスを容易に追加することができるという利点がある。
【００１９】
請求項５に記載のデータ処理システムによれば、請求項４に記載のデータ処理システムの効果に加えて、ホストデバイスからスレーブデバイスへの割込みも発生させることができるという利点がある。
【００２０】
請求項６に記載のデータ処理システムによれば、請求項４又は５に記載のデータ処理システムの効果に加えて、スレーブデバイスのメモリには、自デバイス（スレーブデバイス）に接続された各デバイス毎にコマンドエリアが設けられているので、ホストデバイスから割込み信号を受信したスレーブデバイスは、メモリを検索してコマンドがいずれのデバイスのコマンドエリアに書込まれているかを判別することにより、ホストデバイスから受けた割込みがどのスレーブデバイスからの要求に基づくものであるかを容易に判断することができる。
【００２１】
請求項７に記載のデータ処理システムによれば、スレーブデバイスからホストデバイスへ向けてしか割込みを発生させることができないＰＣＩ規格のバスで接続されたホストデバイスと複数のスレーブデバイスとからなるデータ処理システムにおいても、スレーブデバイス間の割込みやホストデバイスからスレーブデバイスへの割込みを発生させることができるという利点がある。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態に係るデータ処理システムをカラーコピー機能、ファクシミリ機能、ネットワークスキャナ機能、ネットワークプリンタ機能等を併せ持つ複合機（ＭＦＰ：Multifunction Peripheral）に適用した場合について、図面に基づき説明する。図１は、本実施形態に係るデータ処理システム（コンピュータシステム）１の構成例を示したブロック図である。このデータ処理システム１は、図示するように、ＭＦＰコントローラ２、カラー画像処理ボード３、プリンタコントローラ４、及びネットワークボード５から構成されるものであって、これら各デバイス２乃至５は、ＰＣＩバス（入出力バス）６によって相互に通信可能に接続されている。
【００２３】
なお、このＰＣＩバス（Peripheral Component Interconnect Bus）６は、ＰＣＩ ＳＩＧ（PCI Special Interest Group）により規格が策定されている３２ビットバスであり、ＰＣＩバス６を構成するＰＣＩバス６ａ（６）とＰＣＩバス６ｂ（６）は、２本のＰＣＩバスを相互接続するための回路であるＰＣＩブリッジ７により接続されている。また、以下、ＭＦＰコントローラ２をホストデバイス、カラー画像処理ボード３、プリンタコントローラ４、及びネットワークボード５をスレーブデバイスともいう。
【００２４】
ＭＦＰコントローラ２は、データ処理システム１のホストデバイスとして機能するものであり、制御部（ＣＰＵ：Central Processing Unit）９、ＰＣＩホストコントローラ１０、割込みコントロールレジスタ（メモリ）１１、割込みコントローラ１２、ＲＡＭ（Random Access Memory）１３等を備えており、これら各部９乃至１３はホストシステムバス１４によって通信可能に接続されている。
【００２５】
制御部９は、ＭＦＰコントローラ２を構成する各部を制御する。ＰＣＩホストコントローラ１０は、カラー画像処理ボード３、プリンタコントローラ４、及びネットワークボード５の各スレーブデバイスとの間でＰＣＩバス６を介して行われる通信を制御するものである。割込みコントロールレジスタ１１は、スレーブデバイスが他のスレーブデバイス又はホストデバイスに割込みを発生させる際に、割込み要因を書込むためのものである。ここで、割込み要因は、具体的には、割込み要求元（コマンド送信側）のデバイスと割込み要求先（コマンド受信側）のデバイスを示す情報である。なお、本実施形態においては、割込みコントロールレジスタ１１に割込み要因が書込まれるが、割込みコントロールレジスタ１１を設けず、割込み要因をＲＡＭ１３に書込むようにしてもよい。
【００２６】
割込みコントローラ１２は、各デバイス間の割込みを制御するものである。具体的には、割込みコントロールレジスタ１１に書込まれた割込み要因に基づいて、割込み要求先のデバイスへ割込み信号を送出する。この割込みコントローラ１２が発生させる割込みは、ホストデバイスからスレーブデバイスへの割込み、スレーブデバイスからホストデバイスへの割込み、あるスレーブデバイスから他のスレーブデバイスへの割込みのいずれかである。
【００２７】
ＲＡＭ１３は、制御部９の主メモリ、ワークエリア等として機能し、各種設定情報を格納している。なお、このＲＡＭ１３には、他のデバイス（カラー画像処理ボード３、プリンタコントローラ４、又はネットワークボード５）がコマンド（コマンドナンバー）等を書込むためのコマンドエリアが設けられており、制御部９は、このコマンドエリアにコマンドが書込まれた場合には、そのコマンドに基づいて種々の処理を実行する。また、このＲＡＭ１３には、ホストデバイスとして機能するＭＦＰコントローラ２に接続されているスレーブデバイスに関する情報が格納されており、スレーブデバイスは、ＰＣＩバス６に接続されている他のスレーブデバイスに関する情報をこのＲＡＭ１３から取得することができる。
【００２８】
また、ＭＦＰコントローラ２は、原稿から例えばＲＧＢ表色系のカラー画像データを読取るスキャナ（原稿読取部）１５と接続されている。また、上記の各部９乃至１３の他に、図示しないが、制御部９によりＭＦＰコントローラ２の各部が制御されるための制御プログラムを格納するＲＯＭ、スキャナ１５から出力されたＲＧＢ表色系のカラー画像データを例えばＹＣｒＣｂ表色系のカラー画像データに変換する色空間変換等の画像処理を行う画像処理回路、画像データを圧縮又は伸張するコーデック、画像データを格納する画像メモリ、外部装置との間でファクシミリ通信を行うためのモデムとＮＣＵ（Network Control Unit）からなる通信部等を備えている。
【００２９】
カラー画像処理ボード３は、データ処理システム１のスレーブデバイスとして機能するものであり、制御部１７ａ（１７）、ＰＣＩコントローラ１８ａ（１８）、ＲＡＭ（メモリ）１９ａ（１９）等を備えており、これら各部１７ａ乃至１９ａは、ローカルバス２０によって通信可能に接続されている。
【００３０】
制御部（ＣＰＵ）１７ａは、自デバイス（ここでは、カラー画像処理ボード３）を構成する各部を制御する。なお、制御部１７ａは、割込みコントローラを搭載しており、割込みコントローラ１２から割込み信号を受信した場合に、自デバイスの制御部（ここでは、制御部１７ａ）に対して割込みを発生させたり、逆に、他のデバイスに割込みを発生させる場合に、割込み信号を生成して割込みコントローラ１２に送信することができるように構成されている。ＰＣＩコントローラ１８ａは、他のデバイス（ここでは、ＭＦＰコントローラ２、プリンタコントローラ４、又はネットワークボード５）との間でＰＣＩバス６を介して行われる通信を制御するものである。ＲＡＭ１９ａは、制御部１７ａの主メモリ、ワークエリア等として機能し、各種設定情報を格納している。
【００３１】
なお、このカラー画像処理ボード３は、上記の１７ａ乃至１９ａの他に、図示しないが、制御部１７ａによってカラー画像処理ボード３の各部が制御されるための制御プログラムを格納するＲＯＭ、ＭＦＰコントローラ２から転送されたカラー画像データをＹＣｒＣｂ表色系からＣＭＹＫの各色彩データに変換する色空間変換回路、色空間変換された色彩データを誤差拡散処理等により２値化（又は４値化）する階調減少処理回路等を備えており、ＭＦＰコントローラ２から転送されたカラー画像データをプリンタコントローラ４において印字出力するために必要な各種画像処理を行うことができる。
【００３２】
プリンタコントローラ４は、データ処理システム１のスレーブデバイスとして機能するものであり、制御部１７ｂ（１７）、ＰＣＩコントローラ１８ｂ（１８）、ＲＡＭ（メモリ）１９ｂ（１９）等を備えており、これら各部１７ｂ乃至１９ｂは、ローカルバス２１によって通信可能に接続されている。なお、この制御部１７ｂ、ＰＣＩコントローラ１８ｂ、及びＲＡＭ１９ｂは、上記のカラー画像処理ボード３の制御部１７ａ、ＰＣＩコントローラ１８ａ、及びＲＡＭ１９ａとそれぞれ同様のものである。
【００３３】
なお、このプリンタコントローラ４は、上記の１７ｂ乃至１９ｂの他に、制御部１７ｂによってプリンタコントローラ４の各部が制御されるための制御プログラムを格納するＲＯＭ、プリンタエンジン２２を制御するビデオＡＳＩＣ（Application Specific Integrated Circuit）等を備えており、ＰＣＩバス６を介してカラー画像処理ボード３から転送されたカラー画像データやネットワークボード５から転送されたカラー画像データに基づいてプリンタエンジン２２を制御して印刷処理を実行する。
【００３４】
一方、プリンタエンジン２２は、画像データの画像を用紙に記録するものであって、カラー画像データ及びモノクロ画像データの双方の画像を用紙に記録することが可能なものである。このプリンタエンジン２２における記録方式としては、例えば、電子写真方式やインクジェット方式等の各種記録方式を用いることができる。
【００３５】
ネットワークボード５は、データ処理システム１のスレーブデバイスとして機能するものであり、制御部１７ｃ（１７）、ＰＣＩコントローラ１８ｃ（１８）、ＲＡＭ（メモリ）１９ｃ（１９）等を備えており、これら各部１７ｃ乃至１９ｃは、ローカルバス２３によって通信可能に接続されている。なお、この制御部１７ｃ、ＰＣＩコントローラ１８ｃ、及びＲＡＭ１９ｃは、カラー画像処理ボード３の制御部１７ａ、ＰＣＩコントローラ１８ａ、及びＲＡＭ１９ａとそれぞれ同様のものである。
【００３６】
但し、この制御部１７ｃは、ＬＡＮ２５上のクライアントＰＣ２６と通信を行うためのＬＡＮコントローラ２７を搭載しており、ＬＡＮ２５上のクライアントＰＣ２６との間で各種データを送受信することが可能である。なお、このネットワークボード５は、カラー画像データをモノクロ画像データに変換するカラーモノクロ変換回路、多値のモノクロ画像データを２値化する２値化回路、２値化されたモノクロ画像データをＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ方式等により圧縮するコーデック等を備えている。これにより、ネットワークボード５は、ＭＦＰコントローラ２から転送されたカラー画像データをそのままＬＡＮ２５上のクライアントＰＣ２６へ転送したり、ＭＦＰコントローラ２から転送されたカラー画像データをカラーモノクロ変換してモノクロ画像データとしてクライアントＰＣ２６へ転送したり、クライアントＰＣ２６から転送された画像データを印刷処理のためにプリンタコントローラ４へ転送したりすることが可能である。
【００３７】
このデータ処理システム１において、ＭＦＰコントローラ２の割込みコントローラ１２は、割込み信号線２９を介して自デバイス２の制御部９と、割込み信号線３０及び３１を介してカラー画像処理ボード３の制御部１７ａと、割込み信号線３２及び３３を介してプリンタコントローラ４の制御部１７ｂと、割込み信号線３４及び３５を介してネットワークボード５の制御部１７ｃと、それぞれ接続されている。なお、これらの割込み信号線２９乃至３５を介して割込み信号が送信される。
【００３８】
このように、本実施形態に係るデータ処理システム１は、図１及び図２に示すように、メモリ（割込みコントロールレジスタ１１）を備えるホストデバイス２と、それぞれがメモリ（ＲＡＭ）を備える複数のスレーブデバイス３乃至５とからなり、これらの各デバイス２乃至５が各種データを入出力するために入出力バス（ＰＣＩバス６）により接続されるとともに、複数のスレーブデバイス３乃至５が個別にホストデバイス２と割込み信号線３０乃至３５により接続されている。
【００３９】
以下、スレーブデバイス間で割込みを発生させる場合の一例として、カラー画像処理ボード３からプリンタコントローラ４に割込みを発生させる場合について説明する。
【００４０】
カラー画像処理ボード３（スレーブデバイス）は、ＰＣＩバス６を介して他のスレーブデバイスのメモリにコマンドを書込む第１書込み手段を備えている。カラー画像処理ボード３は、この第１書込み手段により、ＰＣＩコントローラ１８ａによりＰＣＩバス６を介してプリンタコントローラ４のＰＣＩコントローラ１８ｂに対してコマンドを送信し、該コマンドをローカルバス２１を介してＲＡＭ１９ｂに書込む処理をＰＣＩコントローラ１８ｂに実行させる。このようにして、カラー画像処理ボード３は、ＰＣＩバス６を介してプリンタコントローラ４のＲＡＭ１９ｂにコマンドを書込むことが可能である。
【００４１】
また、カラー画像処理ボード３は、コマンドをスレーブデバイスのメモリに書込んだ後に、ＰＣＩバス６を介してホストデバイスのメモリに割込み要因を書込む第２書込み手段を備えている。カラー画像処理ボード３は、この第２書込み手段により、ＰＣＩコントローラ１８ａによりＰＣＩバス６を介してＭＦＰコントローラ２のＰＣＩホストコントローラ１０に対して割込み要因を送信し、該割込み要因をホストシステムバス１４を介して割込みコントロールレジスタ１１に書込む処理をＰＣＩホストコントローラ１０に実行させる。このようにして、カラー画像処理ボード３は、ＰＣＩバス６を介してＭＦＰコントローラ２の割込みコントロールレジスタ１１に割込み要因を書込むことが可能である。
【００４２】
また、カラー画像処理ボード３は、割込み要因をホストデバイスのメモリに書込んだ後に、割込み信号線を介してホストデバイスに割込み要求（割込み信号）を送信する第１送信手段を備えている。カラー画像処理ボード３は、この第１送信手段により、ＰＣＩコントローラ１８ａにより割込み要因をＭＦＰコントローラ２の割込みコントロールレジスタ１１に書込んだ後に、制御部１７ａにより割込み信号線３１を介してＭＦＰコントローラ２の割込みコントローラ１２に割込み要求を送信する。
【００４３】
これに対して、ＭＦＰコントローラ２は、割込み要求を受信した後に自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して他のスレーブデバイスに割込み信号を送信する第２送信手段を備えている。ＭＦＰコントローラ２の制御部９は、この第２送信手段により、カラー画像処理ボード３の制御部１７ａから割込み信号線３１を介して割込み要求を受信した後に割込みコントロールレジスタ１１から割込み要因を検索し、検出した割込み要因に基づいて割込み信号線３２を介してプリンタコントローラ４の制御部１７ｂに割込み信号を送信する。
【００４４】
一方、プリンタコントローラ４は、ホストデバイスから割込み信号線を介して割込み信号を受信した場合に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行するコマンド実行手段を備えている。プリンタコントローラ４の制御部１７ｂは、このコマンド実行手段により、ＭＦＰコントローラ２から割込み信号線３２を介して割込み信号を受信した場合に、自デバイス４のＲＡＭ１９ｂからコマンドを検索し、検出した場合にその検出したコマンドに対応する処理を実行する。
【００４５】
図３は、プリンタコントローラ４が備えるＲＡＭ１９ｂのコマンドエリア３７を例示した図である。このコマンドエリア３７は、他のデバイス２、３、又は５が自デバイス４に対するコマンド等を書込むためのエリア（領域）であり、プリンタコントローラ４がＰＣＩバス６を介して通信可能なデバイス毎に複数のエリアに論理的に分割されている。このコマンドエリア３７は、本実施形態においては、ＭＦＰコントローラ用コマンドエリア３８と、カラー画像処理ボード用コマンドエリア３９と、ネットワークボード用コマンドエリア４０と、追加デバイス用コマンドエリア４１と、に論理的に分割されている。
【００４６】
ここで、ＭＦＰコントローラ用コマンドエリア３８は、ＭＦＰコントローラ２の制御部９がＰＣＩバス６を介してプリンタコントローラ４に対するコマンド等を書込む領域である。カラー画像処理ボード用コマンドエリア３９は、カラー画像処理ボード３の制御部１７ａがＰＣＩバス６を介してプリンタコントローラ４に対するコマンド等を書込む領域である。ネットワークボード用コマンドエリア４０は、ネットワークボード５の制御部１７ｃがＰＣＩバス６を介してプリンタコントローラ４に対するコマンド等を書込む領域である。追加デバイス用コマンドエリア４１は、データ処理システム１に新たなスレーブデバイスが追加された場合に、その追加されたスレーブデバイスの制御部がＰＣＩバス６を介してプリンタコントローラ４に対するコマンド等を書込む領域である。
【００４７】
このように、プリンタコントローラ４のＲＡＭ１９ｂには、ＰＣＩバス６を介して自デバイス４と接続された各デバイス（２、３、又は５）がコマンドを書込むためのコマンドエリアが各デバイス毎に設けられている。
【００４８】
そして、各デバイス毎のコマンドエリア３８乃至４１には、ヘッダタイプ、コマンドメールボックスＩＤ、レスポンスメールボックスＩＤ、コマンドナンバー、データ等がコマンド送信側のデバイスによって書込まれようになっている。
【００４９】
ここで、カラー画像処理ボード用コマンドエリア３９に書込まれる情報は、以下の通りである。ヘッダタイプは、コマンド送信側（コマンド発行側）のデバイス（カラー画像処理ボード３）によるカラー画像処理ボード用コマンドエリア３９の使用状況を示す情報であり、カラー画像処理ボード用コマンドエリア３９が未使用であることを示す情報、カラー画像処理ボード用コマンドエリア３９がプリンタコントローラ４に対するコマンドによって使用中であることを示す情報、又はカラー画像処理ボード用コマンドエリア３９がプリンタコントローラ４に対するレスポンスによって使用中であることを示す情報のいずれかである。したがって、プリンタコントローラ４の制御部１７ｂは、ローカルバス２１を介してＲＡＭ１９ｂのカラー画像処理ボード用コマンドエリア３９にアクセスし、このカラー画像処理ボード用コマンドエリア３９に書込まれているヘッダタイプに基づいて、カラー画像処理ボード３によるカラー画像処理ボード用コマンドエリア３９の使用状況を判断することができる。
【００５０】
コマンドメールボックスＩＤは、コマンド発行側のデバイス（カラー画像処理ボード３）がレスポンス待ちする場合のメールボックスＩＤであり、レスポンス待ちしない場合には、コマンドメールボックスＩＤとして「０」がセットされる。レスポンスメールボックスＩＤは、レスポンスを発行した側（カラー画像処理ボード３）がコマンド待ちする場合のメールボックスＩＤであり、コマンド待ちしない場合には、レスポンスメールボックスＩＤとして「０」がセットされる。
【００５１】
コマンドナンバー（コマンド）は、カラー画像処理ボード３がプリンタコントローラ４に対して要求する処理を示すスカラ値であり、プリンタコントローラ４の制御部１７ｂは、ローカルバス２１を介してＲＡＭ１９ｂのカラー画像処理ボード用コマンドエリア３９にアクセスし、このカラー画像処理ボード用コマンドエリア３９に書込まれているコマンドナンバーに基づいて、自デバイス４が実行すべき処理を判別することができるようになっている。
【００５２】
データは、コマンド発行側のデバイス（カラー画像処理ボード３）によってコマンドナンバー等とともに書込まれる各種データである。なお、カラー画像処理ボード用コマンドエリア３９に書込まれるデータは、例えば１０４バイト未満のデータサイズの小さいデータであり、これを超えるデータサイズのデータは、コマンドエリア３７外の他の領域に書込まれるようになっている。
【００５３】
なお、ＭＦＰコントローラ用コマンドエリア３８には、ＭＦＰコントローラ２のＰＣＩホストコントローラ１０によって、ネットワークボード用コマンドエリア４０には、ネットワークボード５のＰＣＩコントローラ１８ｃによって、コマンド発行側のデバイスが異なる点を除いて、上記のカラー画像処理ボード用コマンドエリア３９と同様の情報が書込まれるようになっている。また、他のデバイス２、３、又は５のＲＡＭ１３、１９ａ、又は１９ｃにも、それぞれ、ＰＣＩバス６を介して自デバイスと接続された各デバイスがコマンドを書込むためのコマンドエリアが各デバイス毎に設けられているが、これらの他のデバイスのコマンドエリアは、自デバイスに接続される各デバイスの組合わせが異なるだけで、上記説明したＲＡＭ１９ｂのコマンドエリア３７と同様に構成されているため、その詳細な説明は省略する。
【００５４】
以下、上記のように構成されたデータ処理システム１において、本発明の実施の形態に係る割込み制御方法が実行される場合の一例として、カラー画像処理ボード３からプリンタコントローラ４に割込みを発生させる場合に、データ処理システム１において行われる処理動作について図４に示すシーケンス図に基づいて説明する。
【００５５】
なお、ホストデバイスであるＭＦＰコントローラ２の処理動作は、ＭＦＰコントローラ２が備える図外のＲＯＭに格納されている制御プログラムに基づいて制御部９が発行する命令に従って行われる。また、コマンド送信側（割込み要求元）のスレーブデバイスであるカラー画像処理ボード３の処理動作は、カラー画像処理ボード３が備える図外のＲＯＭに格納されている制御プログラムに基づいて制御部１７ａが発行する命令に従って行われ、コマンド受信側（割込み要求先）のスレーブデバイスであるプリンタコントローラ４の処理動作は、プリンタコントローラ４が備える図外のＲＯＭに格納されている制御プログラムに基づいて制御部１７ｂが発行する制御命令に従って行われる。
【００５６】
コマンド送信側のカラー画像処理ボード３（第１スレーブデバイス）は、まず、割込みを発生させたいコマンド受信側のプリンタコントローラ４（第２スレーブデバイス）のコマンドエリア３７にコマンドを書込む（Ｓ１）。具体的には、カラー画像処理ボード３の制御部１７ａは、ＰＣＩコントローラ１８ａによりＰＣＩバス６を介してプリンタコントローラ４に実行させるべきコマンドを示すコマンドナンバーをプリンタコントローラ４のＰＣＩコントローラ１８ｂに送信し、送信したコマンドナンバーをローカルバス２１を介してＲＡＭ１９ｂのコマンドエリア３７が有するカラー画像処理ボード用コマンドエリア３９に書込む処理をＰＣＩコントローラ１８ｂに実行させる。このように、Ｓ１の処理動作ステップにおいて、第１スレーブデバイスがＰＣＩバス６を介して第２スレーブデバイスが備えるメモリにコマンドを書込む。
【００５７】
なお、このＳ１の処理動作ステップにおいて、カラー画像処理ボード３のＰＣＩコントローラ１８ａは、カラー画像処理ボード用コマンドエリア３９がコマンドにより使用中であることを示すヘッダタイプと、必要に応じてコマンドメールボックスＩＤ、データ等をコマンドナンバーとともに送信し、カラー画像処理ボード用コマンドエリア３９に書込む処理をＰＣＩコントローラ１８ｂに実行させる。
【００５８】
次に、カラー画像処理ボード３は、ホストデバイスであるＭＦＰコントローラ２のメモリに割込み要因を書込む（Ｓ２）。具体的には、カラー画像処理ボード３の制御部１７ａは、ＰＣＩコントローラ１８ａによりＰＣＩバス６を介して割込み要因をＭＦＰコントローラ２のＰＣＩホストコントローラ１０に送信し、送信した割込み要因を割込みコントロールレジスタ１１に書込む処理をＰＣＩホストコントローラ１０に実行させる。このように、Ｓ２の処理動作ステップにおいて、第１スレーブデバイスがＰＣＩバス６を介してホストデバイスが備えるメモリに割込み要因を書込む。
【００５９】
続いて、カラー画像処理ボード３は、ホストデバイスであるＭＦＰコントローラ２に対して割込みを発生させる（Ｓ３）。具体的には、カラー画像処理ボード３の制御部１７ａは、割込み信号線３１を介して割込み要求（割込み信号）をＭＦＰコントローラ２の割込みコントローラ１２へ送信する。このように、Ｓ３の処理動作ステップにおいて、第１スレーブデバイスが割込み要因を書込んだ後に割込み信号線を介してホストデバイスに割込み要求を送信する。
【００６０】
一方、ホストデバイスであるＭＦＰコントローラ２の割込みコントローラ１２は、カラー画像処理ボード３の制御部１７ａから送信された割込み要求を受信する（Ｓ４）。そして、割込み要求を受信した割込みコントローラ１２は、割込み信号線２９を介して割込み信号を制御部９に送信する。これに対し、制御部９は、割込みコントロールレジスタ１１から割込み要因を検索し、カラー画像処理ボード３によって書込まれた割込み要因を検出して割込み要因を確認する（Ｓ５）。すなわち、ここでは、カラー画像処理ボード３からプリンタコントローラ４への割込みが要求されていることを割込み要因に基づいて確認する。
【００６１】
そして、ＭＦＰコントローラ２の制御部９は、確認した割込み要因に基づいて、コマンド受信側のスレーブデバイスに対して割込みを発生させる（Ｓ６）。具体的には、割込みコントローラ１２により、割込み信号線３２を介してプリンタコントローラ４の制御部１７ｂへ割込み信号を送信する。このように、Ｓ４乃至Ｓ６の処理動作ステップにより、ホストデバイスが割込み要求を受信した後に、自デバイスのメモリから割込み要因を検索し、検出した場合にその割込み要因に基づいて割込み信号線を介して第２スレーブデバイスに割込み信号を送信する。
【００６２】
一方、コマンド受信側のスレーブデバイスであるプリンタコントローラ４の制御部１７ｂは、ＭＦＰコントローラ２の割込みコントローラ１２から送信された割込み信号を受信すると（Ｓ７）、ＲＡＭ１９ｂのコマンドエリア３７からコマンドを検索する（Ｓ８）。具体的には、コマンドエリア３７に含まれているＭＦＰコントローラ用コマンドエリア３８、カラー画像処理ボード用コマンドエリア３９、ネットワークボード用コマンドエリア４０の各コマンドエリアのヘッダタイプを読み出し、いずれのエリアがコマンドにより使用中であるかを判断する。そして、コマンドにより使用中であると判断したコマンドエリア（ここでは、カラー画像処理ボード用コマンドエリア３９）からコマンドナンバーを読み出す。
【００６３】
そして、制御部１７ｂは、カラー画像処理ボード用コマンドエリア３９からコマンドナンバーを読み出すことにより、カラー画像処理ボード３からの割込み要求に伴って自デバイス４が実行すべき処理が何であるかを判別し、その判別結果に基づいて、コマンドの処理を実行する（Ｓ９）。例えば、コマンドがカラー画像処理ボード３から転送されたカラー画像データの印刷処理を要求するものであれば、制御部１７ｂは、カラー画像処理ボード３から転送されたカラー画像データに基づいてプリンタエンジン２２を制御し、印字処理を実行する。このように、Ｓ７乃至Ｓ９の処理動作ステップにより、第２スレーブデバイスが割込み信号を受信した後に、自デバイスのメモリからコマンドを検索し、検出した場合にそのコマンドに対応する処理を実行する。
【００６４】
以上説明したように、スレーブデバイス間で割込みを発生させる場合に、コマンド等の各種データは割込み要求元のスレーブデバイスから割込み要求先のスレーブデバイスへＰＣＩバス６を介して直接送信し、割込み要因及び割込み要求（割込み信号）をホストデバイスに集約してホストデバイスから割込み信号を送信させるようにすることで、スレーブデバイス同士を割込み信号線で接続する必要がなく、データ処理システム１の構成を簡単なものにすることができる。
【００６５】
なお、本実施形態においては、スレーブデバイス間で割込みを発生させる場合として、カラー画像処理ボード３からプリンタコントローラ４に割込みを発生させる場合について図４に基づいて説明したが、割込み要求元のスレーブデバイスと割込み要求先のスレーブデバイスはこの場合に限定されるものではない。すなわち、カラー画像処理ボード３、プリンタコントローラ４、及びネットワークボード５は、いずれも、第１書込み手段、第２書込み手段、第１送信手段、及びコマンド実行手段をそれぞれ備えており、例えば、上記の場合と逆にプリンタコントローラ４からカラー画像処理ボード３に割込みを発生させたり、ネットワークボード５からプリンタコントローラ４に割込みを発生させることも当然可能である。
【００６６】
次に、ホストデバイスからスレーブデバイスに割込みを発生させる場合について説明する。ホストデバイスは、ＰＣＩバス６を介してスレーブデバイスのメモリにコマンドを書込む手段と、該コマンドを書込んだ後に割込み信号線を介して当該スレーブデバイスに割込み信号を送信する手段を備えている。すなわち、ＭＦＰコントローラ２は、ＰＣＩバス６を介してスレーブデバイス３乃至５のＲＡＭ１９ａ乃至１９ｃにコマンドを書込むことができ、また、そのコマンドを書込んだ後に割込み信号線３０、３２、又は３４を介してスレーブデバイス３乃至５に割込み信号を送信することができる。
【００６７】
例えば、ＭＦＰコントローラ２からネットワークボード５に割込みを発生させる場合、まず、ＭＦＰコントローラ２の制御部９は、ＰＣＩホストコントローラ１０により、ＰＣＩバス６を介してＰＣＩコントローラ１８ｃにコマンドを送信し、ＲＡＭ１９ｃのコマンドエリアのＭＦＰコントローラ用コマンドエリア（不図示）にローカルバス２３を介して、送信したコマンド及び当該コマンドエリアがコマンドにより使用中であることを示すヘッダタイプ等の情報を書込む処理をＰＣＩコントローラ１８ｃに実行させる。そして、割込みコントローラ１２に割込み信号線３４を介してネットワークボード５の制御部１７ｃに割込み信号を送信することにより、ネットワークボード５に割込みを発生させることができる。なお、割込みを受けたネットワークボード５の制御部１７ｃは、ＲＡＭ１９ｃのコマンドエリアのＭＦＰコントローラ用コマンドエリアからコマンドを読み出すことにより自デバイス５が実行すべき処理を判別し、コマンドに対応する処理を実行する。
【００６８】
一方、逆に、スレーブデバイスからホストデバイスに割込みを発生させる場合、例えば、ネットワークボード５からＭＦＰコントローラ２に割込みを発生させる場合、まず、ネットワークボード５の制御部１７ｃは、ＰＣＩコントローラ１８ｃにより、ＰＣＩバス６を介してＰＣＩホストコントローラ１０にコマンドを送信し、ＲＡＭ１３のコマンドエリアのネットワークボード用コマンドエリア（不図示）に、送信したコマンド及び当該コマンドエリアがコマンドにより使用中であることを示すヘッダタイプ等の情報を書込む処理をＰＣＩホストコントローラ１０に実行させる。そして、制御部１７ｃは、割込み信号線３５を介して割込みコントローラ１２に割込み要求（割込み信号）を送信する。これに対し、割込みコントローラ１２は、割込み信号線２９を介して制御部９に割込み信号を送信することにより、ＭＦＰコントローラ２に割込みを発生させることができる。なお、割込みを受けたＭＦＰコントローラ２の制御部９は、ＲＡＭ１３のコマンドエリアのネットワークボード用コマンドエリアからコマンドを読み出すことにより自デバイス２が実行すべき処理を判別し、コマンドに対応する処理を実行する。
【００６９】
なお、本実施の形態で示したデータ処理システム１の構成は、本発明に係るデータ処理システムの一態様にすぎず、本発明の要旨を逸脱しない範囲内で適宜設計変更できることは勿論であり、ホストデバイスと複数のスレーブデバイスとからなるデータ処理システムであれば、本実施形態において説明した複合機の他に、複写機、ファクシミリ装置等としても実現可能である。
【産業上の利用可能性】
【００７０】
本発明は、例えば、ホストデバイスと複数のスレーブデバイスとからなるデータ処理システムに適用可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態に係るデータ処理システムの構成例を示したブロック図である。
【図２】データ処理システムにおけるＰＣＩバスと割込み信号線を示した図である。
【図３】コマンドエリアの構成、及びそのエリアに書込まれるデータについて説明するための図である。
【図４】スレーブデバイス間で割込みを発生させる場合に、データ処理システムにおいて行われる処理動作を示したシーケンス図である。
【図５】従来のデータ処理システムの構成例を示したブロック図である。
【符号の説明】
【００７２】
１    データ処理システム
２    ＭＦＰコントローラ（ホストデバイス）
３    カラー画像処理ボード（スレーブデバイス）
４    プリンタコントローラ（スレーブデバイス）
５    ネットワークボード（スレーブデバイス）
６    ＰＣＩバス（入出力バス）
９、１７ａ、１７ｂ、１７ｃ    制御部（ＣＰＵ）
１０    ＰＣＩホストコントローラ
１１    割込みコントロールレジスタ（メモリ）
１２    割込みコントローラ
１３    ＲＡＭ
１８ａ、１８ｂ、１８ｃ    ＰＣＩコントローラ
１９ａ、１９ｂ、１９ｃ    ＲＡＭ（メモリ）
３０、３１、３２、３３、３４、３５    割込み信号線
３７    コマンドエリア
３８    ＭＦＰコントローラ用コマンドエリア
３９    カラー画像処理ボード用コマンドエリア
４０    ネットワークボード用コマンドエリア
４１    追加デバイス用コマンドエリア
【図１】
2006285829.tif 000003
【図２】
2006285829.tif 000004
【図３】
2006285829.tif 000005
【図４】
2006285829.tif 000006
【図５】
2006285829.tif 000007