JPS60168238A - パイプラインデータ処理装置 - Google Patents

パイプラインデータ処理装置

Info

Publication number
JPS60168238A
JPS60168238A JP59021794A JP2179484A JPS60168238A JP S60168238 A JPS60168238 A JP S60168238A JP 59021794 A JP59021794 A JP 59021794A JP 2179484 A JP2179484 A JP 2179484A JP S60168238 A JPS60168238 A JP S60168238A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
associative memory
signal
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.)
Granted
Application number
JP59021794A
Other languages
English (en)
Other versions
JPH0527143B2 (ja
Inventor
Tadahiko Nishimukai
西向井 忠彦
Atsushi Hasegawa
淳 長谷川
Kunio Uchiyama
邦男 内山
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 Ltd
Hitachi Microcomputer Engineering 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 Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi 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, 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, 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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、命令側(財)方式に関し、特にバイグライン
制御方式を用いたマイクロプロセッサの分岐命令実行時
間ケ尚速化できるデータ処理装置の命令制御方式に関す
るものである。
〔発明の背景〕
データ処理装置は、一般に、第1図に示すように、記憶
装fl115との間でデータ授受を行うインターフェイ
ス回路4と、実行すべき命令の制御を行う命令制御ユニ
ット2と、命令ケ実行する命令実行ユニット3と七有し
ている。記憶装置5から読み出された命令がインターフ
ェイス回路4?経由して命令制御ユニット2に転送され
ると、命令制御ユニット2は転送された命令ケ解析し、
その結果を命令実行ユニット3に転送する。命令実行ユ
ニット3は、解析の結果、各種の制御信号を発生させ、
それらの制御信号により命令実行ユニット3内の各ゲー
トケ開閉して演算、格納、シフト等の処理金貸わせる。
命令制御ユニット2は、次の命令の読み出しケインター
フェイス回路4ケ介して記憶装置5に指示する。これら
の一連の動作r繰シ返すことにより、データ処理装置l
は、記憶装flli5に格納されているプログラム?実
行する。
第2図から第6図までの図面は、それぞれ従来の命令処
理のタイムチャートでめる。
高性能マイクロプロセッサでは、パイプツイン制御方式
?用いて高速化ケ図っている。すなわち、記憶装置5か
らの命令読み出し、命令制御ユニット2での命令解析、
および命令実行ユニット3での命令実行は、同時並列動
作が可能であり、これによってパイプライン制御が行わ
れる。
先ず、TI、T2の2サイクルをかけて読み出された命
令■は、T3のサイクルで解析される。
記憶装置5は空きとなるので、T3.T4の2サイクル
で次の命令■の読み出し?開始する。一方、T3のサイ
クルで解析された命令■は、T4゜T5の2サイクルr
用いて実行される。T5のサイクルでは、命令■の読み
出しの開始と、命令■の解析が行われるので、命令実行
ユニット3は窒@r生ずることな(、T6.T7のサイ
クルで命令■の実行ケ行う。このように、パイプライン
制御i!41茫行うと、l命令当りの実行時間?短縮す
ることができる。
しかし、一連の処理の途中で分岐命令?実行した場合に
は、分岐先アドレスは命令実行後でなければ決定されな
いため、第31に示すように、分岐命令■の実行後、分
岐先の命令ioが実行されるまで4サイクルの遊び時間
が生じてしまう。
このように、従来のパイプライン制御式データ処理装置
では、分岐命令を実行すると、その期間だけ並列処理が
できなくなり、パイプ2インの効果が現われないため、
性能の低下を招いている。
そこで、従来これ?改善するため、記憶装置5に格納さ
れている命令の写しtデータ処理装置l内に設けられた
高速小容量の記憶装置(以下、キャッシュ・メモリと記
す)に保持しておき、このキャッシュメモリに分岐先の
命令が存在した場合には、命令tそごから読み出すこと
に工す、記憶装置5からの読み出し時間を短縮する方法
が多く用いられている。
また、命令制御ユニット2内にアドレス計算回路を設け
、命令実行ユニット3で分岐命令の実行が完了する以前
に、分岐アドレスを計算し、分岐先命令の絖み出しを行
い、分岐命令処理時間を短くする方法もよく用いられる
。すなわち、この方法では、第4図に示すように、分岐
命令■の解析終了後、アドレス計算回路で命令■の実行
と並行して分岐アドレス全計算するので、T5.T6の
2サイクルで分岐先命令lO?読み出すことができる。
第4図でに、分岐が行われた場合の処理の遅れはlサイ
クルですむ。
しかし、この方法は、分岐が行われることを前提として
いるため、条件付き分岐命令の条件不成立の場合には、
第5図に示すように、余分な命令の読み出し?行ってし
まう。
汎用計算機等では、記憶装置5とのインターフェイス信
号105が太く、同時に転送されるデータ蓋が多いため
、第6図に示すように、lサイクルで1命令の読み出し
が完了し、条件付き分岐命令の条件不成立の場合にも余
分な読み出しが性能を低下させることは少ないが、マイ
クロプロセッサ等、入出力ピン数の制約にエリデータ転
送tk増加できないものでは、性能低下金招く。さらに
、砧令制呻ユニット2内でアドレス計算?行うためには
、アドレス計算に必要な情報t?i令実行ユニット3か
ら得なければならないため、構成が複雑となり、かつ配
線数の増加等によって、LSI上に回路倉搭載する場合
には集積度が低くなる。したがって、LSI化が必要な
マイクロプロセッサ等には適さない。
また、従来、分岐先命令の商運取り出しのために、連想
メモリに分岐先命令ヶ格納しておき、命令解析時に命令
アドレスを検索入力として、成立する分岐命令であるか
否かの予測、およびそのときの分岐先命令を出力させる
装置が提案されている(特公昭54−9456号公報参
照)。しかし、上記の装置では分岐先命令のフェッチ時
間のみケ短縮してお抄それに続く命令解析時間は短縮さ
れないという欠点かめる。
〔発明の目的〕
本発明の目的は、このような従来の欠点を解消し、分岐
命令実行時のバイブ2インの乱れを少なくして、分岐命
令実行時間ヶ短縮することにある。
〔発明の4gt要〕 上記目的を達成するため、本発明の命令制御方式は、分
岐命令のアドレスを連想メモリの検索フィールドに、ま
た該分岐命令の分岐先命令ケ解析した制御情報を該連想
メモリのデータφフィールドに記憶しておき、分岐命令
実行時に分岐命令アドレスで上記連想メモリの検索?行
い、該当するエントリの制御情報?読み出して命令実行
回路に転送し、命令実行回路では分岐命令の実行に引き
続き分岐先命令の実行?開始することに特徴がある。
〔発明の実施例〕
以下、本発明の一実施例を図面により説明する。
第7図は、本発明會適用した場合のデータ処理装置のブ
ロック図であり、第8図、第9図は第7図における命令
制御動作のタイムチャートである。
第7図においては、インターフェイス回路4と命令制御
ユニット2と命令実行ユニット3との装部のみが示され
ている。10.24は連想メモ1ハ11.25,26,
29.40はセレクタ、12゜23はカウンタ、22,
28,32,33.42はレジスタ、20はF’ I 
p Q (First In FirstQut)のメ
モリ、30は定数生成回路、31゜43は加算器、41
は命令長レジスタ、13はインターフェイス回路4の制
御回路、27は命令制御ユニット2の制御回路である。
また、第7図において、命令アドレス信号220、命令
データ信号200、命令フェッチ要求信号205、命令
フェッチ終了信号206は、いずれも記憶装置5から、
あるいは記憶装置5に転送される信号でらる。さらに、
実行ユニット制御信号214、命令語信号217、次命
令要求信号244、ブランチ信号245、命令実行禁止
信号225は、いずれも命令制御ユニット2から命令実
行ユニット3に、あるいは命令実行ユニット3から命令
制御ユニット2に転送される信号である。さらに、実行
命令アドレス信号2411分岐アドレス信号243は、
いずれも命令実行ユニット3内で生成され、命令実行ユ
ニット3内部および命令制御ユニット2に転送される信
号である。
命令制御ユニット2は、レジスタ28、セレクタ29、
定数発生器30および加算器31に用いて次に読み出す
命令のアドレス全計算し、インク−フェイス回路4に信
号223r経由して睨み出し要求を行う。読み出しの終
了を信号224を経由して通知されると、読み出された
命令r信号202kk由して受け取り、FIFOメモリ
20に書き込む。FIFOメモリ20に空きがある場合
、命令制御ユニット2は、上記動作を繰り返して、命令
の先読み?行う。
FIFOメモリ20の出力信号210は、命令デコーダ
21で解析され、その出力信号211はセレクタ25を
経由してレジスタ32に入力される。また、FIFOメ
モリ20の出力信号210自体はレジスタ22を経由し
て信号215となり、さらにセレクタ26を経由してレ
ジスタ33に入力される。
命令実行ユニット3から次命令要求信号244r受は取
ると、命令制御ユニット2はレジスタ32.33の入力
信号をラッテし、実行ユニット制御信号214、命令語
信号217として、命令実行ユニット3に転送する。
命令の読み出し、デコードが終了しないうちtζ次命令
要求信号244が出され、命令実行ユニット3に転送す
るデータが準備できない場合は、命令実行禁止信号22
5vf−出力し、必要なデータが揃うまで命令実行ユニ
ット3の動作?停止させる。
命令制御ユニット2の連想メモリ24には、分岐命令実
行時に、分岐命令のアドレスと分岐先の命令語およびそ
の解析結果をそれぞれ信号241、信号215、および
信号211により記憶しておき、2度目以降の同一分岐
命令実行時には、分岐命令のアドレス(信号z4i)k
検索入力として連想メモリ24金読み出すことにより、
命令の読み出しと解析の時間?短縮する。この場合の命
令制御ユニット2の動作は、すべて制御回路27により
コントロールされる。
命令実行ユニット3内のセレクタ40.命令長レジスタ
41% レジスタ42、加算器43等の回路は、実行中
の命令のアドレスを計算する回路でるる。命令実行ユニ
ット3で実行中の命令のアドレスは、レジスタ42に保
持され、次命令実行の先頭で更新される。
インターフェイス回路4は、命令読み出し要求(信号2
23)k受けると、その命令が連想メモリlO内に保持
されている場合には、これ金読み出して信号201とし
、さらにセレクタllの出力信号202として命令制御
ユニット2に転送すると同時に、信号224ケ出力する
ことにより読み出し終了を通昶する。一方、連想メモl
j l O内に命令がない場合、記憶装置t5に命令フ
ェッチ要求信号205を出力する。命令のアドレスは、
命令アドレス信号220で記憶装置ii5に送出される
記憶装置5の読み出しが終了し、命令フェッチ終了信号
206が出力されると、読不出された命令は、命令デー
タ信号200、セレクタllk経由して命令制御ユニッ
ト2に転送される。このとき、読み出された命令は、命
令アドレスとともに連想メモリlOに記憶され、再度の
読不出しに備える。
カウンタ12,23は、それぞれ連想メモリ10.24
の次に誉き込むべきエントリ・ナンバを保持しておシ、
誓き込みが行われる度にインクリメントされる。したが
って、すべてのエントリが満たされた後は、最も古いエ
ントリが消され、新しいデータが書き込まれる。
このようにして、第7図においては、従来の方法に比べ
て、連想メモリ24に分岐先の命令語の他に、命令語の
解析結果も記憶するので、2度目以降に分岐命令が実行
されるときは、命令解析の時間も短縮することができる
第8図は、第7図において、分岐命令■全最初に実行し
たときのタイミング−チャートである。
分岐命令■の命令読み出しが完了すると、命令は命令デ
ータ信号200としてセレクタllk経由し、信号20
2となってFIFOメモリ20に記憶され、さらに命令
デコーダ21お工びレジスタ22に送られる。同時に、
命令■は連想メモリlOのカウンタ12で示されるエン
トリに書き込まれ、カウンタ12の値はインクリメント
される。
FIFOメモリ20には空きがあるので、次のサイクル
T3では、あらかじめ加算器31で計算された命令■の
アドレスがレジスタ28vCセツトされ、命令読み出し
要求が信号223に出力される。加算器31で計算され
た命令■のアドレスは、信号219として連想メモリl
Oに送られており、検索の結果、該当するエントリがな
かった場合には信号204がオフされている。信号20
4がオフの状態で命令読み出し要求を信号223がら受
けると、制御回路13は、記憶装置5からの読み出しが
必要であると判定し、命令フェッチ要求信号205ケ出
力する。同時に、信号219の命令■のアドレスr連想
メモソIOK書き込む。
命令デコーダ21TT3のサイクルに解析された分岐命
令■は、制御情報としてセレクタ25、レジスタ32ケ
介して命令実行ユニット3に送られ、実行が開始される
。命令実行開始時には、あらかじめ加算器43で計算さ
れた命令アドレスがセレクタ40i介してレジスタ42
にセットされる。レジスタ42の出力信号241は、連
想メモリ24の検索入力に接続されているが、分岐命令
■の実行はこれが最初であるため、該当するエントリが
’x < 、信号218はオフされる。
この間に命令′■の読み出しが終了し、PIFOメモリ
20および連想メモリ10へ書き込まれる。
サイクルT4.T5で分岐命令■が実行された結果、命
令実行ユニット3では、分岐先の命令■が分岐アドレス
信号243に転送され、ブランチ信号245が出力され
る。
信号2′18がオフの状態でブランチ信号245を受け
ると、命令制御ユニット2の制御回路27は、連想メモ
リ24に命令Oの解析結果が入っていないものと判断し
、命令実行ユニット3を止めるため、命令実行禁止信号
225?オンにする。
さらに、定数生成回路30の出力信号222ケ@01と
し、セレクタ29を経由して送られてきた分岐アドレス
との加算を加算器31で行う。加算器31の出力信号2
19は、次に読み出す命令のアドレスとしてレジスタ2
8にセットされ、命令読み出し要求が信号223に出力
される。命令0oVi、以前に読み出されていないため
、加算器31の出力信号219で連想メモリiot検索
した結果、信号204はオフとなっている。したがって
、インターフェイス回路4の制御回路13は、命令フェ
ッチ要求信号205を出力し、サイクルT7で記憶装置
5に命令[相]の読み出しを要求する。命令読み出し終
了信号206會受けると、読み出した命令[相]を連想
メモリlOに誉き込むと同時に、セレクタllk経由し
てFIFOメモリ20に送り、信号224?出力して制
御回路27に通知する。ブランチ信号245を受けたと
きに、制御回路27はFIFOメモリ20會クリアクリ
アくので、命令■は直ちに命令デコーダ21に送られ、
そこで解析される。このとき、信号241上の分岐命令
■のアドレスを連想メモリ24の検索フィールドに書い
ておく。記憶装置5で命令[相]の読み出しを行ってい
る間に、次の命令アドレスが、定数生成回路30の出力
2”i“とじ、これとセレクタzc+(l−s+由して
送られてきたレジスタ28の値とt、加算器31で加算
することによ請求められる。これによシ、レジスタ28
のセントおよび信号223による命令読み出し要求を行
って、サイクルT9.TIOで命令@の読み出しを開始
する。命令デコーダ21における命令@の解析が終了す
ると、解析結果はセレクタ25を経由してレジスタ32
にセットされる(サイクルT9)。同時に、命令語[相
]もレジスタ33にセットされる。命令lOの実行準備
が整ったので、制御回路27は命令実行禁止信号225
tオンし、命令実行ユニット3の動作?続行させる(サ
イクルTIO,Tl1)。命令実行ユニット3に送られ
た命令[相]の解析結果は連想メモリ24にも書き込ま
れ、カウンタ23Viインクリメントされる。
命令@の実行完了時には、命令@の解析結果が準備され
ているので、命令は順次切れ目なく実行されていく。
第8図に示すように、連想メモリlOに対する検索がサ
イクルT2.T4.T6.T8.TIO・・・に行われ
た結果、命令・■、■、■■■・・・かいずれも記憶さ
れていないため、サイクルT2゜T4.T6.T8.T
IO,T12で命令■■■■o@)e書き込む。なお、
命令■は最初の命令であるため検索することなく、連想
メモリ10に書き込まれる。また、連想メモリ24に対
する検索もサイクルT4で行われるが、分岐先命令[相
]は記憶されていないため、サイクルTIOにおいて命
令[相]を書き込む。
次に、2度目以降にこれらの命令ケ実行する場合につい
て、第9図により述べる。
サイクルTIで連想メモリlOから分岐命令■の読み出
しが完了すると、命令■は信号201゜202として、
セレクタll’に経由しFIFOメモリ20に記憶され
た後、命令デコーダ21に送られる。連想メモリlOか
ら命令音読み出す場合、検索時にデータ・フィールドの
読み出し金行うため、信号223による読み出し要求が
出力されると同時に、信号224によって終了が通知さ
れる。
このため、次命令アドレスの計算が間に合わないので、
lサイクルおきに読み出し要求が行われる。
サイクルT2で命令デコーダ21での解析が終了すると
、制御情報は信号211,214として、セレクタ25
、レジスタ32ケ経由して命令実行ユニット3に送られ
、分岐命令■の実行が開始される。実行が開始されると
、レジスタ42に命令■のアドレスがセットされるので
、これを用いてサイクルT3で連想メモリ24の検索が
行われ、該当するエントリが見つかると信号218がオ
ンされて、分岐先命令@のデータ・フィールドの値が信
号213お工び信号216に出力される。
サイクルT3.T4で命令■が実行され、これが終了す
ると、ブランチ信号245が出力される。
制御回路27は、信号218がオンのときに、上記ブラ
ンチ信号245を受けると、信号213お工び216に
それぞれセレクタ25,26、レジスタ32.33Th
経由して、命令実行ユニット3に転送するように制御す
る。このようにして、命令@の制御情報が直ちに揃うの
で命令実行禁止信号225はオンされず、実行停止サイ
クルなしでサイクルT5.T6に命令@の実行が行われ
る。この場合、信号223は制御回路27によってオフ
のままなため分岐先命令のフェッチは行なわれない。
ブランチ信号245が出力され、信号218がオンの場
合、定数生成回路30からは”l″が出力される。また
、分岐先の命令■のアドレスがセレクタ2’l介して加
算器31に入力されるので、加算器31の出力信号21
9には命令■のアドレスが出力される。これにより連想
メモリlOの検索?行えば畷命令@がサイクルT5で読
み出される。したがって、命令[相]の実行が終了する
までには、命令@の解析が完了するので(サイクルT6
)、ここでも実行停止サイクルは生じない。すなわち、
命令@の実行は、サイクルT9.TIOで行われる。
なお、この実施例では、連想メモリ24に分岐先命令[
相]があった場合、次の命令@のアドレスは加算器31
に用いて計算する。連想メモリ24のデータ・フィール
ドに分岐先の命令■の次の命令■のアドレスを記憶する
フィールド?設け、分岐命令実行時には、これを次に読
み出すべきアドレスとしてインターフェイス回路4に送
るようにすれば、加算器31の計算時間が省かれ、連想
メモリlOの検索時間を短くすることができる。
また、連想メモリ24のデータ・フィールドに分岐先ア
ドレスケ記憶するフィールド?設け、分岐命令実行時に
命令実行ユニット3で生成される分岐アドレス243と
比較し、一致しない場合には連想メモリ24の出力?分
岐先として使用せずに、改めて命令読み出しから行うよ
うに制御すれば、レジスタの値による分岐アドレス間接
指定七行う分岐命令等のように、分岐命令のアドレスに
よって分岐先が一意に定まらない命令に対しても適用す
ることができる。
第7図においては、連想メモIJI(l用いて命令の有
無ケ判定しているが、これは演算器や比較器等からなる
判定回路と比べて構造が規則的であるため、マイクロプ
ロセッサ等のように集積回路で実現する場合、集積度を
高くすることができる。
〔発明の効果〕
以上説明したように、本発明によれば、分岐命令実行時
に実行する際に、連想メモリに命令の解析(デコード)
結果を書き込んでおくので、2回目以降の上記分岐命令
の実行の際には、これt読み出して利用することにより
、分岐命令と分岐先命令の間のパイプライン処理の乱れ
t少なくして分岐命令実行時間を短くすることができる
。また連想メモリに分岐先アドレスも記憶することによ
り分岐命令のアドレスに工す分岐先が一意的に定まらな
い命令に対しても適用することができる。
【図面の簡単な説明】
第1図はデータ処理装置の全体ブロック図、第2図、第
3図、第4図、第5図および第6商は従来の命令処理の
タイムチャート、ljg7図は本発明の実施例を示すデ
ータ処理装置のブロック図、第8図、第9図は第7図に
おける命令処理のタイミング・チャートである。 l・・・データ処理装置、2・・・命令制御ユニット、
3・・・命令実行ユニット、4・・・インターフェイス
回路、5・・・記憶装置、io、24・・・連想メモL
13・・・インターフェイス回路の制御回路、12.2
3・・・カクンタ、20・・・FIFOメモ1ハ 21
・・・命令デコーダ、27・・・命令制御ユニット制御
回路、30・・・定数発生回路、31.43・・・加算
器、41・・・命令長レジスタ。 第 1 図 冨 Z 図 合−ンテフーL 「ζ口 口ζ口 [ζ口 ロ区ロ命’
?’1.l61z 34 第3図 今4トテーフ−k [I=Σコ [了D[Eff4′−
+大イテ 「==コヱΣ■二] 132ゝ:m第 4 
図 41全デ゛フーl−[ぐIコ [(Σ] [i] [ζ
Σコ4ン・4ト火イデ [ED、 cコffσ乃:==
]L 5 図 す1行 ロ■=ロIコ ロ■コ %l 図 4r−令テ゛コード 団 [匡0 ロエロ l ロΣロ
命令尺行 ¥J7図 ジ 【 第1頁の続き ■発明者内山 邦男 [相]発明者高本 良史 国分寺市東恋ケ窪1丁目28幡地 株式会社日立製作所
中央研究所内 国分寺市東恋ケ窪1丁目28幡地 株式会社日立製作所
中央研究所内

Claims (1)

  1. 【特許請求の範囲】 1、記憶装置より命令r読み出し、該命令ケ解析して命
    令実行のための制御情報を生成し、該制御情報ケ命令実
    行回路に転送するパイプラインデータ処理装置の命令フ
    ロー制御回路において、分岐命令のアドレスを連想メモ
    リの検索フィールドに、また該分岐命令の分岐先命令に
    解析した制御情報とr該連想メモリのデータ・フィール
    ドに記憶しておき、分岐命令実行時に分岐命令アドレス
    で上記連想メモリの検索茫行い、該当するエン) l/
    の制御情報會読み出して命令実行回路に転送し、命令実
    行回路では分岐命令の実行に引き続き分岐先命令の実行
    ケ開始することt特徴とする命令制御方式。 2 前記連想メモリは、そのデータのフィールドに分岐
    先命令の次の命令のアドレスr記憶して、おき、分岐命
    令実行時には、次に読み出すべきアドレスとして読み出
    すことを特徴とする特許請求の範囲第1項記載の命令制
    御方式。 3、前記連想メモリは、そのデータ・フィールドに分岐
    先のアドレスを記憶しておき、分岐命令実行時、命令実
    行回路で生成される分岐アドレスと上記分岐先アドレス
    とを比較し、不一致のときには該連想メモリの出力r分
    岐先として使用しないようにすることt特徴とする特許
    請求の範囲第1項または第2項記載の命令制御方式。 4、 分岐命令実行時に分岐アドレスで連想メモリの検
    索ヶ行い、一致するエントリか存在したときには分岐先
    命令のフェッチ4行なわないことケ特徴とする特許請求
    の範囲第1項、第2項筐たけ第3項記載の命令制御方式
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 true JPS60168238A (ja) 1985-08-31
JPH0527143B2 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)

Cited By (6)

* 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 命令先取り装置
JPH0195331A (ja) * 1987-10-08 1989-04-13 Fujitsu Ltd パイプライン処理システム
JPH01169538A (ja) * 1987-12-02 1989-07-04 Internatl Business Mach Corp <Ibm> 命令事前取出し装置
WO1999057642A1 (fr) * 1998-05-01 1999-11-11 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de traitement de donnees

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440704A (en) * 1986-08-26 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Data processor having branch predicting function
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
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
EP0480095B1 (de) * 1990-10-12 1998-12-23 Siemens Aktiengesellschaft Vorrichtung zur Befehlsbereitstellung in einem Mikroprozessor
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
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

Cited By (7)

* 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 命令先取り装置
JPH0195331A (ja) * 1987-10-08 1989-04-13 Fujitsu Ltd パイプライン処理システム
JPH01169538A (ja) * 1987-12-02 1989-07-04 Internatl Business Mach Corp <Ibm> 命令事前取出し装置
WO1999057642A1 (fr) * 1998-05-01 1999-11-11 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de traitement de donnees
US6598147B1 (en) 1998-05-01 2003-07-22 Matsushita Electric Industrial Co., Ltd. Data processing device and method

Also Published As

Publication number Publication date
US4912635A (en) 1990-03-27
KR920006275B1 (ko) 1992-08-03
JPH0527143B2 (ja) 1993-04-20
KR850006087A (ko) 1985-09-28

Similar Documents

Publication Publication Date Title
JPS60168238A (ja) パイプラインデータ処理装置
KR100305310B1 (ko) 멀티스레드프로세서의명령어및연관된인출요청의백그라운드완료
US5142631A (en) System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register
KR100278328B1 (ko) 캐시 미스 버퍼
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
US5295249A (en) Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel
US5446850A (en) Cross-cache-line compounding algorithm for scism processors
US5428807A (en) Method and apparatus for propagating exception conditions of a computer system
US5321823A (en) Digital processor with bit mask for counting registers for fast register saves
US5420990A (en) Mechanism for enforcing the correct order of instruction execution
JPS5939832B2 (ja) 情報処理システム
US5297281A (en) Multiple sequence processor system
JPS63193230A (ja) 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH02208729A (ja) マイクロコード式実行装置での並列動作による複数機能装置の制御
JPH02234229A (ja) ソース・リスト、ポインタ・キューおよび結果キュー
JPS61100837A (ja) 命令メモリ制御方法
US6760835B1 (en) Instruction branch mispredict streaming
US20020169947A1 (en) Scalable processer
US5689694A (en) Data processing apparatus providing bus attribute information for system debugging
JPS6159554A (ja) キャッシュメモリを有するデータ処理装置
US5313613A (en) Execution of storage-immediate and storage-storage instructions within cache buffer storage
JP2879607B2 (ja) 機能停止キャッシュを提供する装置と方法
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPS5941215B2 (ja) 主記憶装置書込み制御方式