JPH027128A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH027128A
JPH027128A JP15853188A JP15853188A JPH027128A JP H027128 A JPH027128 A JP H027128A JP 15853188 A JP15853188 A JP 15853188A JP 15853188 A JP15853188 A JP 15853188A JP H027128 A JPH027128 A JP H027128A
Authority
JP
Japan
Prior art keywords
instruction
return
address
storage means
call
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
JP15853188A
Other languages
English (en)
Inventor
Toshimichi Matsuzaki
敏道 松崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP15853188A priority Critical patent/JPH027128A/ja
Publication of JPH027128A publication Critical patent/JPH027128A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、パイプライン処理機構を有する情報処理装置
において、サブルーチンからのリターンを特に高速に処
理するに適した制御機構を備えた情報処理装置に関する
従来の技術 分岐を伴なう命令のうち特にサブルーチンからのリター
ン処理を高速化する装置としては、特願昭62−285
140号に記載された情報処理装置がある。この装置は
、コール命令を検出した時点でレジメタに退避する戻夛
番地と同一の内容およびその時の少なくとも1つ以上の
先読み命令とをバッファに格納し、リターン命令を検出
した時にレジメタ内の戻9番地とバッファ内の戻り番地
とを比較し、一致していればバッファ内の戻り番地およ
び命令を使って、コール命令によって中断された命令処
理の流れを再開する装置である。この制御機構によりメ
モリからの命令読み出しと並行して退避された命令を読
み出し、命令読み出しのための処理の遅れを解決してい
る。
発明が解決しようとする課題 しかし、上記装置はコール命令実行時の先読み命令が存
在しているという条件で命令の退避を行なっていた。こ
のため、コール命令実行時に無駄な先読みを行なう可能
性があった。プログラムによってはコールされたサブル
ーチンの中において戻り先を変更する場合がある。この
ような場合には、先読みしてバッファに退避された命令
は使用されないからである。更にバッファ内に退避され
る戻p番地は、サブルーチン内で戻り番地が変更された
か否かを検査する目的以外に、再開する命令処理の先読
み番地としても使用する構成となっている。しかし、戻
り先の命令がバッファ内に退避されている場合には、命
令先読み番地は戻り番地に、退避されていた命令語数分
を加えた番地となる。従って戻り番地を直接的に先読み
開始番地としては使用できず、戻り番地から先読み番地
を計算する必要があった。その結果、たとえ退避された
戻)先の命令が使用可能であっても、それに続く命令の
先読みが遅れるという問題があった。
本発明の目的は、リターン命令実行時にパイプラインの
空きを生じることなく簡単な制御機構によって、中断さ
れた命令処理の流れを再開可能とする情報処理装置を提
供することである。
課題を解決するための手段 本発明は、戻り番地をスタックに格納する際のスタック
ポインタの内容と既に先読みされた命令とその命令の存
在を示す情報とその時点での先読み番地とを格納する戻
り情報格納手段と、戻り情報格納手段の内容が有効であ
ることを常に監視する有効性監視手段とを備えたことを
特徴とする情報処理装置である。
作  用 本発明は上記手段により、コール命令実行時に後続する
命令が先読みされていない場合でも、それを除く他のリ
ターン情報を格納することによって、コール命令の処理
速度の低下を抑えると共に無駄な先読みを低減する。i
た、実行中の処理の流れがコール命令によって中断され
た時点の命令先読み番地を利用するため、再開時のパイ
プラインの空きをなくすことができる。
実施例 第1図および第2図は本発明の一実施例の構成を示す図
で、101は命令先読み番地を保持する命令プリンエッ
チカウンタ(以下PFCと略す)、102はPFCの内
容に従って命令を出力する命令キャッシュ(以下ICと
略す)、103は命令処理の流れに従ってPFCの内容
を増加した値とコール命令実行時に退避されたプリフェ
ッチ開始番地とを選択するセレクタ、104は前記PF
C1IC,セレクタ101を制御し、命令を先読みする
先読み機構、105は命令処理の流れに従って先読みさ
れた命令、106は先読み命令105とコール命令実行
時に退避された戻り先命令とを選択するセレクタ、10
7は先読み命令105あるいは戻り先命令のいずれかを
格納する命令バッファ(以下IBと略す)、108はZ
Bから供給される命令を解読する命令解読器で、コール
命令およびリターン命令を解読した時にはリターン制御
部の制御信号を生成すると共に、処理に必要な他の全て
の制御信号109を生成する。110は命令処理に必要
な演算を行なう実行制御部で、ALUやレジスタファイ
ル等によって構成される。200はリターンの高速化処
理を行なうリターン制御部(以下RCと略す)で、内部
の詳細な機構は第2図に記載されている。111は命令
処理の流れに従ってP F’ Cに格納されたプリ7工
ツチ番地を転送するパスで、コール命令実行時点のプリ
フェッチ番地がRe2O3に転送される。112はコー
ル命令実行時にRe2O3に転送されたプリフェッチ番
地を、リターン命令実行時に命令先読み機構104に転
送するパス。113はコール命令実行時に既にlB10
7に先読みされた命令をRe2O3に転送するパスで、
コール命令実行時点において命令が存在しなければ転送
は行なわない。
114はコール命令実行時に退避した先読み命令を、リ
ターン命令実行時にlB107に再格納するために転送
を行なうパス。116は転送パス113によって先読み
命令がRe2O3に転送されたか否かを示す命令バッフ
ァ情報。116はI Dl 08かRe2O3を制御す
る制御信号で、コール命令およびリターン命令の検出信
号等が含まれている。117はEXに含まれるスタック
ポインタの内容を示すパスで、Re2O3は常にスタッ
クポインタを見ることができる。118はEXlloが
外部メモリに対してアクセスする際のアドレスを送出す
るアドレスバスで、Re2O3は常にアドレスを見るこ
とができる。第2図はリターン制御部の詳細を示す図で
、同図に於て201はプリ7工ツチ番地、命令バッファ
情報、プリ7エツチ命令、アドレスおよびこれらの情報
の有効性を示すバリッド信号202を入力して格納する
バッファであり、これらを1つの組として複数組格納す
る。203はスタックポインタの内容117とアドレス
118を切換えるセレクタで、通常はスタックポインタ
値117の側を選択し、メモリ書込みが発生した場合に
アドレス側を選択する。
204はセレクタ203によって選択された側と、バッ
ファ201に格納された戻り先番地を格納したスタック
トップの番地全てとを比較し、一致信号205を出力す
る。206は戻り先番地を格納するスタックトップの番
地をタグとして、格納されたプリフェッチ命令、命令バ
ッファ情報、プリフェッチ番地を出力する連想記憶装置
である。
207はリターン制御全体の制御部である。
以上のように構成した本発明の一実施例において次にそ
の動作を説明する。
〔コール命令実行時〕
第3図はコール命令実行時のタイミングを示す図であり
、6段パイプライン処理で動作している様子を示す。
T1のタイミングで先読み機構104によって読み出さ
れたコール命令はT2でID1oaにより解読される。
同タイミングで先読み機構104は次の命令(リターン
先の命令となる)を読み出し、lB107に格納する。
また、PFClolには次々命令の先読み番地を格納す
る。解読の結果コール命令であることが判明すると、I
D10Bはコール先番地の計算指令をEXlloに与え
ると同時に、制御信号116によJIB107に格納さ
れた次命令と、PFClolに格納された次々命令のプ
リフェッチ番地を、それぞれパス113および111に
よりリターン制御部200に転送し、バッファ201に
格納する。また、I B115から有効な命令が転送さ
れたことを命令バッファ情報として通知する。T3のタ
イミングで計算されたコール先番地を基に、先読み機構
104はT4のタイミングでコール先命令を読み出す。
またID10Bの制御により実行部110は戻り番地を
計算する。T6のタイミングでは実行部110は戻り番
地を格納するためのスタックトップのアドレスを計算し
て、T6のタイミングでアドレスバスを行ない、T7の
タイミングで計算した戻り番地をメモリのスタックにブ
ツシュする。このとき、メモリのアドレスが118に出
力され、Re2O3に転送される。転送されたアドレス
は、T3のタイミングで既に転送された戻り先命令およ
び戻り先のプリ7工ツチ開始番地と共にバッファ201
の同一エントリに格納される。制御部207は一組のエ
ントリのデータが全て格納されると、そのエントリが有
効であることを信号線202によって示す。また、制御
信号116によりメモリへの書込みが通知されるとアド
レスバス118を監視し、スタック内の戻り先番地の内
容が変更された時には、エントリを無効化する。
〔リターン命令実行時〕
第4図はコール命令実行時に、IBに戻り先命令が存在
する場合のリターン命令の動作タイミングを示す図であ
る。T1タイミングでリターン命令がフェッチされ、T
2タイミングで解読される。
解読した結果リターン命令であることが制御信号116
により通知される。一方T2タイミングでリターン制御
部200はスタックポインタの内容によりパノ7ア20
1を検索し、戻り先番地を格納した番地に一致するバッ
ファエントリの戻り先命令と戻り先のフェッチ開始番地
を用意している。
従ってリターン命令であることが通知されると直ちにT
3のタイミングで戻り先命令と戻り先のフェッチ開始番
地を、それぞれパス114および112によfiIB1
07およびPFClolに再格納する。この結果、T3
のタイミングで戻り先命令の解読および戻り先の次の命
令の7エツチが可能となる。
第5□□□はコール命令実行時に、より1oγに戻り先
命令が存在しない場合のリターン命令の動作タイミング
を示す図である。第4図と異なるのは、戻り先命令の解
読が1サイクル後3に伸びてT4のタイミングで行なわ
れている点である。
第6図はサブルーチンの命令処理においてスタックに格
納された戻り番地を変更した場合のリターン命令の動作
タイミングである。この場合リターン制御部内の戻り先
命令および戻り先のフェッチ開始番地が無効化されてい
るので、メモリのスタックから戻り番地を読み出して(
、T4タイミング)、命令先読み機構104に転送した
後、(Ttsタイミング)、戻り先の命令を読み出す。
(Taタイミング)、この場合リターン命令の実行に6
クロソク要する。
発明の効果 以上述べたように、本発明によればリターン命令実行時
のパイプラインの空きをなくすことが可能とな力、実行
速度を向上できる。しかもコール命令実行時に格納する
リターン情報が全て揃わなくても処理を進めることによ
り、先読みした命令がサブマーチンの処理中で無効化さ
れる割合を減少でき、コール時の無駄な先読みを低減す
る効果がある。
なお、戻り先命令およびプリフェッチ開始番地を格納し
たバッファは、戻り先番地の格納先であるスタックポイ
ンタの内容により検索されるため、リカーシブコールに
も矛盾なく対応できる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本発明の一実施例におけるリターン制御部の詳細
な構成を示すブロック図、第3図はコール命令実行時の
動作を説明するタイミング図、第4図は戻り先命令と戻
り先7エツチ開始番地が両方共に使用できた場合のリタ
ーン命令実行時の動作を説明するタイミング図、第5図
は戻り先フェッチ開始番地のみが使用できた場合のリタ
ーン命令実行時の動作を説明するタイミング図、第6図
は両方共に使用できない場合のリターン命令実行時の動
作を説明するタイミング図である。 102・・・・・・命令キャッシュ、103・・・・・
・セレクタ 104・・・・・・命令先読み機構、10
6・・・・・・セレクタ、1o7・・・・・命令バッフ
ァ、1o8・甲・・命令解読器、110・・・・・・実
行制御部、200・・・・・・リターン制御部、201
・・・・・・戻り情報格納手段、207・・・・・有効
性監視手段。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第 図 泡1flD 戻り先919 ブリ1x−r+閉始魯塘 第 図 第 図 L   ’   (鴫  の   φ −さ o Oこ 呂 区 第 図

Claims (1)

    【特許請求の範囲】
  1. 実行に先立って命令コードを読み出す命令先読み手段と
    、前記命令先読み手段が読み出した命令を格納する命令
    格納手段と、前記命令格納手段に格納された命令を解読
    し、少なくともコール命令とリターン命令との解読情報
    を出力する命令解読手段と、前記命令解読手段がコール
    命令を解読した時に戻り番地の格納先を指すスタックポ
    インタの内容と前記命令先読み手段により既に読み出さ
    れた命令があればその存在を示す情報と前記命令格納手
    段の内容と次に先読みする番地とを格納する戻り情報格
    納手段と、前記戻り情報格納手段の内容が有効であるこ
    とを常に監視する有効性監視手段と、前記命令解読手段
    がリターン命令を解読した時に前記リターン情報格納手
    段に格納されたスタックポインタの内容とリターン命令
    実行時のスタックポインタの内容とを比較して、一致、
    かつ有効なリターン情報の場合に限り、リターン情報格
    納手段に格納されている命令および先読み番地をそれぞ
    れ前記命令格納手段および命令先読み手段に転送して処
    理を行なうことを特徴とした情報処理装置。
JP15853188A 1988-06-27 1988-06-27 情報処理装置 Pending JPH027128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15853188A JPH027128A (ja) 1988-06-27 1988-06-27 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15853188A JPH027128A (ja) 1988-06-27 1988-06-27 情報処理装置

Publications (1)

Publication Number Publication Date
JPH027128A true JPH027128A (ja) 1990-01-11

Family

ID=15673766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15853188A Pending JPH027128A (ja) 1988-06-27 1988-06-27 情報処理装置

Country Status (1)

Country Link
JP (1) JPH027128A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009004990B4 (de) 2009-06-22 2023-01-26 Toyota Jidosha Kabushiki Kaisha Brennstoffzellensystem und Steuerverfahren beim Starten des Brennstoffzellensystems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009004990B4 (de) 2009-06-22 2023-01-26 Toyota Jidosha Kabushiki Kaisha Brennstoffzellensystem und Steuerverfahren beim Starten des Brennstoffzellensystems

Similar Documents

Publication Publication Date Title
US4701844A (en) Dual cache for independent prefetch and execution units
EP1003095B1 (en) A computer system for executing branch instructions
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
JP2596712B2 (ja) 近接した分岐命令を含む命令の実行を管理するシステム及び方法
US20040172518A1 (en) Information processing unit and information processing method
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JP3741870B2 (ja) 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路
US20080065870A1 (en) Information processing apparatus
JP2004192021A (ja) マイクロプロセッサ
JP2680899B2 (ja) 情報処理装置及びその制御方法
JPH027128A (ja) 情報処理装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
US20040103267A1 (en) Data processor having cache memory
JPH0773034A (ja) 情報処理装置
JPH08286914A (ja) メモリ制御装置
JPH07219838A (ja) データ先読み制御装置
JPH01193938A (ja) 命令先読み装置
JPH03113535A (ja) パイプライン制御機構
JPS5952349A (ja) 命令先取制御装置
JPH01239638A (ja) 分岐予測を行う情報処理装置
JPH0227430A (ja) 分岐命令のフェッチ方式
JPS63168730A (ja) 分岐命令処理装置
JPH0471028A (ja) マイクロプロセッサ
JPS6191725A (ja) アドレスマツチ制御方式
JPS6295636A (ja) 先取り制御処理装置