(57)【特許請求の範囲】
【請求項１】
データ転送速度の異なる複数の内部バスを有する画像形成装置であって、
低速な内部バスに接続された入出力手段と、
高速な内部バスに接続された共有メモリと、
前記入出力手段からの前記共有メモリに対するコマンドを制御するコマンド制御手段と、
を有し、
前記コマンド制御手段は、所定の時間間隔以上をもって前記コマンドを受け付け、
前記所定の時間間隔は、前記低速なバスに接続されるバスアービタの転送速度又は所定の入出力手段に求められる転送速度に基づいて決定される、
画像形成装置。
【請求項２】
データ転送速度の異なる複数の内部バスを有する画像形成装置であって、
低速な内部バスに接続された入出力手段と、
高速な内部バスに接続された共有メモリと、
前記入出力手段からの前記共有メモリに対するコマンドを制御するコマンド制御手段と、
を有し、
前記コマンド制御手段は、所定の時間間隔以上をもって前記コマンドを受け付け、
前記所定の時間間隔は、前記入出力手段から送信された前記共有メモリに対するリードコマンドのバースト数に基づいて決定される、
画像形成装置。
【請求項３】
データ転送速度の異なる複数の内部バスを有する画像形成装置であって、
低速な内部バスに接続された入出力手段と、
高速な内部バスに接続された共有メモリと、
前記入出力手段からの前記共有メモリに対するコマンドを制御するコマンド制御手段と、
を有し、
前記コマンド制御手段は、前記入出力手段からの前記共有メモリに対するリードコマンドを受け付けた場合に、所定の時間間隔以上をもって新たなリードコマンドを受け付け、
前記所定の時間間隔は、前記低速なバスに接続されるバスアービタの転送速度又は所定の入出力手段に求められる転送速度に基づいて決定される、
画像形成装置。
【請求項４】
データ転送速度の異なる複数の内部バスを有する画像形成装置であって、
低速な内部バスに接続された入出力手段と、
高速な内部バスに接続された共有メモリと、
前記入出力手段からの前記共有メモリに対するコマンドを制御するコマンド制御手段と、
を有し、
前記コマンド制御手段は、前記入出力手段からの前記共有メモリに対するリードコマンドを受け付けた場合に、所定の時間間隔以上をもって新たなリードコマンドを受け付け、
前記所定の時間間隔は、前記入出力手段から送信された前記共有メモリに対するリードコマンドのバースト数に基づいて決定される、
画像形成装置。
【請求項５】
前記コマンド制御手段は、前記入出力手段からの前記共有メモリに対するリードコマンドを受け付けた場合に、前記所定の時間間隔以内に、該リードコマンドに続くライトコマンドを受け付ける、
請求項３又は４に記載の画像形成装置。
【請求項６】
前記コマンド制御手段は、前記入出力手段から送信された前記共有メモリに対するリードコマンドを蓄積するバッファを有する、
請求項３乃至５のいずれか一項に記載の画像形成装置。
【請求項７】
データ転送速度の異なる複数の内部バスを有する画像形成装置で実行される画像形成方法であって、
高速な内部バスに接続された共有メモリに対するコマンドを発行するコマンド発行段階と、
前記コマンドを制御するコマンド制御段階と、
を有し、
前記コマンド制御段階において、所定の時間間隔以上をもって前記コマンドが受け付けられ、
前記所定の時間間隔は、低速な内部バスに接続されるバスアービタの転送速度又は所定の入出力手段に求められる転送速度に基づいて決定される、
画像形成方法。
【請求項８】
データ転送速度の異なる複数の内部バスを有する画像形成装置で実行される画像形成方法であって、
高速な内部バスに接続された共有メモリに対するコマンドを発行するコマンド発行段階と、
前記コマンドを制御するコマンド制御段階と、
を有し、
前記コマンド制御段階において、所定の時間間隔以上をもって前記コマンドが受け付けられ、
前記所定の時間間隔は、低速な内部バスに接続された入出力手段から送信された前記共有メモリに対するリードコマンドのバースト数に基づいて決定される、
画像形成方法。
【請求項９】
データ転送速度の異なる複数の内部バスを有する画像形成装置で実行される画像形成方法であって、
高速な内部バスに接続された共有メモリに対するコマンドを発行するコマンド発行段階と、
前記コマンドを制御するコマンド制御段階と、
を有し、
前記コマンド制御段階において、低速な内部バスに接続された入出力手段からの前記共有メモリに対するリードコマンドを受け付けた場合に、所定の時間間隔以上をもって、新たなリードコマンドが受け付けられ、
前記所定の時間間隔は、前記低速なバスに接続されるバスアービタの転送速度又は所定の入出力手段に求められる転送速度に基づいて決定される、
画像形成方法。
【請求項１０】
データ転送速度の異なる複数の内部バスを有する画像形成装置で実行される画像形成方法であって、
高速な内部バスに接続された共有メモリに対するコマンドを発行するコマンド発行段階と、
前記コマンドを制御するコマンド制御段階と、
を有し、
前記コマンド制御段階において、低速な内部バスに接続された入出力手段からの前記共有メモリに対するリードコマンドを受け付けた場合に、所定の時間間隔以上をもって、新たなリードコマンドが受け付けられ、
前記所定の時間間隔は、前記入出力手段から送信された前記共有メモリに対するリードコマンドのバースト数に基づいて決定される、
画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像形成方法に関し、特に、データ転送速度の異なる複数の内部バスで発行されるコマンドを制御する画像形成装置及び画像形成方法に関する。
【背景技術】
【０００２】
近年、集積回路の規模が増大し、別々のデバイスに搭載することを前提に設計された回路を一つのデバイスに集約して、一つの大規模な集積回路として設計し直されるケースが増えている。このようなケースでは、別々のデバイスに搭載されることを前提としているために、動作周波数や内部バス幅が異なる処理装置（入出力手段）が、一つの共有資源（共有メモリ）に対してアクセスするシステムとして構築されることが多い。また、転送速度の異なる内部バスが接続されることにより、各入出力手段は、転送速度の異なる複数の内部バスを介して共有メモリにアクセスする構成となる場合がある。一般的に、低速な内部バスに接続された入出力手段から高速な内部バスに接続された共有メモリにデータを転送する場合には、データの転送速度は、低速な内部バスの転送速度に律速される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
低速な内部バスに接続された複数の入出力手段から、高速な内部バスに接続された共有メモリへのアクセスするコマンドが発行される場合に、共有メモリからのレスポンスデータの大きさによっては、低速な内部バスの転送速度がボトルネックとなることがある。この場合には、高速な内部バスが低速な内部バスへのデータの転送中、待ち状態となる。結果として、システムバス全体の転送効率低下を防ぐことができない。
【０００４】
低速な内部バスに接続された入出力手段からの、高速な内部バスに接続された共有メモリに対するアクセス要求を、所定の時間間隔で発行する技術が既に知られている。特許文献１には、入出力手段から共有メモリに対するアクセス要求を調停するアービタが、各入出力手段からのアクセス要求を、共有メモリの単位アクセスサイクル時間毎に、優先順位をつけて調停する方法が開示されている。しかしながら、上述のように、レスポンスデータが大きくなる場合に、システムバス全体の転送効率低下を防ぐことができない。
【０００５】
本発明は、上記問題に鑑みてなされたものであり、転送速度の異なる複数の内部バスを有する画像形成装置において、システム全体の共有資源アクセス効率を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し目的を達成するため、本発明における画像形成装置は、データ転送速度の異なる複数の内部バスを有する画像形成装置であって、低速な内部バスに接続された入出力手段と、高速な内部バスに接続された共有メモリと、前記入出力手段からの前記共有メモリに対するコマンドを制御するコマンド制御手段と、を有し、前記コマンド制御手段は、所定の時間間隔以上をもって前記コマンドを受け付け、前記所定の時間間隔は、前記低速なバスに接続されるバスアービタの転送速度又は所定の入出力手段に求められる転送速度に基づいて決定される。
【発明の効果】
【００１０】
本発明によれば、転送速度の異なる複数の内部バスを有する画像形成装置において、システム全体の共有資源アクセス効率を向上できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像形成装置の回路構成図の例。
【図２Ａ】本発明の一実施形態に係る画像形成装置の転送速度緩衝手段の例を表す図。
【図２Ｂ】本発明の一実施形態に係る画像形成装置の転送速度緩衝手段の例を表す図。
【図３】本発明の一実施形態に係る画像形成装置で発行されるコマンドのタイミングチャートを表す図。
【図４】本発明の第一の実施形態に係る画像形成装置のコマンド制御手段の構成図。
【図５】本発明の第一の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図６】本発明の第二の実施形態に係る画像形成装置のコマンド制御手段の構成図。
【図７】本発明の第二の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図８】本発明の第三の実施形態に係る画像形成装置のコマンド制御手段の構成図。
【図９】本発明の第三の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図１０】本発明の第四の実施形態に係る画像形成装置のコマンド制御手段の構成図。
【図１１Ａ】本発明の第四の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図１１Ｂ】本発明の第四の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図１１Ｃ】本発明の第四の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図１１Ｄ】本発明の第四の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【図１２】本発明の第五の実施形態に係る画像形成装置のコマンド制御手段の構成図。
【図１３】本発明の第五の実施形態に係る画像形成装置のデータ転送制御処理のフローを表す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。  
１．第一の実施形態
１．１  画像形成装置の回路構成
１．２  コマンド制御手段の構成
１．３  処理フロー
２．第二の実施形態
２．１  コマンド制御手段の構成
２．２  処理フロー
３．第三の実施形態
３．１  コマンド制御手段の構成
３．２  処理フロー
４．第四の実施形態
４．１  コマンド制御手段の構成
４．２  処理フロー
５．第五の実施形態
５．１  コマンド制御手段の構成
５．２  処理フロー。
【００１３】
（１．第一の実施形態）
まず、図１−図５を用いて、本発明の第一の実施形態に係る画像形成装置の回路構成と処理フローについて説明する。
【００１４】
（１．１  画像形成装置の回路構成）
図１は、本発明の第一の実施形態に係る画像形成装置１の回路構成である。図１の画像形成装置１は、共有メモリ１０１、バスアービタ１０２−１０４、入出力手段１０５−１１１、CPU１１２、コマンド制御手段１１３、転送速度緩衝手段１１４、出力制御手段１１５、出力装置１１６を有する。
【００１５】
共有メモリ１０１は、CPU１１２が実行するためのプログラムを一時蓄積する記憶装置である。共有メモリ１０１上のデータは、入出力手段１０５−１１１により、DMAコントローラ（DMAC）を用いて読み出される。読み出されたデータは、所定の処理が施され、再びDMACを用いて共有メモリ１０１に書き戻される。
【００１６】
バスアービタ１０２は、高速なデータ転送が可能な内部バス（調停回路）である。共有メモリ１０１にアクセスするためのコマンドは、バスアービタ１０２によって調停され、共有メモリ１０１にアクセスする順番が決定される。
【００１７】
バスアービタ１０３は、バスアービタ１０２や共有メモリ１０１のデータ転送能力と比較して、相対的にデータ転送能力が低い、低速な内部バス（調停回路）である。バスアービタ１０３のマスターポートには入出力手段１０５−１０８が接続され、スレーブポートにはコマンド制御手段１１３が接続されている。入出力手段１０５−１０８から発行されるメモリアクセス要求（コマンド）を、決められた優先順位に基づいて順番付けし、コマンド制御手段１１３に転送する。また、バスアービタ１０３は、入出力手段１０５−１０８から出力されたライトデータをスレーブポートに転送する。さらに、バスアービタ１０３は、共有メモリ１０１から読み出されたリードデータをスレーブポートから受信して、入出力手段１０５−１０８に送信する。
【００１８】
バスアービタ１０４は、マスターポートに接続された入出力手段１０９、１１０から発行されるコマンドを調停し、決められた優先順位に基づいてスレーブポートからバスアービタ102に転送する機能を持つ調停回路である。
【００１９】
入出力手段１０５−１１１は、DMACを用いて、共有メモリ１０１に記録されたデータにアクセスする。入出力手段１０５−１１１は、共有メモリ１０１にアクセスするために、バスアービタ１０３に対してメモリアクセス要求（コマンド）を発行する。そして、メモリアクセス要求が受け入れられた場合には、共有メモリ１０１に対してアクセスすることができる。入出力手段１０５−１１１は、例えば、紙に印字するためのCMYK各色を、それぞれメモリ１０１から読み出して、画像出力制御部１１５を通じて画像出力装置１１６に転送する。
【００２０】
CPU１１２は、入出力手段１０５−１１１、コマンド制御手段１１３及びバスアービタ１０２−１０４等を制御する。
【００２１】
コマンド制御手段１１３は、入出力手段１０５−１０８から発行されるコマンドについて、バスアービタ１０３のデータ転送能力以上のレスポンスデータが返らないよう、該コマンドの転送速度緩衝手段１１４への転送を制御する。コマンド制御手段１１３の詳細については、後にいくつかの実施形態において説明する。
【００２２】
転送速度緩衝手段１１４は、周波数変換やバス幅変換などを行うことで、バスアービタ１０２のデータ転送速度とバスアービタ１０３のデータ転送速度の差を吸収する。バスアービタ１０２とバスアービタ１０３の転送能力の差がバス幅によるものである場合には、転送速度緩衝手段１１４は、図２Ａに示されるようにバス幅変更手段として実装される。バスアービタ１０２とバスアービタ１０３の転送能力の差が動作周波数によるものである場合には、転送速度緩衝手段１１４は、図２Ｂに示されるように非同期転送手段として実装される。
【００２３】
画像出力制御手段１１５は、画像出力装置１１６への画像転送を行うインターフェースである。例えば、PCI  ExpressやUSB等の汎用インターフェースの転送プロトコルが用いられてもよい。
【００２４】
画像出力装置１１６は、当該画像形成装置１の主機能である画像出力機能を有し、例えば紙などに電子画像を出力する印字装置である。また、画像出力装置１１６は、ＦＡＸや電子メール等に電子画像を出力して送信する通信装置であってもよい。また、複数の異なる画像出力装置１１６が備えられてもよい。この場合には、画像形成装置１は、例えば複数の画像出力装置１１６を備えるＭＦＰ（MultiFunction  Peripheral）のような装置であってもよい。
【００２５】
以上の構成により、当該画像形成装置１は、転送能力の低い低速バスからのコマンドに対して共有メモリから転送されるレスポンスデータが該低速バスの転送能力を超えないように、該コマンドの発行間隔を制御する。その結果、転送能力の高い高速バスによる、転送能力の低い低速バスへのデータ転送の待ち時間が生じず、システム全体の共有資源アクセス効率が向上する。
【００２６】
ここで、図３を用いて、既存技術と対比することで、当該効果を詳細に説明する。図３は、本発明の一実施形態に係る画像形成装置１の入出力手段１０５−１０８が発行するコマンドと、共有メモリからのレスポンスデータのタイミングを表す。ここでは、入出力手段１０５−１０８が、共有メモリ１０１に対して連続してリードコマンドを発行する場合について説明する。
【００２７】
（１）は、入出力手段１０５−１０８が、バスアービタ１０３を介さず、直接に共有メモリに対してリードコマンドを発行した場合に、共有メモリから返されるレスポンスデータのタイミングを表す。図のように、リードコマンドが４つ連続で発行された場合には、メモリアクセスのレイテンシ期間後にリードデータが連続して返される。
【００２８】
（２）は、従来技術において、入出力手段１０５−１０８が、バスアービタ１０３を介して、共有メモリに対してリードコマンドを発行した場合に、共有メモリから返されるレスポンスデータのタイミングを表す。この場合には、高速な内部バス１０２から転送されるリードデータが低速な内部バス１０３の転送速度に律速され、待ち時間が発生する（図において（ａ）で示す）。その結果、システム全体の転送効率が低下する。
【００２９】
（３）は、本発明の一実施形態に係る画像形成装置１において、入出力手段１０５−１０８が、バスアービタ１０３を介して、共有メモリに対してリードコマンドを発行した場合に、共有メモリから返されるレスポンスデータのタイミングを表す。当該画像形成装置１では、低速な内部バス１０３の転送能力に合わせて、所定の時間間隔ごとに（図において（ｂ）で示す）低速な内部バス１０３がリードコマンドを発行する。これにより、高速な内部バス１０２は、（２）の場合に待ち時間となっていた間に（図において（ｃ）で示す）他の処理を行うことが可能となる。その結果、高速な内部バス１０２の待ち時間が生じず、システム全体としてのメモリアクセス効率が向上する。
【００３０】
なお、図１において、バスアービタ１０４、入出力手段１０９−１１０は、任意の構成要素である。あるいは、他のバスアービタ及び入出力手段が任意で追加され得る。また、入出力手段１０５−１１１の数は、画像形成装置１の備える機能によって変動し得る。
【００３１】
（１．２  コマンド制御手段の構成）
次に、図４を用いて、本発明の第一の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成について説明する。
【００３２】
図４は、本発明の第一の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成図を表す。図４におけるコマンド制御手段１１３は、コマンド発行制御手段４０１、コマンド発行間隔カウンタ４０２、コマンド入力プロトコル制御手段４０３及びコマンド出力プロトコル制御手段４０４を有する。
【００３３】
コマンド発行制御手段４０１は、コマンド発行タイミングを調整する。コマンド発行制御手段４０１は、コマンド入力プロトコル制御手段４０３のコマンド受信通知をトリガーにして、コマンド発行間隔カウンタ４０２を起動する。そして、予め設定された時間間隔（カウンタ値）が経過したら、コマンド受信許可をコマンド入力プロトコル制御手段４０３に通知し、バスアービタ１０３からの新たなコマンドの入力を許可する。
【００３４】
コマンド発行間隔カウンタ４０２は、予め設定された時間間隔（カウンタ値）を計測する。カウンタ起動のトリガーは、コマンド発行制御手段４０１から指示され、設定された時間に達したらコマンド発行制御手段４０１に設定時間到達を通知する。カウントする期間（カウンタ値）は、例えばバスアービタ１０３の転送性能と動作周波数を元に計算された固定値である。あるいは、画像形成装置１の機能を実現するために定められる仕様に従って設定されてもよい。あるいは、コマンド入力プロトコル制御手段４０３が受信したリードコマンドのバースト数の情報を取得し、バースト数に応じてカウンタ上限値を変更してもよい。すなわち、バースト数が多いほど、カウンタ上限値は大きく設定される。
【００３５】
コマンド入力プロトコル制御手段４０３は、コマンド発行制御手段４０１からのコマンド受信許可信号に従って、バスアービタ１０３からコマンドを受信し、コマンド出力プロトコル制御手段４０４に転送する。バスアービタ１０３とコマンド入力プロトコル制御手段４０３との間のインターフェースには、データ転送を一時的に拒否することできる転送プロトコルを用いる。コマンドの受信は、コマンド発行制御手段４０１のコマンド受信許可信号に基づいて行う。コマンド受信許可信号が通知されていない場合には、バスアービタ１０３からの新たにコマンドを拒否し、コマンド発行制御手段４０１にコマンド受信通知を行って、コマンド発行制御手段４０１からコマンド受信許可を得るまで待つ。転送プロトコルには、例えばAXI（Advanced  eXtensible  Interface）やOCP（Open  Core  Protocol）などの内部バス用の汎用プロトコルを用いてもよいし、独自のローカルなプロトコルを用いてもよい。さらに、ライトコマンドの転送時には、同時にライトデータの転送も行うよう設計してもよいし、ライトデータだけを転送するバス（図示しない）を設けてもよい。また、リードデータは、転送速度緩衝手段１１４から直接バスアービタ１０３に転送されてもよいし、コマンド制御手段１１３内部を通してバスアービタ１０３に転送されてもよい。
【００３６】
コマンド出力プロトコル制御手段４０４は、コマンド入力プロトコル制御手段４０３からコマンドを受信し、転送速度緩衝手段１１４とのインターフェースプロトコルに変換してコマンドを転送する。
【００３７】
以上の構成により、画像形成装置１は、低速なバスから共有メモリへのコマンドを転送した後に所定の時間間隔以上待機することで、低速なバスの転送能力を超えたデータが高速なバスから返らないように制御できる。その結果、高速なバスが低速なバスを待つことがなくなり、システム全体の共有資源アクセス効率が向上する。
【００３８】
（１．３  処理フロー）
図５を用いて、本発明の第一の実施形態に係る画像形成装置１のコマンド制御手段１１３のデータ転送制御フローについて説明する。
【００３９】
ステップＳ５０１において、画像形成装置１が起動され、CPU１１２は、例えばバスアービタ１０３の転送性能と動作周波数を元に計算されたコマンド発行間隔カウンタの上限値をコマンド発行間隔カウンタ４０２のレジスタに設定する。
【００４０】
ステップＳ５０２において、コマンド発行制御手段４０１は、コマンド入力プロトコル制御手段４０３にコマンド受信許可を通知する。
【００４１】
ステップＳ５０３において、コマンド入力プロトコル制御手段４０３は、コマンド受信許可を受けて、バスアービタ１０３に対してコマンド入力が可能であることを通知する。
【００４２】
ステップＳ５０４において、コマンド入力プロトコル制御手段４０３は、バスアービタ１０３がコマンドを出力できる状態であれば、そのコマンドを受信する。
【００４３】
ステップＳ５０５において、コマンド入力プロトコル制御手段４０３は、次のコマンドをすぐに受信しないよう、バスアービタ１０３に対してコマンド入力が不可であることを通知する。
【００４４】
ステップＳ５０６において、コマンド入力プロトコル制御手段４０３は、コマンド発行制御手段４０１にコマンドを受信したことを示すコマンド転送成立通知を行う。
【００４５】
ステップＳ５０７において、コマンド発行制御手段４０１は、コマンド受信通知を受けて、コマンド発行カウンタ４０２のカウンタを起動する。
【００４６】
ステップＳ５０８において、コマンド入力プロトコル制御手段４０３は、受信したコマンドをコマンド出力プロトコル制御手段４０４に転送する。
【００４７】
ステップＳ５０９において、コマンド出力プロトコル制御手段４０４は、転送速度緩衝手段１１４にコマンド出力が可能であることを通知する。
【００４８】
ステップＳ５１０において、コマンド出力プロトコル制御手段４０４は、転送速度緩衝手段１１４のコマンドの受信が完了するのを待つ。
【００４９】
ステップＳ５１１において、コマンド発行制御手段４０１は、ステップＳ５０７でカウントアップを開始したコマンド発行間隔カウンタ４０２が、Ｓ５０１で設定された値までカウントアップするのを待つ（WAIT）。Ｓ５１０でコマンド転送が完了するのを待っている間にカウンタの値がＳ５０１の設定値を超えていた場合には、本ステップで待たずにステップＳ５０２に移行する。
【００５０】
このように、コマンド転送ごとに所定の時間間隔待機することで、データがバスアービタ１０３の転送能力を超えて返ってこないように制御することが可能になる。
【００５１】
以上に、本発明の第一の実施形態に係る画像形成装置１について説明した。以下に、他のいくつかの実施形態について説明する。以下の実施形態における構成は、画像形成装置１のコマンド制御手段１１３について説明され、他の構成については省略する。
【００５２】
（２．第二の実施形態）
第一の実施形態に係る画像形成装置１は、コマンド制御手段１１３により、入出力手段１０５−１０８から発行されるライトコマンドとリードコマンドとを区別せず、所定の時間間隔をもってコマンドを転送する。以降に説明するいくつかの実施形態に係る画像形成装置は、ライトコマンドに対しては所定のコマンド発行間隔を設けないことで、ライトアクセス効率を落とすことなく、システム全体のバスの利用効率を改善できる。
【００５３】
まず、図６、７を用いて、本発明の第二の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成と処理フローを説明する。ここで、コマンド制御手段１１３以外の構成要素は、図１、図２に示したものと同様である。
【００５４】
（２．１  コマンド制御手段の構成）
図６は、本発明の第二の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成図を表す。図６におけるコマンド制御手段１１３は、コマンド発行制御手段６０１、コマンド発行間隔カウンタ６０２、コマンド入力プロトコル制御手段６０３及びコマンド出力プロトコル制御手段６０４を有する。
【００５５】
コマンド発行制御手段６０１は、コマンド発行タイミングを調整する。コマンド発行制御手段６０１は、コマンド入力プロトコル制御手段６０３のリードコマンド受信通知をトリガーにして、コマンド発行間隔カウンタ６０２を起動する。そして、予め設定された時間間隔（カウンタ値）が経過したら、コマンド受信許可をコマンド入力プロトコル制御手段６０３に通知し、バスアービタ１０３からの新たなコマンドの入力を許可する。また、コマンド発行制御手段６０１は、コマンド入力プロトコル制御手段６０３のライトコマンド受信通知を受信した場合は、ただちにバスアービタ１０３からの新たなコマンドの入力を許可するコマンド受信許可を発行する。
【００５６】
コマンド発行間隔カウンタ６０２は、予め設定された時間間隔（カウンタ値）を計測する。カウンタ起動のトリガーは、コマンド発行制御手段６０１から指示され、設定された時間に達したらコマンド発行制御手段６０１に設定時間到達を通知する。カウントする期間（カウンタ値）は、例えばバスアービタ１０３の転送性能と動作周波数を元に計算された固定値である。あるいは、画像形成装置１の機能を実現するために定められる仕様に従って設定されてもよい。あるいは、コマンド入力プロトコル制御手段４０３が受信したリードコマンドのバースト数の情報を取得し、バースト数に応じてカウンタ上限値を変更してもよい。すなわち、バースト数が多いほど、カウンタ上限値は大きく設定される。
【００５７】
コマンド入力プロトコル制御手段６０３は、コマンド発行制御手段６０１からのコマンド受信許可信号に従って、バスアービタ１０３からコマンドを受信し、コマンド出力プロトコル制御手段６０４に転送する。バスアービタ１０３とコマンド入力プロトコル制御手段６０３との間のインターフェースは、データ転送を一時的に拒否することできる転送プロトコルを用いる。コマンドの受信は、コマンド発行制御手段６０１のコマンド受信許可信号に基づいて行う。コマンド受信許可信号が通知されていない場合には、バスアービタ１０３からの新たにコマンドを拒否し、コマンド発行制御手段４０１にコマンド受信通知を行って、コマンド発行制御手段４０１からコマンド受信許可を得るまで待つ。そして、コマンド発行制御手段６０１からコマンド受信許可を得るまで待つ。転送プロトコルはAXI（Advanced  eXtensible  Interface）やOCP（Open  Core  Protocol）などの内部バス用の汎用プロトコルを用いてもよいし、独自のローカルなプロトコルを用いてもよい。さらに、ライトコマンドの転送時には、同時にライトデータの転送も行うよう設計してもよいし、ライトデータだけを転送するバス（図示しない）を設けてもよい。また、リードデータは、転送速度緩衝手段１１４から直接バスアービタ１０３に転送されてもよいし、コマンド制御手段１１３内部を通してバスアービタ１０３に転送されてもよい。
【００５８】
コマンド出力プロトコル制御手段６０４は、コマンド入力プロトコル制御手段６０３からコマンドを受信し、転送速度緩衝手段１１４とのインターフェースプロトコルに変換してコマンドを転送する。
【００５９】
以上により、第二の実施形態における画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドに係るメモリアクセス効率を落とすことなく、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【００６０】
（２．２  処理フロー）
図７を用いて、本発明の第二の実施形態に係る画像形成装置１のコマンド制御手段１１３のデータ転送制御フローについて説明する。
【００６１】
ステップＳ７０１−Ｓ７０５は、図５のステップＳ５０１−５０５と同様である。
【００６２】
ステップＳ７０６において、コマンド入力プロトコル制御手段６０３は、受信したコマンドがリードコマンドである場合には、ステップＳ７０７へ進む。一方、受信したコマンドがライトコマンドである場合には、ステップＳ７１３に進む。
【００６３】
ステップＳ７０７において、コマンド入力プロトコル制御手段６０３は、コマンド発行制御手段６０１に対してリードコマンド受信通知を発行する。
【００６４】
ステップＳ７０８において、コマンド発行制御手段６０１は、リードコマンド受信通知を受けて、コマンド発行カウンタ６０２のカウンタを起動する。
【００６５】
ステップＳ７０９−Ｓ７１２は、図５のステップＳ５０８−５１１と同様である。
【００６６】
ステップＳ７１３において、コマンド入力プロトコル制御手段６０３は、コマンド発行制御手段６０１に対してライトコマンド受信通知を発行する。
【００６７】
ステップＳ７１４において、コマンド入力プロトコル制御手段６０３は、受信したコマンドをコマンド出力プロトコル制御手段６０４に転送する。
【００６８】
ステップＳ７１５において、コマンド出力プロトコル制御手段６０４は、転送速度緩衝手段１１４にコマンド出力可能であることを通知する。
【００６９】
ステップＳ７１６において、コマンド出力プロトコル制御手段６０４は、転送速度緩衝手段１１４のコマンドの受信が完了するのを待つ。コマンドの受信が完了したらステップＳ７１７へと進む。
【００７０】
ステップＳ７１７において、コマンド出力プロトコル制御手段６０４は、コマンド発行制御手段６０１に対して、コマンド転送成立を通知する。
【００７１】
このように、第二の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドに係るメモリアクセス効率を落とすことなく、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【００７２】
（３．第三の実施形態）
第二の実施形態に係る画像形成装置１は、コマンド発行に係る所定の時間間隔は、図７のステップＳ７１６で示されるように、ライトコマンド及びライトデータを転送速度緩衝手段１１４に転送するために必要となる時間を考慮して決定する必要がある。そこで、以下に説明する第三の実施形態では、コマンド発行に係る所定の時間間隔を、ライトコマンド及びライトデータの転送時間によらず決定できるようにする。
【００７３】
以下に、図８、９を用いて、本発明の第三の実施形態に係る画像形成装置のコマンド制御手段１１３の構成と処理フローを説明する。ここで、コマンド制御手段１１３以外の構成要素は、図１、図２に示したものと同様である。
【００７４】
（３．１  コマンド制御手段の構成）
図８は、本発明の第二の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成図を表す。図８におけるコマンド制御手段１１３は、コマンド発行制御手段８０１、コマンド発行間隔カウンタ８０２、コマンド入力プロトコル制御手段８０３及びコマンド出力プロトコル制御手段８０４を有する。
【００７５】
コマンド発行制御手段８０１は、コマンド発行タイミングを調整する。コマンド発行制御手段８０１は、コマンド入力プロトコル制御手段８０３のリードコマンド受信通知をトリガーにして、コマンド発行間隔カウンタ８０２を起動する。そして、次のコマンドがライトコマンドの場合には、直ちにコマンド受信許可を発行する。次のコマンドがリードコマンドの場合には、予め設定された時間間隔（カウンタ値）が経過したら、コマンド受信許可をコマンド入力プロトコル制御手段８０３に通知し、バスアービタ１０３からの新たなコマンドの入力を許可する。また、コマンド発行制御手段８０１は、コマンド入力プロトコル制御手段８０３のライトコマンド受信通知を受信した場合は、ただちにバスアービタ１０３からの新たなコマンドの入力を許可するコマンド受信許可を発行する。
【００７６】
コマンド発行間隔カウンタ８０２、コマンド入力プロトコル制御手段８０３、コマンド出力プロトコル制御手段８０４は、図６のコマンド発行間隔カウンタ６０２、コマンド入力プロトコル制御手段６０３、コマンド出力プロトコル制御手段６０４と同様である。
【００７７】
以上により、第三の実施形態における画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドに係るメモリアクセス効率を落とすことなく、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【００７８】
（３．２  処理フロー）
図９を用いて、本発明の第三の実施形態に係る画像形成装置１のコマンド制御手段１１３のデータ転送制御フローについて説明する。
【００７９】
ステップＳ９０１−Ｓ９１１は、図７のステップＳ７０１−Ｓ７１１と同様である。
【００８０】
ステップＳ９１２において、次にバスアービタ１０３から転送されようとしているコマンドがライトコマンドの場合には、コマンド発行間隔カウンタ８０２の状態に関わらず、ステップＳ９０２へと進む。一方、次にバスアービタ１０３から転送されようとしているコマンドがリードコマンドの場合には、ステップＳ９１３へと進む。
【００８１】
ステップＳ９１３において、ステップＳ９０８で起動されたコマンド発行間隔カウンタ８０２が、Ｓ９０１で設定された上限値になるまで待ってから、ステップＳ９０２に進む。あるいは、既にコマンド発行間隔カウンタ８０２がステップＳ９０１で設定された上限値に到達している場合には、ただちにステップＳ９０２に進む。
【００８２】
ステップＳ９１４は、図７のステップＳ７１３と同様である。
【００８３】
このように、第三の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドに係るメモリアクセス効率を落とすことなく、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。さらに、コマンド発行に係る所定の時間間隔を、ライトコマンド及びライトデータの転送時間に依存せずに決定できる。その結果、コマンド発行に係る所定の時間間隔を一定にすることができる。
【００８４】
（４．第四の実施形態）
次に、図１０、図１１Ａ−１１Ｄを用いて、リードコマンドを蓄積できるバッファを備える、本発明の第四の実施形態に係る画像形成装置のコマンド制御手段１１３の構成と処理フローを説明する。ここで、コマンド制御手段１１３以外の構成要素は、図１、図２に示したものと同様である。
【００８５】
（４．１  コマンド制御手段の構成）
図１０は、本発明の第四の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成図を表す。図１０におけるコマンド制御手段１１３は、コマンド発行制御手段１００１、コマンド発行間隔カウンタ１００２、コマンド入力プロトコル制御手段１００３、コマンド出力プロトコル制御手段１００４及びリードコマンドバッファ１００５を有する。
【００８６】
コマンド発行制御手段１００１は、コマンド発行タイミングを調整する機能を有する。コマンド発行制御手段１００１は、コマンド出力プロトコル制御手段１００４のリードコマンド転送成立通知をトリガーにして、コマンド発行間隔カウンタ１００２を起動する。そして、予め設定された時間間隔（カウンタ値）が経過したら、リードコマンド転送許可（<4>）をコマンド出力プロトコル制御手段１００４に通知する。
【００８７】
コマンド発行間隔カウンタ１００２は、図４におけるコマンド発行間隔カウンタ４０２と同様の機能を有する。
【００８８】
コマンド入力プロトコル制御手段１００３は、リードコマンドバッファ１００５からのコマンド受信許可（<1>）に従って、バスアービタ１０３からコマンドを受信する。そして、コマンドがライトコマンドである場合には、コマンド出力プロトコル制御手段１００４に転送する。あるいは、コマンドがリードコマンドである場合には、リードコマンドバッファ１００５に転送する。バスアービタ１０３とコマンド入力プロトコル制御手段６０３との間のインターフェースは、データ転送を一時的に拒否することできる転送プロトコルを用いる。コマンドの受信は、コマンド発行制御手段１００１のコマンド受信許可信号に基づいて行う。バスアービタ１０３から新たにリードコマンド受信すると、リードコマンドバッファ１００５からコマンド受信許可（<1>）が出されるのを待つ。あるいは、新たにライトコマンド受信すると、コマンド出力プロトコル制御手段１００４が転送速度緩衝手段１１４へコマンド転送するのを待って、次のコマンドを受信する。転送プロトコルには、例えばAXI（Advanced  eXtensible  Interface）やOCP（Open  Core  Protocol）などの内部バス用の汎用プロトコルを用いてもよいし、独自のローカルなプロトコルを用いてもよい。さらに、ライトコマンドの転送時には、同時にライトデータの転送も行うよう設計してもよいし、ライトデータだけを転送するバス（図示しない）を設けてもよい。また、リードデータは、転送速度緩衝手段１１４から直接バスアービタ１０３に転送されてもよいし、コマンド制御手段１１３内部を通してバスアービタ１０３に転送されてもよい。
【００８９】
コマンド出力プロトコル制御手段１００４は、コマンド入力プロトコル制御手段１００３からライトコマンドを、あるいはリードコマンドバッファ１００５からリードコマンドを受信し、転送速度緩衝手段１１４にコマンドを転送する。この時、これらのコマンドは、転送速度緩衝手段１１４とのインターフェースプロトコルに変換される。リード又はライトコマンド何れを先に転送するかは、コマンド発行制御手段１００１からのリードコマンド転送許可信号（<4>）と、リードコマンドバッファ１００５からのリードコマンド転送可能通知信号（<3>）の通知状況によって決められる。リードコマンド転送許可信号（<4>）とリードコマンド転送可能通知信号（<3>）が両方通知されている場合には、リードコマンドバッファ１００５からリードコマンドを受信する。それ以外の場合には、コマンド入力プロトコル制御手段１００３からライトコマンドを受信して、転送速度緩衝手段１１４に転送する。コマンド出力プロトコル制御手段１００４は、リードコマンドが転送速度緩衝手段１１４に転送されると、リードコマンド転送成立通知（<5>）を行う。このリードコマンド転送成立通知（<5>）は、コマンド発行制御手段１００１がコマンド発行間隔カウンタ（202）を起動するトリガーとなる。また、コマンド出力プロトコル制御手段１００４は、リードコマンドバッファ１００５からリードコマンドを受信すると、リードコマンド１００５に対してリードコマンド受信通知（<2>）を行う。
【００９０】
リードコマンドバッファ１００５は、コマンド入力プロトコル制御手段１００３からリードコマンドを入力され、コマンド出力プロトコル制御手段１００４に出力するバッファである。当該バッファは、例えばＦＩＦＯバッファで構成される。リードコマンドバッファ１００５は、ＦＩＦＯ（リードコマンドキュー）に空きがあり、新たなリードコマンドを受信することができる場合には、リードコマンド受信許可（<1>）を発行する。また、ＦＩＦＯにリードコマンドが保持され、コマンド出力プロトコル制御手段１００４にコマンドを送信できる場合には、リードコマンド転送可能通知（<3>）を発行する。リードコマンド受信通知（<2>）は、リードコマンドバッファ１００５からコマンド出力プロトコル制御手段１００４へのリードコマンドの転送が完了したときに通知される。ここで、リードコマンバッファ１００５が蓄積できるリードコマンドの個数を、入出力手段１０５−１０８のリードコマンド発行数以上とした場合には、コマンド受信許可（<1>）を発行する機能がなくてもよい。ＦＩＦＯがフルになった後には、さらなるリードコマンドが入力されることはないためである。
【００９１】
以上の構成により、本発明の第四の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドを、先に発行されたリードコマンドの処理を待つことなく実行することができる。その結果、低速なバスに接続された入出力手段からのライトコマンドに係る処理効率を保ちつつ、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【００９２】
（４．２  処理フロー）
図１１Ａ−１１Ｄを用いて、本発明の第四の実施形態に係る画像形成装置１のコマンド制御手段１１３のデータ転送制御フローについて説明する。
【００９３】
図１１Ａは、コマンド入力プロトコル制御手段１００３のデータ転送制御フローを表す。
【００９４】
ステップＳ１１０１−１１０３において、コマンド入力プロトコル制御手段１００３は、コマンド受信許可（<1>）を受けて、バスアービタ１０３からのコマンドを受信する。
【００９５】
ステップＳ１１０４において、コマンド入力プロトコル制御手段１００３は、バスアービタ１０３からのコマンドを受信した後は、バスアービタ１０３からのコマンド受付を中断する。
【００９６】
ステップＳ１１０５、Ｓ１１０６において、ステップＳ１１０４で受信したコマンドがリードコマンドの場合には、リードコマンド（<6>）をリードコマンドバッファ１００５に送信し、ステップＳ１１０１に戻る。
【００９７】
ステップＳ１１０５、Ｓ１１０７において、ステップＳ１１０４で受信したコマンドがライトコマンドの場合には、ライトコマンド（<7>）をコマンド出力プロトコル制御手段１００４に送信し、ステップ１１０１に戻る。
【００９８】
ステップＳ１１０６又はステップＳ１１０７に移行した場合には、リードコマンドバッファ１００５は、コマンド受信許可（<1>）が通知されたままであるため、ステップＳ１１０１に留まることなくステップＳ１１０２へと進む。
【００９９】
図１１Ｂは、リードコマンドバッファ１００５によるコマンド受信許可信号（<1>）の制御フローを表す。
【０１００】
ステップＳ１１０８において、リードコマンドバッファ１００５は、バッファに空きがあるかどうかを判断する。そして、バッファに空きがない場合には、新規のリードコマンドを受信することができないため、リードコマンドがコマンド出力プロトコル制御手段１００４に転送され、空きができるまで待つ。バッファに空きがある場合には、ステップＳ１１０９に進む。
【０１０１】
ステップＳ１１０９において、リードコマンドバッファ１００５は、コマンド入力プロトコル制御手段１００３に対してコマンド受信許可信号（<1>）を通知する。
【０１０２】
ステップＳ１１１０において、リードコマンドバッファ１００５は、コマンド入力プロトコル制御手段１００３からリードコマンド（<6>）を転送されると、ステップＳ１１０８に戻る。
【０１０３】
図１１Ｃは、リードコマンドバッファ１００５によるリードコマンド転送可能通知信号（<3>）の制御フローを表す。
【０１０４】
ステップＳ１１１１において、リードコマンドバッファ１００５は、バッファにリードコマンドが残っているかどうかを判断する。そして、バッファにリードコマンドが残っていない場合には、リードコマンドがコマンド入力プロトコル制御手段１００３から転送され、バッファに蓄積されるまで待つ。バッファにリードコマンドが残っている場合には、ステップＳ１１１２へと進む。
【０１０５】
ステップＳ１１１２において、バッファにリードコマンドが残っている場合には、コマンド出力プロトコル制御手段１００４に対してリードコマンド転送可能通知信号（<3>）を通知する。
【０１０６】
ステップＳ１１１３において、リードコマンドバッファ１００５は、コマンド出力プロトコル制御手段１００４からリードコマンド受信通知信号（<2>）を通知されると、ステップＳ１１１１に戻る。
【０１０７】
図１１Ｄは、コマンド発行制御手段１００１、コマンド発行間隔カウンタ１００２、コマンド出力プロトコル制御手段１００４の制御フローを表す。
【０１０８】
ステップＳ１１１４において、画像形成装置１が起動され、CPU１１２は、例えばバスアービタ１０３の転送性能と動作周波数を元に計算されたコマンド発行間隔カウンタの上限値をコマンド発行間隔カウンタ１００２のレジスタに設定する。
【０１０９】
ステップＳ１１１５において、ステップＳ１１２３又はＳ１１２８でカウントアップを開始したコマンド発行間隔カウンタ１００２が、ステップＳ１１１４で設定された値までカウントアップされていない場合は、ステップＳ１１２４に進む。デバイスの起動直後である場合、又は当該カウンタの値がステップＳ１１１４における設定値を超えている場合には、ステップＳ１１１６に進む。
【０１１０】
ステップＳ１１１６において、コマンド発行制御手段１００１は、コマンド出力制御手段１００４に対して、リードコマンド転送許可（<4>）を通知する。
【０１１１】
ステップＳ１１１７において、コマンド出力プロトコル制御手段１００４が、リードコマンド転送可能通知（<3>）を受けていれば、ステップＳ１１１８に進み、受けていなければステップＳ１１２４へと進む。すなわち、リードコマンドを受信できるかどうかをリードコマンド転送許可通知（<4>）とリードコマンド転送可能通知（<3>）によって判断し、リードコマンドを受信できない場合にはライトコマンドを受信する。ライトコマンドが発行されていない場合には、ステップＳ１１１５に戻って、次のコマンドを待つ。
【０１１２】
ステップＳ１１１８、Ｓ１１１９において、コマンド出力プロトコル制御手段１００４は、リードコマンドバッファ１００５からリードコマンドを受信し、リードコマンドバッファ１００５に対してリードコマンド受信通知（<2>）を行う。
【０１１３】
ステップＳ１１２０において、コマンド出力プロトコル制御手段１００４は、転送速度緩衝手段１１４にコマンド出力可能であることを示す信号を通知する。
【０１１４】
ステップＳ１１２１において、コマンド出力プロトコル制御手段１００４は、転送速度緩衝手段１１４のコマンドの受信が完了するのを待つ。コマンドの受信が完了したらステップＳ１１２２へと進む。
【０１１５】
ステップＳ１１２２において、コマンド出力プロトコル制御手段１００４は、コマンド発行制御手段１００５に対してリードコマンド転送成立通知（<5>）を行う。
【０１１６】
ステップＳ１１２３において、コマンド発行制御手段１１０１は、リードコマンド転送成立通知（<5>）を受けて、コマンド発行カウンタ１１０２のカウンタを起動し、ステップＳ１１１５に進む。
【０１１７】
ステップＳ１１２４において、コマンド入力プロトコル制御手段１００３は、ライトコマンドを受信した場合は、ライトコマンドをコマンド出力プロトコル制御手段１００４に転送し、ステップＳ１１２５に進む。ライトコマンドを受信しなければ、ステップＳ１１１５に戻る。
【０１１８】
ステップＳ１１２５、Ｓ１１２６において、コマンド出力プロトコル制御手段１００４は、ライトコマンド（<7>）を受けて、転送速度緩衝手段１１４にコマンド出力可能であることを示す信号を通知する。
【０１１９】
ステップＳ１１２７において、コマンド出力プロトコル制御手段１００４は、転送速度緩衝手段１１４のコマンドの受信が完了するのを待つ。コマンドの受信が完了したらステップＳ１１１５に戻る。
【０１２０】
以上の構成により、本発明の第四の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段からのライトコマンドを、先に発行されたリードコマンドの処理を待つことなく実行することができる。その結果、低速なバスに接続された入出力手段からのライトコマンドに係る処理効率を保ちつつ、リードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【０１２１】
（５．第五の実施形態）
第四の実施形態に係る画像形成装置は、ライトコマンドが先に発行されたリードコマンドより先に処理されるため、ライトコマンドとリードコマンドの順序が入れ替わる可能性がある。以下で説明する第五の実施形態に係る画像形成装置では、そのような順序の変動が発生しないようにする。
【０１２２】
以下に、図１２、１３を用いて、本発明の第五の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成と処理フローを説明する。ここで、コマンド制御手段１１３及びバスアービタ１０３以外の構成要素は、図１、図２に示したものと同様である。
【０１２３】
（５．１  コマンド制御手段の構成）
図１２は、本発明の第五の実施形態に係る画像形成装置１のコマンド制御手段１１３の構成図を表す。図１２におけるコマンド制御手段１１３は、コマンド発行制御手段１２０１、コマンド発行間隔カウンタ１２０２、コマンド入力プロトコル制御手段１２０３及びコマンド出力プロトコル制御手段１２０４を有する。
【０１２４】
コマンド発行制御手段１２０１は、コマンド発行タイミングを調整する。コマンド発行制御手段１２０１は、コマンド出力プロトコル制御手段１２０４のリードコマンド転送成立通知をトリガーにして、コマンド発行間隔カウンタ１２０２を起動する。そして、予め設定された時間間隔（カウンタ値）が経過したら、バスアービタ１０３にライトコマンド優先指示信号を通知する。
【０１２５】
コマンド発行間隔カウンタ１２０２の機能は、図４におけるコマンド発行間隔カウンタ４０２と同様の機能を有する。
【０１２６】
コマンド入力プロトコル制御手段１２０３は、バスアービタ１０３からコマンドを受信し、コマンド出力プロトコル制御手段１２０４に転送する。
【０１２７】
コマンド出力プロトコル制御手段１２０４は、コマンド入力プロトコル制御手段１２０３からコマンドを受信し、転送速度緩衝手段１１４に転送する。リードコマンドの転送が完了したら、コマンド発行制御手段１２０１に対してリードコマンド転送成立通知を行う。
【０１２８】
また、本発明の第五の実施形態に係る画像形成装置１のバスアービタ１０３は、ライトコマンド優先指示信号を通知している間は、各入出力手段１０５−１０８から発行されているライトコマンドのみを選択して、コマンド制御手段１１３に転送する優先順位変更手段を有する。
【０１２９】
以上の構成により、本発明の第五の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段から優先的にライトコマンドを受け付けることにより、リードコマンドとライトコマンドの順序を入れ替えることなく、ライトコマンドによるメモリへのアクセス効率を保つことができ、さらにリードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【０１３０】
（５．２  処理フロー）
図１３を用いて、本発明の第五の実施形態に係る画像形成装置１のコマンド制御手段１１３のデータ転送制御フローについて説明する。
【０１３１】
ステップＳ１３０１において、画像形成装置１が起動され、CPU１１２は、例えばバスアービタ１０３の転送性能と動作周波数を元に計算されたコマンド発行間隔カウンタの上限値をコマンド発行間隔カウンタ１２０２のレジスタに設定する。
【０１３２】
ステップＳ１３０２において、バスアービタ１０３からのコマンド入力があった場合には、ステップＳ１３０５に進む。そうでない場合にはステップＳ１３０３に進む。
【０１３３】
ステップＳ１３０３において、コマンド発行間隔カウンタ１２０２がステップＳ１３０１で設定された設定値に達した場合には、ステップＳ１３０４に進む。そうでない場合にはステップＳ１３０２に戻る。
【０１３４】
ステップＳ１３０４において、コマンド発行制御手段１２０１は、ライトコマンド優先指示を取り下げる。
【０１３５】
ステップＳ１３０５において、コマンド入力プロトコル制御手段１２０３は、入力されたコマンドをコマンド出力プロトコル制御手段１２０４に転送する。
【０１３６】
ステップＳ１３０６において、コマンド出力プロトコル制御手段１２０４は、転送速度緩衝手段１１４にコマンド出力可能であることを示す信号を通知する。
【０１３７】
ステップＳ１３０７において、コマンド出力プロトコル制御手段１２０４は、転送速度緩衝手段１１４のコマンドの受信が完了するのを待つ。
【０１３８】
ステップＳ１３０８、Ｓ１３０９において、コマンド出力プロトコル制御手段１２０４は、ステップＳ１３０７で転送したコマンドがリードコマンドである場合には、コマンド発行制御手段１２０１に対してリードコマンド転送成立を通知する。一方、ステップＳ１３０７で転送したコマンドがライトコマンドである場合には、ステップＳ１３０２に戻る。
【０１３９】
ステップＳ１３１０において、コマンド発行制御手段１２０１は、リードコマンド転送成立通知を受けて、コマンド発行カウンタ１２０２のカウンタを起動する。
【０１４０】
ステップＳ１３１１において、コマンド発行制御手段１２０１は、バスアービタ１０３に対してライトコマンド優先指示通知を行う。
【０１４１】
以上により、本発明の第五の実施形態に係る画像形成装置１は、低速なバスに接続された入出力手段から優先的にライトコマンドを受け付けることにより、リードコマンドとライトコマンドの順序を入れ替えることなく、ライトコマンドによるメモリへのアクセス効率を保つことができ、さらにリードコマンドにより発生するシステム全体のボトルネックを解消することができる。
【符号の説明】
【０１４２】
１  画像形成装置
１０１  共有メモリ
１０２  バスアービタ
１０３  バスアービタ
１０４  バスアービタ
１０５  入出力手段
１０６  入出力手段
１０７  入出力手段
１０８  入出力手段
１０９  入出力手段
１１０  入出力手段
１１１  入出力手段
１１２  CPU
１１３  コマンド制御手段
１１４  転送速度制御手段
１１５  出力制御手段
１１６  画像出力装置
【先行技術文献】
【特許文献】
【０１４３】
【特許文献１】特開２０００−２９７７７号公報
【図１】
0005891769.tif 000002
【図２Ａ】
0005891769.tif 000003
【図２Ｂ】
0005891769.tif 000004
【図３】
0005891769.tif 000005
【図４】
0005891769.tif 000006
【図５】
0005891769.tif 000007
【図６】
0005891769.tif 000008
【図７】
0005891769.tif 000009
【図８】
0005891769.tif 000010
【図９】
0005891769.tif 000011
【図１０】
0005891769.tif 000012
【図１１Ａ】
0005891769.tif 000013
【図１１Ｂ】
0005891769.tif 000014
【図１１Ｃ】
0005891769.tif 000015
【図１１Ｄ】
0005891769.tif 000016
【図１２】
0005891769.tif 000017
【図１３】
0005891769.tif 000018