(57)【要約】【課題】通常タイプのセルと低消費電力タイプのセルとを有する、回路の再構成が可能であるデバイスにおいて、消費電力の更なる低減を可能とする情報処理装置を提供する。【解決手段】複数種類のジョブを実行する情報処理装置であって、回路構成データに従って回路の再構成が可能であるデバイスと、デバイスの通常タイプのセルよりも動作速度が低速であり、かつ、消費電力が低い低消費電力タイプのセルにジョブを実行するための機能を優先的に割り当てた、複数種類のジョブに対応する複数の回路構成データを記憶する記憶手段と、複数種類のジョブのいずれかを受信した場合に、当該受信したジョブに対応する回路構成データを用いて、デバイスの回路を再構成する制御手段と、を備える。【選択図】図１
2011113212.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のジョブを実行する情報処理装置であって、
回路構成データに従って回路の再構成が可能であるデバイスと、
前記デバイスの通常タイプのセルよりも動作速度が低速であり、かつ、消費電力が低い低消費電力タイプのセルにジョブを実行するための機能を優先的に割り当てた、前記複数種類のジョブに対応する複数の回路構成データを記憶する記憶手段と、
前記複数種類のジョブのいずれかを受信した場合に、当該受信したジョブに対応する回路構成データを用いて、前記デバイスの回路を再構成する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記複数の回路構成データは、各ジョブに応じた機能が割り当てられた低消費電力タイプのセルがクリティカルパス上に存在する場合には、前記クリティカルパス上のセルに割り当てられた機能の割り当て先が前記通常タイプのセルに変更されていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数の回路構成データは、各ジョブ毎のすべての機能が前記低消費電力タイプのセルに割り当てきれない場合には、機能の一部の割り当て先が前記低消費電力タイプのセルから前記通常タイプのセルに変更されていることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記複数の回路構成データは、各ジョブ毎のすべての機能が前記低消費電力タイプのセルに割り当てきれない場合には、前記すべての機能の中からより高速に動作する必要がある機能の割り当て先が前記低消費電力タイプのセルから前記通常タイプのセルに変更されていることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記複数の回路構成データは、各ジョブ毎のすべての機能が前記低消費電力タイプのセルに割り当てきれない場合には、前記すべての機能の中から動作率がより低い機能の割り当て先が前記低消費電力タイプのセルから前記通常タイプのセルに変更されていることを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の再構成が可能であるデバイスを備える情報処理装置に関する。
【背景技術】
【０００２】
回路の再構成が可能であるデバイス（プログラマブルロジックデバイス）は、回路を構成する素子や配線に関する回路構成データを外部記憶装置（ＲＯＭ、フラッシュメモリ等）に保持し、必要に応じて保持している回路構成データを読み込む。読み込んだ回路構成データに基づいて内蔵する複数の論理エレメント間の接続状態を変更することによって、任意の論理回路を実現可能な集積回路である。例えば、処理すべきデータの高度化が著しい画像処理分野等では、画像の種類や処理状況に応じて、この接続状態を変更する要求が強い。このような場合、代表的なプログラマブルロジックデバイスであるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を処理装置に実装し、処理装置毎の要求仕様に最適化した回路構成データを生成することで当該処理を可能としている。
【０００３】
また、処理装置で複数のハードウェア機能を実行すべき場合に、ハードウェア機能を実現するための複数の回路構成データを外部記憶装置に格納しておき、要求された処理に応じて、外部記憶装置に格納された回路構成データのいずれかを選択して読み出す技術がある。
【０００４】
また、大規模の半導体集積回路は、消費電力が大きいことから消費電力の低減の要望が特に強い。このため、プログラマブルロジックデバイスに、通常タイプのセルと、通常タイプのセルよりも動作速度が低速であり、かつ、消費電力が低い低消費電力タイプのセルとを設けたものがあり、動作速度及び消費電力の観点から必要に応じて、これらのセルを使い分ける技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−８２０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、従来の技術では、実行すべきハードウェア機能を、まず、通常タイプのセルに割り当て、必要に応じて、例えば、当該ハードウェア機能を高速な動作速度で実行する必要がない場合等には、通常タイプのセルから低消費電力タイプのセルに割り当てを変更する。
【０００７】
しかしながら、低消費電力タイプのセルに割り当てられた機能がほとんど動作しない場合には、ほとんどの動作が通常タイプのセルを用いて行われることとなる。このため、消費電力の低減を図れていない状況が生じ得る。
【０００８】
本発明は、上記課題に鑑みてなされたものであって、通常タイプのセルと低消費電力タイプのセルとを有する、回路の再構成が可能であるデバイスにおいて、消費電力の更なる低減を可能とする情報処理装置を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る情報処理装置は、複数種類のジョブを実行する情報処理装置であって、回路構成データに従って回路の再構成が可能であるデバイスと、前記デバイスの通常タイプのセルよりも動作速度が低速であり、かつ、消費電力が低い低消費電力タイプのセルにジョブを実行するための機能を優先的に割り当てた、前記複数種類のジョブに対応する複数の回路構成データを記憶する記憶手段と、前記複数種類のジョブのいずれかを受信した場合に、当該受信したジョブに対応する回路構成データを用いて、前記デバイスの回路を再構成する制御手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、通常タイプのセルと低消費電力タイプのセルとを有する、回路の再構成が可能であるデバイスにおいて、消費電力の更なる低減を可能とする情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１に係る情報処理システムのハードウェア構成を示す図である。
【図２】画像処理部の機能的構成を示す図である。
【図３】画像データのフォーマットを示す図である。
【図４】回路構成データのフォーマットを示す図である。
【図５】回路構成データ及び配線データの生成処理手順を示す図である。
【図６】実行するジョブと動作する機能との対応関係を示す図である。
【図７】回路の再構成処理手順を示す図である。
【図８】実行するジョブと構成データとの対応関係を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は特許請求の範囲を限定するものでなく、また、実施形態で説明される特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜実施例１＞
［情報処理システムのハードウェア構成（図１）］
情報処理システムは、コントローラ１００と、デバイス１（例えば、スキャナ等の画像入力装置）と、デバイス２（例えば、プリンタ等の画像出力装置）と、操作部３とを含む。
【００１４】
コントローラ１００は、デバイス１、２と接続し、一方ではＬＡＮ１１、公衆回線１２等のネットワークと接続することで、画像情報やデバイス情報の入出力制御を行う装置である。すなわち、コントローラ１００は、複数種類のジョブを実行する情報処理装置として機能し、具体的には次のような構成を備える。
【００１５】
ＣＰＵ１０３は、システム全体を制御する。ＲＡＭ１０７は、ＣＰＵ１０３が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリとしても利用される。
【００１６】
ＲＯＭ１０８は、ブートＲＯＭとして利用され、システムのブートプログラムが格納される。また、ＲＯＭ１０８は、ＦＰＧＡに展開するための回路構成データ（デバイス構成データ）を格納するためにも用いられる。
【００１７】
ＨＤＤ１０９（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）は、システムソフトウェア、画像データ、アドレス帳等の個人データを格納する。これらのデータは、後述の画像圧縮部１１３で符号化されて格納され、使用時には復元される。なお、ＨＤＤを具備していない場合には、他の記憶媒体（フラッシュメモリ７０１等）に記憶するものとする。
【００１８】
操作部Ｉ／Ｆ１０４は、コントローラ１００に操作部３を接続するためのインターフェースであり、操作部３に表示する画像データを操作部３に対して出力する。また、操作部Ｉ／Ｆ１０４は、操作部３でユーザが入力した情報をＣＰＵ１０３に送信する。
【００１９】
ネットワークＩ／Ｆ１０５は、ＬＡＮ１１に接続し、情報の入出力を行う。モデム１０６は、公衆回線１２に接続し、データ送受信を行うための変調復調処理を行う。以上の構成がシステムバス１０１上に配置される。
【００２０】
イメージバスＩ／Ｆ１１０は、システムバス１０１と画像データを高速で転送するイメージバス１０２とを接続し、データ構造を変換するバスブリッジである。イメージバス１０２は、ＰＣＩバス又はＩＥＥＥ１３９４等の高速バスで構成される。イメージバス１０２上には以下の構成が配置される。
【００２１】
ＰＤＬアクセラレータ１１１は、ＰＤＬコードから画像データ８００を生成する。デバイスＩ／Ｆ１１２は、デバイス１、２とコントローラ１００とを接続し、画像データの同期系／非同期系の変換を行う。画像圧縮部１１３は、多値画像データについてはＪＰＥＧ、２値画像データについてはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。圧縮又は伸張する画像データは、ＨＤＤ１０９から読み出し、圧縮、伸張処理後に再びＨＤＤ１０９に格納する。
【００２２】
ＦＰＧＡ７００（デバイス）は、画像処理アルゴリズムを有する回路構成データを展開し、必要な画像処理アルゴリズムをハードウェアで構成する機能を備える。すなわち、ＦＰＧＡ７００は、本実施例では、図２で後述する画像処理部２００として機能する。ＦＰＧＡ７００は、１つのジョブを処理し終えるとエンドフラグを生成する。ＦＰＧＡ７００は、通常タイプのセル（以下では、単に通常セルと言う）と、当該通常タイプのセルよりも動作速度が低速であり、かつ、消費電力が低い低消費電力タイプのセル（以下では、単に低消費電力セルと言う）とを有する。なお、本実施例では、消費電力のレベルが異なる２種類のセルを設けたが、３種類以上のレベルのセルを設けても構わない。フラッシュメモリ７０１には、ＦＰＧＡ７００に展開するための回路構成データが格納される。
【００２３】
［画像処理部２００の機能的構成（図２）］
画像処理部２００の機能は、上記の通り、ＦＰＧＡ７００に画像処理に関する回路構成データを展開することにより実現される。
【００２４】
イメージバスＩ／Ｆコントローラ２０１は、イメージバス１０２と接続され、そのバスアクセスシーケンスの制御、画像処理部２００内の各構成の制御及びタイミングを発生させる。下地除去処理部２０２は、背景に薄い色がある原稿を読み取った画像データ等が送られてきた場合に背景色を除去する。色変換処理部２０３は、プリンタの出力特性に合わせた色変換を行う。
【００２５】
解像度変換処理部２０４は、ＬＡＮ１１又は公衆回線１２から受信した画像データを、画像出力装置としてのデバイス２の解像度に変換するための解像度変換を行う。スクリーン処理部２０５は、画像データに対して２値化処理を行う。スムージング処理部２０６は、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理を行う。
【００２６】
像域分離処理部２０７は、入力画像から文字領域を検出することにより、像域を判定し、その後の画像処理に利用する像域信号を生成する。テーブル処理部２０６は、読み取った輝度データである画像データを濃度データに変換するためのテーブル変換を行う。フィルタ処理部２０８は、エッジ強調等の目的に従ったデジタル空間フィルタでコンボリューション演算を行う。
【００２７】
編集部２０９は、例えば、入力画像データからマーカーペンで囲まれた閉領域を認識し、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。処理が終了した画像データは、再びイメージバスＩ／Ｆコントローラ２０１を介して、イメージバス１０２上に転送される。
【００２８】
［画像データ及び回路構成データの一例（図３、図４）］
画像データ３００は、図３で示すように、ヘッダ３０１、属性情報３０２、ピクセルデータ３０３及びフッタ３０４を含む。ヘッダ３０１は、ジョブＩＤやページ数、画像データ３００の長さや幅に関する情報や、画像データ３００の始点を示すために用いるスタートフラグを含む。属性情報３０２は、色、解像度及び印刷モード等の画像の印刷に関わる情報を含む。ピクセルデータ３０３は、画素毎の画像データを含む。フッタ３０４は、画像データ３００の終点を示すために用いるエンドフラグを含む。
【００２９】
回路構成データ４００（データ幅Ｔビット）は、図４で示すように、ヘッダ４０１、フッタ４０２及び配線データ４０３を含む。ヘッダ４０１は、回路構成データ４００の始点を示すために用いるスタートフラグと、回路構成データ４００の回路情報とを含む。フッタ４０２は、回路構成データ４００の終点を示すために用いるエンドフラグと、ＦＰＧＡ７００を起動させるために用いる起動フラグとを含む。
【００３０】
配線データ４０３は、スタートビット４０４と、エンドビット及びエラーチェックビット４０５と、配線データビット４０６とを含む。スタートビット４０４（データ幅１ビット）は、配線データの先頭に付加され、配線データの始まりを示すために用いられる。エラーチェックビット及びエンドビット４０５（データ幅ｎビット）は、配線データの末尾に付加され、配線データの正当性のチェック及び配線データの終わりを示すために用いられる。配線データビット４０６（データ幅ｍビット）は、ＦＰＧＡ７００の論理エレメント間の接続状態を表すために用いられる。
【００３１】
［回路構成データ４００の生成処理手順（図５）］
ここで示す回路構成データ４００の生成処理は、開発者によって製品の開発段階で行われる処理であり、生成された回路構成データは事前にＲＯＭ１０８に格納される。
【００３２】
まず、開発者は、各ジョブ毎に動作する機能の選択を行う（Ｓ１０）。ここで、各ジョブ毎に動作する機能は、要求するジョブの内容に応じて予め設定されており、例えば図６に示すように、ジョブ１で動作する機能として選択される機能１〜４は、編集部２０９、フィルタ処理部２０８、テーブル処理部２０６及び像域分離処理部２０７であり、ジョブ２で動作する機能として選択される機能１〜４は、スムージング処理部２０５、色変換処理部２０３、下地除去処理部２０２及び解像度変換処理部２０４である。
【００３３】
次に、開発者は、選択した機能を優先的にＦＰＧＡ７００内の低消費電力セルへ割り当て、その回路構成データ４００の生成を試みる（Ｓ１１）。そして、開発者は、低消費電力セルに選択したすべての機能を割り当てることができたか否かを判断する（Ｓ１２）。少なくとも一部の機能が割り当てきれなかった場合には、開発者は、選択した機能の中で高速動作が必要なパスの機能を通常セルに割り当てるように置換を行う（Ｓ１３）。開発者は、選択した全ての機能を低消費電力セル又は通常セルに割り当てるまでＳ１２、Ｓ１３の処理を繰り返す。
【００３４】
一方、Ｓ１１で全ての機能を低消費電力セルに割り当てできた場合には、開発者は、選択されなかった残りの機能を実装するか否かを判断する（Ｓ１４）。例えば、ジョブ１で動作する場合には、編集部２０９、フィルタ処理部２０８、テーブル処理部２０６及び像域分離処理部２０７がＳ１０で選択されるため、ここでの残りの機能とは、スムージング処理部２０６、色変換処理部２０３、下地除去処理部２０２及び解像度変換処理部２０４である。つまり、ジョブ１の４つの機能は割り当てを行った上で、ジョブ２の機能の中で追加したい機能があれば追加的に割り当てることにより、ジョブ１を受信した際に実現可能な機能を増加させることができる。
【００３５】
残りの機能を実装する場合には、開発者は、他の機能を残りの低消費電力セルに割り当てる（Ｓ１５）。なお、他の機能のうちの一部が低消費電力セルに割り当て不可能であった場合には、Ｓ１３と同様に、開発者は、高速動作が必要なパスの機能を通常セルに割り当てるように置換を行えばよい。
【００３６】
一方、Ｓ１４で残りの機能を実装しない場合には、開発者は、現在の回路構成データ４００の内部に時間的余裕のないパス（クリティカルパス）が存在するか否かを判断する（Ｓ１６）。具体的には、開発者は、予め定めた時間を超える動作時間（クロックサイクルタイム）を要するパスが存在する場合には、クリティカルパスが存在すると判断する。
【００３７】
クリティカルパスが存在しない場合には、データの生成を終了する。Ｓ１６でクリティカルパスが存在する場合には、開発者は、クリティカルパス上の低消費電力セルに割り当てられているロジックを通常セルへ置換して割り当てる（Ｓ１７）。これにより、開発者は、クリティカルパスの除去を行っていく。開発者は、Ｓ１６、Ｓ１７をクリティカルパスが存在しなくなるまで繰り返し行い、回路構成データの生成を終了する。
【００３８】
このようにして生成された回路構成データは、事前にＲＯＭ１０８に格納される。なお、ここでは、低消費電力セルが不足している場合に、Ｓ１３でより高速に動作する必要があるパスを通常セルに置換したが、動作率のより低いパスを通常セルに置換しても構わない。これは、動作率の低いパスを低消費電力セルに割り当てても、消費電力の低減が図れない可能性が高いためである。
【００３９】
［回路再構成処理手順（図７）］
ここで示す回路再構成処理は、ユーザが製品出荷後に実際に情報処理装置を使用する場面において、コントローラ１００のＣＰＵ１０３によって行われる処理である。
【００４０】
ＣＰＵ１０３は、ＬＡＮ１１及びネットワークＩ／Ｆ１０５を介してジョブを受信する（Ｓ２０）。そして、ＣＰＵ１０３は、当該受信したジョブをＰＤＬアクセラレータ１１１に入力し、画像データを生成する。次に、ＣＰＵ１０３は、予め生成された複数の回路構成データの中から受信したジョブに対応する回路構成データを選択する（Ｓ２１）。ＣＰＵ１０３は、例えば図８に示すように、ジョブ毎に予め対応したテーブルを参照して受信したジョブに対応する回路構成データを決定する。
【００４１】
次に、ＣＰＵ１０３は、ＦＰＧＡ７００上の回路の再構成が必要であるか否かを判定する（Ｓ２２）。つまり、ＣＰＵ１０３は、Ｓ２１で選択した回路構成データの有する機能が実際に回路として反映された回路構成データで実現可能であるか否かを判定する。
【００４２】
ＦＰＧＡ７００上の回路の再構成が必要である場合には、ＣＰＵ１０３は、ＲＯＭ１０８から該当する回路構成データ４００をフラッシュメモリ７０１に展開した後に、ＦＰＧＡ７００をＳ２１で選択した回路構成データ（図４参照）で回路を再構成する（Ｓ２３）。そして、ＣＰＵ１０３は、ＦＰＧＡ７００から生成される再構成終了のサインを検知する（Ｓ２４）。その後、ＣＰＵ１０３は、Ｓ２０で入力されたジョブをＦＰＧＡ７００に実行させる（Ｓ２５）。例えば、入力されたジョブが画像処理ジョブである場合には、ＣＰＵ１０３は、ピクセルデータを含む画像データ３００をＦＰＧＡ７００に転送し、当該画像処理ジョブを実行させる。そして、ＣＰＵ１０３は、ヘッダ３０１、属性情報３０２を用いてＦＰＧＡ７００に対して最適なレジスタ設定を行う。その後、ＦＰＧＡ７００がフッタ３０４からジョブの終了を検知した場合に、当該ジョブの実行は終了となる。当該ジョブが終了すると、ＣＰＵ１０３は、次のジョブが入力されているか否かを判定する（Ｓ２６）。ＣＰＵ１０３は、次のジョブが入力されている場合にＳ２１から再度処理を開始し、次のジョブが入力されていない場合に一連の処理を終了する。
【００４３】
以上述べた通り、本実施例によれば、ジョブを実行するための機能を低消費電力セルに優先的に割り当てた複数の回路構成データの中から、受信したジョブに対応する回路構成データを選択して回路を再構成するため、低消費電力セルにマッピングされた機能を実行する比率を高めることができる。これにより、ＦＰＧＡの消費電力の更なる低減を図ることが可能となる。
【００４４】
また、ジョブに応じた機能が割り当てられた低消費電力セルがクリティカルパス上に存在する場合には、クリティカルパス上の低消費電力セルに割り当てられた機能の割り当て先が通常セルに変更されているため、低消費電力セルに優先的に機能の割り当てを行うことに起因する動作速度の低下を抑制することが可能である。
【００４５】
なお、本実施例では、ＦＰＧＡ７００に画像処理機能を持たせることにより、ＦＰＧＡ７００を画像処理部２００として機能させる情報処理装置について説明したが、ＦＰＧＡ７００に画像処理機能以外の機能を持たせることも可能である。
【００４６】
＜他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011113212.tif 000003
【図２】
2011113212.tif 000004
【図３】
2011113212.tif 000005
【図４】
2011113212.tif 000006
【図５】
2011113212.tif 000007
【図６】
2011113212.tif 000008
【図７】
2011113212.tif 000009
【図８】
2011113212.tif 000010