JPH05274143A - 複合条件処理方式 - Google Patents

複合条件処理方式

Info

Publication number
JPH05274143A
JPH05274143A JP4071980A JP7198092A JPH05274143A JP H05274143 A JPH05274143 A JP H05274143A JP 4071980 A JP4071980 A JP 4071980A JP 7198092 A JP7198092 A JP 7198092A JP H05274143 A JPH05274143 A JP H05274143A
Authority
JP
Japan
Prior art keywords
instruction
comparison
instructions
address
designated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4071980A
Other languages
English (en)
Other versions
JP2928680B2 (ja
Inventor
Yoichiro Takeuchi
陽一郎 竹内
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7198092A priority Critical patent/JP2928680B2/ja
Publication of JPH05274143A publication Critical patent/JPH05274143A/ja
Application granted granted Critical
Publication of JP2928680B2 publication Critical patent/JP2928680B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】命令語レベルでの並列処理の障害となる条件分
岐命令の使用を削減でき、命令の並列実行による高速化
の効果を向上することができるようにする。 【構成】それぞれ独立の比較命令の指定する比較演算を
比較演算器2-1〜2-3で行わせ、その結果の真偽値を、
セレクタ4-0〜4-3のうちの、その比較命令(のオペラ
ンドC)で指定されるフラグレジスタ6内ビット位置に
対応するセレクタにより選択させて、そのビット位置を
構成するフリップフロップ(F/F)に設定させる。こ
のフラグレジスタ6の出力を、比較命令の次に実行され
る条件分岐命令の指定するマスク値Mと共に命令フェッ
チアドレス生成回路8に供給して、同回路内の論理積回
路にてフラグレジスタ6の出力値とマスク値Mとのビッ
ト毎の論理積をとり、その結果がオールゼロであるか否
かにより、分岐先アドレスまたは次命令アドレスを次に
実行すべき命令のアドレスとして選択出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の命令を並列に処
理する並列処理装置に係り、特に複合条件を構成する各
条件の判定を並列に実行する場合に好適な複合条件処理
方式に関する。
【0002】
【従来の技術】一般に、ソースプログラム上に記述され
た複合条件は、比較命令(条件判定命令)および条件分
岐命令を組合せて、図5に示すように翻訳される。例え
ば、図6(a)に示す if (X>1 && X<10 && X!=5) { } というC言語のソースプログラム(“&&”は論理積を
示し、“!=”は等しくないことを示す)は、図6
(b)に示すような機械語に翻訳される。
【0003】図6(b)において、“CMP A,B,
C”の形式で表現されている命令は、AとBを比較し、
その大小比較結果(≦,≧,または=)をレジスタCに
格納するための比較命令を示す。
【0004】また、“BLE C,L”,“BGE
C,L”,“BEQ C,L”の形式で表現されている
命令は、レジスタCに格納されている比較結果を調べ、
それぞれ≦,≧,=の場合にL(アドレスLの命令)に
分岐するための条件分岐命令を示す。
【0005】上記の例は、命令を1つずつ逐次実行する
処理装置の場合である。もし、命令を複数並列に実行で
きる並列処理装置であれば、翻訳時あるいは実行時に命
令を再配置して、比較命令を条件分岐命令に先行して並
列処理することにより命令実行サイクルを短縮すること
が可能となる。
【0006】このような命令再配置の例を、図6(a)
に示されているC言語のソースプログラムの場合につい
て、図6(c)に示す。この図6(c)の例では、3つ
の比較命令が並列実行され、この命令実行後に、3つの
条件分岐命令が1命令ずつ逐次実行される。
【0007】
【発明が解決しようとする課題】上記したように従来の
並列処理装置では、比較命令および条件分岐命令の組合
せによる複合条件処理において、比較命令は並列実行可
能であるが、条件分岐命令の部分は逐次実行しなければ
ならなかった。このため従来は、複合条件処理に対して
は、並列処理による高速化があまり期待できないという
問題があった。
【0008】しかも、条件分岐命令処理は、命令の先取
りパイプライン処理に障害となるなど通常の演算命令に
比べて処理サイクル数が多いため、処理の高速化はなお
さら期待できなかった。
【0009】本発明は上記事情に鑑みてなされたもので
その目的は、複数の命令を並列に処理可能な並列処理装
置における複合条件処理において、命令語レベルでの並
列処理の障害となる条件分岐命令の使用を削減でき、命
令の並列実行による高速化の効果を向上することができ
る複合条件処理方式を提供することにある。
【0010】
【課題を解決するための手段】本発明は、複数の命令を
並列に処理可能な並列処理装置において、個々のビット
値が、複数の比較命令(条件判定命令)の実行結果の真
偽値に従って独立に且つ並列にセット/リセット可能な
フラグレジスタ手段と、このフラグレジスタ手段の保持
内容と条件分岐命令によって指定されたマスク値とのビ
ット毎の論理積をとる論理積手段と、この論理積手段の
出力値がゼロであるか否かに応じて上記条件分岐命令の
指定する分岐先アドレスまたは同命令の次の命令のアド
レスを次に実行すべき命令アドレスとして選択する命令
フェッチアドレス選択手段を備え、上記のマスク値で指
定されたフラグレジスタ手段の各ビット位置のビット状
態を複合条件として分岐を実行するか否かを決定するよ
うにしたことを特徴とするものである。
【0011】
【作用】上記の構成においては、複数の比較命令の実行
結果の真偽値に従って、その比較命令の指定するフラグ
レジスタ手段内ビット位置の各ビットが、独立に且つ並
列にセット/リセットされる。次に条件分岐命令が実行
されると、同命令によって指定されたマスク値とフラグ
レジスタ手段の保持内容とのビット毎の論理積がとら
れ、その論理積結果がオールゼロであるか否かにより、
マスク値で指定されたフラグレジスタ手段の各ビット位
置のビット状態が論理積または論理和で結合された複合
条件の成立/不成立が判定される。そして、この判定結
果により、分岐を実行するか否かが決定され、分岐先ア
ドレスまたは次命令アドレスが次に実行すべき命令アド
レスとして選択される。
【0012】以上の結果、複合条件のうち、論理積のみ
または論理和のみで結合された部分は、条件分岐命令が
1つで済み、複数の条件分岐命令を必要とした従来方式
に比べて、分岐処理によるオーバヘッドが大幅に削減で
きる。
【0013】
【実施例】図1は本発明を適用する並列処理装置の一実
施例を示すブロック構成図であり、演算器やメモリ等、
本発明に関係しない部分は省略されている。なお、本実
施例は、3つの比較命令(条件判定命令)が並列に実行
可能な並列処理装置に実施した場合である。
【0014】図1において、1-1,1-2,1-3は並列に
実行される3つの比較命令の指定するオペランドを各命
令毎に格納するための比較命令デコードバッファであ
る。このバッファ1-i(i=1〜3)に格納されるオペ
ランドは、比較対象となるオペランドA,Bと、この
A,Bの比較結果の格納先となる後述するフラグレジス
タ6内ビット位置(ここでは、ビット0〜3のいずれ
か)を示すオペランドCの3つである。
【0015】本実施例で適用される比較命令は、SLE
比較命令、SGE比較命令およびSEQ比較命令の3種
ある。SLE比較命令は“SLE A,B,C”の形式
で表現されるもので、AとBを比較し、A≦Bのときフ
ラグレジスタ6のビットCに“1”を、そうでないとき
は“0”を設定することを指示する。
【0016】SGE比較命令は“SGE A,B,C”
の形式で表現されるもので、AとBを比較し、A≧Bの
ときフラグレジスタ6のビットCに“1”を、そうでな
いときは“0”を設定することを指示する。
【0017】SEQ比較命令は“SEQ A,B,C”
の形式で表現されるもので、AとBを比較し、A=Bの
ときフラグレジスタ6のビットCに“1”を、そうでな
いときは“0”を設定することを指示する。
【0018】2-1,2-2,2-3はそれぞれ比較命令デコ
ードバッファ1-1,1-2,1-3内のオペランドAおよび
Bの比較演算を行う比較演算器、3-1,3-2,3-3はそ
れぞれビット0〜3に対応した4つの出力線X0 〜X3
,Y0 〜Y3 ,Z0 〜Z3 を有するデコード回路であ
る。デコード回路3-1,3-2,3-3は、比較命令デコー
ドバッファ1-1,1-2,1-3内のオペランドCをデコー
ドし、それぞれ出力線X0 〜X3 ,Y0 〜Y3 ,Z0 〜
Z3 のうちのオペランドCで指定されたビット位置に対
応する出力線をオンする。
【0019】4-0,4-1,4-2,4-3はセレクタ(SE
L)である。セレクタ4-i(i=0〜3)は、比較演算
器2-1,2-2,2-3の比較結果P,Q,Rのいずれか1
つを、デコード回路3-1,3-2,3-3の出力線Xi ,Y
i ,Zi の状態に応じて選択する。ここでセレクタ4-i
は、図2に示すように、Zi =1(オン)の場合には、
Xi ,Yi の状態に無関係にRを選択し、Yi =1,Z
i =0の場合には、Xi の状態に無関係にQを選択し、
Xi =1,Yi =Zi =0の場合にはPを選択するよう
に構成されている。
【0020】このように本実施例では、異なる比較命令
のオペランドCにより同時に同一のビット位置が指定さ
れた場合には、比較演算器2-3の比較結果(比較命令デ
コードバッファ1-3に格納されたオペランドA,Bに対
する比較結果)が最も優先され、その次に比較演算器2
-2の比較結果(比較命令デコードバッファ1-2に格納さ
れたオペランドA,Bに対する比較結果)が優先される
ようになっている。
【0021】5-0,5-1,5-2,5-3は論理和回路、6
はセレクタ4-0,4-1,4-2,4−3の出力を保持する
ための4つのフリップフロップ(F/F)6−0,6-
1,6-2,6-3からなる4ビットのフラグレジスタであ
る。論理和回路5-i(i=0〜3)は、デコード回路3
-1,3-2,3-3の出力線Xi ,Yi ,Zi の状態の論理
和をとる。フリップフロップ6-iは、フラグレジスタ6
のビットiを構成するもので、論理和回路5-iの出力が
“1”の場合に、セレクタ4-iの出力の状態をラッチす
る。論理和回路5-iの出力が“0”の場合は、フリップ
フロップ6-iの状態は変化しない。
【0022】7は条件分岐命令の指定するオペランドを
格納するための分岐命令デコードバッファである。この
オペランドは、フラグレジスタ6の4ビット出力に対す
る4ビットのマスク値Mである。
【0023】本実施例で適用される条件分岐命令は、B
NZ条件分岐命令および、BEZ条件分岐命令の2種あ
る。BNZ条件分岐命令は“BNZ M,L”の形式で
表現されるもので、M(マスク値)とフラグレジスタ6
の出力の対応ビット毎の論理積の結果(4ビット)がゼ
ロでない場合に、L(の指定するアドレス)に分岐する
ことを指示する。
【0024】BEZ条件分岐命令は“BEZ M,L”
の形式で表現されるもので、M(マスク値)とフラグレ
ジスタ6の出力の対応ビット毎の論理積の結果(4ビッ
ト)がゼロの場合に、L(分岐先アドレス)に分岐する
ことを指示する。
【0025】8は命令フェッチアドレス生成回路であ
る。この命令フェッチアドレス生成回8は、条件分岐命
令デコードバッファ7内のマスク値Mとフラグレジスタ
6の出力の対応ビット毎の論理積をとり、その結果がゼ
ロであるか否かと、条件分岐命令がBNZまたはBEZ
のいずれであるかによって状態が決まる分岐成立条件指
定信号BTC(BNZの場合はBTC=1,BEZの場
合はBTC=0)とに応じて次に実行すべき命令のアド
レスを生成するように構成されている。
【0026】図3は命令フェッチアドレス生成回路8の
構成を示す。図3において、81は図1に示す分岐命令
デコードバッファ7内のマスク値Mとフラグレジスタ6
の出力の対応ビット毎の論理積をとる論理積回路、82
は論理積回路81の論理積結果である4ビット出力値が
ゼロ(オールゼロ)であるか否かを判定するゼロ判定回
路である。ゼロ判定回路82は、論理積回路81の出力
値がゼロの場合に“1”の信号を、そうでない場合に
“0”の信号を出力する。
【0027】83はゼロ判定回路82の出力信号と分岐
成立条件指定信号BTCとの排他的論理和をとり、その
結果を分岐成立/不成立信号T/Fとして出力する排他
的論理和回路、84は次命令アドレスを生成/保持する
プログラムカウンタ、85はセレクタ(SEL)であ
る。セレクタ85は、分岐先アドレスLまたはプログラ
ムカウンタ84の示す次命令アドレス(条件分岐命令の
次の命令アドレス)のいずれか一方を、次に実行すべき
命令のアドレスとして、排他的論理和回路83からの分
岐成立/不成立信号T/Fに応じて選択する。
【0028】次に、本発明の一実施例の動作を、図4
(a)に示す、図6(a)と同一のC言語のソースプロ
グラムに対応して、図4(b)のように配置された機械
語命令を実行する場合を例に説明する。なお、図4
(b)において、同一行に配置されているSLE比較命
令、SGE比較命令およびSEQ比較命令の3つの比較
命令は、並列に処理されることを示す。
【0029】まず、上記した3つの比較命令が図示せぬ
デコード回路により並列にデコードされ、その命令の指
定する3つのオペランドA,B,Cがそれぞれ汎用レジ
スタ等(図示せず)から読出される。なお、命令長に余
裕があるならば、オペランドA〜Cを比較命令中に持た
せるようにしても構わない。
【0030】そして、図4(b)において左側に位置す
る1番目の比較命令(SLE比較命令)の指定するオペ
ランドA,B,C(ここでは、図4(b)から明らかな
ように、A=X,B=1,C=0)は、比較命令デコー
ドバッファ1-1に格納される。また、図4(b)におい
て中央に位置する2番目の比較命令(SGE比較命令)
の指定するオペランドA,B,C(ここでは、図4
(b)から明らかなように、A=X,B=10,C=
1)は、比較命令デコードバッファ1-2に格納される。
また、図4(b)において右側に位置する3番目の比較
命令(SEQ比較命令)の指定するオペランドA,B,
C(ここでは、図4(b)から明らかなように、A=
X,B=5,C=2)は、比較命令デコードバッファ1
-3に格納される。
【0031】デコードバッファ1-1〜1-3に格納された
オペランドA,B,Cのうち、A,Bは対応する比較演
算器2-1〜2-3に供給され、Cは対応するデコード回路
3-1〜3-3に供給される。
【0032】比較演算器2-1,2-2,2-3は、自身に供
給されたそれぞれ固有のオペランドA,Bの大小を比較
し、その結果をブール値P,Q,Rとして出力する。こ
の比較演算器2-1,2-2,2-3の出力P,Q,Rは、そ
れぞれセレクタ(SEL)4-0〜4-3に供給される。
【0033】一方、デコード回路3-1,3-2,3-3は、
自身に供給されたそれぞれ固有のオペランドCをデコー
ドし、それぞれ出力線X0 〜X3 ,Y0 〜Y3 ,Z0 〜
Z3のうちのオペランドCで指定されたビット位置に対
応する出力線をオンする。ここでは、デコード回路3-
1,3-2,3-3に供給されるCの値は、上記したように
それぞれ0,1,2であり、したがってデコード回路3
-1の出力線X0 ,デコード回路3-2の出力線Y1 ,デコ
ード回路3-3の出力線Z2 がオンされる。
【0034】セレクタ4-0,4-1,4-2,4-3は、デコ
ード回路3-1〜3-3の出力線X0 〜Z0 ,X1 〜Z1 ,
X2 〜Z2 ,X3 〜Z3 の状態に応じ、図2に示す論理
に従う選択動作を行う。これにより、出力線X0 ,Y1
,Z2 がオンされた本実施例では、セレクタ4-0から
は比較演算器2-1の出力Pが、セレクタ4-1からは比較
演算器2-2の出力Qが、そしてセレクタ4-2からは比較
演算器2-3の出力Rが、それぞれ選択出力される。
【0035】論理和回路5-0,5-1,5-2,5-3は、出
力線X0 〜Z0 ,X1 〜Z1 ,X2〜Z2 ,X3 〜Z3
の論理状態の論理和をとる。ここでは、出力線X0 ,Y
1 ,Z2 がオン(“1”)であり、したがって論理和回
路5-0,5-1,5-2の出力は“1”、論理和回路5-3の
出力は“0”となる。
【0036】セレクタ4-0〜4-3の出力は4ビットのフ
ラグレジスタ6を構成するフリップフロップ(F/F)
6-0〜6-3にデータ信号として供給される。このフリッ
プフロップ6-0〜6-3には、論理和回路5-0〜5-3の出
力もラッチ信号として供給される。
【0037】これにより、フリップフロップ6-0,6-
1,6-2には、論理和回路5-0,5-1,5-2の論理
“1”出力に応じて、セレクタ4-0,4-1,4-2の出
力、即ち図4(b)に示すように並列に処理される3つ
の比較命令(SLE比較命令,SGE比較命令,SEQ
比較命令)でそれぞれ指定された比較演算の結果がラッ
チされる。フリップフロップ6-0,6-1,6-2は、この
3つの比較命令(のオペランドC)で指定されるフラグ
レジスタ6内のビット位置(ビット0,1,2)に対応
している。したがって本実施例では、並列に処理される
SLE比較命令,SGE比較命令,SEQ比較命令でそ
れぞれ指定されたオペランドA,Bに対する比較演算の
結果が、その命令のオペランドCで指定されたフラグレ
ジスタ6のビット位置(ビット0,1,2)に並列に格
納されることになる。なお、フラグレジスタ6のビット
3(フリップフロップ6-3)の内容は変化せず、前の状
態が保持される(ここでは、“0”であるものとす
る)。
【0038】上記の3つの比較命令の並列処理が終了す
ると、図4(b)から明らかなように条件分岐命令(こ
こでは、BNZ条件分岐命令)の処理が開始される。す
ると、BNZ条件分岐命令が図示せぬデコード回路によ
りデコードされ、その命令の指定する4ビットのマスク
値Mが汎用レジスタ等(図示せず)から読出される。本
実施例におけるマスク値Mは“1110”(16進表現
で7)であり、フラグレジスタ6のビット0〜3のう
ち、ビット0〜2の値に応じた条件分岐を行うことを指
定する。このマスク値Mを条件分岐命令中に持たせるこ
とも可能である。また、上記のBNZ条件分岐命令デコ
ードにより、同命令の指定する分岐先アドレスL(ここ
では、$1)が求められ、更に分岐成立条件指定信号B
TC(ここでは“1”)が生成される。
【0039】さて、BNZ条件分岐命令の指定する4ビ
ットマスク値Mは、分岐命令デコードバッファ7に格納
される。このバッファ7に格納されたマスク値Mは、4
ビットフラグレジスタ6の出力と共に、命令フェッチア
ドレス生成回路8に読出される。
【0040】命令フェッチアドレス生成回路8内の論理
積回路81は、フラグレジスタ6の4ビット出力値と4
ビットマスク値Mとの対応するビット毎の論理積をと
る。この論理積回路81の論理積結果はゼロ判定回路8
2に供給される。ゼロ判定回路82は、論理積回路81
の4ビットの論理積結果が全て“0”であるか否かを判
定し、全て“0”であれば“1”の、そうでなければ
“0”の信号を出力する。
【0041】ゼロ判定回路82の出力信号は前記分岐成
立条件指定信号BTCと共に排他的論理和回路83に供
給される。排他的論理和回路83は、BTC=0の場合
にはゼロ判定回路82の出力信号(ゼロ/非ゼロ判定結
果)をそのまま分岐成立/不成立信号T/Fとして出力
する。一方、本実施例のようにBTC=1の場合には、
排他的論理和回路83は、ゼロ判定回路82の出力信号
(ゼロ/非ゼロ判定結果)のレベルを反転して分岐成立
/不成立信号T/Fとして出力する。この排他的論理和
回路83から出力される分岐成立/不成立信号T/Fは
セレクタ85の選択信号として用いられる。
【0042】セレクタ85は、T/F=1の場合には、
条件分岐命令(ここでは、BNZ条件分岐命令)で指定
された分岐先アドレスL(ここでは、$1)を次に実行
すべき命令のアドレスとして選択し、T/F=0の場合
には、プログラムカウンタ84の示す次命令アドレス、
即ちこの条件分岐命令(BNZ条件分岐命令)の次の命
令アドレスを次に実行すべき命令のアドレスとして選択
する。
【0043】このように、図4(b)に示すBNZ条件
分岐命令が実行されると、同命令の次に実行すべき命令
のアドレス(分岐先アドレスまたは次命令アドレス)
が、同命令に先行して並列に実行された3つの比較命令
(SLE比較命令,SGE比較命令,SEQ比較命令)
の実行結果(からなる複合条件)に従って、命令フェッ
チアドレス生成回路8により生成される。
【0044】ここでは、上記3つの比較命令の実行結果
の1つでも条件成立となっていれば、即ち図4(a)に
示す複合条件が不成立であれば、ゼロ判定回路82の出
力は非ゼロを示す“0”となり、論理“1”の分岐成立
条件指定信号BTCに応じて分岐成立/不成立信号T/
Fが“1”となることから、BNZ条件分岐命令の指定
する分岐先アドレス$1が生成(選択)される。これに
対して、上記3つの比較命令の実行結果の全てが条件不
成立となっていれば、即ち図4(a)に示す複合条件が
成立していれば、ゼロ判定回路82の出力はゼロを示す
“1”となり、論理“1”の分岐成立条件指定信号BT
Cに応じて分岐成立/不成立信号T/Fが“0”となる
ことから、プログラムカウンタ84からの次命令アドレ
スが生成(選択)される。そして、生成されたアドレス
の命令がフェッチされる。
【0045】さて、各命令が1サイクルで実行できるも
のとすると、図4(b)に示す本実施例のプログラム処
理では、条件成立時の処理に入るまでに、3つの比較命
令を並列に処理するための1サイクルと、次の条件分岐
命令を処理するための1サイクルの計2サイクルを要す
る。これに対し、図6(b),(c)に示す従来技術の
例では、それぞれ6サイクル,4サイクルを要し、本実
施例と比較して多くのサイクルを必要とする。
【0046】なお、フラグレジスタ6に保持された比較
結果は、その後に実行される他の比較命令で同一のビッ
ト位置が指定されないならば、そのまま保持されるた
め、その比較結果を再度利用することができる。この場
合、再度同一の比較命令を実行しなくても済むようにな
る。
【0047】以上は、論理積で結合された複合条件に対
する複合条件処理について説明したが、論理和で結合さ
れた複合条件に対する複合条件処理にも適用できる。但
し、フラグレジスタ6に対する設定値は、前記実施例と
は逆に、比較命令の比較判定が不成立の場合に“1”と
する必要がある。
【0048】また、以上は3つの比較命令が並列に処理
可能な並列処理装置に実施した場合について説明した
が、これに限るものではなく、本発明は、複数の比較命
令が並列に処理可能な並列処理装置全般に応用可能であ
る。また、並列に処理される命令は独立している必要は
なく、1命令中に、複数の命令語フィールドを持つ命令
(いわゆるVLIW命令)を適用する並列処理装置にも
応用可能である。
【0049】
【発明の効果】以上詳述したように本発明によれば、複
数の比較命令の実行結果の真偽値に従って、その比較命
令の指定するフラグレジスタ手段内ビット位置の各ビッ
トを、独立に且つ並列にセット/リセットし、次に条件
分岐命令が実行されると、同命令によって指定されたマ
スク値の示すフラグレジスタ手段の各ビット位置のビッ
ト状態を複合条件として分岐を実行するか否かを決定す
る構成としたので、論理積のみまたは論理和のみで結合
された部分は、条件分岐命令が1つで済む。このため、
複数の条件分岐命令を必要とした従来方式に比べて、分
岐処理によるオーバヘッドが大幅に削減でき、命令の並
列処理による高速化の効果を向上させることができる。
【図面の簡単な説明】
【図1】本発明の複合条件処理方式を適用する並列処理
装置の一実施例を示すブロック構成図。
【図2】同実施例におけるデコード回路3-1〜3-3の出
力線Xi 〜Zi の論理状態とセレクタ(SEL)4-i
(i=0〜3)の選択内容との対応関係を示す図。
【図3】同実施例における命令フェッチアドレス生成回
路8の構成を示すブロック図。
【図4】同実施例における複合条件処理を伴うソースプ
ログラムと対応する機械語命令列の例を示す図。
【図5】ソースプログラム上に記述された複合条件を比
較命令と条件分岐命令の組合せで表現した基本形を示す
図。
【図6】従来の複合条件処理を説明するための、ソース
プログラムと対応する機械語命令列の例を示す図。
【符号の説明】
2-1〜2-3…比較演算器、3-1〜3-3…デコード回路、
4-0〜4-3…セレクタ(SEL)、5-0〜5-3…論理和
回路、6…フラグレジスタ、6-0〜6-3…フリップフロ
ップ(F/F)、8…命令フェッチアドレス生成回路、
81…論理積回路、82…ゼロ判定回路、83…排他的
論理和回路、84…プログラムカウンタ、85…セレク
タ(SEL、命令フェッチアドレス選択手段)。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令を並列に処理可能な並列処理
    装置において、 複数の比較命令の実行結果の真偽値に従って独立に且つ
    並列にビットをセット/リセット可能なフラグレジスタ
    手段と、 このフラグレジスタ手段の保持内容と条件分岐命令によ
    って指定されたマスク値とのビット毎の論理積をとる論
    理積手段と、 この論理積手段の出力値がゼロであるか否かに応じて前
    記条件分岐命令の指定する分岐先アドレスまたは同命令
    の次の命令のアドレスを次に実行すべき命令アドレスと
    して選択する命令フェッチアドレス選択手段と、 を具備し、前記マスク値で指定されたフラグレジスタ手
    段の各ビット位置のビット状態を複合条件として分岐を
    実行するか否かを決定するようにしたことを特徴とする
    複合条件処理方式。
  2. 【請求項2】 前記比較命令の実行結果に従ってセット
    /リセットされる前記フラグレジスタ手段のビットの位
    置は、同比較命令によって指定されることを特徴とする
    請求項1記載の複合条件処理方式。
JP7198092A 1992-03-30 1992-03-30 複合条件処理方式 Expired - Fee Related JP2928680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7198092A JP2928680B2 (ja) 1992-03-30 1992-03-30 複合条件処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7198092A JP2928680B2 (ja) 1992-03-30 1992-03-30 複合条件処理方式

Publications (2)

Publication Number Publication Date
JPH05274143A true JPH05274143A (ja) 1993-10-22
JP2928680B2 JP2928680B2 (ja) 1999-08-03

Family

ID=13476124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7198092A Expired - Fee Related JP2928680B2 (ja) 1992-03-30 1992-03-30 複合条件処理方式

Country Status (1)

Country Link
JP (1) JP2928680B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385495B1 (ko) * 1994-09-16 2003-08-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 워드정렬브랜치타겟을가지는처리시스템
US7797519B2 (en) 2007-06-07 2010-09-14 Nec Electronics Corporation Processor apparatus with instruction set for storing comparison conditions and for evaluating branch condition values against results of identified complex comparison conditions
JP2012252670A (ja) * 2011-06-07 2012-12-20 Toshiba Corp 演算装置およびプログラム
JP2013152477A (ja) * 2007-03-22 2013-08-08 Qualcomm Inc 電子楽器デジタルインターフェースハードウェア命令セット
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations
CN103718157A (zh) * 2011-04-01 2014-04-09 英特尔公司 使用掩码寄存器跳转的***、装置和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385495B1 (ko) * 1994-09-16 2003-08-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 워드정렬브랜치타겟을가지는처리시스템
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations
JP2013152477A (ja) * 2007-03-22 2013-08-08 Qualcomm Inc 電子楽器デジタルインターフェースハードウェア命令セット
US7797519B2 (en) 2007-06-07 2010-09-14 Nec Electronics Corporation Processor apparatus with instruction set for storing comparison conditions and for evaluating branch condition values against results of identified complex comparison conditions
CN103718157A (zh) * 2011-04-01 2014-04-09 英特尔公司 使用掩码寄存器跳转的***、装置和方法
JP2014510351A (ja) * 2011-04-01 2014-04-24 インテル・コーポレーション マスクレジスタを用いてジャンプを行うシステム、装置、および方法
JP2012252670A (ja) * 2011-06-07 2012-12-20 Toshiba Corp 演算装置およびプログラム

Also Published As

Publication number Publication date
JP2928680B2 (ja) 1999-08-03

Similar Documents

Publication Publication Date Title
EP0426393B1 (en) Instructing method and execution system
US4399507A (en) Instruction address stack in the data memory of an instruction-pipelined processor
US4578750A (en) Code determination using half-adder based operand comparator
AU618142B2 (en) Tightly coupled multiprocessor instruction synchronization
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
US4739470A (en) Data processing system
US4954947A (en) Instruction processor for processing branch instruction at high speed
JP3004108B2 (ja) 情報処理装置
JPH03286332A (ja) デジタルデータ処理装置
JPH02227730A (ja) データ処理システム
JPS6061864A (ja) 並列ベクトル・プロセツサ
US4677549A (en) Pipelined data processor system having increased processing speed
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
JP2928680B2 (ja) 複合条件処理方式
EP0497579B1 (en) Circuit for executing conditional branch instructions in a pipelined processor
JPH05108345A (ja) 分岐命令処理装置
US4914581A (en) Method and apparatus for explicitly evaluating conditions in a data processor
JPH11119998A (ja) 情報処理装置
JP2000231488A (ja) プロセッサ
US11269651B2 (en) Reusing adjacent SIMD unit for fast wide result generation
US9250898B2 (en) VLIW processor, instruction structure, and instruction execution method
JP2812610B2 (ja) パイプライン制御方式
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
EP1041720B1 (en) Binary zero determination signal generating circuit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees