JPS63247833A - 条件分岐命令制御方法 - Google Patents
条件分岐命令制御方法Info
- Publication number
- JPS63247833A JPS63247833A JP7965887A JP7965887A JPS63247833A JP S63247833 A JPS63247833 A JP S63247833A JP 7965887 A JP7965887 A JP 7965887A JP 7965887 A JP7965887 A JP 7965887A JP S63247833 A JPS63247833 A JP S63247833A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- conditional branch
- branch instruction
- jump
- 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
- 238000000034 method Methods 0.000 title claims description 9
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ処理装置の条件分岐命令制御方法に係
り、特にパイプライン化されたデータ処理装置に好適な
条件分岐命令制御方法に関する。
り、特にパイプライン化されたデータ処理装置に好適な
条件分岐命令制御方法に関する。
第2図は命令制御ユツト1とマイクロプログラム制御の
命令実行ユニット2から成る従来のパイプライン型のデ
ータ処理装置の構成を示している。
命令実行ユニット2から成る従来のパイプライン型のデ
ータ処理装置の構成を示している。
命令実行ユニット2はマイクロプログラムシーケンサ3
、制御メモリ4、マイクロ命令レジスタ5、演算のステ
ータスレジスタ6、命令制御ユニット1から伝えられる
条件分岐命令の条件部分8とステータスレジスタ6との
比較を行う比較器7から構成されている。比較器7は上
記2つの入力を比較し、その出力1oはマイクロプログ
ラムシーケンサ3の1つのテストビットとなる。一方1
条件分岐命令が制御メモリ4から読み出されてマイクロ
命令レジスタ5にセットされたとき、信号11がアサー
トされてテストビット10がテストされる。この結果、
分岐条件が成立しているとシーケンサ3によりジャンプ
先の命令アドレス等が制御メモリ4よりとり出され、命
令レジスタ5経出でジャンプ信号9として命令制御ユニ
ット1へ送られる。このように、従来装置では、第3図
に示すように、比較器7の結果をテストするステップ2
0と、テスト結果により命令制御ユニット1に対してジ
ャンプ信号9をアサートするステップ21と、命令制御
ユニット1におけるジャンプ先アドレスの命令フェッチ
等のステップとの、3つのステップが必要となる。
、制御メモリ4、マイクロ命令レジスタ5、演算のステ
ータスレジスタ6、命令制御ユニット1から伝えられる
条件分岐命令の条件部分8とステータスレジスタ6との
比較を行う比較器7から構成されている。比較器7は上
記2つの入力を比較し、その出力1oはマイクロプログ
ラムシーケンサ3の1つのテストビットとなる。一方1
条件分岐命令が制御メモリ4から読み出されてマイクロ
命令レジスタ5にセットされたとき、信号11がアサー
トされてテストビット10がテストされる。この結果、
分岐条件が成立しているとシーケンサ3によりジャンプ
先の命令アドレス等が制御メモリ4よりとり出され、命
令レジスタ5経出でジャンプ信号9として命令制御ユニ
ット1へ送られる。このように、従来装置では、第3図
に示すように、比較器7の結果をテストするステップ2
0と、テスト結果により命令制御ユニット1に対してジ
ャンプ信号9をアサートするステップ21と、命令制御
ユニット1におけるジャンプ先アドレスの命令フェッチ
等のステップとの、3つのステップが必要となる。
以上のような分岐命令の処理を高速化するための方法と
しては、特公昭55−49338に記載のように、分岐
成功・不成功の予測を行うもの、あるいは命令読み、出
し論理を主命令ストリーム読み出し用と分岐先命令スト
リーム読み出し用に二重化するものや、特公昭55−3
9222に記載のような分岐バッファ設置などの工夫が
行われて来た。
しては、特公昭55−49338に記載のように、分岐
成功・不成功の予測を行うもの、あるいは命令読み、出
し論理を主命令ストリーム読み出し用と分岐先命令スト
リーム読み出し用に二重化するものや、特公昭55−3
9222に記載のような分岐バッファ設置などの工夫が
行われて来た。
分岐命令処理高速化のための上記の従来方法は、多量の
ハードウェアを必要とするものであり、ハードウェア物
量があまり問題とならない大型計算機や、ハードウェア
価格の低いマイクロプロセッサ等には有効であるが、ハ
ードウェア物量に制約のある中型計算機には適さない。
ハードウェアを必要とするものであり、ハードウェア物
量があまり問題とならない大型計算機や、ハードウェア
価格の低いマイクロプロセッサ等には有効であるが、ハ
ードウェア物量に制約のある中型計算機には適さない。
本発明の目的は、ハードウェア量の大幅な増加なしに1
条件分岐命令の実行時間、即ちパイプラインの乱れてい
る時間を短縮できる条件分岐命令制御方法を提供するに
ある。
条件分岐命令の実行時間、即ちパイプラインの乱れてい
る時間を短縮できる条件分岐命令制御方法を提供するに
ある。
上記の目的は、条件分岐命令の条件と演算ステータスの
比較結果に応じて命令制御ユニットヘジヤンプ信号を送
出するためのジャンプ信号生成回路を設けることにより
達成される。
比較結果に応じて命令制御ユニットヘジヤンプ信号を送
出するためのジャンプ信号生成回路を設けることにより
達成される。
条件分岐命令のマイクロプログラムの第1ステップで、
条件分岐命令の条件と前命令の演算ステータスが一致し
ていたら、上記ジャンプ信号を、命令制御ユニットに対
しての初期化信号および命令フェッチアドレスとして条
件分岐先アドレスレジスタを選択するよう指示する信号
として命令制御ユニットへ送る。このステップに続いて
第2ステップでは、命令制御ユニットにおけるジャンプ
先アドレスの命令フェッチ等の処理を行い、第4図に示
すように2つのステップで条件分岐命令の実行が可能と
なる。しかも付加したハードウェアはジャンプ信号生成
回路のみで、これは簡単な回路でよい。
条件分岐命令の条件と前命令の演算ステータスが一致し
ていたら、上記ジャンプ信号を、命令制御ユニットに対
しての初期化信号および命令フェッチアドレスとして条
件分岐先アドレスレジスタを選択するよう指示する信号
として命令制御ユニットへ送る。このステップに続いて
第2ステップでは、命令制御ユニットにおけるジャンプ
先アドレスの命令フェッチ等の処理を行い、第4図に示
すように2つのステップで条件分岐命令の実行が可能と
なる。しかも付加したハードウェアはジャンプ信号生成
回路のみで、これは簡単な回路でよい。
以下、本発明の一実施例を説明する。第5図は本発明が
適用されるパイプライン制御のデータ処理装置の全体構
成図である。命令フェッチユニット20、命令デコード
ユニット3o、およびオペランドのアドレス計算ユニッ
ト40(条件分岐命令のジャンプ先アドレス計算も行う
)が命令制御ユニットを構成し、一方、マイクロプログ
ラムの読み出しを行うシーケンサユニット50.このユ
ニットからのマイクロ命令130をパイプライン的に実
行する命令実行ユニット60及び70がまとめて命令実
行ユニットと呼ばれることもある。
適用されるパイプライン制御のデータ処理装置の全体構
成図である。命令フェッチユニット20、命令デコード
ユニット3o、およびオペランドのアドレス計算ユニッ
ト40(条件分岐命令のジャンプ先アドレス計算も行う
)が命令制御ユニットを構成し、一方、マイクロプログ
ラムの読み出しを行うシーケンサユニット50.このユ
ニットからのマイクロ命令130をパイプライン的に実
行する命令実行ユニット60及び70がまとめて命令実
行ユニットと呼ばれることもある。
信号線80は、デコードユニット3oで命令がデコード
されて生成された、当該命令のマイクロプログラム先頭
アドレスをシーケンサユニット50へ送り、アドレス計
算に必要なレジスタ番号。
されて生成された、当該命令のマイクロプログラム先頭
アドレスをシーケンサユニット50へ送り、アドレス計
算に必要なレジスタ番号。
条件分岐命令に含まれる条件等をアドレス計算ユニット
40へ伝える。信号線120は、オペランドアドレス、
ジャンプ先アドレス、条件分岐命令の条件等を伝える信
号線であり、信号[130は、シーケンサユニット50
で読み出されたマイクロプログラムを伝える信号線であ
る。信号線90は、命令実行ユニット70の演算ステー
タスを伝える信号線であり、信号線100はジャンプを
指令する信号線である。ジャンプ信号100がアサート
されると、各ユニットはジャンプアドレス110にジャ
ンプする。
40へ伝える。信号線120は、オペランドアドレス、
ジャンプ先アドレス、条件分岐命令の条件等を伝える信
号線であり、信号[130は、シーケンサユニット50
で読み出されたマイクロプログラムを伝える信号線であ
る。信号線90は、命令実行ユニット70の演算ステー
タスを伝える信号線であり、信号線100はジャンプを
指令する信号線である。ジャンプ信号100がアサート
されると、各ユニットはジャンプアドレス110にジャ
ンプする。
第1図は命令実行ユニット6oの実施例を示したもので
、この図では条件分岐命令の実行に必要な部分のみが示
されている。同図においてマイクロ命令レジスタ61は
、マイクロ命令131をラッチし、条件レジスタ62は
条件分岐命令の条件120をラッチする。比較回路63
は条件レジスタ62の内容と演算ステータス9oとを比
較して、演算ステータスと条件が合致しているか否かを
検出し、結果を信号線65に出力する。ジャンプ信号生
成回路66は、マイクロ命令レジスタ61内のマイクロ
命令により、比較回路63の出力65によりジャンプ信
号100を生成するマイクロ操作が指定された時、その
マイクロ操作をデコードして、ジャンプ信号100を生
成する。無効化回路′67は、ジャンプ信号100がア
サートされた時、マイクロ命令130を無効なものとす
る。
、この図では条件分岐命令の実行に必要な部分のみが示
されている。同図においてマイクロ命令レジスタ61は
、マイクロ命令131をラッチし、条件レジスタ62は
条件分岐命令の条件120をラッチする。比較回路63
は条件レジスタ62の内容と演算ステータス9oとを比
較して、演算ステータスと条件が合致しているか否かを
検出し、結果を信号線65に出力する。ジャンプ信号生
成回路66は、マイクロ命令レジスタ61内のマイクロ
命令により、比較回路63の出力65によりジャンプ信
号100を生成するマイクロ操作が指定された時、その
マイクロ操作をデコードして、ジャンプ信号100を生
成する。無効化回路′67は、ジャンプ信号100がア
サートされた時、マイクロ命令130を無効なものとす
る。
第6図は条件分岐命令のマイクロプログラムを示してお
り、無効果マイクロ命令31.ジャンプ信号生成回路6
6に対して、信号線65がアサートされた時にジャンプ
信号をアサートすることを示すマイクロ命令321条件
分岐命令の終了を示すマイクロ命令33から成っている
。
り、無効果マイクロ命令31.ジャンプ信号生成回路6
6に対して、信号線65がアサートされた時にジャンプ
信号をアサートすることを示すマイクロ命令321条件
分岐命令の終了を示すマイクロ命令33から成っている
。
次に本実施例に於て1条件分岐命令を実行する時の動作
を説明する。
を説明する。
(i)条件不成立の場合
第7図に条件不成立の場合のステージフローを示す。同
図において、Mlは条件分岐命令に先行する命令、M2
は条件分岐命令である。ステップ42は、第6図のマイ
クロ命令31が実行され命令実行ユニット60で実行さ
れるタイミングを。
図において、Mlは条件分岐命令に先行する命令、M2
は条件分岐命令である。ステップ42は、第6図のマイ
クロ命令31が実行され命令実行ユニット60で実行さ
れるタイミングを。
またステップ43はマイクロ命令32.33が同ユニッ
ト60で実行されるタイミングを示している。
ト60で実行されるタイミングを示している。
条件分岐命令の最初のステップ42が実行される時、条
件分岐命令で指定される条件は条件レジスタ62にセッ
トされているが、命令実行ユニットがユニット60.7
0の2ステージ構成を採つているので、演算ステータス
90は、まだ命令M1のステータスになっていない。そ
こで、条件分岐命令の第1ステップは、第6図のように
無効果マイクロ命令31として、演算ステータス90が
生成されるのを待つ。条件分岐命令の第2ステップ43
が実行されると演算ステータス90は確定しているので
、条件比較回路63によって、条件レジスタ62と演算
ステータス90が比較され、合致しない時には条件不成
立なので、信号線65はアサートされない。この時、命
令レジスタ61には、マイクロ命令32がセットされて
いるが、信号線65がアサートされていないので、ジャ
ンプ信号はアサートされない、この結果、第7図に示す
様に、パイプラインは乱れることなく、次命令M3.M
4・・・を実行する。
件分岐命令で指定される条件は条件レジスタ62にセッ
トされているが、命令実行ユニットがユニット60.7
0の2ステージ構成を採つているので、演算ステータス
90は、まだ命令M1のステータスになっていない。そ
こで、条件分岐命令の第1ステップは、第6図のように
無効果マイクロ命令31として、演算ステータス90が
生成されるのを待つ。条件分岐命令の第2ステップ43
が実行されると演算ステータス90は確定しているので
、条件比較回路63によって、条件レジスタ62と演算
ステータス90が比較され、合致しない時には条件不成
立なので、信号線65はアサートされない。この時、命
令レジスタ61には、マイクロ命令32がセットされて
いるが、信号線65がアサートされていないので、ジャ
ンプ信号はアサートされない、この結果、第7図に示す
様に、パイプラインは乱れることなく、次命令M3.M
4・・・を実行する。
(n)条件成立の場合
条件成立の場合、比較回路63の出力65がア ・サー
トされ、これによって、ジャンプ信号100がアサート
される。そして、第8図に示すように、ジャンプ信号1
00によって命令フェッチユニット20.デコードユニ
ット3o、アドレス計算ユニット40からなる命令制御
ユニットの各ユニットでは、内蔵のプログラムカウンタ
にジャンプアドレスがセットされ、パイプラインは初期
化されてジャンプ先の命令フェッチから再開される。即
ち分岐が行われる。
トされ、これによって、ジャンプ信号100がアサート
される。そして、第8図に示すように、ジャンプ信号1
00によって命令フェッチユニット20.デコードユニ
ット3o、アドレス計算ユニット40からなる命令制御
ユニットの各ユニットでは、内蔵のプログラムカウンタ
にジャンプアドレスがセットされ、パイプラインは初期
化されてジャンプ先の命令フェッチから再開される。即
ち分岐が行われる。
従来装置における条件分岐命令の実行には、命令で指定
される条件と命令実行ユニットの演算ステータスとの一
致判定のステップと、一致した場合に命令制御ユニット
に対して分岐を指令するステップとが必要であったが、
本発明によれば、一致判定と分岐の指令が同一ステップ
で行えるので、条件分岐命令の実行ステップを削減する
ことが可能であり、結果的に条件分岐命令の高速化に効
果がある。
される条件と命令実行ユニットの演算ステータスとの一
致判定のステップと、一致した場合に命令制御ユニット
に対して分岐を指令するステップとが必要であったが、
本発明によれば、一致判定と分岐の指令が同一ステップ
で行えるので、条件分岐命令の実行ステップを削減する
ことが可能であり、結果的に条件分岐命令の高速化に効
果がある。
第1図は本発明の特徴とする命令実行ユニットの一実施
例を示す図、第2図及び第3図は従来のパイプライン型
データ処理装置の構成及び条件分岐時のステージフロー
を示す図、第4図は本発明における条件分岐時のステー
ジフローを示す図、第5図は本発明を適用するデータ処
理装置の全体構成例を示す図、第6図は条件分岐命令の
マイクロプログラムを示す図、第7図及び第8図は本発
明における条件分岐命令実行時のステージフローの詳細
を示す図である。 20・・・命令フェッチユニット、30・・・デコーダ
ユニット、4o・・・アドレス計算ユニット、50・・
・シーケンサユニット、60.70・・・命令実行ユニ
ット、61・・・マイクロ命令レジスタ、62・・・条
件レジスタ、63・・・条件比較回路、66・・・ジャ
ンプ信号生成回路、90・・・ステータス信号線、10
0・・・ジャンプ信号。
例を示す図、第2図及び第3図は従来のパイプライン型
データ処理装置の構成及び条件分岐時のステージフロー
を示す図、第4図は本発明における条件分岐時のステー
ジフローを示す図、第5図は本発明を適用するデータ処
理装置の全体構成例を示す図、第6図は条件分岐命令の
マイクロプログラムを示す図、第7図及び第8図は本発
明における条件分岐命令実行時のステージフローの詳細
を示す図である。 20・・・命令フェッチユニット、30・・・デコーダ
ユニット、4o・・・アドレス計算ユニット、50・・
・シーケンサユニット、60.70・・・命令実行ユニ
ット、61・・・マイクロ命令レジスタ、62・・・条
件レジスタ、63・・・条件比較回路、66・・・ジャ
ンプ信号生成回路、90・・・ステータス信号線、10
0・・・ジャンプ信号。
Claims (1)
- 1、命令フェッチユニットと、該ユニットにフェッチさ
れた命令をデコードするデコードユニットと、該ユニッ
トでデコードされた命令のオペランドアドレスを算出す
るアドレス計算ユニットとを有する命令制御部と、デコ
ードされた命令を実行するためのマイクロプログラムを
制御メモリから順次とり出すシーケンサユニットと、該
ユニットによりとり出されたマイクロプログラムの制御
により演算を実行する命令実行ユニットとを有する命令
実行部とを備えたパイプライン制御方式のデータ処理装
置にて条件分岐命令を制御するための条件分岐命令制御
方法において、条件分岐命令の実行時に該命令により指
定された分岐条件と該命令以前の命令の実行結果を示す
演算ステータスとの比較と、該比較によって分岐条件が
成立したときのジャンプ信号の出力とを条件分岐命令実
行の第1ステップで行う機能を命令実行部に有せしめる
とともに、上記ジャンプ信号によって、命令制御部の各
ユニットのパイプライン動作を初期化しかつ次にフェッ
チする命令のアドレスを条件分岐命令のデコードにより
得られた分岐先アドレスとするように命令フェッチユニ
ットへ指示するようにしたことを特徴とする条件分岐命
令制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7965887A JPS63247833A (ja) | 1987-04-02 | 1987-04-02 | 条件分岐命令制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7965887A JPS63247833A (ja) | 1987-04-02 | 1987-04-02 | 条件分岐命令制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63247833A true JPS63247833A (ja) | 1988-10-14 |
Family
ID=13696244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7965887A Pending JPS63247833A (ja) | 1987-04-02 | 1987-04-02 | 条件分岐命令制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63247833A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418917A (en) * | 1990-06-29 | 1995-05-23 | Hitachi, Ltd. | Method and apparatus for controlling conditional branch instructions for a pipeline type data processing apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5478941A (en) * | 1977-12-07 | 1979-06-23 | Hitachi Ltd | High speed operation system |
JPS56140445A (en) * | 1980-04-01 | 1981-11-02 | Hitachi Ltd | Information processing device |
JPS5899843A (ja) * | 1981-12-09 | 1983-06-14 | Meidensha Electric Mfg Co Ltd | マイクロプログラムの条件分岐装置 |
JPS5949643A (ja) * | 1982-09-16 | 1984-03-22 | Hitachi Ltd | デ−タ処理装置 |
JPS59128642A (ja) * | 1983-01-14 | 1984-07-24 | Hitachi Ltd | マイクロプログラム制御機器のパイプライン方式 |
-
1987
- 1987-04-02 JP JP7965887A patent/JPS63247833A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5478941A (en) * | 1977-12-07 | 1979-06-23 | Hitachi Ltd | High speed operation system |
JPS56140445A (en) * | 1980-04-01 | 1981-11-02 | Hitachi Ltd | Information processing device |
JPS5899843A (ja) * | 1981-12-09 | 1983-06-14 | Meidensha Electric Mfg Co Ltd | マイクロプログラムの条件分岐装置 |
JPS5949643A (ja) * | 1982-09-16 | 1984-03-22 | Hitachi Ltd | デ−タ処理装置 |
JPS59128642A (ja) * | 1983-01-14 | 1984-07-24 | Hitachi Ltd | マイクロプログラム制御機器のパイプライン方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418917A (en) * | 1990-06-29 | 1995-05-23 | Hitachi, Ltd. | Method and apparatus for controlling conditional branch instructions for a pipeline type data processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5235686A (en) | Computer system having mixed macrocode and microcode | |
US6728872B1 (en) | Method and apparatus for verifying that instructions are pipelined in correct architectural sequence | |
JPH03116233A (ja) | データプロセッサの命令処理システム | |
JP2507638B2 (ja) | デ―タ処理装置 | |
JPH0823818B2 (ja) | 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置 | |
JPS63273134A (ja) | マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置 | |
JP2001525568A (ja) | 命令デコーダ | |
JPH01214932A (ja) | データ処理装置 | |
US5522084A (en) | Method and system for invalidating instructions utilizing validity and write delay flags in parallel processing apparatus | |
US5148532A (en) | Pipeline processor with prefetch circuit | |
US4677549A (en) | Pipelined data processor system having increased processing speed | |
JPH07120284B2 (ja) | データ処理装置 | |
US7234043B2 (en) | Decoding predication instructions within a superscaler data processing system | |
JPS63247833A (ja) | 条件分岐命令制御方法 | |
JP2710994B2 (ja) | データ処理装置 | |
JP2694948B2 (ja) | マイクロプログラム処理装置 | |
KR970011209B1 (ko) | 실행된 명령 스트림을 추적하기 위해 사용되는 신호를 발생하기 위한 회로를 포함하는 마이크로프로세서 | |
JP2583506B2 (ja) | データ処理装置 | |
US11847035B2 (en) | Functional test of processor code modification operations | |
JP2532560B2 (ja) | 高機能な例外処理を行うデ―タ処理装置 | |
DeRosa et al. | Design and Implementation of the VAX 8600 Pipeline | |
JP2503223B2 (ja) | 先行制御方式 | |
JP2579817B2 (ja) | マイクロプロセッサ | |
JP2835179B2 (ja) | 並列処理計算機 | |
JPH0827717B2 (ja) | ミスアライメント処理方式 |