(57)【特許請求の範囲】
【請求項１】
プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、
各プロセッサエレメントは、演算部、レジスタ部を少なくとも備える複数の機能手段を含み、
前記機能手段は、内部バスに接続され、
各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、
前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられ、
上記制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、
生成されたローカル制御信号は、任意単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、
前記制御信号は、全グループのバッファ手段に対して供給されることを特徴とする並列プロセッサ。
【請求項２】
プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有し、各プロセッサエレメントは、演算部、レジスタ部を少なくとも備える複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられた並列プロセッサにおけるデータ処理方法であって、
前記制御信号を全グループのバッファ手段に供給する工程と、
該各バッファ手段が入力された前記制御信号に基づいてローカル制御信号を生成する工程と、
前記各バッファ手段が生成したローカル制御信号をグループ内の任意単位のプロセッサエレメントのみに供給する工程と、を含むことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、デジタル複写機やファクリミリ装置等の画像データのデジタル処理等に用いられる並列プロセッサに関するものである    
【背景技術】
【０００２】
近年、デジタル複写機やファクリミリ装置等の画像処理装置において、画素数を増加したり、或いはカラー対応にするなど画像の向上が図られている。そして、この画像の向上に伴い、処理すべきデータ数が増加している。ところで、複写機等の画像処理装置におけるデータ処理は全ての画素に対して同じ演算処理を施すことが多い。そこで、１つの命令で複数のデータに対して同時に同じ演算処理を行うＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  Ｓｔｒｅａｍ）方式のプロセッサが用いられるようになっている。
【０００３】
このＳＩＭＤ型プロセッサでは、１つの命令で複数のデータに対して同時に同じ演算処理が実行可能である。
【０００４】
図１２は、ＳＩＭＤ型プロセッサの構成を示すブロック図である。
【０００５】
ＳＩＭＤ型プロセッサ１は、グローバルプロセッサ（ＧＰ）２、複数のプロセッサエレメント（ＰＥ）３ａを備えたプロセッサエレメントブロック３、インタフェース４から構成される。
【０００６】
ＳＩＭＤ方式では、複数のデータを同時に処理するため、プロセッサエレメントブロック３は、複数のプロセッサエレメント３ａ…で構成される。プロセッサエレメント３ａは、複数のレジスタを有するレジスタファイル３１と、レジスタファイル３１からのデータやグローバルプロセッサ２からのデータを演算処理する演算部３６とを備える。
【０００７】
インタフェース４はグローバルプロセッサ２の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタファイル３１に与えるとともに、演算処理されたデータをレジスタファイル３１から外部のプリンタなどへ転送するものである。
【０００８】
グローバルプロセッサ２は、プロセッサエレメントブロック３、インタフェース４を制御する。このグローバルプロセッサ２は、各種制御信号を送るＳＩＳＤ方式のプロセッサで構成されている。
【０００９】
上記したように、ＳＩＭＤ型の制御は、全てのプロセッサエレメント３ａで同一の命令を処理するようにしたものである。すなわち、ＳＩＭＤ型プロセッサにおいては、グローバルプロセッサ２から各プロセッサエレメント３ａ…に共通の制御信号線が接続され、この制御信号線を介して各プロセッサエレメント３ａ…に１つの命令が送られることにより、各プロセッサエレメント３ａ…は同一の命令の処理を行う。
【００１０】
図１３は、各プロセッサエレメントと制御信号線とを示す回路図である。この図１３においては、単一の命令処理を複数のデータに対して実行するためにプロセッサエレメント３ａが、ＰＥ０〜ＰＥｎまで備えている。そして、各プロセッサエレメント３ａにはｎ個のレジスタ３１−１〜３１−ｎ(ＲＥＧ１〜ＲＥＧｎ)を備えている。
【００１１】
グローバルプロセッサ２の命令信号発生部から各プロセッサエレメント３ａ…へ、制御信号線（ＣＳ）から制御信号が与えられる。レジスタ３１−１〜３１−ｎへは、グローバルプロセッサ２から２つのクロック信号ＣＰ、ＣＮが与えられる。ＣＮ信号とＣＰ信号は相反する信号である、すなわちインバータにより一方の信号を反転した信号である。これらクロック信号ＣＰ、ＣＮが制御信号ＣＳから各プロセッサエレメント３ａ…に与えられる。なお、図１３においては、ＣＮ信号は偶数の制御線に、ＣＰ信号は奇数の制御線に与えられている。
【００１２】
そして、レジスタ３１−１〜３１−ｎは、ＣＰ、ＣＮ信号のクロック入力により、Ｄ入力より内部バス信号からデータをラッチし、ＱＰより内部バスに対してデータを出力する。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、プロセッサエレメント（ＰＥ）３ａの数が増加すると、命令信号発生部の駆動回路から全プロセッサエレメント３ａの終端に至るまでの制御信号線の長さが非常に長くなる。このため、命令シーケンス制御部の近傍のプロセッサエレメント（ＰＥ０）と、最終端のプロセッサエレメント（ＰＥｎ）でＣＳ信号の配線遅延が生じ、性能も劣化、ひいては動作不具合を発生する。また、駆動回路において大きな駆動力を必要になるなどの問題も発生する。
【００１４】
また、特開平８−２１２１６９号公報には、隣接するｎ個のプロセッサエレメント間のレジスタをグループ化し、共通バスを設定してグループ毎に１つの制御信号線を配置したアレイプロセッサが開示されている。この方式では隣接するプロセッサエレメント間のレジスタをリードバス及びライトバスにより接続し、複数個のプロセッサエレメントを１つのプロセッサとして動作させるものである。従って、この方式では、プロセッサエレメントをシフトさせたり、特定のプロセッサエレメントのデータを書き換えるなど処理が容易に行えないなどの問題がある。
【００１５】
また、この公報のものにおいては、命令シーケンス制御部の近傍のプロセッサエレメント（ＰＥ０）と、最終端のプロセッサエレメント（ＰＥｎ）でＣＳ信号の配線遅延に関しては、何ら考慮されていない。
【００１６】
この発明は、上述した従来の問題点に鑑みなされたものにして、駆動回路において大きな駆動力を必要とせず且つ、制御信号線の配線遅延が生じない並列プロセッサを提供することを目的とするものである。
【課題を解決するための手段】
【００１７】
この発明は、プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、各プロセッサエレメントは、演算部、レジスタ部を少なくとも備える複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられ、上記制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、生成されたローカル制御信号は、任意単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記制御信号は、全グループのバッファ手段に対して供給されることを特徴とする。
【００１８】
また、この発明は、前記内部バスを介して機能手段間のデータの転送又は交換が行われる。
【００１９】
上記した構成によれば、グローバル制御信号は、任意のプロセッサエレメント単位に供給するだけでよいので、グローバルプロセッサのバッファを小型化できる。
【００２０】
また、この発明では、任意の単位でバッファリングするため、グローバル配線信号の本数を削減できるとともに、信号のスキューも防止できる。
【００２１】
また、この発明は、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるように構成すると良い。
【００２２】
上記した構成によれば、最も遠いプロセッサエレメントまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる
さらに、この発明は、前記グローバル制御信号は、ＩＣレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
【００２３】
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
【００２４】
上記の構成によれば、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメントを横断する長配線において寄生容量による遅延を無くすことができる。
【００２５】
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
【００２６】
上記構成によれば、クロストークの影響を防止することができる。
【００２７】
また、この発明の画像処理装置は、複数のプロセッサエレメントがアレイ状に設けられた並列プロセッサにＦＩＦＯを介して画像データが入力され、入力された画像データを並列演算処理し、演算処理された画像データがＦＩＦＯを介して並列プロセッサ外部に出力される画像処理装置であって、前記並列プロセッサのプロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、前記内部バスを介して機能手段間のデータの転送又は交換が行われ、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内には、前記制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、生成されたローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給され、前記グローバル制御信号に基づいて並列処理された画像データが外部に出力されることを特徴とする。
【００２８】
また、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるとよい。
【００２９】
さらに、この発明は、前記グローバル制御信号は、ＩＣレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
【００３０】
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
【００３１】
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
【発明の効果】
【００３２】
以上説明したように、グローバルプロセッサ（命令シーケンス制御部）で発生したプロセッサエレメント制御信号を、任意のＰＥ単位のローカル信号発生部に供給されるグローバル制御信号と、ローカル信号発生部でバッファされ、任意のＰＥ単位に含まれるＰＥのみ供給されるローカル制御信号に制御信号を分割することで、グローバル制御信号は、任意のＰＥ単位に供給するだけでよくなり、グローバルプロセッサ（命令シーケンス制御部）でのバッファを小型化できる。
【００３３】
さらに、この発明では、任意の単位（でバッファリングするため、グローバル配線信号の本数を削減し、さらに信号のスキューを防止できる。
【００３４】
また、グローバル配線メタルを最上層メタル配線を使用すれば、最上層以下の配線層に比べ、カップリング要素が少なく配線遅延を最小とすることができる。
【００３５】
さらに、最上層配線は、上記効果の信号数の削減の効果も併せ、配線ピッチを広く設定することが可能で、他の隣接する信号の変動による信号遅延（クロストーク影響）を受けない。
【００３６】
また、最上層配線メタルは、プロセッサ全体の電源等に使用されることが多く、電源ラインでシールドすることで、クロストーク影響を防止することができる。
【発明を実施するための最良の形態】
【００３７】
以下、この発明の実施の形態につき図面を参照して説明する。
【００３８】
まず、この発明にかかるＳＩＭＤ型プロセッサの全体構成について、図１に従い説明する。この発明のＳＩＭＤ型プロセッサ１は、図１に示すように、グローバルプロセッサ（ＧＰ）２、本実施形態では２５６組の後述するプロセッサエレメント（ＰＥ）３ａを備えたプロセッサエレメントブロック３と、インタフェース４から構成される。インタフェース４はグローバルプロセッサ２の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタフィル３１に与えるとともに、演算処理されたデータをレジスタファイル３１から外部のプリンタなどへ転送するものである。
【００３９】
プロセッサエレメントブロック３は、ＳＩＭＤ型プロセッサの外部に設けられたスキャナなどの入力装置から入力される画像データを格納するとともに、外部のプリンタなどの出力装置に出力する画像データを格納するレジスタファイル２３１と、レジスタファイル３１からのデータやグローバルプロセッサ２からのデータを演算処理する演算アレイ３６と、を備える。レジスタファイル３１は複数のレジスタからなり、外部との入出力並びに演算部３６やグローバルプロセッサ２との間でのデータの入出力が行われる。
【００４０】
グローバルプロセッサ２は、プロセッサエレメントブロック３を制御する。このグローバルプロセッサ２は、各種制御信号を送るＳＩＳＤ方式のプロセッサで構成されている。
【００４１】
グローバルプロセッサ２の構成は図１に示すように、命令を解読し、各種制御信号を発生するシーケンスユニット（以下、ＳＣＵという）２２と、グローバルプロセッサ命令により算術論理演算を行う算術論理演算器（以下、ＡＬＵという。）２３、このプロセッサのプログラム格納用のプログラムＲＡＭ２１と演算データ格納用のデータＲＡＭ２４、図には明記していないが、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路とを、備える。
【００４２】
さらに、グローバルプロセッサ２は、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ３レジスタ、レジスタ退避、復帰時に退避先データＲＡＭのアドレスを保持しているスタックポインタ（ＳＰ）、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）、同じくＩＲＱ時とＮＭＩ時の分岐元アドレスを保持するＬＩ、ＬＮレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ（Ｐ）などのレジスタ群２５が内蔵されている。
【００４３】
前述したＳＣＵ２２には、図示はしていないが、ＧＰ命令を解読し、主にグローバルプロセッサ２内の各ブロックに制御信号を発生するＧＰインストラクションデコーダ（以下、ＧＤＣという）と、プロセッサエレメント（ＰＥ）命令を解読し、主にプロセッサエレメントブロック３内の各ブロックに制御信号を発生するＰＥインストラクションデコーダ（以下、ＰＤＣという）を、備える。すなわち、このプロセッサには、主にグローバルプロセッサ２内での演算処理を受け持つＧＰ命令と、プロセッサエレメントブロック３内もしくはプロセッサエレメント３ａ…間での演算処理を受け持つＰＥ命令に分類される。このＰＥ命令はＰＥ制御線２１０から各プロセッサエレメント３ａ…に与えられる。また、グローバルプロセッサ２とプロセッサエレメント３ａ…間はバス２１１，２１２を介してデータの入出力が行われる。
【００４４】
また、前述したプロセッサエレメント３ａの演算部３６は、マルチプレクサ３２、シフト拡張回路３３、算術論理演算器３４（以下、「ＡＬＵ３４」という）、及びＡレジスタ３５ａ、Ｆレジスタ３５ｂを備える。
【００４５】
前述したグローバルプロセッサ２のＳＣＵ２２は、インタフェース（図示しない）に対してデータ転送のための動作設定用データ及びコマンド等を送る。インタフェースは、シーケンスユニット２２の動作設定用データ及びコマンドに基づき、プロセッサエレメント３ａのアドレス指定のためのアドレス制御信号、プロセッサエレメント３ａを構成するレジスタ３１−１…にデータのリード／ライトを指示するためのリード／ライト制御信号、クロック信号を与えるためのクロック制御信号を生成する。
【００４６】
ここで、リード／ライト制御信号のうちライト制御信号とは、演算処理されるデータをデータバスより取得して、プロセッサエレメント３ａのレジスタファイル３１に保持させるための信号をいう。一方、リード／ライト制御信号のうちリード制御信号とは、プロセッサエレメント３ａのレジスタファイル３１が保持している演算処理されたデータを、データバスへ与えるようレジスタに指示するための信号をいう。
【００４７】
レジスタファイル３１には、１つのプロセッサエレメント３ａ単位に、例えば、８ビットのレジスタが３２本内蔵されており、本実施形態では２５６のプロセッサエレメント分の組がアレイ構成になっている。レジスタファイル３１は１つのプロセッサエレメント（ＰＥ）３ａごとにＲ０、Ｒ１、Ｒ２、．．．Ｒ３１と呼ばれているレジスタが内蔵されている。それぞれのレジスタファイル３１は演算アレイ３６に対して１つの読み出しポート（ＱＰ）と１つの書き込みポート（Ｄ）を備えており、８ビットのリード／ライト兼用のバスで演算アレイ３６からアクセスされる。３２本のレジスタの内、２４本はプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード／ライト制御を入力することで任意のレジスタを読み書きできる。
【００４８】
レジスタの外部からのアクセスは１つの外部ポートで各プロセッサエレメント３ａの１つのレジスタがアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号（０〜２５５）を指定する。したがって、レジスタアクセスの外部ポートは全部で２４組搭載されている。なお、本実施形態では、レジスタ３１は８ビットのデータを保持できるものとして扱うが、データに応じて適宜変更しても問題ない。
【００４９】
ライト指示信号が与えられると、レジスタ３１は演算処理されるデータをデータバスより取得して保持する。一方、リード指示信号が送られてくると、レジスタ３１は保持している演算処理されたデータをデータバスへ与える。このデータはインタフェースから外部データバスを介して外部のプリンタなどへ転送される。
【００５０】
また、レジスタは、本実施形態においては８ビットデータをパラレルで転送するデータバスを介してマルチプレクサ３２に接続されている。ＡＬＵ３４で演算処理されるデータ、或いはＡＬＵ３４で演算処理されたデータは、このデータバスを介して、レジスタ３１との間で転送される。この転送は、グローバルプロセッサ２のシーケンスユニット２２からの制御信号によって、グローバルプロセッサ２に接続されたリード用制御信号線、ライト用制御信号線を介して行われる。具体的には、グローバルプロセッサ２のシーケンスユニット２２から、リード用制御信号線を介してリード指示信号が送られてくると、レジスタ３１は保持している演算処理されるデータをデータバスへ置く。このデータはＡＬＵ３４へ送られ演算処理される。一方、グローバルプロセッサ２のシーケンスユニット２２から、ライト用制御信号線を介してライト指示信号が送られてくると、レジスタ３１はデータバスを介して送られてきたＡＬＵ３４で演算処理されたデータを保持する。
【００５１】
演算アレイ３６は、マルチプレクサ３２、シフト／拡張回路３３、１６ビットＡＬＵ３４及び１６ビットのレジスタ３５ａ、３５ｂを備えている。このレジスタは、１６ビットのＡレジスタ３５ａ、Ｆレジスタ３５ｂである。
【００５２】
プロセッサエレメント３ａの命令による演算は、基本的にレジスタファイル３１から読み出されたデータをＡＬＵ３４の片側の入力としてもう片側にはレジスタ３５のＡレジスタ３５ａの内容を入力として結果をＡレジスタ３５ａに格納する。したがって、Ａレジスタ３５ａとレジスタファイル３１のＲ０〜Ｒ３１レジスタとの演算が行われることとなる。レジスタファイル３１と演算アレイ３６との接続に（７ｔｏ１）のマルチプレクサ３２を置いており、プロセッサエレメント方向で左に１、２、３つ離れたデータと右に１、２、３つ離れたデータ、中央のデータを演算対象として選択している。また、レジスタファイル３１の８ビットのデータはシフト／拡張回路３３により任意ビットの左シフトしてＡＬＵ３４に入力される。
【００５３】
上記したように、マルチプレクサ３２は、自己のプロセッサエレメント３ａに備えられた上記データバスに接続されるとともに、両隣３つのプロセッサエレメント３ａに備えられたデータバスにも接続されている。このマルチプレクサ３２は７つのプロセッサエレメント３ａから１つを選択し、その選択したプロセッサエレメント３ａにおけるレジスタ３１で保持されているデータをＡＬＵ３４へ送る。或いはＡＬＵ３４で演算処理されたデータを、選択したプロセッサエレメント３ａにおけるレジスタ３１へ送る。これによって、隣のプロセッサエレメント３ａにおけるレジスタ３１で保持されているデータを利用した演算処理が可能になり、ＳＩＭＤ型プロセッサ１の演算処理能力を高めることができる。
【００５４】
シフト／拡張回路３３は、マルチプレクサ３２から送られてきたデータを所定ビットシフトしてＡＬＵ３４へ送る。或いはＡＬＵ３４から送られてきた演算処理されたデータを所定ビットシフトしてマルチプレクサ３２へ送る。
【００５５】
ＡＬＵ３４は、シフト／拡張回路３３から送られてきたデータと、Ａレジスタ３５ａに保持されているデータとに基づき算術論理演算を行う。なお、本実施形態では、ＡＬＵ３４は１６ビットのデータに対応できるものとして扱うが、データに応じて適宜変更しても問題ない。演算処理されたデータは、Ａレジスタ３５ａに保持され、シフト／拡張回路３３へ転送されたり、或いはグローバルプロセッサ２の汎用レジスタ２５へ転送される。
【００５６】
グローバルプロセッサ２からインターフェースへはＩ／Ｏ用のアドレス、データ、コントロール信号がバスを介して与えられる。
【００５７】
さらに、図示していない条件レジスタ（Ｔ）により、プロセッサエレメント（ＰＥ）３ａ毎に演算実行の有効／無効の制御をしており特定のプロセッサエレメント（ＰＥ）３ａだけを演算対象として選択できるように構成している。
【００５８】
次に、この発明の特徴であるグローバルプロセッサ２の制御信号の転送について図２を参照して説明する。
【００５９】
この発明は、図２に示すように、グローバルプロセッサ２からのＳＩＭＤ型プロセッサに存在する多数のプロセッサエレメント３ａへ送る制御信号を、多層メタル配線プロセスを使用するレイアウトにおいて、性能を確保するための回路配置並びにプロセッサの制御を行うものである。
【００６０】
図２はこの発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図、また、図３はこの発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【００６１】
ＳＩＭＤ型プロセッサは、グローバルプロセッサ２の命令シーケンス制御部と複数のプロセッサエレメント３ａ（ＰＥ０〜ＰＥｎ）で構成される。
【００６２】
命令シーケンス制御部は、命令をデコードし、プロセッサエレメント３ａ…に対して、グローバル制御信号（ＧＣＳ、ＧＣＳ０〜ＧＣＳｎ）を供給する。
【００６３】
プロセッサエレメント（ＰＥ）３ａ…は、複数のプロセッサエレメント３ａ…を一つの単位（ＧＰＥ）として、分割された階層で構成されている。
【００６４】
図２及び図３に示す実施形態においては、１つのグループ（ＧＰＥ）は、４個のＰＥ０〜ＰＥ３、ＰＥ４〜ＰＥ７または、ＰＥｎ−３〜ＰＥｎを単位とし、各ＧＰＥは、ローカル制御信号発生部５０（ＰＥＢＵＦ、ＰＥＢＵＦ０〜ＰＥＢＵＦｍ）を備えている。
【００６５】
なお、この実施形態においては、便宜上４個のプロセッサエレメント３ａを１個のグループとしているが、グループにおけるプロセッサエレメント３ａの個数は、必要に応じて、８個、１６個などその個数は用途に応じて適宜決定すればよい。
【００６６】
上記したように、この実施形態においては、ローカル制御信号発生部５０が、１つのグループ毎に１個設けられている。図２に示す実施形態においては、各グループ（ＧＰＥ）の命令シーケンス制御部２側にローカル信号発生部５０を設け、図３に示す実施形態においては、各ＧＰＥの中間部に設けている。
【００６７】
ＧＰＥの中のプロセッサエレメントの数が増えた場合には、図３に示すように、その中間にローカル制御信号発生部５０（ＰＥＢＵＦ、ＰＥＢＵＦ０〜ＰＥＢＵＦｍ）を設ける方が最も遠いプロセッサエレメント３ａまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる。このため、プロセッサエレメントの数が増えたときは図３に示す構成が有効になる。
【００６８】
ローカル制御信号発生部５０は、命令シーケンス制御部２で発生した、グローバル制御信号（ＧＣＳ）をバッファリングするとともに、ローカル制御信号（ＬＣＳ、ＬＣＳ０〜ＬＣＳｐ）を発生するものである。
【００６９】
ローカル制御信号（ＬＣＳ）は、各グループＧＰＥに限り、プロセッサエレメント３ａの制御信号として供給される。
【００７０】
図４は、この発明の要部を示すブロック回路図であり、プロセッサエレメントとローカル信号発生部５０の関係を示している。図４に示すものは、１つのＧＰＥの中でＰＥ４及びＰＥ５とローカル信号発生部５０とを示している。
【００７１】
各プロセッサエレメント（ＰＥ）３ａ内には、上述したように、ラッチ回路等を含むレジスタ手段３１−１、算術論理演算処理回路、シフタ、カウンタ等の諸機能を含む。図４においては、３種類のレジスタ（ＲＥＧ１、２、ＲＥＧｎ）の機能を含んだ、ＰＥ４、５およびローカル制御信号発生部（ＰＥＢＵＦ１）の例を示している。
【００７２】
レジスタ（ＲＥＧ）３１−１…は、図５に示す、ラッチ回路で構成されており、例えば、図６に示すレイアウト構成をとる。
【００７３】
図４に示すように、各プロセッサエレメント３ａのレジスタＲＥＧ１、２、ｎは、レジスタ間のデータ交換のため内部バスＰＥ４＿ＡＢＵＳ、ＢＢＵＳ、ＣＢＵＳ、ＰＥ５＿ＡＢＵＳ、ＢＢＵＳ，ＣＢＵＳに接続されてる。
【００７４】
レジスタ３１−１…は、図５に示すように、ＣＰ信号，ＣＮ信号のクロック入力により、Ｄ入力より内部バス信号をラッチし、ＱＰより内部バスに対してデータを出力する。また、ＲＥＧｎでは、ＱＰはＬＣＳｐ−２信号をスイッチとするゲートを介して内部バスに接続されている。
【００７５】
命令シーケンス制御部２で発生した、グローバル制御信号（ＧＣＳ）は、ローカル制御信号発生部（ＰＥＢＵＦ１）でバッファリングされ、各ローカル信号発生部５０にて、ローカル制御信号ＬＣＳ０〜ＬＣＳｐ）が発生される。それぞれのローカル制御信号（ＬＣＳ）は、プロセッサエレメントＰＥ４、５の制御信号、図４においては、ＣＰ信号，ＣＮ信号のクロック信号としてレジスタ３１−１…に与えられ、ＲＥＧｎでは、ＬＣＳｐ−２信号をスイッチとしてゲートに与えられている。
【００７６】
上記したように、命令シーケンス制御部２で発生したプロセッサエレメント制御信号を、任意のプロセッサエレメント単位（ＧＰＥ）のローカル信号発生部５０（ＰＥＢＵＦ）に供給されるグローバル制御信号（ＧＣＳ）と、ローカル信号発生部５０（ＰＥＢＵＦ）でバッファされ、任意のＰＥ単位（ＧＰＥ）に含まれるプロセッサエレメントのみ供給されるローカル制御信号（ＬＣＳ）に制御信号を分割して供給する。
【００７７】
前述したように、命令シーケンス制御部２で全プロセッサエレメント３ａに対して制御信号を供給する従来の方式では、制御信号が長配線でかつ、多数のプロセッサエレメントに信号を同時供給するため、負荷が大きくなり、命令シーケンス制御部に巨大なバッファが必要であった。これに対して、この発明では、グローバル制御信号は、任意のプロセッサエレメント単位（ＧＰＥ）に供給するだけでよいので、命令シーケンス制御部のバッファを小型化できる。
【００７８】
また、図１３に示すように、従来の制御信号（ＣＳ０、１、ＣＳ２、３または、ＣＳｎ−１、ＣＳｎ）の場合、長配線のため、信号のスキューを発生し、動作不具合を発生する。この発明では、図２及び図３に示すように、任意の単位（ＧＰＥ）でバッファリングするため、グローバル配線信号の本数を削減、すなわち、図１３のＣＳ０，ＣＳ１の２本に対して、図２及び図３のＧＣＳの１本となる、さらに信号のスキューも防止できる。
【００７９】
図７にこの発明の図４の回路相当のレイアウト図を図７に示す。図７は、図３、図４におけるプロセッサエレメントＰＥ４、ＰＥ５、とローカル信号発生部５０（ＰＥＢＵＦ１）とのレジスタ（ＲＥＧ１），（ＲＥＧ２）の部分である。
【００８０】
なお、ここで採用される製造プロセスは５層メタル配線が可能としている。メタル配線は層構造をなし、層間は直交、並走においてＶＩＡと呼ばれるホールを介して接続される。
【００８１】
各層は、シリコン基板に近傍のメタル配線層から、メタル１（最下層）、メタル２、メタル３、メタル４、メタル５（最上層）と呼ぶ。図８にその断面構造を示す。
【００８２】
ＰＥ内部のレイアウトは、回路階層に従い、マクロセルと呼ばれる単位で構成される。このマクロセルは図６に示すように回路配置されている。マクロセルの電源ラインＶＤＤ、ＧＮＤは、メタル１で構成され、セル間は図７に示すように、メタル１で接続されている。
【００８３】
さらにＰＥ内部は、図７に示すように、水平方向に対して、図５で示すバスラインＰＥ４＿ＡＢＵＳ、ＢＢＵＳ、ＣＢＵＳ、ＰＥ５＿ＡＢＵＳ、ＢＢＵＳ、ＣＢＵＳが貫通する。バスラインはプロセッサエレメント３ａ間のデータの転送等に使用されるバス配線で、本実施形態では、２層または４層メタルで構成される。
【００８４】
グローバル制御信号ＧＣＳ０、１は、基本的には、最上層メタル、メタル５層で、命令シーケンス制御部２よりローカル信号発生部（ＰＥＢＵＦ１）に対して供給される。
【００８５】
ここで、グローバル制御信号ＧＣＳ０を最上層メタルに使用するのは、多層メタル配線プロセスにおいて、本実施形態での最上層メタル５を除くメタル１、２、３、４は、図８に示すように、自身のメタルに対して、基板含め、上層、下層に異なるメタル配線が存在する場合、カップリング容量と呼ばれる隣接メタル間の寄生容量が発生する。
【００８６】
そのカップリング容量により各信号線は、配線遅延を生ずる。本実施形態でグローバル配線ＧＣＳ０を、最上層メタルである配線メタル５を用いているのは、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメント３ａを横断する長配線において寄生容量による遅延を無くして有効であるためである。
【００８７】
グローバル制御信号ＧＣＳ０は、ローカル信号発生部（ＰＥＢＵＦ１）に入力されローカル制御信号（図７：ＬＣＳ０、１、２、３）を生成する。ローカル制御信号は、メタル３層で構成される。
【００８８】
ローカル制御信号は、１つのＧＰＥ内でＰＥ４、５、６、７まで供給され信号線は、終端される。
【００８９】
次に、この発明のＳＩＭＤ型プロセッサをディジタル複写機などの画像処理装置に用いた場合につき図９ないし図１１を参照して説明する。
【００９０】
イメージスキャナで読み取られた画像データ（ｎビットのディジタル画像データ）が外部データバスからＦＩＦＯ７に与えられる。ＦＩＦＯ７に１走査ライン分のデータが格納されると、ＳＩＭＤ型プロセッサ１のグローバルプロセッサ２からの制御信号により、この実施の形態では２５６個の画像データがレジスタファイル３１へ与えられる。
【００９１】
上記したように、この実施形態においては、レジスタファイル３１には１つのＰＥ単位に８ビットのレジスタが３２本内蔵されており、２５６ＰＥ分の組みがアレイ構成になっている。レジスタはＰＥごとにＲ０、Ｒ１、Ｒ２、．．．Ｒ３１と呼ばれている。それぞれのレジスタは演算アレイに対して１つの読み出ししポートと１つの書き込みポートを備えており、８ビットのリード／ライト兼用のバス３７で演算アレイからアクセスされる。３２本のレジスタの内、２４本（Ｒ０〜Ｒ２３）は、プロセッサ外部からアクセス可能であり、外部からクロックとアドレス、グローバル制御信号によるリード／ライト制御を入力することで任意のレジスタを読み書きできる。
【００９２】
残りの８本（Ｒ２４〜Ｒ３１）のレジスタはＰＥ演算の一時的な演算データ保存用として使用されるが、グローバルプロセッサ２の命令に従いテーブルＲＡＭ等からのデータを書き込むこともできる。このデータの書き込みは、グローバルプロセッサ２からのライト制御と演算アレイ３６のにより行われる。
【００９３】
また、プロセッサエレメント（ＰＥ）３ａ…は、前述した実施形態に示すように、複数のプロセッサエレメント３ａ…を一つの単位とし（ＧＰＥ）、て分割された階層で構成されている。
【００９４】
グローバル制御信号をバッファリングするローカル制御信号発生部５０が、１つのグループ毎に１個設けられている。
【００９５】
ローカル制御信号発生部５０は、グローバルプロセッサ２で発生した、グローバル制御信号（ＧＣＳ）をバッファリングするとともに、ローカル制御信号（ＬＣＳ、ＬＣＳ０〜ＬＣＳｐ）を発生するものである。
【００９６】
ローカル制御信号（ＬＣＳ）は、各グループＧＰＥに限り、プロセッサエレメント３ａの制御信号として供給される。そして、各プロセッサエレメント３ａは、グローバルプロセッサ２の命令に従いデータを書き込み及び読み出しが行われる。
【００９７】
演算アレイ３６は１６ビットＡＬＵと１６ビットＡレジスタ、Ｆレジスタを内蔵している。ＰＥ命令による演算はレジスタファイル３１から読み出されたデータもしくはグローバルプロセッサ２から与えられたデータをＡＬＵの片側の入力としてもう片側にはＡレジスタの内容を入力として結果をＡレジスタに格納する。したがって、Ａレジスタ３５ａとＲ０〜Ｒ３１レジスタもしくはグローバルプロセッサ２から与えられたデータとの演算が行われることとなる。
【００９８】
ＦＩＦＯ７より転送され、レジスタファイル３１に格納された画像データは、前述した実施形態に基づき演算処理が行われる。
【００９９】
演算処理が行われたレジスタファイル３１に格納されたデータＦＩＦＯ８に転送される。ＦＩＦＯ８は１走査ライン分のデータを格納すると、データをプリンタなどの外部出力装置に転送する。
【０１００】
また、画像データを予めラインメモリ９に蓄えておき、ラインメモリ９からプロセッサエレメントブロック３にデータを転送し、非線形処理を行ったデータをラインメモリ９に格納するように構成しても良い。このときのデータ転送はメモリコントローラ９１を介してＲＡＭ９２へ入出力される。
【０１０１】
図１０にＦＩＦＯ７の一例を図１１にＦＩＦＯ８の一例をそれぞれ示す。これらＦＩＦＯ７，８はメモリコントローラ７２（８２）、バッファメモリ７１（８１）を備える。外部データ入力はメモリコントローラ７２を介してバッファメモリ７１へデータが格納され、１ライン分のデータをバッファメモリ７１に格納すると、メモリコントローラ７２からプロセッサエレメントブロック３へデータを転送する。外部データ出力はプロセッサエレメントブロック３からメモリコントローラ７２を介してバッファメモリ７１へデータが格納され、１ライン分のデータをバッファメモリ７１に格納すると、メモリコントローラ７２から外部へデータを出力する。
【０１０２】
上記した画像処理装置は、イメージスキャナで取り込んだ画像データをプリンタ部へ出力する場合に付き説明したが、これに限らずデジタルビデオ、ディジタルカメラなどのディジタル画像を非線形処理する場合にもこの発明は適用できる。また、外部出力もプリンタに限らず、ディスプレイへの出力、データ転送などの方式で出力する場合でもこの発明は適用できる。
【図面の簡単な説明】
【０１０３】
【図１】この発明にかかるＳＩＭＤ型プロセッサの全体構成を示すブロック図である。
【図２】この発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【図３】この発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【図４】この発明の要部を示すブロック回路図である。
【図５】この発明に用いられるレジスタの構成を示すブロック回路図である。
【図６】図５に示すレジスタのレイアウト構成を示す模式図である。
【図７】図４に示す回路のレイアウト構成を示す模式図である。
【図８】多層配線構造を示す模式的断面図である。
【図９】この発明にかかる画像処理装置を示すブロック図である。
【図１０】入力用ＦＩＦＯの一例を示すブロック図である。
【図１１】出力用ＦＩＦＯの一例を示すブロック図である。
【図１２】ＳＩＭＤ型プロセッサの構成を示すブロック図である。
【図１３】各プロセッサエレメントと制御信号線とを示す回路図である。
【符号の説明】
【０１０４】
２  グローバルプロセッサ
３  プロセッサエレメントブロック
３ａ  プロセッサエレメント
３１  レジスタファイル
５０  ローカル信号発生部
【図１】
0004554582.tif 000002
【図２】
0004554582.tif 000003
【図３】
0004554582.tif 000004
【図４】
0004554582.tif 000005
【図５】
0004554582.tif 000006
【図６】
0004554582.tif 000007
【図７】
0004554582.tif 000008
【図８】
0004554582.tif 000009
【図９】
0004554582.tif 000010
【図１０】
0004554582.tif 000011
【図１１】
0004554582.tif 000012
【図１２】
0004554582.tif 000013
【図１３】
0004554582.tif 000014