JPS63170740A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS63170740A
JPS63170740A JP229687A JP229687A JPS63170740A JP S63170740 A JPS63170740 A JP S63170740A JP 229687 A JP229687 A JP 229687A JP 229687 A JP229687 A JP 229687A JP S63170740 A JPS63170740 A JP S63170740A
Authority
JP
Japan
Prior art keywords
instruction
data
branch
branch prediction
address
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
JP229687A
Other languages
English (en)
Inventor
Yasuhiko Nitta
新田 泰彦
Masahito Matsuo
雅仁 松尾
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 JP229687A priority Critical patent/JPS63170740A/ja
Publication of JPS63170740A publication Critical patent/JPS63170740A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、パイプライン処理機能と分岐命令の飛び先
予測機構を備えたデータ処理装置に関するものである。
(従来の技術〕 第3図は、バイブライン処理機能と分岐命令の飛び先予
測機構を備えた従来のデータ処理装置のブロック図であ
り、図において、1は命令ブリフェッチキュー、2は命
令デコード部、3は命令実行部、4は分岐命令の分岐予
測機構、5は分岐先番地生成回路、6は命令デコード部
2でデコードされる命令が分岐を起こすかどうかを予測
した分岐予測ビットデータの信号線、7は次に命令デコ
ード部2でデコードされる命令の番地が出力される信号
線、8は現在命令実行部3で実行中の命令の番地が出力
される信号線である。第4図は、第3図の分岐予測機構
4の分岐予測テーブルの詳細を示したもので、図中9は
分岐命令番地、10はその分岐命令で分岐が起こるかど
うかを過去の履歴をもとに予測した分岐予測ビットデー
タである。
次に前記データ処理装置の動作について説明する。命令
実行部3で一定規則に従って番地付けされた命令データ
を実行している間に命令デコード  ・部2では次に実
行すべき命令をデコードしており、命令実行部3での実
行が終了すると命令デコード部2でデコードが終了して
いる次の命令が速やかに実行される。また、命令ブリフ
ェッチキュー1は主記憶がアクセスされていない時間を
利用して命令をあらかじめ取り込んでおき、命令デコー
ド部2が命令ブリフェッチキュー1から次にデコードす
べき命令データをフェッチすることにより、命令フェッ
チにかかる時間を短縮している。このように、このデー
タ処理装置内では各部が並列に動作するバイブライン処
理が行われ、これにより実効的な速度を上げている。し
かし、命令の流れが乱れた場合、たとえば分岐命令が実
行された時には、命令デコード部2でのデコード結果お
よび命令ブリフェッチキュー1に取り込まれている命令
データはキャンセルされ、命令ブリフェッチキュー1は
飛び先番地から新たにキューイングを行う。すなわち、
分岐命令実行後始めて実行される命令は主記憶から直接
数−り込まなければならず、次に実行すべき命令がフェ
ッチされてデコードされるまで命令実行部3は命令の実
行を中断しなければならない。
そこで、従来のデータ処理装置では、この点を改〃する
ために分岐予測機構4を設けている。これは、分岐命令
番地9とその分岐命令が過去に実行された時の履歴をも
とに、次回実行された時に分岐するかどうかを予測した
分岐予測ビットデータ10を組にして記憶したものであ
り、条件分岐命令等を実際に命令実行3部で実行する前
に分岐が起こるかどうかを予測するものである。この予
測の方法によってはかなり高い確率でプログラムの流れ
が予測できることがわかフている。簡単に説明すると、
分岐予測機構4は次に命令デコード部2でデコードされ
る命令の番地を信号線7により検索し、信号線6から得
られた分岐予測ビットデータを命令デコード部2に送る
。この分岐予測ビットデータは、過去の履歴によりその
命令が次回実行された時分岐を起こすかどうかを予測し
たものである。そして、命令ブリフェッチキュー1より
命令デコード部2に命令データが取り込まれると、上記
分岐予測ビットデータと共に命令デコードを開始する。
命令デコードの結果、デコードした命令が分岐命令であ
り、かつ分岐が起こると予測されると、命令ブリフェッ
チキューlに取り込まれている命令データはクリアされ
て、分岐先番地生成回路5から出力される飛び先番地よ
り再びキューイングを行い、取り込まれた命令データを
命令デコード部2に渡す。予測が的中した場合には、分
岐処理が命令実行部3で行なわれた場合に比べ命令実行
部3が次に実行すべき命令がより早期に主記憶より取り
込まれるため、次の命令実行までの待ち時間を短縮する
ことができる。予測が外れた時には分岐信号線8から得
られる命令の番地により分岐予測機構4の分岐予測テー
ブルへの登録操作を行う。このように分岐予測機構4の
付加により、分岐命令実行後のパイプライン処理の乱れ
を抑えデータ処理装置の実効的な計算速度を上げている
〔発明が解決しようとする問題点〕
従来のバイブライン処理機能を備えたデータ処理装置は
、以上のように構成されており、分岐予測機構4を備え
ることにより飛び先番地の予測を行ってパイプライン処
理の乱れを抑えているが、次に処理すべき命令データの
番地はデコードの結果確定される命令長を現在のプログ
ラムカウンタの値に加えることにより得られるので、次
にデコードする命令データの番地を命令デコードを開始
する前に決定することは困難であり、特に可変長命令の
命令セットを持つデータ処理装置では命令長の確定に時
間がかかるため、より一層困難であった。また分岐予測
ビットデータは次にデコードする命令データの番地によ
り検索されるので、命令データと分岐予測ビットデータ
を同時に命令デコード部2に取り込むことが困難である
という問題点があった。
この発明は、上記のような問題点を改善するためになさ
れたもので、次にデコードする命令データの番地の確定
を待たずに命令データと分岐子側ビットデータを同時に
命令デコード部で処理できるデータ処理装置を得ること
を目的とする。
〔問題点を解決するための手段〕
この発明のデータ処理装置は、一定規則に従って番地付
けされた命令データを実行する命令実行部と、その命令
が実行されている間に次の命令データを解析する命令解
析部と、その命令が解析されている間に次に解析すべき
命令データを先取りして取り込む命令先取装置と、この
先取りした命令データを実行した後に分岐が起こるかど
うかを過去の履歴をもとに予測する分岐予測機構とを備
え、前記命令先取装置に分岐予測機構で予測されたデー
タを先取りした命令データと共に格納するようにしたも
のである。
(作用ン この発明のデータ処理装置においては、命令の先取りを
行うと同時に分岐予測を行い、得られた予測データを先
取りした命令データと共に命令先取装置に格納する。そ
して、命令解析時には命令先取装置から命令データと分
岐予測データとを同時に取り込む。
〔実施例〕
以下この発明の一実施例を図面について説明する。第1
図はこの発明に係るバイブライン処理機能と分岐命令の
飛び先予測機構を備えたデータ処理装置のブロック図で
あり、図において、11は命令ブリフェッチキュー(命
令先取装置)、2は命令デコード部(命令解析部)、3
は命令実行部、4は分岐命令の分岐予測機構、5は分岐
先番地生成回路、6は現在命令ブリフェッチキュー11
でプリフェッチ中の命令が分岐を起こすかどうかを予測
した分岐予測ビットデータの信号線、7は現在命令ブリ
フェッチキュー11でブリフェッチ中の命令データの番
地を伝達するアドレスバス、8は命令実行53で現在実
行中の命令の番地が出力される信号線である。第2図は
、第1図の命令ブリフェッチキュー11の構成例を示し
ており、図において、12は命令データ、13は分岐予
測ビットデータであり、n個のエントリから構成されて
いる。なお、ここでは説明を簡単にするために、1回の
アクセスで主記憶装置より命令ブリフェッチキュー11
に取り込まれる命令データの長さ及び命令ブリフェッチ
キューitの各エントリの命令データ12の長さは命令
の最小単位に等しいものとする。
次に上記構成のデータ処理装置の動作について説明する
。命令ブリフェッチキュー11が命令データのブリフェ
ッチを行うと、分岐予測機構4はアドレス7からの現在
プリフェッチ中の命令の番地によりブリフェッチした命
令の分岐予測ビットデータを信号線6を通して命令ブリ
フェッチキュー11に送る。この分岐予測ビットデータ
は、過去の履歴によりブリフェッチされた命令が実行さ
れた時分岐を起こすかどうかを予測したものである。そ
して、命令ブリフェッチキュー11はブリフェッチした
命令と分岐予測ビットデータを組にして格納しておく。
次に命令ブリフェッチキュー11より命令デコード部2
に命令データが取り込まれると、同時に取り込まれた分
岐予測ビットデータ13と共に命令データがデコードさ
れる。命令デコードの結果、デコードした命令が分岐命
令であり、かつ分岐が起こると予測されると、命令ブリ
フェッチキュー11に取り込まれている命令データ12
及び分岐予測ビットデータ13は全てクリアされて、分
岐先番地生成回路5から出力される予測飛び先番地より
再びキューイングを開始する。予測が的中した時には、
分岐処理が命令実行部3で行われた場合に比べ命令実行
部3が次に実行すべき命令がより早期に主記憶より取り
込まれるため、次の命令実行までの待ち時間を短縮する
ことができる。また、分岐命令が命令実行部3で実行さ
れた時、その命令が初めて実行された時のように分岐予
測機構4に登録されていなかったり、分岐予測機構4に
よる予測が外れていた場合には、その分岐命令の命令番
地により分岐予測機構4の分岐予測テーブルへの登録操
作を行う。このように命令のブリフェッチを行うと同時
に分岐予測を行い、得られた分岐予測ビットデータを取
り込まれた命令データと共に命令ブリフェッチキュー1
1に格納することにより、命令デコード部2は次にデコ
ードを行うべき命令番地の確定を待たずに命令ブリフェ
ッチキュー11より命令データ12と分岐予測ビットデ
ータ13を同時に取り込むことができる。
なお、上記実施例では命令ブリフェッチキュー11の各
エントリの命令データ12の長さが命令の最小単位と等
しいとしているが、命令ブリフェッチキュー11の各エ
ントリの命令データ12が複数の命令の最小単位よりな
り、命令の最小単位毎に1ビツトづつ分岐予測ビットデ
ータを持つようにしてもよい。また、1回のプリフェッ
チで主記憶より取り込まれる命令データの長さは命令の
最小単位と等しいとしているが、命令ブリフェッチキュ
ー11が1回のプリフェッチで複数(k個)の命令の最
小単位よりなる命令データを取り込み、分岐予測機構4
より出力されたにビットの分岐予測ビットと共に格納す
るようにしてもよい。更に、現在ブリフェッチ中の命令
の番地により予測を行っているが、現在ブリフェッチ中
の命令の番地の一部により予測を行ってもよい。
〔発明の効果〕
以上説明したように、この発明によれば、命令プリフェ
ッチを行うと同時に分岐予測を行い、その分岐予測結果
を取り込まれた命令データと共に格納する命令ブリフェ
ッチキューを備えたことにより、次に命令デコードを行
うべき命令番地の確定を待たずに命令データとそれに対
応する分岐予測ビットを同時に取り込むことができると
いう効果がある。また、次に命令デコードを行うべき命
令番地を早期に得るための特別な回路を付加する必要が
ないので、少ないハードウェアで分岐予測を行うことが
できる。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すブロック図、第2図
は第1図の命令ブリフェッチキューの構成図、第3図は
従来のデータ処理装置のブロック図、第4図は第3図の
分岐予測機構の分岐予測テーブルの詳細図である。 1.11・−命令ブリフェッチキュー (命令先取装置) 2−−−−−−命令デコード部(命令解析部)3−−−
−−−−−命令実行部 4−−−−−−、−分岐予測機構 5−−、、、、−分岐先番地生成回路 12−−−−−−一命令データ 13−−−−−分岐予測ビットデータ なお、図中同一符号は同一または相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 一定規則に従って番地付けされた命令データを実行する
    命令実行部と、その命令が実行されている間に次の命令
    データを解析する命令解析部と、その命令が解析されて
    いる間に次に解析すべき命令データを先取りして取り込
    む命令先取装置と、この先取りした命令データを実行し
    た後に分岐が起こるかどうかを過去の履歴をもとに予測
    する分岐予測機構とを備え、前記命令先取装置に分岐予
    測機構で予測されたデータを先取りした命令データと共
    に格納するようにしたことを特徴とするデータ処理装置
JP229687A 1987-01-07 1987-01-07 デ−タ処理装置 Pending JPS63170740A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP229687A JPS63170740A (ja) 1987-01-07 1987-01-07 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP229687A JPS63170740A (ja) 1987-01-07 1987-01-07 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS63170740A true JPS63170740A (ja) 1988-07-14

Family

ID=11525403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP229687A Pending JPS63170740A (ja) 1987-01-07 1987-01-07 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS63170740A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729707A (en) * 1994-10-06 1998-03-17 Oki Electric Industry Co., Ltd. Instruction prefetch circuit and cache device with branch detection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729707A (en) * 1994-10-06 1998-03-17 Oki Electric Industry Co., Ltd. Instruction prefetch circuit and cache device with branch detection

Similar Documents

Publication Publication Date Title
JP2603626B2 (ja) データ処理装置
KR940009100B1 (ko) 데이타 프로세서 제어 유닛과 지시사이클 및 오버헤드 최소화 방법
US7260706B2 (en) Branch misprediction recovery using a side memory
US5237666A (en) Apparatus using address of a predetermined preceding instruction and target instruction address stored in history table to prefetch target instruction
JPS6393038A (ja) 計算機
JPS6393041A (ja) 計算機
JPH06110683A (ja) マイクロプロセッサの拡張ブランチターゲット方法及びその装置
JP2006520964A (ja) 分岐ターゲットに基づいて分岐予測をするための方法および装置
JP2006520964A5 (ja)
JPH056894B2 (ja)
JPS63170740A (ja) デ−タ処理装置
JP2723238B2 (ja) 情報処理装置
JP2508021B2 (ja) デ−タ処理装置
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
JP3547562B2 (ja) マイクロプロセッサ
JP2503223B2 (ja) 先行制御方式
JPH05224925A (ja) 命令先取り方式
JPH04195630A (ja) データ処理装置
JPH04213727A (ja) 情報処理装置
JPS63124135A (ja) デ−タ処理装置
JPS6393042A (ja) デ−タ処理装置
JPS60198640A (ja) パイプライン型情報処理装置
JPH01239638A (ja) 分岐予測を行う情報処理装置
JPH01106141A (ja) データ処理装置