JP4311847B2 - 並列プロセッサ及びそれを用いた画像処理装置 - Google Patents
並列プロセッサ及びそれを用いた画像処理装置 Download PDFInfo
- Publication number
- JP4311847B2 JP4311847B2 JP2000036938A JP2000036938A JP4311847B2 JP 4311847 B2 JP4311847 B2 JP 4311847B2 JP 2000036938 A JP2000036938 A JP 2000036938A JP 2000036938 A JP2000036938 A JP 2000036938A JP 4311847 B2 JP4311847 B2 JP 4311847B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- control signal
- global
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
Description
【産業上の利用分野】
この発明は、例えば、デジタル複写機やファクリミリ装置等の画像データのデジタル処理等に用いられる並列プロセッサ及びそれを用いた画像処理装置に関するものである。
【0002】
【従来の技術】
近年、デジタル複写機やファクリミリ装置等の画像処理装置において、画素数を増加したり、或いはカラー対応にするなど画像の向上が図られている。そして、この画像の向上に伴い、処理すべきデータ数が増加している。ところで、複写機等の画像処理装置におけるデータ処理は全ての画素に対して同じ演算処理を施すことが多い。そこで、1つの命令で複数のデータに対して同時に同じ演算処理を行うSIMD(Single Instruction Stream Multiple Data Stream)方式のプロセッサが用いられるようになっている。
【0003】
このSIMD型プロセッサでは、1つの命令で複数のデータに対して同時に同じ演算処理が実行可能である。
【0004】
図12は、SIMD型プロセッサの構成を示すブロック図である。
【0005】
SIMD型プロセッサ1は、グローバルプロセッサ(GP)2、複数のプロセッサエレメント(PE)3aを備えたプロセッサエレメントブロック3、インタフェース4から構成される。
【0006】
SIMD方式では、複数のデータを同時に処理するため、プロセッサエレメントブロック3は、複数のプロセッサエレメント3a…で構成される。プロセッサエレメント3aは、複数のレジスタを有するレジスタファイル31と、レジスタファイル31からのデータやグローバルプロセッサ2からのデータを演算処理する演算部36とを備える。
【0007】
インタフェース4はグローバルプロセッサ2の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタファイル31に与えるとともに、演算処理されたデータをレジスタファイル31から外部のプリンタなどへ転送するものである。
【0008】
グローバルプロセッサ2は、プロセッサエレメントブロック3、インタフェース4を制御する。このグローバルプロセッサ2は、各種制御信号を送るSISD方式のプロセッサで構成されている。
【0009】
上記したように、SIMD型の制御は、全てのプロセッサエレメント3aで同一の命令を処理するようにしたものである。すなわち、SIMD型プロセッサにおいては、グローバルプロセッサ2から各プロセッサエレメント3a…に共通の制御信号線が接続され、この制御信号線を介して各プロセッサエレメント3a…に1つの命令が送られることにより、各プロセッサエレメント3a…は同一の命令の処理を行う。
【0010】
図13は、各プロセッサエレメントと制御信号線とを示す回路図である。この図13においては、単一の命令処理を複数のデータに対して実行するためにプロセッサエレメント3aが、PE0〜PEnまで備えている。そして、各プロセッサエレメント3aにはn個のレジスタ31−1〜31−n(REG1〜REGn)を備えている。
【0011】
グローバルプロセッサ2の命令信号発生部から各プロセッサエレメント3a…へ、制御信号線(CS)から制御信号が与えられる。レジスタ31−1〜31−nへは、グローバルプロセッサ2から2つのクロック信号CP、CNが与えられる。CN信号とCP信号は相反する信号である、すなわちインバータにより一方の信号を反転した信号である。これらクロック信号CP、CNが制御信号CSから各プロセッサエレメント3a…に与えられる。なお、図13においては、CN信号は偶数の制御線に、CP信号は奇数の制御線に与えられている。
【0012】
そして、レジスタ31−1〜31−nは、CP、CN信号のクロック入力により、D入力より内部バス信号からデータをラッチし、QPより内部バスに対してデータを出力する。
【0013】
【発明が解決しようとする課題】
ところで、プロセッサエレメント(PE)3aの数が増加すると、命令信号発生部の駆動回路から全プロセッサエレメント3aの終端に至るまでの制御信号線の長さが非常に長くなる。このため、命令シーケンス制御部の近傍のプロセッサエレメント(PE0)と、最終端のプロセッサエレメント(PEn)でCS信号の配線遅延が生じ、性能も劣化、ひいては動作不具合を発生する。また、駆動回路において大きな駆動力を必要になるなどの問題も発生する。
【0014】
また、特開平8−212169号公報には、隣接するn個のプロセッサエレメント間のレジスタをグループ化し、共通バスを設定してグループ毎に1つの制御信号線を配置したアレイプロセッサが開示されている。この方式では隣接するプロセッサエレメント間のレジスタをリードバス及びライトバスにより接続し、複数個のプロセッサエレメントを1つのプロセッサとして動作させるものである。従って、この方式では、プロセッサエレメントをシフトさせたり、特定のプロセッサエレメントのデータを書き換えるなど処理が容易に行えないなどの問題がある。
【0015】
また、この公報のものにおいては、命令シーケンス制御部の近傍のプロセッサエレメント(PE0)と、最終端のプロセッサエレメント(PEn)でCS信号の配線遅延に関しては、何ら考慮されていない。
【0016】
この発明は、上述した従来の問題点に鑑みなされたものにして、駆動回路において大きな駆動力を必要とせず且つ、制御信号線の配線遅延が生じない並列プロセッサを提供することを目的とするものである。
【0017】
【課題を解決するための手段】
この発明は、プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、各プロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、グローバル制御信号線に沿って任意の単位に分割された群に構成されるとともに、任意の単位のプロセッサエレメントのグループ内それぞれに、前記グローバル制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にて相反する2つのローカル制御信号が生成され、生成された2つのローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給されることを特徴とする。
【0018】
また、この発明は、前記内部バスを介して機能手段間のデータの転送又は交換が行われる。
【0019】
上記した構成によれば、グローバル制御信号は、任意のプロセッサエレメント単位に供給するだけでよいので、グローバルプロセッサのバッファを小型化できる。
【0020】
また、この発明では、任意の単位でバッファリングするため、グローバル配線信号の本数を削減できるとともに、信号のスキューも防止できる。
【0021】
また、この発明は、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるように構成すると良い。
【0022】
上記した構成によれば、最も遠いプロセッサエレメントまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる
【0023】
さらに、この発明は、前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意の単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
【0024】
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
【0025】
上記の構成によれば、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメントを横断する長配線において寄生容量による遅延を無くすことができる。
【0026】
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
【0027】
上記構成によれば、クロストークの影響を防止することができる。
【0028】
また、この発明の画像処理装置は、複数のプロセッサエレメントがアレイ状に設けられた並列プロセッサにFIFOを介して画像データが入力され、入力された画像データを並列演算処理し、演算処理された画像データがFIFOを介して並列プロセッサ外部に出力される画像処理装置であって、前記並列プロセッサのプロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、前記内部バスを介して機能手段間のデータの転送又は交換が行われ、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、グローバル制御信号線に沿って任意の単位に分割された群に構成されるとともに、任意の単位のプロセッサエレメントのグループ内それぞれに、前記グローバル制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にて相反する2つのローカル制御信号が生成され、生成された2つのローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給され、前記グローバル制御信号に基づいて並列処理された画像データが外部に出力されることを特徴とする。
【0029】
また、前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けるとよい。
【0030】
さらに、この発明は、前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意の単位のプロセッサエレメントの機能手段の動作を制御するように構成することができる。
【0031】
また、グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用するとよい。
【0032】
さらに、前記グローバル制御信号線は電源ラインでシールドするように構成することができる。
【0033】
【発明の実施の形態】
以下、この発明の実施の形態につき図面を参照して説明する。
まず、この発明にかかるSIMD型プロセッサの全体構成について、図1に従い説明する。この発明のSIMD型プロセッサ1は、図1に示すように、グローバルプロセッサ(GP)2、本実施形態では256組の後述するプロセッサエレメント(PE)3aを備えたプロセッサエレメントブロック3と、インタフェース4から構成される。インタフェース4はグローバルプロセッサ2の命令に基づき、例えば外部のイメージスキャナなどから演算対象となるデータをプロセッサ内部の入出力用のレジスタフィル31に与えるとともに、演算処理されたデータをレジスタファイル31から外部のプリンタなどへ転送するものである。
【0034】
プロセッサエレメントブロック3は、SIMD型プロセッサの外部に設けられたスキャナなどの入力装置から入力される画像データを格納するとともに、外部のプリンタなどの出力装置に出力する画像データを格納するレジスタファイル231と、レジスタファイル31からのデータやグローバルプロセッサ2からのデータを演算処理する演算アレイ36と、を備える。レジスタファイル31は複数のレジスタからなり、外部との入出力並びに演算部36やグローバルプロセッサ2との間でのデータの入出力が行われる。
【0035】
グローバルプロセッサ2は、プロセッサエレメントブロック3を制御する。このグローバルプロセッサ2は、各種制御信号を送るSISD方式のプロセッサで構成されている。
【0036】
グローバルプロセッサ2の構成は図1に示すように、命令を解読し、各種制御信号を発生するシーケンスユニット(以下、SCUという)22と、グローバルプロセッサ命令により算術論理演算を行う算術論理演算器(以下、ALUという。)23、このプロセッサのプログラム格納用のプログラムRAM21と演算データ格納用のデータRAM24、図には明記していないが、割り込み制御回路、外部I/O制御回路、GP演算制御回路とを、備える。
【0037】
さらに、グローバルプロセッサ2は、プログラムのアドレスを保持するプログラムカウンタ(PC)、演算処理のデータ格納のための汎用レジスタであるG0〜G3レジスタ、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)、同じくIRQ時とNMI時の分岐元アドレスを保持するLI、LNレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)などのレジスタ群25が内蔵されている。
【0038】
前述したSCU22には、図示はしていないが、GP命令を解読し、主にグローバルプロセッサ2内の各ブロックに制御信号を発生するGPインストラクションデコーダ(以下、GDCという)と、プロセッサエレメント(PE)命令を解読し、主にプロセッサエレメントブロック3内の各ブロックに制御信号を発生するPEインストラクションデコーダ(以下、PDCという)を、備える。すなわち、このプロセッサには、主にグローバルプロセッサ2内での演算処理を受け持つGP命令と、プロセッサエレメントブロック3内もしくはプロセッサエレメント3a…間での演算処理を受け持つPE命令に分類される。このPE命令はPE制御線210から各プロセッサエレメント3a…に与えられる。また、グローバルプロセッサ2とプロセッサエレメント3a…間はバス211,212を介してデータの入出力が行われる。
【0039】
また、前述したプロセッサエレメント3aの演算部36は、マルチプレクサ32、シフト拡張回路33、算術論理演算器34(以下、「ALU34」という)、及びAレジスタ35a、Fレジスタ35bを備える。
【0040】
前述したグローバルプロセッサ2のSCU22は、インタフェース(図示しない)に対してデータ転送のための動作設定用データ及びコマンド等を送る。インタフェースは、シーケンスユニット22の動作設定用データ及びコマンドに基づき、プロセッサエレメント3aのアドレス指定のためのアドレス制御信号、プロセッサエレメント3aを構成するレジスタ31−1…にデータのリード/ライトを指示するためのリード/ライト制御信号、クロック信号を与えるためのクロック制御信号を生成する。
【0041】
ここで、リード/ライト制御信号のうちライト制御信号とは、演算処理されるデータをデータバスより取得して、プロセッサエレメント3aのレジスタファイル31に保持させるための信号をいう。一方、リード/ライト制御信号のうちリード制御信号とは、プロセッサエレメント3aのレジスタファイル31が保持している演算処理されたデータを、データバスへ与えるようレジスタに指示するための信号をいう。
【0042】
レジスタファイル31には、1つのプロセッサエレメント3a単位に、例えば、8ビットのレジスタが32本内蔵されており、本実施形態では256のプロセッサエレメント分の組がアレイ構成になっている。レジスタファイル31は1つのプロセッサエレメント(PE)3aごとにR0、R1、R2、...R31と呼ばれているレジスタが内蔵されている。それぞれのレジスタファイル31は演算アレイ36に対して1つの読み出しポート(QP)と1つの書き込みポート(D)を備えており、8ビットのリード/ライト兼用のバスで演算アレイ36からアクセスされる。32本のレジスタの内、24本はプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで任意のレジスタを読み書きできる。
【0043】
レジスタの外部からのアクセスは1つの外部ポートで各プロセッサエレメント3aの1つのレジスタがアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号(0〜255)を指定する。したがって、レジスタアクセスの外部ポートは全部で24組搭載されている。なお、本実施形態では、レジスタ31は8ビットのデータを保持できるものとして扱うが、データに応じて適宜変更しても問題ない。
【0044】
ライト指示信号が与えられると、レジスタ31は演算処理されるデータをデータバスより取得して保持する。一方、リード指示信号が送られてくると、レジスタ31は保持している演算処理されたデータをデータバスへ与える。このデータはインタフェースから外部データバスを介して外部のプリンタなどへ転送される。
【0045】
また、レジスタは、本実施形態においては8ビットデータをパラレルで転送するデータバスを介してマルチプレクサ32に接続されている。ALU34で演算処理されるデータ、或いはALU34で演算処理されたデータは、このデータバスを介して、レジスタ31との間で転送される。この転送は、グローバルプロセッサ2のシーケンスユニット22からの制御信号によって、グローバルプロセッサ2に接続されたリード用制御信号線、ライト用制御信号線を介して行われる。具体的には、グローバルプロセッサ2のシーケンスユニット22から、リード用制御信号線を介してリード指示信号が送られてくると、レジスタ31は保持している演算処理されるデータをデータバスへ置く。このデータはALU34へ送られ演算処理される。一方、グローバルプロセッサ2のシーケンスユニット22から、ライト用制御信号線を介してライト指示信号が送られてくると、レジスタ31はデータバスを介して送られてきたALU34で演算処理されたデータを保持する。
【0046】
演算アレイ36は、マルチプレクサ32、シフト/拡張回路33、16ビットALU34及び16ビットのレジスタ35a、35bを備えている。このレジスタは、16ビットのAレジスタ35a、Fレジスタ35bである。
【0047】
プロセッサエレメント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に入力される。
【0048】
上記したように、マルチプレクサ32は、自己のプロセッサエレメント3aに備えられた上記データバスに接続されるとともに、両隣3つのプロセッサエレメント3aに備えられたデータバスにも接続されている。このマルチプレクサ32は7つのプロセッサエレメント3aから1つを選択し、その選択したプロセッサエレメント3aにおけるレジスタ31で保持されているデータをALU34へ送る。或いはALU34で演算処理されたデータを、選択したプロセッサエレメント3aにおけるレジスタ31へ送る。これによって、隣のプロセッサエレメント3aにおけるレジスタ31で保持されているデータを利用した演算処理が可能になり、SIMD型プロセッサ1の演算処理能力を高めることができる。
【0049】
シフト/拡張回路33は、マルチプレクサ32から送られてきたデータを所定ビットシフトしてALU34へ送る。或いはALU34から送られてきた演算処理されたデータを所定ビットシフトしてマルチプレクサ32へ送る。
【0050】
ALU34は、シフト/拡張回路33から送られてきたデータと、Aレジスタ35aに保持されているデータとに基づき算術論理演算を行う。なお、本実施形態では、ALU34は16ビットのデータに対応できるものとして扱うが、データに応じて適宜変更しても問題ない。演算処理されたデータは、Aレジスタ35aに保持され、シフト/拡張回路33へ転送されたり、或いはグローバルプロセッサ2の汎用レジスタ25へ転送される。
【0051】
グローバルプロセッサ2からインターフェースへはI/O用のアドレス、データ、コントロール信号がバスを介して与えられる。
【0052】
さらに、図示していない条件レジスタ(T)により、プロセッサエレメント(PE)3a毎に演算実行の有効/無効の制御をしており特定のプロセッサエレメント(PE)3aだけを演算対象として選択できるように構成している。
【0053】
次に、この発明の特徴であるグローバルプロセッサ2の制御信号の転送について図2を参照して説明する。
【0054】
この発明は、図2に示すように、グローバルプロセッサ2からのSIMD型プロセッサに存在する多数のプロセッサエレメント3aへ送る制御信号を、多層メタル配線プロセスを使用するレイアウトにおいて、性能を確保するための回路配置並びにプロセッサの制御を行うものである。
【0055】
図2はこの発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図、また、図3はこの発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【0056】
SIMD型プロセッサは、グローバルプロセッサ2の命令シーケンス制御部と複数のプロセッサエレメント3a(PE0〜PEn)で構成される。
【0057】
命令シーケンス制御部は、命令をデコードし、プロセッサエレメント3a…に対して、グローバル制御信号(GCS、GCS0〜GCSn)を供給する。
【0058】
プロセッサエレメント(PE)3a…は、複数のプロセッサエレメント3a…を一つの単位として(GPE)、分割された階層で構成されている。
【0059】
図2及び図3に示す実施形態においては、1つのグループ(GPE)は、4個のPE0〜PE3、PE4〜PE7または、PEn−3〜PEnを単位とし、各GPEは、ローカル制御信号発生部50(PEBUF、PEBUF0〜PEBUFm)を備えている。
【0060】
なお、この実施形態においては、便宜上4個のプロセッサエレメント3aを1個のグループとしているが、グループにおけるプロセッサエレメント3aの個数は、必要に応じて、8個、16個などその個数は用途に応じて適宜決定すればよい。
【0061】
上記したように、この実施形態においては、ローカル制御信号発生部50が、1つのグループ毎に1個設けられている。図2に示す実施形態においては、各グループ(GPE)の命令シーケンス制御部2側にローカル信号発生部50を設け、図3に示す実施形態においては、各GPEの中間部に設けている。
【0062】
GPEの中のプロセッサエレメントの数が増えた場合には、図3に示すように、その中間にローカル制御信号発生部50(PEBUF、PEBUF0〜PEBUFm)を設ける方が最も遠いプロセッサエレメント3aまでの距離が、端部に設けた場合より、半分の距離になり、ローカルバス内での遅延等も最小に抑えることができる。このため、プロセッサエレメントの数が増えたときは図3に示す構成が有効になる。
【0063】
ローカル制御信号発生部50は、命令シーケンス制御部2で発生した、グローバル制御信号(GCS)をバッファリングするとともに、ローカル制御信号(LCS、LCS0〜LCSp)を発生するものである。
【0064】
ローカル制御信号(LCS)は、各グループGPEに限り、プロセッサエレメント3aの制御信号として供給される。
【0065】
図4は、この発明の要部を示すブロック回路図であり、プロセッサエレメントとローカル信号発生部50の関係を示している。図4に示すものは、1つのGPEの中でPE4及びPE5とローカル信号発生部50とを示している。
【0066】
各プロセッサエレメント(PE)3a内には、上述したように、ラッチ回路等を含むレジスタ手段31−1、算術論理演算処理回路、シフタ、カウンタ等の諸機能を含む。図4においては、3種類のレジスタ(REG1、2、REGn)の機能を含んだ、PE4、5およびローカル制御信号発生部(PEBUF1)の例を示している。
【0067】
レジスタ(REG)31−1…は、図5に示す、ラッチ回路で構成されており、例えば、図6に示すレイアウト構成をとる。
【0068】
図4に示すように、各プロセッサエレメント3aのレジスタREG1、2、nは、レジスタ間のデータ交換のため内部バスPE4_ABUS、BBUS、CBUS、PE5_ABUS、BBUS,CBUSに接続されてる。
【0069】
レジスタ31−1…は、図5に示すように、CP信号,CN信号のクロック入力により、D入力より内部バス信号をラッチし、QPより内部バスに対してデータを出力する。また、REGnでは、QPはLCSp−2信号をスイッチとするゲートを介して内部バスに接続されている。
【0070】
命令シーケンス制御部2で発生した、グローバル制御信号(GCS)は、ローカル制御信号発生部(PEBUF1)でバッファリングされ、各ローカル信号発生部50にて、ローカル制御信号LCS0〜LCSp)が発生される。それぞれのローカル制御信号(LCS)は、プロセッサエレメントPE4、5の制御信号、図4においては、CP信号,CN信号のクロック信号としてレジスタ31−1…に与えられ、REGnでは、LCSp−2信号をスイッチとしてゲートに与えられている。
【0071】
上記したように、命令シーケンス制御部2で発生したプロセッサエレメント制御信号を、任意のプロセッサエレメント単位(GPE)のローカル信号発生部50(PEBUF)に供給されるグローバル制御信号(GCS)と、ローカル信号発生部50(PEBUF)でバッファされ、任意のPE単位(GPE)に含まれるプロセッサエレメントのみ供給されるローカル制御信号(LCS)に制御信号を分割して供給する。
【0072】
前述したように、命令シーケンス制御部2で全プロセッサエレメント3aに対して制御信号を供給する従来の方式では、制御信号が長配線でかつ、多数のプロセッサエレメントに信号を同時供給するため、負荷が大きくなり、命令シーケンス制御部に巨大なバッファが必要であった。これに対して、この発明では、グローバル制御信号は、任意のプロセッサエレメント単位(GPE)に供給するだけでよいので、命令シーケンス制御部のバッファを小型化できる。
【0073】
また、図13に示すように、従来の制御信号(CS0、1、CS2、3または、CSn−1、CSn)の場合、長配線のため、信号のスキューを発生し、動作不具合を発生する。この発明では、図2及び図3に示すように、任意の単位(GPE)でバッファリングするため、グローバル配線信号の本数を削減、すなわち、図13のCS0,CS1の2本に対して、図2及び図3のGCSの1本となる、さらに信号のスキューも防止できる。
【0074】
図7にこの発明の図4の回路相当のレイアウト図を図7に示す。図7は、図3、図4におけるプロセッサエレメントPE4、PE5、とローカル信号発生部50(PEBUF1)とのレジスタ(REG1),(REG2)の部分である。
【0075】
なお、ここで採用される製造プロセスは5層メタル配線が可能としている。メタル配線は層構造をなし、層間は直交、並走においてVIAと呼ばれるホールを介して接続される。
【0076】
各層は、シリコン基板に近傍のメタル配線層から、メタル1(最下層)、メタル2、メタル3、メタル4、メタル5(最上層)と呼ぶ。図8にその断面構造を示す。
【0077】
PE内部のレイアウトは、回路階層に従い、マクロセルと呼ばれる単位で構成される。このマクロセルは図6に示すように回路配置されている。マクロセルの電源ラインVDD、GNDは、メタル1で構成され、セル間は図7に示すように、メタル1で接続されている。
【0078】
さらにPE内部は、図7に示すように、水平方向に対して、図5で示すバスラインPE4_ABUS、BBUS、CBUS、PE5_ABUS、BBUS、CBUSが貫通する。バスラインはプロセッサエレメント3a間のデータの転送等に使用されるバス配線で、本実施形態では、2層または4層メタルで構成される。
【0079】
グローバル制御信号GCS0、1は、基本的には、最上層メタル、メタル5層で、命令シーケンス制御部2よりローカル信号発生部(PEBUF1)に対して供給される。
【0080】
ここで、グローバル制御信号GCS0を最上層メタルに使用するのは、多層メタル配線プロセスにおいて、本実施形態での最上層メタル5を除くメタル1、2、3、4は、図8に示すように、自身のメタルに対して、基板含め、上層、下層に異なるメタル配線が存在する場合、カップリング容量と呼ばれる隣接メタル間の寄生容量が発生する。
【0081】
そのカップリング容量により各信号線は、配線遅延を生ずる。本実施形態でグローバル配線GCS0を、最上層メタルである配線メタル5を用いているのは、自身メタルの上層にカップリング要素を持たないため、全プロセッサエレメント3aを横断する長配線において寄生容量による遅延を無くして有効であるためである。
【0082】
グローバル制御信号GCS0は、ローカル信号発生部(PEBUF1)に入力されローカル制御信号(図7:LCS0、1、2、3)を生成する。ローカル制御信号は、メタル3層で構成される。
【0083】
ローカル制御信号は、1つのGPE内でPE4、5、6、7まで供給され信号線は、終端される。
【0084】
次に、この発明のSIMD型プロセッサをディジタル複写機などの画像処理装置に用いた場合につき図9ないし図11を参照して説明する。
【0085】
イメージスキャナで読み取られた画像データ(nビットのディジタル画像データ)が外部データバスからFIFO7に与えられる。FIFO7に1走査ライン分のデータが格納されると、SIMD型プロセッサ1のグローバルプロセッサ2からの制御信号により、この実施の形態では256個の画像データがレジスタファイル31へ与えられる。
【0086】
上記したように、この実施形態においては、レジスタファイル31には1つのPE単位に8ビットのレジスタが32本内蔵されており、256PE分の組みがアレイ構成になっている。レジスタはPEごとにR0、R1、R2、...R31と呼ばれている。それぞれのレジスタは演算アレイに対して1つの読み出ししポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバス37で演算アレイからアクセスされる。32本のレジスタの内、24本(R0〜R23)は、プロセッサ外部からアクセス可能であり、外部からクロックとアドレス、グローバル制御信号によるリード/ライト制御を入力することで任意のレジスタを読み書きできる。
【0087】
残りの8本(R24〜R31)のレジスタはPE演算の一時的な演算データ保存用として使用されるが、グローバルプロセッサ2の命令に従いテーブルRAM等からのデータを書き込むこともできる。このデータの書き込みは、グローバルプロセッサ2からのライト制御と演算アレイ36のにより行われる。
【0088】
また、プロセッサエレメント(PE)3a…は、前述した実施形態に示すように、複数のプロセッサエレメント3a…を一つの単位とし(GPE)、て分割された階層で構成されている。
【0089】
グローバル制御信号をバッファリングするローカル制御信号発生部50が、1つのグループ毎に1個設けられている。
【0090】
ローカル制御信号発生部50は、グローバルプロセッサ2で発生した、グローバル制御信号(GCS)をバッファリングするとともに、ローカル制御信号(LCS、LCS0〜LCSp)を発生するものである。
【0091】
ローカル制御信号(LCS)は、各グループGPEに限り、プロセッサエレメント3aの制御信号として供給される。そして、各プロセッサエレメント3aは、グローバルプロセッサ2の命令に従いデータを書き込み及び読み出しが行われる。
【0092】
演算アレイ36は16ビットALUと16ビットAレジスタ、Fレジスタを内蔵している。PE命令による演算はレジスタファイル31から読み出されたデータもしくはグローバルプロセッサ2から与えられたデータをALUの片側の入力としてもう片側にはAレジスタの内容を入力として結果をAレジスタに格納する。したがって、Aレジスタ35aとR0〜R31レジスタもしくはグローバルプロセッサ2から与えられたデータとの演算が行われることとなる。
【0093】
FIFO7より転送され、レジスタファイル31に格納された画像データは、前述した実施形態に基づき演算処理が行われる。
【0094】
演算処理が行われたレジスタファイル31に格納されたデータFIFO8に転送される。FIFO8は1走査ライン分のデータを格納すると、データをプリンタなどの外部出力装置に転送する。
【0095】
また、画像データを予めラインメモリ9に蓄えておき、ラインメモリ9からプロセッサエレメントブロック3にデータを転送し、非線形処理を行ったデータをラインメモリ9に格納するように構成しても良い。このときのデータ転送はメモリコントローラ91を介してRAM92へ入出力される。
【0096】
図10にFIFO7の一例を図11にFIFO8の一例をそれぞれ示す。これらFIFO7,8はメモリコントローラ72(82)、バッファメモリ71(81)を備える。外部データ入力はメモリコントローラ72を介してバッファメモリ71へデータが格納され、1ライン分のデータをバッファメモリ71に格納すると、メモリコントローラ72からプロセッサエレメントブロック3へデータを転送する。外部データ出力はプロセッサエレメントブロック3からメモリコントローラ72を介してバッファメモリ71へデータが格納され、1ライン分のデータをバッファメモリ71に格納すると、メモリコントローラ72から外部へデータを出力する。
【0097】
上記した画像処理装置は、イメージスキャナで取り込んだ画像データをプリンタ部へ出力する場合に付き説明したが、これに限らずデジタルビデオ、ディジタルカメラなどのディジタル画像を非線形処理する場合にもこの発明は適用できる。また、外部出力もプリンタに限らず、ディスプレイへの出力、データ転送などの方式で出力する場合でもこの発明は適用できる。
【0098】
【発明の効果】
以上説明したように、グローバルプロセッサ(命令シーケンス制御部)で発生したプロセッサエレメント制御信号を、任意のPE単位のローカル信号発生部に供給されるグローバル制御信号と、ローカル信号発生部でバッファされ、任意のPE単位に含まれるPEのみ供給されるローカル制御信号に制御信号を分割することで、グローバル制御信号は、任意のPE単位に供給するだけでよくなり、グローバルプロセッサ(命令シーケンス制御部)でのバッファを小型化できる。
【0099】
さらに、この発明では、任意の単位(でバッファリングするため、グローバル配線信号の本数を削減し、さらに信号のスキューを防止できる。
【0100】
また、グローバル配線メタルを最上層メタル配線を使用すれば、最上層以下の配線層に比べ、カップリング要素が少なく配線遅延を最小とすることができる。
【0101】
さらに、最上層配線は、上記効果の信号数の削減の効果も併せ、配線ピッチを広く設定することが可能で、他の隣接する信号の変動による信号遅延(クロストーク影響)を受けない。
【0102】
また、最上層配線メタルは、プロセッサ全体の電源等に使用されることが多く、電源ラインでシールドすることで、クロストーク影響を防止することができる。
【図面の簡単な説明】
【図1】 この発明にかかるSIMD型プロセッサの全体構成を示すブロック図である。
【図2】 この発明の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【図3】 この発明の他の実施形態にかかる並列プロセッサの構成の概要を示すブロック回路図である。
【図4】 この発明の要部を示すブロック回路図である。
【図5】 この発明に用いられるレジスタの構成を示すブロック回路図である。
【図6】 図5に示すレジスタのレイアウト構成を示す模式図である。
【図7】 図4に示す回路のレイアウト構成を示す模式図である。
【図8】 多層配線構造を示す模式的断面図である。
【図9】 この発明にかかる画像処理装置を示すブロック図である。
【図10】 入力用FIFOの一例を示すブロック図である。
【図11】 出力用FIFOの一例を示すブロック図である。
【図12】 SIMD型プロセッサの構成を示すブロック図である。
【図13】 各プロセッサエレメントと制御信号線とを示す回路図である。
【符号の説明】
2 グローバルプロセッサ
3 プロセッサエレメントブロック
3a プロセッサエレメント
31 レジスタファイル
50 ローカル信号発生部
Claims (11)
- プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサにおいて、各プロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、グローバル制御信号線に沿って任意の単位に分割された群に構成されるとともに、任意の単位のプロセッサエレメントのグループ内それぞれに、前記グローバル制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にて相反する2つのローカル制御信号が生成され、生成された2つのローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給されることを特徴とする並列プロセッサ。
- 前記内部バスを介して機能手段間のデータの転送又は交換が行われることを特徴とする請求項1に記載の並列プロセッサ。
- 前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けられていることを特徴とする請求項1又は2に記載の並列プロセッサ。
- 前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意の単位のプロセッサエレメントの機能手段の動作を制御する請求項1ないし3のいずれかに記載の並列プロセッサ。
- グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用することを特徴とする請求項1ないし3のいずれかに記載の並列プロセッサ。
- 前記グローバル制御信号線は電源ラインでシールドされることを特徴とする請求項5に記載の並列プロセッサ。
- 複数のプロセッサエレメントがアレイ状に設けられた並列プロセッサにFIFOを介して画像データが入力され、入力された画像データを並列演算処理し、演算処理された画像データがFIFOを介して並列プロセッサ外部に出力される画像処理装置であって、前記並列プロセッサのプロセッサエレメントは、演算部、複数のレジスタを有するレジスタファイルなどの複数の機能手段を含み、前記機能手段は、内部バスに接続され、前記内部バスを介して機能手段間のデータの転送又は交換が行われ、各機能手段の動作は、前記グローバルプロセッサで発生したグローバル制御信号の論理により制御され、前記複数のプロセッサエレメントは、一次元に配列され、グローバル制御信号線に沿って任意の単位に分割された群に構成されるとともに、任意の単位のプロセッサエレメントのグループ内それぞれに、前記グローバル制御信号のバッファ手段が設けられ、上記グローバル制御信号は、前記バッファ手段に入力され、このバッファ手段にて相反する2つのローカル制御信号が生成され、生成された2つのローカル制御信号は、任意の単位のプロセッサエレメントのグループに供給され、グループ単位で終端され、前記グローバル制御信号は、全グループのバッファ手段に対して供給され、前記グローバル制御信号に基づいて並列処理された画像データが外部に出力されることを特徴とする画像処理装置。
- 前記バッファ手段は任意の単位の複数のプロセッサエレメントのグループ内の中間位置に設けられていることを特徴とする請求項7に記載の画像処理装置。
- 前記グローバル制御信号は、ICレイアウトを実現する配線プロセスにおいて、上層配線メタルを使用して配線され、上記任意の単位の複数のプロセッサエレメントのグループ内のバッファ手段に、グローバル制御信号が入力され、このバッファ手段にて生成されるローカル制御信号で任意の単位のプロセッサエレメントの機能手段の動作を制御する請求項7又は8に記載の画像処理装置。
- グローバル制御信号配線は、配線プロセスにおける最上層メタルを使用することを特徴とする請求項7ないし9のいずれかに記載の画像処理装置。
- 前記グローバル制御信号線は電源ラインでシールドされることを特徴とする請求項10に記載の画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000036938A JP4311847B2 (ja) | 2000-02-15 | 2000-02-15 | 並列プロセッサ及びそれを用いた画像処理装置 |
US09/782,989 US6748514B2 (en) | 2000-02-15 | 2001-02-14 | Parallel processor and image processing system for simultaneous processing of plural image data items without additional circuit delays and power increases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000036938A JP4311847B2 (ja) | 2000-02-15 | 2000-02-15 | 並列プロセッサ及びそれを用いた画像処理装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006119571A Division JP2006294045A (ja) | 2006-04-24 | 2006-04-24 | 並列プロセッサ及びそれを用いた画像処理装置 |
JP2006269286A Division JP4554582B2 (ja) | 2006-09-29 | 2006-09-29 | 並列プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001229133A JP2001229133A (ja) | 2001-08-24 |
JP4311847B2 true JP4311847B2 (ja) | 2009-08-12 |
Family
ID=18560907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000036938A Expired - Lifetime JP4311847B2 (ja) | 2000-02-15 | 2000-02-15 | 並列プロセッサ及びそれを用いた画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6748514B2 (ja) |
JP (1) | JP4311847B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018536A (ja) * | 2006-09-29 | 2007-01-25 | Ricoh Co Ltd | 並列プロセッサ |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4540191B2 (ja) * | 2000-07-17 | 2010-09-08 | 日本テキサス・インスツルメンツ株式会社 | 画像処理装置 |
US8769395B2 (en) * | 2002-12-13 | 2014-07-01 | Ricoh Co., Ltd. | Layout objects as image layers |
US8036475B2 (en) * | 2002-12-13 | 2011-10-11 | Ricoh Co., Ltd. | Compression for segmented images and other types of sideband information |
JP4296051B2 (ja) * | 2003-07-23 | 2009-07-15 | 株式会社リコー | 半導体集積回路装置 |
JP5049802B2 (ja) * | 2008-01-22 | 2012-10-17 | 株式会社リコー | 画像処理装置 |
JP4868607B2 (ja) | 2008-01-22 | 2012-02-01 | 株式会社リコー | Simd型マイクロプロセッサ |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5991866A (en) * | 1992-03-25 | 1999-11-23 | Tm Patents, Lp | Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system |
JPH08212169A (ja) | 1995-02-03 | 1996-08-20 | Nippon Steel Corp | アレイプロセッサ |
-
2000
- 2000-02-15 JP JP2000036938A patent/JP4311847B2/ja not_active Expired - Lifetime
-
2001
- 2001-02-14 US US09/782,989 patent/US6748514B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018536A (ja) * | 2006-09-29 | 2007-01-25 | Ricoh Co Ltd | 並列プロセッサ |
JP4554582B2 (ja) * | 2006-09-29 | 2010-09-29 | 株式会社リコー | 並列プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US20010027513A1 (en) | 2001-10-04 |
JP2001229133A (ja) | 2001-08-24 |
US6748514B2 (en) | 2004-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0539595A1 (en) | Data processor and data processing method | |
US6421772B1 (en) | Parallel computer with improved access to adjacent processor and memory elements | |
JPS62208158A (ja) | マルチプロセツサシステム | |
JP4311847B2 (ja) | 並列プロセッサ及びそれを用いた画像処理装置 | |
JP3971535B2 (ja) | Simd型プロセッサ | |
JP4554582B2 (ja) | 並列プロセッサ | |
JPH04295953A (ja) | 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット | |
JP2006294045A (ja) | 並列プロセッサ及びそれを用いた画像処理装置 | |
JPS62166453A (ja) | メモリ回路 | |
JPH11312085A (ja) | プロセッサ | |
EP0464601A2 (en) | Arithmetic operation system | |
JPH0728988A (ja) | 二次元センサシステム | |
JP2000029778A (ja) | 記憶素子 | |
JPS6386043A (ja) | ソ−ト機構を有するメモリ装置 | |
JP4403009B2 (ja) | マイクロプロセッサ | |
JP5049802B2 (ja) | 画像処理装置 | |
JP2008236085A (ja) | 画像処理装置 | |
JPH06290283A (ja) | 並列データ処理装置 | |
US6900910B1 (en) | Modulo addressing for look up table screening for printing files in a page description language | |
JP2011134042A (ja) | Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ整列方法 | |
JP4413905B2 (ja) | Simd型プロセッサ | |
JPH0683786A (ja) | 並列プロセッサ | |
JPH04291681A (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JP2010033324A (ja) | Simd型マイクロプロセッサ | |
JPH0467280A (ja) | 並列データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060424 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061109 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061114 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20061228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090407 |
|
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: 20090512 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4311847 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140522 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |