(57)【要約】【課題】消費電力の増加に伴って電源配線に生じる電圧降下と電源ノイズとを抑制する。【解決手段】遅延回路１１−０〜１１−１６は、制御信号Ｓａ−０〜Ｓａ−１６を所定の遅延時間だけ遅延させて遅延制御信号Ｓｂ−０〜Ｓｂ−１６を発生する。マルチプレクサ１２−０〜１２−１６は、テスト用素子１４のオン電流の測定値及び動作速度の測定値に基づいて、制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６をプロセッサエレメントＰＥ０〜ＰＥＮのうちの奇数番目の各プロセッサエレメントに出力する。【選択図】図１
2012194774.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ（Single Instruction-stream Multiple Data-stream）型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、
上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段と、
上記ＳＩＭＤ型プロセッサと同一のプロセスで製造されたトランジスタのオン電流の測定値に基づいて、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力する切換手段とを備えたことを特徴とするＳＩＭＤ型プロセッサ。
【請求項２】
上記切換手段は、上記オン電流の測定値が所定のオン電流しきい値以上でありかつ上記トランジスタの動作速度の測定値が所定の動作速度しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに上記制御信号を出力しかつ他方のプロセッサエレメントに上記遅延制御信号を出力する一方、上記オン電流の測定値が所定のオン電流しきい値未満でありかつ上記動作速度の測定値が所定の動作速度しきい値未満であるとき、全ての上記プロセッサエレメントに上記制御信号を出力することを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項３】
上記ＳＩＭＤ型プロセッサは、上記各プロセッサエレメントに出力する上記制御信号及び上記遅延制御信号のうちのいずれか１つの制御信号を示す切換データをあらかじめ格納する不揮発性の記憶手段をさらに備え、
上記切換手段は、上記記憶手段に格納された切換データに従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力することを特徴とする請求項１又は２記載のＳＩＭＤ型プロセッサ。
【請求項４】
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、
上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段と、
上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力する切換手段とを備え、
上記制御手段は、所定の命令の実行時に並列に動作するプロセッサエレメントを識別しし、当該識別されたプロセッサエレメントのうち隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに上記制御信号を出力しかつ他方のプロセッサエレメントに上記遅延制御信号を出力するように上記切換手段を制御することを特徴とするＳＩＭＤ型プロセッサ。
【請求項５】
上記複数のプロセッサエレメントに対応して設けられ、かつ上記制御信号及び上記遅延制御信号のうちのいずれか１つの制御信号を示す条件フラグデータをそれぞれ格納し、当該格納された条件フラグデータを上記切換手段にそれぞれ出力する複数の条件フラグレジスタをさらに備え、
上記切換手段は、上記各条件フラグレジスタに格納された条件フラグデータに基づいて、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力することを特徴とする請求項４記載のＳＩＭＤ型プロセッサ。
【請求項６】
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段を備え、
上記各プロセッサエレメントは、
所定のデータを格納して、所定の読出制御信号に応答して当該データを出力する記憶手段と、
上記記憶手段に書き込まれたデータの読み出し時の消費電流を検出して、上記検出された消費電流が所定の消費電流しきい値以上であるか否かを示す検出信号を発生する消費電流検出手段と、
所定の切換信号に従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して、上記選択された信号を上記読出制御信号として、上記記憶手段に出力する切換手段と、
処理対象の上記プロセッサエレメントに含まれる上記消費電流検出手段からの検出信号と、上記処理対象のプロセッサエレメントに隣接する２個のプロセッサエレメントに含まれる上記消費電流検出手段からの検出信号と、上記処理対象のプロセッサエレメントに隣接する１個のプロセッサエレメントに含まれる上記切換手段からの切換信号とに基づいて、３個以上の隣接するプロセッサエレメントにおいて上記検出された消費電流が上記消費電流しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに含まれる上記記憶手段に上記制御信号が上記読出制御信号として出力されかつ他方のプロセッサエレメントに含まれる上記記憶手段に上記遅延制御信号が上記読出制御信号として出力されるように上記切換信号を発生する比較手段とを備えたことを特徴とするＳＩＭＤ型プロセッサ。
【請求項７】
上記消費電流検出手段は、互いに並列に接続され、かつ上記記憶手段に書き込まれたデータの各ビットデータに従ってそれぞれオンオフされる少なくとも１つのトランジスタを備え、上記各トランジスタに流れるオン電流の総和を検出することにより、上記記憶手段に書き込まれたデータの読み出し時の消費電流を検出することを特徴とする請求項６記載のＳＩＭＤ型プロセッサ。
【請求項８】
上記各プロセッサエレメントは、上記各記憶手段に対応して設けられた条件フラグレジスタをさらに備え、
上記比較手段は、上記記憶手段への上記データの書き込み時に上記切換信号を発生して、上記条件フラグレジスタに上記切換信号に対応する条件フラグデータを格納し、
上記切換手段は、上記記憶手段からの上記データの読み出し時に、上記切換信号に代えて、上記条件フラグレジスタに格納された条件フラグデータに従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記記憶手段に上記読出制御信号として出力することを特徴とする請求項６又は７記載のＳＩＭＤ型プロセッサ。
【請求項９】
上記複数のプロセッサエレメントは、少なくとも２つグループに分割され、上記分割された各グループに含まれるプロセッサエレメントの上記比較手段は、当該各グループに含まれるプロセッサエレメントの上記消費電流検出手段からの上記検出信号と、当該各グループに含まれるプロセッサエレメントの上記比較手段からの上記切換信号に基づいて、上記切換信号を発生することを特徴とする請求項６乃至８のうちのいずれか１つに記載のＳＩＭＤ型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの演算命令により複数の画像データ等を並列処理するＳＩＭＤ（Single Instruction-stream Multiple Data-stream）型プロセッサに関する。
【背景技術】
【０００２】
デジタルテレビジョン放送受信装置、デジタル複写機、又はファクシミリ装置などの画像処理装置において用いられる画像処理専用のマイクロプロセッサにおいては、ＳＩＭＤ型のマイクロプロセッサが用いられることが多い。これは１つの命令で複数のデータに対して、並列に演算処理が行なわれるＳＩＭＤ方式の特徴が画像処理には適しているからである。ＳＩＭＤ型マイクロプロセッサは、それぞれ演算器とレジスタとからなる複数のプロセッサエレメントと、そのプロセッサエレメントを制御するグローバルプロセッサとから構成されている。プロセッサエレメントの個数は画像データの大きさに応じて決定され、これらの複数のプロセッサエレメントを、単一のグローバルプロセッサが、同時に演算処理を行うように制御している。
【０００３】
具体的には、ＳＩＭＤ型マイクロプロセッサにおいて、各プロセッサエレメントは、画像データのうちの１画素の画素データの画像処理を行う。１画素に対応するプロセッサエレメントが複数あるため、複数の画素に対応する画素データが並列に演算処理される。このように、複数の画素データを同時に処理することで、画像処理の効率を高めている。
【０００４】
近年、デジタル複写機やファクシミリ装置などの画像処理では、画素数の増加、画像処理の多様化などにより画質の向上が図られている。そしてこの画像の向上に伴い、処理すべきデータ数がどんどん増加しており、ＳＩＭＤ型のマイクロプロセッサにおいてもより多くのプロセッサエレメントが必要になっている。
【０００５】
上述したように、ＳＩＭＤ型マイクロプロセッサの特徴は、全プロセッサエレメントが同時に同一の動作を行うところである。従って、各プロセッサエレメントが同一のデータ処理を実行すると、全てのプロセッサエレメントに同一の消費電流が流れる。その総消費電流量はプロセッサエレメントの数に比例して増加するのは言うまでもないが、電流を消費するタイミングも同一であるため、ピーク電流を消費するタイミングも全てのプロセッサエレメントで揃っており、ピーク電流値はより大きなものとなってしまう。この大きなピーク電流が電源ノイズなどを引き起こし、ＳＩＭＤ型プロセッサの性能劣化を引き起こす原因となっている。
【０００６】
図１１は、従来技術に係るＳＩＭＤ型プロセッサ１００Ｐの構成を示すブロック図であり、図１２は、図１１の各プロセッサエレメントＰＥ０Ｐ，ＰＥ１Ｐ，…，ＰＥＮＰ内のレジスタＲ０の回路図である。図１１において、ＳＩＭＤ型マイクロプロセッサ１００Ｐは、グローバルプロセッサ１Ｐと、複数Ｎ＋１個のプロセッサエレメントＰＥ０Ｐ，ＰＥ１Ｐ，…，ＰＥＮＰとを備えて構成される。ここで、グローバルプロセッサ１Ｐは、ＳＩＳＤ（Single Instruction Stream, Single Data Stream）タイプのプロセッサであり、ＳＩＭＤ型マイクロプロセッサ１００Ｐの全体の動作、ならびにプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰの各動作を制御する。また、各プロセッサエレメントＰＥｎＰ（ｎ＝０，１，…，Ｎ）は、記憶回路３と、算術論理演算回路（以下、ＡＬＵ（Arithmetic Logic Unit）という。）２と、データ線４とを備えて構成される。さらに、各プロセッサエレメントＰＥｎＰ（ｎ＝０，１，…，Ｎ）の記憶回路３は、それぞれデータ線４に接続された８ビットのレジスタＲ０〜Ｒ１５を備えて構成される。また、各プロセッサエレメントＰＥｎＰ（ｎ＝０，１，…，Ｎ）にはプロセッサエレメント番号ｎに対応する固有のアドレスｎが割り当てられている。
【０００７】
図１２は、図１１の各プロセッサエレメントＰＥ０Ｐ，ＰＥ１Ｐ，…，ＰＥＮＰ内のレジスタＲ０の回路図である。なお、他のレジスタＲ１〜Ｒ１５もレジスタＲ０と同様に構成される。図１２において、レジスタＲ０は、データ線４に接続された入力ポート及び反転出力ポートと、グローバルプロセッサ１Ｐからの書込制御クロックＷＣＫ及び反転書込制御クロック／ＷＣＫに応答して、入力ポートに入力されたデータＤｉｎを出力又は遮断するトランスファゲート２１と、インバータ２４と、トランスファゲート２１とインバータ２４との間に互いに逆並列接続されたインバータ２２及び２３と、Ｎチャネル型ＭＯＳ電界効果トランジスタ（以下、ＮＭＯＳトランジスタという。）２５及び２６とを備えて構成される。ここで、ＮＭＯＳトランジスタ２５のゲートはインバータ２４の出力端子に接続され、ソースは接地される。また、ＮＭＯＳトランジスタ２６のゲートにはグローバルプロセッサ１Ｐからの読出制御クロックＲＣＫが出力され、ソースはＮＭＯＳトランジスタ２５のドレインに接続され、ドレインは反転出力ポートに接続される。図１２において、グローバルプロセッサ１Ｐからの書込制御クロックＷＣＫ、反転書込制御クロック／ＷＣＫ及び読出制御クロックＲＣＫに応答して、レジスタＲ０に格納されたデータは読み出されて反転出力ポートを介してＡＬＵ２に出力され、又は入力ポートに入力されたデータＤｉｎはレジスタＲ０に書き込まれる。
【０００８】
図１１において、グローバルプロセッサ１Ｐは、所定の命令に基づいて、図１２の書込制御クロックＷＣＫ、反転書込制御クロック／ＷＣＫ及び読出制御クロックＲＣＫをそれぞれ含む制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。そして、制御信号Ｓａ−０を全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰのレジスタＲ０に出力し、制御信号Ｓａ−１を全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰのレジスタＲ１に出力する。以下同様に、グローバルプロセッサ１Ｐは、各制御信号Ｓａ−ｍ（ｍ＝０，１，…，１５）を全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰのレジスタＲｍに出力する。さらに、グローバルプロセッサ１Ｐは、制御信号Ｓａ−１６を全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰのＡＬＵ２に出力する
【０００９】
図１１において、全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰは、制御信号Ｓａ−ｍ（ｍ＝０，１，…，１６）に応答して同時に動作する。例えば、全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰレジスタＲ０からデータを読み出す場合には、全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰのレジスタＲ０が同一の制御信号Ｓａ−０により一斉に選択され、各レジスタＲ０に格納されたデータが同時に読み出される。このため、ＳＩＭＤ型プロセッサ１００Ｐが動作を停止している場合には全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰが動作を停止している一方、ＳＩＭＤ型プロセッサ１００Ｐ動作する場合には全てのプロセッサエレメントＰＥ０Ｐ〜ＰＥＮＰが同時に動作する。従って、動作電流の増減が非常に激しく、これが大きな電源ノイズを引き起こす原因ともなっている。
【００１０】
すなわち、近年の画像データの増大傾向は、同時動作するプロセッサエレメントの数がより多くなることを意味しており、このため、画像処理の効率を高めると、かえって電源ノイズによる処理効率の低下につながってしまうという問題がある。
【００１１】
このような問題を解決するために、特許文献１記載のＳＩＭＤ型プロセッサは、グローバルプロセッサを全プロセッサエレメントの中央に配置して、プロセッサエレメントを２つのグループに分割し、プロセッサエレメントをグループ毎に異なるタイミングで制御する。また、特許文献２記載のＳＩＭＤ型プロセッサは、プロセッサエレメント毎に異なるタイミングで制御を行うように構成されている。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１記載のＳＩＭＤ型プロセッサによれば、制御タイミングを遅らせたグループに含まれるプロセッサエレメントの処理速度が遅くなり、動作速度が劣化するという問題が生じる。また、大規模なＳＩＭＤ型プロセッサにおいては、プロセッサエレメントを小さいグループに分割できないため、ピーク電流が増大するという問題を解決できない。また、特許文献２記載のＳＩＭＤ型プロセッサは、各プロセッサエレメントから共通のメモリにアクセスするためのメモリアクセス要求の実行時の実効性能の向上のために、各プロセッサエレメントにおいて１サイクルずつメモリアクセス要求実行サイクルをずらしたものである。したがって並列演算における制御タイミングは各プロセッサエレメントにおいて同一であり、ピーク電流が増大するという問題を解決できない
【００１３】
本発明の目的は以上の問題点を解決し、消費電力の増加に伴って電源配線に生じる電圧降下（以下、ＩＲドロップという。）と、電源ノイズとを抑制できるＳＩＭＤ型プロセッサを提供することにある。
【課題を解決するための手段】
【００１４】
第１の発明に係るＳＩＭＤ型プロセッサは、
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、
上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段と、
上記ＳＩＭＤ型プロセッサと同一のプロセスで製造されたトランジスタのオン電流の測定値に基づいて、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力する切換手段とを備えたことを特徴とするＳＩＭＤ型プロセッサ。
【００１５】
上記第１の発明に係るＳＩＭＤ型プロセッサにおいて、上記切換手段は、上記オン電流の測定値が所定のオン電流しきい値以上でありかつ上記トランジスタの動作速度の測定値が所定の動作速度しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに上記制御信号を出力しかつ他方のプロセッサエレメントに上記遅延制御信号を出力する一方、上記オン電流の測定値が所定のオン電流しきい値未満でありかつ上記動作速度の測定値が所定の動作速度しきい値未満であるとき、全ての上記プロセッサエレメントに上記制御信号を出力することを特徴とする。
【００１６】
また、上記第１の発明に係るＳＩＭＤ型プロセッサは、上記各プロセッサエレメントに出力する上記制御信号及び上記遅延制御信号のうちのいずれか１つの制御信号を示す切換データをあらかじめ格納する不揮発性の記憶手段をさらに備え、
上記切換手段は、上記記憶手段に格納された切換データに従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力することを特徴とする。
【００１７】
第２の発明に係るＳＩＭＤ型プロセッサは、
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、
上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段と、
上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力する切換手段とを備え、
上記制御手段は、所定の命令の実行時に並列に動作するプロセッサエレメントを識別しし、当該識別されたプロセッサエレメントのうち隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに上記制御信号を出力しかつ他方のプロセッサエレメントに上記遅延制御信号を出力するように上記切換手段を制御することを特徴とする。
【００１８】
上記第２の発明に係るＳＩＭＤ型プロセッサにおいて、
上記複数のプロセッサエレメントに対応して設けられ、かつ上記制御信号及び上記遅延制御信号のうちのいずれか１つの制御信号を示す条件フラグデータをそれぞれ格納し、当該格納された条件フラグデータを上記切換手段にそれぞれ出力する複数の条件フラグレジスタをさらに備え、
上記切換手段は、上記各条件フラグレジスタに格納された条件フラグデータに基づいて、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記各プロセッサエレメントに出力することを特徴とする。
【００１９】
第３の発明に係るＳＩＭＤ型プロセッサは、
複数のプロセッサエレメントと、
上記複数のプロセッサエレメントを所定の動作周期で並列に動作させるための所定の制御信号を発生する制御手段とを備えたＳＩＭＤ型プロセッサにおいて、
上記ＳＩＭＤ型プロセッサは、上記制御信号を上記動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号を発生する遅延手段を備え、
上記各プロセッサエレメントは、
所定のデータを格納して、所定の読出制御信号に応答して当該データを出力する記憶手段と、
上記記憶手段に書き込まれたデータの読み出し時の消費電流を検出して、上記検出された消費電流が所定の消費電流しきい値以上であるか否かを示す検出信号を発生する消費電流検出手段と、
所定の切換信号に従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して、上記選択された信号を上記読出制御信号として、上記記憶手段に出力する切換手段と、
処理対象の上記プロセッサエレメントに含まれる上記消費電流検出手段からの検出信号と、上記処理対象のプロセッサエレメントに隣接する２個のプロセッサエレメントに含まれる上記消費電流検出手段からの検出信号と、上記処理対象のプロセッサエレメントに隣接する１個のプロセッサエレメントに含まれる上記切換手段からの切換信号とに基づいて、３個以上の隣接するプロセッサエレメントにおいて上記検出された消費電流が上記消費電流しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに含まれる上記記憶手段に上記制御信号が上記読出制御信号として出力されかつ他方のプロセッサエレメントに含まれる上記記憶手段に上記遅延制御信号が上記読出制御信号として出力されるように上記切換信号を発生する比較手段とを備えたことを特徴とする。
【００２０】
上記第３の発明に係るＳＩＭＤ型プロセッサにおいて、上記消費電流検出手段は、互いに並列に接続され、かつ上記記憶手段に書き込まれたデータの各ビットデータに従ってそれぞれオンオフされる少なくとも１つのトランジスタを備え、上記各トランジスタに流れるオン電流の総和を検出することにより、上記記憶手段に書き込まれたデータの読み出し時の消費電流を検出することを特徴とする。
【００２１】
また、上記第３の発明に係るＳＩＭＤ型プロセッサにおいて、
上記各プロセッサエレメントは、上記各記憶手段に対応して設けられた条件フラグレジスタをさらに備え、
上記比較手段は、上記記憶手段への上記データの書き込み時に上記切換信号を発生して、上記条件フラグレジスタに上記切換信号に対応する条件フラグデータを格納し、
上記切換手段は、上記記憶手段からの上記データの読み出し時に、上記切換信号に代えて、上記条件フラグレジスタに格納された条件フラグデータに従って、上記制御信号と上記遅延制御信号とのうちの１つを選択して上記記憶手段に上記読出制御信号として出力することを特徴とする。
【００２２】
さらに、上記第３の発明に係るＳＩＭＤ型プロセッサにおいて、
上記複数のプロセッサエレメントは、少なくとも２つグループに分割され、上記分割された各グループに含まれるプロセッサエレメントの上記比較手段は、当該各グループに含まれるプロセッサエレメントの上記消費電流検出手段からの上記検出信号と、当該各グループに含まれるプロセッサエレメントの上記比較手段からの上記切換信号に基づいて、上記切換信号を発生することを特徴とする。
【発明の効果】
【００２３】
第１乃至第３の発明に係るＳＩＭＤ型プロセッサによれば、各プロセッサエレメント毎に、制御信号及び上記制御信号を動作周期未満の所定の遅延時間だけ遅延させた遅延制御信号のうちのいずれか１つに従って動作するように制御するので、全プロセッサエレメントが同時に動作せず、複数プロセッサエレメントが同時に動作することに起因するピーク電流の増加を抑制できる。このため、過大なピーク電流を防止できる。その結果、消費電力の増加に伴うＩＲドロップ及び電源ノイズを従来技術に比較して小さくでき、過大な動作マージンをＳＩＭＤ型プロセッサに付加する必要がなくなるため、動作性能を向上できる。また、過剰な消費電流が発生する可能性があるときにのみ遅延制御信号が選択されるので、動作速度を落とすことなく電源ノイズなどによる誤動作を防止できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係るＳＩＭＤ型プロセッサ１００の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係るＳＩＭＤ型プロセッサ１００Ａの構成を示すブロック図である。
【図３】本発明の第３の実施形態に係るＳＩＭＤ型プロセッサ１００Ｂの構成を示すブロック図である。
【図４】本発明の第４の実施形態に係るＳＩＭＤ型プロセッサ１００Ｃの構成を示すブロック図である。
【図５】本発明の第５の実施形態に係るＳＩＭＤ型プロセッサ１００Ｄの構成を示すブロック図である。
【図６】図５の各プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の消費電流検出回路２１−０の回路図である。
【図７】図５の各プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の比較回路２２−０の回路図である。
【図８】（ａ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第１の例を示すブロック図であり、（ｂ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第２の例を示すブロック図であり、（ｃ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第３の例を示すブロック図であり、（ｄ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第４の例を示すブロック図であり、（ｅ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第５の例を示すブロック図である。
【図９】本発明の第６の実施形態に係るＳＩＭＤ型プロセッサ１００Ｅの構成を示すブロック図である。
【図１０】本発明の第７の実施形態に係るＳＩＭＤ型プロセッサ１００Ｆの構成を示すブロック図である。
【図１１】従来技術に係るＳＩＭＤ型プロセッサ１００Ｐの構成を示すブロック図である。
【図１２】図１１の各プロセッサエレメントＰＥ０Ｐ，ＰＥ１Ｐ，…，ＰＥＮＰ内のレジスタＲ０の回路図である。
【発明を実施するための形態】
【００２５】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２６】
第１の実施形態．
図１は、本発明の第１の実施形態に係るＳＩＭＤ型プロセッサ１００の構成を示すブロック図である。図１において、ＳＩＭＤ型プロセッサ１００は、グローバルプロセッサ１と、複数Ｎ＋１個のプロセッサエレメントＰＥ０，ＰＥ１，…，ＰＥＮと、遅延回路１１−０〜１１−１６と、マルチプレクサ１２−０〜１２−１６と、ヒューズ素子１３と、テスト用素子１４とを備えて構成される。ここで、グローバルプロセッサ１は、ＳＩＳＤタイプのプロセッサであり、ＳＩＭＤ型マイクロプロセッサ１００の全体の動作、ならびにプロセッサエレメントＰＥ０〜ＰＥＮの各動作を制御する。また、各プロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）は、記憶回路３と、ＡＬＵ２と、データ線４とを備えて構成される。さらに、各プロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）の記憶回路３は、それぞれデータ線４に接続された８ビットのレジスタＲ０〜Ｒ１５を備えて構成される。ここで、各プロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）の各レジスタＲ０〜Ｒ１５は、それぞれ図１２の従来技術に係るレジスタＲ０と同様に構成される。また、各プロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）にはプロセッサエレメント番号ｎに対応する固有のアドレスｎが割り当てられている。
【００２７】
詳細後述するように、ＳＩＭＤ型プロセッサ１００は、制御信号Ｓａ−ｍ（ｍ＝０，１，…，１６）を、所定の動作周期未満の所定の遅延時間だけそれぞれ遅延させて遅延制御信号Ｓｂ−ｍをそれぞれ発生する遅延回路１１−ｍと、ＳＩＭＤ型プロセッサ１００と同一のプロセスで製造されたトランジスタであるテスト用素子１４のオン電流の測定値及び動作速度の測定値に基づいて、制御信号Ｓａ−ｍと遅延制御信号Ｓｂ−ｍとのうちの１つをそれぞれ選択して各プロセッサエレメントＰＥ１，ＰＥ３，…に出力するマルチプレクサ１２−ｍとを備えたことを特徴としている。また、各マルチプレクサ１２−ｍ（ｍ＝０，１，…，１６）は、オン電流の測定値が所定のオン電流しきい値以上でありかつ動作速度の測定値が所定の動作速度しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに制御信号Ｓａ−ｍを出力しかつ他方のプロセッサエレメントに遅延制御信号Ｓｂ−ｍを出力する一方、オン電流の測定値が所定のオン電流しきい値未満でありかつ動作速度の測定値が所定の動作速度しきい値未満であるとき、各プロセッサエレメントＰＥ１，ＰＥ３，…に制御信号Ｓａ−ｍを出力することを特徴とする。
【００２８】
図１において、グローバルプロセッサ１は、所定の命令に基づいて、図１２の書込制御クロックＷＣＫ、反転書込制御クロック／ＷＣＫ及び読出制御クロックＲＣＫをそれぞれ含む制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。なお、グローバルプロセッサ１は、プロセッサエレメントＰＥ０〜ＰＥＮの所定の動作周期毎に、各プロセッサエレメントＰＥ０〜ＰＥＮのレジスタＲ０〜Ｒ１５のうちの１つ又はＡＬＵ２を並列に動作させるように、制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。そして、偶数番目の制御信号Ｓａ−ｐ（ｐ＝０，２，４，…，１４）は、遅延回路１１−ｐと、マルチプレクサ１２−ｐと、偶数番目のプロセッサエレメントＰＥｎ（ｎ＝０，２，…）の各レジスタＲｐに出力される。また、奇数番目の制御信号Ｓａ−ｑ（ｑ＝１，３，…，１５）は、遅延回路１１−ｑと、マルチプレクサ１１−ｑと、奇数番目のプロセッサエレメントＰＥｎ（ｎ＝１，３，…）の各レジスタＲｑに出力される。さらに、制御信号Ｓａ−１６は、遅延回路１１−１６と、マルチプレクサ１２−１６と、偶数番目のプロセッサエレメントＰＥｎ（ｎ＝０，２，…）の各ＡＬＵ２に出力される。
【００２９】
図１において、各遅延回路１１−ｍ（ｍ＝０，１，…，１６）はそれぞれ、入力される制御信号Ｓａ−ｍを所定の遅延時間だけ遅延させて、遅延後の遅延制御信号Ｓｂ−ｍを、マルチプレクサ１２−ｍに出力する。さらに、各マルチプレクサ１２−ｍ（ｍ＝０，１，…，１６）は、ヒューズ素子１３からの、制御信号Ｓａ−ｍ及び遅延制御信号Ｓｂ−ｍのうちのいずれか１つの制御信号を示す切換信号Ｓ１３に応答して、制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍを選択し、選択された制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍを奇数番目のプロセッサエレメントＰＥｎ（ｎ＝１，３，…）のレジスタＲｍに出力する。また、図１において、テスト用素子１４は、ＳＩＭＤ型プロセッサ１００と同一のプロセスで製造されたトランジスタである。ここで、テスト用素子１４の電流特性及び動作速度は、プロセスバラツキ（製造バラツキ）に起因してばらついている。ＳＩＭＤ型プロセッサ１００の出荷前のテストにおいて、テスト用素子１４の電流特性（例えば、オン電流である。）及び動作速度が測定され、測定結果に基づいて、マルチプレクサ１２−０〜１２−１６において選択される制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−１〜Ｓｂ−１６に対応する切換データが格納される。具体的には、テスト用素子１４のオン電流の測定値が所定のオン電流しきい値未満でありかつ動作速度の測定値が所定の動作速度しきい値未満であるとき、制御信号Ｓａ−０〜Ｓａ−１６に対応する切換データがヒューズ素子１３に格納される一方、テスト用素子１４のオン電流の測定値が所定のオン電流しきい値以上でありかつ動作速度の測定値が所定の動作速度しきい値以上であるとき、遅延制御信号Ｓｂ−０〜Ｓｂ−１６に対応する切換データがヒューズ素子１３に格納される。ヒューズ素子１３は、格納された切換データを含む切換信号Ｓ１３をマルチプレクサ１２−０〜１２−１６に出力する。
【００３０】
図１において、各遅延回路１１−０〜１１−１６における遅延時間は互いに同一であり、プロセッサエレメントＰＥ０〜ＰＥＮの所定の動作周期未満の遅延時間に設定されている。また、切換信号Ｓ１３は、テスト用素子１４のオン電流が所定のオン電流しきい値以上でありかつ動作速度が所定の動作速度しきい値以上であるときに、マルチプレクサ１２−０〜１２−１６が遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択するように発生される。
【００３１】
図１のＳＩＭＤ型プロセッサ１００において、テスト用素子１４のオン電流が所定のオン電流しきい値未満でありかつ動作速度が所定の動作速度しきい値未満であるとき、マルチプレクサ１２−０〜１２−１６は、切換信号Ｓ１３に応答して、制御信号Ｓａ−０〜Ｓａ−１６を選択する。従って、全てのプロセッサエレメントＰＥ０〜ＰＥＮＰは、制御信号Ｓａ−０〜Ｓａ−１６に従って、同一の制御タイミングで動作する。一方、テスト用素子１４のオン電流が所定のオン電流しきい値以上でありかつ動作速度が所定の動作速度しきい値以上であるとき、マルチプレクサ１２−０〜１２−１６は、切換信号Ｓ１３に応答して、遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択する。従って、偶数番目のプロセッサエレメントＰＥｎ（ｎ＝０，２，４，…）は制御信号Ｓａ−０〜Ｓａ−１６に従って動作する一方、奇数番目のプロセッサエレメントＰＥｎ（ｎ＝１，３，５，…）は遅延制御信号Ｓｂ−０〜Ｓｂ−１６に従って動作する。
【００３２】
トランジスタであるテスト用素子１４のオン電流が所定のオン電流しきい値以上であれば、オン電流が所定のオン電流しきい値未満であるときよりも、ＳＩＭＤ型プロセッサ１００の動作時により多くの消費電流が流れることが予想される。このため、ＳＩＭＤ型プロセッサ１００がプロセッサエレメントＰＥ０〜ＰＥＮを同時に動作させると、当該動作時に瞬時に大電流が生じることとなってしまう。ここで、テスト用素子１４のオン電流が所定のオン電流しきい値以上であるということは、ＳＩＭＤ型プロセッサ１００の動作速度には余裕があるということを表している。つまり、所定の動作周期の範囲内でＳＩＭＤ型プロセッサ１の制御タイミングを遅らせることができるということである。本実施の形態によれば、テスト用素子１４のオン電流が所定のオン電流しきい値以上でありかつ動作速度が所定の動作速度しきい値以上であるとき、偶数番目のプロセッサエレメントＰＥｎ（ｎ＝０，２，４，…）と、奇数番目のプロセッサエレメントＰＥｎ（ｎ＝１，３，５，…）とを異なる制御タイミングで動作させるので、全てのプロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）を同一の制御タイミングで動作させる場合に比較して、電流の集中を避けることができる。
【００３３】
また、ＳＩＭＤ型プロセッサ１００の動作速度に余裕がなく、テスト用素子１４のオン電流が所定のオン電流しきい値未満でありかつ動作速度が所定の動作速度しきい値未満であるときは、従来技術に係るＳＩＭＤ型プロセッサ１００Ｐと同様に、全てのプロセッサエレメントＰＥｎ（ｎ＝０，１，…Ｎ）を同一の制御タイミングで動作させるが各プロセッサエレメントＰＥｎ（ｎ＝０，１，…Ｎ）の動作電流が比較的少ないので、消費電流の増大に伴う電源ノイズ及びＩＲドロップは発生しない。
【００３４】
以上説明したように、本実施形態によれば、テスト用素子１４のオン電流が所定のオン電流しきい値以上でありかつ動作速度が所定の動作速度しきい値以上であるとき、奇数番目のプロセッサエレメントＰＥｎ（ｎ＝１，３，５，…）の制御タイミングを、偶数番目のプロセッサエレメントＰＥｎ（ｎ＝０，２，４，…）の制御タイミングよりも所定の遅延時間だけ遅延させるので、全てのプロセッサエレメントＰＥｎ（ｎ＝０，１，…，Ｎ）が同時に動作することによる過大なピーク電流を防止できる。その結果、従来技術に比較して、電源ノイズ及びＩＲドロップを小さくすることができ、過大な動作マージンを付加する必要がなくなるため、動作性能を向上させることができる。また、テスト用素子１４のオン電流が所定のオン電流しきい値未満でありかつ動作速度が所定の動作速度しきい値未満であるときは、従来技術に係るＳＩＭＤ型プロセッサ１００Ｐと同様に、全てのプロセッサエレメントＰＥｎ（ｎ＝０，１，…Ｎ）を同一の制御タイミングで動作させるので、動作速度を落とすことなく電源ノイズなどによる誤動作を防止できる。
【００３５】
なお、本実施形態において切換信号Ｓ１３を発生するためにヒューズ素子１３を用いたが、本発明はこれに限られず、奇数番目のプロセッサエレメントＰＥ１，ＰＥ３，…に出力する制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６のうちのいずれか１つの制御信号を示す条件フラグデータを予め格納する条件フラグレジスタなどの、不揮発性の記憶素子を用いてもよい。
【００３６】
また、本実施形態において、マルチプレクサ１２−０〜１２−１６は、テスト用素子１４のオン電流の測定値及び動作速度の測定値に基づいて、制御信号Ｓａ−０〜Ｓａ−１６と遅延制御信号Ｓｂ−０〜Ｓｂ−１６とのうちの一方を選択して出力したが、本発明はこれに限られない。マルチプレクサ１２−０〜１２−１６は、テスト用素子１４のオン電流の測定値に基づいて、制御信号Ｓａ−０〜Ｓａ−１６と遅延制御信号Ｓｂ−０〜Ｓｂ−１６とのうちの一方を選択して出力してもよい。この場合、各マルチプレクサ１２−ｍ（ｍ＝０，１，…，１６）は、オン電流の測定値が所定のオン電流しきい値以上であるとき、隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに制御信号Ｓａ−ｍを出力しかつ他方のプロセッサエレメントに遅延制御信号Ｓｂ−ｍを出力する一方、オン電流の測定値が所定のオン電流しきい値未満であるとき、各プロセッサエレメントＰＥ１，ＰＥ３，…に制御信号Ｓａ−ｍを出力する。
【００３７】
第２の実施形態．
図２は、本発明の第２の実施形態に係るＳＩＭＤ型プロセッサ１００Ａの構成を示すブロック図である。図２において、本実施の形態に係るＳＩＭＤ型プロセッサ１００Ａは、グローバルプロセッサ１Ａと、プロセッサエレメントＰＥ０Ａ〜ＰＥＮＡと、遅延回路１１−０〜１１−１６と、セレクタ１５とを備えて構成される。また、各プロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）は、記憶回路３Ａと、ＡＬＵ２と、データ線４と、マルチプレクサ１２−１６とを備えて構成される。さらに、各プロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）の記憶回路３Ａは、それぞれデータ線４に接続された８ビットのレジスタＲ０〜Ｒ１５と、レジスタＲ０〜Ｒ１５に対応して設けられたマルチプレクサ１２−０〜１２−１５とを備えて構成される。
【００３８】
図２において、グローバルプロセッサ１Ａは、所定の命令に基づいて、第１の実施形態に係るグローバルプロセッサ１と同様に、制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。そして、各制御信号Ｓａ−ｍ（ｍ＝０，１，…，１５）は、全てのプロセッサエレメントＰＥ０Ａ〜ＰＥＮＡのマルチプレクサ１２−ｍに出力される。また、制御信号Ｓａ−１６は、全てのプロセッサエレメントＰＥ０Ａ〜ＰＥＮＡのＡＬＵ２に出力される。各遅延回路１１−ｍ（ｍ＝０，１，…，１６）は、入力される制御信号Ｓａ−ｍを所定の遅延時間だけ第１の実施形態と同様に遅延させて、遅延後の遅延制御信号Ｓｂ−ｍを、全てのプロセッサエレメントＰＥ０Ａ〜ＰＥＮＡのマルチプレクサ１２−ｍに出力する。
【００３９】
また、図２において、グローバルプロセッサ１Ａは、各プロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）において制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６のうちのいずれの制御信号を選択するかを指示するセレクタ制御信号Ｓ１Ａを発生して、セレクタ１５に出力する。これに応答して、セレクタ１５はプロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）毎に、制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６のうちのいずれの制御信号を選択するかを指示する切換信号Ｓ１５−ｎ（ｎ＝０，１，…，Ｎ）を発生して、各プロセッサエレメントＰＥｎＡのマルチプレクサ１２−０〜１２−１６に出力する。各プロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）において、マルチプレクサ１２−０〜１２−１６は、入力される切換信号Ｓ１５−ｎに応答して、制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択して、レジスタＲ０〜Ｒ１５及びＡＬＵ２にそれぞれ出力する。
【００４０】
次に、セレクタ制御信号Ｓ１Ａの発生方法を説明する。ＳＩＭＤ型プロセッサ１００Ａの出荷前に、各プロセッサＰＥ０Ａ〜ＰＥＮＡの近傍にそれぞれ設けられたテスト用トランジスタのオン電流が測定され、当該測定結果はグローバルプロセッサ１Ａ内の不揮発性の記憶装置に格納される。なお、これらのオン電流の測定結果は、各プロセッサＰＥ０Ａ〜ＰＥＮＡの消費電流に対応している。グローバルプロセッサ１Ａは、上述した各テスト用トランジスタのオン電流の測定値に基づいて、所定のオン電流しきい値未満のテスト用トランジスタに対応するプロセッサエレメントが制御信号Ｓａ−０〜Ｓａ−１６に従って動作する一方、所定のオン電流しきい値以上のテスト用トランジスタに対応するプロセッサエレメントが、遅延制御信号Ｓｂ−０〜Ｓｂ−１６に従って動作するように、セレクタ制御信号Ｓ１Ａを発生する。従って、ＳＩＭＤ型プロセッサ１００Ａのうち、動作電流が大きくなる可能性がある領域では遅延制御信号Ｓｂ−０〜Ｓｂ−１６を用いて同時動作を防ぎ、動作電流が大きくなる可能性がある領域では制御信号Ｓａ−０〜Ｓａ−１６を用いて全プロセッサエレメントが同時に動作を開始するように制御できる。オン電流が大きく、動作電流が大きくなる可能性がある領域は、トランジスタが高速に動作するように仕上がっている領域であり、制御タイミングを部分的に遅らせてもＳＩＭＤ型プロセッサ１００の動作には支障ない。以上説明したようにセレクタ制御信号Ｓ１Ａを発生することは、領域毎にシステマティックなプロセスバラツキがある場合に有効である。
【００４１】
消費電流が大きいプロセッサエレメントが１つだけ存在する場合は、周囲の電源ラインからの電源供給があるため、電源ノイズ及びＩＲドロップの問題は比較的小さいと考えられる。しかしながら、隣接するプロセッサエレメントの消費電流がいずれも多い場合、これらのプロセッサエレメントが同時に動作すると、これらのプロセッサエレメントを含む領域において、他の領域に比較して非常に大きな消費電流が流れてしまう。従って、隣接するプロセッサエレメントに対応するテスト用トランジスタのオン電流の測定値が全て所定のオン電流しきい値以上であるときは、これらのプロセッサエレメントの制御タイミングを交互に遅らせるように、セレクタ制御信号Ｓ１Ａを発生すればよい。これにより、電流集中は緩和され、ピーク電流を減らすことができる。
【００４２】
測定したオン電流の値が所定のオン電流しきい値未満の場合、プロセッサエレメントの同時動作による消費電流の増加の影響は比較的小さいと考えられ、遅延制御信号Ｓｂ−０〜Ｓｂ−１６を用いない。また、オン電流の値が所定のオン電流しきい値未満であるということは、動作速度が遅いということを意味しており、制御タイミングを遅らせない方がよいと言える。一方、測定したオン電流の値が所定のオン電流しきい値以上であることは、動作速度が速いと言うことを意味しており、制御タイミングを遅らせてもＳＩＭＤ型プロセッサ１００Ａの動作に問題は生じない。
【００４３】
以上説明したように、本実施形態によれば、プロセッサエレメントＰＥ０Ａ〜ＰＥＮＡ毎に制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択できる。特に、隣接する各２個のプロセッサエレメントが同時に動作しないように、プロセッサエレメントＰＥ０Ａ〜ＰＥＮＡ毎に制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択することにより、全てのプロセッサエレメントＰＥｎＡ（ｎ＝０，１，…，Ｎ）が同時に動作することによる過大なピーク電流を防止できる。その結果、従来技術に比較して、電源ノイズ及びＩＲドロップを小さくすることができ、過大な動作マージンを付加する必要がなくなるため、動作性能を向上させることができる。
【００４４】
なお、本実施形態において、制御信号Ｓａ−０〜Ｓａ−１６に対応する制御タイミングと、遅延制御信号Ｓｂ−０〜Ｓｂ−１６に対応する制御タイミングとの２種類の制御タイミングを用いたが、本発明はこれに限られず、プロセッサエレメントＰＥ０Ａ〜ＰＥＮＡの所定の動作周期内の３種類以上の異なる制御タイミングを用いてもよい。
【００４５】
第３の実施形態．
図３は、本発明の第３の実施形態に係るＳＩＭＤ型プロセッサ１００Ｂの構成を示すブロック図である。図３において、本実施の形態に係るＳＩＭＤ型プロセッサ１００Ｂは、グローバルプロセッサ１Ｂと、プロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢ（図３には、図面の簡略化のためにプロセッサエレメントＰＥ０Ｂ及びＰＥ１Ｂのみを示す。）と、遅延回路１１−０〜１１−１６とを備えて構成される。また、各プロセッサエレメントＰＥｎＢ（ｎ＝０，１，…，Ｎ）は、記憶回路３Ｂと、ＡＬＵ２と、データ線４と、マルチプレクサ１２−１６と、デコーダ１６−１６とを備えて構成される。さらに、各プロセッサエレメントＰＥｎＢ（ｎ＝０，１，…，Ｎ）の記憶回路３Ｂは、それぞれデータ線４に接続された８ビットのレジスタＲ０〜Ｒ１５と、レジスタＲ０〜Ｒ１５に対応して設けられたマルチプレクサ１２−０〜１２−１５と、レジスタＲ０〜Ｒ１５に対応して設けられたデコーダ１６−０〜１６−１５とを備えて構成される。また、各プロセッサエレメントＰＥｎＢ（ｎ＝０，１，…，Ｎ）にはプロセッサエレメント番号ｎに対応する固有のアドレスｎが割り当てられている。
【００４６】
詳細後述するように、本実施形態に係るＳＩＭＤ型プロセッサ１００Ｂは、制御信号Ｓａ−ｍ（ｍ＝０，１，…，１６）をそれぞれ動作周期未満の所定の遅延時間だけ遅延させて遅延制御信号Ｓｂ−ｍを発生する遅延回路１１−ｍと、制御信号Ｓａ−ｍと遅延制御信号Ｓｂ−ｍとのうちの１つをそれぞれ選択して各プロセッサエレメントＰＥ０Ｂ〜ＰＥ０Ｎに出力するマルチプレクサ１２−ｍとを備え、グローバルプロセッサ１Ｂは、所定の命令の実行時に並列に動作するプロセッサエレメントを識別しし、当該識別されたプロセッサエレメントのうち隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに制御信号Ｓａ−ｍ（ｍ＝０，１，…，１６）を出力しかつ他方のプロセッサエレメントに遅延制御信号Ｓｂ−ｍを出力するように各プロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢの各マルチプレクサ１２−ｍを制御することを特徴としている。
【００４７】
図３において、グローバルプロセッサ１Ｂは、所定の命令に基づいて、プロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢのうち当該命令の実行時に同時に活性化される（並列動作する）プロセッサエレメントを識別し、識別されたプロセッサエレメントのアドレスを含むアドレス信号と、図１２の書込制御クロックＷＣＫ、反転書込制御クロック／ＷＣＫ及び読出制御クロックＲＣＫとをそれぞれ含む制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。そして、各制御信号Ｓａ−ｍ（ｍ＝０，１，…，１５）は、全てのプロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢのマルチプレクサ１２−ｍ及び遅延回路１１−ｍに出力される。また、制御信号Ｓａ−１６は、全てのプロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢのＡＬＵ２に出力される。各遅延回路１１−ｍ（ｍ＝０，１，…，１５）は、第１の実施形態と同様に、入力される制御信号Ｓａ−ｍを所定の遅延時間だけ遅延させて、遅延後の遅延制御信号Ｓｂ−ｍを、全てのプロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢのマルチプレクサ１２−ｍに出力する。
【００４８】
グローバルプロセッサ１Ｂは、命令の実行時に並列動作するプロセッサエレメントにおいて、隣接する各２個のプロセッサエレメントの制御タイミングが異なるように、各プロセッサエレメントに出力する制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６のうちの１つの制御信号のデータを含むデコーダ制御信号Ｓ１Ｂを発生し、全てのプロセッサエレメントＰＥ０Ｂ〜ＰＥＮＢのデコーダ１６−０〜１６−１６に出力する。各プロセッサエレメントＰＲ０Ｂ〜ＰＥＮＢにおいて、デコーダ１６−ｍ（ｍ＝０，１，…，１６）は、入力されるデコーダ制御信号Ｓ１Ｂに基づいて、マルチプレクサ１２−ｍに出力する制御信号Ｓａ−ｍ及び遅延制御信号Ｓｂ−ｍのうちのいずれか１つの制御信号を示す切換信号Ｓ１６−ｍを発生して、マルチプレクサ１２−ｍに出力する。これに応答して、各プロセッサエレメントＰＲ０Ｂ〜ＰＥＮＢにおいて、マルチプレクサ１２−ｍ（ｍ＝０，１，…，１５）は、制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍを選択してレジスタＲｍに出力する。マルチプレクサ１２−ｍ（ｍ＝０，１，…，１５）と同様に、マルチプレクサ１２−１６は、制御信号Ｓａ−１６又は遅延制御信号Ｓｂ−１６を選択してＡＬＵ２に出力する。レジスジスタＲｍ（ｍ＝０，１，…，１５）のアドレスが、入力される制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍに含まれるアドレス信号に含まれるアドレスと一致しているとき、当該レジスタＲｍへのデータの書き込み又は当該レジスタＲｍからのデータの読み出しが行われる。
【００４９】
本実施形態に係るＳＩＭＤ型プロセッサ１００Ｂは、第２の実施形態と同様の効果を奏する。さらに、本実施形態に係るＳＩＭＤ型プロセッサ１００Ｂによれば、命令を実行する毎に、各プロセッサエレメントＰＲ０Ｂ〜ＰＥＮＢの制御タイミングを動的に切り換えることができる。
【００５０】
第４の実施形態．
図４は、本発明の第４の実施形態に係るＳＩＭＤ型プロセッサ１００Ｃの構成を示すブロック図である。図４において、本実施の形態に係るＳＩＭＤ型プロセッサ１００Ｃは、グローバルプロセッサ１Ｃと、プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣ（図４には、図面の簡略化のためにプロセッサエレメントＰＥ０Ｃ及びＰＥ１Ｃのみを示す。）と、遅延回路１１−０〜１１−１６とを備えて構成される。また、各プロセッサエレメントＰＥｎＣ（ｎ＝０，１，…，Ｎ）は、記憶回路３Ｃと、ＡＬＵ２と、データ線４と、条件フラグデータ線４Ｆと、マルチプレクサ１２−１６と、ＡＬＵ２に対応して設けられた条件フラグレジスタＦ１６とを備えて構成される。さらに、各プロセッサエレメントＰＥｎＣ（ｎ＝０，１，…，Ｎ）の記憶回路３Ｃは、それぞれデータ線４に接続された８ビットのレジスタＲ０〜Ｒ１５と、レジスタＲ０〜Ｒ１５に対応して設けられたマルチプレクサ１２−０〜１２−１５と、レジスタＲ０〜Ｒ１５に対応して設けられた条件フラグレジスタＦ０〜Ｆ１５とを備えて構成される。また、各プロセッサエレメントＰＥｎＣ（ｎ＝０，１，…，Ｎ）にはプロセッサエレメント番号ｎに対応する固有のアドレスｎが割り当てられている。
【００５１】
本実施形態に係るＳＩＭＤ型プロセッサ１００Ｃは、
プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣに対応して設けられ、制御信号Ｓａ−ｍ（ｍ＝０，１，…，１６）及び遅延制御信号Ｓｂ−ｍのうちのいずれか１つの制御信号を示す条件フラグデータをそれぞれ格納し、当該格納された条件フラグデータをマルチプレクサ１２−ｍにそれぞれ出力する条件フラグレジスタＦｍをさらに備え、マルチプレクサ１２−ｍは、条件フラグレジスタＦｍに格納された条件フラグデータに基づいて、制御信号Ｓａ−ｍと遅延制御信号Ｓｂ−ｍとのうちの１つを選択してレジスタＲｍに出力し、グローバルプロセッサ１Ｃは、所定の命令の実行時に並列に動作するプロセッサエレメントのうち隣接する各２個のプロセッサエレメントのうちの一方のプロセッサエレメントに制御信号Ｓａ−ｍが出力されかつ他方のプロセッサエレメントに遅延制御信号Ｓｂ−ｍが出力されるように、各条件フラグレジスタＦｍに条件フラグデータを格納することを特徴としている。
【００５２】
図４において、グローバルプロセッサ１Ｃは、所定の命令に基づいて、プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのうち当該命令の実行時に並列に動作する（活性化される）プロセッサエレメントを識別し、識別されたプロセッサエレメントのアドレスを含むアドレス信号と、図１２の書込制御クロックＷＣＫ、反転書込制御クロック／ＷＣＫ及び読出制御クロックＲＣＫとをそれぞれ含む制御信号Ｓａ−０，Ｓａ−１，…，Ｓａ−１５を発生する。そして、各制御信号Ｓａ−ｍ（ｍ＝０，１，…，１５）は、全てのプロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのマルチプレクサ１２−ｍ及び遅延回路１１−ｍに出力される。また、制御信号Ｓａ−１６は、全てのプロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのＡＬＵ２に出力される。各遅延回路１１−ｍ（ｍ＝０，１，…，１５）は、第１の実施形態と同様に、入力される制御信号Ｓａ−ｍを所定の遅延時間だけ遅延させて、遅延後の遅延制御信号Ｓｂ−ｍを、全てのプロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのマルチプレクサ１２−ｍに出力する。
【００５３】
また、図４において、グローバルプロセッサ１Ｃは、命令の実行前に、命令の実行時に並列に動作するプロセッサエレメントにおいて、隣接するプロセッサエレメントの制御タイミングが異なるように、プロセッサエレメント毎に選択される制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６のうちのいずれか１つの制御信号を表すデータを、フラグデータとしてプロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのフラグレジスタＦ０〜Ｆ１６に格納するように、プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのＡＬＵ２を制御する。各プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣにおいて、マルチプレクサ１２−ｍ（ｍ＝０，１，…，１６）は、条件フラグレジスタＦｍに格納された上限フラグデータに応じて、制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍを選択してレジスタＲｍに出力する。レジスタＲｍ（ｍ＝０，１，…，１５）のアドレスが入力される制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍに含まれるアドレス信号に含まれるアドレスと一致しているとき、当該レジスタＲｍへのデータの書き込み又は当該レジスタＲｍからのデータの読み出しが行われる。
【００５４】
例えば、プロセッサエレメントＰＥ０Ｃ〜ＰＥＮＣのレジスタＲ０が選択されたときに、プロセッサエレメントＰＥ０Ｃを制御信号Ｓａ−０に従って動作させ、かつプロセッサエレメントＰＥ１Ｃを制御信号Ｓｂ−０に従って動作させるときは、グローバルプロセッサ１Ｃは、予め所定の命令を実行することにより、プロセッサエレメントＰＥ０Ｃの条件フラグレジスタＦ０に条件フラグデータ「０」を格納し、プロセッサエレメントＰＥ１Ｃの条件フラグレジスタＥ０に条件フラグデータ「１」を格納しておく。この後に、レジスタＲ０の読出信号を含む制御信号Ｓａ−０が発生されると、プロセッサエレメントＰＥ０Ｃのマルチプレクサ１２−０から制御信号Ｓａ−０が出力される一方、プロセッサエレメントＰＥ１Ｃのマルチプレクサ１２−０から制御信号Ｓｂ−０が出力されるので、プロセッサエレメントＰＥ０ＣのレジスタＲ０と、プロセッサエレメントＰＥ１ＣのレジスタＲ０とは異なる制御タイミングで読み出される。
【００５５】
本実施形態に係るＳＩＭＤ型プロセッサ１００Ｃは、第３の実施形態に係るＳＩＭＤ型プロセッサ１００Ｂと同様の効果を奏する。
【００５６】
第５の実施形態．
図５は、本発明の第５の実施形態に係るＳＩＭＤ型プロセッサ１００Ｄの構成を示すブロック図である。また、図６は、図５の各プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の消費電流検出回路２１−０の回路図であり、図７は、図５の各プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の比較回路２２−０の回路図である。
【００５７】
図５において、ＳＩＭＤ型プロセッサ１００Ｄは、グローバルプロセッサ１Ｄと、プロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤ（図５には、図面の簡略化のためにプロセッサエレメントＰＥ０Ｄ及びＰＥ１Ｄのみを示す。）と、遅延回路１１−０〜１１−１６とを備えて構成される。各プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）は、第３の実施形態に係るプロセッサエレメントＰＥ０Ｂ（図３参照。）に比較して、レジスタＲｍ（ｍ＝０，１，…，１５）に対応して、マルチプレクサ１２−ｍと、消費電流検出回路２１−ｍと、比較回路２２−ｍとを設け、ＡＬＵ２に対応して、マルチプレクサ１２−１６と、消費電流検出回路２１−１６と、比較回路２２−１６とを設けた点が異なる。なお、図５には、図面の簡略化のためにプロセッサエレメントＰＥ０Ｄ及びＰＥ１Ｄの各記憶回路３Ｄのみを示す。さらに、各記憶回路３Ｄにおいて、レジスタＲ０に対応して設けられた遅延回路１１−０、マルチプレクサ１２−０、消費電流検出回路２１−０、及び比較回路２２−０のみを示す。
【００５８】
図６において、プロセッサエレメントＰＥｎＤの消費電流検出回路２１−０は、ＮＭＯＳトランジスタＱ０〜Ｑ７と、ＮＭＯＳトランジスタＱｃと、抵抗Ｒと、インバータＩＮＶとを備えて構成される。ＮＭＯＳトランジスタＱ０〜Ｑ７の各ゲートには、レジスタＲ０に格納された８ビットのデータの各ビットデータＤ０〜Ｄ７がそれぞれ出力される。また、ＮＭＯＳトランジスタＱ０〜Ｑ７のソースはＮＭＯＳトランジスタＱｃを介して接地される。さらに、ＮＭＯＳトランジスタＱ０〜Ｑ７のゲートは抵抗Ｒを介して電源電圧Ｖｄｄに接続されるとともに、インバータＩＮＶの反転入力端子に接続される。インバータＩＮＶからの出力信号は、消費電流検出信号ＤＦ（ｎ）として比較回路２２−０に出力される。また、ＮＭＯＳトランジスタＱｃのゲートには、グローバルプロセッサ１Ｄから所定のクロック信号ＣＬＫが出力される。グローバルプロセッサ１Ｄは、消費電流検出回路２１−０を動作させるとき、ローレベルのクロック信号ＣＬＫを発生する。
【００５９】
図６において、クロック信号ＣＬＫの電圧レベルがローレベルであるとき、ＮＭＯＳトランジスタＱ０〜Ｑ７のうち、データ値「１」を有するビットデータＤ０〜Ｄ７に対応するＮＭＯＳトランジスタがオンしてディスチャージ電流が流れる。この結果、インバータＩＮＶの入力端子の電位は、オンしたＮＭＯＳトランジスタの個数と、オンしたＮＭＯＳトランジスタの各オン抵抗値とに応じた電位になる。ここで、ＮＭＯＳトランジスタＱ０〜Ｑ７のオン抵抗値はプロセスバラツキに起因してばらつくので、インバータＩＮＶの入力端子の電位は、データ値「１」を有するビットデータの個数とプロセスバタツキとに依存する。インバータＩＮＶのしきい値は、プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の所定の消費電流しきい値に対応する値に設定される。例えば、レジスタＲ０のビットデータＤ０〜Ｄ７のうち、データ値「１」の数が４個以上ある場合にハイレベルの消費電流検出信号ＤＦ（ｎ）を発生するためには、４個のＮＭＯＳトランジスタのオン抵抗値に基づいてインバータＩＮＶのしきい値を設定すればよい。ただし、上述したプロセスバラツキなどに起因して、想定したとおりのデータ値「１」の個数が検出できるとは限らないが、所定の消費電流しきい値以上の電流を消費するプロセッサエレメントを検出できる。図６の消費電流検出回路２１−０によれば、互いに並列に接続され、かつレジスタＲ０に格納されたデータの各ビットデータに従ってそれぞれオンオフされる少なくともＮＭＯＳトランジスタＱ０〜Ｑ７を備え、各ＮＭＯＳトランジスタＱ０〜Ｑ７に流れるオン電流の総和をインバータＩＮＶを用いて検出することにより、レジスタＲ０に格納されたデータの読み出し時の消費電流を検出する。そして、検出されたレジスタＲ０の消費電流が所定の消費電流しきい値以上であるとき、ハイレベルの消費電流検出信号ＤＦ（ｎ）が発生される一方、検出されたレジスタＲ０の消費電流が所定の消費電流しきい値未満であるとき、ローレベルの消費電流検出信号ＤＦ（ｎ）が発生される。
【００６０】
図７において、プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の比較回路２２−０は、アンドゲート５１及び５２を備えて構成される。アンドゲート５１の第１乃至第３の入力端子には、プロセッサエレメントＰＥｎ−１Ｄ、ＰＥｎＤ及びＰＥｎ＋１Ｄの各消費電流検出回路２２−０からの消費電流検出信号ＤＦ（ｎ−１）、ＤＦ（ｎ）及びＤＦ（ｎ＋１）が出力される。アンドゲート５１の反転出力端子からの信号はアンドゲート５２の第１の反転入力端子に出力される。また、プロセッサエレメントＰＥｎ−１Ｄの比較回路２２−０からの切換信号ＣＯ（ｎ−１）は、アンドゲート５２の第２の反転入力端子に出力される。そして、アンドゲートは切換信号ＣＯ（ｎ）を発生して出力する。
【００６１】
図５において、プロセッサエレメントＰＥｎＥ（ｎ＝０，１，…，Ｎ）のマルチプレクサ１２−０は、比較回路２２−０からの切換信号ＣＯ（ｎ）の電圧レベルがローレベルであるときは制御信号Ｓａ−０を、レジスタＲ０からデータを読み出すための読出制御信号としてレジスタＲ０に出力する一方、比較回路２２−０からの切換信号ＣＯ（ｎ）の電圧レベルがハイレベルであるときは遅延制御信号Ｓｂ−０を上記読出制御信号としてレジスタＲ０に出力する。レジスタＲ０は、マルチプレクサ１２−０からの読出制御信号に応答して、格納されているデータをデータ線４に出力する。
【００６２】
図７のＰＥｎＤ（ｎ＝０，１，…，Ｎ）の比較回路２２−０によれば、プロセッサエレメントＰＥｎＤにおいて、プロセッサエレメントＰＥｎ−１Ｄ、ＰＥｎＤ及びＰＥｎ＋１Ｄの各消費電流検出回路２２−０からの消費電流検出信号ＤＦ（ｎ−１）、ＤＦ（ｎ）及びＤＦ（ｎ＋１）がアンドゲート５１により比較される。そして、隣接する３個のプロセッサエレメントＰＥｎ−１Ｄ、ＰＥｎＤ及びＰＥｎ＋１Ｄにおいて消費電流検出信号ＤＦ（ｎ−１）、ＤＦ（ｎ）及びＤＦ（ｎ＋１）の電圧レベルがハイレベルであるとき、そのプロセッサエレメントＰＥｎＤで上下のプロセッサエレメントＰＥｎ−１Ｄ及びＰＥｎ＋１Ｄとは異なる制御タイミングが選択される。このため、挟まれているプロセッサエレメントＰＥｎＤでのデータ読み出し時の電流集中を避けることができる。
【００６３】
また、図５に示すように、プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ）の比較回路２２−０からの切換信号ＣＯ（ｎ）は、次のプロセッサエレメントＰＥｎ＋１Ｄの比較回路２２−０のアンドゲート５２の第２の反転入力端子に出力される。このため、４個以上のプロセッサエレメントの消費電流が所定の消費電流しきい値以上であるときは、当該４個以上のプロセッサエレメントの制御タイミングは交互に切り換えられる。
【００６４】
図８（ａ）〜図８（ｅ）は、図７において、プロセッサエレメントＰＥ０Ｄ〜ＰＥ７Ｄの各消費電流検出回路２１−０からの消費電流検出信号ＤＦ（０）〜ＤＦ（７）と各比較回路２２−０からの切換信号ＣＯ（０）〜ＣＯ（７）との第１乃至第５の例をそれぞれ示すブロック図である。図８（ａ）〜図８（ｅ）において、「０」はローレベルの信号を表し、「１」はハイレベルの信号を表す。例えば、図８（ｂ）に示すように、互いに隣接する３個のプロセッサエレメントＰＥ１Ｄ、ＰＥ２Ｄ及びＰＥ３Ｄの消費電流が所定の消費電流しきい値以上であるとき、プロセッサエレメントＰＥ１Ｄ、ＰＥ２Ｄ及びＰＥ３Ｄの各レジスタＲ０から同時にデータを読み出すと、多くの電流が瞬時に流れることが予想される。このような場合、本実施形態によれば、図８（ｂ）に示すように、プロセッサエレメントＰＥ１Ｄ及びＰＥ３Ｄからの各切換信号ＣＯ（１）及びＣＯ（３）はローレベルになり、プロセッサエレメントＰＥ２Ｄからの切換信号ＣＯ（２）はハイレベルになるので、プロセッサエレメントＰＥ２ＤのレジスタＲ０の読出タイミングは、プロセッサエレメントＰＥ１Ｄ及びＰＥ３ＤのレジスタＲ０の読出タイミングより遅延し、電流集中を避けることが可能となる。
【００６５】
また、図８（ａ）に示すように、プロセッサエレメントＰＥ０ＤのレジスタＲ０及びプロセッサエレメントＰＥ２ＤのレジスタＲ０の消費電流が所定の消費電流しきい値未満であり、かつプロセッサエレメントＰＥ１ＤのレジスタＲ０の消費電流が所定の消費電流しきい値以上であるとき、消費電流が所定の消費電流しきい値以上であるプロセッサエレメントはプロセッサエレメントＰＥ１Ｄだけであるので、プロセッサエレメントＰＥ０Ｄ、ＰＥ１Ｄ及びＰＥ２Ｄ同時動作による過大電流が生じないため、制御タイミングをずらす必要はない。このような場合、本実施形態によれば、図８（ａ）に示すようにプロセッサエレメントＰＥ０Ｄ、ＰＥ１Ｄ及びＰＥ２Ｄからの各切換信号ＣＯ（０）、ＣＯ（１）及びＣＯ（２）の各電圧レベルはローレベルになり、プロセッサエレメントＰＥ０Ｄ、ＰＥ１Ｄ及びＰＥ２Ｄは制御信号Ｓａ−０に従って同時に動作する。
【００６６】
さらに、図８（ｃ）、図８（ｄ）及び図８（ｅ）に示すように、互いに隣接する４個以上のプロセッサエレメントの消費電流が所定の消費電流しきい値以上であるとき、当該４個以上のプロセッサエレメントの制御タイミングは、交互に遅延される。
【００６７】
以上説明したように、本実施形態によれば、プロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤのレジスタＲ０〜Ｒ１５に格納されたデータに基づいて、レジスタＲ０〜Ｒ１５空のデータの読み出し時の消費電流の集中を避けるように、制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択するように動的に制御するので、従来技術に比較して、電源ノイズ及びＩＲドロップを小さくすることができ、過大な動作マージンを付加する必要がなくなるため、動作性能を向上させることができる。
【００６８】
第６の実施形態．
図９は、本発明の第６の実施形態に係るＳＩＭＤ型プロセッサ１００Ｅの構成を示すブロック図である。図９において、ＳＩＭＤ型プロセッサ１００Ｅは、第５の実施形態に係るＳＩＭＤ型プロセッサ１００Ｅに比較して、プロセッサエレメントＰＥ７ＤとプロセッサエレメントＰＥ８Ｄとの間に電源線８０を設けて、ＳＩＭＤプロセッサ１００Ｅを、プロセッサエレメントＰＥ１Ｄ〜ＰＥ７Ｄを含む第１のグループと、プロセッサエレメントＰＥ８Ｄ〜ＰＥＮＤを含む第２のグループとに分割したことを特徴としている。ここで、プロセッサエレメントＰＥ７Ｄの比較回路２２−０（図７参照。）のアンドゲート５１の第１の入力端子に消費電流検出信号ＤＦ（６）が出力され、第２の入力端子に消費電流検出信号（７）が出力され、第３の入力端子は接地される。また、プロセッサエレメントＰＥ８Ｄの比較回路２２−０（図７参照。）の第１の入力端子は接地され、第２の入力端子に消費電流検出信号（８）が出力され、第３の入力端子に消費電流検出信号（９）が出力され、アンドゲート５２の一方の反転入力端子は接地され、他方の反転入力端子はアンドゲート５１の反転出力端子に接続される。
【００６９】
図５に示すように、第５の実施形態に係るＳＩＭＤ型プロセッサ１００Ｄは、プロセッサエレメントＰＥｎＤ（ｎ＝０，１，…，Ｎ−１）からの切換信号ＣＯ（ｎ）が上位側のプロセッサエレメントＰＥｎ＋１Ｄに出力されるリップル接続の回路構成であるため、プロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤの総数Ｎ＋１が大きくなるほど、ＳＩＭＤ型プロセッサ１００Ｄの動作速度が遅くなる。しかしながら、本実施形態によれば、電源線３０によりプロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤ間で電源補強が行われているレイアウトにおいて、電源線３０をまたぐ信号線を接地する。そして、分割された各グループの比較回路２２−０は、当該各グループに含まれるプロセッサエレメントの消費電流検出回路２１−０からの消費電流検出信号ＤＦと、当該各グループに含まれるプロセッサエレメントの比較回路２２−０からの切換信号ＣＯに基づいて、切換信号ＣＯを発生するので、第１のグループと第２のグループとで干渉が起きず、第５の実施形態に比較してリップルの接続段数を削減でき動作速度が速くなる。
【００７０】
また、プロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤを、電源線３０などにより、電流集中が発生する可能性があるプロセッサエレメントのグループ（ブロック）に分割してもよい。すなわち、リップル数に応じてレイアウトの電源補強を行えば、必要最小限の電源挿入で済むこととなる。さらに、各グループに含まれるプロセッサエレメントの個数が所定値以下になるように、プロセッサエレメントＰＥ０Ｄ〜ＰＥＮＤを複数のグループに分割してもよい。
【００７１】
第７の実施形態．
図１０は、本発明の第７の実施形態に係るＳＩＭＤ型プロセッサ１００Ｆの構成を示すブロック図である。図１０において、ＳＩＭＤ型プロセッサ１００Ｆは、グローバルプロセッサ１Ｆと、プロセッサエレメントＰＥ０Ｆ〜ＰＥＮＦ（図１０には、図面の簡略化のためにプロセッサエレメントＰＥ０Ｆ及びＰＥ１Ｆのみを示す。）と、遅延回路１１−０〜１１−１６とを備えて構成される。第５の実施形態に係る各プロセッサエレメントＰＥ０ｎ（図５参照。）（ｎ＝０，１，…，Ｎ）において、レジスタＲｍ（ｍ＝０，１，…，１５）に対応して、マルチプレクサ１２−ｍと、消費電流検出回路２１−ｍと、比較回路２２−ｍとを設けた。これに対して、図１０に示すように、本実施形態に係るプロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）では、各レジスタＲｍ（ｍ＝０，１，…，１５）に対応してマルチプレクサ１２−ｍと条件プロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）フラグレジスタＦｍとを設け、全レジスタＲ０〜Ｒ１５に対応して１つの比較回路２２と消費電流検出回路２１とを設けた。ここで、比較回路２２は図７の比較回路２２−０と同様に構成され、消費電流検出回路２１は図６の消費電流検出回路２１−０と同様に構成される。
【００７２】
図１０において、各プロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）のレジスタＲ０，Ｒ１，…，又はＲ１５へのデータの書き込み時に、各消費電流検出回路２１は、各データ線４に出力された８ビットのデータの各ビットデータＤ０〜Ｄ７に基づいて消費電流検出信号ＤＦ（ｎ）を発生する。さらに、各プロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）の比較回路２２は、図７の比較回路２２−０と同様に切換信号ＣＯ（ｎ）を発生して、条件フラグレジスタＦ０〜Ｆ１５に条件フラグデータとして出力する。データの読み出し時には、各プロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）において、各マルチプレクサ１２−ｍ（ｍ＝０，１，…，１５）は、対応する条件フラグレジスタＦｍから条件フラグデータを読み出し、読み出された条件フラグデータに基づいて、制御信号Ｓａ−ｍ又は遅延制御信号Ｓｂ−ｍを選択して、レジスタＲｍからデータを読み出すための読出制御信号としてレジスタＲｍに出力する。
【００７３】
従って、本実施形態によれば、レジスタＲ０〜Ｒ１５に対応して消費電流検出回路２１と比較回路２２とを設ける必要がないので、第５の実施形態に比較して、より少ない回路規模で構成することが可能となる。なお、第６の実施形態と同様に、電源線３０などを用いて、プロセッサエレメントＰＥｎＦ（ｎ＝０，１，…，Ｎ）を分割してもよい。
【００７４】
上述した各実施形態において、隣接するプロセッサエレメントが同時に動作することに伴う電流集中を防止するために、制御信号Ｓａ−０〜Ｓａ−１６及び遅延制御信号Ｓｂ−０〜Ｓｂ−１６を用いて各プロセッサエレメントの制御タイミングを切り換える第１〜第３の方法を以下のように示した。
【００７５】
（１）あらかじめテスト用素子１４のトランジスタの電流特性及び動作速度のプロセスバラツキを測定し、当該測定結果に基づいて、テスト用素子１４のオン電流が所定のオン電流しきい値以上でありかつ動作速度が所定の動作速度しきい値以上であるとき、制御タイミングが、隣接するプロセッサエレメントどうしで同時にならないよう制御する第１の方法（第１の実施形態及び第２の実施形態）。
（２）グローバルプロセッサが、実行する命令に基づいて、プロセッサエレメント毎に、制御タイミングが、隣接するプロセッサエレメントどうしで同時にならないよう制御する第２の方法（第３の実施形態及び第４の実施形態）。
（３）各プロセッサエレメントの各レジスタＲ０〜Ｒ１５に書き込まれるデータに基づいて各プロセッサエレメントの消費電流を検出し、隣接するプロセッサエレメントでの消費電流の検出結果に基づいて、制御タイミングを切り換える第３の方法（第５〜第７の実施形態）。
【００７６】
例えば、データ「１１１１１１１１」が全てのプロセッサエレメントの各レジスタＲ０に格納されている場合、第１の方法及び第３の方法によれば、全プロセッサエレメントで制御タイミングが制御信号Ｓａ−０〜Ｓａ−１６に従う制御タイミングと、遅延制御信号Ｓｂ−０〜Ｓｂ−１６に従う制御タイミングとの間で交互に設定される。
【００７７】
また、データ「００００００００」とデータ「１１１１１１１１」とが各プロセッサエレメントの各レジスタＲ０毎に交互に格納されている場合、第１の方法では、奇数番目のプロセッサエレメントの各制御タイミングは偶数番目のプロセッサエレメントの各制御タイミングより遅れるように設定される。一方、第３の方法の場合、レジスタに格納されたデータに基づいて制御信号Ｓａ−０〜Ｓａ−１６又は遅延制御信号Ｓｂ−０〜Ｓｂ−１６を選択するので、全プロセッサエレメントの制御タイミングは遅延されることなく同一である。第１の方法の場合、データ「１１１１１１１１」を格納するレジスタＲ０を含む各プロセッサエレメントにおいて遅延制御信号Ｓｂ−０〜Ｓｂ−１６が選択され、データ「００００００００」を格納するレジスタＲ０を含む各プロセッサエレメントにおいて制御信号Ｓａ−０〜Ｓａ−１６が選択されることがある。この場合、電源ノイズが発生するタイミングが、遅延制御信号Ｓｂ−０〜Ｓｂ−１６に従う遅れた制御タイミングからとなるため、１サイクルの後半までノイズの影響が生じる可能性がある。また、全てのプロセッサエレメントの各レジスタＲ０にデータ「１１１１１１１１」が格納されている場合にも、第３の方法の場合、半分のプロセッサエレメントは遅延制御信号Ｓｂ−０〜Ｓｂ−１６に従って動作するが、電流変化の開始タイミングが制御信号Ｓａ−０〜Ｓａ−１６に従う制御タイミングであるため、電源ノイズの影響が１サイクルの後半まで生じることはなくなる。従って、第１の方法よりも第３の方法を用いることが好ましい。
【産業上の利用可能性】
【００７８】
以上説明したように、第１乃至第３の発明に係るＳＩＭＤ型プロセッサによれば、各プロセッサエレメント毎に、制御信号及び上記制御信号を動作周期未満の所定の遅延時間だけ遅延させた遅延制御信号のうちのいずれか１つに従って動作するように制御するので、全プロセッサエレメントが同時に動作せず、複数プロセッサエレメントが同時に動作することに起因するピーク電流の増加を抑制できる。このため、過大なピーク電流を防止できる。その結果、消費電力の増加に伴うＩＲドロップ及び電源ノイズを従来技術に比較して小さくでき、過大な動作マージンをＳＩＭＤ型プロセッサに付加する必要がなくなるため、動作性能を向上できる。また、過剰な消費電流が発生する可能性があるときにのみ遅延制御信号が選択されるので、動作速度を落とすことなく電源ノイズなどによる誤動作を防止できる。
【符号の説明】
【００７９】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｆ…グローバルプロセッサ、
２…ＡＬＵ、
３，３Ａ，３Ｂ，３Ｃ，３Ｄ，３Ｆ…記憶回路、
４…データ線、
１１−０〜１１−１６…遅延回路、
１２−０〜１２−１６…マルチプレクサ、
１３…ヒューズ素子、
１４…テスト用素子、
１５…セレクタ、
１６−０〜１６−１６…デコーダ、
３０…電源線、
１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ，１００Ｆ…ＳＩＭＤ型プロセッサ１００、
Ｆ０〜Ｆ１６…条件フラグレジスタ、
ＰＥ０〜ＰＥＮ，ＰＥ０Ａ〜ＰＥＮＡ，ＰＥ０Ｂ〜ＰＥＮＢ，ＰＥ０Ｃ〜ＰＥＮＣ，ＰＥ０Ｄ〜ＰＥＮＤ…プロセッサエレメント、
Ｒ０〜Ｒ１５…レジスタ。
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開２０１０−１４３０９号公報。
【特許文献２】特開平５−１０１２０７号公報。
【特許文献３】特開２００３−３０９９６号公報。
【図１】
2012194774.tif 000003
【図２】
2012194774.tif 000004
【図３】
2012194774.tif 000005
【図４】
2012194774.tif 000006
【図５】
2012194774.tif 000007
【図６】
2012194774.tif 000008
【図７】
2012194774.tif 000009
【図８】
2012194774.tif 000010
【図９】
2012194774.tif 000011
【図１０】
2012194774.tif 000012
【図１１】
2012194774.tif 000013
【図１２】
2012194774.tif 000014