(57)【要約】【課題】複数のプロセッサエレメント全体における消費電流のピークを抑えることができるＳＩＭＤ型マイクロプロセッサを提供する。【解決手段】プロセッサエレメントＰＥ０〜ＰＥ７をプロセッサエレメントＰＥ０〜ＰＥ３の第１グループ２ＡとプロセッサエレメントＰＥ４〜ＰＥ７の第２グループ２Ｂとの２つのグループに分割し、ＰＥコントロール部３ではデコーダ４から入力されたプロセッサエレメント制御信号Ｓ１を第１グループ２Ａ向けのプロセッサエレメント制御信号Ｓ２と第２グループ２Ｂ向けのプロセッサエレメント制御信号Ｓ３とに分割して出力して、第２グループ２Ｂ向けのプロセッサエレメント制御信号Ｓ３には遅延回路３０を挿入して第１グループ２Ａ向けのプロセッサエレメント制御信号Ｓ２よりも遅延させる。【選択図】図１
2010140309.tif 000002
【特許請求の範囲】
【請求項１】
演算部およびレジスタファイルと、を備えた複数のプロセッサエレメントと、前記プロセッサエレメントの動作を制御するため制御部が発する命令を解読する命令解読デコーダと、前記命令解読デコーダがその解読結果からプロセッサエレメント制御信号を生成して該プロセッサエレメント制御信号を前記複数のプロセッサエレメントに供給するプロセッサエレメントコントロール部と、を有するＳＩＭＤ型マイクロプロセッサにおいて、
前記複数のプロセッサエレメントが、複数のグループに分割され、そして、
前記プロセッサエレメント制御信号を前記複数のグループごとにそれぞれ異なるタイミングで供給するように調整するタイミング調整手段が、設けられている
ことを特徴とするＳＩＭＤ型マイクロプロセッサ。
【請求項２】
前記タイミング調整手段が、回路素子で構成されていることを特徴とする請求項１に記載のＳＩＭＤ型マイクロプロセッサ。
【請求項３】
前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号とを接続する配線により構成されていることを特徴とする請求項１に記載のＳＩＭＤ型マイクロプロセッサ。
【請求項４】
前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号の末端と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号の入力とを接続した配線で構成されていることを特徴とする請求項３に記載のＳＩＭＤ型マイクロプロセッサ。
【請求項５】
前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号の中間部と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号の入力とを接続した配線で構成されていることを特徴とする請求項３に記載のＳＩＭＤ型マイクロプロセッサ。
【請求項６】
前記命令解読デコーダの解読結果によって前記複数のグループの前記プロセッサエレメント制御信号の出力タイミングを切替える切替手段が、設けられていることを特徴とする請求項１乃至５のうちいずれか一項に記載のＳＩＭＤ型マイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は１つの演算命令により複数のデータ等を並列処理するＳＩＭＤ（Single Instruction-stream, Multiple Data-stream）型マイクロプロセッサに関する。
【背景技術】
【０００２】
画像処理専用マイクロプロセッサでは、ＳＩＭＤ（Single Instruction-stream Multiple Data-stream）型を採用することが多い。これは、１つの命令で複数のデータに対して同時に同じ演算処理が実行可能であるＳＩＭＤ型マイクロプロセッサの特徴が画像処理に適しているためである。ＳＩＭＤ型マイクロプロセッサは、プロセッサエレメント（ＰＥ）と呼ばれる単位で演算器とレジスタを備えており、そのプロセッサエレメントを複数個持ち、複数個のプロセッサエレメントが同時に演算処理を行うことで、画像処理の効率を高めている。各プロセッサエレメントは、１個の画素の画像処理を担当し、そのプロセッサエレメントが複数あるため複数の画素が同時に演算処理できることになる。
【０００３】
画像処理専用マイクロプロセッサでは、フィルターなど隣接画素を参照して演算する画像処理に対応するために、隣接プロセッサエレメントのレジスタを参照できるものがある。特許文献１には、隣接プロセッサエレメントのレジスタに格納された画素データを参照するＳＩＭＤ型マイクロプロセッサが示されている。
【０００４】
従来のＳＩＭＤ型マイクロプロセッサを図１８に示す。図１８に示したＳＩＭＤ型マイクロプロセッサ１００は、複数のプロセッサエレメントＰＥ０〜ＰＥ７と、デコーダ１０１と、ＰＥコントロール部１０２と、を備えている。
【０００５】
デコーダ１０１は、図示しない制御プログラムなどの命令を解読し制御信号Ｓ１００をＰＥコンコントロール部１０２に出力する。
【０００６】
ＰＥコントロール部１０２は、デコーダ１０１から入力された制御信号Ｓ１００をプロセッサエレメントＰＥ０〜ＰＥ７に対して供給する。図１８においては、ＰＥコントロール部１０２は、プロセッサエレメントＰＥ３とＰＥ４との間に設けられ、制御信号Ｓ１００からプロセッサエレメントＰＥ０〜ＰＥ３に対して制御信号Ｓ１０１を生成して供給し、プロセッサエレメントＰＥ４〜ＰＥ７に対して制御信号Ｓ１０２を生成して供給している。ここで、制御信号Ｓ１０１で制御されるプロセッサエレメントＰＥ０〜ＰＥ３を第１グループ、制御信号Ｓ１０２で制御されるプロセッサエレメントＰＥ４〜ＰＥ７を第２グループとする。
【０００７】
プロセッサエレメントＰＥ０〜ＰＥ７は、それぞれがレジスタファイル、マルチプレクサ、シフト拡張、パイプラインレジスタ、ＡＬＵ、Ａレジスタなどを備え、ＰＥコントロール部１０２から入力された制御信号Ｓ１０１またはＳ１０２に従ってレジスタファイルに格納されたデータを演算する。
【０００８】
ＳＩＭＤ型マイクロプロセッサの特徴として全プロセッサエレメントが同時に同じ動作をするというところにあるので、第１グループと第２グループには同じ制御信号（制御内容）とすることが基本である。そのため、ＰＥコントロール部１０２では、制御信号Ｓ１０１、Ｓ１０２を同じ内容で同じタイミングで出力するよう動作している。
【０００９】
図１８ではＰＥコントロール部１０２を２つのグループの間に配置しているが、プロセッサエレメント数が少ない場合などは、１グループしか存在しないこともある。つまりグループの片側のみにＰＥコントロール部１０２が存在することがある。しかし、全プロセッサエレメントが同時に同じ動作するという特徴は、１グループであっても同様である。
【特許文献１】特開２００２−２９８１３５
【発明の開示】
【発明が解決しようとする課題】
【００１０】
プロセッサエレメントが制御信号に従って動作する場合の動的な消費電力は、動作クロックを含めた制御信号のタイミングで推移する。すなわち、デジタル回路の特性としてトランジスタがスイッチングする瞬間に消費電流のピークを迎える。図１９に、プロセッサエレメントが１個分の時と、プロセッサエレメントが８個分の時の消費電流の推移を示す。プロセッサエレメントは演算内容はすべて同じとなるため、処理するデータが均一であるならば消費電流も各プロセッサエレメントで同じである。従って、プロセッサエレメント１個分の消費電流の８倍がプロセッサエレメント８個分の消費電流となる。
【００１１】
全プロセッサエレメント同時動作を行うＳＩＭＤ型マイクロプロセッサの問題は、この消費電流の最大値にある。消費電流の最大値が高いと、電源電圧の不安定を引き起こす原因となりうる。これは、全プロセッサエレメント同時動作によって一時的に電源供給が間に合わず、ＩＲドロップと呼ばれる電圧降下を引き起こすことがあり、装置として所望の性能を発揮できなくなる懸念がある。また、電源だけでなく０Ｖ基準となるグラウンド側も不安定となり、ノイズの発生源となる可能性がある。このため、電位差を少なくして高速動作するように設計された回路などでは、敏感にノイズに反応し、誤動作となってしまう可能性がある。
【００１２】
すなわち、同じ動作を同時に行うＳＩＭＤ型マイクロプロセッサでは、各ＰＥの消費電流のピークが揃ってしまうために、ＩＲドロップやノイズの影響を受けやすくなってしまうという問題があった。
【００１３】
本発明はかかる問題を解決することを目的としている。
【００１４】
すなわち、本発明は、複数のプロセッサエレメントにおいて、ＩＲドロップやノイズの影響を抑えることができるＳＩＭＤ型マイクロプロセッサを提供することを目的としている。
【課題を解決するための手段】
【００１５】
請求項１に記載された発明は、演算部およびレジスタファイルと、を備えた複数のプロセッサエレメントと、前記プロセッサエレメントの動作を制御するため制御部が発する命令を解読する命令解読デコーダと、前記命令解読デコーダがその解読結果からプロセッサエレメント制御信号を生成して該プロセッサエレメント制御信号を前記複数のプロセッサエレメントに供給するプロセッサエレメントコントロール部と、を有するＳＩＭＤ型マイクロプロセッサにおいて、前記複数のプロセッサエレメントが、複数のグループに分割され、そして、前記プロセッサエレメント制御信号を前記複数のグループごとにそれぞれ異なるタイミングで供給するように調整するタイミング調整手段が、設けられていることを特徴とするＳＩＭＤ型マイクロプロセッサである。
【００１６】
請求項２に記載された発明は、請求項１に記載された発明において、前記タイミング調整手段が、回路素子で構成されていることを特徴とする。
【００１７】
請求項３に記載された発明は、請求項１に記載された発明において、前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号とを接続する配線により構成されていることを特徴とする。
【００１８】
請求項４に記載された発明は、請求項３に記載された発明において、前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号の末端と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号の入力とを接続した配線で構成されていることを特徴とする。
【００１９】
請求項５に記載された発明は、請求項３に記載された発明において、前記タイミング調整手段が、前記複数のグループにおける一つのグループの前記プロセッサエレメント制御信号の中間部と前記複数のグループにおける他のグループの前記プロセッサエレメント制御信号の入力とを接続した配線で構成されていることを特徴とする。
【００２０】
請求項６に記載された発明は、請求項１乃至５のうちいずれか一項に記載された発明において、前記命令解読デコーダの解読結果によって前記複数のグループの前記プロセッサエレメント制御信号の出力タイミングを切替える切替手段が、設けられていることを特徴とする。
【発明の効果】
【００２１】
請求項１に記載の発明によれば、複数のプロセッサエレメントを複数のグループに分割し、タイミング調整手段を設けて、プロセッサエレメント制御信号が複数のグループごとにそれぞれ異なるタイミングで供給されるように調整しているので、グループごとに動作タイミングをずらすことができるために、全体を同時動作させるよりも消費電流のピークを抑えることができる。したがって、ＩＲドロップやノイズの影響を抑えることができる。
【００２２】
請求項２に記載の発明によれば、タイミング調整手段が回路素子で構成されているので、回路素子による遅延差で複数のグループの動作時刻に差が生じ、同時に動作するプロセッサエレメント数が減少するため、消費電流のピークを下げることができる。
【００２３】
請求項３に記載の発明によれば、タイミング調整手段が一つのグループのプロセッサエレメント制御信号と他のグループのプロセッサエレメント制御信号とを接続する配線により構成されているので、一つのグループから他のグループへの配線分の遅延時間だけ複数のグループの動作時刻に差を生じさせることができ、同時に動作するプロセッサエレメント数が減少するため、消費電流のピークを下げることができる。
【００２４】
請求項４に記載の発明によれば、タイミング調整手段が一つのグループのプロセッサエレメント制御信号の末端と他のグループのプロセッサエレメント制御信号の入力とを接続した配線で構成されているので、一つのグループの最も遠いところにあるプロセッサエレメントを経由した折り返しのプロセッサエレメント制御信号により遅延させているため、この折り返しのプロセッサエレメント制御信号によって動作する他のグループが、一つのグループより確実に後に動作することになり、一つのグループで発生する動作電流の推移と他のグループで発生する動作電流の推移が発生時間としてずれて、全体としての消費電流ピーク値を抑えられる。
【００２５】
請求項５に記載の発明によれば、タイミング調整手段が一つのグループのプロセッサエレメント制御信号の中央部と他のグループのプロセッサエレメント制御信号の入力とを接続した配線で構成されているので、一つのグループと他のグループとの動作タイミングの差が、一つのグループの中間付近より他のグループへ折り返したプロセッサエレメント制御信号の遅延時間により生成される。そのため、一つのグループで動作タイミングがもっとも遅い最遠方のプロセッサエレメントと他のグループで動作タイミングがもっとも早いプロセッサエレメントとの差が、同一グループ内のプロセッサエレメント同士の時間の差と近似し、各プロセッサエレメントの消費電流において適度な分布が得られ、全体としての消費電流ピーク値を抑えられとともに、最初に動作するプロセッサエレメントから最後に動作するプロセッサエレメントまでに要する時間をより短く出来、動作周波数を考慮するとき有利となる。
【００２６】
請求項６に記載の発明によれば、命令解読のデコーダの解読結果によって、複数のグループのプロセッサエレメント制御信号の出力タイミングを切替える切替手段が設けられているので、複数のグループでプロセッサエレメント制御信号にタイミングに差を生じさせた際に隣接プロセッサエレメントを参照する際のセットアップタイムを満たさないなどのプロセッサエレメント動作のタイミング上の問題点を回避でき、命令動作に合わせた最適な方を選択することができる。
【発明を実施するための最良の形態】
【００２７】
［第１実施形態］
以下、本発明の第１の実施形態を、図１ないし図６を参照して説明する。図１は、本発明の第１の実施形態にかかるＳＩＭＤ型マイクロプロセッサのブロック図である。図２は、図１に示したＳＩＭＤ型マイクロプロセッサのプロセッサエレメントのブロック図である。図３は、図１に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。図４は、図１に示した遅延回路の他の構成例の回路図である。図５は、図１に示した遅延回路の他の構成例の回路図である。図６は、図１に示した遅延回路の他の構成例の回路図である。
【００２８】
図１に示したＳＩＭＤ型マイクロプロセッサ１は、複数のプロセッサエレメントＰＥ０〜ＰＥ７と、ＰＥコントロール部３と、デコーダ４と、を備えている。
【００２９】
プロセッサエレメントＰＥ０〜ＰＥ７は、図１に示したように８個が１列に配置されている。このプロセッサエレメントの数は８個に限らず数十個でも数百個でも良いのは言うまでもない。また、プロセッサエレメントＰＥ０〜ＰＥ３の４個分のプロセッサエレメントと、ＰＥ４からＰＥ７の４個分のプロセッサエレメントとの間に、各プロセッサエレメントに対してプロセッサエレメント制御信号を出力するＰＥコントロール部３が配置されている。ここで、ＰＥコントロール部３を挟んで一方側のプロセッサエレメントＰＥ０〜ＰＥ３を第１グループ２Ａ、他方側のプロセッサエレメントＰＥ４〜ＰＥ７を第２グループ２Ｂとする。すなわち、複数のプロセッサエレメントを複数のグループに分割している。
【００３０】
プロセッサエレメントＰＥ０〜ＰＥ７の構成を図２に示す。プロセッサエレメントＰＥ０〜ＰＥ７は、レジスタファイル２１と、マルチプレクサ２２と、シフト拡張２３と、パイプラインレジスタ２４と、ＡＬＵ２５と、Ａレジスタ２６と、を備え、ＰＥコントロール部３から入力されたプロセッサエレメント制御信号に従ってレジスタファイル２１に格納されたデータを演算する。
【００３１】
レジスタファイル２１は、３２ビットのレジスタを３２本備えており、レジスタに格納されたデータをプロセッサエレメント制御信号に従って後述するマルチプレクサ２２へ出力したり後述するＡレジスタの内容を格納する。
【００３２】
マルチプレクサ２２は、複数のレジスタファイル２１から入力されたデータを選択して出力する。このマルチプレクサ２２は、画像処理系などで用いられる演算で、あるＰＥｎのレジスタファイル２１のデータとＰＥｎに隣接するＰＥｎ−１やＰＥｎ＋１のレジスタファイル２１のデータを演算する場合に、隣接するＰＥｎ−１やＰＥｎ＋１のレジスタファイル２１のデータを、ＰＥｎのレジスタファイル２１のデータと同様に扱うことができるようにするために設けられており、これによって、ＰＥｎのＡＬＵ２５を用いて一命令で演算を実行することが可能となる。
【００３３】
シフト拡張２３は、マルチプレクサ２２を通過したデータに対して、ビットシフト及びゼロまたは符号拡張を行う。
【００３４】
パイプラインレジスタ２４は、シフト拡張２３までの処理とＡＬＵ２５の処理とのパイプライン処理におけるステージを分割するために設けられているレジスタである。
【００３５】
ＡＬＵ２５は、算術論理演算器であり、パイプラインレジスタ２４から入力されたデータおよびＡレジスタ２６のデータを入力としてプロセッサエレメント制御信号により指定された演算を行いＡレジスタ２６に出力する。
【００３６】
Ａレジスタ２６は、ＡＬＵ２５で演算された結果を格納するアキュムレータである。つまり、マルチプレクサ２２と、シフト拡張２３と、パイプラインレジスタ２４と、ＡＬＵ２５とＡレジスタ２６と、で演算部を構成する。
【００３７】
プロセッサエレメントコントロール部としてのＰＥコントロール部３は、上述したプロセッサエレメントＰＥ０〜ＰＥ７を制御するための信号を生成する回路であり、デコーダ４から出力されるプロセッサエレメント制御信号Ｓ１から第１グループ２Ａ向けのプロセッサエレメント制御信号Ｓ２と第２グループ２Ｂ向けのプロセッサエレメント制御信号Ｓ３とを生成して出力する。
【００３８】
ＰＥコントロール部３は、デコーダ４から入力された信号をプロセッサエレメントＰＥ０〜ＰＥ３向けのプロセッサエレメント制御信号Ｓ２と、プロセッサエレメントＰＥ４〜ＰＥ７向けのプロセッサエレメント制御信号Ｓ３と、に分割して出力している。つまり、複数のグループそれぞれにプロセッサエレメント制御信号を出力している。
【００３９】
そして、ＰＥコントロール部３には、プロセッサエレメントＰＥ４〜ＰＥ７向けへのプロセッサエレメント制御信号Ｓ３にタイミング調整手段としての遅延回路３０が挿入されている。遅延回路３０は図１に示したようにインバータ回路などを複数段直列接続した回路である。
【００４０】
命令解読デコーダとしてのデコーダ４は、図示しないグローバルプロセッサなどにより構成される制御部において実行される制御プログラムの命令を解読し、その解読結果がプロセッサエレメントＰＥ０〜ＰＥ７の動作を制御する命令であった場合はプロセッサエレメント制御信号Ｓ１をＰＥコンコントロール部３に出力する。なお、命令解読デコーダ４は、上述した制御部に含まれてもよいし、別に構成してもよい。
【００４１】
次に上述した構成のＳＩＭＤ型マイクロプロセッサ１の動作について説明する。デコーダ４で命令がデコードされ、デコード結果がプロセッサエレメント制御信号Ｓ１として、ＰＥコントロール部３に伝達される。プロセッサエレメント制御信号Ｓ１の内容が、各プロセッサエレメントＰＥ０〜ＰＥ７を制御するものであった場合、ＰＥコントロール部３はそれに適した制御信号を生成する。なお、図１では、プロセッサエレメント制御信号Ｓ１がドライバを介して何ら加工を施さずに出力されているが、デコーダなどの回路を設けて何らかの変換や加工等を行って出力してもよい。
【００４２】
本実施形態のＰＥコントロール部３では、上述したようにプロセッサエレメントＰＥ０〜ＰＥ３に対してプロセッサエレメント制御信号Ｓ２を出力し、プロセッサエレメントＰＥ４〜ＰＥ７に対してプロセッサエレメント制御信号Ｓ３を出力している。プロセッサエレメント制御信号Ｓ２とプロセッサエレメント制御信号Ｓ３の生成経路には遅延回路３０の有無という差異がある。つまり、プロセッサエレメント制御信号Ｓ２とプロセッサエレメント制御信号Ｓ３の信号動作には、遅延回路３０の遅延時間分のタイミングの差が存在する。すなわち、遅延回路３０によって、プロセッサエレメント制御信号Ｓ２とＳ３が複数のグループごとにそれぞれ異なるタイミングで供給されている。
【００４３】
プロセッサエレメントはプロセッサエレメント制御信号で制御されるため、プロセッサエレメント制御信号のタイミングに差あると、プロセッサエレメントの動作タイミングに差が発生する。プロセッサエレメントは動作するときに消費電流を発生するので、動作タイミングの差は、消費電流の発生タイミングの差として表れる。具体的には、第１グループ２Ａの消費電流に対し、第２グループ２Ｂの消費電流は、遅延回路３０の遅延時間分だけ遅れて発生する。
【００４４】
ＳＩＭＤ型マイクロプロセッサ１全体の消費電流は、ＳＩＭＤ型マイクロプロセッサ１に含まれるすべての回路の和であるが、ここでは効果を明確にするため、プロセッサエレメント部分のみについて図示すると、図３のようになる。図３には、実線で２つのグループが同じタイミングで動作した場合の消費電流を示し、破線で本実施形態の場合、すなわち第１グループ２Ａと第２グループ２Ｂとが別々のタイミングで動作した場合の消費電流を示している。
【００４５】
第１グループ２Ａと第２グループ２Ｂとが同じタイミングで動作した場合は、図１８の場合のプロセッサエレメントが８個の場合と同じであるが、第１グループ２Ａと第２グループ２Ｂとが別々のタイミングで動作した場合は、図３の破線で示すように、２つのピークを持つ波形となる。前半のピークは第１グループ２Ａが消費電流のピークを迎えたことを示しており、後半のピークは第２グループ２Ｂが消費電流のピークを迎えたことを示している。この２つのピークの時間差は、遅延回路３０で設けられた時間差である。第１グループ２Ａ、第２グループ２Ｂはそれぞれ４個のプロセッサエレメントを備えているので、消費電流ピークもプロセッサエレメント８個の場合の約半分となる。
【００４６】
本実施例によれば、プロセッサエレメントＰＥ０〜ＰＥ７を第１グループ２Ａと第２グループ２Ｂとの２つのグループに分割し、ＰＥコントロール部３ではデコーダ４から入力されたプロセッサエレメント制御信号Ｓ１を第１グループ２Ａ向けのプロセッサエレメント制御信号Ｓ２と第２グループ２Ｂ向けのプロセッサエレメント制御信号Ｓ３とに分割して出力して、第２グループ２Ｂ向けのプロセッサエレメント制御信号Ｓ３には遅延回路３０を挿入して第１グループ２Ａ向けのプロセッサエレメント制御信号Ｓ２よりも遅延させているので、グループごとに動作タイミングがずれるために、全体を同時動作させるよりも消費電流のピークを抑えることができる。したがってＩＲドロップやノイズの影響を抑えることができる。
【００４７】
なお、図１に示した構成では遅延回路３０としてインバータ回路を偶数段直列接続した回路としたが、それに限らず、図４に示すようにバッファ回路や、通常使用する論理和、論理積といった論理回路であっても一方の経路だけに挿入した場合には、伝達遅延差が生じ、遅延回路３０を構成することができる。
【００４８】
また、図５に示すように、双方の経路が同様の論理回路を経由する場合においても、遅延値の異なるゲートを選択すれば、伝達遅延差が生じ、タイミング調整手段を構成することができる。遅延回路３０Ａと遅延回路３０Ｂは、同じ段数のインバータ回路で構成されている遅延回路であるが、遅延回路３０Ａの方が、遅延回路３０Ｂより遅延時間が長い。その時間差、すなわち、遅延回路３０Ａの遅延時間から遅延回路３０Ｂの遅延時間を差し引いた時間が、ここでの遅延時間差となる。遅延回路３０Ａと遅延回路３０Ｂの遅延時間の差別化は、例えば同じインバータ回路であってもトランジスタ特性やトランジスタサイズを変化させることで、異なる遅延値を持つインバータ回路を構成することが可能であり、それを利用することで実現できる。
【００４９】
さらに、図６に示すように、双方の経路が同様の論理回路を経由する場合において、さらにその論理回路も遅延値の差の無い同一サイズ、同一特性の場合において、配線の経路の長さの差を使って、伝達遅延差を生じさせてタイミング調整手段を構成することができる。図６に簡素に図示しているが、双方の経路上の回路はまったく同じでありながら、下側の経路は明らかに冗長な配線経路を経ている。ＬＳＩの設計においては、配線の物理的経路によって遅延時間はコントロール可能であるため、このような手法で遅延回路３０を構成することができる。ただし、現在主流である自動配置配線によるレイアウト設計の場合、まったく同一の配線遅延とする方が困難であり、意図せずとも配線遅延差が生じるので、そのような場合の配線長差は含まれない。図６では明らかな時間差を配線遅延によって作り出す場合を想定しており、双方の信号が分岐してから、目的の制御信号までの経路の総配線長差として約２倍以上の差を必要とする。
【００５０】
［第２実施形態］
次に、本発明の第２の実施形態を図７ないし図１１を参照して説明する。なお、前述した第１の実施形態と同一部分には、同一符号を付して説明を省略する。図７は、本発明の第２の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。図８は、第１の選択状態における第１の参照方向の場合のデータと、第２の参照方向の場合のデータの動きを示した説明図である。図９は、第１の選択状態におけるクロックとクロックを基準に変化するレジスタを示したタイミングチャートである。図１０は、第２の選択状態における第１の参照方向の場合のデータと、第２の参照方向の場合のデータの動きを示した説明図である。図１１は、第２の選択状態におけるクロックとクロックを基準に変化するレジスタを示したタイミングチャートである。
【００５１】
本実施形態では、ＰＥコントロール部３の構成が第１の実施形態と異なる。本実施形態のＰＥコントロール部３は、遅延回路３０に加え、２入力から１出力を選択する切替手段としての選択器（以下ＳＥＬ）を２個、ＳＥＬ３１とＳＥＬ３２とを備えている。
【００５２】
ＳＥＬ３１の２入力は、プロセッサエレメント制御信号Ｓ１から、遅延回路３０を経由した信号と、遅延回路３０を経由していない信号と、の２つであり、出力はプロセッサエレメント制御信号Ｓ２となる。ＳＥＬ３２の２入力は、プロセッサエレメント制御信号Ｓ１から、遅延回路３０を経由した信号と、遅延回路３０を経由していない信号と、の２つであり、出力はプロセッサエレメント制御信号Ｓ３となる。
【００５３】
ＳＥＬ３１とＳＥＬ３２は、２入力が共通であり、かつ同一の信号で選択制御されるものであるが、選択の論理が逆になっている。ＳＥＬ３１が、遅延回路３０を経由した信号を選択しているときには、ＳＥＬ３２が遅延回路３０を経由していない信号を選択し、ＳＥＬ３１が遅延回路３０を経由していない信号を選択しているときには、ＳＥＬ３２が遅延回路３０を経由した信号を選択するという関係にある。すなわち、プロセッサエレメント制御信号Ｓ２およびＳ３の出力タイミングを切替えている。
【００５４】
本実施形態ではＳＥＬ３１、３２を備えているので、プロセッサエレメント制御信号Ｓ１の生成において遅延回路３０を経由しない経路が選択できる。ＳＥＬ３１がプロセッサエレメント制御信号Ｓ２の生成において遅延回路３０を経由しない経路を選択したときには、ＳＥＬ３２はプロセッサエレメント制御信号Ｓ３の生成において遅延回路３０を経由する経路が選択される。ＳＥＬ３１とＳＥＬ３２のこの選択状態を第１の選択状態とする。第１の選択状態態では、プロセッサエレメント制御信号Ｓ２およびプロセッサエレメント制御信号Ｓ３の発生タイミングが第１の実施形態と同様となるため、第１の実施形態と同じ効果が得られる。
【００５５】
また、ＳＥＬ３１がプロセッサエレメント制御信号Ｓ２の生成において遅延回路３０を経由する経路を選択したときには、ＳＥＬ３２はプロセッサエレメント制御信号Ｓ３の生成において遅延回路３０を経由しない経路が選択される。ＳＥＬ３１とＳＥＬ３２のこの選択状態を第２の選択状態とする。第２の選択状態では、第１の実施形態で示した場合と異なり、プロセッサエレメント制御信号Ｓ３の出力タイミングが先行し、遅延回路３０の遅延時間分が経過した後に、プロセッサエレメント制御信号Ｓ２が出力されることになる。消費電流を考えた場合、第１グループ２Ａと第２グループ２Ｂには特性の差がないため、消費電流発生の順序が入れ替わっても、全体での消費電流は、図３での破線の例と変わらず、効果も同様である。
【００５６】
次に、上述した第１の選択状態における動作を説明する。画像処理におけるフィルター演算のように、ある画素を演算で隣接する画素を参照する場合、自身より前の画素を参照する場合と自身より後の画素を参照する場合の、大別して２通りの参照方向が考えられる。すなわち、プロセッサエレメントをｍ（ｍは２以上の自然数）個備えるＳＩＭＤ型マイクロプロセッサにおいて、画素が１個のプロセッサエレメントに１画素ずつ配置され、番号の若い順に画素が格納されるとすると、あるＰＥｎ（０≦ｎ≦ｍ−１を満たす自然数）が参照する方向としては、ＰＥ（ｎ−１）などのｎより小さい数値の方向とＰＥ（ｎ＋１）などのｎより大きい数値の方向の２通りであり、前者を第１の参照方向、後者を第２の参照方向とする。
【００５７】
図８には、第１の参照方向の場合のデータの動きを実線で、第２の参照方向の場合のデータの動きを破線で示している。いずれも画素としては１画素分の場合の例である。第１の参照方向では、プロセッサエレメントＰＥ０のレジスタの値をプロセッサエレメントＰＥ１が参照し、プロセッサエレメントＰＥ１のレジスタの値をプロセッサエレメントＰＥ２が参照し、プロセッサエレメントＰＥ２のレジスタの値をプロセッサエレメントＰＥ３が参照し、プロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照し、・・・、プロセッサエレメントＰＥ６のレジスタの値をプロセッサエレメントＰＥ７が参照することを表している。第２の参照方向では、プロセッサエレメントＰＥ１のレジスタの値をプロセッサエレメントＰＥ０が参照し、プロセッサエレメントＰＥ２のレジスタの値をプロセッサエレメントＰＥ１が参照し、プロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ２が参照し、プロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照し、・・・、プロセッサエレメントＰＥ７のレジスタの値をプロセッサエレメントＰＥ６が参照することを表している。
【００５８】
図９に、第１グループ２Ａおよび第２グループ２Ｂへの制御信号の代表としてクロック（以下ＣＬＫ）とクロックを基準に変化するレジスタの例を図示する。第１の選択状態であるため、第１グループ２ＡへのＣＬＫは第２グループ２ＢへのＣＬＫより遅延回路３０の遅延時間分だけ動作タイミングが先行する。ＣＬＫが基準で変化するレジスタも、同様に第１グループ２Ａは第２グループ２Ｂより遅延回路３０の遅延時間分だけ動作タイミングが先行する。
【００５９】
ＳＩＭＤ型マイクロプロセッサ１は基本的に複数のプロセッサエレメントが同時に動作するという特徴がある。隣接するプロセッサエレメントのレジスタを参照する場合、参照するプロセッサエレメントと参照されるプロセッサエレメントの動作タイミングが同じで、レジスタの変更タイミングも同じである。したがって、両プロセッサエレメント間のデータの動きについてセットアップタイムやホールドタイムも同一に揃えられて確保される。
【００６０】
ただし、第１の参照方向においてプロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照する場合、第１グループ２Ａに含まれるプロセッサエレメントＰＥ３と第２グループ２Ｂに含まれるプロセッサエレメントＰＥ４では動作するタイミングが異なる。第２の参照方向において、プロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照する場合も同様である。参照する側のプロセッサエレメントと参照される側のプロセッサエレメントの動作タイミングが異なるため、セットアップタイムやホールドタイムの問題が発生する可能性がある。ホールドタイムの問題とは、参照される側のプロセッサエレメントが早く動作した場合、参照される側のプロセッサエレメントの変更されたレジスタ内容が参照するプロセッサエレメントに伝わってしまうことである。セットアップタイムの問題とは、参照される側のプロセッサエレメントが遅く動作した場合、そのレジスタの内容変更が、そのプロセッサエレメントを参照している内容の変更に間に合わないことである。
【００６１】
図８、図９の場合において、ホールドタイムの問題が考えられるのは、第１の参照方向においてプロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照する場合である。プロセッサエレメントＰＥ３の方が先に動作し、プロセッサエレメントＰＥ４が遅延時間３０による遅延時間分だけ遅れて動作するため、プロセッサエレメントＰＥ３のレジスタ内容の変更がプロセッサエレメントＰＥ４に伝達するまでの時間より遅延時間３０による遅延時間の方が長い時には、プロセッサエレメントＰＥ４は変更後のプロセッサエレメントＰＥ３を参照してしまうことになる。
【００６２】
図８、図９の場合において、セットアップタイムの問題が考えられるのは、第２の参照方向においてプロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照する場合である。プロセッサエレメントＰＥ３の方が先に動作し、プロセッサエレメントＰＥ４が遅延時間３０による遅延時間分だけ遅れて動作するため、プロセッサエレメントＰＥ４のレジスタ内容の変更がプロセッサエレメントＰＥ３に伝達するまでの時間において、遅延時間３０による遅延時間分だけセットアップタイムを必要とする。動作周波数に余裕があり、十分なセットアップタイムが元々確保されている場合には問題ないが、余裕のない場合には、動作周波数を下げないと動作しないという問題となる。
【００６３】
次に、上述した第２の選択状態における動作を説明する。図１０では、図８と同様に第１の参照方向の場合のデータの動きを実線で、第２の参照方向の場合のデータの動きを破線で示している。いずれも画素としては１画素分の場合の例である。
【００６４】
図１１に、第１グループ２Ａおよび第２グループ２Ｂへの制御信号の代表としてクロックとクロックを基準に変化するレジスタの例を図示する。第２の選択状態であるため、第２グループ２ＢへのＣＬＫは第１グループ２ＡへのＣＬＫより遅延回路３０の遅延時間分だけ動作タイミングが先行する。ＣＬＫが基準で変化するレジスタも、同様に第２グループ２Ｂは第１グループ２Ａより遅延回路３０の遅延時間分だけ動作タイミングが先行する。図９の場合と比較すると、第１グループ２Ａと第２グループ２Ｂの動作タイミングが逆となっている。
【００６５】
図１０、図１１の場合は、図８、図９の場合と第１グループ２Ａと第２グループ２Ｂの動作タイミングが逆になっているため、ホールドタイム／セットアップタイムの懸念箇所も入れ替わる。
【００６６】
図１０、図１１の場合においてホールドタイムの問題が考えられるのは、第２の参照方向でプロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照する場合である。プロセッサエレメントＰＥ４の方が先に動作し、プロセッサエレメントＰＥ３が遅延時間３０による遅延時間分だけ遅れて動作するため、プロセッサエレメントＰＥ４のレジスタ内容の変更がプロセッサエレメントＰＥ３に伝達するまでの時間より遅延時間３０による遅延時間の方が長い時には、プロセッサエレメントＰＥ３は変更後のプロセッサエレメントＰＥ４を参照してしまうことになる。
【００６７】
図１０、図１１の場合において、セットアップタイムの問題が考えられるのは、第１の参照方向においてプロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照する場合である。プロセッサエレメントＰＥ４の方が先に動作し、プロセッサエレメントＰＥ３が遅延時間３０による遅延時間分だけ遅れて動作するため、プロセッサエレメントＰＥ３のレジスタ内容の変更がプロセッサエレメントＰＥ４に伝達するまでの時間において、遅延時間３０による遅延時間分だけセットアップタイムを必要とする。動作周波数に余裕があり、十分なセットアップタイムが元々確保されている場合には問題ないが、余裕のない場合には、動作周波数を下げないと動作しないという問題となる。
【００６８】
セットアップタイムの問題が発生する場合は、前述のように、第１の選択状態、第２の参照方向での、プロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照する場合と、第２の選択状態、第１の参照方向での、プロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照する場合の２点のみとなる。本実施形態では、第１の選択状態と第２の選択状態を、デコーダ４からの制御で切り替えられる構成になっているため、セットアップタイムの問題のない方の選択状態を選ぶことで回避することができる。すなわち、命令動作が第１の参照方向であるときには第１の選択状態とし、命令動作が第２の参照方向であるときには第２の選択状態とすればよい。
【００６９】
また、前述のホールドタイムの問題回避策は、図示していないが、プロセッサエレメントＰＥ３のレジスタの値をプロセッサエレメントＰＥ４が参照する経路、あるいはプロセッサエレメントＰＥ４のレジスタの値をプロセッサエレメントＰＥ３が参照する経路に、遅延回路を挿入すればよい。遅延値は遅延時間３０と同等でよい。挿入された遅延回路により、伝達が遅延し、ホールドタイムを確保できる。
【００７０】
なお、隣接プロセッサエレメントを参照しない命令では、第１の選択状態でも第２の選択状態でも問題ないため、そのような場合はどちらか一方の選択を基本として指定していてもかまわない。隣接プロセッサエレメント参照の例として、１プロセッサエレメント分隣接を参照する場合を取り合えているが、２プロセッサエレメント以上としてもよい。
【００７１】
本実施例によれば、ＰＥコントロール部３にＳＥＬ３１、３２を設けて、ＳＥＬ３１が遅延回路３０を経由しない場合は、ＳＥＬ３２が遅延回路３０を経由するように切り替え、ＳＥＬ３１が遅延回路３０を経由する場合は、ＳＥＬ３２が遅延回路３０を経由しないように切り替えているので、隣接プロセッサエレメントを参照する際のセットアップタイムを満たさないなどのプロセッサエレメント動作のタイミング上の問題点を回避でき、命令動作に合わせた最適な方を選択することができる。
【００７２】
［第３実施形態］
次に、本発明の第３の実施形態を図１２および図１３を参照して説明する。なお、前述した第１、第２の実施形態と同一部分には、同一符号を付して説明を省略する。図１２は、本発明の第３の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。図１３は、図１２に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【００７３】
本実施形態では、プロセッサエレメント制御信号Ｓ３の生成方法が第１、第２の実施形態と異なる。図１２では、プロセッサエレメント制御信号Ｓ２は従来と同じ方法で生成されており、第１グループ２Ａへ出力されている。第１グループ２Ａに伝えられたプロセッサエレメント制御信号Ｓ２は、ＰＥコントロール部３から近いプロセッサエレメントであるＰＥ３から順に、ＰＥ２、ＰＥ１、ＰＥ０と伝達し、プロセッサエレメントＰＥ０側へ抜けた信号を折り返して、折り返し制御信号Ｓ２１として再びＰＥコントロール部３へ入力している。ＰＥコントロール部３では、折り返し制御信号Ｓ２１からプロセッサエレメント制御信号Ｓ３を生成している。
【００７４】
図１２では、プロセッサエレメント制御信号Ｓ２として出力された信号内容は、プロセッサエレメントＰＥ３ 、ＰＥ２、ＰＥ１、ＰＥ０を経由してから、再びＰＥコントロール部３に折り返し制御信号Ｓ２１として戻り、プロセッサエレメント制御信号Ｓ３を生成している。電気信号であるプロセッサエレメント制御信号は、配線抵抗などの存在で近くほど早く伝達し、遠くほど遅く伝達するために、プロセッサエレメント制御信号Ｓ３の発生時刻は、プロセッサエレメントＰＥ０への伝達時刻より後であるということになる。すなわち、タイミング調整手段が、第１グループのプロセッサエレメント制御信号Ｓ２の末端と第２グループのプロセッサエレメント制御信号Ｓ３の入力とを接続した配線で構成されている。したがってプロセッサエレメント制御信号Ｓ３によって動作する第２グループ２Ｂは、第１グループ２ＡのＰＥコントロール部３から一番遠いところにあるプロセッサエレメントＰＥ０より、確実に後に動作することになり、第１グループ２Ａで発生する動作電流の推移と第２グループ２Ｂで発生する動作電流の推移が発生時間としてずれるため、全体としての消費電流ピークを抑えられることになる。
【００７５】
本実施形態におけるプロセッサエレメントが動作したときの消費電流の推移を、図１３に示す。動作するプロセッサエレメントはＰＥコントロール部３から近いところから順に消費電流のピークを向かえるため、プロセッサエレメントＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３の順でピークが出現する。その後、プロセッサエレメント制御信号Ｓ２が折り返し制御信号Ｓ２１としてＰＥコントロール部３に戻る時間が空いて、プロセッサエレメントＰＥ４、ＰＥ５、ＰＥ６、ＰＥ７の順でピークが出現する。各プロセッサエレメントの動作タイミングが、プロセッサエレメント制御信号Ｓ１あるいはＳ２の生成箇所からの距離で決まるという前提であるため、同一のグループにあるプロセッサエレメントも、動作タイミングがずれ、消費電流のピークも分散するため、全体のピークも分散され低い値になる。
【００７６】
本実施形態によれば、プロセッサエレメント制御信号Ｓ２が、ＰＥコントロール部３から第１グループ２Ａの最遠方にあるプロセッサエレメントＰＥ０を経由してから折り返し制御信号Ｓ２１として再度ＰＥコントロール部３に戻し、この折り返し制御信号Ｓ２１からプロセッサエレメント制御信号Ｓ３を生成して出力しているので、この折り返し制御信号Ｓ２１によって動作する第２グループ２Ｂが、第１グループ２Ａより、確実に後に動作することになり、第１グループ２Ａで発生する動作電流の推移と第２グループ２Ｂで発生する動作電流の推移が発生時間としてずれるため、全体としての消費電流ピーク値を抑えられる。
【００７７】
［第４実施形態］
次に、本発明の第４の実施形態を図１４を参照して説明する。なお、前述した第１乃至第３の実施形態と同一部分には、同一符号を付して説明を省略する。図１４は、本発明の第４の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【００７８】
本実施形態では、第３の実施形態に第２の実施形態を組み合わせている。すなわち、２入力から１出力を選択する選択器（以下ＳＥＬ）を２個、ＳＥＬ３１とＳＥＬ３２とを備え、ＳＥＬ３１の２入力は、プロセッサエレメント制御信号Ｓ１と、第２グループ２Ｂに伝えられたプロセッサエレメント制御信号Ｓ３がプロセッサエレメントＰＥ７側へ抜けた信号を折り返した折り返し制御信号Ｓ３１と、が入力され、ＳＥＬ３２の２入力は、プロセッサエレメント制御信号Ｓ１と、第１グループ２Ａに伝えられたプロセッサエレメント制御信号Ｓ２がプロセッサエレメントＰＥ０側へ抜けた信号を折り返した折り返し制御信号Ｓ２１と、が入力されている。
【００７９】
本実施形態においては、ＳＥＬ３１を備えているので、プロセッサエレメント制御信号Ｓ２の生成において第２グループ２Ｂを通らない経路が選択できる。ＳＥＬ３１がこの選択を行うときには、ＳＥＬ３２はプロセッサエレメント制御信号Ｓ３の生成において第１グループ２Ａを経由する折り返し制御信号Ｓ２１が選択となる。ＳＥＬ３１とＳＥＬ３２のこの選択状態を第１の選択状態とする。第１の選択状態態では、第３の実施形態と同様のプロセッサエレメント制御信号Ｓ２およびＳ３の発生タイミングとなるため、第３の実施形態と同じ効果が得られる。
【００８０】
また、ＳＥＬ３１がプロセッサエレメント制御信号Ｓ２の生成において第２グループ２Ｂを経由する折り返し制御信号Ｓ３１を選択するとき、ＳＥＬ３２はプロセッサエレメント制御信号Ｓ３の生成において第１グループ２Ａを通らない経路を選択することになる。ＳＥＬ３１とＳＥＬ３２のこの選択状態を第２の選択状態とする。第２の選択状態では、第３の実施形態で示した場合と異なり、プロセッサエレメント制御信号Ｓ３の発信タイミングが先行し、第２グループ２Ｂの一番遠いところにあるプロセッサエレメントＰＥ７にプロセッサエレメント制御信号Ｓ３が伝達された後に、プロセッサエレメント制御信号Ｓ２が発信することになる。
【００８１】
ここで、消費電流を考えた場合、第１グループ２Ａと第２グループ２Ｂには特性の差がないため、消費電流発生の順序が入れ替わっても、全体での消費電流は、図３での破線の例と変わらず、効果も同様である。
【００８２】
第４の実施形態を、第２の実施形態と比較した場合、異なる部分は、プロセッサエレメント制御信号Ｓ１としてＰＥコントロール部３に入力された信号の遅延信号を生成する手段だけである。すなわち、第２の実施形態ではその遅延時間は遅延回路３０により決定したのに対し、第４の実施形態では、プロセッサエレメント制御信号がプロセッサエレメントのグループを経由する長い経路を通ることによる伝達時間により遅延時間を決定している。
【００８３】
ＳＥＬ３１とＳＥＬ３２の動作は、第２の実施形態と同じである。すなわち、命令動作が第１の参照方向であるときには第１の選択状態とし、命令動作が第２の参照方向であるときには第２の選択状態とすることが可能である。このため第２の実施形態と同様にセットアップタイム問題の回避が可能となる。
【００８４】
本実施形態によれば、プロセッサエレメント制御信号が、デコーダ４から入力されたプロセッサエレメント制御信号Ｓ１と、ＰＥコントロール部３から各グループの最遠方にあるプロセッサエレメントを経由した折り返し制御信号Ｓ２１またはＳ３１とを選択可能にするＳＥＬ３１およびＳＥＬ３２を設けているので、確実に一方のグループよりも他方のグループを後に動作させることができるので、第１グループ２Ａで発生する動作電流の推移と第２グループ２Ｂで発生する動作電流の推移を発生時間としてずらずことができ、全体としての消費電流ピーク値を抑えられる。
【００８５】
また、ＳＥＬ３１およびＳＥＬ３２での切り替えを行うことによって、隣接プロセッサエレメントを参照する際のセットアップタイムを満たさないなどのプロセッサエレメント動作のタイミング上の問題点を回避でき、命令動作に合わせた最適な方を選択することができる。
【００８６】
［第５実施形態］
次に、本発明の第５の実施形態を図１５および図１６を参照して説明する。なお、前述した第１乃至第４の実施形態と同一部分には、同一符号を付して説明を省略する。図１５は、本発明の第５の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。図１６は、図１５に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【００８７】
本実施形態では、プロセッサエレメント制御信号Ｓ１から出力された信号内容は、プロセッサエレメント制御信号Ｓ２として出力されてプロセッサエレメントＰＥ３、ＰＥ２、を経由してから、プロセッサエレメントＰＥ１方向へ延びる信号と分岐して、再びＰＥコントロール部３に戻る信号である半折り返し信号Ｓ２２からプロセッサエレメント制御信号Ｓ３を生成している。すなわち、タイミング調整手段が、第１グループのプロセッサエレメント制御信号Ｓ２の中間部と第２グループのプロセッサエレメント制御信号Ｓ３の入力とを接続した配線で構成されている。このためプロセッサエレメント制御信号Ｓ３の発生時刻は、プロセッサエレメントＰＥ０への伝達時刻より後になる。
【００８８】
上述したプロセッサエレメント制御信号Ｓ２が分岐している箇所は、第１グループ２Ａのプロセッサエレメント列において中間地点（中間部）である。これは、分岐地点が中間地点付近であるために、分岐して再びＰＥコントロール部３へと戻される半折り返し制御信号Ｓ２２の距離と、分岐せずに直進して最も遠いプロセッサエレメント（この場合はプロセッサエレメントＰＥ０）に到達するまでのプロセッサエレメント制御信号の距離は、ほぼ同等である。したがって、ＰＥコントロール部３へ制御信号が戻ってくる時刻と最も遠いプロセッサエレメントＰＥ０へプロセッサエレメント制御信号が伝達される時刻は、ほぼ同じになる。プロセッサエレメント制御信号Ｓ３は、ＰＥコントロール部３へ戻された半折り返し制御信号Ｓ２２を元にして生成されるため、第２グループ２Ｂの動作時刻は、第１グループ２Ａの最も遠いプロセッサエレメントＰＥ０の動作の直後になる。
【００８９】
各プロセッサエレメントの動作タイミングが、プロセッサエレメント制御信号Ｓ２あるいはＳ３の生成箇所からの距離で決まるとした場合、消費電流のピーク値においてもっとも低く抑えられる動作タイミングは、核プロセッサエレメントの動作タイミングが均等な時間差をもってずれてくることである。この例を図１６に示す。図１６では、各プロセッサエレメントの消費電流の分布が理想的に分布し、消費電流のピーク値が低く抑えられている。
【００９０】
第１グループ２Ａと第２グループ２Ｂの動作時間差において、第１グループ２Ａで動作タイミングがもっとも遅い最遠方のプロセッサエレメントＰＥ０と第２グループ２Ｂで動作タイミングがもっとも早いプロセッサエレメントＰＥ４との差が、同一グループ内のプロセッサエレメント同士の時間の差と同じになると、図１６のような連続した消費電流分布が得られるのであって、本実施形態では、半折り返し制御信号Ｓ２２がＰＥコントロール部３へ戻るタイミングがプロセッサエレメントＰＥ０への制御信号伝達時刻とほぼ同じになるため、理想的な消費電流分布に近い動作タイミングが得られる。また、図１３を比較して明白なように、図１６では、全体の消費電流のピーク値は同程度であるのにも関わらず、最初のプロセッサエレメントＰＥ４の動作から最後のプロセッサエレメントＰＥ７の動作までに要する時間が短いという特徴があり、動作周波数を向上する場合は、本実施形態は第３の実施形態より有利に働く。
【００９１】
なお、本実施形態においても、ＳＥＬ３１、ＳＥＬ３２を設けて隣接プロセッサエレメント参照方向に合わせて第１グループ２Ａと第２グループ２Ｂの動作順序を入れ替える形式を採ってもよい。
【００９２】
本実施形態によれば、プロセッサエレメント制御信号Ｓ２が、第１グループ２Ａの中間から半折り返し制御信号Ｓ２２として再度ＰＥコントロール部３に戻し、この半折り返し制御信号Ｓ２２からプロセッサエレメント制御信号Ｓ３を生成して出力しているので、この半折り返し制御信号Ｓ２２によって動作する第２グループ２Ｂが、第１グループ２Ａより確実に後に動作し、さらに、第１グループ２Ａの直後に動作させることができるので、第１グループ２Ａで発生する動作電流の推移と第２グループ２Ｂで発生する動作電流の推移が発生時間として理想的にずれるため、全体としての消費電流ピーク値を抑えられる。
【００９３】
なお、上述した各実施形態では、複数のプロセッサエレメントを複数のグループとして２グループに分割していたが、それに限らず、例えば、図１７に示したように、複数列に並べて、各列を分割することで３位以上のグループに分割しても良い。図１７の例では、プロセッサエレメントＰＥ０〜ＰＥ３の第１グループ２Ａと、プロセッサエレメントＰＥ４〜ＰＥ７の第２グループ２Ｂと、プロセッサエレメントＰＥ８〜ＰＥ１１の第３グループ２Ｃと、プロセッサエレメントＰＥ１２〜ＰＥ１５の第４グループ２Ｄと、の４グループに分割している。そして、第１グループ２Ａには遅延回路３０を挿入せず、第２グループ２Ｂには遅延回路３０を１段挿入し、第３グループ２Ｃには遅延回路３０を２段挿入し、第４グループ２Ｄには遅延回路３０を３段挿入して各グループごとの動作タイミングに時間差が発生するようにしている。
【００９４】
また、各グループに含まれるプロセッサエレメントの数はなるべく同数に近い方が消費電流のピークを抑える観点から望ましい。
【００９５】
また、各グループにプロセッサエレメント制御信号を供給するＰＥコントロール部３はプロセッサエレメント列の中心に設けることが望ましく、グループ分けもＰＥコントロール部３を挟んで対称となるようにした方がレイアウトなどの点からも望ましい。
【００９６】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００９７】
【図１】本発明の第１の実施形態にかかるＳＩＭＤ型マイクロプロセッサのブロック図である。
【図２】図１に示したＳＩＭＤ型マイクロプロセッサのプロセッサエレメントのブロック図である。
【図３】図１に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【図４】図１に示した遅延回路の他の構成例の回路図である。
【図５】図１に示した遅延回路の他の構成例の回路図である。
【図６】図１に示した遅延回路の他の構成例の回路図である。
【図７】本発明の第２の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【図８】第１の選択状態における第１の参照方向の場合のデータと、第２の参照方向の場合のデータの動きを示した説明図である。
【図９】第１の選択状態におけるクロックとクロックを基準に変化するレジスタを示したタイミングチャートである。
【図１０】第２の選択状態における第１の参照方向の場合のデータと、第２の参照方向の場合のデータの動きを示した説明図である。
【図１１】第２の選択状態におけるクロックとクロックを基準に変化するレジスタを示したタイミングチャートである。
【図１２】本発明の第３の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【図１３】図１２に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【図１４】本発明の第４の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【図１５】本発明の第５の実施形態にかかるＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【図１６】図１５に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【図１７】複数のプロセッサエレメントの他の分割方法の説明図である。
【図１８】従来のＳＩＭＤ型マイクロプロセッサ１のブロック図である。
【図１９】図１８に示したプロセッサエレメントの時間に対する消費電流の推移を示したグラフである。
【符号の説明】
【００９８】
１                ＳＩＭＤ型マイクロプロセッサ
２Ａ              第１グループ（複数のグループ）
２Ｂ              第２グループ（複数のグループ）
３                ＰＥコントロール部（プロセッサエレメントコントロール部）
４                デコーダ（命令解読デコーダ）
３０              遅延回路（タイミング調整手段）
３０Ａ            遅延回路（タイミング調整手段）
３０Ｂ            遅延回路（タイミング調整手段）
ＰＥ０〜ＰＥ７    プロセッサエレメント
Ｓ１〜Ｓ３        プロセッサエレメント制御信号
Ｓ２１、Ｓ３１    折り返し制御信号
Ｓ２２            半折り返し制御信号
【図１】
2010140309.tif 000003
【図２】
2010140309.tif 000004
【図３】
2010140309.tif 000005
【図４】
2010140309.tif 000006
【図５】
2010140309.tif 000007
【図６】
2010140309.tif 000008
【図７】
2010140309.tif 000009
【図８】
2010140309.tif 000010
【図９】
2010140309.tif 000011
【図１０】
2010140309.tif 000012
【図１１】
2010140309.tif 000013
【図１２】
2010140309.tif 000014
【図１３】
2010140309.tif 000015
【図１４】
2010140309.tif 000016
【図１５】
2010140309.tif 000017
【図１６】
2010140309.tif 000018
【図１７】
2010140309.tif 000019
【図１８】
2010140309.tif 000020
【図１９】
2010140309.tif 000021