JPH05174166A - Simd型並列演算装置 - Google Patents
Simd型並列演算装置Info
- Publication number
- JPH05174166A JPH05174166A JP3341486A JP34148691A JPH05174166A JP H05174166 A JPH05174166 A JP H05174166A JP 3341486 A JP3341486 A JP 3341486A JP 34148691 A JP34148691 A JP 34148691A JP H05174166 A JPH05174166 A JP H05174166A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instruction stream
- processing
- stream
- processor element
- 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)
- Image Processing (AREA)
Abstract
トごとの条件分岐を可能にする。 【構成】SIMD型並列演算装置10において、複数の
プロセッサエレメント15,16,17ごとに、使用す
るインストラクションストリーム(0または1)に対す
る分岐命令を出力するステイタスレジスタ用フリップフ
ロップ23と、分岐命令を選択するセレクタ22とを備
えると共に、インストラクションストリームの一部もし
くは全部が2重化され、プロセッサエレメントにより条
件分岐が発生する都度、直前処理時とは異なるインスト
ラクションストリームが選択されて処理が実行されるよ
うに構成されている。
Description
truction Multiple Data-stream )アーキテクチヤにお
ける条件分岐処理を実現したSIMD型並列演算装置に
関する。
・シグナル・プロセツサ(以下DSPという)のアーキ
テクチヤとしてSIMD構成を採用するものがある。S
IMD構成は1つの命令を複数のプロセッサエレメント
が同時に処理できるようになされたものである。その具
体例としては例えば、文献「Childers J. et al(TI), "
SVP: Serial Video Processor", IEEE 1990 Custom Int
egrated Circuits Conference, pp.17.3.1-4. 」などが
あり、ここに開示されたDSPにおいては、1024個のシ
リアルプロセツサエレメントを1024個集積している。
を簡略化して図示すると、図7のようになる。図は演算
命令部11とその処理部12のみを示してあり、演算命
令部11は図のようにプログラムカウンタ13とプログ
ラムメモリ14とで構成されており、プログラムメモリ
14に接続されたバスaに複数のプロセッサエレメン
ト、本例では3個のプロセッサエレメント15,16,
17が接続されている。
あるから、個々のプロセツサエレメントでは処理結果に
依存した条件分岐ができない。SVPを始めとするSI
MDアーキテクチヤの弱点の1つである。
ログラムメモリ(プログラミングメモリ)14、プログ
ラムカウンタ(プログラミングカウンタ)13が共有化
されてるので、インストラクシヨンストリーム(命令の
流れ)は一つしか持つことができない。そのため、プロ
セツサエレメントごとに演算結果に依存した条件分岐を
させられないからである。
次元に配列された画素に対して、その位置に依存しない
一様な処理を行なう場合が多い。そのため並列性に着目
したSIMDアーキテクチヤの適用が基本的には適して
いる。特に内積演算を主に用いるデイジタルフイルタ、
マトリクス演算などにおいては演算結果に依存した条件
分岐が不要であるので、SIMDアーキテクチヤが最適
である。
非線形処理においては、近傍数サンプルをソーテイング
して最大値と最小値を除去してから線形なフイルタリン
グを行なうため、条件分岐処理が不可欠である。
は、プロセツサエレメントごとに演算結果に依存した条
件分岐をさせられないが、適用分野によっては可能であ
る。例えば、ソーテイングのような処理分野では可能で
ある。
大値演算は、 MAX(A,B)=(A〉B)A+(A〈B)B ・・・・・・・(1) A>Bの真偽判定は(B−A)を計算してそのMSBを
みれば判定できるから、 MAX(A,B)=(B−A)msbA+/(B−A)msbB ・・・(2) (ただし、/X は、Xの論理反転を示す。msbはMSB
を指す。)のように展開できる。しかし、このSIMD
アーキテクチヤではプログラムステツプと実行時間は半
分無駄になる。
れば、MIN演算処理や3項以上のMAX演算処理、M
IN演算処理もできる。
覚悟で論理式に展開すると効率は最悪50%ぐらいに低
下する。
知られている構成のSIMDアーキテクチヤでは条件分
岐による並列演算処理ができず、その結果処理速度も遅
くなる欠点がある。
を解決したものであって、ハードウエアを僅かに改変す
るだけで条件分岐処理を可能にしたSIMD型並列演算
装置を提案するものである。
ため、この発明に係るSIMD型演算装置においては、
複数のプロセッサエレメントごとに、使用するインスト
ラクションストリームに対する分岐命令を出力するステ
イタスレジスタと上記分岐命令を選択するセレクタとを
備えると共に、インストラクションストリームの一部も
しくは全部が多重化され、プロセッサエレメントにより
条件分岐が発生する都度、直前処理時とは異なるインス
トラクションストリームが選択されて処理が実行される
ようになされたことを特徴とするものである。
を構成するCPU21によって条件分岐を必要とするか
どうかが判断され、条件分岐が不必要なときにはステー
タスレジスタとして機能するフリップフロップ23がリ
セットされ、条件分岐が必要なときにはセットされるよ
うな条件分岐命令が単位命令ブロックの処理が終了する
都度このフリップフロップ23にセットされる。
セレクタ22が動作して、2重化されたインストラクシ
ョンストリーム0若しくはインストラクションストリー
ム1の何れかが選択される。インストラクションストリ
ーム0と1とは表(おもて)と裏との関係にあり、通常
は表のインストラクションストリーム0が選択されてい
る。
ックでは図5に示すように裏のインストラクションスト
リーム1が選択され、そのインストラクションストリー
ム1に関する単位命令ブロックの内容に基づいてそのプ
ロセッサエレメント15では信号処理が実行される。
ンストラクションストリーム0に戻るように、直前の単
位命令ブロックには図6D,Eに示すようなリセットデ
ータが単位命令ブロックに挿入され、これをプロセッサ
エレメント15が解析して次は必ず表のインストラクシ
ョンストリーム0でその信号処理が実行されるようにな
されている。
装置の一例を図を参照して詳細に説明する。
たときの図7と同様な概略構成を示すものであって、図
7と同様に演算命令部11とその処理部12とで構成さ
れ、演算命令部11はプログラムカウンタ13とそのカ
ウンタ出力に同期して動作するプログラムメモリ14と
で構成されている。ハード的には従来と変わるところは
ない。そして、図では3個のプロセッサエレメント1
5,16,17が用いられている。
ト15,16,17に与えるインストラクションストリ
ームとして多重化、例えば2重化されたインストラクシ
ョンストリームが使用される。このインストラクション
ストリームはその一部が2重化されていても、その全て
が2重化されていても構わない。以下の説明ではその全
てが2重化されたインストラクションストリームを例示
する。
ムはその一方のインストラクションストリーム0が表の
インストラクションストリームであり、他方のインスト
ラクションストリーム1がこれとは裏の関係にあるイン
ストラクションストリームである。
る関係上、図1に示すように2本のバスaとbが用意さ
れ、それぞれがプロセッサエレメント15,16,17
に接続されている。
であって、概念的に示せばCPU21、CPU21に与
えるインストラクションストリームを選択するセレクタ
22そしてどのインストラクションストリームを選択す
るかをセレクタ22に指示するステータスレジスタとし
て機能するフリップフロップ23とで構成される。
型のものが使用され、CPU21からの命令でその何れ
かのモードにセットされる。CPU21では入力したイ
ンストラクションストリームのうち単位命令ブロック
(図3参照)の内容を処理した結果、条件分岐が必要か
不必要かを判断し、その判断に応じてフリップフロップ
23の状態(モード)が制御される。フリップフロップ
23は通常リセット状態にあり、このときセレクタ22
はインストラクションストリーム0側(バスa側)を選
択しているものとする。
ンのことであり、したがってこの単位命令ブロックが仮
え選択されたとしてもプロセッサエレメントでは処理が
行なわれないことを示している。
下を参照して説明する。図3は表裏の関係にある2重化
されたインストラクションストリーム0,1を単位命令
ブロックごとに時間経過に伴って整列したものである。
図中、CMai,CMbi(iは任意の整数であって、
i=nが最後の値)は単位命令ブロックを示す。プロセ
ッサエレメント15などはこの単位命令ブロックごとに
順次その命令を解析しながら演算処理が実行される。
ションストリームの選択例を示すもので、通常は表のイ
ンストラクションストリーム0が選択されて処理が実行
されるものであるから、条件分岐のないこの図4の例で
はプロセッサエレメント15などはインストラクション
ストリーム0による命令を次々に実行してその処理を終
了する。
したときの処理例であって、最初は表のインストラクシ
ョンストリーム0が選択されて単位命令ブロックCMa
0による処理が実行される。そして、この処理結果時点
p1において条件分岐が必要であるとCPU21が判断
したときにはフリップフロップ23がセットされ、これ
によってセレクタ22は裏のインストラクションストリ
ーム1側を選択する。
択されると、プロセッサエレメント15などは今度は裏
のインストラクションストリーム1側の単位命令ブロッ
クCMb1に基づいてその処理が実行され、処理が終了
した段階(時点p2)で再び条件分岐の要、不要が判断
されて順次その結果に応じたインストラクションストリ
ームが選択される。
い。そのため、図6AやBのようにストリーム長(デー
タ長)の長短が生ずる。ストリーム長は一定であること
が好ましいので、短いストリームの単位命令ブロックに
対しては同図Cに示すように例えばNOPデータ(意味
のないデータ)が挿入されてストリーム長が一定となる
ように構築されている。
ンストリーム0となるようにするため、直前のインスト
ラクションストリーム1における単位命令ブロックCM
n-1には図6D,Eに示すようなリセットデータが挿入
される。同図Dは同図Aに対応するデータ構築例であ
り、同図Eは同図Cに対応するデータ構築例である。
にはこれを受けたプロセッサエレメントではその最後、
つまり条件分岐を判断する時点pn-1でフリップフロッ
プ23をリセットし、セレクタ22をインストラクショ
ンストリーム0側のバスaに切り換える。これによって
全てのプロセツサエレメントが表のインストラクシヨン
ストリーム0に復帰して条件分岐を終了させることがで
きる。
1の条件分岐以外の部分については本来どんな命令を格
納しておいてもよいが、ここにも常にNOPをいれてお
けば使用していないプロセッサエレメントでの不要な電
力を消費するのを防ぐことができる。
(本例では2重化)の方式としては上述したように全体
を多重化する他に、レジスタやメモリのアドレス、AL
Uの命令セットなどといったインストラクションのうち
のごく一部を多重化することが考えられる。この考えの
発展形としては、インストラクションストリームを3つ
以上にして必要に応じて目的のインストラクションスト
リームを選択使用するようにすれば、処理の効率化を図
ることができる。
流れを多重化するということは、従来からある命令のマ
スキングや命令の反転といった方式もこの多重化によっ
て実現できるから、この発明に係る多重化の概念はマス
キング命令や反転命令などの概念を含むものである。
は、厳密にはSIMDアーキテクチヤではなくDIMD
(Double Instruction-stream Multiple-Data)アーキ
テクチヤとも考えられるが、図1に示したようにプログ
ラムカウンタは一つであるので、SIMDアーキテクチ
ヤの範疇として捉えることができる。上記説明もこの考
えで統一されている。
Dアーキテクチヤにおいて、命令の流れを多重化したも
のである。
理結果に依存した条件分岐ができるので、貴重なプログ
ラム実行ステツプの無駄を排除できるから、従来よりも
その処理速度を早めることができる。また、この多重化
命令は従来からある命令のマスキング、命令の反転とい
った方式も実現できる。
いるプログラムのエリアは十分に広く取れるので、プロ
グラムメモリの1部が多重化されていても、そのための
コストは僅かなものである。
を示す要部の系統図である。
の具体例を示す系統図である。
である。
リームの一例を示す図である。
ストリームの一例を示す図である。
関係を示す図である。
Claims (1)
- 【請求項1】 SIMD型演算装置において、複数のプ
ロセッサエレメントごとに、使用するインストラクショ
ンストリームに対する分岐命令を出力するステイタスレ
ジスタと上記分岐命令を選択するセレクタとを備えると
共に、 インストラクションストリームの一部もしくは全部が多
重化され、 プロセッサエレメントにより条件分岐が発生する都度、
直前処理時とは異なるインストラクションストリームが
選択されて処理が実行されるようになされたことを特徴
とするSIMD型並列演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34148691A JP3223549B2 (ja) | 1991-12-24 | 1991-12-24 | Simd型並列演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34148691A JP3223549B2 (ja) | 1991-12-24 | 1991-12-24 | Simd型並列演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05174166A true JPH05174166A (ja) | 1993-07-13 |
JP3223549B2 JP3223549B2 (ja) | 2001-10-29 |
Family
ID=18346433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34148691A Expired - Lifetime JP3223549B2 (ja) | 1991-12-24 | 1991-12-24 | Simd型並列演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3223549B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007116560A1 (ja) * | 2006-03-30 | 2007-10-18 | Nec Corporation | 並列画像処理システムの制御方法および装置 |
US7558943B2 (en) | 2004-07-26 | 2009-07-07 | Riken | Processing unit for broadcast parallel processing |
-
1991
- 1991-12-24 JP JP34148691A patent/JP3223549B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7558943B2 (en) | 2004-07-26 | 2009-07-07 | Riken | Processing unit for broadcast parallel processing |
WO2007116560A1 (ja) * | 2006-03-30 | 2007-10-18 | Nec Corporation | 並列画像処理システムの制御方法および装置 |
US8106912B2 (en) | 2006-03-30 | 2012-01-31 | Nec Corporation | Parallel image processing system control method and apparatus |
JP5077579B2 (ja) * | 2006-03-30 | 2012-11-21 | 日本電気株式会社 | 並列画像処理システムの制御方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3223549B2 (ja) | 2001-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5175863A (en) | Signal data processing system having independently, simultaneously operable alu and macu | |
US5301344A (en) | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets | |
EP0701219B1 (en) | Parallel processor apparatus | |
US8321490B2 (en) | Instruction-based parallel median filtering | |
JPH0353652B2 (ja) | ||
EP0730223B1 (en) | Pipeline data processing apparatus for executing a plurality of data processes having a data-dependent relationship | |
JP3020008B2 (ja) | マルチポート・メモリのためのパイプライン型多重化 | |
JP3458518B2 (ja) | 並列プロセッサ | |
US3997771A (en) | Apparatus and method for performing an arithmetic operation and multibit shift | |
US5890001A (en) | Arbitration apparatus employing token ring for arbitrating between active jobs | |
JPH05174166A (ja) | Simd型並列演算装置 | |
JPH02278382A (ja) | 図形処理装置用の演算論理機構 | |
JP3487421B2 (ja) | Simd型並列計算装置 | |
KR100196603B1 (ko) | 디지탈 신호 처리기 | |
JP2617591B2 (ja) | シリアル演算回路 | |
JPS62123526A (ja) | デイジタル信号プロセツサ用中央処理装置 | |
JP2516611B2 (ja) | 並列デ−タ処理装置 | |
KR100243114B1 (ko) | 상위수준 합성을 위한 트윈 래치를 갖는 분할 버스 구조 | |
JP2000293357A (ja) | マイクロプロセッサ | |
Wiatr | Median and morphological specialized processors for a real-time image data processing | |
JPH01155708A (ja) | 高速順序フィルタ回路 | |
JPH039425A (ja) | 中央処理装置 | |
JPS62150598A (ja) | 多段ラツチ回路 | |
JPH0589262A (ja) | プロセツサアドレス設定方式 | |
JPH06282418A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080824 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090824 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 11 |