JPH0769810B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH0769810B2
JPH0769810B2 JP63298514A JP29851488A JPH0769810B2 JP H0769810 B2 JPH0769810 B2 JP H0769810B2 JP 63298514 A JP63298514 A JP 63298514A JP 29851488 A JP29851488 A JP 29851488A JP H0769810 B2 JPH0769810 B2 JP H0769810B2
Authority
JP
Japan
Prior art keywords
branch
instruction
address
prefetch
prediction table
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 - Fee Related
Application number
JP63298514A
Other languages
English (en)
Other versions
JPH02144626A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63298514A priority Critical patent/JPH0769810B2/ja
Publication of JPH02144626A publication Critical patent/JPH02144626A/ja
Publication of JPH0769810B2 publication Critical patent/JPH0769810B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、パイプライン処理型マイクロプロセッサに関
する。
〔従来の技術〕
命令のパイプライン処理は、命令のアドレスが連続であ
ることを前提にしているため分岐が発生した場合には、
パイプライン上の命令をすべて無効にし、命令のフェッ
チからやりなおす必要がある。従来パイプライン方式に
おいて分岐による損失を減少させるために分岐命令アド
レスと分岐先命令をキャッシングするためのテーブルを
用意しておき、分岐命令実行時には、このテーブルを検
索し、フェッチしようとする分岐命令のアドレスが書き
込まれていればその分岐先命令を得ていた。
〔発明が解決しようとする課題〕
上述した従来技術は、分岐が発生した場合のパイプライ
ンフラッシュから回復を短縮しようとするものでパイプ
ライン・フラッシュ自体を減少させることはできない。
また、キャッシングしておく分岐命令のワード数を増や
すと必要な資源が(エントリ数)×(分岐先命令の増
分)だけ増えてしまうという欠点がある。
〔課題を解決するための手段〕
本発明の分岐予測制御機構内臓のパイプライン処理型マ
イクロプロセッサは、プリフェッチ・ポインタと分岐命
令の先頭アドレス、分岐命令長及び分岐先アドレスを登
録する分岐予測テーブルと、分岐が発生したときに分岐
予測テーブルに登録するための機構と、プリフェッチ・
アドレスが分岐予測テーブルにヒットしたときに、ヒッ
トした分岐命令を分岐命令長から必要なだけ命令フェッ
チを行った後、プリフェッチ・ポインタに分岐先アドレ
スをヒットする機構とを有している。
このように、分岐命令のあるアドレスと分岐先アドレス
のペアを分岐予測テーブルに記憶しておき、分岐予測テ
ーブルに登録された分岐命令を再び実行するときは、パ
イプラインを乱すことなく高速に命令を実行することが
できる。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は、本発明を一実施例のブロック図であり、パイ
プライン処理型マイクロプロセッサに於いて命令プリフ
ェッチから命令デコードに関する処理を行う機能ブロッ
クについて示している。
命令デコーダ201は、プリフェッチした命令をデコード
し、前記命令が分岐命令である場合には命令コードに従
って分岐先アドレスを生成し、分岐先アドレス・バス10
2を介して転送する機能と、前記分岐命令が動的に変化
しない無条件分岐命令すなわち分岐先アドレス計算にレ
ジスタやメモリ値を参照しない無条件分岐命令である場
合には、その分岐命令の先頭アドレス(以下分岐元アド
レス)及び分岐命令長を出力し登録指示を行う機能を有
する。プリフェッチ・ポインタ202は命令をプリフェッ
チすべき主記憶アドレスを保持しておりプリフェッチ・
アドレス101経由でマイクロプロセッサ外部に出力され
る。プリフェッチ・制御回路204は、プリフェッチ・ポ
インタ202の更新の制御を行う。プリフェッチ・ポイン
タの内容はアドレス・インクリメンタ203の出力103,予
測分岐先アドレス・バス104,分岐先アドレスバス102の
うち何れかを選択して更新される。分岐予測テーブル20
7は、分岐元アドレス301,バリッドフラグ302,分岐命令
長303,分岐先アドレス304を登録しており、登録は分岐
予測テーブル制御回路205によって分岐が発生したとき
に行われる。
次に本実施例の分岐予測動作を説明する。命令プリフェ
ッチは、プリフェッチ・ポインタ202をプリフェッチ・
アドレスバス101経由でマイクロプロセッサ外部に出力
し、プリフェッチ・ポインタ202をアドレス・インクリ
メンタ203の出力によって更新することによって行う。
同時に分岐予測テーブルを索引し分岐予測テーブルに登
録されている命令をプリフェッチした場合(以下、分岐
予測テーブルヒット)にはアドレス比較器206出力信号1
05によってプリフェッチ制御回路204に通知される。プ
リフェッチ・制御回路は分岐予測テーブルにヒットした
分岐命令長111によりヒットした分岐命令を最終バイト
までプリフェッチした後予測分岐先アドレス104をプリ
フェッチ・ポインタ202にセットする。
第2図は本発明の他の実施例のブロック図で、上記実施
例に対してリタン・アドレスレジスタ209と予測はずれ
信号114を追加している。この実施例ではリタン・アド
レス・レジスタ209に予測した分岐命令に連続する命令
の先頭アドレスを格納しておくため、条件付分岐の分岐
予測を行うことができる利点がある。
次に本実施例の分岐予測動作を説明する。命令をプリフ
ェッチした際、分岐予測テーブルにヒットした場合は分
岐命令長によりヒットした分岐命令を最終バイトまでプ
リフェッチした後、引続く命令の先頭アドレスをリタン
・アドレス・レジスタ209に格納し、予測分岐先アドレ
スをプリフェッチ・ポインタ202にセットする。予測さ
れた分岐命令の条件が成立しなかったことを命令デコー
ダ201から予測はずれ信号114によって通知されるとプリ
フェッチポインタ202の内容をリタン・アドレス・レジ
スタ203の内容に更新し、予測した分岐命令に引続く命
令のプリフェッチを行う。条件が成立している場合には
そのままプリフェッチを継続する。
〔発明の効果〕
以上説明したように本発明は、分岐が発生したときに分
岐予測テーブルに分岐元アドレス,命令長,分岐先アド
レスを登録しておき、次にその分岐命令をプリフェッチ
したときに、引続く命令をフェッチせずに分岐先の命令
をフェッチすることにより分岐命令をパイプラインを乱
すことなく高速に実行することができる。
【図面の簡単な説明】
第1図は本発明の一実施例と、第2図は他の実施例をそ
れぞれ示すブロック図である。 101……プリフェッチ・アドレスバス、102……分岐先ア
ドレスバス、103……アドレス・インクリメンタ出力、1
04……予測分岐先アドレスバス、105……分岐予測テー
ブル・ヒット信号、106……分岐予測テーブル・分岐元
アドレスバス、107……分岐指示信号、108……分岐予測
テーブル・登録指示信号、109……分岐元アドレスバ
ス、110……分岐命令長、111……分岐予測テーブルにヒ
ットした分岐命令長、112……プリフェッチ・ポインタ
更新指示信号、113……リタン・アドレス・ポインタ更
新指示信号、114……分岐予測はずれ信号、201……命令
デコーダ、202……プリフェッチ・ポインタ、203……ア
ドレス・インクリメンタ、204……プリフェッチ、制御
回路、205……プリフェッチ・ポインタ入力マリチプレ
クサ、206……アドレス・コンパレータ、207……分岐予
測テーブル、208……分岐予測テーブル制御回路、209…
…リタン・アドレス・レジスタ、301……分岐予測テー
ブル・分岐元アドレス部、302……分岐予測テーブル・
バリッドフラグ、303……分岐予測テーブル・命令長
部、304……分岐予測テーブル・分岐先アドレス部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】命令プリフェッチ用アドレスを示すプリフ
    ェッチ・ポインタと、分岐命令の先頭アドレスである分
    岐元アドレスおよび分岐先アドレスを対にして登録する
    分岐予測テーブルとを有するマイクロプロセッサにおい
    て、前記分岐元アドレスおよび前記分岐先アドレスとと
    もに前記分岐命令の命令長をセットにして前記分岐予測
    テーブルに登録し、更に、前記プリフェッチ・ポインタ
    が示す命令プリフェッチ用アドレスが前記分岐予測テー
    ブルに登録されている前記分岐元アドレスと一致するか
    どうかを検出する検出手段と、この検出手段が一致検出
    出力を発生することに応答して、前記分岐予測テーブル
    に登録されている前記命令長に基づき前記分岐命令とし
    て必要な命令コードをプリフェッチし、しかる後に前記
    プリフェッチ・ポインタに前記分岐予測テーブルに登録
    されている前記分岐先アドレスをセットする手段とを設
    けたことを特徴とするマイクロプロセッサ。
JP63298514A 1988-11-25 1988-11-25 マイクロプロセッサ Expired - Fee Related JPH0769810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63298514A JPH0769810B2 (ja) 1988-11-25 1988-11-25 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63298514A JPH0769810B2 (ja) 1988-11-25 1988-11-25 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH02144626A JPH02144626A (ja) 1990-06-04
JPH0769810B2 true JPH0769810B2 (ja) 1995-07-31

Family

ID=17860706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63298514A Expired - Fee Related JPH0769810B2 (ja) 1988-11-25 1988-11-25 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH0769810B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106387A (ja) * 1994-10-06 1996-04-23 Oki Electric Ind Co Ltd 命令プリフェッチ回路及びキャッシュ装置
JP3512272B2 (ja) * 1995-08-09 2004-03-29 株式会社日立製作所 比較演算装置およびグラフィック演算システム
JPH10333908A (ja) 1997-05-30 1998-12-18 Mitsubishi Electric Corp 分岐予測方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5991551A (ja) * 1982-11-17 1984-05-26 Nec Corp 分岐先アドレス予測を行なう命令先取り装置

Also Published As

Publication number Publication date
JPH02144626A (ja) 1990-06-04

Similar Documents

Publication Publication Date Title
US20050278505A1 (en) Microprocessor architecture including zero impact predictive data pre-fetch mechanism for pipeline data memory
JP2560889B2 (ja) マイクロプロセッサ
KR100240591B1 (ko) 분기명령어의 효율적인 처리를 위한 브랜치 타겟 버퍼 및 그를 이용한 분기 예측방법
US5805877A (en) Data processor with branch target address cache and method of operation
US6240484B1 (en) Linearly addressable microprocessor cache
US5761723A (en) Data processor with branch prediction and method of operation
US10042776B2 (en) Prefetching based upon return addresses
JPH06131175A (ja) 高性能プロセッサのためのバイト比較操作方法
JP2002525741A (ja) 間接分岐ターゲットを計算するための方法
KR20070108939A (ko) 포워드 룩킹 브렌치 타겟 어드레스 캐싱
JPH06131178A (ja) マルチプロセッサ又はパイプラインプロセッサシステムにおい てデータの完全性を確保する方法
CN111213131B (zh) 高速缓存器中的零时延预提取
JPS6393038A (ja) 計算機
CN117421259A (zh) 用飞行中预取服务于cpu需求请求
JPH06131179A (ja) 分岐を除去することによりコンピュータ性能を改善する方法
JP3486690B2 (ja) パイプライン方式プロセッサ
US5301285A (en) Data processor having two instruction registers connected in cascade and two instruction decoders
US5944818A (en) Method and apparatus for accelerated instruction restart in a microprocessor
US20060224861A1 (en) Condition branch instruction encoding within a multiple instruction set data processing system
US6604191B1 (en) Method and apparatus for accelerating instruction fetching for a processor
JPH0769810B2 (ja) マイクロプロセッサ
JP2004038338A (ja) 分岐予測機構を有する情報処理装置
JP2001005660A (ja) マイクロプロセッサ内の命令トランザクションを低減する方法及び装置
EP0666538A2 (en) Data processor with branch target address cache and method of operation
JP2002342075A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees