(57)【要約】【課題】処理速度の低下を最低限に抑えかつ従来技術に比較して消費電流の変動を抑える。【解決手段】プロセッサシステム１は、プログラムメモリ２に格納された複数の命令コードを任意の順序で連続して実行する。テーブルメモリ５３は、各命令コードと各命令コードの実行時の消費電流量との関係を示す消費電流量テーブルを格納する。電流変動抑制回路５１は、消費電流量テーブルを参照して、連続する２つの命令コードの実行時の消費電流量の差の大きさが所定のしきい値以下になるように、上記連続する２つの命令コードのうちの一方の命令コードの実行時にプロセッサシステム１に流す補正消費電流を算出し、上記算出された補正消費電流量の補正消費電流をプロセッサシステム１に流すように、補正消費電流発生回路５４を制御する。【選択図】図１
2013054480.tif 000002
【特許請求の範囲】
【請求項１】
複数の命令コードを任意の順序で連続して実行するプロセッサシステムであって、
上記各命令コードの実行時の各消費電流量に基づいて、連続する２つの命令コードの実行時の消費電流量の差の大きさが所定のしきい値以下になるように、上記連続する２つの命令コードのうちの一方の命令コードの実行時に上記プロセッサシステムに流す補正消費電流を算出し、上記算出された補正消費電流量の補正消費電流を上記プロセッサシステムに流すように制御する電流変動抑制手段を備えたことを特徴とするプロセッサシステム。
【請求項２】
上記電流変動抑制手段は、上記各命令コードと上記各命令コードの実行時の消費電流量との関係を示す消費電流量テーブルを格納する記憶手段を備え、上記消費電流量テーブルを参照して上記補正消費電流を算出することを特徴とする請求項１記載のプロセッサシステム。
【請求項３】
上記各命令コードは、現在実行中の命令コードの次に実行される命令コードと、当該次に実行される命令コードより後に実行される複数の命令コードの実行時の消費電流量の情報とを含み、
上記電流変動抑制手段は、上記次に実行される命令コードに対応する消費電流量と、上記各命令コードに含まれる消費電流量の情報とに基づいて、上記補正消費電流を算出することを特徴とする請求項１記載のプロセッサシステム。
【請求項４】
上記プロセッサシステムは、１つの命令コードを並列に実行する複数のプロセッサエレメントを備えたＳＩＭＤ（Single Instruction-stream Multiple Data-stream）型プロセッサであって、
上記消費電流変動抑制手段は、上記各プロセッサエレメントをダミー動作させるためのダミー命令コードを上記各プロセッサエレメントに出力することにより、上記補正消費電流を上記プロセッサシステムに流すように制御することを特徴とする請求項１乃至３のうちのいずれか１つに記載のプロセッサシステム。
【請求項５】
上記各命令コードは、所定の複数のパイプラインステージを含むパイプライン処理によって実行され、
上記消費電流変動抑制手段は、同時に活性化するパイプラインステージ毎の消費電流量の総和に基づいて、上記補正消費電流を算出することを特徴とする請求項４記載のプロセッサシステム。
【請求項６】
上記消費電流変動抑制手段からのダミー命令コードを、遅延させ又は先行させて上記各プロセッサエレメントに出力するタイミング調整手段をさらに備えたことを特徴とする請求項５記載のプロセッサシステム。
【請求項７】
上記消費電流変動抑制手段は、上記ダミー命令コードを、上記複数のプロセッサエレメントのうちの所定のプロセッサエレメントのみに出力するように上記タイミング調整手段を制御することにより、上記補正消費電流を上記プロセッサシステムに流すことを特徴とする請求項６記載のプロセッサシステム。
【請求項８】
上記しきい値は、上記プロセッサエレメントにおいて電源ノイズによる誤作動が発生するときの消費電流量の差の大きさの最小値未満の値に設定されたことを特徴とする請求項１乃至７のうちのいずれか１つに記載のプロセッサシステム。
【請求項９】
請求項１乃至８のうちのいずれか１つに記載のプロセッサシステムを備えたことを特徴とする半導体集積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサシステム及び当該プロセッサシステムを備えた半導体集積装置に関する。
【背景技術】
【０００２】
特許文献１には、少なくとも１つの機能回路ブロックを備え、パイプラインステージ毎に命令を実行する情報処理装置において、前記機能回路ブロックは動作の開始を予告する予告信号を受信し、当該予告信号受信時から命令の実行ステージの開始までに、前記機能回路ブロックの回路電流を動作電流値まで増加することで前記機能回路ブロックを低電力消費モードより動作モードに移行させる制御回路を備えたことを特徴とする情報処理装置が開示されている。
【０００３】
また、特許文献２には、ｎ個（ｎ≧２）の命令を同時に読み出してデコードし、ｎ個の演算回路を用いてパイプラインステージ毎に演算処理を実行するマイクロプロセッサにおいて、前記各演算回路を操作する命令を先行検出する検出手段と、該検出手段により検出された命令に対応する演算回路を、次の演算ステージの開始に先行して活性化する手段を有することを特徴とするマイクロプロセッサが開示されている。
【０００４】
さらに、特許文献３には、ユニット電力調整機構を備えた集積回路装置であって、複数の機能ユニットであって、前記複数の機能ユニットのうちのいくつかが供給線を備えている、複数の機能ユニットと、前記複数の機能ユニットの各々について次に予期されるオペレーションを判断し、判断した前記次に予期されるオペレーションの各々についてターンオン時間およびターンオフ時間を予測する予測ユニットと、前記供給線の各々に設けられた供給電圧選択回路であって、前記供給電圧選択回路の各々は予測されたターンオン時間に応答して対応する前記供給線へ供給電圧を選択的に通過させ、予測されたターンオフ時間に応答して前記対応する供給線への前記供給電圧を選択的に阻止する、供給電圧選択回路とを備えた集積回路装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、半導体集積装置では、製造プロセスの微細化によって動作電圧は低下している。一方、アプリケーションの増大に伴う回路の高集積化及び動作クロックの高周波数化に伴い、単位時間当たりの消費電流の変化量は大きくなっており、それによって引き起こされる電源ノイズによるチップの誤動作は無視できない問題になってきている。この問題を解決するために、半導体集積装置のチップ内部にデカップリングコンデンサを挿入したり、電源レイアウトを強化したりするなどの実装面での対策を行ったとしても、電源ノイズによる影響を完全に押さえ込むことは困難である。このため、チップ全体の動作周波数を低下させ、又は同時に動作させる機能回路ブロックを少なくするなどの、アプリケーションの性能（処理速度である。）低下とのトレードオフとなる対策がさらに必要になることも少なくない。
【０００６】
特に、消費電流が多い状態と少ない状態がランダムに現れるような場合には、消費電流が少ない期間において敢えて追加の消費電流を流すことによって、電流変動を抑えるという解決策も考えられる。しかしながら、本来、消費電流は可能な限り少なくするべきであるため、誤動作が起きない範囲で、できるだけ少ない量の電流を増やすことで、電流変動を抑えるという高い精度での制御が要求される。
【０００７】
特に、複数のプロセッサエレメントが同時に並列動作するＳＩＭＤ（Single Instruction-stream Multiple Data-stream）型プロセッサでは、消費電流の変動に起因する電源ノイズによる誤動作の問題は顕著である。ＳＩＭＤ型プロセッサは、複数のプロセッサエレメントと、単一のプロセッサで構成されることが多くかつＳＩＭＤ型プロセッサ全体の動作を制御するグローバルプロセッサとを備えて構成される。また、ＳＩＭＤ型プロセッサの場合、グローバルプロセッサを動作させるためのグローバルプロセッサ命令と、複数のプロセッサエレメントを同時に動作させるためのプロセッサエレメント命令とがランダムに入れ替わりながら発行される。このため、消費電流の変動も頻繁に発生する。
【０００８】
しかしながら、特許文献１及び２に記載の発明は、異なるパイプラインで処理される命令がランダムに発行される場合や、パイプラインステージ毎の消費電流量が大きく異なる場合における、複雑な消費電流の変動に対処するためのものではない。また、特許文献３に記載の発明によれば、プロセッサシステム及び当該プロセッサシステムを備えた半導体集積装置の消費電流を削減できるが、消費電流の変動を抑えることはできなかった。
【０００９】
本発明の目的は以上の問題点を解決し、処理速度の低下を最低限に抑えかつ従来技術に比較して消費電流の変動を抑えることができるプロセッサシステム及び当該プロセッサシステムを備えた半導体集積装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係るプロセッサシステムは、複数の命令コードを任意の順序で連続して実行するプロセッサシステムであって、上記各命令コードの実行時の各消費電流量に基づいて、連続する２つの命令コードの実行時の消費電流量の差の大きさが所定のしきい値以下になるように、上記連続する２つの命令コードのうちの一方の命令コードの実行時に上記プロセッサシステムに流す補正消費電流を算出し、上記算出された補正消費電流量の補正消費電流を上記プロセッサシステムに流すように制御する電流変動抑制手段を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明に係るプロセッサシステム及び半導体集積装置によれば、各命令コードの実行時の各消費電流量に基づいて、連続する２つの命令コードの実行時の消費電流量の差の大きさが所定のしきい値以下になるように、連続する２つの命令コードのうちの一方の命令コードの実行時にプロセッサシステムに流す補正消費電流を算出し、算出された補正消費電流量の補正消費電流をプロセッサシステムに流すように制御する電流変動抑制手段を備えたので、処理速度の低下を最低限に抑えかつ従来技術に比較して消費電流の変動を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係るプロセッサシステム１の構成を示すブロック図である。
【図２】図１の補正消費電流発生回路５４の構成を示す回路図である。
【図３】本発明の第２の実施形態に係るプロセッサシステム１Ａの構成を示すブロック図である。
【図４】本発明の第３の実施形態に係るプロセッサシステム１Ｂの構成を示すブロック図である。
【図５】図４のプロセッサシステム１Ｂによって実行されるパイプライン処理及び各処理サイクルにおいて推定される消費電流量の一例を示すブロック図である。
【図６】本発明の第４の実施形態に係るプロセッサシステム１Ｃの構成を示すブロック図である。
【図７】図６のタイミング調整回路１０の構成を示す回路図である。
【図８】本発明の第５の実施形態に係るプロセッサシステム１Ｄの構成を示すブロック図である。
【図９】本発明の第６の実施形態に係るプロセッサシステム１Ｅの構成を示すブロック図である。
【図１０】図９のプログラムメモリ２Ｂに格納される命令コードの構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００１４】
第１の実施形態．
図１は、本発明の第１の実施形態に係るプロセッサシステム１の構成を示すブロック図であり、図２は、図１の補正消費電流発生回路５４の構成を示す回路図である。図１において、プロセッサシステム１はディジタル複写機、プリンタ又はカメラなどのディジタル機器において、複数の命令コードを任意の順序で連続して実行するためのプロセッサシステムとして用いられる。図１において、プロセッサシステム１は、プログラムメモリ２と、命令デコーダ３１及びパイプラインレジスタ群３２を備えたデータパス制御回路３と、データパス回路４と、電流変動抑制回路５とを備えて構成される。また、電流変動抑制回路５は、消費電流制御回路５１と、バッファメモリ５２と、テーブルメモリ５３と、補正消費電流発生回路５４とを備えて構成される。
【００１５】
詳細後述するように、本実施形態に係るプロセッサシステム１は、各命令コードの実行時の各消費電流量に基づいて、連続する２つの命令コードの実行時の消費電流量の差の大きさが所定のしきい値以下になるように、連続する２つの命令コードのうちの一方の命令コードの実行時にプロセッサシステム１に流す補正消費電流を算出し、算出された補正消費電流量の補正消費電流をプロセッサシステム１に流すように制御する電流変動抑制回路５を備えたことを特徴としている。
【００１６】
図１において、データパス回路４は、レジスタリード回路、演算回路及びレジスタライト回路などの回路を含む。プログラムメモリ２は、データパス回路４を動作させるための複数の命令コードをあらかじめ格納し、当該複数の命令コードを順次、命令デコーダ３１と、消費電流制御回路５１と、バッファメモリ５２とに出力する。命令デコーダ３１は、入力される命令コードを、データパス回路４内の各回路を制御するための複数の命令デコード信号Ｓ３１にデコードする。また、パイプラインレジスタ群３２は、データパス回路４内の各回路に対応して設けられたフリップフロップを備えて構成される。
【００１７】
図１において、命令デコーダ３１からの命令デコード信号Ｓ３１は、パイプラインレジスタ群３２を介して、データパス制御信号Ｓ３２としてデータパス回路４に出力される。データパス回路４は、入力されるデータパス制御信号Ｓ３２に応答して所定の動作を行う。また、データパス制御信号Ｓ３２のデータパス回路４への出力タイミングは、パイプラインレジスタ群３２により、パイプライン処理を行うように調整される。なお、プロセッサシステム１において、１つの処理サイクルにおいて１つの命令コードが実行される。
【００１８】
また、図１において、テーブルメモリ５３は、命令コードと当該命令コードの実行時の消費電流量（１つの処理サイクルにおける消費電流量の平均値である。）との関係を示す消費電流量テーブルをあらかじめ格納する。また、バッファメモリ５２は、現在の処理サイクル（以下、現処理サイクルという。）で実行する命令コードと、現処理サイクルの１つ前の処理サイクルで実行した命令コードと、１つ前の処理サイクルにおいて補正消費電流発生回路５４により詳細後述するように発生された補正消費電流量と、現処理サイクルの２つ前の処理サイクルで実行した命令コードとを格納する。
【００１９】
さらに、図１において、消費電流制御回路５１は、バッファメモリ５２に格納された各命令コード及び補正消費電流発生回路５４により発生された補正消費電流量に基づいて、現処理サイクルでの消費電流量と、１つ前の処理サイクルでの消費電流量との差の大きさが所定のしきい値以下になるように、現処理サイクルにおいて消費電流量発生回路５４により発生する補正消費電流量を算出する。そして、消費電流制御回路５１は、算出された補正消費電流量を示す消費電流制御信号Ｓ５１を発生して、補正消費電流発生回路５４に出力する。なお、上述した消費電流量の差のしきい値は、例えば、プロセッサシステム１において電源ノイズによる誤動作が発生するときの消費電流量の差の大きさの最小値未満の値に設定される。
【００２０】
図２において、補正消費電流発生回路５４は、デコーダ５６と、複数Ｍ（Ｍは２以上の整数。）個の補正消費電流発生サブ回路５７−１〜５７−Ｍとを備えて構成される。各補正消費電流発生サブ回路５７−ｍ（ｍ＝１，２，…，Ｍ）は、バッファ５５−ｍと、ｐＭＯＳトランジスタＭＰｍと、ｎＭＯＳトランジスタＭＮｍとを備えて構成される。ここで、各補正消費電流発生サブ回路５７−ｍ（ｍ＝１，２，…，Ｍ）において、バッファ５５−ｍの出力端子はｐＭＯＳトランジスタＭＰｍのゲート及びｎＭＯＳトランジスタＭＮｍのゲートに接続され、ｎＭＯＳトランジスタＭＮｍソースは接地され、ｎＭＯＳトランジスタＭＮｍのドレインはｐＭＯＳトランジスタＭＰｍのドレインに接続され、ｐＭＯＳトランジスタＭＰｍのソースは所定の電源電圧Ｖｃｃを出力する電源に接続される。また、ｎＭＯＳトランジスタＭＮ１〜ＭＮＭの各サイズは互いに異なる。このため、ｎＭＯＳトランジスタＭＮ１〜ＭＮＭに流れるドレイン電流は互いに異なる。
【００２１】
図２において、デコーダ５６は、消費電流制御回路５１からの消費電流量制御信号Ｓ５１に含まれる補正消費電流量に対応するドレイン電流が流れるように、ｎＭＯＳトランジスタＭＮ１〜ＭＮＭのうちの少なくとも１つのｎＭＯＳトランジスタをオンするための消費電流量制御デコード信号Ｓ５６−１，Ｓ５６−２，…，Ｓ５６−Ｍを発生し、バッファ５５−１，５５−２，…，５５−Ｍにそれぞれ出力する。例えば、消費電流量制御信号Ｓ５１に含まれる補正消費電流量が０ｍＡであるとき、デコーダ５６はローレベルの消費電流量制御デコード信号Ｓ５６−１，Ｓ５６−２，…，Ｓ５６−Ｍを発生する。これに応答して、全てのｐＭＯＳトランジスタＭＰ１〜ＭＰＭがオンし、かつ全てのｎＭＯＳトランジスタＭＮ１〜ＭＮＭがオフするので補正消費電流は流れない。また、消費電流量制御信号Ｓ５１に含まれる補正消費電流量が１００ｍＡであり、かつｎＭＯＳトランジスタＭＮ１のサイズが１００ｍＡのドレイン電流を流すように設定されているとき、デコーダ５６はハイレベルの消費電流量制御デコード信号Ｓ５６−１と、ローレベルの消費電流量制御デコード信号Ｓ５６−２，Ｓ５６−３，…，Ｓ５６−Ｍを発生する。これに応答して、ｎＭＯＳトランジスタＭＮ１〜ＭＮＭのうちのｎＭＯＳトランジスタＭＮ１のみがオンし、１００ｍＡの補正消費電流が発生される。
【００２２】
次に、消費電流制御回路５１の動作を、具体例を挙げて説明する。本具体例において、以下のように仮定する。
【００２３】
（１）消費電流量の変化量が４００ｍＡより大きいとき、プロセッサシステム１において電源ノイズによる誤作動が発生する。
（２）命令コードＡの実行時にプロセッサシステム１に１０００ｍＡの消費電流が流れる。
（３）命令コードＢの実行時にプロセッサシステム１に１００ｍＡの消費電流が流れる。
（４）処理サイクル１〜処理サイクル５において、以下のように命令コードが順次実行される。
処理サイクル１：命令コードＡ（消費電流量は１０００ｍＡ）；
処理サイクル２：命令コードＡ（消費電流量は１０００ｍＡ）；
処理サイクル３：命令コードＢ（消費電流量は１００ｍＡ）；
処理サイクル４：命令コードＢ（消費電流量は１００ｍＡ）；
処理サイクル５：命令コードＢ（消費電流量は１００ｍＡ）．
【００２４】
処理サイクル１及び２において、消費電流制御回路５１は、０ｍＡの補正消費電流量を含む消費電流量制御信号Ｓ５１を発生する。このため、処理サイクル１及び２における消費電流量は、命令コードＡの実行に伴う消費電流量（１０００ｍＡ）のみである。
【００２５】
処理サイクル３において、消費電流制御回路５１は、バッファメモリ５２から、１つ前の処理サイクル２において実行された命令コード（命令コードＡである。）と、処理サイクル２において補正消費電流発生回路５４により発生された補正消費電流量（０ｍＡである。）と、現処理サイクル３において実行する命令コード（命令コードＢである。）とを読み出す。そして、消費電流制御回路５１は、処理サイクル２及び３で実行される命令コードに基づいて、テーブルメモリ５３の消費電流量テーブルを参照し、処理サイクル２及び３における命令コードの実行に伴う各消費電流量を算出する。さらに、消費電流制御回路５１は、処理サイクル２において補正消費電流発生回路５４により発生された補正消費電流量と、処理サイクル２及び３における命令コードの実行に伴う各消費電流量とに基づいて、現処理サイクル３における消費電流と処理サイクル２における消費電流の差（１００ｍＡ−１０００ｍＡ−０ｍＡ）を算出する。この場合、消費電流の差の大きさは９００ｍＡであるので、消費電流制御回路５１は、５００ｍＡの補正消費電流を発生させるように、補正消費電流発生回路５４を制御する。従って、処理サイクル３における消費電流量は、命令コードＢの実行に伴う消費電流（１００ｍＡ）と、補正消費電流発生回路５４により発生される補正消費電流（５００ｍＡ）との和（６００ｍＡ）になり、処理サイクル２における消費電流量（１０００ｍＡ）との差は４００ｍＡになり、電源ノイズの発生に伴う誤作動を防ぐことができる。
【００２６】
また、処理サイクル４において、消費電流制御回路５１は、バッファメモリ５２から、１つ前の処理サイクル３において実行された命令コード（命令コードＢである。）と、処理サイクル３において補正消費電流発生回路５４により発生された補正消費電流量（６００ｍＡである。）と、現処理サイクル４において実行する命令コード（命令コードＢである。）とを読み出す。そして、消費電流制御回路５１は、処理サイクル３及び４で実行される命令コードに基づいて、テーブルメモリ５３の消費電流量テーブルを参照し、処理サイクル３及び４における命令コードの実行に伴う各消費電流量を算出する。さらに、消費電流制御回路５１は、処理サイクル３において補正消費電流発生回路５４により発生された補正消費電流量と、処理サイクル３及び４における命令コードの実行に伴う各消費電流量とに基づいて、現処理サイクル４における消費電流と処理サイクル３における消費電流の差（１００ｍＡ−１００ｍＡ−５００ｍＡ）を算出する。この場合、消費電流の差の大きさは５００ｍＡであるので、消費電流制御回路５１は、１００ｍＡの補正消費電流を発生させるように、補正消費電流発生回路５４を制御する。従って、処理サイクル４における消費電流量は、命令コードＢの実行に伴う消費電流（１００ｍＡ）と、補正消費電流発生回路５４により発生される補正消費電流（１００ｍＡ）との和になり、処理サイクル３における消費電流量（６００ｍＡ）との差は４００ｍＡになり、電源ノイズの発生に伴う誤作動を防ぐことができる。
【００２７】
さらに、処理サイクル５において、消費電流制御回路５１は、バッファメモリ５２から、１つ前の処理サイクル４において実行された命令コード（命令コードＢである。）と、処理サイクル４において補正消費電流発生回路５４により発生された補正消費電流量（１００ｍＡである。）と、現処理サイクル５において実行する命令コード（命令コードＢである。）とを読み出す。そして、消費電流制御回路５１は、処理サイクル４及び５で実行される命令コードに基づいて、テーブルメモリ５３の消費電流量テーブルを参照し、処理サイクル４及び５における命令コードの実行に伴う各消費電流量を算出する。さらに、消費電流制御回路５１は、処理サイクル４において補正消費電流発生回路５４により発生された補正消費電流量と、処理サイクル４及び５における命令コードの実行に伴う各消費電流量とに基づいて、現処理サイクル５における消費電流と処理サイクル４における消費電流の差（１００ｍＡ−１００ｍＡ−１００ｍＡ）を算出する。この場合、消費電流の差の大きさは１００ｍＡであり、４００ｍＡ以下であるので、消費電流制御回路５１は、補正消費電流を発生することを禁止するように（０ｍＡの補正消費電流を発生させるように）、補正消費電流発生回路５４を制御する。
【００２８】
以上説明したように、本実施形態において、プロセッサシステム１は、プロセッサシステム１において任意の順序で連続して実行される命令コードと、当該命令コードに実行時に発生する各消費電流量とに基づいて、連続する２つの命令コードの実行時の消費電流量の差が所定のしきい値以下になるように補正消費電流を発生する電流変動抑制回路５を備えた。従って、実行時の消費電流量が大きく異なる命令コードがランダムに実行され、消費電流の変動が頻繁に発生するような場合でも、従来技術に比較して処理速度の低下を最低限に抑え、高い精度で消費電流の変動を抑えることができる。
【００２９】
第２の実施形態．
図３は、本発明の第２の実施形態に係るプロセッサシステム１Ａの構成を示すブロック図である。図３において、プロセッサシステム１ＡはＳＩＭＤ型のプロセッサであり、プログラムメモリ２Ａと、グローバルプロセッサ（以下、ＧＰ（Global Processor）という。）命令デコーダ６１及びＧＰパイプラインレジスタ群６２を備えたＧＰデータパス制御回路６と、ＧＰデータパス回路７と、プロセッサエレメント（以下、ＰＥ（Processor Element）という。）命令デコーダ８１及びＰＥパイプラインレジスタ群８２を備えたＰＥデータパス制御回路８と、複数Ｎ（Ｎは２以上の整数。）個のＰＥデータパス回路９−１〜９−Ｎを備えたＰＥデータパス回路アレイ９と、電流変動抑制回路５Ａとを備えて構成される。ここで、電流変動抑制回路５Ａは、消費電流制御回路５１Ａと、バッファメモリ５２Ａと、テーブルメモリ５３Ａとを備えて構成される。
【００３０】
図３において、ＧＰデータパス回路７はＳＩＭＤ型プロセッサにおけるグローバルプロセッサであり、レジスタリード回路、演算回路及びレジスタライト回路などの回路を含む。また、ＰＥデータパス回路９−１〜９−Ｎは、それぞれＳＩＭＤ型プロセッサにおけるプロセッサであり、レジスタリード回路、演算回路及びレジスタライト回路などの回路を含む。プログラムメモリ２Ａは、ＧＰデータパス回路７を動作させるための複数の命令コード（以下、ＧＰ命令コードという。）と、ＰＥデータパス回路アレイ９を動作させるための複数の命令コード（以下、ＰＥ命令コードという。）とをあらかじめ格納する。プログラムメモリ２Ａは、ＧＰ命令コードをＧＰ命令デコーダ６１と、消費電流制御回路５１Ａと、バッファメモリ５２Ａとに出力する一方、ＰＥ命令コードをＰＥ命令デコーダ８１と、消費電流制御回路５１Ａと、バッファメモリ５２Ａとに出力する。ＧＰ命令コード及びＰＥ命令コードは、プロセッサシステム１Ａにおいて、任意の順序で連続して実行される。
【００３１】
ＧＰ命令デコーダ６１は、入力されるＧＰ命令コードを、ＧＰデータパス回路７内の各回路を制御するための複数のＧＰ命令デコード信号Ｓ６１にデコードする。また、ＧＰパイプラインレジスタ群３２は、ＧＰデータパス回路７内の各回路に対応して設けられたフリップフロップを備えて構成される。ＧＰ命令デコーダ６１からのＧＰ命令デコード信号Ｓ６１は、ＧＰパイプラインレジスタ群６２を介して、ＧＰデータパス制御信号Ｓ６２としてＧＰデータパス回路７に出力される。ＧＰデータパス回路７は、入力されるＧＰデータパス制御信号Ｓ６２に応答して所定の動作を行う。また、ＧＰデータパス制御信号Ｓ６２のＧＰデータパス回路７への出力タイミングは、ＧＰパイプラインレジスタ群６２により、パイプライン処理を行うように調整される。
【００３２】
ＰＥ命令デコーダ８１は、入力されるＰＥ命令コードを、ＰＥデータパス回路アレイ９内の各回路を制御するための複数のＰＥ命令デコード信号Ｓ８１にデコードする。また、ＰＥパイプラインレジスタ群８２は、ＰＥデータパス回路アレイ９内の各回路に対応して設けられたフリップフロップを備えて構成される。ＰＥ命令デコーダ８１からのＰＥ命令デコード信号Ｓ８１は、ＰＥパイプラインレジスタ群８２を介して、ＰＥデータパス制御信号Ｓ８２としてＰＥデータパス回路アレイ９に出力される。ＰＥデータパス回路アレイ９は、入力されるＰＥデータパス制御信号Ｓ８２に応答して所定の動作を行う。これにより、１つのＰＥ命令コードは、複数Ｎ個のＰＥデータパス回路９−１〜９−Ｎにより並列に実行される。また、ＰＥデータパス制御信号Ｓ８２のＰＥデータパス回路アレイ９への出力タイミングは、ＰＥパイプラインレジスタ群８２により、パイプライン処理を行うように調整される。
【００３３】
また、図３において、テーブルメモリ５３Ａは、ＧＰ命令コードと当該ＧＰ命令コードの実行時の消費電流量との関係及びＰＥ命令コードと当該ＰＥ命令コードの実行時の消費電流量との関係を示す消費電流量テーブルをあらかじめ格納する。また、バッファメモリ５２Ａは、現処理サイクルで実行する命令コードと、現処理サイクルの１つ前の処理サイクルで実行した命令コードと、１つ前の処理サイクルにおいて詳細後述するように発生された補正消費電流量と、現処理サイクルの２つ前の処理サイクルで実行した命令コードとを格納する。
【００３４】
さらに、図３において、消費電流制御回路５１Ａは、バッファメモリ５２Ａに格納された各命令コード及び補正消費電流量に基づいて、テーブルメモリ５３Ａの消費電流量テーブルを参照し、現処理サイクルでの消費電流量と、１つ前の処理サイクルでの消費電流量との差の大きさが所定のしきい値以下になるように、現処理サイクルにおいて発生する補正消費電流量を算出する。そして、消費電流制御回路５１Ａは、算出された補正消費電流量の消費電流が流れるようにＰＥデータパス回路アレイ９をダミー動作させるためのダミーのＰＥ命令コード（以下、ダミーＰＥ命令コードという。）を含む消費電流制御信号Ｓ５１Ａを発生して、ＰＥデータパス回路アレイ９に出力する。これに応答して、ＰＥデータパス回路アレイ９は、レジスタリード回路によるダミーの読出処理又は演算回路によるダミーの演算処理などの所定の動作を行う。
【００３５】
一般に、ＳＩＭＤ型プロセッサでは、ＰＥ命令コードの実行時には複数Ｎ個のＰＥデータパス回路９−１〜９−Ｎが同時に動作するので、ＧＰ命令コードの実行時に比較して消費電流が大きい。本実施形態によれば、ＧＰ命令コードの次にＰＥ命令コードが実行されて消費電流が少ない状態から多い状態に遷移し、又は、ＰＥ命令コードの次にＧＰ命令コードが実行されて消費電流が多い状態から少ない状態に遷移するとき、消費電流が少ないＧＰ命令コードの実行期間に、従来技術に係るＳＩＭＤ型プロセッサでは動作しないＰＥデータパス回路アレイ９をダミー動作させることによって補正消費電流をプロセッサシステム１Ａに流す。このため、プロセッサシステム１Ａによれば、従来技術に係るＳＩＭＤ型プロセッサに比較して処理速度の低下を最低限に抑え、高い精度で消費電流の変動を抑えることができる。
【００３６】
なお、本実施形態において、補正消費電流をプロセッサエレメント１Ａに流すためにＰＥデータパス回路アレイ９をダミー動作させたが、本発明はこれに限られず、第１の実施形態に係る補正消費電流発生回路５４を用いて補正消費電流をプロセッサエレメント１Ａに流してもよい。ただし、ＰＥデータパス回路アレイ９をダミー動作させる場合は、補正消費電流発生回路５４を用いる場合よりプロセッサシステム１Ａの面積を削減できる。
【００３７】
また、本実施形態において、消費電流制御信号Ｓ５１ＡはＰＥデータパス回路アレイ９に出力されたが、本発明はこれに限られず、ＰＥ命令デコーダ８１又はＰＥパイプラインレジスタ群８２を介してＰＥデータパス回路アレイ９にに出力されてもよい。
【００３８】
第３の実施形態．
図４は、本発明の第３の実施形態に係るプロセッサシステム１Ｂの構成を示すブロック図である。図４のプロセッサシステム１Ｂは、図３のプロセッサシステム１Ａに比較して、電流変動抑制回路５Ａに代えて電流変動抑制回路５Ｂを備えた点が異なる。また、本実施形態において、ＧＰ命令コード及びＰＥ命令コードは、複数のパイプラインステージからなるパイプライン処理により実行される。また、１つのパイプラインステージは１つの処理サイクルに対応している。
【００３９】
図４において、電流変動抑制回路５Ｂは、消費電流制御回路５１Ｂと、バッファメモリ５２Ａと、テーブルメモリ５３Ｂとを備えて構成される。テーブルメモリ５３Ｂは、ＧＰ命令コードと当該ＧＰ命令コードの実行時の各パイプラインステージにおける消費電流量との関係及びＰＥ命令コードと当該ＰＥ命令コードの実行時の各パイプラインステージにおける消費電流量との関係を示す消費電流量テーブルをあらかじめ格納する。また、バッファメモリ５２Ａは、現処理サイクルで実行する命令コードと、現処理サイクルの１つ前の処理サイクルで実行した命令コードと、１つ前の処理サイクルにおいて詳細後述するように発生された補正消費電流量と、現処理サイクルの２つ前の処理サイクルで実行した命令コードとを格納する。
【００４０】
また、消費電流制御回路５１Ｂは、バッファメモリ５２Ａに格納された各命令コード及び補正消費電流量に基づいて、テーブルメモリ５３Ｂの消費電流量テーブルを参照し、現処理サイクルで活性化する各パイプラインステージにおける消費電流量の総和と、次の処理サイクルで活性化する各パイプラインステージにおける消費電流量の総和との差の大きさが所定のしきい値以下になるように、次の処理サイクルにおいて発生する補正消費電流量を算出する。そして、消費電流制御回路５１Ｂは、算出された補正消費電流量の消費電流が流れるようにＰＥデータパス回路アレイ９をダミー動作させるためのダミーＰＥ命令コードを含む消費電流制御信号Ｓ５１Ｂを発生して、ＰＥデータパス回路アレイ９に出力する。これに応答して、ＰＥデータパス回路アレイ９は、レジスタリード回路によるダミーの読出処理又は演算回路によるダミーの演算処理などの所定の動作を行う。
【００４１】
次に、消費電流制御回路５１Ｃの動作を、図５を参照し、具体例を挙げて説明する。本具体例において、以下のように仮定する。
【００４２】
（１）消費電流量の変化量が４００ｍＡより大きいとき、プロセッサシステム１Ｂにおいて電源ノイズによる誤作動が発生する。
（２）ＧＰ命令コード及びＰＥ命令コードはそれぞれ、デコードステージ１と、デコードステージ２と、レジスタリードステージと、演算実行ステージと、レジスタライトステージとからなるパイプライン処理によって実行される。
（３）ＧＰ命令コードのレジスタリードステージでは１０ｍＡ、演算実行ステージでは８０ｍＡ、レジスタライトステージでは１０ｍＡの消費電流が流れる。
（４）ＰＥ命令コードのレジスタリードステージでは１００ｍＡ、演算実行ステージでは８００ｍＡ、レジスタライトステージでは１００ｍＡの消費電流が流れる。
（５）ＧＰ命令コードのデコードステージ１及び２並びにＰＥ命令コードのデコードステージ１及び２での消費電流量は、実質的に互いに等しく、かつ他の各ステージにおける消費電流量よりも十分に小さいので無視できる。
【００４３】
図５は、図４のプロセッサシステム１Ｂによって実行されるパイプライン処理及び各処理サイクルにおいて推定される消費電流量の一例を示すブロック図である。図５において、「デコード１」はデコードステージ１を表し、「デコード２」はデコードステージ２を表す。また、「（ＧＰ）」はＧＰ命令コードを表し、「（ＰＥ）」はＰＥ命令コードを表す。
【００４４】
消費電流制御回路５１Ｂは図５の処理サイクルＣにおいて、図５の処理サイクルＡ，Ｂ，Ｃの各デコードステージ２においてデコードされた命令コード（ＰＥ命令コードのレジスタライトステージ、ＰＥ命令コードの演算実行ステージ及びＰＥ命令コードのレジスタリードステージである。）に基づいて、テーブルメモリ５３Ｂの消費電流量テーブルを参照し、次の処理サイクルＤにおける消費電流の総和（１００ｍＡ＋８００ｍＡ＋１００ｍＡ＝１０００ｍＡ）を算出してバッファメモリ５２Ａに格納する。
【００４５】
処理サイクルＤにおいて、消費電流制御回路５１Ｂは、図５の処理サイクルＢ，Ｃ，Ｄの各デコードステージ２においてデコードされた命令コード（ＰＥ命令コードのレジスタライトステージ、ＰＥ命令コードの演算実行ステージ及びＧＰ命令コードのレジスタリードステージである。）に基づいて、テーブルメモリ５３Ｂの消費電流量テーブルを参照し、次の処理サイクルＥにおける消費電流の総和（１００ｍＡ＋８００ｍＡ＋１０ｍＡ＝９１０ｍＡ）を算出してバッファメモリ５２Ａに格納する。
【００４６】
処理サイクルＥにおいて、消費電流制御回路５１Ｂは、図５の処理サイクルＣ，Ｄ，Ｅの各デコードステージ２においてデコードされた命令コード（ＧＰ命令コードのレジスタライトステージ、ＧＰ命令コードの演算実行ステージ及びＰＥ命令コードのレジスタリードステージである。）に基づいて、テーブルメモリ５３Ｂの消費電流量テーブルを参照し、次の処理サイクルＦにおける消費電流の総和（１０ｍＡ＋８０ｍＡ＋１００ｍＡ＝１９０ｍＡ）を算出してバッファメモリ５２Ａに格納する。
【００４７】
処理サイクルＦにおける消費電流（１９０ｍＡ）と、処理サイクルＥにおける消費電流（９１０ｍＡ）との差の大きさは７２０ｍＡであり、４００ｍＡより大きいので、消費電流制御回路５１Ｂは、３２０ｍＡ以上の補正消費電流が流れるようにＰＥデータパス回路アレイ９をダミー動作させるための消費電流制御信号Ｓ５１Ｂを発生して、ＰＥデータパス回路アレイ９に出力する。これに応答して、ＰＥデータパス回路アレイ９は、レジスタリード回路によるダミーの読出処理又は演算回路によるダミーの演算処理などの所定の動作を行う。これにより、処理サイクルＦでの消費電流と処理サイクルＥでの消費電流との差が４００ｍＡ以下になり、電源ノイズによるプロセッサシステム１Ｂの誤動作を防止できる。
【００４８】
本実施形態によれば、同一の処理サイクルで同時に活性化するパイプラインステージ毎の消費電流の総和に基づいて補正消費電流量を算出する。従って、パイプラインステージの構成が互いに異なる複数の命令コードがランダムに実行される場合でも、命令デコードの段階（図５のデコードステージ２である。）で消費電流量を正確に予測することができるため、第１及び第２の実施形態に比較して高い精度で電流変動を抑制できる。
【００４９】
第４の実施形態．
図６は、本発明の第４の実施形態に係るプロセッサシステム１Ｃの構成を示すブロック図であり、図７は、図６のタイミング調整回路１０の構成を示す回路図である。第３の実施形態において説明した具体例のように、パイプラインステージごとに消費電流量が大きく異なる場合は、ダミー動作時以外の通常の命令コードの実行時のパイプラインに従ってＰＥデータパス回路アレイ９をダミー動作させると、補正消費電流を流す必要がある処理サイクルで消費電流量を増やすことが難しいことが多い。図６のプロセッサシステム１Ｃは、このような課題を解決するために、図４のプロセッサシステム１Ｂに比較して、ＰＥデータパス制御回路８に代えてＰＥデータパス制御回路８Ａを備え、電流変動抑制回路５Ｂに代えて電流変動抑制回路５Ｃを備え、上述したダミー命令コードを遅延させ又は先行させて出力するタイミング調整回路１０をさらに備えた点が異なる。
【００５０】
図６において、ＰＥデータパス制御回路８Ａは、ＰＥ命令デコーダ８１と、４段のＰＥパイプラインレジスタ群８２，８３，８４，８５とを備えて構成される。ＰＥ命令デコーダ８１は、入力されるＰＥ命令コードを、ＰＥデータパス回路アレイ９内の各回路を制御するための複数のＰＥ命令デコード信号Ｓ８１にデコードする。また、ＰＥパイプラインレジスタ群８２〜８５はそれぞれ、ＰＥデータパス回路アレイ９内の各回路に対応して設けられたフリップフロップを備えて構成される。ＰＥ命令デコーダ８１からのＰＥ命令デコード信号Ｓ８１は、ＰＥパイプラインレジスタ群８２〜８５を介して、ＰＥデータパス制御信号Ｓ８５としてＰＥデータパス回路アレイ９に出力される。ＰＥデータパス回路アレイ９は、入力されるＰＥデータパス制御信号Ｓ８５に応答して所定の動作を行う。また、ＰＥデータパス制御信号Ｓ８５のＰＥデータパス回路アレイ９への出力タイミングは、ＰＥパイプラインレジスタ群８２〜８５により、パイプライン処理を行うように調整される。
【００５１】
図６の電流変動抑制回路５Ｃは、図４の電流変動抑制回路５Ｂに比較して、消費電流制御回路５１Ｂに代えて消費電流制御回路５１Ｃを備えた点が異なる。消費電流制御回路５１Ｃは、バッファメモリ５２Ａに格納された各命令コード及び補正消費電流量に基づいて、テーブルメモリ５３Ａの消費電流量テーブルを参照し、第３の実施形態に係る消費電流制御回路５１Ｂと同様に、次の処理サイクルにおいて発生する補正消費電流量を算出する。そして、消費電流制御回路５１Ｃは、算出された補正消費電流量の消費電流が次の処理サイクルで流れるようにＰＥデータパス回路アレイ９をダミー動作させるための消費電流制御信号Ｓ５１Ｃを発生して、タイミング調整回路１０に出力する。ここで、消費電流制御信号Ｓ５１Ｃは、ＰＥデータパス回路アレイ９をダミー動作させるためのダミーＰＥ命令コードと、ダミーＰＥ命令コードの出力先のＰＥパイプラインレジスタ群８２，８３，８４又は８５の情報と、タイミング調整回路１０のＫ（Ｋは１以上の整数。）段のフリップフロップ９５−１〜９５−Ｋ（図７参照。）のうちＰＥデータパス制御回路８Ａに出力されるダミーＰＥ命令コードが通過するフリップフロップの段数の情報とを含む。
【００５２】
図７において、タイミング調整回路１０は、デコーダ９８と、縦続接続されたＫ段のフリップフロップ９５−１〜９５−Ｋと、アンドゲート９６−０〜９６−Ｋと、オアゲート９７と、ＰＥパイプラインレジスタ群８２〜８５に接続された出力端子をそれぞれ有するアンドゲート９１〜９４とを備えて構成される。デコーダ９８は、消費電流制御回路５１Ｃからの消費電流制御信号Ｓ５１Ｃに基づいて、ダミーＰＥ命令コードの出力先のＰＥパイプラインレジスタ群８２〜８５を表す制御信号Ｓ９１〜Ｓ９４を発生し、アンドゲート９１〜９４の各第１の入力端子に出力する。ここで、例えば、ダミーＰＥ命令コードをＰＥパイプラインレジスタ群８２に出力する場合、制御信号Ｓ９１の電圧レベルはハイレベルであり、制御信号Ｓ９２〜Ｓ９４の各電圧レベルはローレベルである。
【００５３】
また、図７において、デコーダ９８は、消費電流制御回路５１Ｃからの消費電流制御信号Ｓ５１Ｃに基づいて、ダミーＰＥ命令コードを含む制御信号Ｓ９８ｃを発生し、アンドゲート９６−０の第１の入力端子及びフリップフロップ９５−１に出力する。各フリップフロップ９５−ｋ（ｋ＝１，２，…，Ｋ−１）からの出力信号は、後段のフリップフロップ及びアンドゲート９６−ｋ（ｋ＝１，２，…，Ｋ−１）の第１の入力端子に出力される。また、フリップフロップ９５−Ｋからの出力信号は、アンドゲート９６−Ｋの第１の入力端子に出力される。
【００５４】
さらに、図７において、デコーダ９８は、消費電流制御回路５１Ｃからの消費電流制御信号Ｓ５１Ｃに基づいて、フリップフロップ９５−１〜９５−Ｋの段数を選択するための制御信号Ｓ９８−０〜Ｓ９８−Ｋを発生して、アンドゲート９６−０〜９６−Ｋの各第２の入力端子に出力する。アンドゲート９６−０〜９６−Ｋからの各出力信号はオアゲート９７に出力され、オアゲート９７からの出力信号は、アンドゲート９１〜９４の各第２の入力端子に出力される。さらに、アンドゲート９１〜９４からの各出力信号は、ダミー動作制御信号Ｓ１０−１〜Ｓ１０−４として、それぞれ、ＰＥパイプラインレジスタ群８２〜８５に出力される。
【００５５】
図６において、タイミング調整回路１０のＫ段のフリップフロップ９５−１〜９５−Ｋ（図７参照。）のうちのうちＰＥデータパス制御回路８Ａに出力されるダミーＰＥ命令コードが通過するフリップフロップの段数が０であり、かつダミーＰＥ命令コードの出力先がＰＥパイプラインレジスタ群８２であるとき、ダミーＰＥ命令コードは、通常のＰＥ命令コードの実行時と同一の処理サイクルでＰＥデータパス回路アレイ９により実行される。また、上述したフリップフロップの段数が１であり、かつダミーＰＥ命令コードの出力先がＰＥパイプラインレジスタ群８２であるとき、ダミーＰＥ命令コードは、通常のＰＥ命令コードの実行時より１処理サイクルだけ遅れた処理サイクルで、ＰＥデータパス回路アレイ９により実行される。さらに、上述したフリップフロップの段数が０であり、かつダミーＰＥ命令コードの出力先がＰＥパイプラインレジスタ群８３であるとき、ダミーＰＥ命令コードは、通常のＰＥ命令コードの実行時より１処理サイクルだけ速い処理サイクルＰＥデータパス回路アレイ９により実行される。
【００５６】
以上説明したように、本実施形態によれば、ダミーＰＥ命令コードを任意の遅延時間だけ遅延させ又は任意の先行時間だけ先行させてＰＥデータパス回路アレイ９に出力できる。このため、第３の実施形態に比較して、適切なタイミングで補正消費電流をプロセッサシステム１Ｃに流すことができる。
【００５７】
第５の実施形態．
図８は、本発明の第５の実施形態に係るプロセッサシステム１Ｄの構成を示すブロック図である。図８のプロセッサシステム１Ｄは、図６のプロセッサシステム１Ｃと比較して、電流変動抑制回路５Ｃに代えて電流変動抑制回路５Ｄを備え、タイミング調整回路１０に代えてタイミング調整回路１０Ａを備えた点が異なる。なお、ＰＥデータパス回路９−１〜９−Ｎには、固有のアドレスが割り当てられている。
【００５８】
図８において、電流変動抑制回路５Ｄは、図６の電流変動抑制回路５Ｃと比較して、消費電流制御回路５１Ｃに代えて消費電流制御回路５１Ｄを備える。消費電流制御回路５１Ｄは、バッファメモリ５２Ａに格納された各命令コード及び補正消費電流量に基づいて、テーブルメモリ５３Ａの消費電流量テーブルを参照し、第３の実施形態に係る消費電流制御回路５１Ｂと同様に、次の処理サイクルにおいて発生する補正消費電流量を算出する。そして、消費電流制御回路５１Ｄは、算出された補正消費電流量の消費電流が次の処理サイクルで流れるようにＰＥデータパス回路アレイ９をダミー動作させるための消費電流制御信号Ｓ５１Ｄを発生して、タイミング調整回路１０Ａに出力する。ここで、消費電流制御信号Ｓ５１Ｄは、ＰＥデータパス回路アレイ９をダミー動作させるためのダミーＰＥ命令コードと、ダミーＰＥ命令コードの出力先のＰＥパイプラインレジスタ群８２，８３，８４又は８５の情報と、タイミング調整回路１０のＫ（Ｋは１以上の整数。）段のフリップフロップ９５−１〜９５−Ｋ（図７参照。）のうちのうちＰＥデータパス制御回路８Ａに出力されるダミーＰＥ命令コードが通過するフリップフロップの段数の情報と、ＰＥデータパス回路９−１〜９−Ｎのうちダミー動作させる（ダミーＰＥ命令コードを実行させる。）ＰＥデータパス回路の範囲の情報とを含む。
【００５９】
タイミング調整回路１０Ａは、入力される消費電流制御信号Ｓ５１Ｄに基づいて、ダミーＰＥ命令コードと、ＰＥデータパス回路９−１〜９−Ｎのうちダミー動作させる（ダミーＰＥ命令コードを実行させる。）ＰＥデータパス回路のアドレスの上限値及び下限値の情報と、ダミーＰＥ命令コードの出力先のＰＥパイプラインレジスタ群８２，８３，８４又は８５の情報とを含むダミー動作制御信号Ｓ１０Ａ−１〜Ｓ１０Ａ−４を発生して、消費電流制御信号Ｓ５１Ｄに含まれるフリップフロップの段数に対応する遅延時間だけ遅延させて、ＰＥパイプラインレジスタ群８２〜８５にそれぞれ出力する。
【００６０】
本実施形態によれば、ＰＥデータパス回路９−１〜９−Ｎのうちダミー動作させるＰＥデータパス回路のアドレスの上限値及び下限値を設定できるので、ＰＥデータパス回路９−１〜９−Ｎのうち、例えば１／４又は１／２のＰＥデータパス回路のみをダミー動作させることにより、補正消費電流量を調整できる。このため、第４の実施形態に比較して、補正消費電流量を高い精度で制御できる。
【００６１】
第６の実施形態．
図９は、本発明の第６の実施形態に係るプロセッサシステム１Ｅの構成を示すブロック図である。また、図１０は、図９のプログラムメモリ２Ｂに格納される命令コードの構成を示す図である。図９のプロセッサシステム１Ｅは、図１のプロセッサシステム１と比較して、プログラムメモリ２に代えてプログラムメモリ２Ｂを備え、電流変動抑制回路５に代えて電流変動抑制回路５Ｅを備えた点が異なる。また、電流変動抑制回路５Ｅは、電流変動抑制回路５と比較して、消費電流制御回路５１に代えて消費電流制御回路５１Ｅを備えた点が異なる。
【００６２】
図９において、プログラムメモリ２Ｂは、データパス回路４を動作させるための複数の命令コードをあらかじめ格納し、当該複数の命令コードを順次、命令デコーダ３１と、消費電流制御回路５１Ｅとに出力する。図１０に示すように、プログラムメモリ２Ｂに格納される命令コードは、現在実行中の命令コードの次に実行される命令コード（３０ビット。以下、次の命令コードという。）と、次に実行される命令コード以降の命令コードの各消費電流量情報を表すビットデータ（２ビット）とを含む。ここで、本実施形態において実行される命令コードに対応する消費電流量が１０００ｍＡ又は１００ｍＡであるとき、上述したビットデータの値は、消費電流量に応じて例えば以下のように設定される。
【００６３】
次の命令コードの１つ次の命令コードの実行時の消費電流が１０００ｍＡであり、かつ次の命令コードの２つ次の命令コードの実行時の消費電流１０００ｍＡであるとき：ビットデータの値＝００；
次の命令コードの１つ次の命令コードの実行時の消費電流が１００ｍＡ、かつ次の命令コードの２つ次の命令コードの実行時の消費電流１０００ｍＡであるとき：ビットデータの値＝０１；
次の命令コードの２つ次の命令コードの実行時の消費電流が１０００ｍＡ、かつ次の命令コードの２つ次の命令コードの実行時の消費電流１００ｍＡであるとき：ビットデータの値＝１０；
次の命令コードの２つ次の命令コードの実行時の消費電流が１００ｍＡ、かつ次の命令コードの２つ次の命令コードの実行時の消費電流１００ｍＡであるとき：ビットデータの値＝１１．
【００６４】
図９において、消費電流制御回路５１Ｅは、入力された命令コードに含まれる次の命令コードに基づいて、テーブルメモリ５３の消費電流量テーブルを参照し、次の命令コードの実行に伴う各消費電流量を算出する。さらに、入力された命令コードに含まれる消費電流量情報に基づいて、連続する処理サイクル間での消費電流量の差が所定のしきい値以下になるように、次の命令コード以降の命令コードの実行時の補正消費電流量を算出する。そして、消費電流制御回路５１Ｅは、算出された補正消費電流量を示す消費電流制御信号Ｓ５１Ｅを発生して、補正消費電流発生回路５４に出力する。これに応答して、補正消費電流発生回路５４は第１の実施形態と同様に動作する。なお、上述した消費電流量の差のしきい値は、例えば、プロセッサシステム１Ｅにおいて電源ノイズによる誤動作が発生するときの消費電流量の差の最小値未満の値に設定される。
【００６５】
本実施形態によれば、次の命令コードのデコード時に、次の命令コード以降の消費電流量の情報を取得できるので、上記各実施形態に比較して早い段階で補正消費電流を計算できる。また、命令コード内の消費電流流量情報は比較的小さいデータ量（２ビット）しか有していないので、第１の実施形態に比較して消費電流制御回路５１Ｅを簡略化できる。
【００６６】
なお、上述したプロセッサシステム１，１Ａ，１Ｂ，１Ｃ，１Ｄ又は１Ｅと、例えば、外部メモリ及び当該外部メモリとプロセッサシステム１，１Ａ，１Ｂ，１Ｃ，１Ｄ又は１Ｅとの間のインターフェース処理を行うメモリコントローラなどを備えた１チップのＩＣ（Integrated Circuit）にてなる半導体集積装置を構成してもよい。これにより、処理速度の低下を最低限に抑えかつ従来技術に比較して消費電流の変動を抑制できる半導体集積装置を実現できる。
【符号の説明】
【００６７】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ…プロセッサシステム、
２，２Ａ，２Ｂ…プログラムメモリ、
３…データパス制御回路、
４…データパス回路、
５，５Ａ，５Ｂ，５Ｃ，５Ｄ…電流変動抑制回路、
６…ＧＰデータパス制御回路、
７…ＧＰデータパス回路、
８，８Ａ…ＰＥデータパス制御回路、
９…ＰＥデータパス回路アレイ、
９−１〜９−Ｎ…ＰＥデータパス回路、
１０，１０Ａ…タイミング調整回路、
３１…命令デコーダ、
３２…パイプラインレジスタ群、
５１，５１Ａ，５１Ｂ，５１Ｃ，５１Ｄ，５１Ｅ…消費電流制御回路、
５２，５２Ａ…バッファメモリ、
５３，５３Ａ，５３Ｂ…テーブルメモリ、
５４…補正消費電流発生回路、
６１…ＧＰ命令デコーダ、
６２…ＧＰパイプラインレジスタ群、
８１…ＰＥ命令デコーダ、
８２〜８５…ＰＥパイプラインレジスタ群、
【先行技術文献】
【特許文献】
【００６８】
【特許文献１】特許第３７１８５１３号公報。
【特許文献２】特許第３７２９８２７号公報。
【特許文献３】特許第３８４５６４２号公報。
【図１】
2013054480.tif 000003
【図２】
2013054480.tif 000004
【図３】
2013054480.tif 000005
【図４】
2013054480.tif 000006
【図５】
2013054480.tif 000007
【図６】
2013054480.tif 000008
【図７】
2013054480.tif 000009
【図８】
2013054480.tif 000010
【図９】
2013054480.tif 000011
【図１０】
2013054480.tif 000012