JPH0743659B2 - プログラム走行時間測定装置 - Google Patents

プログラム走行時間測定装置

Info

Publication number
JPH0743659B2
JPH0743659B2 JP4333871A JP33387192A JPH0743659B2 JP H0743659 B2 JPH0743659 B2 JP H0743659B2 JP 4333871 A JP4333871 A JP 4333871A JP 33387192 A JP33387192 A JP 33387192A JP H0743659 B2 JPH0743659 B2 JP H0743659B2
Authority
JP
Japan
Prior art keywords
measurement
address
output
address range
instructions
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 - Lifetime
Application number
JP4333871A
Other languages
English (en)
Other versions
JPH06161834A (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 JP4333871A priority Critical patent/JPH0743659B2/ja
Publication of JPH06161834A publication Critical patent/JPH06161834A/ja
Publication of JPH0743659B2 publication Critical patent/JPH0743659B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム走行時間測
定装置に関し、特にCPUが命令の先読み機能を有する
場合にプログラム走行時間の測定を行えるようにしたプ
ログラム走行時間測定装置に関する。
【0002】
【従来の技術】プログラム走行時間は、測定対象装置の
CPUが測定開始点の命令を実行してから測定終了点の
命令を実行するまでの時間と定義される。CPUに命令
の実行前に複数の命令を読み出す先読み機能がない場合
は、測定開始及び終了を欲する命令が格納されたメモリ
のアドレスで測定開始点及び測定終了点を指定し、CP
Uによって該当するアドレスのメモリから命令が読み出
されたら測定開始点又は測定終了点と判定することがで
きた。
【0003】しかし、CPUに複数の命令をキャッシュ
メモリに読み出す先読み機能がある場合は、CPUがメ
モリから命令を読み出すアドレスを用いて測定点を指定
すると、測定点の命令を実行したと誤認して誤ったプロ
グラム走行時間の測定をしてしまうことがある。これ
は、CPUが先読みした複数の命令のアドレス中に指定
されたアドレスが存在してこれを測定開始又は測定終了
と判断しても、複数の命令中のこのアドレスで指定され
た命令の前に条件付き分岐命令が含まれていると、指定
された命令が実行される場合とされない場合とがあるか
らである。すなわち、条件付き分岐命令が実行されて分
岐しない場合はその次の命令が実行されるので、指定さ
れた命令も実行されることになるが、ある条件に従って
分岐する場合はキャッシュメモリに格納されたその次以
降の命令はクリアされて実行されないことになるからで
ある。
【0004】そこで、従来、プログラム走行時間の測定
は、CPUをその動作をエミュレーションするイン・サ
ーキット・エミュレータ(以下、ICEと略する)に置
き換えて測定するか、又はプログラムの一部を書き換え
て例えば1命令を実行するごとに割り込みを発生させて
その命令の実行時間を測定することを繰り返して積算す
ることによって測定していた。
【0005】
【発明が解決しようとする課題】従来は上記のようにプ
ログラム走行時間を測定しており、ICEの場合は、装
置自身のCPUの動作ではなくICEのエミュレーショ
ン動作なので、実際のプログラム走行時間を測定するこ
とができないという問題点があった。また、プログラム
の一部を書き換えて測定する場合は、あらかじめプログ
ラムを変更しておく必要があり、測定区間を変えるごと
にプログラムの作成を必要とするという問題点があっ
た。本発明は、上記課題を解決するために、CPUが命
令の先読み機能を有する場合でも、プログラム走行時間
を実際のCPUを用いてプログラム変更せずに測定でき
るプログラム走行時間測定装置を提供することを目的と
する。
【0006】
【課題を解決するための手段】本発明は、CPUが命令
の実行前に複数の命令をメモリから先に読み出すために
出力したアドレスを所定の命令数分だけ先入れ先出し方
式で記憶して先読み命令のアドレス範囲として出力する
先読み記憶レジスタと、プログラム走行時間の測定を開
始したい命令のアドレスを先頭とする所定の命令数分の
アドレスからなるアドレス範囲を測定開始点として記憶
する測定開始点レジスタと、プログラム走行時間の測定
を終了したい命令のアドレスを終わりとする所定の命令
数分のアドレスからなるアドレス範囲を測定終了点とし
て記憶する測定終了点レジスタと、先読み記憶レジスタ
から出力された先読み命令のアドレス範囲及び測定開始
点レジスタから出力された測定開始点のアドレス範囲を
比較し、このアドレス範囲が一致したときに開始信号を
出力する測定開始判定回路と、先読み記憶レジスタから
出力された先読み命令のアドレス範囲及び測定終了点レ
ジスタから出力された測定終了点のアドレス範囲を比較
し、このアドレス範囲が一致したときに終了信号を出力
する測定終了判定回路と、測定開始判定回路から開始信
号が出力されると時間測定を開始し、測定終了判定回路
から終了信号が出力されると時間測定を終了するタイマ
回路とを有することを特徴とする。
【0007】
【作用】本発明によれば、測定開始判定回路で先読み記
憶レジスタから出力された先読み命令のアドレス範囲と
測定開始点レジスタから出力された測定開始点のアドレ
ス範囲とを比較し、このアドレス範囲が一致したら開始
信号を出力してタイマ回路でプログラム走行時間の測定
を開始し、次に測定終了判定回路で先読み記憶レジスタ
から出力された先読み命令のアドレス範囲と測定終了点
レジスタから出力された測定終了点のアドレス範囲とを
比較し、このアドレス範囲が一致したら終了信号を出力
してタイマ回路のプログラム走行時間の測定を終了す
る。
【0008】
【実施例】図1は本発明の1実施例を示すプログラム走
行時間測定装置のブロック図である。1はプログラム走
行時間の測定対象装置、2はその内部に図示しないキャ
ッシュメモリを備えて命令の先読み機能を有する測定対
象装置1のCPU、3はCPU2のプログラムが記憶さ
れたメモリ、4aはCPU2からメモリ3等に対してア
ドレスを出力するためのアドレス・バス、4bは各デバ
イス間でデータの入出力を行うためのデータ・バス、4
cは制御クロック等の制御信号のやり取りを行うための
コントロール・バス、5はメモリ3から命令を先読みす
るためにCPU2から出力されたアドレスと制御信号と
に基づいて命令を先読みしたアドレスを取り出す先読み
アドレス取り出し回路、6はCPU2が先読みできる最
大の命令数と等しい数のアドレスを記憶でき、先読みア
ドレス取り出し回路5から出力されたアドレスを先入れ
先出し方式で記憶する先読み記憶レジスタである。
【0009】7は図示しない外部装置から後述する測定
開始点及び測定終了点のアドレス範囲を入力されて記憶
する測定点レジスタ、7aは測定点レジスタ7の内部に
あってCPU2が先読みできる最大の命令数と等しい数
のアドレスを記憶でき、外部装置から入力された測定開
始点のアドレス範囲を記憶する測定開始点レジスタ、7
bは測定開始点レジスタ7aと同様で測定終了点のアド
レス範囲を記憶する測定終了点レジスタ、8は先読み記
憶レジスタ6と測定開始点レジスタ7aとからそれぞれ
パラレルに出力されたアドレスを比較して測定開始点を
検出した場合は開始信号を出力する測定開始判定回路、
9は同様に先読み記憶レジスタ6と測定終了点レジスタ
7bとからのアドレスにより測定終了点を検出した場合
は終了信号を出力する測定終了判定回路、10は測定開
始判定回路8から開始信号が出力されると時間測定を開
始し、測定終了判定回路9から終了信号が出力されると
時間測定を終了するタイマ回路である。
【0010】先読み記憶レジスタ6は、CPU2がアド
レス・バス4aに出力することで先読みアドレス取り出
し回路5によって取り出されて出力されたアドレスを先
入れ先出し方式で記憶して出力する。つまり、先読みア
ドレス取り出し回路5から出力されたアドレスを次々と
記憶していき、CPU2が先読みできる最大の命令数分
のアドレスを記憶したら一番古いアドレスを捨てて次の
アドレスを記憶する。そして、その出力は、最も先に記
憶されたアドレスを先頭とする所定の命令数分、例えば
5ステップ分だけのアドレス範囲を測定開始判定回路8
及び測定終了判定回路9へ各々パラレルデータとして出
力する。
【0011】そして、測定開始点レジスタ7aは、測定
を開始したい命令のアドレスを先頭とする上記と同じ所
定の命令数分だけのアドレス範囲を測定開始点として記
憶する。これは、外部装置からアドレス・バス4aによ
って測定開始点レジスタ7aを指定し、データ・バス4
bを通して上記のようなアドレス範囲を測定開始点レジ
スタ7aに入力して記憶させることで行なわれる。その
出力は、先読み記憶レジスタ6と同様に測定開始点のア
ドレス範囲を測定開始判定回路8へパラレルデータとし
て出力する。同様に測定終了点レジスタ7bも、所定の
命令数分を有して測定を終了したい命令のアドレスで終
わるようなアドレス範囲を測定終了点として記憶し、測
定終了判定回路9へパラレルに出力する。
【0012】次に、このようなプログラム走行時間測定
装置の動作を説明する。まず、測定対象装置1が動作を
始めると、CPU2が命令の実行前に先読みする複数の
命令のアドレスは、CPU2から出力されて先読みアド
レス取り出し回路5で取り出され、先読み記憶レジスタ
6に次々と記憶されていく。そして、測定開始判定回路
8は、先読み記憶レジスタ6からパラレルで出力された
先読み命令のアドレス範囲と、測定開始点レジスタ7a
から同じくパラレルで出力された測定開始点のアドレス
範囲とを比較をする。このような比較を繰り返して上記
のアドレス範囲が一致すると、測定開始点と判断して開
始信号を出力する。タイマ回路10は、測定開始判定回
路8から開始信号を入力されると、プログラム走行時間
の測定を開始する。
【0013】次に、測定終了判定回路9は、測定開始判
定回路8と同様に先読み記憶レジスタ6からパラレルで
出力された先読み命令のアドレス範囲と、測定終了点レ
ジスタ7bからパラレルで出力された測定終了点のアド
レス範囲とを比較し、アドレス範囲が一致すると、測定
終了点と判断して終了信号を出力する。そして、タイマ
回路10は、測定終了判定回路9から終了信号を入力さ
れてプログラム走行時間の測定を終了する。よって、外
部装置からアドレス・バス4aによってタイマ回路10
を指定し、データ・バス4bを通して測定されたプログ
ラム走行時間のデータを取り出すことによりプログラム
走行時間の表示等をすることができる。
【0014】このように、CPU2が命令の先読み機能
を有する場合でも、実行されるべき命令のアドレスが所
定の命令数分だけ連続したアドレス範囲で測定開始点及
び測定終了点を指定することにより、所望のプログラム
の走行時間を測定することができる。なお、CPU2の
命令の実行と命令の先読みとは非同期で行われるので、
実際の命令の実行と測定開始点及び測定開始点の検出と
の間には厳密には誤差が生ずるが、プログラム走行時間
の測定は通常その対象プログラムが200〜300ステ
ップ以上であり、これに対してアドレス範囲のステップ
数は例えば5ステップ程度なので、上記の誤差は無視で
きる。
【0015】
【発明の効果】本発明によれば、CPUが命令の先読み
機能を有する場合でも、実行されるべき命令のアドレス
が所定の命令数分だけ連続したアドレス範囲で測定開始
点及び測定終了点を指定することにより、実際のCPU
を用いてプログラムを変更することなしに任意区間のプ
ログラム走行時間を測定することができる。
【図面の簡単な説明】
【図1】本発明の1実施例を示すプログラム走行時間測
定装置のブロック図である。
【符号の説明】
1 測定対象装置 2 CPU 3 メモリ 4a アドレス・バス 4b データ・バス 4c コントロール・バス 5 先読みアドレス取り出し回路 6 先読み記憶レジスタ 7 測定点レジスタ 7a 測定開始点レジスタ 7b 測定終了点レジスタ 8 測定開始判定回路 9 測定終了判定回路 10 タイマ回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 CPUが命令の実行前に複数の命令をメ
    モリから先に読み出すために出力したアドレスを所定の
    命令数分だけ先入れ先出し方式で記憶して先読み命令の
    アドレス範囲として出力する先読み記憶レジスタと、 プログラム走行時間の測定を開始したい命令のアドレス
    を先頭とする前記所定の命令数分のアドレスからなるア
    ドレス範囲を測定開始点として記憶する測定開始点レジ
    スタと、 プログラム走行時間の測定を終了したい命令のアドレス
    を終わりとする前記所定の命令数分のアドレスからなる
    アドレス範囲を測定終了点として記憶する測定終了点レ
    ジスタと、 前記先読み記憶レジスタから出力された先読み命令のア
    ドレス範囲及び前記測定開始点レジスタから出力された
    測定開始点のアドレス範囲を比較し、このアドレス範囲
    が一致したときに開始信号を出力する測定開始判定回路
    と、 前記先読み記憶レジスタから出力された先読み命令のア
    ドレス範囲及び前記測定終了点レジスタから出力された
    測定終了点のアドレス範囲を比較し、このアドレス範囲
    が一致したときに終了信号を出力する測定終了判定回路
    と、 前記測定開始判定回路から開始信号が出力されると時間
    測定を開始し、前記測定終了判定回路から終了信号が出
    力されると時間測定を終了するタイマ回路とを有するこ
    とを特徴とするプログラム走行時間測定装置。
JP4333871A 1992-11-20 1992-11-20 プログラム走行時間測定装置 Expired - Lifetime JPH0743659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4333871A JPH0743659B2 (ja) 1992-11-20 1992-11-20 プログラム走行時間測定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4333871A JPH0743659B2 (ja) 1992-11-20 1992-11-20 プログラム走行時間測定装置

Publications (2)

Publication Number Publication Date
JPH06161834A JPH06161834A (ja) 1994-06-10
JPH0743659B2 true JPH0743659B2 (ja) 1995-05-15

Family

ID=18270885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4333871A Expired - Lifetime JPH0743659B2 (ja) 1992-11-20 1992-11-20 プログラム走行時間測定装置

Country Status (1)

Country Link
JP (1) JPH0743659B2 (ja)

Also Published As

Publication number Publication date
JPH06161834A (ja) 1994-06-10

Similar Documents

Publication Publication Date Title
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
KR920006275B1 (ko) 데이타 처리 장치
JPH11282713A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP2003085000A (ja) トレース情報生成装置およびその方法
US6760835B1 (en) Instruction branch mispredict streaming
US5574887A (en) Apparatus and method for emulation routine pointer prefetch
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
EP0402524A2 (en) Microcomputer capable of quickly processing a branch instruction code
KR930002935A (ko) 정보 처리 장치
US5381532A (en) Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction
US20010051866A1 (en) Tracing circuit, tracing method and record medium for operation monitoring device
US5237664A (en) Pipeline circuit
JPH0743659B2 (ja) プログラム走行時間測定装置
JP2004505345A (ja) 分岐ターゲットバッファを有するデータプロセッサ
JPH05241827A (ja) 命令バッファ制御装置
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
US5905907A (en) Microcomputer loaded with PROM and data read-out testing method for same
JP2923570B2 (ja) インサーキットエミュレータおよびマイクロプロセッサ
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JP3695196B2 (ja) データ処理装置
JP3210171B2 (ja) データ処理装置
JPH024011B2 (ja)
KR910017292A (ko) 마아크로 프로세서(micro processor)
JPH1055289A (ja) デバッグ情報生成回路、およびそれを用いた情報処理装置
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ