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

複合条件処理方式

Info

Publication number
JP2928680B2
JP2928680B2 JP7198092A JP7198092A JP2928680B2 JP 2928680 B2 JP2928680 B2 JP 2928680B2 JP 7198092 A JP7198092 A JP 7198092A JP 7198092 A JP7198092 A JP 7198092A JP 2928680 B2 JP2928680 B2 JP 2928680B2
Authority
JP
Japan
Prior art keywords
instruction
comparison
bit
instructions
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7198092A
Other languages
English (en)
Other versions
JPH05274143A (ja
Inventor
陽一郎 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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)

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)

    (57)【特許請求の範囲】
  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 JPH05274143A (ja) 1993-10-22
JP2928680B2 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590358A (en) * 1994-09-16 1996-12-31 Philips Electronics North America Corporation Processor with word-aligned branch target in a byte-oriented instruction set
JP4228241B2 (ja) 2006-12-13 2009-02-25 ソニー株式会社 演算処理装置
US7663052B2 (en) * 2007-03-22 2010-02-16 Qualcomm Incorporated Musical instrument digital interface hardware instruction set
JP2008305185A (ja) 2007-06-07 2008-12-18 Nec Electronics Corp プロセッサ装置及び複合条件処理方法
US20120254593A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for jumps using a mask register
JP2012252670A (ja) * 2011-06-07 2012-12-20 Toshiba Corp 演算装置およびプログラム

Also Published As

Publication number Publication date
JPH05274143A (ja) 1993-10-22

Similar Documents

Publication Publication Date Title
US4399507A (en) Instruction address stack in the data memory of an instruction-pipelined processor
AU618142B2 (en) Tightly coupled multiprocessor instruction synchronization
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
US4954947A (en) Instruction processor for processing branch instruction at high speed
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
EP0093430A2 (en) Pipeline data processing system
JPH02227730A (ja) データ処理システム
JP3004108B2 (ja) 情報処理装置
JP2928680B2 (ja) 複合条件処理方式
JP2580396B2 (ja) パイプラインにおける分岐命令制御方式
JP2916605B2 (ja) コンピュータ用プロセツサ
JP3640855B2 (ja) プロセッサ
JPH1091441A (ja) プログラム実行方法およびその方法を利用した装置
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
JPH05108345A (ja) 分岐命令処理装置
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
JPH11119998A (ja) 情報処理装置
EP1041720B1 (en) Binary zero determination signal generating circuit
JP2001265592A (ja) 情報処理装置
JPH01271840A (ja) マイクロコンピュータ
JPH0619705A (ja) パイプライン制御方式
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JP2859921B2 (ja) 命令キュー制御装置

Legal Events

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