JPH05216715A - 関数コール・リターン検出方式 - Google Patents

関数コール・リターン検出方式

Info

Publication number
JPH05216715A
JPH05216715A JP4054363A JP5436392A JPH05216715A JP H05216715 A JPH05216715 A JP H05216715A JP 4054363 A JP4054363 A JP 4054363A JP 5436392 A JP5436392 A JP 5436392A JP H05216715 A JPH05216715 A JP H05216715A
Authority
JP
Japan
Prior art keywords
function
address
call
return
fetched
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
JP4054363A
Other languages
English (en)
Other versions
JP2716310B2 (ja
Inventor
Kiyoshi Yoneda
潔 米田
Masahiro Iwanaga
雅洋 岩永
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.)
NIPPON DENKI MICOM TECH KK
NIPPON DENKI MICOM TECHNOL KK
NEC Corp
Original Assignee
NIPPON DENKI MICOM TECH KK
NIPPON DENKI MICOM TECHNOL KK
NEC Corp
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 NIPPON DENKI MICOM TECH KK, NIPPON DENKI MICOM TECHNOL KK, NEC Corp filed Critical NIPPON DENKI MICOM TECH KK
Priority to JP4054363A priority Critical patent/JP2716310B2/ja
Publication of JPH05216715A publication Critical patent/JPH05216715A/ja
Application granted granted Critical
Publication of JP2716310B2 publication Critical patent/JP2716310B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 関数コールおよびリターンの検出において、
プリフェッチ機能をもったCPUでも正確、かつ、短時
間に解析を行えるようにすることにある。 【構成】 CPUの実行履歴中のプログラム・フェッチ
時のバス情報を、ステップ101により順次サンプリン
グした順に取り出し、アドレスに着目する。続いて、ス
テップ102により、フェッチするプログラムのアドレ
スが連続であるか否かをチェックする。連続であれば、
再度、データの読み込みを行い、連続でなくなったと
き、従来と同様にして関数コールおよび関数リターンの
検出動作に移る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラム中の関数の動
作解析に関し、特に関数のコールおよびリターン方式に
関する。
【0002】
【従来の技術】プログラムの動作解析において、関数の
遷移状況を調査することに欠くことができない。CPU
の実行履歴から関数の遷移状況を調べるためには、コー
ル命令およびリターン命令の実行箇所を検出することが
必要である。この際、コール命令およびリターン命令の
検出は、図3に示すようにして行われる。
【0003】CPUの実行履歴中のプログラム・フェッ
チ時のバス情報をステップ301によってサンプリング
した順に取り出し、アドレスに着目する。そのアドレス
をステップ303によって関数のアドレス・エントリ・
テーブルに検索に行き、ステップ304により関数の先
頭アドレスと比較する。その結果、両アドレスが一致す
れば、ステップ306により関数コールが起こったもの
と判定する。両アドレスが一致しなかった場合であれ
ば、ステップ305により、直前にプログラム・フェッ
チされたアドレスの関数領域と、現在、読み込まれたデ
ータのアドレスの関数領域とを比較する。両関数領域が
異なるときには、ステップ307により、直前にプログ
ラム・フェッチされたアドレスが指示する関数からのリ
ターンであると判断する。
【0004】しかしながら、上記方法では、プログラム
・フェッチ時に読み込まれたバス情報を逐次、テーブル
検索に向かわせなければならない。関数コールおよびリ
ターン命令のフェッチは全プログラム・フェッチ中の極
く一部であるので、関数コールおよびリターン命令をフ
ェッチしたバス情報だけを抜き出してコールであるかあ
るいはリターンであるかの判別を行わないと、検出時間
を短縮することができない。また、実行プログラムを先
き読み(以下、プリフェッチと称する。)CPUを使用
したシステムの関数コールおよび関数リターンの検出に
おいて、実際には実行されない命令をプリフェッチした
場合、上記方法によれば実際に実行されたか否かの判断
ができない。
【0005】
【発明が解決しようとする課題】解決しようとする課題
は、関数コールおよび関数リターン命令をフェッチした
バス情報だけを抜き出して、コールであるかあるいはリ
ターンであるかの判別を行うことができない点、並びに
実際には実行されない命令をプリフェッチした場合、実
際に実行されたか否かの判断ができない点である。
【課題を解決するための手段】
【0006】本発明は、関数コール命令および関数リタ
ーン命令のフェッチ・データだけを抜き出すための第1
の手段と、前記抜き出されたフェッチ・データによりコ
ールであるか、あるいはリターンであるかを判別する第
2の手段とを備えた関数コール・リターン検出方式であ
って、前記第1の手段は関数のアドレス領域の情報を納
めたエントリ・アドレス・テーブルの当該アドレスが或
る関数の先頭アドレスと一致するか否かを判定する第3
の手段と、前記第3の手段によって前記一致を検出する
ことにより関数コールが起こったことを判断する第4の
手段と、前記一致が検出されなかったときであって、か
つ、或る関数領域から別の関数領域へアドレスが移った
とき、移り先のアドレスが関数の先頭アドレスでなけれ
ば、或る関数からのリターンが起こった箇所であると判
断する第5の手段と、前記抜き出されたフェッチ・デー
タのなかから連続しないアドレス点を検出する第6の手
段と、前記第6の手段によりアドレスの不連続点を検出
したとき、コールあるいはリターンの動作であるとして
前記第2の手段に伝える第7の手段とを備えたことを特
徴とする。
【0007】
【実施例】次に、本発明について図面を参照して説明す
る。図1は、本発明による関数コール・リターン検出方
式の動作例を示すフローチャートである。CPUの実行
履歴中のプログラム・フェッチ時のバス情報を、ステッ
プ101によりサンプリングした順に取り出し、アドレ
スに着目する。ステップ102により、フェッチするプ
ログラムのアドレスの連続性をチエックする。アドレス
が連続であれば、再度、データの読み込みを行い、連続
でなくなった時点で関数コール・リターンの検出動作に
移る。
【0008】フェッチするプログラムのアドレスが連続
ではなったとき、ステップ103により上記アドレスを
図2に示すエントリ・アドレス・テーブルに検索にゆ
く。ステップ104によりエントリ・アドレス・テーブ
ル内の当該アドレスと関数の先頭アドレスとを比較し、
両アドレスが一致すれば、ステップ106により関数コ
ールが起こったと判断する。
【0009】両アドレスが一致しなかった場合、ステッ
プ105により、直前にプログラム・フェッチされたア
ドレスの関数領域と、現在、読み込まれたデータのアド
レスの関数領域とを比較する。両関数領域が異なると
き、ステップ107により、直前にプログラム・フェッ
チされたアドレスが探す関数からのリターンであると判
断する。
【0010】
【発明の効果】本発明によれば、プリフェッチ機能をも
ったCPUのプログラム解析時にも関数コール・リター
ン検出が可能となり、さらにプログラム・フェッチ時の
アドレスを逐次、エントリ・アドレス・テーブルに検索
に行く手間が省け、検出時間が短縮できる利点がある。
【図面の簡単な説明】
【図1】本発明による関数コール・リターン検出方式の
動作を説明するフローチャートである。
【図2】図1に関するエントリ・アドレス・テーブルを
示す図である。
【図3】従来技術による関数コール・リターン検出方式
の動作を説明するフローチャートである。
【符号の説明】
101〜107,301,303〜307 処理ステッ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 関数コール命令および関数リターン命令
    のフェッチ・データだけを抜き出すための第1の手段
    と、 前記抜き出されたフェッチ・データによりコールである
    か、あるいはリターンであるかを判別する第2の手段と
    を備えた関数コール・リターン検出方式であって、 前記第1の手段は関数のアドレス領域の情報を納めたエ
    ントリ・アドレス・テーブルと前期エントリ・アドレス
    ・テーブルの当該アドレスが或る関数の先頭アドレスと
    一致するか否かを判定する第3の手段と、 前記第3の手段によって前記一致を検出することにより
    関数コールが起こったことを判断する第4の手段と、 前記一致が検出されなかったときであって、かつ、或る
    関数領域から別の関数領域へアドレスが移ったとき、移
    り先のアドレスが関数の先頭アドレスでなければ、或る
    関数からのリターンが起こった箇所であると判断する第
    5の手段と、 前記抜き出されたフェッチ・データのなかから連続しな
    いアドレス点を検出する第6の手段と、 前記第6の手段によりアドレスの不連続点を検出したと
    き、コールあるいはリターンの動作であるとして前記第
    2の手段に伝える第7の手段とを備えたことを特徴とす
    る関数コール・リターン検出方式。
JP4054363A 1992-02-05 1992-02-05 関数コール・リターン検出方式 Expired - Fee Related JP2716310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4054363A JP2716310B2 (ja) 1992-02-05 1992-02-05 関数コール・リターン検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4054363A JP2716310B2 (ja) 1992-02-05 1992-02-05 関数コール・リターン検出方式

Publications (2)

Publication Number Publication Date
JPH05216715A true JPH05216715A (ja) 1993-08-27
JP2716310B2 JP2716310B2 (ja) 1998-02-18

Family

ID=12968570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4054363A Expired - Fee Related JP2716310B2 (ja) 1992-02-05 1992-02-05 関数コール・リターン検出方式

Country Status (1)

Country Link
JP (1) JP2716310B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170749A (ja) * 2010-02-22 2011-09-01 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
CN110377325A (zh) * 2019-06-17 2019-10-25 中国平安人寿保险股份有限公司 接口配置方法、接口调用方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170749A (ja) * 2010-02-22 2011-09-01 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
CN110377325A (zh) * 2019-06-17 2019-10-25 中国平安人寿保险股份有限公司 接口配置方法、接口调用方法、装置、设备及存储介质
CN110377325B (zh) * 2019-06-17 2024-05-17 中国平安人寿保险股份有限公司 接口配置方法、接口调用方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2716310B2 (ja) 1998-02-18

Similar Documents

Publication Publication Date Title
JPH0557616B2 (ja)
US20060277397A1 (en) Method and apparatus for predicting branch instructions
US11061683B2 (en) Limiting replay of load-based control independent (CI) instructions in speculative misprediction recovery in a processor
JPH05216715A (ja) 関数コール・リターン検出方式
JPH09330221A (ja) マイクロプロセッサにおける早期例外を追跡するシステム及び方法
US7174444B2 (en) Preventing a read of a next sequential chunk in branch prediction of a subject chunk
CN114528025A (zh) 指令处理方法、装置、微控制器及可读存储介质
JP2821300B2 (ja) 関数コ─ルおよびリタ─ンの検出方式
JP5068552B2 (ja) プリフェッチ方法、及びキャッシュ機構用ユニット
JP2508021B2 (ja) デ−タ処理装置
JP2646957B2 (ja) キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム
US20060101239A1 (en) Program-controlled unit having a prefetch unit
JPH04213727A (ja) 情報処理装置
CN109492147B (zh) 数据记录总数量获取方法及装置
JPH06290045A (ja) 並列演算処理装置の演算エラー検出方式
JPH06202907A (ja) デバッグ支援装置
JP3118802B2 (ja) 分岐ヒストリテーブルを用いたデバッグ回路
CN117331602A (zh) 一种跳转指令的预取方法及装置
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JPH05143369A (ja) タスク同定方式
JP2727996B2 (ja) プログラム実行監視方法およびプログラム実行監視システム
JPH01271841A (ja) データ処理装置
JPS5952349A (ja) 命令先取制御装置
JPH0667881A (ja) 分岐予測アドレス処理方式
JPH06149614A (ja) 命令実行装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

LAPS Cancellation because of no payment of annual fees
R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350