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