JP3487420B2 - Simd型並列計算装置 - Google Patents

Simd型並列計算装置

Info

Publication number
JP3487420B2
JP3487420B2 JP2000038482A JP2000038482A JP3487420B2 JP 3487420 B2 JP3487420 B2 JP 3487420B2 JP 2000038482 A JP2000038482 A JP 2000038482A JP 2000038482 A JP2000038482 A JP 2000038482A JP 3487420 B2 JP3487420 B2 JP 3487420B2
Authority
JP
Japan
Prior art keywords
flag
value
operand
output
subtraction
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 - Fee Related
Application number
JP2000038482A
Other languages
English (en)
Other versions
JP2001229134A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2000038482A priority Critical patent/JP3487420B2/ja
Publication of JP2001229134A publication Critical patent/JP2001229134A/ja
Application granted granted Critical
Publication of JP3487420B2 publication Critical patent/JP3487420B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は単一命令流(SIM
D;Single Instruction Mult
iple Data)型並列計算装置に関し、特にSI
MDプロセッサアレイ型の並列計算装置上でのラベル伝
搬制御の実現方式に関する。
【0002】
【従来の技術】従来より、ビデオ信号などの画像処理用
のコンピュータアーキテクチャとしてSIMDアーキテ
クチャを採用するものがある。SIMDアーキテクチャ
は、1つの命令を複数のプロセッサエレメント(PE)
が同時に処理できるようになされたものである。その具
体例としては、たとえば文献1「Childers J. et al(T
I)."SVP:Serial Video Processor",IEEE 1990 Custom I
ntegrated Circuits Conference, pp.17.3.1-4.」,文
献2「Y.Fujita et al(NEC) "IMAP: Integrated Memor
y Array Processor", Journal of Circuits, Systems a
nd Computers, Vol.2,No.3, pp.227--245, 1992」,文
献3「許他: 一次元プロセッサアレイに基づく超高速画
像処理システムの開発環境,情報処理学会論文誌, Vol.
39,No.6,pp.1790-1800,1998.」,および文献4「特開平
11−015961号公報」などがある。
【0003】たとえば、上記文献2および3に開示され
たSIMD型並列計算装置を図示すると、図4のように
なる。ただし、図4には、演算命令部21と、処理部2
2とのみを示している。演算命令部21は、プログラム
カウンタ23と、プログラムメモリ24とを備える。処
理部22は、複数(図示は3個)のプロセッサエレメン
ト25,26,および27からなる。演算命令部21
は、プログラムメモリ24に接続されたバスAを介して
複数のプロセッサエレメント25,26,および27に
接続されている。各プロセッサエレメント25,26,
および27は、複数の汎用レジスタ(以下、単にレジス
タという)r1,r2,…と、マスクレジスタmrと、
演算部arとを含んで構成されている。
【0004】ところで、画像処理において頻繁に用いら
れる処理の1つにラベル付け処理がある。ラベル付け処
理とは、たとえば2値0と2値1とからなる2値画像に
おいて、図5(a)に示すように、2値1の画素が固ま
っている各領域に別々のユニークなラベルを割り振る処
理を指す。図5(a)でいえば、3つの領域に3通りの
互いに異なるラベルを割り当てることである。文献3で
も述べられているように、図4に示したSIMD型並列
計算装置によるラベル付け処理の実現方式の1つに、追
跡あるいは伝搬に基づく手法が有効である。すなわち、
図5(b)に示すように、まずラベル付けの対象となる
領域の境界画素の中から伝搬の開始点としていくつかの
特徴的な画素(図5(b)では、境界の凸部および凹部
での画素)を選び、それぞれに初期ラベル値を割り当て
る。次に、図5(c)に示すように、画素が2値1の領
域に向けて一斉に伝搬動作を繰り返す。伝搬可能な(画
素値が2値1の)領域がなくなった時点で伝搬動作は自
動的に停止し、ラベル付けされた画像が得られる。図5
(d)は、例として図5(c)の状態から、伝搬が衝突
したときにはラベル値の小さいものでラベル値の大きい
ものを上書きする場合でのラベル付け結果として、3つ
の領域がそれぞれラベル値2,8,および13にラベル
付けされた様子を示している。
【0005】図5(c)において、実際には、以下のよ
うに、伝搬可否判定→伝搬の実施→新伝搬開始点の生
成、という3つの要素処理を繰り返すことによって伝搬
が進行する。すなわち、各伝搬開始点は、その8近傍の
各画素に対し、そこへの伝搬の可否 (画素値が多値1
か、あるいは自分のラベル値との大小関係。図5(d)
の例では、伝搬したいラベル値がすでに存在するラベル
値よりも小さい場合に伝搬可能と判定している)を調べ
(=伝搬可否判定)、伝搬可能と判定された画素には伝
搬のラベル値を上書きし(=伝搬の実施)、その上、当
該画素を新たなる伝搬開始点として登録する(=新伝搬
開始点の生成)。この3つの要素処理からなる伝搬処理
は、伝搬開始点が新たに生成されなくなるまで繰り返さ
れる。
【0006】上記のように、伝搬処理には、伝搬の可否
判定をし伝搬可と判定されたプロセッサエレメントのみ
が実際に伝搬を実施するという条件分岐処理を伴うが、
図4に示した従来のSIMD型並列計算装置の構成で
は、1つの命令ストリームに対する並列処理であるた
め、そのままでは各プロセッサエレメント25,26,
および27は処理結果に依存した条件分岐を行うことが
できない。そこで、分岐処理は、通常、たとえば文献2
のSIMD型並列計算装置において行われているよう
に、各プロセッサエレメント25,26,および27に
バスA上の命令ストリームに従って処理をするかどうか
を表すマスクレジスタmr(2値1の場合に実行、2値
0の場合に実行しない)を設け、バスAを時分割により
それぞれの分岐先に相当する命令ストリームを流すこと
によって実現している。また、分岐条件の算出は、通
常、比較(減算)処理を行うことによってセットされるフ
ラグ値のいずれかを利用する。減算処理によってセット
されるフラグの種類としては、通常、ゼロフラグ,サイ
ンフラグ,キャリーフラグ,およびオーバーフローフラ
グなど数種類が存在するので、分岐条件の算出に際して
は、これらの中から比較処理の目的に応じた1つを選
び、選ばれたフラグが2値1であるプロセッサエレメン
トだけが後続の命令ストリームを実行するように動作す
る。なお、分岐のまた分岐のような、あらゆる状況下に
おいても分岐条件を正確に算出するためには、分岐条件
算出時点でのマスクレジスタmrの値も考慮する必要が
あり、そのため、通常、上記で求めたフラグ値を一度現
在のマスクレジスタmrと論理積したものが用いられ
る。
【0007】したがって、SIMD型並列計算装置上で
の伝搬可否判定処理とは、マスクレジスタmrに格納す
る値を算出する処理でもある。伝搬開始点から隣接1画
素に伝搬する動作のうちの、「伝搬可否判定」から「伝
搬の実施」までの処理の流れ図を図6に示す。なお、伝
搬が衝突した場合にどちらのラベルを優先するかの条件
を表す値は前もってレジスタr3に格納されているもの
とする。
【0008】図6において、まず、手順600では、伝
搬対象位置の画素(例えば、伝搬開始点の8近傍位置に
ある画素のうちの1つ)の現在値および伝搬したいラベ
ル値をそれぞれメモリからレジスタr1およびr2にロ
ードする。
【0009】次に、手順601では、プロセッサエレメ
ント25,26,および27毎にレジスタr1とレジス
タr2とで比較演算(r2−r1)を行い、結果のフラ
グ値のうちレジスタr3で指定したものを一時記憶レジ
スタrx(あらかじめ定められた任意のレジスタ)に得
る。
【0010】続いて、手順602では、プロセッサエレ
メント25,26,および27毎にレジスタr1に格納
された伝搬画素値が多値1(多値は2値以上)であるか
どうかを判定し、多値1であれば2値1を、多値1以外
であれば2値0を一時記憶レジスタry(あらかじめ定
められた任意のレジスタ)に格納する。レジスタr1に
格納された伝搬画素値が多値1であるかどうかの判定
は、たとえば、レジスタr1の伝搬画素値と多値1(4
ビットの場合、0001)とのビット毎の排他的論理和
を行い、その結果の全ビットの論理和の反転値が2値1
であるか2値0であるかに基づいて行われる。
【0011】次に、手順603では、プロセッサエレメ
ント25,26,および27毎に一時記憶レジスタrx
と一時記憶レジスタryとの論理和の結果とマスクレジ
スタmrとの論理積をとり、その結果をマスクレジスタ
mrに格納する。
【0012】続いて、手順604では、「r1にr2の
値をコピー」という命令をバスAに流し、それをマスク
レジスタmrが2値1のプロセッサエレメントのみが実
行する。
【0013】最後に、手順605では、「r1の値をメ
モリにストア」という命令をバスAに流し、それをマス
クレジスタmrが2値1のプロセッサエレメントのみが
実行することで、レジスタr1に格納された伝搬結果を
メモリに書き戻している。
【0014】図6では、手順600〜603のうち、手
順601および602が伝搬可否判定処理に相当し、手
順603が伝搬の実施処理に相当する。
【0015】このように従来のSIMD型並列計算装置
では、伝搬の手法を用いてラベル付け処理を実現するの
に、伝搬可否判定→伝搬の実施→新伝搬開始点の生成、
を繰り返す必要がある。そのうち、伝搬可否判定処理お
よび伝搬の実施処理に着目すると、その実現には図6の
手順601〜603に示すように、SIMD型並列計算
装置において一般的に存在する基本的な論理命令を5〜
7個も実行する必要があることがわかる。すなわち、手
順601では減算命令およびフラグ値取得命令が、手順
602ではビット毎の排他的論理和の結果の全ビットの
論理積の反転、手順603では論理和命令および論理積
命令が必要である。
【0016】
【発明が解決しようとする課題】上述した従来のSIM
D型並列計算装置では、通常、伝搬処理では、伝搬開始
画素の近傍8画素が伝搬の対象画素となるので、5〜7
マシンサイクルもかかる伝搬可否判定処理を繰り返し毎
に8回も行う必要があることになり、効率が悪いという
問題点があった。
【0017】本発明の第1の目的は、1マシンサイクル
内で実行できる程度の複雑さの拡張命令を既存の命令セ
ットに追加することにより、伝搬処理をより効率的に実
現できるようにしたSIMD型並列計算装置を提供する
ことにある。
【0018】本発明の第2の目的は、さらに、直前に行
われた他の減算命令によって生成されたキャリーフラグ
を伝搬可否判定時に考慮することができるSIMD型並
列計算装置を提供することにある。
【0019】なお、たとえば、文献4「特開平11―0
15961号」に示すように、伝搬処理全体をハードウ
ェアで実現する方法も提案されているが、本発明の特徴
は既存のSIMD型並列計算装置にわずかな変更を加え
るだけで伝搬処理を効率化できる点にあり、特開平11
―015961号のそれとは異なるものである。
【0020】
【0021】
【0022】
【課題を解決するための手段】 本発明のSIMD型並列
計算装置は、複数のプロセッサエレメントを備えるSI
MD型並列計算装置において、各プロセッサエレメント
の命令セット内に、第1オペランドと第2オペランドと
に対して減算を施し、減算の結果得られたフラグ値を出
力する減算手段と、前記減算手段から出力されたフラグ
値のうちの、第3オペランドによって指定された種類の
フラグ値を出力するフラグ値取得手段と、第1オペラン
ドが多値1であるかどうかを判定し、多値1であれば2
値1を、多値1以外であれば2値0を出力する多値1判
定手段と、前記多値1判定手段の出力と前記フラグ値取
得手段からのフラグ値とを論理和する論理和手段と、マ
スクレジスタと前記論理和手段の出力とを論理積し、結
果を前記マスクレジスタに格納する論理積手段とを備
え、かつそれら各手段を一連に実行する伝播可否判定命
令を拡張命令として有することを特徴とする。
【0023】また、本発明のSIMD型並列計算装置
は、複数のプロセッサエレメントを備えるSIMD型並
列計算装置において、各プロセッサエレメントの命令セ
ット内に、第1オペランドと第2オペランドとに対して
キャリーフラグを考慮した減算を施し、減算の結果得ら
れたフラグ値を出力するキャリー付き減算手段と、前記
キャリー付き減算手段から出力されたフラグ値のうち
の、第3オペランドによって指定された種類のフラグ値
を出力するフラグ値取得手段と、第1オペランドが多値
1であるかどうかを判定し、多値1であれば2値1を、
多値1以外であれば2値0を出力する多値1判定手段
と、前記多値1判定手段の出力と前記フラグ値取得手段
からのフラグ値と論理和する論理和手段と、マスクレ
ジスタと前記論理和手段の出力とを論理積し、結果を前
記マスクレジスタに格納する論理積手段とを備え、かつ
それら各手段を一連に実行するキャリー付き伝播可否判
定命令を拡張命令として有することを特徴とする。
【0024】一方、本発明の伝搬可否判定命令の拡張方
法は、複数のプロセッサエレメントを備えるSIMD型
並列計算装置における各プロセッサエレメントの命令セ
ット内に、第1オペランドと第2オペランドとに対して
減算を施し、減算の結果得られたフラグ値を出力する減
算手段と、前記減算手段から出力されたフラグ値のうち
の、第3オペランドによって指定された種類のフラグ値
を出力するフラグ値取得手段と、第1オペランドが多値
1であるかどうかを判定し、多値1であれば2値1を、
多値1以外であれば2値0を出力する多値1判定手段
と、前記多値1判定手段の出力と前記フラグ値取得手段
からのフラグ値とを論理和する論理和手段と、マスクレ
ジスタと前記論理和手段の出力とを論理積し、結果を前
記マスクレジスタに格納する論理積手段とを備え、かつ
それら各手段を一連に実行する伝播可否判定命令を拡張
命令として追加することを特徴とする。
【0025】また、本発明の伝搬可否判定命令の拡張方
法は、複数のプロセッサエレメントを備えるSIMD型
並列計算装置における各プロセッサエレメントの命令セ
ット内に、第1オペランドと第2オペランドとに対して
キャリーフラグを考慮した減算を施し、減算の結果得ら
れたフラグ値を出力するキャリー付き減算手段と、前記
キャリー付き減算手段から出力されたフラグ値のうち
の、第3オペランドによって指定された種類のフラグ値
を出力するフラグ値取得手段と、第1オペランドが多値
1であるかどうかを判定し、多値1であれば2値1を、
多値1以外であれば2値0を出力する多値1判定手段
と、前記多値1判定手段の出力と前記フラグ値取得手段
からのフラグ値と論理和する論理和手段と、マスクレ
ジスタと前記論理和手段の出力とを論理積し、結果を前
記マスクレジスタに格納する論理積手段とを備え、かつ
それら各手段を一連に実行するキャリー付き伝播可否判
定命令を拡張命令として追加することを特徴とする。
【0026】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0027】(1)第1の実施の形態 図1は、本発明の第1の実施の形態に係るSIMD型並
列計算装置において命令セット内に拡張命令として追加
された伝搬可否判定命令(以下、prpm命令と略記す
る)の構成を説明する図である。prpm命令は、第1
オペランドr1(以下、オペランドとそれを格納するレ
ジスタとに同一符号を付して説明する),第2オペラン
ドr2,および第3オペランドr3の3つのオペランド
を持ち、減算手段(sub)100,フラグ値取得手段
(gtf)101,論理和手段(or)102,論理積
手段(and)103,および多値1判定手段(==
1)104からなる一連の動作を1クロックサイクル内
で実行する。SIMD型並列計算装置は、prpm命令
コールにより、上記一連の動作を呼び出すことができる
ように構成されている。
【0028】減算手段100は、prpm命令の第1オ
ペランドr1と第2オペランドr2とに対して減算(r
2−r1)を施す。そして、減算手段100は、減算の
結果を捨て、減算の結果得られたフラグ値、たとえば、
ゼロフラグ,サインフラグ,キャリーフラグ,およびオ
ーバーフローフラグなどのフラグ値(図1では4ビッ
ト)をフラグ値取得手段101に送る。
【0029】フラグ値取得手段101は、prpm命令
の第3オペランドr3によって指定された種類のフラグ
値(図1では4つのフラグ値のうちのどれかを選ぶため
に4ビットとしている)を出力し、論理和手段102に
送る。なお、減算の結果としてのフラグ値には、ゼロフ
ラグ,サインフラグ,キャリーフラグ,およびオーバー
フローフラグの4種類が存在するものとし、フラグ値の
種類を指定する第3オペランドr3が多値0,1,2,
4の際にそれぞれゼロフラグ,サインフラグ,キャリー
フラグ,およびオーバーフローフラグの値(2値0か2
値1)がフラグ値取得手段101により出力されるもの
とする。
【0030】論理和手段102は、フラグ値取得手段1
01から出力されるフラグおよび多値1判定手段104
の出力を入力とし、双方のいずれかが2値1ならば2値
1を、双方がともに2値0ならば2値0を出力するよう
に動作し、結果を論理積手段103に出力する。
【0031】論理積手段103は、マスクレジスタmr
と論理和手段102の出力とを入力し、双方がともに2
値1であれば2値1を、そうでなければ2値0を、マス
クレジスタmrに格納する。
【0032】多値1判定手段104は、第1オペランド
r1が多値1(4ビットの場合、0001)であるかど
うかを判定し、多値1であれば2値1を、多値1以外で
あれば2値0を出力する。レジスタr1が多値1である
かどうかを判定は、具体的には、レジスタr1と多値0
001とをビット毎に排他的論理和し、その結果の全ビ
ットの論理和の反転値を出力する。
【0033】次に、このように構成された第1の実施の
形態に係るSIMD型並列計算装置の動作について説明
する。
【0034】図2(a)〜(d)は、第1の実施の形態
に係るSIMD型並列計算装置におけるprpm命令の
実行時の一連の動作過程を例示する図である。図2
(a)に示すように、SIMD型並列計算装置には、4
つのプロセッサエレメント(PE)200,210,2
20,および230が存在し、すでに伝搬対象画素の値
および伝搬するラベル値がメモリよりレジスタr1およ
びr2にそれぞれロードされていて、各プロセッサエレ
メント200,210,220,および230でのその
値が多値1および5,0および6,7および4,ならび
に1および5になっているものとする。また、各プロセ
ッサエレメント200,210,220,および230
のマスクレジスタmrの現在値は2値1,1,1,0で
あるものとする。
【0035】ここでは、図2において、伝搬が衝突した
ときには小さいラベル値の方を採用する場合での、マス
クレジスタmrにセットすべき値をprpm命令を用い
て求める場合の動作について説明する。
【0036】図2(a)の状態から、第1〜3オペラン
ドr1,r2,およびr3にそれぞれレジスタr1,レ
ジスタr2,および多値1を指定し、prpm命令を実
行する。ここで、第3オペランドr3に多値1を指定し
たのは、前記のように、伝搬が衝突した場合は小さいラ
ベル値の方を採用することになっており、そのため第1
オペランドr1が第2オペランドr2よりも小さいかど
うかを判定するのに、第2オペランドr2から第1オペ
ランドr1を減算した結果のサインフラグを用いるよう
に指定するためである。
【0037】prpm命令の実行により、図2(b)に
示すように、各プロセッサエレメント200,210,
220,および230のマスクレジスタmrは、以下の
ように変更される。
【0038】プロセッサエレメント200では、第1オ
ペランドr1が多値1であるので、多値1判定手段10
4が2値1を出力し、フラグ値取得手段101の出力に
かかわりなく、論理和手段102の出力が2値1とな
る。このため、当初のマスクレジスタmrの値にかかわ
らずに伝搬可能と判定され、論理積手段103がマスク
レジスタmrに2値1を格納する。
【0039】プロセッサエレメント210では、第1オ
ペランドr1が多値0であるので、多値1判定手段10
4が2値0を出力する。一方、第1オペランドr1が多
値0、かつ第2オペランドr2が多値6であるので、減
算手段100からフラグ値取得手段101を通じて出力
されるサインフラグは2値0となる。このため、論理和
手段102の出力が2値0となって伝搬不可と判定さ
れ、論理積手段103がマスクレジスタmrに2値0を
格納する。
【0040】プロセッサエレメント220では、第1オ
ペランドr1が多値7であるので、多値1判定手段10
4が2値0を出力する。一方、第1オペランドr1が多
値7、かつ第2オペランドr2が多値4であるので、減
算手段100からフラグ値取得手段101を通じて出力
されるサインフラグは2値1となる。このため、論理和
手段102の出力が2値1となって伝搬可能と判定さ
れ、論理積手段103がマスクレジスタmrに2値1を
格納する。
【0041】プロセッサエレメント230では、マスク
レジスタmrが2値0なので伝搬不可と判定され、論理
積手段103がマスクレジスタmrに2値0を格納す
る。
【0042】1画素分の伝搬処理を完了するには、pr
pm命令の実行後に、さらに、まずバスAに「r2の値
をr1にコピー」する命令を流す。この命令は、マスク
レジスタmrが2値1のプロセッサエレメントのみで実
行されるので、図2(c)に示すように、プロセッサエ
レメント200および220においてのみ第2オペラン
ドr2の値が第2オペランドr1にコピーされる。
【0043】続いて、図2(d)に示すように、バスA
に「r1をメモリにストア」する命令を流す。この命令
も、マスクレジスタmrが2値1のプロセッサエレメン
トのみで実行されるので、プロセッサエレメント200
および220の第1オペランドr1の値、すなわち伝搬
結果がメモリに書き戻され、ここで1画素分の伝搬処理
が完了する。
【0044】このように、図2(a)〜(d)までの一
連の処理が1画素分の伝搬処理に相当し、prpm命令
は、そのうち図2(b)において実行されている。な
お、伝搬処理を繰り返すには、実際には伝搬を受けた画
素を次の伝搬開始点として登録する処理(=新伝搬開始
点の生成)も必要であるが、この処理は本発明とは直接
関係しないため、ここではそれについての説明を省略す
る。
【0045】このように、第1の実施の形態に係るSI
MD型並列計算装置では、伝搬可否判定処理に際し、プ
ロセッサエレメント毎にprpm命令を実行することに
より、マスクレジスタmrに、続く命令ストリームを実
行すべきかどうかを決定する際に用いられる値が1マシ
ンサイクルで求まる。すなわち、これまで5〜7マシン
サイクルが必要であった伝搬可否判定処理が、1マシン
サイクルで完了できるようになり、高速化の効果が得ら
れる。
【0046】(2)第2の実施の形態 図3を参照すると、本発明の第2の実施の形態に係るS
IMD型並列計算装置は、3つのオペランドr1,r
2,r3を持つキャリー付き伝搬可否判定命令(以下、
prpmc命令と略記する)を備え、かつ 図1に示し
た減算手段100をキャリーフラグを考慮したキャリー
付き減算手段105に置き換えた点以外は、図1と同様
な一連の動作を、prpmc命令コールにより呼び出せ
るように構成されている。
【0047】このように構成された第2の実施の形態に
係るSIMD型並列計算装置は、直前に行われた他の減
算命令によって生成されたキャリーフラグを伝搬可否判
定処理時に考慮に入れたい場合に用いられる。なお、第
2の実施の形態に係るSIMD型並列計算装置の動作
は、キャリー付き減算手段105がキャリーフラグを考
慮して減算を行う以外の点は、図1に示した第1の実施
の形態に係るSIMD型並列計算装置の場合と全く同様
になるので、その詳しい説明を省略する。
【0048】
【発明の効果】本発明の効果は、従来、SIMD型並列
計算装置において5〜7マシンサイクルが必要であった
伝搬可否判定処理を、1マシンサイクルで行うことを可
能にし、伝搬処理の実現を効率化できることである。そ
の理由は、減算手段,フラグ値取得手段,多値1判定手
段,論理和手段,および論理積手段を一連に実行する伝
搬可否判定命令を拡張命令として命令セット内に追加し
たからである。
【0049】また、直前に行われた他の減算命令によっ
て生成されたキャリーフラグを伝搬可否判定処理時に考
慮することができることである。その理由は、減算手段
をキャリーフラグ付きの減算手段に置き換えたからであ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るSIMD型並
列計算装置における伝搬可否判定命令の構成を示すブロ
ック図である。
【図2】第1の実施の形態に係るSIMD型並列計算装
置における伝搬可否判定命令の実行時の一連の動作過程
を例示する図である。
【図3】本発明の第2の実施の形態に係るSIMD型並
列計算装置におけるキャリー付き伝搬可否判定命令の構
成を示すブロック図である。
【図4】従来のSIMD型並列計算装置の構成を示す図
である。
【図5】従来のSIMD型並列計算装置上での伝搬処理
の流れを示す図である。
【図6】従来のSIMD型並列計算装置上での伝搬処理
の実現の方法を説明する流れ図である。
【符号の説明】
21 演算命令部 22 処理部 23 プログラムカウンタ 24 プログラムメモリ 25,26,27 プロセッサエレメント 100 減算手段 101 フラグ値獲得手段 102 論理和手段 103 論理積手段 104 多値1判定手段 105 キャリー付き減算手段 200,210,220,230 プロセッサエレメント r1,r2,… 汎用レジスタ(オペランド) mr マスタレジスタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/80 G06F 15/16 - 15/177 G06F 9/30 - 9/36 G06F 9/38

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサエレメントを備えるSI
    MD型並列計算装置において、 各プロセッサエレメントの命令セット内に、 第1オペラ
    ンドと第2オペランドとに対して減算を施し、減算の結
    果得られたフラグ値を出力する減算手段と、前記減算手
    段から出力されたフラグ値のうちの、第3オペランドに
    よって指定された種類のフラグ値を出力するフラグ値取
    得手段と、第1オペランドが多値1であるかどうかを判
    定し、多値1であれば2値1を、多値1以外であれば2
    値0を出力する多値1判定手段と、前記多値1判定手段
    の出力と前記フラグ値取得手段からのフラグ値とを論理
    和する論理和手段と、マスクレジスタと前記論理和手段
    の出力とを論理積し、結果を前記マスクレジスタに格納
    する論理積手段とを備え、かつそれら各手段を一連に実
    行する伝播可否判定命令を拡張命令として有することを
    特徴とするSIMD型並列計算装置。
  2. 【請求項2】前記減算手段が出力するフラグ値が、ゼロ
    フラグ,サインフラグ,キャリーフラグ,およびオーバ
    ーフローフラグからなる請求項記載のSIMD型並列
    計算装置。
  3. 【請求項3】複数のプロセッサエレメントを備えるSI
    MD型並列計算装置において、 各プロセッサエレメントの命令セット内に、 第1オペラ
    ンドと第2オペランドとに対してキャリーフラグを考慮
    した減算を施し、減算の結果得られたフラグ値を出力す
    るキャリー付き減算手段と、前記キャリー付き減算手段
    から出力されたフラグ値のうちの、第3オペランドによ
    って指定された種類のフラグ値を出力するフラグ値取得
    手段と、第1オペランドが多値1であるかどうかを判定
    し、多値1であれば2値1を、多値1以外であれば2値
    0を出力する多値1判定手段と、前記多値1判定手段の
    出力と前記フラグ値取得手段からのフラグ値と論理和
    する論理和手段と、マスクレジスタと前記論理和手段の
    出力とを論理積し、結果を前記マスクレジスタに格納す
    る論理積手段とを備え、かつそれら各手段を一連に実行
    するキャリー付き伝播可否判定命令を拡張命令として
    することを特徴とするSIMD型並列計算装置。
  4. 【請求項4】前記キャリー付き減算手段が出力するフラ
    グ値が、ゼロフラグ,サインフラグ,キャリーフラグ,
    およびオーバーフローフラグからなる請求項記載のS
    IMD型並列計算装置。
  5. 【請求項5】複数のプロセッサエレメントを備えるSI
    MD型並列計算装置における各プロセッサエレメント
    命令セット内に、第1オペランドと第2オペランドとに
    対して減算を施し、減算の結果得られたフラグ値を出力
    する減算手段と、前記減算手段から出力されたフラグ値
    のうちの、第3オペランドによって指定された種類のフ
    ラグ値を出力するフラグ値取得手段と、第1オペランド
    が多値1であるかどうかを判定し、多値1であれば2値
    1を、多値1以外であれば2値0を出力する多値1判定
    手段と、前記多値1判定手段の出力と前記フラグ値取得
    手段からのフラグ値とを論理和する論理和手段と、マス
    クレジスタと前記論理和手段の出力とを論理積し、結果
    を前記マスクレジスタに格納する論理積手段とを備え、
    かつそれら各手段を一連に実行する伝播可否判定命令を
    拡張命令として追加することを特徴とする伝搬可否判定
    命令の拡張方法。
  6. 【請求項6】前記減算手段が出力するフラグ値が、ゼロ
    フラグ,サインフラグ,キャリーフラグ,およびオーバ
    ーフローフラグからなる請求項記載の伝搬可否判定命
    令の拡張方法。
  7. 【請求項7】複数のプロセッサエレメントを備えるSI
    MD型並列計算装置における各プロセッサエレメント
    命令セット内に、第1オペランドと第2オペランドとに
    対してキャリーフラグを考慮した減算を施し、減算の結
    果得られたフラグ値を出力するキャリー付き減算手段
    と、前記キャリー付き減算手段から出力されたフラグ値
    のうちの、第3オペランドによって指定された種類のフ
    ラグ値を出力するフラグ値取得手段と、第1オペランド
    が多値1であるかどうかを判定し、多値1であれば2値
    1を、多値1以外であれば2値0を出力する多値1判定
    手段と、前記多値1判定手段の出力と前記フラグ値取得
    手段からのフラグ値と論理和する論理和手段と、マス
    クレジスタと前記論理和手段の出力とを論理積し、結果
    を前記マスクレジスタに格納する論理積手段とを備え、
    かつそれら各手段を一連に実行するキャリー付き伝播可
    否判定命令を拡張命令として追加することを特徴とする
    キャリー付き伝搬可否判定命令の拡張方法。
  8. 【請求項8】前記キャリー付き減算手段が出力するフラ
    グ値が、ゼロフラグ,サインフラグ,キャリーフラグ,
    およびオーバーフローフラグからなる請求項記載のキ
    ャリー付き伝搬可否判定命令の拡張方法。
JP2000038482A 2000-02-16 2000-02-16 Simd型並列計算装置 Expired - Fee Related JP3487420B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000038482A JP3487420B2 (ja) 2000-02-16 2000-02-16 Simd型並列計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000038482A JP3487420B2 (ja) 2000-02-16 2000-02-16 Simd型並列計算装置

Publications (2)

Publication Number Publication Date
JP2001229134A JP2001229134A (ja) 2001-08-24
JP3487420B2 true JP3487420B2 (ja) 2004-01-19

Family

ID=18562211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000038482A Expired - Fee Related JP3487420B2 (ja) 2000-02-16 2000-02-16 Simd型並列計算装置

Country Status (1)

Country Link
JP (1) JP3487420B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
若波情報科学辞典,日本,株式会社岩波書店,1990年 5月25日,p.329

Also Published As

Publication number Publication date
JP2001229134A (ja) 2001-08-24

Similar Documents

Publication Publication Date Title
US5710902A (en) Instruction dependency chain indentifier
US5651121A (en) Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand
JP3442225B2 (ja) 演算処理装置
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
WO2006112045A1 (ja) 演算処理装置
EP0682789A1 (en) System and method for register renaming
US6282628B1 (en) Method and system for a result code for a single-instruction multiple-data predicate compare operation
WO2009131007A1 (ja) Simd型並列計算機システム、simd型並列計算方法及び制御プログラム
US20140047221A1 (en) Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media
JPH07104784B2 (ja) デジタルデータ処理装置
US20060069901A1 (en) Apparatus and method for an address generation circuit
JP6428488B2 (ja) 加減算器及び加減算器の制御方法
JP3487420B2 (ja) Simd型並列計算装置
US6367066B1 (en) System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing
JP3487421B2 (ja) Simd型並列計算装置
US9606798B2 (en) VLIW processor, instruction structure, and instruction execution method
JP3509069B2 (ja) 飽和選択装置とそのための方法
JP3310316B2 (ja) 演算装置
JP2654451B2 (ja) データ出力方法
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP2874221B2 (ja) 演算制御回路
JPS62219164A (ja) 高速投影算出回路
JP2806093B2 (ja) ロード・ストア処理装置
JP3658879B2 (ja) パイプライン計算機
JP2515724B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101031

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees