JPS62285140A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS62285140A
JPS62285140A JP61127919A JP12791986A JPS62285140A JP S62285140 A JPS62285140 A JP S62285140A JP 61127919 A JP61127919 A JP 61127919A JP 12791986 A JP12791986 A JP 12791986A JP S62285140 A JPS62285140 A JP S62285140A
Authority
JP
Japan
Prior art keywords
instruction
address
register
stack
holding means
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
JP61127919A
Other languages
English (en)
Inventor
Eiki Kamata
釜田 栄樹
Yoichi Shintani
洋一 新谷
Akira Yamaoka
山岡 彰
Kazunori Kuriyama
和則 栗山
Toru Shonai
亨 庄内
Kiyoshi Inoue
潔 井上
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP61127919A priority Critical patent/JPS62285140A/ja
Publication of JPS62285140A publication Critical patent/JPS62285140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 3、発明の詳細な説明 〔産業上の利用分野〕 本発明は命令の先行制御機構を有する情報処理装置に係
り、特にサブルーチンからリターンする分岐命令を高速
に処理するために好適な命令制御機構を備える情報処理
装置に関する。
〔従来の技術〕
分岐命令や割込処理などのために、実行中である命令処
理の流れが中断されたとき、所定の処理を行った後に、
中断された命令処理の流れを再開する制御と高速化する
装置として、特願昭51−46038号に記載された装
置がある。この装置は、命令処理の流れが中断されたと
きに、先読みされた命令とアドレスを別に用意したレジ
スタに退避し、中断された命令処理の流れを再開すると
きは、バッファストレージからの命令読出しと併行して
退避された命令を読み出すことによって、バッファスト
レージからの命令読出しのための命令処理の遅れを解決
している。
〔発明が解決しようとする問題点〕
しかし、上記装置は中断された命令処理の流れが再開さ
れるが否かについての配慮がされていなかった。このた
め、命令を退避するレジスタが一杯となってあふれやす
いという問題があった。その結果、中断された命令処理
の流れを再開するときは、既に、退避された命令はレジ
スタからあふれて読み出すことができないということが
少なくなかった。また、複数の中断された命令処理の流
れの中から、再開すべき命令処理の流れを判断して、退
避された命令を読み出さなければならないという問題が
あった。その結果、退避された命令のアドレスすべてに
ついて命令読出しアドレスと比較を行い、一致したアド
レスに対応した命令処理の流れを選択して、退避された
命令を読み出すというような複雑な制御機構を必要とし
ていた。
本発明の目的は、命令を退避するためのレジスタの容量
を増大させることなく、簡単な制御機構によって、中断
された命令処理の流れを高い割合で高速に再開すること
のできる情報処理装置を提供することにある。
〔問題点を解決するための手段〕
上記目的は、サブルーチンをコールする動作を含むコー
ル命令を検出するコール検出手段と、サブルーチンから
リターンする動作を含むリターン命令を検出するリター
ン検出手段とを備えることにより達成される。それは、
実行中である命令処理の流れが中断されたとき、所定の
処理を行った後に、中断された命令処理の流れが再開さ
れる場合の大部分が、サブルーチンコールとサブルーチ
ンリターンの組合せであるという理由からである。
したがって、中断された命令処理の流れの先読みされた
命令とアドレスを退避する契機として、コール命令を検
出したときとし、また、退避された命令を読み出して中
断された命令処理の流れを再開する契機として、リター
ン命令を検出したときとすることによって、上記目的を
達成できる。
〔作用〕
コール命令以外の要因によって命令処理の流れが中断さ
れたとき、その命令処理の流れが再開される可能性は少
ない。本発明によるコール検出手段は、このような場合
、中断された命令処理の流れの先読みされた命令とアド
レスを退避するように指示することがない。それによっ
て、再開されない命令処理の流れの先読みされた命令と
アドレスを退避するという無駄が減少する。その結果、
命令を退避するためのレジスタの使用効率が向上するの
で、レジスタの容量を増大させることなく。
中断された命令処理の流れの退避された命令をレジスタ
から読み出して高速に再開することのできる割合を向上
させることができる。また、コール検出手段とリターン
検出手段に対応して、中断された命令処理の流れの先読
みされた命令の退避と読出しを行うことができる。この
ため、先読みした命令を退避するレジスタを後入れ先出
し(LIF0)によって制御することが可能となるなど
、制御機構を簡略化することができる。
〔実施例〕
以下、本発明の一実施例を第1図により説明する。
現在処理中である命令に後続している命令は、順番に引
き続いて処理される可能性が高く、バッファストレージ
(図示省略)から、公知の機構を用して先読みが行われ
る。この先読みされた命令は、セレクタ50により選択
されて、命令バッファ10に設定される。次命令アドレ
スレジスタ11は、命令バッファ10内に存在し次に処
理すべき命令のアドレスを保持するように制御される。
命令アライナ12は1次命令アドレスレジスタ11の下
位ビットを用いて、命令バッファ10から次に処理すべ
き命令を切り出す。インクリメンタ13は、命令アライ
ナ12によって切り出される命令の長さを求め(命令の
長さは1例えば、命令コードのビットパターンから求め
られる)、それを次命令アドレスレジスタ11に保持さ
れている命令アドレスに加算する。この加算結果は、セ
レクタ51により選択されて1次命令アドレスレジスタ
11に返される。このようにして2次命令アドレスレジ
スタ11は、次に処理すべき命令のアドレスを保持する
ように制御され、命令アライナ12は、次に処理すべき
命令を、順に切り出すことができる。
命令アライナ12により切り出されている次に処理すべ
き命令は、命令レジスタ2oに設定されて、命令処理が
開始される。命令デコーダ21は。
命令レジスタ20に設定されている命令を解読して、以
降の処理に必要な各種の制御信号を生成する。本実施例
においては、命令デコーダ21は、特に、サブルーチン
をコールする動作を含むコール命令を解読するとCAL
L信号を出力し、また、サブルーチンからリターンする
動作を含むリターン命令を解読するとRεTN(、’j
号を出力する。分岐判定回路23は・、命令レジスタ2
oに設定されている命令が分岐を行う命令である場合に
、命令の実行状況を指示するコンディションコード22
を参照して、分岐を行うか否かを判定し、分岐を行う場
合には、TAKN信号を出力する。レジスタファイル2
4は、命令あるいはオペランドのアドレスを保持するこ
とのできるレジスタの集合である。コール命令は、後続
する次の命令のアドレス(戻りアドレス)を退避するレ
ジスタとして、レジスタファイル24内のレジスタを指
定して、サブルーチンをコールし、また、リターン命令
は、戻り番地を保持しているレジスタとして、レジスタ
ファイル24内のレジスタを指定して、サブルーチンか
らリターンする。比較器25は、レジスタファイル24
から読み出されろ命令アドレスと、後述するアドレスス
タック41のスタック1−ツブに保持されている命令ア
ドレスとを比較して、一致した場合には、 EQUL信
号を出力する。
スタック制御回路40は、シフト機能を有するレジスタ
群より構成されるアドレススタック41及び命令スタッ
ク42を、後入れ先出しくIJFO:Last −I 
n First−Out)によって制御する。したがっ
て、アドレススタック41と命令スタック42は、それ
ぞれ1次命令アドレスレジスタ11と命令バッファ10
の内容を、後入れ先出し(LIF0)によって、互いに
対にして保持する。
次に、第1図における命令処理の動作を説明する。
まず、コール命令が命令レジスタ20に設定され、命命
処理が開始される場合について説明する。
命令デコーダ21は、命令レジスタ2oに設定されてい
る命令がコール命令であることを識別すると、CALL
信号を出力する。また、分岐判定回路23は、コンディ
ションコード22を参照して、分岐(すなわち、サブル
ーチンコール)が行われるか否かを判定し、サブルーチ
ンコールが行われるならば、TAKN信号を出力する。
この結果、ANDゲート30は、処理すべき命令がコー
ル命令であり、かつ、実際にサブルーチンコールが行わ
れるとき、PUSI+信号を出力する。たたし、アーキ
テクチャによっては、命令の解読のみでコール命令がサ
ブルーチンコールを行うことが判定できる。この場合、
必ずしもTAKN信号を必要としない(このことは、後
述するリターン命令、ブランチ命令についても同様であ
る)。スタック制御回路40は、TUSI+信号を受れ
取ると、後続する次の命令のアドレス(戻りアドレス)
が保持されている次命令アドレスレジスタ11の内容を
アドレススタック41に、また、後続する次の命令以降
の命令を含む命令バッファ10の内容を命令スタック4
2に退避するための制御を行う。つまり1次命令アドレ
スレジスタ11及び命令バッファ10の内容は、アドレ
ススタック41及び命令スタック42のスタックトップ
に設定され、同時に、スタック内のアドレス及び命令は
、スタックボトムの方向にシフト(ブツシュ)される。
このとき、スタックボトムのアドレス及び命令は棄てら
れる。さらに、コール命令は、後続する次の命令のアド
レス(戻りアドレス)を退避するレジスタを指定するフ
ィールドを有している。このフィールドで指定されたレ
ジスタファイル24内のレジスタに後続する次の命令の
アドレス(戻りアドレス)を退避する。
次に、サブルーチンコールが行われ、所定の処理が行わ
れた後に、リターン命令が命令レジスタ20に設定され
、命令処理が開始される場合について説明する。命令デ
コーダ21は、命令レジスタ20に設定されている命令
がリターン命令であることを識別すると、RETN信号
を出力する。また、分岐判定回路23は、コンディショ
ンコード22を参照して、分岐(すなわち、サブルーチ
ンリターン)が行われるか否かを判定し、サブルーチン
リターンが行われるならば、TAKN信号を出力する。
さて、リターン命令は、戻りアドレスを得るために、コ
ール命令が戻りアドレスを退避したレジスタを指定する
フィールドを有している。比較器25は、このフィール
ドで指定されたレジスタファイル24内のレジスタの内
容と、アドレススタック41のスタックトップの内容と
を比較して。
一致した場合に、EQLIL信号を出力する。EOUL
信号は、リターン命令によって処理が再開される命令を
含む命令バッファ10の内容が命令スタック42のスタ
ックトップに退避されていることを示す。この結果、A
NDゲート27は、処理すべき命令がリターン命令であ
り、がっ、処理が再開される命令が命令スタック42の
スタックトップに存在するとき、RITF信号を出力す
る。また。
ANDゲート31は、上記条件に加えて、実際にサブル
ーチンリターンが行われるとき、POP信号を出力する
。スタック制御回路4oは、POP信号を受は取ると、
処理が再開される命令のアドレス(戻りアドレス)が保
持されているアドレススタック41のスタックトップの
内容を次命令アドレスレジスタ11に、また、処理が再
開される命令を含む命令スタック42のスタックトップ
の内容を命令バッファ10に回復するための制御を行う
。このため、セレクタ51及びセレクタ5゜は、それぞ
れ、アドレススタック41がらのアドレス及び命令スタ
ック42がらの命令を選択するように、POP信号によ
り制御される。このとき、同時に、スタック内のアドレ
ス及び命令は、スタックトップの方向にシフト(ポツプ
)される。
以上のように、サブルーチンコール、サブルーチンリタ
ーンに対応して、アドレススタック41゜命令スタック
42がブツシュ、ポツプされるので、サブルーチンがネ
ストしている場合においても、コール命令によって中断
された命令処理の流れを、リターン命令によって高速に
再開することができる。
さて、本発明の他の実施例と第2図により説明する。
従来から、マルチストリーム方式と呼ばれる制御方式が
知られている。マルチストリーム方式においては、複数
の命令バッファを設け、そのなかの1つが、現在処理中
の命令を含む命令処理の流れのために用いられる。この
命令処理の流れは、メインストリームと呼ばれる。メイ
ンストリームの処理中に分岐命令が現ねれると、使用さ
れていない命令バッファの1つに、分岐先の命令を含む
命令処理の流れが割り当てられる。この命令処理の流れ
は、ターゲットストリームと呼ば九、分岐が成立した時
点で新たにメインストリームとなる。
第2図においては、命令バッファ10、次命令アドレス
レジスタ11などをそれぞれ含む4つの命令ストリーム
回路SM#O,SM# 1.SM# 2゜SM#3を備
えている。命令ストリーム回路の数は、4つの限定され
るものではなく、ハードウェア量と本発明により高速化
の効果とのトレードオフで決定される。命令バッファ1
09次命令アドレスレジスタ11.命令アライナ12.
インクリメンタ13は、第1図と同じ構成であり、同じ
動作をする。
現在、メインストリームとなっている命令ストリームの
切り出された命令は、セレクタ7oにより選択され、命
令レジスタ20に設定されて、命令処理が開始される。
命令デコーダ21は、第1図で説明したCALL信号、
 RETN信号以外にBr1NC信号を出力する。[]
RNC信号は、コール命令はたはリターン命令以外の分
岐する動作を含むブランチ命令が解読されたときに出力
される。分岐判定回路23とレジスタファイル24の構
成、動作は、第1図の場合と同様である。比較器26は
、レジスタファイル24から読み出される命令アドレス
と、セレクタ71で選択された命令ストリーム内の次命
令アドレスレジスタ11に保持されている命令アドレス
とを比較して、一致していない場合にはEQUL信号を
、一致していない場合にはNEQL信号を出力する。セ
レクタ70.セレクタ71の動作については、後に説明
する。
ストリーム制御回路60は、命令ストリームを後入れ先
出し(LIF0)によって制御する。各々の命令ストリ
ームの状態は、ストリームレジスタ61〜64が指示し
ており、結局、ストリーム制御回路6oは、ストリーム
レジスタ61〜64を後入れ先出し(LIF0)によっ
て制御する。
本実施例においては、メインストリーム、ターゲットス
トリームの他に、スタックスドリームと呼ぶ命令ストリ
ームを新たに導入する。スタックスドリームは、コール
命令によって中断された命令処理の流れである。このス
タックスドリームは、リターン命令によって命令処理の
流れが再開されるまで保持され、再開された時点でメイ
ンストリームとなる。スタックスドリームは、複数備え
ることが可能であり、サブルーチンがネストしている場
合においても、コール命令によって中断された命令処理
の流れを、リターン命令によって高速に再開することが
できる。
ターゲラ1〜ストリームレジスタ (TSMレジスタ)
61は次に分岐命令が現、f)!1.たときに割り当て
られる命令ストリームを指示している。メインストリー
ムレジスタ (MSMレジスタ)62は現在処理中の命
令ストリームを指示している。スタックストリームルジ
スタ (SSMIレジスタ)63は、最も近来のコール
命令によって中断された命令ストリームを指示しており
、スタックスドリーム2レジスタ(55M2レジスタ)
64は、2番目に近来のコール命令によって中断された
命令ストリームを指示している。スタックスドリームの
数を増加させる場合には、それに対応して、スタックス
ス1〜リームレジスタの数を増加させる必要がある。
セレクタ70は、MSMレジスタ62が指示する命令ス
トリームを選択する。すなわち、現在処理中である命令
処理の流れの次に処理すべき命令を選択する。セレクタ
71は、SSMIレジスタ63が指示する命令ストリー
ムを選択する。すなわち、最も近来のコール命令によっ
て中断された命令処理の流れの再開すべき命令アドレス
を選択する。
次に、第2図における命令処理の動作を説明する。
処理すべき命令がコール命令であり、かつ、実際にサブ
ルーチンコールが行われるとき、ANDゲート3oがP
USH信号を出力する動作過程は、第1図と同様である
。リターン命令が命令レジスタ20に設定され、命令処
理が開始される場合には、命令デコーダ21がRETN
信号を出力する。比較器26は、リターン命令が戻りア
ドレスを得るために指定したレジスタファイ、ル24内
のレジスタの内容と、SSMIレジスタ63が指示して
いる最も近来のコール命令によって中断された命令処理
の流れの再開すべき命令アドレスを保持している次命令
アドレスレジスタ11の内容とを比較して、一致した場
合にはEQUL信号を出力し、一致しなかった場合には
NEQL信号を出力する。この結果、ANDゲート27
は、処理すべき命令がリターン命令であり、かつ、処理
が再開される命令がスタックスドリーム1内の命令バッ
ファ10に存在するとき、REF信号を出力する。反対
に、ANDゲート28は、処理すべき命令がリターン命
令であり、かつ、処理が再開される命令がスタックスド
リーム1内の命令バッファ10に存在しないとき、RI
ETS信号を出力する。ANDゲート31は、第1図と
同様に、R[ETF信号が出力される条件に加えて、実
際にサブルーチンリターンが行われるとき、POP信号
を出力する。さて1本実施例においては、ブランチ命令
が命令レジスタ20に設定され、命令処理が開始される
場合、命令デコーダ21は、 BRNC信号を出力する
。○Rアゲート9は。
処理すべき命令がブランチ命令であるか、または。
処理すべき命令がリターン命令であっても処理が再開さ
れる命令がスタックスドリーム1内の命令バッファ10
に存在しない場合、BRCI+信号を出力する。さらに
、ANDゲート32は、上記条件に加えて、実際に分岐
が行われるときS Id C)I信号を出力する。 P
USI+信号、POP信号、 5WC11信号は、スト
リーム制御回路60に送られる。
第3図は、ストリーム制御回路60の動作を示している
。ストリーム制御路口60は、TSMレジスタ61.M
SMレジスタG2.SSMIレジスタ63,55M2レ
ジスタ64を管理することによって、命令ストリームを
制御している。これらのストリームレジスタ61〜64
に保持されているit 、L k、lは、命令ストリー
ムの番号を示しており、互いに異なるO〜3の整数であ
る。
さて、現時点では、ターゲラ1−ストリームに命令スト
リーム回路SM# i  (SM# i)が、メインス
トリームにSMtFjが、スタックスドリームにSM#
 kとSM# lが割り当てられている。この状態であ
る命令処理が行われたとき、命令ストリームの割当てが
どのように変更されるかを、第3図は示している。ブラ
ンチ命令、コール命令。
リターン命令の命令処理が開始されると、それぞれ、5
WC11信号、 PUSH信号、POP信号が、ストリ
−ムレジスタ6oに送られてくることは前述した通りで
ある。また1分岐を行う動作を含まない通常の命令の命
令処理が開始されたときは、いずれの信号も送られてこ
ない。
5WCI+信号、 PUSI(信月、pop信号ノイず
れも送られてこない場合には、命令ストリームの割当て
は変更されない。したがって、メインストリームに割り
当てられているS M # Jの後続する次の命令の命
令処理が順に行われる。S W C11信号が送られて
きた場合には、次に命令処理を行うべき命令は、分岐先
の命令である。このため、現時点でターゲットストリー
ムに割り当てられているS M # iが新たにメイン
ストリームに割り当てられ、分岐先の命令の命令処理が
行われる。このとき、メインストリームに割り当てられ
ていたSM# jの命令処理が中断されるが、SM#j
の命令処理は再開される可能性は低い。したがってSM
# jは新たにターゲットストリームに割り当てられ1
分岐を行う動作を含む命令が次に現われる場合に備える
PUSII信号が送られてきた場合には1次に命令処理
を行うべき命令は1分岐先の命令である。このため、5
WCI+信号が送られてきた場合と同様に、S M #
 iが新たにメインストームームに割り当てられ、分岐
先の命令の命令処理が行われる。また。
このとき、メインストリームに割り当てられていたSM
#jの命令処理は中断される。しかし。
SM#jの命令処理は再開される可能性が非常に高い。
したがって、SM#jはスタックスドリームにブツシュ
される。そして、スタックスドリームからあふれたSM
# lが新たにターゲットストリームに割り当てられ、
分岐を行う動作を含む命令が次に現われる場合に備える
。POP信号が送られてきた場合には、次に命令処理を
行うべき命令は、やはり1分岐先の命令であるが、その
命令を含む命令ストリームは、スタックスドリームのス
タックトップに保持されている。つまり、次に命令処理
を行うべき命令は、スタックスドリーム1に割り当てら
れているSM#kに含まれている。
したがって、スタックスドリームをポツプして、SM#
 kが新たにメインストリームに割り当てられる。この
場合、次に命令処理を行うべき命令は、既にSM# k
の命令バッファ10内に存在しているので、バッファス
トレージからの命令の読出しを待つことなく、次の命令
処理を開始することができる。このとき、メインストリ
ームに割り当てられていたSM#jの命令処理が中断さ
れるが、SM#jの命令処理は再開される可能性は低い
したがって、SM# jは新たにターゲットストリーム
に割り当てられ、分岐を行う動作を含む命令が次に現れ
る場合に備える。また、ターゲットストリームに割り当
てられていたSM#iは、スタックスドリームのスタッ
クボトムに割り当てられる。以上、ターゲットストリー
ムが1つの場合について説明したが、ターゲットストリ
ームを複数用いる場合には、スタックスドリームのスタ
ックボトムを割り当てる。
第2図に示す実施例の場合は、中断された命令処理の先
読みされた命令とアドレスを退避するレジスタを別に用
意する必要がなく、また、命令バッファとレジスタ間の
命令転送のために要する時間を節約することができる。
第4図、第5図は、それぞれ、第1図、第2図の変形例
を示している。
例えば1日立層作所のMシリーズアーキテクチャにおい
ては、サブルーチンリンケージを行う際のコンベンショ
ンとして、汎用レジスタ#14に戻りアドレスを退避す
ることが頻繁に行われる。
また、汎用レジスタ#14は、その目的のために用いら
れることが多い。このことを利用すれば、コール命令は
、サブルーチンをコールする動作を含み、かつ、戻りア
ドレスを特定のレジスタ(汎用レジスタ#14)に退避
する命令であるとし、また、リターン命令は、サブルー
チンからリターンする動作を含み、かつ戻りアドレスを
特定のレジスタ(汎用レジスタ#14)から得る命令で
あるとすることによって、制御を簡単にすることができ
る。つまり、命令デコーダ21は、上記の条件を満たす
とき、CALL信号、 RETN信号を出力するように
変更する。その結果、第1図、第2図におけるレジスタ
ファイル24は、特定のレジスタ(汎用レジスタ#14
)240に置き換えることができる。
本変形例においては1日立層作所のMシリーズアーキテ
クチャに基づいて説明したため、特定の ・レジスタと
して、汎用レジスタ#14を用いる場合を示した。しか
し1本発明は、特定のレジスタとして、汎用レジスタ#
14を用いる場合に限定されるものではない。他のアー
キテクチャにおいても、リンケージコンベンションに従
って、戻りアドレスを退避するレジスタを特定のレジス
タとして用いることにより、本発明を適用できる。
〔発明の効果〕
本発明によれば、中断された命令処理の流れの先読みさ
れた命令とアドレスを退避する契機として、サブルーチ
ンをコールする動作を含む命令を検出したときとし、ま
た、退避された命令を読み出して中断された命令処理の
流れを再開する契機として、サブルーチンからリターン
する動作を含む命令を検出したときとしているので、命
令を退避するレジスタの容量を増大させることなく、簡
単な制御機構によって、中断された命令処理の流れを高
い割合で高速に再開することができるという効果がある
【図面の簡単な説明】
第1図は本発明の一実施例を説明するための図、第2図
は本発明の他の実施例を説明するための図、第3図は第
2図に示されているストリーム制御回路60の動作を説
明するための図、第4図、第5図はそれぞれ第1図、第
2図の変形例を説明するための図である。 10・・・命令バッファ、11・・・次命令アドレスレ
ジスタ、12・・・命令アライナ、20・・・命令レジ
スタ。 21・・・命令デコーダ、23・・分岐判定回路、24
・・・レジスタファイル、25.26・・・比較器、4
0・・・スタック制御回路、41・・・アドレススタッ
ク、42・・命令スタック、60・・・ストリーム制御
回路、61〜64・・・ストリームレジスタ、240・
・・汎用42.印令スタノ2 24・しシ“スタフ7プル 42 句令スゲツク 6Q スゲツク剛拳回路

Claims (1)

  1. 【特許請求の範囲】 1、命令の先行制御機構を有する情報処理装置において
    、 命令のアドレスを保持するアドレス保持手段と、サブル
    ーチンをコールするために後続する命令のアドレスを該
    アドレス保持手段に保持して分岐する第1の分岐命令を
    検出するコール検出手段と、サブルーチンからリターン
    するために該アドレス保持手段に保持されているアドレ
    スに分岐する第2の分岐命令を検出するリターン検出手
    段と、第1の分岐命令をコール検出手段が検出した場合
    に該第1の分岐命令に後続する1つ以上の命令を保持す
    る命令保持手段とを備え、 第2の分岐命令をリターン検出手段が検出した場合には
    、該命令保持手段に保持されている命令を取り出して処
    理を行うことを特徴とする情報処理装置。 2、前記アドレス保持手段が命令で指定されるレジスタ
    であることを特徴とする特許請求の範囲第1項記載の情
    報処理装置。 3、前記アドレス保持手段が命令で指定される特定の番
    号のレジスタであることを特徴とする特許請求の範囲第
    1項記載の情報処理装置。 4、前記命令保持手段は、保持されている命令のアドレ
    スをも保持し、該命令保持手段に保持されているアドレ
    スと 前記アドレス保持手段に保持されているアドレスとを比
    較する比較手段を備え、前記リターン検出手段は該比較
    手段が一致を検出する前記第2の分岐命令を検出するこ
    とを特徴とする特許請求の範囲第1項から第3項のいず
    れか一つに記載の情報処理装置。 5、前記命令保持手段を後入れ先出し(LIF0:La
    st−In First−Out)により制御すること
    を特徴とする特許請求の範囲第1項から第4項のいずれ
    か一つに記載の情報処理装置。 6、前記命令保持手段が一杯となりあふれた場合には、
    該命令保持手段に最も先に保持された命令を棄てて新し
    い命令を保持することを特徴とする特許請求の範囲第5
    項記載の情報処理装置。 7、命令の先読みを行う少くとも2つ以上の命令バッフ
    ァを備え、前記命令保持手段として、命令バッファを共
    用することを特徴とする特許請求の範囲第1項から第6
    項のいずれか一つに記載の情報処理装置。
JP61127919A 1986-06-04 1986-06-04 情報処理装置 Pending JPS62285140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61127919A JPS62285140A (ja) 1986-06-04 1986-06-04 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61127919A JPS62285140A (ja) 1986-06-04 1986-06-04 情報処理装置

Publications (1)

Publication Number Publication Date
JPS62285140A true JPS62285140A (ja) 1987-12-11

Family

ID=14971882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61127919A Pending JPS62285140A (ja) 1986-06-04 1986-06-04 情報処理装置

Country Status (1)

Country Link
JP (1) JPS62285140A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01222332A (ja) * 1988-03-01 1989-09-05 Mitsubishi Electric Corp パイプライン処理機構を持つデータ処理装置
JPH01258032A (ja) * 1988-04-07 1989-10-16 Mitsubishi Electric Corp パイプライン処理機構を持つデータ処理装置
JPH02212936A (ja) * 1989-02-14 1990-08-24 Matsushita Electron Corp パイプライン構造を有する半導体装置
JPH02278337A (ja) * 1989-04-19 1990-11-14 Nec Corp 命令キュー装置
JPH06161748A (ja) * 1989-12-18 1994-06-10 Digital Equip Corp <Dec> サブルーチン復帰予想機構
US5978904A (en) * 1988-03-01 1999-11-02 Mitsubishi Denki Kabushiki Kaisha Data processor
CN1089734C (zh) * 1993-09-29 2002-08-28 格雷斯公司 具有改善流变性的改性水泥添加剂产品及其制备方法
US6484253B1 (en) 1997-01-24 2002-11-19 Mitsubishi Denki Kabushiki Kaisha Data processor

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01222332A (ja) * 1988-03-01 1989-09-05 Mitsubishi Electric Corp パイプライン処理機構を持つデータ処理装置
US5978904A (en) * 1988-03-01 1999-11-02 Mitsubishi Denki Kabushiki Kaisha Data processor
US6408385B1 (en) 1988-03-01 2002-06-18 Mitsubishi Denki Dabushiki Kaisha Data processor
JPH01258032A (ja) * 1988-04-07 1989-10-16 Mitsubishi Electric Corp パイプライン処理機構を持つデータ処理装置
JPH02212936A (ja) * 1989-02-14 1990-08-24 Matsushita Electron Corp パイプライン構造を有する半導体装置
JPH02278337A (ja) * 1989-04-19 1990-11-14 Nec Corp 命令キュー装置
JPH06161748A (ja) * 1989-12-18 1994-06-10 Digital Equip Corp <Dec> サブルーチン復帰予想機構
CN1089734C (zh) * 1993-09-29 2002-08-28 格雷斯公司 具有改善流变性的改性水泥添加剂产品及其制备方法
US6484253B1 (en) 1997-01-24 2002-11-19 Mitsubishi Denki Kabushiki Kaisha Data processor

Similar Documents

Publication Publication Date Title
US7797513B2 (en) Non-blocking, multi-context pipelined processor
US7260706B2 (en) Branch misprediction recovery using a side memory
FI90804C (fi) Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu
US6374350B1 (en) System and method of maintaining and utilizing multiple return stack buffers
US7320066B2 (en) Branch predicting apparatus and branch predicting method
EP0448499B1 (en) Instruction prefetch method and system for branch-with-execute instructions
US20080177981A1 (en) Apparatus and method for decreasing the latency between instruction cache and a pipeline processor
JPH0810430B2 (ja) 情報処理装置
US6330664B1 (en) Method relating to handling of conditional jumps in a multi-stage pipeline arrangement
JPS6254342A (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
EP1111501A2 (en) Hardware arrangement and method for expanding the data processing time of pipeline stages in a microcomputer system
US5233691A (en) Register window system for reducing the need for overflow-write by prewriting registers to memory during times without bus contention
JPH09321797A (ja) キュー処理システム及びキュー処理方法
JPS5927935B2 (ja) 情報処理装置
JPS62285140A (ja) 情報処理装置
US6237086B1 (en) 1 Method to prevent pipeline stalls in superscalar stack based computing systems
JP3840045B2 (ja) データ処理方法及びデータ処理装置
US6629167B1 (en) Pipeline decoupling buffer for handling early data and late data
US6163821A (en) Method and apparatus for balancing load vs. store access to a primary data cache
US5317703A (en) Information processing apparatus using an advanced pipeline control method
US20020069351A1 (en) Memory data access structure and method suitable for use in a processor
US6910119B1 (en) Instruction pipe and stall therefor to accommodate shared access to return stack buffer
US20050289330A1 (en) Branch control method and information processor
JPS6022768B2 (ja) デ−タ処理方法
JP2596639B2 (ja) 先行制御方式