JPH08241198A - 分岐命令処理方法 - Google Patents

分岐命令処理方法

Info

Publication number
JPH08241198A
JPH08241198A JP4594195A JP4594195A JPH08241198A JP H08241198 A JPH08241198 A JP H08241198A JP 4594195 A JP4594195 A JP 4594195A JP 4594195 A JP4594195 A JP 4594195A JP H08241198 A JPH08241198 A JP H08241198A
Authority
JP
Japan
Prior art keywords
branch
instruction
prediction
branch instruction
static
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.)
Withdrawn
Application number
JP4594195A
Other languages
English (en)
Inventor
Haruko Nishimoto
晴子 西本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4594195A priority Critical patent/JPH08241198A/ja
Publication of JPH08241198A publication Critical patent/JPH08241198A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】命令の先行実行を行うために分岐予測を行い、
命令を効率的に処理する機構を持つプロセッサに関し、
ある場合には分岐予測の正当率が高い動的分岐予測を行
うことにより、パイプライン処理の性能を向上させると
共に、ある場合にはコスト的に有利な静的分岐予測を行
うことができる優れた分岐命令処理方法を提供するこを
目的とする。 【構成】分岐命令を分岐先バッファへ登録すべき旨の所
定の表示を検出するステップと、所定の表示がある分岐
命令のみを分岐先バッファへ登録するステップとを具備
することにより構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令の先行実行を行う
ために分岐予測を行い、命令を効率的に処理する機構を
持つプロセッサに適用できる分岐命令処理方法に関す
る。
【0002】
【従来の技術】分岐予測を行わない従来のマイクロプロ
セッサのパイプラインでは、制御ハザードが全体性能に
大きな影響を与える。分岐命令の実行に伴い、プログラ
ム・カウンタPCが”PC+4”以外の値に変更される
時は、プログラム・カウンタPCはアドレス計算と条件
比較が完了するまで変更されない。
【0003】よって、分岐命令によって分岐する場合に
は、新しいプログラム・カウンタPCが判明し正しい命
令をフェッチしてくるまでの間、パイプライン・ストー
ルを引き起こしてしまうことになる。分岐ごとにこのよ
うなパイプライン・ストールが起きると、大きな性能低
下に通じるので、分岐ペナルティーの低減は重要課題で
あった。
【0004】このような分岐によるパイプライン・スト
ールを低減するには、 ・分岐の成立/不成立をパイプラインのできるだけ前の
ステージで判定する。 ・分岐先アドレスをパイプラインのできるだけ前のステ
ージで生成する。 という方法をとる必要があると考えられる。
【0005】さて、分岐予測機構を持たないプロセッサ
では、分岐命令の次命令は分岐不成立と見積もった時と
同じ命令をそのままフェッチすることになる。そのため
その分岐命令が成立すると分かった時点で、分岐命令後
の先行実行してしまった全ての命令をキャンセルすると
同時に、新たに分岐先の命令をフェッチし直さなくては
ならないというダメージを受ける。この回復にはかなり
のサイクル数を必要とする。
【0006】そこで、最近ではそれらのダメージを軽減
するために分岐予測機構を取り入れたマイクロプロセッ
サが開発されている。ここでは、静的に分岐を予測する
方式と動的に分岐を予測する方式のいずれかの方式を採
用して分岐予測を行い、パイプライン・ストールを低減
している。
【0007】静的分岐予測はコンパイル時に行われるも
のである。分岐命令の実行時において、その予測の方向
が変わらない。分岐予測の正当率はあまり高くないが、
ソフトウェアによる手法なので、ハードウェアコストは
掛からない。以下、いくつかの静的分岐予測の具体例を
示す。
【0008】1.分岐命令の後続命令を分岐結果が判明
するまでインターロックする。パイプラインの乱れは大
きくなるが、一番単純な方法である。 2.分岐命令を「不成立」と予測する。つまり分岐命令
があたかも存在しないかのように後続命令を引き続き実
行する。この時、分岐結果が判明するまではマシン状態
を更新してはいけない。もし分岐命令が「成立」であれ
ば、パイプラインを止め、正しい命令をフェッチし直さ
なくてはいけない。 3.分岐命令を「成立」と予測する。デコードの結果分
岐命令と判断し、かつ分岐先アドレスを生成するとすぐ
に、当該分岐命令を「成立」と仮定して分岐先命令をフ
ェッチし始める。分岐結果よりも先に分岐先アドレスが
得られるマシンでは効果のある手法である。 4.遅延分岐(delayed branch)を用い
る。分岐遅延(制御ハザードの長さ)のサイクル数分の
命令が分岐遅延スロットに入り、コンパイラによって多
くの有効な命令を後続命令として分岐遅延スロットに投
入するようにする。
【0009】動的分岐予測は、今までの実行履歴を元に
行われるものである。プログラム実行中の分岐命令の振
舞いに基づき、予測の方向を適宜変える。分岐予測の正
当率は高い。しかし、専用のハードウェア機構を用意す
る必要があるので、ハードウェアコストがかかる。以
下、いくつかの動的分岐予測の具体例を示す。
【0010】1.分岐予測バッファを用いる。これは、
分岐命令アドレスの下位ビットでインデックスされる小
容量メモリのことである。 2.同じように命令アドレスでアクセスされる小容量の
専用キャッシュを用いる。命令フェッチの段階でアクセ
スされるため、分岐するか否かと分岐先PCが同時に判
明する。 3.分岐命令の次にくる命令の予測アドレスも格納した
形態の分岐予測キャッシュ(分岐先バッファ(BT
B))を用いる。命令キャッシュの各ブロックに数ビッ
トを付加して命令と一緒にフェッチする。フェッチした
命令が分岐命令だと予測され、かつ、分岐予測が成立の
場合には、分岐先命令のプログラム・カウンタPCが判
明し次第、分岐先の命令フェッチを開始する。
【0011】
【発明が解決しようとする課題】静的分岐予測は、分岐
予測専用のハードウェアが無くても分岐予測ができると
いう利点を有している。また、ソフトウェアによるもの
なので、変更や拡張も容易である。しかし、分岐予測の
正当率が低いので、パイプライン処理において、しばし
ばパイプライン・ストールを引き起こすという問題があ
る。
【0012】動的分岐予測は予測正当率が高いので、パ
イプライン処理の性能低下を確実に低減することができ
る。そこで、この動的分岐予測を徹底してすべての分岐
命令を登録できるだけの大きなBTBを用意すれば、パ
イプライン処理の高い性能を十分に維持することができ
ると考えられる。
【0013】しかし、BTBの容量を無限に大きくした
としても、分岐予測正当率の上昇には限界があるので、
パイプライン・ストールの発生を完全に阻止することは
できない。すなわち、パイプライン処理には必ず一定の
性能低下が生じる。そして、BTBの容量を大きくする
と、コスト増大及び物量の増大を招くという問題があ
る。
【0014】本発明は、このような従来の問題点に鑑
み、ある場合には分岐予測の正当率が高い動的分岐予測
を行うことにより、パイプライン処理の性能を向上させ
ると共に、ある場合にはコスト的に有利な静的分岐予測
を行うことができる優れた分岐命令処理方法を提供する
ことを目的とする。
【0015】
【課題を解決するための手段】本発明によれば、上述の
目的は、前記特許請求の範囲に記載した手段にて達成さ
れる。
【0016】すなわち、請求項1の発明は、分岐命令の
分岐方向を予測するために、動的に分岐命令を登録する
分岐先バッファを具備する情報処理装置における分岐命
令処理方法であって、分岐命令を分岐先バッファへ登録
すべき旨の所定の表示を検出するステップと、所定の表
示がある分岐命令のみを分岐先バッファへ登録するステ
ップとを具備する分岐命令処理方法である。
【0017】また、請求項2の発明は、前記検出するス
テップで、分岐命令の命令フィールドに設けられた動的
分岐予測ビットを診ることにより、所定の表示を検出す
る分岐命令処理方法である。
【0018】また、請求項3の発明は、コンパイルを行
う場合において、分岐命令の分岐方向を解析するステッ
プと、分岐方向に一定の連続性がある分岐命令に対して
は、分岐先バッファへ登録すべき旨の所定の表示を行う
ステップと、分岐方向に一定の連続性が無い分岐命令に
対しては、静的分岐予測を行うステップとを設ける分岐
命令処理方法である。
【0019】また、請求項4の発明は、前記解析するス
テップで、プロファイル情報に基づいて分岐命令の分岐
方向を解析する分岐命令処理方法である。
【0020】また、請求項5の発明は、前記所定の表示
を行うステップで、分岐命令の命令フィールドに動的分
岐予測ビットを設けると共に、この動的分岐予測ビット
を立てることにより所定の表示を行う分岐命令処理方法
である。
【0021】また、請求項6の発明は、前記静的分岐予
測を行うステップで、分岐命令の命令フィールドに静的
予測ビットを設けると共に、静的予測ビットを立てる又
はクリアすることによって、常に後続命令をフェッチす
る、又は常に分岐先命令をフェッチするように予測する
分岐命令処理方法である。
【0022】
【作用】分岐予測の正当率向上には限界があるので、B
TBの容量を大きくするだけではいたずらにコストの増
大を招くだけであり、パイプライン・ストールの問題解
決にはならない。それならば、必要最小限のBTBを用
意し、ハードウェアコストを押さえた上で、分岐予測の
正当率を上げる方が効率的である。
【0023】請求項1の発明では、分岐命令を分岐先バ
ッファへ登録すべき旨の所定の表示を検出するステップ
と、所定の表示がある分岐命令のみを分岐先バッファへ
登録するステップとを具備するので、分岐命令が選択的
に分岐先バッファへ登録されることになる。
【0024】また、請求項2の発明は、前記検出するス
テップにおいて、分岐命令の命令フィールドに設けられ
た動的分岐予測ビットを診ることにより、所定の表示を
検出するので、分岐命令の命令フィールドを解読するこ
とによってその分岐命令を分岐先バッファへ登録するか
否かが迅速に決定される。
【0025】また、請求項3の発明は、分岐方向に一定
の連続性がある分岐命令に対しては、分岐先バッファへ
登録すべき旨の所定の表示を行うので、動的分岐予測に
適した分岐命令が分岐先バッファへ登録されるようにな
る。また、分岐方向に一定の連続性が無い分岐命令に対
しては、静的分岐予測を行うので、動的予測に適しない
分岐命令は分岐先バッファへ登録されずに静的分岐予測
されるようになる。
【0026】また、請求項4の発明は、プロファイル情
報に基づいて分岐命令の分岐方向を解析するので、精度
の高い確実なデータに基づいて分岐予測が為されること
になる。プロファイル情報は、開発中のプログラムに対
しその各部分の実行回数と実行に要した時間などをテー
ブルにして表示したものである。そのデータはプログラ
ムの高速化のために改良すべき点を探すための重要な資
料とすることができる。
【0027】また、請求項5の発明は、分岐命令の命令
フィールドに動的分岐予測ビットを設けると共に、この
動的分岐予測ビットを立てることにより所定の表示を行
うので、動的分岐予測すべき分岐命令に対して、分岐先
バッファへ登録すべき旨の所定の表示が行われる。
【0028】また、請求項6の発明は、分岐命令の命令
フィールドに静的予測ビットを設けると共に、静的予測
ビットを立てる又はクリアすることによって、常に後続
命令をフェッチする、又は常に分岐先命令をフェッチす
るように予測するので、静的分岐予測すべき分岐命令
が、一定の分岐方向に分岐するように、分岐方向の予測
が為される。
【0029】
【実施例】本方式は、分岐予測バッファ(BTB)に登
録する分岐命令を減らして、BTB容量を減らすことを
その目的の一つとした分岐命令処理方法である。しか
し、BTBサイズを小さく押さえても性能低下につなが
らないように、BTBに分岐命令を選択的に登録する機
能を持つ。
【0030】コンパイラが静的に分岐を予測し易いよう
な、分岐命令の飛び先に偏りのあるものに対しては、B
TBに登録せずに静的分岐予測に任せる。逆に、分岐先
が一定に決まらず静的分岐予測が難しいものに対しては
原則としてBTBに登録し、動的な分岐予測を行う。し
かし、その中でも動的な分岐予測が難しいと思われるも
のに対しては、BTBに登録せず静的分岐予測に任せて
しまう。
【0031】図2に、三種類の分岐命令とその実行履歴
の例を示す。なお、プログラム・カウンタPCが分岐先
アドレスに変更される場合、その分岐命令は『成立』
(taken)といい、そうでない場合『不成立』(n
ot taken)という。
【0032】図中の分岐命令1は、takenがずっと
続いて起こる分岐命令の例を図示したものである。分岐
命令2は、takenとnot takenとが交互に
起こる分岐命令の例である。また、分岐命令3は、ta
kenがしばらく続いた後にnot takenがまた
しばらく続いて起こる分岐命令の例である。
【0033】まず、takenが続く分岐命令1につい
て考える。この分岐命令1に対しては、コンパイラによ
る一方向の静的分岐予測で十分な分岐予測性能が出せ
る。すなわち、このような命令はBTBに登録しないよ
うにする。数値計算プログラムには多く現われるタイプ
の分岐命令だが、静的予測だけでも十分な性能が期待で
きる。
【0034】次にtakenとnot takenとが
交互に起こる分岐命令2について考える。この分岐方向
を、一ビットの実行履歴を登録するBTB(過去一回の
履歴により当該分岐命令の方向を予測する。)で予測す
れば、毎回分岐予測がはずれてしまう。この場合には、
静的予測の方がより安全であるといえる。BTBに登録
してしまうと無駄な予測をしてしまうことになるので、
分岐命令2もBTBに登録しない方がよい。
【0035】最後に、分岐命令3について考える。分岐
命令3に対して、静的分岐予測をすれば、予測は半分あ
たり半分はずれることになる。一方、BTBで動的分岐
予測をすれば、分岐方向が変わるところ、すなわち途中
の一度だけ予測がはずれ、後はずっと予測が当たること
になる。よって、takenからnot takenに
切り替わる時以外は、BTBで分岐するか否かを当てる
ことができる。従って、このような命令はBTBに登録
した方が効率がよい。
【0036】よって、分岐命令の実行履歴を解析して、
BTBに登録する分岐命令を選別してやれば、BTBに
登録する分岐命令の個数を大きく制限することができる
から、バッファ(BTB)容量もかなり小さくできる。
【0037】BTBに登録すべき分岐命令の選別は、例
えば、従来の分岐命令予測機構に加え、分岐命令の命令
フィールドの中にBTBに登録するかしないかという情
報をコンパイル時に付加することによって実現可能であ
る。その際に、一度実行した結果を用い(プロファイル
情報を用いる)、BTBに登録するか否かを決定するこ
とも可能である。
【0038】分岐の偏りや実行頻度などを調べるにはプ
ロファイルを参照すればよい。一度プロファイル用にコ
ンパイルされたプログラムを実行し、その実行履歴を参
照して再コンパイルすれば、BTBに登録すべき命令か
どうかを容易に判断できる。
【0039】一度プログラムをプロファイル用にコンパ
イルすると共に、コンパイルしたプログラムをプロファ
イラ情報を出力させるために実行する。そして分岐命令
ごとにどのような実行履歴を辿ったかという(分岐が成
立であるか不成立であるか)実行履歴をテーブルに記録
しておく。それから、次に再コンパイルした際にその実
行履歴を元に、BTBに登録すべき分岐命令かどうかを
判断する。
【0040】BTBに登録すべき分岐命令のみを選択的
に分岐先バッファに登録することができれば、次のよう
な効果が期待できる。 1.小さいバッファでも十分な性能で分岐予測をするこ
とができる。 2.分岐ミスによるパイプライン・ストールが少なくて
済む。 3.分岐命令の実行に際して、常にBTBにアクセスす
ることを避けられるため、サイクル数を短縮することが
できる。
【0041】図3は、被測定プログラムの動きとプロフ
ァイラの関係を説明するものである。プロファイラは、
分岐命令の実行データをテーブルにして持ち、一度実行
形式のオブジェクト・プログラムを実行した際に実行履
歴を保存しておく。次に、再コンパイルする際には、そ
のデータを参照し、動的分岐予測をするか静的分岐予測
をするかの情報を分岐命令に付加していく。
【0042】その際には、分岐命令がどのような振舞を
したかということをチェックし、コンパイラに動的に予
測すべきか、あるいは静的に予測すべきかということを
判断させる。コンパイラは、動的分岐予測を行うか行わ
ないかの情報や、静的分岐予測の方向を分岐命令に表示
する。
【0043】動的予測をすべきか、すなわちBTBに登
録すべきかは、次のような判断基準に因ることができ
る。 ・分岐命令のtaken又はnot takenの割合
がほぼ‘1’で、どちらかが続いて起こる場合にはBT
Bに登録しない。 ・taken,not takenの出現が不規則に変
化する場合には、BTBに登録しない。 ・taken又はnot takenの出現がある程度
続いて起こる場合には、BTBに登録する。
【0044】図4に、分岐命令フィールドの使用態様の
一例を示す。図示する命令フィールドは、通常の32ビ
ット長の命令フィールドに二ビットを追加した形のフィ
ールドを持つ。追加した二ビットのうち一ビットは動的
分岐予測用ビットに、残りの一ビットは静的分岐予測用
に使用する。これらのビットの意味は次の通りである。
【0045】動的分岐予測用ビットがオフであれば動的
分岐予測をするためのBTBに分岐命令を登録せず、静
的分岐予測を行う。また、動的分岐予測ビットがオンで
あれば分岐命令をBTBに登録して動的分岐予測を行
う。なお、動的分岐予測がはずれた時のために、静的分
岐予測用ビットへ静的分岐予測の方向を指示しておくこ
とができる。
【0046】従って、動的分岐予測を行う場合には、命
令フィールドに付加した動的分岐予測用ビットを立てれ
ばよい。そうすれば、実行時には動的に分岐方向を判断
することができ、BTBに登録すべき命令(動的分岐予
測ビットが立っている)とそうでない命令とを区別した
上で分岐予測の処理を行うことができる。
【0047】また、BTBに登録されなかった分岐命令
に対しては静的な分岐予測を行う。taken方向に予
測するかnot taken方向に予測するかは、プロ
ファイルの結果により、コンパイル時に静的予測用ビッ
トを操作するようにすればよい。図4において、常に後
続命令をフェッチする場合には静的分岐予測用ビットを
‘0’に操作する。また、常に分岐先命令をフェッチす
る場合には静的分岐予測用ビットを‘1’に操作する。
【0048】図1は、当実施例における分岐方向の予測
方法を説明する図である。図1の場合、分岐命令をロー
ドすると、まず、動的分岐予測用ビットフィールドを参
照している。オンの場合にはBTBを参照して、次にフ
ェッチする命令のアドレスを得るが、オフの場合には静
的予測を行うことになる。
【0049】静的分岐予測を行う場合、静的分岐予測用
ビットフィールドを参照して分岐方向を決定する。静的
分岐予測用ビットフィールドがオンの場合には、tak
en方向として分岐先命令をフェッチする。また、オフ
の場合にはnot taken方向として、その分岐命
令に後続する命令をフェッチする。
【0050】
【発明の効果】以上説明したように、本発明によれば、
BTBの容量を押さえつつ正確な分岐予測を行うことが
できる。また、正確な分岐予測を行って命令の先行実行
を行うことで、命令列の処理が終了するまでにかかる全
体のサイクル数が軽減でき、これによりプロセッサの高
速化が期待できる。
【図面の簡単な説明】
【図1】分岐方向の予測方法を説明する図である。
【図2】分岐命令の実行履歴を示す図である。
【図3】プロファイラの説明図である。
【図4】分岐命令の命令フィールドの使用態様の一例を
説明する図である。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】分岐命令の分岐方向を予測するために、動
    的に分岐命令を登録する分岐先バッファを具備する情報
    処理装置における分岐命令処理方法であって、 分岐命令を分岐先バッファへ登録すべき旨の所定の表示
    を検出するステップと、 所定の表示がある分岐命令のみを分岐先バッファへ登録
    するステップとを具備することを特徴とする分岐命令処
    理方法。
  2. 【請求項2】前記検出するステップでは、分岐命令の命
    令フィールドに設けられた動的分岐予測ビットを診るこ
    とにより、所定の表示を検出する請求項1記載の分岐命
    令処理方法。
  3. 【請求項3】コンパイルを行う場合において、 分岐命令の分岐方向を解析するステップと、 分岐方向に一定の連続性がある分岐命令に対しては、分
    岐先バッファへ登録すべき旨の所定の表示を行うステッ
    プと、 分岐方向に一定の連続性が無い分岐命令に対しては、静
    的分岐予測を行うステップとを設けることを特徴とする
    分岐命令処理方法。
  4. 【請求項4】前記解析するステップでは、プロファイル
    情報に基づいて分岐命令の分岐方向を解析する請求項3
    記載の分岐命令処理方法。
  5. 【請求項5】前記所定の表示を行うステップでは、分岐
    命令の命令フィールドに動的分岐予測ビットを設けると
    共に、この動的分岐予測ビットを立てることにより所定
    の表示を行う請求項3記載の分岐命令処理方法。
  6. 【請求項6】前記静的分岐予測を行うステップでは、分
    岐命令の命令フィールドに静的予測ビットを設けると共
    に、静的予測ビットを立てる又はクリアすることによっ
    て、常に後続命令をフェッチする、又は常に分岐先命令
    をフェッチするように予測する請求項3記載の分岐命令
    処理方法。
JP4594195A 1995-03-06 1995-03-06 分岐命令処理方法 Withdrawn JPH08241198A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4594195A JPH08241198A (ja) 1995-03-06 1995-03-06 分岐命令処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4594195A JPH08241198A (ja) 1995-03-06 1995-03-06 分岐命令処理方法

Publications (1)

Publication Number Publication Date
JPH08241198A true JPH08241198A (ja) 1996-09-17

Family

ID=12733308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4594195A Withdrawn JPH08241198A (ja) 1995-03-06 1995-03-06 分岐命令処理方法

Country Status (1)

Country Link
JP (1) JPH08241198A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0805390A1 (en) * 1996-04-29 1997-11-05 International Business Machines Corporation Processor and method for speculatively executing a conditional branch instruction utilizing a selected one of multiple branch prediction methodologies
JP2007514237A (ja) * 2003-12-15 2007-05-31 フリースケール セミコンダクター インコーポレイテッド 分岐先バッファにおいてエントリを割り当てる方法及び装置
JP2011203955A (ja) * 2010-03-25 2011-10-13 Fujitsu Ltd 分岐予測方法及びその方法を実行する分岐予測回路
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0805390A1 (en) * 1996-04-29 1997-11-05 International Business Machines Corporation Processor and method for speculatively executing a conditional branch instruction utilizing a selected one of multiple branch prediction methodologies
US5752014A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous branch prediction
JP2007514237A (ja) * 2003-12-15 2007-05-31 フリースケール セミコンダクター インコーポレイテッド 分岐先バッファにおいてエントリを割り当てる方法及び装置
JP2011203955A (ja) * 2010-03-25 2011-10-13 Fujitsu Ltd 分岐予測方法及びその方法を実行する分岐予測回路
US8806184B2 (en) 2010-03-25 2014-08-12 Fujitsu Limited Branch prediction method and branch prediction circuit performing the method
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Similar Documents

Publication Publication Date Title
US7293164B2 (en) Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions
JP2875909B2 (ja) 並列演算処理装置
KR100270003B1 (ko) 향상된 분기 예측 기법을 사용하는 프로세서 및그 실행 방법
KR100616722B1 (ko) 수퍼스칼라프로세서내의파이프라인명령디스패치유닛
US6178498B1 (en) Storing predicted branch target address in different storage according to importance hint in branch prediction instruction
US8943300B2 (en) Method and apparatus for generating return address predictions for implicit and explicit subroutine calls using predecode information
US6263427B1 (en) Branch prediction mechanism
KR930009756B1 (ko) 분기명령 실행장치 및 분기명령 트레이싱방법
JPS63175934A (ja) デ−タ処理装置
US8943298B2 (en) Meta predictor restoration upon detecting misprediction
JPH0863356A (ja) 分岐予測装置
JP2004533695A (ja) 分岐目標を予測する方法、プロセッサ、及びコンパイラ
US7290255B2 (en) Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
US5978905A (en) Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions
US8250344B2 (en) Methods and apparatus for dynamic prediction by software
US20050028036A1 (en) Program debug apparatus, program debug method and program
US5889986A (en) Instruction fetch unit including instruction buffer and secondary or branch target buffer that transfers prefetched instructions to the instruction buffer
US6119221A (en) Instruction prefetching apparatus and instruction prefetching method for processing in a processor
JP3749233B2 (ja) パイプラインでの命令実行方法及び装置
US5850551A (en) Compiler and processor for processing loops at high speed
US9817763B2 (en) Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products
TWI485621B (zh) 用於選擇性執行確定指令的方法、裝置及系統
JPH08241198A (ja) 分岐命令処理方法
US7085915B1 (en) Programmable prefetching of instructions for a processor executing a non-procedural program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020507