(57)【要約】【課題】  利用者が要求する消費電力及び動作速度等の性能を効果的に実現可能なデータ処理装置を提供する。【解決手段】  複数の入力データＤ１〜Ｄ４のいずれかを選択する条件データＣＮの各ビットを優先度付けし、優先度付けされた条件データＣＮに基づいて複数の入力データＤ１〜Ｄ４のいずれかを選択するプライオリティエンコーダ２３２ａ、及びプライオリティエンコーダの出力データを受け取る出力制御回路２３４ａを備える。【選択図】    図２
2006081076.tif 000002
【特許請求の範囲】
【請求項１】
リコンフィギュラブルプロセッサに内蔵されるデータ処理装置であって、
複数の入力データのいずれかを選択する条件データの各ビットを優先度付けし、優先度付けされた前記条件データに基づいて前記複数の入力データのいずれかを選択するプライオリティエンコーダと、
前記プライオリティエンコーダの出力データを受け取る出力制御回路
とを備えることを特徴とするデータ処理装置。
【請求項２】
前記複数の入力データを演算処理する演算処理回路を更に備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記出力制御回路は、回路構成を変更するコンフィギュレーション情報に基づき、前記プライオリティエンコーダ及び前記演算処理回路のいずれかの出力データを選択して外部に伝達することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記出力制御回路は、
前記コンフィギュレーション情報に応じて、前記プライオリティエンコーダ及び前記演算処理回路のいずれかの出力データを選択する第１マルチプレクサと、
前記第１マルチプレクサが選択した前記出力データを保持するレジスタと、
前記コンフィギュレーション情報に応じて、前記第１マルチプレクサが選択した前記出力データ又は前記レジスタが保持した前記出力データのいずれかを選択する第２マルチプレクサ
とを備えることを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記コンフィギュレーション情報に応じて、前記複数の入力データを前記プライオリティエンコーダ及び前記演算処理回路のいずれに伝達するか切り替えるスイッチ回路を更に備えることを特徴とする請求項２に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リコンフィギュラブルプロセッサに内蔵されるデータ処理装置に関する。
【背景技術】
【０００２】
ハードウェア構成を再構成可能なデータ処理装置として、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）が知られている。ＦＰＧＡのハードウェア構成は、コンフィギュレーションメモリに記憶されたコンフィギュレーション情報により再構成可能である。コンフィギュレーション情報としては、一般的にハードウェア記述言語（ＨＤＬ）により記述された論理式等が使用される。ＦＰＧＡの内部の複数のデータ処理装置のそれぞれは、論理回路、マルチプレクサ、及びフリップフロップ（Ｆ／Ｆ）を備える（例えば、特許文献１参照。）。一方、複数のデータ処理装置のそれぞれの回路規模をＦＰＧＡよりも増大させて、高度なデータ処理を可能としたリコンフィギュラブルプロセッサが実用化されている。更に、リコンフィギュラブルプロセッサ内の複数のデータ処理装置のそれぞれは、演算処理に特化した構成を有している。
【０００３】
しかしながら、複数のデータ処理装置のそれぞれが演算演算処理に特化した構成を有しているため、データ処理装置を用いて多ビットのデータパスを制御するプライオリティエンコーダを構成することは困難である。複数のデータ処理装置を用いてプライオリティエンコーダの機能を実現する場合、データ処理装置の内部のマルチプレクサを利用し、複数のデータ処理装置を組み合わせることが必要となる。この結果、多くのデータ処理装置が消費され、消費電力の増大及び動作速度の低下が生じる。或いは、必要とされるデータ処理装置の数を確保できなくなる可能性がある。このように、リコンフィギュラブルプロセッサにおいて、利用者が要求する消費電力及び動作速度等の性能を効果的に実現可能なデータ処理装置の実現が望まれている。
【特許文献１】特表２００２−５３８６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、利用者が要求する消費電力及び動作速度等の性能を効果的に実現可能なデータ処理装置を提供する。
【課題を解決するための手段】
【０００５】
本発明の一態様は、リコンフィギュラブルプロセッサに内蔵されるデータ処理装置であって、（イ）複数の入力データのいずれかを選択する条件データの各ビットを優先度付けし、優先度付けされた条件データに基づいて複数の入力データのいずれかを選択するプライオリティエンコーダ；（ロ）プライオリティエンコーダの出力データを受け取る出力制御回路を備えるデータ処理装置であることを要旨とする。
【発明の効果】
【０００６】
本発明によれば、利用者が要求する消費電力及び動作速度等の性能を効果的に実現可能なデータ処理装置を提供できる。
【発明を実施するための最良の形態】
【０００７】
次に、図面を参照して、本発明の実施の形態を説明する。この実施の形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【０００８】
本発明の実施の形態に係る半導体集積回路１ａは、図１に示すように、例えば外部メモリ６に接続される。半導体集積回路２ａは、バスライン５、バスライン５に接続されたリコンフィギュラブルプロセッサ２ａ、小型演算装置（ＭＰＵ）４、及びキャッシュメモリ３を備える。リコンフィギュラブルプロセッサ２ａは、プログラマブル入出力装置（Ｉ／Ｏ）２１、プログラマブル配線２２、複数の（第１〜第ｎ）データ処理装置２３ａ〜２３ｎ、及び複数のコンフィギュレーションメモリ２０ａ〜２０ｋを備える（ｎ，ｋ；２以上の整数）。第１データ処理装置２３ａは、スイッチ回路２３１ａ、プライオリティエンコーダ２３２ａ、演算処理回路２３３ａ、及び出力制御回路２３４ａを備える。プライオリティエンコーダ２３２ａ及び演算処理回路２３３ａは、スイッチ回路２３１ａと出力制御回路２３４ａとの間に接続される。プライオリティエンコーダ２３２ａは、図２に示すように、複数の（第１〜第４）入力データＤ１〜Ｄ４のいずれかを選択する条件データＣＮの各ビットを優先度付けし、優先度付けされた条件データＣＮに基づいて第１入力データＤ１〜第４入力データＤ４のいずれかを選択する。出力制御回路２３４ａは、プライオリティエンコーダの出力データを受け取る。
【０００９】
また、演算処理回路２３３ａは第１入力データＤ１〜第４入力データＤ４を演算処理する。出力制御回路２３４ａは、回路構成を変更するコンフィギュレーション情報ＣＦ２及びＣＦ３に応じて、プライオリティエンコーダ２３２ａ及び演算処理回路２３３ａのいずれかの出力データを選択する。スイッチ回路２３１ａは、コンフィギュレーション情報ＣＦ１に応じて、第１入力データＤ１〜第４入力データＤ４をプライオリティエンコーダ２３２ａ及び演算処理回路２３３ａのいずれに伝達するか切り替える。尚、また、第１データ処理装置２３ａの演算処理回路２３３ａは図２に示すように、例えば加算器２３３１、乗算器２３３２、及びマルチプレクサ回路２３３３を備える。マルチプレクサ回路２３３３は、例えば４つのマルチプレクサにより構成される。図１に示す第２データ処理装置２３ｂ〜第ｎデータ処理装置２３ｎは、第１データ処理装置２３ａと同様に構成される。
【００１０】
更に、リコンフィギュラブルプロセッサ２ａの外部のＭＰＵ４は、図１に示すように、外部メモリ６からコンフィギュレーション情報ＣＦを読み出し、バスライン５及びキャッシュメモリ３を介してリコンフィギュラブルプロセッサ２ａにコンフィギュレーション情報ＣＦを供給する。外部メモリ６からのコンフィギュレーション情報ＣＦは、コンフィギュレーションメモリ２０ａからコンフィギュレーションメモリ２０ｋに順次シフトされて格納される。この結果、コンフィギュレーションメモリ２０ａ〜コンフィギュレーションメモリ２０ｋは、複数系統のコンフィギュレーション情報ＣＦをそれぞれ格納する。複数系統のコンフィギュレーション情報ＣＦは、例えば図２に示す第１、第２、・・・・・コンフィギュレーション情報格納領域２０１、２０２、・・・・・にそれぞれ格納される。
【００１１】
また図１に示すＭＰＵ４は、バスライン５を介してコンフィギュレーションメモリ２０ａ〜コンフィギュレーションメモリ２０ｋに読み出し制御信号ＳＷを供給し、複数系統のコンフィギュレーション情報ＣＦのいずれかを選択する。よってリコンフィギュラブルプロセッサ２ａは、複数系統のコンフィギュレーション情報ＣＦに応じて、例えば１クロックサイクルでハードウェア構成が再構成され、画像処理回路又は通信処理回路等の様々な機能を実現可能である。
【００１２】
更に、プログラマブルＩ／Ｏ２１は、コンフィギュレーションメモリ２０ａ、バスライン５、及び外部装置（図示省略）に接続される。プログラマブルＩ／Ｏ２１は、コンフィギュレーションメモリ２０ａからのコンフィギュレーション情報ＣＦにより、外部装置とプログラマブル配線２２との接続関係、及びバスライン５とプログラマブル配線２２との接続関係等を切り替える。プログラマブル配線２２は、コンフィギュレーションメモリ２０ｂ、プログラマブルＩ／Ｏ２１、及び第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎに接続される。プログラマブル配線２２は、コンフィギュレーションメモリ２０ｂからのコンフィギュレーション情報ＣＦにより、プログラマブルＩ／Ｏ２１と第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎとの接続関係、及び第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎ間の接続関係等を切り替える。
【００１３】
また、出力制御回路２３４ａは図２に示すように、第１マルチプレクサ２３４１、第１マルチプレクサ２３４１に接続されたレジスタ２３４２、及び第１マルチプレクサ２３４１とレジスタ２３４２に接続された第２マルチプレクサ２３４３を備える。第１マルチプレクサ２３４１は、コンフィギュレーション情報ＣＦ２に応じて、プライオリティエンコーダ２３２ａ及び演算処理回路２３３ａのいずれかの出力データを選択する。レジスタ２３４２は、第１マルチプレクサ２３４１が選択した出力データを保持する。第２マルチプレクサ２３４３は、コンフィギュレーション情報ＣＦ３に応じて、第１マルチプレクサ２３４１が選択した出力データ及びレジスタ２３４２が保持した出力データのいずれかを選択する。
【００１４】
更に、プライオリティエンコーダ２３２ａは、図２に示す例において、条件データＣＮの各ビットを優先度付けし、第１入力データＤ１〜第４入力データＤ４のいずれかを選択する。一例として、条件データＣＮのビット数は４であり、条件データＣＮの上位ビットから下位ビットの順に優先度が低く設定される。ここで、プライオリティエンコーダ２３２ａを設計する場合、第４入力データＤ４をＮｅｘｔＳｔａｔｅ３、第３入力データＤ３をＮｅｘｔＳｔａｔｅ２、第２入力データＤ２をＮｅｘｔＳｔａｔｅ１、第１入力データＤ１をＮｅｘｔＳｔａｔｅ０、及び現在の出力データをＣｕｒｒｅｎｔＳｔａｔｅ、プライオリティエンコーダ２３２ａの出力データをＮｅｘｔＳｔａｔｅとすると、ＨＤＬ記述の論理式は：
case(condition[3:0])
4'b1???      : NextState = NextState3 ;            ・・・・・（１）      
4'b01??      : NextState = NextState2 ;            ・・・・・（２）      
4'b001?      : NextState = NextState1 ;            ・・・・・（３）      
4'b0001      : NextState = NextState0 ;            ・・・・・（４）      
4'b0000      : NextState = CurrentState ;          ・・・・・（５）      
end   
となる。ここで、記号「？」はドント・ケア、即ち対応するビットが無視されることを意味する。
【００１５】
次に、図３に示すフローチャートを参照して、本発明の実施の形態に係るリコンフィギュラブルプロセッサ２ａの動作を説明する。但し、図１及び図２に示す第１データ処理装置２３ａのプライオリティエンコーダ２３２ａの動作を中心に説明する。
【００１６】
（イ）先ず、コンフィギュレーションモード時において、図１に示す外部メモリ６からのコンフィギュレーション情報ＣＦは、コンフィギュレーションメモリ２０ａからコンフィギュレーションメモリ２０ｋに順にシフトされて格納される。外部メモリ６からのコンフィギュレーション情報ＣＦをコンフィギュレーションメモリ２０ａ〜コンフィギュレーションメモリ２０ｋに複数回格納させることにより、コンフィギュレーションメモリ２０ａ〜コンフィギュレーションメモリ２０ｋに複数系統のコンフィギュレーション情報ＣＦが格納される。
【００１７】
（ロ）コンフィギュレーションモードが終了すると、ランモード、即ちリコンフィギュラブルプロセッサ２ａを用いたデータ処理が実行される。ここで、図２に示すスイッチ回路２３１ａが、コンフィギュレーション情報ＣＦ１に応じて、第１入力データＤ１〜第４入力データＤ４と４ビットの条件データＣＮをプライオリティエンコーダ２３２ａに伝達すると仮定する。また、第１マルチプレクサ２３４１が、コンフィギュレーション情報ＣＦ２に応じて、プライオリティエンコーダ２３２ａの出力データを選択すると仮定する。
【００１８】
（ハ）次に、図３のステップＳ１１において、プライオリティエンコーダ２３２ａは、式（１）に応じて、条件データＣＮの最上位ビット（ビット３）が“１”であるか否か判定する。条件データＣＮの最上位ビット（ビット３）が“１”である場合、ステップＳ１２に進む。条件データＣＮの最上位ビット（ビット３）が“１”でない場合、ステップＳ１３に進む。ステップＳ１２においては、プライオリティエンコーダ２３２ａは、ＮｅｘｔＳｔａｔｅ３（第４入力データＤ４）を選択して第１マルチプレクサ２３４１に伝達する。
【００１９】
（ニ）次に、ステップＳ１３において、プライオリティエンコーダ２３２ａは、式（２）に応じて、条件データＣＮのビット２が“１”であるか否か判定する。条件データＣＮのビット２が“１”である場合、ステップＳ１４に進む。条件データＣＮのビット２が“１”でない場合、ステップＳ１５に進む。ステップＳ１４においては、プライオリティエンコーダ２３２ａは、ＮｅｘｔＳｔａｔｅ２（第３入力データＤ３）を選択して第１マルチプレクサ２３４１に伝達する。
【００２０】
（ホ）次に、ステップＳ１５において、プライオリティエンコーダ２３２ａは、式（３）に応じて、条件データＣＮのビット１が“１”であるか否か判定する。条件データＣＮのビット１が“１”である場合、ステップＳ１６に進む。条件データＣＮのビット１が“１”でない場合、ステップＳ１７に進む。ステップＳ１６においては、プライオリティエンコーダ２３２ａは、ＮｅｘｔＳｔａｔｅ１（第２入力データＤ２）を選択して第１マルチプレクサ２３４１に伝達する。
【００２１】
（ヘ）次に、ステップＳ１７において、プライオリティエンコーダ２３２ａは、式（４）に応じて、条件データＣＮの最下位ビット（ビット０）が“１”であるか否か判定する。条件データＣＮの最下位ビット（ビット０）が“１”である場合、ステップＳ１８に進む。条件データＣＮの最下位ビット（ビット０）が“１”でない場合、ステップＳ１９に進む。ステップＳ１８においては、プライオリティエンコーダ２３２ａは、ＮｅｘｔＳｔａｔｅ０（第１入力データＤ１）を選択して第１マルチプレクサ２３４１に伝達する。これに対してステップＳ１９においては、式（５）に応じて、ＣｕｒｒｅｎｔＳｔａｔｅ、即ち元の出力データを維持する。
【００２２】
このように、本発明の実施の形態によれば、第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎにプライオリティエンコーダ２３２ａ〜２３２ｎをそれぞれ組み込むことにより、リコンフィギュラブルプロセッサ２ａにプライオリティエンコーダの機能を実現させる場合においても、多くのデータ処理装置が消費されることを防止できる。したがって、消費電力の増大、動作速度の低下、及びデータ処理装置数の不足等の不具合を回避可能となる。この結果、利用者が要求する消費電力及び動作速度等の性能を効果的に実現可能となる。
【００２３】
（第１の変形例）
本発明の実施の形態の第１の変形例に係るリコンフィギュラブルプロセッサ２ｂとして図４に示すように、複数のデータ処理装置Ｅ11〜Ｅ55をマトリクス状に配置しても良い。マトリクス状に配置された複数のデータ処理装置Ｅ11〜Ｅ55間にプログラマブル配線２２が配置され、複数のデータ処理装置Ｅ11〜Ｅ55を取り囲むようにしてプログラマブルＩ／Ｏ２１ａ〜２１ｄが配置される。複数のデータ処理装置Ｅ11〜Ｅ55をマトリクス状に配置することにより、半導体集積回路の回路面積を小型化できる。
【００２４】
（第２の変形例）
本発明の実施の形態の第２の変形例に係る半導体集積回路１ｂとして図５に示すように、リコンフィギュラブルプロセッサ２ｃの第１データ処理装置２３ａ〜第ｎデータ処理装置２３０ｎの一部のみがプライオリティエンコーダを備える構成でも良い。図５に示す例においては、第１データ処理装置２３ａのみがプライオリティエンコーダ２３２ａを備えている。
【００２５】
（第３の変形例）
本発明の実施の形態の第３の変形例に係る半導体集積回路として図６に示すように、プライオリティエンコーダ２３２ａが、複数の（第１〜第６）マルチプレクサ２３２１〜２３２６の組み合わせにより構成されても良い。図６に示すプライオリティエンコーダ２３２ａにおいては、入力データ数を４とし、条件データＣＮのビット数を３としている。また、プライオリティエンコーダ２３２ａは、コンフィギュレーション情報ＣＦ４が“０”の場合に通常のマルチプレクサ回路として機能し、コンフィギュレーション情報ＣＦ４が“１”の場合にプライオリティエンコーダとして機能する。
【００２６】
図６に示すプライオリティエンコーダ２３２ａを内蔵したデータ処理装置を用いて４ビットの条件データＣＮに対応させる場合、図７に示すように２つのデータ処理装置、即ち第１データ処理装置２３ａ及び第２データ処理装置２３ｂが使用される。一方、従来のデータ処理装置においては、プライオリティエンコーダを有していないため、４ビットの条件データＣＮの取り得る組み合わせの数だけマルチプレクサが最低限必要となる。従来のデータ処理装置に４つのマルチプレクサが内蔵されていると仮定すると、４ビットの条件データＣＮに対応させる場合、５つのデータ処理装置が必要となる。
【００２７】
更に、従来のデータ処理装置を用いて例えば８ビットの条件データＣＮに対応させる場合、８５個程度のデータ処理装置が使用されるが、図６に示すプライオリティエンコーダ２３２ａを内蔵したデータ処理装置を用いる場合、データ処理装置の使用個数を３個とすることができる。したがって、リコンフィギュラブルプロセッサにプライオリティエンコーダの機能を実現させる場合においても、多くのデータ処理装置が消費されることを防止できる。
【００２８】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００２９】
上述した実施の形態の説明においては、第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎのそれぞれに第１入力データＤ１〜第４入力データＤ４が供給される一例を説明したが、入力データの数は４つに限られるものではない。
【００３０】
更に、実施の形態の説明において、第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎにスイッチ回路２３１ａ〜２３１ｎを設ける一例を説明したが、第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎにスイッチ回路２３１ａ〜２３１ｎを設けない構成でも良い。
【００３１】
また、ＭＰＵ４及びキャッシュメモリ３が半導体集積回路１ａ及び１ｂの内部に実装される一例を説明したが、ＭＰＵ４及びキャッシュメモリ３を半導体集積回路１ａ及び１ｂの外部に実装しても良い。
【００３２】
更に、第１データ処理装置２３ａ〜第ｎデータ処理装置２３ｎが、プログラマブル配線２２に接続されるとして説明したが、プログラマブルＩ／Ｏ２１に直接接続される構成でも良い。
【００３３】
このように本発明は、ここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図２】本発明の実施の形態に係る第１データ処理装置の構成を示すブロック図である。
【図３】本発明の実施の形態に係るプライオリティエンコーダの動作を示すフローチャートである。
【図４】本発明の実施の形態の第１の変形例に係るリコンフィギュラブルプロセッサの構成を示す模式図である。
【図５】本発明の実施の形態の第２の変形例に係る半導体集積回路の構成を示すブロック図である。
【図６】本発明の実施の形態の第３の変形例に係るプライオリティエンコーダの構成を示すブロック図である。
【図７】本発明の実施の形態の第３の変形例に係るリコンフィギュラブルプロセッサの動作を説明する模式図である。
【符号の説明】
【００３５】
２ａ〜２ｃ…リコンフィギュラブルプロセッサ
２３ａ〜２３ｎ…第１〜第ｎデータ処理装置
２３２ａ〜２３２ｎ…プライオリティエンコーダ
２３３ａ〜２３３ｎ…演算処理回路
２３４ａ〜２３４ｎ…出力制御回路
２３４１…第１マルチプレクサ
２３４２…レジスタ
２３４３…第２マルチプレクサ
【図１】
2006081076.tif 000003
【図２】
2006081076.tif 000004
【図３】
2006081076.tif 000005
【図４】
2006081076.tif 000006
【図５】
2006081076.tif 000007
【図６】
2006081076.tif 000008
【図７】
2006081076.tif 000009