(57)【特許請求の範囲】
【請求項１】
シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブを同時に実行可能な画像処理システムにおいて、
前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付手段と、
前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得手段と、
前記取得手段によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段と、
を具備することを特徴とする画像処理システム。
【請求項２】
前記判断手段は、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行によって前記シリアルバスの帯域を所定値を越えて使用するか否かを判断することで前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行が可能であるか否かを判断する判断手段であり、
前記判断手段によって前記シリアルバスの帯域を所定値を越えて使用すると判断した場合に、前記取得手段によって取得された前記レーン数の組み合わせ情報に従って前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を排他的に制御する制御手段を、
さらに具備することを特徴とする請求項１記載の画像処理システム。
【請求項３】
前記判断手段によって前記第１のジョブおよび前記第２のジョブの同時実行が可能で無いと判断された場合、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブのいずか一方の実行を保留する保留手段と、
前記保留手段によって保留されたジョブの実行が可能である場合に、当該保留されたジョブを実行する保留ジョブ実行手段と、
をさらに具備することを特徴とする請求項１記載の画像処理システム。
【請求項４】
前記判断手段は、前記取得手段によって取得された前記レーン数の組み合わせ情報毎に対応づけられた前記第１のジョブと前記第２のジョブとの組み合わせに応じて前記第１のジョブおよび前記第２のジョブの排他制御を設定した排他制御テーブルを参照して、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段であることを特徴とする請求項１記載の画像処理システム。
【請求項５】
前記保留手段は、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブが当該指示時に実行中のジョブより優先順位が高く設定されている場合、当該指示時に実行中のジョブを保留して、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を割り込ませることを特徴とする請求項３記載の画像処理システム。
【請求項６】
前記排他制御テーブルは、画像処理内容に応じて可変である、ことを特徴とする請求項４記載の画像処理システム。
【請求項７】
前記判断手段は、３つ以上のジョブが実行できるかどうかについては、ジョブ１つ毎に前記シリアルバスの帯域をどの程度使うのかを１次元のテーブルとして持ち、それらの合計が１００％を超えるかどうか判断する判断手段であることを特徴とする請求項１記載の画像処理システム。
【請求項８】
前記シリアルバスは、PCI Express 規格に準拠したシリアルバスである、ことを特徴とする請求項１ないし７のいずれか一記載の画像処理システム。
【請求項９】
シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブの同時実行をコンピュータに実行させるプログラムであって、
前記コンピュータを、
前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付手段と、
前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得手段と、
前記取得手段によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段と、
として機能させることを特徴とするプログラム。
【請求項１０】
前記判断手段は、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行によって前記シリアルバスの帯域を所定値を越えて使用するか否かを判断することで前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行が可能であるか否かを判断する判断手段であり、
前記判断手段によって前記シリアルバスの帯域を所定値を越えて使用すると判断した場合に、前記取得手段によって取得された前記レーン数の組み合わせ情報に従って前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を排他的に制御する制御手段として、
前記コンピュータをさらに機能させることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記判断手段によって前記第１のジョブおよび前記第２のジョブの同時実行が可能で無いと判断された場合、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブのいずか一方の実行を保留する保留手段と、
前記保留手段によって保留されたジョブの実行が可能である場合に、当該保留されたジョブを実行する保留ジョブ実行手段と、
として前記コンピュータをさらに機能させることを特徴とする請求項９記載のプログラム。
【請求項１２】
前記判断手段は、前記取得手段によって取得された前記レーン数の組み合わせ情報毎に対応づけられた前記第１のジョブと前記第２のジョブとの組み合わせに応じて前記第１のジョブおよび前記第２のジョブの排他制御を設定した排他制御テーブルを参照して、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段であることを特徴とする請求項９記載のプログラム。
【請求項１３】
前記保留手段は、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブが当該指示時に実行中のジョブより優先順位が高く設定されている場合、当該指示時に実行中のジョブを保留して、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を割り込ませることを特徴とする請求項１１記載のプログラム。
【請求項１４】
前記排他制御テーブルは、画像処理内容に応じて可変である、ことを特徴とする請求項１２記載のプログラム。
【請求項１５】
前記判断手段は、３つ以上のジョブが実行できるかどうかについては、ジョブ１つ毎に前記シリアルバスの帯域をどの程度使うのかを１次元のテーブルとして持ち、それらの合計が１００％を超えるかどうか判断する判断手段であることを特徴とする請求項９記載のプログラム。
【請求項１６】
シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブを同時に実行可能な画像処理システムにおけるジョブ実行方法であって、
前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付工程と、
前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得工程と、
前記取得工程によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断工程と、
を含むことを特徴とするジョブ実行方法。
【請求項１７】
前記判断工程は、前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行によって前記シリアルバスの帯域を所定値を越えて使用するか否かを判断することで前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行が可能であるか否かを判断する判断工程であり、
前記判断工程によって前記シリアルバスの帯域を所定値を越えて使用すると判断した場合に、前記取得工程によって取得された前記レーン数の組み合わせ情報に従って前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を排他的に制御する制御工程を、
さらに含むことを特徴とする請求項１６記載のジョブ実行方法。
【請求項１８】
前記判断工程によって前記第１のジョブおよび前記第２のジョブの同時実行が可能で無いと判断された場合、前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブのいずか一方の実行を保留する保留工程と、
前記保留工程によって保留されたジョブの実行が可能である場合に、当該保留されたジョブを実行する保留ジョブ実行工程と、
をさらに含むことを特徴とする請求項１６記載のジョブ実行方法。
【請求項１９】
前記判断工程は、前記取得工程によって取得された前記レーン数の組み合わせ情報毎に対応づけられた前記第１のジョブと前記第２のジョブとの組み合わせに応じて前記第１のジョブおよび前記第２のジョブの排他制御を設定した排他制御テーブルを参照して、前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断工程であることを特徴とする請求項１６記載のジョブ実行方法。
【請求項２０】
前記保留工程は、前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブが当該指示時に実行中のジョブより優先順位が高く設定されている場合、当該指示時に実行中のジョブを保留して、前記受付工程によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの実行を割り込ませることを特徴とする請求項１８記載のジョブ実行方法。
【請求項２１】
前記排他制御テーブルは、画像処理内容に応じて可変である、ことを特徴とする請求項１９記載のジョブ実行方法。
【請求項２２】
前記判断工程は、３つ以上のジョブが実行できるかどうかについては、ジョブ１つ毎に前記シリアルバスの帯域をどの程度使うのかを１次元のテーブルとして持ち、それらの合計が１００％を超えるかどうか判断する判断工程であることを特徴とする請求項１６記載のジョブ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、プログラムおよびジョブ実行方法に関する。
【背景技術】
【０００２】
一般に、画像データその他のデータを扱うデジタル複写機、複合機（ＭＦＰ）等の画像処理システムでは、デバイス間のインタフェースにＰＣＩバスが使用されている。
【０００３】
このようにＰＣＩバスを使用する画像処理システムにおいては、ＰＣＩバスのリソースが１００％を超えることを想定し、ＰＣＩバスの使用率が１００％を超えないようにソフトで制御して異常動作や異常画像にならないようにしている（例えば、特許文献１参照）。
【０００４】
また、パラレル方式のＰＣＩバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献２によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
【０００５】
また、他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）なるインタフェースも提案され、実用化の段階にきている（例えば、非特許文献１参照）。このPCI Expressシステムは、概略的には、例えば非特許文献１中の図１等に示されるようなルートコンプレックス−スイッチ（任意階層）−デバイス等のツリー構造（木構造）によるデータ通信網として構成されている。
【０００６】
【特許文献１】特開２００５−０９２５４１号公報
【特許文献２】特開２００１−０１６３８２号公報
【非特許文献１】“PCI Express 規格の概要”Interface誌、July’2003 里見尚志
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、特許文献１に記載されている手法によれば、ＰＣＩバス幅が画像処理システムによって固定されてしまうことから、例えば３２ビットから６４ビットへの繋ぎ換えなどに対応することができないという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、システムが誤動作したり、画像が異常になることがない画像処理システム、プログラムおよびジョブ実行方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブを同時に実行可能な画像処理システムにおいて、前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付手段と、前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得手段と、前記取得手段によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段と、を具備する。
【００１７】
また、請求項９にかかる発明は、シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブの同時実行をコンピュータに実行させるプログラムであって、前記コンピュータを、前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付手段と、前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得手段と、前記取得手段によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断手段と、として機能させる。
【００２３】
また、請求項１６にかかる発明は、シリアルバスにより画像処理エンジンとコントローラとを接続し、複数のジョブを同時に実行可能な画像処理システムにおけるジョブ実行方法であって、前記画像処理エンジンから前記シリアルバスを介して前記コントローラへのデータ転送に基づく第１のジョブと前記コントローラから前記シリアルバスを介して前記画像処理エンジンへのデータ転送に基づく第２のジョブの実行の指示を受け付ける受付工程と、前記画像処理エンジンが使用する前記シリアルバスの第１のレーン数および前記コントローラが使用する前記シリアルバスの第２のレーン数からなるレーン数の組み合わせ情報を取得する取得工程と、前記取得工程によって取得された前記レーン数の組み合わせ情報に対応付けられた前記第１のジョブおよび前記第２のジョブの実行可否情報に基づいて、前記受付手段によって受け付けられた指示による前記第１のジョブおよび前記第２のジョブの同時実行が可能であるか否かを判断する判断工程と、を含む。
【発明の効果】
【００３０】
本発明によれば、高速シリアルバスのリンクのレーン数を参照してジョブの複数同時実行が可能かどうかを判断し、ジョブの処理開始を許可することができるので、システムが誤動作したり、画像が異常になることがないという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照して、この発明にかかる画像処理システム、プログラムおよびジョブ実行方法の最良な実施の形態を詳細に説明する。
【００３２】
本発明を実施するための最良の形態について図面を参照して説明する。以下では、PCI Expressの詳細について、［PCI Express規格の概要］〜［PCI Express のアーキテクチャの詳細］の欄で説明し、その後、本実施の形態の画像処理システムについて、［画像処理システム］の欄で説明する。
【００３３】
［PCI Express規格の概要］
まず、本実施の形態は高速シリアルバスの一つであるPCI Express（登録商標）を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献１の一部抜粋により説明する。ここに、高速シリアルバスとは、１本の伝送路を用いてシリアル（直列）伝送により高速（１００Ｍｂｐｓ程度以上）にデータをやり取りすることができるインタフェースを意味する。
【００３４】
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。
【００３５】
図１に既存のPCIシステム、図２にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、ＣＰＵ１００やＡＧＰグラフィックス１０１やメモリ１０２が接続されたホストブリッジ１０３に対して、PCI-X（PCIの上位互換規格）デバイス１０４ａ，１０４ｂがPCI-Xブリッジ１０５ａを介して接続されたり、PCIデバイス１０４ｃ，１０４ｄが接続されたPCIブリッジ１０５ｂやPCIバススロット１０６が接続されたPCIブリッジ１０７がPCIブリッジ１０５ｃを介して接続されたりしたツリー構造（木構造）とされている。
【００３６】
これに対して、PCI Expressシステムにあっては、ＣＰＵ１１０やメモリ１１１が接続されたルートコンプレックス１１２に対して、PCI Expressグラフィックス１１３がPCI Express１１４ａにより接続され、また、エンドポイント１１５ａやレガシーエンドポイント１１６ａがPCI Express１１４ｂにより接続されたスイッチ１１７ａがPCI Express１１４ｃにより接続され、さらには、エンドポイント１１５ｂやレガシーエンドポイント１１６ｂがPCI Express１１４ｄにより接続されたスイッチ１１７ｂやPCIバススロット１１８が接続されたPCIブリッジ１１９がPCI Express１１４ｅにより接続されたスイッチ１１７ｃがPCI Express１１４ｆにより接続されたツリー構造（木構造）とされている。
【００３７】
実際に想定されるPCI Expressプラットホーム例を図３に示す。図示例は、デスクトップ／モバイルへの適用例を示し、ＣＰＵ１２１がＣＰＵホストバス１２２により接続され、メモリ１２３が接続されたメモリハブ１２４（ルートコンプレックスに相当する）に対して、例えば、グラフィックス１２５がｘ１６のPCI Express１２６ａにより接続され、また、変換機能を有するＩ／Ｏハブ１２７がPCI Express１２６ｂにより接続されている。このＩ／Ｏハブ１２７には、例えば、Serial ATA１２８によりストレージ１２９が接続され、LPC１３０によりローカルＩ／Ｏ１３１が接続され、USB 2.0１３２やPCIバススロット１３３が接続されている。さらには、Ｉ／Ｏハブ１２７には、PCI Express１２６ｃによりスイッチ１３４が接続され、このスイッチ１３４には、各々、PCI Express１２６ｄ，１２６ｅ，１２６ｆによりモバイルドック１３５、ギガビットイーサネット１３６（イーサネットは登録商標）、アドインカード１３７が接続されている。
【００３８】
即ち、PCI Expressシステムでは、従来のPCI，PCI-X，AGPといったバスがPCI Expressで置き換わり、既存のPCI／PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394，Serial ATA，USB 2.0などの既存のバスはＩ／ＯハブによりPCI Expressに接続される。
【００３９】
［PCI Expressの構成要素］
Ａ．ポート（Port）／レーン（Lane）／リンク（Link）
図４に物理層の構造を示す。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ／レシーバの集合で、論理的にはコンポーネント・リンク間を１対１で接続（ポイント・ツー・ポイント）するインタフェースを意味する。転送レートは、例えば片方向２．５Ｇｂｐｓとされている。レーンは、例えば０．８Ｖの差動信号ペアのセットで、送信側の信号ペア（２本）、受信側の信号ペア（２本）からなる。リンクは、２つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「ｘＮリンク」はＮ本のレーンから構成され、現在の規格では、Ｎ＝１，２，４，８，１６，３２が定義されている。図示例は、ｘ４リンク例である。例えば、図５に示すように、デバイスＡ，Ｂ間を結ぶこのレーン幅Ｎを可変することにより、スケーラブルなバンド幅を構成することが可能となる。
【００４０】
Ｂ．ルートコンプレックス（Root Complex）
ルートコンプレックス１１２は、Ｉ／Ｏ構造の最上位に位置し、ＣＰＵやメモリサブシステムをＩ／Ｏに接続する。ブロック図などでは、図３に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス１１２（又は、１２４）は、１つ以上のPCI Expressポート（ルートポート）（図２中では、ルートコンプレックス１１２中の四角で示す）を持ち、各々のポートは独立したＩ／Ｏ階層ドメインを形成する。Ｉ／Ｏ階層ドメインは、単純なエンドポイントである場合（例えば、図２中のエンドポイント１１５ａ側の例）や、多数のスイッチやエンドポイントから形成される場合（例えば、図２中のエンドポイント１１５ｂやスイッチ１１７ｂ，１１５ｃ側の例）がある。
【００４１】
Ｃ．エンドポイント（End Point）
エンドポイント１１５は、タイプ００ｈのコンフィグレーション空間ヘッダを持つデバイス（具体的には、ブリッジ以外のデバイス）で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはＢＡＲ（ベースアドレスレジスタ）でＩ／Ｏリソースを要求せず、このためＩ／Ｏリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
【００４２】
Ｄ．スイッチ（Switch）
スイッチ１１７（又は、１３４）は、２つ以上のポートを結合し、ポート間でのパケットルーティングを行う。コンフィグレーションソフトウェアからは、当該スイッチは、図６に示すように、仮想PCI-PCIブリッジ１４１の集合体として認識される。図中、両矢印はPCI Expressリンク１１４（又は、１２６）を示し、１４２ａ〜１４２ｄはポートを示す。このうち、ポート１４２ａはルートコンプレックスに近い方のアップストリームポートであり、ポート１４２ｂ〜１４２ｄはルートコンプレックスから遠い方のダウンストリームポートである。
【００４３】
Ｅ．PCI Express１１４ｅ−PCIブリッジ１１９
PCI ExpressからPCI／PCI-Xへの接続を提供する。これにより、既存のPCI／PCI-XデバイスをPCI Expressシステム上で使用することができる。
【００４４】
［階層アーキテクチャ］
従来のＰＣＩのアーキテクチャは、図７−１に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図７−２に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア１５１、最下位の機構（メカニカル）部１５２間に、トランザクション層１５３、データリンク層１５４、物理層１５５を持つ構造とされている。これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
【００４５】
PCI Expressのアーキテクチャの中心となるのは、トランザクション層１５３、データリンク層１５４、物理層１５５であり、各々図８を参照して説明する以下のような役割を持つ。
【００４６】
Ａ．トランザクション層１５３
トランザクション層１５３は、最上位に位置し、トランザクションレイヤパケット（ＴＬＰ）の組み立て、分解機能を持つ。トランザクションレイヤパケット（ＴＬＰ）は、リード／ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層１５３は、トランザクションレイヤパケット（ＴＬＰ）のためのクレジットを用いたフロー制御を行う。各層１５３〜１５５におけるトランザクションレイヤパケット（ＴＬＰ）の概要を図９に示す（詳細は、後述する）。
【００４７】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、エラー検出／訂正（再送）によりトランザクションレイヤパケット（ＴＬＰ）のデータ完全性を保証することと、リンク管理である。データリンク層１５４間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット（ＴＬＰ）と区別するために、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれる。
【００４８】
Ｃ．物理層１５５
物理層１５５は、ドライバ、入力バッファ、パラレル−シリアル／シリアル−パラレル変換器、ＰＬＬ、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層１５５は、データリンク層１５４／トランザクション層１５３を実際のリンクで使用される信号技術から独立させる役目も持っている。
【００４９】
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロス・ポイントを基にクロックを抽出する方式とされている。
【００５０】
［コンフィグレーション空間］
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが２５６バイトであるのに対して、図１０に示すように、４０９６バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス（ホストブリッジなど）に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス（コンフィグレーションリード／ライト）で行われ、バス／デバイス／機能／レジスタ番号はメモリアドレスにマップされている。
【００５１】
当該空間の先頭２５６バイトは、PCIコンフィグレーション空間として、ＢＩＯＳや従来のＯＳからＩ／Ｏポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。００ｈから３ＦｈまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより、PCI Expressで拡張された機能以外であれば、従来のＯＳやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ（プロセッサが直接Ｉ／Ｏレジスタをアクセスする方式）を継承している。しかし、PCI Expressで拡張された機能（例えば、同期転送やＲＡＳ（Reliability,Availability and Serviceability）などの機能）を使用するには、４ＫバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
【００５２】
なお、PCI Expressとしては様々なフォームファクタ（形状）が考えられるが、具体化している例としては、アドインカード、プラグインカード（Express Card）、Mini PCI Expressなどがある。
【００５３】
［PCI Express のアーキテクチャの詳細］
PCI Express のアーキテクチャの中心となっているトランザクション層１５３、データリンク層１５４、物理層１５５について、各々詳細に説明する。
【００５４】
Ａ．トランザクション層１５３
トランザクション層１５３の主な役割は、前述したように、上位のソフトウェア層１５１と下位のデータリンク層１５４との間でトランザクションレイヤパケット（ＴＬＰ）の組み立てと分解を行うことである。
【００５５】
ａ．アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間（メモリ空間とのデータ転送用）、Ｉ／Ｏ空間（Ｉ／Ｏ空間とのデータ転送用）、コンフィグレーション空間（デバイスのコンフィグレーションとセットアップ用）に加えて、メッセージ空間（PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信（交換）用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される）が追加され、４つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている（メモリ空間、Ｉ／Ｏ空間、コンフィグレーション空間は、リード／ライト、メッセージ空間は基本（ベンダ定義含む））。
【００５６】
ｂ．トランザクションレイヤパケット（ＴＬＰ）
PCI Expressは、パケット単位で通信を行う。図９に示したトランザクションレイヤパケット（ＴＬＰ）のフォーマットにおいて、ヘッダのヘッダ長は３ＤＷ（ＤＷはダブルワードの略；合計１２バイト）又は４ＤＷ（１６バイト）で、トランザクションレイヤパケット（ＴＬＰ）のフォーマット（ヘッダ長とペイロードの有無）、トランザクションタイプ、トラフィッククラス（ＴＣ）、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は１０２４ＤＷ（４０９６バイト）である。
【００５７】
ＥＣＲＣは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット（ＴＬＰ）部分の３２ビットＣＲＣである。これは、スイッチ内部などでトランザクションレイヤパケット（ＴＬＰ）にエラーが発生した場合、ＬＣＲＣ（リンクＣＲＣ）ではエラーを検出できないためである（エラーとなったＴＬＰでＬＣＲＣが再計算されるため）。
【００５８】
リクエストは、完了パケットが不要なものと必要なものとがある。
【００５９】
ｃ．トラフィッククラス（ＴＣ）と仮想チャネル（ＶＣ）
上位のソフトウェアは、トラフィッククラス（ＴＣ）を使用することによりトラフィックの差別化（優先度をつける）を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス（ＴＣ）はＴＣ０からＴＣ７まで８つある。
【００６０】
仮想チャネル（ＶＣ：Vertual Channel）は、各々独立した仮想通信バス（同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム）で、各々がリソース（バッファやキュー）を持ち、図１１に示すように、独立したフロー制御を行う。これにより、１つの仮想チャネルのバッファが満杯の状態（full）になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には１つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図１１中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。ＶＣ０は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル（ＶＣ１〜ＶＣ７）が実装される。図１１中の実線矢印は、デフォルト仮想チャネル（ＶＣ０）を示し、破線矢印はその他の仮想チャネル（ＶＣ１〜ＶＣ７）を示している。
【００６１】
トランザクション層内では、トラフィッククラス（ＴＣ）が仮想チャネル（ＶＣ）にマッピングされる。１つの仮想チャネル（ＶＣ）に対して１つ又は複数のトラフィッククラス（ＴＣ）をマッピングできる（仮想チャネル（ＶＣ）の数が少ない場合）。単純な例では、各トラフィッククラス（ＴＣ）から各仮想チャネル（ＶＣ）に１対１、全てのトラフィッククラス（ＴＣ）を仮想チャネルＶＣ０にマッピングする、といったことが考えられる。ＴＣ０−ＶＣ０のマッピングは、必須／固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。
【００６２】
ｄ．フロー制御
受信バッファのオーバーフローを避け、伝送順序を確立するためにフロー制御（ＦＣ：Flow Control）が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手（コンプリータ）にパケットが届いたことを確認することはできない。
【００６３】
PCI Expressのフロー制御は、クレジット・ベースで行われる（データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバーフロー、アンダフローが発生しないメカニズム）。即ち、受信側はリンク初期化時にバッファ容量（クレジット値）を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには６種類ある。
【００６４】
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット（ＤＬＬＰ）を使用して行われる。フロー制御はトランザクションレイヤパケット（ＴＬＰ）のみに適用され、データリンクレイヤパケット（ＤＬＬＰ）には適用されない（ＤＬＬＰは常時送受信可能）。
【００６５】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、前述したように、リンク上の２つのコンポーネント間での信頼性の高いトランザクションレイヤパケット（ＴＬＰ）交換機能を提供することである。
【００６６】
ａ．トランザクションレイヤパケット（ＴＬＰ）の扱い
トランザクション層１５３から受け取ったトランザクションレイヤパケット（ＴＬＰ）に対しては、先頭に２バイトのシーケンス番号、末尾に４バイトのリンクＣＲＣ（ＬＣＲＣ）を付加して、物理層１５５に渡す（図９参照）。トランザクションレイヤパケット（ＴＬＰ）は、リトライバッファに保管され、相手から受信確認（ＡＣＫ）が届くまで再送される。トランザクションレイヤパケット（ＴＬＰ）の送信に失敗が続いた場合は、リンク異常であると判断して物理層１５５に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層１５４の状態はインアクティブに遷移する。
【００６７】
物理層１５５から受け取ったトランザクションレイヤパケット（ＴＬＰ）は、シーケンス番号とリンクＣＲＣ（ＬＣＲＣ）が検査され、正常であればトランザクション層１５３に渡され、エラーがあった場合は再送を要求する。
【００６８】
ｂ．データリンクレイヤパケット（ＤＬＬＰ）
トランザクションレイヤパケット（ＴＬＰ）は、物理層から送信されるときに自動的に図１２に示すようなデータリンクレイヤパケット（ＤＬＬＰ）に分割されて各レーンに送信される。データリンク層１５４が生成するパケットは、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれ、データリンク層１５４間でやり取りされる。データリンクレイヤパケット（ＤＬＬＰ）には、
・Ack／Nak：ＴＬＰの受信確認、リトライ（再送）
・InitFC1／InitFC2／UpdateFC：フロー制御の初期化とアップデート
・電源管理のためのＤＬＬＰ
なる種類がある。
【００６９】
図１２に示すように、データリンクレイヤパケット（ＤＬＬＰ）の長さは６バイトで、種類を示すＤＬＬＰタイプ（１バイト）、ＤＬＬＰの種類で固有の情報（３バイト）、ＣＲＣ（２バイト）から構成される。
【００７０】
Ｃ．物理層−論理サブブロック１５６
図８中に示す物理層１５５の論理サブブロック１５６での主な役割は、データリンク層１５４から受け取ったパケットを電気サブブロック１５７で送信できる形式に変換することである。また、物理層１５５を制御／管理する機能も有する。
【００７１】
ａ．データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“０”や“１”が続かないように（長い期間、クロス・ポイントが存在しない状態が続かないようにするため）、データ符号化に８Ｂ／１０Ｂ変換を用いる。変換されたデータは、図１３中に示すように、シリアル変換され、ＬＳＢからレーン上に送信される。ここに、レーンが複数ある場合は（図１３はｘ４リンクの場合を例示している）、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
【００７２】
ｂ．電源管理とリンクステート
リンクの消費電力を低く抑えるために、図１４に示すように、Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートが定義されている。
【００７３】
Ｌ０が通常モードで、Ｌ０ｓからＬ２へと低消費電力となるが、Ｌ０への復帰にも時間がかかるようになる。図１５に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
【００７４】
Ｄ．物理層−電気サブブロック１５７
物理層１５５の電気サブブロック１５７での主な役割は、論理サブブロック１５６でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック１５６に渡すことである。
【００７５】
ａ．ＡＣカップリング
リンクの送信側では、ＡＣカップリング用のコンデンサが実装される。これにより、送信側と受信側のＤＣコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
【００７６】
ｂ．デエンファシス
PCI Expressでは、前述したように、８Ｂ／１０Ｂエンコーディングによってできるだけ連続した“０”や“１”が続かないように処理されるが、連続した“０”や“１”が続くこともある（最大５回）。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、２つ目のビットからは差動電圧レベル（振幅）を３．５±０．５ｄＢ落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
【００７７】
［画像処理システム］
本実施の形態のデジタル複写機やＭＦＰ等の画像処理システムは、その内部インタフェースに前述したようなPCI Express規格の高速シリアルバスを利用するようにしたものである。
【００７８】
図１６は、本実施の形態の画像処理システム１の構成例を示す概略ブロック図である。本実施の形態の画像処理システム１は、例えばＭＦＰ等の機器に適用されるもので、その構成要素として、シリアル通信制御部２と画像入力部３と画像出力部４と画像処理部５とプリンタコントローラ６と記憶部９とを備える。
【００７９】
シリアル通信制御部２は、インストールされているプログラム（ソフトウェア）に従いシリアル通信システムの制御を受け持つＣＰＵ（Central Processing Unit）等を含み、経路制御や経路判断等の処理を行うデバイス部分を含む。特に、PCI Express規格においては、ルートコンプレックスに相当する。
【００８０】
画像入力部３とは、原稿画像等に基づく画像データを当該システム内に取り込むためのデバイスやユニット部分を示し、例えば、原稿画像を光電的に読み取って画像データを取得するスキャナエンジン等により構成されている。
【００８１】
画像出力部４とは、画像データを紙などに印刷出力するデバイスやユニット部分を示し、例えば、電子写真方式のプロッタ（プリンタ）エンジン等により構成されている。なお、画像出力部４の印刷方式は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、様々な方式を用いることができる。
【００８２】
画像処理部５とは、画像データに対して、γ補正、色変換、シェーディング補正、階調補正、地肌補正、拡大・縮小、回転、圧縮・伸長、等の何らかの画像処理を施すデバイスやユニット部分を示し、例えば、各種画像補正器、色変換器、変倍器、回転器、圧縮／伸長器等を含む構成とされている。
【００８３】
プリンタコントローラ６とは、インストールされているプログラム（ソフトウェア）に従い当該システム全体の制御を受け持つＣＰＵ等を含み、プリンタ動作やＭＦＰ動作を制御するデバイスやユニット部分を示す。
【００８４】
記憶部９とは、画像データを保存するメモリやＨＤＤ（Hard Disk Drive）等を含むデバイスやユニット部分である。
【００８５】
このような画像処理システム（ＭＦＰ）１の構成要素に関して、本実施の形態では、例えば画像処理部５は画像入力部３と画像出力部４とが一体化された構成とされ、かつ、プリンタコントローラ６がシリアル通信制御部２を有し記憶部９を一体に有する構成とされ、かつ、画像処理部５とプリンタコントローラ６とのデバイス間が上述したようなPCI Express規格による高速シリアルバス７により接続されている（従って、画像処理部５、プリンタコントローラ６はポートを有する）。
【００８６】
このような構成において、シリアル通信制御部２による制御の下、画像入力部３から取り込まれた画像データは必要に応じて画像処理部５による画像処理を経た後、高速シリアルバス７を介してプリンタコントローラ６に転送され、プリンタコントローラ６内の記憶部９に一旦保存される。その後、プリンタコントローラ６の記憶部９に保存された画像データは高速シリアルバス７を介して画像処理部５に取り込まれ必要に応じて画像処理を経た後、画像出力部４に転送され、印刷出力等がなされる。なお、図１６中、点線はＭＦＰ制御データの流れを示す（後述する図でも同様）。
【００８７】
本実施の形態の場合、ＭＦＰ等の画像処理システム１の内部でPCI Express規格による高速シリアルバス７により画像処理部５とプリンタコントローラ６とを接続しているので、画像処理部５側とプリンタコントローラ６側とで各々のデバイスの電気系を別個の基板上に実装して構成することができ、高速性を損なうことなく、設計上の自由度を大幅に拡張することができ、基板面積低減によるコストダウンも図ることができる。また、プリンタコントローラ６がシリアル通信制御部２を有しているので、プリンタコントローラ６が有するＣＰＵリソースを兼用することができる。
【００８８】
なお、図１６に示した本実施の形態は、一例を示すに過ぎず、例えば、以下に示すような各種態様により構成することができる。
【００８９】
図１７に示す構成例は、シリアル通信制御部２を画像処理部５内に持たせたものである。画像処理部５がシリアル通信制御部２を有しているので、画像処理部５が有するＣＰＵリソースを兼用することができる。よって、プリンタコントローラ６を後付けするようなアプリケーション拡張、例えば、コピー機能からＭＦＰ機能への拡張、が容易に可能となる。
【００９０】
ここで、画像処理システム（ＭＦＰ）１における主なジョブにおける画像データの流れについて図１８を参照して説明する。
【００９１】
図１８−１は、画像入力部３による画像読み取りジョブにおける画像データの流れを示している。この画像読み取りジョブは、原稿を画像入力部３により読取走査した後、記憶部９へ蓄積したり、ネットワーク（図示せず）経由で配信する入力系のジョブである。なお、原稿を画像入力部３により読取走査した直後にすぐネットワーク経由で配信する場合には、記憶部９には蓄積しない。
【００９２】
図１８−２は、コピー蓄積ジョブにおける画像データの流れを示している。このコピー蓄積ジョブは、原稿を画像入力部３により読取走査した後、画像処理部５にてコピー画像に変換して記憶部９へ蓄積する入力系のジョブである。
【００９３】
図１８−３は、コピー印刷ジョブにおける画像データの流れを示している。このコピー印刷ジョブは、記憶部９に蓄積されているコピー画像を画像出力部４に転送し、印刷出力を行う出力系のジョブである。
【００９４】
図１８−４は、プリント印刷ジョブにおける画像データの流れを示している。このプリント印刷ジョブは、記憶部９にスプールされている画像を画像出力部４に転送し、印刷出力を行う出力系のジョブである。なお、ネットワーク経由で画像を受信した後、記憶部９にスプールせずに、そのまま受信した画像を画像出力部４に転送して印刷出力を行うものであっても良い。
【００９５】
ところで、本実施の形態の画像処理システム（ＭＦＰ）１においては、PCI Express規格による高速シリアルバス７により画像処理部５（画像入力部３及び画像出力部４）とプリンタコントローラ６とを接続しているので、上述したような入力系や出力系のジョブの複数同時実行が可能になっている。
【００９６】
しかしながら、画像処理部５及びプリンタコントローラ６のポートは、出力系と入力系とで共通であることから、ジョブの組み合わせ及びリンクのレーン数によっては競合が生じてPCI Express規格による高速シリアルバス７のリソースが１００％を超えてしまい、処理能力が低下するという問題がある。このようにリソースが１００％を超えてしまう場合には、画像処理システム（ＭＦＰ）１の誤動作を招いたり、または、画像に異常を生じたりする。
【００９７】
そこで、本実施の形態の画像処理システム（ＭＦＰ）１のプリンタコントローラ６においては、PCI Express規格による高速シリアルバス７のリンクのレーン数及びジョブの組み合わせを参照して、各種ジョブの複数同時実行が可能かどうか判断し、各種ジョブの処理開始を許可するようにしている（ジョブの排他制御処理）。この点について、以下に詳述する。
【００９８】
プリンタコントローラ６は、図１９に示すように、画像処理システム（ＭＦＰ）１に電源が投入されると（ステップＳ１）、コントローラ側（プリンタコントローラ６）とエンジン側（画像入力部３及び画像出力部４）とがPCI Express規格による高速シリアルバス７によりどのようにリンクアップされているかについてレーン情報を参照し（ステップＳ２）、その情報をレジスタ（一時記憶装置）に書き込む（ステップＳ３：レーン情報取得手段）。
【００９９】
ここで、図２０はコントローラ側とエンジン側とのリンクアップの一例を示す説明図である。図２０に示すように、本実施の形態においては、コントローラ側がｘ１６リンク、エンジン側がｘ２リンクとする。このようなコントローラとエンジンとの間のレーン情報を取得するのは、コントローラ側（プリンタコントローラ６）とエンジン側（画像入力部３及び画像出力部４）とにおけるレーン情報の組み合わせにより高速シリアルバス７の帯域（ＭＢ／ｓ）が決まり、また、図１８に示したようなジョブ毎に高速シリアルバス７の帯域をどの程度使うのかが決まるためである。
【０１００】
本実施の形態においては、コントローラ側（プリンタコントローラ６）とエンジン側（画像入力部３及び画像出力部４）とにおけるレーン情報の組み合わせ毎に、図２１に示すような出力系／入力系のジョブの組み合わせに応じてジョブの排他制御を設定した排他制御テーブルＴを予め作ることができ、これをプリンタコントローラ６が備えるメモリなどの記憶装置に保存しておく。図２１に示す例によれば、コントローラ側がｘ１６リンク、エンジン側がｘ２リンクの場合には、画像読み取りジョブ（図１８−１参照）とプリント印刷ジョブ（図１８−４参照）とは、マシンスペックの性能で処理することができない。これは、プリント印刷ジョブに用いられる画像データが大きいことから、プリント印刷ジョブにかかる負荷が大きいためである。このような場合には、画像読み取りジョブとプリント印刷ジョブを１枚毎に処理するか、どちらかのジョブが終わるのを待たなければならない。なお、図２１に示すように、エンジン側がｘ４リンクの場合には、バンド幅が広がるので、画像読み取りジョブとプリント印刷ジョブとを同時に行うことが可能である。一方、図２１に示すように、エンジン側がｘ１リンクの場合には、バンド幅が狭まるので、画像読み取りジョブとコピー印刷ジョブ（図１８−３参照）とを同時に行うことが不可能となる。
【０１０１】
ここで、ジョブの排他制御処理について図２２のフローチャートを参照して説明する。図２２に示すように、ジョブの実行指示を受けた後に（ステップＳ１１：ジョブ実行受付手段）、図１９におけるステップＳ３で記憶したレーン情報の取得を行う（ステップＳ１２）。その後、テーブルＴのステップＳ１２で取得したレーン情報に合致した情報を参照し（ステップＳ１３）、ジョブを実行するとPCI Expressの帯域を１００％使ってしまうのかどうか判断する（ステップＳ１４：ジョブ実行判断手段）。
【０１０２】
PCI Express規格による高速シリアルバス７の帯域を１００％使わないと判断した場合には（ステップＳ１４のＮｏ）、指示があったジョブを実行する（ステップＳ１５：ジョブ実行手段）。
【０１０３】
一方、PCI Express規格による高速シリアルバス７の帯域を１００％超えると判断した場合には（ステップＳ１４のＹｅｓ）、ジョブの保留を行う（ステップＳ１６：ジョブ保留手段）。その後、すでに処理が走っていたジョブが終了するなどして、保留ジョブを実行しても帯域が１００％を超えなくなったと判断された場合（ステップＳ１７のＮｏ：ジョブ実行再判断手段）、ステップＳ１６で保留したジョブの実行を行う（ステップＳ１８：保留ジョブ実行手段）。
【０１０４】
なお、ステップＳ１６にてジョブの保留を行っているが、実行中のジョブより優先順位が高いとユーザの設定などで決められている場合、実行中のジョブを保留して指示のあったジョブを割り込ませても構わない。
【０１０５】
また、本実施の形態では、簡単なテーブルＴを用いて説明したが、スキャナ（画像入力部３）による画像読み取りであれば、画像処理内容（白黒／カラー、読み取り密度（２００，４００，６００ｄｐｉ）など）によって必要とする高速シリアルバス７の帯域が変わるため、テーブルＴの内容はもっと詳細になる。
【０１０６】
さらに、３つ以上のジョブが実行できるかどうかについては、ジョブ１つ毎にPCI Express規格による高速シリアルバス７の帯域をどの程度使うのかを１次元のテーブルとして持ち、それらの合計が１００％を超えるかどうか判断することで、同様の効果が得られる。
【０１０７】
このように本実施の形態によれば、高速シリアルバス７のリンクのレーン数を参照してジョブの複数同時実行が可能かどうかを判断し、ジョブの処理開始を許可することができるので、システムが誤動作したり、画像が異常になることがない。
【図面の簡単な説明】
【０１０８】
【図１】既存PCIシステムの構成例を示すブロック図である。
【図２】PCI Expressシステムの構成例を示すブロック図である。
【図３】デスクトップ／モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。
【図４】ｘ４の場合の物理層の構造例を示す模式図である。
【図５】デバイス間のレーン接続例を示す模式図である。
【図６】スイッチの論理的構造例を示すブロック図である。
【図７−１】既存のPCIのアーキテクチャを示すブロック図である。
【図７−２】PCI Expressのアーキテクチャを示すブロック図である。
【図８】PCI Expressの階層構造を示すブロック図である。
【図９】トランザクションレイヤパケットのフォーマット例を示す説明図である。
【図１０】PCI Expressのコンフィグレーション空間を示す説明図である。
【図１１】仮想チャネルの概念を説明するための模式図である。
【図１２】データリンクレイヤパケットのフォーマット例を示す説明図である。
【図１３】ｘ４リンクでのバイトストライピング例を示す模式図である。
【図１４】Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートの定義について説明する説明図である。
【図１５】アクティブステート電源管理の制御例を示すタイムチャートである。
【図１６】本発明の実施の一形態の画像処理システムの構成例を示す概略ブロック図である。
【図１７】その変形構成例を示す概略ブロック図である。
【図１８−１】画像読み取りジョブにおける画像データの流れを示す説明図である。
【図１８−２】コピー蓄積ジョブにおける画像データの流れを示す説明図である。
【図１８−３】コピー印刷ジョブにおける画像データの流れを示す説明図である。
【図１８−４】プリント印刷ジョブにおける画像データの流れを示す説明図である。
【図１９】接続情報取得処理の流れを示すフローチャートである。
【図２０】コントローラ側とエンジン側とのリンクアップの一例を示す説明図である。
【図２１】コントローラ側とエンジン側とにおけるレーン情報の組み合わせ毎の出力系／入力系のジョブの組み合わせに応じたジョブの排他制御テーブルを示す模式図である。
【図２２】ジョブの排他制御処理の流れを示すフローチャートである。
【符号の説明】
【０１０９】
１      画像処理システム
３，４    画像処理エンジン
６      コントローラ
７      高速シリアルバス
Ｔ      排他制御テーブル
【図１】
0004607706.tif 000002
【図２】
0004607706.tif 000003
【図３】
0004607706.tif 000004
【図４】
0004607706.tif 000005
【図５】
0004607706.tif 000006
【図６】
0004607706.tif 000007
【図７−１】
0004607706.tif 000008
【図７−２】
0004607706.tif 000009
【図８】
0004607706.tif 000010
【図９】
0004607706.tif 000011
【図１０】
0004607706.tif 000012
【図１１】
0004607706.tif 000013
【図１２】
0004607706.tif 000014
【図１３】
0004607706.tif 000015
【図１４】
0004607706.tif 000016
【図１５】
0004607706.tif 000017
【図１６】
0004607706.tif 000018
【図１７】
0004607706.tif 000019
【図１８−１】
0004607706.tif 000020
【図１８−２】
0004607706.tif 000021
【図１８−３】
0004607706.tif 000022
【図１８−４】
0004607706.tif 000023
【図１９】
0004607706.tif 000024
【図２０】
0004607706.tif 000025
【図２１】
0004607706.tif 000026
【図２２】
0004607706.tif 000027