(57)【要約】【課題】異なるＳＩＭＤ演算器間でＰＥを連携制御して並列度を可変にすると共に、ＰＥ使用効率の低下を抑制した並列信号処理装置を実現する。【解決手段】各ミクロシーケンサ制御部２０−１〜２０−ｎは各ＳＩＭＤ演算器３０−１〜３０−ｎの動作を制御する。ＳＩＭＤ演算器３０−１〜３０−ｎはそれぞれ複数のＰＥを有し、各ＰＥは隣接ＰＥバス３０１で接続され、ＰＥ間でデータ交換が可能である。この隣接ＰＥバス３０１をＳＩＭＤ演算器単位で結合／切断するＳＩＭＤ結合スイッチを、全体シーケンス制御部１０が制御して、ＰＥ並列度を可変にする。【選択図】図１
2011086061.tif 000002
【特許請求の範囲】
【請求項１】
演算対象データを入力して演算するプロセッサエレメントを複数有し、単一の命令により制御する並列信号処理プロセッサと、
前記並列信号処理プロセッサへ命令を出力して動作を制御するミクロシーケンサ制御部と、
複数の前記並列信号処理プロセッサのプロセッサエレメントにそれぞれ接続して、プロセッサエレメント間でデータ交換を行うための伝送路と、
前記伝送路を並列信号処理プロセッサ単位で結合又は切断する接続切り替え部と、
前記接続切り替え部を制御して、任意の並列信号処理プロセッサ間の接続を結合又は切断する全体シーケンス制御部とを備える並列信号処理装置。
【請求項２】
並列信号処理プロセッサと、当該並列信号処理プロセッサの動作を制御するミクロシーケンサ制御部とを１組として、各組の動作クロック周波数を制御するクロック制御部を備え、
全体シーケンス制御部は、動作クロック周波数を組毎に設定するクロック制御信号を前記クロック制御部に出力して、前記各組の動作クロック周波数を制御させることを特徴とする請求項１記載の並列信号処理装置。
【請求項３】
並列信号処理プロセッサと、当該並列信号処理プロセッサの動作を制御するミクロシーケンサ制御部とを１組として、各組の電源電圧を制御する電源電圧制御部を備え、
全体シーケンス制御部は、電源電圧を組毎に設定する電源電圧制御信号を前記電源電圧制御部に出力して、前記各組の電源電圧を制御させることを特徴とする請求項１記載の並列信号処理装置。
【請求項４】
並列信号処理プロセッサの動作クロック周波数を制御するクロック制御部を備え、
ミクロシーケンス制御部は、前記並列信号処理プロセッサが有する複数のプロセッサエレメントの動作停止期間に動作クロックを停止するクロック制御信号を前記クロック制御部に出力して、前記並列信号処理プロセッサの動作クロックを停止させることを特徴とする請求項１記載の並列信号処理装置。
【請求項５】
並列信号処理プロセッサへの電源電圧供給を制御する電源電圧制御部を備え、
ミクロシーケンス制御部は、前記並列信号処理プロセッサが有する複数のプロセッサエレメントの動作停止期間に電源電圧供給を停止する電源電圧制御信号を前記電源電圧制御部に出力して、前記並列信号処理プロセッサへの電源電圧供給を停止させることを特徴とする請求項１記載の並列信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のプロセッサエレメント（ＰＥ）に対して単一の命令でデジタル信号データを並列処理するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）制御方式の並列信号処理プロセッサを複数備える並列信号処理装置に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラ、デジタルビデオカメラ、デジタルテレビ、ＰＣ（パーソナルコンピュータ）グラフィックス等の分野では、高速且つ大量のデジタル画像信号の処理が必要とされており、大規模な専用ハードウェアにより構成されたＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）が開発されている。一方で、専用ハードウェアを使用した開発では、短期間で高度化及び複雑化していく信号処理アルゴリズムへの追従が困難である。そこで、プログラマビリティの高い高速プロセッサ又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）による開発も行われている。しかしながら、画像データの高解像度化及び高画質化により、画像処理装置への要求性能は増大しており、単独のプロセッサ又はＤＳＰでは演算処理量及び演算精度の不足、並びに高速クロック化による消費電力が問題となる。そこで、単一の命令で複数のデータを並列処理するＳＩＭＤ型プロセッサを利用して演算処理能力を高める方法が提案されている。
【０００３】
ＳＩＭＤ型プロセッサは、算術演算及び論理演算を行う演算装置（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ：ＡＬＵ）とこの演算装置の演算結果を一時記憶しておくメモリ等から構成されるＰＥを１次元に複数個配置し、これらのＰＥを単一の命令により制御する。このようなＳＩＭＤ型プロセッサであれば、高速且つ大量のデジタル画像信号の処理が可能であり、また、高度化及び複雑化する信号処理アルゴリズムに容易に対応できるため、高速プロセッサ又はＤＳＰに適している。
【０００４】
近年、ＳＩＭＤ型プロセッサは、画像データの高解像度化及び高画質化による画像処理装置への要求性能増大に対応して、演算処理量及び演算精度を高めるためにＰＥ数の拡大が考えられている。また、多様な信号処理機能を並列処理するために、単なるＰＥ数の拡大だけではなく、ＳＩＭＤ型プロセッサを複数に増設することによりＰＥ数を拡大する方法が考えられている（例えば、非特許文献１参照）。
【０００５】
しかし、単純なＰＥ数の拡大は信号処理内容によってはＰＥ使用効率の低下を生じることがある。この傾向は、ＰＥ数の増加が大きくなるほど強まる。従って、対象とする信号処理内容に適切に対応して並列処理を行うことのできる仕組みが重要となる。
【０００６】
こうした課題を踏まえて、特許文献１に開示されたＳＩＭＤ型マイクロプロセッサ及びデータ処理方法では、各ＰＥが複数の演算回路を備え、状況に応じて、演算回路を独立又は連動して動作させることで、実質的なＰＥ数及び演算ビット幅を変更している。
【０００７】
また、特許文献２に開示された信号処理プロセッサ及びこれを用いた撮像装置では、状況に応じて、演算対象データの分配を単独ＰＥ又は複数ＰＥに切り替えることにより、並列度を可変にしている。
【０００８】
さらに、特許文献３に開示されたＳＩＭＤ制御並列処理方法及び装置では、指定のＰＥの動作を停止させて並列度を下げて動作させる。また、並列度を下げた動作時、その動作しない余ったＰＥのローカルメモリを別のＰＥが使用することにより、メモリ容量を確保している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２６０４７９号公報
【特許文献２】特開２００７−１７２５２８号公報
【特許文献３】特開２００２−７３５９号公報
【非特許文献】
【００１０】
【非特許文献１】日経エレクトロニクス「これがＣｅｌｌ」、２００５年２月２８日、ｐｐ．１００〜１０９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したような従来の高速プロセッサ又はＤＳＰに適用されているＳＩＭＤ型プロセッサを備える並列信号処理装置では、各ＳＩＭＤ型プロセッサは固定的なＰＥ数であった。また、ＳＩＭＤ制御用プログラムによりＰＥの並列度を可変にする場合、特許文献１のように固定的なＰＥ数のビット精度を分割して見かけ上の並列度を上げるか、特許文献２，３のように固定的なＰＥ数の内で必要な個数のみを動作させて並列度を可変にするかしていた。そのため、並列信号処理装置が複数のＳＩＭＤ型プロセッサを備えていても、あるＳＩＭＤ型プロセッサ内に動作していない余ったＰＥが存在しても、別のＳＩＭＤ型プロセッサで活用できなかった。従って、並列度の可変範囲の上限は、ＳＩＭＤ型プロセッサを構成するＰＥ数に固定され、また、並列度を下げた場合には活用できないＰＥが生じるため、ＰＥの使用効率が低下するという課題があった。
【００１２】
この発明は、上記のような課題を解決するためになされたもので、演算対象データ内容に応じて、異なるＳＩＭＤ型プロセッサ間のＰＥを連携制御して並列度を可変にすると共に、ＰＥ使用効率の低下を抑制した並列信号処理装置を実現することを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る並列信号処理装置は、演算対象データを入力して演算するプロセッサエレメントを複数有し、単一の命令により制御する並列信号処理プロセッサと、並列信号処理プロセッサへ命令を出力して動作を制御するミクロシーケンサ制御部と、複数の並列信号処理プロセッサのプロセッサエレメントにそれぞれ接続して、プロセッサエレメント間でデータ交換を行うための伝送路と、伝送路を並列信号処理プロセッサ単位で結合又は切断する接続切り替え部と、接続切り替え部を制御して、任意の並列信号処理プロセッサ間の接続を結合又は切断する全体シーケンス制御部とを備えるものである。
【発明の効果】
【００１４】
この発明によれば、任意の並列信号処理プロセッサ間の接続を結合又は切断するようにしたので、演算対象データ内容に応じて、異なる並列信号処理プロセッサ間のプロセッサエレメントを連携制御して並列度を可変にすると共に、プロセッサエレメントの使用効率の低下を抑制した並列信号処理装置を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】この発明の実施の形態１に係る並列信号処理装置の構成を示すブロック図である。
【図２】図１に示す全体シーケンス制御部１０の構成例を示すブロック図である。
【図３】図１に示すミクロシーケンサ制御部２０−１の構成例を示すブロック図である。
【図４】図１に示すＳＩＭＤ演算器３０−１の構成例を示すブロック図である。
【図５】この発明の実施の形態２に係る並列信号処理装置の構成を示すブロック図である。
【図６】この発明の実施の形態３に係る並列信号処理装置の構成を示すブロック図である。
【図７】この発明の実施の形態４に係る並列信号処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
実施の形態１．
図１は、この発明の実施の形態１に係る並列信号処理装置の構成を示すブロック図である。図１では、ｎ個のＳＩＭＤ演算器（並列信号処理プロセッサ）とそのプログラム制御を行う各ミクロシーケンサ制御部、さらに、ｎ組のＳＩＭＤ演算器とミクロシーケンサ制御部の連携制御を行う全体シーケンス制御部を備えて、最大ｎ個のマルチＳＩＭＤプロセッサを構築した並列信号処理装置の一例を示す。
【００１７】
図１において、全体シーケンス制御部１０は、全体制御プログラムを格納する不図示のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、プログラムカウンタ等を備え、この全体制御プログラムを実行することにより出力されるＳＩＭＤ結合制御信号及びミクロシーケンサ通信信号に従ってＳＩＭＤ演算器（＃１〜＃ｎ）３０−１〜３０−ｎ及びミクロシーケンサ制御部（＃１〜＃ｎ）２０−１〜２０−ｎの動作をそれぞれ制御する。
ＳＩＭＤ結合制御信号は、ＳＩＭＤ結合制御信号線１０１を通じて各ＳＩＭＤ演算器３０−１〜３０−ｎに入力され、左右隣接するＳＩＭＤ演算器間の連結動作と独立動作の設定切り替えを制御する信号である。
ミクロシーケンサ通信信号は、ミクロシーケンサ通信信号線１０２を通じて各ミクロシーケンサ制御部２０−１〜２０−ｎへ入力され、全体シーケンス制御部１０のプログラム実行状態等を通知する信号である。
【００１８】
ミクロシーケンサ制御部２０−１〜２０−ｎは、各々接続されるＳＩＭＤ演算器３０−１〜３０−ｎを実行するＳＩＭＤ制御プログラムとＳＩＭＤ制御プログラムの条件分岐等を制御するシーケンス制御プログラムを格納する不図示のＲＡＭ、ＲＯＭ、プログラムカウンタ等を備え、このシーケンス制御プログラムを実行することにより出力されるＳＩＭＤ命令制御信号に従って各ＳＩＭＤ演算器３０−１〜３０−ｎの演算処理及びその動作等を制御する。また、ミクロシーケンサ制御部２０−１〜２０−ｎは、ミクロシーケンサ通信信号線１０２を通じて全体シーケンス制御部１０へミクロシーケンサ通信信号を出力することにより、ミクロシーケンサ制御部２０−１〜２０−ｎのプログラム実行状態等を通知する。
【００１９】
ＳＩＭＤ演算器３０−１〜３０−ｎは、個別に接続された各ミクロシーケンサ制御部２０−１〜２０−ｎからＳＩＭＤ命令制御信号線２０１−１〜２０１−ｎを通じて入力されるＳＩＭＤ命令制御信号により所定の演算動作を行う。また、各ＳＩＭＤ演算器３０−１〜３０−ｎ内部にある各ＰＥは隣接ＰＥバス（伝送路）３０１で接続されており、この隣接ＰＥバス３０１を経由してＰＥ間のデータ交換がなされる。さらに、各ＳＩＭＤ演算器３０−１〜３０−ｎには、データ入出力バス１００１が接続されており、このデータ入出力バス１００１を経由して入力データ及び演算出力データが転送される。
【００２０】
図２は、図１に示す全体シーケンス制御部１０の構成例を示すブロック図である。図２において、全体シーケンサ命令メモリ１１はＲＡＭ等で構成され、並列信号処理装置全体の動作を制御する全体制御プログラムを格納する。シーケンサ１２は、不図示のプログラムカウンタ、ＲＯＭ及び制御回路を備え、全体シーケンサ命令メモリ１１から全体制御プログラムの命令を順次読み出し、解読して、その命令に従って算術演算器１３、ＳＩＭＤ連結制御部１４、ワークメモリ１５及び通信バス１６に動作を指示する。算術演算器１３は、算術演算及び論理演算等の論理演算、並びにデータシフト等を行う演算手段である。ＳＩＭＤ連結制御部１４は、ＳＩＭＤ結合制御信号を生成する手段である。ワークメモリ１５は、レジスタ群又はＲＡＭ等で構成され、演算中間結果を記憶する手段である。通信バス１６は、ミクロシーケンサ通信信号を生成してミクロシーケンサ通信信号線１０２へ出力する。
【００２１】
図３は、図１に示すミクロシーケンサ制御部２０−１の構成例を示すブロック図である。なお、ミクロシーケンサ制御部２０−１〜２０−ｎは各々同一構成となっているので、ここでは図３のミクロシーケンサ制御部２０−１を代表例に用いてミクロシーケンサ制御部２０−１〜２０−ｎを説明する。
図３において、ミクロシーケンサ命令メモリ２１は、ＲＡＭ等で構成され、ミクロシーケンサ制御部２０−１の動作を制御するシーケンス制御プログラムを格納する。シーケンサ２２は、不図示のプログラムカウンタ、ＲＯＭ及び制御回路を備え、ミクロシーケンサ命令メモリ２１からシーケンス制御プログラムの命令を順次読み出し、解読して、その命令に従ってＳＩＭＤ命令制御部２４、算術演算器２５、通信メモリ２６及びワークメモリ２７に動作を指示する。ＳＩＭＤ命令メモリ２３は、ＳＩＭＤ演算器３０−１の動作を制御するＳＩＭＤ制御プログラムを格納する。ＳＩＭＤ命令制御部２４は、不図示のプログラムカウンタ、ＲＯＭ及び制御回路を備え、シーケンサ２２の指示によりＳＩＭＤ命令メモリ２３からＳＩＭＤ命令を読み出してＳＩＭＤ命令制御信号を生成し、ＳＩＭＤ命令制御信号線２０１−１へ出力する。算術演算器２５は、算術演算及び論理演算等の論理演算、並びにデータシフト等を行う演算手段である。通信メモリ２６は、ミクロシーケンサ通信信号線１０２に出力するデータを記憶する手段である。ワークメモリ２７は、レジスタ群又はＲＡＭ等で構成され、演算中間結果等を記憶する手段である。
【００２２】
図４は、図１に示すＳＩＭＤ演算器３０−１の構成例を示すブロック図である。なお、ＳＩＭＤ演算器３０−１〜３０−ｎは各々同一構成となっているので、ここでは図４のＳＩＭＤ演算器３０−１を代表例に用いてＳＩＭＤ演算器３０−１〜３０−ｎを説明する。
図４において、命令デコード部３１は、ミクロシーケンサ制御部２０−１からＳＩＭＤ命令制御信号線２０１−１を通じて入力されるＳＩＭＤ命令制御信号を受けて、ＳＩＭＤ演算器３０−１内の全てのＰＥを制御する。各ＰＥ（＃１〜＃ｍ）３２−１〜３２−ｍは、不図示の算術演算及び論理演算等の論理演算、並びにデータシフト等を行う演算手段と、その演算手段への入力データ及び演算結果を格納しておく記憶手段とを備える。図４の例ではＰＥ３２はｍ個の構成であり、ｍ個のデータを同時に演算できるＳＩＭＤ演算器を構成している。各ＰＥ３２−１〜３２−ｍは隣接ＰＥバス３０１−１により接続されて、各ＰＥ３２−１〜３２−ｍの記憶手段が記憶している各データを相互に参照できる。なお、この隣接ＰＥバス３０１−１はＳＩＭＤ演算器３０−１〜３０−ｎを繋ぐ隣接ＰＥバス３０１の一部であり、隣接ＰＥバス３０１−１の両端と隣接ＰＥバス３０１との接続部分には接続切り替え部を構成するＳＩＭＤ結合スイッチ（以下、ＳＷ）３３−１，３３−２がそれぞれ介挿されている。ＳＷ３３−１，３３−２は、全体シーケンス制御部１０からＳＩＭＤ結合制御信号線１０１を通じて入力されるＳＩＭＤ結合制御信号によって、隣接するＳＩＭＤ演算器３０−１，３０−３内部の隣接ＰＥバスと接続／切断を行う。バスインタフェース（以下、バスＩ／Ｆ）３４は、命令デコード部３１からの制御指示に従って、ＰＥ３２−１〜３２−ｍとデータ入出力バス１００１とのデータリード／ライト制御を行う。
【００２３】
次に、並列信号処理装置の動作を説明する。
予め、全体シーケンス制御部１０には所望の全体制御プログラムを格納しておく。また、各ミクロシーケンサ制御部２０−１〜２０−ｎにも所望のシーケンス制御プログラム及びＳＩＭＤ制御プログラムを格納しておく。このとき、全体制御プログラム中には、各ＳＩＭＤ演算器３０−１〜３０−ｎを実行するときのＳＩＭＤ連結制御（即ち並列度の設定）を指示する命令データがプログラム実行の時系列順に書き込まれている。
【００２４】
先ず、全体シーケンス制御部１０において、シーケンサ１２が、全体シーケンサ命令メモリ１１に格納された全体制御プログラムのＳＩＭＤ連結制御を指示する命令データに従って、ＳＩＭＤ連結制御部１４から指定のＳＩＭＤ演算器間を結合する指示内容のＳＩＭＤ結合制御信号を、ＳＩＭＤ結合制御信号線１０１を通じてＳＩＭＤ演算器３０−１〜３０−ｎへ出力する。
また、シーケンサ１２は、このＳＩＭＤ連結構成中にＳＩＭＤ制御プログラムが実行されることを抑止するため、各ミクロシーケンサ制御部２０−１〜２０−ｎに対して、ミクロシーケンサ通信信号線１０２を通じて各ＳＩＭＤ制御プログラムの実行待ちを指示しておく。
【００２５】
ＳＩＭＤ結合制御信号線１０１を通じてＳＩＭＤ結合制御信号を受けた各ＳＩＭＤ演算器３０−１〜３０−ｎは、指定のＳＩＭＤ演算器のＳＷ３３−１，３３−２を切り替えて、隣接ＰＥバス３０１を接続する。隣接ＰＥバス３０１で連結された各ＳＩＭＤ演算器は、各ＳＩＭＤ演算器内部のＰＥ３２−１〜３２−ｍ同士でデータを参照できることになり、１つのＳＩＭＤ演算器として動作可能となる。例えば、３つのＳＩＭＤ演算器３０−１〜３０−３を連結すると、各ＳＩＭＤ演算器に含まれるＰＥ数ｍ×３個の並列処理ＳＩＭＤプロセッサを構成できる。また、ＳＩＭＤ結合制御信号は、ＳＩＭＤ演算器３０−１〜３０−ｎを個別に連結設定できるため、ｎ個を分割して、複数個が連結したＳＩＭＤ演算器グループを複数グループ構成できる。
【００２６】
全体シーケンス制御部１０のシーケンサ１２は、全体制御プログラム中のＳＩＭＤ連結制御を指示する命令データを実行後、続いて記述されているミクロシーケンサ通信の命令データに従って、ミクロシーケンサ通信信号線１０２を介して各ミクロシーケンサ制御部２０−１〜２０−ｎに対して、各ＳＩＭＤ制御プログラムの実行開始を指示する。
【００２７】
各ミクロシーケンサ制御部２０−１〜２０−ｎにおいて、ミクロシーケンサ命令メモリ２１に格納されているシーケンス制御プログラムと、ＳＩＭＤ命令メモリ２３に格納されているＳＩＭＤ制御プログラムには、全体シーケンス制御部１０のＳＩＭＤ連結制御を支持する命令と一致する所望のプログラムが記述されている。例えば、全体シーケンス制御部１０がＳＩＭＤ演算器３０−１，３０−２を連結指示している期間、ＳＩＭＤ演算器３０−１，３０−２はｍ×２個のＰＥ並列度の１つのＳＩＭＤ演算器として動作するため、対応するミクロシーケンサ制御部２０−１，２０−２の両シーケンス制御プログラムには同一の命令が記述されており、その命令データを同時に実行する。ＳＩＭＤ制御プログラムについても、ミクロシーケンサ制御部２０−１，２０−２とも同一の命令が記述されており、その命令データを同時に実行することになる。
【００２８】
各ＳＩＭＤ演算器３０−１〜３０−ｎは、各ミクロシーケンサ制御部２０−１〜２０−ｎが各ＳＩＭＤ命令制御信号線２０１−１〜２０１−ｎを通じて出力するＳＩＭＤ命令制御信号を受けると、各命令デコード部３１が命令デコードして、各ＰＥ３２−１〜３２−ｍが所望の演算処理及びデータ転送処理を実行する。
【００２９】
信号処理分野の中でも、特に、デジタルビデオカメラ等の画像信号処理分野では、カメラ入力信号のラスタスキャン系の画素レベルにおける高並列度向きの処理から、圧縮符号化のブロックスキャン系の画素レベルより機能レベルでの並列処理まで、対象とする信号処理の内容が多種多様となる。そのため、並列信号処理装置において並列度の最適化には高い自由度が理想とされるが、本実施の形態１の並列信号処理装置によれば、上述した一連の動作を繰り返すことにより、プログラムに従ってＳＩＭＤ演算器３０−１〜３０−ｎは、ＰＥ並列度ｎ個及び最大ｎ個のマルチＳＩＭＤプロセッサからＰＥ並列度ｎ×ｍ個のシングルＳＩＭＤプロセッサまで構成を最適化して、所望の演算を実行できる。
【００３０】
以上より、実施の形態１によれば、並列信号処理装置を、演算対象データを入力して演算する複数のＰＥ３２−１〜３２−ｍを単一の命令により制御するＳＩＭＤ演算器３０−１と、ＳＩＭＤ演算器３０−１へ命令を出力して動作を制御するミクロシーケンサ制御部２０−１と、ｎ個のＳＩＭＤ演算器３０−１〜３０−ｎの各ＰＥ３２−１〜３２−ｍにそれぞれ接続して、ＰＥ間でデータ交換を行うための隣接ＰＥバス３０１と、隣接ＰＥバス３０１をＳＩＭＤ演算器単位で結合又は接続するＳＷ３３−１，３３−２と、ＳＷ３３−１，３３−２を制御して、任意のＳＩＭＤ演算器間の接続を結合又は切断する全体シーケンス制御部１０とを備えるように構成した。このため、全体シーケンス制御部１０が実行する全体制御プログラムによりＰＥ並列度を定義して、その定義に従ってＳＩＭＤ演算器３０−１〜３０−ｎのＰＥ並列度を設定することにより、異なるＳＩＭＤ演算器間でＰＥを連携制御してＰＥ並列度を可変にすることができる。よって、対象とする信号処理の内容に最適な並列度処理を実現することができる。同時に、各ＳＩＭＤ演算器３０−１〜３０−ｎが個別のプログラムを並列に実行できるため、ＰＥの使用効率を高めることもできる。
なお、本実施の形態１の並列信号処理装置の構成は、ＰＥの演算ビット幅や演算種に制約を与えるものではない。
【００３１】
実施の形態２．
図５は、この発明の実施の形態２に係る並列信号処理装置の構成を示すブロック図であり、図１と同一又は相当の部分については同一の符号を付し説明を省略する。
図５に示す並列信号処理装置は、図１の全体シーケンス制御部１０に代えて全体シーケンス制御部１０Ａを備え、また、新たにクロック制御部４０を備える。全体シーケンス制御部１０Ａとクロック制御部４０とはクロック制御信号線１０３により接続される。また、クロック制御部４０とｎ組のＳＩＭＤ演算器及びミクロシーケンサ制御部とはｎ本のクロック周波数設定信号線４０１−１〜４０１−ｎによりそれぞれ接続される。
【００３２】
図５において、全体シーケンス制御部１０Ａは、ミクロシーケンサ制御部２０−１〜２０−ｎとＳＩＭＤ演算器３０−１〜３０−ｎの組毎に動作クロック周波数を個別指定する命令が記述された全体制御プログラムを格納している。全体シーケンス制御部１０Ａにおいて、シーケンサ１２（図２に示す）が全体制御プログラムに記述された動作クロック周波数を指定する命令を読み出し、その命令に従ってクロック制御信号を生成し、クロック制御信号線１０３を通じてクロック制御部４０へ出力する。
【００３３】
クロック制御部４０は、クロック制御信号線１０３を通じて全体シーケンス制御部１０Ａからクロック制御信号が入力されると、このクロック制御信号に従って、ミクロシーケンサ制御部２０−１〜２０−ｎ及びＳＩＭＤ演算器３０−１〜３０−ｎの動作クロックを組毎に設定するクロック周波数設定信号をクロック周波数設定信号線４０１−１〜４０１−ｎを通じてミクロシーケンサ制御部２０−１〜２０−ｎ及びＳＩＭＤ演算器３０−１〜３０−ｎに出力する。クロック制御部４０は、例えばクロック周波数の設定を「０」にすることで、クロックを停止させることもできる。
【００３４】
以上より、実施の形態２によれば、並列信号処理装置は、ＳＩＭＤ演算器３０−１と、このＳＩＭＤ演算器３０−１の動作を制御するミクロシーケンサ制御部２０−１とを１組として、ｎ組のＳＩＭＤ演算器３０−１〜３０−ｎとミクロシーケンサ制御部２０−１〜２０−ｎの動作クロック周波数を制御するクロック制御部４０を備え、全体シーケンス制御部１０は、動作クロック周波数を組毎に設定するクロック制御信号をクロック制御部４０に出力して、ｎ組の動作クロック周波数を組毎に制御させるように構成した。このため、ミクロシーケンサ制御部２０−１〜２０−ｎ及びＳＩＭＤ演算器３０−１〜３０−ｎの動作クロック周波数を信号処理量に応じて個別に設定及び制御できる。この結果、並列信号処理装置の低消費電力化を図ることができる。
【００３５】
実施の形態３．
図６は、この発明の実施の形態３に係る並列信号処理装置の構成を示すブロック図であり、図１と同一又は相当の部分については同一の符号を付し説明を省略する。
図６に示す並列信号処理装置は、図１の全体シーケンス制御部１０に代えて全体シーケンス制御部１０Ｂを備え、また、新たに電源電圧制御部５０を備える。全体シーケンス制御部１０Ｂと電源電圧制御部５０とは電源電圧制御信号線１０４により接続される。また、クロック制御部４０とｎ組のＳＩＭＤ演算器及びミクロシーケンサ制御部とはｎ本の電源電圧供給線５０１−１〜５０１−ｎによりそれぞれ接続される。
【００３６】
図６において、全体シーケンス制御部１０Ｂは、ミクロシーケンサ制御部２０−１〜２０−ｎとＳＩＭＤ演算器３０−１〜３０−ｎの組毎に電源電圧を指定する命令が記述された全体制御プログラムを、全体シーケンサ命令メモリに格納している。全体シーケンス制御部１０Ｂにおいて、シーケンサが全体制御プログラムに記述された電源電圧を個別指定する命令を読み出し、その命令に従って電源電圧制御信号を生成し、電源電圧制御信号線１０４を通じて電源電圧制御部５０へ出力する。
【００３７】
電源電圧制御部５０は、電源電圧制御信号線１０４を通じて全体シーケンス制御部１０Ｂから電源電圧制御信号が入力されると、この電源電圧制御信号に従って、ミクロシーケンサ制御部２０−１〜２０−ｎ及びＳＩＭＤ演算器３０−１〜３０−ｎの電源電圧を組毎に設定し、設定値に応じた電源電圧を電源電圧供給線５０１−１〜５０１−ｎから供給する。電源電圧制御部５０は、例えば電源電圧の設定を「０」にすることで、電源を切断することもできる。
【００３８】
以上より、実施の形態３によれば、並列信号処理装置は、ＳＩＭＤ演算器３０−１と、このＳＩＭＤ演算器３０−１の動作を制御するミクロシーケンサ制御部２０−１とを１組として、ｎ組のＳＩＭＤ演算器３０−１〜３０−ｎとミクロシーケンサ制御部２０−１〜２０−ｎへの電源電圧を制御する電源電圧制御部５０を備え、全体シーケンス制御部１０は、電源電圧を組毎に設定する電源電圧制御信号を電源電圧制御部５０に出力して、ｎ組への電源電圧を組毎に制御させるように構成した。このため、ミクロシーケンサ制御部２０−１〜２０−ｎ及びＳＩＭＤ演算器３０−１〜３０−ｎの電源電圧を信号処理量に応じて個別に設定及び制御できる。この結果、並列信号処理装置の低消費電力化を図ることができる。
【００３９】
なお、上述した説明では、上記実施の形態１で示した構成に対して上記実施の形態３を適用した構成を示したが、これに限らず、上記実施の形態２に対して適用した構成であっても構わない。実施の形態２及び実施の形態３を組み合わせることにより、低消費電力化の効果をさらに高めることができる。
【００４０】
実施の形態４．
図７は、この発明の実施の形態４に係る並列信号処理装置の構成を示すブロック図であり、図１と同一又は相当の部分については同一の符号を付し説明を省略する。
図７に示す並列信号処理装置は、図１のミクロシーケンサ制御部２０−１〜２０−ｎに代えてミクロシーケンサ制御部（＃１〜＃ｎ）２０Ａ−１〜２０Ａ−ｎを備え、また、新たにクロック制御部（＃１〜＃ｎ）６０−１〜６０−ｎを備える。クロック制御部６０−１〜６０−ｎとミクロシーケンサ制御部２０Ａ−１〜２０Ａ−ｎはｎ本のクロック制御信号線２０２−１〜２０２−ｎによりそれぞれ接続される。
【００４１】
図７において、ミクロシーケンサ制御部２０Ａ−１は、ミクロシーケンサ命令メモリに格納されたシーケンス制御プログラムに記述されたＳＩＭＤ制御処理からＳＩＭＤ演算器３０−１の動作停止期間を検出すると、クロック停止を指示するクロック制御信号を生成し、クロック制御信号線２０２−１を通じてクロック制御部６０−１へ出力する。
ミクロシーケンサ制御部２０Ａ−２〜２０Ａ−ｎの動作も、ミクロシーケンサ制御部２０Ａ−１と同様である。
【００４２】
クロック制御部６０−１は、クロック制御信号線２０２−１を通じてクロック制御部６０−１からクロック制御信号が入力されると、このクロック制御信号に従って、ＳＩＭＤ演算器３０−１の動作クロックを停止させるクロック周波数設定信号をクロック周波数設定信号線６０１−１を通じてＳＩＭＤ演算器３０−１に出力する。ＳＩＭＤ演算器３０−１は、このクロック周波数設定信号に従って、動作停止期間の動作クロックを停止する。
クロック制御部６０−２〜６０−ｎの動作も、クロック制御部６０−１と同様であり、これによりＳＩＭＤ演算器３０−１〜３０−ｎの動作クロックを個別に出力及び停止できる。
【００４３】
以上より、実施の形態４によれば、並列信号処理装置は、各ＳＩＭＤ演算器３０−１〜３０−ｎの動作クロック周波数を制御する各クロック制御部６０−１〜６０−ｎを備え、各ミクロシーケンサ制御部２０Ａ−１〜２０Ａ−ｎは、ＳＩＭＤ演算器３０−１〜３０−ｎが有する複数のＰＥ３２−１〜３２−ｍの動作停止期間に動作クロックを停止するクロック制御信号をクロック制御部６０−１〜６０−ｎに出力して、ＳＩＭＤ演算器３０−１〜３０−ｎの動作クロックを停止させるように構成した。このため、ＳＩＭＤ演算器３０−１〜３０−ｎの動作停止期間に動作クロックを停止できるようになり、この結果、並列信号処理装置の低消費電力化を図ることができる。
【００４４】
なお、上記実施の形態４では、各ミクロシーケンサ制御部２０Ａ−１〜２０Ａ−ｎが検出するＳＩＭＤ演算器３０−１〜３０−ｎの動作停止期間に従って、クロック制御部６０−１〜６０−ｎが各ＳＩＭＤ演算器の動作クロックを出力／停止する構成であったが、動作停止期間に従ってｎ個の電源電圧制御部が各ＳＩＭＤ演算器の電源電圧を供給／切断する構成にしてもよい。この構成の場合には、ＳＩＭＤ演算器３０−１〜３０−ｎの動作停止期間にＳＩＭＤ演算器３０−１〜３０−ｎへの電源電圧供給を停止できるようになり、この結果、並列信号処理装置の低消費電力化を図ることができる。
【００４５】
また、上述した説明では、上記実施の形態１で示した構成に対して上記実施の形態４を適用した構成を示したが、これに限らず、上記実施の形態２から上記実施の形態４までの構成を適宜組み合わせたものであっても構わない。このように組み合わせることにより、低消費電力化の効果を一層高めることができる。
【符号の説明】
【００４６】
１０，１０Ａ，１０Ｂ  全体シーケンス制御部、１１  全体シーケンサ命令メモリ、１２  シーケンサ、１３  算術演算器、１４  ＳＩＭＤ連結制御部、１５  ワークメモリ、１６  通信バス、２０−１〜２０−ｎ、２０Ａ−１〜２０Ａ−ｎ  ミクロシーケンサ制御部、２１  ミクロシーケンサ命令メモリ、２２  シーケンサ、２３  ＳＩＭＤ命令メモリ、２４  ＳＩＭＤ命令制御部、２５  算術演算器、２６  通信メモリ、２７  ワークメモリ、３０−１〜３０−ｎ  ＳＩＭＤ演算器（並列信号処理プロセッサ）、３１  命令デコード部、３２−１〜３２−ｍ  ＰＥ（プロセッサエレメント）、３３−１，３３−２  ＳＷ（接続切り替え部）、３４  バスＩ／Ｆ、４０，６０−１〜６０−ｎ  クロック制御部、５０  電源電圧制御部、１０１  ＳＩＭＤ結合制御信号線、１０２  ミクロシーケンサ通信信号線、１０３，２０２−１〜２０２−ｎ  クロック制御信号線、１０４  電源電圧制御信号線、２０１−１〜２０１−ｎ  ＳＩＭＤ命令制御信号線、３０１，３０１−２  隣接ＰＥバス（伝送路）、４０１−１〜４０１−ｎ，６０１−１〜６０１−ｎ  クロック周波数設定信号線、５０１−１〜５０１−ｎ  電源電圧供給線、１００１  データ入出力バス。
【図１】
2011086061.tif 000003
【図２】
2011086061.tif 000004
【図３】
2011086061.tif 000005
【図４】
2011086061.tif 000006
【図５】
2011086061.tif 000007
【図６】
2011086061.tif 000008
【図７】
2011086061.tif 000009