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

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

Info

Publication number
JP2716310B2
JP2716310B2 JP4054363A JP5436392A JP2716310B2 JP 2716310 B2 JP2716310 B2 JP 2716310B2 JP 4054363 A JP4054363 A JP 4054363A JP 5436392 A JP5436392 A JP 5436392A JP 2716310 B2 JP2716310 B2 JP 2716310B2
Authority
JP
Japan
Prior art keywords
function
address
return
call
function 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.)
Expired - Fee Related
Application number
JP4054363A
Other languages
English (en)
Other versions
JPH05216715A (ja
Inventor
潔 米田
雅洋 岩永
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 Corp
Original Assignee
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 NEC Corp filed Critical NEC Corp
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

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

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)

    (57)【特許請求の範囲】
  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 JPH05216715A (ja) 1993-08-27
JP2716310B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5504960B2 (ja) * 2010-02-22 2014-05-28 富士通株式会社 シミュレーション装置及びシミュレーション方法
CN110377325B (zh) * 2019-06-17 2024-05-17 中国平安人寿保险股份有限公司 接口配置方法、接口调用方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JPH05216715A (ja) 1993-08-27

Similar Documents

Publication Publication Date Title
JPH0557616B2 (ja)
US7093074B2 (en) Storage control device and storage control method
JP2716310B2 (ja) 関数コール・リターン検出方式
JPH09330221A (ja) マイクロプロセッサにおける早期例外を追跡するシステム及び方法
JP2821300B2 (ja) 関数コ─ルおよびリタ─ンの検出方式
JP3055271B2 (ja) タスク同定方式
KR920007904B1 (ko) 데이터 처리 방법과 장치
CN109492147B (zh) 数据记录总数量获取方法及装置
JPH1063574A (ja) キャッシュメモリ付プロセッサ
JPH06149614A (ja) 命令実行装置
JP2817675B2 (ja) プログラム・デバッグ装置
JPH04213727A (ja) 情報処理装置
JPH02156351A (ja) キャッシュメモリ装置
JPH06202907A (ja) デバッグ支援装置
JP2798556B2 (ja) プリンタ言語の決定装置
JPH10187531A (ja) キャッシュメモリのプリフェッチ方式
JPH05204708A (ja) デバッガ処理方式
JPH07210423A (ja) 計算機システム
JPH0795288B2 (ja) マイクロコンピュータ
JPH1139159A (ja) 計算機システム
JPH05257859A (ja) 情報処理装置
JPH0715662B2 (ja) 命令の先取りを行なう情報処理装置
JP2000305808A (ja) マイクロコンピュータ組み込みシステムにおけるイベント検出方法ならびに装置
JP2001092774A (ja) Dmaバースト転送制御装置
JPH01271841A (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