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
Application number
JP34148691A
Other languages
English (en)
Other versions
JPH05174166A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP34148691A priority Critical patent/JP3223549B2/ja
Publication of JPH05174166A publication Critical patent/JPH05174166A/ja
Application granted granted Critical
Publication of JP3223549B2 publication Critical patent/JP3223549B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はSIMD(Single Ins
truction Multiple Data-stream )アーキテクチヤにお
ける条件分岐処理を実現したSIMD型並列演算装置に
関する。
【0002】
【従来の技術】従来より、ビデオ信号処理用のデジタル
・シグナル・プロセツサ(以下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個集積している。
【0003】このSIMD型ビデオ信号処理用演算装置
を簡略化して図示すると、図7のようになる。図は演算
命令部11とその処理部12のみを示してあり、演算命
令部11は図のようにプログラムカウンタ13とプログ
ラムメモリ14とで構成されており、プログラムメモリ
14に接続されたバスaに複数のプロセッサエレメン
ト、本例では3個のプロセッサエレメント15,16,
17が接続されている。
【0004】この構成は1つの命令に対する並列処理で
あるから、個々のプロセツサエレメントでは処理結果に
依存した条件分岐ができない。SVPを始めとするSI
MDアーキテクチヤの弱点の1つである。
【0005】それは、SIMDアーキテクチヤでは、プ
ログラムメモリ(プログラミングメモリ)14、プログ
ラムカウンタ(プログラミングカウンタ)13が共有化
されてるので、インストラクシヨンストリーム(命令の
流れ)は一つしか持つことができない。そのため、プロ
セツサエレメントごとに演算結果に依存した条件分岐を
させられないからである。
【0006】一方、ビデオ信号処理などにおいては、多
次元に配列された画素に対して、その位置に依存しない
一様な処理を行なう場合が多い。そのため並列性に着目
したSIMDアーキテクチヤの適用が基本的には適して
いる。特に内積演算を主に用いるデイジタルフイルタ、
マトリクス演算などにおいては演算結果に依存した条件
分岐が不要であるので、SIMDアーキテクチヤが最適
である。
【0007】しかしながら、メデイアンフイルタなどの
非線形処理においては、近傍数サンプルをソーテイング
して最大値と最小値を除去してから線形なフイルタリン
グを行なうため、条件分岐処理が不可欠である。
【0008】このように従来のSIMD型演算装置で
は、プロセツサエレメントごとに演算結果に依存した条
件分岐をさせられないが、適用分野によっては可能であ
る。例えば、ソーテイングのような処理分野では可能で
ある。
【0009】例えば、ソーテイングの基本操作である最
大値演算は、 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
アーキテクチヤではプログラムステツプと実行時間は半
分無駄になる。
【0010】同様に、2項演算のMAX演算処理ができ
れば、MIN演算処理や3項以上のMAX演算処理、M
IN演算処理もできる。
【0011】このように、条件分岐を含む処理を無駄を
覚悟で論理式に展開すると効率は最悪50%ぐらいに低
下する。
【0012】
【発明が解決しようとする課題】このように、従来から
知られている構成のSIMDアーキテクチヤでは条件分
岐による並列演算処理ができず、その結果処理速度も遅
くなる欠点がある。
【0013】そこで、この発明はこのような従来の課題
を解決したものであって、ハードウエアを僅かに改変す
るだけで条件分岐処理を可能にしたSIMD型並列演算
装置を提案するものである。
【0014】
【課題を解決するための手段】上述した課題を解決する
ため、この発明に係るSIMD型並列演算装置において
は、複数のプロセッサエレメントと、一部もしくは全部
を多重化したインストラクションストリームを同時に与
えるためにプロセッサエレメントの各々に接続されたバ
スとを備え、各々のプロセッサエレメントは多重化され
たインストラクションストリームの何れかを条件分岐命
令に基づいて選択するためにバスに接続されたセレクタ
と、条件分岐命令の内容によってどのインストラクショ
ンストリームを選択するかをセレクタに指示するステー
タスレジスタと、セレクタによって選択されたインスト
ラクションストリームに基づいて条件分岐を必要とする
かどうかを判断すると共に、ステータスレジスタに条件
分岐命令をセットする演算部とを有することを特徴とす
るものである。
【0015】
【作用】図2に示すように、プロセッサエレメント15
を構成する演算部(以下でCPU21という)によって
条件分岐を必要とするかどうかが判断され、条件分岐が
不必要なときにはステータスレジスタとして機能するフ
リップフロップ23がリセットされ、条件分岐が必要な
ときにはセットされるような条件分岐命令が単位命令ブ
ロックの処理が終了する都度このフリップフロップ23
にセットされる。
【0016】フリップフロップ23はその内容によって
セレクタ22が動作して、2重化されたインストラクシ
ョンストリーム0若しくはインストラクションストリー
ム1の何れかが選択される。インストラクションストリ
ーム0と1とは表(おもて)と裏との関係にあり、通常
は表のインストラクションストリーム0が選択されてい
る。
【0017】条件分岐が発生すると、次の単位命令ブロ
ックでは図5に示すように裏のインストラクションスト
リーム1が選択され、そのインストラクションストリー
ム1に関する単位命令ブロックの内容に基づいてそのプ
ロセッサエレメント15では信号処理が実行される。
【0018】最後の単位命令ブロックのときには表のイ
ンストラクションストリーム0に戻るように、直前の単
位命令ブロックには図6D,Eに示すようなリセットデ
ータが単位命令ブロックに挿入され、これをプロセッサ
エレメント15が解析して次は必ず表のインストラクシ
ョンストリーム0でその信号処理が実行されるようにな
されている。
【0019】
【実施例】続いて、この発明に係るSIMD型並列演算
装置の一例を図を参照して詳細に説明する。
【0020】図1は上述したビデオ信号処理系に適用し
たときの図7と同様な概略構成を示すものであって、図
7と同様に演算命令部11とその処理部12とで構成さ
れ、演算命令部11はプログラムカウンタ13とそのカ
ウンタ出力に同期して動作するプログラムメモリ14と
で構成されている。ハード的には従来と変わるところは
ない。そして、図では3個のプロセッサエレメント1
5,16,17が用いられている。
【0021】この発明では、複数のプロセッサエレメン
ト15,16,17に与えるインストラクションストリ
ームとして多重化、例えば2重化されたインストラクシ
ョンストリームが使用される。このインストラクション
ストリームはその一部が2重化されていても、その全て
が2重化されていても構わない。以下の説明ではその全
てが2重化されたインストラクションストリームを例示
する。
【0022】2重化されたインストラクションストリー
ムはその一方のインストラクションストリーム0が表の
インストラクションストリームであり、他方のインスト
ラクションストリーム1がこれとは裏の関係にあるイン
ストラクションストリームである。
【0023】インストラクションストリームを2重化す
る関係上、図1に示すように2本のバスaとbが用意さ
れ、それぞれがプロセッサエレメント15,16,17
に接続されている。
【0024】図2はプロセッサエレメント15の具体例
であって、概念的に示せばCPU21、CPU21に与
えるインストラクションストリームを選択するセレクタ
22そしてどのインストラクションストリームを選択す
るかをセレクタ22に指示するステータスレジスタとし
て機能するフリップフロップ23とで構成される。
【0025】フリップフロップ23はセット、リセット
型のものが使用され、CPU21からの命令でその何れ
かのモードにセットされる。CPU21では入力したイ
ンストラクションストリームのうち単位命令ブロック
(図3参照)の内容を処理した結果、条件分岐が必要か
不必要かを判断し、その判断に応じてフリップフロップ
23の状態(モード)が制御される。フリップフロップ
23は通常リセット状態にあり、このときセレクタ22
はインストラクションストリーム0側(バスa側)を選
択しているものとする。
【0026】図3において、NOPはノーオペレーショ
ンのことであり、したがってこの単位命令ブロックが仮
え選択されたとしてもプロセッサエレメントでは処理が
行なわれないことを示している。
【0027】条件分岐を伴った演算処理について図3以
下を参照して説明する。図3は表裏の関係にある2重化
されたインストラクションストリーム0,1を単位命令
ブロックごとに時間経過に伴って整列したものである。
図中、CMai,CMbi(iは任意の整数であって、
i=nが最後の値)は単位命令ブロックを示す。プロセ
ッサエレメント15などはこの単位命令ブロックごとに
順次その命令を解析しながら演算処理が実行される。
【0028】図4は条件分岐のないときのインストラク
ションストリームの選択例を示すもので、通常は表のイ
ンストラクションストリーム0が選択されて処理が実行
されるものであるから、条件分岐のないこの図4の例で
はプロセッサエレメント15などはインストラクション
ストリーム0による命令を次々に実行してその処理を終
了する。
【0029】これに対して、図5の例は条件分岐が発生
したときの処理例であって、最初は表のインストラクシ
ョンストリーム0が選択されて単位命令ブロックCMa
0による処理が実行される。そして、この処理結果時点
p1において条件分岐が必要であるとCPU21が判断
したときにはフリップフロップ23がセットされ、これ
によってセレクタ22は裏のインストラクションストリ
ーム1側を選択する。
【0030】裏のインストラクションストリーム1が選
択されると、プロセッサエレメント15などは今度は裏
のインストラクションストリーム1側の単位命令ブロッ
クCMb1に基づいてその処理が実行され、処理が終了
した段階(時点p2)で再び条件分岐の要、不要が判断
されて順次その結果に応じたインストラクションストリ
ームが選択される。
【0031】各単位命令ブロックの長さは一様ではな
い。そのため、図6AやBのようにストリーム長(デー
タ長)の長短が生ずる。ストリーム長は一定であること
が好ましいので、短いストリームの単位命令ブロックに
対しては同図Cに示すように例えばNOPデータ(意味
のないデータ)が挿入されてストリーム長が一定となる
ように構築されている。
【0032】また、最後の処理は表のインストラクショ
ンストリーム0となるようにするため、直前のインスト
ラクションストリーム1における単位命令ブロックCM
n-1には図6D,Eに示すようなリセットデータが挿入
される。同図Dは同図Aに対応するデータ構築例であ
り、同図Eは同図Cに対応するデータ構築例である。
【0033】このようなリセットデータが存在するとき
にはこれを受けたプロセッサエレメントではその最後、
つまり条件分岐を判断する時点pn-1でフリップフロッ
プ23をリセットし、セレクタ22をインストラクショ
ンストリーム0側のバスaに切り換える。これによって
全てのプロセツサエレメントが表のインストラクシヨン
ストリーム0に復帰して条件分岐を終了させることがで
きる。
【0034】なお、裏のインストラクションストリーム
1の条件分岐以外の部分については本来どんな命令を格
納しておいてもよいが、ここにも常にNOPをいれてお
けば使用していないプロセッサエレメントでの不要な電
力を消費するのを防ぐことができる。
【0035】インストラクションストリームの多重化
(本例では2重化)の方式としては上述したように全体
を多重化する他に、レジスタやメモリのアドレス、AL
Uの命令セットなどといったインストラクションのうち
のごく一部を多重化することが考えられる。この考えの
発展形としては、インストラクションストリームを3つ
以上にして必要に応じて目的のインストラクションスト
リームを選択使用するようにすれば、処理の効率化を図
ることができる。
【0036】SIMDアーキテクチヤにおいて、命令の
流れを多重化するということは、従来からある命令のマ
スキングや命令の反転といった方式もこの多重化によっ
て実現できるから、この発明に係る多重化の概念はマス
キング命令や反転命令などの概念を含むものである。
【0037】命令の流れを多重化しているという点で
は、厳密にはSIMDアーキテクチヤではなくDIMD
(Double Instruction-stream Multiple-Data)アーキ
テクチヤとも考えられるが、図1に示したようにプログ
ラムカウンタは一つであるので、SIMDアーキテクチ
ヤの範疇として捉えることができる。上記説明もこの考
えで統一されている。
【0038】
【発明の効果】以上説明したようにこの発明によれば、
一部もしくは全部を多重化したインストラクションスト
リームを同時に与えるためのバスに複数のプロセッサエ
レメントが接続され、各々のプロセッサエレメントにお
いては、インストラクションストリームに基づいて条件
分岐を必要とするかどうかを判断すると共に、多重化さ
れたインストラクションストリームの何れかを条件分岐
命令に基づいて選択するようになされる。
【0039】この構成によって、各々のプロセッサエレ
メントにおいて、条件分岐が発生する都度、直前処理時
とは異なるインストラクションストリームを選択するこ
とができる。しかも、プロセッサエレメントで演算処理
結果に依存した条件分岐ができるので、貴重なプログラ
ム実行ステプの無駄を排除できるから、従来よりもそ
の処理速度を早めることができる
【0040】また、この多重化命令は従来からある命令
のマスキング、命令の反転といった方式も実現できる。
SIMDアーキテクチでは共通化されているプログラ
ムのエリアは十分に広く取れるので、プログラムメモリ
部が多重化されていても、そのためのコストは僅か
なものである。
【図面の簡単な説明】
【図1】この発明に係るSIMD型並列演算装置の一例
を示す要部の系統図である。
【図2】これに使用されるプロセッサエレメントの要部
の具体例を示す系統図である。
【図3】インストラクションストリームの一例を示す図
である。
【図4】条件分岐がないときのインストラクションスト
リームの一例を示す図である。
【図5】条件分岐が発生したときのインストラクション
ストリームの一例を示す図である。
【図6】インストラクションストリーム長とNOPとの
関係を示す図である。
【図7】従来のSIMD型演算装置の系統図である。
【符号の説明】
1 SIMD型演算装置 10 SIMD型並列演算装置 11 演算命令部 12 処理部 13 プログラムカウンタ 14 プログラムメモリ 15,16,17 プロセッサエレメント 21 CPU 22 セレクタ 23 フリップフロップ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16,15/80 G06T 1/20

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 SIMD型並列演算装置において、複数のプロセッサエレメントと、 一部もしくは全部を多重化したインストラクションスト
    リームを同時に与えるために前記プロセッサエレメント
    の各々に接続されたバスとを備え、 各々の前記プロセッサエレメントは、 多重化されたインストラクションストリームの何れかを
    条件分岐命令に基づいて選択するために前記バスに接続
    されたセレクタと、 前記条件分岐命令の内容によってどのインストラクショ
    ンストリームを選択するかを前記セレクタに指示するス
    テータスレジスタと、 前記セレクタによって選択されたインストラクションス
    トリームに基づいて条件分岐を必要とするかどうかを判
    断すると共に、前記ステータスレジスタに条件分岐命令
    をセットする演算部とを有する ことを特徴とするSIM
    D型並列演算装置。
JP34148691A 1991-12-24 1991-12-24 Simd型並列演算装置 Expired - Lifetime JP3223549B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4477959B2 (ja) 2004-07-26 2010-06-09 独立行政法人理化学研究所 ブロードキャスト型並列処理のための演算処理装置
CN101416216B (zh) * 2006-03-30 2012-11-21 日本电气株式会社 并行图像处理系统控制方法和设备

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