JPH09160776A - 条件分岐命令の制御装置およびその制御方法 - Google Patents
条件分岐命令の制御装置およびその制御方法Info
- Publication number
- JPH09160776A JPH09160776A JP31875095A JP31875095A JPH09160776A JP H09160776 A JPH09160776 A JP H09160776A JP 31875095 A JP31875095 A JP 31875095A JP 31875095 A JP31875095 A JP 31875095A JP H09160776 A JPH09160776 A JP H09160776A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- condition
- output
- satisfied
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 条件分岐命令によるif-then-else文に関し
て、余分な分岐処理を削除し高速に処理する条件分岐命
令の制御装置およびその制御方法を提供する。 【解決手段】 条件分岐命令の制御装置において、分岐
条件を判定する分岐処理制御回路5aと、前記分岐条件
が成立の場合に分岐をするマルチプレクサ7と、前記分
岐条件が不成立の場合に次命令の実行を禁止するNOP
生成器3とを備えたことを特徴とする条件分岐命令の制
御装置である。
て、余分な分岐処理を削除し高速に処理する条件分岐命
令の制御装置およびその制御方法を提供する。 【解決手段】 条件分岐命令の制御装置において、分岐
条件を判定する分岐処理制御回路5aと、前記分岐条件
が成立の場合に分岐をするマルチプレクサ7と、前記分
岐条件が不成立の場合に次命令の実行を禁止するNOP
生成器3とを備えたことを特徴とする条件分岐命令の制
御装置である。
Description
【0001】
【発明の属する技術分野】本発明は、命令をパイプライ
ン処理する情報処理装置における条件分岐命令の制御装
置およびその制御方法に関する。
ン処理する情報処理装置における条件分岐命令の制御装
置およびその制御方法に関する。
【0002】
【従来の技術】命令をパイプライン処理する情報処理装
置においては、各命令が順次パイプラインに送り込まれ
逐次実行されている時には、命令のオーバーラップ実行
により命令実行の高速化がはかられている。しかし、条
件分岐命令により分岐する場合には、条件が判定された
時点から分岐先命令をフェッチするため、パイプライン
に無駄な空き(遅延スロット)がでるという問題があ
る。この問題を解決する手段として従来は、分岐命令の
次番地にある後続命令を遅延スロットで実行すること
で、パイプラインの無駄な空きを除く、遅延分岐と呼ば
れる分岐方式がとられている。
置においては、各命令が順次パイプラインに送り込まれ
逐次実行されている時には、命令のオーバーラップ実行
により命令実行の高速化がはかられている。しかし、条
件分岐命令により分岐する場合には、条件が判定された
時点から分岐先命令をフェッチするため、パイプライン
に無駄な空き(遅延スロット)がでるという問題があ
る。この問題を解決する手段として従来は、分岐命令の
次番地にある後続命令を遅延スロットで実行すること
で、パイプラインの無駄な空きを除く、遅延分岐と呼ば
れる分岐方式がとられている。
【0003】上記した従来の条件分岐命令の一例として
は、例えば、特開平4−127237号公報がある。
は、例えば、特開平4−127237号公報がある。
【0004】図3、図5は、3段パイプラインの情報処
理装置において、従来の条件分岐命令によりif-then-el
se文を記述した場合の動作説明図である。
理装置において、従来の条件分岐命令によりif-then-el
se文を記述した場合の動作説明図である。
【0005】今、条件分岐命令のデコードステージで条
件が判定されたとすると、この時点から分岐先命令をフ
ェッチするため、パイプラインに遅延スロットが発生す
ることとなる。
件が判定されたとすると、この時点から分岐先命令をフ
ェッチするため、パイプラインに遅延スロットが発生す
ることとなる。
【0006】図3(a)によると、条件成立時には、J
MP1に分岐しthen文を実行する。これをパイプライン
ステージ(図3(b))でみると、条件分岐命令の後に
遅延スロットでNOP(無処理命令)を実行した後、th
en文命令1、2を実行することとなる。
MP1に分岐しthen文を実行する。これをパイプライン
ステージ(図3(b))でみると、条件分岐命令の後に
遅延スロットでNOP(無処理命令)を実行した後、th
en文命令1、2を実行することとなる。
【0007】また、条件不成立時には、後続のelse文を
実行した後、JMP2に分岐する。これをパイプライン
ステージ(図3(c))でみると、else文命令1を実行
した後、遅延分岐命令を実行し、さらに、遅延スロット
でelse文命令2を実行し、JMP2へ分岐することとな
る。
実行した後、JMP2に分岐する。これをパイプライン
ステージ(図3(c))でみると、else文命令1を実行
した後、遅延分岐命令を実行し、さらに、遅延スロット
でelse文命令2を実行し、JMP2へ分岐することとな
る。
【0008】上述からわかるように、遅延分岐命令を使
用することでパイプライン1スロットの効率化を図って
いるが、else文中に余分な分岐命令が必要となる。
用することでパイプライン1スロットの効率化を図って
いるが、else文中に余分な分岐命令が必要となる。
【0009】図5は、遅延分岐方式を用いた条件分岐命
令を使用した場合の動作説明図である。図5(a)によ
ると、条件分岐命令の後にthen文、else文の共通命令を
置き、条件成立時には、共通命令を実行した後、JMP
1に分岐しthen文を実行する。これをパイプラインステ
ージ(図5(b))でみると、条件分岐命令の後に遅延
スロットで共通命令を実行した後、then文命令1、2を
実行することとなる。
令を使用した場合の動作説明図である。図5(a)によ
ると、条件分岐命令の後にthen文、else文の共通命令を
置き、条件成立時には、共通命令を実行した後、JMP
1に分岐しthen文を実行する。これをパイプラインステ
ージ(図5(b))でみると、条件分岐命令の後に遅延
スロットで共通命令を実行した後、then文命令1、2を
実行することとなる。
【0010】また、条件不成立時には、後続の共通命
令、else文を実行し、JMP2に分岐する。これをパイ
プラインステージ(図5(c))でみると、共通命令を
実行し、else文命令1を実行した後、遅延分岐命令を実
行し、さらに、遅延スロットでelse文命令2を実行し、
JMP2へ分岐することとなる。
令、else文を実行し、JMP2に分岐する。これをパイ
プラインステージ(図5(c))でみると、共通命令を
実行し、else文命令1を実行した後、遅延分岐命令を実
行し、さらに、遅延スロットでelse文命令2を実行し、
JMP2へ分岐することとなる。
【0011】上述からわかるように遅延分岐命令を使用
することでパイプライン2スロットの効率化を図ってい
るが、やはり、else文中に余分な分岐命令が必要とな
る。
することでパイプライン2スロットの効率化を図ってい
るが、やはり、else文中に余分な分岐命令が必要とな
る。
【0012】
【発明が解決しようとする課題】上述したように従来の
構成では、遅延分岐命令を使用することで遅延スロット
の効率化は図られるが、余分な分岐処理が必要となる問
題を有していた。
構成では、遅延分岐命令を使用することで遅延スロット
の効率化は図られるが、余分な分岐処理が必要となる問
題を有していた。
【0013】そこで、本発明は、この余分な分岐処理を
削除する方法に着目して得られたものである。
削除する方法に着目して得られたものである。
【0014】従って本発明は上記問題に鑑み、その目的
は、条件分岐命令によるif-then-else文に関して、余分
な分岐処理を削除し高速に処理する条件分岐命令の制御
装置およびその制御方法を提供することにある。
は、条件分岐命令によるif-then-else文に関して、余分
な分岐処理を削除し高速に処理する条件分岐命令の制御
装置およびその制御方法を提供することにある。
【0015】
【課題を解決するための手段】上記問題を解決するため
に本発明の条件分岐命令の制御装置およびその制御方法
は、請求項1に関わり、分岐条件を判定する手段と、分
岐条件が成立の場合に分岐をする手段と、分岐条件が不
成立の場合に次命令の実行を禁止する手段とを備えたも
のである。
に本発明の条件分岐命令の制御装置およびその制御方法
は、請求項1に関わり、分岐条件を判定する手段と、分
岐条件が成立の場合に分岐をする手段と、分岐条件が不
成立の場合に次命令の実行を禁止する手段とを備えたも
のである。
【0016】請求項2に関わり、分岐条件を判定し、分
岐条件が成立の場合には次命令を実行した後に分岐し、
分岐条件が不成立の場合には次命令の実行を禁止するよ
うに制御する。
岐条件が成立の場合には次命令を実行した後に分岐し、
分岐条件が不成立の場合には次命令の実行を禁止するよ
うに制御する。
【0017】請求項3に関わり、分岐条件を判定する手
段と、分岐条件が成立の場合に指定数の次命令を実行し
た後に分岐する手段と、分岐条件が不成立の場合に次命
令の実行を禁止する手段と、分岐条件が不成立の場合に
命令アドレスを指定数加算する手段とを備えたものであ
る。
段と、分岐条件が成立の場合に指定数の次命令を実行し
た後に分岐する手段と、分岐条件が不成立の場合に次命
令の実行を禁止する手段と、分岐条件が不成立の場合に
命令アドレスを指定数加算する手段とを備えたものであ
る。
【0018】請求項4に関わり、分岐条件を判定し、分
岐条件が成立の場合には指定数の次命令を実行した後に
分岐し、分岐条件が不成立の場合には次命令の実行を禁
止し、さらに、指定数後の命令から実行するように制御
する。
岐条件が成立の場合には指定数の次命令を実行した後に
分岐し、分岐条件が不成立の場合には次命令の実行を禁
止し、さらに、指定数後の命令から実行するように制御
する。
【0019】請求項5に関わり、分岐条件を判定する手
段と、分岐条件が成立の場合に指定数の次命令を実行し
た後に分岐する手段と、分岐条件が不成立の場合に命令
アドレスを指定数加算する手段とを備えたものである。
段と、分岐条件が成立の場合に指定数の次命令を実行し
た後に分岐する手段と、分岐条件が不成立の場合に命令
アドレスを指定数加算する手段とを備えたものである。
【0020】請求項6に関わり、分岐条件を判定し、分
岐条件が成立の場合には指定数の次命令を実行した後に
分岐し、分岐条件が不成立の場合には指定数後の命令か
ら実行するように制御する。
岐条件が成立の場合には指定数の次命令を実行した後に
分岐し、分岐条件が不成立の場合には指定数後の命令か
ら実行するように制御する。
【0021】本発明は上記した構成によって、請求項
1、2に関わり、分岐条件を判定する手段により分岐条
件を判定し、分岐条件が成立の場合には、分岐をする手
段により次命令を実行した後に分岐し、分岐条件が不成
立の場合には、次命令の実行を禁止する手段により次命
令の実行を禁止するように制御することで、if-then-el
se文を記述した場合の余分な分岐処理を削除することと
なる。
1、2に関わり、分岐条件を判定する手段により分岐条
件を判定し、分岐条件が成立の場合には、分岐をする手
段により次命令を実行した後に分岐し、分岐条件が不成
立の場合には、次命令の実行を禁止する手段により次命
令の実行を禁止するように制御することで、if-then-el
se文を記述した場合の余分な分岐処理を削除することと
なる。
【0022】請求項3、4に関わり、分岐条件を判定す
る手段により分岐条件を判定し、分岐条件が成立の場合
には、指定数の次命令を実行した後に分岐する手段によ
り指定数の次命令を実行した後に分岐し、分岐条件が不
成立の場合に次命令の実行を禁止する手段により次命令
の実行を禁止し、さらに、命令アドレスを指定数加算す
る手段により指定数後の命令から実行するように制御す
ることで、if-then-else文を記述した場合の余分な分岐
処理を削除することとなる。
る手段により分岐条件を判定し、分岐条件が成立の場合
には、指定数の次命令を実行した後に分岐する手段によ
り指定数の次命令を実行した後に分岐し、分岐条件が不
成立の場合に次命令の実行を禁止する手段により次命令
の実行を禁止し、さらに、命令アドレスを指定数加算す
る手段により指定数後の命令から実行するように制御す
ることで、if-then-else文を記述した場合の余分な分岐
処理を削除することとなる。
【0023】請求項5、6に関わり、分岐条件を判定す
る手段により分岐条件を判定し、分岐条件が成立の場合
には、指定数の次命令を実行した後に分岐する手段によ
り指定数の次命令を実行した後に分岐し、分岐条件が不
成立の場合には、命令アドレスを指定数加算する手段に
より指定数後の命令から実行するように制御すること
で、if-then-else文を記述した場合の余分な分岐処理を
削除することとなる。
る手段により分岐条件を判定し、分岐条件が成立の場合
には、指定数の次命令を実行した後に分岐する手段によ
り指定数の次命令を実行した後に分岐し、分岐条件が不
成立の場合には、命令アドレスを指定数加算する手段に
より指定数後の命令から実行するように制御すること
で、if-then-else文を記述した場合の余分な分岐処理を
削除することとなる。
【0024】
(実施の形態1)以下本発明の第1の実施例の条件分岐
命令の制御方式について、図面を参照しながら説明す
る。
命令の制御方式について、図面を参照しながら説明す
る。
【0025】図6は本発明の第1の実施例における条件
分岐の制御方式の構成図である。図6において、1は命
令ポインタで、第1の命令アドレス17を入力し、第2
の命令アドレス18を出力する。2は命令メモリで、第
2の命令アドレス18を入力し、第1の命令コード10
を出力する。3は次命令の実行を禁止する手段となるN
OP発生器で、第1の命令コード10および次命令実行
禁止信号20を入力し、第2の命令コード11を出力す
る。4は命令をデコードするデコーダで、第2の命令コ
ード11を入力し、第1の制御信号12、第2の制御信
号13および第3の制御信号14を出力する。5aは分
岐条件を判定する手段となる分岐処理制御回路で、条件
フラグ信号15および第2の制御信号13を入力し、分
岐信号21および次命令実行禁止信号20を出力する。
6は分岐アドレス生成器で、第3の制御信号14を入力
し、分岐アドレス16を出力する。7は分岐する手段と
なるマルチプレクサで、分岐信号21、分岐アドレス1
6および第3の命令アドレス19を入力し、第1の命令
アドレス17を出力する。8はインクリメンタで、第2
の命令アドレス18を入力し、第3の命令アドレス19
を出力する。9は演算器で、第1の制御信号12を入力
し、条件フラグ信号15を出力する。10は第1の命令
コードで、命令メモリ2から出力され、NOP発生器3
に入力される。11は第2の命令コードで、NOP発生
器3から出力され、デコーダ4に入力される。12は第
1の制御信号で、デコーダ4から出力され、演算器9に
入力される。13は第2の制御信号で、デコーダ4から
出力され、分岐処理制御回路5aに入力される。14は
第3の制御信号で、デコーダ4から出力され、分岐アド
レス生成器6に入力される。15は条件フラグ信号で、
演算器9から出力され、分岐処理制御回路5aに入力さ
れる。16は分岐アドレスで、分岐アドレス生成器6か
ら出力され、マルチプレクサ7に入力される。17は第
1の命令アドレスで、マルチプレクサ7から出力され、
命令ポインタ1に入力される。18は第2の命令アドレ
スで、命令ポインタ1から出力され、インクリメンタ8
に入力される。
分岐の制御方式の構成図である。図6において、1は命
令ポインタで、第1の命令アドレス17を入力し、第2
の命令アドレス18を出力する。2は命令メモリで、第
2の命令アドレス18を入力し、第1の命令コード10
を出力する。3は次命令の実行を禁止する手段となるN
OP発生器で、第1の命令コード10および次命令実行
禁止信号20を入力し、第2の命令コード11を出力す
る。4は命令をデコードするデコーダで、第2の命令コ
ード11を入力し、第1の制御信号12、第2の制御信
号13および第3の制御信号14を出力する。5aは分
岐条件を判定する手段となる分岐処理制御回路で、条件
フラグ信号15および第2の制御信号13を入力し、分
岐信号21および次命令実行禁止信号20を出力する。
6は分岐アドレス生成器で、第3の制御信号14を入力
し、分岐アドレス16を出力する。7は分岐する手段と
なるマルチプレクサで、分岐信号21、分岐アドレス1
6および第3の命令アドレス19を入力し、第1の命令
アドレス17を出力する。8はインクリメンタで、第2
の命令アドレス18を入力し、第3の命令アドレス19
を出力する。9は演算器で、第1の制御信号12を入力
し、条件フラグ信号15を出力する。10は第1の命令
コードで、命令メモリ2から出力され、NOP発生器3
に入力される。11は第2の命令コードで、NOP発生
器3から出力され、デコーダ4に入力される。12は第
1の制御信号で、デコーダ4から出力され、演算器9に
入力される。13は第2の制御信号で、デコーダ4から
出力され、分岐処理制御回路5aに入力される。14は
第3の制御信号で、デコーダ4から出力され、分岐アド
レス生成器6に入力される。15は条件フラグ信号で、
演算器9から出力され、分岐処理制御回路5aに入力さ
れる。16は分岐アドレスで、分岐アドレス生成器6か
ら出力され、マルチプレクサ7に入力される。17は第
1の命令アドレスで、マルチプレクサ7から出力され、
命令ポインタ1に入力される。18は第2の命令アドレ
スで、命令ポインタ1から出力され、インクリメンタ8
に入力される。
【0026】19は第3の命令アドレスで、インクリメ
ンタ8から出力され、マルチプレクサ7に入力される。
20は次命令実行禁止信号で、分岐処理制御回路5aか
ら出力され、NOP生成器3に入力される。21は分岐
信号で、分岐処理制御回路5aから出力され、マルチプ
レクサ7に入力される。
ンタ8から出力され、マルチプレクサ7に入力される。
20は次命令実行禁止信号で、分岐処理制御回路5aか
ら出力され、NOP生成器3に入力される。21は分岐
信号で、分岐処理制御回路5aから出力され、マルチプ
レクサ7に入力される。
【0027】以上のように構成された条件分岐命令の制
御方式について、以下図6および図1を用いてその動作
を説明する。
御方式について、以下図6および図1を用いてその動作
を説明する。
【0028】まず図6は3段パイプラインにおける条件
分岐の制御装置の構成を示すものであって、命令ポイン
タ1は、第1の命令アドレス17をラッチし、第2の命
令アドレス18として出力する。命令メモリ2は、第2
の命令アドレス18をアドレスとして第1の命令コード
10を出力する。NOP生成器3は、次命令実行禁止信
号20がOFFの場合には、第1の命令コード10をラ
ッチして出力し、次命令実行禁止信号20がONの場合
には、NOPコードを出力する。デコーダ4は、第2の
命令コード11をデコードし、第1の制御信号12、第
2の制御信号13および第3の制御信号14を出力す
る。分岐処理制御回路5aは、第2の制御信号13によ
り制御され、条件フラグ信号15の分岐条件を成立と認
識した場合には、分岐信号21をONにし、条件フラグ
信号15の分岐条件を不成立と認識した場合には、次命
令実行禁止信号20をONにする(詳細は後述する)。
分岐アドレス生成器6は、第3の制御信号14より分岐
アドレスを生成し、分岐アドレス16として出力する。
マルチプレクサ7は、分岐信号21がONの場合には、
分岐アドレス16を選択し、分岐信号21がOFFの場
合には、第3の命令アドレス19を選択する。インクリ
メンタ8は、第2の命令アドレス18を1インクリメン
トし、第3の命令アドレス19として出力する。演算器
9は、図には記述していないデータメモリ等に格納され
ているデータを演算するための演算器で、第1の制御信
号12により制御されて演算を実行し、その演算結果を
条件フラグ信号15として出力する。
分岐の制御装置の構成を示すものであって、命令ポイン
タ1は、第1の命令アドレス17をラッチし、第2の命
令アドレス18として出力する。命令メモリ2は、第2
の命令アドレス18をアドレスとして第1の命令コード
10を出力する。NOP生成器3は、次命令実行禁止信
号20がOFFの場合には、第1の命令コード10をラ
ッチして出力し、次命令実行禁止信号20がONの場合
には、NOPコードを出力する。デコーダ4は、第2の
命令コード11をデコードし、第1の制御信号12、第
2の制御信号13および第3の制御信号14を出力す
る。分岐処理制御回路5aは、第2の制御信号13によ
り制御され、条件フラグ信号15の分岐条件を成立と認
識した場合には、分岐信号21をONにし、条件フラグ
信号15の分岐条件を不成立と認識した場合には、次命
令実行禁止信号20をONにする(詳細は後述する)。
分岐アドレス生成器6は、第3の制御信号14より分岐
アドレスを生成し、分岐アドレス16として出力する。
マルチプレクサ7は、分岐信号21がONの場合には、
分岐アドレス16を選択し、分岐信号21がOFFの場
合には、第3の命令アドレス19を選択する。インクリ
メンタ8は、第2の命令アドレス18を1インクリメン
トし、第3の命令アドレス19として出力する。演算器
9は、図には記述していないデータメモリ等に格納され
ているデータを演算するための演算器で、第1の制御信
号12により制御されて演算を実行し、その演算結果を
条件フラグ信号15として出力する。
【0029】図8は本発明の第1の実施例における分岐
処理制御回路5aの詳細図である。図8において、13
は図6記載のデコーダ4から出力される第2の制御信号
で、分岐イネーブル信号110、負判定信号111、ゼ
ロ判定信号112と正判定信号113からなる。15は
図6記載の演算器9から出力される条件フラグ信号で、
負フラグ114、ゼロフラグ115と正フラグ116か
らなる。20は図6記載の次命令実行禁止信号で、ラッ
チ109から出力される。21は図6記載の分岐信号
で、ラッチ108から出力される。101はORゲート
で、負判定信号111と負フラグ114の論理和をと
り、ANDゲート104に出力する。
処理制御回路5aの詳細図である。図8において、13
は図6記載のデコーダ4から出力される第2の制御信号
で、分岐イネーブル信号110、負判定信号111、ゼ
ロ判定信号112と正判定信号113からなる。15は
図6記載の演算器9から出力される条件フラグ信号で、
負フラグ114、ゼロフラグ115と正フラグ116か
らなる。20は図6記載の次命令実行禁止信号で、ラッ
チ109から出力される。21は図6記載の分岐信号
で、ラッチ108から出力される。101はORゲート
で、負判定信号111と負フラグ114の論理和をと
り、ANDゲート104に出力する。
【0030】102はORゲートで、ゼロ判定信号11
2とゼロフラグ115の論理和をとり、ANDゲート1
04に出力する。103はORゲートで、正判定信号1
13と正フラグ116の論理和をとり、ANDゲート1
04に出力する。104はANDゲートで、ORゲート
101、102、103の出力の論理積をとり、AND
ゲート105とインバータ107に出力する。105は
ANDゲートで、ANDゲート104の出力と分岐イネ
ーブル信号110の論理積をとり、ラッチ108に出力
する。106はANDゲートで、インバータ107の出
力と分岐イネーブル信号110の論理積をとり、ラッチ
109に出力する。107はインバータで、ANDゲー
ト104の出力を反転させANDゲート106に出力す
る。108はラッチで、ANDゲート105の出力をラ
ッチし、分岐信号21として出力する。109はラッチ
で、ANDゲート106の出力をラッチし、次命令実行
禁止信号20として出力する。
2とゼロフラグ115の論理和をとり、ANDゲート1
04に出力する。103はORゲートで、正判定信号1
13と正フラグ116の論理和をとり、ANDゲート1
04に出力する。104はANDゲートで、ORゲート
101、102、103の出力の論理積をとり、AND
ゲート105とインバータ107に出力する。105は
ANDゲートで、ANDゲート104の出力と分岐イネ
ーブル信号110の論理積をとり、ラッチ108に出力
する。106はANDゲートで、インバータ107の出
力と分岐イネーブル信号110の論理積をとり、ラッチ
109に出力する。107はインバータで、ANDゲー
ト104の出力を反転させANDゲート106に出力す
る。108はラッチで、ANDゲート105の出力をラ
ッチし、分岐信号21として出力する。109はラッチ
で、ANDゲート106の出力をラッチし、次命令実行
禁止信号20として出力する。
【0031】以上のように構成された分岐処理制御回路
5aについて、図8を用いてその動作を説明する。
5aについて、図8を用いてその動作を説明する。
【0032】まず図8で、条件分岐命令時には、分岐イ
ネーブル信号110がONとなる。今、ゼロ判定信号1
12と正判定信号113がONであるとする。この時、
負フラグ114がONである場合、すなわち分岐条件が
成立の場合には、ANDゲート104の出力がONとな
る。さらに分岐イネーブル信号110がONであるの
で、ANDゲート105の出力がONとなり、ラッチ1
08でラッチされ分岐信号21がONとなる。
ネーブル信号110がONとなる。今、ゼロ判定信号1
12と正判定信号113がONであるとする。この時、
負フラグ114がONである場合、すなわち分岐条件が
成立の場合には、ANDゲート104の出力がONとな
る。さらに分岐イネーブル信号110がONであるの
で、ANDゲート105の出力がONとなり、ラッチ1
08でラッチされ分岐信号21がONとなる。
【0033】次に、負フラグ114がOFFである場
合、すなわち分岐条件が不成立の場合には、ANDゲー
ト104の出力がOFFとなるので、インバータ107
の出力がONとなり、さらに分岐イネーブル信号110
がONであるので、ANDゲート106の出力はONと
なる。そして、ANDゲート106の出力は、ラッチ1
09でラッチされ、次命令実行禁止信号20がONとな
る。
合、すなわち分岐条件が不成立の場合には、ANDゲー
ト104の出力がOFFとなるので、インバータ107
の出力がONとなり、さらに分岐イネーブル信号110
がONであるので、ANDゲート106の出力はONと
なる。そして、ANDゲート106の出力は、ラッチ1
09でラッチされ、次命令実行禁止信号20がONとな
る。
【0034】上述では演算結果の負の判定の場合につい
てその動作を説明したが、ゼロの判定の場合には、負判
定信号111と正判定信号113をONとすることで、
正の判定の場合には、負判定信号111とゼロ判定信号
112をONとすることで行なうことができる。また、
負、正、ゼロの組合わせも同様に行なうことができる。
てその動作を説明したが、ゼロの判定の場合には、負判
定信号111と正判定信号113をONとすることで、
正の判定の場合には、負判定信号111とゼロ判定信号
112をONとすることで行なうことができる。また、
負、正、ゼロの組合わせも同様に行なうことができる。
【0035】次に図1は3段パイプラインの情報処理装
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、遅延スロットでth
en文命令を実行しJMP1へ分岐し、条件が不成立の場
合には、条件分岐命令の実行ステージで、then文命令を
NOPコードに置き換えて実行を禁止し、次のelse文命
令のみを実行する。
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、遅延スロットでth
en文命令を実行しJMP1へ分岐し、条件が不成立の場
合には、条件分岐命令の実行ステージで、then文命令を
NOPコードに置き換えて実行を禁止し、次のelse文命
令のみを実行する。
【0036】この動作を図6を用いて、1)分岐条件成
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力される。 <条件分岐命令のデコードステージ、then文命令の命令
フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第3の制御信号14が出力され、分岐アドレス
生成器6から分岐アドレス16が出力される。デコーダ
4で第2の命令コードがデコーダされ第2の制御信号1
3が出力され、分岐処理制御回路5aは条件フラグ信号
15をもとに分岐条件の判定を行ない、分岐信号21を
ONにする。分岐信号21により、マルチプレクサ7は
分岐アドレス16を選択する。
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力される。 <条件分岐命令のデコードステージ、then文命令の命令
フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第3の制御信号14が出力され、分岐アドレス
生成器6から分岐アドレス16が出力される。デコーダ
4で第2の命令コードがデコーダされ第2の制御信号1
3が出力され、分岐処理制御回路5aは条件フラグ信号
15をもとに分岐条件の判定を行ない、分岐信号21を
ONにする。分岐信号21により、マルチプレクサ7は
分岐アドレス16を選択する。
【0037】then文命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、マルチプレクサ7から第1の命令
アドレス17として出力され、命令ポインタ1にラッチ
される。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令の命令
フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理制御
回路5aは条件フラグ信号15をもとに分岐条件の判定
を行ない、次命令実行禁止信号20をONにする。
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、マルチプレクサ7から第1の命令
アドレス17として出力され、命令ポインタ1にラッチ
される。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令の命令
フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理制御
回路5aは条件フラグ信号15をもとに分岐条件の判定
を行ない、次命令実行禁止信号20をONにする。
【0038】then文命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <then文命令のデコードステージ、else文命令の命令フ
ェッチステージ> then文命令のデコード NOP生成器からNOPコード出力される。よって、命
令メモリ2から出力された第1の命令コード10は、N
OPコードに置き換えらる。
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <then文命令のデコードステージ、else文命令の命令フ
ェッチステージ> then文命令のデコード NOP生成器からNOPコード出力される。よって、命
令メモリ2から出力された第1の命令コード10は、N
OPコードに置き換えらる。
【0039】else文命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、インクリメンタ8で1インクリメントされ、第3の
命令アドレス19として出力され、さらにマルチプレク
サ7を通り、第1の命令アドレス17となり、命令ポイ
ンタ1にラッチされる。
【0040】以上のように本実施例によれば、分岐条件
を判定する手段となる分岐処理制御回路5aと、分岐条
件が成立の場合に分岐する手段となるマルチプレクサ7
と、分岐条件が不成立の場合に次命令の実行を禁止する
手段となるNOP生成器3とを備えることにより、分岐
条件を判定し、分岐条件が成立の場合には次命令を実行
した後に分岐し、分岐条件が不成立の場合には次命令の
実行を禁止することができる。
を判定する手段となる分岐処理制御回路5aと、分岐条
件が成立の場合に分岐する手段となるマルチプレクサ7
と、分岐条件が不成立の場合に次命令の実行を禁止する
手段となるNOP生成器3とを備えることにより、分岐
条件を判定し、分岐条件が成立の場合には次命令を実行
した後に分岐し、分岐条件が不成立の場合には次命令の
実行を禁止することができる。
【0041】(実施の形態2)以下本発明の第2の実施
例の条件分岐命令の制御方式について、図面を参照しな
がら説明する。
例の条件分岐命令の制御方式について、図面を参照しな
がら説明する。
【0042】図7は本発明の第2の実施例における条件
分岐の制御方式の構成図である。図6と異なるのは、分
岐条件が成立の場合に指定数の次命令を実行した後に分
岐をする手段として、カウンタ22を設け、分岐処理制
御回路5bの出力に実行回数設定信号23を設けてカウ
ンタ22に入力し、さらに分岐処理制御回路5bから出
力していた分岐信号21を削除してカウンタ22から出
力するようにした点と、分岐条件が不成立の場合に命令
アドレスを指定数加算する手段として、加算器24を設
け、分岐処理制御回路5bの出力に加算値設定信号25
を設けて加算器24へ入力するようにした点である。
分岐の制御方式の構成図である。図6と異なるのは、分
岐条件が成立の場合に指定数の次命令を実行した後に分
岐をする手段として、カウンタ22を設け、分岐処理制
御回路5bの出力に実行回数設定信号23を設けてカウ
ンタ22に入力し、さらに分岐処理制御回路5bから出
力していた分岐信号21を削除してカウンタ22から出
力するようにした点と、分岐条件が不成立の場合に命令
アドレスを指定数加算する手段として、加算器24を設
け、分岐処理制御回路5bの出力に加算値設定信号25
を設けて加算器24へ入力するようにした点である。
【0043】図7において、図6と同一の機能を有する
ものには同一の符号を付してその詳細な説明を省略す
る。
ものには同一の符号を付してその詳細な説明を省略す
る。
【0044】以上のように構成された条件分岐命令の制
御方式について、以下図7および図2を用いてその動作
を説明する。
御方式について、以下図7および図2を用いてその動作
を説明する。
【0045】まず図7は3段パイプラインにおける条件
分岐の制御装置の構成を示すものでであって、分岐処理
制御回路5bは、第2の制御信号13により制御され、
条件フラグ信号15の分岐条件を成立と認識した場合に
は、実行回数設定信号23を出力する。また、条件フラ
グ信号15の分岐条件を不成立と認識した場合には、加
算値設定信号25を出力し、また、次命令実行禁止信号
20をONにする(詳細は後述する)。カウンタ22
は、実行回数設定信号が入力されると、カウント数を設
定し、ダウンカウントを開始し、ゼロで分岐信号21を
出力する。加算器24は、加算値設定信号25が入力さ
れない場合には、第2の命令アドレス18を1インクリ
メントし、第3の命令アドレス19として出力し、加算
値設定信号25が入力された場合には、加算値が設定さ
れ、第2の命令アドレス18を加算値分インクリメント
し、第3の命令アドレス19として出力する。
分岐の制御装置の構成を示すものでであって、分岐処理
制御回路5bは、第2の制御信号13により制御され、
条件フラグ信号15の分岐条件を成立と認識した場合に
は、実行回数設定信号23を出力する。また、条件フラ
グ信号15の分岐条件を不成立と認識した場合には、加
算値設定信号25を出力し、また、次命令実行禁止信号
20をONにする(詳細は後述する)。カウンタ22
は、実行回数設定信号が入力されると、カウント数を設
定し、ダウンカウントを開始し、ゼロで分岐信号21を
出力する。加算器24は、加算値設定信号25が入力さ
れない場合には、第2の命令アドレス18を1インクリ
メントし、第3の命令アドレス19として出力し、加算
値設定信号25が入力された場合には、加算値が設定さ
れ、第2の命令アドレス18を加算値分インクリメント
し、第3の命令アドレス19として出力する。
【0046】図9は本発明の第2の実施例における分岐
処理制御回路5bの詳細図である。図8と異なるのは、
第2の制御信号13にカウンタ設定117と加算値11
8を追加した点と、ANDゲート119、120とラッ
チ121と加算値設定信号25を追加した点と、分岐信
号21を実行回数設定信号23に変更した点である。A
NDゲート119はANDゲート105の出力とカウン
タ設定117が入力される。ANDゲート120はAN
Dゲート106の出力と加算値118が入力される。ラ
ッチ121はANDゲート120の出力が入力され、加
算値設定信号25が出力される。ラッチ108はAND
ゲート108の出力が入力され、実行回数設定信号23
が出力される。図9において、図8と同一の機能を有す
るものには同一の符号を付してその詳細な説明を省略す
る。
処理制御回路5bの詳細図である。図8と異なるのは、
第2の制御信号13にカウンタ設定117と加算値11
8を追加した点と、ANDゲート119、120とラッ
チ121と加算値設定信号25を追加した点と、分岐信
号21を実行回数設定信号23に変更した点である。A
NDゲート119はANDゲート105の出力とカウン
タ設定117が入力される。ANDゲート120はAN
Dゲート106の出力と加算値118が入力される。ラ
ッチ121はANDゲート120の出力が入力され、加
算値設定信号25が出力される。ラッチ108はAND
ゲート108の出力が入力され、実行回数設定信号23
が出力される。図9において、図8と同一の機能を有す
るものには同一の符号を付してその詳細な説明を省略す
る。
【0047】以上のように構成された分岐処理制御回路
5bについて、図9を用いてその動作を説明する。
5bについて、図9を用いてその動作を説明する。
【0048】まず図9で、条件分岐命令時には、分岐イ
ネーブル信号110がONとなる。今、ゼロ判定信号1
12と正判定信号113がONであるとする。この時、
負フラグ114がONである場合、すなわち分岐条件が
成立の場合には、ANDゲート104の出力がONとな
り、さらに分岐イネーブル信号110がONであるの
で、ANDゲート105の出力はONとなる。これによ
り、ANDゲート119はイネーブルになり、カウンタ
設定117がラッチ108でラッチされて実行回数設定
信号23として出力される。
ネーブル信号110がONとなる。今、ゼロ判定信号1
12と正判定信号113がONであるとする。この時、
負フラグ114がONである場合、すなわち分岐条件が
成立の場合には、ANDゲート104の出力がONとな
り、さらに分岐イネーブル信号110がONであるの
で、ANDゲート105の出力はONとなる。これによ
り、ANDゲート119はイネーブルになり、カウンタ
設定117がラッチ108でラッチされて実行回数設定
信号23として出力される。
【0049】次に、負フラグ114がOFFである場
合、すなわち分岐条件が不成立の場合には、ANDゲー
ト104の出力がOFFとなるので、インバータ107
の出力はONとなり、さらに分岐イネーブル信号110
がONであるので、ANDゲート106の出力がONと
なる。これにより、ANDゲート120はイネーブルに
なり、加算値118がラッチ121でラッチされて加算
値設定信号25として出力される。また、ANDゲート
106の出力がラッチ109でラッチされ次命令実行禁
止信号20がONとなる。
合、すなわち分岐条件が不成立の場合には、ANDゲー
ト104の出力がOFFとなるので、インバータ107
の出力はONとなり、さらに分岐イネーブル信号110
がONであるので、ANDゲート106の出力がONと
なる。これにより、ANDゲート120はイネーブルに
なり、加算値118がラッチ121でラッチされて加算
値設定信号25として出力される。また、ANDゲート
106の出力がラッチ109でラッチされ次命令実行禁
止信号20がONとなる。
【0050】上述では、演算結果の負の判定の場合につ
いてその動作を説明したが、ゼロの判定の場合には、負
判定信号111と正判定信号113をONとすること
で、正の判定の場合には、負判定信号111とゼロ判定
信号112をONとすることで行なうことができる。ま
た、負、正、ゼロの組合わせも同様に行なうことができ
る。
いてその動作を説明したが、ゼロの判定の場合には、負
判定信号111と正判定信号113をONとすること
で、正の判定の場合には、負判定信号111とゼロ判定
信号112をONとすることで行なうことができる。ま
た、負、正、ゼロの組合わせも同様に行なうことができ
る。
【0051】次に図2は3段パイプラインの情報処理装
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、then文命令1、2
を実行し、JMP1へ分岐する。条件が不成立の場合に
は、条件分岐命令の実行ステージで、then文命令1をN
OPコードに置き換えて実行を禁止し、then文命令2の
命令を飛ばして、else文命令1、2を実行する。
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、then文命令1、2
を実行し、JMP1へ分岐する。条件が不成立の場合に
は、条件分岐命令の実行ステージで、then文命令1をN
OPコードに置き換えて実行を禁止し、then文命令2の
命令を飛ばして、else文命令1、2を実行する。
【0052】この動作を図7を用いて、1)分岐条件成
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令1の命
令フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第3の制御信号14が出力され、分岐アドレス
生成器6から分岐アドレス16が出力される。
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令1の命
令フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第3の制御信号14が出力され、分岐アドレス
生成器6から分岐アドレス16が出力される。
【0053】デコーダ4で第2の命令コードがデコーダ
され第2の制御信号13が出力され、分岐処理制御回路
5bは条件フラグ信号15をもとに分岐条件の判定を行
ない、実行回数設定信号23を出力する。実行回数設定
信号23により、カウンタ22に1が設定さる。
され第2の制御信号13が出力され、分岐処理制御回路
5bは条件フラグ信号15をもとに分岐条件の判定を行
ない、実行回数設定信号23を出力する。実行回数設定
信号23により、カウンタ22に1が設定さる。
【0054】then文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <条件分岐命令の実行ステージ、then文命令2の命令フ
ェッチステージ> 条件分岐命令の実行 カウンタ22が1をカウントし、分岐信号21をONに
し、マルチプレクサ7は分岐アドレス16を選択する。
が、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <条件分岐命令の実行ステージ、then文命令2の命令フ
ェッチステージ> 条件分岐命令の実行 カウンタ22が1をカウントし、分岐信号21をONに
し、マルチプレクサ7は分岐アドレス16を選択する。
【0055】then文命令2の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、マルチプレクサ7から第1の命令
アドレス17として出力され、命令ポインタ1にラッチ
される。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令1の命
令フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理回路
5は条件フラグ信号15をもとに分岐条件の判定を行な
い、次命令実行禁止信号20をONにし、また、加算値
設定信号25を出力する。加算値設定信号25により、
加算器24に2が設定さる。
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、マルチプレクサ7から第1の命令
アドレス17として出力され、命令ポインタ1にラッチ
される。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、then文命令1の命
令フェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理回路
5は条件フラグ信号15をもとに分岐条件の判定を行な
い、次命令実行禁止信号20をONにし、また、加算値
設定信号25を出力する。加算値設定信号25により、
加算器24に2が設定さる。
【0056】then文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <then文命令1のデコードステージ、else文命令1の命
令フェッチステージ> then文命令1のデコード NOP生成器からNOPコード出力される。よって、命
令メモリ2から出力された第1の命令コード10は、N
OPコードに置き換えらる。
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <then文命令1のデコードステージ、else文命令1の命
令フェッチステージ> then文命令1のデコード NOP生成器からNOPコード出力される。よって、命
令メモリ2から出力された第1の命令コード10は、N
OPコードに置き換えらる。
【0057】else文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で2インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令2の命令フェッチステージ> else文命令2の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。
が、加算器14で2インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令2の命令フェッチステージ> else文命令2の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。
【0058】以上のように本実施例によれば、分岐条件
を判定する手段となる分岐処理制御回路5bと、分岐条
件が成立の場合に指定数の次命令を実行した後に分岐す
る手段となるマルチプレクサ7、加算器24と、分岐条
件が不成立の場合に次命令の実行を禁止する手段となる
NOP生成器3と、分岐条件が不成立の場合に命令アド
レスを指定数加算する手段となるカウンタ22とを備え
ることにより、分岐条件を判定し、分岐条件が成立の場
合には、指定数の次命令を実行した後に分岐し、分岐条
件が不成立の場合には、次命令の実行を禁止し、指定数
後の命令から実行することができる。
を判定する手段となる分岐処理制御回路5bと、分岐条
件が成立の場合に指定数の次命令を実行した後に分岐す
る手段となるマルチプレクサ7、加算器24と、分岐条
件が不成立の場合に次命令の実行を禁止する手段となる
NOP生成器3と、分岐条件が不成立の場合に命令アド
レスを指定数加算する手段となるカウンタ22とを備え
ることにより、分岐条件を判定し、分岐条件が成立の場
合には、指定数の次命令を実行した後に分岐し、分岐条
件が不成立の場合には、次命令の実行を禁止し、指定数
後の命令から実行することができる。
【0059】(実施の形態3)以下本発明の第3の実施
例の条件分岐命令の制御方式について、図面を参照しな
がら説明する。
例の条件分岐命令の制御方式について、図面を参照しな
がら説明する。
【0060】第2の実施例の図7において、次命令実行
禁止信号20を削除したものとして、条件分岐命令の制
御方式について、以下図7および図4を用いてその動作
を説明する。
禁止信号20を削除したものとして、条件分岐命令の制
御方式について、以下図7および図4を用いてその動作
を説明する。
【0061】次に図4は3段パイプラインの情報処理装
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、共通命令およびth
en文命令1、2を実行し、JMP1へ分岐する。条件が
不成立の場合には、共通命令を実行し、then文命令1、
2の命令を飛ばして、else文命令1、2を実行する。
置におけるif-then-else文記述の動作を示すものであっ
て、条件分岐命令のデコードステージで分岐条件の判定
が終了し、条件が成立した場合には、共通命令およびth
en文命令1、2を実行し、JMP1へ分岐する。条件が
不成立の場合には、共通命令を実行し、then文命令1、
2の命令を飛ばして、else文命令1、2を実行する。
【0062】この動作を図7を用いて、1)分岐条件成
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、共通命令の命令フ
ェッチステージ> 条件分岐命令のデコード 第1の命令コード10が、NOP生成器3でラッチさ
れ、第2の命令コード11として出力される。デコーダ
4で第2の命令コードがデコーダされ第3の制御信号1
4が出力され、分岐アドレス生成器6から分岐アドレス
16が出力される。デコーダ4で第2の命令コードがデ
コーダされ第2の制御信号13が出力され、分岐処理制
御回路5bは条件フラグ信号15をもとに分岐条件の判
定を行ない、実行回数設定信号23を出力する。実行回
数設定信号23により、カウンタ22に2が設定さる。
立時、2)分岐条件不成立時についてステージ別に説明
する。 1)分岐条件成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、共通命令の命令フ
ェッチステージ> 条件分岐命令のデコード 第1の命令コード10が、NOP生成器3でラッチさ
れ、第2の命令コード11として出力される。デコーダ
4で第2の命令コードがデコーダされ第3の制御信号1
4が出力され、分岐アドレス生成器6から分岐アドレス
16が出力される。デコーダ4で第2の命令コードがデ
コーダされ第2の制御信号13が出力され、分岐処理制
御回路5bは条件フラグ信号15をもとに分岐条件の判
定を行ない、実行回数設定信号23を出力する。実行回
数設定信号23により、カウンタ22に2が設定さる。
【0063】共通命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <then文命令1の命令フェッチステージ> then文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる。 <then文命令2の命令フェッチステージ> 条件分岐命令の実行 カウンタ22が2をカウントし、分岐信号21をONに
し、マルチプレクサ7は分岐アドレス16を選択する。
が、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <then文命令1の命令フェッチステージ> then文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる。 <then文命令2の命令フェッチステージ> 条件分岐命令の実行 カウンタ22が2をカウントし、分岐信号21をONに
し、マルチプレクサ7は分岐アドレス16を選択する。
【0064】then文命令2の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、命令ポインタ1にラッチされる。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、共通命令の命令フ
ェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理制御
回路5bは条件フラグ信号15をもとに分岐条件の判定
を行ない、加算値設定信号25を出力する。加算値設定
信号25により、加算器24に3が設定される。
は、加算器24で1インクリメントされ、第3の命令ア
ドレス19として出力され、更にマルチプレクサ7を通
り、第1の命令アドレス17となり、命令ポインタ1に
ラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 分岐アドレス16が、命令ポインタ1にラッチされる。 2)分岐条件不成立時 <条件分岐命令の命令フェッチステージ> 条件分岐命令の命令フェッチ 命令ポインタ1から出力される第2の命令アドレス18
により、条件分岐命令が命令メモリ2から第1の命令コ
ード10として出力さる。 <条件分岐命令のデコードステージ、共通命令の命令フ
ェッチステージ> 条件分岐命令のデコード 命令メモリ2から出力された第1の命令コード10が、
NOP生成器3でラッチされ、第2の命令コード11と
して出力される。デコーダ4で第2の命令コードがデコ
ーダされ第2の制御信号13が出力され、分岐処理制御
回路5bは条件フラグ信号15をもとに分岐条件の判定
を行ない、加算値設定信号25を出力する。加算値設定
信号25により、加算器24に3が設定される。
【0065】共通命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令1の命令フェッチステージ> else文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で3インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令2の命令フェッチステージ> else文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令1の命令フェッチステージ> else文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で3インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <else文命令2の命令フェッチステージ> else文命令1の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。 <後続命令の命令フェッチステージ> 後続命令の命令フェッチ 命令ポインタ1の出力である第2の命令アドレス18
が、加算器14で1インクリメントされ、第3の命令ア
ドレス19として出力され、さらにマルチプレクサ7を
通り、第1の命令アドレス17となり、命令ポインタ1
にラッチされる。
【0066】以上のように本実施例によれば、分岐条件
を判定する手段となる分岐処理制御回路5bと、分岐条
件が成立の場合に指定数の次命令を実行した後に分岐す
る手段となるマルチプレクサ7、加算器24と、分岐条
件が不成立の場合に命令アドレスを指定数加算する手段
となるカウンタ22とを備えることにより、分岐条件を
判定し、分岐条件が成立の場合には、指定数の次命令を
実行した後に分岐し、分岐条件が不成立の場合には、指
定数後の命令から実行することができる。さらに、then
文、else文の共通命令を条件分岐命令のすぐ後に置くこ
とで、無駄なNOP処理を削除することができる。
を判定する手段となる分岐処理制御回路5bと、分岐条
件が成立の場合に指定数の次命令を実行した後に分岐す
る手段となるマルチプレクサ7、加算器24と、分岐条
件が不成立の場合に命令アドレスを指定数加算する手段
となるカウンタ22とを備えることにより、分岐条件を
判定し、分岐条件が成立の場合には、指定数の次命令を
実行した後に分岐し、分岐条件が不成立の場合には、指
定数後の命令から実行することができる。さらに、then
文、else文の共通命令を条件分岐命令のすぐ後に置くこ
とで、無駄なNOP処理を削除することができる。
【0067】なお、実施例1、2、3において、3段パ
イプラインを例にとり説明したが、任意のパイプライン
段数でもよいことは明らかである。
イプラインを例にとり説明したが、任意のパイプライン
段数でもよいことは明らかである。
【0068】
【発明の効果】請求項1、2に関わり、分岐条件を判定
する手段と、分岐条件が成立の場合に分岐をする手段
と、分岐条件が不成立の場合に次命令の実行を禁止する
手段とを備えることにより、分岐条件を判定し、分岐条
件が成立の場合には次命令を実行した後に分岐し、分岐
条件が不成立の場合には次命令の実行を禁止することが
でき、if-then-else文に関して、余分な分岐処理を削除
し高速に処理する効果がある。
する手段と、分岐条件が成立の場合に分岐をする手段
と、分岐条件が不成立の場合に次命令の実行を禁止する
手段とを備えることにより、分岐条件を判定し、分岐条
件が成立の場合には次命令を実行した後に分岐し、分岐
条件が不成立の場合には次命令の実行を禁止することが
でき、if-then-else文に関して、余分な分岐処理を削除
し高速に処理する効果がある。
【0069】請求項3、4に関わり、分岐条件を判定す
る手段と、分岐条件が成立の場合に指定数の次命令を実
行した後に分岐する手段と、分岐条件が不成立の場合に
次命令の実行を禁止する手段と、分岐条件が不成立の場
合に命令アドレスを指定数加算する手段とを備えること
により、分岐条件を判定し、分岐条件が成立の場合には
指定数の次命令を実行した後に分岐し、分岐条件が不成
立の場合には次命令の実行を禁止し、さらに、指定数後
の命令から実行することができ、任意の長さのif-then-
else文に関して、余分な分岐処理を削除し高速に処理す
る効果がある。
る手段と、分岐条件が成立の場合に指定数の次命令を実
行した後に分岐する手段と、分岐条件が不成立の場合に
次命令の実行を禁止する手段と、分岐条件が不成立の場
合に命令アドレスを指定数加算する手段とを備えること
により、分岐条件を判定し、分岐条件が成立の場合には
指定数の次命令を実行した後に分岐し、分岐条件が不成
立の場合には次命令の実行を禁止し、さらに、指定数後
の命令から実行することができ、任意の長さのif-then-
else文に関して、余分な分岐処理を削除し高速に処理す
る効果がある。
【0070】請求項5、6に関わり、分岐条件を判定す
る手段と、分岐条件が成立の場合に指定数の次命令を実
行した後に分岐する手段と、分岐条件が不成立の場合に
命令アドレスを指定数加算する手段とを備えることによ
り、分岐条件を判定し、分岐条件が成立の場合には指定
数の次命令を実行した後に分岐し、分岐条件が不成立の
場合には指定数後の命令から実行することができ、任意
の長さのif-then-else文に関して、余分な分岐処理を削
除し高速に処理する効果があり、さらにthen文、else文
の共通命令を条件分岐命令のすぐ後に置くことで、無駄
なNOP処理も削除することができる。
る手段と、分岐条件が成立の場合に指定数の次命令を実
行した後に分岐する手段と、分岐条件が不成立の場合に
命令アドレスを指定数加算する手段とを備えることによ
り、分岐条件を判定し、分岐条件が成立の場合には指定
数の次命令を実行した後に分岐し、分岐条件が不成立の
場合には指定数後の命令から実行することができ、任意
の長さのif-then-else文に関して、余分な分岐処理を削
除し高速に処理する効果があり、さらにthen文、else文
の共通命令を条件分岐命令のすぐ後に置くことで、無駄
なNOP処理も削除することができる。
【図1】本発明の第1の実施例における3段パイプライ
ンの情報処理装置のif-then-else文記述の動作説明図
ンの情報処理装置のif-then-else文記述の動作説明図
【図2】本発明の第2の実施例における3段パイプライ
ンの情報処理装置のif-then-else文記述の動作説明図
ンの情報処理装置のif-then-else文記述の動作説明図
【図3】従来の条件分岐命令の制御方式における3段パ
イプラインの情報処理装置のif-then-else文記述の動作
説明図
イプラインの情報処理装置のif-then-else文記述の動作
説明図
【図4】本発明の第3の実施例における3段パイプライ
ンの情報処理装置のif-then-else文記述の動作説明図
ンの情報処理装置のif-then-else文記述の動作説明図
【図5】従来の条件分岐命令の制御方式における3段パ
イプラインの情報処理装置のif-then-else文記述の動作
説明図
イプラインの情報処理装置のif-then-else文記述の動作
説明図
【図6】本発明の第1の実施例における条件分岐命令の
制御装置の構成図
制御装置の構成図
【図7】本発明の第2の実施例における条件分岐命令の
制御装置の構成図
制御装置の構成図
【図8】図8は本発明の第1の実施例における分岐処理
制御回路5aの詳細図
制御回路5aの詳細図
【図9】図9は本発明の第2の実施例における分岐処理
制御回路5bの詳細図
制御回路5bの詳細図
1 命令ポインタ 2 命令メモリ 3 NOP生成器 4 デコーダ 5 分岐処理制御回路 6 分岐アドレス生成器 7 マルチプレクサ 8 インクリメンタ 9 演算器 10 第1の命令コード 11 第2の命令コード 12 第1の制御信号 13 第2の制御信号 14 第3の制御信号 15 条件フラグ信号 16 分岐アドレス 17 第1の命令アドレス 18 第2の命令アドレス 19 第3の命令アドレス 20 次命令実行禁止信号 21 分岐信号 22 カウンタ 23 実行回数設定信号 24 加算器 25 加算値設定信号 101〜103 ORゲート 104〜106、119、120 ANDゲート 107 インバータ 108〜109、121 ラッチ 110 分岐処理イネーブル信号 111 負判定信号 112 ゼロ判定信号 113 正判定信号 114 負フラグ 115 ゼロフラグ 116 正フラグ 117 カウンタ設定 118 加算値
Claims (6)
- 【請求項1】条件分岐命令の制御装置において、分岐条
件を判定する手段と、前記分岐条件が成立の場合に分岐
をする手段と、前記分岐条件が不成立の場合に次命令の
実行を禁止する手段とを備えたことを特徴とする条件分
岐命令の制御装置。 - 【請求項2】条件分岐命令の制御方式において、分岐条
件を判定し、前記分岐条件が成立の場合には分岐し、前
記分岐条件が不成立の場合には次命令の実行を禁止する
ことを特徴とする条件分岐命令の制御方法。 - 【請求項3】条件分岐命令の制御装置において、分岐条
件を判定する手段と、前記分岐条件が成立の場合に指定
数の次命令を実行した後に分岐する手段と、前記分岐条
件が不成立の場合に次命令の実行を禁止する手段と、前
記分岐条件が不成立の場合に命令アドレスを指定数加算
する手段とを備えたことを特徴とする条件分岐命令の制
御装置。 - 【請求項4】条件分岐命令の制御方式において、分岐条
件を判定し、前記分岐条件が成立の場合には指定数の次
命令を実行した後に分岐し、前記分岐条件が不成立の場
合には次命令の実行を禁止し、さらに、指定数後の命令
から実行することを特徴とする条件分岐命令の制御方
法。 - 【請求項5】条件分岐命令の制御装置において、分岐条
件を判定する手段と、前記分岐条件が成立の場合に指定
数の次命令を実行した後に分岐する手段と、前記分岐条
件が不成立の場合に命令アドレスを指定数加算する手段
とを備えたことを特徴とする条件分岐命令の制御装置。 - 【請求項6】条件分岐命令の制御方式において、分岐条
件を判定し、前記分岐条件が成立の場合には指定数の次
命令を実行した後に分岐し、前記分岐条件が不成立の場
合には指定数後の命令から実行することを特徴とする条
件分岐命令の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31875095A JPH09160776A (ja) | 1995-12-07 | 1995-12-07 | 条件分岐命令の制御装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31875095A JPH09160776A (ja) | 1995-12-07 | 1995-12-07 | 条件分岐命令の制御装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09160776A true JPH09160776A (ja) | 1997-06-20 |
Family
ID=18102524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31875095A Pending JPH09160776A (ja) | 1995-12-07 | 1995-12-07 | 条件分岐命令の制御装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09160776A (ja) |
-
1995
- 1995-12-07 JP JP31875095A patent/JPH09160776A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
EP0201833A2 (en) | Instruction processor | |
JPS62226232A (ja) | 分岐先アドレス算出回路 | |
KR880001418B1 (ko) | 데이터 처리장치 | |
US9983872B2 (en) | Conditional selection of data elements | |
JP3811140B2 (ja) | 情報処理装置 | |
JPH09160776A (ja) | 条件分岐命令の制御装置およびその制御方法 | |
US7886133B2 (en) | Information processing apparatus and method for accelerating information processing | |
KR100637055B1 (ko) | 연산 처리 장치 | |
JPH05216721A (ja) | 電子計算機 | |
JP2557629B2 (ja) | 割込方式 | |
JPH01291327A (ja) | 処理モード先取り制御方式 | |
JP2503223B2 (ja) | 先行制御方式 | |
JP2597744B2 (ja) | 分岐制御方法 | |
JP3431503B2 (ja) | 情報処理装置およびプログラム制御方法 | |
JPS59158441A (ja) | パイプライン制御方式 | |
JP2000305782A (ja) | 演算装置 | |
JP3651099B2 (ja) | プログラマブルコントローラ | |
JP2001075778A (ja) | 演算装置および方法 | |
JPH04218834A (ja) | 条件分岐制御回路 | |
JPH0512009A (ja) | デイジタル信号処理装置 | |
JPH05224926A (ja) | 条件分岐命令制御方式 | |
JPH02234227A (ja) | ミスアライメント処理方式 | |
JP2005134987A (ja) | パイプライン演算処理装置 | |
JPS63221428A (ja) | デ−タ処理装置 |