JPH09292995A - 命令先取り装置 - Google Patents

命令先取り装置

Info

Publication number
JPH09292995A
JPH09292995A JP10260896A JP10260896A JPH09292995A JP H09292995 A JPH09292995 A JP H09292995A JP 10260896 A JP10260896 A JP 10260896A JP 10260896 A JP10260896 A JP 10260896A JP H09292995 A JPH09292995 A JP H09292995A
Authority
JP
Japan
Prior art keywords
instruction
address
subroutine
return
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.)
Pending
Application number
JP10260896A
Other languages
English (en)
Inventor
Takakazu Mishima
位和 三嶋
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.)
NEC Ibaraki Ltd
Original Assignee
NEC Ibaraki 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 NEC Ibaraki Ltd filed Critical NEC Ibaraki Ltd
Priority to JP10260896A priority Critical patent/JPH09292995A/ja
Publication of JPH09292995A publication Critical patent/JPH09292995A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 サブルーチンからメインルーチンへ戻る際
に、不要な命令先取りを廃し、有効な命令先取りを実現
することによって、性能向上を図る。 【解決手段】 アドレス生成部7は、実行中命令の次の
命令のアドレスを生成する。コール命令検出部6は、サ
ブルーチンコール命令を検出すると、アドレス生成部7
にて生成したアドレスを、アドレス保持部8にて保持さ
せる。この時に保持されるのは、サブルーチンコール命
令の次の命令、すなわちサブルーチンから戻った直後の
命令のアドレスである。サブルーチン処理を実行中に、
リターン命令検出部5がリターン命令を検出した場合に
は、アドレス選択部9は、アドレス保持部8が保持する
アドレスを選択し、このアドレスを先取り用のアドレス
として使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は命令先取り装置に関
し、特に、サブルーチン命令に好適な命令先取り装置に
関する。
【0002】
【従来の技術】従来のこの種の命令先取り装置は、サブ
ルーチン処理中であるか否かを考慮せずに、命令の先取
りを行うものが多かった。これに対し、特開昭61−1
96332には、先取りした複数の命令を格納するレジ
スタを複数個有し、サブルーチン処理の終了までメイン
ルーチンにおけるサブルーチンへの分岐後の命令を保存
しておく方法が記載されている。
【0003】
【発明が解決しようとする課題】上述した従来の多くの
命令先取り装置では、サブルーチンからのリターン命令
を実行した時点で、サブルーチン処理中に先取りしてい
た命令が不必要となり、改めてメインルーチンの命令を
取り直す必要が生じるため、サブルーチンからメインル
ーチンへ戻る際に、無駄な命令先取りが発生し、性能向
上の妨げとなっている。
【0004】また、特開昭61−196332に記載さ
れている方法では、先取りした複数の命令を格納するレ
ジスタを用意する必要があり、ハードウェア量の増大を
招くという問題点がある。
【0005】本発明の目的は、サブルーチンからメイン
ルーチンへ戻る際に、不要な命令先取りを廃し、有効な
命令先取りを実現し、性能向上を図る命令先取り装置を
提供することである。
【0006】
【課題を解決するための手段】本発明の命令先取り装置
は、メインルーチンからサブルーチンへ移る際の戻り先
のアドレスを保持しておき、サブルーチン処理中の命令
先取り時に、リターン命令を検出すると、次の命令先取
り用のアドレスとして、前記保持しておいた戻り先アド
レスを使用することを特徴とする。
【0007】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して詳細に説明する。
【0008】図1は、本発明の一実施例のブロック図で
あり、処理装置1と記憶装置2とから成る。処理装置1
は、命令実行部3,命令バッファ4リターン命令検出部
5,コール命令検出部6,アドレス生成部7,アドレス
保持部8,アドレス選択部9,先取りアドレス生成部1
0およびカウンタ11から構成される。
【0009】記憶装置2は、アドレス選択部9が送出す
るアドレス信号ADによって指定されるアドレスからデ
ータ信号DTを送出する機能を持ち、アドレス信号AD
とデータ信号DTは命令バッファ4に蓄えられる。命令
実行部3は、命令バッファ4から逐次に命令を取り出し
て実行していく。また、先取りアドレス生成部10は、
アドレス信号ADと、そのときに記憶装置2から読み出
すバイト数とから、先取りアドレスを生成しアドレス信
号PADとしてアドレス選択部9に送出する。
【0010】一方、リターン命令検出部5は、データ信
号DTをデコードしてリターン命令を検出するとリター
ン信号RTNをアドレス選択部9とカウンタ11に送出
する。コール命令検出部6は、命令バッファ4から取り
出される実行命令信号CMDをデコードして、コール命
令を検出するとコール命令信号CALをアドレス保持部
8とカウンタ11に送出する。また、アドレス生成部7
は、命令バッファ4から取り出される実行命令信号CM
Dと実行アドレス信号BADとから、実行中のコマンド
のアドレスの次のアドレスを生成し、生成アドレス信号
GADとしてアドレス保持部8に送出する。
【0011】カウンタ11は、アドレス保持部8をワー
ド数分の大きさを持ち、コール命令信号CALを受信す
るとカウントアップし、リターン信号RTNを受信する
とカウントダウンする。また、カウンタ11が示す値を
ライト信号Wとして送出し、カウンタ値マイナス1の値
をリード信号Rとして送出する。
【0012】アドレス保持部8は上述したように、コー
ル命令信号CALを受信するとライト信号Wが示すワー
ドに生成アドレス信号GADを書き込む。また、リード
信号Rが示すワードの値を保持アドレス信号SADとし
て送出する。このようにして、カウンタ11とアドレス
保持部8は、先入れ後出し式のバッファを形成してお
り、サブルーチンから更にサブルーチンを呼ぶ、いわゆ
る入れ子状態の場合にも、シークエンスを狂わすことな
く、対応が可能である。
【0013】アドレス選択部9は、リターン信号RTN
が非アクティブならアドレス信号PAD、リターン信号
RTNがアクティブなら保持アドレス信号SADを選択
して、アドレス信号ADとする。
【0014】いま、一つの命令を先取りした後に、次に
命令を先取りする動作について説明する。
【0015】先取りした命令のアドレスと、その命令の
バイト数とを基に、先取りアドレス生成部10にて、次
に先取りする命令のアドレス信号PADを生成する。ア
ドレス信号PADは、アドレス選択部9にて、リターン
信号RTNが非アクティブである条件にて選択され、ア
ドレス信号ADとして記憶装置2に送出される。記憶装
置2は、アドレス信号ADに従い、命令をデータ信号D
Tとして、処理装置1に送出する。このようにして、先
取りした命令の直後の命令を先取りすることができる。
【0016】次に、命令実行部3にて実行した命令がサ
ブルーチンコールであった場合の動作について説明す
る。
【0017】命令実行部3、コール命令検出部6、およ
びアドレス生成部7対して、命令バッファ4から実行命
令信号CMDが送出される。また、これと同時にアドレ
ス生成部7には、命令バッファ4から、実行アドレス信
号BADも入力される。実行命令信号CMDと実行アド
レス信号BADは、命令実行部3にて実行されるコマン
ドと、そのアドレスである。アドレス生成部7は、これ
らを基に、実行中コマンドのアドレスの次のアドレスを
生成し、生成アドレス信号GADとしてアドレス保持部
8に送出する。
【0018】一方、コール命令検出部6は、実行命令信
号CMDをデコードし、サブルーチンコール命令を検出
した場合に、コール命令信号CALをアクティブとす
る。アドレス保持部8は、コール命令信号CALがアク
ティブである条件にて、カウンタ11のライト信号Wが
示すワードに生成アドレス信号GADを書き込む。この
時に書き込まれるのは、サブルーチンコール命令の次の
命令、すなわちサブルーチンから戻った直後の命令のア
ドレスである。
【0019】アドレス保持部8は、コール命令信号CA
Lが非アクティブとなった後も、コール命令信号CAL
が再度アクティブとなるまで、書き込んだデータを保持
する。また、カウンタ1のリード信号Rが示すワードの
データを、保持アドレス信号SADおしてアドレス選択
部9に送出する。
【0020】次に、サブルーチンの処理が終了し、メイ
ンルーチンへのリターン命令が検出された場合の処理を
説明する。
【0021】リターン命令検出部5は、先取りしてきた
直後のデータ信号DTを入力し、これをデコードしてリ
ターン命令を検出すると、リターン信号RTNをアクテ
ィブとする。アドレス選択部9はリターン信号RTNが
アクティブである条件にて、記憶装置2へ送出するアド
レス信号ADとして、信号SADを選択する。記憶装置
2は、アドレス信号ADに従い、命令をデータ信号DT
として、処理装置1に送出する。このようにして、保持
しておいたアドレスを、サブルーチンからメインルーチ
ンへの戻り時に使用することができ、サブルーチンコー
ルの次の命令を先取りすることができる。
【0022】
【発明の効果】本発明によれば、メインルーチンからサ
ブルーチンへ移る際の戻り先のアドレスを保持してお
き、サブルーチン処理中の命令先取り時に、リターン命
令を検出すると、次の命令先取り用のアドレスとして、
保持しておいた戻り先アドレスを使用する構成としたた
め、サブルーチンからメインルーチンへ戻る際に、不要
な命令先取りを廃し、有効な命令先取りを実現し、性能
を向上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【符号の説明】
1 処理装置 2 記憶装置 3 命令実行部 4 命令バッファ 5 リターン命令検出部 6 コール命令検出部 7 アドレス生成部 8 アドレス保持部 9 アドレス選択部 10 先取りアドレス生成部 11 カウンタ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 メインルーチンからサブルーチンへ移る
    際の戻り先のアドレスを保持しておき、サブルーチン処
    理中の命令先取り時に、リターン命令を検出すると、次
    の命令先取り用のアドレスとして、前記保持しておいた
    戻り先アドレスを使用することを特徴とする命令先取り
    装置。
  2. 【請求項2】 実行中命令をデコードしてサブルーチン
    コール命令を検出するコール命令検出部と、 前記実行中命令のアドレスとバイト数とを基に、実行中
    命令の次の命令のアドレスを生成するアドレス生成部
    と、 サブルーチンコール命令検出時に前記生成したアドレス
    を保持するアドレス保持部と、 先取りした命令をデコードしてサブルーチンからのリタ
    ーン命令を検出するリターン命令検出部と、 前記のリターン命令が検出された場合には、前記アドレ
    ス保持部が保持するアドレスを、次の命令の先取り用ア
    ドレスとして選択するアドレス選択部とを有することを
    特徴とする請求項1記載の命令先取り装置。
  3. 【請求項3】 前記アドレス保持部のワード数分の大き
    さを有し、前記サブルーチンコール命令検出時にカウン
    トアップし、前記リターン命令検出時にカウントダウン
    し、カウント値をライト信号、カウント値マイナス1の
    値をリード信号として前記アドレス保持部に供給するカ
    ウンタを設けたことを特徴とする請求項2記載の命令先
    取り装置。
JP10260896A 1996-04-24 1996-04-24 命令先取り装置 Pending JPH09292995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10260896A JPH09292995A (ja) 1996-04-24 1996-04-24 命令先取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10260896A JPH09292995A (ja) 1996-04-24 1996-04-24 命令先取り装置

Publications (1)

Publication Number Publication Date
JPH09292995A true JPH09292995A (ja) 1997-11-11

Family

ID=14331963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10260896A Pending JPH09292995A (ja) 1996-04-24 1996-04-24 命令先取り装置

Country Status (1)

Country Link
JP (1) JPH09292995A (ja)

Similar Documents

Publication Publication Date Title
JP3290280B2 (ja) 情報処理装置
US6542982B2 (en) Data processer and data processing system
US6654871B1 (en) Device and a method for performing stack operations in a processing system
JP3729545B2 (ja) キャッシュメモリへのアクセス
US6507899B1 (en) Interface for a memory unit
JPH01310441A (ja) データ処理装置
US5572667A (en) Interrupt processing device for controlling the timing of an interrupt signal initiated by a debugging break point in an instruction code
JP4812058B2 (ja) Fifo管理方法及びパイプラインプロセッサシステム
JPH07121437A (ja) コンピュータシステム
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
JPH09292995A (ja) 命令先取り装置
US5500830A (en) Memory access device
JP2000148584A (ja) プリフェッチ方法および装置
US20050102574A1 (en) Apparatus and method for performing boundary scans using fixed and variable signal groups
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
US20050097518A1 (en) Apparatus and method for transferring multiple scan length signal groups for JTAG boundary scans
JP2762798B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置
US20050262403A1 (en) Apparatus and method for single operation read-modify-write in a bit-accessible memory unit memory
JP2666737B2 (ja) トレースメモリ内蔵マイクロプロセッサおよびトレース方法
JPS63314644A (ja) デ−タ処理装置
JP2762797B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置
KR20000003930A (ko) 명령어 캐시 미스 시 손실을 줄이기 위한 명령어 페치 장치
JPH1055303A (ja) メモリシステム
JPH04255995A (ja) 命令キャッシュ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990323