JP4554582B2 - 並列プロセッサ - Google Patents

並列プロセッサ Download PDF

Info

Publication number
JP4554582B2
JP4554582B2 JP2006269286A JP2006269286A JP4554582B2 JP 4554582 B2 JP4554582 B2 JP 4554582B2 JP 2006269286 A JP2006269286 A JP 2006269286A JP 2006269286 A JP2006269286 A JP 2006269286A JP 4554582 B2 JP4554582 B2 JP 4554582B2
Authority
JP
Japan
Prior art keywords
processor
control signal
data
global
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006269286A
Other languages
English (en)
Other versions
JP2007018536A (ja
Inventor
圭一 吉岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006269286A priority Critical patent/JP4554582B2/ja
Publication of JP2007018536A publication Critical patent/JP2007018536A/ja
Application granted granted Critical
Publication of JP4554582B2 publication Critical patent/JP4554582B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

この発明は、例えば、デジタル複写機やファクリミリ装置等の画像データのデジタル処理等に用いられる並列プロセッサに関するものである
近年、デジタル複写機やファクリミリ装置等の画像処理装置において、画素数を増加したり、或いはカラー対応にするなど画像の向上が図られている。そして、この画像の向上に伴い、処理すべきデータ数が増加している。ところで、複写機等の画像処理装置におけるデータ処理は全ての画素に対して同じ演算処理を施すことが多い。そこで、1つの命令で複数のデータに対して同時に同じ演算処理を行うSIMD(Single Instruction Stream Multiple Data Stream)方式のプロセッサが用いられるようになっている。
このSIMD型プロセッサでは、1つの命令で複数のデータに対して同時に同じ演算処理が実行可能である。
図12は、SIMD型プロセッサの構成を示すブロック図である。
SIMD型プロセッサ1は、グローバルプロセッサ(GP)2、複数のプロセッサエレメント(PE)3aを備えたプロセッサエレメントブロック3、インタフェース4から構成される。
SIMD方式では、複数のデータを同時に処理するため、プロセッサエレメントブロック3は、複数のプロセッサエレメント3a…で構成される。プロセッサエレメント3aは、複数のレジスタを有するレジスタファイル31と、レジスタファイル31からのデータやグローバルプロセッサ2からのデータを演算処理する演算部36とを備える。
インタフェース4はグローバルプロセッサ2の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタファイル31に与えるとともに、演算処理されたデータをレジスタファイル31から外部のプリンタなどへ転送するものである。
グローバルプロセッサ2は、プロセッサエレメントブロック3、インタフェース4を制御する。このグローバルプロセッサ2は、各種制御信号を送るSISD方式のプロセッサで構成されている。
上記したように、SIMD型の制御は、全てのプロセッサエレメント3aで同一の命令を処理するようにしたものである。すなわち、SIMD型プロセッサにおいては、グローバルプロセッサ2から各プロセッサエレメント3a…に共通の制御信号線が接続され、この制御信号線を介して各プロセッサエレメント3a…に1つの命令が送られることにより、各プロセッサエレメント3a…は同一の命令の処理を行う。
図13は、各プロセッサエレメントと制御信号線とを示す回路図である。この図13においては、単一の命令処理を複数のデータに対して実行するためにプロセッサエレメント3aが、PE0〜PEnまで備えている。そして、各プロセッサエレメント3aにはn個のレジスタ31−1〜31−n(REG1〜REGn)を備えている。
グローバルプロセッサ2の命令信号発生部から各プロセッサエレメント3a…へ、制御信号線(CS)から制御信号が与えられる。レジスタ31−1〜31−nへは、グローバルプロセッサ2から2つのクロック信号CP、CNが与えられる。CN信号とCP信号は相反する信号である、すなわちインバータにより一方の信号を反転した信号である。これらクロック信号CP、CNが制御信号CSから各プロセッサエレメント3a…に与えられる。なお、図13においては、CN信号は偶数の制御線に、CP信号は奇数の制御線に与えられている。
そして、レジスタ31−1〜31−nは、CP、CN信号のクロック入力により、D入力より内部バス信号からデータをラッチし、QPより内部バスに対してデータを出力する。
ところで、プロセッサエレメント(PE)3aの数が増加すると、命令信号発生部の駆動回路から全プロセッサエレメント3aの終端に至るまでの制御信号線の長さが非常に長くなる。このため、命令シーケンス制御部の近傍のプロセッサエレメント(PE0)と、最終端のプロセッサエレメント(PEn)でCS信号の配線遅延が生じ、性能も劣化、ひいては動作不具合を発生する。また、駆動回路において大きな駆動力を必要になるなどの問題も発生する。
また、特開平8−212169号公報には、隣接するn個のプロセッサエレメント間のレジスタをグループ化し、共通バスを設定してグループ毎に1つの制御信号線を配置したアレイプロセッサが開示されている。この方式では隣接するプロセッサエレメント間のレジスタをリードバス及びライトバスにより接続し、複数個のプロセッサエレメントを1つのプロセッサとして動作させるものである。従って、この方式では、プロセッサエレメントをシフトさせたり、特定のプロセッサエレメントのデータを書き換えるなど処理が容易に行えないなどの問題がある。
また、この公報のものにおいては、命令シーケンス制御部の近傍のプロセッサエレメント(PE0)と、最終端のプロセッサエレメント(PEn)でCS信号の配線遅延に関しては、何ら考慮されていない。
この発明は、上述した従来の問題点に鑑みなされたものにして、駆動回路において大きな駆動力を必要とせず且つ、制御信号線の配線遅延が生じない並列プロセッサを提供することを目的とするものである。
この発明は、プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、各プロセッサエレメントは、演算部、レジスタ少なくとも備える複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられ、上記制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、生成されたローカル制御信号は、任意単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記制御信号は、全グループのバッファ手段に対して供給されることを特徴とする。
また、この発明は、前記内部バスを介して機能手段間のデータの転送又は交換が行われる。
上記した構成によれば、グローバル制御信号は、任意のプロセッサエレメント単位に供給するだけでよいので、グローバルプロセッサのバッファを小型化できる。
また、この発明では、任意の単位でバッファリングするため、グローバル配線信号の本数を削減できるとともに、信号のスキューも防止できる。
また、この発明は、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるように構成すると良い。
上記した構成によれば、最も遠いプロセッサエレメントまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる
さらに、この発明は、前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
上記の構成によれば、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメントを横断する長配線において寄生容量による遅延を無くすことができる。
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
上記構成によれば、クロストークの影響を防止することができる。
また、この発明の画像処理装置は、複数のプロセッサエレメントがアレイ状に設けられた並列プロセッサにFIFOを介して画像データが入力され、入力された画像データを並列演算処理し、演算処理された画像データがFIFOを介して並列プロセッサ外部に出力される画像処理装置であって、前記並列プロセッサのプロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、前記内部バスを介して機能手段間のデータの転送又は交換が行われ、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内には、前記制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、生成されたローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給され、前記グローバル制御信号に基づいて並列処理された画像データが外部に出力されることを特徴とする。
また、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるとよい。
さらに、この発明は、前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
以上説明したように、グローバルプロセッサ(命令シーケンス制御部)で発生したプロセッサエレメント制御信号を、任意のPE単位のローカル信号発生部に供給されるグローバル制御信号と、ローカル信号発生部でバッファされ、任意のPE単位に含まれるPEのみ供給されるローカル制御信号に制御信号を分割することで、グローバル制御信号は、任意のPE単位に供給するだけでよくなり、グローバルプロセッサ(命令シーケンス制御部)でのバッファを小型化できる。
さらに、この発明では、任意の単位(でバッファリングするため、グローバル配線信号の本数を削減し、さらに信号のスキューを防止できる。
また、グローバル配線メタルを最上層メタル配線を使用すれば、最上層以下の配線層に比べ、カップリング要素が少なく配線遅延を最小とすることができる。
さらに、最上層配線は、上記効果の信号数の削減の効果も併せ、配線ピッチを広く設定することが可能で、他の隣接する信号の変動による信号遅延(クロストーク影響)を受けない。
また、最上層配線メタルは、プロセッサ全体の電源等に使用されることが多く、電源ラインでシールドすることで、クロストーク影響を防止することができる。
以下、この発明の実施の形態につき図面を参照して説明する。
まず、この発明にかかるSIMD型プロセッサの全体構成について、図1に従い説明する。この発明のSIMD型プロセッサ1は、図1に示すように、グローバルプロセッサ(GP)2、本実施形態では256組の後述するプロセッサエレメント(PE)3aを備えたプロセッサエレメントブロック3と、インタフェース4から構成される。インタフェース4はグローバルプロセッサ2の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタフィル31に与えるとともに、演算処理されたデータをレジスタファイル31から外部のプリンタなどへ転送するものである。
プロセッサエレメントブロック3は、SIMD型プロセッサの外部に設けられたスキャナなどの入力装置から入力される画像データを格納するとともに、外部のプリンタなどの出力装置に出力する画像データを格納するレジスタファイル231と、レジスタファイル31からのデータやグローバルプロセッサ2からのデータを演算処理する演算アレイ36と、を備える。レジスタファイル31は複数のレジスタからなり、外部との入出力並びに演算部36やグローバルプロセッサ2との間でのデータの入出力が行われる。
グローバルプロセッサ2は、プロセッサエレメントブロック3を制御する。このグローバルプロセッサ2は、各種制御信号を送るSISD方式のプロセッサで構成されている。
グローバルプロセッサ2の構成は図1に示すように、命令を解読し、各種制御信号を発生するシーケンスユニット(以下、SCUという)22と、グローバルプロセッサ命令により算術論理演算を行う算術論理演算器(以下、ALUという。)23、このプロセッサのプログラム格納用のプログラムRAM21と演算データ格納用のデータRAM24、図には明記していないが、割り込み制御回路、外部I/O制御回路、GP演算制御回路とを、備える。
さらに、グローバルプロセッサ2は、プログラムのアドレスを保持するプログラムカウンタ(PC)、演算処理のデータ格納のための汎用レジスタであるG0〜G3レジスタ、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)、同じくIRQ時とNMI時の分岐元アドレスを保持するLI、LNレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)などのレジスタ群25が内蔵されている。
前述したSCU22には、図示はしていないが、GP命令を解読し、主にグローバルプロセッサ2内の各ブロックに制御信号を発生するGPインストラクションデコーダ(以下、GDCという)と、プロセッサエレメント(PE)命令を解読し、主にプロセッサエレメントブロック3内の各ブロックに制御信号を発生するPEインストラクションデコーダ(以下、PDCという)を、備える。すなわち、このプロセッサには、主にグローバルプロセッサ2内での演算処理を受け持つGP命令と、プロセッサエレメントブロック3内もしくはプロセッサエレメント3a…間での演算処理を受け持つPE命令に分類される。このPE命令はPE制御線210から各プロセッサエレメント3a…に与えられる。また、グローバルプロセッサ2とプロセッサエレメント3a…間はバス211,212を介してデータの入出力が行われる。
また、前述したプロセッサエレメント3aの演算部36は、マルチプレクサ32、シフト拡張回路33、算術論理演算器34(以下、「ALU34」という)、及びAレジスタ35a、Fレジスタ35bを備える。
前述したグローバルプロセッサ2のSCU22は、インタフェース(図示しない)に対してデータ転送のための動作設定用データ及びコマンド等を送る。インタフェースは、シーケンスユニット22の動作設定用データ及びコマンドに基づき、プロセッサエレメント3aのアドレス指定のためのアドレス制御信号、プロセッサエレメント3aを構成するレジスタ31−1…にデータのリード/ライトを指示するためのリード/ライト制御信号、クロック信号を与えるためのクロック制御信号を生成する。
ここで、リード/ライト制御信号のうちライト制御信号とは、演算処理されるデータをデータバスより取得して、プロセッサエレメント3aのレジスタファイル31に保持させるための信号をいう。一方、リード/ライト制御信号のうちリード制御信号とは、プロセッサエレメント3aのレジスタファイル31が保持している演算処理されたデータを、データバスへ与えるようレジスタに指示するための信号をいう。
レジスタファイル31には、1つのプロセッサエレメント3a単位に、例えば、8ビットのレジスタが32本内蔵されており、本実施形態では256のプロセッサエレメント分の組がアレイ構成になっている。レジスタファイル31は1つのプロセッサエレメント(PE)3aごとにR0、R1、R2、...R31と呼ばれているレジスタが内蔵されている。それぞれのレジスタファイル31は演算アレイ36に対して1つの読み出しポート(QP)と1つの書き込みポート(D)を備えており、8ビットのリード/ライト兼用のバスで演算アレイ36からアクセスされる。32本のレジスタの内、24本はプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで任意のレジスタを読み書きできる。
レジスタの外部からのアクセスは1つの外部ポートで各プロセッサエレメント3aの1つのレジスタがアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号(0〜255)を指定する。したがって、レジスタアクセスの外部ポートは全部で24組搭載されている。なお、本実施形態では、レジスタ31は8ビットのデータを保持できるものとして扱うが、データに応じて適宜変更しても問題ない。
ライト指示信号が与えられると、レジスタ31は演算処理されるデータをデータバスより取得して保持する。一方、リード指示信号が送られてくると、レジスタ31は保持している演算処理されたデータをデータバスへ与える。このデータはインタフェースから外部データバスを介して外部のプリンタなどへ転送される。
また、レジスタは、本実施形態においては8ビットデータをパラレルで転送するデータバスを介してマルチプレクサ32に接続されている。ALU34で演算処理されるデータ、或いはALU34で演算処理されたデータは、このデータバスを介して、レジスタ31との間で転送される。この転送は、グローバルプロセッサ2のシーケンスユニット22からの制御信号によって、グローバルプロセッサ2に接続されたリード用制御信号線、ライト用制御信号線を介して行われる。具体的には、グローバルプロセッサ2のシーケンスユニット22から、リード用制御信号線を介してリード指示信号が送られてくると、レジスタ31は保持している演算処理されるデータをデータバスへ置く。このデータはALU34へ送られ演算処理される。一方、グローバルプロセッサ2のシーケンスユニット22から、ライト用制御信号線を介してライト指示信号が送られてくると、レジスタ31はデータバスを介して送られてきたALU34で演算処理されたデータを保持する。
演算アレイ36は、マルチプレクサ32、シフト/拡張回路33、16ビットALU34及び16ビットのレジスタ35a、35bを備えている。このレジスタは、16ビットのAレジスタ35a、Fレジスタ35bである。
プロセッサエレメント3aの命令による演算は、基本的にレジスタファイル31から読み出されたデータをALU34の片側の入力としてもう片側にはレジスタ35のAレジスタ35aの内容を入力として結果をAレジスタ35aに格納する。したがって、Aレジスタ35aとレジスタファイル31のR0〜R31レジスタとの演算が行われることとなる。レジスタファイル31と演算アレイ36との接続に(7to1)のマルチプレクサ32を置いており、プロセッサエレメント方向で左に1、2、3つ離れたデータと右に1、2、3つ離れたデータ、中央のデータを演算対象として選択している。また、レジスタファイル31の8ビットのデータはシフト/拡張回路33により任意ビットの左シフトしてALU34に入力される。
上記したように、マルチプレクサ32は、自己のプロセッサエレメント3aに備えられた上記データバスに接続されるとともに、両隣3つのプロセッサエレメント3aに備えられたデータバスにも接続されている。このマルチプレクサ32は7つのプロセッサエレメント3aから1つを選択し、その選択したプロセッサエレメント3aにおけるレジスタ31で保持されているデータをALU34へ送る。或いはALU34で演算処理されたデータを、選択したプロセッサエレメント3aにおけるレジスタ31へ送る。これによって、隣のプロセッサエレメント3aにおけるレジスタ31で保持されているデータを利用した演算処理が可能になり、SIMD型プロセッサ1の演算処理能力を高めることができる。
シフト/拡張回路33は、マルチプレクサ32から送られてきたデータを所定ビットシフトしてALU34へ送る。或いはALU34から送られてきた演算処理されたデータを所定ビットシフトしてマルチプレクサ32へ送る。
ALU34は、シフト/拡張回路33から送られてきたデータと、Aレジスタ35aに保持されているデータとに基づき算術論理演算を行う。なお、本実施形態では、ALU34は16ビットのデータに対応できるものとして扱うが、データに応じて適宜変更しても問題ない。演算処理されたデータは、Aレジスタ35aに保持され、シフト/拡張回路33へ転送されたり、或いはグローバルプロセッサ2の汎用レジスタ25へ転送される。
グローバルプロセッサ2からインターフェースへはI/O用のアドレス、データ、コントロール信号がバスを介して与えられる。
さらに、図示していない条件レジスタ(T)により、プロセッサエレメント(PE)3a毎に演算実行の有効/無効の制御をしており特定のプロセッサエレメント(PE)3aだけを演算対象として選択できるように構成している。
次に、この発明の特徴であるグローバルプロセッサ2の制御信号の転送について図2を参照して説明する。
この発明は、図2に示すように、グローバルプロセッサ2からのSIMD型プロセッサに存在する多数のプロセッサエレメント3aへ送る制御信号を、多層メタル配線プロセスを使用するレイアウトにおいて、性能を確保するための回路配置並びにプロセッサの制御を行うものである。
図2はこの発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図、また、図3はこの発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
SIMD型プロセッサは、グローバルプロセッサ2の命令シーケンス制御部と複数のプロセッサエレメント3a(PE0〜PEn)で構成される。
命令シーケンス制御部は、命令をデコードし、プロセッサエレメント3a…に対して、グローバル制御信号(GCS、GCS0〜GCSn)を供給する。
プロセッサエレメント(PE)3a…は、複数のプロセッサエレメント3a…を一つの単位(GPE)として、分割された階層で構成されている。
図2及び図3に示す実施形態においては、1つのグループ(GPE)は、4個のPE0〜PE3、PE4〜PE7または、PEn−3〜PEnを単位とし、各GPEは、ローカル制御信号発生部50(PEBUF、PEBUF0〜PEBUFm)を備えている。
なお、この実施形態においては、便宜上4個のプロセッサエレメント3aを1個のグループとしているが、グループにおけるプロセッサエレメント3aの個数は、必要に応じて、8個、16個などその個数は用途に応じて適宜決定すればよい。
上記したように、この実施形態においては、ローカル制御信号発生部50が、1つのグループ毎に1個設けられている。図2に示す実施形態においては、各グループ(GPE)の命令シーケンス制御部2側にローカル信号発生部50を設け、図3に示す実施形態においては、各GPEの中間部に設けている。
GPEの中のプロセッサエレメントの数が増えた場合には、図3に示すように、その中間にローカル制御信号発生部50(PEBUF、PEBUF0〜PEBUFm)を設ける方が最も遠いプロセッサエレメント3aまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる。このため、プロセッサエレメントの数が増えたときは図3に示す構成が有効になる。
ローカル制御信号発生部50は、命令シーケンス制御部2で発生した、グローバル制御信号(GCS)をバッファリングするとともに、ローカル制御信号(LCS、LCS0〜LCSp)を発生するものである。
ローカル制御信号(LCS)は、各グループGPEに限り、プロセッサエレメント3aの制御信号として供給される。
図4は、この発明の要部を示すブロック回路図であり、プロセッサエレメントとローカル信号発生部50の関係を示している。図4に示すものは、1つのGPEの中でPE4及びPE5とローカル信号発生部50とを示している。
各プロセッサエレメント(PE)3a内には、上述したように、ラッチ回路等を含むレジスタ手段31−1、算術論理演算処理回路、シフタ、カウンタ等の諸機能を含む。図4においては、3種類のレジスタ(REG1、2、REGn)の機能を含んだ、PE4、5およびローカル制御信号発生部(PEBUF1)の例を示している。
レジスタ(REG)31−1…は、図5に示す、ラッチ回路で構成されており、例えば、図6に示すレイアウト構成をとる。
図4に示すように、各プロセッサエレメント3aのレジスタREG1、2、nは、レジスタ間のデータ交換のため内部バスPE4_ABUS、BBUS、CBUS、PE5_ABUS、BBUS,CBUSに接続されてる。
レジスタ31−1…は、図5に示すように、CP信号,CN信号のクロック入力により、D入力より内部バス信号をラッチし、QPより内部バスに対してデータを出力する。また、REGnでは、QPはLCSp−2信号をスイッチとするゲートを介して内部バスに接続されている。
命令シーケンス制御部2で発生した、グローバル制御信号(GCS)は、ローカル制御信号発生部(PEBUF1)でバッファリングされ、各ローカル信号発生部50にて、ローカル制御信号LCS0〜LCSp)が発生される。それぞれのローカル制御信号(LCS)は、プロセッサエレメントPE4、5の制御信号、図4においては、CP信号,CN信号のクロック信号としてレジスタ31−1…に与えられ、REGnでは、LCSp−2信号をスイッチとしてゲートに与えられている。
上記したように、命令シーケンス制御部2で発生したプロセッサエレメント制御信号を、任意のプロセッサエレメント単位(GPE)のローカル信号発生部50(PEBUF)に供給されるグローバル制御信号(GCS)と、ローカル信号発生部50(PEBUF)でバッファされ、任意のPE単位(GPE)に含まれるプロセッサエレメントのみ供給されるローカル制御信号(LCS)に制御信号を分割して供給する。
前述したように、命令シーケンス制御部2で全プロセッサエレメント3aに対して制御信号を供給する従来の方式では、制御信号が長配線でかつ、多数のプロセッサエレメントに信号を同時供給するため、負荷が大きくなり、命令シーケンス制御部に巨大なバッファが必要であった。これに対して、この発明では、グローバル制御信号は、任意のプロセッサエレメント単位(GPE)に供給するだけでよいので、命令シーケンス制御部のバッファを小型化できる。
また、図13に示すように、従来の制御信号(CS0、1、CS2、3または、CSn−1、CSn)の場合、長配線のため、信号のスキューを発生し、動作不具合を発生する。この発明では、図2及び図3に示すように、任意の単位(GPE)でバッファリングするため、グローバル配線信号の本数を削減、すなわち、図13のCS0,CS1の2本に対して、図2及び図3のGCSの1本となる、さらに信号のスキューも防止できる。
図7にこの発明の図4の回路相当のレイアウト図を図7に示す。図7は、図3、図4におけるプロセッサエレメントPE4、PE5、とローカル信号発生部50(PEBUF1)とのレジスタ(REG1),(REG2)の部分である。
なお、ここで採用される製造プロセスは5層メタル配線が可能としている。メタル配線は層構造をなし、層間は直交、並走においてVIAと呼ばれるホールを介して接続される。
各層は、シリコン基板に近傍のメタル配線層から、メタル1(最下層)、メタル2、メタル3、メタル4、メタル5(最上層)と呼ぶ。図8にその断面構造を示す。
PE内部のレイアウトは、回路階層に従い、マクロセルと呼ばれる単位で構成される。このマクロセルは図6に示すように回路配置されている。マクロセルの電源ラインVDD、GNDは、メタル1で構成され、セル間は図7に示すように、メタル1で接続されている。
さらにPE内部は、図7に示すように、水平方向に対して、図5で示すバスラインPE4_ABUS、BBUS、CBUS、PE5_ABUS、BBUS、CBUSが貫通する。バスラインはプロセッサエレメント3a間のデータの転送等に使用されるバス配線で、本実施形態では、2層または4層メタルで構成される。
グローバル制御信号GCS0、1は、基本的には、最上層メタル、メタル5層で、命令シーケンス制御部2よりローカル信号発生部(PEBUF1)に対して供給される。
ここで、グローバル制御信号GCS0を最上層メタルに使用するのは、多層メタル配線プロセスにおいて、本実施形態での最上層メタル5を除くメタル1、2、3、4は、図8に示すように、自身のメタルに対して、基板含め、上層、下層に異なるメタル配線が存在する場合、カップリング容量と呼ばれる隣接メタル間の寄生容量が発生する。
そのカップリング容量により各信号線は、配線遅延を生ずる。本実施形態でグローバル配線GCS0を、最上層メタルである配線メタル5を用いているのは、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメント3aを横断する長配線において寄生容量による遅延を無くして有効であるためである。
グローバル制御信号GCS0は、ローカル信号発生部(PEBUF1)に入力されローカル制御信号(図7:LCS0、1、2、3)を生成する。ローカル制御信号は、メタル3層で構成される。
ローカル制御信号は、1つのGPE内でPE4、5、6、7まで供給され信号線は、終端される。
次に、この発明のSIMD型プロセッサをディジタル複写機などの画像処理装置に用いた場合につき図9ないし図11を参照して説明する。
イメージスキャナで読み取られた画像データ(nビットのディジタル画像データ)が外部データバスからFIFO7に与えられる。FIFO7に1走査ライン分のデータが格納されると、SIMD型プロセッサ1のグローバルプロセッサ2からの制御信号により、この実施の形態では256個の画像データがレジスタファイル31へ与えられる。
上記したように、この実施形態においては、レジスタファイル31には1つのPE単位に8ビットのレジスタが32本内蔵されており、256PE分の組みがアレイ構成になっている。レジスタはPEごとにR0、R1、R2、...R31と呼ばれている。それぞれのレジスタは演算アレイに対して1つの読み出ししポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバス37で演算アレイからアクセスされる。32本のレジスタの内、24本(R0〜R23)は、プロセッサ外部からアクセス可能であり、外部からクロックとアドレス、グローバル制御信号によるリード/ライト制御を入力することで任意のレジスタを読み書きできる。
残りの8本(R24〜R31)のレジスタはPE演算の一時的な演算データ保存用として使用されるが、グローバルプロセッサ2の命令に従いテーブルRAM等からのデータを書き込むこともできる。このデータの書き込みは、グローバルプロセッサ2からのライト制御と演算アレイ36のにより行われる。
また、プロセッサエレメント(PE)3a…は、前述した実施形態に示すように、複数のプロセッサエレメント3a…を一つの単位とし(GPE)、て分割された階層で構成されている。
グローバル制御信号をバッファリングするローカル制御信号発生部50が、1つのグループ毎に1個設けられている。
ローカル制御信号発生部50は、グローバルプロセッサ2で発生した、グローバル制御信号(GCS)をバッファリングするとともに、ローカル制御信号(LCS、LCS0〜LCSp)を発生するものである。
ローカル制御信号(LCS)は、各グループGPEに限り、プロセッサエレメント3aの制御信号として供給される。そして、各プロセッサエレメント3aは、グローバルプロセッサ2の命令に従いデータを書き込み及び読み出しが行われる。
演算アレイ36は16ビットALUと16ビットAレジスタ、Fレジスタを内蔵している。PE命令による演算はレジスタファイル31から読み出されたデータもしくはグローバルプロセッサ2から与えられたデータをALUの片側の入力としてもう片側にはAレジスタの内容を入力として結果をAレジスタに格納する。したがって、Aレジスタ35aとR0〜R31レジスタもしくはグローバルプロセッサ2から与えられたデータとの演算が行われることとなる。
FIFO7より転送され、レジスタファイル31に格納された画像データは、前述した実施形態に基づき演算処理が行われる。
演算処理が行われたレジスタファイル31に格納されたデータFIFO8に転送される。FIFO8は1走査ライン分のデータを格納すると、データをプリンタなどの外部出力装置に転送する。
また、画像データを予めラインメモリ9に蓄えておき、ラインメモリ9からプロセッサエレメントブロック3にデータを転送し、非線形処理を行ったデータをラインメモリ9に格納するように構成しても良い。このときのデータ転送はメモリコントローラ91を介してRAM92へ入出力される。
図10にFIFO7の一例を図11にFIFO8の一例をそれぞれ示す。これらFIFO7,8はメモリコントローラ72(82)、バッファメモリ71(81)を備える。外部データ入力はメモリコントローラ72を介してバッファメモリ71へデータが格納され、1ライン分のデータをバッファメモリ71に格納すると、メモリコントローラ72からプロセッサエレメントブロック3へデータを転送する。外部データ出力はプロセッサエレメントブロック3からメモリコントローラ72を介してバッファメモリ71へデータが格納され、1ライン分のデータをバッファメモリ71に格納すると、メモリコントローラ72から外部へデータを出力する。
上記した画像処理装置は、イメージスキャナで取り込んだ画像データをプリンタ部へ出力する場合に付き説明したが、これに限らずデジタルビデオ、ディジタルカメラなどのディジタル画像を非線形処理する場合にもこの発明は適用できる。また、外部出力もプリンタに限らず、ディスプレイへの出力、データ転送などの方式で出力する場合でもこの発明は適用できる。
この発明にかかるSIMD型プロセッサの全体構成を示すブロック図である。 この発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。 この発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。 この発明の要部を示すブロック回路図である。 この発明に用いられるレジスタの構成を示すブロック回路図である。 図5に示すレジスタのレイアウト構成を示す模式図である。 図4に示す回路のレイアウト構成を示す模式図である。 多層配線構造を示す模式的断面図である。 この発明にかかる画像処理装置を示すブロック図である。 入力用FIFOの一例を示すブロック図である。 出力用FIFOの一例を示すブロック図である。 SIMD型プロセッサの構成を示すブロック図である。 各プロセッサエレメントと制御信号線とを示す回路図である。
符号の説明
2 グローバルプロセッサ
3 プロセッサエレメントブロック
3a プロセッサエレメント
31 レジスタファイル
50 ローカル信号発生部

Claims (2)

  1. プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、
    各プロセッサエレメントは、演算部、レジスタ少なくとも備える複数の機能手段を含み、
    前記機能手段は、内部バスに接続され、
    各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、
    前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられ、
    記制御信号は、前記バッファ手段に入力され、このバッファ手段にてローカル制御信号が生成され、
    生成されたローカル制御信号は、任意単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、
    記制御信号は、全グループのバッファ手段に対して供給されることを特徴とする並列プロセッサ。
  2. プログラムを解読しプロセッサ全体を制御するプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有し、各プロセッサエレメントは、演算部、レジスタ部を少なくとも備える複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記プロセッサで発生した制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、制御信号線に沿って任意の単位に分割されるとともに、任意単位のプロセッサエレメントのグループ内それぞれに、前記制御信号のバッファ手段が設けられた並列プロセッサにおけるデータ処理方法であって、
    前記制御信号を全グループのバッファ手段に供給する工程と、
    該各バッファ手段が入力された前記制御信号に基づいてローカル制御信号を生成する工程と、
    前記各バッファ手段が生成したローカル制御信号をグループ内の任意単位のプロセッサエレメントのみに供給する工程と、を含むことを特徴とするデータ処理方法。
JP2006269286A 2006-09-29 2006-09-29 並列プロセッサ Expired - Lifetime JP4554582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006269286A JP4554582B2 (ja) 2006-09-29 2006-09-29 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006269286A JP4554582B2 (ja) 2006-09-29 2006-09-29 並列プロセッサ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000036938A Division JP4311847B2 (ja) 2000-02-15 2000-02-15 並列プロセッサ及びそれを用いた画像処理装置

Publications (2)

Publication Number Publication Date
JP2007018536A JP2007018536A (ja) 2007-01-25
JP4554582B2 true JP4554582B2 (ja) 2010-09-29

Family

ID=37755597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006269286A Expired - Lifetime JP4554582B2 (ja) 2006-09-29 2006-09-29 並列プロセッサ

Country Status (1)

Country Link
JP (1) JP4554582B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4868607B2 (ja) 2008-01-22 2012-02-01 株式会社リコー Simd型マイクロプロセッサ
JP5049802B2 (ja) * 2008-01-22 2012-10-17 株式会社リコー 画像処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231092A (ja) * 1992-05-22 1994-08-19 Internatl Business Mach Corp <Ibm> コンピュータ・システム
JPH08212169A (ja) * 1995-02-03 1996-08-20 Nippon Steel Corp アレイプロセッサ
JPH0927745A (ja) * 1995-06-02 1997-01-28 Internatl Business Mach Corp <Ibm> プログラマブル・アレイ・クロック/リセット
JPH1065106A (ja) * 1996-08-20 1998-03-06 Fujitsu Ltd 集積回路のクロック分配回路
JPH11317457A (ja) * 1998-05-07 1999-11-16 Oki Electric Ind Co Ltd 集積回路とその配置配線設計方法
JP4311847B2 (ja) * 2000-02-15 2009-08-12 株式会社リコー 並列プロセッサ及びそれを用いた画像処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231092A (ja) * 1992-05-22 1994-08-19 Internatl Business Mach Corp <Ibm> コンピュータ・システム
JPH08212169A (ja) * 1995-02-03 1996-08-20 Nippon Steel Corp アレイプロセッサ
JPH0927745A (ja) * 1995-06-02 1997-01-28 Internatl Business Mach Corp <Ibm> プログラマブル・アレイ・クロック/リセット
JPH1065106A (ja) * 1996-08-20 1998-03-06 Fujitsu Ltd 集積回路のクロック分配回路
JPH11317457A (ja) * 1998-05-07 1999-11-16 Oki Electric Ind Co Ltd 集積回路とその配置配線設計方法
JP4311847B2 (ja) * 2000-02-15 2009-08-12 株式会社リコー 並列プロセッサ及びそれを用いた画像処理装置

Also Published As

Publication number Publication date
JP2007018536A (ja) 2007-01-25

Similar Documents

Publication Publication Date Title
EP0539595A1 (en) Data processor and data processing method
JP4311847B2 (ja) 並列プロセッサ及びそれを用いた画像処理装置
JP3971535B2 (ja) Simd型プロセッサ
JP4554582B2 (ja) 並列プロセッサ
JP2008217061A (ja) Simd型マイクロプロセッサ
JPH02165386A (ja) 描画処理装置及びその描画処理装置を用いた画像表示装置
JPH04295953A (ja) 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット
JP2006294045A (ja) 並列プロセッサ及びそれを用いた画像処理装置
EP0464601A2 (en) Arithmetic operation system
US20050163381A1 (en) Image processing apparatus with SIMD-type microprocessor to perform labeling
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP4403009B2 (ja) マイクロプロセッサ
JP5049802B2 (ja) 画像処理装置
JP2008236085A (ja) 画像処理装置
JP2011134042A (ja) Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ整列方法
JPH0728988A (ja) 二次元センサシステム
JP4516495B2 (ja) Simd型マイクロプロセッサにおけるデータ処理方法
JP4413905B2 (ja) Simd型プロセッサ
US6900910B1 (en) Modulo addressing for look up table screening for printing files in a page description language
JP2010033324A (ja) Simd型マイクロプロセッサ
JPS61255456A (ja) Dma転送方式
JPH06290283A (ja) 並列データ処理装置
JP2016213340A (ja) 制御装置
WO2015125960A1 (ja) 情報処理装置、デジタルカメラおよびプロセッサ
WO2019059153A1 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070207

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090731

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20090909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4554582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term