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
Application number
JP62286065A
Other languages
English (en)
Other versions
JPH01126732A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62286065A priority Critical patent/JPH0760387B2/ja
Priority to KR1019880014765A priority patent/KR930009617B1/ko
Priority to DE3856299T priority patent/DE3856299T2/de
Priority to EP88118764A priority patent/EP0315995B1/en
Publication of JPH01126732A publication Critical patent/JPH01126732A/ja
Priority to US07/614,680 priority patent/US5197136A/en
Publication of JPH0760387B2 publication Critical patent/JPH0760387B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は情報処理装置における分岐命令の高速化に関す
るものである。
従来の技術 従来の情報処理装置は、実行中の命令のアドレスを保持
するプログラムカウンタ(以下、PCと省略)を持ってお
り、PCで保持されるアドレスより主記憶の命令を読み込
み、命令の実行を行う。
第4図はこの従来の情報処理装置を示すブロック図であ
り、18は命令およびデータを格納する主記憶部、19は主
記憶部18から情報処理装置内部に命令を読みこむ命令読
みこみ部、20は読みこんだ命令を解読してコマンドを生
成する命令解読部、21は現在実行している命令のアドレ
スを示すプログラムカウンタ(PC)、22はコマンドを実
行する実行部である。
以上のように構成された従来の装置においては、命令読
みこみ部19が、指定されたアドレスについて、主記憶部
18より命令を読みこむ。命令解読部20は読みこんだ命令
を解読し、実行部22にコマンドを発行する。実行部22は
受取ったコマンドを実行し、命令が終了するとPC21を更
新する。
発明が解決しようとする問題点 しかしながら上記のような構成では、分岐命令も実行部
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の入力を選択するセレクタである。
第2図は本発明における条件付分岐命令の分岐成立時の
動作を示すタイミングチャート図である。第3図は本発
明における条件付分岐命令の分岐不成立時の動作を示す
タイミングチャート図である。第2図、第3図において
A0は条件付分岐命令(Bcc)より先に解読された命令、B
ccは条件付分岐命令、A1は条件付分岐命令(Bcc)に後
続する命令、A2はA1に後続する命令、B0は分岐先の命令
である。
以上のように構成されたこの実施例の情報処理装置につ
いて、最初に分岐をしない通常動作を説明する。
(1)命令先読みカウンタ2に格納されているアドレス
によりキャッシュ1から命令を読出し、命令バッファ4
に格納する。(以後、命令先読み動作と呼ぶ。) (2)命令先読みカウンタ2は命令バッファ4に格納し
た命令のバイト数分だけアドレスをカウントアップした
後、そのアドレスを保持する。
(3)命令解読部6は命令バッファ4の底の命令をセレ
クタ15を通して取り出し、解読する。
(4)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納すると同時に、命令解読カウンタ9は
命令解読部6で解読した命令のバイト数分だけアドレス
をカウントアップした後、そのアドレスを保持する。
(5)命令解読部6が命令の最終語を解読中には、命令
解読カウンタ9は次に解読すべき命令の先頭アドレスに
セットされる。
(6)命令解読部6は1命令解読後、命令解読カウンタ
9に準備された次に解読すべき命令の先頭アドレスをセ
レクタ17を通してプログラムカウンタバッファ11に格納
する。
(7)実行部8は、前実行コマンドの処理が終了する
と、実行コマンドバッファ7の底のコマンドを取り出
し、実行する。現在実行中の命令のアドレスはプログラ
ムカウンタバッファ11の底に格納されている。
(8)実行部8は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
次に条件付分岐命令の分岐成立時の動作を第2図を用い
て説明する。
(1)〜(3)は分岐をしない通常動作と同じである。
(4)命令解読部6はサイクルC2で、条件付分岐命令Bc
cを解読すると命令先読み動作を停止させる。命令バッ
ファ4の底にはA2が準備された状態で停止する。
(5)命令解読部6はサイクルC3で、条件付分岐命令Bc
cに後続する命令A1を読みこみ解読を始める。
(6)加算器12はサイクルC3で、命令バッファ4内に格
納されている分岐命令に付属するディスプレースメント
と命令解読カウンタ9に格納された分岐命令のアドレス
とをセレクタ15とセレクタ17とを通して加算し、分岐先
アドレスを生成する。その後、命令解読カウンタ9は解
読した命令のバイト数分だけアドレスをカウントアップ
した後、そのアドレスを保持する。
(7)同サイクルで生成された分岐先アドレスは分岐用
命令先読みレジスタ3に格納されると同時に、分岐用命
令解読レジスタ10にも格納される。命令先読みカウンタ
2および命令解読カウンタ9には分岐先命令B0のアドレ
スは格納されない。
(8)サイクルC4で、命令解読部6は分岐用命令先読み
レジスタ3の分岐先命令B0のアドレスをセレクタ14を通
して出力し、キャッシュ1から分岐先命令B0を読出し
て、分岐用命令バッファ5に格納する。命令バッファ4
には分岐先命令B0を格納しない。
(9)サイクルC4の最終では、命令先読みカウンタ2に
は、命令バッファ4に格納されている命令の次に読みこ
む命令のアドレスが格納されている。分岐用命令先読み
レジスタ3には、分岐先命令B0のアドレスが格納されて
いる。命令解読カウンタ9には、分岐命令に後続する命
令A1のアドレスが格納されている。分岐用命令解読レジ
スタ10には、分岐先命令B0のアドレスが格納されてい
る。
命令バッファ4の底には、分岐命令に後続する命令A2が
格納されている。分岐用命令バッファ5には、分岐先命
令B0が格納されている。
(10)分岐成立、不成立それぞれ確定後に実行されるべ
き命令(A2,B0)およびアドレスを準備した後、分岐命
令より先に解読された命令A0の実行部8における条件フ
ラグの確定を待ち、実行部8以外の動作を停止する。
(11)サイクルC5で、実行部8においてフラグ確定後、
命令解読部6は条件付分岐命令Bccの条件が成立したか
どうかを判断する。
(12)分岐が成立の場合、同サイクルで命令解読部6は
セレクタ15を分岐用命令バッファ5側に切り換え、バッ
ファ5に格納されている分岐先命令B0をセレクタ15を通
して読みこむ。
(13)命令解読部6は命令バッファ4を初期化する。
(14)命令解読部6はセレクタ13を分岐用命令先読みレ
ジスタ3側に切り換え、レジスタ3に格納されている分
岐先命令B0の先頭アドレスをセレクタ13を通して命令先
読みカウンタ2に書き込む。
(15)命令解読部6はセレクタ16およびセレクタ17を分
岐用命令解読レジスタ10側に切り換え、レジスタ10に格
納されている分岐先命令B0の先頭アドレスをセレクタ16
を通して命令解読カウンタ9に書き込むと同時に、セレ
クタ17を通してプログラムカウンタバッファ11内の分岐
命令のアドレスにオーバーライトする。
(16)命令解読部6は命令先読み動作を再開し、分岐先
命令B0を解読する。
(17)命令解読部6は解読済の命令A1を無効化する。
(18)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納する。
(19)実行部8は、実行コマンドバッファ7の底のコマ
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
(20)実行部8は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
次に条件付分岐命令の分岐不成立時の動作を第3図を用
いて説明する。
(1)〜(11)は条件付分岐命令の条件成立時の動作と
同じである。
(12)分岐が不成立の場合、サイクルC5で命令解読部6
はセレクタ15を命令バッファ4側に切り換え、バッファ
4に格納されている分岐命令に後続する命令A2をセレク
タ15を通して読みこむ。
(13)命令解読部6はセレクタ13、セレクタ14、セレク
タ15、セレクタ16およびセレクタ17を分岐をしない通常
動作と同じように切り換える。
(14)命令解読カウンタ9に格納されている分岐命令に
後続する命令A2の先頭アドレスをセレクタ17を通してプ
ログラムカウンタバッファ11内に既に格納されている分
岐命令のアドレスにオーバーライトする。
(15)命令解読部6は分岐命令に後続する命令A2を解読
する。
(16)命令解読部6は解読済の命令A1を次のステージに
流す。
(17)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納する。
(18)実行部8は、実行コマンドバッファ7の底のコマ
ンドを取り出し、実行する。現在実行中の命令のアドレ
スはプログラムカウンタバッファ11の底に格納されてい
る。
(19)実行部6は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底の
アドレスを廃棄する。
第2図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が成立し、分岐先命令B0が直ち
に解読ステージに流される。解読ステージにて待ち状態
に置かれていた分岐命令に後続する命令A1は無効化され
る。(斜線は無効化された命令およびコマンド) 第3図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直ち
に分岐先の命令の読みこみを行い分岐先命令B0を準備
し、現在実行中の命令A0の終了を待つ。命令A0が終了し
フラグが確定すると分岐が不成立となり、既に準備され
ている分岐命令に後続する命令A2が直ちに解読ステージ
に流される。当然命令A1は次のステージへ流される。
なお、この実施例において命令バッファ3、実行コマン
ドバッファ5、プログラムカウンタバッファ8は複数段
としたが、1段でも実行可能である。
また、この実施例においてキャッシュヒットの場合を説
明したが、キャッシュミスヒットの場合、キャッシュ1
がない場合においても主記憶に対して命令の読みこみ動
作が行なわれるだけで、効果には影響しない。
発明の効果 本発明によれば、条件付分岐命令が発生した場合、分岐
命令を実行部へ発行せず命令解読部で処理すること、分
岐先の命令および分岐命令に後続する命令の両方を高速
に実行と独立かつ並列に準備すること、分岐条件が確定
するまで解読動作やコマンド発行を停止することによ
り、以下の効果が生まれる。
(1)既に読みこんだ命令のうち、無効化しなければな
らない命令が少ない。
(2)分岐先命令のアドレス計算および分岐先命令の読
みこみを実行部の動作と独立かつ並列に行えるため、高
速に分岐先命令を準備できる。
(3)分岐命令に後続する命令は命令バッファに準備さ
れており、かつ解読済の命令も準備されているため、後
続する命令を高速に実行できる。
(4)実行部のフラグ確定より以前に、分岐先命令およ
び分岐命令に後続する命令が準備されているため、分岐
成立後、直ちに分岐先命令を解読できる。
(5)分岐先命令および分岐命令に後続する命令を準備
後、実行部のフラグ確定まで動作を停止し、また無効化
機構により命令およびコマンドを無効化することによ
り、実行コマンドバッファ内および実行部内でのコマン
ドキャンセル機構、状態回復機構およびコマンド再実行
機構などを必要としない。
【図面の簡単な説明】
第1図は本発明の実施例における情報処理装置の構成を
示すブロック図、第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. 【請求項1】先読み命令のアドレスを格納する命令先読
    みカウンタと、先読みする分岐先命令のアドレスを格納
    する分岐用命令先読みレジスタと、解読する命令のアド
    レスを格納する命令解読カウンタと、解読する分岐先命
    令のアドレスを格納する分岐用命令解読レジスタと、前
    記命令先読みカウンタのアドレスにより読み込んだ命令
    を格納する命令バッファと、前記分岐用命令先読みレジ
    スタの分岐先命令のアドレスにより読み込んだ分岐先命
    令を格納する分岐用命令バッファと、前記命令解読カウ
    ンタに格納された解読中の命令のアドレスと前記命令バ
    ッファ内のデータとを加算する加算器と、前記命令バッ
    ファより条件付分岐命令を取り出して解読後この分岐命
    令より先に解読された命令の実行と独立かつ並列して前
    記加算器により分岐先アドレスを計算し、結果を前記分
    岐用命令先読みレジスタおよび前記分岐用命令解読レジ
    スタに格納させ、格納した分岐先アドレスにより読みこ
    んだ分岐先命令を前記分岐用命令バッファに格納し、分
    岐命令より先に解読された命令の実行完了まで動作を停
    止して演算結果の確定を待つ命令解読部とを備えたこと
    を特徴とする情報処理装置。
  2. 【請求項2】演算結果の確定後分岐成立の有無を判断
    し、分岐成立の場合は分岐命令に後続する解読済の命令
    を無効化すると同時に分岐用命令バッファに格納された
    分岐先命令を解読し、分岐不成立の場合は分岐命令に後
    続する解読済の命令を引き続き実行させると同時に命令
    バッファに格納された命令を解読する命令解読部を有す
    ることを特徴とする特許請求の範囲第一項記載の情報処
    理装置。
JP62286065A 1987-11-12 1987-11-12 情報処理装置 Expired - Lifetime JPH0760387B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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