JPH04287241A - 履歴情報記憶装置 - Google Patents

履歴情報記憶装置

Info

Publication number
JPH04287241A
JPH04287241A JP3051989A JP5198991A JPH04287241A JP H04287241 A JPH04287241 A JP H04287241A JP 3051989 A JP3051989 A JP 3051989A JP 5198991 A JP5198991 A JP 5198991A JP H04287241 A JPH04287241 A JP H04287241A
Authority
JP
Japan
Prior art keywords
address
branch
instruction
data
holding
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
JP3051989A
Other languages
English (en)
Inventor
Atsushi Yamashiroya
山代屋 篤
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 JP3051989A priority Critical patent/JPH04287241A/ja
Publication of JPH04287241A publication Critical patent/JPH04287241A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置の履歴情
報記憶装置に関し、特に、命令の実行アドレストレース
方式を改良した履歴情報記憶装置に関する。
【0002】
【従来の技術】従来のアドレストレース方式では全ての
命令語アドレスをトレースメモリに記録している。
【0003】
【発明が解決しようとする課題】上述した従来の方式で
は、アドレスすべてを見るために、全てのアドレスをト
レースメモリ上に記録する。この方法ではアドレスの順
番が詳しく分かるが、データ量が大きく、あまりメモリ
内に入らない。一般にアドレストレースを用いる場合、
プログラムリスト等を参照しながら並行してトレース内
容見ているのでトレース内容としてはすべてのアドレス
を記録する必要はなく、メモリを多く必要とするループ
などは削除したほうがよい。極端に言うと、分岐部分の
みを記録しておけば、あとはリスト等を参照することに
よって命令語の処理順序を解析することは容易である。
【0004】
【課題を解決するための手段】本発明は、制御記憶装置
に格納された命令を実行することにより動作を制御して
いる情報処理装置の命令実行履歴を記憶する履歴情報記
憶装置において、現在処理中の命令語のアドレスを第1
アドレスとして保持する第1アドレス保持手段と、現在
処理中の命令語の1命令前の命令語のアドレスを第2ア
ドレスとして保持する第2アドレス保持手段と、前記第
1アドレスと前記第2アドレスとを比較し、両アドレス
の差分を検出するアドレス比較手段と、前記アドレス比
較手段により検出されたアドレスの差分と、予め設定さ
れたアドレス差分とが一致しない場合、第2アドレスに
分岐命令があると判断する分岐命令検出手段と、前記第
1アドレスを第1分岐先のアドレスとして保持する第1
分岐先アドレス保持手段と、前記第2アドレスを第1分
岐元のアドレスとして、保持する第1分岐元アドレス保
持手段と、前記分岐命令検出手段の指示により、前回の
分岐命令検出時の分岐先のアドレスを保持する第2分岐
先アドレス保持手段と、前記分岐命令検出手段の指示に
より、前回の分岐命令検出時の分岐元のアドレスを保持
する第2分岐元アドレス保持手段と、前記第1分岐先ア
ドレスと前記第2分岐先アドレスとを比較する分岐先ア
ドレス比較手段と、前記第1分岐元アドレスと前記第2
分岐元アドレスとを比較する分岐元アドレス比較手段と
、前記分岐先アドレス比較手段と前記分岐元アドレス比
較手段とにより、前記第1分岐先アドレスと前記第2分
岐先アドレスとが一致し、かつ前記第1分岐元アドレス
と前記第2分岐元アドレスとが一致した場合、この間で
命令実行がル−プしていると判断する命令ル−プ検出手
段(4)と、前記第2アドレス保持手段より第2アドレ
スを取り込み、現在までの第2アドレスの履歴を保存す
る命令アドレス履歴保存手段と、前記アドレス履歴保存
手段において、前記命令ループ検出手段の指示により、
命令ループに属する第2アドレスの保存を抑止するアド
レス書き込み抑止手段(43)とを具備することを特徴
とするものである。
【0005】
【実施例】次に本発明について図面を参照して説明する
。図1は本発明の一実施例の構成図である。図1を参照
してこの履歴情報記憶装置の動作を簡単に説明する。
【0006】アドレスバス100には、この実施例が所
属している処理装置において処理される命令のアドレス
が存在する。このアドレスバス100より、命令のアド
レスをデータラッチ回路1へ取り込む。データラッチ回
路1では2命令分のアドレスを保持することが可能であ
る。この回路の中心となるレジスタの内容は処理装置の
命令データ取り込み用クロックにより更新される。デー
タ比較回路2では、データラッチ回路1で保持されてい
る現在処理されている命令と1命令前の命令のアドレス
を比較し、両アドレスの差分を検出する。分岐命令が無
い場合の命令処理におけるアドレスの差分をXとして、
現在処理中の命令アドレスを第1アドレス、1命令前の
命令アドレスを第2アドレスとすると、(第1アドレス
)−(第2アドレス)=Xであると、ここでは分岐命令
による分岐は存在しないこととなる。また (第1アドレス)−(第2アドレス)>Xの場合には、
先のアドレス(アドレスが増加する方向)への分岐命令
が存在することを示している。つまり、第2アドレスが
分岐元アドレスであり、第1アドレスが分岐先アドレス
となる。また (第1アドレス)−(第2アドレス)<Xの場合には、
この部分において前へのアドレス(アドレスが減少する
方向)への分岐命令が存在することを示している。つま
り、第2アドレスが分岐元アドレスであり、第1アドレ
スが分岐先アドレスとなる。
【0007】これらの分岐元アドレスと分岐先アドレス
を第1分岐元アドレス、第1分岐先アドレスとして、こ
の前回の分岐命令検出時の分岐元アドレスと分岐先アド
レスを第2分岐元アドレス、第2分岐先アドレスとして
、分岐アドレス保持回路5によって保持する。分岐デー
タ比較回路6では、分岐アドレス保持回路5によって保
持されている第1分岐元アドレスと第2分岐元アドレス
を比較し、かつ第1分岐先アドレスと第2分岐先アドレ
スを比較を行う。もし両方とも一致したなら、第1分岐
元アドレスと第2分岐元アドレスの間がループになって
いると判断して、その間に存在するアドレストレースデ
ータを消去する。
【0008】データ比較回路2により比較されたデータ
のうち、分岐命令または分岐先アドレス以外であれば、
アドレスデータはデータラッチ回路1よりそのままデー
タ一時ストア回路3に送られる。もしデータ比較回路2
により分岐命令を発見したなら、前記の動作に加え、そ
の時点の第一アドレスと第二アドレスを第1分岐先アド
レス、第1分岐元アドレスとして分岐アドレス保持回路
5により保持する。一方、データ一時ストア回路3では
、データ比較回路2により分岐命令を発見した時点で、
データ一時ストア回路3内に入ってきたデータ数のカウ
ントを打切り、カウントデータを、内蔵するレジスタに
記録する。そして再びカウントを始め、次の分岐命令が
入ってくるまでカウントを続ける。従ってカウントデー
タの値は、分岐命令から次の分岐命令までのアドレスト
レースデータの数となる。分岐データ比較回路6では、
前後する2つの分岐命令元アドレスと分岐先アドレスを
比較して、等しければ、2つの分岐命令間のアドレスト
レースデータはループのデータとみなし、消去信号をデ
ータ一時ストア回路3に対して出力する。
【0009】データ一時ストア回路3のカウンタ用のレ
ジスタにはカウントが有効か無効か、のビットがあり、
有効であれば、カウンタ数に応じたデータクロックを、
内蔵するFIFO及びトレーサメモリ4に送出し、その
FIFO中のデータをトレーサメモリへ送る。ストア回
路3のカウンタ用のレジスタのカウントが無効である場
合、すなわち分岐データ比較回路6よりデータ消去命令
が入った場合、FIFOにはカウント数に応じたデータ
クロックを送るが、トレーサメインメモリ4にはデータ
クロックを送出しない。従ってこのカウント数分のデー
タ(ループ分のデータ)は消去されることとなる。
【0010】次に各回路の動作を詳細に説明する。デー
タラッチ回路1を図2に示す。アドレスバス100上の
命令アドレスは命令ラッチ用クロック信号によりデータ
レジスタ11に取り込まれる。そして次の命令ラッチ用
クロック信号がくると、データレジスタ11にあった命
令アドレスはデータレジスタ12にシフトされる。そし
てデータレジスタ11には、新たにアドレスバス100
より命令アドレスを取り込む。このような動作により、
データレジスタ11には現在処理されている命令語のア
ドレス、データレジスタ12には1命令前のアドレスを
保持している。
【0011】データレジスタ11からの出力はデータレ
ジスタ12、データ比較回路2、分岐アドレス保持回路
5へ送られる。
【0012】データ比較回路2を図3に示す。データラ
ッチ回路1からの第一アドレスと第二アドレスをコンパ
レータ21,23により比較し、比較結果により1ショ
ットマルチバイブレータ24,25に送出する。マルチ
バイブレータ24,25からの信号はそれぞれ前方分岐
信号、後方分岐信号として分岐アドレス保持回路5やデ
ータ一時ストア回路3に送られる。図3の回路22は、
固定値Xを出力しており、Xの値は通常の命令実行(分
岐命令を除く)におけるアドレスの増加分である。よっ
てコンパレータ23においてZの値が0であれば第1ア
ドレスと第2アドレスとの差は通常の増加分すなわち分
岐命令ではないことを示している。
【0013】データ一時ストア回路3を図4に示す。デ
ータラッチ回路1から入ってきたアドレストレースデー
タは、FIFO31に入力される。入力用のクロックと
して処理装置から命令ラッチ用クロックを使用する。ま
たカウンタ32では、分岐命令が存在するアドレスから
次の分岐命令が存在するアドレスが入ってくるまでにF
IFO31に入力されたアドレストレースデータの数を
カウントする。このカウントはカウンタ値レジスタ33
によって保持される。またカウンタ値レジスタ33には
カウント値が有効/無効かを示すビットが付加されてお
り、このデータにより、データ出力用クロック発生回路
34より、カウント値が有効の場合は、カウント値分の
クロックをFIFO31とトレーサメインメモリ5へ出
力する。無効の場合は、カウント値分のクロックをFI
FO31のみに出力する。この動作により、FIFO3
1に入っていた無効データ分を消去するのと同じ効果と
なる。
【0014】カウント値の有効/無効を決定するデータ
消去信号は、分岐データ比較回路6より出力される。
【0015】分岐アドレス保持回路5を図5に示す。こ
の回路では、データラッチ回路1からのデータをデータ
比較回路2からの前方分岐信号、後方分岐信号によりレ
ジスタに取り込む。分岐レジスタ31、32には第1分
岐元アドレスと第2分岐元アドレスを保持し、ジャンプ
先レジスタ33、34では第1分岐先アドレスと第2分
岐先アドレスを保持する。レジスタ31及び33に入っ
ている内容は、次の前方、後方分岐信号が入ってくると
、それぞれレジスタ32、34へシフトされる。
【0016】分岐アドレス保持回路5によって保持され
ているアドレスデータは図6に示す分岐データ比較回路
6に送られ、比較される。第1分岐元アドレスと第2分
岐元アドレスを比較し、かつ第1分岐先アドレスと第2
分岐先アドレスをそれぞれ比較し、一致しているかをコ
ンパレータ41及び42により判定する。仮に両方共に
一致すれば、ゲート回路43からデータ消去信号を発生
する。一致するということは、同じ場所において分岐命
令があり、分岐先のアドレスも同じであることから、こ
の部分でループを形成していることを示す。
【0017】例として、図7に命令アドレスが図7(a
) のようにアドレスバスにのった場合、各レジスタの
値は図7(b) ,(c) のようになる。
【0018】最初にFIFOには図7の左端上部のよう
に103までの命令アドレスが入る。この時点で分岐ア
ドレスレジスタでは左端中部のような値が入り103が
分岐命令であることが認識される。これにより、それま
でFIFOにたまっていたデータ100〜103は、ト
レーサメインメモリ部へ出力される。そしてFIFOに
は分岐先の命令アドレス105以降のデータがストアさ
れる。そしてFIFOにデータ106が入った時点で分
岐アドレスレジスタでは106と110が入っているこ
とにより、106が分岐命令であることが認識される。 ここで先程の分岐命令アドレスと分岐先命令アドレスと
比較して一致しなければ有効/無効ビットを有効とする
。図7における左右側部分はループ命令(110〜11
2)が入力された場合を示している。1回目の分岐命令
(ループ命令)では前の分岐命令106,112と比較
するため一致せず、有効/無効ビットは有効となり、F
IFO中のデータ(110〜112)はトレーサメイン
メモリ部へ送られる。2回目に分岐命令がきたときルー
プ命令であるため前回の分岐命令と一致するため有効/
無効ビットが無効となりFIFOのデータはトレーサメ
インメモリには送られない。次に同じループ命令が来た
ときも同様である。すなわちループの場合は1回分のル
ープのアドレスを保持するだけで残りのループ分は排除
してしまう。図9において実際の処理においてどの部分
が消去(削除)されるかを示している。上述のような方
法でループを発見するためにループに入る前からループ
における分岐元アドレスがある部分まではトレースデー
タは記憶され、それ以降最終回の分岐先アドレスがある
地点まては消去(削除)される。
【0019】
【発明の効果】以上説明したように、本発明では分岐命
令を検出し、ループがあることを判断して、ループ部分
を削除することにより、少ないハードウエア量によって
効果的なアドレストレースを行うことを可能とする。同
じメモリ量で従来のトレースより長時間のアドレストレ
ースが可能となり、しかもトレースメモリ内にムダがな
くなり、解析等も行い易くなる。
【図面の簡単な説明】
【図1】本発明の一実施例の全体構成図である。
【図2】図1中のデータラッチ回路の構成図である。
【図3】図1中のデータ比較回路の構成図である。
【図4】図1中のデータ一時ストア回路の構成図である
。
【図5】図1中の分岐アドレス保持回路の構成図である
。
【図6】図1中の分岐データ比較回路の構成図である。
【図7】図1中のアドレスバス、データラッチ回路のレ
ジスタの内容を示す図である。
【図8】図1中のデータ一時ストア回路を中心とした動
作を示す流れ図である。
【図9】図1の実施例で消去されるループ部分の表示を
示す図である。
【符号の説明】
1    データラッチ回路 2    データ比較回路 3    データ一時ストア回路 4    トレーサメインメモリ 5    分岐アドレス保持回路 6    分岐データ比較回路 11    データレジスタ 12    データレジスタ 43    ゲート回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  制御記憶装置に格納された命令を実行
    することにより動作を制御している情報処理装置の命令
    実行履歴を記憶する履歴情報記憶装置において、現在処
    理中の命令語のアドレスを第1アドレスとして保持する
    第1アドレス保持手段と、現在処理中の命令語の1命令
    前の命令語のアドレスを第2アドレスとして保持する第
    2アドレス保持手段と、前記第1アドレスと前記第2ア
    ドレスとを比較し、両アドレスの差分を検出するアドレ
    ス比較手段と、前記アドレス比較手段により検出された
    アドレスの差分と、予め設定されたアドレス差分とが一
    致しない場合、第2アドレスに分岐命令があると判断す
    る分岐命令検出手段と、前記第1アドレスを第1分岐先
    のアドレスとして保持する第1分岐先アドレス保持手段
    と、前記第2アドレスを第1分岐元のアドレスとして、
    保持する第1分岐元アドレス保持手段と、前記分岐命令
    検出手段の指示により、前回の分岐命令検出時の分岐先
    のアドレスを保持する第2分岐先アドレス保持手段と、
    前記分岐命令検出手段の指示により、前回の分岐命令検
    出時の分岐元のアドレスを保持する第2分岐元アドレス
    保持手段と、前記第1分岐先アドレスと前記第2分岐先
    アドレスとを比較する分岐先アドレス比較手段と、前記
    第1分岐元アドレスと前記第2分岐元アドレスとを比較
    する分岐元アドレス比較手段と、前記分岐先アドレス比
    較手段と前記分岐元アドレス比較手段とにより、前記第
    1分岐先アドレスと前記第2分岐先アドレスとが一致し
    、かつ前記第1分岐元アドレスと前記第2分岐元アドレ
    スとが一致した場合、この間で命令実行がル−プしてい
    ると判断する命令ル−プ検出手段と、前記第2アドレス
    保持手段より第2アドレスを取り込み、現在までの第2
    アドレスの履歴を保存する命令アドレス履歴保存手段と
    、前記アドレス履歴保存手段において、前記命令ループ
    検出手段の指示により、命令ループに属する第2アドレ
    スの保存を抑止するアドレス書き込み抑止手段とを具備
    することを特徴とする履歴情報記憶装置。
JP3051989A 1991-03-18 1991-03-18 履歴情報記憶装置 Pending JPH04287241A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3051989A JPH04287241A (ja) 1991-03-18 1991-03-18 履歴情報記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3051989A JPH04287241A (ja) 1991-03-18 1991-03-18 履歴情報記憶装置

Publications (1)

Publication Number Publication Date
JPH04287241A true JPH04287241A (ja) 1992-10-12

Family

ID=12902268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3051989A Pending JPH04287241A (ja) 1991-03-18 1991-03-18 履歴情報記憶装置

Country Status (1)

Country Link
JP (1) JPH04287241A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725342A1 (de) * 1995-02-01 1996-08-07 Siemens Aktiengesellschaft Tracersystem
US6594782B1 (en) 1998-12-28 2003-07-15 Fujitsu Limited Information processing apparatus
JP2012098979A (ja) * 2010-11-04 2012-05-24 Fujitsu Semiconductor Ltd トレース圧縮装置、トレース圧縮プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725342A1 (de) * 1995-02-01 1996-08-07 Siemens Aktiengesellschaft Tracersystem
US6594782B1 (en) 1998-12-28 2003-07-15 Fujitsu Limited Information processing apparatus
JP2012098979A (ja) * 2010-11-04 2012-05-24 Fujitsu Semiconductor Ltd トレース圧縮装置、トレース圧縮プログラム

Similar Documents

Publication Publication Date Title
EP0468454B1 (en) Interrupt controller
US3673573A (en) Computer with program tracing facility
JPH0368429B2 (ja)
US6473841B1 (en) Signal processing apparatus with memory access history storage
JP3222083B2 (ja) 共有メモリ制御装置
JP2789900B2 (ja) 状態履歴記憶装置
JPH0748647B2 (ja) デューティ比判別回路
JPH04287242A (ja) 履歴情報記憶装置
JP2731047B2 (ja) プログラムのオペランドチェック方式
JP3343734B2 (ja) トレースデータ圧縮方法およびトレースデータ圧縮方式
CN120743353B (zh) 处理器指令读取控制方法、系统及电子设备
KR20020054519A (ko) 인터럽트를 이용한 응용 프로그램의 에러검출장치 및 방법.
JPH0748183B2 (ja) トレース回路
JPS581247A (ja) 命令先取り制御方法
JP2862647B2 (ja) Fifoバッファ制御方式
JPH05313948A (ja) プログラム性能評価方式
JPS6242237A (ja) 命令バツフアへのロ−ド方式
JPS6267650A (ja) キヤツシユメモリ制御装置におけるストア処理方式
JPH0465712A (ja) 情報処理装置
JPS61131132A (ja) トレ−サ回路
JP2000076096A (ja) ソフトウェア評価システム
JPH11175374A (ja) プログラマブル障害情報トレース回路
JPH0573311A (ja) 処理装置における命令バツフアの命令書換方式
JPH06242997A (ja) トレーサ停止回路
JPS59160882A (ja) 記憶装置