JPH05189585A - 並列処理における条件付き演算制御回路 - Google Patents

並列処理における条件付き演算制御回路

Info

Publication number
JPH05189585A
JPH05189585A JP483892A JP483892A JPH05189585A JP H05189585 A JPH05189585 A JP H05189585A JP 483892 A JP483892 A JP 483892A JP 483892 A JP483892 A JP 483892A JP H05189585 A JPH05189585 A JP H05189585A
Authority
JP
Japan
Prior art keywords
flag
instruction
arithmetic
control circuit
condition
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.)
Pending
Application number
JP483892A
Other languages
English (en)
Inventor
Yutaka Suzuki
豊 鈴木
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP483892A priority Critical patent/JPH05189585A/ja
Publication of JPH05189585A publication Critical patent/JPH05189585A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】SIMD方式を改良し、効率的な条件付き演算
を実現することの出来る並列演算制御回路を提供する。 【構成】並列化された各演算ユニット11、12、…、
2n毎に、演算結果を示す演算結果フラグを生成し、ま
た、フラグ制御回路71、72…、7nにおいては、入
力された演算結果フラグを以降の演算条件を指定する演
算条件フラグに変換して各演算ユニットに出力するよう
に構成し、各演算ユニットは演算命令の実行毎に入力さ
れる演算条件フラグを用いて命令の実行条件を修飾し、
かつ演算条件フラグの生成、変換、利用は、プログラム
に応じて命令供給回路40から出力される命令によって
指定するように構成した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、単一の命令によって複
数の演算ユニットを並列制御するSIMD(Single Ins
truction Multi Data)方式の演算制御回路に関し、特
に各演算ユニットの命令実行条件を条件フラグによって
修飾するための制御回路技術に関する。
【0002】
【従来の技術】複数の演算ユニットを並列制御する方式
としては、SIMD方式とMIMD(Multi Instructio
n Multi Data)方式とがある。図5は、従来のSIMD
方式とMIMD方式との一例を示すブロック図であり、
(a)はSIMD方式の並列演算回路、(b)MIMD
方式の並列演算回路を示す。
【0003】まず、図5(a)において、11、12、
……、1nは演算ユニット、21、22、……、2nは
入出力データ経路、30は演算命令の供給経路、40は
命令供給回路である。同一構造を有するn個の演算ユニ
ット11、12、……、1nは、命令供給回路40から
供給経路30を介して供給される共通の演算命令によっ
て制御され、n個の入出力データ経路21、22、…
…、2nから供給されるデータを処理して出力する。こ
の結果、1つの演算命令によってn個の演算ユニットが
並列に制御されるが、すべての演算ユニットは同一の演
算を実行することになる。したがって各演算ユニットで
異なる演算を実行することはできない。
【0004】次に、図5(b)において、11、12、
……、1nは演算ユニット、21、22、……、2nは
入出力データ経路、31、32、……、3nは演算命令
の供給経路、41、42、……、4nは命令供給回路、
51、52、……、5nは演算結果フィードバック経
路、60は命令供給回路相互の同期を図るための制御信
号経路である。同一構造を有するn個の演算ユニット1
1、12、……、1nは、それぞれの命令供給回路4
1、42、……、4nから供給経路31、32、……、
3nを介して供給される演算命令によって制御され、n
個の入出力データ経路21、22、……、2nから供給
されるデータを処理して出力する。この結果、すべての
演算ユニットは独立した演算命令を実行することが可能
となる。しかし、この場合には重複した複数個の命令供
給回路が必要になる。多くの場合、演算ユニットの演算
結果によって演算命令を変更することが並列処理の場合
に有効であり、必ずしも重複した命令供給回路が必要に
なる訳ではない。上記のように演算ユニットの演算結果
によって演算命令を変更する演算をMIMD方式によっ
て実現するには、各演算ユニットの演算結果を示すフラ
グを演算結果フィードバック経路51、52、……、5
nを介して命令供給回路41、42、……、4nにフィ
ードバックする。命令供給回路41、42、……、4n
はこのフラグによって以降の実行命令を変更することが
できる。各演算ユニットへの演算命令は命令供給回路間
を接続する制御信号経路60によって再度同期化するこ
とができる。しかし、この方法では、演算条件の変更の
ためには命令供給回路の動作を切り替えることが必要で
あり、演算から次の命令作成までにパイプライン遅延を
伴うので、効率化の妨げになっている。
【0005】
【発明が解決しようとする課題】上記のごとく、従来の
SIMD方式では並列演算に条件付き演算を適用するこ
とが出来ない、という問題があり、また、MIMD方式
では制御回路および命令供給回路を必要以上に重複化す
る必要があり、効率が悪くなると共にコスト高になると
いう問題があった。このため従来技術では並列度を高く
する場合に効率的な並列処理を実現することが出来なか
った。
【0006】本発明は上記のごとき従来技術の問題を解
決するためになされたものであり、SIMD方式を改良
し、効率的な条件付き演算を実現することの出来る並列
演算制御回路を提供することを目的とする。
【0007】
【課題を解決するための手段】上記の目的を達成するた
め、本発明においては、特許請求の範囲に記載するよう
に構成している。すなわち、本発明においては、命令供
給回路から与えられる共通の演算命令およびフラグ制御
回路から与えられる演算条件フラグによって演算が制御
され、各々供給されるデータを処理して出力し、かつ演
算命令の実行毎に演算結果を示す演算結果フラグを生成
して出力する、同一構造を有する複数の演算ユニット
と、各演算ユニットの出力する演算結果フラグを入力
し、命令供給回路から与えられる命令に従って、入力さ
れた演算結果フラグを以降の演算条件を指定する演算条
件フラグに変換して各演算ユニットに出力する、演算ユ
ニット毎に設けられたフラグ制御回路と、プログラムに
従って上記各演算回路および各フラグ制御回路に命令を
送る、各演算ユニットと各フラグ制御回路に共通の1つ
の命令供給回路と、を備えている。
【0008】
【作用】本発明においては、並列化された各演算ユニッ
ト毎に、演算結果を示す演算結果フラグを生成し、ま
た、フラグ制御回路においては、入力された演算結果フ
ラグを以降の演算条件を指定する演算条件フラグに変換
して各演算ユニットに出力するように構成し、各演算ユ
ニットは演算命令の実行毎に入力される演算条件フラグ
を用いて命令の実行条件を修飾し、かつ演算条件フラグ
の生成、変換、利用は、プログラムに応じて命令供給回
路から与えられる命令によって指定するように構成した
ものである。したがって本発明においては、命令供給回
路は全体に共通の1個でよく、1つの命令によって複数
の演算ユニットの条件付き演算を可能にすることが出来
るので、効率の高い並列演算制御回路を実現することが
できる。また命令供給回路を経ることなしに条件付き処
理が可能となるので、条件付き分岐命令を用いる方法に
比較して処理遅延を減らすことができる。
【0009】
【実施例】図1は、本発明の一実施例のブロック図であ
る。図1において、11、12、……、1nは演算ユニ
ット、21、22、……、2nは入出力データ経路、3
0は演算命令の供給経路、40は命令供給回路、70、
71、……、7nはフラグ制御回路、81、82、…
…、8nは演算結果フラグ出力経路、91、92、…
…、9nは演算条件フラグ出力経路である。同一構造を
有するn個の演算ユニット11、12、……、1nは、
命令供給回路40から供給経路30を介して供給される
共通の演算命令およびフラグ制御回路71、72、…
…、7nからの演算条件フラグによって演算が制御さ
れ、n個の入出力データ経路21、22、……、2nか
ら供給されるデータを処理して出力する。また、各演算
ユニットは、その演算結果を表わす演算結果フラグを生
成し、それをフラグ制御回路71、72、……、7nに
送る。フラグ制御回路71、72、……、7nは命令供
給回路40から供給経路30を介して供給される命令に
従って、入力される演算結果フラグを選択して記憶する
と共に、記憶されているフラグから指定された演算条件
フラグ91、92、……、9nを生成して出力する。こ
の結果、以降の演算に必要となる各演算ユニットの演算
結果は、演算結果フラグとしてフラグ制御回路で記憶さ
れ、演算を制御するために必要となるタイミングで演算
条件フラグとして生成されるので、或る演算結果を以降
の演算の制御条件として利用することができる。
【0010】図2は、演算ユニットおよびフラグ制御回
路の具体的な実施例図であり、演算結果フラグと演算条
件フラグによって演算が制御される例を示す。図2にお
いて、10は1つの演算ユニット、30は演算命令入力
端子、200はデータ出力端子、201、202はデー
タ入力端子、100は命令デコーダ、101、102、
104、106、108はレジスタ、103は算術論理
演算ユニット、105は乗算器、107は加算器、80
1、802、803は演算結果フラグ経路、70はフラ
グ制御回路、701、702、703はフラグレジス
タ、90は演算条件フラグ経路である。演算ユニット1
0は入力データ201、202をレジスタ101、10
2に取込み、算術論理演算ユニット103に接続する。
算術論理演算ユニット103の出力はパイプラインレジ
スタ104を経由して乗算器105に入力される。乗算
器105の他の入力にはレジスタ102が接続される。
乗算器105の出力はパイプラインレジスタ106を経
由して加算器107に入力される。加算器107の出力
はパイプラインレジスタ108を経由してもう1つの入
力に接続される。この加算器107とレジスタ108は
累算器を構成している。このように演算ユニットは算術
論理演算ユニット、乗算器、累算器の3つの演算回路が
パイプライン接続され、必要な演算を実現している。上
記の各演算器によって演算結果を示すフラグが出力され
る。すなわち、算術論理演算ユニット103からはゼロ
フラグ(Z)、サインフラグ(S)、キャリーフラグ
(C)が出力され、演算結果フラグ経路801を介して
フラグ制御回路70に入力される。乗算器105および
累算器107からも同様に演算結果を示すフラグが出力
され、経路802、803を介してフラグ制御回路70
に入力される。フラグ制御回路70では、入力された演
算結果フラグをフラグレジスタ701、702、703
に退避する。このフラグレジスタは演算命令が実行され
る都度更新されるが、フラグ制御回路70に対する命令
によって必要な期間保持することができる。また、フラ
グレジスタ701、702、703の内容はフラグ制御
回路70に対する命令によって選択され、演算条件フラ
グとして経路90を介して出力される。この演算条件フ
ラグは命令デコーダ100に入力され、命令実行条件を
修飾する。命令デコーダ100は入力される命令によっ
て各演算回路の算術論理演算ユニット、乗算器、累算器
および各レジスタを制御する。このとき演算条件フラグ
によって各演算回路およびレジスタの制御が変更され
る。
【0011】図3は、上記のフラグに関する演算命令の
例を示す図表である。図3において、第1行目は命令を
示し、第2行以下は各々の内容例を示している。まず、
第2行目に示す第1の例では、指定された演算は演算条
件フラグによって行うか否かが修飾される。すなわちフ
ラグ制御回路は指定された演算結果フラグが指定された
フラグ状態であるときに演算条件フラグを1とし、それ
以外のときは0とする。命令デコーダは演算条件フラグ
が1のときは演算回路の出力段に配置されるレジスタを
更新し、それ以外のときはレジスタ値を保持する。この
修飾機能はすべての種類の演算命令に組合せて使用する
ことができる。次に、第3行目に示す第2の例では、演
算条件フラグ状態によって2つの入力の内の1つを選択
するものである。次に、第4行目に示す第3の例では、
演算条件フラグ状態によって演算の種類を変更するもの
である。これにはあらかじめ演算条件フラグが1のとき
実行する命令と演算条件フラグが0のとき実行する命令
とを対で定義しておくことが必要である。たとえばイン
クリメント/デクリメント、加算/減算等の対がこれに
相当する。これには命令デコーダに演算条件フラグを追
加して実現する方法と、2つの命令を保持して置いて選
択使用する方法とがある。次に、第5行目に示す第4の
例は、演算結果フラグを更新するか保持するかを決定す
るための命令である。これらの命令を各演算ユニットに
入力することによって、並列に配置された演算ユニット
に対する条件付き演算が可能となる。なお、以上の例で
は、演算結果フラグと演算条件フラグは1つの演算ユニ
ット内で使用する場合を示したが、演算ユニット間さら
には複数クロック間にも容易に拡張することができる。
【0012】次に、図4は、フラグ制御回路70の他の
実施例を示すブロック図である。図4において、各演算
ユニットからの演算結果フラグ81、82、……、8n
はレジスタアレイ700に入力される。レジスタアレイ
700では命令30に従って入力されたフラグをシフト
することにより、m回の演算結果フラグを記憶する。記
憶された演算結果フラグは選択回路710によって選択
される。選択回路710ではレジスタファイル中の任意
のビットを指定できるので、他の演算ユニットの結果を
利用して演算条件を決定できるようになる。選択回路7
10の出力は条件一致回路720によって指定された条
件に一致するか否かが判定され、その結果を出力演算条
件フラグ81、82、……、8nとして出力する。
【0013】
【発明の効果】以上説明したように本発明によれば、1
つの命令によって複数の演算ユニットの条件付き演算を
可能にすることが出来るので、効率の高い並列演算制御
回路を実現することができる。また命令供給回路を経る
ことなしに条件付き処理が可能となるので、条件付き分
岐命令を用いる方法に比較して処理遅延を減らすことが
できることも効率化に寄与している。さらに演算結果フ
ラグによって演算条件フラグを作成するフラグ制御回路
を高度化することにより、演算ユニット間相互の条件付
き演算制御も可能となる、等の効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図。
【図2】演算ユニットおよびフラグ制御回路の一実施例
のブロック図。
【図3】フラグに関する演算命令の一例を示す図表。
【図4】フラグ制御回路の他の実施例のブロック図。
【図5】従来のSIMD方式およびMIMD方式の並列
演算回路のブロック図。
【符号の説明】
11、12、……、1n : 演算ユニット 21、22、……、2n : 入出力データ経路 30 : 演算命令の供給経路 31、32、……、3n : 演算命令の供給経路 40 : 命令供給回路 41、42、……、4n : 供給経路 51、52、……、5n : 演算結果フィードバック
経路 60 : 制御信号経路 70、71、……、7n : フラグ制御回路 81、82、……、8n : 演算結果フラグ出力経路 90、91、92、……、9n : 演算条件フラグ出
力経路 100 : 命令デコーダ 101、102、104、106、108 : レジス
タ 103 : 算術論理演算ユニット 105 : 乗算器 107 : 加算器 200 : データ出力端子 201、202 : データ入力端子 700 : レジスタアレイ 701、702、703 : フラグレジスタ 710 : 選択回路 720 : 条件一致回路 801、802、803 : 演算結果フラグ経路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】同一構造を有する複数の演算ユニットを単
    一のプログラムによって制御する装置において、 同一構造を有する複数の演算ユニットと、上記演算ユニ
    ット毎に設けられたフラグ制御回路と、上記各演算ユニ
    ットと各フラグ制御回路に共通の1つの命令供給回路
    と、を備え、 上記各演算ユニットは、上記命令供給回路から与えられ
    る共通の演算命令および上記フラグ制御回路から与えら
    れる演算条件フラグによって演算が制御され、各々供給
    されるデータを処理して出力し、かつ演算命令の実行毎
    に演算結果を示す演算結果フラグを生成して出力するも
    のであり、 上記各フラグ制御回路は、上記各演算ユニットの出力す
    る演算結果フラグを入力し、上記命令供給回路から与え
    られる命令に従って、入力された演算結果フラグを以降
    の演算条件を指定する演算条件フラグに変換して上記の
    各演算ユニットに出力するものであり、 上記命令供給回路は、プログラムに従って上記各演算回
    路および各フラグ制御回路に命令を送るものであり、 上記各演算ユニットは演算命令の実行毎に入力される演
    算条件フラグを用いて命令の実行条件を修飾し、上記演
    算条件フラグの生成、変換、利用はプログラムによって
    制御されることを特徴とする並列処理における条件付き
    演算制御回路。
JP483892A 1992-01-14 1992-01-14 並列処理における条件付き演算制御回路 Pending JPH05189585A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP483892A JPH05189585A (ja) 1992-01-14 1992-01-14 並列処理における条件付き演算制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP483892A JPH05189585A (ja) 1992-01-14 1992-01-14 並列処理における条件付き演算制御回路

Publications (1)

Publication Number Publication Date
JPH05189585A true JPH05189585A (ja) 1993-07-30

Family

ID=11594835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP483892A Pending JPH05189585A (ja) 1992-01-14 1992-01-14 並列処理における条件付き演算制御回路

Country Status (1)

Country Link
JP (1) JPH05189585A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009399A1 (en) * 1993-09-27 1995-04-06 Ntt Mobile Communications Network Inc. Multiprocessor
JPH08161165A (ja) * 1994-11-29 1996-06-21 Kanya Go パイプライン式及び心収縮式の単命令多重データストリームのアレイプロセッサ及びその方法
WO1999014685A1 (fr) * 1997-09-16 1999-03-25 Hitachi, Ltd. Machine de traitement des donnees et systeme de traitement des donnees
JP2007268156A (ja) * 2006-03-31 2007-10-18 Aloka Co Ltd 超音波診断装置用プロセッサ
EP1267256A3 (en) * 2001-06-11 2010-07-14 Broadcom Corporation Conditional execution of instructions with multiple destinations
US8086830B2 (en) 2005-03-31 2011-12-27 Panasonic Corporation Arithmetic processing apparatus

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009399A1 (en) * 1993-09-27 1995-04-06 Ntt Mobile Communications Network Inc. Multiprocessor
US5815680A (en) * 1993-09-27 1998-09-29 Ntt Mobile Communications Network, Inc. SIMD multiprocessor with an interconnection network to allow a datapath element to access local memories
JPH08161165A (ja) * 1994-11-29 1996-06-21 Kanya Go パイプライン式及び心収縮式の単命令多重データストリームのアレイプロセッサ及びその方法
WO1999014685A1 (fr) * 1997-09-16 1999-03-25 Hitachi, Ltd. Machine de traitement des donnees et systeme de traitement des donnees
EP1267256A3 (en) * 2001-06-11 2010-07-14 Broadcom Corporation Conditional execution of instructions with multiple destinations
US8521997B2 (en) 2001-06-11 2013-08-27 Broadcom Corporation Conditional execution with multiple destination stores
US8086830B2 (en) 2005-03-31 2011-12-27 Panasonic Corporation Arithmetic processing apparatus
JP2007268156A (ja) * 2006-03-31 2007-10-18 Aloka Co Ltd 超音波診断装置用プロセッサ

Similar Documents

Publication Publication Date Title
US4658355A (en) Pipeline arithmetic apparatus
US7350054B2 (en) Processor having array of processing elements whose individual operations and mutual connections are variable
JPH06266750A (ja) ロジックシステム
JPS633337B2 (ja)
JPH11212786A (ja) レジスタベースデータ処理のためのデータパスおよび方法
JPH05189585A (ja) 並列処理における条件付き演算制御回路
JPH04245324A (ja) 演算装置
JPH01199233A (ja) パイプライン処理における条件分岐制御方式
US7779229B2 (en) Method and arrangement for bringing together data on parallel data paths
JP3389261B2 (ja) データ駆動型情報処理装置
JP2000010779A (ja) デジタル信号処理装置
JPH0269826A (ja) 条件付命令制御方式
JP2989830B2 (ja) ベクトル処理方法
JPS63298633A (ja) パイプライン処理装置における命令フェッチ制御方式
JPH01145730A (ja) データ行先き制御方式
JPH07191955A (ja) データ駆動型情報処理装置
JPH04184535A (ja) 並列演算装置
JPS6057436A (ja) 演算処理装置
JPS62160529A (ja) デ−タ処理装置
JPS60252948A (ja) 演算処理装置
JP2764358B2 (ja) データ駆動型情報処理装置
JP4999361B2 (ja) 処理装置
JPS61253538A (ja) 演算回路
JPH01145771A (ja) パイプライン計算機
JPS62281058A (ja) ベクトルデ−タ処理装置