JP3223549B2 - Simd型並列演算装置 - Google Patents
Simd型並列演算装置Info
- Publication number
- JP3223549B2 JP3223549B2 JP34148691A JP34148691A JP3223549B2 JP 3223549 B2 JP3223549 B2 JP 3223549B2 JP 34148691 A JP34148691 A JP 34148691A JP 34148691 A JP34148691 A JP 34148691A JP 3223549 B2 JP3223549 B2 JP 3223549B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stream
- processing
- conditional branch
- instruction stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Advance Control (AREA)
- Image Processing (AREA)
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アーキテクチ
ヤの範疇として捉えることができる。上記説明もこの考
えで統一されている。
一部もしくは全部を多重化したインストラクションスト
リームを同時に与えるためのバスに複数のプロセッサエ
レメントが接続され、各々のプロセッサエレメントにお
いては、インストラクションストリームに基づいて条件
分岐を必要とするかどうかを判断すると共に、多重化さ
れたインストラクションストリームの何れかを条件分岐
命令に基づいて選択するようになされる。
メントにおいて、条件分岐が発生する都度、直前処理時
とは異なるインストラクションストリームを選択するこ
とができる。しかも、プロセッサエレメントで演算処理
結果に依存した条件分岐ができるので、貴重なプログラ
ム実行ステップの無駄を排除できるから、従来よりもそ
の処理速度を早めることができる。
のマスキング、命令の反転といった方式も実現できる。
SIMDアーキテクチャでは共通化されているプログラ
ムのエリアは十分に広く取れるので、プログラムメモリ
の一部が多重化されていても、そのためのコストは僅か
なものである。
を示す要部の系統図である。
の具体例を示す系統図である。
である。
リームの一例を示す図である。
ストリームの一例を示す図である。
関係を示す図である。
Claims (1)
- 【請求項1】 SIMD型並列演算装置において、複数のプロセッサエレメントと、 一部もしくは全部を多重化したインストラクションスト
リームを同時に与えるために前記プロセッサエレメント
の各々に接続されたバスとを備え、 各々の前記プロセッサエレメントは、 多重化されたインストラクションストリームの何れかを
条件分岐命令に基づいて選択するために前記バスに接続
されたセレクタと、 前記条件分岐命令の内容によってどのインストラクショ
ンストリームを選択するかを前記セレクタに指示するス
テータスレジスタと、 前記セレクタによって選択されたインストラクションス
トリームに基づいて条件分岐を必要とするかどうかを判
断すると共に、前記ステータスレジスタに条件分岐命令
をセットする演算部とを有する ことを特徴とするSIM
D型並列演算装置。
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 JPH05174166A (ja) | 1993-07-13 |
JP3223549B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4477959B2 (ja) | 2004-07-26 | 2010-06-09 | 独立行政法人理化学研究所 | ブロードキャスト型並列処理のための演算処理装置 |
CN101416216B (zh) * | 2006-03-30 | 2012-11-21 | 日本电气株式会社 | 并行图像处理系统控制方法和设备 |
-
1991
- 1991-12-24 JP JP34148691A patent/JP3223549B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05174166A (ja) | 1993-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5850268A (en) | Parallel processor apparatus | |
US5283874A (en) | Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee | |
EP0730223B1 (en) | Pipeline data processing apparatus for executing a plurality of data processes having a data-dependent relationship | |
JPH08235130A (ja) | 並列プロセッサ | |
FR2647923A1 (fr) | Processeur de donnees | |
JP2665081B2 (ja) | マイクロコンピュータのレジスタ間データ転送方式 | |
US5802385A (en) | Array processing system with each processor including router and which selectively delays input/output of individual processors in response delay instructions | |
JPH08272771A (ja) | データ駆動型情報処理装置 | |
JP3223549B2 (ja) | Simd型並列演算装置 | |
JPH06162228A (ja) | データフロープロセッサ装置 | |
US6330338B1 (en) | Process and device for mixing digital audio signals | |
US4941094A (en) | Image reconstruction data processing unit | |
JP3323526B2 (ja) | ディジタル信号プロセッサ | |
JP3357243B2 (ja) | 画像処理装置における設定データ変更装置 | |
US5652907A (en) | High speed mask and logical combination operations for parallel processor units | |
JPS59132479A (ja) | デ−タ処理回路 | |
US7420970B2 (en) | Read ports and methods of outputting data via read ports | |
JP2001350714A (ja) | データ処理装置 | |
JPS62123526A (ja) | デイジタル信号プロセツサ用中央処理装置 | |
JPS62172425A (ja) | 画像処理制御方式 | |
JPS5862742A (ja) | 演算処理装置 | |
JPS63197217A (ja) | デ−タ処理装置 | |
JPS6234239A (ja) | 論理定数設定方式 | |
JPH103388A (ja) | 分岐アドレス制御回路 | |
JPH0275054A (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 |