JPH06131180A - 命令処理方式および命令処理装置 - Google Patents

命令処理方式および命令処理装置

Info

Publication number
JPH06131180A
JPH06131180A JP27713592A JP27713592A JPH06131180A JP H06131180 A JPH06131180 A JP H06131180A JP 27713592 A JP27713592 A JP 27713592A JP 27713592 A JP27713592 A JP 27713592A JP H06131180 A JPH06131180 A JP H06131180A
Authority
JP
Japan
Prior art keywords
instruction
branch
signal
cycle
delay
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
JP27713592A
Other languages
English (en)
Inventor
Isao Uchiumi
功朗 内海
Noriyoshi Ito
徳義 伊藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP27713592A priority Critical patent/JPH06131180A/ja
Publication of JPH06131180A publication Critical patent/JPH06131180A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 サイクル時間を短縮することができ、また、
遅延スロット命令を挿入することができない場合であっ
ても、遅延ペナルティを解消することができ、さらに、
分岐条件ごとに遅延スロット命令数が異なる場合であっ
てもコンパイラを容易に設計することができるようにす
ること。 【構成】 命令バス17には、遅延スロット命令数を示
すコードを含む条件分岐命令が取り出される。ALU3
2は、条件分岐命令の実行シーケンスに基いてパイプラ
イン化されている。命令アドレスは、インクリメンタ1
3、加算器14、補助レジスタ15、マルチプレクサ1
6で生成される。この生成は、条件分岐指定信号Mと、
条件分岐命令信号Tと、分岐予測失敗信号Qに基づい
て、分岐制御回路35により、遅延スロット命令の取り
出し終了タイミングが、次命令の取出し可能タイミング
より早い場合は、次命令の取出しが可能になるまで、分
岐予測先命令を取り出すように制御される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、パイプライン制御方
式によって複数の命令を同時に処理する命令処理方式お
よび命令処理装置に関する。
【0002】
【従来の技術】一般に、マイクロプロセッサにおいて
は、複数の命令を高速に処理するために、命令処理方式
としてパイプライン制御方式が採用されている。
【0003】このパイプライン制御方式は、命令の処理
をその処理シーケンス(取出し、解読、実行等)に基づ
いて複数のパイプラインステップに分割し(パイプライ
ン化し)、これらを同時に実行するようにしたものであ
る。
【0004】このような構成によれば、複数の命令を並
列に処理することができるので、命令処理の高速化を図
ることができる。
【0005】図2は、上述したパイプライン制御方式に
基づいて、複数の命令を並列に処理する従来のマイクロ
プロセッサの構成の一例を示すブロック図である。
【0006】図において、IF,ID,EX,MEM,
WBは、命令の処理回路をその処理シーケンスに基づい
て分割することにより得られた複数のパイプラインステ
ージで、上述したパイプラインステップを回路面からと
らえたものである。
【0007】ここで、パイプラインステージIFは、命
令の取出し(フェッチ)を行うステージ(以下、「命令
取出しステージ」という)である。この命令取出しステ
ージIFは、マイクロプロセッサ外に命令アドレスを出
力し、マイクロプロセッサ内に命令を取り入れるように
なっている。
【0008】また、パイプラインステージIDは、命令
の解読(デコード)を行うステージ(以下、「命令解読
ステージ」という)である。この命令解読ステージID
は、命令取出しステージIFで取り入れられた命令を翻
訳して、マイクロプロセッサ内の各種機構を制御する制
御信号を生成するようになっている。
【0009】また、パイプラインステージEXは、命令
の実行を行うステージ(以下、「命令実行ステージ」と
いう)である。この命令実行ステージEXは、命令解読
ステージIDで生成された制御信号に基づいて、命令内
容を実行するようになっている。
【0010】マイクロプロセッサが条件分岐命令を処理
する場合、この命令実行ステージEXで、分岐条件が成
立するか否かの判定(条件式の演算、演算結果の判定
等)と、条件分岐命令の次に処理すべき命令のアドレス
の決定がなされる。
【0011】パイプラインステージMEMは、データの
アクセスを行うステージ(以下、「データアクセスステ
ージ」という)である。このデータアクセスステージM
EMは、マイクロプロセッサ外のメモリから、マイクロ
プロセッサ内にデータを読み込んだり、マイクロプロセ
ッサからメモリにデータを書き込んだりするようになっ
ている。
【0012】また、パイプラインステージWBは、命令
実行ステージEXの演算結果をレジスタファイルに書き
戻すステージ(以下、「ライトバックステージ」とい
う)である。
【0013】上記構成においては、複数の命令が各パイ
プラインステップの処理サイクルで次々とパイプライン
に投入され、各パイプラインステージIF,ID,E
X,MEM,WBが同時に駆動される。これにより、複
数の命令が同時に処理されるため、命令処理の高速化が
図られる。
【0014】図3は、この様子を示すタイミングチャー
トである。なお、図3は、条件分岐命令以外の命令(デ
ータ転送命令等)を処理する場合を示す。
【0015】図において、縦方向のI1,I2,I3,
…は、連続して処理される命令列を表し、横方向のt
1,t2,t3,…は、各パイプラインステップの処理
サイクルを表す。また、IFi、IDi、EXi、ME
Mi、WBi(iは命令の番号を示す)は、命令Iiを
処理中のパイプラインステージを示す。
【0016】図に示すように、条件分岐命令以外の命令
を処理する場合は、なんらペナルティが生じない限り、
各サイクルt1,t2,t3,…ごとに、次々と新しい
命令が取り出され、処理される。
【0017】これに対し、命令として条件分岐命令を処
理する場合は、この条件分岐命令の次に処理すべき命令
の取出しが、条件分岐命令の取出しから1サイクルか2
サイクル遅れる。
【0018】これは、この場合は、次に処理すべき命令
のアドレスが、条件分岐命令の命令実行サイクル(条件
分岐命令が命令実行ステージEXで処理されるサイク
ル)で決定されるからである。
【0019】この場合、次命令のアドレスが決定される
までの時間が短ければ、次命令の取出しは、条件分岐命
令の命令実行サイクルでなされる。したがって、この場
合の遅延サイクルは1サイクルとなる。
【0020】これに対し、アドレス決定までの時間が長
ければ、次命令の取出しは、条件分岐命令のデータアク
セスサイクル(条件分岐命令がデータアクセスステージ
MEMで処理されるサイクル)でなされる。これによ
り、この場合の遅延サイクルは、2サイクルとなる。
【0021】図4は、取出し遅延が1サイクルの場合の
動作を示すタイミングチャートである。なお、図4は、
分岐条件が成立した場合を示す。
【0022】図において、I3は条件分岐命令であり、
Inは分岐先命令である。図示の如く、この分岐先命令
Inの取出しは、条件分岐命令I3の命令実行サイクル
t5でなされる。これにより、破線で示すように、命令
の取出しがなされないサイクルt4が生じてしまう。
【0023】しかし、このような遅延ペナルティが生じ
ると、マイクロプロセッサの誤動作等を招く危険性があ
る。
【0024】そこで、この問題を解決するため、従来、
「“Reducing the Branch Penaltyin Pipelined Proces
sors ”,David J.Lilja Computer,7.1990,pp.47-5
5.」に示すようなパイプライン制御方式が考えられて
いる。
【0025】この文献に記載されたパイプライン制御方
式は、条件分岐命令の後に遅延補間用の命令(以下、
「遅延スロット命令」という)を挿入するとともに、分
岐するしないにかかわらず、条件分岐命令を取り出した
後は、その直後の命令を取り出すようにしたものであ
る。
【0026】このような構成によれば、条件分岐命令を
取り出してから、次命令の取出しが可能となるまでの
間、遅延スロット命令が取り出されるため、遅延ペナル
ティが解消される。
【0027】図5および図6は、遅延スロット命令によ
り、遅延ペナルティが解消される様子を示すタイミング
チャートである。なお、図5は、遅延サイクルが1サイ
クルである場合を示し、図6は、遅延サイクルが2サイ
クルである場合を示す。
【0028】遅延サイクルが1サイクルの場合は、図5
に示す如く、条件分岐命令I3の解読サイクルt4で、
遅延スロット命令I4が取り出され、2サイクルの場合
は、図6に示す如く、条件分岐命令I3の解読サイクル
t4と実行サイクルt5で、遅延スロット命令でI4,
I5の取出しがなされる。これにより、いずれの場合で
あっても、取り出し遅延が解消されることになる。
【0029】
【発明が解決しようとする課題】以上述べたように、従
来のパイプライン制御方式は、条件分岐命令の後に、遅
延スロット命令を挿入し、分岐するしないにかかわら
ず、条件分岐命令を取り出し後は、遅延スロット命令を
取り出すことにより、遅延ペナルティを解消するように
なっている。
【0030】しかしながら、このような従来のパイプラ
イン制御方式には、次のような問題があった。
【0031】(1)まず、図4に示すように、条件分岐
命令I3の実行サイクルt5において、分岐条件が成立
するか否かを判定する処理と、この判定結果に基づいて
次命令を取り出す処理を実行しなければならないため、
1サイクルの時間が長くなり、マイクロプロセッサ全体
の性能が低下するという問題があった。
【0032】(2)また、マイクロプロセッサが実行す
るプログラムにおいては、プログラム内のデータ依存関
係から、遅延スロット命令の挿入部分に、有効な命令を
1つも挿入することができない場合ある。
【0033】このような場合、遅延スロット命令の挿入
を前提とする従来のパイプライン制御方式では、遅延ペ
ナルティを解消することができないという問題があっ
た。
【0034】(3)さらに、分岐条件ごとに、遅延スロ
ット命令数が異なる場合、マイクロプロセッサの機械語
を生成するコンパイラが、遅延スロット命令数に対応し
た機械語を生成しなければならないため、このコンパイ
ラの設計が難しくなるという問題があった。
【0035】そこで、この発明は、サイクル時間を短縮
することができ、また、遅延スロット命令を挿入するこ
とができない場合であっても、遅延ペナルティを解消す
ることができ、さらに、分岐条件ごとに遅延スロット命
令数が異なる場合であってもコンパイラを容易に設計す
ることができる命令処理方式および命令処理装置を提供
することを目的とする。
【0036】
【課題を解決するための手段】上記目的を達成するため
に、この発明は、条件分岐命令に遅延補間命令(遅延ス
ロット命令)の数を示す情報を挿入し、かつ、命令の実
行を行うパイプラインステップを条件分岐命令の実行シ
ーケンスに基づいてパイプライン化し、上記情報により
示される数の遅延補間命令の取出しが終了しても、次命
令の取出しが可能とならない場合は、遅延補間命令の取
出しが終了してから次命令の取出しが可能となるまでの
間、分岐予測により予測された分岐先の命令を取り出す
ようにしたものである。
【0037】
【作用】
(1)上記構成によれば、命令実行ステップが、条件分
岐命令の実行シーケンスに基づいて、パイプライン化さ
れているので、1サイクルの時間を短縮することができ
る。これにより、マイクロプロセッサの性能の低下を防
止することができる。
【0038】(2)また、指定数分の遅延補間命令の取
出しが終了するタイミングと次命令の取出しが可能とな
るタイミングとに基づいて、分岐予測先命令を動的に取
り出すようにしたので、プログラムが遅延補間命令の挿
入部に、有効な命令を1つも挿入することができない場
合であっても、遅延ペナルティを解消することができ
る。
【0039】(3)同様に、コンパイラは、遅延補間命
令の指定数に関係なく、できるだけ多くの遅延スロット
命令を挿入すればよいので、このコンパイラの設計が容
易になる。
【0040】
【実施例】以下、図面を参照しながら、この発明の実施
例を詳細に説明する。
【0041】図1は、この発明に係る命令処理装置の一
実施例の構成を示すブロック図である。ここで、この図
1の構成を説明する前に、図7を参照しながら、この実
施例で使用される条件分岐命令の構成の一例を説明す
る。
【0042】図に示す如く、この実施例で使用される条
件分岐命令は、通常の条件分岐命令と同様に、条件分岐
命令オペレーションコード、比較用オペランド1,2、
分岐条件コード、分岐ディスプレースメントを持つとと
もに、さらに、遅延スロット命令(遅延補間命令)の数
を指定するコードを持っている。
【0043】このコードの値により、遅延スロット命令
数を増やしたり、減らしたりすることができる。このコ
ードの内容は、詳細は後述するが、図1のデクリメント
カウンタ23にセットされる。
【0044】また、この条件分岐命令を解読するデコー
ダ22は、分岐条件コードを翻訳することにより、算術
論理装置(以下、「ALU」という)32で、この条件
命令の実行を開始してから、次命令のアドレスが決定さ
れるまでのサイクル数を計算することができる。
【0045】以上が、この実施例で使用される条件分岐
命令の構成である。次に、図1を参照しながら、この発
明の命令処理装置の一実施例の構成を説明する。
【0046】図において、10は、命令を取り出す命令
取出し部である。20は、この命令取出し部10により
取り出された命令を解読する命令解読部である。30
は、この命令解読部20の解読結果に基づいて、命令内
容を実行する命令実行部である。
【0047】命令取出し部10において、11は、各パ
イプラインステップの処理サイクルを規定するクロック
信号CLKの立上がりタイミングで、命令アドレスを保
持する命令アドレスレジスタである。
【0048】12は、この命令アドレスレジスタ11に
保持された命令アドレスを、図示しないメモリに供給す
るアドレスバスである。13は、アドレスバス12上の
命令アドレスに“1”を加算することにより、現在、取
出し中の命令の直後の命令のアドレスを生成するインク
リメンタである。
【0049】14は、アドレスバス12上の命令アドレ
スに、後述するデコーダ22から出力される分岐ディス
プレイスメントFを加算することにより、分岐先の命令
アドレスを生成する加算器である。
【0050】15は、制御信号W,Xに基づいて、イン
クリンメンタ13の出力Cと加算器14の出力Dのいず
れか一方を保持する補助レジスタである。
【0051】この補助レジスタ15は、図8に示すよう
に、制御信号Wがアクティブ状態(“1”)ときは、加
算器13の出力Dを保持し、制御信号Xがアクティブ状
態のときは、インクリメンタ12の出力Cを保持し、い
ずれもノンアクティブ状態(“0”)のときは、この保
持状態を維持する。
【0052】したがって、以下の説明では、制御信号W
を加算器出力保持信号といい、制御信号Xをインクリメ
ンタ出力保持信号という。
【0053】16は、制御信号U,Vに基づいて、イン
クリメンタ13の出力C、加算器14の出力D、補助レ
ジスタ15の出力Eのいずれか1つを選択するマルチプ
レクサである。
【0054】このマルチプレクサ16は、図9に示すよ
うに、制御信号U,Vがいずれもノンアクティブ状態の
ときは、インクリメンタ13の出力Cを選択し、制御信
号Vがアクティブ状態のときは、補助レジスタ15の出
力Eを選択し、制御信号Uがアクティブ状態のときは、
加算器14の出力Dを選択する。
【0055】したがって、以下の説明では、制御信号U
を加算器出力選択信号といい、制御信号Vを補助レジス
タ出力選択信号という。
【0056】マルチプレクサ15の出力Bは、クロック
信号CLKの立上がりタイミングで、上記命令アドレス
レジスタ11にセットされる。
【0057】17は、アドレスバス12上の命令アドレ
スに基づいて、上記メモリから読み出された命令を装置
内に取り込むための命令バスである。
【0058】命令解読部20において、21は、命令取
出し部10により取り出された命令を、クロック信号C
LKの立上がりタイミングで保持する命令レジスタであ
る。22は、この命令レジスタ21の出力Hを解読する
ことにより、後述するALU32を制御するためのAL
U制御信号Iを出力するデコーダである。
【0059】このデコーダ22は、解読命令が条件分岐
命令であるとき、この命令に含まれる分岐先ディスプレ
イスメントFを取り出し、加算器14に供給する。
【0060】また、このデコーダ22は、解読命令が条
件分岐命令であるか否かを示す条件分岐命令信号Tを出
力し、解読命令が条件分岐命令であるとき、この信号T
をアクティブ状態にする。この信号Tは、上記制御信号
U,V,W,Xの生成に使用される。
【0061】さらに、このデコーダ22は、分岐条件が
成立するか否かを予測する分岐予測機能を有し、この予
測結果を示す分岐条件成立予測信号Zを出力する。この
信号Zは、分岐条件が成立すると予測された場合に、ア
クティブ状態とされ、後述する条件分岐指定信号Mの生
成に使用される。
【0062】23は、条件分岐命令の遅延スロット命令
数コードにより指定される数の遅延スロット命令が、命
令取出し部10により取り出されたか否かを検出するデ
クリンメントカウンタである。
【0063】このカウンタ23は、命令バス17上に条
件分岐命令が出力されると、クロック信号CLKの立上
がりタイミングで遅延スロット命令数コードを保持し、
以下、同タイミングで順次カウントダウンし、カウント
値が“0”になったとき、このカウント動作を停止す
る。
【0064】このカウンタ23は、遅延スロット命令数
0/1信号Jと遅延スロット命令0信号Yを出力する。
信号Jは、カウンタ23に“0”がセットされたとき
と、このカウンタ23のカウント値が“1”になったと
き、アクティブ状態となる。信号Yは、カウンタ23に
“0”がセットされたとき、アクティブ状態になる。
【0065】信号Jは、後述する条件分岐指定信号Mの
生成に使用される。これに対し、信号Yは、分岐直後命
令無効信号Aの生成に使用される。
【0066】命令実行部30において、31は、クロッ
ク信号CLKの立上がりタイミングで、ALU制御信号
Iと、分岐条件成立予測信号Zと、遅延スロット命令数
0信号Jを保持するALU制御レジスタである。なお、
図では、各信号I,Z,Yの保持出力を、それぞれL,
K,Pとして示す。
【0067】32は、このALU制御レジスタ31から
出力されるALU制御信号Lに基づいて、命令内容を実
行するALUである。このALU32は、条件分岐命令
の実行シーケンス(条件指揮の演算、演算結果の判定
等)に基いて、複数のパイプラインステージに分割され
ている。各パイプラインステージは、命令取出し部(命
令取出しステージ)10や命令解読部(命令解読ステー
ジ)20とともに、並列駆動される。
【0068】また、ALU32は、分岐判定が終了した
か否かを示す分岐判定終了信号Rを出力し、分岐判定が
終了すると、この信号Rをアクティブ状態にする。この
信号Rは、ALU制御レジスタ31のリセットと、後述
する分岐予測先命令発行数信号Sの生成に使用される。
【0069】さらに、このALU32は、分岐条件が成
立したか否かを示す分岐条件成立信号Nを出力し、分岐
条件が成立したと判定されると、この信号Nをアクティ
ブ状態にする。この信号Nは、分岐指定信号Mと、分岐
予測失敗信号Qと、分岐直前命令無効信号Aの生成に使
用される。
【0070】33は、遅延スロット命令数0/1信号J
と、分岐条件成立予測信号Z,Kと、分岐条件成立信号
Nに基づいて、条件分岐を指定するための条件分岐指定
信号Mを出力する条件分岐指定信号発生回路である。
【0071】34は、分岐条件成立予測信号Kと、分岐
条件成立信号Nと、分岐条件判定終了信号Rとに基づい
て、分岐予測が失敗したことを示す分岐予測失敗信号Q
を出力する分岐予測失敗信号発生回路である。
【0072】35は、上記信号T,M,Qに基づいて、
補助レジスタ15の制御信号W,Xと、マルチプレクサ
16の制御信号U,Vを生成する分岐制御回路である。
この分岐制御回路35の真理値表を図10に示す。
【0073】36は、遅延スロット命令数0信号Pと、
分岐条件成立信号Nとに基づいて、条件分岐命令の直後
の命令の処理を無効にする分岐直後命令無効信号Aを生
成する分岐直後命令無効信号発生回路である。
【0074】37は、遅延スロット命令数0/1信号J
と分岐条件判定終了信号Rとに基づいて、分岐予測先命
令の発行数(取出し数)を示す分岐予測先命令発行数信
号Sを生成するシフトレジスタである。
【0075】このシフトレジスタ37は、遅延スロット
命令数0/1信号Jがアクティブ状態になると、ビット
に“1”をたて、クロック信号CLKの立上がりタイミ
ングで順次これを左にシフトする。そして、分岐条件判
定終了信号Rがアクティブ状態になると、このシフトを
停止する。その結果、“1”のシフト位置により、分岐
予測先命令の発行数が示されることになる。
【0076】38は、分岐予測失敗信号Qと分岐予測先
命令発行数信号Sに基づいて、分岐予測が失敗した場合
に、すでに処理を開始した分岐予測先命令の処理を無効
にす分岐予測先命令無効信号Gを発生する分岐予測先命
令無効信号発生回路である。
【0077】以上が図1の構成である。次に、このよう
な構成において、動作を説明する。
【0078】この実施例の動作は、遅延スロット命令数
コードにより指定される数jの遅延スロット命令の取出
しが終了するタイミングTaが、条件分岐命令の次に処
理すべき命令の取出しが可能となるタイミングTbより
早いか否かにより次のようになる。
【0079】(1)TaがTbより早い場合 この場合は、遅延スロット命令の取出しが終了してから
次命令の取出しが可能となるまで、分岐予測先命令の取
出しがなされる。これにより、遅延ペナルティの発生が
防止される。分岐予測がはずれた場合は、この命令の処
理が無効にされる。
【0080】なお、この場合には、遅延スロット命令数
jが“0”である場合も含まれる。この場合は、遅延ス
ロット命令の取出しがなされず、分岐予測命令の取出し
だけがなされる。
【0081】(2)TaがTbと同じか遅い場合 この場合は、分岐条件が成立した場合であっても、分岐
先アドレスの発行が、遅延スロット命令の取出しが終了
するまで延ばされる。なお、この場合というのは、この
発明で問題にしている遅延ペナルティが生じない場合で
ある。
【0082】以下、上述したこの実施例の動作を、次の
3つの場合に分けて、さらに詳細に説明する。
【0083】(a) (1)の場合において、遅延スロ
ット命令数jが“0”の場合 (b) TaがTbより遅い場合 (c) (1)の場合において、遅延スロット命令数j
が“0”でない場合 まず、図11、図12を参照しながら、(a)の場合に
ついて説明する。この図11および図12は、(a)の
場合の各信号の動きと命令が処理されるパイプラインス
テージの動きを示すタイミングチャートである。
【0084】ここで、図11は、デコーダ22の分岐予
測により、分岐条件が成立すると予測された場合におい
て、この予測が当った場合の動作を示す。これに対し、
図12は、この予測がはずれた場合の動作を示す。
【0085】なお、以下の説明では、分岐条件が成立す
るか否かの判定に要するサイクル数を“3”とする。ま
た、次命令は、この判定が終了したサイクルの次のサイ
クルから取り出されるものとする。
【0086】各図において、t1,t2,…は、命令の
処理サイクルを示す。このサイクルt1,t2,…は、
クロック信号CLKにより規定される。また、Ii,I
i+1,…は、i,i+1,…を命令アドレスとする命
令を示す。この命令Ii,Ii+1,…に関しては、そ
の内容と、この命令がクロック信号CLKと同期して処
理されるパイプラインステージの動きを示す。
【0087】なお、各図には、図1に示した複数の信号
のうち、動作説明に必要なもののみ示す。各信号は、
“1”のときアクティブ、“0”のときノンアクティブ
であるとみなす。
【0088】パイプラインステージにおいて、IFは、
命令取出しステージ(図1の命令取出し部10に対応)
を示し、IDは、命令解読ステージ(図1の命令解読部
20に対応)を示し、EX1〜EX7は、複数の命令実
行ステージ(図1の命令実行部30に対応)を示す。
【0089】ここで、実線で囲まれているステージは、
有効なステージで、点線で囲まれているステージは、無
効にされたステージである。
【0090】分岐判定は、条件分岐命令の条件式の演算
にかかる計算量または論理段数に応じて、命令実行ステ
ージEX1〜EX7のいずれかのステージで終了する。
今の例では、分岐判定所要サイクル数が“3”であるか
ら、分岐判定は、3番目の命令実行ステージEX3で終
了する。
【0091】まず、図11を参照しながら、分岐予測で
分岐条件が成立すると予測した場合において、この予測
が当った場合の動作を説明する。
【0092】この場合、t1サイクルにおいては、命令
アドレスレジスタ11から命令アドレスバス12に、命
令アドレスiが出力される。これにより、図示しないメ
モリから命令バス17上に条件分岐命令Iiが取り出さ
れる。
【0093】この条件分岐命令Iiは、t2サイクルの
開始タイミングで、命令レジスタ21にセットされた
後、t2サイクルで、デコーダ22により解読される。
この解読により得られたALU制御信号Iは、t3サイ
クルの開始タイミングで、ALU制御レジスタ31にセ
ットされる。
【0094】これにより、t3サイクルから分岐判定が
開始される。この判定は、条件判定所要サイクル数が
“3”であるから、実行ステージEX3の実行サイクル
t5で終了する。
【0095】次に、t1サイクルでは、図11に示すよ
うに、分岐制御回路35の3つの入力信号T,M,Qが
いずれもノンアクティブ状態にある。これにより、信号
U,V,W,Xがいずれもノンアクティブ状態となる。
【0096】マルチプレクサ16の制御信号U,Vがい
ずれもノンアクティブ状態となることにより、このマル
チプレクサ15では、インクリメンタ13から出力され
る命令アドレスi+1が選択される。
【0097】この命令アドレスi+1は、t2サイクル
の開始タイミングで、命令アドレスレジスタ11にセッ
トされる。これにより、t2サイクルでは、条件分岐命
令Iiの次の命令Ii+1の取出しがなされる。
【0098】この命令Ii+1は、t3サイクルでデコ
ーダ22により解読された後、t4サイクル以降、AL
U32により実行される。なお、この命令Ii+1は、
遅延スロット命令ではなく、分岐予測がはずれたときに
処理される命令である。
【0099】次に、t2サイクルの開始タイミングで
は、t1サイクルで取り出された条件分岐命令I(i)
に含まれる遅延スロット命令数コードが、デクリメント
カウンタ23にセットされる。これにより、カウンタ2
3には、“0”がセットされることになる。
【0100】カウンタ23に“0”がセットされること
により、このカウンタ23から出力される信号Jが、図
11に示すように、t2サイクルでアクティブ状態とな
る。
【0101】また、このt2サイクルでは、条件分岐命
令I(i)が解読されることにより、条件分岐命令信号
Tが、アクティブ状態になる。さらに、この解読に際し
ては、分岐予測により、分岐条件が成立すると予測され
るため、分岐条件成立予測信号Zがアクティブ状態にな
る。
【0102】信号J,Zがアクティブ状態になることに
より、条件分岐指定信号Mが、図11に示すように、ア
クティブ状態になる。これにより、分岐指定が有効とな
る。その結果、マルチプレクサ16では、分岐予測先ア
ドレスnが選択され、補助レジスタ15には、分岐予測
がはずれた場合に処理すべき命令のアドレスi+2が保
持される。
【0103】すなわち、分岐制御回路35の3つの入力
信号T,M,Qのうち、信号T,Mがアクティブ状態に
なることにより、この分岐制御回路35から出力される
4つの信号U,V,W,Xのうち、信号U,Xがアクテ
ィブ状態になる。
【0104】これにより、マルチプレクサ16では、加
算器14から出力される分岐予測先アドレスnが選択さ
れる。また、補助レジスタ15には、インクリメンタ1
3から出力される分岐予測がはずれた場合のアドレスi
+2が保持される。
【0105】マルチプレクサ16で選択された分岐予測
先アドレスnは、t3サイクルの開始タイミングで、命
令アドレスレジスタ11にセットされる。これにより、
t3サイクルでは、分岐予測先命令Inの取出しがなさ
れる。
【0106】次に、t2サイクルでアクティブ状態とな
った信号T,Mは、図11に示すように、t3サイクル
で、ノンアクティブ状態に戻る。これにより、信号U,
Xも、図11に示すように、ノンアクティブ状態に戻
る。
【0107】加算器出力選択信号Uがノンアクティブ状
態に戻ることにより、マルチプレクサ15では、再び、
インクリメンタ13の出力Cが選択される。このとき、
インクリメンタ13からは、命令アドレスn+1が出力
されている。
【0108】この命令アドレスn+1は、t4サイクル
の開始タイミングで、命令レジスタ11にセットされ
る。これにより、分岐予測先命令In解読がなされるt
4サイクルでは、この命令Inの次の命令In+1の取
出しがなされる。
【0109】なお、インクリメンタ出力保持信号Xがノ
ンアクティブ状態になることにより、補助レジスタ15
の制御信号W,Xはいずれもノンアクティブ状態とな
る。これにより、この補助レジスタ15では、命令アド
レスi+2の保持が継続される。
【0110】同様に、分岐予測先命令In+1の解読が
なされるt5サイクルでは、この命令In+1の次の命
令In+2の取出しがなされる。
【0111】次に、このt5サイクルになると、分岐判
定が終了するので、分岐条件判定終了信号Rがアクティ
ブ状態になる。しかし、この場合、分岐条件が成立する
ので、分岐条件成立信号Nがアクティブ状態になる。こ
れにより、分岐予測失敗信号Qがアクティブ状態になら
ない。
【0112】なお、分岐条件成立信号Nは、次の条件分
岐命令の処理に支障をきたさない適当なタイミングでノ
ンアクティブ状態に戻される。
【0113】分岐予測失敗信号Qがアクティブ状態にな
らないことにより、分岐制御回路35の出力状態は、t
4サイクルと変わらない。これにより、マルチプレクサ
15では、そのまま、インクリメンタ13の出力Cが選
択されるので、t6サイクルでは、分岐予測先命令In
+2の次の命令In+3の取出しがなされる。
【0114】なお、分岐条件成立信号Nがアクティブ状
態になることにより、分岐直後命令無効信号Aがアクテ
ィブ状態になる。これにより、条件分岐命令Iiの直後
に取り出された命令Ii+1の処理が、t6サイクル以
降無効にされる。
【0115】以上が、分岐予測が当った場合の動作であ
る。次に、図12を参照しながら分岐予測がはずれた場
合の動作を説明する。
【0116】この場合、t1サイクルからt4サイクル
までの動作は、図11の場合と同じであるが、t5サイ
クル以降の動作が異なる。
【0117】すなわち、この場合、分岐条件が成立しな
いため、分岐条件成立信号Nがアクティブ状態にならな
い。これにより、分岐予測失敗信号Qがアクティブ状態
になる。その結果、補助レジスタ出力選択信号Vがアク
ティブ状態になる。
【0118】これにより、マルチプレクサ16では、補
助レジスタ15に保持されている命令アドレスi+2が
選択される。その結果、次のt6サイクルでは、分岐予
測がはずれた場合に処理すべき命令Ii+2の取出しが
なされる。
【0119】なお、分岐予測失敗信号Qがアクティブ状
態になることにより、シフトレジスタ37から出力され
る分岐予測先命令発行数信号Sに基づいて、分岐予測先
命令無効信号発生回路38から分岐予測先命令無効信号
Gが出力される。これにより、t6サイクル以降、分岐
予測先命令In,In+1,In+2の処理が無効にさ
れる。
【0120】すなわち、t2サイクルで遅延スロット命
令数信号0/1信号jがアクティブ状態になると、シフ
トレジスタ37のビットに“1”がたてられる。この
“1”は、t3,t4,t5サイクルの開始タイミング
で順次左にシフトされる。
【0121】このシフト動作は、t5サイクルで分岐条
件判定終了信号Rがアクティブ状態になるまで続けられ
る。これにより、分岐判定が終了すると、シフトレジス
タ37から分岐予測先命令の発行数“3”を示す信号S
が出力される。
【0122】その結果、分岐予測先命令無効信号発生回
路38から分岐予測先命令の発行数分の分岐予測先命令
無効信号Gが出力される。これにより、発行された分岐
予測先命令In,In+1,In+2の処理が無効にさ
れる。
【0123】図13および図14は、(b)の場合の動
作を示すタイミングチャートである。ここで、図13
は、分岐条件が成立した場合の動作を示し、図14は、
分岐条件が成立しない場合の動作を示す。
【0124】なお、以下の説明では、遅延スロット命令
数jが“3”で、分岐判定所要サイクル数kが“1”で
ある場合を代表として説明する。
【0125】まず、図13を参照しながら、分岐条件が
成立する場合の動作を説明する。
【0126】この場合、t1サイクルで取り出された条
件分岐命令Iiは、t2サイクルの開始タイミングで、
命令レジスタ21にセットされる。このとき、デクリメ
ントカウンタ23には、“3”がセットされる。
【0127】また、t1サイクルでは、マルチプレクサ
16の制御信号U,Vが、いずれもノンアクティブ状態
となっているので、このマルチプレクサ16では、イン
クリメンタ13から出力される命令アドレスi+1が選
択される。これにより、次のt2サイクルでは、条件分
岐命令Iiの次の命令Ii+1の取出しがなされる。こ
の命令Ii+1は、遅延スロット命令である。
【0128】次に、t2サイクルでは、デクリメントカ
ウンタ23のカウント値が“3”なので、遅延スロット
命令数0/1信号Jがアクティブ状態にならない。これ
により、条件分岐指定信号Mがアクティブ状態にならな
いので、マルチプレクサ16では、そのままインクリメ
ンタ13の出力Cが選択される。その結果、次のt3サ
イクルでも、遅延スロット命令Ii+1の次の遅延スロ
ット命令Ii+2の取出しがなされる。
【0129】なお、t2サイクルでは、図12に示すよ
うに、条件分岐命令信号Tがアクティブ状態になるの
で、加算器出力保持信号Wがアクティブ状態になる。こ
れにより、補助レジスタ14には、加算器13の出力
D、すなわち、分岐条件が成立した場合に処理すべき分
岐先命令Inのアドレスがセットされる。
【0130】次に、t3サイクルでは、分岐判定が終了
するので、分岐判定終了信号Rと分岐条件成立信号Nが
アクティブ状態となる。しかし、このサイクルでは、デ
クリメントカウンタ23のカウント値が“2”なので、
遅延スロット命令数1/0信号Zは、ノンアクティブ状
態のままである。
【0131】その結果、このt3サイクルでも、条件分
岐指定信号Mがアクティブ状態にならないので、次のt
4サイクルでも、分岐が保留される。これにより、この
t4サイクルでは、分岐予測先命令Inではなく、次の
遅延スロット命令Ii+3の取出しがなされる。
【0132】次に、このt4サイクルでは、カウンタ2
3のカウント値が“1”となるので、遅延スロット命令
数0/1信号Jがアクティブ状態になる。これにより、
条件分岐指定信号Mがアクティブ状態になるので、補助
レジスタ出力選択信号Vがアクティブ状態になる。
【0133】その結果、マルチプレクサ16では、補助
レジスタ15に保持されている分岐先アドレスnが選択
されるので、次のt5サイクルでは、分岐先命令Inの
取出しがなされる。
【0134】次に、図14を参照しながら、分岐条件が
成立しない場合の動作を説明する。
【0135】この場合、t1サイクルとt2サイクルで
は、分岐条件が成立する場合と同じような動作がなされ
る。しかし、いまの例では、分岐条件が成立しないた
め、t3サイクルになって、分岐判定が終了しても、分
岐条件成立信号Nは、ノンアクティブ状態のままであ
る。
【0136】これにより、t4サイクルで、遅延スロッ
ト命令数0/1信号Jがアクティブ状態になっても、条
件分岐指定信号Mがアクティブ状態にならないため、マ
ルチプレクサ16では、インクリメンタ13の出力Cが
選択される。その結果、t5サイクルでは、分岐予測先
命令Inではなく、遅延スロット命令Ii+3の次の命
令Ii+4が取り出される。
【0137】図15および図16は、(c)の場合の動
作を示すタイミングチャートである。ここで、図15
は、分岐予測が当った場合の動作を示し、図16は、こ
の予測がはずれた場合の動作を示す。
【0138】なお、以下の説明では、遅延スロット命令
数jが2で、分岐判定所要サイクル数kが3である場合
を代表として説明する。
【0139】まず、図15を参照しながら、分岐予測が
当った場合の動作を説明する。
【0140】t1サイクルで取り出された条件分岐命令
Iiは、t2サイクルの開始タイミングで命令レジスタ
21にセットされる。このとき、デクリメントカウンタ
23には、“2”がセットされる。
【0141】また、t1サイクルでは、信号U,Vがい
ずれもノンアクティブ状態にあるので、マルチプレクサ
16では、インクリメンタ13から出力される命令アド
レスi+1が選択される。これにより、t2サイクルで
は、遅延スロット命令Ii+1の取出しがなされる。
【0142】次に、このt2サイクルでは、カウンタ2
3のカウント値が“2”なので、遅延スロット命令数0
/1信号Jがアクティブ状態にならない。これにより、
条件分岐指定信号Mもアクティブ状態にならないので、
マルチプレクサ16では、インクリメンタ13の出力C
が選択される。その結果、次のt3サイクルでは、遅延
スロット命令Ii+2の取出しがなされる。
【0143】なお、t2サイクルでは、条件分岐命令信
号Tがアクティブ状態になるので、加算器出力保持信号
Wがアクティブ状態になる。これにより、補助レジスタ
15には、加算器14から出力される分岐予測先アドレ
スnがセットされる。
【0144】また、t2サイクルでは、分岐条件成立予
測信号Zがアクティブ状態になるので、ALU制御レジ
スタ31から出力される分岐条件成立予測信号Kがt3
サイクルの開始タイミングでアクティブ状態となる。こ
の状態は、分岐条件判定終了信号Rにより、ALU制御
レジスタ31がリセットされるまで継続される。
【0145】t3サイクルになると、カウンタ23のカ
ウント値が“1”となるので、遅延スロット命令数0/
1信号Jがアクティブ状態になる。これにより、条件分
岐指定信号Mがアクティブ状態になるので、信号V,X
がアクティブ状態になる。
【0146】補助レジスタ出力選択信号Vがアクティブ
状態になることにより、マルチプレクサ16では、補助
レジスタ15に保持されている分岐予測先アドレスnが
選択される。これにより、t4サイクルでは、分岐予測
先命令Inの取出しがなされる。
【0147】また、インクリメンタ出力保持信号Xがア
クティブ状態になることにより、補助レジスタ15に
は、インクリメンタ13の出力Cがセットされる。これ
により、この補助レジスタ15には、分岐予測がはずれ
た場合に実行すべき命令のアドレスi+3がセットされ
る。
【0148】次に、t4サイクルでは、条件分岐指定信
号Mがノンアクティブ状態に戻るので、マルチプレクサ
16では、インクリメンタ13の出力Cが選択される。
これにより、t5サイクルでは、分岐予測先命令In+
1の取出しがなされる。
【0149】次に、このt5サイクルでは、分岐条件の
判定が終了するので、分岐条件判定終了信号Rがアクテ
ィブ状態になる。しかし、いまの例では、分岐条件が成
立するので、分岐条件成立信号Nがアクティブ状態にな
り、分岐予測失敗信号Qは、ノンアクティブ状態に保た
れる。
【0150】信号Qがノンアクティブ状態に保たれるこ
とにより、マルチプレクサ16では、そのまま、インク
リメンタ13の選択状態が保持される。これにより、次
のt6サイクルでは、次の分岐予測先命令I(n+1)
の取出しがなされる。
【0151】次に、図16を参照しながら、分岐予測が
はずれた場合の動作を説明する。
【0152】この場合、t1サイクルからt4サイクル
までは、分岐予測が当った場合と同じ動作がなされる。
しかし、t5サイクルでは、分岐条件が成立しないの
で、分岐条件成立信号Nがノンアクティブ状態となり、
分岐予測失敗信号Qがアクティブ状態になる。
【0153】これにより、補助レジスタ出力選択信号V
がアクティブ状態になるので、マルチプレクサ16で
は、補助レジスタ15に保持されている命令アドレスi
+3が選択される。その結果、次のt6サイクルでは、
分岐予測がはずれたときに処理すべき命令Ii+3の取
出しがなされる。
【0154】また、分岐予測失敗信号Qがアクティブ状
態になることにより、シフトレジスタ37から出力され
る分岐予測先命令発行数信号Sの基づいて、分岐予測先
命令無効信号発生回路38から分岐予測先命令無効信号
Gが出力される。これにより、t6サイクル以降、分岐
予測先命令In,In+1の処理が無効にされる。
【0155】以上詳述したこの実施例によれば、次のよ
うな効果が得られる。
【0156】(1)まず、命令実行ステージEXが、条
件分岐命令の実行シーケンスに基づいて、パイプライン
化されているので、1サイクルの時間を短縮することが
できる。これにより、命令処理装置の性能の低下を防止
することができる。
【0157】(2)また、遅延スロット命令の取出し終
了タイミングTaと次命令の取出し可能タイミングTb
とに基いて、動的に分岐予測先命令を取り出すようにし
たので、プログラムが遅延スロット命令の挿入部に、1
つも有効な命令を挿入することができない場合であって
も、遅延ペナルティが生じないようにすることができ
る。
【0158】(3)同様に、プログラムが遅延スロット
命令の挿入部に、有効な命令を挿入することができるも
のの、十分な数の命令を挿入することができない場合で
あっても、遅延ペナルティが生じないようにすることが
できる。
【0159】すなわち、命令実行ステージEXをパイプ
ライン化したことにより、プログラムが遅延スロット命
令の挿入部に2つ以上の命令を挿入することができる場
合であっても、挿入できる命令が2命令以上ない場合
は、遅延ペナルティが生じる。
【0160】しかし、この実施例は、上記の如く、分岐
予測命令を動的に挿入することができるようにしたの
で、このような場合であっても。遅延ペナルティが生じ
ないようにすることができる。
【0161】(4)同様に、コンパイラが遅延スロット
命令を挿入する場合、条件分岐命令で指定される遅延ス
ロット命令数jとは無関係に、できるだけ多くの遅延ス
ロット命令を挿入することができる。これにより、コン
パイラの設計が容易になる。
【0162】(5)同様に、分岐判定所要サイクル数k
が分岐判定に係るデータに基づいて変化する場合であっ
ても、コンパイラは遅延スロット命令に対応する機械語
を生成することができる。
【0163】すなわち、命令実行ステージEXをパイプ
ライン化した場合、分岐判定所要サイクル数kが分岐判
定に係るデータに基づいて変化することがある。
【0164】例えば、分岐条件の判定に、2つの符号付
きデータの大小比較が用いられた場合、この2つのデー
タの符号が異なれば、符号のみの比較で分岐判定が終了
するので、分岐判定所要サイクル数kは少なくなる。
【0165】これに対し、2つのデータの符号が同じ場
合は、2つのデータの全ビットを比較しなければならな
いため、分岐判定に要する計算量が多くなり、分岐判定
所要サイクル数kが多くなる。
【0166】このような場合、コンパイラは、あらかじ
め、遅延スロット命令数を知ることができないため、遅
延スロット命令に対応する機械語を生成することができ
なくなる。
【0167】しかし、この実施例では、コンパイラは、
分岐判定に係わる所要サイクル数kとは無関係に遅延ス
ロット命令を挿入することができるため、このような場
合であっても、遅延スロット命令に対応する機械語を生
成することができる。
【0168】(6)同様に、分岐予測がはずれた場合に
無効にする分岐予測先命令数を少なくすることができ
る。
【0169】すなわち、遅延ペナルティを解消するに
は、分岐するしないにかかわらず、分岐予測先命令を取
り出すようにすれば、解消することができる。
【0170】しかし、このような構成では、命令実行ス
テージEXのパイプライン段数が多くなると、分岐予測
がはずれた場合、無効にされる分岐予測命令数が多くな
る。
【0171】これに対し、この実施例は、まず、遅延ス
ロット命令を取り出し、この取出しが終了しても、次命
令の取出しが可能とならない場合だけ、分岐予測先命令
を取り出すようにしたので、分岐予測がはずれた場合で
も、無効にされる分岐予測命令を極力少なくすることが
できる。
【0172】以上、この発明の一実施例を詳細に説明し
たが、この発明は、上述したような実施例に限定される
ものでななく、ほかにもその要旨を逸脱しない範囲で種
々様々変形実施可能なことは勿論である。
【0173】
【発明の効果】以上詳述したように、この発明によれ
ば、サイクル時間を短縮することができ、また、遅延ス
ロット命令を挿入することができない場合であっても、
遅延ペナルティを解消することができ、さらに、分岐条
件ごとに遅延スロット命令数が異なる場合であってもコ
ンパイラを容易に設計することができる命令処理方式お
よび命令処理装置を提供することができる。
【図面の簡単な説明】
【図1】この発明の命令処理装置の一実施例の構成を示
すブロック図である。
【図2】パイプライン制御方式の従来のマイクロプロセ
ッサの構成を示すブロック図である。
【図3】パイプライン制御方式で命令が連続的に処理さ
れる様子を示すタイミングチャートである。
【図4】条件分岐命令により遅延ペナルティが発生する
様子を示すタイミングチャートである。
【図5】1つの遅延スロット命令により、遅延ペナルテ
ィが解消される様子を示すタイミングチャートである。
【図6】2つの遅延スロット命令により、遅延ペナルテ
ィが解消される様子を示すタイミングチャート図であ
る。
【図7】この発明の一実施例の条件分岐命令の構成を示
す図である。
【図8】補助レジスタの真理値表を示す図である。
【図9】マルチプレクサの真理値表を示す図である。
【図10】分岐制御回路の真理値表を示す図である。
【図11】TaがTbより早く、かつ、jが“0”の場
合において、分岐予測が当った場合の動作を示すタイミ
ングチャートである。
【図12】TaがTbより早く、かつ、jが“0”の場
合において、分岐予測がはずれた場合の動作を示すタイ
ミングチャートである。
【図13】TaがTbより遅い場合において、分岐条件
が成立した場合の動作を示すタイミングチャートであ
る。
【図14】TaがTbより遅い場合において、分岐条件
が成立しなかった場合の動作を示すタイミングチャート
である。
【図15】TaがTbより早く、かつ、jが“0”でな
い場合において、分岐予測が当った場合の動作を示すタ
イミングチャートである。
【図16】TaがTbより早く、かつ、jが“0”でな
い場合において、分岐予測がはずれた場合の動作を示す
タイミングチャートである。
【符号の説明】
10…命令取出し部、20…命令解読部、30…命令実
行部、11…命令アドレスレジスタ、12…命令アドレ
スバス、13…インクリメンタ、14…加算器、15…
補助レジスタ、16…マルチプレクサ、17…命令バ
ス、21…命令レジスタ、22…デコーダ、23…デク
リメントカウンタ、31…ALU制御レジスタ、32…
ALU、33…条件分岐指定信号発生回路、34…分岐
予測失敗信号発生回路、35…分岐制御回路、36…分
岐直後命令無効信号発生回路、37…シフトレジスタ、
38…分岐予測命令無効信号発生回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 条件分岐命令の後に遅延補間命令を挿入
    し、分岐するしないにかかわらず、条件分岐命令を取り
    出した後は、この遅延補間命令を取り出すことにより、
    遅延ペナルティを解消するように設定されたパイプライ
    ン制御方式の命令処理方式において、 前記条件分岐命令に前記遅延補間命令の数を指定する情
    報を挿入し、かつ、命令の実行を行うパイプラインステ
    ップを条件分岐命令の実行シーケンスに基づいてパイプ
    ライン化し、前記情報により指定される数の遅延補間命
    令の取出しが終了しても、条件分岐命令の次に処理すべ
    き命令の取出しが可能とならない場合は、遅延補間命令
    の取出しが終了してから次命令の取出しが可能となるま
    で、分岐予測により予測された分岐先の命令を取り出す
    ようにしたことを特徴とする命令処理方式。
  2. 【請求項2】 条件分岐命令の後に遅延補間命令を挿入
    し、分岐するしないにかかわらず、条件分岐命令を取り
    出し後は、この遅延補間命令を取り出すことにより、遅
    延ペナルティを解消するように設定されたパイプライン
    制御方式の命令処理装置において、 前記遅延補間命令の数を指定する情報を含む条件分岐命
    令の実行シーケンスに基づいてパイプライン化された命
    令実行手段と、 前記情報により指定される数の遅延補間命令の取出しが
    終了しても、条件分岐命令の次に処理すべきの命令の取
    出しが可能とならない場合は、遅延補間命令の取出しが
    終了してから次命令の取出しが可能となるまで、分岐予
    測により予測された分岐先の命令を取り出すように、命
    令の取出しを制御する取出し制御手段とを具備したこと
    を特徴とする命令処理装置。
JP27713592A 1992-10-15 1992-10-15 命令処理方式および命令処理装置 Pending JPH06131180A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27713592A JPH06131180A (ja) 1992-10-15 1992-10-15 命令処理方式および命令処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27713592A JPH06131180A (ja) 1992-10-15 1992-10-15 命令処理方式および命令処理装置

Publications (1)

Publication Number Publication Date
JPH06131180A true JPH06131180A (ja) 1994-05-13

Family

ID=17579286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27713592A Pending JPH06131180A (ja) 1992-10-15 1992-10-15 命令処理方式および命令処理装置

Country Status (1)

Country Link
JP (1) JPH06131180A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815698A (en) * 1996-08-01 1998-09-29 Mitsubishi Denki Kabushiki Kaisha Microprocessor having delayed instructions
KR100336773B1 (ko) * 1999-11-12 2002-05-16 박종섭 지연 분기 구조를 갖는 자바 프로세서
US6564316B1 (en) * 1998-09-10 2003-05-13 Parthusceva Ltd. Method and apparatus for reducing code size by executing no operation instructions that are not explicitly included in code using programmable delay slots
JP2007287186A (ja) * 2007-08-09 2007-11-01 Denso Corp Risc型cpu,コンパイラ及びマイクロコンピュータ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815698A (en) * 1996-08-01 1998-09-29 Mitsubishi Denki Kabushiki Kaisha Microprocessor having delayed instructions
US6851045B2 (en) 1996-08-01 2005-02-01 Renesas Technology Corp. Microprocessor having delayed instructions with variable delay times for executing branch instructions
US6564316B1 (en) * 1998-09-10 2003-05-13 Parthusceva Ltd. Method and apparatus for reducing code size by executing no operation instructions that are not explicitly included in code using programmable delay slots
KR100336773B1 (ko) * 1999-11-12 2002-05-16 박종섭 지연 분기 구조를 갖는 자바 프로세서
JP2007287186A (ja) * 2007-08-09 2007-11-01 Denso Corp Risc型cpu,コンパイラ及びマイクロコンピュータ

Similar Documents

Publication Publication Date Title
US6430674B1 (en) Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time
JP2846406B2 (ja) 分岐処理方法及び分岐処理装置
US7437543B2 (en) Reducing the fetch time of target instructions of a predicted taken branch instruction
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
EP0368332B1 (en) Pipeline data processor
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
US6269439B1 (en) Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same
US9361110B2 (en) Cache-based pipline control method and system with non-prediction branch processing using a track table containing program information from both paths of a branch instruction
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US5809294A (en) Parallel processing unit which processes branch instructions without decreased performance when a branch is taken
JPH03116236A (ja) 例外処理方法及び例外処理装置
US8572358B2 (en) Meta predictor restoration upon detecting misprediction
JPH03116233A (ja) データプロセッサの命令処理システム
US6981131B2 (en) Early condition code evaluation at pipeline stages generating pass signals for controlling coprocessor pipeline executing same conditional instruction
EP0357188B1 (en) Pipelined processor
EP0094535B1 (en) Pipe-line data processing system
US4739470A (en) Data processing system
EP0378415A2 (en) Multiple instruction dispatch mechanism
EP0223150B1 (en) Information processing apparatus
US5634136A (en) Data processor and method of controlling the same
US6115730A (en) Reloadable floating point unit
JPH06131180A (ja) 命令処理方式および命令処理装置
US20030172258A1 (en) Control forwarding in a pipeline digital processor
JPWO2004068337A1 (ja) 情報処理装置
EP0573071A2 (en) A microprocessor