JPH0769815B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0769815B2
JPH0769815B2 JP11664188A JP11664188A JPH0769815B2 JP H0769815 B2 JPH0769815 B2 JP H0769815B2 JP 11664188 A JP11664188 A JP 11664188A JP 11664188 A JP11664188 A JP 11664188A JP H0769815 B2 JPH0769815 B2 JP H0769815B2
Authority
JP
Japan
Prior art keywords
instruction
branch
address
read
word
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
JP11664188A
Other languages
English (en)
Other versions
JPH01284927A (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 JP11664188A priority Critical patent/JPH0769815B2/ja
Publication of JPH01284927A publication Critical patent/JPH01284927A/ja
Publication of JPH0769815B2 publication Critical patent/JPH0769815B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に命令データを記憶す
る記憶装置と該記憶装置から命令を順次読出し、読出さ
れた命令を処理する命令処理ユニットを有し、特に該命
令処理ユニットがパイプライン構成で該記憶装置からの
命令先行読出し手段を有し、分岐命令に関しては分岐先
アドレスを予測し、高速に分岐を実行する情報処理装置
に関する。
〔従来の技術〕
従来、この種の情報処理装置は、第4図に示すように記
憶装置104より命令先行読出しカウンタ101で示される命
令語を読出し、命令処理ユニット105に送り読出された
命令語が分岐命令でなければ命令先行読出しカウンタ10
1は+1されながら記憶装置104より命令語を次々に読出
していく。特に、命令処理ユニット105がパイプライン
化されている場合、読出された命令語の実行が終る前に
次の命令を読出さなければならず、特に分岐命令を読出
した場合、次に読むべき命令が決まる前に命令を読出さ
なければならず、そのために分岐先を予測する方法が取
られている。
分岐先の予測の方法として従来から行なわれていたもの
は分岐予測アドレスバッファ103を設け、記憶装置104内
の分岐命令に対して分岐予測アドレスを用意し、分岐命
令が読出されるたびにそれに対応する分岐予測アドレス
を分岐予測アドレスバッファ103より読出して、命令先
行読出しカウンタ101にロードする。このとき、記憶装
置104に入っている分岐命令の数、位置はプログラムに
より異なり、あらゆるプログラムに対応するため記憶装
置104中の命令語全てに対して分岐予測アドレスのため
の領域を分岐予測アドレスバッファ103内に用意してい
る。
記憶装置104より命令語を読出すのと同時に分岐予測ア
ドレスバッファ103より分岐予測アドレスを取出し、読
出された命令語が分岐命令ならば、取出された分岐予測
アドレスを命令先行読出しカウンタ101にロードする。
該分岐命令が実行され、分岐先が確定した時、その実際
の分岐先アドレスが次の分岐予測アドレスとして分岐予
測アドレスバッファ103に登録される。したがって、プ
ログラムが記憶装置104にロードされたばかりの時は、
分岐予測アドレスバッファ103の中には何も入っておら
ず、この状態では各分岐命令に対しては分岐しないと予
測せざるをえない。
〔発明が解決しようとする課題〕
上述した従来の情報処理装置は、記憶装置とは別に分岐
予測アドレスバッファを用いているので、全てのプログ
ラムに対応するためには、前記分岐予測アドレスを記憶
装置内の全ての命令語に対して用意しなければならず、
分岐予測アドレスを入れておく分岐予測アドレスバッフ
ァのハードウェアを実際に使われる分岐予測アドレスの
情報量に比べ非常に大きなものにしなければならず、ま
たプログラムを記憶装置にロードした時は各分岐命令に
対する予測ができないという欠点がある。
〔課題を解決するための手段〕
本発明の情報処理装置は、 複数の命令語からなる命令列を記憶し、分岐命令の直後
には該分岐命令の分岐先予測アドレスを格納する記憶手
段と、 この記憶装置から命令語を順次読み出して各命令語を処
理する命令処理手段と、 前記記憶装置から読み出された命令語が分岐命令である
かどうかを検出する分岐命令検出手段と、 前記記憶手段に対する読出しアドレスを発生する命令先
行読出し手段と、 前記命令処理手段において分岐命令の分岐先アドレスが
確定した際にその確定した分岐先アドレスと前記記憶手
段に格納される分岐先予測アドレスとが異なる場合には
該確定した分岐先アドレスを前記記憶手段の前記分岐先
予測アドレスの格納位置に書き込む分岐予測アドレス書
き替え手段とを含み、 前記命令先行読出し手段は、前記分岐命令検出手段にお
いて命令語が分岐命令ではない旨検出した場合には次の
命令語のアドレスを発生し、前記分岐命令検出手段にお
いて命令語が分岐命令である旨検出した場合には次の命
令語のアドレスを発生した後に該次の命令語の内容をア
ドレスとして発生する。
〔作用〕
したがって、分岐予測アドレスバッファのような分岐予
測を蓄えるための大きなハードウェアを必要とせず、ま
たコンパイル時分岐先アドレスの予測ができているなら
ばコンパイラで分岐予測アドレスの領域に、その予測ア
ドレスを書くことによりロード直後でも分岐先アドレス
を予測することができる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の情報処理装置の一実施例のブロック
図、第2図は第1図中の記憶装置4のメモリマップ、第
3図は第1図の実施例の具体的動作を示すタイムチャー
トである。
記憶装置4には、分岐命令4aの後に分岐予測アドレス4b
が格納されるようになっている。命令先行読出しカウン
タ1は、記憶装置4内の命令後を読出すためのアドレス
を発生し、そのアドレスは信号線21からアドレスバス11
を通して記憶装置4に入力される。そして、該アドレス
に格納されている命令語が記憶装置4より読出されてデ
ータバス12を通して命令処理ユニット5に入力される。
命令先行読出しカウンタ1は、命令後を1つ読むごとに
+1され、記憶装置4内の命令語は若いアドレスにある
ものから順次読出されていく。分岐命令検出器2は、記
憶装置4からデータバス12に読出された命令語が分岐命
令であるかどうかを検出する。セレクタ6は、命令先行
読出しカウンタ1にロードされるデータを選択するもの
で、通常は命令先行読出しカウンタ1を+1したものを
選択するが、分岐命令検出器2が分岐命令4aを検出した
時、その後の分岐予測アドレス4bがデータバス12に乗っ
た時点でデータバス12のデータを選択する。分岐予測ア
ドレス書替制御部3は、命令先行読出しカウンタ1にロ
ードされた分岐予測アドレス4bと、その記憶装置4内に
おけるアドレスを記憶しておき、命令処理ユニット5で
分岐先アドレスが確定した時点で実際の分岐先アドレス
と分岐予測アドレス4bが異なっているとき、実際の分岐
先アドレスを信号線25,24を通して記憶装置4内の分岐
予測アドレス4bの領域に書込む。
次に、本実施例の具体的な動作を第2,3図を参照して説
明する。
ここで、記憶装置4には、第2図に示すように、10,11,
12,13番地にそれぞれ命令a0,a1,a2,a3(a3は分岐命令)
が格納され、14番地には分岐命令a0の分岐予測アドレス
B0が格納され、B0,B0+1,B0+2番地にはそれぞれ命令b
1,b2,b3が格納され、C0,C0+1,C0+2にはそれぞれ命令
c1,c2,c3が格納されているものとする。記憶装置4上の
命令を実行するとき分岐命令a3を読むまでは命令先行読
出しカウンタ1は+1されながら記憶装置4内の命令を
上から順に読出し実行している。分岐命令a3を読むと分
岐命令検出器2はそれを検出し、セレクタ6は、データ
バス12上の分岐予測アドレスB0をセレクトし、命令先行
読出しカウンタ1にロードさせ、そこから命令語を読出
し始める。このとき分岐予測アドレス書替制御部3は、
分岐予測アドレスB0とその記憶装置4内におけるアドレ
スを記憶する。分岐先が確定し分岐先アドレスC0と予測
アドレスB0が異なると、分岐予測アドレス書替制御部3
は、予測失敗を検出し、データバス12通して記憶装置4
内の分岐予測アドレスをB0からC0に書替える。また、命
令先行読出しカウンタ1には、正しい分岐先アドレスC0
がロードされ、そこから順次命令を読出し始める。
〔発明の効果〕
以上説明したように本発明は、分岐予測アドレスを各分
岐命令の後に設けることにより、 分岐予測アドレスバッファのような分岐予測アドレス
を蓄えるための大きなハードウェアを必要としない。
コンパイル時分岐先アドレスの予測ができているなら
ばコンパイラで分岐予測アドレスの領域に、その予測ア
ドレスを書くことにより、ロード直後でも分岐先アドレ
スを予測することができる。
といった効果がある。
【図面の簡単な説明】
第1図は本発明の情報処理装置の一実施例のブロック
図、第2図は第1図中の記憶装置4のメモリマップ、第
3図は第1図の実施例の具体的動作を示すタイムチャー
ト、第4図は従来例を示すブロック図である。 1……命令先行読出しカウンタ、2……分岐命令検出
器、3……分岐予測アドレス書替制御部、4……記憶装
置、5……命令処理ユニット、6……セレクタ、11……
アドレスバス、12……データバス、101……命令先行読
出しカウンタ、102……分岐命令検出器、103……分岐予
測アドレスバッファ、104……記憶装置、105……命令処
理ユニット、106……セレクタ、111……アドレスバス、
112……データバス。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の命令語からなる命令列を記憶し、分
    岐命令の直後には該分岐命令の分岐先予測アドレスを格
    納する記憶手段と、 この記憶装置から命令語を順次読み出して各命令語を処
    理する命令処理手段と、 前記記憶装置から読み出された命令語が分岐命令である
    かどうかを検出する分岐命令検出手段と、 前記記憶手段に対する読出しアドレスを発生する命令先
    行読出し手段と、 前記命令処理手段において分岐命令の分岐先アドレスが
    確定した際にその確定した分岐先アドレスと前記記憶手
    段に格納される分岐先予測アドレスとが異なる場合には
    該確定した分岐先アドレスを前記記憶手段の前記分岐先
    予測アドレスの格納位置に書き込む分岐予測アドレス書
    き替え手段とを含み、 前記命令先行読出し手段は、前記分岐命令検出手段にお
    いて命令語が分岐命令ではない旨検出した場合には次の
    命令語のアドレスを発生し、前記分岐命令検出手段にお
    いて命令語が分岐命令である旨検出した場合には次の命
    令語のアドレスを発生した後に該次の命令語の内容をア
    ドレスとして発生することを特徴とする情報処理装置。
JP11664188A 1988-05-12 1988-05-12 情報処理装置 Expired - Lifetime JPH0769815B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11664188A JPH0769815B2 (ja) 1988-05-12 1988-05-12 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11664188A JPH0769815B2 (ja) 1988-05-12 1988-05-12 情報処理装置

Publications (2)

Publication Number Publication Date
JPH01284927A JPH01284927A (ja) 1989-11-16
JPH0769815B2 true JPH0769815B2 (ja) 1995-07-31

Family

ID=14692237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11664188A Expired - Lifetime JPH0769815B2 (ja) 1988-05-12 1988-05-12 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0769815B2 (ja)

Also Published As

Publication number Publication date
JPH01284927A (ja) 1989-11-16

Similar Documents

Publication Publication Date Title
US4725947A (en) Data processor with a branch target instruction storage
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
EP0050406B1 (en) Conditional branch prediction apparatus and method
US4794522A (en) Method for detecting modified object code in an emulator
JP2746549B2 (ja) コンピュータシステム及びその動作方法
KR100695187B1 (ko) 단일 스텝 처리 방법 및 장치
JP2875909B2 (ja) 並列演算処理装置
KR910014804A (ko) 명령큐 충전 방법
JP3641031B2 (ja) 命令装置
JP2008217799A (ja) 処理システムおよび情報をram構体で読取りおよび復元する方法
JPH0682320B2 (ja) データ処理装置
KR930002935A (ko) 정보 처리 장치
KR970076253A (ko) 데이타 프로세싱 시스템 및 브랜치 인스트럭션의 결과 예측 방법
JPS634208B2 (ja)
JPS6049340B2 (ja) 分岐命令先取り方式
JPH0769815B2 (ja) 情報処理装置
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
JPS6125168B2 (ja)
JPS63240634A (ja) 情報処理装置
JPH0646381B2 (ja) 命令取出し装置
JP3168657B2 (ja) 分岐命令制御回路
JP2902847B2 (ja) 自己変更コード実行方式
JPH0553908A (ja) 高速アクセス記憶装置
JPS6191725A (ja) アドレスマツチ制御方式
KR930010775A (ko) 화상 처리 장치