JPH0527143B2 - - Google Patents

Info

Publication number
JPH0527143B2
JPH0527143B2 JP59021794A JP2179484A JPH0527143B2 JP H0527143 B2 JPH0527143 B2 JP H0527143B2 JP 59021794 A JP59021794 A JP 59021794A JP 2179484 A JP2179484 A JP 2179484A JP H0527143 B2 JPH0527143 B2 JP H0527143B2
Authority
JP
Japan
Prior art keywords
instruction
branch
signal
address
read
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
JP59021794A
Other languages
English (en)
Other versions
JPS60168238A (ja
Inventor
Tadahiko Nishimukai
Atsushi Hasegawa
Kunio Uchama
Yoshifumi Takamoto
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP59021794A priority Critical patent/JPS60168238A/ja
Priority to KR1019850000766A priority patent/KR920006275B1/ko
Publication of JPS60168238A publication Critical patent/JPS60168238A/ja
Priority to US07/151,276 priority patent/US4912635A/en
Publication of JPH0527143B2 publication Critical patent/JPH0527143B2/ja
Granted 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
    • 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/3846Speculative instruction execution using static prediction, e.g. branch taken strategy

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

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、命令制御方式に関し、特にパイプラ
イン制御方式を用いたマイクロプロセツサの分岐
命令実行時間を高速化できるデータ処理装置の命
令制御方式に関するものである。
〔発明の背景〕
データ処理装置は、一般に、第1図に示すよう
に、記憶装置5との間でデータ授受を行うインタ
ーフエイス回路4と、実行すべき命令の制御を行
う命令制御ユニツト2と、命令を実行する命令実
行ユニツト3とを有している。記憶装置5から読
み出された命令がインターフエイス回路4を経由
して命令制御ユニツト2に転送されると、命令制
御ユニツト2は転送された命令を解析し、この結
果を命令実行ユニツト3に転送する。命令実行ユ
ニツト3は、解析の結果、各種の制御信号を発生
させ、それらの制御信号により命令実行ユニツト
3内の各ゲートを開閉して演算、格納、シフト等
の処理を行わせる。命令制御ユニツト2は、次の
命令の読み出しをインターフエイス回路4を介し
て記憶装置5に指示する、これらの一連の動作を
繰り返すことにより、データ処理装置1は、記憶
装置5に格納されているプログラムを実行する。
第2図から第6図までの図面は、それぞれ従来
の命令処理のタイムチヤートである。
高性能マイクロプロセツサは、パイプライン制
御方式を用いて高速化を図つている。すなわち、
記憶装置5からの命令読み出し、命令制御ユニツ
ト2での命令解析、および命令実行ユニツト3で
の命令実行は、同時並列動作が可能であり、これ
によつてパイプライン制御が行われる。
先ず、T1,T2の2サイクルをかけて読み出
された命令は、T3のサイクルで解析される。
記憶装置5は空きとなるので、T3,T4の2サ
イクルで次の命令の読み出しを開始する。一
方、T3のサイクルで解析された命令は、T
4,T5の2サイクルを用いて実行される。T5
のサイクルでは、命令の読み出しの開始と、命
令の解析が行われるので、命令実行ユニツト3
は空きを生ずることなく、T6,T7のサイクル
で命令の実行を行う。このように、パイプライ
ン制御を行うと、1命令当りの実行時間を短縮す
ることができる。
しかし、一連の処理の途中で分岐命令を実行し
た場合には、分岐先アドレスは命令実行後でなけ
れば決定されないため、第3図に示すように、分
岐命令の実行後、分岐先の命令10が実行され
るまで4サイクルの遊び時間が生じてしまう。
このように、従来のパイプライン制御式データ
処理装置では、分岐命令を実行すると、この期間
だけ並列処理ができなくなり、パイプラインの効
果が現われないため、性能の低下を招いている。
そこで、従来これを改善するため、記憶装置5
に格納されている命令の写しをデータ処理装置1
内に設けられた高速小容量の記憶装置(以下、キ
ヤツシユ・メモリと記す)に保持しておき、この
キヤツシユメモリに分岐先の命令が存在した場合
には、命令をそこから読み出すことにより、記憶
装置5からの読み出し時間を短縮する方法が多く
用いられている。
また、命令制御ユニツト2内にアドレス計算回
路を設け、命令実行ユニツト3で分岐命令の実行
が完了する以前に、分岐アドレスを計算し、分岐
先命令の読み出しを行い、分岐命令処理時間を短
くする方法もよく用いられる。すなわち、この方
法では、第4図に示すように、分岐命令の解析
終了後、アドレス計算回路で命令の実行と並行
して分岐アドレスを計算するので、T5,T6の
2サイクルで分岐先命令10を読み出すことがで
きる。第4図では、分岐が行われた場合の処理の
遅れは1サイクルですむ。
しかし、この方法は、分岐が行われることを前
提としているため、条件付き分岐命令の条件不成
立の場合には、第5図に示すように、余分な命令
を読み出しを行つてしまう。
汎用計算機等では、記憶装置5とのインターフ
エイス信号105が太く、同時に転送されるデー
タ量が多いため、第6図に示すように、1サイク
ルで1命令の読み出しが完了し、条件付き分岐命
令の条件不成立の場合にも余分な読み出しが性能
を低下させることは少ないが、マイクロプロセツ
サ等、入出力ピン数の制約によりデータ転送量を
増加できないものでは、性能低下を招く。さら
に、命令制御ユニツト2内でアドレス計算を行う
ためには、アドレス計算に必要な情報を命令実行
ユニツト3から得なければならないため、構成が
複雑となり、かつ配線数の増加等によつて、LSI
上に回路を搭載する場合には集積度が低くなる。
したがつて、LSI化が必要なマイクロプロセツサ
等には適さない。
また、従来、分岐先命令の高速取り出しのため
に、連想メモリに分岐先命令を格納しておき、命
令解析等に命令アドレスを検索入力として、成立
する分岐命令であるか否かの予測、およびそのと
きの分岐先命令を出力させる装置が提案されてい
る(特公昭54−9456号公報参照)。しかし、上記
の装置では分岐先命令のフエツチ時間のみを短縮
しておりそれに続く命令解析時間は短縮されない
という欠点がある。
〔発明の目的〕
本発明の目的は、このような従来の欠点を解消
し、分岐命令実行時のパイプラインの乱れを少な
くして、分岐命令実行時間を短縮することにあ
る。
〔発明の概要〕
上記目的を達成するため、本発明の命令制御方
式は、分岐命令のアドレスを連想メモリの検索フ
イールドに、また該分岐命令の分岐先命令を解析
した制御情報を該連想メモリのデータ・フイール
ドに記憶しておき、分岐命令実行時に分岐命令ア
ドレスで上記連想メモリの検索を行い、該当する
エントリの制御情報を読み出して命令実行回路に
転送し、命令実行回路では分岐命令の実行に引き
続き分岐先命令の実行を開始することに特徴があ
る。
本願で開示される発明のうち、代表的なものの
概要は下記の通りである。
すなわち、記憶装置5から命令を読み出すイン
ターフエイス回路4と、 該読み出した命令の実行のための解析結果21
1を生成する命令デコーダ21と、 該解析結果211に従つて上記命令を実行する
命令実行ユニツト3とを具備するパイプラインデ
ータ処理装置であつて、 分岐命令のアドレス241と上記命令デコーダ
21によつて解析された分岐先命令の解析結果2
11とを該分岐命令の再実行前に記憶する記憶手
段24をさらに具備してなり、 上記分岐命令の再実行時に上記分岐命令の上記
アドレス241に応答して上記記憶手段24から
上記分岐先命の上記解析結果211を読み出して
上記命令実行ユニツト3に転送することを特徴と
する。
従つて、分岐命令を最初に実行する際に、分岐
先命令の解析結果211を記憶手段24に書き込
んでいるので、2回目以降の同一の分岐命令の実
行の際には、分岐命令のアドレス241によつて
分岐先命令の解析結果211を記憶手段24から
読み出すことができ、分岐命令と分岐先命令の間
のパイプラインの乱れを少なくし、分岐先命令の
実行時間を短くすることができる。
本発明のその他の目的と特徴は、以下の実施例
から明らかとなろう。
〔発明の実施例〕
以下、本発明の一実施例を図面により説明す
る。
第7図は、本発明を適用した場合のデータ処理
装置のブロツク図であり、第8図、第9図は第7
図における命令制御動作のタイムチヤートであ
る。
第7図においては、インターフエイス回路4と
命令制御ユニツト2と命令実行ユニツト3との要
部のみが示されている。10,24は連想メモ
リ、11,25,26,29,40はセレクタ、
12,23はカウンタ、22,28,32,3
3,42はレジスタ、20はFIFO(First In
First Out)のメモリ、30は定数生成回路、3
1,43は加算器、41は命令長レジスタ、13
はインターフエイス回路4の制御回路、27は命
令制御ユニツト2の制御回路である。
また、第7図において、命令アドレス信号22
0、命令データ信号200、命令フエツチ要求信
号205、命令フエツチ終了信号206は、いず
れも記憶装置5から、あるいは記憶装置5に転送
される信号である。さらに、実行ユニツト制御信
号214、命令語信号217、次命令要求信号2
44、ブランチ信号245、命令実行禁止信号2
25は、いずれも命令制御ユニツト2から命令実
行ユニツト3に、あるいは命令実行ユニツト3か
ら命令制御ユニツト2に転送される信号である。
さらに、実行命令アドレス信号241、分岐アド
レス信号243は、いずれも命令実行ユニツト3
内で生成され、命令実行ユニツト3内部および命
令制御ユニツト2に転送される信号である。
命令制御ユニツト2は、レジスタ28、セレク
タ29、定数発生器30および加算器31を用い
て次に読み出す命令のアドレスを計算し、インタ
ーフエイス回路4に信号223を経由して読み出
し要求を行う。読み出しの終了を信号224を経
由して通知されると、読み出された命令を信号2
02を経由して受け取り、FIFOメモリ20に書
き込む。FIFOメモリ20に空きがある場合、命
令制御ユニツト2は、上記動作を繰り返して、命
令の先読みを行う。
FIFOメモリ20の出力信号210は、命令デ
コーダ21で解析され、その出力信号211はセ
レクタ25を経由してレジスタ32に入力され
る。また、FIFOメモリ20の出力信号210自
体はレジスタ22を経由して信号215となり、
さらにセレクタ26を経由してレジスタ33に入
力される。
命令実行ユニツト3から次命令要求信号244
を受け取ると、命令制御ユニツト2はレジスタ3
2,33の入力信号をラツチし、実行ユニツト制
御信号214、命令語信号217として、命令実
行ユニツト3に転送する。
命令の読み出し、デコードが終了しないうちに
次命令要求信号244が出され、命令実行ユニツ
ト3に転送するデータが準備できない場合は、命
令実行禁止信号225を出力し、必要なデータが
揃うまで命令実行ユニツト3の動作を停止させ
る。
命令制御ユニツト2の連想メモリ24には、分
岐命令実行時に、分岐命令のアドレスと分岐先の
命令語およびその解析結果をそれぞれ信号24
1、信号215、および信号211により記憶し
ておき、2度目以降の同一分岐命令実行時には、
分岐命令のアドレス(信号241)を検索入力と
して連想メモリ24を読み出すことにより、命令
の読み出しと解析の時間を短縮する。この場合の
命令制御ユニツト2の動作は、すべて制御回路2
7によりコントロールされる。
命令実行ユニツト3内のセレクタ40、命令長
レジスタ41、レジスタ42、加算器43等の回
路は、実行中の命令のアドレスを計算する回路で
ある。命令実行ユニツト3で実行中の命令のアド
レスは、レジスタ42に保持され、次命令実行の
先頭で更新される。
インターフエイス回路4は、命令読み出し要求
(信号223)を受けると、その命令がいわゆる
キヤツシユメモリとして動作する連想メモリ10
内に保持されている場合には、これを読み出して
信号201とし、さらにセレクタ11の出力信号
202として命令制御ユニツト2に転送すると同
時に、信号224を出力することにより読み出し
終了を通知する。一方、連想メモリ10内に命令
がない場合、記憶装置5に命令フエツチ要求信号
205を出力する。命令のアドレスは、命令アド
レス信号220で記憶装置5に送出される。記憶
装置5の読み出しが終了し、命令フエツチ終了信
号206が出力されると、読み出された命令は、
命令データ信号200、セレクタ11を経由して
命令制御ユニツト2に転送される。このとき、読
み出された命令は、命令アドレスとともに連想メ
モリ10に記憶され、再度の読み出しに備える。
カウンタ12,23は、それぞれ連想メモリ1
0,24の次に書き込むべきエントリ・ナンバを
保持しておき、書き込みが行われる度にインクリ
メントされる。したがつて、すべてのエントリが
満たされた後は、最も古いエントリが消され、新
しいデータが書き込まれる。
このようにして、第7図においては、従来の方
法に比べて、連想メモリ24に分岐先の命令語の
他に、命令語の解析結果も記憶するので、2度目
以降に分岐命令が実行されるときは、命令解析の
時間も短縮することができる。
第8図は、第7図において、分岐命令を最初
に実行したときのタイミング・チヤートである。
分岐命令の命令読み出しが完了すると、命令
は命令データ信号200としてセレクタ11を経
由し、信号202となつてFIFOメモリ20に記
憶され、さらに命令デコーダ21およびレジスタ
22に送られる。同時に、命令は連想メモリ1
0のカウンタ12で示されるエントリに書き込ま
れ、カウンタ12の値はインクリメントされる。
FIFOメモリ20には空きがあるので、次のサ
イクルT3では、あらかじめ加算器31で計算さ
れた命令のアドレスがレジスタ28にセツトさ
れ、命令読み出し要求が信号223に出力され
る。加算器31で計算された命令のアドレス
は、信号219として連想メモリ10に送られて
おり、検索の結果、該当するエントリがなかつた
場合には信号204がオフされている。信号20
4がオフの状態で命令読み出し要求を信号223
から受けると、制御回路13は、記憶装置5から
の読み出しが必要であると判定し、命令フエツチ
要求信号205を出力する。同時に、信号219
の命令のアドレスを連想メモリ10に書き込
む。
命令デコーダ21でT3のサイクルに解析され
た分岐命令は、制御情報としてセレクタ25、
レジスタ32を介して命令実行ユニツト3に送ら
れ、実行が開始される。命令実行開始時には、あ
らかじめ加算器43で計算された命令アドレスが
セレクタ40を介してレジスタ42にセツトされ
る。レジスタ42の出力信号241は、連想メモ
リ24の検索入力に接続されているが、分岐命令
の実行はこれが最初であるため、該当するエン
トリがなく、信号218はオフされる。
この間に命令の読み出しが終了し、FIFOメ
モリ20および連想メモリ10へ書き込まれる。
サイクルT4,T5で分岐命令が実行された
結果、命令実行ユニツト3では、分岐先の命令
が分岐アドレス信号243に転送され、ブランチ
信号245が出力される。
信号218がオフの状態でブランチ信号245
を受けると、命令制御ユニツト2の制御回路27
は、連想メモリ24に命令の解析結果が入つて
いないものと判断し、命令実行ユニツト3を止め
るため、命令実行禁止信号225をオンにする。
さらに、定数生成回路30の出力信号222を
“0”とし、セレクタ29を経由して送られてき
た分岐アドレスとの加算を加算器31で行う。加
算器31の出力信号219は、次に読み出す命令
のアドレスとしてレジスタ28にセツトされ、命
令読み出し要求が信号223に出力される。命令
は、以前に読み出されていないため、加算器3
1の出力信号219で連想メモリ10を検索した
結果、信号204はオフとなつている。したがつ
て、インターフエイス回路4の制御回路13は、
命令フエツチ要求信号205を出力し、サイクル
T7で記憶装置5に命令の読み出しを要求す
る。命令読み出し終了信号206を受けると、読
み出した命令を連想メモリ10に書き込むと同
時に、セレクタ11を経由してFIFOメモリ20
に送り、信号224を出力して制御回路27に通
知する。ブランチ信号245を受けたときに、制
御回路27はFIFOメモリ20をクリアしておく
ので、命令は直ちに命令デコーダ21に送ら
れ、そこで解析される。このとき、信号241上
の分岐命令のアドレスを連想メモリ24の検索
フイールドに書いておく。記憶装置5で命令の
読み出しを行つている間に、次の命令アドレス
が、定数生成回路30の出力を“1”とし、これ
とセレクタ29を経由して送られてきたレジスタ
28の値とを、加算器31で加算することにより
求められる。これにより、レジスタ28のセツト
および信号223による命令読み出し要求を行つ
て、サイクルT9,T10で命令の読み出しを
開始する。命令デコーダ21における命令の解
析が終了すると、解析結果はセレクタ25を経由
してレジスタ32にセツトされる(サイクルT
9)。同時に、命令語もレジスタ33にセツト
される。命令10の実行準備が整つたので、制御
回路27は命令実行禁止信号225をオフし、命
令実行ユニツト3の動作を続行させる(サイクル
T10,T11)。命令実行ユニツト3に送られ
た命令の解析結果は連想メモリ24にも書き込
まれ、カウンタ23はインクリメントされる。
命令の実行完了時には、命令の解析結果が
準備されているので、命令は順次切れ目なく実行
されていく。
第8図に示すように、連想メモリ10に対する
検索がサイクルT2,T4,T6,T8,T10
…に行われた結果、命令,,,,…が
いずれも記憶されていないため、サイクルT2,
T4,T6,T8,T10,T12で命令
を書き込む。なお、命令は最初の命令で
あるため検索することなく、連想メモリ10に書
き込まれる。また、連想メモリ24に対する検索
もサイクルT4で行われるが、分岐先命令は記
憶されていないため、サイクルT10において命
令を書き込む。
次に、2度目以降にこれらの命令を実行する場
合について、第9図により述べる。
サイクルT1で連想メモリ10から分岐命令
の読み出しが完了すると、命令は信号201,
202として、セレクタ11を経由しFIFOメモ
リ20に記憶された後、命令デコーダ21に送ら
れる。連想メモリ10から命令を読み出す場合、
検索時にデータ・フイールドの読み出しを行うた
め、信号223による読み出し要求が出力される
と同時に、信号224によつて終了が通知され
る。このため、次命令アドレスの計算が間に合わ
ないので、1サイクルおきに読み出し要求が行わ
れる。
サイクルT2で命令デコーダ21での解析が終
了すると、制御情報は信号211,214とし
て、セレクタ25、レジスタ32を経由して命令
実行ユニツト3に送られ、分岐命令の実行が開
始される。実行が開始されると、レジスタ42に
命令のアドレスがセツトされるので、これを用
いてサイクルT3で連想メモリ24の検索が行わ
れ、該当するエントリが見つかると信号218が
オンされて、分岐先命令のデータ・フイールド
の値が信号213および信号216に出力され
る。
サイクルT3,T4で命令が実行され、これ
が終了すると、ブランチ信号245が出力され
る。制御回路27は、信号218がオンのとき
に、上記ブランチ信号245を受けると、信号2
13および216をそれぞれセレクタ25,2
6、レジスタ32,33を経由して、命令実行ユ
ニツト3に転送するように制御する。このように
して、命令の制御情報が直ちに揃うので命令実
行禁止信号225はオンされず、実行停止サイク
ルなしでサイクルT5,T6に命令の実行が行
われる。この場合、信号223は制御回路27に
よつてオフのままなため分岐先命令のフエツチは
行なわれない。
ブランチ信号245が出力され、信号218が
オンの場合、定数生成回路30からは“1”が出
力される。また、分岐先の命令のアドレスがセ
レクタ29を介して加算器31に入力されるの
で、加算器31の出力信号219には命令のア
ドレスが出力される。これにより連想メモリ10
の検索を行えば、命令がサイクルT5で読み出
される。したがつて、命令の実行が終了するま
でには、命令の解析が完了するので(サイクル
T6)、ここでも実行停止サイクルは生じない。
すなわち、命令の実行は、サイクルT9,T1
0で行われる。
なお、この実施例では、連想メモリ24に分岐
先命令があつた場合、次の命令のアドレスは
加算器31を用いて計算する。連想メモリ24の
データ・フイールドに分岐先の命令の次の命令
のアドレスを記憶するフイールドを設け、分岐
命令実行時には、これを次に読み出すべきアドレ
スとしてインターフエイス回路4に送るようにす
れば、加算器31の計算時間が省かれ、連想メモ
リ10の検索時間を短くすることができる。
また、連想メモリ24のデータ・フイールドに
分岐先アドレスを記憶するフイールドを設け、分
岐命令実行時に命令実行ユニツト3で生成される
分岐アドレス243と比較し、一致しない場合に
は連想メモリ24の出力を分岐先として使用せず
に、改めて命令読み出しから行うように制御すれ
ば、レジスタの値による分岐アドレス間接指定を
行う分岐命令等のように、分岐命令のアドレスに
よつて分岐先が一意に定まらない命令に対しても
適用することができる。
第7図においては、連想メモリ10を用いて命
令の有無を判定しているが、これは演算器や比較
器等からなる判定回路と比べて構造が規則的であ
るため、マイクロプロセツサ等のように集積回路
で実現する場合、集積度を高くすることができ
る。
〔発明の効果〕
以上説明したように、本発明によれば、分岐命
令を最初に実行する際に、連想メモリに命令の解
析(デコード)結果を書き込んでおくので、2回
目以降の上記分岐命令の実行の際には、これを読
み出して利用することにより、分岐命令と分岐先
命令の間のパイプライン処理の乱れを少なくして
分岐命令実行時間を短くすることができる。また
連想メモリに分岐先アドレスも記憶することによ
り分岐命令のアドレスによる分岐先が一意的に定
まらない命令に対しても適用することができる。
【図面の簡単な説明】
第1図はデータ処理装置の全体ブロツク図、第
2図、第3図、第4図、第5図および第6図は従
来の命令処理のタイムチヤート、第7図は本発明
の実施例を示すデータ処理装置のブロツク図、第
8図、第9図は第7図における命令処理のタイミ
ング・チヤートである。 1……データ処理装置、2……命令制御ユニツ
ト、3……命令実行ユニツト、4……インターフ
エイス回路、5……記憶装置、10,24……連
想メモリ、13……インターフエイス回路の制御
回路、12,23……カウンタ、20……FIFO
メモリ、21……命令デコーダ、27……命令制
御ユニツト制御回路、30……定数発生回路、3
1,43……加算器、41……命令長レジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 記憶装置から命令を読み出すインターフエイ
    ス回路と、 該読み出した命令の実行のための解析結果を生
    成する命令デコーダと、 該解析結果に従つて上記命令を実行する命令実
    行ユニツトとを具備するパイプラインデータ処理
    装置であつて、 分岐命令の実行時に、該分岐命令のアドレスと
    上記命令デコーダによつて解析された分岐先命令
    の解析結果とを記憶する記憶手段をさらに具備し
    てなり、 上記分岐命令と同一の分岐命令の2度目以降の
    実行時には、上記分岐命令の上記アドレスに応答
    して上記記憶手段から上記分岐先命令の上記解析
    結果を読み出して上記命令実行ユニツトに転送す
    ることを特徴とするパイプラインデータ処理装
    置。 2 上記記憶装置から読み出した命令を記憶する
    キヤツシユメモリをさらに具備してなり、 上記同一分岐命令の2度目以降の実行に際し
    て、上記分岐命令は上記キヤツシユメモリから読
    み出され上記命令デコーダで解読されることを特
    徴とする範囲第1項に記載のパイプラインデータ
    処理装置。 3 上記記憶手段は上記分岐先命令の次の命令の
    アドレスをさらに記憶する如く構成されてなるこ
    とを特徴とする特許請求の範囲第1項または第2
    項に記載のパイプラインデータ処理装置。
JP59021794A 1984-02-10 1984-02-10 パイプラインデータ処理装置 Granted JPS60168238A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP59021794A JPS60168238A (ja) 1984-02-10 1984-02-10 パイプラインデータ処理装置
KR1019850000766A KR920006275B1 (ko) 1984-02-10 1985-02-07 데이타 처리 장치
US07/151,276 US4912635A (en) 1984-02-10 1988-02-01 System for reexecuting branch instruction without fetching by storing target instruction control information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59021794A JPS60168238A (ja) 1984-02-10 1984-02-10 パイプラインデータ処理装置

Publications (2)

Publication Number Publication Date
JPS60168238A JPS60168238A (ja) 1985-08-31
JPH0527143B2 true JPH0527143B2 (ja) 1993-04-20

Family

ID=12064956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59021794A Granted JPS60168238A (ja) 1984-02-10 1984-02-10 パイプラインデータ処理装置

Country Status (3)

Country Link
US (1) US4912635A (ja)
JP (1) JPS60168238A (ja)
KR (1) KR920006275B1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6295636A (ja) * 1985-10-22 1987-05-02 Nec Corp 先取り制御処理装置
JPS6336336A (ja) * 1986-07-30 1988-02-17 Nec Corp 情報処理装置
JPS6349844A (ja) * 1986-08-18 1988-03-02 Nec Corp 命令先取り装置
US5440704A (en) * 1986-08-26 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Data processor having branch predicting function
JPH0195331A (ja) * 1987-10-08 1989-04-13 Fujitsu Ltd パイプライン処理システム
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
US5127091A (en) * 1989-01-13 1992-06-30 International Business Machines Corporation System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
US5230068A (en) * 1990-02-26 1993-07-20 Nexgen Microsystems Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
EP0480095B1 (de) * 1990-10-12 1998-12-23 Siemens Aktiengesellschaft Vorrichtung zur Befehlsbereitstellung in einem Mikroprozessor
US5454090A (en) * 1990-10-12 1995-09-26 Siemens Aktiengesellschaft Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units
US5265213A (en) * 1990-12-10 1993-11-23 Intel Corporation Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction
JPH04260929A (ja) * 1991-01-21 1992-09-16 Mitsubishi Electric Corp データ処理装置
JPH04321130A (ja) * 1991-04-22 1992-11-11 Toshiba Corp 分岐予測装置
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP2875909B2 (ja) * 1991-07-12 1999-03-31 三菱電機株式会社 並列演算処理装置
US5319784A (en) * 1991-12-18 1994-06-07 International Business Machines Corp. System for automatic and selective compile-time installation of fastpath into program for calculation of function/procedure without executing the function/procedure
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
US5742839A (en) * 1992-01-30 1998-04-21 Fujitsu Limited Coprocessor for performing an arithmetic operation by automatically reading data from an external memory
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
US5706459A (en) * 1994-01-06 1998-01-06 Fujitsu Limited Processor having a variable number of stages in a pipeline
US5561782A (en) * 1994-06-30 1996-10-01 Intel Corporation Pipelined cache system having low effective latency for nonsequential accesses
US5692170A (en) * 1995-04-28 1997-11-25 Metaflow Technologies, Inc. Apparatus for detecting and executing traps in a superscalar processor
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
EP1091300A4 (en) 1998-05-01 2005-03-23 Matsushita Electric Ind Co Ltd DEVICE AND METHOD FOR PROCESSING DATA
JP3862642B2 (ja) * 2002-09-17 2006-12-27 株式会社日立製作所 データ処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3559183A (en) * 1968-02-29 1971-01-26 Ibm Instruction sequence control
JPS549456B2 (ja) * 1972-07-05 1979-04-24
JPS5927935B2 (ja) * 1980-02-29 1984-07-09 株式会社日立製作所 情報処理装置
US4477872A (en) * 1982-01-15 1984-10-16 International Business Machines Corporation Decode history table for conditional branch instructions
JPS5920049A (ja) * 1982-07-26 1984-02-01 Nec Corp 演算処理装置
US4604691A (en) * 1982-09-07 1986-08-05 Nippon Electric Co., Ltd. Data processing system having branch instruction prefetching performance
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
US4626988A (en) * 1983-03-07 1986-12-02 International Business Machines Corporation Instruction fetch look-aside buffer with loop mode control
US4566063A (en) * 1983-10-17 1986-01-21 Motorola, Inc. Data processor which can repeat the execution of instruction loops with minimal instruction fetches

Also Published As

Publication number Publication date
JPS60168238A (ja) 1985-08-31
KR850006087A (ko) 1985-09-28
US4912635A (en) 1990-03-27
KR920006275B1 (ko) 1992-08-03

Similar Documents

Publication Publication Date Title
JPH0527143B2 (ja)
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US6760835B1 (en) Instruction branch mispredict streaming
US5689694A (en) Data processing apparatus providing bus attribute information for system debugging
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
JP3490005B2 (ja) 命令制御装置及びその方法
JPH02214937A (ja) データ処理装置
JPH0193825A (ja) プリフェッチキュー制御方式
JP2783285B2 (ja) 情報処理装置
JP3739556B2 (ja) 情報処理装置
JPS6020245A (ja) デ−タ処理装置の命令制御回路
JP2503223B2 (ja) 先行制御方式
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPS61136145A (ja) キヤツシユメモリ制御回路
JP4049490B2 (ja) 情報処理装置
JPS6047618B2 (ja) 情報処理装置
JPH0752402B2 (ja) データ処理装置
JPH07219771A (ja) 命令プロセッサ
JPS6232507B2 (ja)
JPH0552533B2 (ja)
JPH0472253B2 (ja)
JPH02121034A (ja) 分岐制御装置
JPS6049439A (ja) マイクロプログラム制御方式