(57)【要約】【課題】コンフィグの実行パターンが処理の進行過程で変更される場合であってもコンフィグデータデータを遅滞なくロードできるデータ処理装置を提供する。【解決手段】複数の素子を適宜組み合わせて構成される複数の回路エレメントにより構成されたプロセッサエレメントアレイ３８を備え、プロセッサエレメントアレイ３８に実装する種々の回路構成を示すコンフィグデータを複数記憶部２０に記憶しておき、予め設定された処理の実行時にプロセッサエレメントアレイ３８に実装する順番に応じて、次に実装する回路構成を示すコンフィグデータを示すポインタが対応付けされたコンフィグ実行パターンリストに従って前記記憶手段に記憶されたコンフィグデータを読み出して前記エレメントアレイに実装するに際し、処理の進行に伴い、必要な回路構成だけを実装すべくポインタを付け替える。【選択図】図２
2008066875.tif 000002
【特許請求の範囲】
【請求項１】
複数の素子を適宜組み合わせて構成される複数の回路エレメントにより構成されたエレメントアレイと、
前記エレメントアレイに実装する種々の回路構成を示すコンフィグデータを複数記憶する記憶手段と、
予め設定された処理の実行時に前記エレメントアレイに実装する順番に応じて次に実装する回路構成を示すコンフィグデータを示すポインタが対応付けされたテーブルを記憶するテーブル記憶手段と、
前記予め設定された処理の進行に伴い、必要な回路構成だけを実装すべく前記ポインタを変更するように前記テーブルを書き替える書き替え手段と、
前記テーブルに従って前記記憶手段に記憶されたコンフィグデータを読み出して前記エレメントアレイに実装する実装手段と、
を備えたデータ処理装置。
【請求項２】
前記書き替え手段は、前記ポインタを変更するコンフィグデータの実装時に前記テーブルを書き替えることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記書き替え手段は、前記ポインタを変更することが確定するコンフィグデータによる処理が終了した場合に前記テーブルを書き替えることを特徴とする請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関する。
【背景技術】
【０００２】
近年、複数のエレメントの接続関係をプログラムにより書き替え可能に構成された動的再構成可能なデバイス（リコンフィギュアブルプロセッサ）が提案されている。
【０００３】
この種のリコンフィギュアブルプロセッサでは、必要とされる処理機能毎に回路構成を書き替えることによって、必要なときに必要な機能をチップ上に実現させることができる。
【０００４】
リコンフィギュアブルプロセッサは、実行する処理を目的に応じて変更可能であるため、通信機器などのバージョンアップなど、コンフィグデータを書き替えて対応するような使用方法が広く知られている。
【０００５】
また、リコンフィギュアブルプロセッサは、データ処理、画像処理などのアルゴリズムを実装する場合に、処理内容を複数のコンフィグに分割し、それぞれのコンフィグに応じて時系列的に順々に回路構成を書き替えて処理を進めることによって、１つのまとまった機能を実行させることができる。
【０００６】
そこで、このリコンフィギュアブルプロセッサを、機能追加可能な画像処理装置に応用する場合、必要な画像処理を実行するために、複数のコンフィグを順次入れ替えて処理を進めていく必要が生じる。
【０００７】
例えば、１つの画像処理を実行する際に、次に実行するコンフィグを多数のコンフィグの中から選択しながらコンフィグメモリにロードする場合、実行中のコンフィグの処理時間が短い場合には次のコンフィグのロードが間に合わなくなる。
【０００８】
従来、コンフィグ実行パターン生成手段を設け、ジョブの実行前に予め決定したコンフィグの実行順番を示すコンフィグ実行パターンをメモリに記憶しておき、このコンフィグ実行パターンに従ってコンフィグを順次ロードすることが提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−６８９９３公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、コンフィグの実行パターンが処理の進行過程で変更される場合であってもコンフィグデータデータを遅滞なくロードできるデータ処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１の発明は、複数の素子を適宜組み合わせて構成される複数の回路エレメントにより構成されたエレメントアレイと、前記エレメントアレイに実装する種々の回路構成を示すコンフィグデータを複数記憶する記憶手段と、予め設定された処理の実行時に前記エレメントアレイに実装する順番に応じて次に実装する回路構成を示すコンフィグデータを示すポインタが対応付けされたテーブルを記憶するテーブル記憶手段と、前記予め設定された処理の進行に伴い、必要な回路構成だけを実装すべく前記ポインタを変更するように前記テーブルを書き替える書き替え手段と、前記テーブルに従って前記記憶手段に記憶されたコンフィグデータを読み出して前記エレメントアレイに実装する実装手段と、を備えている。
【００１１】
請求項１記載の発明によれば、複数の素子を適宜組み合わせて構成される複数の回路エレメントにより構成されたエレメントアレイに実装する種々の回路構成を示すコンフィグデータを複数記憶しておき、予め設定された処理の実行時に前記エレメントアレイに実装する順番に応じて次に実装する回路構成を示すコンフィグデータを示すポインタが対応付けされたテーブルに従って前記記憶手段に記憶されたコンフィグデータを読み出して前記エレメントアレイに実装するに際し、予め設定された処理の進行に伴い、必要な回路構成だけを実装すべく前記ポインタを変更するように前記テーブルを書き替えるので、コンフィグの実行パターンが処理の進行過程で変更される場合であってもコンフィグデータを遅滞なくロードできる。
【００１２】
請求項２の発明のように、前記書き替え手段は、前記ポインタを変更するコンフィグデータの実装時に前記テーブルを書き替えるように構成してもよい。
【００１３】
また、請求項３の発明のように、前記書き替え手段は、前記ポインタを変更することが確定するコンフィグデータによる処理が終了した場合に前記テーブルを書き替えるように構成することもできる。
【発明の効果】
【００１４】
以上説明した如く本発明は、コンフィグの実行パターンが処理の進行過程で変更される場合であってもコンフィグを遅滞なくロードできる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００１５】
図１には、本実施の形態に係る画像形成装置１０の画像処理を実行する部位の構成が概略的に示されている。なお、本実施の形態では、画像形成装置に本発明を適用した形態について説明する。
【００１６】
同図に示されるように、画像形成装置１０は、画像処理部１４と、画像形成部１８と、を含んで構成されており、それぞれバス１２を介して接続されている。
【００１７】
画像処理部１４は、リコンフィギュアブルプロセッサにより構成されており、制御部３０、インタフェース（Ｉ／Ｆ）３２、コンフィグメモリ３４Ａ、３４Ｂ及びプロセッサエレメントアレイ３８を含んで構成されている。制御部３０、Ｉ／Ｆ３２、コンフィグメモリ３４Ａ、３４Ｂ及びプロセッサエレメントアレイ３８は、それぞれバス４０を介して接続されている。なお、Ｉ／Ｆ３２は、バス１２とも接続されている。
【００１８】
また、画像処理部１４には、記憶部２０が接続されている。記憶部２０には、画像処理部１４による画像処理の対象とされた画像データを一時的にバッファリングする画像データバッファ２４と、画像処理部１６が実行する画像処理を細分化して得られる複数のコンフィグ単位で作成されたコンフィグデータ２６と、を含んで構成されている。
【００１９】
制御部３０では、印刷ジョブに応じた画像処理を実行するために必要なコンフィグに応じたコンフィグデータ２６をＩ／Ｆ３２を介して順次記憶部１４から読出して、コンフィグメモリ３４Ａ、３４Ｂに展開する。
【００２０】
プロセッサエレメントアレイ３８は、多数のエレメントを含んで構成されており、各エレメントで実行する処理（ＡＤＤ，ＳＵＢやＳＨＩＦＴ，ＭＵＬ，ＳＥＬ等)や各エレメント間の接続関係等を書き替え可能に構成されている。プロセッサエレメントアレイ３８には、上記コンフィグメモリ３４Ａ、３４Ｂの何れか一方が接続されるようになっており、接続されているコンフィグメモリ３４に展開されたコンフィグデータに基づいて書き替えが実行される。
【００２１】
なお、コンフィグデータは、後述するプロセッサエレメントアレイ３８に各コンフィグを実行するための回路構成を実装するためのデータであり、各エレメントで実行する処理情報や各エレメント間の接続関係等が含まれる。
【００２２】
また、プロセッサエレメントアレイ３８には、印刷ジョブの画像データが入力されるようになっている。
【００２３】
制御部３０では、印刷ジョブに応じた画像処理を実行するために必要なコンフィグをＩ／Ｆ３２を介して順次記憶部１４から読出して、コンフィグメモリ３４Ａ、３４Ｂに展開すると共に、プロセッサエレメントアレイ３８に接続するコンフィグメモリ３４Ａ、３４Ｂを適時切り替えるバンク切り替えを実行することにより、プロセッサエレメントアレイ３８上に順次必要な画像処理を実行する回路構成を実現させる（動的再構成処理）。
【００２４】
以下の表１には、動的再構成処理の実行時に制御部３０により参照されるコンフィグ実行パターンリストが一例として示されている。
【００２５】
【表１】
2008066875.tif 000003
【００２６】
表１に示されるように、コンフィグ実行パターンリストは、画像処理において実行される可能性のあるコンフィグが時系列に並べられたものであり、コンフィグ名、ポインタ、コンフィグ格納先及びポインタ付け替え条件等の情報により構成されている。
【００２７】
コンフィグ名は、コンフィグの種類を示しており、コンフィグ格納先には、当該コンフィグを実行するためのコンフィグデータが記憶部２０のどのアドレスに格納されているかを示している。
【００２８】
また、ポインタは、当該コンフィグの次に実行するコンフィグ名を示すものであり、ポインタ付け替え条件は、上記ポインタを前段までの処理結果に応じて変更する必要がある場合に、その条件を示すものである。
【００２９】
なお、コンフィグ実行パターンリストは、１つとは限らず、画像処理部１４で実行する処理の種類に応じて複数種類設けられており、記憶部２０に格納されている。
【００３０】
以下に、本実施の形態の作用を説明する。
【００３１】
図２には、画像処理部１４において画像処理を実行する際に、制御部３０により実行される動的再構成処理の流れが示されている。以下、同図を参照して、本実施の形態に係る動的再構成処理について説明する。
【００３２】
まず、ステップ２００では、ポインタに応じたコンフィグのコンフィグ格納先を取得し、次のステップ２０２では、コンフィグメモリ３４Ａ、３４Ｂの少なくとも一方が書込みレディとなるまで待機する。
【００３３】
次のステップ２０４では、取得した格納先のコンフィグデータを読出してコンフィグメモリ３４に展開し、その後にステップ２０６に移行して、前段の処理の終了待ちを行う。
【００３４】
次のステップ２０８では、バンク切り替えを行なってプロセッサエレメントアレイ３８に接続するコンフィグメモリ３４を切り替えることにより、プロセッサエレメントアレイ３８上に実現するコンフィグを切り替える。
【００３５】
次のステップ２１０では、ＤＭＡによる画像処理を開始し、その後にステップ２１２に移行して、ポインタの付け替え条件があるか否かを判定する。
【００３６】
ステップ２１２で肯定判定となった場合はステップ２１４に移行して、付け替え条件に応じてポインタを付け替え、その後にステップ２１６に移行する。
【００３７】
例えば、表１に基づく動的再構成処理において、ステップ２０４で記憶部２０のアドレス２からコンフィグＢのコンフィグデータが読み出された場合、表１に示されるように、コンフィグＡの処理結果に応じてポインタを付け替えるので、ステップ２１２で肯定判定となる。ステップ２１４におけるポインタの付け替えは、コンフィグＡの処理結果がイであればポインタはＣに、コンフィグＡの処理結果がロであればポインタはＥに、それぞれ付け替えられる。
【００３８】
また、ステップ２１２で否定判定となった場合は、当該コンフィグに関してはポインタの付け替えを実行しないものと判定し、ステップ２１４の処理を実行することなくステップ２１６に移行する。
【００３９】
ステップ２１６では、ポインタを取得し、その後にステップ２１８に移行して、ポインタがあるか否かを判定する。当該判定が肯定判定となった場合は再びステップ２００に戻る。
【００４０】
一方、ポインタがない場合は、ステップ２２０に移行して、ジョブが終了したか否かを判定する。未処理の画像データが有る場合には当該判定が否定判定となってステップ２２２に移行して、参照するポインタをリストの先頭に設定し、その後、再びステップ２００に戻る。
【００４１】
また、ステップ２２０で肯定判定となった場合は本動的再構成処理を終了する。
【００４２】
以上詳細に説明したように、本実施の形態によれば、複数の素子を適宜組み合わせて構成される複数の回路エレメントにより構成されたプロセッサエレメントアレイ３８を備え、プロセッサエレメントアレイ３８に実装する種々の回路構成を示すコンフィグデータを複数記憶部２０に記憶しておき、予め設定された処理の実行時にプロセッサエレメントアレイ３８に実装する順番に応じて、次に実装する回路構成を示すコンフィグデータを示すポインタが対応付けされたコンフィグ実行パターンリストを備え、当該コンフィグ実行パターンリストに従って前記記憶手段に記憶されたコンフィグデータを読み出して前記エレメントアレイに実装するに際し、処理の進行に伴い、必要な回路構成だけを実装すべくポインタを付け替えるようにしているので、コンフィグの実行パターンが処理の進行過程で変更される場合であってもコンフィグデータデータを遅滞なくロードできる。
【００４３】
なお、本実施の形態では、コンフィグＢのポインタの付け替えを、コンフィグＢのコンフィグデータをロードし、コンフィグＢの実行を開始した後に実行する形態について説明したが、本発明はこれに限定されるものではなく、ポインタの付け替えタイミングは、コンフィグＢのポインタを読み出す前であればよい。
【００４４】
例えば、コンフィグＢのコンフィグデータをロードする（ステップ２０２及びステップ２０４の処理を実行する）前にポインタの付け替えを実行する形態としてもよい。
【００４５】
また、付け替えるポインタが確定した時点で事前にポインタを付け替える形態としてもよい。この場合、制御部３０では、以下の表２のようなコンフィグ実行パターンリストを参照して処理を行うことができる。
【００４６】
すなわち、表２では、ポインタ付け替え条件として、付け替えるポインタが決定するコンフィグに対応付けられて記憶されている。例えば、コンフィグＢのポインタは、コンフィグＡの処理が終了した時点で決定する。従って、表２では、コンフィグＡの処理結果に応じてコンフィグＢのポインタが付け替えられる。
【００４７】
なお、この場合は、コンフィグＢ又はＨを実行する前に、付け替えるポインタが決定しているように、コンフィグ実行パターンリストを構成することが好ましい。
【００４８】
【表２】
2008066875.tif 000004
【００４９】
さらに、バンド処理やページ処理のように、同じコンフィグを繰り返し実行する場合には、まとめてポインタの付け替えを実行することが好ましい。
【００５０】
例えば、以下の表３に示されるように、コンフィグＣの結果によってコンフィグＤのポインタをコンフィグＥ又はＦに付け替える場合、同じポインタの付け替えを何度も実行することになる。
【００５１】
【表３】
2008066875.tif 000005
【００５２】
そこで、表３に示されるコンフィグ実行パターンリストに代えて、以下の表４に示されるコンフィグ実行パターンリストを作成すると共に、以下の表５に示されるような格納先ＬＵＴを作成しておき、格納先ＬＵＴを書き替えるようにしておけば、同じ付け替え処理を何度も実行しなくてすむ。
【００５３】
すなわち、表４では、各コンフィグについて、仮のコンフィグ格納先が対応付けされており、実際のコンフィグ格納先は表５に示される格納先ＬＵＴを参照して特定される。
【００５４】
また、表４では、コンフィグＤのポインタとして架空のコンフィグＸを対応付けており、コンフィグＣの処理結果に応じて、表５のコンフィグＸの仮のコンフィグ格納先であるＡ５に対応付けする実際のコンフィグ格納先を、コンフィグＥの格納先であるアドレス５又はコンフィグＦの格納先であるアドレス６の何れかに書き替える。
【００５５】
【表４】
2008066875.tif 000006
【００５６】
【表５】
2008066875.tif 000007
【００５７】
なお、本実施の形態における画像形成装置１０の構成（図１参照）及び処理の流れ（図２参照）は一例であり、本発明の主旨を逸脱しない範囲で適宜変更可能であることは言うまでもない。
【図面の簡単な説明】
【００５８】
【図１】実施の形態に係る画像形成装置の構成を示すブロック図である。
【図２】実施の形態に係る動的再構成処理の流れを示すフローチャートである。
【符号の説明】
【００５９】
１０ 画像形成装置
１２ バス
１４ 画像処理部
１８ 画像形成部
２０ 記憶部
２４ 画像データバッファ
２６ コンフィグデータ
３０ 制御部
３２ インタフェース
３４ コンフィグメモリ
３８ プロセッサエレメントアレイ
【図１】
2008066875.tif 000008
【図２】
2008066875.tif 000009