(57)【要約】【課題】画像処理回路の消費電力を削減する。【解決手段】プロセッサエレメントＰＥｎの制御データレジスタ８１は、プロセッサエレメントＰＥｎのデータレジスタ７１に格納されたデータがプロセッサエレメントＰＥｎのデータレジスタ７１の次に読み出されるプロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されたデータと一致するか否かを示すプリチャージ制御データを格納する。バス制御回路４４は、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１からデータを読み出すとき、プロセッサエレメントＰＥｎの制御データレジスタ８１のプリチャージ制御データに基づいて、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されたデータが、プロセッサエレメントＰＥｎのデータレジスタ７１に格納されたデータと一致するときは、レジスタ選択データバス５０１のプリチャージを抑止する。【選択図】図２
2012043211.tif 000002
【特許請求の範囲】
【請求項１】
それぞれデータを格納する複数のデータレジスタと、
上記複数のデータレジスタに対応して設けられ、それぞれ所定のプリチャージ制御データを格納する複数の制御データレジスタと、
上記複数のデータレジスタに接続された第１のダイナミックバスと、
上記複数の制御データレジスタに接続された第２のダイナミックバスと、
上記各データレジスタから、上記第１のダイナミックバスを介して上記データを読み出し、上記各制御データレジスタから、上記第２のダイナミックバスを介して上記プリチャージ制御データを読み出すバス制御回路とを備えた画像処理回路であって、
上記各制御データレジスタは、処理対象の制御データレジスタに対応する第１のデータレジスタに格納された第１のデータと、上記第１のデータの次に読み出される第２のデータであって、上記第１のデータレジスタとは別の第２のデータレジスタに格納された第２のデータとが一致するか否かを示すプリチャージ制御データを予め格納し、
上記バス制御回路は、上記第１のデータと、上記第１のデータレジスタに対応する制御データレジスタに格納されたプリチャージ制御データとを読み出し、上記読み出したプリチャージ制御データに基づいて、上記第２のデータが上記第１のデータと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第２のデータを上記第２のデータレジスタから読み出す一方、上記第２のデータが上記第１のデータと一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第２のデータを上記第２のデータレジスタから読み出すことを特徴とする画像処理回路。
【請求項２】
所定の命令を実行することにより、上記各データレジスタに格納されたデータに基づいて、上記各プリチャージ制御データを生成して上記各制御データレジスタに格納する制御手段をさらに備えたことを特徴とする請求項１記載の画像処理回路。
【請求項３】
上記バス制御回路は、上記第１のダイナミックバスをプリチャージした後に、入力される書込データを、上記第１のダイナミックバスを介して所定のデータレジスタに書き込むことを特徴とする請求項１又は２記載の画像処理回路。
【請求項４】
上記バス制御回路は、
（１）第３のデータを第３のデータレジスタから読み出した後に第１の書込データを入力したとき、上記第１の書込データを上記第３のデータと比較し、上記第１の書込データが上記第３のデータと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第１の書込データを上記第１のダイナミックバスを介して所定のデータレジスタに書き込む一方、一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込み、
（２）第２の書込データを第４のデータレジスタに書き込んだ後に上記第１の書込データを入力したとき、上記第１の書込データを上記第２の書込データと比較し、上記第１の書込データが上記第２の書込データと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込む一方、一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込み、
（３）第３の書込データを第３のデータレジスタに書き込んだ後に上記第１のデータの読み出しを指示する制御信号を受信したとき、上記第１のダイナミックバスをプリチャージした後に、上記第１のデータを上記第１のデータレジスタから上記第１のダイナミックバスを介して読み出すように制御することを特徴とする請求項１又は２記載の画像処理回路。
【請求項５】
請求項１乃至４のうちのいずれか１つに記載の画像処理回路を備えた画像処理装置であって、
上記画像処理回路は複数のプロセッサエレメントを備えたＳＩＭＤ（Single Instruction stream Multiple Data stream）型プロセッサであり、
上記各プロセッサエレメントは、上記複数のデータレジスタのうちの１つのデータレジスタと、当該データレジスタに対応して設けられた制御データレジスタとを備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理回路、及び当該画像処理回路を備えた画像処理装置に関する。
【背景技術】
【０００２】
近年、デジタルコピア、デジタル複写機又はファクリミリ装置等の画像処理装置において、画素数を増加させたり、あるいはカラー対応の構成にしたりするなどの画質の向上が要求されている。そして、画質の向上に伴い、処理すべきデータ数が増加しており、画像処理のためのＩＰＵ（Image Processing Unit：イメージプロセッシングユニット）の処理性能の向上が必須になってきている。一方、画像処理装置におけるデータ処理では、全ての画素データに対して同一の演算処理を行うことが多い。そこで、１つの命令で複数のデータに対して同時に同一の演算処理を行うＳＩＭＤ（Single Instruction stream Multiple Data stream）型プロセッサがＩＰＵとして用いられるようになっている。
【０００３】
一般に、画像処理回路を構成するＳＩＭＤ型プロセッサは、複数段の汎用レジスタ（例えば、Ｒ０レジスタ、Ｒ１レジスタ、…といわれる。）をそれぞれ備えた複数の演算ユニット（Processor Unit（以下、プロセッサエレメント又はＰＥという。））を画像データの主走査方向に並べて構成される。そして、全てのプロセッサエレメントの各同一段の汎用レジスタに対してそれぞれ１ライン分の画像データが転送され、当該１ライン分の画像データ内の複数の画素データに対して同一の演算を同時に実行する。ＳＩＭＤ型プロセッサにおいて処理性能の向上をはかるためには、動作周波数の向上、又はプロセッサエレメントの個数を増やして並列度を上げるといった手法が考えられる。
【０００４】
特許文献１には、各プロセッサエレメントに固有のアドレスを割り当て、当該アドレスを指定することにより、ＳＩＭＤ型プロセッサの外部装置とＳＩＭＤ型プロセッサの任意のプロセッサエレメントの汎用レジスタとの間で画像データを送受信する方法が開示されている。このとき、各プロセッサエレメントのレジスタからデータを読み出すためのデータバスは、基本的にワイヤードオア回路の構成を有し、特に、データ転送の速度を高速にするために、図９に示すようなダイナミックオア型の回路構成を有することが多い（特許文献２参照。）。
【０００５】
図９は、従来技術に係る半導体集積回路のデータバス１００１の周辺回路を示す回路図である。ここで、データバス１００１は、所定のプリチャージ電位にプリチャージされた後に、データバス１００１に接続されたレジスタなどの記憶手段に格納されたデータに基づいてプリチャージ電位を保持され又はディスチャージされることにより、上記データを転送するダイナミックバスである。図９において、データ保持部１００２−１，１００２−２，…はそれぞれ、データバス１００１の対応するラインと接地との間に直列に接続されたＮチャネル型ＭＯＳ電界効果トランジスタ（以下、ＮＭＯＳトランジスタという。）１０２０及び１０２１と、ＮＭＯＳトランジスタ１０２０のゲートに接続されたノアゲート１０２２とを備えたバスドライバ１０２３と、ＮＭＯＳトランジスタ１０２１のゲートに接続された１ビットのレジスタ１０２４とを備えて構成される。さらに、データバス１００１には、チャージ保持部１００３−１が接続される。チャージ保持部１００３−１は、電源電圧Ｖｃｃを出力する電源とデータバス１００１との間に並列に接続されたＰチャネル型ＭＯＳ電界効果トランジスタ（以下、ＰＭＯＳトランジスタという。）１０１０及び１０１１と、ＰＭＯＳトランジスタ１０１１のゲートとデータバス１０１１との間に接続されたインバータ１０１４とを備えて構成される。
【０００６】
また、図９において、所定の周期で周期的に繰り返すパルス形状を有するプリチャージ用のクロック信号ＰＣＫは、ＰＭＯＳトランジスタ１０１０のゲートに出力される。さらに、クロック反転信号ＰＣＫ＃は、ノアゲート１０２２の第１の入力端子に出力される。データ保持部１００２−１，１００２−２，…のうちの１つのデータ保持部を選択するためのデコード信号ＢＳ０＃，ＢＳ１＃，…は、各ノアゲート１０２２の第２の入力端子に出力される。
【０００７】
図９において、クロック信号ＰＣＫの電圧レベルがローレベルであるプリチャージ期間において、ＰＭＯＳトランジスタ１０１０はオンする一方、ＮＭＯＳトランジスタ１０２０及び１０２１はオフし、これによりデータバス１００１はプリチャージされる。また、クロック信号ＰＣＫの電圧レベルがハイレベルであるディスチャージ期間において、ＰＭＯＳトランジスタ１０１０はオフする一方、ＮＭＯＳトランジスタ１０２０又は１０２１はレジスタ１０２４に格納されたデータの値に応じてそれぞれオン又はオフし、これによりデータバス１００１の電位はレジスタ１０２４に格納されたデータの値に対応する電位に変化する。従って、データバス１００１の電位は単方向にのみ遷移するので、高速の読み出し及び書き込みが可能である。しかしながら、図９のレジスタ１０２４がＳＩＭＤ型プロセッサの各プロセッサエレメント内の汎用レジスタに対応している場合、プロセスの微細化が進み上述したようにプロセッサエレメントの数が増加するのに伴って、比較的長い配線長を有するデータバス１００１の充放電に必要な電力が全体の消費電力に占める割合が大きくなってきており、充放電に必要な電力を抑制することが急務となって来ている。
【０００８】
特許文献３に記載の半導体集積回路によれば、ダイナミックバス（図９のデータバス１００１に対応する。）を用いたデータ転送において、転送するデータのうちのデータ「１」の個数が少なくなるように、排他的論理和演算などによりデータを変更し、データとは別にフラグレジスタを設け、データ毎に、当該データを変更したか否かを示すデータをそのフラグレジスタに格納する。これにより、充放電するビットラインを少なくして、消費電力の削減を行っている。
【０００９】
また、特許文献２には、ダイナミックバスの消費電力を下げるために、ダイナミックバスのプリチャージレベルを電源電圧よりも下げることが記載されている。さらに、特許文献４及び５には、データ転送を行う必要がない場合にダイナミックバスのプリチャージを抑止することで消費電力の削減を行う構成が記載されている。またさらに、特許文献６には、複数のバンクを備えたダイナミック型半導体記憶装置において、動作していないバンクのプリチャージを抑止することで消費電力の削減を行う構成が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献３記載の構成をＳＩＭＤ型プロセッサに適用した場合、ＳＩＭＤ型プロセッサ外部とのインタフェース部に、書き込もうとしているデータのうちデータ「１」の数を計数する装置を設け、ＳＩＭＤ型プロセッサ外部からＳＩＭＤ型プロセッサ内部の汎用レジスタにデータ転送を行うときに、データを変更したか否かを示すフラグデータと共に各プロセッサエレメントに転送し、転送後にそのフラグデータの値に基づいてデータ反転を行うことが容易である。しかしながら、ＳＩＭＤ型プロセッサ内部の汎用レジスタからＳＩＭＤ型プロセッサ外部にデータ転送する際には、各プロセッサエレメントにおいてデータ「１」の数を何サイクルもかけて計数するか、各プロセッサエレメントに計数器を新たに設ける必要があり、かえって消費電力を増やす可能性がある。
【００１１】
また、プロセスの微細化に伴い電源電圧が低下してきており、動作速度を保ったまま、特許文献２に記載されているようにダイナミックバスのプリチャージレベルを下げることは困難になってきている。さらに、近年は、動作中の平均電力の削減が要求されるようになってきているが、特許文献４及び５記載の構成では、動作中の消費電力を削減できない。またさらに、特許文献６記載の構成をＳＩＭＤ型プロセッサに適用した場合、全プロセッサエレメントを、例えば１６個のプロセッサエレメントをそれぞれ含む複数のグループに分割して、グループ毎にプリチャージを抑止したとしても、最後に所定のグループから１つのプロセッサエレメントを選択するときに、ダイナミックバスを構成している部分が最も長配線となる構成であるために消費電力の削減量が限られてしまう問題があった。
【００１２】
本発明の目的は以上の問題点を解決し、従来技術に比較して消費電力を削減できる画像処理回路、及び当該画像処理回路を備えた画像処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
第１の発明に係る画像処理回路は、
それぞれデータを格納する複数のデータレジスタと、
上記複数のデータレジスタに対応して設けられ、それぞれ所定のプリチャージ制御データを格納する複数の制御データレジスタと、
上記複数のデータレジスタに接続された第１のダイナミックバスと、
上記複数の制御データレジスタに接続された第２のダイナミックバスと、
上記各データレジスタから、上記第１のダイナミックバスを介して上記データを読み出し、上記各制御データレジスタから、上記第２のダイナミックバスを介して上記プリチャージ制御データを読み出すバス制御回路とを備えた画像処理回路であって、
上記各制御データレジスタは、処理対象の制御データレジスタに対応する第１のデータレジスタに格納された第１のデータと、上記第１のデータの次に読み出される第２のデータであって、上記第１のデータレジスタとは別の第２のデータレジスタに格納された第２のデータとが一致するか否かを示すプリチャージ制御データを予め格納し、
上記バス制御回路は、上記第１のデータと、上記第１のデータレジスタに対応する制御データレジスタに格納されたプリチャージ制御データとを読み出し、上記読み出したプリチャージ制御データに基づいて、上記第２のデータが上記第１のデータと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第２のデータを上記第２のデータレジスタから読み出す一方、上記第２のデータが上記第１のデータと一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第２のデータを上記第２のデータレジスタから読み出すことを特徴とする。
【００１４】
上記画像処理回路において、所定の命令を実行することにより、上記各データレジスタに格納されたデータに基づいて、上記各プリチャージ制御データを生成して上記各制御データレジスタに格納する制御手段をさらに備えたことを特徴とする。
【００１５】
また、上記画像処理回路において、上記バス制御回路は、上記第１のダイナミックバスをプリチャージした後に、入力される書込データを、上記第１のダイナミックバスを介して所定のデータレジスタに書き込むことを特徴とする。
【００１６】
さらに、上記画像処理回路において、上記バス制御回路は、
（１）第３のデータを第３のデータレジスタから読み出した後に第１の書込データを入力したとき、上記第１の書込データを上記第３のデータと比較し、上記第１の書込データが上記第３のデータと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第１の書込データを上記第１のダイナミックバスを介して所定のデータレジスタに書き込む一方、一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込み、
（２）第２の書込データを第４のデータレジスタに書き込んだ後に上記第１の書込データを入力したとき、上記第１の書込データを上記第２の書込データと比較し、上記第１の書込データが上記第２の書込データと一致するときに上記第１のダイナミックバスをプリチャージすることなく上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込む一方、一致しないときに上記第１のダイナミックバスをプリチャージした後に上記第１の書込データを上記第１のダイナミックバスを介して上記所定のデータレジスタに書き込み、
（３）第３の書込データを第３のデータレジスタに書き込んだ後に上記第１のデータの読み出しを指示する制御信号を受信したとき、上記第１のダイナミックバスをプリチャージした後に、上記第１のデータを上記第１のデータレジスタから上記第１のダイナミックバスを介して読み出すように制御することを特徴とする。
【００１７】
第２の発明に係る画像処理装置は、上記画像処理回路を備えた画像処理装置であって、
上記画像処理回路は複数のプロセッサエレメントを備えたＳＩＭＤ型プロセッサであり、
上記各プロセッサエレメントは、上記複数のデータレジスタのうちの１つのデータレジスタと、当該データレジスタに対応して設けられた制御データレジスタとを備えたことを特徴とする。
【発明の効果】
【００１８】
本発明に係る画像処理回路及び画像処理装置によれば、第１のデータと、第１のデータレジスタに対応する制御データレジスタに格納されたプリチャージ制御データとを読み出し、読み出したプリチャージ制御データに基づいて、第２のデータが第１のデータと一致するときに第１のダイナミックバスをプリチャージすることなく第２のデータを読み出すので、従来技術に比較してプリチャージの回数を削減して消費電力を削減できる。
【図面の簡単な説明】
【００１９】
【図１】ＳＩＭＤ型プロセッサ１と、メモリ２と、データ転送装置３とを備えた本発明の第１の実施形態に係る半導体集積回路の構成を示すブロック図である。
【図２】図１のプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５、及び外部インタフェース４の構成を示す回路図である。
【図３】図１のＳＩＭＤ型プロセッサ１の動作を示すタイミングチャートである。
【図４】比較例に係るＳＩＭＤ型プロセッサの動作を示すタイミングチャートである。
【図５】本発明の第２の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ａ、及びＦＩＦＯ入力インタフェース４Ａの構成を示す回路図である。
【図６】本発明の第３の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ｂ、及び外部インタフェース４Ｂの構成を示す回路図である。
【図７】本発明の第４の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ｂ、及び外部インタフェース４Ｃの構成を示す回路図である。
【図８】図７のプリチャージ抑止検出器４４０の回路図である。
【図９】従来技術に係る半導体集積回路のデータバス１００１の周辺回路を示す回路図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２１】
第１の実施形態．
図１は、ＳＩＭＤ型プロセッサ１と、メモリ２と、データ転送装置３とを備えた本発明の第１の実施形態に係る半導体集積回路の構成を示すブロック図であり、図２は、図１のプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５、及び外部インタフェース４の構成を示す回路図である。図１の半導体集積回路は、例えば、デジタル複写機などの画像処理装置に用いられる。
【００２２】
詳細後述するように、本実施形態に係るＳＩＭＤ型プロセッサ１は、
（ａ）それぞれデータを格納する複数のデータレジスタ７１と、
（ｂ）上記複数のデータレジスタ７１に対応して設けられ、それぞれ所定のプリチャージ制御データを格納する複数の制御データレジスタ８１と、
（ｃ）上記複数のデータレジスタ７１に接続されたレジスタ選択データバス５０１と、
（ｄ）上記複数の制御データレジスタ８１に接続されたレジスタ選択データバス５０２と、
（ｅ）上記各データレジスタ７１から、上記レジスタ選択データバス５０１を介して上記データを読み出し、上記各制御データレジスタ８１から、上記レジスタ選択データバス５０２を介して上記プリチャージ制御データを読み出すバス制御回路４４とを備えて構成される。
【００２３】
ここで、プロセッサエレメントＰＥｎ（ｎ＝０，１，…，５１１）の制御データレジスタ８１は、プロセッサエレメントＰＥｎのデータレジスタ７１に格納された第１のデータと、第１のデータの次に読み出される第２のデータであって、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納された第２のデータとが一致するか否かを示すプリチャージ制御データを予め格納する。本実施形態において、バス制御回路４４は、プロセッサエレメントＰＥ０のデータレジスタ７１、プロセッサエレメントＰＥ１のデータレジスタ７１、…、プロセッサエレメントＰＥ５１１のデータレジスタ７１の順序で、各データレジスタ７１に格納されたデータを読み出す。このとき、バス制御回路４４は、プロセッサエレメントＰＥｎのデータレジスタ７１の第１のデータと、プロセッサエレメントＰＥｎの制御データレジスタ８１に格納されたプリチャージ制御データとを読み出し、上記読み出したプリチャージ制御データに基づいて、第２のデータが第１のデータと一致するときにレジスタ選択データバス５０１をプリチャージすることなく第２のデータをプロセッサエレメントＰＥｎ＋１のデータレジスタ７１から読み出す一方、第２のデータが第１のデータと一致しないときにレジスタ選択データバス５０１をプリチャージした後に第２のデータをプロセッサエレメントＰＥｎ＋１のデータレジスタ７１から読み出すことを特徴としている。
【００２４】
図１の半導体集積回路は、シングルポートメモリにてなる２４個のメモリ２と、各メモリ２に対応して設けられた２４個のデータ転送装置（以下、メモリコントローラともいう。）３と、ＳＩＭＤ型プロセッサ１とを備えて構成される。図１では、１組のメモリ２及びデータ転送装置３のみを示す。各メモリ２は、処理対象の１ライン分の画像データ、又は処理後の１ライン分の画像データなどのデータを格納する。ここで、１ライン分の画像データは複数の画素データを含む。
【００２５】
また、図１において、ＳＩＭＤ型プロセッサ１は、グローバルプロセッサ１００と、外部インタフェース４と、５１２個のプロセッサエレメントＰＥ０，ＰＥ１，…，ＰＥ５１１とを備えて構成される。各プロセッサエレメントＰＥｎは、２４個のデータ記憶回路５（図１では、各プロセッサエレメントＰＥｎにおいて、１個のデータ記憶回路５のみを示す。）と、１つの演算回路１０とを備えて構成される。ここで、各プロセッサエレメントＰＥｎにおいて、２４個のデータ記憶回路５はそれぞれ、外部インタフェース４を介して、対応するデータ転送装置３に接続されている。さらに、各データ記憶回路５は、レジスタコントローラ６と、１６ビットのデータを格納するためのデータ保持回路７と、プリチャージ制御回路８とを備えて構成される。レジスタコントローラ６と、データ保持回路７と、プリチャージ制御回路８の各構成及び動作については、詳細後述する。各プロセッサエレメントＰＥｎには固有のアドレスｎが割り当てられており、詳細後述するように、データ転送装置３は、当該データ転送装置３に対応するメモリ２と、全てのプロセッサエレメントＰＥ０〜ＰＥ５１１の２４段のデータ記憶回路５のうち当該データ転送装置３に対応する段のデータ記憶回路５との間で、各プロセッサエレメントＰＥｎのアドレスを指定してデータ転送を行う。
【００２６】
また、各プロセッサエレメントＰＥｎにおいて、各演算回路１０は、マルチプレクサ１１と、シフタ１２と、マルチプレクサ１３と、３２ビットの算術論理演算回路（以下、ＡＬＵ（Arithmetic Logic Unit）という。）１４と、３２ビットのＡレジスタ１５と、３２ビットのＦレジスタ１６と、１６ビットの条件レジスタ１７（以下、Ｔレジスタ１７ともいう。）とを備えて構成される。
【００２７】
グローバルプロセッサ１００は、ＳＩＳＤ（Single Instruction Stream, Single Data Stream）タイプのプロセッサであり、ＳＩＭＤ型プロセッサ１の全体の動作、ならびにプロセッサエレメントＰＥ０〜ＰＥ５１１及び外部インタフェース４の各動作を制御するとともに、各データ転送装置３に対して動作設定用データ及びデータ転送のためのコマンドなどを送信する。具体的には、グローバルプロセッサ１００は、当該プロセッサによって実行されるプログラムのデータを格納するプログラムＲＡＭ（Random Access Memory）１１１と、演算データを格納するデータＲＡＭ１１２と、演算処理のデータを格納する汎用レジスタＧ０〜Ｇ３と、レジスタ退避及び復帰時に退避先データＲＡＭのアドレスを保持するスタックポインタＳＰと、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタＬＳと、割り込み処理時（ＩＲＱ（Interrupt ReQuest）時及びＮＭＩ（Non-Maskable Interrupt）時）に分岐元アドレスを保持するＬＩレジスタ及びＬＮレジスタと、プロセッサの状態を示すデータを保持するプロセッサステータスレジスタＰと、命令デコーダ１１３とを備えて構成される。グローバルプロセッサ１００は、グローバルプロセッサ命令（ＧＰ命令）を実行するときは、内蔵する汎用レジスタＧ０〜Ｇ３及びＡＬＵ（図示せず。）を使用して各種演算処理、プログラム制御処理を実行する。また、プロセッサエレメント命令（ＰＥ命令）を実行するときは、命令デコーダ１１３と、レジスタファイル制御回路（図示せず。）と、ＰＥ演算制御回路（図示せず。）とを用いて、データ記憶回路５及び演算回路１０の各動作を制御する。
【００２８】
データ転送装置３は、外部インタフェース４を介して、ＳＩＭＤ型プロセッサ１のプロセッサエレメントＰＥ０〜ＰＥ５１１の対応するデータ記憶回路５と接続されていて、グローバルプロセッサ１００からの動作設定用データ及びデータ転送のためのコマンドに基づいて、データの読み出し又は書き込みを指示するためのリード／ライト制御信号と、読み出し元又は書き込み先のプロセッサエレメントの固有アドレスを示すアドレス制御信号と、クロック信号ＰＣＫとを発生して、外部インタフェース４を介して各プロセッサエレメントＰＥ０〜ＰＥ５１１の各データ記憶回路５に出力する。さらに、メモリコントローラ３は、メモリ２にリード／ライト制御信号と、読み出し元又は書き込み先のプロセッサエレメントの固有アドレスを示すアドレス制御信号を出力する。これにより、メモリ２からプロセッサエレメントＰＥ０〜ＰＥ５１１の各データ記憶回路５へのデータ転送（以下、データ書き込みという。）、及びプロセッサエレメントＰＥ０〜ＰＥ５１１の各データ記憶回路５からメモリ２へのデータ転送（以下、データ読み出しという。）が実行される。
【００２９】
図１の各プロセッサエレメントＰＥｎにおいて、演算回路１０は、１６ビットのリード及びライト兼用のバスを介してデータ保持回路７のデータポートＤ２と接続されている。一方、データ保持回路７の読み出しポートＲ２及び書き込みポートＷ２は、それぞれリード制御信号線６０３及びライト制御信号線６０４を介してグローバルプロセッサ１００に接続されており、グローバルプロセッサ１００により、演算回路１０から読み出し可能な状態又は書き込み可能な状態にされる。演算回路１０は、グローバルプロセッサ１００からのＰＥ命令に従って、マルチプレクサ１１と、シフタ１２と、マルチプレクサ１３と、ＡＬＵ１４と、Ａレジスタ１５と、Ｆレジスタ１６と、条件レジスタ１７とを用いて、データ保持回路７に記憶されたデータに対して所定の演算処理を行う。具体的には、演算回路１０において、マルチプレクサ１１は、グローバルプロセッサ１００からのＰＥ命令に従って、当該マルチプレクサ１１を含むプロセッサエレメントと、プロセッサエレメントの配列方向の右側の３個のプロセッサエレメントと、左側の３個のプロセッサエレメントとの各データ保持回路７のうちの１つのデータ保持回路７を選択する。また、シフタ１２は、マルチプレクサ１１から入力されたデータを所定のビット数だけシフトしてマルチプレクサ１３に出力する。さらに、マルチプレクサ１３は、グローバルプロセッサ１００からのプロセッサエレメント命令に従って、シフタ１２から入力されたデータ又はグローバルプロセッサ１００から即値データバス６０５を介して入力されたデータをＡＬＵ１４に出力する。ここで、即値データバス６０５は、命令コードに組み込まれた値（即値）又は汎用レジスタＧ０〜Ｇ３の値を、グローバルプロセッサ１００から演算回路１０に転送するために設けられる。ＡＬＵ１４は、マルチプレクサ１３から入力されたデータ及びＡレジスタ１５から入力されたデータに対して所定の演算を行い、演算結果を含む信号をＡレジスタ１５及び条件レジスタ１７に出力する。さらに、Ａレジスタ１５及びＦレジスタ１６は、条件レジスタ１７に格納された値に基づいて、有効又は無効に設定される。すなわち、条件レジスタ１７を用いることにより、所定のプロセッサエレメントのみを演算対象として選択できる。
【００３０】
図２において、外部インタフェース４は、データ転送装置３からのクロック信号ＰＣＫと、アドレス制御信号と、リード／ライト制御信号とをそれぞれ入力して、各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力するバッファ４１，４２，４３と、バス制御回路４４とを備えて構成される。また、プロセッサエレメントＰＥｎのデータ記憶回路５は、レジスタコントローラ６と、データ保持回路７と、プリチャージ制御回路８とを備えて構成される。さらに、レジスタコントローラ６は、アドレスデコーダ６１と、ノアゲート６２とを備えて構成される。ここで、プロセッサエレメントＰＥｎのアドレスデコーダ６１は、外部インタフェース４からのクロック信号ＰＣＫと、アドレス制御信号と、リード／ライト制御信号とを入力し、アドレス制御信号に含まれるアドレスがプロセッサエレメントＰＥｎに割り当てられているアドレスｎと一致し、かつリード／ライト制御信号がデータ読み出しを示すときに、ローレベルのデコード信号ＢＳｎ＃を発生する。さらに、ノアゲート６２は、デコード信号ＢＳｎ＃と、クロック反転信号ＰＣＫ＃とに対して否定論理和演算を行う。
【００３１】
また、図２において、データ保持回路７は、画素データなどの１６ビットのデータを格納するデータレジスタ７１と、ダイナミックバスである１６ビットのレジスタ選択データバス５０１と接地との間に直列に接続されたＮＭＯＳトランジスタ７２及び７３とを備えて構成される。ここで、ノアゲート６２からの出力信号はＮＭＯＳトランジスタ７２に出力され、データレジスタ７１からの出力信号はＮＭＯＳトランジスタ７３のゲートに出力される。
【００３２】
さらに、図２において、プリチャージ制御回路８は、１ビットのプリチャージ制御データを格納する制御データレジスタ８１と、ダイナミックバスである１ビットのレジスタ選択データバス５０２と接地との間に直列に接続されたＮＭＯＳトランジスタ８２及び８３とを備えて構成される。ここで、ノアゲート６２からの出力信号はＮＭＯＳトランジスタ８２に出力され、制御データレジスタ８１からの出力信号はＮＭＯＳトランジスタ８３のゲートに出力される。ここで、プロセッサエレメントＰＥｎの制御データレジスタ８１に格納されるプリチャージ制御データは、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されるデータがプロセッサエレメントＰＥｎのデータレジスタ７１に格納されるデータと一致するときは「１」であり、一致しないときは「０」である。すなわち、プロセッサエレメントＰＥ０〜Ｐ５１１の各データレジスタ７１からデータが順次読み出されるときに、プロセッサエレメントＰＥｎの制御データレジスタ８１は、プロセッサエレメントＰＥｎのデータレジスタ７１に格納されたデータが、プロセッサエレメントＰＥｎのデータレジスタ７１の次に読み出されるプロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されたデータと一致するか否かを示すプリチャージ制御データを格納する。
【００３３】
また、図２の外部インタフェース４において、バス制御回路４４は、ＰＭＯＳトランジスタ４０１と、バスリピータを構成するインバータ４０２及び４０３と、インバータ４０４と、ラッチ回路４０５と、オアゲート４０６と、ＰＭＯＳトランジスタ４０７と、バスリピータを構成するインバータ４０８及び４０９と、フリップフロップ回路４１０とを備えて構成される。ここで、ＰＭＯＳトランジスタ４０１の第１の端子は電源電圧Ｖｃｃを出力する電源に接続され、第２の端子はレジスタ選択データバス５０２のノードＮ１に接続され、ゲートにはクロック信号ＰＣＫが出力される。また、インバータ４０３の入力端子及びインバータ４０２の出力端子はノードＮ１に接続され、インバータ４０３の出力端子及びインバータ４０２の入力端子はノードＮ２に接続されている。さらに、インバータ４０４の入力端子はレジスタ選択データバス５０２のノードＮ２に接続され、インバータ４０４からの出力信号はラッチ回路４０５のデータ入力端子に出力される。ラッチ回路４０５のクロック入力端子にはクロック信号ＰＣＫが出力され、ラッチ回路４０５からの出力信号ＳＬＴ２は、オアゲート４０６の第１の入力端子に出力される。
【００３４】
さらに、オアゲート４０６の第２の入力端子にはクロック信号ＰＣＫが出力され、オアゲート４０６からの出力信号は、プリチャージクロック信号ＰＣＫ２としてＰＭＯＳトランジスタ４０７のゲートに出力される。ＰＭＯＳトランジスタ４０７の第１の端子は電源電圧Ｖｃｃを出力する電源に接続され、第２の端子はレジスタ選択データバス５０１のノードＮ３に接続される。また、インバータ４０９の入力端子及びインバータ４０８の出力端子はノードＮ３に接続され、インバータ４０９の出力端子及びインバータ４０８の入力端子はレジスタ選択データバス５０１のノードＮ４に接続されている。さらに、フリップフロップ回路４１０のデータ入力端子はノードＮ４に接続され、クロック入力端子にはクロック反転信号ＰＣＫ＃が出力される。そして、フリップフロップ回路４１０からの出力信号は読出データとしてデータ転送装置３に出力される。
【００３５】
なお、図２において、レジスタ選択データバス５０１は、１６ビットのデータの各ビットにそれぞれ対応する１６本のラインを含み、データ保持回路７及び回路要素４０７〜４１０は、各ビット毎に設けられるが、図２及び以下の図では、簡略化のために１ビット分のデータ保持回路７及び回路要素４０７〜４１０のみを示す。
【００３６】
次に、図３を参照して、以上のように構成されたＳＩＭＤ型プロセッサ１の動作を説明する。図３は、図１のＳＩＭＤ型プロセッサ１の動作を示すタイミングチャートである。図３の例では、プロセッサエレメントＰＥ０，ＰＥ１，ＰＥ２，ＰＥ３の各データレジスタ７１は、予め以下のデータを格納している。なお、以下の数値において先頭に「０ｘ」が付加された数値は１６進数であり、先頭に「０ｂ」が付加された数値は２進数である。
【００３７】
プロセッサエレメントＰＥ０のデータレジスタ７１：０ｘ４５６７（０ｂ０１０００１０１０１１００１１１）；
プロセッサエレメントＰＥ１のデータレジスタ７１：０ｘ７７８８（０ｂ０１１１０１１１１０００１０００）；
プロセッサエレメントＰＥ２のデータレジスタ７１：０ｘ７７８８（０ｂ０１１１０１１１１０００１０００）；
プロセッサエレメントＰＥ３のデータレジスタ７１：０ｘ３３３３（０ｂ００１１００１１００１１００１１．
【００３８】
このとき、グローバルプロセッサ１００は、各プロセッサエレメントＰＥｎの演算回路１０を、以下の表１の各命令を実行するように制御することにより、各データレジスタ７１のデータに基づいてプリチャージ制御データを生成して各制御データレジスタ８１に予め格納する。表１の各命令は、全てのプロセッサエレメントＰＥ０〜ＰＥ５１１において、同時に実行される。
【００３９】
［表１］
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿
ＬＤＡ  Ｒ０
ＣＭＰ／Ｔ１／ＥＱ  Ｒ０：Ｕ１
ＳＴＴ  Ｅ０：Ｚ１
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿
【００４０】
ここで、命令「ＬＤＡ  Ｒ０」をプロセッサエレメントＰＥｎにおいて実行すると、プロセッサエレメントＰＥｎのＡレジスタ１５には、Ｒ０レジスタ（プロセッサエレメントＰＥｎのデータレジスタ７１に対応する。）の値が格納される。また、命令「ＣＭＰ／Ｔ１／ＥＱ  Ｒ０：Ｕ１」をプロセッサエレメントＰＥｎにおいて実行すると、プロセッサエレメントＰＥｎ＋１のＲ０レジスタ（プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に対応する。）の値とＡレジスタ１５に格納された値とが比較され、一致している場合にはＴ１レジスタ（条件レジスタ１７に対応する。）に「１」が格納される一方、一致していない場合にはＴ１レジスタに「０」が格納される。そして、命令「ＳＴＴ  Ｅ０：Ｚ１」をプロセッサエレメントＰＥｎにおいて実行すると、条件レジスタ１７に格納された値を右に１ビットだけシフトした値が、プリチャージ制御データとして、Ｅ０レジスタ（プロセッサエレメントＰＥｎの制御データレジスタ８１に対応する。）に格納される。
【００４１】
図３の例では、プロセッサエレメントＰＥ１のデータレジスタ７１に格納されているデータは、プロセッサエレメントＰＥ０のデータレジスタ７１に格納されているデータと一致しないので、プロセッサエレメントＰＥ０の制御データレジスタ８１は、プリチャージ制御データ「０」を予め格納している。また、プロセッサエレメントＰＥ２のデータレジスタ７１に格納されているデータは、プロセッサエレメントＰＥ１のデータレジスタ７１に格納されているデータと一致するので、プロセッサエレメントＰＥ１の制御データレジスタ８１は、プリチャージ制御データ「１」を予め格納している。さらに、プロセッサエレメントＰＥ２のリードレジスタ７１に格納されているデータは、プロセッサエレメントＰＥ１のレジスタ７１に格納されているデータと一致しないので、プロセッサエレメントＰＥ１の制御データレジスタ８１は、プリチャージ制御データ「０」を予め格納している。
【００４２】
図３において、グローバルプロセッサ１００は、プロセッサエレメントＰＥ０のデータレジスタ７１，プロセッサエレメントＰＥ１のデータレジスタ７１，プロセッサエレメントＰＥ２のデータレジスタ７１，ＰＥ３のデータレジスタ７１，…の順序で、データを読み出すように、データ転送装置３を制御する。これに応答して、データ転送装置３は、読み出し期間Ｔ１において、アドレス「０」を含むアドレス制御信号を発生し、読み出し期間Ｔ１に続く読み出し期間Ｔ２において、アドレス「１」を含むアドレス制御信号を発生し、読み出し期間Ｔ２に続く読み出し期間Ｔ３において、アドレス「２」を含むアドレス制御信号を発生し、外部インタフェース４に出力する。さらに、データ転送装置３は、読み出し期間Ｔ１〜Ｔ３において、データ読み出しを示すリード／ライト制御信号を発生して、外部インタフェース４に出力する。これにより、プロセッサエレメントＰＥ０，ＰＥ１，ＰＥ２の順序で、各データレジスタ７１からデータが読み出されることになる。また、各読み出し期間Ｔ１，Ｔ２，Ｔ３の前半は、クロック信号ＰＣＫの電圧レベルがローレベルであるプリチャージ期間Ｔ１ｐ，Ｔ２ｐ，Ｔ３ｐであり、各読み出し期間Ｔ１，Ｔ２，Ｔ３の後半は、クロック信号ＰＣＫの電圧レベルがハイレベルであるディスチャージ期間Ｔ１ｄ，Ｔ２ｄ，Ｔ３ｄである。
【００４３】
図３において、各プリチャージ期間Ｔ１ｐ，Ｔ２ｐ，Ｔ３ｐにおいて、クロック信号ＰＣＫの電圧レベルはローレベルになり、これに応答して、プリチャージ用のＰＭＯＳトランジスタ４０１がオンする。従って、レジスタ選択データバス５０２の電位はハイレベルになり、レジスタ選択データバス５０２はプリチャージされる。また、各プリチャージ期間Ｔ１ｐ，Ｔ２ｐ，Ｔ３ｐにおいて、ラッチ回路４０５の出力信号ＳＬＴ２の電圧レベルがローレベルのときは、プリチャージクロック信号ＰＣＫ２の電圧レベルがローレベルになり、これに応答して、プリチャージ用のＰＭＯＳトランジスタ４０７がオンする。従って、レジスタ選択データバス５０１はハイレベルになり、レジスタ選択データバス５０１はプリチャージされる。一方、各プリチャージ期間Ｔ１ｐ，Ｔ２ｐ，Ｔ３ｐにおいて、ラッチ回路４０５の出力信号ＳＬＴ２の電圧レベルがハイレベルのときは、プリチャージ用のＰＭＯＳトランジスタ４０７がオンしないので、レジスタ選択データバス５０１の電位はインバータ４０８及び４０９により構成されるバスリピータによって保持される。なお、各プリチャージ期間Ｔ１ｐ，Ｔ２ｐ，Ｔ３ｐにおいて、クロック反転信号ＰＣＫ＃の電圧レベルはハイレベルであるので、レジスタ選択データバス５０１をディスチャージするための全てＮＭＯＳトランジスタ７２，７３、及びレジスタ選択データバス５０２をディスチャージするための全てＮＭＯＳトランジスタ８２，８３はオフしている。
【００４４】
読み出し期間Ｔ１のディスチャージ期間Ｔ１ｄにおいて、クロック信号ＰＣＫの電圧レベルがハイレベルになり、これに応答してプリチャージ用のＰＭＯＳトランジスタ４０１及び４０７はオフする。一方、クロック反転信号ＰＣＫ＃の電圧レベルはローレベルになるので、デコード信号ＢＳｎ＃の電圧レベルがローレベルのプロセッサエレメントＰＥｎにおいて、ＮＭＯＳトランジスタ７２及び８２がオンする。さらに、データレジスタ７１に格納されているデータが「０」のときは、ＮＭＯＳトランジスタ７３がオンしてレジスタ選択データバス５０１はディスチャージされる（レジスタ選択データバス５０１の電位がハイレベルからローレベルに遷移する）。一方、データレジスタ７１に格納されているデータが「１」のときは、ＮＭＯＳトランジスタ７３はオフするので、レジスタ選択データバス５０１はディスチャージされない。ディスチャージ期間Ｔ１ｄにおいて、レジスタ選択データバス５０２は、レジスタ選択データバス５０１と同様に、制御データレジスタ８１に格納されているプリチャージ制御データが「０」のときにディスチャージされる一方、制御データレジスタ８１に格納されているプリチャージ制御データが「１」のときにディスチャージされない。図３の例では、プロセッサエレメントＰＥ０の制御データレジスタ８１はプリチャージ制御データ「０」を格納しているので、読み出し期間Ｔ１のディスチャージ期間Ｔ１ｄにおいて、レジスタ選択データバス５０２の電位はハイレベルからローレベルに遷移する。そして、レジスタ選択データバス５０２のローレベルの電位がラッチ回路４０５によってラッチされる。
【００４５】
プリチャージクロック信号ＰＣＫ２は、クロック信号ＰＣＫとラッチ回路４０５の出力信号ＳＬＴ２との論理和である（図２参照。）。従って、図３において、プリチャージ期間Ｔ１ｐ及びＴ２ｐにおいて、プリチャージクロック信号ＰＣＫ２の電圧レベルはローレベルになり、レジスタ選択データバス５０１はプリチャージされる。一方、プリチャージ期間Ｔ３ｐにおいて、プリチャージクロック信号ＰＣＫ２の電圧レベルはハイレベルになり、レジスタ選択データバス５０１のプリチャージは抑止（停止又は禁止）される。このため、プリチャージ期間Ｔ３ｐ及びディスチャージ期間Ｔ３ｄにおいて、レジスタ選択データバス５０１の電位は、ディスチャージ期間Ｔ２ｄにおける電位から変化せず、レジスタ選択データバス５０１はプリチャージ及びディスチャージされない。
【００４６】
図４は、比較例に係るＳＩＭＤ型プロセッサの動作を示すタイミングチャートである。比較例に係るＳＩＭＤ型プロセッサの出力回路は、図２のバス制御回路４４に比較して、クロック信号ＰＣＫを、プリチャージクロック信号ＰＣＫ２Ａとして、ＰＭＯＳトランジスタ４０７のゲートに出力するように構成した点が異なる。図４に示すように、比較例に係るＳＩＭＤ型プロセッサでは、プリチャージ期間Ｔ３ｐにおいて、レジスタ選択データバス５０１はプリチャージされている。
【００４７】
従って、本実施形態によれば、プロセッサエレメントＰＥ０〜ＰＥ５１１の各データレジスタ７１から、レジスタ選択データバス５０１を介して順次データを読み出すときに、プロセッサエレメントＰＥｎの制御データレジスタ８１に格納されているプリチャージ制御データに基づいて、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されたデータが、プロセッサエレメントＰＥｎ＋１のデータレジスタ７１に格納されたデータを読み出す直前に読み出されたプロセッサエレメントＰＥｎのデータレジスタ７１に格納されたデータと一致するときにレジスタ選択データバス５０１のプリチャージを抑止する。従って、１６ビットのビット幅を有する読み出し用のレジスタ選択データバス５０１の充放電回数は従来技術に比較して減少するので、データ読み出し時の消費電力を削減できる。
【００４８】
また、本実施形態によれば、グローバルプロセッサ１００は、所定の命令を実行するように各プロセッサエレメントＰＥｎの演算回路１０を制御して、各制御データレジスタ８１にプリチャージ制御データを格納するので、各データレジスタ７１に格納されたデータを互いに比較するための比較回路を追加することなく、比較的少ないハードウエアを追加するだけで従来技術に比較して消費電力を削減できる。
【００４９】
なお、レジスタ選択データバス５０１を介して同一のデータを連続して転送するときにレジスタ選択データバス５０１のプリチャージ及びディスチャージを抑止することによる消費電力の削減効果は、転送されるデータの中に連続する同一のデータがどれだけ含まれるかによって変動する。例えば、本実施形態をデジタルコピアに適用した場合には、白色の背景などのように、同一の画素値を取るデータの出現頻度が高いこと、及び画像処理後のデータはプロッタへ転送される際に階調処理を施されて２値又は３値などのビット幅の少ないデータとなることから、消費電力の削減効果は大きくなる。
【００５０】
第２の実施形態．
図５は、本発明の第２の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ａ、及びＦＩＦＯ入力インタフェース４Ａの構成を示す回路図である。なお、図５において、説明を容易にするために、エンプティ、フルなどのフラグなどは図示していない。本実施形態は、第１の実施形態の構成を、先入れ先出し（First In, First Out：以下、ＦＩＦＯという。）動作を行う画像処理装置に適用したものである。図５において、ＦＩＦＯ入力インタフェース４Ａは、ＳＩＭＤ型プロセッサ１の外部インタフェース４とは異なり、ライトポインタとリードポインタとを独立して制御することにより、読み出し処理と書き込み処理とを独立して行う。このため、図２の構成と比較して、レジスタ選択データバス５０１及び５０２に代えて、データ読み出しのためのレジスタリードバス５０１Ａ及び５０２Ａを備え、データ書き込みのためのレジスタライトバス５０３及び５０４をさらに備える。ここで、レジスタリードバス５０１Ａ及び５０２Ａ並びにレジスタライトバス５０３及び５０４は、それぞれダイナミックバスである。
【００５１】
図５において、ＦＩＦＯ入力インタフェース４Ａは、
（ａ）クロック信号ＰＣＫをデータ転送装置３から入力して、各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力する直列に接続されたバッファ４１及び４５と、
（ｂ）読み出し元のプロセッサエレメントの固有アドレスを示すリードアドレス制御信号をデータ転送装置３から入力して、各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力する直列に接続されたバッファ４２及び４６と、
（ｃ）読み出しを行うか否かを示すリードイネーブル信号をデータ転送装置３から入力して、各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力する直列に接続されたバッファ４３及び４７と、
（ｄ）バス制御回路４４Ａとを備えて構成される。
【００５２】
さらに、バス制御回路４４Ａは、レジスタリードバス５０１Ａ及び５０２Ａに対して接続された図２のバス制御回路４４と、フリップフロップ回路４２０，４２１，４２３〜４２７と、比較器４２２とを備えて構成される。ここで、フリップフロップ回路４２０，４２１，４２３〜４２７の各クロック入力端子には、クロック反転信号ＰＣＫ＃が出力される。データ転送装置３からの書込データは、フリップフロップ回路４２０及び４２１を介して１６ビットのレジスタライトバス５０３に出力される。また、データ転送装置３からの書き込みを行うか否かを示すライトイネーブル信号は、フリップフロップ回路４２４及び４２５を介して各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力される。さらに、データ転送装置３からの書き込み先のプロセッサエレメントの固有アドレスを示すライトアドレス制御信号は、フリップフロップ回路４２６及び４２７を介して各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力される。
【００５３】
また、比較器４２２は、データ転送装置３から出力された書込データと、フリップフロップ回路４２０から出力された書込データとを比較し、一致するときにハイレベルの出力信号Ｓ４２２をフリップフロップ回路４２３を介してレジスタライトバス５０４に出力する一方、一致しないときにローレベルの出力信号Ｓ４２２をフリップフロップ回路４２３を介してレジスタライトバス５０４に出力する。これにより、データ書き込み時に、比較器４２２により、転送対象の書込データと、転送対象の書込データを入力する直前に転送された書込データとを比較し、当該比較結果を示すプリチャージ制御データを、レジスタライトバス５０４を介して各制御データレジスタ８１に格納することができる。なお、フリップフロップ回路４２０は、データ転送装置３からのライトイネーブル信号がデータ書き込みを示すときにのみ動作し、これにより、フリップフロップ回路４２０を常に動作させる場合よりも消費電力を削減できる。
【００５４】
また、図５において、各プロセッサエレメントＰＥｎのデータ記憶回路５Ａは、レジスタコントローラ６Ａと、データ保持回路７Ａと、プリチャージ制御回路８Ａと、ライトアドレスデコーダ９とを備えて構成される。さらに、レジスタコントローラ６Ａは、リードアドレスデコーダ６１Ａと、ノアゲート６２とを備えて構成される。ここで、プロセッサエレメントＰＥｎのリードアドレスデコーダ６１Ａは、ＦＩＦＯ入力インタフェース４Ａからのクロック信号ＰＣＫと、リードアドレス制御信号と、リードイネーブル信号とを入力し、リードアドレス制御信号に含まれるアドレスがプロセッサエレメントＰＥｎに割り当てられているアドレスｎと一致し、かつリードイネーブル制御信号がデータ読み出しを示すときに、ローレベルのデコード信号ＢＳｎ＃を発生する。さらに、ノアゲート６２は、デコード信号ＢＳｎ＃と、クロック反転信号ＰＣＫ＃とに対して否定論理和演算を行う。
【００５５】
また、図５において、データ保持回路７Ａは、画素データなどの１６ビットのデータを予め格納するデータレジスタ７１と、ダイナミックバスである１６ビットのレジスタリードバス５０１Ａと接地との間に直列に接続されたＮＭＯＳトランジスタ７２及び７３とを備えて構成される。ここで、ノアゲート６２からの出力信号はＮＭＯＳトランジスタ７２に出力され、データレジスタ７１からの出力信号はＮＭＯＳトランジスタ７３のゲートに出力される。
【００５６】
さらに、図５において、プリチャージ制御回路８Ａは、１ビットのプリチャージ制御データを格納する制御データレジスタ８１と、ダイナミックバスである１ビットのレジスタリードバス５０２Ａと接地との間に直列に接続されたＮＭＯＳトランジスタ８２及び８３とを備えて構成される。
【００５７】
またさらに、各プロセッサエレメントＰＥｎのライトアドレスデコーダ９は、ＦＩＦＯ入力インタフェース４Ａからのクロック信号ＰＣＫと、ライトアドレス制御信号と、ライトイネーブル信号とを入力し、ライトアドレス制御信号に含まれるアドレスがプロセッサエレメントＰＥｎに割り当てられているアドレスｎと一致し、ライトイネーブル信号がデータ書き込みを示すときに、ローレベルの書き込み制御信号ＷＲｎを発生して、プロセッサエレメントＰＥｎのデータレジスタ７１及び制御データレジスタ８１に出力する。ローレベルの書き込み制御信号ＷＲｎに応答して、データレジスタ７１はレジスタライトバス５０３に出力された書込データを格納し、制御データレジスタ８１はレジスタライトバス５０４に出力されたプリチャージ制御データを格納する。
【００５８】
以上説明したように構成することにより、読み出されるデータが、当該リードデータを読み出す直前に読み出されたデータと一致するときにレジスタ選択データバス５０１のプリチャージを抑止するので、第１の実施形態と同様に、レジスタリードバス５０１Ａの充放電回数を従来技術に比較して減少して、消費電力を削減できる。さらに、ＦＩＦＯにより各データレジスタ７１に、入力された書込データを書き込むときに、比較器４２２により、入力された書込データと、当該書込データを入力する直前に転送された書込データとを比較し、当該比較結果を示すプリチャージ制御データを、レジスタライトバス５０４を介して各制御データレジスタ８１に格納することができる。
【００５９】
第３の実施形態．
図６は、本発明の第３の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ｂ、及び外部インタフェース４Ｂの構成を示す回路図である。本実施形態は、第１の実施形態に比較して、レジスタ選択データバス５０１を、データ書き込みにも用いたことを特徴としている。
【００６０】
図６において、外部インタフェース４Ｂは、データ転送装置３からのクロック信号ＰＣＫと、アドレス制御信号と、リード／ライト制御信号とをそれぞれ入力して、各プロセッサエレメントＰＥ０〜ＰＥ５１１に出力するバッファ４１，４２，４３と、バス制御回路４４Ｂとを備えて構成される。また、プロセッサエレメントＰＥｎのデータ記憶回路５Ｂは、レジスタコントローラ６Ｂと、データ保持回路７Ｂと、図２のプリチャージ制御回路と同様に構成されたプリチャージ制御回路８とを備えて構成される。さらに、レジスタコントローラ６Ｂは、アドレスデコーダ６１Ｂと、ノアゲート６２とを備えて構成される。ここで、プロセッサエレメントＰＥｎのアドレスデコーダ６１Ｂは、外部インタフェース４Ｂからのクロック信号ＰＣＫと、アドレス制御信号と、リード／ライト制御信号とを入力し、アドレス制御信号に含まれるアドレスがプロセッサエレメントＰＥｎに割り当てられているアドレスｎと一致し、かつリード／ライト制御信号がデータ読み出しを示す（リード／ライト制御信号の電圧レベルがハイレベルである。）ときに、ローレベルのデコード信号ＢＳｎ＃を発生する。また、プロセッサエレメントＰＥｎのアドレスデコーダ６１Ｂは、アドレス制御信号に含まれるアドレスがプロセッサエレメントＰＥｎに割り当てられているアドレスｎと一致し、リード／ライト制御信号がデータ書き込みを示す（リード／ライト制御信号の電圧レベルがローレベルである。）ときに、ローレベルの書き込み制御信号ＷＲｎを発生して、プロセッサエレメントＰＥｎのデータレジスタ７１に出力する。さらに、ノアゲート６２は、デコード信号ＢＳｎ＃と、クロック反転信号ＰＣＫ＃とに対して否定論理和演算を行う。
【００６１】
また、図６において、データ保持回路７Ｂは、画素データなどの１６ビットのデータを格納するデータレジスタ７１と、ダイナミックバスである１６ビットのレジスタ選択データバス５０１と接地との間に直列に接続されたＮＭＯＳトランジスタ７２及び７３とを備えて構成される。ここで、ノアゲート６２からの出力信号はＮＭＯＳトランジスタ７２に出力され、データレジスタ７１からの出力信号はＮＭＯＳトランジスタ７３のゲートに出力される。データレジスタ７１は、ローレベルの書き込み制御信号ＷＲｎに応答して、レジスタ選択データバス５０１に出力された書込データを格納する。
【００６２】
また、図６において、バス制御回路４４Ｂは、図２のバス制御回路４４と比較して、オアゲート４０６に代えて、ナンドゲート４３５及び反転入力端子付きナンドゲート４３４を備え、フリップフロップ回路４３０と、反転入力端子付きアンドゲート４３１と、ＮＭＯＳトランジスタ４３２，４３３とをさらに備えた点が異なる。ここで、ナンドゲート４３５の第１の入力端子にはラッチ回路４０５の出力信号ＳＬＴ２が出力される一方、第２の入力端子にはバッファ４３からのリード／ライト制御信号が出力される。また、反転入力端子付きナンドゲート４３４の非反転入力端子にはナンドゲート４３５からの出力信号が出力され、反転入力端子にはクロック信号ＰＣＫが出力される。そして、反転入力端子付きナンドゲート４３４からの出力信号は、プリチャージクロック信号ＰＣＫ２Ｂとして、ＰＭＯＳトランジスタ４０７のゲートに出力される。
【００６３】
さらに、ＮＭＯＳトランジスタ４３２の第１の端子はノードＮ３に接続される一方、第２の端子はＮＭＯＳトランジスタ４３２の第１の端子に接続され、ＮＭＯＳトランジスタ４３２の第２の端子は接地される。また、反転入力端子付きアンドゲート４３１の反転入力端子にはバッファ４３２からのリード／ライト制御信号が出力される一方、非反転入力端子にはクロック信号ＰＣＫが出力される。そして、反転入力端子付きアンドゲート４３１の出力信号は、ＮＭＯＳトランジスタ４３２のゲートに出力される。また、データ転送装置３からの書込データは、フリップフロップ回路４３０を介してＮＭＯＳトランジスタ４３２のゲートに出力される。
【００６４】
以上説明したように構成することにより、データ書き込み期間のプリチャージ期間において、ローレベルのリード／ライト制御信号に応答して、プリチャージクロック信号ＰＣＫ２Ｂの電圧レベルは、ラッチ回路４０５からの出力信号ＳＬＴ２に依存せずに、ローレベルになる（すなわち、出力信号ＳＬＴ２はネゲートされる。）。従って、レジスタ選択データバス５０１のプリチャージは抑止されない。また、データ書き込み期間のディスチャージ期間において、ローレベルのリード／ライト制御信号及びハイレベルのクロック信号ＰＣＫに応答して、レジスタ選択データバス５０１は、フリップフロップ回路４３０に格納された書込データにより、ＮＭＯＳトランジスタ４３２及び４３３を介してディスチャージされる。これにより、入力された書込データはデータレジスタ７１に書き込まれる。
【００６５】
さらに、データ読み出し期間のプリチャージ期間において、第１の実施形態と同様に、ラッチ回路４０５からの出力信号ＳＬＴ２に基づいてプリチャージクロック信号ＰＣＫＢ２が発生される。また、データ読み出し期間のディスチャージ期間において、バス制御回路４４Ｂは第１の実施形態に係るバス制御回路４４と同様に動作する。
【００６６】
従って、本実施形態によれば、データ書き込み時には、レジスタ選択データバス５０１のプリチャージは抑止されない。従って、レジスタ選択データバス５０１を、データ読み出し及びデータ書き込みに兼用して双方向バスとして利用し、データ転送を矛盾無く行うことができる。
【００６７】
第４の実施形態．
図７は、本発明の第４の実施形態に係るプロセッサエレメントＰＥ０，ＰＥ１及びＰＥ２の各データ記憶回路５Ｂ、及び外部インタフェース４Ｃの構成を示す回路図であり、図８は、図７のプリチャージ抑止検出器４４０の回路図である。第３の実施形態では、リード／ライト制御信号を利用して、データ書き込み時にラッチ回路４０５からの出力信号ＳＬＴ２をネゲートして、レジスタ選択データバス５０１をプリチャージするように構成した。これに対して、本実施形態では、オアゲート４０６とラッチ回路４０５との間にプリチャージ抑止検出器４４０を設けたことを特徴としている。
【００６８】
図７において、外部インタフェース４Ｃは、バッファ４１〜４３と、バス制御回路４４Ｃとを備えて構成される。また、バス制御回路４４Ｃは、図２のバス制御回路４４にプリチャージ抑止検出器４４０を追加して構成される。図８において、プリチャージ抑止検出器４４０は、フリップフロップ回路４４１及び４４４と、マルチプレクサ４４２と、比較器４４３と、反転入力端子付きアンドゲート４４５と、アンドゲート４４６と、オアゲート４４７とを備えて構成される。図８において、クロック反転信号ＰＣＫ＃は、フリップフロップ回路４４１及び４４４の各クロック入力端子に出力される。また、フリップフロップ回路４３０からの出力信号（書込データである。）は、比較器４４３及びフリップフロップ回路４４１に出力される。さらに、バッファ４３からのリード／ライト制御信号は、反転入力端子付きアンドゲート４４５の反転入力端子及びフリップフロップ回路４４４に出力される。ラッチ回路４０５の出力信号ＳＬＴ２は、アンドゲート４４６の第１の入力端子に出力される。フリップフロップ回路４４４からの出力信号は、マルチプレクサ４４２及びアンドゲート４４６の第２の入力端子に出力される。
【００６９】
図７において、マルチプレクサ４４２は、フリップフロップ回路４４４からの出力信号の電圧レベルがローレベルのときはフリップフロップ回路４４１からの出力信号を比較器４４３に出力する一方、リップフロップ回路４４４からの出力信号の電圧レベルがハイレベルのときはフリップフロップ回路４１０からの出力信号を比較器４４３に出力する。比較器４４３は、フリップフロップ回路４３０からの出力信号の電圧レベルと、マルチプレクサ４４２からの出力信号の電圧レベルとを比較し、比較結果を示す信号を反転入力端子付きアンドゲート４４５の非反転入力端子に出力する。反転入力端子付きアンドゲート４４５からの出力信号及びアンドゲート４４６からの出力信号は、オアゲート４４７の第１及び第２の入力端子にそれぞれ出力され、オアゲート４４７からの出力信号は、オアゲート４０６に出力される。
【００７０】
以上説明したようにプリチャージ抑止検出器４４０を構成することにより、バス制御回路４４Ｃは、各プリチャージ期間において、以下のように動作する。
【００７１】
（１）レジスタ選択データバス５０１におけるデータ転送が、データ読み出しからデータ書き込みに移行するとき：比較器４４３により、フリップフロップ回路４１０からの出力信号の電圧レベル（読出データに対応する。）と、フリップフロップ回路４３０からの出力信号の電圧レベル（書込データに対応する。）とを比較し、一致するときにレジスタ選択データバス５０１をプリチャージすることなく、書込データをレジスタ選択データバス５０１を介して所定のデータレジスタ７１に書き込む一方、一致しないときにレジスタ選択データバス５０１をプリチャージした後に、書込データをレジスタ選択データバス５０１を介して所定のデータレジスタ７１に書き込む。
（２）レジスタ選択データバス５０１におけるデータ転送が、データ書き込みからデータ書き込みに移行するとき：比較器４４３により、フリップフロップ回路４４１からの出力信号の電圧レベル（すでに書き込まれた書込データに対応する。）と、フリップフロップ回路４３０からの出力信号の電圧レベル（これから書き込む書込データに対応する。）とを比較し、一致するときにレジスタ選択データバス５０１をプリチャージすることなく、書込データをレジスタ選択データバス５０１を介して所定のデータレジスタ７１に書き込む一方、一致しないときにレジスタ選択データバス５０１をプリチャージした後に、書込データをレジスタ選択データバス５０１を介して所定のデータレジスタ７１に書き込む。
（３）レジスタ選択データバス５０１におけるデータ転送が、データ読み出しからデータ読み出しに移行するとき：第１の実施形態と同様に、ラッチ回路４０５からの出力信号ＳＬＴ２の電圧レベルがハイレベルのときにレジスタ選択データバス５０１のプリチャージを抑止する。
（４）レジスタ選択データバス５０１におけるデータ転送が、データ書き込みからデータ読み出しに移行するとき：レジスタ選択データバス５０１をプリチャージした後に、データをレジスタ選択データバス５０１を介して所定のリートデータレジスタ７１から読み出す。
【００７２】
従って、本実施形態によれば、データ書き込み時に、１つ前のデータ転送タイミングにおいて転送されたデータをレジスタ４１４に格納しておき、書込データと１つ前のデータ転送タイミングにおいて転送されたデータとを比較し、一致するときにレジスタ選択データバス５０１のプリチャージを抑止するので、データの読み出し時のみならず、書き込み時にも、消費電力を削減できる。また、データ転送装置３が外部インタフェース４Ｃ及びレジスタ選択データバス５０１を介して各データレジスタ７１との間でデータの読み出し及び書き込みを交互に行っても、従来技術に比較して消費電力を削減し、かつ、データ転送を矛盾無く行うことができる。なお、本実施形態において追加されたプリチャージ抑止検出器４４０の比較器４４３及びフリップフロップ回路４４１及び４４４などによって消費される電力は、長い配線長を有するレジスタ選択データバス５０１の充放電によって消費電力に比較して十分に小さい。
【産業上の利用可能性】
【００７３】
以上説明したように、本発明に係る画像処理回路及び画像処理装置によれば、第１のデータと、第１のデータレジスタに対応する制御データレジスタに格納されたプリチャージ制御データとを読み出し、読み出したプリチャージ制御データに基づいて、第２のデータが第１のデータと一致するときに第１のダイナミックバスをプリチャージすることなく第２のデータを読み出すので、従来技術に比較してプリチャージの回数を削減して消費電力を削減できる。
【符号の説明】
【００７４】
１…ＳＩＭＤ型プロセッサ、
２…メモリ、
３…データ転送装置、
４，４Ｂ，４Ｃ…外部インタフェース、
４Ａ…ＦＩＦＯ入力インタフェース、
５，５Ａ，５Ｂ…データ記憶回路、
６，６Ａ，６Ｂ…レジスタコントローラ、
７，７Ａ，７Ｂ…データ保持回路、
８，８Ａ…プリチャージ制御回路、
９…ライトアドレスデコーダ、
１０…演算回路、
１１…マルチプレクサ、
１２…シフタ、
１３…マルチプレクサ、
１４…ＡＬＵ、
１５…Ａレジスタ、
１６…Ｆレジスタ、
１７…条件レジスタ（Ｔレジスタ）、
４１〜４３，４５〜４７…バッファ、
４４，４４Ａ，４４Ｂ，４４Ｃ…バス制御回路、
６１，６１Ｂ…アドレスデコーダ、
６１Ａ…リードアドレスデコーダ、
６２…ノアゲート、
７１…データレジスタ、
７２，７３…ＮＭＯＳトランジスタ、
８１…制御データレジスタ、
１００…グローバルプロセッサ、
１１１…プログラムＲＡＭ、
１１２…データＲＡＭ、
１１３…命令デコーダ、
８２，８３…ＮＭＯＳトランジスタ、
４４０…プリチャージ抑止検出器、
５０１，５０２…レジスタ選択データバス、
５０１Ａ，５０２Ａ…レジスタリードバス、
５０３，５０４…レジスタライトバス、
６０３…リード制御信号線、
６０４…ライト制御信号線、
６０５…即値データバス、
ＰＥ０，ＰＥ１，…，ＰＥ５１１…プロセッサエレメント。
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特許第３９７１５３５号公報。
【特許文献２】特許第３８８６３１４号公報。
【特許文献３】特開２００３−３０９９６号公報。
【特許文献４】特開平８−２４１２９６号公報。
【特許文献５】特開２００１−３２５０５０号公報。
【特許文献６】特開平１１−４５５７０号公報。
【特許文献７】特許第３９１０６５０号公報。
【図１】
2012043211.tif 000003
【図２】
2012043211.tif 000004
【図３】
2012043211.tif 000005
【図４】
2012043211.tif 000006
【図５】
2012043211.tif 000007
【図６】
2012043211.tif 000008
【図７】
2012043211.tif 000009
【図８】
2012043211.tif 000010
【図９】
2012043211.tif 000011