(57)【要約】【課題】PCI及びPCI−EXPRESSインタフェースとの両インタフェースを用いるデータ転送経路の制御を可能とする。【解決手段】PCI−EXPRESSインタフェースを介してチップセットとの接続を制御するPCI−EXPRESSエンドポイントコントローラ201と、PCI−EXPRESSインタフェースを介してエンジンとの接続を制御するPCI−EXPRESSルートコンプレックスコントローラ217と、PCIインタフェースを介してエンジン、オプションとの接続を制御するPCIコントローラ221とを備える。PCI−EXPRESSエンドポイントコントローラ201は、CPUからチップセットを介して接続されているCPUからのコントローラASICを介したエンジン、オプションに対するアクセスを代理で受け付け、コントローラASICに接続されるリソースに対するCPUの参照を抑止する。【選択図】        図２
2008310798.tif 000002
【特許請求の範囲】
【請求項１】
スキャナ、プロッタを含むエンジンと、チップセットを介して接続されるＣＰＵと、を相互に接続して画像データの転送、画像データの処理を行う画像処理コントローラにおいて、
PCI−EXPRESSインタフェースを介して前記チップセットとの通信を制御するPCI−EXPRESSエンドポイントコントローラと、
PCI−EXPRESSインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するPCI−EXPRESSルートコンプレックスコントローラと、
ＰＣＩインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するＰＣＩコントローラと、を備え、
前記PCI−EXPRESSエンドポイントコントローラは、前記ＣＰＵから前記チップセットを介して接続されているＣＰＵからの画像処理コントローラを介した前記エンジンに対するアクセスを代理で受け付け、画像処理コントローラに接続されるリソースに対する、前記ＣＰＵからの参照を抑止すること、
を特徴とする画像処理コントローラ。
【請求項２】
前記PCI−EXPRESSルートコンプレックスコントローラ及びＰＣＩコントローラは、前記エンジンからのメモリアクセスを前記チップセットに接続されているメモリに対するアクセスに変換し、不要なリソースに対する、エンジンからの参照を抑止することを特徴とする請求項１記載の画像処理コントローラ。
【請求項３】
前記エンジンが、前記ＰＣＩコントローラ及びPCI−EXPRESSルートコンプレックスコントローラのうちいずれかに接続されているかに従って、前記エンジンに対する可視性を切り替えるターゲット制御機能を有することを特徴とする請求項１または２記載の画像処理コントローラ。
【請求項４】
前記PCI−EXPRESSルートコンプレックスコントローラから前記ＰＣＩコントローラに対して、固定アドレスのリソースを介してアドレスをブリッジするブリッジ機能を有することを特徴とする請求項１、２または３記載の画像処理コントローラ。
【請求項５】
異なるアルゴリズムでアービトレーションを行う複数のアービタ制御部と、
前記PCI−EXPRESSルートコンプレックスコントローラと前記エンジンとの間をレーン数に応じて、アービトレーションを行う前記アービタ制御部を選択する選択部と、
をさらに備えることを特徴とする請求項１乃至４のいずれか一つに記載の画像処理コントローラ。
【請求項６】
前記選択部は、前記エンジンがＰＣＩインタフェースを介して前記ＰＣＩコントローラと接続された場合、レーン数と関係なく、予め定められたアービタ制御部を選択すること、
を特徴とする請求項５に記載の画像処理コントローラ。
【請求項７】
スキャナ、プロッタを含むエンジンと、チップセットを介して接続されるＣＰＵと、を相互に接続して画像データの転送、画像データの処理を行う画像処理コントローラにおいて、PCI−EXPRESSインタフェースを介して前記チップセットとの通信を制御するPCI−EXPRESSエンドポイントコントローラと、PCI−EXPRESSインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するPCI−EXPRESSルートコンプレックスコントローラと、ＰＣＩインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するＰＣＩコントローラと、を備え、前記PCI−EXPRESSエンドポイントコントローラは、前記ＣＰＵから前記チップセットを介して接続されているＣＰＵからの画像処理コントローラを介した前記エンジンに対するアクセスを代理で受け付け、画像処理コントローラに接続されるリソースに対する、前記ＣＰＵからの参照を抑止する画像処理コントローラを、
備えることを特徴とする画像形成装置。
【請求項８】
前記画像処理コントローラは、異なるアルゴリズムでアービトレーションを行う複数のアービタ制御部と、前記PCI−EXPRESSルートコンプレックスコントローラと前記エンジンとの間をレーン数に応じて、アービトレーションを行う前記アービタ制御部を選択する選択部と、をさらに備えること、
を特徴とする請求項７に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のインタフェースを備える画像処理コントローラ及び該画像処理コントローラを備える画像形成装置に関する。
【背景技術】
【０００２】
一般に、プリンタ、コピー機等の画像処理装置は、コントローラＡＳＩＣにエンジン部を接続し、コントローラＡＳＩＣに接続されたＣＰＵからコントローラＡＳＩＣを介して画像形成処理を行うように構成されるのが一般的である。例えば、コントローラＡＳＩＣとエンジン部とをＰＣＩインタフェースと呼ばれるバスにより接続し、コントローラＡＳＩＣにＣＰＵを接続し、ＣＰＵの制御の下にプリント処理、コピー処理等を行うことになる。そして、コントローラＡＳＩＣとＣＰＵとの間は、最近のＣＰＵがＣＰＵ自体のインタフェースが公開されていないため、チップセットを介して接続されるのが一般的であり、その際、チップセットとコントローラＡＳＩＣとの間は、ＰＣＩインタフェースにより接続される。
【０００３】
前述したような画像形成装置の性能は、ＰＣＩインタフェースにおけるデータ転送速度により決まるが、チップセット経由のＰＣＩインタフェースは、そのパフォーマンスが低く、プリンタ、複写機等の画像形成装置の性能を低下させている。
【０００４】
近年、ＰＣＩインタフェースに比較して、高速なデータ転送を可能としたPCI−EXPRESSインタフェースと呼ばれるバスが利用可能になってきている。このPCI−EXPRESSの利用により、プリンタ、複写機等の画像形成装置の性能の向上を図ることが可能になる。
【０００５】
なお、コントローラＡＳＩＣとエンジン部とをＰＣＩインタフェースにより接続し、さらに、コントローラＡＳＩＣとＣＰＵとをチップセットにより接続して構成される画像形成装置に関する技術が、例えば、特許文献１等に記載されて知られている。
【０００６】
【特許文献１】特開２００３−３０９６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述したPCI−EXPRESSを利用する従来技術は、コントローラＡＳＩＣにPCI−EXPRESSインタフェースを備える必要があるが、PCI−EXPRESSインタフェースだけを備えてコントローラＡＳＩＣを構成すると、ＰＣＩインタフェースに対応しているエンジン（スキャナ、プロッタ等）の利用が不可能になるという問題を生じる。このような問題を解消するためには、コントローラＡＳＩＣ内にＰＣＩインタフェースとPCI−EXPRESSインタフェースとを備えるとよいが、そうすると、コントローラＡＳＩＣ内において、データ転送経路を制御する必要が生じることになる。しかし、従来、コントローラＡＳＩＣ内にＰＣＩインタフェースとPCI−EXPRESSインタフェースとを備え、コントローラＡＳＩＣ内において、データ転送経路を制御するという技術は知られていない。
【０００８】
本発明の目的は、ＰＣＩインタフェース（以下、単に、ＰＣＩという）とPCI−EXPRESSインタフェース（以下、単に、PCI−EXPRESSという）という複数のインタフェースを備えることで可用性を向上させると共に、両インタフェースを用いるデータ転送経路の制御を可能とした画像処理コントローラ、及び画像形成装置を提供する。
【課題を解決するための手段】
【０００９】
前記目的を達成するため本発明の画像処理コントローラの第１の手段は、スキャナ、プロッタを含むエンジンと、チップセットを介して接続されるＣＰＵと、を相互に接続して画像データの転送、画像データの処理を行う画像処理コントローラにおいて、PCI−EXPRESSインタフェースを介して前記チップセットとの通信を制御するPCI−EXPRESSエンドポイントコントローラと、PCI−EXPRESSインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するPCI−EXPRESSルートコンプレックスコントローラと、ＰＣＩインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するＰＣＩコントローラと、を備え、前記PCI−EXPRESSエンドポイントコントローラは、前記ＣＰＵから前記チップセットを介して接続されているＣＰＵからの画像処理コントローラを介した前記エンジンに対するアクセスを代理で受け付け、画像処理コントローラに接続されるリソースに対する、前記ＣＰＵからの参照を抑止すること、を特徴とする。
【００１０】
また、本発明の画像処理コントローラの第２の手段は、第１の手段において、前記PCI−EXPRESSルートコンプレックスコントローラ及びＰＣＩコントローラは、前記エンジンからのメモリアクセスを前記チップセットに接続されているメモリに対するアクセスに変換し、不要なリソースに対する、エンジンからの参照を抑止することを特徴とする。
【００１１】
また、本発明の画像処理コントローラの第３の手段は、第１または第２の手段において、前記エンジンが、前記ＰＣＩコントローラ及びPCI−EXPRESSルートコンプレックスコントローラのうちいずれかに接続されているかに従って、前記エンジンに対する可視性を切り替えるターゲット制御機能を有することを特徴とする。
【００１２】
また、本発明の画像処理コントローラの第４の手段は、第１、第２または第３の手段において、前記PCI−EXPRESSルートコンプレックスコントローラから前記ＰＣＩコントローラに対して、固定アドレスのリソースを介してアドレスをブリッジするブリッジ機能を有することを特徴とする。
【００１３】
また、本発明の画像処理コントローラの第５の手段は、第１乃至第４の手段のうちいずれか１の手段において、異なるアルゴリズムでアービトレーションを行う複数のアービタ制御部と、前記PCI−EXPRESSルートコンプレックスコントローラと前記エンジンとの間をレーン数に応じて、アービトレーションを行う前記アービタ制御部を選択する選択部と、をさらに備えることを特徴とする。
【００１４】
また、本発明の画像形成装置は、スキャナ、プロッタを含むエンジンと、チップセットを介して接続されるＣＰＵと、を相互に接続して画像データの転送、画像データの処理を行う画像処理コントローラにおいて、PCI−EXPRESSインタフェースを介して前記チップセットとの通信を制御するPCI−EXPRESSエンドポイントコントローラと、PCI−EXPRESSインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するPCI−EXPRESSルートコンプレックスコントローラと、ＰＣＩインタフェースを介して前記エンジンと接続した場合に、当該エンジンとの間の通信を制御するＰＣＩコントローラと、を備え、前記PCI−EXPRESSエンドポイントコントローラは、前記ＣＰＵから前記チップセットを介して接続されているＣＰＵからの画像処理コントローラを介した前記エンジンに対するアクセスを代理で受け付け、画像処理コントローラに接続されるリソースに対する、前記ＣＰＵからの参照を抑止する画像処理コントローラを、備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ＰＣＩとPCI−EXPRESSとを備えることで、可用性を向上させると共に、両インタフェースを用いるデータ転送経路の制御を可能とすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明による画像処理コントローラ及び画像形成装置の実施形態を図面により詳細に説明する。
【００１７】
（第１の実施の形態）
図１は第１の実施形態による画像形成装置の構成を示すブロック図、図２はコントローラＡＳＩＣの構成を示すブロック図、図３はコントローラＡＳＩＣ自身のレジスタ及びエンジンやオプションのリソースがPCI−EXPRESS及びＰＣＩのメモリ空間、Ｉ／Ｏ空間としてマッピングされた状況を説明する図、図４はコントローラＡＳＩＣの専用レジスタの内容を説明する図、図５はコントローラＡＳＩＣのPCI−EXPRESSルートコンプレックスコントローラ側のベースアドレスからのオフセット値と配置されるリソースとの関係を説明する図、図６はコントローラＡＳＩＣのＰＣＩ側の２つのベースアドレスからのオフセット値と配置されるリソースとの関係を説明する図である。
【００１８】
第１の実施形態による画像形成装置において、図１に示すように、コントローラＡＳＩＣ１０１は、PCI−EXPRESS１０８を介してスキャナ、プロッタ等のエンジン１０６と、ＰＣＩ１０９を介してIEEE1394等の外部Ｉ／Ｆであるオプション１０７と、に接続され、ＨＤＤ１０５に接続されると共に、PCI−EXPRESS１１０を介してチップセット１０２とに接続される。さらに画像形成装置のチップセット１０２は、ＣＰＵ１０３とメモリ１０４とに接続される。
【００１９】
コントローラＡＳＩＣ１０１は、図２に示すように、PCI−EXPRESS１１０を介してチップセット１０２を接続するPCI−EXPRESSエンドポイントコントローラ２０１と、PCI−EXPRESS１０８を介してエンジン１０６を接続するPCI−EXPRESSルートコンプレックスコントローラ２１７と、ＰＣＩ１０９を介してオプション１０７を接続するＰＣＩコントローラ２２１と、を主要な要素として備えている。
【００２０】
PCI−EXPRESSエンドポイントコントローラ２０１は、コンフィグレジスタ２０４を含むターゲット回路２０２と、マスター回路２０３と、により構成され、ＣＰＵ１０３からチップセット１０２を介して接続されているＣＰＵ１０３からのコントローラＡＳＩＣを介した前記エンジン１０６、オプション１０７に対するアクセスを代理で受け付け、コントローラＡＳＩＣ１０１に接続されるリソースがＣＰＵ１０３からの参照を抑止する機能を有する。
【００２１】
マスター回路２０３は、バスを介して接続された外部装置（例えばチップセット１０２）との間のデータ制御を行う。マスター回路２０３が、外部装置のターゲット回路に対して、データ転送を要求することで、データ転送が実現される。
【００２２】
ターゲット回路２０２は、コンフィグレジスタ２０４を備え、外部装置（例えばチップセット１０２）のマスター回路からのデータ転送要求を受け付け、データ転送を行うための制御を行う。コンフィグレジスタ２０４は、アクセス可能なデバイスのアドレスなどを保持する。
【００２３】
PCI−EXPRESSルートコンプレックスコントローラ２１７は、コントローラ２０１と同様に、コンフィグレジスタ２２０を含むターゲット回路２１８と、マスター回路２１９とにより構成され、PCI−EXPRESS１０８を介して接続されるエンジン１０６との間で画像データの授受を行う。
【００２４】
また、ＰＣＩコントローラ２２１は、コントローラ２０１、２１７と同様に、コンフィグレジスタ２２４を含むターゲット回路２２２と、マスター回路２２３とにより構成され、ＰＣＩ１０９を介して接続されるオプション１０７との間で画像データの授受を行う。
【００２５】
そして、PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１は、エンジン１０６、オプション１０７からのメモリアクセスをチップセット１０２に接続されているメモリ１０４に対するアクセスに変換し、不要なリソースに対する、エンジンやオプションからの参照を抑止する機能を有している。
【００２６】
前述したPCI−EXPRESSエンドポイントコントローラ２０１は、ＣＰＵ１０３の制御の下で、チップセット１０２を介して、メモリ１０４にアクセスして画像データの授受を制御すると共に、PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１との間でのデータ授受の制御及びデータの転送経路の制御を、PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１と共同して実行し、PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１に接続されているエンジン１０６及びオプション１０７を制御することにより画像データの処理を実現している。
【００２７】
PCI−EXPRESSエンドポイントコントローラ２０１、PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１との間には、前述したようなデータ授受の制御及びデータ転送経路の制御のために、画像入力バッファ２１４、画像出力バッファ２１５、ブリッジ転送コントローラ２１６、ターゲットアクセスアドレスデコーダ２０６、PCI−EXPRESSダイレクトアクセスコントローラ２０７、画像入力ＤＭＡコントローラ２０８、伸張器２１０を含む画像出力ＤＭＡコントローラ２０９、ＰＣＩダイレクトアクセスコントローラ２１１、ＨＤＤコントローラ２１２、ＤＭＡコントローラ２１３、アービタ２０５が設けられている。
【００２８】
次に、前述したように構成される第１の実施形態での動作について説明する。なお、以下に説明する動作は、後述する本発明の第２、第３の実施形態による画像形成装置でも共通する動作である。
【００２９】
起動〜コントローラＡＳＩＣの検出・設定
図１に示す画像形成装置が起動されると、まず、図示しないＢＩＯＳソフトウェアがPCI−EXPRESSを含むＰＣＩデバイスのエナミュレーションを実行する。具体的には、ＢＩＯＳソフトウェアは、バス番号、デバイス番号を振ってPCI−EXPRESSルートコンプレックスコントローラ２１７内のコンフィグレジスタ２２０及びＰＣＩコントローラ２２１内のコンフィグレジスタ２２４のデバイス・ベンダーＩＤレジスタを読み出し、この値が0xffffffff以外であればデバイスが存在する（PCI−EXPRESSルートコンプレックスコントローラ２１７に接続されたエンジン１０６、ＰＣＩコントローラ２２１に接続されたオプション１０７が存在する）と認識する。
【００３０】
次に、前述で検出したＰＣＩデバイスであるオプション１０７、PCI−EXPRESSデバイスであるエンジン１０６に対してリソース（メモリ空間及びＩ／Ｏ空間の容量）を割り当てる。具体的には、PCI−EXPRESSルートコンプレックスコントローラ２１７内のコンフィグレジスタ２２０及びＰＣＩコントローラ２２１内のコンフィグレジスタ２２４のベースアドレスレジスタからこのデバイスが必要とするメモリ空間及びＩ／Ｏ空間の容量を認識し、使用可能なメモリ空間から切り出して、そのアドレスをこのベースアドレスレジスタに設定する。前述において、１つのデバイスが複数のベースアドレスレジスタを持つ場合がある。
【００３１】
コントローラＡＳＩＣ１０１は、１つのベースアドレスレジスタを持ち、この範囲にコントローラＡＳＩＣ１０１自身のレジスタ及びエンジンやオプションのリソースがPCI−EXPRESS、ＰＣＩのメモリ空間、Ｉ／Ｏ空間としてマッピングされる。このマッピングの状況を図３に示しており、ＡＳＩＣリソースのメモリ領域に、PCI−EXPRESSモリ空間、PCI−EXPRESSＩ／Ｏ空間、ＰＣＩメモリ空間、ＰＣＩＩ／Ｏ空間、レジスタ空間がマッピングされる。
【００３２】
エンジン・オプション側の設定
前述した起動〜コントローラＡＳＩＣの検出・設定の処理で、コントローラＡＳＩＣの諸設定が完了した後、エンジン側及びオプション側であるPCI−EXPRESS及びＰＣＩの設定が行われる。
【００３３】
そして、エンジン１０６側のPCI−EXPRESSルートコンプレックスコントローラ２１７内のコンフィグレジスタ２２０へのアクセス、オプション１０７側のＰＣＩコントローラ２２１内のコンフィグレジスタ２２４へのアクセスは、図４に示しているようなコントローラＡＳＩＣの専用レジスタを介して行われる。
【００３４】
図４に示しているように、アドレスレジスタ（PCI-CONFIG ADDRESS）に対してバス番号をBUS_NUM、デバイス番号をDEV_NUM、ファンクション番号をFN_NUM、レジスタ番号をREG_ADRに設定し、データレジスタを読み出すことにより、コンフィグリードアクセスを行い、データレジスタに書き込むことによりコンフィグライトアクセスを行う。
【００３５】
前述した方法によりPCI−EXPRESSルートコンプレックスコントローラ２１７内のコンフィグレジスタ２２０及びＰＣＩコントローラ２２１内のコンフィグレジスタ２２４の読み出しを行うことにより、デバイスの検出及びベースアドレスレジスタに対するリソースの割り当てが行われる。
【００３６】
コントローラＡＳＩＣ１０１のPCI−EXPRESSルートコンプレックスコントローラ２１７は、１つのベースアドレスリソースを持ち、ここからのオフセット値によって、図５に示すようにリソースが配置される。すなわち、ベースアドレスからのオフセット値である+00h、+08h、+10h、+18h、+20h、+30h、+40hの位置に、画像出力チャネル１、画像出力チャネル２、画像出力チャネル３、画像出力チャネル４、画像入力チャネル、ブリッジ書き込みチャネル、ブリッジ読み出しチャネルが配置される
【００３７】
また、コントローラＡＳＩＣ１０１のＰＣＩコントローラ２２１は、２つのベースアドレスを持ち、図６に示すようにリソースが配置される。すなわち、一方のベースアドレスに対しては、図６に示すように、図５に示した場合と同様に、ベースアドレスからのオフセット値である+00h、+08h、+10h、+18h、+20hの位置に、画像出力チャネル１、画像出力チャネル２、画像出力チャネル３、画像出力チャネル４、画像入力チャネルが配置される。
【００３８】
PCI−EXPRESSルートコンプレックスコントローラ２１７及びＰＣＩコントローラ２２１は、双方とも画像入力用、画像出力用の固定アドレスリソースを備える。しかしながら、画像入力リソース、画像出力リソースを必要とするエンジンが接続されているのは、PCI−EXPRESSかＰＣＩかのいずれか一方であるので、いずれの形態で使用するかを外部端子によってコントローラＡＳＩＣ１０１に通知しておき、画像入力のリソース、画像出力のリソースは、エンジンが接続された側からしかアクセスすることができないようにされている。
【００３９】
メモリto画像出力パス（伸張含む）
次に、画像出力パス（伸張含む）を介する画像の出力処理について説明する。ここでの説明は、出力される画像あるいは符号が、チップセット１０２に接続されているメモリ１０４に格納されていることを前提とする。
【００４０】
ソフトウェアは、画像出力ＤＭＡコントローラ２０９のレジスタ設定を行って起動する。画像出力ＤＭＡコントローラ２０９は、アービタ２０５を経て、PCI−EXPRESSエンドポイントコントローラ２０１のマスター回路２０３にアクセスし、PCI−EXPRESSのメモリリードトランザクションを生成して、画像が格納されているメモリ１０４へアクセスする。
【００４１】
メモリ１０４から読み出されたデータは、画像出力バッファ２１５に格納される。画像がメモリ１０４上に符号化して格納してある場合、画像出力ＤＭＡコントローラ２０９は、その符号データを伸張器２１０を使用して伸張してから画像出力バッファ２１５に格納する。
【００４２】
別途起動されたエンジン１０６は、ＰＣＩあるいはPCI−EXPRESSを経由してコントローラＡＳＩＣ１０１のＰＣＩコントローラのターゲット回路２２２あるいはPCI−EXPRESSルートコンプレックスコントローラ２１７のターゲット回路２１８に対して画像出力リソースへのアクセスを行う。
【００４３】
前述の画像出力リソースへのアクセスにより、画像出力バッファ２１５のデータが取り出されて、応答データとしてエンジン１０６に返される。
【００４４】
画像入力−メモリパス
次に、メモリパスを介する画像の入力処理について説明する。
【００４５】
ソフトウェアは、画像入力ＤＭＡコントローラ２０８のレジスタ設定を行って起動する。画像入力ＤＭＡコントローラ２０８は、エンジン１０６がスキャナから入力したデータを、コントローラＡＳＩＣ１０１のＰＣＩコントローラ２２１あるいはPCI-EXPRESSルートコンプレックスコントローラ２１７の画像入力リソースに対してライトアクセスを行うことにより取り込み、画像入力リソースへのライトアクセスにより取り込んだデータを画像入力バッファ２１４に順次格納する。
【００４６】
画像入力ＤＭＡコントローラ２０８は、画像入力バッファ２１４にデータがある限り、それを読み出し、予め設定されたアドレス（チップセット側のメモリ上）へライトする。
【００４７】
チップセット１０２に接続されたメモリ１０４へのライトは、その要求がアービタ２０５を介してPCI−EXPRESSエンドポイントコントローラ２０１のマスター回路２０３に送られ、PCI−EXPRESSのトランザクションを生成し、これにより、チップセット１０２に接続されたメモリ１０４への書き込みが行われる。
【００４８】
PCI−EXPRESSダイレクトアクセスパス
次に、PCI−EXPRESSにより接続されるエンジン１０６からの画像入力のリソース、画像出力のリソースに該当しないアクセスの処理について説明する。
【００４９】
PCI−EXPRESSにより接続されるエンジン１０６からコントローラＡＳＩＣ１０１に対するアクセスで、画像入力のリソース、画像出力のリソースに該当しないアクセスは、チップセット１０２側へのアクセスと解釈し、PCI−EXPRESSダイレクトアクセスコントローラ２０７、アービタ２０５を経てPCI−EXPRESSエンドポイントコントローラ２０１からのマスターアクセスとして、チップセット１０２に対するPCI−EXPRESSトランザクションを生成し、チップセット１０２に接続されているメモリ１０４へアクセスを行う。
【００５０】
ＰＣＩダイレクトアクセスパス
次に、ＰＣＩにより接続されるオプションからのダイレクトメモリアクセスの処理について説明する。
【００５１】
ＰＣＩにより接続されるオプション１０７からコントローラＡＳＩＣ１０１に対するアクセスで、ダイレクトメモリアクセスのリソースに該当するアクセスは、チップセット１０２側へのアクセスと解釈し、ＰＣＩダイレクトアクセスコントローラ２１１、アービタ２０５を経てPCI−EXPRESSエンドポイントコントローラ２０１からのマスターアクセスとして、チップセット１０２に対するPCI−EXPRESSトランザクションを生成し、チップセット１０２に接続されているメモリ１０４へアクセスを行う。
【００５２】
前述した起動〜コントローラＡＳＩＣの検出・設定の処理からここまでの説明は、後述する第２、第３の実施形態でも共通する動作であるとして説明したきた。ところで、第１の実施形態による画像形成装置は、すでに説明したように、コントローラＡＳＩＣ１０１に、PCI−EXPRESS１０８を介してスキャナ、プロッタ等のエンジン１０６が、ＰＣＩ１０９を介してIEEE1394等の外部Ｉ／Ｆであるオプション１０７が接続されているとしているので、ＰＣＩ１０９を介してエンジンは接続されていない。すなわち、第１の実施形態は、コントローラＡＳＩＣ１０１のＰＣＩコントローラ２２１にはエンジンは接続されていないので、ＰＣＩ側の画像入力リソース、画像出力リソースにアクセスすることができないように、アクセス要求を棄却すると共に、当該ベースアドレスをソフトウェアから参照を抑止している。具体的には、ＰＣＩコントローラ２２１のコンフィグレジスタ２２４のベースアドレスレジスタを未実装とする応答を返す。
【００５３】
（第２の実施の形態）
図７は、第２の実施形態による画像形成装置の構成を示すブロック図である。第２の実施形態による画像形成装置は、図７に示すように、コントローラＡＳＩＣ１０１に、ＰＣＩ１０９を介してスキャナ、プロッタ等の２つのエンジン１０６、１１１が接続されると共に、オプションとしての外部コントローラ１１２、ＦＡＸユニット１１３が接続され、また、コントローラＡＳＩＣ１０１にＨＤＤ１０５が接続されると共に、コントローラＡＳＩＣ１０１に、PCI−EXPRESS１１０を介してチップセット１０２が接続され、このチップセット１０２に、ＣＰＵ１０３とメモリ１０４とが接続されて構成されている。この図７に示す第２の実施形態でのコントローラＡＳＩＣ１０１の構成は、図２に示した第１の実施形態の場合と同一である。
【００５４】
前述した第２の実施形態の第１の実施形態との相違は、コントローラＡＳＩＣ１０１には、PCI−EXPRESS１０８を介しては何も接続されておらず、ＰＣＩ１０９を介してスキャナ、プロッタ等のエンジン１０６、１１１及びオプションである外部コントローラ１１２、ＦＡＸユニット１１３が接続されていることである。すなわち、第２の実施形態では、コントローラＡＳＩＣ１０１のPCI−EXPRESSルートコンプレックスコントローラ２１７には何も接続されていないので、PCI−EXPRESS側の画像入力リソース、画像出力リソースにアクセスすることができないように、アクセス要求を棄却すると共に、当該ベースアドレスをソフトウェアからの参照を抑止している。具体的には、PCI−EXPRESSルートコンプレックスコントローラ２１７のコンフィグレジスタ２２０のベースアドレスレジスタを未実装とする応答を返す。
【００５５】
（第３の実施の形態）
図８は第３の実施形態による画像形成装置の構成を示すブロック図である。第３の実施形態による画像形成装置は、図８に示すように、コントローラＡＳＩＣ１０１に、PCI−EXPRESS１０８を介してエンジン１０６が、ＰＣＩ１０９を介してスオプション１０７、外部コントローラ１１２、ＦＡＸユニット１１３が接続され、また、コントローラＡＳＩＣ１０１にＨＤＤ１０５が接続されると共に、コントローラＡＳＩＣ１０１に、PCI−EXPRESS１１０を介してチップセット１０２が接続され、このチップセット１０２に、ＣＰＵ１０３とメモリ１０４とが接続されて構成されている。この図８に示す第３の実施形態でのコントローラＡＳＩＣ１０１の構成は、図２に示した第１の実施形態の場合と同一である。
【００５６】
PCI−EXPRESSからＰＣＩへのブリッジ転送
次に、第３に実施形態において、エンジン１０６から外部コントローラ１１２に対して画像転送を行う処理を説明する。
【００５７】
エンジン１０６から外部コントローラ１１２に対して画像転送を行うため、コントローラＡＳＩＣ１０１のPCI−EXPRESSルートコンプレックスコントローラ２１７のベースアドレスはブリッジ転送のための固定アドレスリソースを持つ。また、ブリッジ転送コントローラ２１６は、前述の固定アドレスへのアクセスを、実際の外部コントローラ１１２のリソースがあるアドレスに変換するためのアドレス変換器を持つ。
【００５８】
前述のアドレス変換器は、ソフトウェアから設定することができる変換アドレスレジスタを持ち、PCI−EXPRESS側からアクセスされた固定アドレスを、この変換アドレスレジスタに設定された固定アドレスに変換する。ＰＣＩコントローラ２２１のマスター回路２２３は、前述により変換された固定アドレスを使用してＰＣＩトランザクションを生成し、ＰＣＩ１０９に接続された外部コントローラ１１２へのアクセスを行う。これにより、エンジン１０６から外部コントローラ１１２に対する画像転送をブリッジ転送コントローラ２１６を介して行うことができる。
【００５９】
前述で説明した実施形態におけるコントローラＡＳＩＣ１０１は、リソースへのアクセスを適切なあて先に転送することができ、これによりＰＣＩに接続されたリソース、PCI−EXPRESSに接続されたリソースを、それを必要とする機器のみがアクセスすることができる。また、前述のコントローラＡＳＩＣ１０１は、エンジンがPCI−EXPRESS、ＰＣＩのどちらかに接続される場合に、画像転送用のリソースを適切に切り替えることができる。さらに、前述のコントローラＡＳＩＣ１０１は、PCI−EXPRESS側からＰＣＩ側への画像データ等の転送を、限られたリソースで簡易に行うことができる。
【００６０】
（第４の実施の形態）
図９は、第４の実施の形態にかかるコントローラＡＳＩＣ及びエンジンＡＳＩＣの構成を示すブロック図である。図９に示すコントローラＡＳＩＣ９０１は、アービタ２０５と処理が異なるアービタ９０２に変更されている点で異なる。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。また、画像形成装置の構成は、第１の実施の形態と同様として説明を省略する。
【００６１】
エンジンＡＳＩＣ９５１は、マスター回路９５２と、ターゲット回路９５３とを備え、PCI−EXPRESS１０８を介してPCI-EXPRESSルートコンプレックスコントローラ２１７と接続されている。また、エンジンＡＳＩＣ９５１は、画像データの読み込みを行うスキャナと、画像データを紙原稿に印刷するプロッタとしての機能を備える。
【００６２】
マスター回路９５２は、バスを介して接続されたコントローラＡＳＩＣ９０１との間のデータ制御を行う。マスター回路２０３が、コントローラＡＳＩＣ９０１のターゲット回路２１８に対して、データ転送を要求することで、データ転送が実現される。
【００６３】
ターゲット回路９５３は、コンフィグレジスタ９５４を備え、コントローラＡＳＩＣ９０１のマスター回路からのデータ転送要求を受け付け、データ転送を行うための制御を行う。コンフィグレジスタ２０４は、コントローラＡＳＩＣ９０１からアクセス可能なデバイスのアドレスなどを保持する。
【００６４】
エンジンＡＳＩＣ９５１は、PCI-EXPRESSバスを介して、ルートコンプレックスコントローラ２１７と接続されている。
【００６５】
ところで、PCI-EXPRESSは、レーン数を変更することで、帯域を変更できるので、スケーラブルに性能を変更することができる。例えば、異なる画像形成装置に対して、同一のコントローラＡＳＩＣ９０１を搭載する場合において、高画質のカラー画像を高速に転送する場合は１６レーン、モノクロ低速の場合は1レーンと設定することで、画像形成装置毎に適切な性能によるデータ転送を実現できる。さらには、画像形成装置に搭載する際に、必要の無いレーンを接続しないことで消費電力の低減や、基板配線を容易することもできる。
【００６６】
そして、画像形成装置では、高機能か低機能かに係わらず、エンジンＡＳＩＣからの画像データの他、ＦＡＸデータや通信データなど様々なデータの処理を行っている。しかしながら、従来の画像形成装置では、機能にかかわらず、コントローラＡＳＩＣ内で、複数のデータ転送機能のアービトレーションの仕方はエンジンとの画像転送（スキャナ入力・プロッタ出力）を最優先して、それ以外の機能は低優先とするという画一的な方式が一般的である。
【００６７】
これが、PCI-EXPRESSのレーン数が1レーンで帯域に余裕が無い場合であれば、上述した一般的な方式が適したアービトレーションである。しかし、PCI-EXPRESSのレーン数が16レーンと比較的帯域に余裕がある場合には、優先度が中程度の転送機能について一定の帯域を確保するアービトレーションの方が、最適な性能を実現できると考えられる。そこで、本実施の形態にかかるＡＳＩＣ９０１のアービタ９０２は、最適な性能を実現するため、以下に示す構成を備えている。
【００６８】
アービタ９０２は、制御レジスタ９０６と、セレクタ９０５と、第１アービトレーション回路９０３及び第２アービトレーション回路９０４等の複数のアービトレーション回路と、を備え、状況に応じて異なるアービトレーションアルゴリズムでアービトレーションを行う。
【００６９】
第１アービトレーション回路９０３は、スキャナ・プロッタ転送の最高優先、それ以外の画像処理転送には最低優先で、アービトレーションを行う回路とする。当該第１アービトレーション回路９０３で行われるアービトレーションを、エンジン最優先型と呼ぶ。
【００７０】
通常、エンジンＡＳＩＣ９５１による画像出力機能は、エンジンＡＳＩＣ９５１による書き込み処理が開始すると停止させることはできない。このため、このエンジン優先型のアービトレーションでは、他のデータ転送機能が動作している場合でも、エンジンＡＳＩＣ９５１からの画像転送を最優先で実行される。
【００７１】
第２アービトレーション回路９０４は、スキャナ・プロッタ転送といった高優先の転送に高い帯域幅を保証し、ＨＤＤコントローラ等の中優先度の転送にスキャナ・プロッタ転送より低いが一定の帯域を保証し、上述した高優先度及び中優先度以外の転送を最低優先で、アービトレーションを行う回路とする。この第２アービトレーション回路９０４で行われるアービトレーションを、帯域保証型と呼ぶ。
【００７２】
例えば、PCI-EXPRESSのレーン数が多いため、帯域幅に余裕がある場合、画像出力転送以外の転送機能に一定の帯域幅を割り当てても、スキャナ・プロッタ転送に遅延を生じさせることはない。そこで、第２アービトレーション回路９０４では、当該状況を想定して、帯域保証型のアービトレーションを実行する。
【００７３】
なお、アービトレーション回路は２つに制限するものではなく、３個以上備えることにしても良い。以下に第１アービトレーション回路９０３と、第２アービトレーション０９４とを、切り替える制御を行う構成について説明する。
【００７４】
制御レジスタ９０６は、上述した第１アービトレーション回路９０３と、第２アービトレーション回路９０４とを切り替えるための情報を保持する。
【００７５】
図１０は、アービタ９０２の制御レジスタ９０６のデータ構造を示した図である。図１０に示すように、符号１００２のビット02-00は、エンジン最優先型と帯域保証型とのを切り替えるレーン数の閾値を保持する。当該ビット02-00で設定された閾値より実際のレーン数が小さいと、エンジン最優先型でアービトレーションが行われ、ビット02-00で設定された閾値より実際のレーン数より大きいと、帯域保証型でアービトレーションが行われることになる。
【００７６】
図１０の符号１００１のビット08は、エンジン優先固定の設定を保持する。当該初期値が‘１’に設定されると、レーン数にかかわらず、エンジン最優先型でアービトレーションが実行される。
【００７７】
図９に戻り、セレクタ９０５は、制御レジスタ９０６を参照し、PCI-Expressに設定されたレーン数に応じて、実際にアービトレーションを行う回路として、第１アービトレーション回路９０３及び第２アービトレーション回路９０４のいずれか一つを選択する。なお、PCI-Expressに設定されているレーン数は、PCI-EXPRESSルートコンプレックスコントローラ２１７がリンクトレーニング前に、対向デバイスとのリンク幅を確認することで、検出される。そして、検出されたレーン数は、アービタ９０２に入力される。
【００７８】
本実施の形態では、制御レジスタ９０６のレーン数の閾値に‘８’が設定されているものとする。そこで、セレクタ９０５は、入力されたレーン数が、閾値‘８’以上か否か判断する。閾値‘８’以上と判断した場合、第２アービトレーション回路９０４を、アービトレーションの実行回路として選択する。一方、セレクタ９０５は、入力されたレーン数が、閾値‘８’より小さいと判断した場合、第１アービトレーション回路９０３を、アービトレーションの実行回路として選択する。
【００７９】
ところで、エンジン画像出力と入力は、通常排他的に実行されるが、帯域に余裕がある場合、同時実行することで、画像形成装置の性能を向上させることができる。当該処理を行うためには、レーン数の閾値が大きくとも、エンジン最優先型のアービトレーション回路を選択し、アービトレーションのアルゴリズムとして、エンジン画像出力と入力との優先度を同じにすることで、入出力最優先での同時動作を行うことができる。
【００８０】
本実施の形態にかかるコントローラＡＳＩＣ９０１と、エンジンＡＳＩＣ９５１と、の間のPCI−EXPRESSのレーン数に応じて、コントローラＡＳＩＣ９０１内部の複数のデータ転送機能のアービトレーションのアルゴリズムを変更することができる。これにより、本実施の形態にかかるコントローラＡＳＩＣ９０１では、PCI−EXPRESSのレーン数、すなわち処理性能に応じて最適なデータ転送機能のアービトレーション制御を実現することができる。これにより、コントローラＡＳＩＣ９０１、及び当該コントローラＡＳＩＣ９０１を備えた画像形成装置は、適切な処理性能を実現することができる。
【００８１】
（第５の実施の形態）
図１１は、第５の実施の形態にかかるコントローラＡＳＩＣ及びエンジンＡＳＩＣの構成を示すブロック図である。図１１に示すコントローラＡＳＩＣ９０１は、第４の実施の形態と同様の構成とし、エンジンＡＳＩＣ１１５１が、ＰＣＩコントローラ２２１にＰＣＩバスを介して接続されている点で異なる。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【００８２】
エンジンＡＳＩＣ１１５１は、第４の実施の形態のエンジンＡＳＩＣ９５１より処理速度が低速のエンジンＡＳＩＣとする。
【００８３】
本実施の形態にかかるPCI-EXPRESSルートコンプレックスコントローラ２１７は、リンクトレーニング前に、対向デバイスとのリンク幅を確認する。これにより、リンク幅が‘０’すなわち無接続であることが確認される。このとき、コントローラＡＳＩＣ９０１は、ＰＣＩ側にエンジンＡＳＩＣ１１５１が接続されたとみなす。そして、コントローラＡＳＩＣ９０１から、アービタ２０５に対してＰＣＩ側にエンジンＡＳＩＣ１５１が設定されたことを表す情報が入力される。
【００８４】
この場合、アービタ２０５のセレクタ９０５は、レーン数にかかわらず、第１アービトレーション回路９０３を、アービトレーション実行回路として選択する。
【００８５】
第４及び第５の実施の形態にかかるコントローラＡＳＩＣ９０１では、エンジンＡＳＩＣ９５１の接続先に応じて、コントローラＡＳＩＣ９０１内部の複数のデータ転送機能のアービトレーションのアルゴリズムを変更することができる。これにより、本実施の形態にかかるコントローラＡＳＩＣ９０１では、エンジンＡＳＩＣ９５１を接続するインタフェースに応じて最適なデータ転送機能のアービトレーション制御を実現することができる。これにより、コントローラＡＳＩＣ９０１、及び当該コントローラＡＳＩＣ９０１を備えた画像形成装置は、適切な処理性能を実現することができる。
【図面の簡単な説明】
【００８６】
【図１】第１の実施形態による画像形成装置の構成を示すブロック図である。
【図２】コントローラＡＳＩＣの構成を示すブロック図である。
【図３】コントローラＡＳＩＣ自身のレジスタ及びエンジンやオプションのリソースがPCI−EXPRESS及びＰＣＩのメモリ空間、Ｉ／Ｏ空間としてマッピングされた状況を説明する図である。
【図４】コントローラＡＳＩＣの専用レジスタの内容を説明する図である。
【図５】コントローラＡＳＩＣのPCI−EXPRESSルートコンプレックスコントローラ側のベースアドレスからのオフセット値と配置されるリソースとの関係を説明する図である。
【図６】コントローラＡＳＩＣのＰＣＩ側の２つのベースアドレスからのオフセット値と配置されるリソースとの関係を説明する図である。
【図７】第２の実施形態による画像形成装置の構成を示すブロック図である。
【図８】第３の実施形態による画像形成装置の構成を示すブロック図である。
【図９】第４の実施形態による画像形成装置の構成を示すブロック図である。
【図１０】アービタが備える制御レジスタのデータ構造を示した図である。
【図１１】第５の実施形態による画像形成装置の構成を示すブロック図である。
【符号の説明】
【００８７】
１０１、９０１  コントローラＡＳＩＣ
１０２  チップセット
１０３  ＣＰＵ
１０４  メモリ
１０５  ＨＤＤ
１０６、１１１  エンジン
１０７  オプション
１０８、１１０  PCI−EXPRESSインタフェース
１０９  ＰＣＩインタフェース
１１２  外部コントローラ
１１３  ＦＡＸユニット
２０１  PCI−EXPRESSエンドポイントコントローラ
２０２、２１８、２２２  ターゲット回路
２０３、２１９、２２３  マスター回路
２０４、２２０、２２４  コンフィグレジスタ
２０５、９０２  アービタ
２０６  ターゲットアクセスアクセスデコーダ
２０７  PCI−EXPRESSダイレクトアクセスコントローラ
２０８  画像入力ＤＭＡコントローラ
２０９  画像出力ＤＭＡコントローラ
２１０  伸張器
２１１  ＰＣＩダイレクトアクセスコントローラ
２１２  ＨＤＤコントローラ
２１３  ＤＭＡコントローラ
２１４  画像入力バッファ
２１５  画像出力バッファ
２１６  ブリッジ転送コントローラ
９０３  第１アービトレーション回路
９０４  第２アービトレーション回路
９０５  セレクタ
９０６  制御レジスタ
９５１  エンジンＡＳＩＣ
９５２  マスター回路
９５３  ターゲット回路
９５４  コンフィグレジスタ
【図１】
2008310798.tif 000003
【図２】
2008310798.tif 000004
【図３】
2008310798.tif 000005
【図４】
2008310798.tif 000006
【図５】
2008310798.tif 000007
【図６】
2008310798.tif 000008
【図７】
2008310798.tif 000009
【図８】
2008310798.tif 000010
【図９】
2008310798.tif 000011
【図１０】
2008310798.tif 000012
【図１１】
2008310798.tif 000013