JPH05233284A - 命令先取り方式 - Google Patents

命令先取り方式

Info

Publication number
JPH05233284A
JPH05233284A JP1150292A JP1150292A JPH05233284A JP H05233284 A JPH05233284 A JP H05233284A JP 1150292 A JP1150292 A JP 1150292A JP 1150292 A JP1150292 A JP 1150292A JP H05233284 A JPH05233284 A JP H05233284A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
conditional branch
subsequent
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
JP1150292A
Other languages
English (en)
Inventor
Shinichi Nagoya
真一 名児耶
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 JP1150292A priority Critical patent/JPH05233284A/ja
Publication of JPH05233284A publication Critical patent/JPH05233284A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】条件付分岐命令の後続の命令の先取り方向を、
プロセス毎に指定することにより、条件付分岐命令によ
るパイプラインの乱れを抑える。 【構成】命令キャッシュメモリ1−1を読み出したリー
ドデータレジスタ1−3の内容をデコーダ1−4でデコ
ードし、条件付分岐命令であった場合には、分岐方向指
示レジスタ1−13に保持されるプロセス毎に指定され
る条件付分岐命令の後続の命令の先取り方向に従い、命
令キャッシュメモリ1−1を索引する読み出しアドレス
レジスタ1−2に設定するアドレスを分岐成功側か不成
功側かいずれかを選択し、後続の命令の先取りを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に使用さ
れる先行制御装置の命令先取り方式に関する。
【0002】
【従来の技術】従来のこの種の命令先取り方式には、条
件付分岐命令を実行したときの分岐方向や分岐先アドレ
スを記憶しておき、条件付分岐命令を取り出した場合
に、同一の条件付分岐命令について、前回と同じ方向ま
たは分岐先アドレスに基づいて、後続の命令を取り出す
方式、または分岐成功側,分岐不成功側のいずれか一方
の方向に基づいて後続の命令を取り出す方式がある。
【0003】
【発明が解決しようとする課題】上述した従来の命令先
取り方式では、前回と同一の分岐先方向,または分岐先
アドレスを記憶する方式の場合には、実現する為のハー
ドウェア量が膨大になるという欠点がある。しかも、分
岐先方向あるいは分岐先アドレスを記憶するテーブル
に、取り出した条件付分岐命令が登録されていないかっ
た場合には、効果が半減してしまうという欠点がある。
【0004】また、分岐成功側か分岐不成功側かいずれ
か一方の方向に基づいて条件付分岐命令の後続の命令を
先取りする方式の場合には、条件付分岐命令を実行した
結果、先取りした方向とは逆の方向となる場合が多いプ
ログラムを実行した場合には性能が低下する欠点があ
る。
【0005】
【課題を解決するための手段】本発明の方式は、それぞ
れが構造体により制御される複数のプロセスを実行する
情報処理装置に使用され、かつ命令の先取りを行い、取
り出した命令が条件付分岐命令である場合に、分岐成功
側または分岐不成功側のいずれかの方向を予測して後続
の命令の先取りを行う先行制御装置における命令先取り
方式において、前記プロセスを制御する構造体中に、前
記条件付分岐命令の後続の命令の先取り方向を指示する
ビットを有し、前記ビットの値に応じて、条件付分岐命
令の後続の命令の先取りを行うことを特徴とする。
【0006】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0007】図2は本発明が適用されるパイプライン構
成の情報処理装置のブロック図である。
【0008】図2において、2−1は先行制御ユニット
であり、命令フェッチユニット2−2とアドレス計算ユ
ニット2−3により構成される。命令フェッチユニット
2−2は命令キャッシュメモリを有しており、命令の取
り出しを行いアドレス計算ユニット2−3に供給する。
アドレス計算ユニット2−3は、オペランドを取り出す
ために、オペランドの論理アドレスを計算する。
【0009】2−4はアドレス変換ユニットであり、ア
ドレス計算ユニット1−3により求められたオペランド
の論理アドレスが供給され、絶対アドレスへの変換を行
う。変換された絶対アドレスはオペランドキャッシュ2
−5に供給されるが、命令フェッチユニット2−2で取
り出された命令が分岐命令であった場合には、分岐先ア
ドレスといて命令フェッチユニット2−2に供給され
る。
【0010】オペランドキャッシュ2−5は、アドレス
変換ユニット2−4により求められたオペランドの絶対
アドレスに基づいてオペランドキャッシュを索引し、オ
ペランドの取り出しを行う。
【0011】2−6は演算実行ユニットであり、オペラ
ンドキャッシュよりオペランドが供給され、演算の実行
を行う。実行する命令が条件付分岐命令である場合に
は、分岐判定情報を命令フェッチユニット2−2に送出
する。また、プロセスの切換えが行われた場合には、プ
ロセスを制御する構造体より条件付分岐命令の後続の命
令の先取り方向を示すビットの値を命令フェッチユニッ
ト2−2に送出する。
【0012】図1は、図1に示した命令フェッチユニッ
ト2−2の詳細ブロック図であり、本発明の一実施例を
示す。
【0013】図1において、1−1は命令が格納される
命令キャッシュメモリであり、読み出しアドレスレジス
タ1−2の出力により索引され、その出力はリードデー
タレジスタ1−3に格納され図2のアドレス計算ユニッ
ト2−3に供給される。またリードデータレジスタ1−
3に格納された命令は、デコーダ1−4により無条件分
岐命令か、条件付分岐命令か、またはそのいずれでもな
いか判別する為デコードが行われる。その結果、それぞ
れの場合により、後続の命令取り出し動作が次の様に異
なる。
【0014】デコードした結果、無条件分岐命令、条件
付分岐命令のいずれでもない場合には、読み出しアドレ
スレジスタ1−2の入力として、加算器1−5により読
み出しアドレスレジスタ1−2の値に+1加算された値
がセレクタ1−6により選択され、シーケンシャルに後
続の命令が取り出される。このときセレクタ1−6の選
択信号2−7は論理回路1−8により生成される。
【0015】次に、無条件分岐命令であった場合には、
その旨を示すデコード信号1−9が論理回路1−8に入
力され、セレクタ1−6に於いて、アドレス変換ユニッ
ト2−4からの分岐先アドレス信号1−10を選択する
様に選択信号1−7が生成され、無条件分岐命令の分岐
先の絶対アドレスが図2のアドレス計算ユニット2−3
およびアドレス変換ユニット1−4により求まる迄の
間、待ち合わせた後に、後続の命令の取り出しが行われ
る。
【0016】最後に、条件付分岐命令であった場合につ
いて説明する。
【0017】デコーダ1−4により、リードデータレジ
スタ1−3に格納された命令が条件付分岐命令である
と、その旨を示すデコード信号1−11がアンドゲート
1−12の一方の入力に印加される。アンドゲート1−
12の他方の入力には、分岐方向指示レジスタ1−13
の出力が印加され、これらの論理積が論理回路1−8に
入力される。
【0018】分岐方向指示レジスタ2−13は、プロセ
スを制御する構造体中に定義される条件付分岐命令の後
続の命令の先取り方向を指示する情報を保持するレジス
タであり、プロセスが切換わる毎に図2の演算実行ユニ
ット2−6により設定される。
【0019】ここで、分岐方向指示レジスタ1−13の
値は、“1”で分岐成功側を、“0”で分岐不成功側を
先取りすることを意味する。従って、分岐方向指示レジ
スタ1−13の値が“0”の場合は、アンドゲート1−
12の出力がデコード信号1−11の値に拘らず“0”
となり、論理回路1−8により生成される選択信号1−
7によりセレクタ1−6の入力として加算器1−5の出
力を選択し、無条件分岐命令,条件付分岐命令のいずれ
でも無い場合を同様に、シーケンシャルに後続の命令の
先取りが行われる。
【0020】分岐方向指示レジスタ1−13の値が
“1”である場合には、デコード信号1−11が“1”
であればアンドゲート1−12の出力が“1”となり、
論理回路1−8で生成される選択信号1−7によりセレ
クタ1−6の入力としてアドレス変換ユニット2−4か
らの分岐先アドレス信号1−10を選択し、無条件命令
の場合と同様に、アドレス変換ユニット2−4に於いて
分岐先の絶対アドレスが求まる迄の間、待ち合わせた後
に、後続の命令の先取りが行われる。
【0021】また、条件付分岐命令の後続の命令の先取
りを上述の様に行った場合、予測した方向とは逆の方向
のアドレス、即ち分岐成功側を予測した場合は、分岐不
成功側のアドレスを、分岐不成功側を予測した場合は分
岐成功側のアドレスをそれぞれセレクタ1−14に於い
て、アンドゲート1−12の出力結果により選択し、バ
ッファ1−15にバッファするとともに、予測した方向
をバッファ2−15にバッファする。
【0022】条件付分岐命令の分岐判定に必要な情報
は、条件付分岐命令が図2の演算実行ユニット2−6で
実行されるときに、演算実行ユニット2−6より分岐判
定情報信号1−16として命令フェッチユニット2−2
に送られ、この情報とバッファ1−15にバッファされ
ている予測した方向とが論理回路1−8内で比較され、
分岐判定が行われる。この分岐判定の結果、予測した方
向と実際の分岐方向とが一致した場合には、そのまま後
続の命令の取り出しが続行され、不一致の場合には予測
した方向で取り出した命令を取り消し、論理回路1−8
に於いて、セレクタ1−6の入力としてバッファ1−1
5に記憶されている予測と反対側のアドレスを選択する
ように選択信号1−7が生成され、正しい方向の命令の
再取り出しが行われる。
【0023】以上説明したように、本発明によれば、プ
ロセス毎に条件付分岐命令の後続の命令の先取り方向を
指定できるので、あるプロセス中の条件付分岐命令の分
岐方向の統計をとり、分岐成功か不成功かいずれか頻度
の多い方を指定すれば、予測を誤る頻度が減少し、パイ
プライン構成の情報処理装置の条件付分岐命令の乱れを
減少させ、性能を向上させることが可能である。
【0024】
【発明の効果】以上説明したように、本発明は、プロセ
ス毎に条件付分岐命令の後続の命令の先取り方向を指定
することが可能な為、パイプライン構成の情報処理装置
に於いても条件付分岐命令によるパイプラインの乱れを
低下させることができ、しかも非常に小量のハードウェ
アで性能を向上させることができる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の命令フェッチユニットのブ
ロック図である。
【図2】本発明が適用される情報処理装置の全体ブロッ
ク図である。
【符号の説明】
1−1 命令キャッシュメモリ 1−2 読み出しアドレスレジスタ 1−3 リードデータレジスタ 1−4 デコーダ 1−5 加算器 1−6 セレクタ 1−7 選択信号 1−8 論理回路 1−9 デコード信号 1−10 分岐先アドレス信号 1−11 デコード信号 1−12 アンドゲート 1−13 分岐方向指示レジスタ 1−14 セレクタ 1−15 バッファ 1−16 分岐判定情報信号 2−1 先行制御ユニット 2−2 命令フェッチユニット 2−3 アドレス計算ユニット 2−4 アドレス変換ユニット 2−5 オペランドキャッシュ 2−6 演算実行ユニット

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 それぞれが構造体により制御される複数
    のプロセスを実行する情報処理装置に使用され、かつ命
    令の先取りを行い、取り出した命令が条件付分岐命令で
    ある場合に、分岐成功側または分岐不成功側のいずれか
    の方向を予測して後続の命令の先取りを行う先行制御装
    置における命令先取り方式において、 前記プロセスを制御する構造体中に、前記条件付分岐命
    令の後続の命令の先取り方向を指示するビットを有し、 前記ビットの値に応じて、条件付分岐命令の後続の命令
    の先取りを行うことを特徴とした命令先取り方式。
JP1150292A 1992-01-27 1992-01-27 命令先取り方式 Pending JPH05233284A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1150292A JPH05233284A (ja) 1992-01-27 1992-01-27 命令先取り方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1150292A JPH05233284A (ja) 1992-01-27 1992-01-27 命令先取り方式

Publications (1)

Publication Number Publication Date
JPH05233284A true JPH05233284A (ja) 1993-09-10

Family

ID=11779802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1150292A Pending JPH05233284A (ja) 1992-01-27 1992-01-27 命令先取り方式

Country Status (1)

Country Link
JP (1) JPH05233284A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227730A (ja) * 1989-01-13 1990-09-10 Internatl Business Mach Corp <Ibm> データ処理システム
JPH0342723A (ja) * 1989-07-11 1991-02-22 Nec Corp データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227730A (ja) * 1989-01-13 1990-09-10 Internatl Business Mach Corp <Ibm> データ処理システム
JPH0342723A (ja) * 1989-07-11 1991-02-22 Nec Corp データ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Similar Documents

Publication Publication Date Title
JP2796797B2 (ja) ディジタル命令プロセッサ制御装置によってインターラプトルーチンを処理する方法
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
US6338136B1 (en) Pairing of load-ALU-store with conditional branch
US6553488B2 (en) Method and apparatus for branch prediction using first and second level branch prediction tables
US7461237B2 (en) Method and apparatus for suppressing duplicative prefetches for branch target cache lines
US6687812B1 (en) Parallel processing apparatus
KR20100132032A (ko) 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법
US20040186985A1 (en) Method and apparatus for branch prediction based on branch targets
JPH05233271A (ja) データプロセッサ
EP0297943B1 (en) Microcode reading control system
JPH03129432A (ja) 分岐制御回路
US5987599A (en) Target instructions prefetch cache
US20050027921A1 (en) Information processing apparatus capable of prefetching instructions
JP3532835B2 (ja) データ処理装置およびプログラム変換装置
JPH05224925A (ja) 命令先取り方式
JPH05233284A (ja) 命令先取り方式
EP0889394B1 (en) Program control method
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
JP3335735B2 (ja) 演算処理装置
WO2012132214A1 (ja) プロセッサ及びその命令処理方法
JP2508021B2 (ja) デ−タ処理装置
KR19990077433A (ko) 병행생성된복수의페치어드레스중하나를선택하여메모리요구를형성하는명령페치방법및프로세서
JP2772100B2 (ja) 並列命令フェッチ機構
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法