JPH07295812A - 条件分岐制御方法および装置 - Google Patents

条件分岐制御方法および装置

Info

Publication number
JPH07295812A
JPH07295812A JP6090097A JP9009794A JPH07295812A JP H07295812 A JPH07295812 A JP H07295812A JP 6090097 A JP6090097 A JP 6090097A JP 9009794 A JP9009794 A JP 9009794A JP H07295812 A JPH07295812 A JP H07295812A
Authority
JP
Japan
Prior art keywords
conditional branch
instruction
signal
address
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.)
Withdrawn
Application number
JP6090097A
Other languages
English (en)
Inventor
Yoshitsugu Inoue
喜嗣 井上
Hiroyuki Kawai
浩行 河合
Sutoraitenberugaa Robaato
ストライテンベルガー ロバート
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6090097A priority Critical patent/JPH07295812A/ja
Priority to DE1995114797 priority patent/DE19514797A1/de
Publication of JPH07295812A publication Critical patent/JPH07295812A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 たとえばネストの階層が多い条件分岐のよう
に複雑な条件分岐に対してプログラムカウンタのアドレ
ス値およびプロセッシングエレメントを制御できるよう
な条件分岐制御方法および装置を提供する。 【構成】 条件分岐制御装置53は、シーケンス制御部
51で制御され、プログラムカウンタPCのアドレス値
を制御するPC制御部55と、スタックポインタ57
と、並列演算ユニットPEを活性化するかを表わすPE
マスク信号を出力するPEマスク制御部59とを含む。
スタックポインタ57はPCスタックおよびPEマスク
スタック67にポインタ値を出力し、PCスタック63
およびPEマスクスタック67はそれぞれ指定される部
分にPC値およびPEマスク信号のそれぞれを退避させ
る。選択回路65,73のそれぞれはPCスタック63
およびPEマスクスタック67の信号をそれぞれ選択出
力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、条件分岐制御方法お
よび装置に関し、特に、たとえば複数の並列演算ユニッ
トが同期して動作し、単一のプログラムカウンタ(P
C)で指示される単一の命令によって制御される単一命
令ストリーム・複数データストリーム(SIMD)型プ
ロセッサの条件分岐制御方法および装置に関する。
【0002】
【従来の技術】図31は、SIMD型プロセッサを示す
概略ブロック図である。
【0003】図31を参照して、並列計算機として、複
数のプロセッシングエレメントPE1〜PEnが実行す
る複数のデータストリームに対しての演算を、1台のコ
ントロールユニット1で制御するプロセッサがある。こ
のプロセッサは、SIMD型プロセッサと呼ばれてい
る。コントロールユニット1は、プログラムカウンタP
Cを1つ持ち、プロセッサ全体を制御するプログラムを
プログラムカウンタPCによってアドレッシングするこ
とによって命令を読出し、逐次処理する。プロセッシン
グエレメントPE1〜PEnのそれぞれは、単純な制御
回路、演算装置、局所メモリ、データレジスタ、アドレ
スレジスタ、状態レジスタを有する。プロセッシングエ
レメントPE1〜PEnのそれぞれが、コントロールユ
ニット1からの制御信号を受け取って演算を行なう活性
状態か、または演算を行なわない不活性状態かの情報を
記憶する。
【0004】プロセッシングエレメントPE1〜PEn
のそれぞれでは、コントロールユニット1によって与え
られた信号に基づいて演算が行なわれ、オーバフロー、
負数等のフラグが生成される。そして、演算結果のフラ
グがある条件を満たすことに応じて命令が実行されるよ
うな条件処理命令が実行されると、プロセッシングエレ
メントPE1〜PEnのそれぞれは自身のフラグとコン
トロールユニット1から送られてくる条件コードの比較
演算を行なう。そして、条件が当てはまれば状態レジス
タに活性状態であるという情報が書込まれ、当てはまら
ない場合には不活性状態であるという情報が書込まれ
る。以後は、プロセッシングエレメントPE1〜PEn
の状態レジスタの状態に応じて、コントロールユニット
1から動作させるべきか否かの制御信号が送られ、それ
に従って複数のプロセッシングエレメントPE1〜PE
nで選択された幾つかのプロセッシングエレメントPE
が動作する。したがって、ネスト(入れ子)のない条件
分岐命令は、状態レジスタの情報が注目されることによ
り、容易に行なわれる。
【0005】一方、ネストのある条件分岐命令に対して
工夫が施されたSIMD型プロセッサもある。
【0006】図32は、そのようなSIMD型プロセッ
サのコントロールユニットを示す概略ブロック図であ
り、図33は、プログラムカウンタPCのアドレス値の
条件分岐を示した分岐フロー図である。
【0007】図32および図33を参照して、このコン
トロールユニット1は、図示しないプログラムカウンタ
PCの他に、条件分岐制御装置7およびシーケンス制御
部5を有する。条件分岐制御装置7は、シーケンス制御
部5によって制御され、プログラムカウンタPCのアド
レス値(PC値)を制御するPC制御部9と、スタック
ポインタ11と、シーケンス制御部5から出力される条
件コードとプロセッシングエレメントPEのそれぞれが
発生するフラグf1,f2,…,fnとを比較演算する
PE状態判定器13とを含む。
【0008】PC制御部9は、インクリメンタ15と、
スタックポインタ11から指示されるアドレスが入力さ
れるPCスタック17と、選択回路19とを含む。そし
て、インクリメンタ15は、選択回路19から出力され
るPC値に1を加算した結果を選択回路19に出力する
とともに、PCスタック17の書込データとしてPCス
タック17に出力する。PCスタック17は、スタック
ポインタ11によって指示されるアドレスに対して、イ
ンクリメンタ15の出力を書込み、選択回路19にデー
タを読出す。さらに、選択回路19には、分岐先アドレ
スがシーケンス制御部5より入力される。
【0009】PE状態判定器13は、シーケンス制御部
5によって入力された条件コードとプロセッシングエレ
メントPEの発生したフラグf1〜fnとの比較演算を
行なって、プロセッシングエレメントPEのそれぞれを
活性化するかまたは不活性にするかを表わすPEマスク
信号を出力する。
【0010】次に、図33を参照して動作について簡単
に説明する。PC=aにおいて、条件分岐命令が与えら
れると、選択回路19が次のPC値として命令によって
与えられる分岐先アドレスbを出力する。そのときに、
PE状態判定器13は、シーケンス制御部5から与えら
れる条件コードccの条件にフラグf1〜fnが当ては
まるか否かのPE状態判定を行なう。そして、分岐先ア
ドレスb以降に、活性化されるべきプロセッシングエレ
メントを表わすPEマスク信号を出力する。スタックポ
インタ11によって、PCスタック17には、a+1の
アドレスが保持される。分岐先アドレスbから復帰命令
が与えられる復帰命令アドレスcまでは、インクリメン
タ15がアドレスを1つずつ増加させ、選択回路19は
そのアドレスを出力する。
【0011】復帰命令アドレスcで復帰命令が与えられ
ると、PCスタック17に保持されたアドレスa+1が
選択回路19より出力される。そこで、各プロセッシン
グエレメントPEは、状態レジスタに保持された情報に
よって、条件分岐命令アドレスaが与えられるまでのア
ドレスと同様な演算を行なう。
【0012】
【発明が解決しようとする課題】しかしながら、図32
に示すようなコントロールユニットでは、条件分岐がネ
ストを構成したことにより、プロセッシングエレメント
PEのそれぞれがネストの階層を把握し、階層が変化す
るたびにプログラムを使って状態レジスタを変更させる
必要がある。それに伴って制御が非常に複雑となるた
め、図33に示すように、ネストの階層は2つまでとさ
れていた。さらに、処理時間も長く、ケース文のような
命令に対しては、条件が当てはまるプロセッシングエレ
メントPEの有無に関係なく、コントロールユニット
は、命令ストリームを順次読出してプロセッシングエレ
メントPEに制御信号を与えてしまう。したがって、現
実的には1つのプロセシングエレメントも演算していな
い状態であっても、その間のアドレスを順次読出すとい
う、不必要な命令読出が頻繁に実行されるという問題も
あった。
【0013】ゆえに、本発明の第1の目的は、たとえば
ネストの階層が多い条件分岐のように複雑な条件分岐に
対してもプログラムカウンタのアドレス値およびプロセ
ッシングエレメントのような複数の並列演算手段を制御
することができるような条件分岐制御方法および装置を
提供することである。
【0014】さらに、本発明の第2の目的は、不必要な
条件分岐処理を行なうことなく、条件分岐処理を高速化
することができるような条件分岐制御方法および装置を
提供することである。
【0015】
【課題を解決するための手段】請求項1の発明に係る条
件分岐制御方法は、条件分岐命令またはその他の命令に
応じてプログラムカウンタのアドレスを変更し、そのア
ドレスに対応する命令で複数の演算手段の動作を並列に
制御する条件分岐制御方法であって、条件分岐命令に応
じて、各演算手段の条件分岐命令を実行する前の動作状
態での演算結果が所定の基準を満たすか否かを判定する
第1のステップと、条件分岐命令に応じて、条件分岐命
令を実行する前の動作状態を表わす信号を保持するとと
もに、条件分岐命令を実行する前の動作状態および第1
のステップでの判定結果に基づいて各演算手段の条件分
岐命令を実行した後の動作状態を決定する第2のステッ
プと、条件分岐命令を実行した後の動作状態で各演算手
段の動作を制御する第3のステップと、その他の命令に
応じて、条件分岐命令を実行する前の動作状態を表わす
信号を復帰させる第4のステップとを含んでいる。
【0016】請求項2では、請求項1の条件分岐命令
は、第1のルーチンの所定のアドレスに対応し、その他
の命令は、第2のルーチンの所定のアドレスに対応し、
かつ第2のルーチンから第1のルーチンにプログラムカ
ウンタのアドレスを復帰させる復帰命令を含んでいる。
【0017】請求項3では、請求項1の条件分岐命令
は、第1のルーチンの第1のアドレスに対応し、その他
の命令は、第1のルーチンの第2のアドレスに対応し、
かつ条件分岐命令に関連した命令の最後の命令を表わす
条件分岐終了命令を含んでいる。
【0018】請求項4では、請求項1の条件分岐命令
は、第1のルーチンの所定のアドレスに対応し、その他
の命令は、第2のルーチンの所定のアドレスに対応し、
かつ条件分岐命令に関連した命令の最後の命令を表わす
条件分岐終了命令を含んでいる。
【0019】請求項5では、請求項1のその他の命令
は、条件分岐命令に関連した命令を途中で終了させるブ
レーク命令を含んでいる。
【0020】請求項6では、請求項2のプログラムカウ
ンタのアドレスは、第1のステップでの判定結果に応じ
て、第1のルーチンのアドレスのみで変更される。
【0021】請求項7の発明に係る条件分岐制御方法
は、条件成立および条件不成立を伴う条件分岐命令、そ
の復帰命令、ならびにその条件分岐終了命令に応じてプ
ログラムカウンタのアドレスを変更し、そのアドレスに
対応する命令で複数の演算手段の動作を並列に制御する
条件分岐制御方法であって、条件分岐命令に応じて、各
演算手段の条件分岐命令を実行する前の動作状態での演
算結果が所定の基準を満たすか否かを判定する第1のス
テップと、条件分岐命令に応じて、条件分岐命令を実行
する前の動作状態を表わす信号を保持するとともに、条
件分岐命令を実行する前の動作状態および第1のステッ
プでの判定結果に基づいて各演算手段の条件分岐命令を
実行した後の条件成立または条件不成立の動作状態を決
定する第2のステップと、条件分岐命令を実行した後の
条件成立または条件不成立の動作状態で各演算手段の動
作を制御する第3のステップと、復帰命令に応じて、条
件分岐命令を実行する前の動作状態および条件分岐命令
を実行した後の条件成立または条件不成立の動作状態に
基づいて各演算手段の復帰命令を実行した後の条件不成
立または条件成立の動作状態を決定する第4のステップ
と、復帰命令を実行した後の条件不成立または条件成立
の動作状態で各演算手段の動作を制御する第5のステッ
プと、条件分岐終了命令に応じて、条件分岐命令を実行
する前の動作状態を表わす信号を復帰させる第6のステ
ップとを含んでいる。
【0022】請求項8では、請求項7の条件分岐命令
は、第1のルーチンの第1のアドレスに対応し、復帰命
令は、第2のルーチンの第2のアドレスに対応し、条件
分岐終了命令は、第1のルーチンの第3のアドレスに対
応し、プログラムカウンタのアドレスは、第1のステッ
プでの判定結果または第5のステップで決定された条件
成立もしくは条件不成立の動作状態に応じて、第1のル
ーチンのみでまたは第2のアドレスから第3のアドレス
に変更される。
【0023】請求項9では、請求項7の条件分岐命令
は、第1のルーチンの第1のアドレスに対応し、復帰命
令は、第2のルーチンの第2のアドレスに対応し、条件
分岐終了命令は、第2のルーチンの第3のアドレスに対
応し、第2のステップは、条件分岐命令を実行する前の
動作状態が活性化した各演算手段の演算結果が基準を満
たすか否かを表わす判定信号を保持するステップをさら
に含み、プログラムカウンタのアドレスは、保持された
判定信号に応じて、第2のアドレスまたは第3のアドレ
スから第1のルーチンの第1のアドレスの次のアドレス
に変更される。
【0024】請求項10の発明に係る条件分岐制御装置
は、条件分岐命令またはその他の命令に応じて、プログ
ラムカウンタのアドレスを変更制御するとともに、複数
の演算手段の動作を並列に制御する条件分岐制御装置で
あって、プログラムカウンタのアドレスを制御するプロ
グラムカウンタ制御手段と、各演算手段の動作を活性化
するか否かを制御する演算活性化制御手段とを備え、演
算活性化制御手段は、各演算手段の動作によって得られ
る演算結果が所定の基準を満たすか否かを判定する演算
結果判定手段と、各演算手段の条件分岐命令を実行する
前の動作状態を表わす信号を保持する動作状態保持手段
と、演算結果判定手段の判定結果を表わす信号および動
作状態保持手段が保持した信号に基づいて各演算手段の
条件分岐命令を実行した後の動作状態を表わす信号を生
成する第1の生成手段と、動作状態保持手段が保持した
信号または第1の生成手段が生成した信号を各演算手段
の動作を活性化するか否かを表わす信号として選択する
選択手段とを含んでいる。
【0025】請求項11では、請求項10のその他の命
令は、条件分岐命令に対応する復帰命令を含み、さら
に、演算活性化制御手段は、演算結果判定手段の判定結
果を表わす信号および選択手段が選択した信号に基づい
てプログラムカウンタのアドレスを条件分岐するか否か
を判定する条件分岐判定手段を含んでいる。
【0026】請求項12では、請求項10の条件分岐命
令は、条件成立および条件不成立を伴い、その他の命令
は、復帰命令および条件分岐終了命令を含み、第1の生
成手段は、各演算手段の条件成立の動作状態を表わす信
号を生成し、さらに、演算活性化制御手段は、動作状態
保持手段が保持した信号および選択手段が選択した信号
に基づいて各演算手段の条件不成立の動作状態を表わす
信号を生成する第2の生成手段を含み、選択手段は、動
作状態保持手段が保持した信号、第1の生成手段が生成
した信号または第2の生成手段が生成した信号を選択す
る。
【0027】請求項13では、請求項12のさらに、演
算活性化制御手段は、演算結果判定手段の判定結果を表
わす信号および選択手段が選択した信号に基づいてプロ
グラムカウンタのアドレスを条件分岐するか否かを判定
する条件分岐判定手段と、演算結果判定手段の判定結果
を表わす信号および選択手段が選択した信号に基づいて
各演算手段の条件不成立の動作状態を表わす信号を生成
する第3の生成手段とを含み、選択手段は、動作状態保
持手段が保持した信号、第1の生成手段が生成した信
号、第2の生成手段が生成した信号または第3の生成手
段が生成した信号を選択する。
【0028】請求項14では、請求項12のさらに、演
算活性化制御手段は、動作状態保持手段が保持した信号
および選択手段が選択した信号に基づいてプログラムカ
ウンタのアドレスを条件分岐終了命令に対応するアドレ
スに変更するか否かを判定する条件分岐終了判定手段を
含んでいる。
【0029】請求項15では、請求項10の条件分岐命
令は、条件成立および条件不成立を伴い、その他の命令
は、復帰命令および条件分岐終了命令を含み、第1の生
成手段は、各演算手段の条件成立または条件不成立の状
態を表わす信号を生成し、さらに、演算活性化制御手段
は、動作状態保持手段が保持した信号および選択手段が
選択した信号に基づいて各演算手段の条件不成立または
条件成立の動作状態を表わす信号を生成する第2の生成
手段と、第1の生成手段が生成した信号と選択手段が選
択した信号とが一致するか否かを検出する検出手段と、
検出手段の検出結果を表わす信号を保持する検出結果保
持手段とを含んでいる。
【0030】請求項16では、請求項12のさらに、演
算活性化制御手段は、演算結果判定手段の判定結果を表
わす信号および選択手段が選択した信号に基づいて各演
算手段の条件不成立の動作状態を表わす信号を生成する
第3の生成手段と、第1の生成手段が生成した信号と選
択手段が選択した信号とが一致するか否かを検出する第
1の検出手段と、第3の生成手段が生成した信号と選択
手段が選択した信号とが一致するか否かを検出する第2
の検出手段と、第1の検出手段の検出結果または第2の
検出手段の検出結果を表わす信号を保持する検出結果保
持手段とを含み、選択手段は、動作状態保持手段が保持
した信号、第1の生成手段が生成した信号、第2の生成
手段が生成した信号または第3の生成手段が生成した信
号を選択する。
【0031】
【作用】請求項1の発明に係る条件分岐制御方法は、条
件分岐命令に応じて、各演算手段の条件分岐命令を実行
する前の動作状態での演算結果を所定の基準を満たすか
否かを判定し、条件分岐命令に応じて、条件分岐命令を
実行する前の動作状態を表わす信号を保持するととも
に、条件分岐命令を実行する前の動作状態および第1の
ステップでの判定結果に基づいて各演算手段の条件分岐
命令を実行した後の動作状態を決定し、条件分岐命令を
実行した後の動作状態で各演算手段の動作を制御し、そ
の他の命令に応じて、条件分岐命令を実行する前の動作
状態を表わす信号を復帰させることにより、各演算手段
のその他の命令を実行した後の動作状態を条件分岐命令
を実行する前の動作状態と同一にできる。
【0032】請求項2の発明に係る条件分岐制御方法
は、第1のルーチンの所定のアドレスで与えられる条件
分岐命令と、第2のルーチンの所定のアドレスで与えら
れる復帰命令とによって、復帰命令で終了する条件分岐
命令処理を可能とする。
【0033】請求項3の発明に係る条件分岐制御方法
は、第1のルーチンの第1のアドレスで与えられる条件
分岐命令と、第1のルーチンの第2のアドレスで与えら
れる条件分岐終了命令とによって、条件分岐命令に対し
て同一ルーチンの条件分岐終了命令で終了する条件分岐
命令処理を可能とする。
【0034】請求項4の発明に係る条件分岐制御方法
は、第1のルーチンの所定のアドレスで与えられる条件
分岐命令と、第2のルーチンの所定のアドレスで与えら
れる条件分岐終了命令とによって、条件分岐命令に対し
て異なるルーチンの条件分岐終了命令で終了する条件分
岐命令処理を可能とする。
【0035】請求項5の発明に係る条件分岐制御方法
は、ブレーク命令によって、条件分岐命令に関連した命
令を途中で終了させることができる。
【0036】請求項6の発明に係る条件分岐制御方法
は、プログラムカウンタのアドレスを第1のステップで
の判定結果に応じて第1のルーチンのアドレスのみで変
更させることにより、条件分岐させない。
【0037】請求項7の発明に係る条件分岐制御方法
は、条件分岐命令に応じて、各演算手段の条件分岐命令
を実行する前の動作状態での演算結果が所定の基準を満
たすか否かを判定し、条件分岐命令に応じて、条件分岐
命令を実行する前の動作状態を表わす信号を保持すると
ともに、条件分岐命令を実行する前の動作状態および第
1のステップでの判定結果に基づいて各演算手段の条件
分岐命令を実行した後の条件成立または条件不成立の動
作状態を決定し、条件分岐命令を実行した後の条件成立
または条件不成立の動作状態で各演算手段の動作を制御
し、復帰命令に応じて、条件分岐命令を実行する前の動
作状態および条件分岐命令を実行した後の条件成立また
は条件不成立の動作状態に基づいて各演算手段の復帰命
令を実行した後の条件不成立または条件成立の動作状態
を決定し、復帰命令を実行した後の条件不成立または条
件成立の動作状態で各演算手段の動作を制御し、条件分
岐終了命令に応じて、条件分岐命令を実行する前の動作
状態を表わす信号を復帰させることにより、各演算手段
の条件分岐終了命令を実行した後の動作状態を条件分岐
命令を実行する前の動作状態と同一にできる。
【0038】請求項8の発明に係る条件分岐制御方法
は、第1のルーチンの第1のアドレスで与えられる条件
分岐命令、第2のルーチンの第2のアドレスで与えられ
る復帰命令および第1のルーチンの第3のアドレスで与
えられる条件分岐終了命令に対して、プログラムカウン
タのアドレスを第1のステップでの判定結果または第5
のステップで決定された条件成立もしくは条件不成立の
動作状態に応じて、第1のルーチンのみでまたは第2の
アドレスから第3のアドレスに変更することにより、条
件分岐命令および復帰命令間の処理または復帰命令およ
び条件分岐終了命令間の処理を省くことができる。
【0039】請求項9の発明に係る条件分岐制御方法
は、第1のルーチンの第1のアドレスで与えられる条件
分岐命令、第2のルーチンの第2のアドレスで与えられ
る復帰命令および第2のルーチンの第3のアドレスで与
えられる条件分岐終了命令に対して、第2のステップで
含まれる条件分岐命令を実行する前の動作状態が活性化
した各演算手段の演算結果が基準を満たすか否かを表わ
す判定信号を保持することにより、プログラムカウンタ
のアドレスを保持された判定信号に応じて、第1のアド
レスまたは第3のアドレスから第1のルーチンの第1の
次のアドレスに変更できる。
【0040】請求項10の発明に係る条件分岐制御装置
は、プログラムカウンタ制御手段にプログラムカウンタ
のアドレスを変更制御させ、演算活性化制御手段の演算
結果判定手段に各演算手段の動作によって得られる演算
結果が所定の基準を満たすか否かを判定させ、演算活性
化制御手段の動作状態保持手段に各演算手段の条件分岐
命令を実行する前の動作状態を表わす信号を保持させ、
演算活性化制御手段の第1の生成手段に演算結果判定手
段の判定結果を表わす信号および動作状態保持手段が保
持した信号に基づいて各演算手段の条件分岐命令を実行
した後の動作状態を表わす信号を生成させ、演算活性化
制御手段の選択手段に動作状態保持手段が保持した信号
または第1の生成手段が生成した信号を各演算手段の動
作を活性化するか否かを表わす信号として選択させるこ
とにより、各演算手段の動作を活性化するか否かを制御
できる。
【0041】請求項11の発明に係る条件分岐制御装置
は、演算活性化制御手段の条件分岐判定手段に演算結果
判定手段の判定結果を表わす信号および選択手段が選択
した信号に基づいてプログラムカウンタのアドレスを条
件分岐するか否かを判定させることができる。
【0042】請求項12の発明に係る条件分岐制御装置
は、第1の生成手段に各演算手段の条件成立の動作状態
を表わす信号を生成させ、さらに演算活性化制御手段の
第2の生成手段に動作状態保持手段が保持した信号およ
び選択手段が選択した信号に基づいて各演算手段の条件
不成立の動作状態を表わす信号を生成させ、選択手段に
動作状態保持手段が保持した信号、第1の生成手段が生
成した信号または第2の生成手段が生成した信号を選択
させることができる。
【0043】請求項13の発明に係る条件分岐制御装置
は、演算活性化制御手段の条件分岐判定手段に演算結果
判定手段の判定結果を表わす信号および選択手段が選択
した信号に基づいてプログラムカウンタのアドレスを条
件分岐するか否かを判定させ、演算活性化制御手段の第
3の生成手段に演算結果判定手段の判定結果を表わす信
号および選択手段が選択した信号に基づいて各演算手段
の条件不成立の動作状態を表わす信号を生成させ、選択
手段に動作状態保持手段が保持した信号、第1の生成手
段が生成した信号、第2の生成手段が生成した信号、ま
たは第3の生成手段が生成した信号を選択させることが
できる。
【0044】請求項14の発明に係る条件分岐制御装置
は、演算活性化制御手段の条件分岐終了判定手段に動作
状態保持手段が保持した信号および選択手段が選択した
信号に基づいてプログラムカウンタのアドレスを条件分
岐終了命令に対応するアドレスに変更するか否かを判定
させることができる。
【0045】請求項15の発明に係る条件分岐制御装置
は、第1の生成手段に各演算手段の条件成立または条件
不成立の動作状態を表わす信号を生成させ、演算活性化
制御手段の第2の生成手段に動作状態保持手段が保持し
た信号および選択手段が選択した信号に基づいて各演算
手段の条件不成立または条件成立の動作状態を表わす信
号を生成させ、演算活性化制御手段の検出手段に第1の
生成手段が生成した信号と選択手段が選択した信号とが
一致するか否かを検出させ、演算活性化制御手段の検出
結果保持手段に検出手段の検出結果を表わす信号を保持
させることができる。
【0046】請求項16の発明に係る条件分岐制御装置
は、演算活性化制御手段の第3の生成手段に演算結果判
定手段の判定結果を表わす信号および選択手段が選択し
た信号に基づいて各演算手段の条件不成立の動作状態を
表わす信号を生成させ、演算活性化制御手段の第1の検
出手段に第1の生成手段が生成した信号と選択手段が選
択した信号とが一致するか否かを検出させ、演算活性化
制御手段の第2の検出手段に第3の生成手段が生成した
信号と選択手段が選択した信号とが一致するか否かを検
出させ、演算活性化制御手段の検出結果保持手段に第1
の検出手段の検出結果または第2の検出手段の検出結果
を表わす信号を保持させ、選択手段に動作状態保持手段
が保持した信号、第1の生成手段が生成した信号、第2
の生成手段が生成した信号、または第3の生成手段が生
成した信号を選択させることができる。
【0047】
【実施例】図1は、この発明の第1の実施例による条件
分岐制御方法を示すフロー図である。以下、この図1を
参照して、SIMD型プロセッサの条件分岐制御方法に
ついて説明する。
【0048】n個の並列演算ユニットPEは、PEマス
ク信号によってシーケンス制御部から与えられる制御信
号を受け取るか否かを選択し、制御信号を受け取らない
場合には演算を行なわない。また並列演算ユニットPE
は、演算結果による内部状態、たとえば結果がオーバフ
ロー、あるいは0、あるいは負数といった状態によって
フラグを生成する。
【0049】条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。プログラムカウンタPCには、条件分岐
命令によって与えられる分岐先命令アドレスが与えられ
る。同時に、この条件分岐処理が終了して最初に実行す
べき命令アドレスである条件分岐命令の次の命令アドレ
スをPCスタックに退避させる。
【0050】また、条件判定が成立した並列演算ユニッ
トPEのみが、分岐した後にシーケンス制御部からの制
御信号を受け取るように、PEマスク信号が活性化さ
れ、不成立の並列演算ユニットPEに対するPEマスク
信号は活性化されない。そして、この条件分岐命令によ
って不活性となったPEマスク信号が、この条件分岐終
了が終了した後に再び活性化されるために、この条件分
岐命令が与えられた時点におけるPEマスク信号をPE
マスクスタックに退避させる。PEマスクスタックに対
するポインタもPCスタックに対するポインタと同一の
ものであり、両者の退避が行なわれた後に値が1つ更新
される。
【0051】プログラムカウンタPCは、分岐先アドレ
ス以後の命令を順次指示し、その間並列演算ユニットP
Eは前記条件が成立し、PEマスク信号が活性化してい
るもののみが演算を実行する。その後、条件分岐処理が
終了したことを示す復帰命令が与えられると、スタック
ポインタは値を1つ減少させる。スタックポインタの変
更に伴い、PCスタックからは退避されていた前記条件
分岐命令の次の命令アドレスが読出され、PEマスクス
タックからは条件分岐命令以前に活性化していた並列演
算ユニットPEを表わすPEマスク信号が読出される。
その後は、前記条件分岐命令が与えられる以前の状態が
再現され、順次命令が実行される。
【0052】図2は、図1に示した条件分岐制御方法を
具体的に説明するためのプログラムカウンタのアドレス
値を示す分岐フロー図であり、図3は、図2における分
岐処理をより具体的に説明するための図である。
【0053】図2に示すように命令は、プログラムカウ
ンタPCのアドレス値が更新されることによって順次実
行される。また、図3に示すように、並列演算ユニット
PEは4個(PE1、PE2、PE3、PE4)で、初
期状態においてすべての並列演算ユニットPEはPEマ
スク信号が1であり、スタックポインタは0である。P
Eマスク信号は、各並列演算ユニットPEにそれぞれ1
ビットが与えられることにより、この場合は4ビットと
なる。
【0054】PC(プログラムカウンタのアドレス値)
=aにおいて、第1の条件分岐命令が与えられると、次
のPC値は命令によって与えられる分岐先アドレスbと
なる。また、並列演算ユニットPEの状態判定が行なわ
れ、命令によって与えられる条件が成立した2つの並列
演算ユニットPE(PE1およびPE2)のPEマスク
信号は現在のPEマスク信号との論理積をとって1とな
る。同様に、条件が成立しなかった2つのPE(PE3
およびPE4)のPEマスク信号は現在のPEマスク信
号との論理積をとって0となる。この第1の条件分岐命
令処理復帰後に実行すべき命令アドレスを記憶するため
に、PCスタックのスタックポインタが0で指示される
位置にa+1が退避される。同様に、復帰後に分岐前の
活性化PE状態が復元されるために、PEマスクスタッ
クのスタックポインタが0で指示される位置に、4ビッ
トPEマスク信号=1111が退避される。スタックポ
インタは、次の分岐に備えて値を1つ更新して1とす
る。
【0055】プログラムカウンタPCがb以後の命令を
指示している間、並列演算ユニットPE1およびPE2
のみがPEマスク信号が1で、演算を実行する。そし
て、PC=cで、第2の条件分岐命令が与えられる。次
のPC値は命令によって与えられる分岐先アドレスdと
なる。またPE状態の判定が行なわれ、命令によって与
えられる条件が成立した並列演算ユニットPE1のPE
マスク信号は現在のPEマスク信号との論理積をとって
1となり、条件が成立しなかった並列演算ユニットPE
2のPEマスク信号は現在のPEマスク信号との論理積
をとって0となる。この第2の条件分岐命令処理復帰後
に実行すべき命令アドレスを記憶するために、PCスタ
ックのスタックポインタが1で指示される位置にc+1
が退避される。同様に、復帰後に分岐前の活性化PE状
態が復元されるために、PEマスクスタックのスタック
ポインタが1で指示される位置に4ビットPEマスク信
号=0011が退避される。スタックポインタは、次の
分岐に備えて値を1つ更新して2とする。
【0056】プログラムカウンタPCがd以後の命令を
指示している間、並列演算ユニットPE1のみがPEマ
スク信号が1で、演算を実行する。そして、PC=e
で、第2の条件分岐命令が終了したことを意味する第2
の復帰命令が与えられる。まずスタックポインタは、そ
の値を1つ減少させて1とする。次のPC値は、PCス
タックのスタックポインタが1で指示される位置から、
第2の条件分岐命令実行時に退避されたc+1に復帰さ
れる。同様に、PEマスクスタックのスタックポインタ
が1で指示される位置から、第2の条件分岐命令実行以
前に活性であった並列演算ユニットPEを表わす4ビッ
トPEマスク信号=0011が復帰される。
【0057】プログラムカウンタPCがc+1以後の命
令を指示している間、第1の条件分岐命令によって活性
化した並列演算ユニットPE1およびPE2のみが演算
を実行する。そして、プログラムカウンタPC=fで、
第1の条件分岐命令が終了したことを意味する第1の復
帰命令が与えられる。まずスタックポインタは、その値
を1つ減少させて0となる。次のPC値は、PCスタッ
クのスタックポインタ=0で指示される位置から、第1
の条件分岐命令実行時に退避されたa+1が復帰され
る。同様に、PEマスクスタックのスタックポインタ=
0で指示される位置から、第1の条件分岐命令実行以前
に活性であった並列演算ユニットPEを表わす4ビット
PEマスク信号=1111が復帰され、第1の条件分岐
命令以前の状態が再現される。そのため、プログラムカ
ウンタPCは、a+1以後の命令を指示し、演算が続け
られる。
【0058】以上のように、この発明の第1の実施例に
おける条件分岐制御方法においては、PEマスク信号、
PEマスクスタック、PCスタックを用いて、条件分岐
命令が与えられるたびに、PC値、PEマスク信号をス
タックに退避する。したがって、条件分岐処理中にたと
えば異なる条件分岐が発生するネスティングに容易に対
処可能なSIMDプロセッサを構築できる。
【0059】図4は、この発明の第2の実施例による条
件分岐制御装置を示す図であり、図5は、図4のシーケ
ンス制御部を示したブロック図である。
【0060】図4および図5を参照して、シーケンス制
御部51は、条件分岐制御装置53を制御する。条件分
岐制御装置53は、プログラムカウンタを制御するPC
制御部55と、スタックポインタ57と、PEマスク制
御部59とを含んでいる。
【0061】このような条件分岐制御装置53を制御す
るシーケンス制御部51は、図5に示すようにPC制御
部55の出力である信号PCが入力される命令メモリ7
5と、命令メモリ75からの命令および分岐命令等が入
力されるデコーダ77とを含んでいる。そして、デコー
ダ77からPC制御部55を制御するPC制御信号、分
岐先アドレス、スタックポインタ57を制御するスタッ
クポインタ制御信号、PEマスク制御部59を制御する
PEマスク制御信号、条件コードccが出力される。
【0062】デコーダ77からのPC制御信号および分
岐先アドレスが入力されるPC制御部55は、インクリ
メンタ61と、PCスタック63と、選択回路65とを
含む。選択回路65には、デコーダ77からの分岐先ア
ドレスと、インクリメンタ61の出力と、PCスタック
63の出力が入力され、その三者が選択してプログラム
カウンタPCのアドレス値として出力される。インクリ
メンタ61は、選択回路65が出力するPC値に1を加
算した結果を選択回路65に出力するとともに、PCス
タック63の書込データとしても出力する。PCスタッ
ク63は、スタックポインタ57によって指示されるア
ドレスに対して、インクリメンタ61の出力を書込み、
選択回路65に出力する。
【0063】これに対して、デコーダ77からPEマス
ク制御信号および条件コードccが入力されるPEマス
ク制御部59は、PEマスクスタック67と、PE状態
判定器69と、AND回路71と、選択回路73とを含
んでいる。
【0064】PEマスクスタック67は、スタックポイ
ンタ57によって指示されるアドレスに対して、PEマ
スク信号を書込み、選択回路73にデータを出力する。
PE状態判定器69は、並列演算ユニットPEから状態
フラグf1,f2,…,fnが入力され、シーケンス制
御部51から条件分岐命令実行時に与えられる条件コー
ドccを満たすか否かの判定を行なう。そして、条件を
満たすフラグを生成している並列演算ユニットPEに対
しては、以後の制御信号を受け取ることができるように
する。このために、選択回路73には、選択回路73が
出力した現在のPEマスク信号とPE状態判定器69の
判定結果を表わす信号とがそれぞれAND回路71に入
力され、AND回路71の出力が選択回路73に入力さ
れている。同様に、条件を満たさないフラグが生成され
ている並列演算ユニットPEに対しては、以後の制御を
無効にするために、選択回路73が出力する現在のPE
マスク信号とPE状態判定器69との論理積がAND回
路71で求められ、AND回路71は、その論理積を表
わす信号を選択回路73に出力している。したがって、
選択回路73は、条件を満たすフラグを生成している並
列演算ユニットPEに対してはPEマスク値=1(活
性)を出力でき、条件を満たさないフラグを生成してい
る並列演算ユニットPEに対してはPEマスク値=0
(不活性)を出力できる。
【0065】条件分岐命令および復帰命令以外の命令に
対して、PCはインクリメンタ11によって、その値を
1つずつ更新していく。まず、シーケンス制御部51が
条件分岐命令をデコーダ77でデコードすると、選択回
路65が命令によって与えられる分岐先アドレスを出力
するためにPC制御信号がデコーダ77から出力され
る。PCスタック63には、条件分岐命令のPC値がイ
ンクリメンタ61によって値を1つ更新された条件分岐
命令の次の命令アドレス値が、スタックポインタ4によ
って指示されるアドレスに書込まれる。また、PEマス
ク制御部59では、PE状態判定器69によって条件判
定された結果とPEマスク信号とがAND回路71に入
力され、PEマスク信号としてAND回路71の出力が
選択回路23で選択されて出力される。PEマスクスタ
ック67には、スタックポインタ57によって指示され
るアドレスに条件分岐命令実行直前のPEマスク信号が
書込まれる。
【0066】条件分岐命令によってPC値が分岐先アド
レスに変更された後は、PC値がインクリメンタ61に
よって値を1つずつ更新され、PEマスク信号は最も新
しい条件判定命令によるPE状態判定結果を維持する。
そのため、n個の並列演算ユニットPEに対して選択的
に演算が実行される。
【0067】そして、条件分岐命令からの復帰命令が与
えられると、スタックポインタ57はその値を1つ減少
させ、その値はPEスタック63およびPEマスクスタ
ック67の読出アドレスとなる。選択回路65は、PC
スタック63から読出された、この復帰命令と対となる
条件分岐命令実行時に退避した条件分岐命令アドレスの
次のアドレスを出力する。
【0068】同様にして、選択回路73は、PEスタッ
ク67から読出された条件分岐命令実行直前のPEマス
ク信号を出力する。したがって、条件分岐命令実行直前
に活性であった並列演算ユニットPEに対しても、以後
の命令を実行可能とする状態が復帰される。
【0069】以上のように、第2の実施例による条件分
岐制御装置においては、条件分岐命令実行時に、PC値
をPCスタック63に退避すると同時に、PEマスク信
号をもPEマスクスタック67に退避する。そのため、
たとえば条件分岐処理中に異なる条件分岐命令が発生す
るネスティングに容易に対処可能なSIMDプロセッサ
が実現される。
【0070】図6は、この発明の第3の実施例による条
件分岐制御方法を示すフロー図である。以下、この図6
を参照して、SIMDプロセッサの条件分岐制御方法を
説明する。
【0071】条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。プログラムカウンタPCには、条件分岐
命令によって与えられる分岐先命令アドレスが与えられ
る。同時に、この条件分岐処理が終了して最初に実行す
べき命令アドレスである条件分岐処理命令の次の命令ア
ドレスが、PCスタックにおいてスタックポインタの指
定する位置に退避される。
【0072】また、条件判定が成立した並列演算ユニッ
トPEのみが、分岐した後にシーケンス制御部からの制
御信号を受け取るためにPEマスク信号が活性化され、
不成立の並列演算ユニットPEに対するPEマスク信号
は不活性となる。この条件分岐命令によって不活性とな
った並列演算ユニットPEは、条件分岐処理を終了した
後に再び活性となる必要がある。そのため、条件判定以
前のPEマスク信号が、PEマスクスタックにおいてス
タックポインタが指示する位置に退避される。PEマス
クスタックに対するポインタは、PCスタックに対する
ポインタと同一のものであり、両者の退避が行なわれた
後に値が1つ更新される。
【0073】プログラムカウンタPCは、分岐先アドレ
ス以後の命令を順次指示し、その間並列演算ユニットP
Eにおいて、前記条件が成立しPEマスク信号が活性化
しているもののみが演算を実行する。
【0074】その後、条件成立側の分岐処理が終了した
ことを示す復帰命令が与えられると、PCスタックから
はスタックポインタの値よりも1小さいポインタ値で指
示される位置により、退避された前記条件分岐命令の次
のアドレスが読出される。復帰されたアドレス以後、条
件分岐終了命令が与えられるまでは、前記条件分岐命令
実行直前には活性であったが、前記条件分岐が不成立で
あった並列演算ユニットPEに対する条件不成立側の命
令が実行される。このために、PEマスク信号は、PE
マスクスタックから復帰したPEマスク信号と、条件成
立側実行時のPEマスク信号の反転信号との積によって
得られる。
【0075】条件分岐終了命令が与えられると、スタッ
クポインタは値を1つ減少させ、PEスタックから前記
条件分岐命令実行時に退避されたPEマスク信号が復帰
され、前記条件分岐命令が与えられる以前に活性化して
いた並列演算ユニットPEが活性化状態となる。
【0076】図7は、図6に示した条件分岐制御方法を
具体的に説明するための分岐フロー図であり、図8は、
図7に示した条件分岐処理をより具体的に説明するため
の図である。
【0077】図7および図8を参照して、具体的処理動
作について説明する。図7に示すように命令は、プログ
ラムカウンタPCのPC値が更新されることによって順
次実行される。また、図8に示すように、並列演算ユニ
ットPEは4個(PE1、PE2、PE3、PE4)
で、初期状態においてすべての並列演算ユニットPE
は、PEマスク信号が1(活性)であり、スタックポイ
ンタは0である。PEマスク信号は、各並列演算ユニッ
トPEにそれぞれ与えられるので、4ビットである。
【0078】PC=aにおいて、第1の条件分岐命令が
与えられると、次のPC値は命令によって与えられる分
岐先アドレスbとなる。また並列演算ユニットPEの状
態判定が行なわれ、命令によって与えられる条件が成立
した2つの並列演算ユニットPE(PE1およびPE
2)のPEマスク信号は、現在のPEマスク信号との論
理積をとって1となる。これに対して、条件が成立しな
かった2つのPE(PE3およびPE4)のPEマスク
信号は、現在のPEマスク信号との論理積をとって0と
なる。この第1の条件分岐命令が成立した場合に実行す
べき処理が終了されて、その後に実行されるべき処理は
第1の条件分岐命令不成立に対しての処理である。した
がって、第1の条件分岐命令不成立の場合に実行される
命令の先頭アドレスである第1の条件分岐命令の次のア
ドレスa+1が、PCスタックのスタックポインタ=0
の位置に退避される。同様に、第1の条件分岐処理終了
後に分岐前のPE活性化状態が復元されるために、PE
マスクスタックのスタックポインタ=0の位置に、PE
マスク信号=1111が退避される。スタックポインタ
は、次の分岐に備えて値を1つ更新して1とする。
【0079】プログラムカウンタPCがb以後の命令を
指示している間、並列演算ユニットPE1およびPE2
のみがPEマスク信号=1で、演算を実行する。そし
て、PC=cで第2の条件分岐命令が与えられる。次の
PC値は、命令によって与えられる分岐先アドレスdと
なる。また、PE状態の判定が行なわれ、命令によって
与えられる条件が成立した並列演算ユニットPE1のP
Eマスク信号は1となる。これに対して、条件が成立し
なかった並列演算ユニットPE2のPEマスク信号は0
となる。この第2の条件分岐の成立側処理実行後に行な
う処理は、第2の条件分岐不成立側の処理である。その
ため、第2の条件分岐不成立側の命令列の先頭アドレス
であるc+1が、PCスタックのスタックポインタ=1
の位置に退避される。第2の条件分岐処理終了後に分岐
前のPE活性化状態が復元されるために、PEマスクス
タックのスタックポインタ=1で指定される位置に現在
のPEマスク信号=0011が退避される。スタックポ
インタは、次の分岐に備えた値を1つ更新して2とす
る。
【0080】プログラムカウンタPCがd以後の命令を
指示している間、並列演算ユニットPE1のみがPEマ
スク信号=1であるので、並列演算ユニットPE1のみ
が演算を実行する。そして、PC=eで、第2の条件分
岐成立側の条件処理が終了したことを意味する第2の復
帰命令が与えられる。次のPC値は、PCスタックのス
タックポインタよりも1小さい値の1で指示される位置
から、第2の条件分岐命令実行時に退避されていたc+
1が復帰される。c+1以後の命令は、第2の条件分岐
不成立側の処理であるので、PEマスク信号は、第2の
条件分岐命令実行直前は活性化であり、かつ、第2の条
件分岐命令によって不活性となったPEのみが活性化し
なければならない。したがって、PEマスク信号は、第
2の復帰命令実行時のPEマスク信号の反転信号=11
10と、PEマスクスタックのスタックポインタよりも
1小さい値の1で指示される位置から復帰される第2の
条件分岐命令実行直前のPEマスク信号=0011との
積によって得られ、0010となる。
【0081】PC=fにおいて、第2の条件分岐終了命
令が与えられ、第2の条件分岐不成立側の処理が終了す
る。まず、スタックポインタは、その値を1つ減少させ
て1となる。ここでPEの活性状態は、第2の条件分岐
が実行される直前の状態に復元する必要がある。そのた
め、PEマスク信号はマスクスタックのスタックポイン
タ=1で指示される位置から復帰されて0011とな
る。第2の条件分岐終了命令実行以後のPC=f+1か
ら第1の条件分岐成立側の処理終了を意味する第1の復
帰命令が与えられるまで、PEマスク信号はPC=bか
らcまでと同じ0011で、第1の条件分岐成立の並列
演算ユニットPEのみが演算を実行する。そして、PC
=gで、第1の復帰命令が与えられると、次のPC値
は、PCスタックのスタックポインタよりも1小さい値
の0で指示される位置から、第1の条件分岐命令実行時
に退避されたa+1が復帰される。a+1以後の命令
は、第1の条件分岐不成立側の処理である。そのため、
PEマスク信号は、第1の条件分岐命令実行直前は活性
化であり、かつ、第1の条件分岐命令によって不活性と
なった並列演算ユニットPEのみが活性化とならなけれ
ばならない。したがって、PEマスク信号は、第1の復
帰命令実行時のPEマスク信号の反転信号=1100
と、PEマスクスタックのスタックポインタ=0で指示
される位置から復帰される第1の条件分岐命令実行直前
のPEマスク信号=1111との積によって得られ、1
100となる。
【0082】PC=hにおいて、第1の条件分岐終了命
令が与えられ、第1の条件分岐不成立側の処理が終了す
る。まず、スタックポインタは、その値を1つ減少させ
て0となる。ここで並列演算ユニットPEの活性状態
は、第1の条件分岐が実行される直前の状態に復元され
る必要がある。そのため、PEマスク信号は、PEマス
クスタックのスタックポインタ=0で指示される位置か
ら復帰されて1111となる。したがって初期状態のす
べての並列演算ユニットPEが活性な状態に復帰する。
【0083】以上のように、第3の実施例による条件分
岐制御方法においては、PEマスク信号、PEマスクス
タック、PCスタックを用い、条件分岐命令が与えられ
るたびにスタックポインタの値を更新してPC値、PE
マスク信号を退避して命令が与えられる分岐先アドレス
に分岐して条件成立側の命令を実行する。さらに、条件
成立側命令の終了命令が与えられると、PC値がPCス
タックから復帰されるとともに、この条件分岐で不活性
となったPEマスク信号が条件成立時のPEマスク信号
とPEマスクスタックから復帰されたPEマスク信号と
によって生成されて条件不成立側の命令が実行される。
さらに、条件分岐終了命令が与えられると、PEマスク
スタックからPEマスク信号が復帰されて条件分岐命令
実行直前のPE活性状態に戻る。したがって、たとえば
条件分岐処理中に異なる条件分岐が発生するネスティン
グに容易に対処可能となり、かつif−else命令に
相当する条件分岐成立側と不成立側との2つの分岐に対
処可能なSIMDプロセッサが構築される。
【0084】図9は、この発明の第4の実施例による条
件分岐制御装置を示す図である。図9を参照して、図4
に示した第2の実施例による条件分岐制御装置と異なる
部分について特に説明する。
【0085】条件分岐制御装置79は、PC制御部55
と、スタックポインタ57とに加えて、図4のPEマス
ク制御部59に相当するPEマスク制御部81と、デク
リメンタ83とを含む。PEマスク制御部81は、PE
マスクスタック67,PE状態判定器69,AND回路
71および選択回路73に加えて、インバータ回路85
およびAND回路87とを含む。そして、スタックポイ
ンタ57の出力はデクリメンタ83に入力され、デクリ
メンタ83からPCスタック63およびPEマスクスタ
ック67にスタックポインタ57の値を1つ小さくした
値を表わす信号が入力される。ここで、インバータ回路
85,AND回路87は、並列演算ユニットPEの数と
同一の数が設けられる。すなわち、たとえば並列演算ユ
ニットPEがn個設けられれば、インバータ回路85お
よびAND回路87もn個設けられる。
【0086】インバータ回路85には、選択回路73の
出力が入力される。そして、AND回路87には、PE
マスクスタック67の出力とインバータ回路85の出力
が入力される。AND回路87の出力は選択回路73に
入力される。したがって、選択回路73はPEマスクス
タック67の出力と、AND回路87の出力と、AND
回路71の出力を選択して出力する。
【0087】条件分岐命令および復帰命令以外の命令に
対して、PC値はその値をインクリメンタ61によって
1つずつ更新される。まず、シーケンス制御部51が条
件分岐命令をデコードすると、選択回路65が命令によ
って与えられる分岐先アドレスを出力するようにシーケ
ンス制御部51から制御信号が出力される。PCスタッ
ク63には、条件分岐命令のPC値がインクリメンタ6
1によって値が1つ更新された条件分岐命令の次の命令
アドレスが、スタックポインタ57によって指示される
アドレスに書込まれる。また、PEマスク制御部81で
は、PE状態判定器69によって条件判定された結果と
現在のPEマスク信号とがAND回路71に入力されて
いる。AND回路71はその論理積を選択回路73に出
力しているので、選択回路73はPEマスク信号として
出力できる。PEマスクスタック67には、条件分岐命
令実行直前のPEマスク信号がスタックポインタ57に
よって指示されるアドレスに書込まれる。
【0088】条件分岐命令によってPC値が分岐先アド
レスに変更された後は、PC値のその値はインクリメン
タ61によって1つずつ更新される。そして、PEマス
ク信号は最も新しい条件判定命令によるPE状態判定結
果を維持する。n個の並列演算ユニットPEのうち条件
が成立した並列演算ユニットPEに対して選択的に演算
が実行される。
【0089】そして、条件成立側からの復帰命令が与え
られると、スタックポインタ57の出力がデクリメンタ
83によって1つ減少させられる。そしてその値がPC
スタック63およびPEマスクスタック67の読出アド
レスとなる。選択回路65は、PCスタック63から読
出された、この復帰命令と対となる条件分岐命令実行時
に退避された条件分岐命令アドレスの次のアドレスを出
力する。PEマスク制御部81では、PEマスクスタッ
ク67から読出された条件分岐命令実行直前のPEマス
ク信号と、前記条件成立のPEマスク信号がインバータ
回路85を介して反転したものとのビット積がAND回
路87で得られる。そのため、このAND回路87の出
力は、条件不成立の並列演算ユニットPEのみを活性化
させるPEマスク信号として選択回路73により選択出
力される。
【0090】前記条件不成立側の演算は、PC値がイン
クリメンタ61の値の更新によって、PEマスク信号が
活性化されている前記条件不成立の並列演算ユニットP
Eのみで順次実行されていく。そして、次に、前記条件
不成立側の命令列の終了を、すなわち前記条件分岐全体
の終了を意味する条件分岐終了命令が与えられる。その
ことに応じて、スタックポインタ57は、デクリメンタ
83によってその値を1つ減少させ、PEマスク制御部
81において、PEマスク信号は、デクリメンタ83に
よって指示される位置から前記条件分岐命令実行直前の
PE活性状態が復帰されて選択回路73により選択出力
される。
【0091】以上のように、この発明の第4の実施例に
よる条件分岐制御回路装置においては、PEマスク信
号、PEマスクスタック、PCスタックを用い、条件分
岐命令が与えられるたびにスタックポインタの値を更新
してPC値、PEマスク信号を退避して命令で与えられ
る分岐先アドレスに分岐して条件成立側の命令が実行さ
れる。さらに、条件成立命令の終了命令が与えられる
と、PC値がPCスタックから復帰されるとともに、こ
の条件分岐で不活性となった並列演算ユニットPEへの
PEマスク信号が条件成立時のPEマスク信号とPEマ
スクスタックから復帰させたPEマスク信号とによって
生成されて、条件不成立側の命令が実行される。さら
に、条件分岐終了命令が与えられると、PEマスクスタ
ックからPEマスク信号が復帰されて条件分岐命令実行
直前のPE活性状態に戻される。そのため、たとえば条
件分岐処理中に異なる条件分岐が発生するネスティング
に容易に対処可能な、かつif−else命令に相当す
る条件分岐成立側と不成立側との2つの分岐に対処可能
なSIMDプロセッサが実現される。
【0092】図10は、この発明の第5の実施例による
条件分岐制御方法を示すフロー図である。以下、この図
10を参照して、SIMDプロセッサの条件分岐制御方
法を説明する。
【0093】条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。ここで、条件分岐命令実行直前において
活性であった並列演算ユニットPEのフラグがすべて指
定された条件コードccに当てはまらない場合がある。
その場合には、強制的に次のPC値を分岐先アドレスに
しても、すべての並列演算ユニットPEが不活性である
ので、分岐処理は無駄な処理となる。そのため、PE状
態判定結果によって、PEマスク信号がすべて不活性を
指示する場合には、分岐を行なわず、そのままPC値を
更新していく。
【0094】このことについて図2を用いて具体的に説
明する。第1の条件分岐命令によっても、PEマスク信
号がすべて不活性である場合には、アドレスaからアド
レスbに分岐せず、アドレスaは次のアドレスであるa
+1に続行される。このことは、さらにアドレスcで与
えられる第2の条件分岐命令に対しても同様である。
【0095】これに対して、1つでも条件が成立する並
列演算ユニットPEが存在するならば、図1に示した第
1の実施例と同様にして分岐処理が行なわれる。
【0096】以上のように、この発明の第5の実施例に
よる条件分岐制御方法では、条件判定結果により、その
直前に活性であった並列演算ユニットPEがすべて不活
性となる場合には分岐が行なわれない。そのため、不必
要な処理が行なわれることがないので、高速な処理の可
能となったSIMDプロセッサが構築される。
【0097】図11は、この発明の第6の実施例による
条件分岐制御装置を示す図であり、図12は、図11の
0判定器を示した図である。以下、図4に示した第1の
実施例と異なる部分について特に説明する。
【0098】条件分岐制御装置89は、PC制御部5
5、PEマスク制御部59およびスタックポインタ57
に加え、さらに0判定器91を有する。PC制御部5
5、PEマスク制御部59およびスタックポインタ57
は、図4に示した第2の実施例と同様であり、基本的な
動作は同じである。
【0099】0判定器91は、図12に示すように、P
Eマスク信号とPE状態判定器69の出力とのビット積
をとるAND回路93と、そのAND回路93の出力が
0であるか否かを判定する一致検出器95とを含み、そ
の一致検出結果が得られたときスタックポインタ57に
対して制御信号を出力する。
【0100】条件分岐命令が与えられると、PE状態判
定器69は、フラグが条件コードccに当てはまるか否
かの判定を行なう。そして、各並列演算ユニットPE対
応のnビット出力をAND回路71に出力する。この出
力は、状態判定結果が当てはまった場合には1であり、
当てはまらない場合には0である。そして、AND回路
71は、PE状態判定器69の出力とともに入力される
選択回路73の出力との間で論理積をとり、選択回路7
3に出力する。同時に、PE状態判定器69の出力はA
ND回路71のみならず、0判定器91にも入力され
る。さらに、選択回路73からは現在活性である並列演
算ユニットPEを示すPEマスク信号も0判定器91に
入力される。
【0101】0判定器91において、この2つの入力の
ビット積がAND回路93で演算され、現在活性である
並列演算ユニットPEの条件判定結果が不成立であれば
その積は0となる。そして、このビット積がnビットす
べて0である場合は、現在活性であるすべての並列演算
ユニットPEが条件不成立であることを表わしている。
そこで、PC値を分岐先アドレスに変更して条件成立側
の命令列が実行されても、並列演算ユニットPEは1つ
も演算を実行しない。したがって、この場合には、0判
定器91の出力を受けて、スタックポインタ57は値を
インクリメントせず、PEマスク信号は変更されず、ま
た選択回路65はインクリメンタ61の出力を選択して
PC値を分岐させない。このことにより、条件分岐命令
入力時のPE活性状態で、そのままPC値が更新され、
演算が実行される。
【0102】以上により、この発明の第6の実施例によ
る条件分岐制御装置では、条件判定結果により、その直
前に活性であった並列演算ユニットPEがすべて不活性
となる場合には、分岐が行なわれない。そのため、たと
えば不必要な処理を行なうことなく高速な処理が可能な
SIMDプロセッサが構築される。
【0103】図13は、この発明の第7の実施例による
条件分岐制御方法を示すフロー図である。以下、この図
13を参照して、SIMDプロセッサの条件分岐制御方
法について説明する。
【0104】条件分岐命令が与えられると、まずPCス
タックには条件成立側の分岐処理を実行した後に実行さ
れるべき条件不成立側からの命令列の先頭アドレスがP
Cスタックに退避される。この先頭アドレスは、条件分
岐命令アドレスの次のアドレスである。同時に、スタッ
クポインタは、その値を1つ更新させる。また、前記条
件分岐命令入力以前に与えられた演算命令によって、各
並列演算ユニットPEの生成したフラグが、条件分岐命
令によって指定された条件コードccの条件に当てはま
るか否かのPE状態判定が行なわれる。
【0105】ここで、条件分岐命令実行直前において、
活性である並列演算ユニットPEのフラグがすべて指定
された条件コードccに当てはまらない場合には、強制
的に次のPC値が分岐先アドレスとされても、すべての
並列演算ユニットPEが不活性であるので、分岐処理が
無駄な処理となる。そこで、PE状態判定結果によって
PEマスク信号がすべて不活性を指示する場合には、分
岐が行なわれず、そのままPCの値が更新されていく。
条件分岐命令入力直前に不活性であった並列演算ユニッ
トPEと条件判定結果によって不活性に変更された並列
演算ユニットPEがPE状態判定結果の判定によって得
られる。そして、PE状態判定結果の反転信号とPEマ
スク信号とのビット積がとられることにより、この条件
判定で不活性化した並列演算ユニットPEのみが抽出さ
れる。したがって、条件不成立側の命令列が実行される
ためのPEマスク信号が得られる。
【0106】このことを図7を用いて具体的に説明す
る。第1の条件分岐命令が与えられたアドレスaから分
岐先アドレスbに分岐することなく、次のa+1にアド
レスが変更されることである。同様に第2の条件分岐命
令が与えられるアドレスcにおいても同様である。
【0107】一方、1つでも条件が成立する並列演算ユ
ニットPEが存在するならば、図6に示した第3の実施
例と同様にして分岐処理が行なわれる。そして条件成立
側の処理終了を意味する復帰命令が与えられると、スタ
ックから状態が復帰されて、条件成立側の処理が実行さ
れる。
【0108】以上により、この発明の第7の実施例によ
る条件分岐制御方法では、条件判定結果により、その直
前に活性であった並列演算ユニットPEがすべて不活性
となる場合には、分岐が行なわれない。そのため、不必
要な処理が行なわれず、if−else分に相当する条
件分岐処理が高速に実現可能となる。
【0109】図14は、この発明の第8の実施例による
条件分岐制御装置を示す図である。以下、図9に示した
第4の実施例と異なる部分について特に説明する。
【0110】図14において、この条件分岐制御装置9
7は、PC制御部55と、図9のPEマスク制御部81
に相当するPEマスク制御部99と、デクリメンタ83
とを含み、さらに0判定器91をも含む。この0判定器
91は、図11に示した第6の実施例と同様であるため
説明を省略する。
【0111】PEマスク制御部99では、さらにインバ
ータ回路103と、AND回路107とが含まれてい
る。インバータ回路103にはPE状態判定器69の出
力が入力される。インバータ回路103の出力と選択回
路73の出力はともにAND回路107に入力され、そ
の出力が選択回路73に入力される。したがって、選択
回路73は、PEマスクスタック67、AND回路87
の出力、AND回路107の出力、AND回路71の出
力をPEマスク信号として選択出力する。
【0112】条件分岐命令が与えられると、まずPEマ
スクスタック67は、スタックポインタ57によって指
示される位置に現在のPEマスク信号を退避させ、スタ
ックポインタ57はその値を1つ更新する。そして、P
E状態判定器69は、フラグが条件コードccに当ては
まるか否かの判定を行なう。そして、各並列演算ユニッ
トPE対応のnビット出力がAND回路71、インバー
タ回路103、0判定器91のそれぞれに入力される。
この入力された信号は、フラグが条件コードccに当て
はまった場合には1であり、当てはまらない場合には0
である。同時に、現在活性中である並列演算ユニットP
Eを表現するPEマスク信号も選択回路73によって0
判定器91に与えられる。
【0113】0判定器91は、この2つの入力のビット
積を演算し、現在活性中である並列演算ユニットPEの
条件判定結果が不成立であればその積を0とする。そし
てこのビット積がnビットすべて0である場合は、現在
活性であるすべての並列演算ユニットPEが条件不成立
であることが表わされている。したがって、PC値を分
岐先アドレスに変更して条件成立側の命令列が実行され
ても、並列演算ユニットPEは1つも演算を実行しな
い。
【0114】そこでこの場合、0判定器91の出力を受
けて、選択回路65はインクリメンタ61の出力を選択
し、分岐することなく、条件不成立側の命令列が実行さ
れる。また、インバータ回路103を介したPE状態判
定器69の出力の反転と選択回路73の出力する現在の
PEマスク信号とのビット積がAND回路107によっ
て得られるので、そのAND回路107の出力が選択回
路73によって選択出力される。
【0115】0判定器91は、すべての並列演算ユニッ
トPEが不活性となっていないことを検出すると、図1
1に示した第6の実施例と同様の動作が行なわれる。
【0116】以上のように、第8の実施例による条件分
岐制御装置では、条件判定結果により、その直前に活性
であった並列演算ユニットPEがすべて不活性となる場
合には、分岐が行なわれない。そのため、不必要な処理
が行なわれず、if−else分に相当する条件分岐処
理を高速に実現可能とする。
【0117】図15は、この発明の第9の実施例による
条件分岐制御方法を示すフロー図である。以下、この図
15を参照して、SIMDプロセッサの条件分岐制御方
法について説明する。
【0118】条件分岐命令が与えられると、図6に示し
た第3の実施例と同様に、条件不成立側の命令列を実行
するための分岐先からの復帰命令が与えられるまで条件
成立側の命令列が実行される。そして、PEマスクスタ
ックからの復帰データと条件成立側実行時のPEマスク
信号とから条件不成立側の並列演算ユニットPEを活性
化することのできるPEマスク信号が得られる。
【0119】ここで、PEマスク信号がすべて不活性す
なわち条件不成立の並列演算ユニットPEが1つも存在
しない場合には、次のPC値がPCスタックから復帰さ
れて順次命令が実行されても、すべての並列演算ユニッ
トPEが不活性であるので、条件不成立側の処理は無駄
な処理となる。そこで、復帰命令に条件分岐終了命令ア
ドレスも記述し、復帰命令入力の結果、PEマスク信号
がすべて不活性を指示する場合には、強制的に復帰命令
によって与えられる条件分岐終了命令アドレスに分岐す
る。
【0120】このことについて図7を用いて具体的に説
明すると、第1の復帰命令によってアドレスgは第1の
条件分岐命令が与えられた次のアドレスであるa+1に
復帰されるべきである。しかし、復帰命令入力後のPE
マスク信号がすべて不活性であることにより、アドレス
gはアドレスhに復帰されて、第1の条件分岐終了命令
が与えられる。同様に、第2の復帰命令が与えられるア
ドレスeも第2の復帰命令入力後のPEマスク信号がす
べて不活性である場合にはアドレスeはアドレスfに復
帰される。そして、アドレスfで第2の条件分岐終了命
令が与えられる。
【0121】これに対し、復帰命令実行時に1つでも条
件不成立側を実行する活性な並列演算ユニットPEが存
在する場合には、図6に示した第3の実施例と同様にし
て条件分岐終了命令が与えられるまで条件不成立側の演
算が実行される。
【0122】そして、条件分岐終了命令によって条件不
成立の並列演算ユニットPEの有る無しに関係なく、P
Eマスク信号がPEマスクスタックから復帰される。こ
れにより、条件分岐命令実行以前のPE活性状態が復元
され、以後の順次命令が実行される。
【0123】以上により、この発明の第9の実施例によ
る条件分岐制御方法では、条件成立側の終了を意味する
復帰命令に不成立側を含めたこの条件分岐全体の終了命
令が存在するアドレスを記述し、復帰命令実行時に条件
不成立の並列演算ユニットPEが存在しない場合には、
強制的に条件分岐全体の終了命令アドレスまで分岐させ
る。これにより、不必要な処理が行なわれることなく、
if−else分に相当する条件分岐処理が高速に実現
可能となる。
【0124】図16は、この発明の第10の実施例によ
る条件分岐制御装置を示す図である。以下、図9に示し
た第4の実施例と異なる部分について特に説明する。
【0125】図16に示す条件分岐制御装置113は、
PE制御部55と、スタックポインタ57と、デクリメ
ンタ84と、PEマスク制御部81とを含み、さらに0
判定器91とインバータ回路119を含んでいる。イン
バータ回路119には、選択回路73の出力が入力され
る。そして0判定器91にはインバータ回路119の出
力とPEマスクスタック67の出力が入力される。0判
定器91はスタックポインタ57に判定結果を出力す
る。この0判定器91は図11および図12に示した0
判定器91と同様であるので、説明は省略する。
【0126】条件成立側の命令列を実行して復帰命令が
与えられるまでは、図11に示した第6の実施例と全く
同じ動作を行なう。そして、復帰命令が与えられると、
まずPEマスクスタック67は、スタックポインタ57
の出力を1つ小さくするデクリメンタ83の出力によっ
て指示された位置から退避されていた条件分岐命令実行
以前のPEマスク信号を復帰させる。そしてこの復帰さ
れたPEマスクスタック67の信号は0判定器31に入
力される。同時に、現在活性である並列演算ユニットP
Eを示すPEマスク信号がインバータ回路119を介し
て0判定器31に入力される。
【0127】0判定器91において、この2つの入力の
ビット積が演算される。この結果は、条件分岐不成立の
並列演算ユニットPEのマスク信号のみ抽出している。
nビットすべて0である場合は、すべての並列演算ユニ
ットPEが条件不成立であることが表わされている。そ
のため、PC値がPCスタック63から復帰されて条件
成立側の命令列が実行されても並列演算ユニットPEは
1つも演算を実行しない。そこでこの場合、0判定器9
1の出力を受けて、シーケンス制御部51から与えられ
る条件分岐全体の終了命令アドレスが分岐先アドレスと
して選択回路73から選択出力される。
【0128】0判定器91がすべての並列演算ユニット
PEが不活性となっていないことを検出すると、図11
に示した第6の実施例と同様の動作が行なわれる。いず
れの場合にも条件分岐終了命令が与えられると、PEマ
スクスタック67からPEマスク信号が復帰されて選択
回路73より選択出力され、条件分岐命令実行以前のP
E活性状態が再現される。
【0129】以上により、第10の実施例による条件分
岐制御装置では、条件成立側の終了を意味する復帰命令
に不成立側を含めたこの条件分岐全体終了命令が存在す
るアドレスを記述し、復帰命令実行時に条件不成立の並
列演算ユニットPEが存在しない場合には、強制的に条
件分岐全体の終了命令アドレスまで分岐させる。そのた
め、不必要な処理が行なわれることなく、if−els
e分に相当する条件分岐処理が高速に実現可能となる。
【0130】図17は、この発明の第11の実施例によ
る条件分岐制御方法を示すフロー図であり、図18は、
図17に示した条件分岐制御方法を具体的に説明するた
めのプログラムカウンタのアドレス値の条件分岐を示す
分岐フロー図である。以下、この図17および図18を
参照して、SIMDプロセッサの条件分岐制御方法につ
いて説明する。
【0131】プログラムカウンタPCがアドレス値とし
てaを指し、条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。
【0132】条件分岐によって処理すべき命令列は、分
岐先アドレスbからの条件成立側命令列に続いて条件成
立側からの復帰命令、それに続いて条件不成立側の命令
列、最後に条件分岐終了命令が記述されている。
【0133】プログラムカウンタPCには、条件分岐命
令によって与えられる条件が成立した場合に処理すべき
命令列の先頭アドレスbが与えられる。同時に、この条
件分岐処理が終了して最初に実行すべき命令アドレスで
ある条件分岐命令の次の命令アドレスa+1が、PCス
タックにおいてスタックポインタの指定する位置に退避
される。
【0134】また、条件判定時に活性化していてかつ条
件判定が成立した並列演算ユニットPEのみが、分岐し
た後にシーケンス制御部からの制御信号を受け取る必要
がある。そのため、PEマスク信号は、条件判定結果と
PEマスク信号の論理積がとれることによって、活性化
または不活性化が決定される。同時に、条件分岐命令を
実行する時点で活性化されていた並列演算ユニットPE
の条件判定結果がすべて条件成立の場合には、全PE活
性フラグがセットされる。そして、このセットされたこ
とを表わす信号は、全PE活性フラグスタックにおいて
スタックポインタが指示する位置に退避させる。
【0135】そして、この条件分岐命令によって不活性
となった並列演算ユニットPEが条件分岐処理を終了し
た後に再び活性となるように、条件判定以前のPEマス
ク信号は、PEマスクスタックにおいてスタックポイン
タが指示する位置に退避される。ポインタは、PCスタ
ック、全PE活性フラグスタック、およびPEマスクス
タックに対する退避が行なわれた後に値を1つインクリ
メントする。
【0136】プログラムカウンタPCは、分岐先アドレ
スb以後の条件成立側の命令を順次指示し、その間並列
演算ユニットPEの中で前記条件が成立しPEマスク信
号が活性化しているもののみが演算を実行する。
【0137】プログラムカウンタPCがcとなり、条件
成立側の分岐処理が終了したことを示す復帰命令が与え
られると、全PE活性フラグスタックからPE活性フラ
グがポップされる。この場合の全PE活性フラグスタッ
クに対する読出ポインタは、スタックポインタの値より
も1つ小さな値である。この全PE活性フラグがセット
状態ならば、PC=cで与えられた復帰命令に対応する
条件分岐命令の条件判定結果は、すべての並列演算ユニ
ットPEにおいて条件成立していたことを示している。
したがって、条件不成立側の命令列をプログラムカウン
タPCが順次指示しても、並列演算ユニットPEはすべ
て停止状態で処理を行なわない。そのため、その場合の
動作は処理時間の無駄を引き起こしてしまう。
【0138】そこで、全PE活性フラグがセット状態の
場合には、条件不成立側の命令列にプログラムカウンタ
PCを指示させず、条件分岐処理を終了させる。そし
て、スタックポインタがデクリメントされ、プログラム
カウンタPCのPC値がスタックポインタから復帰され
てa+1にし、以後順次プログラムカウンタPCのPC
値がインクリメントされる。また、PEマスク信号もP
Eマスクスタックからポップさせられ、条件分岐命令入
力時のPEマスク状態が再生される。
【0139】反対に、1つでも条件が不成立の並列演算
ユニットPEが存在していたことを示す、全PE活性フ
ラグが非セット状態ならば、プログラムカウンタPC
は、そのまま値をインクリメントさせてPC=c以後に
続く条件不成立側の命令を実行する。条件不成立側で活
性となる並列演算ユニットPEは、条件分岐命令入力直
前には活性であったが、条件分岐が不成立であった並列
演算ユニットPEである。したがって、PEマスク信号
は、PEマスクスタックから復帰したPEマスク信号
と、条件成立側実行時のPEマスク信号の反転信号との
論理積によって得られる。この場合のPEマスクスタッ
クに対する読出ポインタは、スタックポインタの値より
も1つ小さな値である。
【0140】条件不成立側が順次実行され、PC=dで
条件分岐終了命令が与えられると、スタックポインタが
デクリメントされ、プログラムカウンタPCにはPCス
タックから退避されておいた条件分岐命令の次の命令ア
ドレスa+1がポップして与えられる。また、PEマス
クスタックからPEマスク信号がポップされ、前記条件
分岐命令が与えられる以前の並列演算ユニットPEにお
ける活性化状態になる。
【0141】以上のように、この発明の第11の実施例
による条件分岐制御方法においては、分岐後の命令列
が、条件成立側命令列、復帰命令、条件不成立側命令
列、条件分岐終了命令の順で記述されている。また、活
性である並列演算ユニットPEに対する条件判定結果が
すべて成立したことを示す全PE活性フラグが生成され
ている。そのため、復帰命令実行時に、PE活性フラグ
がチェックされてすべての並列演算ユニットPEが成立
した場合には、条件不成立側命令列が実行されないで条
件分岐を終了させることができる。したがって、活性化
しているすべての並列演算ユニットPEは条件判定です
べて条件成立する場合の不必要な処理を実行せず、それ
に伴って処理時間の短縮化が可能なSIMDプロセッサ
の制御方法が提供される。
【0142】図19は、この発明の第12の実施例によ
る条件分岐制御装置を示す図である。以下、図9に示し
た第4の実施例と異なる部分について特に説明する。
【0143】この条件分岐制御装置129は、スタック
ポインタ57と、デクリメンタ83の他に、図9に示す
PE制御部55およびPEマスク制御部81のそれぞれ
に相当するPC制御部131およびPEマスク制御部1
33を含む。スタックポインタ57およびデクリメンタ
83については説明を省略する。
【0144】PC制御部131は、インクリメンタ6
1、PCスタック63および選択回路65に加えて、デ
コーダ139を有する。選択回路65には、制御信号が
デコーダ139より入力される。そのため、選択回路6
5は、命令をデコードしてシーケンス制御部51から与
えられる分岐先アドレス、インクリメンタ61およびP
Cスタック63の出力の中で1つを選択出力する。
【0145】PEマスク制御部133は、PEマスクス
タック67、PC状態判定器69、インバータ回路8
5、AND回路71,87および選択回路73に加え
て、一致検出器149と、全PE活性フラグスタック1
51と、デコーダ153とを有する。
【0146】PE状態判定器69は、n個の並列演算ユ
ニットPEから与えられる状態フラグf1〜fnが、シ
ーケンス制御部51から与えられる条件コードccに一
致するか否かの判定を個々の並列演算ユニットPEに対
して行なう。そして、一致する場合には1を表わす信号
がAND回路71に入力され、異なる場合には0を表わ
す信号がAND回路71に入力される。
【0147】選択回路73は、デコーダ153から入力
される制御信号に応じて、PEマスクスタック67の出
力、AND回路87の出力およびAND回路71の出力
のいずれかを1つ選択出力する。
【0148】一致検出器149は、入力されるAND回
路71の出力と選択回路73の出力との一致を検出し、
2つのnビット入力が同じ場合には1を表わす信号を全
PE活性フラグスタック151に、異なる場合には0を
表わす信号を全PE活性フラグスタック151に出力す
る。
【0149】全PE活性フラグスタック151は、一致
検出器149の出力をプッシュし、ポップした値を、全
PE活性フラグとしてデコーダ139,151に信号f
pe0として出力する。
【0150】さらに、デコーダ139にはシーケンス制
御部51からの制御信号c1が入力され、デコーダ15
3にはシーケンス制御部51からの制御信号c2が入力
されている。全PE活性フラグスタック151には、ス
タックポインタ57に出力信号spが入力され、デクリ
メンタ83の出力信号spbも入力されている。
【0151】以下、より詳細に説明する。条件分岐命
令、復帰命令、および条件分岐終了命令以外の命令に対
して、PC制御部131は、インクリメンタ61によっ
てその値を1つずつ更新していく。
【0152】まずシーケンス制御部51が条件分岐命令
をデコードすると、選択回路65が命令によって与えら
れる分岐先アドレスを出力するように、シーケンス制御
部51から制御信号c1がデコーダ139に入力され
る。PCスタック63には、条件分岐命令のPC値がイ
ンクリメンタ61によって値を1つ更新された条件分岐
命令の次の命令アドレス値が、スタックポインタ57の
出力信号spによって指示されるアドレスに書込まれ
る。また、PEマスク制御部133では、PE状態判定
器69の出力と条件分岐直前のマスク信号との論理積で
あるAND回路71の出力が、分岐後のPCマスク信号
として選択回路73から出力される。PEマスクスタッ
ク67には、スタックポインタ57の出力信号spによ
って指示されるアドレスに条件分岐命令実行直前のPE
マスク信号が書込まれる。
【0153】一方、一致検出器149は、現在のマスク
信号とAND回路71の出力との一致を検出する。そし
て、一致検出器149は、条件分岐直前のPEマスク信
号が1となっていた並列演算ユニットPEに対する条件
判定結果がすべて1で条件成立していた場合には1を出
力し、1つでも条件不成立の並列演算ユニットPEがあ
れば0を出力する。一致検出器149の出力は、全PE
活性フラグスタック151においてスタックポインタ5
7の出力信号spによって指示されるアドレスに書込ま
れる。そして、スタックポインタ57は、その値を1つ
インクリメントさせる。
【0154】条件分岐命令によってPC値が分岐先アド
レスに変更された後は、プログラムカウンタPCはイン
クリメンタ61によってその値を1つずつ更新する。そ
れに伴って、PEマスク信号は、選択回路73が選択す
る最も新しい条件判定命令によるPE状態判定結果とP
Eマスク信号との論理積がとられたAND回路71の出
力である。選択回路73は、AND回路71の出力を選
択し、n個の並列演算ユニットPEのうち条件が成立し
た並列演算ユニットPEに対して選択的に演算が実行さ
れる。
【0155】そして、条件成立側からの復帰命令が与え
られると、全PE活性フラグスタック151は、スタッ
クポインタの出力信号spよりも1小さい値であるデク
リメンタ83の出力信号spbによって指示される位置
から、復帰命令に対応する条件分岐命令を実行したとき
に書込んだ全PE活性フラグを読出す。
【0156】全PE活性フラグが1の場合には、条件不
成立の並列演算ユニットPEが1つも存在しないことが
示されている。したがって、復帰命令以後に続く条件不
成立側の命令列は実行される必要がない。そこで、スタ
ックポインタ57は、その値を1だけデクリメントさ
せ、条件分岐処理が終了して条件分岐以前の内部状態を
記憶していたスタックから値を読出し、そのスタックポ
インタ値を示す出力信号spを出力する。プログラムカ
ウンタPCは、PCスタック63においてスタックポイ
ンタの出力信号spが指示するアドレスから条件分岐命
令の次のアドレスが読出され、選択回路65はそのアド
レスを選択出力する。PEマスクスタック67において
スタックポインタの出力信号spが指示するアドレスか
ら条件分岐直前のPEマスク信号が読出され、選択回路
73はそのマスク信号を選択出力する。
【0157】全PE活性フラグが0の場合には、条件不
成立の並列演算ユニットPEが少なくとも1つは存在し
ていたことが示されている。そのため、復帰命令以後に
続く条件不成立側の命令列は実行されなければならな
い。そこで、プログラムカウンタPCは、そのままイン
クリメンタ61によって値がインクリメントされ続け
る。条件不成立側で活性化されるべき並列演算ユニット
PEは、条件分岐直前には活性化され、条件分岐によっ
て不活性化された並列演算ユニットPEである。そこ
で、条件成立側実行時のPEマスク信号がインバータ回
路85を介して得られる判定信号と、PEマスクスタッ
ク67においてスタックポインタの出力信号spが指示
するアドレスから読出された条件分岐直前のPEマスク
信号との論理積がAND回路87でとられている。選択
回路73はそのAND回路87の出力をPEマスク信号
として選択出力する。
【0158】条件不成立側の命令列が実行された後に条
件分岐終了命令がシーケンス制御部51に与えられる
と、プログラムカウンタPCのPC値はPCスタック6
3から条件分岐命令の次の命令アドレス値として復帰さ
れ、PEマスク信号はPEマスクスタック67から条件
分岐以前のPEマスク信号が復帰される。このような動
作は、条件成立側から復帰命令時に全PE活性フラグが
1であった場合と同様の動作である。
【0159】以上のように、この発明の第12の実施例
による条件分岐制御装置においては、PEマスク信号と
PE状態判定器69との論理積を表わす信号がPEマス
ク信号と一致するか否かが比較されている。そしてその
比較結果を表わす信号が全PE活性フラグスタックに退
避される。そして復帰命令に対して全PE活性フラグス
タックから全PE活性フラグが復帰されて、そのままプ
ログラムカウンタPCのPC値がインクリメントされ
て、条件不成立側命令列を実行するか否かの制御信号と
なる。したがって、活性化されているすべての並列演算
ユニットPEが条件判定ですべて条件成立する場合の不
必要な処理は実行されず、処理時間の短縮化が可能なS
IMDプロセッサが構築される。
【0160】図20は、この発明の第13の実施例によ
る条件分岐制御方法を示すフロー図であり、図21は、
図20に示した条件分岐制御方法を具体的に説明するた
めのプログラムカウンタのアドレス値を示す分岐フロー
図である。以下、この図20および図21を参照して、
SIMDプロセッサの条件分岐制御方法について説明す
る。
【0161】プログラムカウンタPCがアドレス値とし
てaを指し、条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。
【0162】条件分岐によって処理すべき命令列は、分
岐先頭アドレスbからの条件不成立側命令列に続いて条
件不成立側からの復帰命令、それに続いて条件成立側の
命令列、最後に条件分岐終了命令の順で記述されてい
る。
【0163】プログラムカウンタPCには、条件分岐命
令によって与えられる条件が成立しなかった場合に処理
すべき命令列の先頭アドレスbが与えられる。同時に、
この条件分岐処理が終了して最初に実行すべき命令アド
レスである条件分岐命令の次の命令アドレスa+1が、
PCスタックにおいてスタックポインタの指定する位置
に退避される。
【0164】また、条件判定実行時には活性化していた
にもかかわらず条件判定が成立しなかった並列演算ユニ
ットPEのみが、分岐後にシーケンス制御部からの制御
信号を受け取る必要がある。そのため、PEマスク信号
は、条件判定結果の反転信号と条件判定時のPEマスク
信号との論理積によって活性化または不活性化が決定さ
れる。同時に、条件分岐命令が実行される時点で活性化
されていた並列演算ユニットPEの条件判定結果がすべ
て条件不成立の場合には、全PE不活性フラグがセット
される。そして、セットされたことを表わす信号が全P
E不活性フラグスタックにおいてスタックポインタの指
示する位置に退避される。
【0165】そして、この条件分岐命令によって不活性
となった並列演算ユニットPEは条件分岐処理が終了し
た後に再び活性となる必要がある。そのため、条件判定
時のPEマスク信号が、PEマスクスタックにおいてス
タックポインタの指示する位置に退避される。ポインタ
は、PCスタック、全PE不活性フラグスタック、およ
びPCマスクスタックに対する退避が行なわれた後に、
値を1つインクリメントする。
【0166】プログラムカウンタPCは、分岐先アドレ
スb以後の条件不成立側の命令を順次実行し指示する。
その間並列演算ユニットPEの中で前記条件が不成立の
ためにPEマスク信号が活性化しているもののみが演算
を実行する。
【0167】プログラムカウンタPCがcとなり、条件
不成立側の分岐処理が終了したことを示す復帰命令が与
えられると、全PE不活性フラグスタックからは全PE
不活性フラグがポップされる。この場合の全PE不活性
フラグスタックに対する読出ポインタは、スタックポイ
ンタの値よりも1つ小さい値である。この全PE不活性
フラグがセット状態であるならば、PC=cで与えられ
た復帰命令に対応する条件分岐命令の条件判定結果は、
すべての並列演算ユニットPEにおいて条件不成立であ
る。そのため、プログラムカウンタPCが条件成立側の
命令列を順次指示しても、並列演算ユニットPEはすべ
て停止状態で処理を行なわない。その場合の動作は、処
理時間の無駄を引き起こす。
【0168】そこで、全PE不活性フラグがセット状態
の場合には、プログラムカウンタPCに条件成立側の命
令列を指示させず、条件分岐処理を終了させる。そし
て、スタックポインタがデクリメントされ、PC値がス
タックポインタからポップされてa+1となり、以後順
次プログラムカウンタPCがインクリメントされる。ま
た、PEマスク信号もPEマスクスタックからポップさ
れ、条件分岐命令入力時のPEマスク状態が再現され
る。
【0169】反対に、1つでも条件が成立した並列演算
ユニットPEが存在していたことを示す全PE不活性フ
ラグが非セット状態ならば、プログラムカウンタPC
は、その値をインクリメントさせてPC=c以後に続く
条件成立側の命令列を実行する。条件成立側で活性とな
る並列演算ユニットPEは、条件分岐命令実行直前には
活性であったにもかかわらず、条件分岐が成立であった
並列演算ユニットPEである。したがって、PEマスク
信号は、PEマスクスタックから復帰されたPEマスク
信号と、条件不成立側実行時のPEマスク信号との反転
信号との論理積によって得られる。この場合のPEマス
クスタックに対する読出ポインタは、スタックポインタ
の値よりも1つ小さな値である。
【0170】条件成立側が順次実行され、PC=dで条
件分岐終了命令が与えられると、スタックポインタはデ
クリメントされる。そして、プログラムカウンタPCに
は、PCスタックに退避された条件分岐命令の次の命令
アドレスa+1がポップして与えられる。また、PEマ
スク信号も、PEマスクスタックに退避されたPEマス
ク信号がポップされて与えられる。このようにして、前
記条件分岐命令が与えられる以前に活性化状態であった
並列演算ユニットPEが活性化状態になる。
【0171】以上のように、この発明の第13の実施例
による条件分岐制御方法においては、分岐後の命令列
が、条件不成立側命令列、復帰命令、条件成立側命令
列、条件分岐終了命令の順で記述されている。また、活
性である並列演算ユニットPEに対する条件判定結果が
すべて不成立であったことを示す全PE不活性フラグが
生成されている。そして復帰命令実行時に全PE不活性
フラグがチェックされ、すべての並列演算ユニットPE
が条件不成立の場合には条件成立側命令列が実行されず
に条件分岐が終了する。そのため、活性化しているすべ
ての並列演算ユニットPEが条件判定ですべて条件不成
立とする場合の不必要な処理が行なわれず、処理時間の
短縮化が可能なSIMDプロセッサの制御方法が構築さ
れる。
【0172】図22は、この発明の第14の実施例によ
る条件分岐制御装置を示す図である。以下、図19に示
した第12の実施例と異なる部分について特に説明す
る。
【0173】この実施例の条件分岐制御装置155は、
外部のシーケンス制御部51によって制御され、PC制
御部131、スタックポインタ57、デクリメンタ8
3、および図19に示したPEマスク制御部133に相
当するPEマスク制御部157を含む。PC制御部13
1、スタックポインタ57およびデクリメンタ83につ
いては説明を簡単にするために省略する。
【0174】PEマスク制御部157は、PEマスクス
タック67、PE状態判定器69、インバータ回路8
5、AND回路87,71、デコーダ153および一致
検出器149を含み、さらにインバータ159と全PE
不活性フラグスタック160を含む。インバータ159
は、入力されるPE状態判定器69の出力を反転させて
AND回路71に入力する。全PE不活性フラグスタッ
ク160は、一致検出器149の一致検出結果を退避さ
せてセット状態とし、そのセット状態を表わす信号fp
e1をデコーダ139およびデコーダ153に出力す
る。すなわち、全PE不活性フラグスタック160は、
一致検出器149の出力をプッシュし、ポップした値を
全PE不活性フラグとしてデコーダ139,153に出
力する。さらに、この全PE不活性フラグスタック16
0には、図19に示した全PE活性フラグスタック15
1と同様に、スタックポインタ57の出力信号spおよ
びデクリメンタ83の出力信号spbが入力されてい
る。
【0175】条件分岐命令、復帰命令、および条件分岐
終了命令以外の命令に対して、PC制御部131は、イ
ンクリメンタ61によってその値を1つずつ更新してい
く。
【0176】まず、シーケンス制御部51が条件分岐命
令をデコードすると、選択回路65が命令によって与え
られる分岐先アドレスを選択出力するようにシーケンス
制御部51から制御信号c1がデコーダ139に出力さ
れる。そしてインクリメンタ11によって条件分岐命令
のPC値が値を1つ更新され、その更新されたPC値が
条件分岐命令の次の命令アドレス値としてPCスタック
63にスタックポインタ57の出力信号spによって指
示されるアドレスに書込まれる。また、PEマスク制御
部157では、分岐後のPEマスク信号として、PE状
態判定器69の出力の反転信号であるインバータ159
の出力と条件分岐直前のPEマスク信号との論理積がA
ND回路71によって得られる。選択回路73は分岐後
のマスク信号として得られたAND回路71の出力を選
択出力する。PEマスクスタック67には、スタックポ
インタ57の出力信号spによって指示されるアドレス
に条件分岐命令実行直前のPEマスク信号が書込まれ
る。
【0177】また、PE状態判定結果の反転信号とPE
マスク信号との論理積を表わす信号であるAND回路7
1の出力とともに、現在のPCマスク信号が一致検出器
149に入力され、一致検出器149によって一致検出
が行なわれる。そして、一致検出器149は、条件分岐
直前のPCマスク信号が1となっていた並列演算ユニッ
トPEに対する条件判定結果がすべて0で条件不成立し
ていた場合には1を出力し、1つでも条件不成立の並列
演算ユニットPEがあれば0を出力する。一致検出器1
49の出力は、全PE不活性フラグスタック160にお
いて、スタックポインタ57の出力信号spによって指
示されるアドレスに書込まれる。そして、スタックポイ
ンタ57は、その値を1つインクリメントする。
【0178】条件分岐命令によってPC値が分岐先アド
レスに変更された後は、プログラムカウンタPCがイン
クリメンタ61によって値を1つずつ更新する。PEマ
スク信号は最も新しい条件判定命令によるPE状態判定
結果の反転信号であるインバータ回路159の出力とP
Eマスク信号との論理積によって得られるので、選択回
路73は、AND回路71の出力を選択出力する。この
ようにして、n個のPEのうち条件が成立しなかった並
列演算ユニットPEに対して選択的に演算が実行され
る。
【0179】そして、条件不成立側の復帰命令が与えら
れると、全PE不活性フラグスタック160は、スタッ
クポインタの出力信号spよりも1小さい値であるデク
リメンタ83の出力信号spbによって指示される位置
から、復帰命令に対応する条件分岐命令を実行したとき
に書込んだ全PE不活性フラグを読出す。
【0180】全PE不活性フラグが1の場合には、条件
成立の並列演算ユニットPEが1つも存在しなかったこ
とが示されているので、復帰命令以後に続く条件成立側
の命令列は実行される必要がない。そこで、スタックポ
インタ57は、その値を1だけデクリメントし、条件分
岐処理を終了して条件分岐以前の内部状態を記憶してい
たスタックから値を読出し、スタックポインタ値として
PCスタック63およびPEマスクスタック67に出力
する。PC値は、PCスタック63においてスタックポ
インタの出力信号spが指示するアドレスから条件分岐
命令の次のアドレスとして読出され、選択回路65はそ
のアドレスを選択出力する。PEマスク信号は、PEマ
スクスタック67においてスタックポインタの出力信号
spが指示するアドレスから条件分岐命令直前のPEマ
スク信号として読出される。選択回路73はその読出さ
れたPEマスク信号を選択出力する。
【0181】全PE不活性フラグが0の場合には、条件
成立の並列演算ユニットPEが少なくとも1つは存在し
ている。そのため、復帰命令以後に続く条件成立側の命
令列は実行されなければならない。そこで、PC値は、
そのままインクリメンタ61によってインクリメントさ
れ続ける。条件成立側で活性化されるべき並列演算ユニ
ットPEは、条件分岐直前には活性化され、条件分岐に
よって不活性化された並列演算ユニットPEである。そ
のため、条件不成立側実行時のPEマスク信号がインバ
ータ回路85を介して得られるその反転信号と、PEマ
スクスタック67においてスタックポインタの出力信号
spで指示されるアドレスから読出された条件分岐直前
のPEマスク信号との論理積がAND回路87でとられ
る。そして、選択回路73はAND回路87の出力を選
択出力する。
【0182】条件成立側の命令列が実行された後に条件
分岐終了命令がシーケンス制御部51に与えられると、
PC値はPCスタック63から条件分岐命令の次の命令
アドレス値として復帰され、PEマスク信号はPEマス
クスタック67から条件分岐以前のPEマスク信号とし
て復帰される。この動作は、条件不成立側から復帰命令
時に全PE不活性フラグが1であった場合と同様の動作
である。
【0183】以上のように、この発明の第14の実施例
による条件分岐制御装置においては、PEマスク信号と
PE状態判定器の出力の判定信号との論理積がPEマス
ク信号と一致するか否かが比較される。そして、その結
果が全PE不活性フラグスタックに退避される。復帰命
令に対して全PE不活性フラグスタックから全PE不活
性フラグが復帰されて、そのままPC値がインクリメン
トされて、条件成立側命令列を実行するか否かの制御信
号となる。そのため、活性化しているすべての並列演算
ユニットPEが条件判定ですべて条件不成立する場合の
不必要な処理が行なわれず、処理時間の短縮化が可能な
SIMDプロセッサが構築される。
【0184】図23は、この発明の第15の実施例によ
る条件分岐制御方法を示すフロー図であり、図24は、
図23に示した条件分岐制御方法を具体的に説明するた
めのプログラムカウンタのアドレス値を示す分岐フロー
図である。以下、この図23および図24を参照して、
SIMDプロセッサの条件分岐制御方法について説明す
る。
【0185】プログラムカウンタPCがアドレス値とし
てaを指し、条件分岐命令が与えられると、その時点で
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。
【0186】条件判定時に活性化していた並列演算ユニ
ットPEがすべて条件成立の場合には、全PE活性フラ
グがセットされる。全PE活性フラグのセットまたは非
セット状態は、全PE活性フラグスタックにおいてスタ
ックポインタの指定する位置にプッシュされる。また、
同時に条件判定時に活性化していた並列演算ユニットP
Eがすべて条件成立の場合には、全PE不活性フラグス
タックがセットされる。
【0187】PCスタックには、条件分岐処理が終了さ
れて最初に実行すべき命令アドレスである条件分岐命令
の次の命令アドレスa+1が、スタックポインタの指定
する位置に退避される。
【0188】PEマスクスタックには、条件分岐処理終
了後に条件判定時のPE活性化状態に戻すために、PE
マスク信号がスタックポインタの指定する位置に退避さ
れる。全PE活性フラグスタック、PEマスクスタック
およびPCスタックを退避した後に、スタックポインタ
が1だけインクリメントすることで、条件分岐処理のネ
スティングに備えられる。
【0189】条件分岐によって処理すべき命令列は、条
件成立側命令列が命令アドレスb0から記述され、条件
成立側命令列について条件成立側からの復帰命令、さら
にそれに続いて命令アドレスb1から条件不成立側の命
令列、最後に条件分岐終了命令の順で指示されている。
条件分岐命令によって、条件成立側の分岐先頭アドレス
b0および条件不成立側の分岐先頭アドレスb1が与え
られる。
【0190】条件判定の結果、条件判定時に活性化して
いた並列演算ユニットPEがすべて条件不成立の場合に
は、プログラムカウンタPCが条件成立側の命令列を順
次指示しても、すべての並列演算ユニットPEは動作し
ない。そのためその動作を発生させる条件成立側への分
岐は、処理時間の無駄を引き起こす。そこで、全PE活
性フラグがセット状態の場合には、プログラムカウンタ
PCに条件分岐命令によって与えられた条件不成立側命
令列の先頭アドレスb1が与えられ、分岐が実行され
る。条件判定結果の反転信号と判定時のPEマスク信号
の論理積によって分岐後のPEマスク信号が得られ、条
件判定時に活性化していてかつ条件判定が不成立した並
列演算ユニットPEのみが活性化される。
【0191】1つでも条件成立した並列演算ユニットP
Eが存在して、全PE不活性フラグが非セット状態の場
合には、プログラムカウンタPCに条件分岐命令によっ
て与えられた条件成立側命令列の先頭アドレスb0が与
えられ、分岐が実行される。そして、条件判定結果と判
定時のPEマスク信号の論理積によって分岐後のPEマ
スク信号が得られ、条件判定時に活性化していてかつ条
件判定が成立した並列演算ユニットPEのみが活性化さ
れる。
【0192】条件成立側に分岐すると、プログラムカウ
ンタPCは順次インクリメントされて条件成立側命令列
を指示する。条件が成立してPEマスク信号が活性化さ
れた並列演算ユニットPEのみが、プログラムカウンタ
PCが指示する演算を実行する。そしてPC=cとなっ
て、条件成立側の命令列が終了し、条件成立側からの復
帰命令が与えられる。
【0193】PC=cの復帰命令に対応する条件分岐命
令の条件判定結果が、条件判定時に活性化していた並列
演算ユニットPEのすべてで成立した場合には、プログ
ラムカウンタPCがPC=c以後に記述されている条件
不成立側の命令を指示しても、すべての並列演算ユニッ
トPEが不活性状態である。そのため、演算は行なわれ
ず、処理時間の無駄が発生する。そこで、条件不成立の
並列演算ユニットPEが存在しない場合には、この条件
分岐処理を終了させる。すなわち、プログラムカウンタ
PCが条件不成立側の命令列を指示しなければ、無駄な
処理がなくなる。
【0194】そこで、全PE活性フラグスタックから条
件判定時に退避されていた全PE活性フラグが復帰させ
られる。この場合の全PE活性フラグスタックに対する
読出のポインタ値は、スタックポインタよりも1だけ小
さい値である。
【0195】復帰された全PE活性フラグが、条件成立
の並列演算ユニットPEが1つも存在しないことを示す
全PE活性フラグセットの状態では、スタックポインタ
がデクリメントされる。そして、プログラムカウンタP
Cには、PCスタックにおいてスタックポインタが指示
する位置から条件分岐命令の次のアドレスa+1が復帰
される。同様に、PEマスク信号として、PEマスクス
タックにおいてスタックポインタが指定する位置から条
件分岐処理直前のPE活性化状態を表わすPEマスク信
号が復帰される。
【0196】復帰された全PE活性フラグが、1つでも
条件不成立の並列演算ユニットPEが存在したことを示
す全PE活性フラグ非セット状態の場合には、PC=c
の次の続く条件不成立側命令列が実行されるために、プ
ログラムカウンタPCのPC値はインクリメントされ
る。条件不成立側で活性となる並列演算ユニットPE
は、条件命令実行直前には活性であったが、条件分岐が
不成立であった並列演算ユニットPEである。したがっ
て、PEマスク信号は、PEマスクスタックから復帰し
たPEマスク信号と、条件成立側実行時のPEマスク信
号の反転信号との論理積によって得られる。この場合の
PEマスクスタックに対する読出ポインタは、スタック
ポインタの値よりも1つ小さい値である。
【0197】条件不成立側が順次実行され、PC=dで
条件分岐終了命令が与えられると、スタックポインタが
デクリメントされる。プログラムカウンタPCには、P
Cスタックに退避された条件分岐命令の次の命令アドレ
スa+1がポップして与えられる。また、PEマスク信
号も、PEマスクスタックに退避されたPEマスク信号
がポップされて与えられる。このようにして、条件分岐
命令が与えられる以前に活性化していた並列演算ユニッ
トPEが活性化状態になる。
【0198】以上のように、第15の実施例による条件
分岐制御方法においては、分岐命令に条件成立側命令列
の先頭命令アドレスと条件不成立側命令列の先頭命令ア
ドレスが記述され、分岐後の命令列が条件成立側命令
列、復帰命令、条件不成立側命令列、条件分岐終了命令
の順で記述されている。また、活性である並列演算ユニ
ットPEに対する条件判定結果がすべて成立したことを
示す全PE活性フラグとすべて不成立であったことを示
す全PE不活性フラグが生成されている。そして、全P
E不活性フラグがセットされている場合には条件不成立
側命令列への分岐が行なわれ、全PE不活性フラグがセ
ットされていない場合には条件成立側命令列への分岐が
行なわれる。復帰命令実行時に全PE活性フラグがチェ
ックされてすべての並列演算ユニットPEが条件成立の
場合には、条件不成立側命令列が実行されないで条件分
岐が終了する。したがって、活性化している並列演算ユ
ニットPEの条件判定結果が同じ場合の不必要な処理が
行なわれず、処理時間の短縮化が可能なSIMDプロセ
ッサの制御方法が構築される。
【0199】図25は、この発明の第16の実施例によ
る条件分岐制御装置を示す図である。以下、図19に示
した第12の実施例と異なる部分について特に説明す
る。
【0200】この条件分岐制御装置161は、スタック
ポインタ57およびデクリメンタ83を含み、さらに図
19のPC制御部131およびPEマスク制御部133
のそれぞれに相当するPC制御部163およびPEマス
ク制御部165を含む。
【0201】PC制御部163は、インクリメンタ61
およびPCスタック63を含み、さらに図19の選択回
路165およびデコーダ139のそれぞれに相当する選
択回路167およびデコーダ169を含む。選択回路1
67には、シーケンス制御部51から出力される条件成
立側分岐先アドレスおよび条件不成立側分岐先アドレス
が入力されている。デコーダ169には、シーケンス制
御部51から出力される制御信号c1の他に、全PE活
性フラグを表わす信号fpe0および全PE不活性フラ
グを表わす信号fpe1がともに入力されている。そし
てデコーダ169が選択回路167に制御信号を出力す
ることで、選択回路167は、条件成立側分岐先アドレ
ス、条件成立側分岐先アドレス、インクリメンタ61の
出力、PCスタック63の出力のいずれかを選択出力す
る。
【0202】PEマスク制御部165は、PEマスクス
タック67、PE状態判定器69、インバータ回路8
5,159、AND回路71a,71b,87、一致検
出器149a,149b、選択回路175、全PE活性
フラグスタック151およびデコーダ178を含む。A
ND回路71a、一致検出器149aは、図19に示す
AND回路71および一致検出器149と同一のもので
ある。また、選択回路175およびデコーダ178は図
19に示す選択回路73およびデコーダ153に相当す
る。したがって、この実施例においては、図19に示し
た第12の実施例と異なってインバータ回路159、A
ND回路71bおよび一致検出器149bが構成として
加えられている。
【0203】インバータ回路159にはPE状態判定器
69の出力が入力され、その出力がAND回路71bに
入力されている。AND回路71bの他方の入力には、
選択回路175が選択したPEマスク信号が入力されて
いる。そして、AND回路71bの出力は、選択回路1
75および一致検出器149bに入力されている。一致
検出器149bは、他の入力として、選択回路175が
選択したPEマスク信号も入力されているため、AND
回路71bの出力と選択回路175の選択出力を比較す
る。比較の結果、一致検出器149bは、全PE不活性
フラグfpe1をデコーダ169およびデコーダ178
に出力する。このようにして、選択回路175は、シー
ケンス制御部51の出力制御信号c2、全PE活性フラ
グスタック151からの全PE活性フラグfpe0およ
び一致検出器149bの出力する全PE不活性フラグf
pe1が入力されるデコーダ178によって制御され
る。制御された選択回路175は、PEマスクスタック
67の出力、AND回路87の出力、AND回路71a
の出力、およびAND回路71bの出力を選択出力す
る。
【0204】以下、より詳しく説明する。まず、シーケ
ンス制御部51が条件分岐命令をデコードすると、イン
クリメンタ11が条件分岐命令のPC値を1つ更新さ
せ、その条件分岐命令の次の命令アドレス値がPCスタ
ック12において、スタックポインタ57の出力信号s
pによって指示されるアドレスに書込まれる。また、P
Eマスクスタック67には、スタックポインタ57の出
力信号spによって指示されるアドレスに、条件分岐命
令実行直前のPEマスク信号が書込まれる。
【0205】また、PE状態判定結果とPEマスク信号
の論理積であるAND回路71aの出力が、一致検出器
71aによってPEマスク信号と一致するか否かが比較
される。そして、一致検出器149aは、条件分岐直前
のPEマスク信号が1となっていた並列演算ユニットP
Eに対する条件判定結果がすべて1で条件成立していた
場合には1を出力し、1つでも不成立の並列演算ユニッ
トPEがあれば0を出力する。一致検出器149aの出
力は、全PE活性フラグスタック151においてスタッ
クポインタ57の出力信号spによって指示されるアド
レスに書込まれる。同時に、PE状態判定結果の反転信
号とPEマスク信号の論理積であるAND回路71bの
出力が、一致検出器149bによってPEマスク信号と
一致するか否か比較される。そして、一致検出器149
bは、全PE不活性フラグとして、条件分岐直前のPE
マスク信号が1となっていた並列演算ユニットPEに対
する条件判定結果がすべて0で条件不成立であった場合
には1を出力し、1つでも条件不成立の並列演算ユニッ
トPEがあれば0を出力する。そして、スタックポイン
タ57は、その値を1つインクリメントする。
【0206】全PE不活性フラグが1の場合には、条件
成立の並列演算ユニットPEが1つも存在しないことが
示されている。そこで、条件成立側の命令列は実行され
る必要がない。そのため、PC値として、条件分岐命令
によって与えられる条件不成立側分岐先アドレスが、選
択回路167から選択出力される。PEマスク信号とし
て、PE状態判定結果の反転信号とPEマスク信号の論
理積であるAND回路71bの出力が、選択回路175
から選択出力される。これによって、条件分岐直前に活
性化していたが、条件不成立であった並列演算ユニット
PEが活性化される。
【0207】全PE不活性フラグが0の場合には、条件
成立の並列演算ユニットPEが少なくとも1つが存在し
ていることが示されている。そのため、条件成立側の命
令列が実行されなければならない。そこで、PC値とし
て、条件分岐命令によって与えられる条件成立側分岐先
アドレスが、選択回路167から選択出力される。PE
マスク信号として、PE状態判定結果とPEマスク信号
の論理積であるAND回路71aの出力が、選択回路1
75から選択出力される。これによって、条件分岐直前
によって活性化してかつ条件成立であった並列演算ユニ
ットPEが活性化される。
【0208】PC値が条件成立側分岐先アドレスに変更
された後は、プログラムカウンタPCはインクリメンタ
61によって値を1つずつ更新され、PEマスク信号は
最も新しい条件判定命令によるPE状態判定結果とPE
マスク信号との論理積であるAND回路71aの出力が
選択回路175によって選択される。そして、n個の並
列演算ユニットPEの中で条件が成立した並列演算ユニ
ットPEの選択的な演算が実行される。
【0209】そして、条件成立側から復帰命令が与えら
れると、全PE活性フラグスタック151は、スタック
ポインタの出力信号spよりも1小さい値であるデクリ
メンタ83の出力信号spbによって指示される位置か
ら、復帰命令に対応する条件分岐命令を実行したときに
書込まれた全PE活性フラグを読出す。
【0210】全PE活性フラグが1の場合には、条件不
成立の並列演算ユニットPEが1つも存在しなかったこ
とが示されている。そのため、復帰命令後に続く条件不
成立側の命令列は実行される必要がない。そこで、スタ
ックポインタ57は、その値を1つだけデクリメント
し、条件分岐処理が終了して条件分岐以前の内部状態が
記憶されていたスタックから値を読出し、スタックポイ
ンタ値として出力信号spを出力する。PC値は、PC
スタック63においてスタックポインタ57の出力信号
spが指示するアドレスから条件分岐命令の次のアドレ
スとして読出され、選択回路167はそれを選択出力す
る。PEマスク信号は、PEマスクスタック67におい
てスタックポインタ57の出力信号spが指示するアド
レスから条件分岐直前のPEマスク信号を読出し、選択
回路175がそれを選択出力する。
【0211】全PE活性フラグが0の場合には、条件成
立の並列演算ユニットPEが少なくとも1つは存在して
いたことが示されている。そのため、復帰命令以後に続
く条件不成立側の命令列は実行されなければならない。
そこで、PC値はそのままインクリメンタ61によって
値をインクリメントされ続ける。条件不成立側で活性化
されるべき並列演算ユニットPEは、条件分岐直前には
活性化され、条件分岐によって不活性化された並列演算
ユニットPEである。そこで、条件成立側実行時のPE
マスク信号がインバータ159を介して得られる反転信
号と、PEマスクスタック67においてスタックポイン
タ57の出力信号spよりも小さい値であるデクリメン
タ83の出力信号spbが指示するアドレスから読出さ
れた条件分岐直前のPEマスク信号との論理積であるA
ND回路71bが、PEマスク信号として選択回路17
5によって選択出力される。
【0212】条件不成立側の命令列が実行された後に条
件分岐終了命令がシーケンス制御部51に与えられる
と、PC値はPCスタック63から条件分岐命令の次の
命令アドレス値として復帰され、PEマスク信号はPE
マスクスタック67から条件分岐以前のPEマスク状態
に復帰される。この動作は、条件成立側から復帰命令時
に全PE活性フラグが1であった場合と同様の動作であ
る。
【0213】以上のように、この発明の第16の実施例
による条件分岐制御装置においては、条件分岐命令に対
してPEマスク信号とPE状態判定器の出力の判定信号
との論理積を表わす信号が、PEマスク信号と一致する
か比較され、その比較結果に応じて全PE不活性フラグ
が生成される。また、PEマスク信号とPE状態判定器
の出力との論理積を表わす信号が、PEマスク信号と一
致するか比較され、その結果が全PE活性フラグスタッ
クに退避される。そして条件分岐命令に対しては全PE
不活性フラグが条件成立側へ分岐するかまたは不成立側
へ分岐するかを選択する。さらに復帰命令に対して全P
E活性フラグスタックから全PE活性フラグが復帰さ
れ、そのままPC値がインクリメントされて条件不成立
側命令列が実行されるか否かの制御信号となる。そのた
め、活性化している並列演算ユニットPEの状態判定結
果が同じ場合の不必要な処理が行なわれることなく、処
理時間の短縮化が可能なSIMDプロセッサが構築され
る。
【0214】図26は、この発明の第17の実施例によ
る条件分岐制御方法を示すフロー図であり、図27は、
図26に示した条件分岐制御方法を具体的に説明するた
めのプログラムカウンタのアドレス値を示す分岐フロー
図である。以下、この図26および図27を参照して、
SIMDプロセッサの条件分岐制御方法について説明す
る。
【0215】プログラムカウンタPCがアドレス値とし
てaを指し、条件分岐命令が与えられると、それ以前に
与えられた演算命令によって各並列演算ユニットPEの
生成したフラグが、条件分岐命令によって指定された条
件コードccの条件に当てはまるか否かのPE状態判定
が行なわれる。
【0216】条件判定時に活性化していた並列演算ユニ
ットPEがすべて条件不成立の場合には、全PE不活性
フラグがセットされる。全PE不活性フラグのセットま
たは非セット状態は、全PE不活性フラグスタックにお
いてスタックポインタの指定する位置にプッシュされ
る。また同時に、条件判定時に活性化していた並列演算
ユニットPEがすべて条件成立の場合には、全PE活性
フラグがセットされる。
【0217】PCスタックには、条件分岐処理が終了さ
れて最初に実行すべき命令アドレスである条件分岐命令
の次の命令アドレスa+1が、スタックポインタの指定
する位置に退避される。
【0218】PEマスクスタックには、条件分岐処理終
了後に条件判定時のPE活性化状態に戻すために、PE
マスク信号がスタックポインタの指定する位置に退避さ
れる。全PE不活性フラグスタック、PEマスクスタッ
クおよびPCスタックが退避された後に、スタックポイ
ンタが1だけインクリメントされ、条件分岐処理のネス
ティングに備えられる。
【0219】条件分岐によって処理すべき命令列とし
て、条件不成立側命令列が命令アドレスb0から記述さ
れ、条件不成立側命令列に続いて条件不成立側からの復
帰命令、さらにそれに続いて命令アドレスb1から条件
成立側の命令列、最後に条件分岐終了命令が記述されて
いる。条件分岐命令によって、条件不成立側の分岐先頭
アドレスb0および条件成立側の分岐先頭アドレスb1
が与えられる。
【0220】条件判定の結果、条件判定時に活性化して
いた並列演算ユニットPEがすべて条件成立の場合に
は、プログラムカウンタPCが条件不成立側の命令列を
順次指示しても、すべての並列演算ユニットPEは動作
しない。そのため、条件成立側の分岐は処理時間の無駄
を引き起こす。そこで、全PE活性フラグがセット状態
の場合には、プログラムカウンタPCに条件分岐命令に
よって与えられた条件成立側命令列の先頭アドレスb1
を与えることによって、分岐が実行される。分岐以後の
PEマスク信号は、条件判定結果と判定時のPEマスク
信号の論理積によって得られる。そして、条件判定時に
活性化していてかつ条件判定が成立した並列演算ユニッ
トPEのみが活性化される。
【0221】1つでも条件不成立の並列演算ユニットP
Eが存在して、全PE活性フラグが非セット状態の場合
には、プログラムカウンタPCに条件分岐命令によって
与えられた条件不成立側命令列の先頭アドレスb0を与
えることによって分岐が実行される。分岐後のPCマス
ク信号は、条件判定結果の判定信号と判定時のPEマス
ク信号の論理積によって得られる。そして、条件判定時
に活性化していてかつ条件判定が不成立の並列演算ユニ
ットPEのみが活性化される。
【0222】条件不成立側への分岐が行なわれると、プ
ログラムカウンタPCは順次インクリメントされて条件
不成立側命令列を指示する。そして条件が不成立で並列
演算ユニットPEが活性化されている並列演算ユニット
PEのみが、プログラムカウンタPCが指示する演算を
実行する。そして、PC=cとなって、条件不成立側の
命令列が終了し、条件不成立側からの復帰命令が与えら
れる。
【0223】PC=cの復帰命令に対応する条件分岐命
令の条件判定結果が、条件判定時に活性化されていた並
列演算ユニットPEのすべてで不成立である場合には、
プログラムカウンタPCがPC=c以後に記述されてい
る条件成立側の命令を指示しても、すべての並列演算ユ
ニットPEが不活性状態である。そのため、すべての並
列演算ユニットPEでは演算が実行されず、処理時間の
無駄を引き起こす。そこで、条件成立の並列演算ユニッ
トPEが存在しない場合には、この条件分岐処理が終了
させられる。プログラムカウンタPCが条件成立側の命
令列を指示しないようにすれば、その分だけ無駄な処理
がなくなる。
【0224】そこで、全PE不活性フラグスタックから
条件判定時に退避されておいた全PE不活性フラグが復
帰させられる。この場合の全PE不活性フラグスタック
に対する読出ポインタの値は、スタックポインタよりも
1だけ小さい値である。
【0225】復帰された全PE不活性フラグが、条件成
立の並列演算ユニットPEが1つも存在しないことを示
す全PE不活性フラグセット状態の場合には、スタック
ポインタがデクリメントされる。そしてプログラムカウ
ンタPCには、PCスタックにおいてスタックポインタ
が指定する位置から条件分岐命令アドレスの次のアドレ
スa+1が復帰される。PEマスク信号には、PEマス
クスタックにおいてスタックポインタが指定する位置か
ら条件分岐処理直前のPE活性化状態が復帰される。
【0226】復帰された全PE不活性フラグが、1つで
も条件成立の並列演算ユニットPEが存在していないこ
とを示す全PE不活性フラグ非セット状態の場合には、
PC=cの次に続く条件成立側命令列が実行されるため
に、PC値はインクリメントされる。条件成立側で活性
となる並列演算ユニットPEは、条件分岐命令実行直前
には活性でかつ条件判定が成立であった並列演算ユニッ
トPEである。したがって、PEマスク信号は、PEマ
スクスタックから復帰したPEマスク信号と、条件不成
立側実行時のPEマスク信号の反転信号との論理積によ
って得られる。この場合のPEマスクスタックに対する
読出ポインタは、スタックポインタの値よりも1少ない
値である。
【0227】条件成立側が順次実行され、PC=dで条
件分岐終了命令が与えられると、スタックポインタがデ
クリメントされ、PC値にはPCスタックに退避された
条件分岐命令の次の命令アドレスa+1がポップして与
えられる。また、PEマスク信号も、PEマスクスタッ
クに退避されたPEマスク信号がポップして与えられ
る。このようにして、条件分岐命令が与えられる以前に
活性化していた並列演算ユニットPEが活性化状態にな
る。
【0228】以上により、この発明の第17の実施例に
よる条件分岐制御方法においては、分岐命令として条件
成立側命令列の先頭命令アドレスと条件不成立側命令列
の先頭命令アドレスが記述され、分岐以後の命令列とし
て条件不成立側命令列、復帰命令、条件成立側命令列、
条件分岐終了命令の順で記述されている。また、活性で
ある並列演算ユニットPEに対する条件判定結果がすべ
て成立したことを示す全PE活性フラグとすべて不成立
であったことを示す全PE不活性フラグが生成される。
全PE活性フラグがセットされている場合には条件成立
側命令列への分岐が行なわれ、全PE活性フラグがセッ
トされていない場合には条件不成立側命令列への分岐が
行なわれる。復帰命令実行時に全PE不活性フラグがチ
ェックされてすべての並列演算ユニットPEが条件不成
立の場合には、条件成立側命令列が実行されないで条件
分岐が終了される。そのため、活性化している並列演算
ユニットPEの条件判定結果が同じ場合の不必要な処理
が行なわれず、処理時間の短縮が可能なSIMDプロセ
ッサの制御方法が構築される。
【0229】図28は、この発明の第18の実施例によ
る条件分岐制御装置を示す図である。以下、図25に示
した第16の実施例と異なる部分について特に説明す
る。
【0230】この実施例の条件分岐制御装置179は、
外部のシーケンス制御部51によって制御され、PC制
御部163、スタックポインタ57、デクリメンタ83
および図25のPEマスク制御部165に相当するPE
マスク制御部181を含む。PC制御部163、スタッ
クポインタ57およびデクリメンタ83については説明
を簡単にするために省略する。
【0231】PEマスク制御部181は、PEマスクス
タック67、PE状態判定器69、インバータ回路8
5,159、AND回路71a,71b,87、一致検
出器149a,149b、選択回路175およびデコー
ダ178を含み、さらに図25の全PE活性フラグスタ
ック151の代わりに全PE不活性フラグスタック16
0を含む。全PE不活性フラグスタック160は、一致
検出器149bの出力をプッシュし、ポップした値を全
PE不活性フラグfpe1としてデコーダ169,18
1に出力する。
【0232】以下、具体的に動作について説明する。条
件分岐命令、復帰命令、および条件分岐終了命令以外の
命令に対して、PC制御部163は、インクリメンタ6
1によってその値を1つずつ更新していく。
【0233】まず、シーケンス制御部51が条件分岐命
令をデコードすると、PCスタック63には、インクリ
メンタ61によって値が1つ更新された条件分岐命令の
PC値の次の命令アドレス値が、スタックポインタ57
の出力信号spによって指示されるアドレスに書込まれ
る。また、PEマスクスタック67には、スタックポイ
ンタ57の出力信号spによって指示されるアドレスに
条件分岐命令実行直前のPEマスク信号が書込まれる。
【0234】PE状態判定結果とPEマスク信号の論理
積であるAND回路71aの出力が、一致検出器149
aによってPEマスク信号と一致するか比較される。一
致検出器149aは、全PE活性フラグとして、条件分
岐直前のPEマスク信号が1となっていた並列演算ユニ
ットPEに対する条件判定結果がすべて1で条件が成立
していた場合には1を出力し、1つでも条件不成立の並
列演算ユニットPEがあれば0を出力する。同時に、P
E状態判定結果の反転信号とPEマスク信号の論理積で
あるAND回路71bの出力が、一致検出器71bによ
ってPEマスク信号と一致するか比較される。一致検出
器149bは、条件分岐直前のPEマスク信号が1とな
っていた並列演算ユニットPEに対する条件判定結果が
すべて0で条件不成立であった場合には1を出力し、1
つでも条件不成立の並列演算ユニットPEがあれば0を
出力する。一致検出器149bの出力は、全PE不活性
フラグスタック160においてスタックポインタ57の
出力信号spによって指示されるアドレスに書込まれ
る。そして、スタックポインタ57はその値を1つイン
クリメントする。
【0235】全PE活性フラグが1の場合には、条件不
成立の並列演算ユニットPEが1つも存在しなかったこ
とが示されている。そのため、条件不成立側の命令列は
実行される必要がない。そこで、PC値として、条件分
岐命令によって与えられる条件成立側分岐先アドレス
が、選択回路167によって選択出力される。PEマス
ク信号としては、PE状態判定結果とPEマスク信号の
論理積であるAND回路71aの出力が、選択回路17
5によって選択出力される。これによって、条件分岐直
前に活性化していてかつ条件成立した並列演算ユニット
PEが活性化される。
【0236】全PE活性フラグが0の場合には、条件不
成立の並列演算ユニットPEが少なくとも1つが存在し
ていたことが示されている。そのため、条件不成立側の
命令列は実行されなければならない。そこで、PC値と
して、条件分岐命令によって与えられる条件不成立側分
岐先アドレスが、選択回路167によって選択出力され
る。PEマスク信号として、PE状態判定結果の反転信
号とPEマスク信号との論理積であるAND回路71b
の出力が、選択回路175によって選択出力される。こ
れによって条件分岐直前に活性化していてかつ条件不成
立であった並列演算ユニットPEが活性化される。
【0237】PC値が条件不成立側分岐先アドレスに変
更された後は、プログラムカウンタPCはインクリメン
タ61によって値を1つずつ更新する。PEマスク信号
は最も新しい条件判定命令によるPE状態判定結果の反
転信号とPEマスク信号との論理積であるAND回路7
1bの出力として得られる。そこで選択回路175はA
ND回路71bの出力を選択出力する。これによってn
個の並列演算ユニットPEのうち条件が不成立の並列演
算ユニットPEに対して選択的に演算が実行される。
【0238】そして、条件不成立側から復帰命令が与え
られると、全PE不活性フラグスタック160は、スタ
ックポインタの出力信号spよりも1小さい値であるデ
クリメンタ83の出力信号spbによって指示される位
置から、復帰命令に対する条件分岐命令を実行したとき
に書込んだ全PE不活性フラグを読出す。
【0239】全PE不活性フラグが1の場合には、条件
成立の並列演算ユニットPEが1つも存在しなかったこ
とが示されている。そのため、復帰命令以後に続く条件
成立側の命令列は実行される必要がない。そこで、スタ
ックポインタ57は、その値を1だけデクリメントし、
条件分岐処理を終了して条件分岐以前の内部状態が記憶
されていたスタックから値を読出し、スタックポインタ
値として信号spを出力する。PC値は、PCスタック
63においてスタックポインタ57の出力信号spが指
示するアドレスから条件分岐命令の次のアドレスを読出
し、選択回路167はそれを選択出力する。PEマスク
信号は、PEマスクスタック67においてスタックポイ
ンタ57の出力信号spが指示するアドレスから条件分
岐直前のPEマスク信号を読出し、選択回路175はそ
れを選択出力する。
【0240】全PE不活性フラグが0の場合には、条件
成立の並列演算ユニットPEが少なくとも1つは存在し
ていないことが示されている。そのため、復帰命令以後
に続く条件成立側の命令列は実行されなければならな
い。そこで、プログラムカウンタPCはそのままインク
リメンタ61によってその値をインクリメントされ続け
る。条件成立側で活性化されるべき並列演算ユニットP
Eは、条件分岐直前には活性化され、条件分岐によって
不活性化された並列演算ユニットPEである。そこで、
条件成立側実行時のPEマスク信号がインバータ85を
介すことによって得られる反転信号と、PEマスクスタ
ック67においてスタックポインタ57の出力信号sp
よりも1小さいデクリメンタ83の出力信号spbが指
示するアドレスから読出された条件分岐直前のPEマス
ク信号との論理積であるAND回路87の出力が、PE
マスク信号として選択回路175より選択出力される。
【0241】条件成立側の命令列が実行された後に条件
分岐終了命令がシーケンス制御部51に与えられると、
PC値はPCスタック63から条件分岐命令の次の命令
アドレス値として復帰される。PEマスク信号はPEマ
スクスタック67から条件分岐以前のPEマスク状態と
して復帰される。これらの動作は、条件不成立側から復
帰命令時に全PE不活性フラグが1であった場合と同様
の動作である。
【0242】以上のように、第18の実施例による条件
分岐制御装置においては、条件分岐命令に対してPEマ
スク信号とPE状態判定器出力との論理積を表わす信号
が、PEマスク信号と一致するか比較されて全PE活性
フラグが生成される。また、PEマスク信号とPE状態
判定器の出力の判定信号との論理積を表わす信号が、P
Eマスク信号と一致するか比較され、その結果が全PE
不活性フラグスタックに退避される。条件分岐命令に対
しては、全PE活性フラグが条件不成立側へ分岐するか
成立側へ分岐するかを選択する。また、復帰命令に対し
ては全PE不活性フラグスタックから全PE不活性フラ
グが復帰されて、そのままPC値がインクリメントされ
て条件成立側命令列が実行されるか否かの制御信号とな
る。そのため、活性化している並列演算ユニットPEの
条件判定結果が同じ場合の不必要な処理が行なわれず、
処理時間の短縮化が可能なSIMDプロセッサが構築さ
れる。
【0243】図29は、この発明の第19の実施例によ
る条件分岐制御方法を示すフロー図であり、図30は、
図29に示した条件分岐制御方法で必要とされるブレー
ク命令が働いた状況を示すシーケンス制御部185を示
す図である。以下、図29および図30を参照して、S
IMDプロセッサの条件分岐制御方法について説明す
る。
【0244】条件分岐命令が与えられると、前述の実施
例と同様にして条件分岐処理が行なわれる。その条件分
岐処理中に与えられる異なる条件分岐処理をもスタック
に状態が退避され、分岐処理が繰返される。そしてその
処理途中で一連の命令を途中で終了させるブレーク命令
が与えられると、ブレーク命令以後のネスティング中の
処理は行なわれない。分岐処理のネストの最上位の階層
である条件分岐命令アドレスの次の命令アドレスにプロ
グラムカウンタPCのPC値が変更されて、ネストから
の脱出が実行される。スタックポインタは0に戻され、
PCスタックポインタから条件分岐命令アドレスの次の
命令アドレスが復帰され、PEマスクスタックからは最
上位の階層である条件分岐命令以前のPEマスク信号が
復帰される。
【0245】なお、このようなブレーク命令は、シーケ
ンス制御部185のデコーダ77に与えられる。
【0246】以上のように、第19の実施例による条件
分岐制御方法では、ネストをなす条件分岐処理中におい
て、ブレーク命令が与えられると、ネストからの脱出が
実行され、ネストの最上位の階層の条件分岐命令の次の
命令からその条件分岐命令が与えられる以前のPE活性
状態で再び命令が実行される。したがって、複数の条件
分岐命令によって選択された並列演算ユニットPEのみ
に処理を施した後に、再びネストに入る以前の状態で演
算を開始することができる。そのため、条件分岐処理が
高速に実行される。
【0247】
【発明の効果】以上のように、この発明に係る条件分岐
制御方法によれば、条件分岐命令に応じて、条件分岐命
令を実行する前の動作状態を表わす信号を保持し、その
他の命令に応じて、条件分岐命令を実行する前の動作状
態を表わす信号を復帰させることにより、各演算手段の
その他の命令を実行した後の動作状態を条件分岐命令を
実行する前の動作状態と同一にできるので、条件分岐命
令を実行する前の動作状態を保持する必要があるほどの
複雑な条件分岐制御を行なえる。
【0248】また、この発明に係る条件分岐制御方法に
よれば、その他の命令としてのブレーク命令によって条
件分岐命令に関連した命令を途中で終了させたり、各演
算手段の条件分岐命令を実行する前の動作状態での演算
結果が所定の基準を満たすか否かの判定結果に応じてプ
ログラムカウンタのアドレスを条件分岐させないことに
より、不必要な演算処理を各演算手段に行なわせず、高
速な条件分岐制御を行なえる。
【0249】さらに、この発明に係る条件分岐制御方法
によれば、条件成立および条件不成立を伴う条件分岐命
令、その復帰命令、ならびにその条件分岐終了命令に応
じてプログラムカウンタのアドレスを変更するような条
件分岐制御に対しても、保持された条件分岐命令を実行
する前の動作状態を復帰することにより、各演算手段の
条件分岐命令を実行した後の動作状態と条件分岐命令を
実行する前の動作状態とを同一にできるので、条件分岐
命令を実行する前の動作状態を保持するほどの複雑な条
件分岐制御を行なうことができる。
【0250】さらに、この発明に係る条件分岐制御方法
によれば、条件分岐命令および復帰命令間の処理、復帰
命令および条件分岐命令間の処理のいずれかを必要に応
じて省略することにより、高速な条件分岐制御を行なえ
る。
【0251】さらに、この発明に係る条件分岐制御装置
によれば、動作状態保持手段に各演算手段の条件分岐命
令を実行する前の動作状態を表わす信号を保持させるこ
とにより、保持された信号に基づく条件分岐命令を実行
した後の動作状態を表わす信号も生成され、その生成さ
れた信号または保持された信号を選択して各演算手段の
動作を活性化するか否か制御でき、保持手段が条件分岐
命令を実行する前の動作状態を表わす信号を保持するほ
どの条件分岐を制御できる。
【0252】さらに、この発明に係る条件分岐制御装置
によれば、たとえば条件分岐判定手段のような手段によ
って、不必要なプログラムカウンタのアドレスでの命令
を実行させるべきか否かを判定することができるので、
不必要な演算処理を各演算手段に行なわせず、高速な条
件分岐処理を可能にする。
【図面の簡単な説明】
【図1】 この発明の第1の実施例による条件分岐制御
方法を示すフロー図である。
【図2】 図1に示した条件分岐制御方法を具体的に説
明するためのプログラムカウンタのアドレス値を示す分
岐フロー図である。
【図3】 図2における条件分岐処理をより具体的に説
明するための図である。
【図4】 この発明の第2の実施例による条件分岐制御
装置を示す図である。
【図5】 図4のシーケンス制御部を示したブロック図
である。
【図6】 この発明の第3の実施例による条件分岐制御
方法を示すフロー図である。
【図7】 図6に示した条件分岐制御方法を具体的に説
明するためのプログラムカウンタのアドレス値を示す分
岐フロー図である。
【図8】 図7に示した条件分岐処理をより具体的に説
明するための図である。
【図9】 この発明の第4の実施例による条件分岐制御
装置を示す図である。
【図10】 この発明の第5の実施例による条件分岐制
御方法を示すフロー図である。
【図11】 この発明の第6の実施例による条件分岐制
御装置を示した図である。
【図12】 図11の0判定器を示した図である。
【図13】 この発明の第7の実施例による条件分岐制
御方法を示すフロー図である。
【図14】 この発明の第8の実施例による条件分岐制
御装置を示す図である。
【図15】 この発明の第9の実施例による条件分岐制
御方法を示すフロー図である。
【図16】 この発明の第10の実施例による条件分岐
制御装置を示す図である。
【図17】 この発明の第11の実施例による条件分岐
制御方法を示すフロー図である。
【図18】 図17に示した条件分岐制御方法を具体的
に説明するためのプログラムカウンタのアドレス値を示
す分岐フロー図である。
【図19】 この発明の第12の実施例による条件分岐
制御装置を示す図である。
【図20】 この発明の第13の実施例による条件分岐
制御方法を示すフロー図である。
【図21】 図20に示した条件分岐制御方法を具体的
に説明するためのプログラムカウンタのアドレス値を示
す分岐フロー図である。
【図22】 この発明の第14の実施例による条件分岐
制御装置を示す図である。
【図23】 この発明の第15の実施例による条件分岐
制御方法を示すフロー図である。
【図24】 図23に示した条件分岐制御方法を具体的
に説明するためのプログラムカウンタのアドレス値を示
す分岐フロー図である。
【図25】 この発明の第16の実施例による条件分岐
制御装置を示す図である。
【図26】 この発明の第17の実施例による条件分岐
制御方法を示すフロー図である。
【図27】 図26に示した条件分岐制御方法をより具
体的に説明するための図である。
【図28】 この発明の第18の実施例による条件分岐
制御装置を示す図である。
【図29】 この発明の第19の実施例による条件分岐
制御方法を示すフロー図である。
【図30】 図29に示したブレーク命令を説明するた
めのシーケンス制御部の概略ブロック図である。
【図31】 SIMD型プロセッサを示す概略ブロック
図である。
【図32】 従来のSIMD型プロセッサのコントロー
ルユニットを示す概略ブロック図である。
【図33】 プログラムカウンタPCのアドレス値の条
件分岐を示した分岐フロー図である。
【符号の説明】
53,79,89,97,113,129,155,1
61,179 条件分岐制御装置、55,131,16
3 PC制御部、57 スタックポインタ、59,8
1,99,133,157,165,181 PEマス
ク制御部、65,73,167,175 選択回路、6
7 PEマスクスタック、69 PE状態判定器、7
1,87,93,107,71a,71b AND回
路、85,103,119,159 インバータ回路、
91 0判定器、95,149,149a,149b
一致検出器、151 全PE活性フラグスタック、16
0 全PE不活性フラグスタック。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ストライテンベルガー 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社システムエル・エス・アイ開発研 究所内

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 条件分岐命令、またはその他の命令に応
    じてプログラムカウンタのアドレスを変更し、そのアド
    レスに対応する命令で複数の演算手段の動作を並列に制
    御する条件分岐制御方法であって、 前記条件分岐命令に応じて、前記各演算手段の条件分岐
    命令を実行する前の動作状態での演算結果が所定の基準
    を満たすか否かを判定する第1のステップと、 前記条件分岐命令に応じて、前記条件分岐命令を実行す
    る前の動作状態を表わす信号を保持するとともに、前記
    条件分岐命令を実行する前の動作状態および前記第1の
    ステップでの判定結果に基づいて前記各演算手段の前記
    条件分岐命令を実行した後の動作状態を決定する第2の
    ステップと、 前記条件分岐命令を実行した後の動作状態で前記各演算
    手段の動作を制御する第3のステップと、 前記その他の命令に応じて、前記条件分岐命令を実行す
    る前の動作状態を表わす信号を復帰させる第4のステッ
    プとを含む、条件分岐制御方法。
  2. 【請求項2】 前記条件分岐命令は、第1のルーチンの
    所定のアドレスに対応し、 前記その他の命令は、第2のルーチンの所定のアドレス
    に対応し、かつ前記第2のルーチンから前記第1のルー
    チンに前記プログラムカウンタのアドレスを復帰させる
    復帰命令を含む、請求項1記載の条件分岐制御方法。
  3. 【請求項3】 前記条件分岐命令は、第1のルーチンの
    第1のアドレスに対応し、 前記その他の命令は、第1のルーチンの第2のアドレス
    に対応し、かつ前記条件分岐命令に関連した命令の最後
    の命令を表わす条件分岐終了命令を含む、請求項1記載
    の条件分岐制御方法。
  4. 【請求項4】 前記条件分岐命令は、第1のルーチンの
    所定のアドレスに対応し、 前記その他の命令は、第2のルーチンの所定のアドレス
    に対応し、かつ前記条件分岐命令に関連した命令の最後
    の命令を表わす条件分岐終了命令を含む、請求項1記載
    の条件分岐制御方法。
  5. 【請求項5】 前記その他の命令は、前記条件分岐命令
    に関連した命令を途中で終了させるブレーク命令を含
    む、請求項1記載の条件分岐制御方法。
  6. 【請求項6】 前記プログラムカウンタのアドレスは、
    前記第1のステップでの判定結果に応じて、前記第1の
    ルーチンのアドレスのみで変更される、請求項2記載の
    条件分岐制御方法。
  7. 【請求項7】 条件成立および条件不成立を伴う条件分
    岐命令、その復帰命令、ならびにその条件分岐終了命令
    に応じてプログラムカウンタのアドレスを変更し、その
    アドレスに対応する命令で複数の演算手段の動作を並列
    に制御する条件分岐制御方法であって、 前記条件分岐命令に応じて、前記各演算手段の条件分岐
    命令を実行する前の動作状態での演算結果が所定の基準
    を満たすか否かを判定する第1のステップと、 前記条件分岐命令に応じて、前記条件分岐命令を実行す
    る前の動作状態を表わす信号を保持するとともに、前記
    条件分岐命令を実行する前の動作状態および前記第1の
    ステップでの判定結果に基づいて前記各演算手段の条件
    分岐命令を実行した後の条件成立または条件不成立の動
    作状態を決定する第2のステップと、 前記条件分岐命令を実行した後の条件成立または条件不
    成立の動作状態で前記各演算手段の動作を制御する第3
    のステップと、 前記復帰命令に応じて、前記条件分岐命令を実行する前
    の動作状態および前記条件分岐命令を実行した後の条件
    成立または条件不成立の動作状態に基づいて前記各演算
    手段の復帰命令を実行した後の条件不成立または条件成
    立の動作状態を決定する第4のステップと、 前記復帰命令を実行した後の条件不成立または条件成立
    の動作状態で前記各演算手段の動作を制御する第5のス
    テップと、 前記条件分岐終了命令に応じて、前記条件分岐命令を実
    行する前の動作状態を表わす信号を復帰させる第6のス
    テップとを含む、条件分岐制御方法。
  8. 【請求項8】 前記条件分岐命令は、第1のルーチンの
    第1のアドレスに対応し、 前記復帰命令は、第2のルーチンの第2のアドレスに対
    応し、 前記条件分岐終了命令は、第1のルーチンの第3のアド
    レスに対応し、 前記プログラムカウンタのアドレスは、前記第1のステ
    ップでの判定結果または前記第5のステップで決定され
    た条件成立もしくは条件不成立の動作状態に応じて、前
    記第1のルーチンのみでまたは前記第2のアドレスから
    前記第3のアドレスに変更される、請求項7記載の条件
    分岐制御方法。
  9. 【請求項9】 前記条件分岐命令は、第1のルーチンの
    第1のアドレスに対応し、 前記復帰命令は、第2のルーチンの第2のアドレスに対
    応し、 前記条件分岐終了命令は、第2のルーチンの第3のアド
    レスに対応し、 前記第2のステップは、前記条件分岐命令を実行する前
    の動作状態が活性化した前記各演算手段の演算結果が前
    記基準を満たすか否かを表わす判定信号を保持するステ
    ップをさらに含み、 前記プログラムカウンタのアドレスは、前記保持された
    判定信号に応じて、前記第2のアドレスまたは前記第3
    のアドレスから前記第1のルーチンの第1のアドレスの
    次のアドレスに変更される、請求項7記載の条件分岐制
    御方法。
  10. 【請求項10】 条件分岐命令またはその他の命令に応
    じて、プログラムカウンタのアドレスを変更制御すると
    ともに、複数の演算手段の動作を並列に制御する条件分
    岐制御装置であって、 前記プログラムカウンタのアドレスを制御するプログラ
    ムカウンタ制御手段と、 前記各演算手段の動作を活性化するか否かを制御する演
    算活性化制御手段とを備え、 前記演算活性化制御手段は、 前記各演算手段の動作によって得られる演算結果が所定
    の基準を満たすか否かを判定する演算結果判定手段と、 前記各演算手段の条件分岐命令を実行する前の動作状態
    を表わす信号を保持する動作状態保持手段と、 前記演算結果判定手段の判定結果を表わす信号および前
    記動作状態保持手段が保持した信号に基づいて前記各演
    算手段の条件分岐命令を実行した後の動作状態を表わす
    信号を生成する第1の生成手段と、 前記動作状態保持手段が保持した信号または前記第1の
    生成手段が生成した信号を前記各演算手段の動作を活性
    化するか否かを表わす信号として選択する選択手段とを
    含む、条件分岐制御装置。
  11. 【請求項11】 前記その他の命令は、前記条件分岐命
    令に対応する復帰命令を含み、 さらに、前記演算活性化制御手段は、 前記演算結果判定手段の判定結果を表わす信号および前
    記選択手段が選択した信号に基づいて前記プログラムカ
    ウンタのアドレスを条件分岐するか否かを判定する条件
    分岐判定手段を含む、請求項10記載の条件分岐制御装
    置。
  12. 【請求項12】 前記条件分岐命令は、条件成立および
    条件不成立を伴い、前記その他の命令は、復帰命令およ
    び条件分岐終了命令を含み、 前記第1の生成手段は、前記各演算手段の条件成立の動
    作状態を表わす信号を生成し、 さらに、前記演算活性化制御手段は、 前記動作状態保持手段が保持した信号および前記選択手
    段が選択した信号に基づいて前記各演算手段の条件不成
    立の動作状態を表わす信号を生成する第2の生成手段を
    含み、 前記選択手段は、前記動作状態保持手段が保持した信
    号、前記第1の生成手段が生成した信号または前記第2
    の生成手段が生成した信号を選択する、請求項10記載
    の条件分岐制御装置。
  13. 【請求項13】 さらに、前記演算活性化制御手段は、 前記演算結果判定手段の判定結果を表わす信号および前
    記選択手段が選択した信号に基づいて前記プログラムカ
    ウンタのアドレスを条件分岐するか否かを判定する条件
    分岐判定手段と、 前記演算結果判定手段の判定結果を表わす信号および前
    記選択手段が選択した信号に基づいて前記各演算手段の
    条件不成立の動作状態を表わす信号を生成する第3の生
    成手段とを含み、 前記選択手段は、前記動作状態保持手段が保持した信
    号、前記第1の生成手段が生成した信号、前記第2の生
    成手段が生成した信号または前記第3の生成手段が生成
    した信号を選択する、請求項12記載の条件分岐制御装
    置。
  14. 【請求項14】 さらに、前記演算活性化制御手段は、 前記動作状態保持手段が保持した信号および前記選択手
    段が選択した信号に基づいて前記プログラムカウンタの
    アドレスを前記条件分岐終了命令に対応するアドレスに
    変更するか否かを判定する条件分岐終了判定手段を含
    む、請求項10に記載の条件分岐制御装置。
  15. 【請求項15】 前記条件分岐命令は、条件成立および
    条件不成立を伴い、前記その他の命令は、復帰命令およ
    び条件分岐終了命令を含み、 前記第1の生成手段は、前記各演算手段の条件成立また
    は条件不成立の動作状態を表わす信号を生成し、 さらに、前記演算活性化制御手段は、 前記動作状態保持手段が保持した信号および前記選択手
    段が選択した信号に基づいて前記各演算手段の条件不成
    立または条件成立の動作状態を表わす信号を生成する第
    2の生成手段と、 前記第1の生成手段が生成した信号と前記選択手段が選
    択した信号とが一致するか否かを検出する検出手段と、 前記検出手段の検出結果を表わす信号を保持する検出結
    果保持手段とを含む、請求項10記載の条件分岐制御装
    置。
  16. 【請求項16】 さらに、前記演算活性化制御手段は、 前記演算結果判定手段の判定結果を表わす信号および前
    記選択手段が選択した信号に基づいて前記各演算手段の
    条件不成立の動作状態を表わす信号を生成する第3の生
    成手段と、 前記第1の生成手段が生成した信号と前記選択手段が選
    択した信号とが一致するか否かを検出する第1の検出手
    段と、 前記第3の生成手段が生成した信号と前記選択手段が選
    択した信号とが一致するか否かを検出する第2の検出手
    段と、 前記第1の検出手段の検出結果または前記第2の検出手
    段の検出結果を表わす信号を保持する検出結果保持手段
    とを含み、 前記選択手段は、前記動作状態保持手段が保持した信
    号、前記第1の生成手段が生成した信号、前記第2の生
    成手段が生成した信号または前記第3の生成手段が生成
    した信号を選択する、請求項12記載の条件分岐制御装
    置。
JP6090097A 1994-04-27 1994-04-27 条件分岐制御方法および装置 Withdrawn JPH07295812A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6090097A JPH07295812A (ja) 1994-04-27 1994-04-27 条件分岐制御方法および装置
DE1995114797 DE19514797A1 (de) 1994-04-27 1995-04-21 Verfahren und Vorrichtung zum Steuern bedingter Verzweigungen, welche eine Steuerung einer komplizierten bedingten Verzweigung erlauben

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6090097A JPH07295812A (ja) 1994-04-27 1994-04-27 条件分岐制御方法および装置

Publications (1)

Publication Number Publication Date
JPH07295812A true JPH07295812A (ja) 1995-11-10

Family

ID=13989026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6090097A Withdrawn JPH07295812A (ja) 1994-04-27 1994-04-27 条件分岐制御方法および装置

Country Status (2)

Country Link
JP (1) JPH07295812A (ja)
DE (1) DE19514797A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4917045B2 (ja) * 2004-12-15 2012-04-18 インテル・コーポレーション Data部および関連するカウンタを備えるエントリを有するハードウェア・スタック

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312254B2 (en) * 2008-03-24 2012-11-13 Nvidia Corporation Indirect function call instructions in a synchronous parallel thread processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045995A (en) * 1985-06-24 1991-09-03 Vicom Systems, Inc. Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4917045B2 (ja) * 2004-12-15 2012-04-18 インテル・コーポレーション Data部および関連するカウンタを備えるエントリを有するハードウェア・スタック

Also Published As

Publication number Publication date
DE19514797A1 (de) 1995-11-02

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
JPH0557616B2 (ja)
JPS623340A (ja) 分岐方法
JPS63136138A (ja) 情報処理装置
JPH0736848A (ja) 情報処理装置および処理方法
JPH03286332A (ja) デジタルデータ処理装置
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JPH07295812A (ja) 条件分岐制御方法および装置
JP3082944B2 (ja) パイプライン処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2812610B2 (ja) パイプライン制御方式
JPH0991139A (ja) 情報処理装置
JPH01273132A (ja) マイクロプロセッサ
JPS6327746B2 (ja)
JP2819733B2 (ja) 情報処理装置
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
JPH07219771A (ja) 命令プロセッサ
JP2636566B2 (ja) パイプライン制御方式
JPH04338825A (ja) 演算処理装置
JP2982129B2 (ja) マイクロプログラム制御装置
JP2755646B2 (ja) データ駆動型データ処理装置
JPH0248733A (ja) 情報処理装置
JPH0916399A (ja) 計算機
JPH04245333A (ja) 情報処理装置
JPH09106344A (ja) パイプライン処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010703