(57)【要約】【課題】  ＤＲＰの制御に関わるＣＰＵの負荷を軽減することが望まれていた。【解決手段】  実施形態の複合機は、複数のＤＲＰ７１、メインＣＰＵ１およびＤＲＰコントローラ７２を備える。複数のＤＲＰ７１は、それぞれ処理回路の再設定が可能である。メインＣＰＵ１は、複数のＤＲＰ７１により設定された処理回路で実行する処理を管理する。ＤＲＰコントローラ７２は、メインＣＰＵ１からの要求に応じて複数のＤＲＰ７１の動作を制御する。【選択図】      図１
2011160424.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ処理回路の再設定が可能である複数のリコンフィギュラブルプロセッサと、
前記複数のリコンフィギュラブルプロセッサにより設定された処理回路で実行する処理を管理する第１の制御手段と、
前記第１の制御手段からの要求に応じて前記複数のリコンフィギュラブルプロセッサの動作を制御する第２の制御手段とを具備する複合機。
【請求項２】
前記第２の制御手段は、前記複数のリコンフィギュラブルプロセッサの動作状態を異ならせる複数のモードを選択的に使用する請求項１に記載の複合機。
【請求項３】
前記第２の制御手段は、前記複数のリコンフィギュラブルプロセッサのうちの複数に複数のタスクを並列的に処理させる高速モードと、１つのリコンフィギュラブルプロセッサのみにタスクを処理させる省エネモードとを選択的に使用する請求項２に記載の複合機。
【請求項４】
前記第２の制御手段は、前記複数のリコンフィギュラブルプロセッサでの処理に適用する処理シーケンスを、複数の処理シーケンスからリアルタイム選択する請求項１に記載の複合機。
【請求項５】
前記第２の制御手段は、分割処理シーケンスおよびパイプライン処理シーケンスのうちから前記複数のリコンフィギュラブルプロセッサでの処理に適用する処理シーケンスをリアルタイム選択する請求項４に記載の複合機。
【請求項６】
前記複数のリコンフィギュラブルプロセッサにより設定された処理回路が処理を行うために使用するメモリをさらに備え、
前記第２の制御手段は、前記メモリの使用状況に基づいて前記複数の処理シーケンスのうちから前記複数のリコンフィギュラブルプロセッサでの処理に適用する処理シーケンスをリアルタイム選択する請求項４に記載の複合機。
【請求項７】
前記第２の制御手段は、分割処理シーケンスおよびパイプライン処理シーケンスのいずれかと、シリアル処理シーケンスとのうちから前記複数のリコンフィギュラブルプロセッサでの処理に適用する処理シーケンスをリアルタイム選択する請求項６に記載の複合機。
【請求項８】
前記第１の制御手段と前記第２の制御手段とをインタフェースするブリッジを備え、
前記第２の制御手段は前記ブリッジが備えるポートの１つに接続されるとともに、前記複数のリコンフィギュラブルプロセッサを並列に接続可能である請求項１に記載の複合機。
【請求項９】
前記第２の制御手段に対して前記複数のリコンフィギュラブルプロセッサをそれぞれ着脱可能とする複数のソケットをさらに備える請求項１に記載の複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複合機に関する。
【背景技術】
【０００２】
複合機（multi function peripheral：以下、ＭＦＰと記す）は、ユーザからのさまざまな機能アップ要求や性能要求があり、それらの要求に柔軟に対応するためにダイナミックリコンフィギュラブルプロセッサ（dynamic reconfigurable processor：以下、ＤＲＰと記す）を実装する場合がある。
【０００３】
ＤＲＰは一般に、画像処理の高速化のためのアクセラレータユニットとして利用される。
【０００４】
ＤＲＰは、実装する処理回路をダイナミックに再構成することができるため、ハードウェア構成の変更を伴わずに、機能の変更を図ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５２４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のＤＲＰを搭載する場合、これら複数のＤＲＰをＣＰＵにより直接的に制御しており、ＣＰＵの大きな負荷となっていた。
【０００７】
このような事情から、ＤＲＰの制御に関わるＣＰＵの負荷を軽減することが望まれていた。
【課題を解決するための手段】
【０００８】
実施形態の複合機は、複数のリコンフィギュラブルプロセッサ、第１の制御手段および第２の制御手段を備える。複数のリコンフィギュラブルプロセッサは、それぞれ処理回路の再設定が可能である。第１の制御手段は、複数のリコンフィギュラブルプロセッサにより設定された処理回路で実行する処理を管理する。第２の制御手段は、第１の制御手段からの要求に応じて複数のリコンフィギュラブルプロセッサの動作を制御する。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る複合機のブロック図。
【図２】図１中のＤＲＰコントローラのブロック図。
【図３】図２中のＲＩＳＣコアの処理のフローチャート。
【図４】図１中のメインＣＰＵおよびＤＲＰコントローラの間のシーケンス図。
【図５】各モードにおけるＤＲＰの処理状態の概念図。
【図６】パイプライン処理の処理イメージを示す図。
【図７】データ分割処理の処理イメージを示す図。
【図８】図２中のＲＩＳＣコアの処理のフローチャート。
【図９】メモリマップの一例を示す図。
【図１０】メモリ管理レジスタの一例を示す図。
【発明を実施するための形態】
【００１０】
以下実施の形態の一例を図面を用いて説明する。
【００１１】
図１は本実施形態に係る複合機（multi function peripheral：以下、ＭＦＰと記す）１００のブロック図である。
【００１２】
ＭＦＰ１００は、メインＣＰＵ１、ブリッジコンパニオンチップ２、ハードディスクドライブ（ＨＤＤ）３、メインメモリ４、アクセラレータ５、ページメモリコントローラ（ＰＭＣ）６、アクセラレータユニット７、ページメモリ８、スキャナ９、スキャナインタフェース部（スキャナＩ／Ｆ部）１０、画像処理系チップ１１、プリンタインタフェース部（プリンタＩ／Ｆ部）１２およびプリンタ１３を含む。
【００１３】
メインＣＰＵ１は、ユーザインタフェース（ＵＩ）を介するユーザ操作に応じてＭＦＰ１００の動作を制御する。
【００１４】
ブリッジコンパニオンチップ２は、メインＣＰＵ１の指示の下に、ハードディスクドライブ３、メインメモリ４、アクセラレータ５、ページメモリコントローラ６、アクセラレータユニット７および図示しない周辺機器を制御する。またブリッジコンパニオンチップ２は、ハードディスクドライブ３、メインメモリ４、アクセラレータ５、ページメモリコントローラ６、アクセラレータユニット７および周辺機器の相互間でのデータの授受をインタフェースする。
【００１５】
ハードディスクドライブ３は、大容量のハードディスクを内蔵し、このハードディスクを用いて各種のデータを保存する。
【００１６】
メインメモリ４は、ＣＰＵ１が各種の処理を行うために主として使用されるメモリである。
【００１７】
アクセラレータ５は、画像データの各種圧縮・伸長処理を行う。
【００１８】
ページメモリコントローラ６は、ページメモリ８を制御する。
【００１９】
アクセラレータユニット７は、フィルタ処理、種々の画像フォーマット変換処理、種々の圧縮・伸長処理などを行う。アクセラレータユニット７は、主として、処理が複雑なアプリケーションの高速化や機能追加のために使用する。
【００２０】
スキャナ９は、原稿を読み取ってその画像を表すデータストリームを生成する。
【００２１】
スキャナインタフェース部１０は、スキャナ９が出力するデータストリームを一旦保持し、この保持しているデータストリームを処理の進捗状況に応じて画像処理系チップ１１へと供給する。
【００２２】
画像処理系チップ１１は、スキャナインタフェース部１０から供給されるデータストリームをページメモリ８に格納した上で、当該データストリームに対して各種の画像処理を施す。画像処理系チップ１１は、処理済みのデータストリームをプリンタインタフェース部１２へ出力する。
【００２３】
プリンタインタフェース部１２は、画像処理系チップ１１から出力されたデータストリームをプリンタ１３へ供給する。
【００２４】
プリンタ１３は、プリンタインタフェース部１２から要求されるデータストリームが表す画像をプリント用紙にプリントする。
【００２５】
ところでアクセラレータユニット７は、複数のＤＲＰ７１、ＤＲＰコントローラ７２およびメモリ７３を含む。
【００２６】
複数のＤＲＰ７１はそれぞれ、多数の回路要素が二次元的または三次元的に配列されており、これらの回路要素を適宜に使用して様々な処理回路を任意に設定できる。すなわちＤＲＰ７１は、実装する処理回路を再設定できる。なお、ＤＲＰ７１に設定する処理回路は、典型的には複数の回路ブロックを含む。そしてこれらの複数の回路ブロックを協働させることで１つの処理回路として機能する。１つの回路ブロックは、通常は１つのＤＲＰ７１に設定される必要がある。複数のＤＲＰ７１は、相互に必要な接続または配線がなされており、異なるＤＲＰ７１にそれぞれ設定された別々の回路ブロックは協働できる。
【００２７】
ＤＲＰコントローラ７２は、複数のＤＲＰ７２をそれぞれ制御する。
【００２８】
メモリ７３は、ＤＲＰ７２の入出力データや中間データを保存する。つまりメモリ７３は、ＤＲＰ７１で使用されるローカルメモリである。メモリ７３としては、典型的にはＤＲＡＭ（dynamic random-access memory）を使用する。
【００２９】
なお、ＤＲＰ７１とＤＲＰコントローラ７２との接続には、例えばＰＣＩ Express（ＰＣＩｅ）などの汎用バスを用いることができる。そして当該汎用バスに準拠したソケット７４を介在させることにより、ＤＲＰ７１を個々に着脱可能としている。ＤＲＰ７１とＤＲＰコントローラ７２とのアクセスをＰＣＩｅワンパスとするが、性能に応じてレーン数選択としても良い。
【００３０】
図２はＤＲＰコントローラ７２のブロック図である。
【００３１】
ＤＲＰコントローラ７２は、ＰＣＩｅインタフェース（Ｉ／Ｆ）部７２ａ、ＤＲＰインタフェース（Ｉ／Ｆ）部７２ｂ、ＤＲＡＭインタフェース（Ｉ／Ｆ）部７２ｃ、回路情報メモリ７２ｄ、制御レジスタ７２ｅ、データバッファ７２ｆおよびＲＩＳＣコア７２ｇを含む。
【００３２】
ＰＣＩｅインタフェース部７２ａは、ブリッジコンパニオンチップ２とＲＩＳＣコア７２ｇとをインタフェースする。本実施形態においては、ブリッジコンパニオンチップ２とアクセラレータユニット７との接続にＰＣＩｅを利用することとし、ＰＣＩｅインタフェース部７２ａはＰＣＩｅ規格に準拠した処理を行う。従ってＰＣＩｅインタフェース部７２ａとしては、ＰＣＩｅ規格に準拠した既存のインタフェース回路を利用できる。ただし、ブリッジコンパニオンチップ２とアクセラレータユニット７との接続に別の規格のバスを利用することも可能であり、ＰＣＩｅインタフェース部７２ａは使用するバスの規格に応じたインタフェース部に適宜に置き換えられる。
【００３３】
ＤＲＰインタフェース部７２ｂは、ＤＲＰ７１とＲＩＳＣコア７２ｇとをインタフェースする。本実施形態においては、ＤＲＰ７１とＤＲＰコントローラ７２との接続にＰＣＩｅを利用するならば、ＤＲＰインタフェース部７２ｂはＰＣＩｅ規格に準拠した処理を行う。この場合にＤＲＰインタフェース部７２ｂとしては、ＰＣＩｅ規格に準拠した既存のインタフェース回路を利用できる。ただし、ＤＲＰ７１とＤＲＰコントローラ７２との接続に別の規格のバスを利用することも可能であり、ＤＲＰインタフェース部７２ｂは使用するバスの規格に応じたインタフェース部に適宜に置き換えられる。
【００３４】
ＤＲＡＭインタフェース部７２ｃは、メモリ７３とＲＩＳＣコア７２ｇとをインタフェースする。
【００３５】
回路情報メモリ７２ｄは、ＤＲＰ７１に設定する処理回路の構成などを表した回路情報をＲＩＳＤコア７２ｇの制御の下に記憶する。
【００３６】
制御レジスタ７２ｅは、ＤＲＰ７１の制御に関わる各種の制御情報をＲＩＳＤコア７２ｇの制御の下に記憶する。
【００３７】
データバッファ７２ｆは、転送データ用の中間バッファである。データバッファ７２ｆは、ＤＲＰ７１に設定された処理回路での処理のためにＤＲＰ７１へと与えるデータや、ＤＲＰ７１に設定された処理回路での処理の結果として得られてＤＲＰ７１から出力されたデータをＲＩＳＤコア７２ｇの制御の下に記憶する。
【００３８】
ＲＩＳＣコア７２ｇは、メインＣＰＵ１の指示に応じたブリッジコンパニオンチップ２による制御の下にＤＲＰ７１を制御する。
【００３９】
次に以上のような構成のＭＦＰ１００の動作について説明する。
【００４０】
図３はＤＲＰコントローラ７２のメインＣＰＵ１へのアクセスのための基本動作におけるＲＩＳＣコア７２ｇの処理のフローチャートである。図４は上記基本動作のシーケンス図である。
【００４１】
図３のステップＳａ１においてＲＩＳＣコア７２ｇは、ＤＲＰ７１を初期化およびデフォルト設定する。
【００４２】
ステップＳａ２においてＲＩＳＣコア７２ｇは、図４のイベントＥ１のようにメインＣＰＵ１からＤＲＰコントローラ７２に対して行われるリクエスト通知を受け付ける。
【００４３】
ステップＳａ３においてＲＩＳＣコア７２ｇは、リクエストを受け付け可能であるか否かを確認する。具体的にはＲＩＳＣコア７２ｇは、ＤＲＰ７１がアイドル（idle）であるか否か、あるいはメモリ７３の空き容量があるか否かの確認と、ステータス（ＳＴＳ）チェックなどを行い、その結果に基づいてリクエストを受け付け可能であるか否かを確認する。そしてＲＩＳＣコア７２ｇは、ここでの判断結果を図４のイベントＥ２のようにメインＣＰＵ１へと応答する。なおこの応答では、リクエストを受け付け可能である場合に「アイドル」を、そうでない場合に「ビジー（busy）」をそれぞれメインＣＰＵ１へ通知する。また、リクエストを受け付けることができない場合にＲＩＳＣコア７２ｇは、ステップＳａ３からステップＳａ４へ進む。
【００４４】
ステップＳａ４においてＲＩＳＣコア７２ｇは、リクエストへの対応を継続すべきかどうかをメインＣＰＵ１からの指示に応じて判断する。そして取消がメインＣＰＵ１から指示された場合には、ＲＩＳＣコア７２ｇは図３に示す処理を終了する。しかしながら、継続がメインＣＰＵ１から指示された場合には、ＲＩＳＣコア７２ｇはステップＳａ４からステップＳａ５へ進む。
【００４５】
ステップＳａ５においてＲＩＳＣコア７２ｇは、予め定められた解除条件が成立するまで待機する。解除条件は、例えば一定時間の経過である。そして解除条件が成立したならば、ＲＩＳＣコア７２ｇはステップＳａ３に戻る。
【００４６】
ステップＳａ３においてリクエストを受け付けること可能であると判定した場合にＲＩＳＣコア７２ｇは、ステップＳａ６に進むとともに、メモリコントロールシーケンスを開始する。メモリコントロールシーケンスにおける処理については後述するが、ＲＩＳＣコア７２ｇはこの処理を図３に示す処理と並行して実行する。
【００４７】
ステップＳａ６においてＲＩＳＣコア７２ｇは、図４のイベントＥ３のようなメインＣＰＵ１からのコードによる通知に基づいてモードを確認する。そしてモードが高速モード（ハイパフォーマンスモード）であると判定した場合にＲＩＳＣコア７２ｇは、ステップＳａ６からステップＳａ７へ進む。
【００４８】
ステップＳａ７においてＲＩＳＣコア７２ｇは、処理の並列化が可能であるか、あるいは処理の並列化が必要であるか否かを確認する。このステップＳａ７でＹＥＳと判定した場合にＲＩＳＣコア７２ｇは、ステップＳａ７からステップＳａ８へ進む。
【００４９】
ステップＳａ８においてＲＩＳＣコア７２ｇは、分割処理シーケンスおよびパイプライン処理シーケンスのいずれかを選択する。
【００５０】
ステップＳａ９においてＲＩＳＣコア７２ｇは、アイドルの複数のＤＲＰ７１にタスクを割り当てる。かくして複数のＤＲＰ７１が複数のタスクを並列処理する。なお、ＤＲＰ７１における回路切替や実行命令などの制御は、ＤＲＰコントローラ７２側で制御しても良いし、ＤＲＰ７１側の内蔵ＣＰＵで制御（ＤＡＰＤＮＡなど）しても良い。
【００５１】
一方、モードが省エネモード（エコノミーモード）であると判定した場合にＲＩＳＣコア７２ｇは、ステップＳａ６からステップＳａ１０へ進む。また、モードが高速モードであるものの、ステップＳａ７にてＮＯと判定した場合にＲＩＳＣコア７２ｇは、ステップＳａ７からステップＳａ１０へ進む。
【００５２】
ステップＳａ１０においてＲＩＳＣコア７２ｇは、シリアル処理シーケンスを選択する。
【００５３】
ステップＳａ１１においてＲＩＳＣコア７２ｇは、アイドルの１つのＤＰＲ７１にタスクを割り当てる。かくして、１つのみのＤＲＰ７１が１つのみのタスクを処理する。
【００５４】
ステップＳａ９またはステップＳａ１１では、図４のイベントＥ４のように、メモリ状態のＯＫ／ＮＧがＤＲＰコントローラ７２からメインＣＰＵ１へ通知される。このイベントＥ４に応じてイベントＥ５において、処理を実施するか否かがメインＣＰＵ１からＤＲＰコントローラ７２へと通知される。さらに、ＤＲＰ７１での処理の対象となるデータが、図４のイベントＥ６のようにメインＣＰＵ１からＤＲＰコントローラ２７へと転送される。
【００５５】
ＤＲＰ７１での処理が終了し、その旨の通知がＤＲＰ７１から送られたならば、ＲＩＳＣコア７２ｇはステップＳａ１２においてこの処理終了通知を受け取る。
【００５６】
さらにステップＳａ１３においてＲＩＳＣコア７２ｇは、図４のイベントＥ７のようにメインＣＰＵ１へと処理完了を通知する。
【００５７】
ステップＳａ１４においてＲＩＳＣコア７２ｇは、処理の繰り返しが必要であるか否かを確認する。そしてここでＹＥＳと判定したならばＲＩＳＣコア７２ｇは、ステップＳａ２以降の処理を繰り返し実行する。そしてステップＳａ１４でＮＯと判定したならばＲＩＳＣコア７２ｇは、図３に示す処理を終了する。
【００５８】
図５は各モードにおけるＤＲＰの処理状態の概念図である。
【００５９】
左から通常モード（ノーマルモード）、高速モード（ハイパフォーマンスモード）、省エネモード（エコノミーモード）のそれぞれにおけるタスク実行例を示している。
【００６０】
通常モードは、アイドルなＤＲＰ７１があれば、１つまたは複数のアイドルなＤＲＰにランダムまたはＩＤ順にタスクを割り振る。高速モードは、できる限り多数のＤＲＰ７１にタスクを割り振る。また高速モードは、並列化できない場合は、通常モードと同様にタスクを割り振る。省エネモードは、アイドルの１個のみのＤＲＰ７１に対してタスクを割り振る。他のＤＲＰ７１がアイドルであっても、そのＤＲＰ７１はＩ／Ｆのみ残してできる限りの電源を切って消費電力を抑える。
【００６１】
図６はパイプライン処理の処理イメージを示す図である。
【００６２】
パイプライン処理とデータ（画像）分割処理とを併用する場合が図６に示す処理イメージである。データ分割処理を併用しない場合には、図６に示される１系統のみがその処理イメージとなる。
【００６３】
図７はデータ分割処理の処理イメージを示す図である。
【００６４】
なお、図７に示すようなデータ分割処理は、可変長コーデック処理などのデータ分割が不可能な処理には適用しない。
【００６５】
図８はメモリコントロールシーケンスにおけるＲＩＳＣコア７２ｇの処理のフローチャートである。
【００６６】
ステップＳｂ１においてＲＩＳＣコア７２ｇは、処理に必要な入力・出力・中間データ量情報をメインＣＰＵ１から受け取り、処理に必要な容量を計算する。
【００６７】
ステップＳｂ２においてＲＩＳＣコア７２ｇは、容量が不足するか否かを確認する。そして容量が不足するならばＲＩＳＣコア７２ｇは、ステップＳｂ２からステップＳｂ３へ進む。具体的には例えば、アイドルなＤＲＰ７１が存在してもメモリ７３に十分な空きがない場合には、ＲＩＳＣコア７２ｇは、ステップＳｂ２においてＹＥＳと判定する。
【００６８】
ステップＳｂ３においてＲＩＳＣコア７２ｇは、処理を継続するのか、それとも取り消すのかを、メインＣＰＵ１に問い合わせた上で判断する。そして、処理を取り消す旨がメインＣＰＵ１から指示されたならば、ＲＩＳＣコア７２ｇはステップＳｂ３でＮＯと判断し、図８の処理を終了する。しかし、処理を継続する旨がメインＣＰＵ１から指示されたならば、ＲＩＳＣコア７２ｇは、ステップＳｂ３からステップＳｂ４へ進む。
【００６９】
ステップＳｂ４においてＲＩＳＣコア７２ｇは、予め定められた解除条件が成立するまで待機する。解除条件は、例えば一定時間の経過である。そして解除条件が成立したならば、ＲＩＳＣコア７２ｇはステップＳｂ２に戻る。
【００７０】
ステップＳｂ２において容量不足ではないと判定した場合にＲＩＳＣコア７２ｇは、ステップＳｂ２からステップＳｂ５へ進む。
【００７１】
ステップＳｂ５においてＲＩＳＣコア７２ｇは、メモリアロケーションを実施する。
【００７２】
ステップＳｂ６においてＲＩＳＣコア７２ｇは、入力スタートアドレスを取得し、これをメインＣＰＵ１へ通知する。
【００７３】
ステップＳｂ７においてＲＩＳＣコア７２ｇは、データが受信されるのを待つ。
【００７４】
ステップＳｂ８においてＲＩＳＣコア７２ｇは、データを受信した後、該当ＤＲＰ７１に入力・出力・中間スタートアドレスおよびデータ量を通知する。
【００７５】
ステップＳｂ９においてＲＩＳＣコア７２ｇは、制御レジスタ７２ｅ中のメモリ管理レジスタに情報をインプットする。
【００７６】
ステップＳｂ１０においてＲＩＳＣコア７２ｇは、処理の完了後、メインＣＰＵ１へ出力スタートアドレスを通知し、メインＣＰＵ１側へ処理後のデータを転送する。そしてこのステップＳｂ１０を終えたら、ＲＩＳＣコア７２ｇは図８に示す処理を終了する。
【００７７】
図９はメモリ７３のメモリマップの一例を示す図である。図１０はメモリ管理レジスタの一例を示す図である。
【００７８】
以上のようにＭＦＰ１００では、メインＣＰＵ１から要求される機能を複数のＤＲＰ７１で処理させることができるようになる。また、ＤＲＰ７１の入出力、中間データ等で使用する目的のメモリ７３をＤＲＰコントローラ７２で一括制御することで、全体のメモリ容量を最適化できる。
【００７９】
さらに、ＤＲＰコントローラ７２とＤＲＰ７１との接続にＰＣＩｅなどの汎用バスを用いていることで、ソケット着脱が可能となり、システムからくる要求性能に柔軟に対応が可能となるため、ローエンドからハイエンドまでの機種展開での使用が可能となる。
【００８０】
また、ＤＲＰコントローラ７２がメモリコントローラおよびＤＲＰ処理シーケンサーとしての機能を有することにより、メインＣＰＵ１から要求される処理のタスク管理およびメモリ管理を司ることができるようになり、各種モード(省電力モード、高速処理モード等)への対応が可能となる。
【００８１】
かくしてＭＦＰ１００はＤＲＰコントローラ７２を備えることにより、以下の効果を得ることができる。
【００８２】
・メインＣＰＵ１とＤＲＰ７１とのアクセスを減らすことによりメインＣＰＵ１の負担を軽減できる。
【００８３】
・処理フローをリアルルタイムに決めることで、ＤＲＰ７１を効率的に使用でき、省電力化も可能となる。
【００８４】
・ブリッジコンパニオンチップ２が備えるＰＣＩｅポートの数などから決まるシステム条件の中で、要求に応じた機能を追加可能となる。
【００８５】
・使用メモリ量の最適化が可能となる。
【００８６】
この実施形態は、次のような種々の変形実施が可能である。
【００８７】
また、ＤＲＰコントローラ７２の動作制御には、外付けのＲＩＳＣコアを用いても良い。
【００８８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１００…ＭＦＰ１００、１…メインＣＰＵ、２…ブリッジコンパニオンチップ、３…ハードディスクドライブ、４…メインメモリ、５…アクセラレータ、６…ページメモリコントローラ６、７…アクセラレータユニット、８…ページメモリ、９…スキャナ、１０…スキャナインタフェース部、１１…画像処理系チップ、１２…プリンタインタフェース部１２、１３…プリンタ、７１…ＤＲＰ、７２…ＤＲＰコントローラ、７３…メモリ、７４…ソケット、７２ａ…ＰＣＩｅインタフェース部、７２ｂ…ＤＲＰインタフェース部、７２ｃ…ＤＲＡＭインタフェース部、７２ｄ…回路情報メモリ、７２ｅ…制御レジスタ、７２ｆ…データバッファ、７２ｇ…ＲＩＳＣコア。
【図１】
2011160424.tif 000003
【図２】
2011160424.tif 000004
【図３】
2011160424.tif 000005
【図４】
2011160424.tif 000006
【図５】
2011160424.tif 000007
【図６】
2011160424.tif 000008
【図７】
2011160424.tif 000009
【図８】
2011160424.tif 000010
【図９】
2011160424.tif 000011
【図１０】
2011160424.tif 000012