(57)【要約】【課題】プロセッサエレメントの使用効率の低下を抑制し、且つ、使用状況に応じたプロセッサエレメントの並列度を実現することができる並列信号処理プロセッサを実現する。【解決手段】ＳＩＭＤプログラム制御部２−１，２−２は、それぞれ、実行するタスクに対応して各ＰＥ４−１〜４−１２が実行する命令を表す命令制御信号２１−１，２１−２を出力する。命令制御信号マトリクスバス３−１，３−２では、命令制御信号マトリクス切替信号１２に基づいて、ＰＥ４−１〜４−１２に対する命令制御信号２１−１，２１−２を選択的に切り替える。全体プログラム制御部１は、ＳＩＭＤプログラム制御部２−１，２−２が実行するタスクに対応したプロセッサエレメントの割当数に基づいて、命令制御信号マトリクス切替信号１２を出力する。【選択図】図１
2010204948.tif 000002
【特許請求の範囲】
【請求項１】
演算対象データを入力して演算する複数のプロセッサエレメントを単一の命令により制御する並列信号処理プロセッサにおいて、
それぞれが、実行するタスクに対応して前記各プロセッサエレメントが実行する命令を表す命令制御信号を出力する複数のプログラム制御部と、
前記複数のプログラム制御部から出力される命令制御信号を前記各プロセッサエレメントにおけるどのプロセッサエレメントに与えるかを選択的に切り替える切替手段と、
前記複数のプログラム制御部が実行するタスクに対応したプロセッサエレメントの割当数に基づいて、前記切替手段の切替先を決定する全体プログラム制御部とを備えた並列信号処理プロセッサ。
【請求項２】
それぞれのプログラム制御部は、実行するタスクに対応したプロセッサエレメントの割当数を示すプロセッサエレメント数通知信号を出力し、
全体プログラム制御部は、前記プロセッサエレメント数通知信号に基づいて切替手段の切替先を決定することを特徴とする請求項１記載の並列信号処理プロセッサ。
【請求項３】
各プロセッサエレメントに対してクロックを供給するクロック制御部を備え、
全体プログラム制御部は、未割当のプロセッサエレメントがある場合は、前記クロック制御部に対して、当該未割当のプロセッサエレメントへのクロック供給を停止するよう指示を行うことを特徴とする請求項１または請求項２に記載の並列信号処理プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のプロセッサエレメント（ＰＥ）に対して単一の命令でデジタル信号データを並列処理するＳＩＭＤ（Single Instruction Multiple Data）制御方式の並列信号処理プロセッサに関するものである。
【背景技術】
【０００２】
ＳＩＭＤ制御の並列信号処理プロセッサでは、算術演算や論理演算を行う演算装置（Arithmetic Logic Unit：ＡＬＵ）と演算装置からの演算結果を一時記憶しておくメモリ等から構成されるプロセッサエレメント（以下、ＰＥという）を１次元に配置し、そのＰＥを単一の命令により制御するものである。
例えば、デジタルスチルカメラ、デジタルビデオカメラ、デジタルテレビやＰＣ（パーソナルコンピュータ）グラフィックスなどの分野では、高速かつ大量のデジタル画像信号の処理を必要とされ、また、高度化・複雑化する信号処理アルゴリズムに容易に対応できるため、並列信号処理プロセッサが適している。画像処理装置へ要求性能は、画像の高解像度化や高画質化により増大している。
【０００３】
このような点から、演算処理量や演算精度を高めるために、ＰＥ数の拡大が考えられている。また、多様な信号処理機能を並列処理するために、単なるＳＩＭＤを構成するＰＥ数の拡大ではなく、例えば非特許文献１に記載されているような複数のＳＩＭＤプロセッサ構成とする方法が考えられている。
しかし、単純なＰＥ数の拡大は、信号処理内容によってＰＥ使用効率の低下を生じることがある。ＰＥ数の増加が大きくなるほど、その傾向は強くなる。従って、対象とする処理内容に適切に対応できる仕組みが重要となる。
【０００４】
こうした課題を踏まえて、例えば、特許文献１に示すような並列信号処理プロセッサでは、各ＰＥに演算回路を複数存在させて、状況に応じて、演算回路を独立、あるいは連動して動作させることで、実質的なＰＥ数、演算ビット幅を変更することを可能としている。
【０００５】
また、特許文献２では、状況に応じて、演算対象データの分配を単独ＰＥ、あるいは複数ＰＥと切り替えることで並列度を可変とする並列信号処理プロセッサについて開示している。更に、特許文献３では、指定したＰＥの動作を停止させることにより並列度を下げた動作時に、動作しない余ったＰＥのローカルメモリを使用する手段を有する並列信号処理プロセッサを開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２６０４７９号公報
【特許文献２】特開２００７−１７２５２８号公報
【特許文献３】特開２００２−７３５９号公報
【非特許文献】
【０００７】
【非特許文献１】日経エレクトロニクス「これがＣｅｌｌ」，２００５年２月２８日，Ｐ１００〜１０９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したような従来の並列信号処理プロセッサは、状況に応じて、ＳＩＭＤ構成内のＰＥ数で並列度と演算ビット幅を可変としていたので、並列度の可変範囲は、ＳＩＭＤを構成する固定的なＰＥ数を上限とし、また、並列度を下げた場合には活用できないＰＥが生じるため、ＰＥの使用効率が低下するという問題があった。
【０００９】
この発明は上記のような課題を解決するためになされたもので、プロセッサエレメントの使用効率の低下を抑制し、且つ、使用状況に応じたプロセッサエレメントの並列度を実現することができる並列信号処理プロセッサを実現することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る並列信号処理プロセッサは、それぞれが、実行するタスクに対応して各プロセッサエレメントが実行する命令を表す命令制御信号を出力する複数のプログラム制御部と、複数のプログラム制御部から出力される命令制御信号を各プロセッサエレメントにおけるどのプロセッサエレメントに与えるかを選択的に切り替える切替手段と、複数のプログラム制御部が実行するタスクに対応したプロセッサエレメントの割当数に基づいて、切替手段の切替先を決定する全体プログラム制御部とを備えたものである。
【発明の効果】
【００１１】
この発明の並列信号処理プロセッサは、複数のプログラム制御部が実行するタスクに対応して複数のプロセッサエレメントの割当数を可変としたので、プロセッサエレメントの使用効率の低下を抑制し、且つ、使用状況に応じたプロセッサエレメントの並列度を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施の形態１による並列信号処理プロセッサを示す構成図である。
【図２】この発明の実施の形態１による並列信号処理プロセッサにおける命令制御信号マトリクスバスと切替制御を示す説明図である。
【図３】この発明の実施の形態１による並列信号処理プロセッサのプロセッサエレメントの構成図である。
【図４】この発明の実施の形態１による並列信号処理プロセッサのプログラム処理の説明図である。
【図５】この発明の実施の形態１による並列信号処理プロセッサにおけるタスク毎のプロセッサエレメントの並列度を示す説明図である。
【図６】この発明の実施の形態２による並列信号処理プロセッサを示す構成図である。
【図７】この発明の実施の形態３による並列信号処理プロセッサを示す構成図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、この発明の実施の形態１による並列信号処理プロセッサを示す構成図である。図示の並列信号処理プロセッサは、全体プログラム制御部１、ＳＩＭＤプログラム制御部（＃１）２−１，（＃２）２−２、命令制御信号マトリクスバス３−１，３−２、プロセッサエレメント（以下、ＰＥという）４−１〜４−１２、データ入出力バス５を備えている。即ち、図１に示す並列信号処理プロセッサは、１２個のＰＥ４−１〜４−１２と２個のＳＩＭＤプログラム制御部２−１，２−２を設け、二つのＳＩＭＤ型プロセッサを構成できる並列信号処理プロセッサの一例を示している。
【００１４】
図１において、全体プログラム制御部１は、全体制御プログラムを格納するための図示しないＲＡＭやＲＯＭ、プログラムカウンタなどを備え、２個のＳＩＭＤプログラム制御部２−１，２−２におけるタスクの実行状態に基づいて、命令制御信号マトリクス切替信号１２を出力し、命令制御信号マトリクスバス３−１，３−２の切替制御を行う機能を有している。即ち、全体プログラム制御部１は、その機能を実現するための処理プログラムを実行することにより、ＳＩＭＤプログラム制御部２−１，２−２を制御するためのＳＩＭＤ実行制御信号１１を出力すると共に、命令制御信号マトリクス切替信号１２を出力し、ＳＩＭＤプログラム制御部２−１，２−２及び命令制御信号マトリクスバス３−１，３−２の動作を制御するよう構成されている。
【００１５】
ＳＩＭＤプログラム制御部２−１，２−２は、各ＳＩＭＤプロセッサが実行する処理プログラムを格納するための図示しないＲＡＭやＲＯＭ、プログラムカウンタなどを備え、ＳＩＭＤ実行制御信号１１の指示で処理プログラムを実行することにより、命令制御信号２１−１，２１−２を命令制御信号マトリクスバス３−１，３−２に出力し、各ＰＥ４−１〜４−１２の演算処理及びその動作などを制御する。また、命令制御信号２１−１，２１−２の出力が完了した場合は、全体プログラム制御部１へ命令完了通知信号２２を出力するよう構成されている。これらの構成により、本実施の形態１による並列信号処理プロセッサ全体の動作が制御される。
【００１６】
各命令制御信号マトリクスバス３−１，３−２は、命令制御信号マトリクス切替信号１２に従って、各命令制御信号２１−１，２１−２を各ＰＥ４−１〜４−１２への接続（ＯＮ）と切断（ＯＦＦ）を切り替える。即ち、命令制御信号マトリクスバス３−１，３−２は、命令制御信号２１−１，２１−２を各ＰＥ４−１〜４−１２におけるどのＰＥに与えるかを選択的に切り替える切替手段を構成している。図１では、命令制御信号２１−１には４個のＰＥ４−１〜４−４が接続、８個のＰＥ４−５〜４−１２が切断、また、命令制御信号２１−２には８個のＰＥ４−５〜４−１２が接続、４個のＰＥ４−１〜４−４が切断されている状態が示されている。
【００１７】
各ＰＥ４−１〜４−１２は、命令制御信号マトリクスバス３−１，３−２で接続されたＳＩＭＤプログラム制御部２−１あるいは２−２からの命令制御信号２１−１あるいは２１−２により所定の演算動作を行う。また、各ＰＥ４−１〜４−１２には、データ入出力バス５が接続されており、このデータ入出力バス５を経由して入力データ並びに演算出力データを転送するようになっている。
【００１８】
図２は、図１中の命令制御信号マトリクスバス３−１の構成例を示すものである。なお、命令制御信号マトリクスバス３−２も全く同様な構成となっており、ここでは命令制御信号マトリクスバス３−１についての実施の形態を示す。図２において、比較器１０１は、ＰＥ４−１〜４−１２毎に配置される。各比較器１０１には、共通の入力信号である命令制御信号マトリクス切替信号１２と各ＰＥを区別する固定値ｎとが入力されて、比較結果により後述のスイッチ１０２を制御する信号を出力する。スイッチ１０２は、ＰＥ４−１〜４−１２毎に配置されて、比較器１０１のスイッチ制御出力に従って、各ＰＥと命令制御信号２１−１との接続あるいは切断を行う。
【００１９】
図３は、図１中のＰＥの一構成例を示すものである。この図を用いてＰＥ４−１〜４−１２の構成について説明する。なお、ＰＥ４−１〜４−１２は、各々同一構成となっているため、図３では単にＰＥ４として示す。制御部４１は、ＳＩＭＤプログラム制御部２−１あるいは２−２から命令制御信号マトリクスバス３−１，３−２を経由して接続される命令制御信号２１−１，２１−２を受けて、ＰＥ内部の全ての機能を制御する。ＡＬＵ４２は、算術演算や論理演算等の論理演算やデータシフト等を行う演算手段である。レジスタファイル４３は、レジスタ群もしくはＲＡＭ等で構成される記憶部であり、入力データを格納しておく他、ＡＬＵ４２の演算結果を格納する。また、ＡＬＵ４２への入力データもレジスタファイル４３から読み出される。ＡＬＵ４２に対する加算等の演算命令は、制御部４１からの演算選択信号によって行われ、同様に、ＡＬＵ４２とレジスタファイル４３とのデータリード／ライト制御も制御部４１からの制御指示に従って行われる。
【００２０】
次に、実施の形態１の並列信号処理プロセッサの動作について説明する。
全体プログラム制御部１に、所望の処理プログラムを予め格納しておく。このとき、全体制御処理プログラム中には各ＳＩＭＤプログラム制御部２−１，２−２の実行するタスクアドレスとそのタスクを実行するときのＰＥ数を示す命令データがプログラム実行の時系列順で書き込まれている。全体プログラム制御部１からは、この命令に従って命令制御信号マトリクスバス３−１，３−２を、各ＳＩＭＤプログラム制御部２−１，２−２で指定のＰＥ数を割り当てるように命令制御信号マトリクス切替信号１２を出力する。このＳＩＭＤ構成中にＳＩＭＤプログラムが実行されることを抑止するため、各ＳＩＭＤプログラム制御部２−１，２−２に対して、ＳＩＭＤ実行制御信号１１によりＳＩＭＤプログラムの実行禁止を指示しておく。
【００２１】
命令制御信号マトリクス切替信号１２を受けた命令制御信号マトリクスバス３−１，３−２は、各ＳＩＭＤプログラム制御部２−１，２−２に指定のＰＥ数を接続する。図１の状態で説明すると、ＳＩＭＤプログラム制御部２−１には４個のＰＥ４−１〜４−４、ＳＩＭＤプログラム制御部２−２には８個のＰＥ４−５〜４−１２を接続する。この状態を図２を用いて詳細に説明する。全体プログラム制御部１は、制御プログラムから命令制御信号マトリクスバス３−１に対して４個のＰＥを接続するように命令制御信号マトリクス切替信号１２に上位４ｂｉｔを１、下位４ｂｉｔを４と出力する。この実施の形態では、命令制御信号マトリクス切替信号１２の上位４ｂｉｔは使用する下限ＰＥ番号、下位４ｂｉｔは上限ＰＥ番号を示すものとする。ＰＥ４−１〜４−１２毎に配置された比較器１０１には、共通の入力信号である命令制御信号マトリクス切替信号１２と各ＰＥを区別する固定値ｎとが入力されており、図２の表に示すようにＰＥ番号ｎが、１≦ｎ≦４のＰＥに該当するスイッチ１０２を制御する信号にＯＮを出力し、４＜ｎのＰＥに該当するスイッチ１０２を制御する信号にＯＦＦを出力する。これにより、ＰＥ４−１〜４−１２毎に配置された各スイッチ１０２が設定されて、ＳＩＭＤプログラム制御部２−１にはＰＥ４−１〜４−４の４個が接続される。同様にして、制御プログラムから命令制御信号マトリクスバス３−２に対して８個のＰＥを接続するように命令制御信号マトリクス切替信号１２に上位４ｂｉｔを５、下位４ｂｉｔを１２と出力されて、ＳＩＭＤプログラム制御部２−２にはＰＥ４−５〜４−１２の８個が接続される。
【００２２】
図示しない並列信号処理プロセッサ外部の装置からデータ入出力バス５経由で各ＰＥ４−１〜４−１２へ入力データが転送される。そして、全体プログラム制御部１は、命令制御信号マトリクス切替信号１２の設定出力後に各ＳＩＭＤプログラム制御部２−１，２−２に対して、ＳＩＭＤ実行制御信号１１によりタスクアドレスと実行指示を通知して、一旦、待機（ｗａｉｔ）状態となる。
【００２３】
また、各ＳＩＭＤプログラム制御部２−１，２−２は、所望のＳＩＭＤ処理プログラムを予め格納しておく。ＳＩＭＤ実行制御信号１１によりタスクアドレスと実行指示を受け取ると指定のタスクアドレスから命令を解析して、命令制御信号２１−１，２１−２を出力していく。処理プログラム中からタスクエンドを検出すると命令制御信号２１−１，２１−２にはＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）を出力維持し、また、命令完了通知信号２２でタスクの完了を全体プログラム制御部１へ通知する。
【００２４】
各ＰＥ４−１〜４−１２は、上述の図３の説明にあるようにして、ＳＩＭＤプログラム制御部２−１あるいは２−２から命令制御信号マトリクスバス３−１，３−２を経由して接続される命令制御信号２１−１，２１−２を受けて、所望の演算処理を逐次実行する。
【００２５】
上記の一連の動作により、各ＳＩＭＤプログラム制御部２−１，２−２から命令完了通知信号２２を受け取った全体プログラム制御部１０は、待機（ｗａｉｔ）状態から抜けて、続きの全体制御処理プログラムの実行を行う。以下、この一連の動作を繰返すことにより、所望の演算が実行されるものである。
【００２６】
図４は、以上のような構成・動作の並列信号処理プロセッサの具体的なプログラム処理の例を示すフローチャートである。
全体プログラムは、ＳＩＭＤプログラム制御部２−１とＳＩＭＤプログラム制御部２−２で実行すべきタスクアドレスとその実行で使用すべきＰＥを時間系列で指定する。各ＳＩＭＤプログラムは、全体プログラムの指示すタスクアドレスにあるＳＩＭＤ演算の命令列である。全体プログラム制御部１は、この全体プログラムを解析して、上述したように各ＳＩＭＤプログラム制御部２−１，２−２に対し、命令制御信号マトリクスバス３−１，３−２を経由してＰＥ４−１〜４−１２を接続し、各ＳＩＭＤプログラム制御部２−１，２−２は、ＳＩＭＤ実行制御信号１１に従って、タスク処理であるＳＩＭＤプログラムを実行していく。なお、図４中のＰＥ＝１〜１２は図１のＰＥ４−１〜４−１２を示している。
【００２７】
図４では、先ず、全体プログラムにおいて、ＳＩＭＤプログラム制御部２−１に対して、ＰＥ１〜４の設定とタスク１の実行並びにＳＩＭＤプログラム制御部２−２に対して、ＰＥ５〜１２の設定とタスク２の実行が示される。ＳＩＭＤプログラムとして、ＳＩＭＤプログラム制御部２−１でタスク１を、ＳＩＭＤプログラム制御部２−２でタスク２を実行され、命令完了通知信号２２でタスク完了通知を出す。
全体プログラム制御部１は、タスク完了通知を受けると、次に全体プログラムにおいて、ＳＩＭＤプログラム制御部２−１に対して、ＰＥ１〜８の設定とタスク３の実行並びにＳＩＭＤプログラム制御部２−２に対して、ＰＥ９〜１２の設定とタスク４の実行が示される。ＳＩＭＤプログラムとして、ＳＩＭＤプログラム制御部２−１でタスク３を、ＳＩＭＤプログラム制御部２−２でタスク４を実行され、命令完了通知信号２２でタスク完了通知を出す。
続いて、タスク完了通知を受けた全体プログラムにおいて、ＳＩＭＤプログラム制御部２−１に対して、ＰＥ１〜６の設定とタスク５の実行並びにＳＩＭＤプログラム制御部２−２に対して、ＰＥ７〜１２の設定とタスク６の実行が示される。ＳＩＭＤプログラムとして、ＳＩＭＤプログラム制御部２−１でタスク５を、ＳＩＭＤプログラム制御部２−２でタスク６を実行し、命令完了通知信号２２でタスク完了通知を出す。
【００２８】
図５は、図４の具体的なプログラム処理を行ったときの各ＳＩＭＤプログラムへのＰＥ並列度割当を示した図である。同図では、タスク１とタスク２の実行では、各々ＰＥ並列度４個とＰＥ並列度８個を、タスク３とタスク４の実行では、各々ＰＥ並列度８個とＰＥ並列度４個を、そして、タスク５とタスク６の実行では、各々ＰＥ並列度６個ずつを動的に割り当てていくことを示している。なお、図５においても、ＰＥ１〜ＰＥ１２は図１のＰＥ４−１〜ＰＥ４−１２を示している。
【００２９】
従来、複数のＳＩＭＤ型並列信号処理プロセッサ構成では、各ＳＩＭＤ型プロセッサは固定的なＰＥ数であった。ＳＩＭＤプログラムによるＰＥ並列度を可変できる場合でも、固定的なＰＥ数のビット精度を分割して、見かけ上の並列度を上げるあるいは、固定的なＰＥ数の内で必要な個数のみを動作させることのみ可能とされていた。そのため、複数のＳＩＭＤ型プロセッサの中で、あるＳＩＭＤ型プロセッサで固定的なＰＥ数の内で必要な個数のみを動作させて余っているＰＥが存在しても別のＳＩＭＤ型プロセッサで活用できないため、ＰＥの利用効率が低下していた。
特にデジタルビデオカメラなどの画像信号処理分野では、カメラ入力信号のラスタースキャン系の画素レベルにおける高並列度向き処理から圧縮符号化のブロックスキャン系の画素レベルより機能レベルでの並列処理が適するなど、対象とする信号処理の内容が多種多様となるため、並列度の最適化には、高い自由度が理想とされる。
【００３０】
図４、図５に示したように、全体プログラムにより、ＰＥ並列度と処理内容のタスクを定義することが可能であり、その定義に従って各ＳＩＭＤ構成のＰＥ並列度を設定できるため、対象とする信号処理の内容に最適な並列度処理を実現することができる。同時に、各ＳＩＭＤ構成でＰＥを共有するため、ＰＥの利用効率も高められる。
【００３１】
なお、上記例では、ＳＩＭＤプログラム制御部が２個、ＰＥが１２個の場合で説明したが、各々の個数はこの数に制限されるものではない。また、図３にＰＥの一構成例を示したが、ＰＥの演算ビット幅や演算種に制約を与えるものではない。
【００３２】
以上のように、実施の形態１の並列信号処理プロセッサによれば、演算対象データを入力して演算する複数のプロセッサエレメントを単一の命令により制御する並列信号処理プロセッサにおいて、それぞれが、実行するタスクに対応して各プロセッサエレメントが実行する命令を表す命令制御信号を出力する複数のプログラム制御部と、複数のプログラム制御部から出力される命令制御信号を各プロセッサエレメントにおけるどのプロセッサエレメントに与えるかを選択的に切り替える切替手段と、複数のプログラム制御部が実行するタスクに対応したプロセッサエレメントの割当数に基づいて、切替手段の切替先を決定する全体プログラム制御部とを備えたので、プロセッサエレメントの使用効率の低下を抑制し、且つ、使用状況に応じたプロセッサエレメントの並列度を実現することができる。
【００３３】
実施の形態２．
実施の形態１では、ＰＥ並列度と処理内容のタスクを全体プログラムで定義したが、各ＳＩＭＤプログラムで定義すれば、全体制御プログラムを設けなくてもよく、このような例を実施の形態２として次に説明する。
【００３４】
図６は、実施の形態２の並列信号処理プロセッサを示す構成図である。
図６において、全体プログラム制御部１ａは、ＳＩＭＤプログラム制御部（＃１）２ａ−１，（＃２）２ａ−２からのＰＥ数通知信号２３に基づいて、ＳＩＭＤプログラム制御部２ａ−１，２ａ−２におけるＰＥ４−１〜４−１２の割当を認識し、この割当状況に基づいて命令制御信号マトリクス切替信号１２を出力するよう構成されている。また、ＳＩＭＤプログラム制御部２ａ−１，２ａ−２は、実行するタスクプログラムにおいて、どのＰＥ４−１〜４−１２を用いるかを判定し、これをＰＥ数通知信号２３として全体プログラム制御部１ａに出力すると共に、全体プログラム制御部１ａからＳＩＭＤ実行許可信号１３を受けてタスクを実行するよう構成されている。その他の構成は実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。また、図６においても、図１と同様に、命令制御信号２１−１には４個のＰＥ４−１〜４−４が接続、８個のＰＥ４−５〜４−１２が切断、また、命令制御信号２１−２には８個のＰＥ４−５〜４−１２が接続、４個のＰＥ４−１〜４−４が切断されている状態が示されている。
【００３５】
実施の形態２では、各ＳＩＭＤプログラムにおいて、タスクプログラム毎の直前にＰＥ並列度の定義をしておく。各ＳＩＭＤプログラム制御部２ａ−１，２ａ−２は、ＳＩＭＤプログラムを解析してＰＥ並列度の定義を検出すると、次に実行するタスクのＰＥ数をＰＥ数通知信号２３として全体プログラム制御部１ａへ通知すると共に、命令制御信号２１−１，２１−２にはＮＯＰを出力維持して待機する。
全体プログラム制御部１ａは、実施の形態１での全体プログラムの代わりに各ＳＩＭＤプログラム制御部２ａ−１，２ａ−２からのＰＥ数通知信号２３が揃うと、このＰＥ数通知信号２３に従って命令制御信号マトリクスバス３−１，３−２を、各ＳＩＭＤプログラム制御部２ａ−１，２ａ−２に指定のＰＥ数を割り当てるように命令制御信号マトリクス切替信号１２を出力する。そして、全体プログラム制御部１ａは、命令制御信号マトリクス切替信号１２の設定出力後に、各ＳＩＭＤプログラム制御部２ａ−１，２ａ−２に対して、ＳＩＭＤ実行許可信号１３によりタスク実行指示を通知する。これを受けて各ＳＩＭＤプログラム制御部２ａ−１，２ａ−２は待機状態（ＮＯＰ）から抜けて命令解析を開始して、次のＰＥ並列度の定義を検出するまで動作を継続する。
【００３６】
以上のように、実施の形態２の並列信号処理プロセッサによれば、それぞれのプログラム制御部は、実行するタスクに対応したプロセッサエレメントの割当数を示すプロセッサエレメント数通知信号を出力し、全体プログラム制御部は、プロセッサエレメント数通知信号に基づいて切替手段の切替先を決定するようにしたので、全体制御プログラムを設けなくてもよいため、全体プログラム制御部の構成を簡素化することができる。
【００３７】
実施の形態３．
実施の形態３は、未割当のＰＥに対してはクロックを停止するようにしたものである。
図７は、本発明の実施の形態３に係わる並列信号処理プロセッサの構成図である。
実施の形態３の並列信号処理プロセッサでは、クロック制御部６を有している。このクロック制御部６は、全体プログラム制御部１からのクロック制御信号１４に基づいてＰＥ４−１〜４−１２へのクロック信号の供給を制御する。全体プログラム制御部１ｂは、実施の形態１の全体プログラム制御部１の機能に加えて、クロック制御部６に対してクロック制御信号１４を出力し、未割当のＰＥ４−１〜４−１２がある場合は、その未割当のＰＥに対してクロック信号の供給を停止するよう指示を行う。また、それ以外の構成は、実施の形態１と同様であるため、同一部分には同一符号を付してその説明を省略する。
【００３８】
次に、実施の形態３の並列信号処理プロセッサの動作について説明する。
全体プログラム制御部１ｂは、全体制御プログラムからＰＥ並列度を解析して、未割当ＰＥを検出するとクロック制御信号１４として未割当ＰＥ番号をクロック制御部６に出力する。クロック制御部６は、クロック制御信号１４に従って、ＰＥ４−１〜４−１２の動作クロックを個別に出力／停止する。図７の例では、ＰＥ４−１１とＰＥ４−１２とが未割当ＰＥとして検出されため、クロック制御部６ではこれらＰＥ４−１１，４−１２への
クロックを停止している。
【００３９】
尚、図７に示した例では実施の形態１の構成に対してクロック制御を行う構成を付加したが、実施の形態２の構成に対して適用するようにしてもよい。
【００４０】
以上のように、実施の形態３の並列信号処理プロセッサによれば、各プロセッサエレメントに対してクロックを供給するクロック制御部を備え、全体プログラム制御部は、未割当のプロセッサエレメントがある場合は、クロック制御部に対して、未割当のプロセッサエレメントへのクロック供給を停止するよう指示を行うようにしたので、未使用のプロセッサエレメントの動作を停止できるため、並列信号処理プロセッサとしての低消費電力化を図ることができる。
【符号の説明】
【００４１】
１，１ａ，１ｂ  全体プログラム制御部、２−１，２−２，２ａ−１，２ａ−２  ＳＩＭＤプログラム制御部、３−１，３−２  命令制御信号マトリクスバス、４−１〜４−１２  プロセッサエレメント、５  データ入出力バス、６  クロック制御部、１１  ＳＩＭＤ実行制御信号、１２  命令制御信号マトリクス切替信号、１３  ＳＩＭＤ実行許可信号、１４  クロック制御信号、２１−１，２１−２  命令制御信号、２２  命令完了通知信号、２３  プロセッサエレメント（ＰＥ）数通知信号。
【図１】
2010204948.tif 000003
【図２】
2010204948.tif 000004
【図３】
2010204948.tif 000005
【図４】
2010204948.tif 000006
【図５】
2010204948.tif 000007
【図６】
2010204948.tif 000008
【図７】
2010204948.tif 000009