JP2001202351A - Simd型プロセッサ - Google Patents
Simd型プロセッサInfo
- Publication number
- JP2001202351A JP2001202351A JP2000009879A JP2000009879A JP2001202351A JP 2001202351 A JP2001202351 A JP 2001202351A JP 2000009879 A JP2000009879 A JP 2000009879A JP 2000009879 A JP2000009879 A JP 2000009879A JP 2001202351 A JP2001202351 A JP 2001202351A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- register
- data
- processor element
- bit
- 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
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
令実行サイクルを減らすことを目的とする。 【解決手段】 この発明は、プログラムを解読しプロセ
ッサ全体を制御するグローバルプロセッサ2と、複数デ
ータを処理するための複数のプロセッサエレメント3a
を備えたプロセッサエレメントブロック3と、を有する
SIMD型プロセッサにおいて、グローバルプロセッサ
2は、対応するPE番号を複数のプロセッサエレメント
3aに転送し、グローバルプロセッサ2のG0レジスタ
からのデータを任意のプロセッサエレメント3aのAレ
ジスタ35aに転送する。
Description
タに対して同じ処理を行うSIMD(Single I
nstruction-stream Multipl
e Data-stream)方式のプロセッサに関
し、特に、画像データの高速処理に適したSIMD型プ
ロセッサに関する。
置等における画像処理では、画素数の増加、画像処理の
多様化などにより画質の向上が図られている。この画質
の向上に伴い、処理すべき画素データ数の増加やデータ
の処理方法が複雑化している。こういった画像処理のデ
ータ処理は複数のデータに対して同じ処理をすることが
多いため、1命令で1つのデータを処理するSISD
(Single Instruction-strea
m Single Data-stream)方式のプ
ロセッサより、1命令で複数のデータを処理する、SI
MD(SingleInstruction-stre
am Multiple Data-stream)方
式のプロセッサが用いられていることが多い。
処理するために算術論理演算器とレジスタファイルを備
えたプロセッサエレメント(PE)と呼ばれるブロック
を持ち、複数のデータを一度に処理するためにプロセッ
サエレメントを複数個備えている。また、SIMD型プ
ロセッサにはプログラムによってプロセッサ全体を制御
するために、プログラム解読部、制御部、算術論理演算
器、レジスタ、メモリをもったグローバルプロセッサと
呼ばれるブロックを1つ備える。
メントにデータの転送を行うときには、プロセッサエレ
メントにシフトレジスタを設け、すべてのプロセッサエ
レメントのシフトレジスタをチェーン構造に接続し、プ
ロセッサエレメントの片端をグローバルプロセッサに接
続し、シフトレジスタをシフトしていくことでデータを
転送したり、或いは、グローバルプロセッサからすべて
のプロセッサエレメントにバスを設け、直接データを転
送するようにしている。
は、全プロセッサエレメント分のシフトを行う必要があ
る。また、直接データを書き換える場合は、全プロセッ
サエレメントを書き換えるか、特定の1つのプロセッサ
エレメントを制御部から選択信号によって選択し、書き
換えることになる。1つのプロセッサエレメントの書き
換えなら1命令サイクルですむが、複数プロセッサエレ
メントなどでは複数命令サイクルが必要となる。
の演算は通常実行条件フラグによって演算の有無を決定
する。実行条件フラグはプロセッサエレメントの演算ア
レイで行われる演算の結果によりセット/リセットした
り、また、グローバルプロセッサの制御部からの制御信
号により直接セット/リセットする。
果によって書き換えるか、全プロセッサエレメントの条
件フラグにデータを転送することでセット/リセットし
たりしていた。しかし、プロセッサエレメントの演算が
特定部分であった場合、例えばある範囲内のプロセッサ
エレメントを演算対象としたり、n個(n=1、2、3
・・・)おきのプロセッサエレメントを演算対象とした
りする場合、実行条件フラグの設定を対象とするプロセ
ッサエレメントに設定するのは困難であった。このため
意図的に対象と非対象のプロセッサエレメントで異なる
データを設定し演算させることで条件フラグを立てた
り、対象とするプロセッサエレメントの条件フラグに1
つずつ設定したりした。
法の複雑化に伴い、同時に処理すべきデータ数も増加
し、プロセッサエレメントの数の増加となっている。プ
ロセッサエレメントを増加させた場合、論理検証、IC
試験などで使用するテストパターンの量も増加する。1
つのプロセッサエレメントに対して行うテストを全プロ
セッサエレメントに対して行うためには、プロセッサエ
レメント数のテストパターンが必要となるか、全プロセ
ッサエレメントに対してテスト用の回路を設けたり、テ
スト結果を出力するポートを設ける必要がある。
されたものにして、有効な命令と命令を実現する手段を
設けることで、このような画像データ処理に伴う命令の
命令実行サイクルを減らすことを目的とする。
を解読しプロセッサ全体を制御するグローバルプロセッ
サと、複数データを処理するための複数のプロセッサエ
レメントを備えたプロセッサエレメントブロックと、を
有するSIMD型プロセッサにおいて、前記グローバル
プロセッサは、プロセッサエレメント番号を全プロセッ
サエレメントに設定する命令を設け、命令実行によって
プロセッサエレメントに対して制御信号を出力し、制御
信号によりプロセッサエレメントに対応するプロセッサ
エレメント番号を演算アレイの入力データとして用いる
手段を設ける。
ッサからの制御信号によってプロセッサエレメント(P
E)番号をプロセッサエレメントのAレジスタに入力で
きる。各プロセッサエレメントに格納されたPE番号
は、プロセッサエレメントのテストをするときに用いる
ことができる。例えば、PEシフトをテストする場合な
ど有効になる。
サの汎用レジスタから、汎用レジスタのビットサイズを
持ったバスを1組設け、全プロセッサエレメントの演算
アレイ内のレジスタに接続し、データを転送する手段を
設ける。
ルプロセッサのG0レジスタからバスでプロセッサエレ
メントのAレジスタに接続し、任意のプロセッサエレメ
ントのAレジスタにG0の値を転送することができる。
セッサエレメント番号入力手段からのプロセッサエレメ
ント番号と即値による範囲指定の上限値、下限値との比
較を行うコンパレータを設け、特定のプロセッサエレメ
ントのみ制御を行う。
その範囲内の実行条件フラグを一つずつセットし、実行
条件フラグによって転送の有無を決定していたため、転
送数だけのサイクルを必要としたが、上記した構成によ
れば、ある範囲だけのプロセッサエレメントを指定でき
るMGAA命令を使用することで、1サイクルでの処理
が可能である。
ッサエレメント番号入力手段からのプロセッサエレメン
ト番号と、即値のビットパターンによる範囲指定を行う
ビット位置指定と、即値のビットパターンによるマスキ
ングを行うビットマスク指定によってプロセッサエレメ
ントを選択する、パターンマッチングブロックを設け、
特定のプロセッサエレメントにのみ制御を行う。
き等のN個おきのプロセッサエレメントの指定を行いデ
ータを転送することができる。
プロセッサ内の汎用レジスタからの値を、前記コンパレ
ータもしくはパターンマッチングブロックに転送する経
路を設け、ポインタ指定により行う。
サ命令での演算の結果を繰り張るプロセッサ内の汎用レ
ジスタに格納し、ダイナミックな指定が可能となる。
タにおけるデータのインクリメントを行うこと特徴とす
る。
次の演算範囲の縮小が可能となる。
算の結果をレジスタに格納するか否かを制御し、演算の
結果もしくはグローバルプロセッサからのからの制御信
号によりセット/リセット可能な複数のフラグビットを
持ち、セット/リセット前のフラグビットの状態と、新
しくセット/リセットする値との倫理演算を行う。AN
D/OR論理演算器を設け、演算後の値をフラグビット
にセット/リセットを行うことを特徴とする。
値指定によって特定のプロセッサエレメントから特定の
プロセッサエレメントまでの範囲を指定することにより
行われることを特徴とする。
ドの即値指定によって、2進数で表わされたプロセッサ
エレメント番号にマッチするプロセッサエレメントを指
定するビット位置指定と、そのビット位置指定の任意ビ
ットをマスクするビットマスクによるプロセッサエレメ
ント指定により行われることを特徴とする。
セッサの汎用レジスタを使用し、ポインタ指定により行
われることを特徴とする。
不規則なエリアの指定を行うとき有効となる。
き図面を参照して説明する。図1は、この発明の実施の
形態にかかるSIMD型プロセッサの構成を示すブロッ
ク図である。
ッサの全体構成について、図1に従い説明する。この発
明のSIMD型プロセッサ1は、図1に示すように、グ
ローバルプロセッサ(GP)2、本実施形態では256
組の後述するプロセッサエレメント(PE)3aを備え
たプロセッサエレメントブロック3、インタフェース4
から構成される。インタフェース4はグローバルプロセ
ッサ2の命令に基づき、例えば外部のイメージスキャナ
などから演算対象となるデータをプロセッサ内部の入出
力用のレジスタフィル31に与えるとともに、演算処理
されたデータをレジスタファイル31から外部のプリン
タなどへ転送するものである。
MD型プロセッサの外部に設けられたスキャナなどの入
力装置から画像データを入力したり、外部のプリンタな
どの出力装置に画像データを出力したり、グローバルプ
ロセッサ2から演算アレイ36を経由してデータの入出
力を行うレジスタファイル31と、レジスタファイル3
1からのデータやグローバルプロセッサ2からのデータ
を演算処理する演算アレイ36をそなえる。SIMD方
式では、複数のデータを同時に処理するため、プロセッ
サエレメントブロック3は、複数のプロセッサエレメン
ト3a…で構成される。
レメントブロック3、インタフェース4を制御する。こ
のグローバルプロセッサ2は、各種制御信号を送るSI
SD方式のプロセッサで構成されている。
すように、命令を解読し、各種制御信号を発生するシー
ケンスユニット(以下、SCUという)22と、グロー
バルプロセッサ命令により算術論理演算を行う算術論理
演算器(以下、ALUという。)23、このプロセッサ
のプログラム格納用のプログラムRAM21と演算デー
タ格納用のデータRAM24、図には明記していない
が、割り込み制御回路、外部I/O制御回路、GP演算
制御回路とを、備える。
グラムのアドレスを保持するプログラムカウンタ(P
C)、演算処理のデータ格納のための汎用レジスタであ
るG0〜G3レジスタ、レジスタ退避、復帰時に退避先
データRAMのアドレスを保持しているスタックポイン
タ(SP)、サブルーチンコール時にコール元のアドレ
スを保持するリンクレジスタ(LS)、同じくIRQ時
とNMI時の分岐元アドレスを保持するLI、LNレジ
スタ、プロセッサの状態を保持しているプロセッサステ
ータスレジスタ(P)が内蔵されている。
いが、GP命令を解読し、主にグローバルプロセッサ2
内の各ブロックに制御信号を発生するGPインストラク
ションデコーダ(以下、GDCという)と、プロセッサ
エレメント(PE)命令を解読し、主にプロセッサエレ
メントブロック3内の各ブロックに制御信号を発生する
PEインストラクションデコーダ(以下、PDCとい
う)を、備える。すなわち、このプロセッサには、主に
グローバルプロセッサ2内での演算処理を受け持つGP
命令と、プロセッサエレメントブロック3内もしくはプ
ロセッサエレメント3a…間での演算処理を受け持つP
E命令に分類される。
ック3の演算アレイ36は、マルチプレクサ32、シフ
ト拡張回路33、算術論理演算器34(以下、「ALU
34」という)、及びAレジスタ35a、Fレジスタ3
5bを備える。
22は、インタフェース4に対してデータ転送のための
動作設定用データ及びコマンド等を送る。インタフェー
ス4は、シーケンスユニット22の動作設定用データ及
びコマンドに基づき、プロセッサエレメント3aのアド
レス指定のためのアドレス制御信号、プロセッサエレメ
ント3aを構成するレジスタ31bにデータのリード/
ライトを指示するためのリード/ライト制御信号、クロ
ック信号を与えるためのクロック制御信号を生成する。
イト制御信号とは、演算処理されるデータをデータバス
より取得して、プロセッサエレメント3aのレジスタフ
ァイル31に保持させるための信号をいう。一方、リー
ド/ライト制御信号のうちリード制御信号とは、プロセ
ッサエレメント3aのレジスタファイル31が保持して
いる演算処理されたデータを、データバスへ与えるよう
レジスタに指示するための信号をいう。
レメントブロック3につき、図3を参照してさらに説明
する。
ントブロック3は、隣り合う2つのプロセッサエレメン
ト3aに偶数番号、奇数番号を割り付けて1組とすると
共に、この1組のプロセッサエレメント3aには同一の
アドレスを割り付けている。
バルプロセッサ2からのコマンドを受けて、プロセッサ
エレメントブロック3を構成するプロセッサエレメント
3aのアドレスを指定する信号(以下、「アドレス指定
信号」という。)を作成し、インタフェース4からアド
レスバス41aを介してプロセッサエレメント3aのレ
ジスタコントローラ31aヘ送る。また、インタフェー
ス4は、プロセッサエレメント3aを構成するレジスタ
31bに対して、データのリード/ライトを指示するた
めの信号(以下、「リード/ライト指示信号」とい
う。)を、リード/ライト信号線45a(45b)を介
してプロセッサエレメント3aのレジスタコントローラ
31aヘリード/ライト信号を与える。偶数用リード/
ライト信号線45aは、偶数のプロセッサエレメント3
aにリード/ライト信号を与え、奇数用リード/ライト
信号線45bは、奇数のプロセッサエレメント3aにリ
ード/ライト信号を与える。
線41cを介してプロセッサエレメント3aのレジスタ
コントローラ31aへクロック信号を与える。
セッサ1の外部に設けられたイメージスキャナ等で読み
取られた画像データは一端図示しないバッファメモリに
格納され、インタフェース4は、バッファメモリからデ
ータを、本実施形態では16ビットのパラレルデータと
して取り込む。この16ビットのデータは、偶数番号が
割り付けられたプロセッサエレメント3aに与えられる
8ビットと、奇数番号が割り付けられたプロセッサエレ
メント3aに与えられる8ビットとから構成されてい
る。それぞれ8ビットデータは偶数用データバス46a
及び奇数用データバス46bに与えられる。この8ビッ
トのパラレルデータについては、データに応じて適宜変
更しても問題ない。このデータバス46a,46bは、
レジスタ31bに保持されている演算処理されたデータ
が、SIMD型プロセッサ1の外部に設けられたプリン
タなどへバッファメモリを介して送られる時にも使用さ
れる。
レジスタは、プロセッサエレメントブロック3のAレジ
スタ35a、Fレジスタ35bに接続されており、この
レジスタ35a、35bとの間でシーケンスユニット2
2の制御によりデータの交換が行われる。
及び図3に示すように、レジスタファイル31、マルチ
プレクサ32、シフト・拡張回路33、ALU34、レ
ジスタ35a、35b、35c、を一単位とする複数の
プロセッサエレメント3aを備える。レジスタファイル
31には、1つのプロセッサエレメント3a単位に8ビ
ットのレジスタが32本内蔵されており、本実施形態で
は256個のプロセッサエレメント分の組がアレイ構成
になっている。
部ポートで各プロセッサエレメント3aの1つのレジス
タがアクセス可能であり、外部から入力されたアドレス
でプロセッサエレメントの番号(0〜255)を指定す
る。したがって、レジスタアクセスの外部ポートは全部
で24組搭載されている。また、外部からアクセスされ
るデータは上述したように、偶数のプロセッサエレメン
ト3aと奇数のプロセッサエレメント3aの1組で16
ビットデータとなっており、1回のアクセスで2つのレ
ジスタを同時にアクセスしている。
aの数を256個として説明するが、これに限定される
ものでなく適宜変更して使用してもよい。このプロセッ
サエレメント3aには、グローバルプロセッサ2のシー
ケンスユニット22により、インタフェース4に近い順
に0から255までのアドレスが割り付けられる。
イル31は、レジスタコントローラ31a、2種類のレ
ジスタ31b、31cを備える。本実施形態では、図3
に示すように、一単位のプロセッサエレメント3a毎
に、レジスタコントローラ31aとレジスタ31bとを
24組備え、さらにレジスタ31cを8個備えている。
を8ビットのものとして扱うが、これに限定されるもの
でなく適宜変更して使用してもよい。
31b、31cは、内蔵するR0、R1、R2...R
31と呼ばれているレジスタを上記のように区分したも
のである。それぞれのレジスタファイル31は演算アレ
イ36に対して1つの読み出しポートと1つの書き込み
ポートを備えており、8ビットのリード/ライト兼用の
バスで演算アレイ36からアクセスされる。32本のレ
ジスタの内、24本はすなわち、レジスタ31bは、プ
ロセッサ外部からアクセス可能であり、外部からクロッ
クとアドレス、リード/ライト制御を入力することで任
意のレジスタを読み書きできる。
ェース4と、上述したアドレスバス41a、偶数用リー
ド/ライト信号線45a、奇数用リード/ライト信号線
45b、クロック信号線41cを介して接続されてい
る。
受けると、アドレス指定信号をアドレスバス41aを介
してプロセッサエレメントブロック3ヘ送る。これによ
り、一組のプロセッサエレメント3a、即ち2つのプロ
セッサエレメント3aが同時にアドレス指定される。レ
ジスタコントローラ31aは、送られてきたアドレス指
定信号をデコードし、デコードしたアドレスと、自己に
割り付けられたアドレスとが一致する場合には、クロッ
ク信号41cを介して送られてきたクロック信号に同期
して、リード/ライト信号45a或いは45bを介して
送られてきたリード/ライト指示信号を得る。具体的に
は、偶数番号が割り付けられているレジスタコントロー
ラ31aは、偶数用リード/ライト信号45aを介して
インタフェース4から送られてきたリード/ライト指示
信号を得る。一方、奇数番号が割り付けられているレジ
スタコントローラ31aは、奇数用リード/ライト信号
45bを介してインタフェース4から送られてきたリー
ド/ライト指示信号を得る。このとき一組を構成するプ
ロセッサエレメント3aのレジスタコントローラ31a
へ送られるリード/ライト指示信号はそれぞれ異なるも
のであってもよい。即ち、偶数番号が割り付けられてい
るレジスタコントローラ31aへ送られる指示信号がリ
ード指示であるとき、奇数番号が割り付けられているレ
ジスタコントローラ31aへ送られる指示信号はライト
指示であってもよい。そして、このリード/ライト指示
信号はレジスタ31bに与えられる。
ロセッサエレメント3aに対し、ライト指示信号が送ら
れてきた場合には、偶数番号が割り付けられたプロセッ
サエレメント3aのレジスタ31bは、演算処理される
データ(8ビット)を偶数用データバス46aより取得
して保持する。また、奇数番号が割り付けられたプロセ
ッサエレメント3aのレジスタ31bは、演算処理され
るデータ(8ビット)を奇数用データバス46bより取
得して保持する。一方、レジスタコントローラ31aか
ら双方のプロセッサエレメント3aに対し、リード指示
信号が送られてきた場合には、偶数番号が割り付けられ
たプロセッサエレメント3aのレジスタ31bは、演算
処理されたデータ(8ビット)を偶数用データバス46
aへ送る。また、奇数番号が割り付けられたプロセッサ
エレメント3aのレジスタ31bは、演算処理されたデ
ータ(8ビット)を奇数用データバス46bへ送る。
偶数番号が割り付けられたプロセッサエレメント3aに
データ転送できるとともに、奇数番号が割り付けられた
プロセッサエレメント3aにもデータ転送できる。この
ため、データの転送回数を少なくすることができ、デー
タ転送を高速にできる。
これから演算される外部から入力されたデータを保持し
たり、或いはALU34で演算処理されたデータを外部
へ出力するために保持するものであり、いわゆる入力レ
ジスタとしても、或いは出力レジスタとしても機能す
る。また、演算処理されるデータ、或いは演算されたデ
ータを一時的に保持するといった、後述するレジスタ3
1cとしての機能も有する。なお、本実施形態では、レ
ジスタ31bは8ビットのデータを保持できるものとし
て扱うが、データに応じて適宜変更しても問題ない。上
述したレジスタコントローラ31aからライト指示信号
が与えられると、レジスタ31bは演算処理されるデー
タをデータバス46aまたはデータバス46bより取得
して保持する。一方、レジスタコントローラ31aから
リード指示信号が送られてくると、レジスタ31bは保
持している演算処理されたデータをデータバス46aま
たはデータバス46bへ与える。このデータはインタフ
ェース4から図示しないバッファメモリから外部へ出力
される。
いては8ビットデータをパラレルで転送するデータバス
37を介してマルチプレクサ32に接続されている。A
LU34で演算処理されるデータ、或いはALU34で
演算処理されたデータは、このデータバス37を介し
て、レジスタ31bとの間で転送される。この転送は、
グローバルプロセッサ2のSCU22からの指示によっ
て、グローバルプロセッサ2に接続されたリード信号線
26a、ライト信号線26bを介して行われる。具体的
には、グローバルプロセッサ2のシーケンスユニット2
2から、リード信号線26aを介してリード指示信号が
送られてくると、レジスタ31bは保持している演算処
理されるデータをデータバスへ置く。このデータはAL
U34へ送られ演算処理される。一方、グローバルプロ
セッサ2のSCU22から、ライト信号線26bを介し
てライト指示信号が送られてくると、レジスタ31bは
データバス37を介して送られてきたALU34で演算
処理されたデータを保持する。
えられた演算処理されるデータ、或いは演算されたデー
タがレジスタ31bに与えられる前に、そのデータを一
時的に保持するものである。このレジスタ31cは、上
述したレジスタ31bと異なり、インタフェース4を介
して、外部との間においてデータ転送はしない。
フト/拡張回路33、16ビットALU34及び16ビ
ットのAレジスタ35a、Fレジスタ35bを備えてい
る。
算は、基本的にレジスタファイル31から読み出された
データをALU34の片側の入力としてもう片側にはレ
ジスタ35のAレジスタの内容を入力として結果をAレ
ジスタに格納する。したがって、Aレジスタ35aとレ
ジスタファイル31のR0〜R31レジスタとの演算が
行われることとなる。レジスタファイル31と演算アレ
イ36との接続に(7to1)のマルチプレクサ32を
置いており、プロセッサエレメント方向で左に1、2、
3つ離れたデータと右に1、2、3つ離れたデータ、中
央のデータを演算対象として選択している。また、レジ
スタファイル31の8ビットのデータはシフト/拡張回
路33により任意ビットの左シフトしてALU34に入
力される。さらに、図2に示すように、8ビットの条件
レジスタ(T)35cにより、プロセッサエレメント3
aごとに演算実行の無効/有効の制御をしており、特定
のプロセッサエレメント3aだけを演算対象として選択
できるように構成している。
自己のプロセッサエレメント3aに備えられた上記デー
タバス37に接続されるとともに、両隣3つのプロセッ
サエレメント3aに備えられたデータバス37にも接続
されている。このマルチプレクサ32は7つのプロセッ
サエレメント3aから1つを選択し、その選択したプロ
セッサエレメント3aにおけるレジスタ31b、31c
で保持されているデータをALU34へ送る。或いはA
LU34で演算処理されたデータを、選択したプロセッ
サエレメント3aにおけるレジスタ31b、31cへ送
る。これによって、隣のプロセッサエレメント3aにお
けるレジスタ31b、31cで保持されているデータを
利用した演算処理が可能になり、SIMD型プロセッサ
1の演算処理能力を高めることができる。
32から送られてきたデータを所定ビットシフトしてA
LU34へ送る。或いはALU34から送られてきた演
算処理されたデータを所定ビットシフトしてマルチプレ
クサ32へ送る。
送られてきたデータと、レジスタ35に保持されている
データとに基づき算術論理演算を行う。なお、本実施形
態では、ALU34は16ビットのデータに対応できる
ものとして扱うが、データに応じて適宜変更しても問題
ない。演算処理されたデータは、レジスタ35に保持さ
れ、シフト/拡張回路33へ転送されたり、或いはグロ
ーバルプロセッサ2の汎用レジスタ25へ転送される。
ス4へはI/O用のアドレス、データ、コントロール信
号がバスを介して与えられる。グローバルプロセッサ2
がインタフェース4のいくつかの動作設定レジスタ(図
示せず)へ動作方法等のコマンドを設定している。
ッサ1の構成につき、図2、図4,図5を参照して説明
する。上述したように、プロセッサエレメント3aの演
算は、実行条件フラグによって演算の有無が決定され
る。従来、実行条件フラグのセット/リセットは全プロ
セッサエレメントの条件フラグにデータを転送して行わ
れており、同じ演算処理などを繰り返さなければなら
い。この発明は、命令の実行サイクルを減らすことが可
能なように構成するものである。
セッサエレメント3a…に対して、グローバルプロセッ
サ2からの制御信号に基づいて、プロセッサエレメント
(PE)番号(i=0,1,…、n)が転送される。こ
のPE番号を転送するために、グローバルプロセッサ2
は、LDPN(Load PE Number)命令を
出す。PE番号は、各プロセッサエレメント3aに予め
設定された番号に基づいて、例えば、8ビットデータを
GND、VCCとの組み合わせにより設定し、GNDの
トランジスタをLDPN命令に基づく制御信号よりオン
/オフすることにより、PE番号が各プロセッサエレメ
ント3aに転送される。
レメント3a…に対してPE番号を自プロセッサエレメ
ント3aのAレジスタ35aに設定するものである。P
E0のAレジスタ35aには”0”が、PE127のA
レジスタ35aには”127”が設定される。このPE
番号は2進数で表したデータが与えられるが、前記した
例では理解を容易にするために、十進法で表記してい
る。
セッサ2のSCU22から制御信号が全プロセッサエレ
メント3aに対して出力され、各プロセッサエレメント
3a…にはALU34の片側にPE番号を設定し、PE
番号はALU34を通ってAレジスタ35aに格納され
る。
2からの与えられる制御信号、すなわちLPDN命令に
よってPE番号が各プロセッサエレメント3a…のAレ
ジスタ35aにそれぞれ入力することができる。各プロ
セッサエレメント3a…に格納されたPE番号は、プロ
セッサエレメントのテストをするときに用いられる。例
えば、PEシフトをテストする場合など有効になる。
るマルチプレクサ32を使用し、注目するプロセッサエ
レメント3aをPEn(n=0、1、2、3...25
5)とした場合、PEnの演算アレイ36に入力するデ
ータをPEn+3、PEn+2、PEn+1、PEn、
PEn−1、PEn−2、PEn−3のいずれかの指定
レジスタから選択行うもので、演算アレイ36の演算結
果をAレジスタ35aもしくはFレジスタ35bからP
En+3、PEn+2、PEn+1、PEn、PEn−
1、PEn−2、PEn−3のレジスタに格納すること
もできる。
Aレジスタの値と、PEn−3のR1レジスタの値を加
算してPEnのAレジスタに格納する。 STA #12h、R1:U3 ;STAはストア命令
で、PEnのAレジスタの値を、PEn+3のR1レジ
スタに格納する。
であれば、SIMDプロセッサでは全プロセッサエレメ
ントに同じデータしか設定できないため、PE0、PE
1、PE2...と1PEずつAレジスタにデータを転
送しなければ異なる値を設定することができなかった。
PEシフトを行った結果が全プロセッサエレメントで同
じ値になればどのPEから転送されてきたが判明できな
い。この発明であれば、LDPN命令によって異なるデ
ータが一度にAレジスタ35aに設定できる。LDPN
命令で一度にすべてのプロセッサエレメント3a...
のAレジスタ35aにそれぞれのPE番号の値をセット
する。プロセッサエレメントの下位番号から順に、Aレ
ジスタに0、1、2、3...が設定される。PEシフ
トでレジスタファイル31のいずれかのレジスタにスト
アする。例えば2下位にシフトし、R1にストアした場
合、プロセッサエレメントの下位番号から順に、R0レ
ジスタに2、3、4、5...がストアされる。最後に
AレジスタとR0レジスタを比較すれば全てのプロセッ
サエレメントで(Aレジスタの値)−(R0レジスタの
値)=2となる。PEシフトがうまく行われていないプ
ロセッサエレメントでは2以外の値となる。
ッサエレメント3a…の演算指定にも使用できる。例え
ば、5個おき(PE0,PE5,PE9,…)の選択を
行いたい場合には、 LDPN命令で全プロセッサエレ
メント3a…にPE番号を設定する。PE0,PE1,
PE2,…PE255のAレジスタ35aの値を順に指
定すると、0,1,2,3…255となる。Aレジスタ
35aの値を5で除算し、余りを格納すると(これらの
演算はALUによる減算の繰り返しで最終にAレジスタ
に残った値が余りとなる。除算の引き放し法、引き戻し
法で可能。)、0,1,2,3,4,0,1,2,3,
4,0,1,…0となり、PE命令でCMP命令(CM
P命令はAレジスタ35aとレジスタファイル31のデ
ータを比較し、結果をTレジスタ35cの指定ビットに
反映させる。)を使用し、結果をTレジスタ35cに反
映させることで、次の演算のプロセッサエレメント3a
選択ができる。
サエレメント3aの指定数にかかわらず、LDPN命令
で1サイクル、除算で16サイクル、CMP命令で1サ
イクルで対象とするプロセッサエレメント3aの選択が
完了する。
2からプロセッサエレメント3aへのデータ転送にはG
Aバス211が使われる。GAバス211はグローバル
プロセッサ2のG0レジスタに接続されており、G0レ
ジスタのデータを指定されたプロセッサエレメント3a
のAレジスタ35aにデータが転送される。また、プロ
セッサエレメント3aのAレジスタ35aはAGバス2
12が接続されており、Aレジスタ35aに格納された
データがAGバス212からG0レジスタに与えられ
る。
5aへのデータ転送には、MGAA(Move G0
to A by Area Assignment)命
令、MGAB(Move G0 to A by Bi
t Assignment)命令といった命令が使用さ
れる。
≦j、i,j=0,1,…,255)プロセッサエレメ
ントのAレジスタ35aにG0レジスタの値を転送す
る。指定には即値指定とレジスタ指定があり、例えば、
次のように記述する。
〜PE23までのプロセッサエレメントのAレジスタ3
5aにG0レジスタの値を転送する。
〜PE(G3)までのプロセッサエレメントのAレジス
タ35aにG0レジスタの値を転送する。G2の値が2
3でG3の値が45であればPE23〜PE45が対象
となる。
2)〜PE(G3)までのプロセッサエレメントのAレ
ジスタ35aにG0レジスタの値を転送する。転送した
後、G2の値を1インクリメントする。
サエレメント3aの選択をする場合に使用される。指定
には、MGAA命令と同じように即値指定とレジスタ指
定がある。即値はわかりやすいようにビット指定で記述
している。
プロセッサエレメント3aのビット指定値を、2番目の
オペランドにプロセッサエレメント3aのマスク値を記
述する。
ト指定値)&  ̄(マスク値)
1b);PE0、PE2、PE4、…PE2*i(i=
0,1,2,…127)のプロセッサエレメントのAレ
ジスタ35aにG0レジスタの値を転送する。
指定値、G3をマスク値として前述の式を満たす番号の
プロセッサエレメントのAレジスタ35aにG0レジス
タの値を転送する。
ト指定値、G3をマスク値として前述の式を満たす番号
のプロセッサエレメントのAレジスタにG0を転送す
る。G2は転送後に1インクリメントされる。
のG0レジスタにGAバス211によりすべてのプロセ
ッサエレメント3aのAレジスタ35aを接続すること
で、MGAA命令、MGAB命令により、任意のプロセ
ッサエレメント3aのAレジスタ35aにG0レジスタ
の値を転送することができる。
5に示すような各プロセッサエレメント3aに装備され
ているコンパレータ301、パターンマッチング回路3
02によって、そのプロセッサエレメント3aが演算対
象であるか、否かを判断するためにも用いられる。
MGAA命令、MGAB命令及び制御信号が出力され、
即値は即値バス221、即値バス222に与えられる。
即値バス221に与えられた即値はセレクタ204に与
えられる。セレクタ203からはPEMSKデータ、P
EHデータがプロセッサエレメント3aに出力される。
PEMSKデータはプロセッサエレメント3aのパター
ンマッチング回路302に、PEHデータはコンパレー
タ301に与えられる。セレクタ204からはPESL
データ、PELデータがプロセッサエレメント3aに出
力される。PESLデータはプロセッサエレメント3a
のパターンマッチング回路302に、PELデータはコ
ンパレータ301に与えられる。
グ回路302にはPE番号データが与えられる。
され、グローバルプロセッサ2からの制御信号をもとに
セレクタ303でそれが範囲指定であるか、マスク指定
であるか選択し、信号を出力する。
回路302に入力されるPE番号データは、各プロセッ
サエレメント3aでVCC、GNDにつなげることでデ
ータを生成する。例えば、PE6のプロセッサエレメン
トであれば、8ビットの信号線を上位ビットからGN
D、GND、GND、GND、GND、GND、VC
C、VCC、GNDに接続する。接続は各ビットに取り
付けられたスイッチで行う。スイッチの制御信号はグロ
ーバルプロセッサ2から出力されONになるとPE番号
が入力できる。図2に示すように、PE番号はALU3
4の片側入力にも接続されている。切り離しは同じ様に
グローバルプロセッサ2からの制御信号によって行われ
る。
サエレメント3aの保持しているPE番号と、即値オペ
ランドで指定した値の上限値と下限値の比較をコンパレ
ータ301で行い、範囲内にあればそのプロセッサエレ
メント3aの演算を実行する。演算の実行、非実行はA
LU34の結果をAレジスタ35aが更新しないように
制御する(ラッチ信号を更新しない)。従来であればあ
る範囲だけのデータ転送はその範囲内の実行条件フラグ
を一つずつセットし、実行条件フラグによって転送の有
無を決定していたため、転送数だけのサイクルを必要と
したが、ある範囲だけのプロセッサエレメントを指定で
きるMGAA命令を使用することで、1サイクルでの処
理が可能である。
セッサエレメント3aへのデータ転送は、図5に示すよ
うな各プロセッサエレメント3aに装備されたビットマ
スク指定を行うパターンマッチング回路302により1
つおき、3つおき等のN個おきのPEの指定を行いデー
タを転送することができる。
号が対象となる。 (指定したいPEの番号)&  ̄(マスク値)=(ビッ
ト指定値)&  ̄(マスク値)
にデータを転送するためプロセッサエレメントの選択を
する場合、つまりPE1、PE3、PE5、PE
7、...のプロセッサエレメントを選択する場合、ビ
ット指定値を00000001b、マスク値を1111
1110bにすればPE番号の下位1ビットが1である
PE番号はすべて上式が成り立つため選択されたことに
なる。
(10進で12)、マスク値を00000010bとし
た場合、前述の式を満たすプロセッサエレメントはPE
12とPE14となり、偶数番号のプロセッサエレメン
ト選択に範囲を指定することもできる。
2のG2レジスタ201とG3レジスタ202は全プロ
セッサエレメント3aに対してバス接続されている。S
CU22からの即値データとセレクタ203,204に
てセレクトされるためG2レジスタ201とG3レジス
タ202による指定が行える。これによりグローバルプ
ロセッサ命令での演算の結果をG2、G3レジスタ20
1、202に格納して、ダイナミックな指定が行える。
23によってG2レジスタ201の値の減算が可能なた
め、オペランドにインクリメント演算を設けることで、
演算後に1加算し次の演算範囲の縮小が行える。
示すように、各プロセッサエレメント3aには実行条件
指定のための条件レジスタ(Tレジスタ)35cが装備
されている。図4に、この実施の形態におけるプロセッ
サエレメント3aに設けられたTレジスタ35cの構成
を示す。
3aは8ビットのTレジスタ35cを備える、そして、
このTレジスタ35cで1ビットずつで制御されるた
め、1プロセッサエレメント3aで8通りの制御パター
ンを保持できる。全てのプロセッサエレメント3a…で
あれば8×256通りのパターンになる。Tレジスタ3
5cの1ビットはプロセッサエレメント3aごとに演算
実行の無効/有効の制御を行い、特定のプロセッサエレ
メント3aだけを演算対象として選択できる。Tレジス
タ35cには、グローバルプロセッサ2からのPE命令
で値を変更することが可能である。
サ2からの制御信号と、Tレジスタ35cの特定ビット
の値をAND/OR論理演算器351で論理演算した結
果を特定ビットに格納する構成となっている。格納はグ
ローバルプロセッサ2からの制御信号によって格納先が
決定する。すなわち、図4に示すように、この実施形態
においては、Tレジスタ35cの入力データ側には、A
ND/ORを行う論理演算器351が設けられ、さらに
Tレジスタ35からの出力がセレクタ352に与えら
れ、このセレクタ352により、Tレジスタ35cの値
をフィードバック及び出力が行われている。
メント3aの特定ビットをセット・リセットする命令に
は、SETTA(Set T by Area Ass
ignment)命令、SETTB(Set T by
Bit Assignment)命令がある。また、
Tレジスタ35cにデータを転送する命令は、LDT
(Load to T register)がある。L
DT命令は、オペランドに即値もしくはレジスタ値で、
グローバルプロセッサ2は信号線210を介してそれら
の値の下位8ビットを全プロセッサエレメント3aのT
レジスタ35cに転送する。
範囲に該当するプロセッサエレメント3aに対して演算
対象とし、対象となるプロセッサエレメント3aのTレ
ジスタ35cの特定ビットに対してセット・リセットを
行うものである。指定の方法は前述のMGAAと同じ
で、指定された範囲内のTレジスタ35cの特定ビット
の値を”1”にセットする。範囲外のプロセッサエレメ
ント3aのTレジスタ35cには”0”がセットされ
る。さらに、SETTA命令は、前命令までのTレジス
タ35cの値との演算が指定できる。例えば、以下のよ
うに記述する。
スタ35cの特定ビットの指定(/T2で下位から2ビ
ット目を示す。)と、続いて演算の種類(/AでAND
演算を行う。/O指定であればOR演算を行う。)の指
定が記述されている。演算が指定されているため、PE
12〜PE23までのプロセッサエレメント3aのT2
ビットの値と”1”のAND結果をT2に格納する。
じオペランドのビット指定とマスク指定によってプロセ
ッサエレメント3aの選択を行う。また、前述のSET
TA命令で行った/A、/OによるTレジスタの特定ビ
ットの旧値との論理演算も同じようにできる。
出力はセレクタ352により選択され、前のTレジスタ
35cの値をフィードバックさせ、新しいデータを論理
演算器351にて論理演算させることで、Tレジスタ3
5cのセット、リセットだけでなく、AND/OR演算
ができるように構成されている。これによって、例え
ば、複数のまたがった不規則なエリアの指定を行うとき
有効となる。
PE40、PE100〜PE111といったエリアを指
定する場合、前述のLDT命令、SETTA命令などで
全プロセッサエレメントの特定フラグとクリアしてお
き、SETTAのOR演算(/Oを記述)を3回行うこ
とで可能である。記述は以下のとおりである。
レメントのTレジスタのすべてのBITに”0”を転送
する。
は、一度のアドレス指定により、SIMDプロセッサ1
の偶数番号が割り付けられたプロセッサエレメント3a
に外部メモリ6からデータ転送できるとともに、奇数番
号が割り付けられたプロセッサエレメント3aにもデー
タ転送できるように構成しているが、SIMD型プロセ
ッサ1へ外部からデータを入出力する方法は、この方法
に限られるものではない。たとえば、図6に示すよう
に、SIMDプロセッサ1のプロセッサエレメント3a
に、奇数、偶数の区別を付けずに、アドレス指定により
順次データを転送するように構成したものにおいても、
この発明は適用できる。すなわち、図6に示すように、
レジスタコントローラ31aは、インタフェース4と、
アドレスバス41a、リード/ライト信号45c、クロ
ック信号41cを介して接続されている。このレジスタ
コントローラ31aは、インタフェース4に与えられ、
アドレスバス41aを介してアドレス指定信号が送られ
てくると、そのアドレス指定信号をデコードする。そし
て、デコードしたアドレスと、自己のプロセッサエレメ
ント3aに割り付けられたアドレスとが一致する場合に
は、インタフェース4に与えられ、クロック信号41c
からのクロック信号に同期して、リード/ライト信号4
1bを介してリード/ライト指示信号を得る。このリー
ド/ライト指示信号は、レジスタ31bへ与えられる。
たイメージスキャナからの画像データを、この実施形態
では8ビットのパラレルデータとして、データバス46
cに置く。このデータバス46cは、レジスタ31bに
保持されている演算処理されたデータが、SIMD型プ
ロセッサ1の外部に設けられたプリンタ等に送る時にも
使用される。
ス、リード/ライト、クロック、データの信号はレジス
タファイル31の各レジスタに供給される。そして、各
プロセッサエレメント3a…ごとにアドレスをデコード
して各プロセッサエレメント3a…を示すアドレスと一
致したプロセッサエレメント3aだけがリード/ライト
の動作をおこなう。
サ1は、外部からのデータをプロセッサエレメント3a
に送る場合、プロセッサエレメント3aに割り付けられ
たアドレスを指定することにより、1回のクロック信号
が入力されるだけで、その指定したプロセッサエレメン
ト3aにデータが送られる。なお、この例では、偶数、
奇数のプロセッサエレメント3aに同時にデータは送ら
れないので、第1の実施の形態に比べると、データ転送
に時間はかかるが、回路構成は簡略化できる。
エレメント3aをアドレス指定しているが、プロセッサ
エレメント3aの指定をアドレス指定する方式ではな
く、ポインタ指定する方式、即ちシリアルアクセスメモ
リ方式においても、この発明は適用できる。この例につ
き図7に従い説明する。なお、ここでは上述した第1の
実施形態と異なる点について説明することとし、同じ点
については説明を省略する。また、上述した第1実施形
態と同じ構成部分については、同一の符号を付する。
フェース4へはI/O用のアドレス、データ、コントロ
ール信号がバスを介して与えられる。インタフェース4
は、グローバルプロセッサ2のコマンドに基づき、この
リセット信号を生成し、リセット信号47を介してプロ
セッサエレメントブロック3ヘ送る。これにより、レジ
スタコントローラ31aは、リセットされる。そして、
インタフェース4に最も近いレジスタコントローラ31
aへクロック信号41cを介してクロック信号が送られ
る。このクロック信号に同期して、レジスタコントロー
ラ31a’は、リード/ライト信号45a或いは45b
を介してインタフェース4から送られてきたリード/ラ
イト指示信号を得る。このリード/ライト指示信号は、
偶数番号が割り付けられたプロセッサエレメント3aの
レジスタ31b、及び奇数番号が割り付けられたプロセ
ッサエレメント3aのレジスタ31bにそれぞれ与えら
れる。このとき一組を構成するプロセッサエレメント3
aのレジスタコントローラ31a’へ送られるリード/
ライト指示信号は、上記第1実施形態の場合と同様それ
ぞれ異なるものであってもよい。
と同様、一度のポインタ指定により、偶数番号が割り付
けられたプロセッサエレメント3aにデータ転送できる
とともに、奇数番号が割り付けられたプロセッサエレメ
ント3aにもデータ転送できる。
いて、一度のポインタ指定により1つの番号が割り付け
られたプロセッサエレメント3aにデータ転送する方式
においても、この発明は適用できる。
ように、グローバルプロセッサからの制御信号によって
PE番号をAレジスタに入力できる。各プロセッサエレ
メントに格納されたPE番号は、プロセッサエレメント
のテストをするときに用いる。たとえばPEシフトをテ
ストする場合など有効になる。従来であれば同じ値をA
レジスタにセットしプロセッサエレメントの全Aレジス
タの値を外部に出力する手段を設けるか、全プロセッサ
エレメントのAレジスタに違った値をひとつずつ転送
し、それら順番にグローバルプロセッサに転送し、グロ
ーバルプロセッサで比較するなどする。前者であれば配
線量が莫大となりコストが増大する。後者であれば命令
サイクルが値をセットするだけで256サイクル必要と
なる(プロセッサエレメントが256個の場合)。この
請求項1の発明であればLDPNの命令で一度に全プロ
セッサエレメントのAレジスタに値をセットし、シフト
したのち、レジスタファイルに結果値を格納し、判定用
にLDPNでセットした値をすべてシフト量にしたがっ
て加減算し期待値を設定し、前述の結果値と期待値を比
較することによってテストが可能となる。値をセットす
るためには1サイクルのみでよい。
レメントの演算指定にも使用できる。たとえば5個おき
(PE0,PE5,PE9,...)の選択を行いたい
場合、従来であればそれぞれのプロセッサエレメント毎
に条件フラグの設定を行うために選択したいプロセッサ
エレメントの数だけの処理を必要とした。この発明で
は、LDPNで全プロセッサエレメントにPE番号を設
定し(PE0,PE1,PE2,...,PE255の
Aレジスタの値を順に指定すると0,1,2,
3,...255となる)、Aレジスタの値を5で除算
し、余りを格納すると(これらの演算はALUによる減
算の繰り返しで最終にAレジスタに残った値が余りとな
る。除算の引き放し法、引き戻し法で可能。)、0,
1,2,3,4,0,1,2,3,4,0,
1,...,0となり、PE命令でCMP命令(CMP
命令はAレジスタとレジスタファイルのデータを比較し
結果をTレジスタの指定ビットに反映させる。)を使用
し、結果をTレジスタに反映させることで次の演算のプ
ロセッサエレメント選択ができる。従来方法であればプ
ロセッサエレメントの指定数分のサイクルが必要であっ
たが、この発明であればプロセッサエレメントの指定数
にかかわらず、LDPNで1サイクル、除算で16サイ
クル、CMP命令で1サイクルで対象とするプロセッサ
エレメントの選択が完了する。
うに、グローバルプロセッサのG0からバスですべての
プロセッサエレメントのAレジスタに接続し、MGA
A、MGAB命令を設けることで任意のプロセッサエレ
メントのAレジスタにG0レジスタの値を転送すること
ができる。
図5に示すようなコンパレータを各プロセッサエレメン
トに設け、各プロセッサエレメントの保持しているPE
番号と、即値オペランドで指定した値の上限値と下限値
の比較をコンパレータで行い、範囲内にあればそのプロ
セッサエレメントの演算を実行する。演算の実行、非実
行はALUの結果をAレジスタが更新しないように制御
する(ラッチ信号を更新しない)。従来であれば、ある
範囲だけのデータ転送はその範囲内の実行条件フラグを
一つずつセットし、実行条件フラグによって転送の有無
を決定していたため、転送数だけのサイクルを必要とし
たが、以上によりある範囲だけのプロセッサエレメント
を指定できるMGAAを使用することで、1サイクルで
の処理が可能である。
プロセッサエレメントに装備されたビットマスク指定を
行うマスクパターン回路により1つおき、3つおき等の
N個おきのPE指定を行いデータを転送することができ
る。
にグローバルプロセッサのG2レジスタとG3レジスタ
は全プロセッサエレメントに対してバス接続されてお
り、SCUからの即値データとセレクトされるためG2
レジスタとG3レジスタによる指定が可能となる。これ
によりグローバルプロセッサ命令での演算の結果をG
2、G3レジスタに格納し、ダイナミックな指定が可能
となる。また、グローバルプロセッサではALUによっ
てG2の減算が可能なため、オペランドにインクリメン
ト演算を設けることで、演算後に1加算し次の演算範囲
の縮小が可能となる。
にTレジスタの入力データにAND、ORを行う論理演
算器を設け、前のTレジスタの値をフィードバックさ
せ、新しいデータを論理演算させることでTレジスタの
セット、リセットだけでなく、AND、ORを行うこと
ができる。これによってたとえば複数のまたがった不規
則なエリアの指定を行うとき有効となる。PE10〜P
E15、PE26〜PE40、PE100〜PE111
といったエリアを指定する場合、前述のLDT命令、S
ETTA命令などで全プロセッサエレメントの特定フラ
グとクリアしておき、SETTAのOR演算(/Oを記
述)を3回行うことで可能である。従来であれば、対象
のプロセッサエレメントに一つずつセットしなければな
らず、セットするプロセッサエレメント分の命令サイク
ルが必要となる。記述は以下のとおりである。
メントのTレジスタのすべてのBITに”0”を転送す
る。 SETTA/T1/O #10,#15 SETTA/T1/O #26,#40 SETTA/T1/O #100,#111
セッサの全体構成を示すブロック図である。
セッサの要部構成を示すブロック図である。
部構成を示すブロック図である。
メントにおけるTレジスタの構成を示すブロック図であ
る。
セッサの要部構成を示すブロック図である。
の内部構成を示すブロック図である。
IMD型プロセッサの内部構成を示すブロック図であ
る。
Claims (11)
- 【請求項1】 プログラムを解読しプロセッサ全体を制
御するグローバルプロセッサと、複数のデータを処理す
るために、レジスタファイルと演算アレイから構成され
るプロセッサエレメントを複数備えたプロセッサエレメ
ントブロックと、を有するSIMD型プロセッサにおい
て、前記グローバルプロセッサは、プロセッサエレメン
トに対して制御信号を出力し、この制御信号によりプロ
セッサエレメントに対応するプロセッサエレメント番号
を全プロセッサエレメントの演算アレイの入力値に設定
することを特徴とするSIMD型プロセッサ。 - 【請求項2】 グローバルプロセッサの汎用レジスタか
らのデータを任意のプロセッサエレメントに転送するこ
とを特徴とする請求項1に記載のSIMD型プロセッ
サ。 - 【請求項3】 前記データ転送は、オペランドの即値指
定によって特定のプロセッサエレメントから特定のプロ
セッサエレメントまでの範囲を指定することにより行わ
れることを特徴とする請求項2に記載のSIMD型プロ
セッサ。 - 【請求項4】 データ転送は、オペランドの即値指定に
よって、2進数で表わされたプロセッサエレメント番号
にマッチするプロセッサエレメントを指定するビット位
置指定と、そのビット位置指定の任意ビットをマスクす
るビットマスクによるプロセッサエレメント指定により
行われることを特徴とする請求項2に記載のSIMD型
プロセッサ。 - 【請求項5】 前記データ転送は、グローバルプロセッ
サの汎用レジスタを使用し、ポインタ指定により行われ
ることを特徴とする請求項2に記載のSIMD型プロセ
ッサ。 - 【請求項6】 前記ポインタ指定で、指定後の汎用レジ
スタにおけるデータのインクリメントを行うこと特徴と
する請求項5に記載のSIMD型プロセッサ。 - 【請求項7】 前記プロセッサエレメントには条件実行
を制御するためにデータの状態によって実行又は非実行
を制御する複数のフラグビットを持ち、複数のフラグビ
ットの特定のビットにAND/ORの論理演算を行うこ
とを特徴とする請求項1に記載のSIMD型プロセッ
サ。 - 【請求項8】 前記フラグビット指定は、オペランドの
即値指定によって特定のプロセッサエレメントから特定
のプロセッサエレメントまでの範囲を指定することによ
り行われることを特徴とする請求項7に記載のSIMD
型プロセッサ。 - 【請求項9】 前記フラグビット指定は、オペランドの
即値指定によって、2進数で表わされたプロセッサエレ
メント番号にマッチするプロセッサエレメントを指定す
るビット位置指定と、そのビット位置指定の任意ビット
をマスクするビットマスクによるプロセッサエレメント
指定により行われることを特徴とする請求項7に記載の
SIMD型プロセッサ。 - 【請求項10】 前記フラグビット指定は、グローバル
プロセッサの汎用レジスタを使用し、ポインタ指定によ
り行われることを特徴とする請求項7に記載のSIMD
型プロセッサ。 - 【請求項11】 前記ポインタ指定で、指定後の汎用レ
ジスタにおけるデータのインクリメントを行うこと特徴
とする請求項10に記載のSIMD型プロセッサ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000009879A JP3971543B2 (ja) | 2000-01-19 | 2000-01-19 | Simd型プロセッサ |
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 |
---|---|---|---|
JP2000009879A JP3971543B2 (ja) | 2000-01-19 | 2000-01-19 | Simd型プロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006259488A Division JP4442907B2 (ja) | 2006-09-25 | 2006-09-25 | Simd型プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001202351A true JP2001202351A (ja) | 2001-07-27 |
JP3971543B2 JP3971543B2 (ja) | 2007-09-05 |
Family
ID=18537969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000009879A Expired - Fee Related JP3971543B2 (ja) | 2000-01-19 | 2000-01-19 | Simd型プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3971543B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005316887A (ja) * | 2004-04-30 | 2005-11-10 | Ricoh Co Ltd | マイクロプロセッサ |
JP2007034473A (ja) * | 2005-07-25 | 2007-02-08 | Ricoh Co Ltd | Simd型マイクロプロセッサにおけるデータ処理方法 |
JP2007200090A (ja) * | 2006-01-27 | 2007-08-09 | Renesas Technology Corp | 半導体演算処理装置 |
-
2000
- 2000-01-19 JP JP2000009879A patent/JP3971543B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005316887A (ja) * | 2004-04-30 | 2005-11-10 | Ricoh Co Ltd | マイクロプロセッサ |
JP2007034473A (ja) * | 2005-07-25 | 2007-02-08 | Ricoh Co Ltd | Simd型マイクロプロセッサにおけるデータ処理方法 |
JP4516495B2 (ja) * | 2005-07-25 | 2010-08-04 | 株式会社リコー | Simd型マイクロプロセッサにおけるデータ処理方法 |
JP2007200090A (ja) * | 2006-01-27 | 2007-08-09 | Renesas Technology Corp | 半導体演算処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3971543B2 (ja) | 2007-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010008563A1 (en) | Parallel processor and image processing apparatus | |
US4685076A (en) | Vector processor for processing one vector instruction with a plurality of vector processing units | |
US6762764B2 (en) | System and method for processing image, and compiler for use in this system | |
EP0539595A1 (en) | Data processor and data processing method | |
KR950015071A (ko) | 조건부 레지스터 쌍으로부터의 메모리 저장 | |
JP3971535B2 (ja) | Simd型プロセッサ | |
US8060726B2 (en) | SIMD microprocessor, image processing apparatus including same, and image processing method used therein | |
US6229543B1 (en) | Microprocessor, and graphics processing apparatus and method using the same | |
US4941107A (en) | Image data processing apparatus | |
JP2001202351A (ja) | Simd型プロセッサ | |
JP4442907B2 (ja) | Simd型プロセッサ | |
JP3821198B2 (ja) | 信号処理装置 | |
JP4408113B2 (ja) | 信号処理方法 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
US20090187738A1 (en) | Simd-type microprocessor, method of processing data, image data processing system, and method of processing image data | |
JPH06309349A (ja) | プログラム制御のプロセッサ | |
JP4413905B2 (ja) | Simd型プロセッサ | |
JP4294190B2 (ja) | 並列プロセッサ及びそれを用いた画像処理装置 | |
JP3742745B2 (ja) | 演算処理装置 | |
JP2006344238A (ja) | 並列プロセッサ及びそれを用いた画像処理装置 | |
JP3971557B2 (ja) | Simdプロセッサにおけるデータ設定装置 | |
JP2007018536A (ja) | 並列プロセッサ | |
EP1120958A2 (en) | Polynomial based multi-level screening | |
WO2011105408A1 (ja) | Simdプロセッサ | |
JP4244619B2 (ja) | 画像データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060925 |
|
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: 20070605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070608 |
|
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: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |