(57)【要約】【課題】コマンドとデータとが分離され、コマンド転送後にデータを転送するフォーマットでアービトレーション制御をソフト負荷なしに具現できる画像形成装置を提供する。【解決手段】この装置では、画像コントローラ（ＳｏC）３０１内でＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４とバスアービタ３０６との間で排他制御を行う排他制御モジュール３１２、３１３に複数のコマンド、画像データを蓄積するバッファを持たせ、それらのコマンドと一致する同じＣＰＵ（ＣＰＵ−Ａ３０９、ＣＰＵ−Ｂ３１０の何れか一方）制御の画像データを受信したときにのみ、モジュール３１２、３１３によりコマンドと画像データとをセットにして転送し、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４が略図するＮＡＮＤメモリ、ＨＤＤメモリにコマンドと画像データとのセットを蓄積する制御を行う。【選択図】図４
2014130425.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを画像制御手段に備えられる複数の制御指示手段により否定論理積記憶手段に対して記憶する機能を持つ画像形成装置であって、
前記画像制御手段は、コマンドと前記画像データとが順次入力されることにより前記否定論理積記憶手段に対して当該画像データの転送を行うことができる否定論理積制御手段と、データバッファ及びコマンドバッファを具備すると共に、前記複数の制御指示手段から前記画像データと前記コマンドとが非同期に転送された場合に排他制御して前記否定論理積制御手段で受けられる順序に変換する排他制御手段と、前記複数の制御指示手段及び前記排他制御手段にバス接続されて複数の制御系の調停を行うバス調停手段と、を備え、
前記排他制御手段は、前記バス調停手段を経由して前記複数の制御指示手段における前記データバッファへの前記コマンドと一致する同じ制御指示手段の制御による前記画像データを受信したときにのみ、当該コマンドと当該画像データとをセットにして前記否定論理積制御手段に対して転送することを特徴とする画像形成装置。
【請求項２】
請求項１記載の画像形成装置において、前記画像制御手段は、前記バス調停手段に接続されてコマンドと前記画像データとが順次入力されることにより補助記憶手段に対して当該画像データの転送を行うことができる補助記憶制御手段と、データバッファ及びコマンドバッファを具備すると共に、前記バス調停手段に接続されて前記複数の制御指示手段から前記画像データと前記コマンドとが非同期に転送された場合に排他制御して前記補助記憶制御手段で受けられる順序に変換する他の排他制御手段と、を備え、
前記他の排他制御手段は、前記バス調停手段を経由して前記複数の制御指示手段における前記データバッファへの前記コマンドと一致する同じ制御指示手段の制御による前記画像データを受信したときにのみ、当該コマンドと当該画像データとをセットにして前記補助記憶制御手段に対して転送することを特徴とする画像形成装置。
【請求項３】
請求項１又は２記載の画像形成装置において、前記画像制御手段は、前記バス調停手段に接続されて主記憶手段に対して前記画像データを蓄積すると共に、当該画像データを読み出すための制御を行う主記憶制御手段を備え、
前記主記憶制御手段は、前記主記憶手段から前記画像データを読み出して前記排他制御手段を介して前記否定論理積制御手段へ転送するか、又は前記他の排他制御手段を介して前記補助記憶制御手段へ転送するＤＭＡＣ機能を持つことを特徴とする画像形成装置。
【請求項４】
請求項３記載の画像形成装置において、前記排他制御手段又は前記他の排他制御手段は、前記複数の制御指示手段の転送で割り当てる帯域をソフトウェアにより設定可能であることを特徴とする画像形成装置。
【請求項５】
請求項３記載の画像形成装置において、前記画像制御手段は、前記バス調停手段を経由して前記排他制御手段又は前記他の排他制御手段を介して前記否定論理積制御手段又は前記補助記憶制御手段へのアクセスが可能な画像読取用制御手段を備えたことを特徴とする画像形成装置。
【請求項６】
請求項３記載の画像形成装置において、前記画像制御手段は、前記バス調停手段を経由して前記排他制御手段又は前記他の排他制御手段を介して前記否定論理積制御手段又は前記補助記憶制御手段へのアクセスが可能な画像出力用制御手段を備えたことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドとデータとが分離され、コマンド転送後にデータを転送する転送フォーマットでアービトレーション制御が行われる機能を持つ画像形成装置に関する。
【背景技術】
【０００２】
従来、画像形成装置の使用形態を発展させたＭＦＰ（多機能プリンタ）におけるコントローラＡＳＩＣでは、複数のマスタが同時に領域へアクセスを行うと、データ転送が正常に行われなくなってしまうため、複数のマスタが同時に同じアドレスにアクセスを行わないようにするためのアービトレーション制御が行われている。例えばバスのインターコネクトやＰＣＩインターフェース、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース等でアービトレーション制御を行う場合が知られている。
【０００３】
このようなアービトレーション制御に関連する周知技術としては、例えば各アプリケーション間でデータの転送を低コストの構成で容易に実行可能な「画像形成装置」（特許文献１参照）が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１に係る画像形成装置の技術では、ファクシミリアプリケーションやプリンタアプリケーション等の複数のアプリケーションと、装置を構成する各部を機能単位で共有資源として管理し、複数のアプリケーションが共有資源を使用する際の調停を行うメインコントローラと、メインコントローラと複数のアプリケーションとを接続するアプリケーションバスと、共有資源の１つとして配設されたメモリと、を備え、メインコントローラが各アプリケーション間でメモリを介してデータ転送を行う際にデータ転送を管理するものであり、複数のマスタを持った多機能プリンタのコントローラにおけるアービトレーション制御を実現できる機能が持たされている。
【０００５】
しかしながら、特許文献１に係る技術では、例えば否定論理積記憶装置（ＮＡＮＤメモリ）に接続されるＮＡＮＤインターフェース等のコマンドとデータとが分離された転送フォーマットにはソフトウェアの介在なしにアービトレーション制御を対応させることができず、こうした場合にはソフトウェアでのセマフォ制御を行う必要があるため、ソフト負荷が発生してパフォーマンスが低下するという問題が発生する。
【０００６】
即ち、既存のアービトレーション制御は、ＮＡＮＤインターフェース等のコマンドとデータとが分離された転送フォーマットには対応し難いという問題がある。これは、例えばスレーブデバイスＡがマスタＡからのコマンドを受けた後、マスタＡからのデータを受ける前にマスタBからのコマンドを受けてしまうと、マスタＡからのコマンドは上書きされてしまい、正しい転送が行なわれなくなってしまう例で説明できる。そこで、このようなコマンドとデータとが分離された転送フォーマットでアービトレーション制御を行う場合には、ソフトウェアでのセマフォ制御を行う必要を生じるため、これがソフト負荷の発生によるパフォーマンスの低下を来たす要因になってしまう。
【０００７】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、コマンドとデータとが分離され、コマンド転送後にデータを転送するフォーマットでアービトレーション制御をソフト負荷なしに具現できる画像形成装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記技術的課題を解決するため、本発明によれば、入力された画像データを画像制御手段に備えられる複数の制御指示手段により否定論理積記憶手段に対して記憶する機能を持つ画像形成装置であって、画像制御手段は、コマンドと画像データとが順次入力されることにより否定論理積記憶手段に対して当該画像データの転送を行うことができる否定論理積制御手段と、データバッファ及びコマンドバッファを具備すると共に、複数の制御指示手段から画像データとコマンドとが非同期に転送された場合に排他制御して否定論理積制御手段で受けられる順序に変換する排他制御手段と、複数の制御指示手段及び排他制御手段にバス接続されて複数の制御系の調停を行うバス調停手段と、を備え、排他制御手段は、バス調停手段を経由して複数の制御指示手段におけるデータバッファへのコマンドと一致する同じ制御指示手段の制御による画像データを受信したときにのみ、当該コマンドと当該画像データとをセットにして否定論理積制御手段に対して転送することを特徴とする。
【発明の効果】
【０００９】
本発明の画像形成装置によれば、画像制御手段内において、否定論理積制御手段とバス調停手段との間で排他制御を行うスレーブ機能の排他制御手段に対して複数のコマンド及び画像データを蓄積するバッファを持たせ、それらのコマンドと一致する同じ制御指示手段の制御による画像データを受信したときにのみ、排他制御手段によりコマンドと画像データとをセットにして転送する機能を持たせているため、ソフトウェアのセマフォ制御を行うことなく排他制御を具現することが可能となり、コマンドとデータとが分離され、コマンド転送後にデータを転送するフォーマットのインターフェースでアービトレーション制御をソフト負荷なしに具現でき、高いパフォーマンスを提供できるようになる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１に係る画像形成装置の基本構成を示したブロック図である。
【図２】図１に示す画像形成装置に備えられる画像コントローラの適用例として、比較例に係る画像コントローラの細部構成を示したブロック図である。
【図３】図２に示した画像コントローラにおけるＮＡＮＤコントローラ（ＮＡＮＤＣ）とＤＤＲコントローラ（ＤＤＲＣ）とによる転送タイミングでの転送結果を説明するために示したトランザクションの対比図である。
【図４】図１に示す画像形成装置に備えられる画像コントローラの適用例として、実施例１に係る画像コントローラの細部構成を示したブロック図である。
【図５】図４に示した画像コントローラに備えられる排他制御モジュールの適用例として、実施例１に係る排他制御モジュールの細部構成における処理機能の流れを示した模式図である。
【図６】図５に示した排他制御モジュールによる転送機能を説明するために示したトランザクションの対比図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の画像形成装置について、図面を参照して詳細に説明する。
【実施例１】
【００１２】
図１は、本発明の実施例１に係る画像形成装置の基本構成を示したブロック図である。この画像形成装置は、画像制御手段である画像コントローラ（ＳｏＣ）１０２に備えられる複数の制御指示手段（ＣＰＵ）がＲＯＭ１０５から読み出したプログラムに従って、画像読取手段であるスキャナ１０１から入力された画像データを画像コントローラ（ＳｏＣ）１０２に接続された主記憶手段であるＤＤＲメモリ１０６、補助記憶手段であるＨＤＤメモリ１０４、及び否定論理積記憶手段であるＮＡＮＤメモリ１０３に対して用途に応じて蓄積して記憶すると共に、画像コントローラ（ＳｏＣ）１０２に接続された画像出力手段であるプロッタ１０７に対して画像データを出力するＭＦＰ機能を持つ。ここでの画像コントローラ（ＳｏＣ）１０２は、ＭＦＰ機能でアービトレーション制御を行う機能を持つ。
【００１３】
図２は、この画像形成装置に備えられる画像コントローラ（ＳｏＣ）１０２の適用例として、比較例に係る画像コントローラ（ＳｏＣ）２０１の細部構成を示したブロック図である。この画像コントローラ（ＳｏＣ）２０１は、画像読取手段であるスキャナ１０１に接続されるスキャナ入力用ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２０２と、ＮＡＮＤメモリ１０３に接続されるＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３と、ＨＤＤメモリ１０４に接続されるＨＤＤコントローラ（ＨＤＤＣ）２０４と、略図するローカルバスに接続されるローカルバスコントローラ（ＬＢＣ）２０５と、ＤＤＲメモリ２０７（ＤＤＲメモリ１０６と同じもの）と接続されるＤＤＲコントローラ（ＤＤＲＣ）２０８と、制御指示手段である第１のＣＰＵ−Ａ２０９及び第２のＣＰＵ−Ｂ２１０と、プロッタ１０７に接続されるプロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２１１と、がバス調整手段であるバスアービタ２０６に共通して接続されて構成されている。
【００１４】
この画像コントローラ（ＳｏＣ）２０１では、スキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２０２から入力された画像データがバスアービタ２０６、ＤＤＲコントローラ（ＤＤＲＣ）２０８を経由してＤＤＲメモリ２０７に蓄積される。ＤＤＲメモリ２０７に蓄積された画像データは、第１のＣＰＵ−Ａ２０９、第２のＣＰＵ−Ｂ２１０の制御指示によりＤＤＲコントローラ（ＤＤＲＣ）２０８、バスアービタ２０６を経由してＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３、ＨＤＤコントローラ（ＨＤＤＣ）２０４から外部のＮＡＮＤメモリ１０３、ＨＤＤメモリ１０４に蓄積された後、ＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３、ＨＤＤコントローラ（ＨＤＤＣ）２０４からバスアービタ２０６、ＤＤＲコントローラ（ＤＤＲＣ）２０８を介してＤＤＲメモリ２０７に蓄積され、更に第１のＣＰＵ−Ａ２０９、第２のＣＰＵ−Ｂ２１０の制御指示によりプロッタ出力用ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２１１を介してプロッタ１０７に出力される。
【００１５】
因みに、図２中のスキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２０２は、バスアービタ２０６を経由してＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３又はＨＤＤコントローラ（ＨＤＤＣ）２０４へのアクセスが可能なものである。ＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３は、コマンドと画像データとが順次入力されることによりＮＡＮＤメモリ１０３に対して画像データの転送を行うことができる。ＨＤＤコントローラ（ＨＤＤＣ）２０４は、コマンドと画像データとが順次入力されることによりＨＤＤメモリ１０４に対して画像データの転送を行うことができる。プロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）２１１は、バスアービタ３０６を経由してＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３又はＨＤＤコントローラ（ＨＤＤＣ）２０４へのアクセスが可能なものである。
【００１６】
図３は、上述した画像コントローラ（ＳｏＣ）２０１におけるＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３とＤＤＲコントローラ（ＤＤＲＣ）２０８とによる転送タイミングでの転送結果を説明するために示したトランザクション５０１、５０２、５０３の対比図である。
【００１７】
図３を参照すれば、ＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３とＨＤＤコントローラ（ＨＤＤＣ）２０４とでは、第１のＣＰＵ−Ａ２０９、第２のＣＰＵ−Ｂ２１０から同期してアービトレーション制御されることにより、第１のＣＰＵ−Ａ２０９からのトランザクション５０１、第２のＣＰＵ−Ｂ２１０からのトランザクション５０２に示されるように、バスアービタ２０６経由で先ずコマンド（ＣｍｄＡ、ＣｍｄＢ）が転送され、その後にデータ（ＤａｔａＡ、ＤａｔａＢ）が転送される動作が行われるようになっている。
【００１８】
ところが、複数の制御指示系である第１のＣＰＵ−Ａ２０９、第２のＣＰＵ−Ｂ２１０から非同期でアービトレーション制御がダウンされると、ＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３とＨＤＤコントローラ（ＨＤＤＣ）２０４とは、トランザクション５０５に示されるように、コマンドとデータとの順序が保障されず、正規順のコマンド（ＣｍｄＡ）、データ（ＤａｔａＡ）、コマンド（ＣｍｄＢ）、データ（ＤａｔａＢ）ではなく、コマンド（ＣｍｄＡ）、コマンド（ＣｍｄＢ）、データ（ＤａｔａＡ）、データ（ＤａｔａＢ）の順に示されるように正規順での転送が成立しなくなってしまう。
【００１９】
こうした問題を防止するため、既存の技術ではソフトウェアでＲＯＭ１０５等のメモリ上に「何れのＣＰＵがＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３、ＨＤＤコントローラ（ＨＤＤＣ）２０４のバス権を持っているか」のフラグ領域を作成し、それぞれのＣＰＵの転送の開始毎にフラグを立て、完了毎にフラグを落としてアクセス権の取れなかったＣＰＵは本フラグ領域をポーリング等で監視することにより、排他制御を行っている。
【００２０】
しかしながら、このようなソフトウェアの介在した排他制御は、片方のＣＰＵがアクセス権を占有している場合には他方のＣＰＵによる転送が行われないため、ＮＡＮＤコントローラ（ＮＡＮＤＣ）２０３、ＨＤＤコントローラ（ＨＤＤＣ）２０４自体の転送帯域が有効に利用されず、装置全体としての転送性能が低下してしまう。装置全体の転送性能が低下した場合、例えば適用される複写機においては、異常画像が発生することになり、問題となるので好ましくない。
【００２１】
図４は、上述した画像形成装置に備えられる画像コントローラ（ＳｏＣ）１０２の適用例として、実施例１に係る画像コントローラ（ＳｏＣ）３０１の細部構成を示したブロック図である。この画像コントローラ（ＳｏＣ）３０１は、上述した図2の比較例の場合の構成と比べれば、同様な機能構成のスキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３０２、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４、ローカルバスコントローラ（ＬＢＣ）３０５、バスアービタ３０６、制御指示手段である第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０、プロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３１１を有する。
【００２２】
この画像コントローラ（ＳｏＣ）３０１では、それ以外に、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３及びバスアービタ３０６の間にデータバッファ及びコマンドバッファを具備すると共に、バスアービタ３０６を経由して第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０から画像データとコマンドとが非同期に転送された場合に排他制御してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３で受けられる順序に変換する排他制御手段としての排他制御モジュール３１２が介在され、更に、ＨＤＤコントローラ（ＨＤＤＣ）３０４及びバスアービタ３０６の間にもデータバッファ及びコマンドバッファを具備すると共に、バスアービタ３０６を経由して第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０から画像データとコマンドとが非同期に転送された場合に排他制御して排他制御してＨＤＤコントローラ（ＨＤＤＣ）３０４で受けられる順序に変換する他の排他制御手段としての排他制御モジュール３１３が介在された点が相違している。
【００２３】
ここでの排他制御モジュール３１２は、バスアービタ３０６を経由して第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０におけるデータバッファへのコマンドと一致する同じものの制御による画像データを受信したときにのみ、コマンドと画像データとをセットにしてＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３に対して転送する。また、排他制御モジュール３１３については、バスアービタ３０６を経由して第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０におけるデータバッファへのコマンドと一致する同じものの制御による画像データを受信したときにのみ、コマンドと画像データとをセットにしてＨＤＤコントローラ（ＨＤＤＣ）３０４に対して転送する。
【００２４】
図５は、画像コントローラ（ＳｏＣ）３０１に備えられる排他制御モジュール３１２、３１３の適用例として、実施例１に係る排他制御モジュール４０１の細部構成における処理機能の流れを示した模式図である。この排他制御モジュール４０１は、インターフェース（Ｉ／Ｆ）部４０２、アービタ部４０３、コマンド／データバッファ部４０４、及びセレクタ部４０５を備えて構成される。
【００２５】
このうち、インターフェース（Ｉ／Ｆ）部４０２は、例えばＡＸＩやＯＣＰインターフェース（Ｉ／F）で構成され、バスアービタ３０６とのインターフェース（Ｉ／Ｆ）機能を持つ。アービタ部４０３は、排他制御モジュール４０１に対してどのＣＰＵがアクセスしたかと、そのトランザクションがコマンドであるか、或いはデータであるかを判定し、判定結果のコマンドやデータをコマンド／データバッファ部４０４に振り分ける機能を持つ。コマンド／データバッファ部４０４は、アービタ部４０３で振り分けられたコマンド、データを順次保持するコマンドバッファ、データバッファの複数個により構成されている。セレクタ部４０５は、同じＣＰＵ（第１のＣＰＵ−Ａ３０９又は第２のＣＰＵ−Ｂ３１０を示す）からコマンドとデータとの両方の転送が完了された場合を判定し、完了したコマンドとデータとのセットをＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、或いはＨＤＤコントローラ（ＨＤＤＣ）３０４へ転送する機能を持つ。
【００２６】
図６は、上述した排他制御モジュール４０１による転送機能を説明するために示したトランザクション６０１、６０２の対比図である。
【００２７】
図６では、排他制御モジュール４０１に対する入力のタイミングとして、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０が非同期にアクセスして図５に示したトランザクション５０５のようにコマンドとデータとのセットが一致せず、そのままではＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４が正しく転送を行うことができないトランザクション６０１となっている条件下を想定する。
【００２８】
そこで、排他制御モジュール４０１は、先ず第１のＣＰＵ−Ａ３０９からのコマンドを受け付けた場合、そのコマンドをコマンドバッファに蓄積した後、第１のＣＰＵ−Ａ３０９からのデータが転送されるまで維持するようにし、その間に第２のＣＰＵ−Ｂ３１０からのコマンドが入力されても、コマンドバッファに蓄積するのみとし、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４への出力を行わない。
【００２９】
その後、第１のＣＰＵ−Ａ３０９からのデータの転送が完了した時点でＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３、ＨＤＤコントローラ（ＨＤＤＣ）３０４に対してコマンドとデータをセットにして出力することにより、正しい転送を完了させる機能を持つ。
【００３０】
即ち、実施例１に係る画像形成装置では、第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０がコマンドをバスアービタ３０６を経由して排他制御モジュール３１２を介してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３へ送信した後、ＤＤＲコントローラ（ＤＤＲＣ）３０８を介してＤＤＲメモリ３０７から画像データを読み出してバスアービタ３０６を経由して排他制御モジュール３１２を介してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３へ転送する制御を行う。このとき、排他制御モジュール３１２は、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からのコマンドを受け付けた場合、そのコマンドをコマンドバッファに蓄積した後、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からの画像データが転送されるまで維持し、その間に第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の他方からのコマンドが入力されてもコマンドバッファに蓄積するのみとしてＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３への出力を行わず、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からの画像データの転送が完了した時点でＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３に対してコマンドと画像データとをセットにして出力する。これにより、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３は、ＮＡＮＤメモリ１０３に対してコマンドと画像データとのセットを蓄積する制御を行う。
【００３１】
この画像形成装置によれば、画像コントローラ（ＳｏC）３０１内において、ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３とバスアービタ３０６との間で排他制御を行うスレーブ機能の排他制御モジュール３１２に対して複数のコマンド及び画像データを蓄積するバッファを持たせ、それらのコマンドと一致する同じＣＰＵ（ここでは第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の何れか一方を示す）の制御による画像データを受信したときにのみ、排他制御モジュール３１２によりコマンドと画像データとをセットにして合わせて転送する機能を持たせている。このため、ソフトウェアのセマフォ制御を行うことなく排他制御を具現することが可能となり、コマンドと画像データとが分離され、コマンド転送後に画像データを転送するフォーマットのインターフェースでアービトレーション制御をソフト負荷なしに具現でき、高いパフォーマンスを提供できるようになる。
【００３２】
また、同様に第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０は、コマンドをバスアービタ３０６を経由して排他制御モジュール３１３を介してＨＤＤコントローラ（ＨＤＤＣ）３０４へ送信した後、ＤＤＲコントローラ（ＤＤＲＣ）３０８を介してＤＤＲメモリ３０７から画像データを読み出してバスアービタ３０６を経由して排他制御モジュール３１３を介してＨＤＤコントローラ（ＨＤＤＣ）３０４へ転送する制御を行う。このとき、排他制御モジュール３１３は、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からのコマンドを受け付けた場合、そのコマンドをコマンドバッファに蓄積した後、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からの画像データが転送されるまで維持し、その間に第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の他方からのコマンドが入力されてもコマンドバッファに蓄積するのみとしてＨＤＤコントローラ（ＨＤＤＣ）３０４への出力を行わず、第１のＣＰＵ−Ａ３０９、第２のＣＰＵ−Ｂ３１０の一方からの画像データの転送が完了した時点でＨＤＤコントローラ（ＨＤＤＣ）３０４に対してコマンドと画像データとをセットにして出力する。これにより、ＨＤＤコントローラ（ＨＤＤＣ）３０４は、ＨＤＤメモリ１０４に対してコマンドと画像データとのセットを蓄積する制御を行う。このように、ＨＤＤメモリ１０４についても排他制御の対象として使用すれば、ＮＡＮＤメモリ１０３を単独で使用する場合と比べ、大容量の画像データの蓄積が可能となる。
【００３３】
因みに、図４中のスキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３０２は、バスアービタ３０６を経由して排他制御モジュール３１２又は排他制御モジュール３１３を介してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３又はＨＤＤコントローラ（ＨＤＤＣ）３０４へのアクセスが可能なものである。スキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３０２からのＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３やＨＤＤコントローラ（ＨＤＤＣ）３０４へのアクセスを可能とすることにより、スキャナ１０１での画像データの入力時の有効帯域を向上させ、スキャナ１０１の読み取り速度を向上させることができる。
【００３４】
ＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３は、コマンドと画像データとが順次入力されることによりＮＡＮＤメモリ１０３に対して画像データの転送を行うことができる。ＨＤＤコントローラ（ＨＤＤＣ）３０４は、コマンドと画像データとが順次入力されることによりＨＤＤメモリ１０４に対して画像データの転送を行うことができる。
【００３５】
更に、プロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３１１は、バスアービタ３０６を経由して排他制御モジュール３１２又は排他制御モジュール３１３を介してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３又はＨＤＤコントローラ（ＨＤＤＣ）３０４へのアクセスが可能なものである。プロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）３１１からのＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３やＨＤＤコントローラ（ＨＤＤＣ）３０４へのアクセスを可能とすることにより、プロッタ１０７での画像データの出力時の有効帯域を向上させ、印刷速度を向上させることができる。
【００３６】
加えて、ＤＤＲコントローラ（ＤＤＲＣ）３０８については、ＤＤＲメモリ３０７から画像データを読み出してバスアービタ３０６経由で排他制御モジュール３１２を介してＮＡＮＤコントローラ（ＮＡＮＤＣ）３０３へ転送するか、又は排他制御モジュール３１３を介してＨＤＤコントローラ（ＨＤＤＣ）３０４へ転送できるＤＭＡＣ機能を持たせることが好ましい。この場合、画像データの転送機能を第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０による制御指示ではなく、ＤＭＡＣ機能で代用できるため、ソフトウェア制御の負荷を軽減することができる。その他、排他制御モジュール３１２、３１３については、第１のＣＰＵ−Ａ３０９及び第２のＣＰＵ−Ｂ３１０による制御指示の転送で割り当てる帯域をソフトウェアにより設定可能（それぞれのＣＰＵに割り当てる帯域を設定可能）とすれば、バス帯域を有効に使用することができる。即ち、本発明の画像形成装置は、図１及び図４を参照して説明した実施例１の形態のものに限定されない。
【符号の説明】
【００３７】
１０１  スキャナ
１０２、２０１、３０１  画像コントローラ（ＳｏＣ）
１０３  ＮＡＮＤメモリ
１０４  ＨＤＤメモリ
１０５  ＲＯＭ
１０６、２０７、３０７  ＤＤＲメモリ
１０７  プロッタ
２０２、３０２  スキャナ入力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）
２０３、３０３  ＮＡＮＤコントローラ（ＮＡＮＤＣ）
２０４、３０４  ＨＤＤコントローラ（ＨＤＤＣ）
２０５、３０５  ローカルバスコントローラ（ＬＢＣ）
２０６、３０６  バスアービタ
２０８、３０８  ＤＤＲコントローラ（ＤＤＲＣ）
２０９、３０９  第１のＣＰＵ
２１０、３１０  第２のＣＰＵ
２１１、３１１  プロッタ出力用ＰＣＩ  Ｅｅｘｐｒｅｓｓコントローラ（ＰＣＩｅ）
３１２、３１３、４０１  排他制御モジュール
４０２  インターフェース（Ｉ／Ｆ）部
４０３  アービタ部
４０４  コマンド／データバッファ部
４０５  セレクタ部
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２０００−１２２８８１号公報
【図１】
2014130425.tif 000003
【図２】
2014130425.tif 000004
【図３】
2014130425.tif 000005
【図４】
2014130425.tif 000006
【図５】
2014130425.tif 000007
【図６】
2014130425.tif 000008