JP2001209617A - 並列プロセッサ及びそれを用いた画像処理装置 - Google Patents

並列プロセッサ及びそれを用いた画像処理装置

Info

Publication number
JP2001209617A
JP2001209617A JP2000020130A JP2000020130A JP2001209617A JP 2001209617 A JP2001209617 A JP 2001209617A JP 2000020130 A JP2000020130 A JP 2000020130A JP 2000020130 A JP2000020130 A JP 2000020130A JP 2001209617 A JP2001209617 A JP 2001209617A
Authority
JP
Japan
Prior art keywords
data
register
processor
registers
conversion
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.)
Granted
Application number
JP2000020130A
Other languages
English (en)
Other versions
JP4294190B2 (ja
Inventor
Shinichi Yamaura
慎一 山浦
Kazuhiko Hara
和彦 原
Takao Katayama
貴雄 片山
Kazuhiko Iwanaga
和彦 岩永
Kosuke Takato
浩資 高藤
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 JP2000020130A priority Critical patent/JP4294190B2/ja
Priority to US09/761,122 priority patent/US7191310B2/en
Publication of JP2001209617A publication Critical patent/JP2001209617A/ja
Priority to US11/591,754 priority patent/US20070083732A1/en
Application granted granted Critical
Publication of JP4294190B2 publication Critical patent/JP4294190B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 この発明は、非線形処理を効率よく実現する
ことができる並列プロセッサを提供することを課題とす
る。 【解決手段】プログラムを解読しプロセッサ全体を制御
するグローバルプロセッサ2と、複数のデータを処理す
るためにレジスタファイルと演算アレイから構成される
プロセッサエレメントを複数個備えたプロセッサエレメ
ントブロック3と、を有するSIMD型プロセッサにお
いて、各プロセッサエレメント3aは、演算部36と、
複数のレジスタを有するレジスタファイル31と、条件
レジスタ35cと、条件選択回路35dと、を備え、条
件が成立信号が出力されている複数のプロセッサエレメ
ントのレジスタ31cに、テーブルRAM26からの変
換後データを同時に格納させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、例えば、デジタル複
写機やファクリミリ装置等の画像データのデジタル処理
等に用いられる並列プロセッサに関するものであり、特
に画像データの非線形変換処理に用いられるSIMD
(Single Instruction Strea
m Multiple Data Stream)型マ
イクロプロセッサ及びそれを用いた画像処理装置に関す
るものである。
【0002】
【従来の技術】近年、デジタル複写機やファクリミリ装
置等の画像処理装置において、画素数を増加したり、或
いはカラー対応にするなど画像の向上が図られている。
そして、この画像の向上に伴い、処理すべきデータ数が
増加している。ところで、複写機等の画像処理装置にお
けるデータ処理は全ての画素に対して同じ演算処理を施
すことが多い。そこで、1つの命令で複数のデータに対
して同時に同じ演算処理を行うSIMD方式のプロセッ
サが用いられるようになっている。
【0003】上記したように、SIMD型マイクロプロ
セッサでは1つの命令で複数のデータに対して同時に同
じ演算処理が実行可能である。ここで、通常の演算処理
は複数の演算器を並べ同じ演算を同時に複数のデータに
対して実行することで実現できる。しかし、画像処理に
おいては、演算処理が式で表すことができない非線形な
処理を行うことが多い。演算処理が式で表すことができ
ない非線形な処理は演算対象のデータによって演算式が
変更となるため同じ処理を同時に実行できない。したが
って、データ毎の逐次処理となりSIMD方式の効果が
無くなってしまう。
【0004】通常のSISD方式のプロセッサにおいて
も演算データにより演算式が変更となる非線形処理はプ
ログラムが非常に複雑になるため、演算前データに対し
て演算後の処理済みデータを全て準備しておきテーブル
化し、演算データを元にテーブル変換を行い演算後デー
タを得る方式が一般的である。具体的にはRAM上にテ
ーブルを持ち演算前データにテーブルの先頭の番地を加
算した値をアドレスポインタとしてRAMから得られた
データを演算後のデータとしている。
【0005】演算データが8ビットの場合には256バ
イトの変換テーブルが必要となるが演算ビット幅の増加
とともにテーブルのサイズは2のベキ乗で増加するため
演算ビット幅が大きい場合は演算データを任意の区間に
分けてその区間での近似式をテーブルとして持つ場合も
ある。
【0006】
【発明が解決しようとする課題】さて、このテーブル変
換をSIMD型マイクロプロセッサで採用する場合には
それぞれの演算単位でテーブルが必要となる。例えば、
256個のプロセッサエレメント(PE)を有するSI
MD型プロセッサで8ビットのテーブル変換を行う場合
には256バイトのテーブルRAMがそれぞれの演算単
位つまり256個必要となりコスト面が増大する問題が
あった。そのため、SIMD型マイクロプロセッサのテ
ーブル変換に対して数々の方式が考案されている。
【0007】特開平5−67203号公報においては、
各SIMD単位のPE内蔵の出力レジスタから演算前デ
ータを順次外部に出力し、外部で逐次にテーブル変換を
行い、変換後のデータをPE内蔵の入力レジスタに順次
入力する方式が提案されている。この方式では、変換テ
ーブルが1個となるためコストの上昇は抑えられるが、
逐次処理であるため演算処理時間は最低でもPE数だけ
かかってしまい演算速度面で不利であった。また、この
変換処理をPEでの通常処理と並行に実行すれば演算処
理時間はトータルとして削減できるが、入力・出力のレ
ジスタがこの変換作業専用に使用され他の用途に使用で
きない、変換処理後のデータが必要な場合には演算処理
時間だけ待つこととなり並行処理が不可能であるといっ
た問題があった。
【0008】また、特開平9−305550号公報にお
いては、各プロセッサエレメント(PE)毎に非線形変
換テーブルの元データと変換対象データとの比較を行う
比較器を設け、この比較器で両データを比較し、一致し
たPEには変換後のデータを格納し、この値を演算後デ
ータとする方式が提案されている。この場合には演算処
理時間は演算前データの取りうる値の組み合わせ(変換
テーブルのワード数)となるため、PE数よりこのワー
ド数が少ない場合には高速化される。8ビットデータの
場合ではPE数によらず256回程度のサイクル数とな
る。この場合においても演算処理時間が長い問題があ
る。また、他の処理と並行に行った場合には、上記した
特開平5−67203号公報と同じ問題を持っている。
【0009】さらに、特許番号第2812292号にお
いては、PE数と同数の出力ポートを持つ変換テーブル
用のRAMに対して、それぞれのPEから演算前データ
をアドレスポインタとして与えることで演算後データを
得る方法が提案されている。この方式においては、変換
速度は1サイクル程度で終了するが、出力ポートの増加
はRAMのコストを押し上げることとなり、特に数10
個を超えるポートを持つことは実現不可能である。した
がって、PE数が多いSIMD型プロセッサに対応でき
ないという問題があった。
【0010】上記したように、従来技術においては、S
IMD型マイクロプロセッサのテーブル変換に代表され
る非線型処理はSIMD型の最大の特徴である並列処理
が困難であるため数々の方式が考案されているが、それ
らは、入出力レジスタを介した方法、専用のコンパレー
タを使用したもの、専用テーブル用メモリを使用したも
のであり、速度・コストのいずれかの面で問題があっ
た。
【0011】すなわち、特開平5−67203号公報
は、出力レジスタからデータを出力し外部テーブルメモ
リのアドレスとして入力、メモリから出力されたデータ
を変換後のデータとして入力シフトレジスタから入力す
る。全データの変換にはPE数以上のサイクルが必要で
あり処理時間が長い問題がある。また、テーブルメモリ
は専用のものとなり、さらに入力シフトレジスタ、入力
シフトレジスタはテーブル変換専用に使用されることと
なる。
【0012】また、特開平9−305550号公報は、
各PEに変換前データの比較器を設け、外部から変換前
データと変換後データを入力し変換前データと一致した
PEだけに変換後のデータを格納する。変換前データの
データ数だけのサイクル数が必要であり、さらに専用の
比較器が必要である。
【0013】さらに、特許番号第2812292号で
は、テーブルメモリの出力ポート数をPE数だけ用意し
てテーブル変換を行う。変換速度は最も速いがメモリの
ポート数が非常に多いためコストが高くなる。PE数が
数10個までしか実現できないと思われる。
【0014】この発明は、上述した従来の問題点を解決
するためになされたものにして、非線形処理を効率よく
実現することができる並列プロセッサを提供することを
課題とする。
【0015】
【課題を解決するための手段】この発明は、プログラム
を解読しプロセッサ全体を制御するグローバルプロセッ
サと、データを処理するプロセッサエレメントを複数個
備えて構成されるプロセッサエレメントブロックと、を
有する並列プロセッサにおいて、各プロセッサエレメン
トは、演算部と、複数のレジスタを有するレジスタファ
イルと、演算結果フラグと、を備え、演算結果フラグの
内容が同じである複数のプロセッサエレメントの少なく
とも1つのレジスタに、テーブルメモリからのデータを
同時に格納させることを特徴とする。
【0016】演算対象データと変換前データを演算部で
比較し、両データが一致すると前記演算結果フラグに条
件成立としてのフラグがセットされ、演算結果フラグの
内容が同じである複数のプロセッサエレメントの少なく
とも1つのレジスタに、テーブルメモリからの変換後デ
ータを同時に格納させるように構成することができる。
【0017】また、演算対象データと変換前データを演
算部で比較し、演算対象データが大きい場合に前記演算
結果フラグに条件成立としてのフラグがセットされ、演
算結果フラグの内容が同じである複数のプロセッサエレ
メントの少なくとも1つのレジスタに、テーブルメモリ
からの変換後データを同時に格納させるように構成する
ことができる。
【0018】さらに、この発明は、前記テーブルメモリ
と前記レジスタファイルのレジスタと接続するデータ転
送バスと、前記データ転送バスからレジスタへのデータ
転送を制御するコントロール手段と、を備え、前記コン
トロール手段は前記グローバルプロセッサからの制御信
号と演算結果フラグの条件に応じてデータ転送バスから
データをレジスタに取り込むように構成することができ
る。
【0019】また、前記変換後データは変換前データか
ら連続した2n(nは整数)のデータとして2n個のテー
ブルバスから2n個のレジスタに同時に書き込むように
構成することができる。
【0020】また、この発明は、前記プロセッサエレメ
ントに内蔵されるテーブルメモリからのデータを同時に
格納することが可能な複数のレジスタは各プロセッサエ
レメントにおける演算対象データとしても使用可能に構
成することができる。
【0021】また、この発明は、複数のレジスタに格納
するテーブルメモリのデータはグローバルプロセッサに
内蔵されるメモリに格納されており、このメモリはグロ
ーバルプロセッサ演算でのデータ保存用のメモリにも使
用可能に構成することができる。
【0022】また、この発明の画像処理装置は、複数の
プロセッサエレメントがアレイ状に設けられた並列プロ
セッサにFIFOを介して画像データが入力され、入力
された画像データを並列演算処理し、演算処理された画
像データがFIFOを介して並列プロセッサ外部に出力
される画像処理装置であって、前記並列プロセッサの各
プロセッサエレメントは、演算部と、複数のレジスタを
有するレジスタファイルと、演算結果フラグと、を備
え、演算結果フラグの内容が同じである複数のプロセッ
サエレメントの少なくとも1つのレジスタに、テーブル
メモリからの非線形処理の変換後データを同時に格納
し、非線形処理された画像データが外部に出力されるこ
とを特徴とする。
【0023】また、演算対象データと変換前データを演
算部で比較し、演算対象データが大きい場合に前記演算
結果フラグに条件成立としてのフラグがセットされ、演
算結果フラグの内容が同じである複数のプロセッサエレ
メントの少なくとも1つのレジスタに、テーブルメモリ
からの変換後データを同時に格納させるように構成する
ことができる。
【0024】また、前記テーブルメモリと前記レジスタ
ファイルのレジスタと接続するデータ転送バスと、前記
データ転送バスからレジスタへのデータ転送を制御する
コントロール手段と、を備え、前記コントロール手段は
前記グローバルプロセッサからの制御信号と演算結果フ
ラグの条件に応じてデータ転送バスからデータをレジス
タに取り込むように構成することができる。
【0025】前記変換後データは変換前データから連続
した2n(nは整数)のデータとして2n個のテーブルバ
スから2n個のレジスタに同時に書き込むように構成す
ることができる。
【0026】
【発明の実施の形態】以下、この発明に係るSIMD型
プロセッサ1の実施の形態を図面を参照して説明する。
【0027】まず、この発明にかかるSIMD型プロセ
ッサの全体構成について、図1に従い説明する。
【0028】この発明のSIMD型プロセッサ1は、図
1に示すように、グローバルプロセッサ2、本実施形態
では256組の後述するプロセッサエレメント3aから
なるプロセッサエレメントブロック3と、インターフェ
ース4から構成される。インタフェース4はグローバル
プロセッサ2の命令に基づき、イメージスキャナなどの
外部入力部から演算対象となるデータをプロセッサ内部
の入出力用のレジスタフィル31に与えるとともに、演
算処理されたデータをレジスタファイル31からプリン
タなどの外部出力部へ転送するものである。
【0029】この外部入出力装置は、ディジタル画像デ
ータなどの演算データを入出力するものである。外部入
力装置としては、イメージスキャナや画像が格納された
画像メモリがあり、外部出力装置としては画像データを
印字するプリンタ、データを格納する画像メモリなどが
ある。
【0030】グローバルプロセッサ2は、いわゆるSI
SD(Single Instruction Str
eam Single Data Stream)タイ
プのプロセッサであり、プログラムRAMとデータRA
Mを内蔵し、プログラムを解読し、各種制御信号を生成
する。この制御信号は内蔵する各種ブロックの制御以外
にもレジスタファイル31、演算アレイ36に供給され
る。また、GP(グローバルプロセッサ)命令実行時は
内蔵する汎用レジスタ、ALU(算術論理演算器)等を
使用して各種演算処理、プログラム制御処理を行う。
【0031】レジスタファイル31はPE(プロセッサ
エレメント)命令で処理されるデータを保持している。
このPE命令はSIMD(Single Instru
ction Stream Multiple Dat
a Stream)タイプの命令であり、レジスタファ
イル31に保持されている複数のデータを同時に同じ処
理を行う。このレジスタファイル31からのデータの読
み出し/書き込みの制御はグローバルプロセッサ2から
の制御によって行われる。読み出されたデータは演算ア
レイ36に送られ、演算アレイ36での演算処理後にレ
ジスタファイル31に書き込まれる。
【0032】また、レジスタファイル31はプロセッサ
外部からのアクセスが可能であり、グローバルプロセッ
サ2の制御とは別に外部から特定のレジスタを読み出し
/書き込みが行われる。
【0033】演算アレイ36にてPE命令の演算処理が
行われる。この処理の制御はすべてグローバルプロセッ
サ2から行われる。
【0034】次に、図2を参照して、SIMD型プロセ
ッサ1のレジスタファイル31へのデータの読み出し/
書き込みの一例につき説明する。
【0035】グロバールプロセッサ2にはこのプロセッ
サのプログラム格納用のプログラムRAM21と演算デ
ータ格納用のデータRAM24が内蔵されている。さら
に、プログラムのアドレスを保持するプログラムカウン
タ(PC)、演算処理のデータ格納のための汎用レジス
タであるG0〜G3レジスタ、レジスタ退避、復帰時に
退避先データRAMのアドレスを保持しているスタック
ポインタ(SP)、サブルーチンコール時にコール元の
アドレスを保持するリンクレジスタ(LS)、同じくI
RQ時とNMI時の分岐元アドレスを保持するLI、L
Nレジスタ、プロセッサの状態を保持しているプロセッ
サステータスレジスタ(P)のレジスタ群25が内蔵さ
れている。さらに、グローバルプロセッサ2は、プログ
ラムRAM21に基づきグローバルプロセッサ2、プロ
セッサエレメントブロック3、インタフェース4を制御
するシーケンスユニット22を備える。
【0036】また、グローバルプロセッサ2は、これら
のレジスタ群25と図示していない命令デコーダ、算術
論理演算器23(以下、「ALU23」という。)、図
示していないメモリ制御回路、割り込み制御回路、外部
I/O制御回路、GP演算制御回路を使用してGP命令
の実行が行われる。
【0037】また、PE命令実行時は命令デコーダ、図
示していないレジスタファイル制御回路、PE演算制御
回路を使用して、レジスタファイル31の制御と演算ア
レイ36の制御を行う。
【0038】また、この実施形態では、後述するよう
に、グローバルプロセッサ2の命令に従いテーブルRA
Mから複数のプロセッサエレメント3aにデータが転送
可能に構成されている。
【0039】上記したように、シーケンスユニット22
は、プロセッサエレメントブロック3を構成するレジス
タファイル31、及び演算アレイ36を制御する。
【0040】この演算アレイ36は、マルチプレクサ3
2、シフト拡張回路33、算術論理演算器34(以下、
「ALU34」という)、及びAレジスタ35a及びF
レジスタ35bを備える。なお、この図2には記載して
いないが、この実施形態においては、後述するように、
比較手段としての、条件レジスタ及び条件選択レジスタ
を備える。
【0041】さらに、このシーケンスユニット22は、
インタフェース4に対してデータ転送のための動作設定
用データ及びコマンド等を送る。インタフェース4は、
シーケンスユニット22の動作設定用データ及びコマン
ドに基づき、プロセッサエレメント3aのアドレス指定
のためのアドレス制御信号、プロセッサエレメント3a
を構成するレジスタ31bにデータのリード/ライトを
指示するためのリード/ライト制御信号、クロック信号
を与えるためのクロック制御信号を生成する。
【0042】ここで、リード/ライト制御信号のうちラ
イト制御信号とは、演算処理されるデータをデータバス
41dより取得して、プロセッサエレメント3aのレジ
スタ31bに保持させるための信号をいう。一方、リー
ド/ライト制御信号のうちリード制御信号とは、プロセ
ッサエレメント3aのレジスタ31bが保持している演
算処理されたデータを、データバス41dへ与えるよう
レジスタ31bに指示するための信号をいう。
【0043】インタフェース4は、グローバルプロセッ
サ2からのコマンドを受けて、プロセッサエレメントブ
ロック3を構成するプロセッサエレメント3aのアドレ
スを指定する信号(以下、「アドレス指定信号」とい
う。)を作成し、アドレスバス41aを介してプロセッ
サエレメント3aのレジスタコントローラ31aヘ送
る。また、インタフェース4は、後述するように、プロ
セッサエレメント3aを構成するレジスタ31bに対し
て、データのリード/ライトを指示するための信号(以
下、「リード/ライト指示信号」という。)を、リード
/ライト信号線41bを介してプロセッサエレメント3
aの後述するレジスタコントローラ31aヘリード/ラ
イト信号が与えられる。
【0044】また、インタフェース4は、クロック信号
線41cを介してプロセッサエレメント3aの後述する
レジスタコントローラ31aへクロック信号を与える。
【0045】さらに、外部入出力データバスからは、上
述したように、SIMD型プロセッサ1の外部に設けら
れたイメージスキャナ等で読み込んだデータを、本実施
形態では8ビットのパラレルデータとして、インタフェ
ース4に与える。この8ビットのデータは、データバス
41dに与えられる。この8ビットのパラレルデータに
ついては、データに応じて適宜変更しても問題ない。こ
のデータバス41dは、レジスタ31bに保持されてい
る演算処理されたデータが、SIMD型プロセッサ1の
外部に転送される時にも使用される。
【0046】また、レジスタ群25は、プロセッサエレ
メントブロック3の後述するレジスタ35に接続されて
おり、このレジスタ35との間でシーケンスユニット2
2の制御によりデータの交換が行われる。
【0047】プロセッサエレメントブロック3は、図2
に示すように、レジスタファイル31、マルチプレクサ
32、シフト・拡張回路33、算術論理演算器34(以
下、「ALU34」という。)、レジスタ35a、35
bを一単位とする複数のプロセッサエレメント3aを備
える。レジスタファイル31には、1つのプロセッサエ
レメント3a単位に8ビットのレジスタが32本内蔵さ
れており、本実施形態では256のプロセッサエレメン
ト分の組がアレイ構成になっている。レジスタファイル
31は1つのプロセッサエレメント(PE)3aごとに
R0、R1、R2、...R31と呼ばれているレジス
タが内蔵されている。それぞれのレジスタファイル31
は演算アレイ36に対して1つの読み出しポートと1つ
の書き込みポートを備えており、8ビットのリード/ラ
イト兼用のバスで演算アレイ36からアクセスされる。
32本のレジスタの内、24本はプロセッサ外部からア
クセス可能であり、外部からクロックとアドレス、リー
ド/ライト制御を入力することで任意のレジスタを読み
書きできる。
【0048】レジスタの外部からのアクセスは1つの外
部ポートで各プロセッサエレメント3aの1つのレジス
タがアクセス可能であり、外部から入力されたアドレス
でプロセッサエレメントの番号(0〜255)を指定す
る。したがって、レジスタアクセスの外部ポートは全部
で24組搭載されている。
【0049】本実施形態では、プロセッサエレメント3
aの数を256個として説明するが、これに限定される
ものでなく適宜変更して使用してもよい。このプロセッ
サエレメント3aには、グローバルプロセッサ2のシー
ケンスユニット22により、インタフェース4に近い順
に0から255までのアドレスが割り付けられる。
【0050】プロセッサエレメント3aのレジスタファ
イル31は、レジスタコントローラ31a、2種類のレ
ジスタ31b、31cを備える。本実施形態では、図2
に示すように、一単位のプロセッサエレメント3a毎
に、レジスタコントローラ31aとレジスタ31bとを
24組備え、さらにレジスタ31cを8個備えている。
図2中の1プロセッサエレメントとは1つのプロセッサ
エレメント3aを表している。ここで、本実施形態で
は、レジスタ31b、31cを8ビットのものとして扱
うが、これに限定されるものでなく適宜変更して使用し
てもよい。
【0051】レジスタコントローラ31aは、図2に示
すように、インタフェース4と、上述したアドレスバス
41a、リード/ライト信号線41b、クロック信号線
41cを介して接続されている。
【0052】インタフェース4は、グローバルプロセッ
サ2からデータ転送指示を受け取ると、アドレス指定信
号をアドレスバス41aを介してプロセッサエレメント
ブロック3ヘ送る。これにより、プロセッサエレメント
3aがアドレス指定される。レジスタコントローラ31
aは、送られてきたアドレス指定信号をデコードし、デ
コードしたアドレスと、自己に割り付けられたアドレス
とが一致する場合には、クロック信号41cを介して送
られてきたクロック信号に同期して、リード/ライト信
号41bから送られてきたリード/ライト指示信号を得
る。具体的には、レジスタコントローラ31aは、リー
ド/ライト信号41bを介してリード/ライト指示信号
を得る。そして、このリード/ライト指示信号はレジス
タ31bに与えられる。
【0053】レジスタコントローラ31aからプロセッ
サエレメント3aに対し、ライト指示信号が送られてき
た場合には、プロセッサエレメント3aのレジスタ31
bは、演算処理されるデータ(8ビット)をデータバス
41dより取得して保持する。また、レジスタコントロ
ーラ31aからプロセッサエレメント3aに対し、リー
ド指示信号が送られてきた場合には、プロセッサエレメ
ント3aのレジスタ31bは、演算処理されたデータ
(8ビット)をデータバス41dへ送る。
【0054】レジスタ31bは、後述するALU34で
これから演算される外部から入力されたデータを保持し
たり、或いはALU34で演算処理されたデータを外部
へ出力するために保持するものであり、いわゆる入力レ
ジスタとしても、或いは出力レジスタとしても機能す
る。また、演算処理されるデータ、或いは演算されたデ
ータを一時的に保持するといった、後述するレジスタ3
1cとしての機能も有する。なお、本実施形態では、レ
ジスタ31bは8ビットのデータを保持できるものとし
て扱うが、データに応じて適宜変更しても問題ない。上
述したレジスタコントローラ31aからライト指示信号
が与えられると、レジスタ31bは演算処理されるデー
タをデータバス41dより取得して保持する。一方、レ
ジスタコントローラ31aからリード指示信号が送られ
てくると、レジスタ31bは保持している演算処理され
たデータをデータバス41dへ与える。このデータはイ
ンタフェース4から外部データバスを介して外部のプリ
ンタなどへ転送される。
【0055】また、レジスタ31bは、本実施形態にお
いては8ビットデータをパラレルで転送するデータバス
37を介してマルチプレクサ32に接続されている。A
LU34で演算処理されるデータ、或いはALU34で
演算処理されたデータは、このデータバス37を介し
て、レジスタ31bとの間で転送される。この転送は、
グローバルプロセッサ2のシーケンスユニット22から
の指示によって、グローバルプロセッサ2に接続された
リード信号線26a、ライト信号線26bを介して行わ
れる。具体的には、グローバルプロセッサ2のシーケン
スユニット22から、リード信号線26aを介してリー
ド指示信号が送られてくると、レジスタ31bは保持し
ている演算処理されるデータをデータバスへ置く。この
データはALU34へ送られ演算処理される。一方、グ
ローバルプロセッサ2のシーケンスユニット22から、
ライト信号線26bを介してライト指示信号が送られて
くると、レジスタ31bはデータバス37を介して送ら
れてきたALU34で演算処理されたデータを保持す
る。
【0056】レジスタ31cは、レジスタ31bより与
えられた演算処理されるデータ、或いは演算されたデー
タがレジスタ31bに与えられる前に、そのデータを一
時的に保持するものである。さらに、この実施の形態に
おいては、レジスタ31cは後述するように、グローバ
ルプロセッサ2からのデータが与えられる。
【0057】演算アレイ36は、マルチプレクサ32、
シフト/拡張回路33、16ビットALU34及び16
ビットのレジスタ35a、35bを備えている。このレ
ジスタは、16ビットのAレジスタ35a、Fレジスタ
35bである。
【0058】プロセッサエレメント3aの命令による演
算は、基本的にレジスタファイル31から読み出された
データをALU34の片側の入力としてもう片側にはレ
ジスタ35のAレジスタの内容を入力として結果をAレ
ジスタに格納する。したがって、Aレジスタ35aとレ
ジスタファイル31のR0〜R31レジスタとの演算が
行われることとなる。レジスタファイル31と演算アレ
イ36との接続に(7to1)のマルチプレクサ32を
置いており、プロセッサエレメント方向で左に1、2、
3つ離れたデータと右に1、2、3つ離れたデータ、中
央のデータを演算対象として選択している。また、レジ
スタファイル31の8ビットのデータはシフト/拡張回
路33により任意ビットの左シフトしてALU34に入
力される。
【0059】上記したように、マルチプレクサ32は、
自己のプロセッサエレメント3aに備えられた上記デー
タバス37に接続されるとともに、両隣3つのプロセッ
サエレメント3aに備えられたデータバス37にも接続
されている。このマルチプレクサ32は7つのプロセッ
サエレメント3aから1つを選択し、その選択したプロ
セッサエレメント3aにおけるレジスタ31b、31c
で保持されているデータをALU34へ送る。或いはA
LU34で演算処理されたデータを、選択したプロセッ
サエレメント3aにおけるレジスタ31b、31cへ送
る。これによって、隣のプロセッサエレメント3aにお
けるレジスタ31b、31cで保持されているデータを
利用した演算処理が可能になり、SIMD型プロセッサ
1の演算処理能力を高めることができる。
【0060】シフト/拡張回路33は、マルチプレクサ
32から送られてきたデータを所定ビットシフトしてA
LU34へ送る。或いはALU34から送られてきた演
算処理されたデータを所定ビットシフトしてマルチプレ
クサ32へ送る。
【0061】ALU34は、シフト/拡張回路33から
送られてきたデータと、レジスタ35に保持されている
データとに基づき算術論理演算を行う。なお、本実施形
態では、ALU34は16ビットのデータに対応できる
ものとして扱うが、データに応じて適宜変更しても問題
ない。演算処理されたデータは、Aレジスタ35aに保
持され、シフト/拡張回路33へ転送されたり、或いは
グローバルプロセッサ2の汎用レジスタ25へ転送され
る。
【0062】グローバルプロセッサ2からインターフェ
ース4へはI/O用のアドレス、データ、コントロール
信号がバスを介して与えられる。
【0063】さらに、図示していない条件レジスタ
(T)により、プロセッサエレメント(PE)3a毎に
演算実行の有効/無効の制御をしており特定のプロセッ
サエレメント(PE)3aだけを演算対象として選択で
きるように構成している。
【0064】上記したように、この実施形態において
は、レジスタファイル31には1つのPE3a単位に8
ビットのレジスタが32本内蔵されており、256PE
分の組みがアレイ構成になっている。レジスタはPEご
とにR0、R1、R2、...R31と呼ばれている。
それぞれのレジスタは演算アレイ36に対して1つの読
み出ししポートと1つの書き込みポートを備えており、
8ビットのリード/ライト兼用のバス37で演算アレイ
からアクセスされる。32本のレジスタの内、24本
(R0〜R23)のレジスタ31bは、プロセッサ外部
からアクセス可能であり、外部からクロックとアドレ
ス、リード/ライト制御を入力することで任意のレジス
タを読み書きできる。
【0065】残りの8本(R24〜R31)のレジスタ
31cはPE演算の一時的な演算データ保存用として使
用されるが、グローバルプロセッサ2のデータRAM2
4からのデータを書き込むこともできる。グローバルプ
ロセッサ2からのライト制御と演算アレイ36の条件レ
ジスタ35cの条件により、レジスタファイル31に内
蔵される8本のレジスタ31cにグローバルプロセッサ
2のデータRAM24のデータを条件が成立している複
数のPE3aに同時に書き込みが可能に構成されてい
る。また、この実施形態では、テーブルRAMは64ビ
ットの出力ポートを持つため1つのPE3aに対しても
8本のレジスタ31cに同時に64ビットの書き込みが
可能に構成しているる。
【0066】上述したように、演算アレイ36は16ビ
ットALU34と16ビットAレジスタ35a、Fレジ
スタ35bを内蔵している。PE命令による演算はレジ
スタファイル31から読み出されたデータもしくはグロ
ーバルプロセッサ2から与えられたデータをALU34
の片側の入力としてもう片側にはAレジスタ35aの内
容を入力として結果をAレジスタに格納する。したがっ
て、Aレジスタ35aとR0〜R31レジスタ31b、
31cもしくはグローバルプロセッサ2から与えられた
データとの演算が行われることとなる。
【0067】次に、この発明の特徴であるグローバルプ
ロセッサ2の命令に従いテーブルRAMのデータを条件
が成立している複数のPE3aに同時に書き込む態様に
つき図3を参照して説明する。
【0068】レジスタファイル31の中のレジスタ31
cはグローバルプロセッサ2のレジスタファイル制御回
路27を介して、テーブルRAM26のデータが入力さ
れる。テーブルRAM26は、非線形変換処理のための
データメモリとして用いる。このテーブルRAM26か
らレジスタ31cへの書き込みはレジスタファイル制御
回路27のライト制御信号により行われる。レジスタ3
1cにはライトコントロール回路31dが設けられてい
る。このライトコントロール回路31dにライト制御信
号がテーブルライト信号線41gを介して与えられる。
ライトコントロール回路31dには、演算アレイ36か
ら条件成立信号が与えられる。ライトコントロール回路
31dは、ライト制御信号はレジスタ31cのライトW
1に与えられる。
【0069】各レジスタ31cの書き込み制御を行って
いるライトコントロール回路31dにおいては、演算ア
レイ36から与えられた条件成立信号が成立を示してい
るPE3aのレジスタ31cにライト(W1)制御信号
として与えられる。したがって、レジスタファイル制御
回路27からは全てのPE3aのレジスタ31cにテー
ブルデータバス41eを介してからテーブルRAM26
のデータを書き込むが、各PE3aでは条件が成立して
いるものはデータ(D1)からデータが書き込まれ、不
成立のものはデータが書き込まれないこととなる。
【0070】レジスタ31cは演算アレイ36ともデー
タバス37を介してデータの転送を行うため、もう一方
の出力ポートを持ち、命令によりグローバルプロセッサ
2で作成され、リード信号線41hを介して与えられた
たリード(R2)制御信号によりデータ(D2)からデ
ータの転送が行われる。
【0071】図3では5個のPE3a…分の構成だけを
図示しているが、図2の256組のPE3aの構成と合
わせるためにはライトコントロール回路31dとレジス
タ31cは256組み必要となる。データのビット幅も
ここでは8ビットとしているが扱う演算ビット幅により
変化する。
【0072】また、テーブルRAM26は図示しないグ
ローバルプロセッサ2の汎用レジスタ(G0〜G3)を
アドレスのポインタとしてアドレスが指定され、同様に
汎用レジスタ(G0〜G3)のデータを書き込まれるこ
とで値が設定される。
【0073】演算アレイ36には図2で説明したブロッ
クが内蔵されており、ALU34の入力の片側はレジス
タ(R0〜R31)の内容と即値データバス41fの内
容が選択できるようになっている。即値データバス41
fはグローバルプロセッサ2からデータが転送され、命
令コードに組みこまれた値(即値)もしくは汎用レジス
タ(G0〜G3)の値が命令により選択されている。
【0074】さて、図3に示す実施の形態において非線
形処理のためのテーブル変換は以下のステップにより行
う。なお、演算対象データはレジスタファイル31のレ
ジスタ31b(図3では図示していない)のうちレジス
タR0に格納されているものとして説明する。
【0075】図示していないレジスタファイル31の
レジスタ(R0)に格納された演算(演算前)対象デー
タを各PE3aのデータバス37を介してマルチプレク
サ32、シフタ33、マルチプレクサ39、ALU34
の経路でAレジスタ35aにロードする。
【0076】グローバルプロセッサ2は即値データバ
ス41fを介して変換前データをALU34に入力す
る。ALU34のもう一方にはで格納されたAレジス
タ35aが入力されており、ALU34において一致演
算処理を行う。一致結果は一致となっているものを条件
成立として8ビットの条件レジスタ35cの任意の1ビ
ットに格納される。
【0077】グロバールプロセッサ2は変換前データ
に対応した変換後データが格納されているアドレスをテ
ーブルRAM26に出力し、変換後データをテーブルデ
ータバス41eを介して全PE3a…のレジスタファイ
ル31のレジスタ31cに書き込む。演算アレイ部では
で選択された条件レジスタ35cの任意の1ビットを
条件選択回路35dで選択し、条件成立信号としてレジ
スタファイル31のライトコントロール回路31dに出
力する。レジスタファイル31のレジスタ31cではラ
イトコントロール回路31dがライト信号と条件成立信
号を受け取り、条件成立のPE3aだけテーブルデータ
バス41eの内容(変換後データ)をレジスタ31cに
書き込む。
【0078】グローバルプロセッサ2は次の変換前デ
ータを準備し〜の動作を繰り返す。変換前データの
種類に応じた回数の上記処理の繰り返しでテーブル変換
が終了する。この例では変換後のテーブルデータを1つ
だけ使用していたが実際には以下の処理を行い高速化を
実現している。
【0079】図示していないレジスタファイル31の
レジスタ(R0)に格納された演算(演算前)対象デー
タを各PE3a…のデータバス37を介してマルチプレ
クサ32、シフタ33、マルチプレクサ39、ALU3
4の経路でAレジスタ35aにロードする
【0080】グローバルプロセッサ2は即値データバ
ス41fを介して変換前データをALU34に入力す
る。ALU34のもう一方にはで格納されたAレジス
タ35aのデータが入力されており、ALU34におい
て大小比較演算処理を行う。演算対象データの比較結果
は大となっているものを条件成立として8ビットの条件
レジスタ35cの任意の1ビットに格納される。
【0081】グロバールプロセッサ2は変換前データ
に対応した変換後データが格納されているアドレスをテ
ーブルRAM26に出力し、変換後データをテーブルデ
ータバス41eを介して全PE3aのレジスタファイル
31のレジスタ31cに書き込む。この時、この実施の
形態においては、図4に示すように、変換後データは変
換前データから連続した8つの変換前データに対応した
データとして8ビットのデータが8組みのテーブルデー
タバス41eに出力される。この実施の形態では、それ
ぞれの組みは各8ビット(R24〜R31)のレジスタ
に対応して書き込まれる。演算アレイ36ではで選択
された条件レジスタ35cの任意の1ビットを条件選択
回路35dで選択し、条件成立信号としてレジスタファ
イル31の各レジスタ31cに出力する。レジスタファ
イル31のレジスタ31cではライトコントロール回路
35dがライト信号と条件成立信号を受け取り、条件成
立のPE3aだけテーブルデータバス41eの内容をレ
ジスタ31cに書き込む、この時に書き込まれるレジス
タ31cは8組み(R24〜R31)同時となる。
【0082】グローバルプロセッサ2は変換前データ
に8加算を行い、次の8つ先の変換前データを準備し
〜の動作を繰り返す。
【0083】Aレジスタ35aの演算前データ下位3
ビットを残して上位5ビットをマスクするためAレジス
タ35aの内容と即値7でALU34においてAND演
算を行いAレジスタ35aに格納する。
【0084】Aレジスタ35aをALU34において
1から7まで順次比較する。一致結果を条件レジスタ3
5cのT1からT7まで順次格納する。
【0085】レジスタ(R24)の値をAレジスタ3
5aにロードする。ついで条件レジスタ35cのT1が
成立したPE3aはレジスタ(R25)の値をAレジス
タ35aにロードし、条件レジスタ35cのT2が成立
したPE3aはレジスタ(R26)をAレジスタ35a
にロード、と順次行い条件レジスタ35cのT7が成立
のPE3aはレジスタ(R31)の値をAレジスタ35
aにロードする。
【0086】以上の処理により、同時に8個の変換後デ
ータを書き込むことで、8倍の高速化が図れる。そし
て、8個の変換後データ中から、そのプロセッサエレメ
ントで必要な1つのデータを選択するために、上記〜
の動作を必要とする。この処理は、上記〜の繰り
返しが終了した後の最後に1回だけ必要であり、オーバ
ーヘッドとしては小さな値となる。ここではαと表す
と、変換前データの種類の1/8+αの回数でテーブル
変換が終了することになり、高速化が図れる。
【0087】本実施形態では、変換後のデータを8組と
しているが実際には2、4、8から任意の組を命令によ
り指定可能である。その場合はの加算値は2、4、8
となり、のマスク値は1、3、7となり、の比較は
1、1〜3、1〜7、のロードはR24〜R25、R
24〜R27、R24〜R31と変更となる。
【0088】次に、テーブル変換に使用するレジスタ数
を削減する手法につき説明する。レジスタ数を削減する
ためには以下のような手順で処理を行えばよい。
【0089】図示していないレジスタファイル31の
レジスタ(R0)に格納された演算(演算前)対象デー
タを各PE3aのデータバス37を介してマルチプレク
サ32、シフタ33、マルチプレクサ39、ALU34
の経路でAレジスタ35aにロードする
【0090】グローバルプロセッサ2は即値データバ
ス41fを介して変換前データをALU34に入力す
る。ALU34のもう一方にはで格納されたAレジス
タ35aが入力されており、ALU34において大小比
較演算処理を行う。比較結果は大となっているものを条
件成立として8ビットの条件レジスタ37の任意の1ビ
ットに格納される。また、条件成立のPE3aではAレ
ジスタ35aから変換前データを引いた値を変換前デー
タとの差分データとして一時的にレジスタ(R1)に格
納する。
【0091】グロバールプロセッサ2は変換前データ
に対応した変換後データが格納されているアドレスをテ
ーブルRAM26に出力し変換後データをテーブルデー
タバス41eを介して全PE3aのレジスタファイル3
1のレジスタ31cに書き込む。この時、図5に示すよ
うに、変換後データは変換前データに対応したデータと
で使用される次の区間の先頭の変換前データまでの傾
きデータとして8ビットのデータが2組みテーブルデー
タバス41eに出力される、それぞれの組みは各8ビッ
ト(R24〜R25)のレジスタに対応して書き込まれ
る。演算アレイ部36ではで選択された条件レジスタ
35cの任意の1ビットを条件選択回路35dで選択し
条件成立信号としてレジスタファイル31に出力する。
レジスタファイル31ではライトコントロール回路31
dがライト信号と条件成立信号を受け取り条件成立のP
E3aだけテーブルデータバス41eの内容をレジスタ
31cに書き込む、この時に書き込まれるレジスタ31
cは2組み(R24〜R25)同時となる。
【0092】グローバルプロセッサ2は次の区間の先
頭の変換前データを準備し〜の動作を繰り返す。
【0093】Aレジスタ35aに一時的に退避された
差分データをレジスタ(R1)からロードし、傾きデー
タ(R25)とALU34で掛け算を行いAレジスタ3
5aに格納する。
【0094】Aレジスタ35aに変換後データ(R2
4)を加算する。
【0095】上記した方式は、図6に示すように、変換
前データを任意の区間に分割し、その区間内は共通の一
次式で近似して処理を行うものである。すなわち、図6
に示すように、変換前データと変換後データの非線形曲
線の関係からそれぞれ近似する一次式(傾き)で表せる
区間に分割する。図6に示す非線形処理では、4つの区
間に分割する。そして、その区間内は共通の一次式を用
いて処理を行う。変換前データが区間1の時は、区間1
の先頭の変換後データと傾きデータを用いて変換後デー
タを算出し、変換前データが区間2の時は、区間2の先
頭の変換後データと傾きデータを用いて変換後データを
算出する。以後それぞれの区間でその区間の先頭の変換
後データと傾きデータを用いて、近似的に非線形処理を
行ってゆく。それぞれの区間でこのような手順を用いる
ことで使用するレジスタが2つとなりレジスタ数が削減
できるようになる。また、区間を少なく設定できれば変
換テーブルの削減、処理ステップ数の削減も可能とな
る。
【0096】次に、この発明の他の実施形態につき図7
に従い説明する。なお、基本的な構成は図3に示す実施
形態と同様の構成であり、同一部分には、同一符号を付
し、説明の重複を避けるために、ここではその説明を割
愛する。
【0097】図7に示す実施形態は、レジスタファイル
31のテーブル変換に用いる8本(R24〜R31)の
レジスタファイルの構成を変更したものである。図3の
基本構成のレジスタ31cからライト信号(W2)を追
加したレジスタ310cにその構成を変更したものであ
る。そして、レジスタ310cのデータ(D2)には、
データバス37からデータが入出力可能に構成されてい
る。ライト信号(W2)には、レジスタファイル制御回
路27よりライト信号線41iから演算アレイ36から
のデータを書き込む場合にライト信号が与えられる。こ
のように、演算アレイ36からのデータをレジスタ31
0c書き込めるようにしている。
【0098】この構成によりこのレジスタ310cでは
演算結果の保持等が可能となり、テーブル変換を行わな
い場合には通常の演算用のレジスタとしても使用が可能
となる。テーブル変換を行う場合には、上述した図4に
示した処理、あるいは図5に示した処理を行うために、
レジスタ310cが使用される。
【0099】次に、この発明のさらに異なる実施形態に
つき図8に従い説明する。なお、基本的な構成は図3に
示す実施形態と同様の構成であり、同一部分には、同一
符号を付し、説明の重複を避けるために、ここではその
説明を割愛する。
【0100】この実施形態は、図3の基本構成からテー
ブルRAM26の出力データをマルチプレクサ28によ
り選択して、グローバルプロセッサ2の演算部に出力す
るように構成したものである。この構成によりテーブル
RAM26のデータをグローバルプロセッサ2の演算デ
ータとして使用可能となり、テーブルRAM26を通常
のデータRAM24と共用することが可能となる。
【0101】テーブルRAM26の出力データをマルチ
プレクサ28により選択している理由はテーブルRAM
26が8組みの変換後データを出力可能な場合には合計
で64ビット(8ビットの8組み)の出力ポートがRA
Mには必要である。上述したグローバルプロセッサ2で
は16ビットまでしか処理できないため、この中の16
ビット(8ビット2組み)を選択しているためである。
グローバルプロセッサ2の演算データとして別途16ビ
ットの出力ポートをRAMに追加することでも実現可能
であるが、RAMが2ポート構成となりコストの増加と
なる問題がある。
【0102】なお、図8に示す実施形態では、テーブル
変換に用いるレジスタファイルは図3に示すレジスタ3
1cの構成のものを示しているが、図7に示す構成のレ
ジスタ310cを用いることはもちろん可能である。
【0103】次に、この発明のさらに異なる実施形態に
つき図9に従い説明する。なお、基本的な構成は図3に
示す実施形態と同様の構成であり、同一部分には、同一
符号を付し、説明の重複を避けるために、ここではその
説明を割愛する。
【0104】この実施の形態においては、レジスタファ
イル31のレジスタの中で、外部からデータが入力可能
なレジスタの数を変更可能に構成したものである。この
実施の形態では、2組のレジスタを外部からデータを入
力可能なレジスタとして用いる場合と、テーブル変換用
レジスタに使用する場合とが選択できるように構成して
いる。このため、これらレジスタ31c、31cは、マ
ルチプレクサ42,43により、レジスタ31cに与え
るデータを外部入力用からのデータバス41dを用いる
か、テーブルバス31dを用いるかが選択される。この
とき、レジスタファイル制御信号もマルチプレクサ4
2,43で選択される。
【0105】尚、上記した実施形態においては、兼用す
るレジスタの組は2組にしているが、用途に応じてその
個数は変更できる。
【0106】このように構成することにより、SIMD
型プロセッサの使用用途に応じて最適なレジスタファイ
ル構成が容易に構成することができる。
【0107】上述した実施形態においては、レジスタフ
ァイル31の外部入出力する方式としてアドレッシング
方式を採用し、レジスタファイル31をプロセッサ外部
からアクセスし、外部からクロックとアドレス、リード
/ライト制御を入力することで任意のレジスタを読み書
きできるように構成して場合につき説明したが、この発
明は他の方式、例えば、外部入出力にシフトレジスタ方
式を用いたプロセッサにも適用できる。図10にシフト
レジスタ方式を用いた場合の基本構成を示す。
【0108】図10に示すように、入力画像データを一
時的に蓄積する入力シフトレジスタと、非線形処理され
た画像データが並列入力される外部出力シフトレジスタ
とを備える。入力シフトレジスタには、イメージスキャ
ナなどから送られる外部画像データが外部データバスか
ら入力シフトレジスタに与えられる。入力シフトレジス
タには並列nビットデータがビット毎に順次シフトされ
る。この入力シフトレジスタの段数は、プロセッサエレ
メント3aの組数の段数を有し、この実施形態では25
6段の段数を有する。入力シフトレジスタに蓄積された
データはレジスタファイル31へ移される。レジスタフ
ァイル31への書き込み動作は入力シフトレジスタの各
段において同時に行われる。このように、レジスタファ
イル31にデータが格納されると、上述したこの発明に
よる手法による非線形処理が演算アレイで行われる。
【0109】非線形処理が行われたレジスタファイル3
1に格納されたデータは出力シフトレジスタの各段に転
送される。この出力シフトレジスタのレジスタ段数はプ
ロセッサエレメント3aの組数分だけであり、レジスタ
ファイル31からデータが出力シフトレジスタの各段に
同時に転送される。この出力シフトレジスタに与えられ
るクロックでデータがシリアルに出力される。そして、
出力されたデータはバッファメモリなどに一時格納さ
れ、プリンタなどの外部出力装置に与えられる。
【0110】このように、上記したシフトレジスタ方式
においても、非線形処理において、この発明を適用すれ
ば、効率よく非線形処理が行える。
【0111】次に、この発明のSIMD型プロセッサを
ディジタル複写機などの画像処理装置に用いた場合につ
き図11ないし図13を参照して説明する。
【0112】イメージスキャナで読み取られた画像デー
タ(nビットのディジタル画像データ)が外部データバ
スからFIFO7に与えられる。FIFO7に1走査ラ
イン分のデータが格納されると、SIMD型プロセッサ
1のグローバルプロセッサ2からの制御信号により、こ
の実施の形態では256個の画像データがレジスタファ
イル31へ与えられる。
【0113】上記したように、この実施形態において
は、レジスタファイル31には1つのPE単位に8ビッ
トのレジスタが32本内蔵されており、256PE分の
組みがアレイ構成になっている。レジスタはPEごとに
R0、R1、R2、...R31と呼ばれている。それ
ぞれのレジスタは演算アレイに対して1つの読み出しし
ポートと1つの書き込みポートを備えており、8ビット
のリード/ライト兼用のバス37で演算アレイからアク
セスされる。32本のレジスタの内、24本(R0〜R
23)は、プロセッサ外部からアクセス可能であり、外
部からクロックとアドレス、リード/ライト制御を入力
することで任意のレジスタを読み書きできる。
【0114】残りの8本(R24〜R31)のレジスタ
はPE演算の一時的な演算データ保存用として使用され
るが、グローバルプロセッサ2の命令に従いテーブルR
AMからのデータを書き込むこともできる。このデータ
の書き込みは、グローバルプロセッサ2からのライト制
御と演算アレイ36の条件レジスタ35cの条件によ
り、レジスタファイル31に内蔵される8本のレジスタ
にテーブルRAMのデータを条件が成立している複数の
PEに同時に書き込みが可能に構成されている。
【0115】演算アレイ36は16ビットALUと16
ビットAレジスタ、Fレジスタを内蔵している。PE命
令による演算はレジスタファイル31から読み出された
データもしくはグローバルプロセッサ2から与えられた
データをALUの片側の入力としてもう片側にはAレジ
スタの内容を入力として結果をAレジスタに格納する。
したがって、Aレジスタ35aとR0〜R31レジスタ
もしくはグローバルプロセッサ2から与えられたデータ
との演算が行われることとなる。
【0116】FIFO7より転送され、レジスタファイ
ル31に格納された画像データは、前述した図3等に示
す実施形態に基づき非線形処理のためのテーブル変換が
行われる。すなわち、レジスタファイル31のレジスタ
(R0)に格納された演算(演算前)対象データを演算
アレイ36で一致演算、或いは大小比較により条件成立
の有無を判断し、条件が成立している各PE3aにのみ
変換後データが書き込まれる。すなわち、グロバールプ
ロセッサ2が変換前データに対応した変換後データが格
納されているアドレスをテーブルRAM26に出力し
て、変換後データをテーブルデータバスを介して全PE
3aのレジスタファイル31のレジスタ31cに与え
る。そして、ライト信号と条件成立信号を受け取り、条
件成立のPE3aだけテーブルデータバスの内容をレジ
スタに書き込む。そして、上述した図3等に示す実施形
態に基づきテーブル変換が終了する。
【0117】非線形処理が行われたレジスタファイル3
1に格納されたデータFIFO8に転送される。FIF
O8は1走査ライン分のデータを格納すると、データを
プリンタなどの外部出力装置に転送する。
【0118】また、画像データを予めラインメモリ9に
蓄えておき、ラインメモリ9からプロセッサエレメント
ブロック3にデータを転送し、非線形処理を行ったデー
タをラインメモリ9に格納するように構成しても良い。
このときのデータ転送はメモリコントローラ91を介し
てRAM92へ入出力される。
【0119】図12にFIFO7の一例を図13にFI
FO8の一例をそれぞれ示す。これらFIFO7,8は
メモリコントローラ72(82)、バッファメモリ71
(81)を備える。外部データ入力はメモリコントロー
ラ72を介してバッファメモリ71へデータが格納さ
れ、1ライン分のデータをバッファメモリ71に格納す
ると、メモリコントローラ72からプロセッサエレメン
トブロック3へデータを転送する。外部データ出力はプ
ロセッサエレメントブロック3からメモリコントローラ
72を介してバッファメモリ71へデータが格納され、
1ライン分のデータをバッファメモリ71に格納する
と、メモリコントローラ72から外部へデータを出力す
る。
【0120】上記した画像処理装置は、イメージスキャ
ナで取り込んだ画像データをプリンタ部へ出力する場合
に付き説明したが、これに限らずデジタルビデオ、ディ
ジタルカメラなどのディジタル画像を非線形処理する場
合にもこの発明は適用できる。また、外部出力もプリン
タに限らず、ディスプレイへの出力、データ転送などの
方式で出力する場合でもこの発明は適用できる。
【0121】
【発明の効果】以上説明したように、この発明によれ
ば、テーブルメモリが1つで、かつ特別な比較用の回路
を必要とせずコストを最小限とできる。また、処理時間
も変換後データを取り込むレジスタの数に応じて削減さ
れる。
【0122】また、前記プロセッサエレメントに内蔵さ
れるテーブルメモリからのデータを同時に格納すること
が可能な複数のレジスタは各プロセッサエレメントにお
ける演算対象データとしても使用可能に構成すること
で、変換後データを取り込むレジスタに演算部で使用さ
れるデータが自由に読み書きできるため、演算処理用レ
ジスタと変換用レジスタのそれそれの必要数を自由に選
択できるようになる。
【0123】また、複数のレジスタに格納するテーブル
メモリのデータはグローバルプロセッサに内蔵されるメ
モリに格納されており、このメモリはグローバルプロセ
ッサ演算でのデータ保存用のメモリにも使用可能に構成
することで、テーブルRAMがデータRAMとして使用
できるようになるため、テーブルRAM、データRAM
の必要容量を自由に選択できるようになる。
【図面の簡単な説明】
【図1】この発明にかかるSIMD型プロセッサの全体
構成を示すブロック図である。
【図2】この発明が適用されるSIMD型プロセッサの
内部構成を示すブロック図である。
【図3】この発明の実施の形態にかかるSIMD型プロ
セッサの内部構成を示すブロック図である。
【図4】この発明の実施の形態における変換後データの
転送を示す説明図である。
【図5】この発明の他の実施の形態における変換後デー
タの転送を示す説明図である。
【図6】非線形処理を区間に分割して処理する状態を示
す図である。
【図7】この発明の他の実施の形態にかかるSIMD型
プロセッサの内部構成を示すブロック図である。
【図8】この発明の異なる実施の形態にかかるSIMD
型プロセッサの内部構成を示すブロック図である。
【図9】この発明のさらに異なる実施の形態にかかるS
IMD型プロセッサの内部構成を示すブロック図であ
る。
【図10】この発明が適用される他のSIMD型プロセ
ッサの全体構成を示すブロック図である。
【図11】この発明にかかる画像処理装置を示すブロッ
ク図である。
【図12】入力用FIFOの一例を示すブロック図であ
る。
【図13】出力用FIFOの一例を示すブロック図であ
る。
【符号の説明】
2 グローバルプロセッサ 3 プロセッサエレメントブロック 3a プロセッサエレメント 26 テーブルRAM 27 レジスタファイル制御回路 31 レジスタファイル 31d ライトコントロール回路 36 演算アレイ 35c 条件レジスタ 35d 条件選択回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片山 貴雄 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 岩永 和彦 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 高藤 浩資 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 Fターム(参考) 5B045 AA01 GG14 5B057 AA11 CB12 CB16 CD11 CH04 CH07 CH08

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを解読しプロセッサ全体を制
    御するグローバルプロセッサと、データを処理するプロ
    セッサエレメントを複数個備えて構成されるプロセッサ
    エレメントブロックと、を有する並列プロセッサにおい
    て、各プロセッサエレメントは、演算部と、複数のレジ
    スタを有するレジスタファイルと、演算結果フラグと、
    を備え、演算結果フラグの内容が同じである複数のプロ
    セッサエレメントの少なくとも1つのレジスタに、テー
    ブルメモリからのデータを同時に格納させることを特徴
    とする並列プロセッサ。
  2. 【請求項2】 演算対象データと変換前データを演算部
    で比較し、両データが一致すると前記演算結果フラグに
    条件成立としてのフラグがセットされ、演算結果フラグ
    の内容が同じである複数のプロセッサエレメントの少な
    くとも1つのレジスタに、テーブルメモリからの変換後
    データを同時に格納させることを特徴とする請求項1に
    記載の並列プロセッサ。
  3. 【請求項3】 演算対象データと変換前データを演算部
    で比較し、演算対象データが大きい場合に前記演算結果
    フラグに条件成立としてのフラグがセットされ、演算結
    果フラグの内容が同じである複数のプロセッサエレメン
    トの少なくとも1つのレジスタに、テーブルメモリから
    の変換後データを同時に格納させることを特徴とする請
    求項1に記載の並列プロセッサ。
  4. 【請求項4】 前記テーブルメモリと前記レジスタファ
    イルのレジスタと接続するデータ転送バスと、前記デー
    タ転送バスからレジスタへのデータ転送を制御するコン
    トロール手段と、を備え、前記コントロール手段は前記
    グローバルプロセッサからの制御信号と演算結果フラグ
    の条件に応じてデータ転送バスからデータをレジスタに
    取り込むこと特徴とする請求項1ないし3のいずれかに
    記載の並列プロセッサ。
  5. 【請求項5】 前記変換後データは変換前データから連
    続した2n(nは整数)のデータとして2n個のテーブル
    バスから2n個のレジスタに同時に書き込まれることを
    特徴とする請求項4に記載の並列プロセッサ。
  6. 【請求項6】 前記プロセッサエレメントに内蔵される
    テーブルメモリからのデータを同時に格納することが可
    能な複数のレジスタは各プロセッサエレメントにおける
    演算対象データとしても使用可能に構成されていること
    を特徴とする請求項1ないし5のいずれかに記載の並列
    プロセッサ。
  7. 【請求項7】 複数のレジスタに格納するテーブルメモ
    リのデータはグローバルプロセッサに内蔵されるメモリ
    に格納されており、このメモリはグローバルプロセッサ
    演算でのデータ保存用のメモリにも使用可能であること
    を特徴とする請求項1ないし6のいずれかに記載の並列
    プロセッサ。
  8. 【請求項8】 複数のプロセッサエレメントがアレイ状
    に設けられた並列プロセッサにFIFOを介して画像デ
    ータが入力され、入力された画像データを並列演算処理
    し、演算処理された画像データがFIFOを介して並列
    プロセッサ外部に出力される画像処理装置であって、前
    記並列プロセッサの各プロセッサエレメントは、演算部
    と、複数のレジスタを有するレジスタファイルと、演算
    結果フラグと、を備え、演算結果フラグの内容が同じで
    ある複数のプロセッサエレメントの少なくとも1つのレ
    ジスタに、テーブルメモリからの非線形処理の変換後デ
    ータを同時に格納し、非線形処理された画像データが外
    部に出力されることを特徴とする画像処理装置。
  9. 【請求項9】 演算対象データと変換前データを演算部
    で比較し、演算対象データが大きい場合に前記演算結果
    フラグに条件成立としてのフラグがセットされ、演算結
    果フラグの内容が同じである複数のプロセッサエレメン
    トの少なくとも1つのレジスタに、テーブルメモリから
    の変換後データを同時に格納させることを特徴とする請
    求項8に記載の画像処理装置。
  10. 【請求項10】 前記テーブルメモリと前記レジスタフ
    ァイルのレジスタと接続するデータ転送バスと、前記デ
    ータ転送バスからレジスタへのデータ転送を制御するコ
    ントロール手段と、を備え、前記コントロール手段は前
    記グローバルプロセッサからの制御信号と演算結果フラ
    グの条件に応じてデータ転送バスからデータをレジスタ
    に取り込むこと特徴とする請求項8または9に記載の画
    像処理装置。
  11. 【請求項11】 前記変換後データは変換前データから
    連続した2n(nは整数)のデータとして2n個のテーブ
    ルバスから2n個のレジスタに同時に書き込まれること
    を特徴とする請求項10に記載の画像処理装置。
JP2000020130A 2000-01-19 2000-01-28 並列プロセッサ及びそれを用いた画像処理装置 Expired - Fee Related JP4294190B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000020130A JP4294190B2 (ja) 2000-01-28 2000-01-28 並列プロセッサ及びそれを用いた画像処理装置
US09/761,122 US7191310B2 (en) 2000-01-19 2001-01-16 Parallel processor and image processing apparatus adapted for nonlinear processing through selection via processor element numbers
US11/591,754 US20070083732A1 (en) 2000-01-19 2006-11-01 Parallel processor and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000020130A JP4294190B2 (ja) 2000-01-28 2000-01-28 並列プロセッサ及びそれを用いた画像処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006216443A Division JP4442905B2 (ja) 2006-08-09 2006-08-09 画像データの処理方法

Publications (2)

Publication Number Publication Date
JP2001209617A true JP2001209617A (ja) 2001-08-03
JP4294190B2 JP4294190B2 (ja) 2009-07-08

Family

ID=18546747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000020130A Expired - Fee Related JP4294190B2 (ja) 2000-01-19 2000-01-28 並列プロセッサ及びそれを用いた画像処理装置

Country Status (1)

Country Link
JP (1) JP4294190B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010524A1 (ja) * 2015-07-13 2017-01-19 井上 克己 Simd型並列演算装置、simd型並列演算半導体チップ、simd型並列演算方法、simd型並列演算装置や半導体チップを含んだ装置。

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010524A1 (ja) * 2015-07-13 2017-01-19 井上 克己 Simd型並列演算装置、simd型並列演算半導体チップ、simd型並列演算方法、simd型並列演算装置や半導体チップを含んだ装置。

Also Published As

Publication number Publication date
JP4294190B2 (ja) 2009-07-08

Similar Documents

Publication Publication Date Title
US20010008563A1 (en) Parallel processor and image processing apparatus
EP0539595A1 (en) Data processor and data processing method
US20080059757A1 (en) Convolver Architecture for Vector Processor
JPH0562387B2 (ja)
JPH0545985B2 (ja)
JPH09114664A (ja) データ駆動型情報処理装置
JP3971535B2 (ja) Simd型プロセッサ
US5307300A (en) High speed processing unit
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
JP4442905B2 (ja) 画像データの処理方法
JP4451433B2 (ja) 並列プロセッサ
US5860130A (en) Memory interface apparatus including an address modification unit having an offset table for prestoring a plurality of offsets
JP4294190B2 (ja) 並列プロセッサ及びそれを用いた画像処理装置
US6795874B2 (en) Direct memory accessing
JP3971559B2 (ja) 並列プロセッサ及びそれを用いた画像処理装置
JP5372307B2 (ja) データ処理装置およびその制御方法
JP3821198B2 (ja) 信号処理装置
JPH1153189A (ja) 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
JP4408113B2 (ja) 信号処理方法
JP4413905B2 (ja) Simd型プロセッサ
EP1462932A2 (en) Vector processor and register addressing method
JP2001202351A (ja) Simd型プロセッサ
JP2003196259A (ja) データ駆動型情報処理装置およびデータ処理方法
JPH05173778A (ja) データ処理装置
JP2881023B2 (ja) 命令バッファ構成方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090312

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: 20090408

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

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140417

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees