(57)【要約】【課題】ピーク電流の抑制をするとともに、プロセッサエレメント間のデータ転送が生じる場合にも最適なタイミングで動作させる。【解決手段】レジスタ３および演算器２を有するプロセッサエレメントＰＥが複数配置され、他のプロセッサエレメントＰＥのデータを参照しながら、単一のグローバルプロセッサ１で同時に並列処理するＳＩＭＤ型プロセッサ１１０において、プロセッサエレメントＰＥは、レジスタ３が出力するデータを２つの異なるタイミングで出力するレジスタ読出手段を備えるとともに、隣接するプロセッサエレメントを制御するクロック信号ＣＫの位相差を、レジスタ読出手段が出力する遅延差となるように設定する設定手段を備える。【選択図】図３
2014222437.tif 000002
【特許請求の範囲】
【請求項１】
レジスタおよび演算器を有するプロセッサエレメントが複数配置され、
他のプロセッサエレメントのデータを参照しながら、単一の制御回路で同時に並列処理するＳＩＭＤ型プロセッサにおいて、
前記プロセッサエレメントは、前記レジスタが出力するデータを２つの異なるタイミングで出力するレジスタ読出手段を備えるとともに、
隣接する前記プロセッサエレメントを制御する制御クロックの位相差を、前記レジスタ読出手段が出力する遅延差となるように設定する設定手段を備えることを特徴とするＳＩＭＤ型プロセッサ。
【請求項２】
前記プロセッサエレメントは、隣接する両側ｎ個のプロセッサエレメントのデータを参照可能であって、
位相差の異なる前記制御クロックは、それぞれｎ個毎の連続するプロセッサエレメントに接続されることを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項３】
前記プロセッサエレメントは、隣接する両側ｎ個のプロセッサエレメントのデータを参照可能であって、
位相差の異なる前記制御クロックは、それぞれ２ｎ個以上の連続するプロセッサエレメントに接続され、かつ、各プロセッサエレメントについて転送先のプロセッサエレメントを制御する制御クロックの位相は２種類以内であることを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項４】
転送先のプロセッサエレメントを制御する制御クロックに、転送元のプロセッサエレメントを制御する制御クロックよりも速いものを含む場合は、
該転送元のプロセッサエレメントにおける前記レジスタは、閾値電圧を変更することで、他のプロセッサエレメントよりも高速で読み出し可能なレジスタとすることを特徴とする請求項３記載のＳＩＭＤ型プロセッサ。
【請求項５】
転送先のプロセッサエレメントを制御する制御クロックに、転送元のプロセッサエレメントよりも遅い制御クロックがない場合は、
該転送元のプロセッサエレメントに前記レジスタ読出手段を設けないことを特徴とする請求項１から４までのいずれかに記載のＳＩＭＤ型プロセッサ。
【請求項６】
前記レジスタ読出手段は、ラッチ回路を備え、前記レジスタが出力するデータを２つの異なるタイミングで出力することを特徴とする請求項１から５までのいずれかに記載のＳＩＭＤ型プロセッサ。
【請求項７】
前記設定手段は、ＤＬＬ回路であることを特徴とする請求項６に記載のＳＩＭＤ型プロセッサ。
【請求項８】
前記設定手段は、命令の種類に応じて、前記制御クロックの位相差をなくして同相とすることを特徴とする請求項１から７までのいずれかに記載のＳＩＭＤ型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの演算命令により複数の画像データ等を並列処理するＳＩＭＤ（Single  Instruction-stream  Multiple  Data-stream）型プロセッサに関する。
【背景技術】
【０００２】
デジタルテレビジョン放送受信装置、デジタル複写機、又はファクシミリ装置などの画像処理装置において用いられる画像処理専用のマイクロプロセッサにおいては、ＳＩＭＤ型のマイクロプロセッサが用いられることが多い。これは１つの命令で複数のデータに対して、並列に演算処理が行なわれるＳＩＭＤ方式の特徴が画像処理には適しているからである。
【０００３】
ＳＩＭＤ型プロセッサ（ＳＩＭＤ型マイクロプロセッサともいう）は、それぞれ演算器（ＡＬＵ）とレジスタ（ＲＥＧ）とを備える複数のプロセッサエレメント（ＰＥ）と、そのプロセッサエレメントを制御する制御回路としてのグローバルプロセッサと、備えて構成されている。プロセッサエレメントの個数は、例えば、画像データの大きさに応じて決定され、これらの複数のプロセッサエレメントを、単一のグローバルプロセッサが、同時に演算処理を行うように制御している。
【０００４】
具体的には、ＳＩＭＤ型プロセッサにおいて、各プロセッサエレメントは、画像データのうちの１画素の画素データの画像処理を行う。そのプロセッサエレメントが複数あるため、複数の画素に対応する画素データが並列に演算処理される。このように、複数の画素データを同時に処理することで、画像処理の効率を高めている。
【０００５】
近年、デジタル複写機やファクシミリ装置などの画像処理では、画素数の増加、画像処理の多様化などにより画質の向上が図られている。そして、この画質の向上に伴い、処理すべきデータ数がどんどん増加しており、ＳＩＭＤ型プロセッサにおいてもより多くのプロセッサエレメントが必要になっている。
【０００６】
ＳＩＭＤ型プロセッサの特徴は、全プロセッサエレメントが同時に同一の動作を行うところにある。従って、各プロセッサエレメントが同一のデータ処理を実行すると、全てのプロセッサエレメントに同一の消費電流が流れる。その総消費電流量はプロセッサエレメントの数に比例して増加するのは言うまでもないが、電流を消費するタイミングも同一であるため、ピーク電流を消費するタイミングも全てのプロセッサエレメントで揃っており、ピーク電流値はより大きなものとなってしまう。この大きなピーク電流が電源ノイズや消費電力の増加に伴って電源配線に生じる電圧降下（ＩＲドロップ）などを引き起こし、ＳＩＭＤ型プロセッサの性能劣化を引き起こす原因となっている。
【０００７】
すなわち、近年の画像データの増大傾向は、同時動作するプロセッサエレメントの数がより多くなることを意味しており、このため、画像処理の効率を高めると、電源ノイズによる処理効率の低下につながってしまうという問題がある。
【０００８】
このＳＩＭＤ型プロセッサにおける同時動作の問題を解決するために、特許文献１には、
グローバルプロセッサを全プロセッサエレメントの中央に配置して、プロセッサエレメントを２つのグループに分割し、プロセッサエレメントをグループ毎に異なるタイミングで制御するＳＩＭＤ型プロセッサが開示されている。このＳＩＭＤ型プロセッサでは、特定のブロックにかかる制御信号を一定期間遅らせて、ピーク電流を分散させるとともに、プロセッサエレメント間のデータ転送に関しては、データの転送方向に応じて制御タイミングを切り替えること、すなわち、隣接画素参照時は参照方向に応じて遅延させるクロックを選択させることが開示されている。
【０００９】
また、ピーク電流を削減するために、特許文献２には、隣接するプロセッサエレメントとの同時動作による電流集中回避を、レジスタ内のデータによる電流集中を判別しながら動作タイミングを変更するＳＩＭＤ型マイクロプロセッサが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１のＳＩＭＤ型プロセッサのように、制御タイミングをデータの転送方向に応じて動的に切り替える制御では、転送方向が切り替わるような連続動作に対応することができず、該当命令による動作が完了するまでの数サイクル間、次の命令に移行ができないこととなり、処理能力の低下につながってしまうという問題がある。
【００１１】
また、特許文献２のＳＩＭＤ型プロセッサでは、プロセッサエレメント間のデータ転送の際に、データの取り込みタイミングが異なる点について考慮されていないため、動作性能の向上に検討の余地を残していた。
【００１２】
そこで本発明は、ＳＩＭＤ型プロセッサの同時動作によって生じる電源ノイズや、ＩＲドロップなどの問題を回避するため、ピーク電流の抑制をするとともに、プロセッサエレメント間のデータ転送が生じる場合にも最適なタイミングで動作させることができるＳＩＭＤ型プロセッサを提供することを目的とする。
【課題を解決するための手段】
【００１３】
かかる目的を達成するため、本発明に係るＳＩＭＤ型プロセッサは、レジスタおよび演算器を有するプロセッサエレメントが複数配置され、他のプロセッサエレメントのデータを参照しながら、単一の制御回路で同時に並列処理するＳＩＭＤ型プロセッサにおいて、前記プロセッサエレメントは、前記レジスタが出力するデータを２つの異なるタイミングで出力するレジスタ読出手段を備えるとともに、隣接する前記プロセッサエレメントを制御する制御クロックの位相差を、前記レジスタ読出手段が出力する遅延差となるように設定する設定手段を備えるものである。
【発明の効果】
【００１４】
本発明によれば、ピーク電流の抑制をするとともに、プロセッサエレメント間のデータ転送が生じる場合にも最適なタイミングで動作させることができる。
【図面の簡単な説明】
【００１５】
【図１】ＳＩＭＤ型プロセッサの基本構成を示すブロック図である。
【図２】図１に示したＳＩＭＤ型プロセッサのプロセッサエレメントのブロック図である。
【図３】本発明に係るＳＩＭＤ型プロセッサの一実施形態の構成を示すブロック図である。
【図４】プロセッサエレメントＰＥ（０），ＰＥ（１），ＰＥ（２）に入力されるクロック信号ＣＫ０，ＣＫ１，ＣＫ２、プロセッサエレメントＰＥにおけるレジスタ出力ＲＥＧ−Ｏｕｔ、および遅延回路からの出力−Ｄｅｌａｙのタイミングチャートである。
【図５】本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成を示すブロック図である（第２の実施形態）。
【図６】本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成を示すブロック図である（第３の実施形態）。
【図７】本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成を示すブロック図である（第４の実施形態）。
【図８】本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成を示すブロック図である（第５の実施形態）。
【図９】選択切替回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明に係る構成を図面に示す実施の形態に基づいて詳細に説明する。
【００１７】
［ＳＩＭＤ型プロセッサの基本構成］
本発明に係るＳＩＭＤ型プロセッサ（ＳＩＭＤ型マイクロプロセッサ）の説明に先立って、前提となる基本構成（従来例）について説明する。図１は、ＳＩＭＤ型プロセッサ１００の基本構成を示すブロック図である。
【００１８】
図１に示すＳＩＭＤ型プロセッサ１００は、命令を判別したグローバルプロセッサ（Global  Processor）１がクロック信号（ＣＫ）を含む制御信号を生成し、複数のプロセッサエレメント（ＰＥ（０）〜ＰＥ（ｎ）、ＰＥと総称および略称する）が同時に動作するように構成されている。
【００１９】
複数のプロセッサエレメントＰＥは全て同じ命令で一斉に動作するため、例えば、レジスタ（ＲＥＧ）３からデータを読み出し、演算器（Arithmetic  Logic  Unit，ＡＬＵ）２で演算を行う場合は、全てのプロセッサエレメントＰＥで同様の動作が実行されることとなる。なお、図１においてプロセッサエレメントＰＥのレジスタ３から異なるプロセッサエレメントＰＥの演算器２に線が引かれているのは、隣接する異なるプロセッサエレメントＰＥのデータを用いて演算が行われることがあることを意味するものとし、以下の図面においても同様とする。
【００２０】
図２に、ＳＩＭＤ型プロセッサ１００のプロセッサエレメントＰＥのブロック図を示す。プロセッサエレメントＰＥは、レジスタ３、第一マルチプレクサ（ＭＰＸ）２１と、第二マルチプレクサ２２と、パイプラインレジスタ（ＦＦ）２３と、ＡＬＵ２と、Ａレジスタ（Ａ）２４と、を備え、グローバルプロセッサ１から入力されたプロセッサエレメント制御信号に従ってレジスタ３に格納されたデータを演算する。
【００２１】
レジスタ３は、３２ある記憶素子（Ｒ０〜Ｒ３１）の中から選択され読み出しを行うものであり、レジスタ３に格納されたデータをプロセッサエレメント制御信号に従って第一マルチプレクサ２１へ出力したり、Ａレジスタ２４の内容を格納したりする。
【００２２】
レジスタ３ブロック後の第一マルチプレクサ２１は、複数のレジスタ３から入力されたデータを選択して出力する。この第一マルチプレクサ２１は、当該ＰＥを含む前後の数ＰＥのデータから一つが選択される仕組みとなっている。例えば、画像処理系などで用いられる演算（例えば、隣接画素との演算）で、あるプロセッサエレメントＰＥ（ｎ）のレジスタ３のデータとＰＥ（ｎ）に隣接するＰＥ（ｎ−１）やＰＥ（ｎ＋１）のレジスタ３のデータを演算する場合に、隣接するＰＥ（ｎ−１）やＰＥ（ｎ＋１）のレジスタ３のデータを、ＰＥｎのレジスタ３のデータと同様に扱うことができるようにするために設けられており、これによって、ＰＥｎのＡＬＵ２を用いて一命令で演算を実行することが可能となる。
【００２３】
第一マルチプレクサ２１で選択されたデータは、パイプラインレジスタ２３に一度保持される。パイプラインレジスタ２３は、ここまでの処理とＡＬＵ２の処理とのパイプライン処理におけるステージを分割するために設けられているレジスタである。
【００２４】
ＡＬＵ２は、算術論理演算器であり、パイプラインレジスタ２３から入力されたデータおよびＡレジスタ２４のデータを入力としてプロセッサエレメント制御信号により指定された演算を行いＡレジスタ２４に出力する。演算結果はＡレジスタ２４に格納される。
【００２５】
Ａレジスタ２４は、ＡＬＵ２で演算された結果を格納するアキュムレータである。さらに、必要に応じて演算結果は、第二マルチプレクサ２２を介して、レジスタ３に書き戻される。なお、この場合も同様に、異なるＰＥへの転送を行う場合があるが、図１での図示は省略している。この第一マルチプレクサ２１と、第二マルチプレクサ２２と、パイプラインレジスタ２３と、ＡＬＵ２と、Ａレジスタ２４と、で演算部を構成する。
【００２６】
以上説明した図１に示すＳＩＭＤ型プロセッサ１００においては、静止している場合には全てプロセッサエレメントＰＥが静止、動作する場合には全てプロセッサエレメントＰＥが同時動作を起こすものであるため、動作電流の増減が非常に激しいものになるという問題がある。この同時スイッチングによる非常に大きなピーク電流が、電源ノイズを引き起こす原因となっていた。
【００２７】
［第１の実施形態］
そこで本実施形態に係るＳＩＭＤ型プロセッサは、レジスタ（レジスタ３）および演算器（演算器２）を有するプロセッサエレメント（プロセッサエレメントＰＥ）が複数配置され、他のプロセッサエレメントのデータを参照しながら、単一の制御回路（グローバルプロセッサ）で同時に並列処理するＳＩＭＤ型プロセッサ（ＳＩＭＤ型プロセッサ１１０）において、プロセッサエレメントは、レジスタが出力するデータを２つの異なるタイミングで出力するレジスタ読出手段（遅延回路５、等）を備えるとともに、隣接するプロセッサエレメントを制御する制御クロック（クロック信号ＣＫ０〜ＣＫ３）の位相差を、レジスタ読出手段が出力する遅延差となるように設定する設定手段（遅延素子４、等）を備えるものである。なお、括弧内は実施形態での符号、適用例を示す。また、ここでいう「隣接」とは、連続する両隣の２つのプロセッサエレメントＰＥに限らず、両側の複数のプロセッサエレメントＰＥを含むものとする。
【００２８】
図３は、本発明に係るＳＩＭＤ型プロセッサの一実施形態の構成を示すブロック図である。このＳＩＭＤ型プロセッサ１１０は、クロック信号（ＣＫ）を一定時間遅延させ、複数の位相が一定時間異なるクロック信号（ＣＫ０（＝ＣＫ），ＣＫ１，ＣＫ２，ＣＫ３）を生成する遅延素子（Ｄｅｌａｙ）４を備えている。
【００２９】
図３の例では、３つの遅延素子４を有することで４種類のクロック信号を生成する例を示しているが、遅延素子４の数はこれに限られるものではない。３つの遅延素子により生じるクロック信号の遅延差は同一であるものとする。
【００３０】
生成された複数のクロック信号ＣＫ０〜ＣＫ３は、異なるプロセッサエレメントＰＥに接続される。この時、隣り合うプロセッサエレメントＰＥを制御するクロック信号の遅延差は遅延素子４の１個分になるように組み合わせる。
【００３１】
また、各プロセッサエレメントＰＥのレジスタ３には、それぞれクロック信号の遅延素子４と同等の遅延量を生じさせる遅延回路５が設けられている。そして、例えば、プロセッサエレメントＰＥ（０）からＰＥ（１）のように、接続されたクロック信号の位相が、早いものから遅いものへと、異なるプロセッサエレメントＰＥ間で転送が行われる場合、この遅延回路５からのパスが接続される。
【００３２】
図４はプロセッサエレメントＰＥ（０），ＰＥ（１），ＰＥ（２）に入力されるクロック信号（ＣＫ０，ＣＫ１，ＣＫ２）、それぞれのプロセッサエレメントＰＥにおけるレジスタ出力（ＲＥＧ−Ｏｕｔ）および遅延回路５からの出力（−Ｄｅｌａｙ）のタイミングチャートである。図４を参照してプロセッサエレメントＰＥ間の転送について説明する。
【００３３】
図４に示すように、連続するプロセッサエレメントＰＥ間のクロック信号の位相差は遅延素子１個分（Ｄｅｌａｙ）となっている。また、レジスタ出力（ＲＥＧ−Ｏｕｔ）からの遅延出力（−Ｄｅｌａｙ）までのスキューも、遅延素子１個分（Ｄｅｌａｙ）となる。
【００３４】
図４に示すように、レジスタ３から読みだされたデータは、次のサイクルのクロックエッジで取り込まれる。ここで、同一のプロセッサエレメントＰＥ内のデータを取り込む場合であれば、同一のクロック信号で制御することとなるが、プロセッサエレメントＰＥ間のデータ転送がある場合には、位相の異なるクロック間のデータ転送となるため、セットアップタイムやホールドタイムの問題が生じることとなる。
【００３５】
図３に示すように、プロセッサエレメントＰＥ（０）のレジスタ３のデータを、プロセッサエレメントＰＥ（１）に転送する場合は、プロセッサエレメントＰＥ（０）の遅延回路５を通した出力がプロセッサエレメントＰＥ（１）に転送される。これは、図４に示すように、プロセッサエレメントＰＥ（０）の出力をプロセッサエレメントＰＥ（１）のクロックで取り込む場合、ホールドタイムの関係上、遅延回路５を通した出力しか取り込めないためである。
【００３６】
逆に、図３に示すように、プロセッサエレメントＰＥ（１）のレジスタ３のデータをプロセッサエレメントＰＥ（０）に転送する場合は、プロセッサエレメントＰＥ（１）の遅延回路５を通さない出力がプロセッサエレメントＰＥ（０）に転送される。これは、図４に示すように、プロセッサエレメントＰＥ（１）の出力をプロセッサエレメントＰＥ（０）のクロックで取り込む場合、セットアップタイムの関係上、遅延回路５を通さない出力しか取り込めないためである。
【００３７】
以上説明したように、本実施形態では、各プロセッサエレメントＰＥのクロック信号ＣＫにスキューを持たせても、各プロセッサエレメントＰＥ内のレジスタ３の出力側にクロックスキューと同等の遅延回路５を設けてタイミング制御することで、異なるプロセッサエレメントＰＥ間の転送がある場合でも、タイミングエラーを起こすことなく動作させることが可能となる。
【００３８】
したがって、ＳＩＭＤ型プロセッサのように全でのプロセッサエレメントＰＥを同時に並列処理させるプロセッサにおいても、一定期間のスキューを持たせることが可能となり、これにより、動作期間をばらつかせ、結果としてピーク電流の抑制を行うことによって電源ノイズ等の不具合を解消させることが可能となる。
【００３９】
なお、転送先のプロセッサエレメントＰＥを制御するクロック信号に、転送元のプロセッサエレメントＰＥよりも遅いクロック信号がない場合（転送元のプロセッサエレメントＰＥのクロック信号が最も遅い場合）は、転送元のプロセッサエレメントＰＥに遅延回路を設けないことも好ましい。
【００４０】
すなわち、図３において、点線で示される遅延回路５ａを備えたプロセッサエレメントＰＥ（３）は、自身のクロック信号ＣＫ３より遅いクロック信号を使うプロセッサエレメントＰＥへの転送がないため、遅延回路５自体が不要となる。このようなプロセッサエレメントＰＥ（３）では、遅延回路５を設けないようにすることもできる。
【００４１】
［第２の実施形態］
以下、ＳＩＭＤ型プロセッサの他の実施形態について説明する。本実施形態のＳＩＭＤ型プロセッサ（ＳＩＭＤ型プロセッサ１２０）は、プロセッサエレメントＰＥは、隣接する両側ｎ個のプロセッサエレメントＰＥのデータを参照可能であって、位相差の異なる制御クロックは、それぞれｎ個毎の連続するプロセッサエレメントＰＥに接続されるものである。なお、上記実施形態と同様の点についての説明は適宜省略する。
【００４２】
上記第１の実施形態では、プロセッサエレメントＰＥ（ｎ）に対し、両隣の各１ＰＥ（ＰＥ（ｎ−１）およびＰＥ（ｎ＋１）のデータを参照する例について説明したが、両側それぞれ複数のＰＥを参照可能とすることも好ましい。
【００４３】
図５は、本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成（ＳＩＭＤ型プロセッサ１２０）を示すブロック図である。図５は、プロセッサエレメントＰＥ（ｎ）に対し、両隣の各２ＰＥ（ＰＥ（ｎ−２），ＰＥ（ｎ−１）およびＰＥ（ｎ＋１），ＰＥ（ｎ＋２））のデータを参照する例を示している。なお、クロック信号ＣＫ０〜ＣＫ３を生成する設定手段については図示を省略している。
【００４４】
仮に、第１の実施形態で説明したＳＩＭＤ型プロセッサ１１０の構成において、２ＰＥ分のデータ転送を行うと、２ＰＥ先のクロック信号は自身のクロック信号とは、遅延素子２個分のスキューを持つこととなるため、データ転送時にタイミングエラーを引き起こしてしまう。
【００４５】
そこで、本実施形態では、図５に示すように、データ転送を行う数に相当する数のプロセッサエレメントＰＥ（図５の例では２つ）を１つのグループとして、同一のクロック信号で制御するようにしたものである。したがって、２ＰＥ分のデータ転送が必要な場合でも、クロック信号の位相差は遅延１つ分で済むこととなる。
【００４６】
このように構成することで、第１の実施形態と同様に、タイミングエラーを起こすことなく、クロックの位相差を持たせることが可能となり、動作期間をばらつかせ、結果としてピーク電流の抑制を行うことによって電源ノイズ等の不具合を解消させることが可能となる。
【００４７】
［第３の実施形態］
本実施形態のＳＩＭＤ型プロセッサ（ＳＩＭＤ型プロセッサ１３０）は、プロセッサエレメントＰＥは、隣接する両側ｎ個のプロセッサエレメントＰＥのデータを参照可能であって、位相差の異なる制御クロックは、それぞれ２ｎ個以上の連続するプロセッサエレメントＰＥに接続され、かつ、各プロセッサエレメントＰＥについて転送先のプロセッサエレメントＰＥを制御する制御クロックの位相は２種類以内であるものである。
【００４８】
図６は、本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成（ＳＩＭＤ型プロセッサ１３０）を示すブロック図である。第３の実施形態では、第２の実施形態と同様に２ＰＥ分の転送を想定している。第３の実施形態では、図６に示すように、４つのプロセッサエレメントＰＥを１つのクロック信号で制御させている。
【００４９】
すなわち、本実施形態では、４ＰＥ分の同時動作が生じるが、プロセッサエレメントＰＥ間の転送量を考えた場合、最大２ＰＥまでの転送しかないことを考えると、対象となるクロックの位相は２種類しか存在しないことになる（第２の実施形態では３種類）。
【００５０】
したがって、結果としてレジスタ読み出しにおけるタイミング調整が容易となり、より最適な動作マージンを確保できるため、高速動作や低消費化を図ることが可能となる。
【００５１】
また、転送先のプロセッサエレメントＰＥを制御する制御クロックに、転送元のプロセッサエレメントＰＥを制御する制御クロックよりも速いものを含む場合は、該転送元のプロセッサエレメントにおけるレジスタ３は、閾値電圧を変更することで、他のプロセッサエレメントよりも高速で読み出し可能なレジスタ３とすることが好ましい。
【００５２】
すなわち、図６に示すように、自身のプロセッサエレメントＰＥを制御するクロックより位相が早いクロック信号を用いる他のプロセッサエレメントＰＥへの転送があり得るプロセッサエレメントＰＥのレジスタ３を他のレジスタ３よりも高速で読み出し可能な高速化レジスタ３ａとすることが好ましい。これにより、より最適なタイミング調整を行うことが可能となる。高速化レジスタ３ａの構成方法としては、例えば、閾値電圧（Ｖｔｈ）を変更することで構成することができ、レジスタの回路構成を変更することなく容易に対応することが可能である。
【００５３】
［第４の実施形態］
図７は、本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成（ＳＩＭＤ型プロセッサ１４０）を示すブロック図である。第４の実施形態では、レジスタ３の遅延回路５に替えて、ラッチ回路（ＬＴ）６を用いて１位相分遅いクロック信号で制御するようにしたものである。
【００５４】
したがって、レジスタ３からの出力信号を、一つ遅いクロック信号との差分（遅延素子４の１個分の遅延）と同等のデータ保持時間を確保することができる。なお、点線で示すラッチ回路６ａは、遅延回路５ａと同様に、自身のクロック信号ＣＫ３より遅いクロック信号を使うプロセッサエレメントＰＥへの転送がないため、必須でないラッチ回路を示している。また、図７の例では、第１の実施形態（図３）における遅延回路５をラッチ回路６とする例を示したが、他の実施形態の構成においても同様に適用することができる。
【００５５】
［第５の実施形態］
図８は、本発明に係るＳＩＭＤ型プロセッサの他の実施形態の構成（ＳＩＭＤ型プロセッサ１５０）を示すブロック図である。上記第４の実施形態のようにラッチ回路６を用いた構成は、遅延素子４により遅延差のあるクロック信号を生成する方式よりも、クロックと内部クロックとの位相比較を行い、遅延の値を可変させ、外部クロックとメモリ内部のクロック位相を一致させるＤＬＬ（Delay  Locked  Loop）回路によりエッジ制御を行う方式に好適である。
【００５６】
図８のＳＩＭＤ型プロセッサ１５０は、クロック信号の生成にＤＬＬ回路７を用いてクロック位相を４等分したものである。この位相に合わせて、レジスタ３のデータの出力保持時間が追随するため、より精度の高いクロック位相のシフトを可能とすることができる。
【００５７】
以上説明した実施形態に係るＳＩＭＤ型プロセッサによれば、並列処理を行う場合においても全てのプロセッサエレメントＰＥを一斉に同時動作させるのではなく、プロセッサエレメントＰＥごとにタイミングをずらせて動作させることができるため、同時動作による過大なピーク電流を防止することができる。その結果、電源ノイズやＩＲドロップをより小さくすることができる。
【００５８】
また、隣接画素との演算処理を行うような場合においても、制御クロックの位相差と同等のタイミング調整機能を持たせているため、過大な動作マージンを付加する必要がなく、動作性能を向上させることができる。したがって、動作速度を落とすことなく、電源ノイズ等による誤動作を起こしにくいＳＩＭＤ型のマイクロプロセッサを構成することができる。
【００５９】
尚、上述の実施形態は本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。
【００６０】
例えば、図９に示すように、クロックスキューを生じさせずに動作させる場合に必要なクロックの選択切替回路１０を備えることも好ましい。選択切替回路１０は、マルチプレクサ８を備えることで、遅延差のない同相のクロック信号の生成をするものである。例えば、ＳＩＭＤ型プロセッサの機能として、並列演算だけでなく、全てのプロセッサエレメントＰＥのレジスタ３の論理和をグローバルプロセッサ１に転送するなど、機能（命令の種類）によっては消費電流も少なく、同時動作させることが好ましい場合もある。そこで、選択切替回路１０を備えることで、そのようなモードに合わせて、クロックの同一制御を選択可能とすることも好ましい。
【符号の説明】
【００６１】
１  グローバルプロセッサ
２  演算器
３  レジスタ
３ａ  高速化レジスタ
４  遅延素子
５，５ａ  遅延回路
６，６ａ  ラッチ回路
７  ＤＬＬ回路
８  マルチプレクサ
１０  選択切替回路
２１，２２  マルチプレクサ
２３  パイプラインレジスタ
２４  Ａレジスタ
１００，１１０，１２０，１３０，１４０，１５０  ＳＩＭＤ型プロセッサ
ＰＥ  プロセッサエレメント
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２０１０−１４０３０９号公報
【特許文献２】特開２０１２−１９４７７４号公報
【図１】
2014222437.tif 000003
【図２】
2014222437.tif 000004
【図３】
2014222437.tif 000005
【図４】
2014222437.tif 000006
【図５】
2014222437.tif 000007
【図６】
2014222437.tif 000008
【図７】
2014222437.tif 000009
【図８】
2014222437.tif 000010
【図９】
2014222437.tif 000011