JPH03212735A - マイクロプロセッサの命令処理方式 - Google Patents

マイクロプロセッサの命令処理方式

Info

Publication number
JPH03212735A
JPH03212735A JP938890A JP938890A JPH03212735A JP H03212735 A JPH03212735 A JP H03212735A JP 938890 A JP938890 A JP 938890A JP 938890 A JP938890 A JP 938890A JP H03212735 A JPH03212735 A JP H03212735A
Authority
JP
Japan
Prior art keywords
instruction
stage
microprocessor
operand
fetch
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
Application number
JP938890A
Other languages
English (en)
Inventor
Akira Otsuka
亮 大塚
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP938890A priority Critical patent/JPH03212735A/ja
Publication of JPH03212735A publication Critical patent/JPH03212735A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はマイクロプロセッサの命令処理方式に係わり
、特にその処理能力の向上に関するものである。
[従来の技術] 第4図は、例えは電子情報通信学会技術報告ICU38
−106に記載された従来のマイクロプロセッサのパイ
プライン処理機構を示すブロック図である。図において
、7は従来の命令フェッチステージ(以下IFステージ
と略記)であり、2は命令デコードステージ(以下Dス
テージと略記)、8はデコードされた命令コード中で指
定されたオペランドの実効アドレスの計算を行う従来の
オペランドアドレス計算ステージ(以下Aステージと略
記)、4はメモリよりオペランドをフェッチするオペラ
ンドフェッチステージ(以下Fステージと略記)、5は
オペランドに対して命令コード中で指定された演算を実
行する命令実行ステージ(以下Eステージと略記)であ
る。
次に動作について説明する。
IFステージ7はメモリから命令をフェッチしてDステ
ージ2に出力する。Dステージ2はIFステージ7から
入力された命令コードをデコードして、そのデコード結
果をAステージ8に出力する。Aステージ8は命令コー
ド中で指定されたオペランドの実効アドレスの計算を行
い、必要ならばアドレス間接参照を行い、計算したオペ
ランドアドレスをFステージ4に出力する。Fステージ
4はAステージ8から入力されたオペランドアドレスを
用いてメモリよりオペランドをフェッチする。フェッチ
したオペランドはEステージ5に出力される。Eステー
ジ5はFステージ4から入力されたオペランドに対して
命令コード中で指定された演算を実行する。さらに必要
であれば、その演算結果を図には明記していない外部メ
モリにストアする。
続いて、第5図を用いて命令かパイプライン上で処理さ
れる様子を説明する。IFステージ7では、命令フェッ
チアドレスを出力して最小2クロックで命令フェッチを
行う。命令フェッチ後直ちにデコードされ、以降のパイ
プライン処理を通じて命令に指定された演算を行う。D
ステージ2では命令の最小単位毎に2クロツクで命令デ
コードを終了し、Aステージ8に命令情報を送る。Aス
テージ8でも最小2クロックの処理でFステージ4に命
令情報を送り、Fステージ4でも最小2クロックの処理
でEステージ5に命令を伝える。
最後にEステージ5で最小2クロック、複雑な命令の場
合さらに多くの時間をかけて演算を実行する。このよう
に1命令の実行は最小でも10クロツクの時間が必要で
ある。
通常、IFステージ7には命令キャッシュがあり、キャ
ッシュに登録されているアドレスに対して命令フェッチ
をした場合、外部メモリへの2クロツクアクセスに代え
て1クロツクで命令のフェッチを終了する。命令キャッ
シュの効果により命令フェッチが1クロツクで終わるた
め、見かけ上の処理能力は向上する。
[発明が解決しようとする課題] 従来のマイクロプロセッサは上記のように構成され、動
作するため、命令キャッシュに登録されている命令を処
理するために最低でも命令フェッチに1クロツク、命令
デコードに2クロツク必要とする。しかし、さらに高速
化の要求がある。
この発明は上記のような課題を解決するためになされた
もので、マイクロプロセッサの処理能力を向上させるこ
とを目的とする。
[課題を解決するための手段] この発明に係るマイクロプロセッサの命令処理方式は、
命令のデコード結果とその命令のフェッチ先アドレスを
対応付けて記憶する記憶手段を設け、命令フェッチ時に
フェッチ先アドレスを用いて上記記憶手段を参照し、ア
ドレスが一致した場合は当該記憶手段に記憶されたデコ
ード結果を用いて以降の処理を実行するようにしたもの
である。
[作用コ この発明においては、命令フェッチ先アドレスがデコー
ド結果をキャッシングしている記憶手段に登録されてい
れば、最低でも命令フェッチ、デコード処理で3クロツ
ク必要とするところを1クロツクで終Yすることができ
、処理の高速化が図れる。
[実施例] 以下、この発明の一実施例を図について説明する。
第1図はこの発明の一実施例におけるマイクロプロセッ
サのパイプライン処理機構を示すブロック図である。図
において、1は命令をフェッチすると同時に後述するデ
コードキャッシュメモリをアクセス(参照)するIFス
テージであり、2は命令をデコードするDステージ、3
は通常はDステージ2の出力を、デコードキャッシュが
ヒツトした時はデコードキャッシュメモリの出力を使用
して、デコードされた命令コード中で指定されたオペラ
ンドの実効アドレスの計算を行うAステージ、4はメモ
リよりオペランドをフェッチするFステージ、5はオペ
ランドに対して命令コード中で指定された演算を実行す
るEステージである。
さらに6は命令のデコード結果とその命令が格納されて
いる先頭アドレス(フェッチ先アドレス)を対応付けて
記憶するデコードキャッシュメモリ(記憶手段)である
次に動作について説明する。
IFステージ1はメモリから命令をフェッチしてDステ
ージ2に出力する。Dステージ2は■Fステージ1から
人力された命令コードをデコートして、そのデコード結
果をAステージ3に出力する。これと同時に、デコード
キャッシュメモリ6にデコードした命令の格納されてい
る先頭アドレスとデコード結果が登録される。Aステー
ジ3は命令コード中で指定されたオペランドの実効アド
レスの計算を行い、必要ならばアドレス間接参照を行い
、計算したオペランドアドレスをFステージ4に出力す
る。Fステージ4はAステージ3から入力されたオペラ
ンドアドレスを用いてメモリよりオペランドをフェッチ
する。フェッチしたオペランドはEステージ5に出力さ
れる。Eステージ5はFステージ4から入力されたオペ
ランドに対して命令コード中で指定された演算を実行す
る。さらに必要であれば、その演算結果をメモリにスト
アする。デコードキャッシュメモリ6にはデコード結果
とその命令の先頭アドレス値が登録される。
続いて、第2図、第3図を用いて命令がパイプライン処
理で処理される様子を説明する。IFステージ1では命
令フェッチ先アI’レスを出力して通常は最小2クロッ
クで命令フェッチを行う。
このときデコードキャッシュメモリ6も同時に参照され
、デコードキャッシュメモリ6に登録されている命令が
フェッチ対象であったならば命令フェッチ及び直後の命
令デコードの代わりに、第2図に示すように1クロツク
でデコード結果がデコードキャッシュメモリ6よりAス
テージ3に送られ、パイプライン処理を通じて命令に指
定された演算を行う。デコードキャッシュメモリ6に登
録された内容と命令フェッチを行ったアドレスが異なる
場合は、第3図に示すようにIFステージ1での命令フ
ェッチ後、Dステージ2で命令の最小単位毎に2クロツ
クで命令デコードを終了し、Aステージ3に命令情報を
送る。Aステージ3でも最小2クロックの処理でFステ
ージ4に命令情報を送り、Fステージ4でも最小2クロ
ックの処理でEステージ5に命令を伝える。最後にEス
テージ5で最小2クロック、複雑な命令の場合さらに多
くの時間をかけて演算を実行する。デコートキャッシュ
がミスした場合、第3図に示すように1命令の実行は最
小でも10クロツクの時間が必要であるが、デコードキ
ャッシュがヒツトした場合、第2図に示すように1命令
の実行に必要なりロック数は最小で7クロツクとなる。
これは、命令のフェッチ、デコードをデコードキャッシ
ュ参照という形で1クロツクで処理してしまい、Aステ
ージ3.Fステージ4.Eステージ5それぞれの処理に
2クロツクずつ必要なためである。
デコードキャッシュメモリ6はその性質上あまり大きな
容量は期待できない。そのようなとき限られたデコード
キャッシュメモリ6の効果が最大限発揮されるように、
ジャンプやブランチ命令などパイプラインの規則的な動
きを乱すような動作が起こったときに有効となるように
ジャンプやブランチ命令実行直後の命令フェッチだけを
登録するようにする。ジャンプやブランチ命令実行直後
の命令フェッチは必ず命令の先頭アドレスをフェッチす
るため、命令の先頭アドレスが登録されでいるデコード
キャッシュの性質とも良くマツチする。
なお、上記実施例では、パイプライン処理機構を有する
マイクロプロセッサに本願を適用したものについて示し
たが、パイプライン処理機構を有さないマイクロプロセ
ッサに適用してもその効果が期待できる。
[発明の効果] 以上説明したように、この発明によれば、命令デコード
結果をキャッシングするようにしたことにより、マイク
ロプロセッサの処理の高速化を実現することができる。
【図面の簡単な説明】
第1図は本発明の一実施例のマイクロプロセッサの内部
パイプラインを示すブロック図、第2図は本発明のマイ
クロプロセッサにおいてデコードキャッシュがヒツトし
た場合の命令処理の概念図、第3図は本発明のマイクロ
プロセッサにおいてデコードキャッシュがミスした場合
の命令処理の概念図、第4図は従来のマイクロプロセッ
サの内部パイプラインを示すブロック図、第5図は従来
のマイクロプロセッサにおける命令処理の概念図である
。 1は命令フェッチ(T F)ステージ、2は命令デコー
ド(D)ステージ、3はオペランドアドレス計算(A)
ステージ、4はオペランドフェッチ(F)ステージ、5
は命令実行(E)ステージ、6はデコードキャッシュメ
モリ(記憶手段)。 なお、図中、同一符号は同一、又は相当部分を示す。

Claims (1)

  1. 【特許請求の範囲】 メモリよりフェッチした命令をデコードし、このデコー
    ド結果に基づき命令に指定された処理を実行するマイク
    ロプロセッサにおいて、 命令のデコード結果とその命令のフェッチ先アドレスを
    対応付けて記憶する記憶手段を設け、命令フェッチ時に
    フェッチ先アドレスを用いて上記記憶手段を参照し、ア
    ドレスが一致した場合は当該記憶手段に記憶されたデコ
    ード結果を用いて以降の処理を実行することを特徴とす
    るマイクロプロセッサの命令処理方式。
JP938890A 1990-01-17 1990-01-17 マイクロプロセッサの命令処理方式 Pending JPH03212735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP938890A JPH03212735A (ja) 1990-01-17 1990-01-17 マイクロプロセッサの命令処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP938890A JPH03212735A (ja) 1990-01-17 1990-01-17 マイクロプロセッサの命令処理方式

Publications (1)

Publication Number Publication Date
JPH03212735A true JPH03212735A (ja) 1991-09-18

Family

ID=11719063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP938890A Pending JPH03212735A (ja) 1990-01-17 1990-01-17 マイクロプロセッサの命令処理方式

Country Status (1)

Country Link
JP (1) JPH03212735A (ja)

Similar Documents

Publication Publication Date Title
US5377336A (en) Improved method to prefetch load instruction data
JP3186798B2 (ja) 部分的にデコードした命令キャッシュ
US6289445B2 (en) Circuit and method for initiating exception routines using implicit exception checking
JP2504830Y2 (ja) デ―タ処理装置
GB2321323A (en) Computer programme branch prediction
JP2560889B2 (ja) マイクロプロセッサ
JP2006520964A (ja) 分岐ターゲットに基づいて分岐予測をするための方法および装置
JP2006520964A5 (ja)
JP3486690B2 (ja) パイプライン方式プロセッサ
US6189093B1 (en) System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
US20150205613A1 (en) Efficient central processing unit (cpu) return address and instruction cache
EP3905034A1 (en) A code prefetch instruction
US20040172518A1 (en) Information processing unit and information processing method
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPH03129432A (ja) 分岐制御回路
JP3345787B2 (ja) データ処理装置
JP2000020311A (ja) 情報処理装置
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPH03212735A (ja) マイクロプロセッサの命令処理方式
KR100300875B1 (ko) 캐쉬 미스 시 처리 방법
JPH09311787A (ja) データ処理装置
JP2503223B2 (ja) 先行制御方式
JP2835179B2 (ja) 並列処理計算機
KR19990057839A (ko) 캐쉬 미스 시 처리 방법
JPH0462637A (ja) マイクロプロセッサ