(57)【要約】【課題】回路規模および消費電力を削減する。【解決手段】信号処理プロセッサは、回路再構成によってマッピングされたプロセッサ・エレメント501、回路再構成の結果マッピングされなかったプロセッサ・エレメント502a,502b、電源電圧供給エリア503、電源電圧遮断エリア504、システム制御用CPU505、コンフィギュレーション情報蓄積メモリ506、コンフィギュレーション制御信号デコード部507、コンフィギュレーション制御回路508、電源供給部のコンフィギュレーション制御回路509、データメモリ510、グローバル・バス（高電圧側）511およびグローバル・バス用のスイッチ（高電圧側）512を含み、実行させる信号処理内容に応じた各プロセッサ・エレメント501間の回路再構成と、プロセッサ・エレメント501へ供給する電圧を変更する機能を有する。【選択図】  図５
2006163815.tif 000002
【特許請求の範囲】
【請求項１】
算術および論理演算を行う演算器を含む複数のプロセッサ・エレメントと、前記複数のプロセッサ・エレメント間を接続するバスと、前記バスの接続を変更するスイッチ部と、ソフトウェアに応じて前記スイッチ部を制御する制御回路とを有する信号処理プロセッサであって、
前記スイッチ部の電源電圧と、前記プロセッサ・エレメントの電源電圧と、前記制御回路の電源電圧とが異なる信号処理プロセッサ。
【請求項２】
請求項１記載の信号処理プロセッサであって、
前記プロセッサ・エレメントの電源電圧を、前記スイッチ部または前記制御回路の電源電圧より低く設定する信号処理プロセッサ。
【請求項３】
請求項１記載の信号処理プロセッサであって、
回路再構成に関する情報を格納するメモリと、
前記メモリに格納された情報に基づいて、前記プロセッサ・エレメントの電源電圧を制御する電源制御回路とを有し、
実行させる信号処理内容に応じて、前記複数のプロセッサ・エレメント間の接続を変更するとともに、前記プロセッサ・エレメントの電源電圧を変更する信号処理プロセッサ。
【請求項４】
請求項３記載の信号処理プロセッサであって、
前記電源制御回路は、所定期間の信号処理に使用しない前記プロセッサ・エレメントの電源電圧を低下させる信号処理プロセッサ。
【請求項５】
請求項３記載の信号処理プロセッサであって、
前記電源制御回路は、所定期間の信号処理に使用しない前記プロセッサ・エレメントへの電源電圧の供給を遮断する信号処理プロセッサ。
【請求項６】
演算器の入力部に入力レジスタを備えるとともに、前記演算器の出力部に出力レジスタを備える複数のプロセッサ・エレメントと、前記複数のプロセッサ・エレメント間を接続するバスと、前記バスの接続を変更するスイッチ部と、ソフトウェアに応じて前記スイッチ部を制御する制御回路とを有する信号処理プロセッサであって、
前記プロセッサ・エレメントが連続して信号処理を行う第一の動作モードと、
前記プロセッサ・エレメントによる信号処理と、前記プロセッサ・エレメントの前記出力レジスタから前記入力レジスタへのデータ転送処理とを交互に行い、前記プロセッサ・エレメントによる信号処理期間に、前記複数のプロセッサ・エレメント間の接続を変更する第二の動作モードとを有する信号処理プロセッサ。
【請求項７】
請求項６記載の信号処理プロセッサであって、
信号処理を実行する順番に関するスケジューリング情報を格納するメモリを備え、
前記制御回路は、前記第二の動作モードにおいて、前記スケジューリング情報に従って時分割に回路再構成を行う信号処理プロセッサ。
【請求項８】
算術および論理演算を行う演算器を含む複数のプロセッサ・エレメントと、前記複数のプロセッサ・エレメント間を接続するバスと、前記バスの接続を変更するスイッチ部と、ソフトウェアに応じて前記スイッチ部を制御する制御回路とを有する信号処理プロセッサであって、
前記制御回路は、回路再構成のための情報中に、組合せ演算命令あるいは前記演算器のビット幅に対する倍精度演算命令がある場合に、近接して配置された前記複数のプロセッサ・エレメントを、ループ接続、直列接続あるいは並列接続に回路再構成する信号処理プロセッサ。
【請求項９】
演算器の入力部に入力レジスタを備えるとともに、前記演算器の出力部に出力レジスタを備える複数のプロセッサ・エレメントと、前記複数のプロセッサ・エレメント間を接続するバスと、前記バスの接続を変更するスイッチ部と、ソフトウェアに応じて前記スイッチ部を制御する制御回路とを有する信号処理プロセッサであって、
前記入力レジスタを線形フィードバック・シフトレジスタに再構成するとともに、前記出力レジスタをマルチ・インプット・シグネチャ・レジスタに再構成し、前記プロセッサ・エレメント、前記バスおよび前記スイッチ部を自己テストするテストモードを有する信号処理プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能な信号処理プロセッサに関する。
【背景技術】
【０００２】
システムＬＳＩは、多種多様な信号処理が行われる回路を多数搭載することが求められる。但し、システムとして全ての機能が同時に動作する必要がない場合で、かつ信号処理内容を要素分解すると、同じような処理が行われている場合がある。このような場合に面積やリーク電流などを削減する手段としてダイナミック・リコンフィギュアブル・プロセッサ（以下、ＤＲＰと略す）が提案されている。
【０００３】
ＤＲＰは、複数の演算器をマトリックス配置してあり、１クロックサイクルで演算器同士の接続（回路構成）を再構成（コンフィグレーション）可能な機能を有することで、少ない回路資源で、様々な信号処理回路に変化させ、回路面積と電力削減を図るものである。
【０００４】
図１３は、従来のリコンフィギュアブル・プロセッサの説明図であり、プロセッサ・エレメント1301、システム制御用CPU1305、コンフィギュレーション情報蓄積メモリ1306、コンフィギュレーション制御回路1308、データメモリ1310、バス1311およびスイッチ部1312を示す。
【０００５】
また、図１４は、従来例の電源再構成機能を持たない場合のバスおよびスイッチ部の説明図であり、バス1401、スイッチ部1402、コンフィギュレーション情報蓄積メモリ1403、コンフィギュレーション情報のデコーダ1404、コンフィギュレーション制御回路1405、入力レジスタ1406、プロセッサ・エレメント（演算器）1407を示す。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のＤＲＰは、１マシンサイクルで回路を再構成するために、信号処理部の切り替え回路が複雑で回路規模の増大を招いていた。更に、色々な信号処理を実現するために、マトリックス配置する演算資源（演算器）を非常に多くする場合があるが、特殊な信号処理を除いては大部分の演算資源が使用されないアプリケーシヨンも多く存在する。また信号処理に必要な信号処理量（ＭＩＰＳ(Million Instructions Per Second)量）も一意には決定できず想定した信号処理の最大値で設計する必要があり、回路規模増加によるオーバヘッドが課題になる。
【０００７】
本発明は、回路規模および消費電力を削減することが可能な信号処理プロセッサを提供することを目的としている。
【０００８】
また、本発明は、再構成後のプロセッサ・エレメントおよびその接続部を容易にテストすることができる信号処理プロセッサを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の信号処理プロセッサは、コンフィグレーションを行う手段と演算器のＩ／Ｆ部にレベルシフタを配置し、コンフィグレーション制御回路を高電源電圧で動作させ、演算器を低電源電圧で動作させることにより、切り替え回路の回路規模を削減する。
【００１０】
また、演算部の電源電圧をMIPS量にあわせダイナミックに変化させることにより、設計時に最大処理速度スペックを満たすトランジスタサイズで実現して回路規模を増大させる要素を排除する。
【００１１】
更に、アプリケーションによって使用しない演算器に関して、電源電圧を待機電圧、あるいは電源ＯＦＦ状態にすることでＯＦＦリーク削減を可能とする。また、演算器の電源制御は、コンフィギュレーション情報蓄積メモリからの命令によって電源制御に伴うコンフィギユレーションを行う。
【００１２】
また、演算器の前後にレジスタを配置し、前後のレジスタを交互に動作するようなクロックを供給するモードを設けることにより、時分割に演算資源をマッピングすることを可能にする。
【００１３】
更に、演算器の内部に小さな制御回路を配置し、ビット幅拡張、あるいはマルチオペレ一シヨン（例えば２回加算など）、またはル一プ実行が可能な機能を持たせ、コンフィグレーションを小規模／局所的にも実行させることにより、システム全体のコンフィグレーシヨン制御回路による制御規模の軽減を図る。
【００１４】
また、テストモード信号で入力レジスタを線形フィードバック・レジスタに変更する機能を設け自己テストを可能とする。
【００１５】
また、本発明の信号処理プロセッサは、演算器（プロセッサ・エレメント）の入出力I/Fにレベルシフタを配置する回路構成とし、リコンフィギュレーション制御回路、マルチプレクサ部(バス含む)、プロセッサ・エレメントの電源電圧を異なるようにする。そして、回路再構成切り替え回路（マルチプレクサ部やバス部）の電源電圧を高く設定して高速化し、プロセッサ・エレメントの電源電圧を低く設定して信号処理の低電力化を図る。
【００１６】
また、回路の再構成を行った信号処理の信号処理量(MIPS量)に応じてプロセッサ・エレメントの電源電圧を変更可能な回路構成とし、リコンフィギュレーション情報(ソフトウェア)によって、プロセッサ・エレメントの電圧制御を、内部判断回路およびチップ外部のコンパイラで実現する。あるいは、回路再構成後にマッピングされなかったプロセッサ・エレメントの電源電圧を遮断する。
【００１７】
また、プロセッサ・エレメントの入出力部にそれぞれ入力レジスタと出力レジスタを配置し、(1)回路再構成後、連続的に信号処理を実施するモードと、(2)出力レジスタから入力レジスタへ転送するステージと演算処理等の信号処理を実施するステージを交互に動作させるモードを有することにより、プロセッサ・エレメントの利用効率を高める。
【００１８】
また、プロセッサ・エレメントの回路構成をコンフィギュレーション情報から判断することにより、自動的に時分割でプロセッサ・エレメントをマッピングする機能を内部判断回路およびチップ外部のコンパイラで実現する。さらに、マッピングされていない、または待機状態のプロセッサ・エレメントの電源電圧を待機電圧(レジスタの内容が保持可能な最低電圧など)に電源制御できる機能を有する。
【００１９】
また、コンフィギュレーション情報から信号処理内容のスケジューリングを行う機能を有し、同様の信号処理が繰り返されている個所、複合演算を実施する個所、あるいはビット幅の拡張適用個所(あるいは倍精度演算個所)を抽出し、プロセッサ・エレメント内にループ機能、複合演算(積和演算、シフト加算、ACS演算、除算等)、あるいは近接エレメント間でのビット拡張が可能な回路構成を有する。
【００２０】
更に、テストモードへ設定することで、入力レジスタあるいは出力レジスタが線形フィードバック・シフトレジスタに回路再構成が可能な機能と、マルチ入力シグネチャ・レジスタに回路再構成が可能な機能を有し、DRPを自己テスト可能な回路構成とする。
【発明の効果】
【００２１】
本発明によれば、コンフィグレーション回路の高速化を回路規模の増大なく実現可能となる。また、プロセッサ・エレメントの低電力化を可能とし、プロセッサ・エレメントの動作速度をオーバースペックに設計する必要がなく、回路規模の削減が可能となる。
【００２２】
また、従来はプロセッサ・エレメントの速度スペックとマトリックスに配置したプロセッサ・エレメント数で最大の信号処理量が決まるが、本発明では柔軟に処理量を増加させることができる。また、従来はプロセッサ・エレメントの速度スペックが固定であり、マトリックスに配置したプロセッサ・エレメント数が一定であるため、実施する信号処理によっては、活用されないエレメントが発生するケースもあり利用効率が低下していたが、本発明ではエレメントが余るケースでは、並列処理に分解し、且つ電圧を降圧することで低消費電力化およびリーク電流削減を図ることが可能となる。
【００２３】
また、従来はプロセッサ・エレメントの速度スペックが固定であり、マトリックスに配置したプロセッサ・エレメント数が一定であるため、実施する信号処理によっては信号処理能力が不足しマッピング不可能なケースが発生する場合でも、本発明では時分割にマッピングする機能を使って、物理的に不足した信号処理量を時間軸的に解決することが可能となる。
【００２４】
さらに、本発明の信号処理プロセッサでは、リコンフィグレーション情報によってマッピングされるプロセッサ・エレメントを空間的に割り付けるだけでなく、時分割に割り付けることで、使用しないエレメント数を多くすることが出来る。この機能と電源遮断機能を組み合わせることで、低電力化とリーク電流削減を図ることができる。
【００２５】
また、マルチプレクサ部やバス部の回路規模を削減し、プロセッサ・エレメントの利用効率を増加させて低電力化および信号処理量の増加を図り、回路規模の増加を招くことなくテストコストの削減を可能とする。
【発明を実施するための最良の形態】
【００２６】
図１および図２は、本発明の実施形態の信号処理プロセッサにおけるプロセッサ・エレメントの概略構成図である。図１において、レベルシフタ101a,101b、プロセッサ・エレメント102、入力レジスタ103a、出力レジスタ103b、バレルシフタなどの演算器104a、ALUなどの演算器104b、バス105を示す。この場合、電源ラインは、例えば高電源電圧Vdd1=1.5V、低電源電圧Vdd2=0.8〜1.3Vである。
【００２７】
また、図２は、レベルシフタ内蔵レジスタ201a,201b、プロセッサ・エレメント202、バレルシフタなどの演算器204a、ALUなどの演算器204b、バス205を示す。この場合も、電源ラインは、例えば高電源電圧Vdd1=1.5V、低電源電圧Vdd2=0.8〜1.3Vである。
【００２８】
図３は、本発明の実施形態の信号処理プロセッサにおける電源制御の説明図である。同図において、低電圧を供給する電源配線301、高電圧を供給する電源配線302、低電圧を供給する電源配線303、電源IC制御信号304、電源供給部のコンフィギュレーション制御回路305、電源配線コンフィグレーション制御信号306、電源電圧可変ブロック307、電源電圧を低電圧から更に降圧制御された電源ライン308 (Vdd1)、電源電圧を低電圧から更に降圧制御された電源ライン309 (Vdd2)を示す。この場合Vdd2≠Vdd1である。また、レベルシフタ(信号降圧部) 310, 320、プロセッサ・エレメント311, 321、レベルシフタ(信号昇圧部) 312, 322を示す。なお、プロセッサ・エレメント等は信号処理プロセッサ内に多数存在するが、ここでは説明のため２つだけを示す。
【００２９】
図３に示すように、本実施形態の信号処理プロセッサは、基本的な算術演算や論理演算を行う演算器から構成されるプロセッサ・エレメント311,321と、プロセッサ・エレメント311,321間を接続するバス（図示省略）と、プロセッサ・エレメント311,321間の接続を変更するスイッチ部313を有し、ソフトウェアによってプロセッサ・エレメント311,321間の接続関係を自由に変更できる構造を持つ。そして、プロセッサ・エレメント311,321の接続関係を切り替えるスイッチ部313の電源電圧302と、プロセッサ・エレメント311,321の電源電圧303と、プロセッサ・エレメント311,321の接続関係を変更する制御回路314,315の電源電圧301が異なるように設定する。また、プロセッサ・エレメント311,321の入出力I/Fにレベルシフタ310,312,320,322を配置する。
【００３０】
この場合、例えば電源配線301は1.2V、電源配線302は1.5V、電源配線303は0.8〜1.3Vとすることができる。これにより、外部電源IC 316から電源303として1.2Vを供給した場合は、電源電圧可変ブロック307の内蔵オペアンプにおいて、電源ライン308(Vdd1)として1.2Vを供給し、電源ライン309(Vdd2)として1.2Vから降圧した0.9Vを供給することができる。
【００３１】
あるいは、外部電源IC 316から電源303として1.2Vを供給した場合でも、電源電圧可変ブロック307の内蔵オペアンプで、電源ライン308(Vdd1)として1.2Vを供給し、電源ライン309(Vdd2)を遮断して0Vとすることができる。
【００３２】
このように本実施形態の信号処理プロセッサ（DRP）では、プロセッサ・エレメントの電源電圧(図１のVdd2)を下げる場合と、プロセッサ・エレメント毎に電圧を下げる箇所、下げない箇所あるいはゼロ電圧にする箇所等を決める場合の２種類に対応できる。
【００３３】
ある信号処理のアルゴリズムをマッピングして回路を再構成する場合、図３に示した信号処理プロセッサ内の一部のプロセッサ・エレメント311には処理量が少ない演算が割り当てられ、他のプロセッサ・エレメント321には処理量が多く高速動作が必要な演算が割り当てられる。その場合、それぞれのプロセッサ・エレメントに異なる電源電圧を供給し、一律に高電圧(例えば1.2Vや1.3V)を供給しないことにより電力削減を図ることができる。
【００３４】
また、上記の例では電源302を1.5Vとしたが、この電源302も高速に再構成が不要な場合(例えばセルマッピングの切り替え速度が低速の場合)は、1.3Vや1.2Vに下げることで電力削減を行うことができる。多くの場合高速で再構成することが望まれるが、その動作速度に合わせ電圧を決めていては、プロセッサ・エレメント内の演算器の電力が大きくなるため、図１のように電圧Vdd1と電圧Vdd2に分けることもできる。
【００３５】
なお、図３のレベルシフタ310, 320は、図１のレベルシフタ101aまたは図２のレベルシフタ内蔵レジスタ201aに対応し、図３のプロセッサ・エレメント311, 321は、図１の入出力レジスタ103a,bおよび演算器104a,bまたは図２の演算器204a,bに対応する。また、図３のレベルシフタ312, 322は、図１のレベルシフタ101bまたは図２のレベルシフタ内蔵レジスタ201bに対応する。
【００３６】
図４は、本発明の実施形態の信号処理プロセッサにおけるコンフィギュレーション制御回路の概略構成図である。図において、プロセッサ・エレメント401、コンフィギュレーション情報の保持イネーブル信号402a,402b,402c、コンフィギュレーション情報のデコード結果(マルチプレクサ制御信号) 403、コンフィギュレーション制御信号デコード結果保持部の出力イネーブル404、コンフィギュレーション制御信号デコード結果保持部の信号の出力部405、コンフィギュレーション制御信号デコード結果の書き込み制御信号406、コンフィギュレーション制御信号デコード結果の保持部407、コンフィギュレーション・ソフトウェア蓄積メモリ408、コンフィギュレーション制御信号デコード部409、電源供給部のコンフィギュレーション制御回路410、レベルシフタ(信号昇圧部Vdd1：高電圧側) 411を示す。
【００３７】
本実施形態の信号処理プロセッサでは、特にプロセッサ・エレメント401の動作クロック周波数を極力小さくして低消費電力を可能すると共に、プロセッサ・エレメント401間の接続関係を変更し、実行する信号処理内容を自由に変えられる回路再構成制御部分に関してトランジスタ回路のサイズを大きくすることなく、電源電圧をプロセッサ・エレメント401より高く設定することにより高速に回路再構成を行うことを可能とする。
【００３８】
図５は、本発明の再構成可能な信号処理プロセッサにおける第１の実施例(電源遮断制御時)の説明図である。同図において、回路再構成によってマッピングされたプロセッサ・エレメント501、回路再構成の結果マッピングされなかったプロセッサ・エレメント502a,502b、電源電圧供給エリア503、電源電圧遮断エリア504、システム制御用CPU505、コンフィギュレーション情報蓄積メモリ506、コンフィギュレーション制御信号デコード部507、コンフィギュレーション制御回路508、電源供給部のコンフィギュレーション制御回路509、データメモリ510、グローバル・バス（高電圧側）511およびグローバル・バス用のスイッチ（高電圧側）512を示す。
【００３９】
電源供給部のコンフィギュレーション制御回路509は、図３の305および図４の410に相当する。また、コンフィギュレーション制御回路508は、図３の315に相当し、図４のコンフィギュレーション制御回路412からコンフィギュレーション・ソフトウェア蓄積メモリ408、コンフィギュレーション制御信号デコード部409、電源供給部のコンフィギュレーション制御回路410を除いたものに相当する。
【００４０】
図５に示した部品は全てDRPの中に含まれる。また、図５は、図３から電源IC316を除いたものに相当する。また、図５、図４では電源配線および電源供給部の再構成機構が省略されており、この部分を追記したのが、図３の電源ライン308,309、電源配線301,302,303、信号配線304および電源電圧可変ブロック307である。
【００４１】
本実施形態の信号処理プロセッサは、実行する信号処理内容に応じて複数のプロセッサ・エレメント501間の接続関係を変更可能なスイッチ512と、回路再構成を制御する情報を蓄積するコンフィギュレーション情報蓄積メモリ506を有し、且つ回路を再構成する情報によってプロセッサ・エレメント501の電源電圧を選択するコンフィギュレーション制御回路509を有するので、実行させる信号処理内容に応じた各プロセッサ・エレメント501間の回路再構成と、プロセッサ・エレメント501へ供給する電圧を変更する機能を有する。
【００４２】
図６は、本発明の再構成可能な信号処理プロセッサにおける第２の実施例(電源遮断制御時)の説明図である。同図において、回路再構成によってマッピングされたプロセッサ・エレメント601、回路再構成の結果マッピングされなかったプロセッサ・エレメント602a,602b、電源電圧供給エリア603、電源電圧遮断エリア604、システム制御用CPU605、コンフィギュレーション情報蓄積メモリ606、コンフィギュレーション制御信号デコード部607、コンフィギュレーション制御回路608、電源供給部のコンフィギュレーション制御回路609、データメモリ610、グローバル・バス611、ローカル・バスのスイッチ(セレクタ) 612、およびローカル・バス613を示す。
【００４３】
本実施形態の信号処理プロセッサでは、実行する信号処理では使用しないプロセッサ・エレメント602a,602b、即ち回路再構成を制御する情報によってプロセッサ・エレメントの接続関係を変更する際にマッピングされなかったプロセッサ・エレメント602a,602bに対しては、電源電圧を大幅に降圧することで、該当の信号処理では使用しない演算器で生じるオフリーク電流を抑制することが出来る。
【００４４】
例えばLSIのレイアウトを設計する際に、グローバル・バス611は任意のプロセッサ・エレメント同士で接続でき自由度の高い再構成が可能であるが、ローカル・バス613は、配置的に近いもの同士を接続し、プロセッサ・エレメント(演算器)同士の組み合わせに関して自由度は低くなる。ただ、ローカル・バス613は例えば隣あった8bitALU同士を接続して16bitALUを構成する場合などに使用する。この場合グローバル・バス611でも構成可能であるが、スイッチ部分の負荷が重く回路も大きくなる。
【００４５】
そのほか、ローカル・バス613は、ループ演算、組み合わせ演算、例えばALU-MUL , Sift-ALUあるいは上下のセルを組み合わせてACS(ACS:Add-Compare-Select)演算器を構成する場合などに専用特化する機能として用意する。
【００４６】
図７は、本発明の再構成可能な信号処理プロセッサにおける第３の実施例(電圧制御実施時)の説明図である。同図において、回路再構成によってマッピングされたプロセッサ・エレメント（動作可能な電源電圧供給エリア）701、回路再構成の結果マッピングされなかったプロセッサ・エレメント(待機電源電圧供給エリア) 702a,702b、システム制御用CPU705、コンフィギュレーション情報蓄積メモリ706、コンフィギュレーション制御信号デコード部707、コンフィギュレーション制御回路708、電源供給部のコンフィギュレーション制御回路709、データメモリ710、バス703およびスイッチ704を示す。
【００４７】
本実施形態の信号処理プロセッサでは、実行する信号処理では使用しないプロセッサ・エレメント702a,702b 、即ち回路再構成を制御する情報によって演算器の接続関係を変更する際にマッピングされなかったプロセッサ・エレメント702a,702b に対しては、電源電圧の供給を遮断することで、該当の信号処理では使用しない演算器で生じるオフリーク電流を抑制することが出来る。
【００４８】
図８は、本実施形態の信号処理プロセッサにおける連続動作モードの回路再構成制御タイミング図である。同図において、連続動作モード時のマスタークロック801、連続動作モード時のコンフィギュレーションイネーブル802、連続動作モード時の回路再構成期間803、連続動作モード時の入力レジスタ・クロック信号804、連続動作モード時の出力レジスタ・クロック信号805、連続動作モード時の信号処理実行ステージ(演算ステージ) 806、および連続動作モード時の信号処理停止ステージ(No OPeration実行) 807を示す。この場合、連続動作モードとは、例えばプロセッサ・エレメントが毎サイクル演算を行う場合をいう。
【００４９】
連続動作モード時のコンフィギュレーションイネーブル802は、図４のコンフィギュレーション制御信号デコード結果保持部の出力イネーブル404に対応し、後述する図１０のイネーブル制御信号1010,1011,1012,1013に対応する。
【００５０】
図８において、EX1a,EX1b等 806は実行ステージを表し、どこかの演算器（DRPではどこかのプロセッサ・エレメント）で該当する命令(EX1a,EX1b等)を実行することを表す。例えば、EX1a,EX1b等が乗算命令なら乗算が出来るプロセッサ・エレメントに接続されるようスイッチ704を切り替え、データバス703から乗算が出来るプロセッサ・エレメントにデータを流し込む。またEX2a,EX2b等が加算命令であれば加算機能を持ったプロセッサ・エレメントに接続して加算を行う。
【００５１】
一方、NOP807はノー・オペレーション(NoOPeration)を示し、何も実行されない命令（或いはステージ）を表わす。NOP807は何も命令がないステージなので、この遊びの時間を使って切り替えを行う期間がコンフィギュレーションイネーブル802の動作している時間803である。
【００５２】
マスタークロック801、コンフィギュレーションイネーブル802、入力レジスタ・クロック信号804および出力レジスタ・クロック信号805は、コンフィギュレーション制御回路608,708から送られる。これらの命令に相当する情報は、コンフィギュレーション情報蓄積メモリ606,706に蓄積してあり、これをコンフィギュレーション制御信号デコード部607,707でデコードする。
【００５３】
マスタークロック801は、コンフィギュレーション情報蓄積メモリ606,706、コンフィギュレーション制御信号デコード部607,707、コンフィギュレーション制御回路608,708に供給されるクロックであり、コンフィギュレーションイネーブル802は、コンフィギュレーション制御信号デコード部607,707におけるデコード結果から作られ、コンフィギュレーション制御回路608,708で使用されるとともに出力される。また、レジスタ・クロック804,805は、マスタークロック801を基に命令をデコードした信号でコンフィギュレーション制御回路608,708が生成する。
【００５４】
図９は、本実施形態の信号処理プロセッサにおけるオルターネード動作モードの回路再構成制御タイミング図である。同図において、オルターネードモード(時分割マッピングモード)時のマスタークロック901、オルターネードモード(時分割マッピングモード)時のコンフィギュレーションイネーブル902、オルターネードモード(時分割マッピングモード)時の回路再構成期間903、オルターネードモード(時分割マッピングモード)時の入力レジスタ・クロック信号904、オルターネードモード(時分割マッピングモード)時の出力レジスタ・クロック信号905、オルターネードモード(時分割マッピングモード)時の信号処理実行ステージ(演算ステージ) 906、およびオルターネードモード(時分割マッピングモード)時のデータ転送ステージ907を示す。
【００５５】
図９において、クロック周期の（３），（４）サイクル目、（７），（８）サイクル目、（９），（１０）サイクル目（以下省略）の部分が上記の遊びの部分である。つまり、ＥＸ906(プロセッサ・エレメントが演算する時間)とＴＲ907(データＲＡＭまたはプロセッサ・エレメントからプロセッサまたは次段のプロセッサ・エレメントへのデータ転送期間)以外の時間が切り替えを行える時間となる。この時間にコンフィギュレーションイネーブル902を動作させ切り替え(再構成/再接続)を行う。この場合、レジスタ・クロック904の下がりエッジに同期した場合が最も内部遅延時間的に余裕がある。
【００５６】
コンフィギュレーションイネーブル902は切り替え(再構成/再接続)のイネーブル信号である。図９のオルターネード(交互)動作モードではEX(演算)、TR(転送)期間が交互に行われ、再構成/再接続はバス部分も再構成するのでTR期間には行えない。従って交互動作モードではEX(演算)時間を使って切り替えを行う。
【００５７】
このように本実施形態の信号処理プロセッサは、連続動作モード（第一の動作モード）において、プロセッサ・エレメントのデータ入力とデータ出力部に配置された入力レジスタと出力レジスタを信号処理内容に応じて再構成し、プロセッサ・エレメントで連続して演算処理等のデジタル信号処理を実施する。また、オルターネード動作モード（第二の動作モード）において、演算処理等のデジタル信号処理動作と、出力レジスタから入力レジスタへデータを転送する動作とを交互に行い、プロセッサ・エレメントでデジタル信号処理を実施している期間に、プロセッサ・エレメント間の接続関係を変更する回路再構成動作を行う。これにより、プロセッサ・エレメントの利用効率を高め且つ低消費電力を実現することの出来る。
【００５８】
なお、入力レジスタまたは出力レジスタのいずれか一方を配置しても、連続してプロセッサ・エレメント間で演算処理等を実施する事は可能である。例えば、あるプロセッサ・エレメントで演算した結果は一度レジスタで受けなければ、直接次のプロセッサ・エレメントに流れ込んでしまい、切れ目なく演算データが流れるとバスの切り替えも再構成も出来なくなる。また、クロック信号に同期させる必要があるため、入力または出力部にレジスタをおく必要がある。入力および出力の両方にレジスタを配置すると、EX（演算）とTR（転送）のステージを作ることが出来る。
【００５９】
単位時間内で処理される信号量が多い場合に第一のモード（高速動作モードあるいは高スループットモード）とする。一方、第二のモードは第一のモードに比べ低電力モードである。
【００６０】
プロセッサ・エレメントにおける電力は、容量C、クロック周波数f、電源電圧Vddとすると、C×f×Vdd^2で表わされる。図８のレジスタ・クロック804はマスタークロック801の半分の周波数で入力されており、一方、図９のレジスタ・クロック904は図８のレジスタ・クロック804を間欠的に入力している。例えば、マスタークロック801の周波数を100MHzとする場合、図８のレジスタ・クロック804は50MHz、図９のレジスタ・クロック904は25MHzに相当し、上記の式の周波数fが下がる分だけ電力を削減することが出来る。
【００６１】
このように本実施形態の信号処理プロセッサでは、プロセッサ・エレメントの入力側と出力側にレジスタを設けるので、プロセッサ・エレメントでデジタル信号処理を実施している期間に、プロセッサ・エレメント間の接続関係を変更することが可能である。
【００６２】
すなわち、入力レジスタから信号を出力してプロセッサ・エレメントで演算し出力側レジスタへ信号が伝播している間(演算している間)にバスの接続関係を変更する。一方、出力側レジスタからバスを経由して入力側レジスタへ信号を転送する期間（再構成できない期間）は、プロセッサ・エレメントは演算動作をしないので消費電力は小さい。
【００６３】
また、本実施形態の信号処理プロセッサでは、信号処理内容を実行する時刻順にスケジューリングするための情報をコンフィギュレーション情報蓄積メモリに蓄積しておくことにより、実行する信号処理内容を回路再構成可能な信号処理プロセッサにマッピングする際に、一度に全ての処理をマッピングできない場合などは、信号処理内容を実行する時刻順にスケジューリングし、第二の動作モードを用いて時分割にマッピングすることが可能である。
【００６４】
図１０は、本実施形態の信号処理プロセッサにおけるオルターネード動作モード時のクロック制御回路の説明図である。同図において、プロセッサ・エレメント1001、レベルシフタ1002、入力レジスタ1003a、出力レジスタ1003b、演算器1004、入力レジスタのクロック信号(オルターネード動作時にクロック供給される個所) 1005、出力レジスタのクロック信号(オルターネード動作時にクロック供給される個所) 1006、入力レジスタのクロック信号(マッピングされないプロセッサ・エレメント) 1007、出力レジスタのクロック信号(マッピングされないプロセッサ・エレメント) 1008、マスタークロック1009、オルターネードモードおよびマッピング時の入力レジスタ用イネーブル制御信号1010、オルターネードモードおよびマッピング時の出力レジスタ用イネーブル制御信号1011、オルターネードモードおよび非マッピング時の入力レジスタ用イネーブル制御信号1012、オルターネードモードおよび非マッピング時の出力レジスタ用イネーブル制御信号1013、バス1014およびスイッチ1015を示す。
【００６５】
図１０に示す回路は、コンフィギュレーション制御回路708の内部回路の一部であり、イネーブル制御信号1012,1010,1011,1013は、例えば、コンフィギュレーション制御信号デコード部707から送られてくる。イネーブル制御信号1010は、プロセッサ・エレメントの入力部が動作する期間を決め、イネーブル制御信号1011はプロセッサ・エレメントの出力部が動作する期間を決める。これらはマスタークロック1009に同期して動作する。
【００６６】
図１０の上段に示すプロセッサ・エレメントは、イネーブル制御信号1010で形成したクロック信号1005の期間にバスからデータを入力して演算(EX)を実行する。一方、イネーブル制御信号1011で形成したクロック信号1006の期間で、図１０の上段に示したプロセッサ・エレメントから下段に示したプロセッサ・エレメントへデータ転送(TR)を実行する。
【００６７】
図１１は、本実施形態の信号処理プロセッサにおけるバスおよびスイッチ部の説明図である。同図において、バス1101、スイッチ部1102、コンフィギュレーション情報蓄積メモリ1103、コンフィギュレーション情報のデコーダ1104、コンフィギュレーション制御回路1105、レベルシフタ1106、入力レジスタ1107、演算器1108、出力レジスタ1109およびレベルシフタ1110を示す。
【００６８】
スイッチ部1102は、図５の512、図６の612、図７の704に対応する。コンフィギュレーション制御回路1105は、バス1101のデータを入力レジスタ1107、演算器1108、出力レジスタ1109に送って演算するか否かを決めるコンフィギュレーションイネーブル信号(再構成制御信号)を生成する。よってコンフィギュレーションイネーブル信号がアクティブな場合は、バス1101、スイッチ部1102、入力レジスタ1107、演算器1108および出力レジスタ1109の経路が構成され演算が行われる。
【００６９】
例えば、図１０ではプロセッサ・エレメントを６個示しているが、右上端のプロセッサ・エレメントの演算結果を次に何処へ送ってどのプロセッサ・エレメントで次の演算を行うかをスイッチ部1102が決定する。
【００７０】
各プロセッサ・エレメントの入口にはスイッチ部1102があり、バス1101のデータを取り込んで演算を行うか行わないかをコンフィギュレーション制御回路1105が指示する。コンフィギュレーション制御回路1105から出力されるコンフィギュレーションイネーブル信号がアクティブでない場合、バス1101の信号は、スイッチ部1102、入力レジスタ1107、演算器1108および出力レジスタ1109へ入力されないので、そのプロセッサ・エレメントが再構成の対象外となる。
【００７１】
図１２は、本実施形態の信号処理プロセッサにおける局所的回路再構成に関する実施例の説明図である。同図において、ループ動作コンフィギュレーションイネーブル信号1201a,1201b、複合演算動作コンフィギュレーションイネーブル信号1202、右シフト拡張信号1203a、左シフト拡張信号1203b、偶数カラムに配置されたプロセッサ・エレメント1204a、奇数カラムに配置されたプロセッサ・エレメント1204b、レベルシフタ1205a,1205b、レベルシフタ1206a,1206b、入力レジスタ1207a,1207b、出力レジスタ1208a,1208b、演算器(ALUや乗算器など) 1209a,1209b、シフト演算器(バレルシフタなど) 1210a,1210b、およびシフト演算器拡張回路1211を示す。
【００７２】
偶数カラムに配置されたプロセッサ・エレメント1204aと奇数カラムに配置されたプロセッサ・エレメント1204bは、例えば、夫々が4bitALUだった場合にその２つを横方向に再構成して、８bitALUとして機能させることができる。したがってプロセッサ・エレメント1204a,1204bは、ビット拡張信号が下位bit用と上位bit用になっている点が相違する。例えば、プロセッサ・エレメント1209bは、プロセッサ・エレメント1209aのALU（算術論理演算器）からの桁上げ信号が入力される。
【００７３】
ループ動作コンフィギュレーションイネーブル信号1201a等は、演算器1209bおよび演算器1209b内のALUにおいて繰り返し足し算をする場合、例えば５回足し算する場合に、プロセッサ・エレメントを５個使ってシリアルに接続するよう再構成するのではなく、１個のプロセッサ・エレメントを使って５回実行することで少ない演算器の資源（個数）で再構成させるための制御信号である。
【００７４】
５回連続して足し算を行う場合に、この信号がない場合は足し算を行うプロセッサ・エレメントを５個直列にマッピングして演算を行う必要がある。また、再構成機能を使うと、１個のプロセッサ・エレメントで演算できるが、外部バス経由でデータをループさせる必要があるので、バスの使用効率が下がる可能性がある。バスの自由度を上げるためにもグローバル・バスは必要最小限の使用に留めることが望まれる。
【００７５】
そこで本実施形態のように、ループ動作コンフィギュレーションイネーブル信号1201a,1201bを使用すると、１個のプロセッサ・エレメントを使用するだけでループ演算を行うことが出来る。かつ外部のグローバル・バスを使わずプロセッサ・エレメントを内部で独立させて使用するのでバスの使用効率の低下を抑制できる。
【００７６】
複合演算動作コンフィギュレーションイネーブル信号1202は、ビット拡張機能の信号である。例えば、プロセッサ・エレメント1209a,1209bが４bit ALUの場合、複合演算動作コンフィギュレーションイネーブル信号1202を使用して8bit ALUとして動作させることができる。複合演算動作コンフィギュレーションイネーブル信号1202を使ってビット拡張すると、プロセッサ・エレメント1209aからC信号が入力されプロセッサ・エレメント1209bが上位ビット用のプロセッサ・エレメントとして動作する。
【００７７】
右シフト拡張信号1203aおよび左シフト拡張信号1203bについて、例えばシフト演算器1210a、1210bが夫々４bitシフタの場合は、右シフト拡張信号1203a、左シフト拡張信号1203bがOFFになるとシフト演算器1210a、1201bは夫々別の４bitシフタとして動作する。一方、右シフト拡張信号1203aがONになると右シフトに関して8bitシフタとして動作し、左シフト拡張信号1203bがONになると左シフトに関して8bitシフタとして動作する。
【００７８】
ループ動作コンフィギュレーションイネーブル信号1201a,1201b、複合演算動作コンフィギュレーションイネーブル信号1202、右シフト拡張信号1203aおよび左シフト拡張信号1203b は、コンフィギュレーション制御回路1105，708，608から送られてくる。
【００７９】
例えば、ループ動作コンフィギュレーションイネーブル信号1201aに"1"が入るとセレクタの左側矢印が選択され、S0,S1の信号が演算器1209aに入力され、LOOP演算が行われる。  また、ループ動作コンフィギュレーションイネーブル信号1201aに"0"が入るとセレクタの右矢印入力が選択され、入力レジスタ1207aのレジスタ情報が演算器1209aに入力され、通常パスとなる。
【００８０】
本実施形態の信号処理プロセッサによれば、ソフトウェアによって与えられた回路再構成情報中に、例えば繰り返し演算や、積和演算などの組み合わせ演算や、プロセッサ・エレメント内の演算器におけるビット幅に対して倍精度演算がある場合を検出し、且つ近接して配置されたプロセッサ・エレメント間を、ループ、直列あるいは並列に接続することでプロセッサ・エレメント間のバス接続回路規模を削減することができる。
【００８１】
図５あるいは図７においては、グローバルにどのプロセッサ・エレメント同士も接続できるが、全ての組み合わせが可能な構成にした場合、バス配線とスイッチ部分が肥大化して、回路規模や消費電力とのトレードオフが発生する。本実施形態の信号処理プロセッサではこの点を改善することができる。
【００８２】
図１５は、本実施形態の信号処理プロセッサにおいて入力レジスタを自己テスト回路へ再構成する場合の説明図である。図において、レベルシフタ1501、演算器への出力1502、入力レジスタ(スキャンテスト機能つきフリップフロップ) 1503、テストモード信号(コンフィギュレーション制御信号) 1504およびテストモード時のリセット信号1505を示す。
【００８３】
本実施形態の信号処理プロセッサにテスト機能を持たせるために、入力側レジスタを図１５の回路で構成する。そして、回路再構成により入力側レジスタを線形フィードバック・レジスタ回路に変更すると、プロセッサ・エレメント（演算器）には擬似ランダム信号が入力される。
【００８４】
一方、プロセッサ・エレメントの出力側レジスタを同様に再構成してMISR（マルチ・インプット・シグネチャ・レジスタ）にすると、ランダム入力されたデータがプロセッサ・エレメント経由でMISRの入力される。MISRは圧縮器なので、多数回ランダムデータを圧縮した結果をDRPの外部で期待値と比較すれば、LSIのスキャンテストを行うことができる。バスの場合も同様にスキャンテストが可能である。
【産業上の利用可能性】
【００８５】
本発明の信号処理プロセッサは、コンフィグレーション回路の高速化を回路規模の増大なく実現可能となるという効果を有し、再構成可能な信号処理プロセッサ等として有用である。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態の信号処理プロセッサにおけるプロセッサ・エレメントの概略構成図
【図２】本発明の実施形態の信号処理プロセッサにおけるプロセッサ・エレメントの概略構成図
【図３】本発明の実施形態の信号処理プロセッサにおける電源制御の説明図
【図４】本発明の実施形態の信号処理プロセッサにおけるコンフィギュレーション制御回路の概略構成図
【図５】本発明の再構成可能な信号処理プロセッサにおける第１の実施例(電源遮断制御時)の説明図
【図６】本発明の再構成可能な信号処理プロセッサにおける第２の実施例(電源遮断制御時)の説明図
【図７】本発明の再構成可能な信号処理プロセッサにおける第３の実施例(電圧制御実施時)の説明図
【図８】本実施形態の信号処理プロセッサにおける連続動作モードの回路再構成制御タイミング図
【図９】本実施形態の信号処理プロセッサにおけるオルターネード動作モードの回路再構成制御タイミング図
【図１０】本実施形態の信号処理プロセッサにおけるオルターネード動作モード時のクロック制御回路の説明図
【図１１】本実施形態の信号処理プロセッサにおけるバスおよびスイッチ部の説明図
【図１２】本実施形態の信号処理プロセッサにおける局所的回路再構成に関する実施例の説明図
【図１３】従来のリコンフィギュアブル・プロセッサの説明図
【図１４】従来例の電源再構成機能を持たない場合のバスおよびスイッチ部の説明図
【図１５】本実施形態の信号処理プロセッサにおいて入力レジスタを自己テスト回路へ再構成する場合の説明図
【符号の説明】
【００８７】
101a, 101b  レベルシフタ
102, 202, 311, 401  プロセッサ・エレメント
103a  入力レジスタ
103b  出力レジスタ
104a, 204a  演算器(バレルシフタ)
104b, 204b  演算器(ALU)
105, 205    バス
201a, 201b  レベルシフタ内蔵レジスタ
301, 303    低電圧を供給する電源配線
302  高電圧を供給する電源配線
304  電源IC制御信号
305, 410, 509, 609  電源供給部のコンフィギュレーション制御回路
306  電源配線コンフィグレーション制御信号
307  電源電圧可変ブロック
308  電源電圧を低電圧から更に降圧制御された電源ライン(vdd1)
309  電源電圧を低電圧から更に降圧制御された電源ライン(Vdd2)
310, 320  レベルシフタ(信号降圧部)
312, 411  レベルシフタ(信号昇圧部)
409, 507, 607  コンフィギュレーション制御信号デコード部
501, 601  回路再構成によってマッピングされたプロセッサ・エレメント
502a, 502b, 602a, 602b  回路再構成の結果マッピングされなかったプロセッサ・エレメント
503, 603  電源電圧供給エリア
504, 604  電源電圧遮断エリア
505, 605  システム制御用CPU
506, 606  コンフィギュレーション情報蓄積メモリ
508, 608  コンフィギュレーション制御回路
510, 610  データメモリ
512, 612  スイッチ
611  グローバル・バス
613  ローカル・バス
【図１】
2006163815.tif 000003
【図２】
2006163815.tif 000004
【図３】
2006163815.tif 000005
【図４】
2006163815.tif 000006
【図５】
2006163815.tif 000007
【図６】
2006163815.tif 000008
【図７】
2006163815.tif 000009
【図８】
2006163815.tif 000010
【図９】
2006163815.tif 000011
【図１０】
2006163815.tif 000012
【図１１】
2006163815.tif 000013
【図１２】
2006163815.tif 000014
【図１３】
2006163815.tif 000015
【図１４】
2006163815.tif 000016
【図１５】
2006163815.tif 000017
【手続補正書】
【提出日】平成17年6月6日(2005.6.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
近年システムＬＳＩは、多種多様な信号処理が行われる回路を多数搭載することが求められるSystem On Chip(SoC)が一般的である。しかし、SoCにおいてシステムLSIに集積された全ての回路または機能が、同時に動作することは極めてまれで、通常全体のうち数％〜４０％くらいの回路が動作しているに過ぎないことが多い。さらに、それぞれ実装された回路ブロックをある大きさの塊に要素分解すると、同じような信号処理や演算動作が繰り返し行われている場合がほとんどである。このような場合に面積や消費電力などを削減する手段としてダイナミック・リコンフィギュアブル・プロセッサ（以下、ＤＲＰと略す）が提案されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
さらに、本発明の信号処理プロセッサでは、リコンフィグレーション情報によってマッピングされるプロセッサ・エレメントを空間的に割り付けるだけでなく、時分割に割り付けることで、システムLSIに実装するエレメント数を少なくすることが出来る。この機能と電源遮断機能を組み合わせることで、低電力化とリーク電流削減を図ることができる。
【手続補正書】
【提出日】平成18年4月20日(2006.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
算術および論理演算を行う演算器を含む複数のプロセッサ・エレメントと、前記複数のプロセッサ・エレメント間を接続するバスと、前記バスの接続を変更するスイッチ部と、ソフトウェアに応じて前記スイッチ部を制御する制御回路とを有する信号処理プロセッサであって、
前記スイッチ部の電源電圧と、前記プロセッサ・エレメントの電源電圧と、前記制御回路の電源電圧とが異なる信号処理プロセッサ。
【請求項２】
請求項１記載の信号処理プロセッサであって、
前記プロセッサ・エレメントの電源電圧を、前記スイッチ部または前記制御回路の電源電圧より低く設定する信号処理プロセッサ。
【請求項３】
請求項１記載の信号処理プロセッサであって、
回路再構成に関する情報を格納するメモリと、
前記メモリに格納された情報に基づいて、前記プロセッサ・エレメントの電源電圧を制御する電源制御回路とを有し、
実行させる信号処理内容に応じて、前記複数のプロセッサ・エレメント間の接続を変更するとともに、前記プロセッサ・エレメントの電源電圧を変更する信号処理プロセッサ。
【請求項４】
請求項３記載の信号処理プロセッサであって、
前記電源制御回路は、所定期間の信号処理に使用しない前記プロセッサ・エレメントの電源電圧を低下させる信号処理プロセッサ。
【請求項５】
請求項３記載の信号処理プロセッサであって、
前記電源制御回路は、所定期間の信号処理に使用しない前記プロセッサ・エレメントへの電源電圧の供給を遮断する信号処理プロセッサ。