JP2723238B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2723238B2
JP2723238B2 JP63007035A JP703588A JP2723238B2 JP 2723238 B2 JP2723238 B2 JP 2723238B2 JP 63007035 A JP63007035 A JP 63007035A JP 703588 A JP703588 A JP 703588A JP 2723238 B2 JP2723238 B2 JP 2723238B2
Authority
JP
Japan
Prior art keywords
instruction
branch
destination address
branch destination
conditional
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
JP63007035A
Other languages
English (en)
Other versions
JPH01183737A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63007035A priority Critical patent/JP2723238B2/ja
Priority to US07/272,948 priority patent/US5237664A/en
Priority to DE3855629T priority patent/DE3855629T2/de
Priority to EP88121006A priority patent/EP0324952B1/en
Priority to KR1019890000482A priority patent/KR920009999B1/ko
Publication of JPH01183737A publication Critical patent/JPH01183737A/ja
Application granted granted Critical
Publication of JP2723238B2 publication Critical patent/JP2723238B2/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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

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)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、パイプライン処理における分岐命令の処
理効率を高め、処理能力の向上を図った情報処理装置に
関する。
(従来の技術) 最近の情報処理装置にあっては、処理速度の向上を図
るために、パイプライン制御方式が用いられている。こ
のパイプライン制御方式は、命令を実行するまでの一連
の処理をいくつかのステージに分割し、それぞれのステ
ージの処理を受け持つ複数の処理回路を並列動作させる
ことにより、処理速度の高速化を行なう方式である。
第6図は、パイプライン制御方式により命令の実行処
理を行なう情報処理装置の構成を示すブロック図であ
る。
第6図において、情報処理装置は、命令のフェッチ
(IFステージ)、命令のデコード(IDステージ)、実行
処理(EXステージ)をそれぞれ独立して行なうCPU部1
と、実行処理しようとする命令を格納するメモリ3とを
有している。
CPU部1は、命令フェッチユニット(IFU)5、命令デ
コードユニット(IDU)7、実行ユニット(EXU)9を備
えている。
IFU5は、メモリ3から読出された命令コードをフェッ
チして格納し、格納された命令コードをIDU7に与えるも
のであり、フェッチされた複数の命令コードを格納する
命令バッファ(図示せず)を有している。IFU5は、この
フェッチ動作を1サイクルで行なうものとする。
IDU7はIFU5から与えられる命令コードをデコードし、
デコードされた命令コードをEXU9に与えるものである。
IDU7は、このデコード動作を1サイクルで行なうものと
する。
EXU9はIDU7から与えられるデコードされた命令コード
を実行処理するものであり、条件分岐命令(Bcc)にあ
っては、条件成立あるいは不成立の判定(状態フラグの
確認)及び条件成立時の分岐先アドレスの算出等が含ま
れる。
このような構成において、条件分岐命令以外の命令
(A1)の実行処理に続いて、条件分岐命令(Bcc)が処
理される場合を、第7図に示すタイミング図を参照して
判明する。
まず、分岐命令以外の命令(A1)は、サイクルT1でフ
ェッチされ、サイクルT2でデコードされた後、サイクル
T3〜T5の期間で実行処理される。
命令(A1)に後続する条件分岐命令(Bcc)は、サイ
クルT1で命令(A1)がフェッチされた後、サイクルT2で
フェッチされ、サイクルT3でデコードされる。
デコードされた条件分岐命令(Bcc)は、先にデコー
ドされた命令(A1)がサイクルT2〜T5の期間で実行処理
されているため、サイクルT6で実行処理されることにな
る。
命令(A1)の実行処理が終了して、条件分岐命令(Bc
c)の実行処理が開始され、条件が成立した場合には、
分岐先アドレスが算出される。分岐先アドレスが算出さ
れて、サイクルT7で条件分岐命令の実行処理が終了する
と、算出された分岐先アドレスにしたがって分岐先命令
(C1)のプリフェッチがサイクルT8で行なわれる。プリ
フェッチされた分岐先命令(C1)は、次のサイクルT9で
デコードされ、サイクルT10で実行処理される。
(発明が解決しようとする課題) 以上説明したように、第6図に示した構成にあって
は、条件分岐命令(Bcc)は、EXステージで分岐先アド
レスが算出され、条件分岐命令(Bcc)の実行処理が終
了した後、分岐先命令(C1)のプリフェッチが開始され
るようになっていた。
このため、EXU9は、分岐先命令がフェッチされて(サ
イクルT8)、フェッチされた分岐先命令がデコードされ
る(サイクルT9)期間、分岐先命令の実行処理が待たさ
れることになる。これにより、EXU9ではサイクルT8,T9
の期間で処理が行なわれないことになり、パイプライン
処理におけるEXステージに中断期間が生じることにな
る。
したがって、条件分岐命令の実行処理のために、装置
全体としての処理速度が遅くなり、処理能力が低下する
という問題が生じていた。
そこで、この発明は、上記に鑑みてなされたものであ
り、その目的とするところは、構成を著しく増大させる
ことなく、分岐命令の実行効率を高めて、装置全体とし
ての処理能力を向上させることができる情報処理装置を
提供することにある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するために、この発明は、パイプライ
ン制御方式により命令が実行処理される情報処理装置に
して、次に読み出し予定の命令を指示するポインタを備
え、算出されて与えられる分岐先アドレスにしたがって
プリフェッチされる分岐先命令を含み実行処理しようと
する命令をプリフェッチして保持し、プリフェッチして
保持した分岐命令の一部として分岐先アドレス算出情報
を出力する命令フェッチ手段と、前記命令フェッチ手段
によりプリフェッチされた分岐命令を先行命令の実行と
並行してデコードし、デコードした分岐命令が無条件分
岐命令又は条件付分岐命令にかかわらず分岐先アドレス
の算出を指令し、状態フラグの内容に基づいて条件付分
岐命令の分岐の成立/不成立を判別するデコード手段
と、前記デコード手段から与えられる分岐先アドレスの
算出指令ならびに前記命令フェッチ手段から出力される
分岐先アドレス算出情報を受けて、前記デコード手段に
よりデコードされた無条件分岐命令又は条件付分岐命令
の分岐先アドレスを先行命令の実行と並行して算出し、
条件付分岐命令の場合は、前記デコード手段によってな
された条件付分岐命令の分岐成立を受けて算出された分
岐先アドレスを前記命令フェッチ手段に与え、無条件分
岐命令の場合は、直ちに算出された分岐先アドレスを前
記命令フェッチ手段に与え、条件付分岐命令の分岐の成
立/不成立にかかわらず分岐先アドレスを算出すること
により分岐先アドレス算出情報を前記命令フェッチ手段
から読み出し、前記命令フェッチ手段のポインタを分岐
命令の次にプリフェッチされた後続命令に移動させる実
効アドレス生成手段と、前記デコード手段によってデコ
ードされた命令を実行処理し、実行結果の状態を示す状
態フラグの内容を前記デコード手段に与える実行手段と
から構成される。
(作用) 上記構成において、この発明は、分岐命令がデコード
された際に分岐先アドレスを算出し、無条件分岐命令の
場合は算出された分岐先アドレスにしたがって直ちに分
岐先命令をプリフェッチし、条件付分岐命令で分岐条件
が成立した場合には少なくとも分岐命令の実行処理が終
了する前に、算出された分岐先アドレスにしたがって分
岐先命令をプリフェッチし、また、分岐先アドレスを必
ず算出することにより算出に必要な情報を読み出し、命
令の読み出し順序を分岐条件の成立、不成立のいかんに
かかわらず同様に制御するようにしている。
(実施例) 以下、図面を用いてこの発明の実施例を説明する。
第1図はこの発明の一実施例に係る情報処理装置の構
成を示すブロック図である。同図に示す情報処理装置
は、命令のフェッチ(IFステージ)、命令のデコード
(IDステージ)、命令の実行処理(EXステージ)をパイ
プライン制御方式によりそれぞれ別々に行なうCPU部11
を備えており、条件分岐命令の処理において、条件分岐
命令の処理が終了する前に、条件分岐命令の分岐先アド
レスを算出するようにしたものである。
第1図において、CPU部11は命令フェッチユニット(I
FU)13、命令デコードユニット(IDU)15、実効アドレ
ス生成ユニット(AGU)17、実行ユニット(EXU)19を備
えている。
IFU13は、命令バッファ21と命令プリフェッチ用のラ
ッチ回路(PCI)23を有している。
命令バッファ21は、メモリ3から読出されてフェッチ
された命令コードを格納し、格納された命令コードを読
出して、その一部をIDU15に与え、その他の部分をAGU17
に与えるものである。
フェッチされる命令コードは、第2図に示すように、
16ビットを1語単位として構成されており、アドレシン
グモードに関する情報を含む16ビットのオペレーション
コード(オペコード)に加えて、アドレシングの際の変
位を示す16ビットあるいは32ビットのディスプレースメ
ントが付加されて構成されている。したがって、命令バ
ッファ21は、命令コードを16ビット単位で格納してい
る。
また、命令バッファ21は、次に読出される1語の命令
コードの位置(アドレス)を示すポインタ(図示せず)
を備えている。こんポインタは、1語の命令コードが順
次読出される毎に、読出された命令コードの次に格納さ
れている1語の命令コードの位置を示すものである。し
たがって、命令バッファ21は、このポインタの示す位置
にしたがって命令バッファ21から読出された命令コード
にあって、オペコードをIDU15に与え、ディスプレース
メントをAGU17から与えられるディスプレースメントを
送出を要求するDIS信号にしたがってAGU17に与える。
PCI23は、AGU17から与えられる実効アドレスを格納す
るものであり、格納された実効アドレスは、メモリ3か
ら読出される命令の命令アドレスとしてメモリ3に与え
られる。
IDU15は、命令バッファ21から16ビット単位で与えら
れるオペコードを受けてこれをデコードして、デコード
結果の命令コードをEXU19に与える。また、IDU15は、オ
ペコードのデコード結果として得られるアドレッシング
モードに関する情報とともに、この情報にしたがって実
効アドレスを算出する旨の要求信号(AR信号)をAGU17
に与える。このAR信号は、IDU15でデコードされた命令
コードが分岐命令を示している場合には、分岐命令にお
ける分岐先アドレスの算出を要求する信号となる。
さらに、IDU15は、デコードした命令コードが条件分
岐命令である場合には、条件分岐命令の直前の命令がEX
U19で実行処理された時点で確定する状態フラグを検出
して、条件分岐命令が成立するか否かを判別し、判別結
果をAGU17に与える。したがって、IDU15は、デコードし
た分岐命令が無条件分岐命令である場合には、状態フラ
グを検出することなく分岐成立を判別し、判別結果をAG
U17に与える。
AGU17は、IDU15から与えられるアドレッシングモード
に関する情報にしたがって、デコードされた命令コード
にディスプレースメントが付加されている場合には、デ
ィスプレースメントの送出を要求するDIS信号をIFU13の
命令バッファ21に与える。これにより、命令バッファ21
からディスプレースメントがAGU17に与えられると、AGU
17はIDU15から与えられるAR信号にしたがって、命令バ
ッファ21から与えられるディスプレースメントを用いて
アドレッシングモードに対応した実効アドレスを算出
し、算出した実効アドレスをPCI23に与える。
また、AGU17は、IDU15でデコードされた命令コードが
条件分岐命令である場合には、IDU15から与えられるア
ドレッシングモード及びAR信号にしたがって、命令バッ
ファ21から対応するディスプレースメントを受け、分岐
先アドレスを算出し、算出した分岐先アドレスを保持す
る。そして、分岐条件が成立した場合には、算出した分
岐先アドレスをPCI23に与えてセットし、分岐条件が不
成立の場合には、算出した分岐先アドレスをPCI23に与
えず、PCI23へのセットは行なわれない。
すなわち、分岐先アドレスの算出は、分岐条件の成立
及び不成立にかかわず行なわれ、分岐条件が成立した場
合にのみ算出された分岐先アドレスがPCI23にセットさ
れる。
EXU19は、IDU15から与えられる命令コードを実行処理
するとともに、実行処理後の状態フラグの情報をIDU15
に与える。
以上説明したように、この発明の一実施例は構成され
ており、次にこの実施例の作用を第3図に示すタイミン
グチャート図を参照して説明する。なお、命令のフェッ
チ(IFステージ)と命令のデコード(IDステージ)は、
ともに1サイクルで終了するものとする。
まず、分岐命令以外の命令(A1)が、メモリ3から読
出されてサイクルT1でプリフェッチされ、命令バッファ
21に格納された後サイクルT2でIDU15に与えられてデコ
ードされると、デコードされた命令(A1)の実効アドレ
スが、サイクルT3でデコード結果のアドレッシングモー
ド及びAR信号にしたがって、命令バッファ21から与えら
れるディスプレースメントを用いてAGU17で算出される
とともに、命令(A1)の実行処理がEXU19で同時に開始
され、サイクルT5で実行処理が終了する。
一方、命令(A1)に後続する命令がメモリ3から読出
されて、サイクルT2でフェッチされて命令バッファ21に
格納されると、格納された命令のオペコードは、第4図
(A)に示すように命令バッファ21のポインタの指示に
よりサイクルT3でIDU15に与えられてデコードされる。
デコード結果において、この命令が条件分岐命令(Bc
c)であるとすると、この条件分岐命令(Bcc)の分岐先
アドレスを算出する旨のAR信号がAGU17に与えられる。A
GU17はこのAR信号受けて、条件分岐命令(Bcc)のデコ
ード結果として得られたIDU15から与えられるアドレッ
シングモードを参照して、条件分岐命令(Bcc)にディ
スプレースメントが付加されているか否かを判別する。
ここで、条件分岐命令(Bcc)のオペコードに32ビット
のディスプレースメントが付加されているものとする
と、命令バッファ21に対して条件分岐命令(Bcc)のオ
ペコードに対応したディスプレースメントを要求するた
めに、DIS信号がAGU17から命令バッファ21に与えられ
る。
DIS信号が命令バッファ21に与えられると、条件分岐
命令(Bcc)が命令バッファ21からIDU15に与えられた
後、命令バッファ21のポインタは第4図(B)に示すよ
うに、条件分岐命令(Bcc)のディスプレースメントの
位置を指示しているため、16ビットのディスプレースメ
ントが順次読出されてAGU17に与えられる。32ビットの
ディスプレースメントが読出されると、第4図(C)に
示すようにポインタはディスプレースメントの次に命令
バッファ21にフェッチされて格納されている命令(A3)
のオペコードの位置を指示する。
32ビットのディスプレースメントがAGU17に与えられ
ると、このディスプレースメントを用いて条件分岐命令
(Bcc)の分岐先アドレスが、条件分岐命令(Bcc)のデ
コード結果として得られるアドレッシングモードにした
がってサイクルT4で算出される。
分岐先アドレスはサイクルT4で算出されることになる
が、条件分岐命令(Bcc)の前にデコードされた命令(A
1)の実行処理がサイクルT5まで終了せず、サイクルT4
の時点では分岐条件の成立あるいは不成立を示す状態フ
ラグの値が確定しないため、算出された分岐先アドレス
はサイクルT5の間AGU17に保持され、実効アドレス算出
(AG)ステージはウェイト状態となる。
命令(A1)の実行処理がサイクルT5で終了して状態フ
ラグが確定すると、分岐条件の成立/不成立が決定され
る。
分岐条件が成立した場合には、算出された分岐先アド
レスがAGU17からPCI23に与えられてセットされる。これ
により、サイクルT6で条件分岐命令(Bcc)の実行が開
始されると同時に、PCI23にセットされた分岐先アドレ
スにしたがってメモリ3から分岐先命令(C1)が読出さ
れてプリフェッチされ、命令バッファ21に格納される。
この後、分岐先命令はサイクルT7でデコードされ、条件
分岐命令(Bcc)の実行処理が終了した直後のサイクルT
8で実効アドレスの算出と同時に実行処理が行なわれ
る。すなわち、分岐先命令(C1)は、第3図に示すよう
に、条件分岐命令(Bcc)の処理が終了した次のサイク
ルで実行処理されることになる。
このように、予め条件分岐命令(Bcc)の分岐先アド
レスを算出しておき、条件分岐命令(Bcc)の実行が終
了する以前に分岐先命令(C1)のプリフェッチを開始す
るようにしているので、条件分岐命令(Bcc)の実行サ
イクル数分だけ分岐先命令のフェッチを早めることがで
きるようになる。これにより、第3図に示すように、条
件分岐命令の実行処理によるパイプラインの実行(EX)
ステージに中断を生じることは防止され、処理効率を高
めることができる。
一方、デコードされた分岐命令が無条件分岐命令であ
る場合には、デコードされた段階で分岐成立が判別され
るため、直ちに分岐先アドレスの算出が開始されて算出
された分岐先アドレスがPCI23にセットされ、分岐先命
令のフェッチが行なわれる。このため、先行命令の実行
終了を持つことなく分岐先命令のフェッチが可能とな
る。
次に、分岐条件が不成立の場合について説明する。分
岐先アドレスが算出された後、分岐条件の不成立が判明
した場合には、算出された分岐先アドレスはPCI23にセ
ットされず、分岐先命令のフェッチは行なわれない。し
たがって、条件分岐命令の次の命令(A3)がすでに命令
バッファ21に格納されている場合には、この命令(A3)
がポインタの指示により読出されてデコードが開始され
る。
このように、予め算出された分析先アドレスは、分岐
条件が成立するまでは保持されており、分岐条件が成立
した場合に、この分岐先アドレスにより分岐先命令がプ
リフェッチされ、分岐条件が不成立の場合には、分岐先
アドレスは算出されるが、分岐先命令のプリフェッチは
行われない。
このような構成を採用することにより、分岐条件が不
成立の場合であっても分岐先命令をプリフェッチすると
いう無駄な命令フェッチを行なわずにすむことになる。
このため、システムバスを介してプロセッサと主記憶装
置との間で命令やデータが転送されるシステムにあって
は、無駄な命令フェッチのためにシステムバスが占有さ
れるということは回避され、システム全体としての実行
効率が下がり、性能が低下するといった不具合を招くこ
とはなくなる。
一方、分岐先アドレスの算出が終了する前に、分岐条
件の不成立が判明した場合には、分岐先アドレスの算出
を行なうが、算出された分岐先アドレスのPCI23へのセ
ットは行なわない。すなわち、分岐先アドレスの算出が
終了する前に、分岐条件の不成立が判明した場合であっ
ても、分岐先アドレスを算出することにより、命令バッ
ファ21から条件分岐命令(Bcc)のディスプレースメン
トを読出して、命令バッファ21のポインタを第4図
(C)に示すように、条件分岐命令(Bcc)の次の命令
(A3)のオペコードを指示するようにさせる。これによ
り、分岐条件が不成立の場合にあっても、条件分岐命令
(Bcc)の次に命令(A3)のオペコードが命令バッファ2
1から読出されて、正常な読出動作が行なわれることに
なる。
ここで、分岐条件が不成立の場合に、分岐先アドレス
の算出を行なうことなく、条件分岐命令(Bcc)のディ
スプレースメントの語数分だけポインタを進めて、条件
分岐命令(Bcc)の次に命令(A3)のオペコードを読出
すようにポインタを制御する方法が考えられる。しかし
ながら、このような制御方法では、分岐条件が成立した
時と成立しない時とでポインタの制御を変えなければな
らない。このため、命令バッファ21の制御論理が複雑と
なる。これに対して、この発明の実施例では、分岐条件
の成立、不成立にかかわらず、命令バッファ21は通常の
動作を行なえばよいので、余分な構成を設ける必要がな
くなるとともに命令バッファ21の制御論理を簡単化する
ことができるようになる。
なお、この発明は上記に限るものではなく、例えば、
第5図に示すように、命令バッファ21へのディスプレー
スメントの要求を示すDIS信号を、命令コードのオペコ
ードがIDU15でデコードされて、アドレッシングモード
が判明した後、IDU15から命令バッファ21に与えるよう
にしてもよい。
[発明の効果] 以上説明したように、請求項1記載の発明によれば、
先行命令の実行と並行して分岐命令がデコードされた時
に分岐先アドレスの算出を開始し、遅くとも先行命令の
終了とともに分岐成立/不成立を判別し、分岐が成立し
た場合には遅くとも分岐命令の実行と並行して分岐先命
令フェッチを行うようにしたので、構成を著しく大型化
させることなく、分岐命令の実行が終了する前に分岐先
命令のプリフェッチが可能となる。これにより、分岐命
令の実行処理効率が高められ、装置全体としての処理を
向上させることができる。
また、分岐が不成立の場合には、無駄な命令フェッチ
が回避され、装置全体としての性能低下を防止すること
ができる。
さらに、分岐の成立/不成立にかかわらず分岐先アド
レスを算出するようにしたので、命令の読み出し動作に
おける制御論理を簡単化することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る情報処理装置の構成
を示すブロック図、第2図は第1図に示す情報処理装置
で処理される命令の構成を示す図、第3図は第1図に示
す情報処理装置のタイミングチャート図、第4図(A)
乃至同図(C)は第1図における命令バッファの格納状
態を示す図、第5図はこの発明の他の実施例に係る情報
処理の構成を示すブロック図、第6図は従来の情報処理
装置の構成を示すブロック図、第7図は第6図に示す情
報処理装置のタイミングチャート図である。 11……CPU部 13……命令フェッチユニット 15……命令デコードユニット 17……実効アドレス生成ユニット 19……実行ユニット 21……命令バッファ
フロントページの続き (56)参考文献 特開 昭62−194544(JP,A) 特開 昭60−168238(JP,A) 特開 昭57−69457(JP,A) 特開 昭60−231241(JP,A) 特開 昭57−3142(JP,A) 特開 昭61−289429(JP,A) 特開 昭57−114949(JP,A) 特開 昭57−29152(JP,A) 特開 昭60−142742(JP,A) 特開 昭62−82402(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】パイプライン制御方式により命令が実行処
    理される情報処理装置にして、 次に読み出し予定の1語の命令コードの位置を指示する
    ポインタを備え、算出されて与えられる分岐先アドレス
    にしたがってプリフェッチされる分岐命令を含み実行処
    理しようとする命令をプリフェッチして保持し、プリフ
    ェッチして保持した分岐命令の一部として分岐先アドレ
    ス算出情報を出力する命令フェッチ手段と、 前記命令フェッチ手段によりプリフェッチされた分岐命
    令のオペレーションコードを先行命令の実行と並行して
    デコードし、デコードした分岐命令が無条件分岐命令又
    は条件付分岐命令にかかわらず分岐先アドレスの算出を
    指令し、状態フラグの内容に基づいて条件付分岐命令の
    分岐の成立/不成立を判別するデコード手段と、 前記デコード手段から与えられる分岐先アドレスの算出
    指令ならびに前記命令フェッチ手段から出力される分岐
    先アドレス算出情報を受けて、前記デコード手段により
    デコードされた無条件分岐命令又は条件付分岐命令の分
    岐先アドレスを先行命令の実行と並行して算出し、条件
    付分岐命令の場合は、前記デコード手段によってなされ
    た条件付分岐命令の分岐成立を受けて算出された分岐先
    アドレスを前記命令フェッチ手段に与え、無条件分岐命
    令の場合は、直ちに算出された分岐先アドレスを前記命
    令フェッチ手段に与え、条件付分岐命令の分岐の成立/
    不成立にかかわらず分岐先アドレスを算出することによ
    り分岐先アドレス算出情報を前記命令フェッチ手段から
    読み出し、前記命令フェッチ手段のポインタを分岐命令
    の次にプリフェッチされた後続命令に移動させる実効ア
    ドレス生成手段と、 前記デコード手段によってデコードされた命令を実行処
    理し、実行結果の状態を示す状態フラグの内容を前記デ
    コード手段に与える実行手段と を有することを特徴とする情報処理装置。
JP63007035A 1988-01-18 1988-01-18 情報処理装置 Expired - Lifetime JP2723238B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63007035A JP2723238B2 (ja) 1988-01-18 1988-01-18 情報処理装置
US07/272,948 US5237664A (en) 1988-01-18 1988-11-18 Pipeline circuit
DE3855629T DE3855629T2 (de) 1988-01-18 1988-12-15 Verzweigungsschaltung für einen Pipeline-Prozessor
EP88121006A EP0324952B1 (en) 1988-01-18 1988-12-15 Branching circuit for a pipelined processor
KR1019890000482A KR920009999B1 (ko) 1988-01-18 1989-01-18 정보처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63007035A JP2723238B2 (ja) 1988-01-18 1988-01-18 情報処理装置

Publications (2)

Publication Number Publication Date
JPH01183737A JPH01183737A (ja) 1989-07-21
JP2723238B2 true JP2723238B2 (ja) 1998-03-09

Family

ID=11654782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63007035A Expired - Lifetime JP2723238B2 (ja) 1988-01-18 1988-01-18 情報処理装置

Country Status (5)

Country Link
US (1) US5237664A (ja)
EP (1) EP0324952B1 (ja)
JP (1) JP2723238B2 (ja)
KR (1) KR920009999B1 (ja)
DE (1) DE3855629T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928937T2 (de) * 1988-12-27 1999-07-01 Fujitsu Ltd Steuerungssystem und -verfahren zum Instruction Fetch
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
US5574887A (en) * 1993-09-20 1996-11-12 Apple Computer, Inc. Apparatus and method for emulation routine pointer prefetch
US5408622A (en) * 1993-09-23 1995-04-18 Apple Computer, Inc. Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion
US5748976A (en) * 1993-10-18 1998-05-05 Amdahl Corporation Mechanism for maintaining data coherency in a branch history instruction cache
DE19945940C2 (de) * 1999-09-24 2002-01-17 Infineon Technologies Ag Verfahren und Vorrichtung zur Bearbeitung bedingter Sprungbefehle in einem Prozessor mit PIPELINE-Rechnerarchitektur
JP4159586B2 (ja) * 2006-08-03 2008-10-01 エヌイーシーコンピュータテクノ株式会社 情報処理装置および情報処理の高速化方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
JPS51138355A (en) * 1975-05-26 1976-11-29 Hitachi Ltd Processing apparatus with a high speed branching feature
JPS5318931A (en) * 1976-08-06 1978-02-21 Hitachi Ltd Information processor
JPS573142A (en) * 1980-06-04 1982-01-08 Matsushita Electric Ind Co Ltd Instruction prefetching system
US4430706A (en) * 1980-10-27 1984-02-07 Burroughs Corporation Branch prediction apparatus and method for a data processing system
JPS57114949A (en) * 1981-01-05 1982-07-17 Nec Corp Data processor
JPS5848144A (ja) * 1981-09-16 1983-03-22 Nec Corp デ−タ処理装置の分岐命令制御方式
US4435756A (en) * 1981-12-03 1984-03-06 Burroughs Corporation Branch predicting computer
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
JPS61229134A (ja) * 1985-04-03 1986-10-13 Nec Corp マイクロコンピユ−タ
JPH0789319B2 (ja) * 1985-04-22 1995-09-27 株式会社日立製作所 デ−タ処理装置における先行制御装置
US4679141A (en) * 1985-04-29 1987-07-07 International Business Machines Corporation Pageable branch history table
JPS61289429A (ja) * 1985-06-18 1986-12-19 Matsushita Electric Ind Co Ltd 演算処理装置
CA1254661A (en) * 1985-06-28 1989-05-23 Allen J. Baum Method and means for instruction combination for code compression
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
DE3650740D1 (de) * 1985-11-08 2000-04-06 Nec Corp Mikroprogrammsteuereinheit
US4853840A (en) * 1986-01-07 1989-08-01 Nec Corporation Instruction prefetching device including a circuit for checking prediction of a branch instruction before the instruction is executed
EP0258453B1 (en) * 1986-02-28 1993-05-19 Nec Corporation Instruction prefetch control apparatus
US4991080A (en) * 1986-03-13 1991-02-05 International Business Machines Corporation Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions
JPS6393041A (ja) * 1986-10-07 1988-04-23 Mitsubishi Electric Corp 計算機
JP2603626B2 (ja) * 1987-01-16 1997-04-23 三菱電機株式会社 データ処理装置

Also Published As

Publication number Publication date
EP0324952A2 (en) 1989-07-26
EP0324952B1 (en) 1996-10-23
EP0324952A3 (en) 1991-09-25
JPH01183737A (ja) 1989-07-21
KR920009999B1 (ko) 1992-11-10
US5237664A (en) 1993-08-17
KR890012226A (ko) 1989-08-25
DE3855629T2 (de) 1997-03-27
DE3855629D1 (de) 1996-11-28

Similar Documents

Publication Publication Date Title
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
EP0238810B1 (en) Method and system for facilitating instruction processing of a digital computer
US5237666A (en) Apparatus using address of a predetermined preceding instruction and target instruction address stored in history table to prefetch target instruction
JP2603626B2 (ja) データ処理装置
EP2519874B1 (en) Branching processing method and system
JP2504830Y2 (ja) デ―タ処理装置
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
JP2723238B2 (ja) 情報処理装置
EP0471888B1 (en) Microprocessor for enhancing initiation of instruction execution after the execution of conditional branch instruction
JP2004145454A (ja) 情報処理装置及び情報処理方法
US6044455A (en) Central processing unit adapted for pipeline process
JPH0773034A (ja) 情報処理装置
JP2591325B2 (ja) 分岐制御装置
JP3558481B2 (ja) データ処理装置
JP2503223B2 (ja) 先行制御方式
JPS60198640A (ja) パイプライン型情報処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JP3102846B2 (ja) ロードアドレスキャッシュ装置及び方法
JPH0774992B2 (ja) データ処理装置
JP2825315B2 (ja) 情報処理装置
JPH01271842A (ja) 情報処理装置
JPS6277648A (ja) 命令読出し制御方法
JPH0752402B2 (ja) データ処理装置
JPH0769800B2 (ja) データ処理装置