JP2636088B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2636088B2
JP2636088B2 JP3074433A JP7443391A JP2636088B2 JP 2636088 B2 JP2636088 B2 JP 2636088B2 JP 3074433 A JP3074433 A JP 3074433A JP 7443391 A JP7443391 A JP 7443391A JP 2636088 B2 JP2636088 B2 JP 2636088B2
Authority
JP
Japan
Prior art keywords
branch
address
update
instruction
branch prediction
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
JP3074433A
Other languages
English (en)
Other versions
JPH04287125A (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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP3074433A priority Critical patent/JP2636088B2/ja
Priority to FR9203097A priority patent/FR2674044B1/fr
Publication of JPH04287125A publication Critical patent/JPH04287125A/ja
Application granted granted Critical
Publication of JP2636088B2 publication Critical patent/JP2636088B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分岐命令の実アドレスを
指定する情報と、その分岐先実アドレスとを対にして複
数記憶する分岐予測テーブルを有して分岐予測を行う命
令先取り装置を持つ情報処理装置に関する。
【0002】
【従来の技術】従来、分岐予測テーブルを用いて分岐予
測を行なうこの種の命令先取り装置としては、特開昭5
9−91550に記載された装置が知られている。これ
は、実アドレスで命令をフェッチするに際して、先取り
すべきアドレスで命令記憶回路から命令を取出すと同時
に分岐予測テーブルを索引し、もし分岐予測テーブルに
ヒットすれば、分岐予測テーブルより供給される予測さ
れた分岐先アドレスを次に先取りすべきアドレスとし、
もし分岐予測テーブルにヒットしなければ、分岐予測テ
ーブルを更新する。
【0003】従来技術の一例について図面を参照して説
明する。図6は従来技術の一例のブロック図である。内
容的にいえば、命令ストリ−ム予測制御部ともいうべき
構成をブロックで示した図である。構成要素を中心にし
て説明すると、601は命令先取りアドレスを保持する
命令先取りアドレスレジスタである。これにより分岐予
測テーブル602の索引や、分岐予測テーブルによって
予測された分岐アドレスとの比較を比較器603で行
う。また、この命令先取りアドレスは命令先取り部60
6へ送られ、命令の先取りが行われ、先取りされた命令
の実行が命令実行部607で行われる。命令先取り部6
06と命令実行部607はシステム制御装置608によ
って制御される。
【0004】609と610はそれぞれ分岐予測テーブ
ル更新用分岐命令アドレスと分岐予測テーブル更新用分
岐先アドレスである。これらは命令実行部607より送
られる。なおこの図では分岐予測テーブル602が4つ
のコンパートメントから成る例について説明している。
603は命令先取りアドレスと予測された分岐アドレス
の比較を行なっている比較器で、4つのコンパートメン
トにそれぞれ比較器を持っている。
【0005】604は、比較器603の出力をもとに、
4つのコンパートメントの内ヒットしている予測された
分岐アドレスに対応する予測された分岐先アドレスを選
択する選択器である。605は点線で囲んだ分岐予測部
600内の制御を行なう制御回路である。
【0006】
【発明が解決しようとする問題点】上に説明したような
従来の技術においては、分岐予測テーブルの更新中は分
岐予測テーブルの索引が出来ないという問題点がある。
本発明は従来のもののこのような問題点を解決し、分岐
予測テーブルの更新中でも分岐予測テーブルの索引がで
きる情報処理装置を提供するものである。
【0007】
【問題点を解決するための手段】本第1の発明による
と、分岐命令の分岐先アドレスを予測して先取りする分
岐予測機構を含む情報処理装置において、分岐予測テー
ブルと、前記分岐予測テーブルを更新するための更新用
分岐命令アドレス及び更新用分岐先アドレスを出力する
命令実行部と、前記更新用分岐命令アドレスと命令先取
りアドレスとを比較し更新一致信号を出力する比較回路
と、前記更新一致信号により分岐予測テーブルの出力か
更新用分岐先アドレスかを選択する選択回路とを含み、
前記分岐予測テーブル更新用のデータに命令先取りアド
レスに対応するものがある場合、対応する更新用データ
直接、分岐予測アドレスとして用いることを特徴とす
る情報処理装置が得られる。
【0008】また本第2の発明によると、分岐命令の分
岐先アドレスを予測して先取りする分岐予測機構を含む
情報処理装置において、分岐予測テーブルと、分岐予測
テーブルを更新するための更新用分岐命令アドレス及び
更新用分岐先アドレスを出力する命令実行部と、該命令
実行部からの更新用分岐命令アドレスと更新用分岐先ア
ドレスを各々対応させてバッファリングしておくバッフ
ァ機構と、該バッファ機構の更新用分岐命令アドレスの
うち最初に更新されるデータと命令先取りアドレスとを
比較し更新一致信号を出力する比較回路と、前記更新一
致信号により分岐予測テーブルの出力か更新用分岐先ア
ドレスを選択する選択回路とを含み、前記分岐予測テー
ブル更新用のデータに命令先取りアドレスに対応するも
のがある場合、対応する更新用分岐先アドレスを直接、
分岐予測アドレスとして用いることを特徴とする情報処
理装置が得られる。
【0009】さらに本第3の発明によると、分岐命令の
分岐先アドレスを予測して先取りする分岐予測機構を含
む情報処理装置において、分岐予測テーブルと、分岐予
測テーブルを更新するための更新用分岐命令アドレス及
び更新用分岐先アドレスを出力する命令実行部と、該命
令実行部からの更新用分岐命令アドレスと更新用分岐先
アドレスを各々対応させてバッファリングしておくバッ
ファ機構と、該更新用分岐命令アドレスバッファ機構内
の各データと、命令先取りアドレスとを各々比較し更新
一致信号を出力する比較回路と、前記更新一致信号によ
り更新用分岐先アドレスのバッファ機構から更新一致信
号を出力したデータに対応したデータを選択する選択回
路とを含み、前記分岐予測テーブル更新用のデータに命
令先取りアドレスに対応するものがある場合、前記選択
回路の出力を直接、分岐予測アドレスとして用いること
を特徴とする情報処理装置が得られる。
【0010】
【実施例】次に、本発明について図面を参照して説明す
る。図4,図5はこの発明が適用される環境の例を示し
ている。図4は情報処理装置のブロック図であり、30
〜33は演算処理装置、40〜43は入出力制御装置、
10,15は主記憶装置、20,25はシステム制御装
置である。また図5は演算処理装置30〜33の構成の
一例を示すブロック図で、310は先取り制御部、32
0はメモリバッファ制御部、330は制御記憶部、34
0は演算実行部、350は動作主体番号管理回路、36
0は定時刻タイマである。本発明は図4の各演算処理装
置30〜33のうち、特に図5の先取り制御部310に
関係する。
【0011】図1は本発明の第1の実施例のブロック図
である。図において100は分岐予測部、101は命令
先取りアドレスを保持するレジスタ、102は分岐予測
テーブルで、予測された分岐アドレスのテーブルと、そ
れに対応する予測された分岐先アドレスのテーブルとか
ら成る。図3の例では、分岐予測テーブルを4つのコン
パートメントから構成している。
【0012】103は命令先取りアドレスと分岐予測テ
ーブルによって予測された分岐アドレスとの比較を行う
比較器で、この図では分岐予測テーブルの4つのコンパ
ートメントのそれぞれに持つ。104は選択器で、比較
器103の出力をもとにヒットした予測された分岐アド
レスに対応する予測された分岐先アドレスを選択する。
105は分岐予測部内の制御を行う制御回路である。
【0013】また、106は命令先取り部、107は命
令実行部、108はシステム制御装置、109は(分岐
予測)テーブル更新用分岐命令アドレス、110は(分
岐予測)テーブル更新用分岐先アドレスである。111
は比較器で、命令先取りアドレスと分岐予測テーブル更
新用分岐命令アドレスの比較を行う。
【0014】112はセレクタで、比較器111により
分岐予測テーブル更新用の分岐アドレスのヒットが判明
した場合、分岐予測テーブルによる分岐予測先アドレス
でなく、分岐予測テーブル更新用の分岐先アドレスを次
の命令先取りアドレスとして選択する。また113は分
岐予測テーブルによって予測された分岐先アドレス、1
14はセレクタ112に対する選択信号、115はセレ
クタ112に入る選択データで、分岐予測テーブル更新
用の分岐先アドレスである。
【0015】シーケンシャルな先取り時の場合は、分岐
命令がなく、シーケンシャルに先取りが行われる時、命
令先取りアドレス116は命令先取り部106に取り出
される命令巾が加算されていく。分岐予測時の場合は、
分岐予測テーブル102にすでに分岐命令が予測されて
いる時、分岐予測テーブル102により予測された分岐
アドレスと命令先取りアドレスレジスタ101の出力が
比較器103で比較され、一致するものがあれば、その
予測された分岐アドレスに対応する分岐先アドレスを命
令先取りアドレスとして以降の予測を行う。一方分岐予
測テーブル102により予測された分岐アドレスと、命
令先取りアドレスレジスタの出力に一致するものがない
場合、分岐予測失敗という事になり、分岐予測テーブル
102が更新される。
【0016】ところで、分岐命令が小ループを形成して
いる場合、前回の分岐命令が命令実行部107において
実行され、分岐予測テーブル102に送られる更新用デ
ータ109が作られたがまだ分岐予測テーブルが更新さ
れていないというタイミングに、次の分岐命令が生じる
事もある。ここまでは従来装置におけるとほぼ同じであ
る。
【0017】以下は本発明において特に設けられたもの
で、命令先取りアドレス116と分岐予測テーブル更新
用分岐命令アドレス109の比較を行う比較器111
と、この比較器111により分岐予測テーブル更新用の
分岐アドレスのヒットが判明した場合、分岐予測テーブ
ル102による予測分岐先アドレス113ではなく、分
岐予測テーブル更新用の分岐先アドレス110を次の命
令先取りアドレス117として選択するセレクタ112
を設ける事により、前記の様な分岐命令が小ループを形
成しているケースの予測が滞りなく行える。
【0018】図2は本発明の第2の実施例のブロック図
を示している。分岐予測テーブル102に供給される更
新用分岐命令アドレス109と更新用分岐命令先アドレ
ス110は、命令実行部からの直接供給でなく、命令実
行部107からのデータを分岐予測アドレス更新データ
バッファ機構401および分岐予測先アドレス更新デー
タバッファ機構402でバッファリングしてからアドレ
スデータとして分岐予測テーブル102に供給されるよ
うになっている。
【0019】比較器403はバッファリングしておいた
更新用分岐命令アドレス109のうち最初に更新される
データと命令先取りアドレス116とを比較する。選択
器404は比較器403により分岐予測テーブル更新用
の分岐先アドレスのヒットが判明した場合、分岐予測テ
ーブル102による予測分岐先アドレスでなく、バッフ
ァリングしておいた更新用分岐命令アドレス110のう
ちの最初に更新されるデータを次の命令先取りアドレス
として選択する。このような構成により、バッファの大
きさを起こる確率の高い小ループの大きさに合わせてよ
り効果的に予測する事が可能になる。
【0020】また、図3は本発明の第3実施例のブロッ
ク図である。これは5個の分岐予測アドレス更新データ
バッファ501の各々に命令先取りアドレス116との
5個の比較回路501を設け、また、5個の分岐予測先
アドレス更新データバッファ402を選択するセレクタ
502を設けたものである。各々の比較回路の出力50
5により、もしバッファ401中にヒットしているもの
があれば、それに対応する分岐予測先アドレス更新デー
タの値がセレクタ502で選択される。このときセレク
タ504は、分岐予測テーブル102により予測された
分岐先アドレスではなく、セレクタ502の出力を次の
命令先取りアドレスとして選択する。
【0021】
【発明の効果】以上説明したように、第1の発明は分岐
予測テーブル更新データと命令先取りアドレスレジスタ
との比較器を持つこと、第2の発明は分岐予測テーブル
更新データをバッファリングして、そのバッファリング
したもののうち最初に更新データとなるものと命令先取
りアドレスの比較器を持つこと、本第3の発明は分岐予
測テーブル更新データをバッファリングして各々比較器
を持つことにより、分岐予測テーブル更新データの中に
予測ヒットしているものの有無を判定し、小ループの分
岐命令の分岐予測を滞りなく行えるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例の構成を示すブロック図
である。
【図2】本発明の第2の実施例の構成を示すブロック図
である。
【図3】本発明の第3の実施例の構成を示すブロック図
である。
【図4】本発明が適用される環境の第1の例を示すブロ
ック図である。
【図5】本発明が適用される環境の第2の例を示すブロ
ック図である。
【図6】従来技術の一例を示すブロック図である。
【符号の説明】
100…分岐予測部、101…命令先取りアドレスレジ
スタ、102…分岐予測テーブル、103…比較器、1
04…セレクタ、105…制御回路、106…命令先取
り部、107…命令実行部、108…システム制御装
置、109…テーブル更新用分岐命令アドレス、110
…テーブル更新用分岐先アドレス、111…比較器、1
12…セレクタ、113…予測分岐先アドレス、114
…選択信号、115…選択データ、401…分岐予測ア
ドレス更新データバッファ機構、402…分岐予測先ア
ドレス更新データバッファ機構、403…比較器、40
4…セレクタ、501…比較回路、502…セレクタ、
503…選択信号、504…セレクタ。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 分岐命令の分岐先アドレスを予測して先
    取りする分岐予測機構を含む情報処理装置において、 分岐予測テーブルと、該分岐予測テーブルを更新するた
    めの更新用分岐命令アドレス及び更新用分岐先アドレス
    を出力する命令実行部と、前記更新用分岐命令アドレス
    と命令先取りアドレスとを比較し更新一致信号を出力す
    る比較回路と、前記更新一致信号により、分岐予測テー
    ブルの出力か更新用分岐先アドレスかを選択する選択回
    路とを含み、前記分岐予測テーブル更新用のデータに命
    令先取りアドレスに対応するものがある場合、対応する
    更新用データを直接、分岐予測アドレスとして用いるこ
    とを特徴とする情報処理装置。
  2. 【請求項2】 分岐命令の分岐先アドレスを予測して先
    取りする分岐予測機構を含む情報処理装置において、 分岐予測テーブルと、分岐予測テーブルを更新するため
    の更新用分岐命令アドレス及び更新用分岐先アドレスを
    出力する命令実行部と、該命令実行部からの更新用分岐
    命令アドレスと更新用分岐先アドレスを各々対応させて
    バッファリングしておくバッファ機構と、該バッファ機
    構の更新用分岐命令アドレスのうち最初に更新されるデ
    ータと命令先取りアドレスとを比較し更新一致信号を出
    力する比較回路と、前記更新一致信号により分岐予測テ
    ーブルの出力か更新用分岐先アドレスを選択する選択回
    路とを含み、前記分岐予測テーブル更新用のデータに命
    令先取りアドレスに対応するものがある場合、対応する
    更新用分岐先アドレスを直接、分岐予測アドレスとして
    用いることを特徴とする情報処理装置。
  3. 【請求項3】 分岐命令の分岐先アドレスを予測して先
    取りする分岐予測機構を含む情報処理装置において、 分岐予測テーブルと、分岐予測テーブルを更新するため
    の更新用分岐命令アドレス及び更新用分岐先アドレスを
    出力する命令実行部と、該命令実行部からの更新用分岐
    命令アドレスと更新用分岐先アドレスを各々対応させて
    バッファリングしておくバッファ機構と、該更新用分岐
    命令アドレスバッファ機構内の各データと命令先取りア
    ドレスとを各々比較し更新一致信号を出力する比較回路
    と、前記更新一致信号により更新用分岐先アドレスのバ
    ッファ機構から更新一致信号を出力したデータに対応し
    たデータを選択する選択回路とを含み、前記分岐予測テ
    ーブル更新用のデータに命令先取りアドレスに対応する
    ものがある場合前記選択回路の出力を直接、分岐予測ア
    ドレスとして用いることを特徴とする情報処理装置。
JP3074433A 1991-03-15 1991-03-15 情報処理装置 Expired - Lifetime JP2636088B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3074433A JP2636088B2 (ja) 1991-03-15 1991-03-15 情報処理装置
FR9203097A FR2674044B1 (fr) 1991-03-15 1992-03-16 Agencement pour predire une adresse d'instruction resultant d'un branchement dans un systeme de traitement numerique des donnees.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3074433A JP2636088B2 (ja) 1991-03-15 1991-03-15 情報処理装置

Publications (2)

Publication Number Publication Date
JPH04287125A JPH04287125A (ja) 1992-10-12
JP2636088B2 true JP2636088B2 (ja) 1997-07-30

Family

ID=13547086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3074433A Expired - Lifetime JP2636088B2 (ja) 1991-03-15 1991-03-15 情報処理装置

Country Status (2)

Country Link
JP (1) JP2636088B2 (ja)
FR (1) FR2674044B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848433A (en) * 1995-04-12 1998-12-08 Advanced Micro Devices Way prediction unit and a method for operating the same
US5878255A (en) * 1995-06-07 1999-03-02 Advanced Micro Devices, Inc. Update unit for providing a delayed update to a branch prediction array
WO1998002817A1 (en) * 1996-07-16 1998-01-22 Advanced Micro Devices, Inc. A way prediction unit and a method for operating the same
DE69635166T2 (de) * 1996-07-16 2006-06-14 Advanced Micro Devices Inc Verzögertes aktualisierungsregister für matrix
US6073230A (en) * 1997-06-11 2000-06-06 Advanced Micro Devices, Inc. Instruction fetch unit configured to provide sequential way prediction for sequential instruction fetches
US6016533A (en) * 1997-12-16 2000-01-18 Advanced Micro Devices, Inc. Way prediction logic for cache array
US7117290B2 (en) 2003-09-03 2006-10-03 Advanced Micro Devices, Inc. MicroTLB and micro tag for reducing power in a processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5942686A (ja) * 1982-08-31 1984-03-09 Nec Corp 情報処理装置
US4764861A (en) * 1984-02-08 1988-08-16 Nec Corporation Instruction fpefetching device with prediction of a branch destination for each branch count instruction
JPS60164842A (ja) * 1984-02-08 1985-08-27 Nec Corp 命令先取り装置
FR2610122B1 (fr) * 1987-01-22 1992-03-13 Nec Corp Systeme de controle d'ecriture dans une table historique des branchements

Also Published As

Publication number Publication date
FR2674044A1 (fr) 1992-09-18
FR2674044B1 (fr) 1995-01-13
JPH04287125A (ja) 1992-10-12

Similar Documents

Publication Publication Date Title
US5394530A (en) Arrangement for predicting a branch target address in the second iteration of a short loop
CA1162313A (en) Branch predictor using random access memory
JPH0644292A (ja) ベクトル処理装置
JPH0231419B2 (ja)
JPS6131502B2 (ja)
JPH0363852A (ja) キャッシュ・ミス予測の方法および装置
JP2636088B2 (ja) 情報処理装置
JPH03286332A (ja) デジタルデータ処理装置
US5050076A (en) Prefetching queue control system
JP3082944B2 (ja) パイプライン処理装置
JP3699003B2 (ja) データ処理装置および方法
JPH0520350A (ja) ベクトル処理装置
JPS63314644A (ja) デ−タ処理装置
JP3982077B2 (ja) マルチプロセッサシステム
JP3541498B2 (ja) データ処理装置
JPH01273132A (ja) マイクロプロセッサ
JPS60108973A (ja) 配列要素の最小値および最小要素の要素番号を求める方法
JP2864548B2 (ja) 命令キャッシュ装置
JP2621793B2 (ja) バスサイクルのマルチプレクス方式
JP2748404B2 (ja) 2項データメモリ
JP2682759B2 (ja) 命令フェッチ回路
JPH03288228A (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JPH10111798A (ja) 情報処理装置
JPH09319863A (ja) 画像処理装置における設定データ変更装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970225