JPH01126732A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH01126732A
JPH01126732A JP62286065A JP28606587A JPH01126732A JP H01126732 A JPH01126732 A JP H01126732A JP 62286065 A JP62286065 A JP 62286065A JP 28606587 A JP28606587 A JP 28606587A JP H01126732 A JPH01126732 A JP H01126732A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
branching
decoding
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.)
Granted
Application number
JP62286065A
Other languages
English (en)
Other versions
JPH0760387B2 (ja
Inventor
Kozo Kimura
浩三 木村
Toshimichi Matsuzaki
敏道 松崎
Tokuzo Kiyohara
督三 清原
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 EP88118764A priority patent/EP0315995B1/en
Priority to DE3856299T priority patent/DE3856299T2/de
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

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が発行した実行コマンドをキューイング
するFTFO形式の実行コマンドバッファ、8は人力さ
れた実行コマンドを処理する実行部、9は次に命令解読
部6で解読する命令のアドレスを保持し、解読した命令
のバイト数分カウントアツプする機能を持つ命令解読カ
ウンタ、10は分岐命令の解読後演算される分岐先アド
レスを一時的に保持する分岐用命令解読レジスタ、11
は実行部8および命令解読部6に存在する命令に対応す
るアドレスをキューイングするFIFO形式のプログラ
ムカウンタバッファ、12は命令解読カウンタ9のアド
レスとディスプレースメントを加算する加算器、13は
命令先読みカウンタ2の入力を選択するセレクタ、14
はキャシュ1の入力を選択するセレクタ、15は命令解
読部6の入力を選択するセレクタ、16は命令解読カウ
ンタ9の入力を選択するセレクタ、17は加算器12の
入力を選択するセレクタである。
第2図は本発明における条件付分岐命令の分岐成立時の
動作を示すタイミングチャート図である。
第3図は本発明における条件付分岐命令の分岐不成立時
の動作を示すタイミングチャート図である。
第2図、第3図においてAOは条件付分岐命令(Bcc
)より先に解読された命令、Bccは条件付分岐命令、
AIは条件付分岐命令(Bcc)に後続する命令、A2
はA1に後続する命令、BOは分岐先の命令である。
以上のように構成されたこの実施例の情報処理装置につ
いて、最初に分岐をしない通常動作を説明する。
(1)命令先読みカウンタ2に格納されているアドレス
によりキャッシュ1から命令を読出し、命令バッファ4
に格納する。 (以後、命令先読み動作と呼ぶ。) (2)命令先読みカウンタ2は命令バッファ4に格納し
た命令のバイト数分だけアドレスをカウントアツプした
後、そのアドレスを保持する。
(3)命令解読部6は命令バッファ4の底の命令をセレ
クタ15を通して取り出し、解読する。
(4)命令解読部6は解読後、実行コマンドバッファ7
にコマンドを格納すると同時に、命令解読カウンタ9は
命令解読部6で解読した命令のバイト数分だけアドレス
をカウントアツプした後、そのアドレスを保持する。
(5)命令解読部6が命令の最終語を解読中には、命令
解読カウンタ9は次に解読すべき命令の先頭アドレスに
セットされる。
(6)命令解読部6はl命令解読後、命令解読カウンタ
9に準備された次に解読すべき命令の先頭アドレスをセ
レクタ17を通してプログラムカウンタバッファ11に
格納する。
(7)実行部8は、前実行コマンドの処理が終了すると
、実行コマンドバッファ7の底のコマンドを取り出し、
実行する。現在実行中の命令のアドレスはプログラムカ
ウンタバッファ11の底に格納されている。
(8)実行部8は読みこんだコマンドを実行し、1命令
が実行終了するとプログラムカウンタバッファ11の底
のアドレスを廃棄する。
次に条件付分岐命令の分岐成立時の動作を第2図を用い
て説明する。
(1)〜(3)は分岐をしない通常動作と同じである。
(4)命令解読部6はサイクルC2で、条件付分岐命令
Bccを解読すると命令先読み動作を停止させる。命令
バッファ4の底にはA2が準備された状態で停止する。
(5)命令解読部6はサイクルC3で、条件付分岐命令
Bccに後続する命令AIを読みこみ解読を始め(6)
加算器12はサイクルC3で、命令バッファ4内に格納
されている分岐命令に付属するディスプレースメントと
命令解読カウンタ9に格納された分岐命令のアドレスと
をセレクタ15とセレクタ17とを通して加算し、分岐
先アドレスを生成する。
その後、命令解読カウンタ9は解読した命令のバイト数
分だけアドレスをカウントアツプした後、そのアドレス
を保持する。
(7)同サイクルで生成された分岐先アドレスは゛ 分
岐用命令先読みレジスタ3に格納されると同時に、分岐
用命令解読レジスタIOにも格納される。
命令先読みカウンタ2および命令解読カウンタ9には分
岐先命令80のアドレスは格納されない。
(8)サイクルC4で、命令解読部6は分岐用命令先読
みレジスタ3の分岐先命令BOのアドレスをセレクタ1
4を通して出力し、キャッシュ1から分岐先命令BOを
読出して、分岐用命令バッファ5に格納する。命令バッ
ファ4には分岐先命令BOを格納しない。
(9)サイクルC4の最終では、命令先読みカウンタ2
には、命令バッファ4に格納されている命令の次に読み
こむ命令のアドレスが格納されている。
分岐用命令先読みレジスタ3には、分岐先命令BOのア
ドレスが格納されている。命令解読カウンタ9には、分
岐命令に後続する命令AIのアドレスが格納されている
。分岐用命令解読レジスタ10には、分岐先命令BOの
アドレスが格納されている。
命令バッファ4の底には、分岐命令に後続する命令A2
が格納されている。分岐用命令バッファ5には、分岐先
命令BOが格納されている。
(10)分岐成立、不成立それぞれ確定後に実行される
べき命令(A2.BO)およびアドレスを準備した後、
分岐命令より先に解読された命令AOの実行部8におけ
る条件フラグの確定を待ち、実行部8以外の動作を停止
する。
(11)サイクルC5で、実行部8においてフラグ確定
後、命令解読部6は条件付分岐命令Rccの条件が成立
したかどうかを判断する。
(12)分岐が成立の場合、同サイクルで命令解読部6
はセレクタ15を分岐用命令バッファ5側に切り換え、
バッファ5に格納されている分岐先命令BOをセレクタ
15を通して読みこむ。
(13)命令解読部6は命令バッファ4を初期化する。
(14)命令解読部6はセレクタ13を分岐用命令先読
みレジスタ3側に切り換え、レジスタ3に格納されてい
る分岐先命令BOの先頭アドレスをセレクタ13を通し
て命令先読みカウンタ2に書き込む。
(15)命令解読部6はセレクタ16およびセレクタ1
7を分岐用命令解読レジスタ3側に切り換え、レジスタ
10に格納されている分岐先命令BOの先頭アドレスを
セレクタ16を通して命令解読カウンタ9に書き込むと
同時に、セレクタ17を通してプログラムカウンタバッ
ファ11内の分岐命令のアドレスにオーバーライドする
(16)命令解読部6は命令先読み動作を再開し、分岐
先命令BOを解読する。
(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は解読済の命令AIを次のステー
ジに流す。
(17)命令解読部6は解読後、実行コマンドバッファ
7にコマンドを格納する。
(18)実行部8は、実行コマンドバッファ7の底のコ
マンドを取り出し、実行する。現在実行中の命令のアド
レスはプログラムカウンタバッファ11の底に格納され
ている。
(19)実行部6は読みこんだコマンドを実行し、1命
令が実行終了するとプログラムカウンタバッファ11の
底のアドレスを廃棄する。
第2図について以下補足説明する。命令解読部は分岐命
令(Bcc)を解読後、実効アドレス計算を行うと、直
ちに分岐先の命令の読みこみを行い分岐先命令BOを準
備し、現在実行中の命令AOの終了を待つ。命令AOが
終了しフラグが確定すると分岐が成立し、分岐先命令B
Oが直ちに解読ステージに流される。解読ステージにて
待ち状態に置かれていた分岐命令に後続する命令A1は
無効化される。 (斜線は無効化された命令およびコマ
ンド)第3図について以下補足説明する。命令解読部は
分岐命令(Bcc)を解読後、実効アドレス計算を行う
と、直ちに分岐先の命令の読みこみを行い分岐先命令B
Oを準備し、現在実行中の命令AOの終了を待つ。命令
AOが終了しフラグが確定すると分岐が不成立となり、
既に準備されている分岐命令に後続する命令A2が直ち
に解読ステージに流される。当然命令AIは次のステー
ジへ流される。
なお、この実施例において命令バッファ3、実行コマン
ドバッファ5、プログラムカウンタバッファ8は複数段
としたが、1段でも実行可能である。
また、この実施例においてキャツシュヒツトの場合を説
明したが、キャッシュミスヒツトの場合、キャッシュ1
がない場合においても主記憶に対して命令の読みこみ動
作が行なわれるだけで、効果には影響しない。
発明の効果 本発明によれば、条件付分岐命令が発生した場合、分岐
命令を実行部へ発行せず命令解読部で処理すること、分
岐先の命令および分岐命令に後続する命令の両方を高速
に実行と独立かつ並列に準備すること、分岐条件が確定
するまで解読動作やコマンド発行を停止することにより
、以下の効果が生まれる。
(1)既に読みこんだ命令のうち、無効化しなければな
らない命令が少ない。
(2)分岐先命令のアドレス計算および分岐先命令の読
みこみを実行部の動作と独立かつ並列に行えるため、高
速に分岐先命令を準備できる。
(3)分岐命令に後続する命令は命令バッファに準備さ
れており、かつ解読済の命令も準備されているため、後
続する命令を高速に実行できる。
(4)実行部のフラグ確定より以前に、分岐先命令およ
び分岐命令に後続する命令が準備されているため、分岐
成立後、直ちに分岐先命令を解読できる。
(5)分岐先命令および分岐命令に後続する命令を準備
後、実行部のフラグ確定まで動作を停止し、また無効化
機構により命令およびコマンドを無効化することにより
、実行コマンドバッファ内および実行部内でのコマンド
キャンセル機構、状態回復機構およびコマンド再実行機
構などを必要としない。
【図面の簡単な説明】
第1図は本発明の実施例における情報処理装置の構成を
示すブロック図、第2図は本発明における条件付分岐命
令の分岐成立時の動作を示すタイミングチャート図、第
3図は本発明における条件付分岐命令の分岐不成立時の
動作を示すタイミングチャート図、第4図は従来の情報
処理装置を示すブロック図である。 2・・・命令先読みカウンタ、 3・・・分岐用命令先読みレジスタ、 4・・−命令バッファ、5・・・分岐用命令バッファ、
6・・・命令解読部、9・・・命令解読カウンタ、IO
・・・分岐用命令解読レジスタ、12・・・加算器。

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 분기처리장치
EP88118764A EP0315995B1 (en) 1987-11-12 1988-11-10 Processing system for branch instruction
DE3856299T DE3856299T2 (de) 1987-11-12 1988-11-10 Verarbeitungssystem für Verzweigungsbefehle
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 true JPH01126732A (ja) 1989-05-18
JPH0760387B2 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)

Cited By (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 命令プリフェッチ装置
WO2011121709A1 (ja) * 2010-03-29 2011-10-06 株式会社東芝 半導体装置
JP2015017268A (ja) * 2007-11-25 2015-01-29 ハネウェル・インターナショナル・インコーポレーテッド フッ素置換オレフィンを含有する発泡剤及び組成物ならびに発泡方法

Citations (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 演算処理装置
JPS6254342A (ja) * 1985-08-30 1987-03-10 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法

Patent Citations (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 演算処理装置
JPS6254342A (ja) * 1985-08-30 1987-03-10 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法

Cited By (4)

* 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 命令プリフェッチ装置
JP2015017268A (ja) * 2007-11-25 2015-01-29 ハネウェル・インターナショナル・インコーポレーテッド フッ素置換オレフィンを含有する発泡剤及び組成物ならびに発泡方法
WO2011121709A1 (ja) * 2010-03-29 2011-10-06 株式会社東芝 半導体装置
JP5580404B2 (ja) * 2010-03-29 2014-08-27 株式会社東芝 半導体装置

Also Published As

Publication number Publication date
JPH0760387B2 (ja) 1995-06-28

Similar Documents

Publication Publication Date Title
JP2695157B2 (ja) 可変パイプラインプロセッサ
JPS6356731A (ja) デ−タ処理装置
JPH0769812B2 (ja) データ処理装置
JP2596712B2 (ja) 近接した分岐命令を含む命令の実行を管理するシステム及び方法
JPH01126732A (ja) 情報処理装置
KR19990003937A (ko) 프리페치 장치
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JPH01126733A (ja) 情報処理装置
JPH0646382B2 (ja) プリフェッチキュー制御方式
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
KR930009617B1 (ko) 분기처리장치
JPH01193938A (ja) 命令先読み装置
JPS61217834A (ja) デ−タ処理装置
JPH01239638A (ja) 分岐予測を行う情報処理装置
JPH0695305B2 (ja) デ−タ処理装置
JPH027128A (ja) 情報処理装置
JPH05313894A (ja) 情報処理装置
JPH0296234A (ja) データ処理装置
JPS6077241A (ja) 情報処理装置
JPH03113535A (ja) パイプライン制御機構
JPH04246728A (ja) 情報処理装置
JP2806690B2 (ja) マイクロプロセッサ
JPS6047618B2 (ja) 情報処理装置
JPH01106141A (ja) データ処理装置
JPH08286914A (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