JPH0760387B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0760387B2 JPH0760387B2 JP62286065A JP28606587A JPH0760387B2 JP H0760387 B2 JPH0760387 B2 JP H0760387B2 JP 62286065 A JP62286065 A JP 62286065A JP 28606587 A JP28606587 A JP 28606587A JP H0760387 B2 JPH0760387 B2 JP H0760387B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- address
- decoding
- buffer
- 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 - Lifetime
Links
- 230000010365 information processing Effects 0.000 title claims description 12
- 238000010586 diagram Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は情報処理装置における分岐命令の高速化に関す
るものである。
るものである。
従来の技術 従来の情報処理装置は、実行中の命令のアドレスを保持
するプログラムカウンタ(以下、PCと省略)を持ってお
り、PCで保持されるアドレスより主記憶の命令を読み込
み、命令の実行を行う。
するプログラムカウンタ(以下、PCと省略)を持ってお
り、PCで保持されるアドレスより主記憶の命令を読み込
み、命令の実行を行う。
第4図はこの従来の情報処理装置を示すブロック図であ
り、18は命令およびデータを格納する主記憶部、19は主
記憶部18から情報処理装置内部に命令を読みこむ命令読
みこみ部、20は読みこんだ命令を解読してコマンドを生
成する命令解読部、21は現在実行している命令のアドレ
スを示すプログラムカウンタ(PC)、22はコマンドを実
行する実行部である。
り、18は命令およびデータを格納する主記憶部、19は主
記憶部18から情報処理装置内部に命令を読みこむ命令読
みこみ部、20は読みこんだ命令を解読してコマンドを生
成する命令解読部、21は現在実行している命令のアドレ
スを示すプログラムカウンタ(PC)、22はコマンドを実
行する実行部である。
以上のように構成された従来の装置においては、命令読
みこみ部19が、指定されたアドレスについて、主記憶部
18より命令を読みこむ。命令解読部20は読みこんだ命令
を解読し、実行部22にコマンドを発行する。実行部22は
受取ったコマンドを実行し、命令が終了するとPC21を更
新する。
みこみ部19が、指定されたアドレスについて、主記憶部
18より命令を読みこむ。命令解読部20は読みこんだ命令
を解読し、実行部22にコマンドを発行する。実行部22は
受取ったコマンドを実行し、命令が終了するとPC21を更
新する。
発明が解決しようとする問題点 しかしながら上記のような構成では、分岐命令も実行部
22で処理させているので、次のような問題点を有してい
た。
22で処理させているので、次のような問題点を有してい
た。
(1)命令読みこみ部19および命令解読部20内の既に読
みこんだ命令を無効化しなければならない。
みこんだ命令を無効化しなければならない。
(2)分岐命令実行以前に分岐先命令のアドレスおよび
分岐先命令を準備しないので、分岐成立時の命令実行開
始が遅れる。
分岐先命令を準備しないので、分岐成立時の命令実行開
始が遅れる。
(3)分岐命令より先に解読された命令の処理が終わる
まで分岐命令が処理できない。
まで分岐命令が処理できない。
(4)実行部22で条件付分岐命令の条件判定を処理する
ため、条件付分岐命令の処理時間が増加する。
ため、条件付分岐命令の処理時間が増加する。
本発明はかかる点に鑑み、分岐命令を高速に実行する情
報処理装置を提供することを目的とする。
報処理装置を提供することを目的とする。
問題点を解決するための手段 本発明は分岐命令を処理する命令解読部と、読みだした
命令を格納する命令バッファと、アドレス計算を行う加
算器と、先読み命令のアドレスを格納する命令先読みカ
ウンタと、解読中の命令のアドレスを格納する命令解読
カウンタと、分岐命令処理時に分岐先命令のアドレスを
格納する分岐用命令先読みレジスタと、分岐命令処理時
に分岐先命令のアドレスを格納する分岐用命令解読レジ
スタと、分岐命令処理時に分岐先命令を格納する分岐用
命令バッファを備えた装置である。
命令を格納する命令バッファと、アドレス計算を行う加
算器と、先読み命令のアドレスを格納する命令先読みカ
ウンタと、解読中の命令のアドレスを格納する命令解読
カウンタと、分岐命令処理時に分岐先命令のアドレスを
格納する分岐用命令先読みレジスタと、分岐命令処理時
に分岐先命令のアドレスを格納する分岐用命令解読レジ
スタと、分岐命令処理時に分岐先命令を格納する分岐用
命令バッファを備えた装置である。
作用 本発明は前記した構成により、命令解読部が条件付分岐
命令を解読すると、実行部とは独立かつ並列に分岐先命
令のアドレスを算出し、分岐先命令を高速に準備する。
分岐命令より先に解読された命令の終了まで動作を停止
し、分岐成立の有無の確定を待つ。演算結果フラグ確定
と同時に命令解読部は分岐成立の有無を判断し、成立時
には既に準備されている分岐先命令の解読を始め、同時
に既に解読されている分岐命令に後続する命令を無効化
する。不成立時には既に解読されている分岐命令に後続
する命令を引き続いて実行する。
命令を解読すると、実行部とは独立かつ並列に分岐先命
令のアドレスを算出し、分岐先命令を高速に準備する。
分岐命令より先に解読された命令の終了まで動作を停止
し、分岐成立の有無の確定を待つ。演算結果フラグ確定
と同時に命令解読部は分岐成立の有無を判断し、成立時
には既に準備されている分岐先命令の解読を始め、同時
に既に解読されている分岐命令に後続する命令を無効化
する。不成立時には既に解読されている分岐命令に後続
する命令を引き続いて実行する。
実施例 第1図は本発明の一実施例における情報処理装置の構成
を示すブロック図である。第1図において、1は実行す
べき命令が格納されており高速に命令を読みだすことの
可能な命令用のキャッシュ、2は先行的に命令を読み込
むためのアドレスを保持し、先読みした命令のバイト数
分カウントアップする機能を持つ命令先読みカウンタ、
3は分岐命令の解読後演算される分岐先アドレスを一時
的に保持する分岐用命令先読みレジスタ、4は読みださ
れた命令をキューイングするFIFO形式の命令バッファ、
5は分岐命令の解読後読みだされた分岐先命令を一時的
に保持する分岐用命令バッファ、6は読み込んだ命令を
解読し実行部のコマンドを生成する命令解読部、7は命
令解読部6が発行した実行コマンドをキューイングする
FIFO形式の実行コマンドバッファ、8は入力された実行
コマンドを処理する実行部、9は次に命令解読部6で解
読する命令のアドレスを保持し、解読した命令のバイト
数分カウントアップする機能を持つ命令解読カウンタ、
10は分岐命令の解読後演算される分岐先アドレスを一時
的に保持する分岐用命令解読レジスタ、11は実行部8お
よび命令解読部6に存在する命令に対応するアドレスを
キューイングするFIFO形式のプログラムカウンタバッフ
ァ、12は命令解読カウンタ9のアドレスとディスプレー
スメントを加算する加算器、13は命令先読みカウンタ2
の入力を選択するセレクタ、14はキャシュ1の入力を選
択するセレクタ、15は命令解読部6の入力を選択するセ
レクタ、16は命令解読カウンタ9の入力を選択するセレ
クタ、17は加算器12の入力を選択するセレクタである。
を示すブロック図である。第1図において、1は実行す
べき命令が格納されており高速に命令を読みだすことの
可能な命令用のキャッシュ、2は先行的に命令を読み込
むためのアドレスを保持し、先読みした命令のバイト数
分カウントアップする機能を持つ命令先読みカウンタ、
3は分岐命令の解読後演算される分岐先アドレスを一時
的に保持する分岐用命令先読みレジスタ、4は読みださ
れた命令をキューイングするFIFO形式の命令バッファ、
5は分岐命令の解読後読みだされた分岐先命令を一時的
に保持する分岐用命令バッファ、6は読み込んだ命令を
解読し実行部のコマンドを生成する命令解読部、7は命
令解読部6が発行した実行コマンドをキューイングする
FIFO形式の実行コマンドバッファ、8は入力された実行
コマンドを処理する実行部、9は次に命令解読部6で解
読する命令のアドレスを保持し、解読した命令のバイト
数分カウントアップする機能を持つ命令解読カウンタ、
10は分岐命令の解読後演算される分岐先アドレスを一時
的に保持する分岐用命令解読レジスタ、11は実行部8お
よび命令解読部6に存在する命令に対応するアドレスを
キューイングするFIFO形式のプログラムカウンタバッフ
ァ、12は命令解読カウンタ9のアドレスとディスプレー
スメントを加算する加算器、13は命令先読みカウンタ2
の入力を選択するセレクタ、14はキャシュ1の入力を選
択するセレクタ、15は命令解読部6の入力を選択するセ
レクタ、16は命令解読カウンタ9の入力を選択するセレ
クタ、17は加算器12の入力を選択するセレクタである。
第2図は本発明における条件付分岐命令の分岐成立時の
動作を示すタイミングチャート図である。第3図は本発
明における条件付分岐命令の分岐不成立時の動作を示す
タイミングチャート図である。第2図、第3図において
A0は条件付分岐命令(Bcc)より先に解読された命令、B
ccは条件付分岐命令、A1は条件付分岐命令(Bcc)に後
続する命令、A2はA1に後続する命令、B0は分岐先の命令
である。
動作を示すタイミングチャート図である。第3図は本発
明における条件付分岐命令の分岐不成立時の動作を示す
タイミングチャート図である。第2図、第3図において
A0は条件付分岐命令(Bcc)より先に解読された命令、B
ccは条件付分岐命令、A1は条件付分岐命令(Bcc)に後
続する命令、A2はA1に後続する命令、B0は分岐先の命令
である。
以上のように構成されたこの実施例の情報処理装置につ
いて、最初に分岐をしない通常動作を説明する。
いて、最初に分岐をしない通常動作を説明する。
(1)命令先読みカウンタ2に格納されているアドレス
によりキャッシュ1から命令を読出し、命令バッファ4
に格納する。(以後、命令先読み動作と呼ぶ。) (2)命令先読みカウンタ2は命令バッファ4に格納し
た命令のバイト数分だけアドレスをカウントアップした
後、そのアドレスを保持する。
によりキャッシュ1から命令を読出し、命令バッファ4
に格納する。(以後、命令先読み動作と呼ぶ。) (2)命令先読みカウンタ2は命令バッファ4に格納し
た命令のバイト数分だけアドレスをカウントアップした
後、そのアドレスを保持する。
(3)命令解読部6は命令バッファ4の底の命令をセレ
クタ15を通して取り出し、解読する。
クタ15を通して取り出し、解読する。
(4)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納すると同時に、命令解読カウンタ9は
命令解読部6で解読した命令のバイト数分だけアドレス
をカウントアップした後、そのアドレスを保持する。
にコマンドを格納すると同時に、命令解読カウンタ9は
命令解読部6で解読した命令のバイト数分だけアドレス
をカウントアップした後、そのアドレスを保持する。
(5)命令解読部6が命令の最終語を解読中には、命令
解読カウンタ9は次に解読すべき命令の先頭アドレスに
セットされる。
解読カウンタ9は次に解読すべき命令の先頭アドレスに
セットされる。
(6)命令解読部6は1命令解読後、命令解読カウンタ
9に準備された次に解読すべき命令の先頭アドレスをセ
レクタ17を通してプログラムカウンタバッファ11に格納
する。
9に準備された次に解読すべき命令の先頭アドレスをセ
レクタ17を通してプログラムカウンタバッファ11に格納
する。
(7)実行部8は、前実行コマンドの処理が終了する
と、実行コマンドバッファ7の底のコマンドを取り出
し、実行する。現在実行中の命令のアドレスはプログラ
ムカウンタバッファ11の底に格納されている。
と、実行コマンドバッファ7の底のコマンドを取り出
し、実行する。現在実行中の命令のアドレスはプログラ
ムカウンタバッファ11の底に格納されている。
(8)実行部8は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
次に条件付分岐命令の分岐成立時の動作を第2図を用い
て説明する。
て説明する。
(1)〜(3)は分岐をしない通常動作と同じである。
(4)命令解読部6はサイクルC2で、条件付分岐命令Bc
cを解読すると命令先読み動作を停止させる。命令バッ
ファ4の底にはA2が準備された状態で停止する。
cを解読すると命令先読み動作を停止させる。命令バッ
ファ4の底にはA2が準備された状態で停止する。
(5)命令解読部6はサイクルC3で、条件付分岐命令Bc
cに後続する命令A1を読みこみ解読を始める。
cに後続する命令A1を読みこみ解読を始める。
(6)加算器12はサイクルC3で、命令バッファ4内に格
納されている分岐命令に付属するディスプレースメント
と命令解読カウンタ9に格納された分岐命令のアドレス
とをセレクタ15とセレクタ17とを通して加算し、分岐先
アドレスを生成する。その後、命令解読カウンタ9は解
読した命令のバイト数分だけアドレスをカウントアップ
した後、そのアドレスを保持する。
納されている分岐命令に付属するディスプレースメント
と命令解読カウンタ9に格納された分岐命令のアドレス
とをセレクタ15とセレクタ17とを通して加算し、分岐先
アドレスを生成する。その後、命令解読カウンタ9は解
読した命令のバイト数分だけアドレスをカウントアップ
した後、そのアドレスを保持する。
(7)同サイクルで生成された分岐先アドレスは分岐用
命令先読みレジスタ3に格納されると同時に、分岐用命
令解読レジスタ10にも格納される。命令先読みカウンタ
2および命令解読カウンタ9には分岐先命令B0のアドレ
スは格納されない。
命令先読みレジスタ3に格納されると同時に、分岐用命
令解読レジスタ10にも格納される。命令先読みカウンタ
2および命令解読カウンタ9には分岐先命令B0のアドレ
スは格納されない。
(8)サイクルC4で、命令解読部6は分岐用命令先読み
レジスタ3の分岐先命令B0のアドレスをセレクタ14を通
して出力し、キャッシュ1から分岐先命令B0を読出し
て、分岐用命令バッファ5に格納する。命令バッファ4
には分岐先命令B0を格納しない。
レジスタ3の分岐先命令B0のアドレスをセレクタ14を通
して出力し、キャッシュ1から分岐先命令B0を読出し
て、分岐用命令バッファ5に格納する。命令バッファ4
には分岐先命令B0を格納しない。
(9)サイクルC4の最終では、命令先読みカウンタ2に
は、命令バッファ4に格納されている命令の次に読みこ
む命令のアドレスが格納されている。分岐用命令先読み
レジスタ3には、分岐先命令B0のアドレスが格納されて
いる。命令解読カウンタ9には、分岐命令に後続する命
令A1のアドレスが格納されている。分岐用命令解読レジ
スタ10には、分岐先命令B0のアドレスが格納されてい
る。
は、命令バッファ4に格納されている命令の次に読みこ
む命令のアドレスが格納されている。分岐用命令先読み
レジスタ3には、分岐先命令B0のアドレスが格納されて
いる。命令解読カウンタ9には、分岐命令に後続する命
令A1のアドレスが格納されている。分岐用命令解読レジ
スタ10には、分岐先命令B0のアドレスが格納されてい
る。
命令バッファ4の底には、分岐命令に後続する命令A2が
格納されている。分岐用命令バッファ5には、分岐先命
令B0が格納されている。
格納されている。分岐用命令バッファ5には、分岐先命
令B0が格納されている。
(10)分岐成立、不成立それぞれ確定後に実行されるべ
き命令(A2,B0)およびアドレスを準備した後、分岐命
令より先に解読された命令A0の実行部8における条件フ
ラグの確定を待ち、実行部8以外の動作を停止する。
き命令(A2,B0)およびアドレスを準備した後、分岐命
令より先に解読された命令A0の実行部8における条件フ
ラグの確定を待ち、実行部8以外の動作を停止する。
(11)サイクルC5で、実行部8においてフラグ確定後、
命令解読部6は条件付分岐命令Bccの条件が成立したか
どうかを判断する。
命令解読部6は条件付分岐命令Bccの条件が成立したか
どうかを判断する。
(12)分岐が成立の場合、同サイクルで命令解読部6は
セレクタ15を分岐用命令バッファ5側に切り換え、バッ
ファ5に格納されている分岐先命令B0をセレクタ15を通
して読みこむ。
セレクタ15を分岐用命令バッファ5側に切り換え、バッ
ファ5に格納されている分岐先命令B0をセレクタ15を通
して読みこむ。
(13)命令解読部6は命令バッファ4を初期化する。
(14)命令解読部6はセレクタ13を分岐用命令先読みレ
ジスタ3側に切り換え、レジスタ3に格納されている分
岐先命令B0の先頭アドレスをセレクタ13を通して命令先
読みカウンタ2に書き込む。
ジスタ3側に切り換え、レジスタ3に格納されている分
岐先命令B0の先頭アドレスをセレクタ13を通して命令先
読みカウンタ2に書き込む。
(15)命令解読部6はセレクタ16およびセレクタ17を分
岐用命令解読レジスタ10側に切り換え、レジスタ10に格
納されている分岐先命令B0の先頭アドレスをセレクタ16
を通して命令解読カウンタ9に書き込むと同時に、セレ
クタ17を通してプログラムカウンタバッファ11内の分岐
命令のアドレスにオーバーライトする。
岐用命令解読レジスタ10側に切り換え、レジスタ10に格
納されている分岐先命令B0の先頭アドレスをセレクタ16
を通して命令解読カウンタ9に書き込むと同時に、セレ
クタ17を通してプログラムカウンタバッファ11内の分岐
命令のアドレスにオーバーライトする。
(16)命令解読部6は命令先読み動作を再開し、分岐先
命令B0を解読する。
命令B0を解読する。
(17)命令解読部6は解読済の命令A1を無効化する。
(18)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納する。
にコマンドを格納する。
(19)実行部8は、実行コマンドバッファ7の底のコマ
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
(20)実行部8は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
次に条件付分岐命令の分岐不成立時の動作を第3図を用
いて説明する。
いて説明する。
(1)〜(11)は条件付分岐命令の条件成立時の動作と
同じである。
同じである。
(12)分岐が不成立の場合、サイクルC5で命令解読部6
はセレクタ15を命令バッファ4側に切り換え、バッファ
4に格納されている分岐命令に後続する命令A2をセレク
タ15を通して読みこむ。
はセレクタ15を命令バッファ4側に切り換え、バッファ
4に格納されている分岐命令に後続する命令A2をセレク
タ15を通して読みこむ。
(13)命令解読部6はセレクタ13、セレクタ14、セレク
タ15、セレクタ16およびセレクタ17を分岐をしない通常
動作と同じように切り換える。
タ15、セレクタ16およびセレクタ17を分岐をしない通常
動作と同じように切り換える。
(14)命令解読カウンタ9に格納されている分岐命令に
後続する命令A2の先頭アドレスをセレクタ17を通してプ
ログラムカウンタバッファ11内に既に格納されている分
岐命令のアドレスにオーバーライトする。
後続する命令A2の先頭アドレスをセレクタ17を通してプ
ログラムカウンタバッファ11内に既に格納されている分
岐命令のアドレスにオーバーライトする。
(15)命令解読部6は分岐命令に後続する命令A2を解読
する。
する。
(16)命令解読部6は解読済の命令A1を次のステージに
流す。
流す。
(17)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納する。
にコマンドを格納する。
(18)実行部8は、実行コマンドバッファ7の底のコマ
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
(19)実行部6は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
第2図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が成立し、分岐先命令B0が直ち
に解読ステージに流される。解読ステージにて待ち状態
に置かれていた分岐命令に後続する命令A1は無効化され
る。(斜線は無効化された命令およびコマンド) 第3図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が不成立となり、既に準備され
ている分岐命令に後続する命令A2が直ちに解読ステージ
に流される。当然命令A1は次のステージへ流される。
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が成立し、分岐先命令B0が直ち
に解読ステージに流される。解読ステージにて待ち状態
に置かれていた分岐命令に後続する命令A1は無効化され
る。(斜線は無効化された命令およびコマンド) 第3図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が不成立となり、既に準備され
ている分岐命令に後続する命令A2が直ちに解読ステージ
に流される。当然命令A1は次のステージへ流される。
なお、この実施例において命令バッファ3、実行コマン
ドバッファ5、プログラムカウンタバッファ8は複数段
としたが、1段でも実行可能である。
ドバッファ5、プログラムカウンタバッファ8は複数段
としたが、1段でも実行可能である。
また、この実施例においてキャッシュヒットの場合を説
明したが、キャッシュミスヒットの場合、キャッシュ1
がない場合においても主記憶に対して命令の読みこみ動
作が行なわれるだけで、効果には影響しない。
明したが、キャッシュミスヒットの場合、キャッシュ1
がない場合においても主記憶に対して命令の読みこみ動
作が行なわれるだけで、効果には影響しない。
発明の効果 本発明によれば、条件付分岐命令が発生した場合、分岐
命令を実行部へ発行せず命令解読部で処理すること、分
岐先の命令および分岐命令に後続する命令の両方を高速
に実行と独立かつ並列に準備すること、分岐条件が確定
するまで解読動作やコマンド発行を停止することによ
り、以下の効果が生まれる。
命令を実行部へ発行せず命令解読部で処理すること、分
岐先の命令および分岐命令に後続する命令の両方を高速
に実行と独立かつ並列に準備すること、分岐条件が確定
するまで解読動作やコマンド発行を停止することによ
り、以下の効果が生まれる。
(1)既に読みこんだ命令のうち、無効化しなければな
らない命令が少ない。
らない命令が少ない。
(2)分岐先命令のアドレス計算および分岐先命令の読
みこみを実行部の動作と独立かつ並列に行えるため、高
速に分岐先命令を準備できる。
みこみを実行部の動作と独立かつ並列に行えるため、高
速に分岐先命令を準備できる。
(3)分岐命令に後続する命令は命令バッファに準備さ
れており、かつ解読済の命令も準備されているため、後
続する命令を高速に実行できる。
れており、かつ解読済の命令も準備されているため、後
続する命令を高速に実行できる。
(4)実行部のフラグ確定より以前に、分岐先命令およ
び分岐命令に後続する命令が準備されているため、分岐
成立後、直ちに分岐先命令を解読できる。
び分岐命令に後続する命令が準備されているため、分岐
成立後、直ちに分岐先命令を解読できる。
(5)分岐先命令および分岐命令に後続する命令を準備
後、実行部のフラグ確定まで動作を停止し、また無効化
機構により命令およびコマンドを無効化することによ
り、実行コマンドバッファ内および実行部内でのコマン
ドキャンセル機構、状態回復機構およびコマンド再実行
機構などを必要としない。
後、実行部のフラグ確定まで動作を停止し、また無効化
機構により命令およびコマンドを無効化することによ
り、実行コマンドバッファ内および実行部内でのコマン
ドキャンセル機構、状態回復機構およびコマンド再実行
機構などを必要としない。
第1図は本発明の実施例における情報処理装置の構成を
示すブロック図、第2図は本発明における条件付分岐命
令の分岐成立時の動作を示すタイミングチャート図、第
3図は本発明における条件付分岐命令の分岐不成立時の
動作を示すタイミングチャート図、第4図は従来の情報
処理装置を示すブロック図である。 2……命令先読みカウンタ、3……分岐用命令先読みレ
ジスタ、4……命令バッファ、5……分岐用命令バッフ
ァ、6……命令解読部、9……命令解読カウンタ、10…
…分岐用命令解読レジスタ、12……加算器。
示すブロック図、第2図は本発明における条件付分岐命
令の分岐成立時の動作を示すタイミングチャート図、第
3図は本発明における条件付分岐命令の分岐不成立時の
動作を示すタイミングチャート図、第4図は従来の情報
処理装置を示すブロック図である。 2……命令先読みカウンタ、3……分岐用命令先読みレ
ジスタ、4……命令バッファ、5……分岐用命令バッフ
ァ、6……命令解読部、9……命令解読カウンタ、10…
…分岐用命令解読レジスタ、12……加算器。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−54342(JP,A) 特開 昭61−289429(JP,A) 特開 昭53−62438(JP,A)
Claims (2)
- 【請求項1】先読み命令のアドレスを格納する命令先読
みカウンタと、先読みする分岐先命令のアドレスを格納
する分岐用命令先読みレジスタと、解読する命令のアド
レスを格納する命令解読カウンタと、解読する分岐先命
令のアドレスを格納する分岐用命令解読レジスタと、前
記命令先読みカウンタのアドレスにより読み込んだ命令
を格納する命令バッファと、前記分岐用命令先読みレジ
スタの分岐先命令のアドレスにより読み込んだ分岐先命
令を格納する分岐用命令バッファと、前記命令解読カウ
ンタに格納された解読中の命令のアドレスと前記命令バ
ッファ内のデータとを加算する加算器と、前記命令バッ
ファより条件付分岐命令を取り出して解読後この分岐命
令より先に解読された命令の実行と独立かつ並列して前
記加算器により分岐先アドレスを計算し、結果を前記分
岐用命令先読みレジスタおよび前記分岐用命令解読レジ
スタに格納させ、格納した分岐先アドレスにより読みこ
んだ分岐先命令を前記分岐用命令バッファに格納し、分
岐命令より先に解読された命令の実行完了まで動作を停
止して演算結果の確定を待つ命令解読部とを備えたこと
を特徴とする情報処理装置。 - 【請求項2】演算結果の確定後分岐成立の有無を判断
し、分岐成立の場合は分岐命令に後続する解読済の命令
を無効化すると同時に分岐用命令バッファに格納された
分岐先命令を解読し、分岐不成立の場合は分岐命令に後
続する解読済の命令を引き続き実行させると同時に命令
バッファに格納された命令を解読する命令解読部を有す
ることを特徴とする特許請求の範囲第一項記載の情報処
理装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62286065A JPH0760387B2 (ja) | 1987-11-12 | 1987-11-12 | 情報処理装置 |
| KR1019880014765A KR930009617B1 (ko) | 1987-11-12 | 1988-11-10 | 분기처리장치 |
| DE3856299T DE3856299T2 (de) | 1987-11-12 | 1988-11-10 | Verarbeitungssystem für Verzweigungsbefehle |
| EP88118764A EP0315995B1 (en) | 1987-11-12 | 1988-11-10 | Processing system for branch instruction |
| US07/614,680 US5197136A (en) | 1987-11-12 | 1990-11-19 | Processing system for branch instruction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62286065A JPH0760387B2 (ja) | 1987-11-12 | 1987-11-12 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01126732A JPH01126732A (ja) | 1989-05-18 |
| JPH0760387B2 true JPH0760387B2 (ja) | 1995-06-28 |
Family
ID=17699496
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62286065A Expired - Lifetime JPH0760387B2 (ja) | 1987-11-12 | 1987-11-12 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0760387B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06124205A (ja) * | 1992-10-12 | 1994-05-06 | Matsushita Electric Ind Co Ltd | 命令プリフェッチ装置 |
| US20090253820A1 (en) * | 2006-03-21 | 2009-10-08 | Honeywell International Inc. | Foaming agents and compositions containing fluorine sustituted olefins and methods of foaming |
| JP5580404B2 (ja) * | 2010-03-29 | 2014-08-27 | 株式会社東芝 | 半導体装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5362438A (en) * | 1976-11-17 | 1978-06-03 | Hitachi Ltd | Microprogram controller |
| JPS61289429A (ja) * | 1985-06-18 | 1986-12-19 | Matsushita Electric Ind Co Ltd | 演算処理装置 |
| US4777587A (en) * | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses |
-
1987
- 1987-11-12 JP JP62286065A patent/JPH0760387B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01126732A (ja) | 1989-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4701844A (en) | Dual cache for independent prefetch and execution units | |
| JP3800383B2 (ja) | コンピュータのランダムアクセスメモリシステム | |
| EP0106667A2 (en) | Central processing unit | |
| US20100199045A1 (en) | Store-to-load forwarding mechanism for processor runahead mode operation | |
| JP2002297379A (ja) | ハードウェアプリフェッチシステム | |
| JP5089226B2 (ja) | I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション | |
| US6108768A (en) | Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system | |
| US6275903B1 (en) | Stack cache miss handling | |
| JP2596712B2 (ja) | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 | |
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| US6237086B1 (en) | 1 Method to prevent pipeline stalls in superscalar stack based computing systems | |
| US20060224870A1 (en) | Information processing device | |
| JPH0760387B2 (ja) | 情報処理装置 | |
| US6170050B1 (en) | Length decoder for variable length data | |
| US5463737A (en) | Instruction buffer controller in processor enabling direct refetching of an instruction | |
| US11586444B2 (en) | Processor and pipeline processing method for processing multiple threads including wait instruction processing | |
| JPH07306785A (ja) | 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法 | |
| JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
| JPH0766326B2 (ja) | 情報処理装置 | |
| JP2668987B2 (ja) | データ処理装置 | |
| JP2511978B2 (ja) | デ−タ処理装置 | |
| JPH0646382B2 (ja) | プリフェッチキュー制御方式 | |
| JP3039391B2 (ja) | メモリシステム | |
| JPH01193938A (ja) | 命令先読み装置 | |
| JP2972451B2 (ja) | ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080628 Year of fee payment: 13 |