JPH0831054B2 - 履歴情報格納方式 - Google Patents

履歴情報格納方式

Info

Publication number
JPH0831054B2
JPH0831054B2 JP63256844A JP25684488A JPH0831054B2 JP H0831054 B2 JPH0831054 B2 JP H0831054B2 JP 63256844 A JP63256844 A JP 63256844A JP 25684488 A JP25684488 A JP 25684488A JP H0831054 B2 JPH0831054 B2 JP H0831054B2
Authority
JP
Japan
Prior art keywords
register
tracer
timing
history information
address
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
JP63256844A
Other languages
English (en)
Other versions
JPH02103642A (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 JP63256844A priority Critical patent/JPH0831054B2/ja
Publication of JPH02103642A publication Critical patent/JPH02103642A/ja
Publication of JPH0831054B2 publication Critical patent/JPH0831054B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は履歴情報の格納方式に係り、特に制御記憶に
格納されたマイクロプログラムで制御されるデータ処理
システムで、実行したマイクロ命令のアドレスおよび制
御情報を履歴情報として格納するトレーサにおける履歴
情報格納方式に関するものである。
〔従来の技術〕
マイクロプログラムで制御されるデータ処理システム
においては、RAS(Reliability Availability Servicea
eility)の一環としてマイクロ命令アドレスなどの時系
列データをトレーサメモリ中に格納しておき、障害発生
時やデバグ作業においてトレーサメモリに格納された履
歴情報を読み出し、その内容を解析し、問題の発生原因
の究明や処理対策を行うようにしている。
そして、従来のマイクロ命令シーケンストレースは第
5図に示すように、実行したマイクロ命令アドレスをす
べて一率にトレースする構成となつていた。
従来のマイクロ命令シーケンストレースの一例を示す
第5図において、1はマイクロプログラムを格納してい
る制御記憶(メモリ)、2はこの制御記憶(メモリ)1
をアクセスするためのマイクロ命令アドレスを保持する
レジスタである。3はアクセスされたマイクロ命令を受
けるレジスタであり、いくつかのフイールドに分かれて
いる。そして、各フイールドの出力が直接個々の回路
(図示せず)を制御し、マイクロ命令を実行することに
なる。フイールド31はマイクロ命令の順序制御を行うコ
マンドのフイールドであり、信号線103を介して分岐判
定回路4に入力される。ここで、上記コマンドは大きく
分けると、無条件分岐コマンドと条件分岐コマンドの2
つに分かれるが、無条件分岐コマンドであると分岐判定
回路4の出力はレジスタ2に保持されているアドレスそ
のものとなり、条件分岐コマンドであると分岐判定回路
4の出力はレジスタ2に保持されているアドレスを分岐
判定条件104で修飾したアドレスとなる。そして、レジ
スタ5は分岐判定回路4の出力を受けるレジスタであ
り、常に実際に実行するマイクロ命令のアドレスを保持
する。
レジスタ2には命令開始時または割込み処理開始時で
はその開始アドレスが信号線101を介してセツトされ、
その後は開始アドレスでアクセスしたマイクロ命令語の
中のネクストアドレスが信号線102を介してセットさ
れ、順次マイクロプログラムを実行していく。
レジスタ6はトレーサへの書込みデータを保持するレ
ジスタであり、レジスタ5の保持しているデータ(マイ
クロ命令アドレス)がセツトされる。レジスタ7はトレ
ーサメモリ8のアドレスを保持するアドレスレジスタ
で、トレーサへデータが格納される毎に+1加算され
る。
以上説明した構成により実行したマイクロ命令のアド
レスがすべて一率にトレーサメモリ8にサイクリツクに
履歴情報として格納される。
〔発明が解決しようとする課題〕
上述した従来のマイクロ命令シーケンストレースで
は、本来、履歴情報としてはマイクロ命令のシーケンス
が分岐するときの分岐方向だけ残せばその履歴情報から
実際のシーケンスを追うことが可能であるにもかかわら
ず、実行したマイクロ命令アドレスを全て一率に履歴情
報としてトレーサメモリに格納していた。このため、ト
レーサメモリは大容量のメモリを必要とするのみなら
ず、特にループを構成するマイクロプログラムにおいて
は、その履歴内容に冗長の部分が多くなり、メモリ資源
が有利に利用されないという課題があつた。
〔課題を解決するための手段〕
本発明の履歴情報格納方式は、制御記憶に格納された
マイクロプログラムで制御されるデータ処理システム
で、実行したマイクロ命令のアドレスおよび制御情報を
履歴情報として格納するトレーサにおいて、マイクロ命
令が条件分岐したときその分岐方向が前回条件分岐した
ときの分岐方向と一致しているかをチェックし、一致し
ていればマイクロプログラムのループ処理の出現とみな
してその連続一致回数を計数し、この計数結果を履歴情
報と格納する格納手段を備え、この計数結果が2以上と
なるときは、計数結果のみを履歴情報として格納するよ
うにしたものである。
〔作用〕
本発明においては、不必要な履歴情報が格納されな
く、また、ループのような繰り返しシーケンスのトレー
スにおいてはその繰り返しの回数を履歴情報とする。
〔実施例〕
以下、図面に基づき本発明の実施例を詳細に説明す
る。
第1図は本発明による履歴情報格納方式の一実施例を
示すブロック図である。
この第1図において第5図と同一符号のものは相当部
分を示し、9はレジスタ3のフイールド31を次のタイミ
ングでセットするレジスタであり、マイクロ命令順序制
御コマンドを保持する。10はレジスタ9の保持している
データが条件分岐コマンドであることを検出するデコー
ダであり、その結果がレジスタ11にセツトされる。そし
て、デコーダ10の出力105はレジスタ(トレーサ書込み
データレジスタ)6とレジスタ(トレーサアドレスレジ
スタ)7およびカウンタ12ならびにレジスタ13のセツト
信号でもある。レジスタ11はトレーサ書込み許可を示す
イネーブル信号を出力する。
そして、レジスタ(トレーサ書込みデータレジスタ)
6には、レジスタ9が条件分岐コマンドを保持したとき
だけ、レジスタ5の保持しているマイクロ命令アドレス
がセツトされる。つまり、マイクロ命令シーケンスが条
件分岐したときのその分岐方向アドレスを保持する。比
較回路14はレジスタ5とレジスタ6の値を比較し、その
比較結果はデコーダ10の出力105(セツト信号)により
レジスタ13にセツトされる。このレジスタ(分岐方向一
致フラグレジスタ)13はマイクロ命令シーケンスが条件
分岐したときの分岐方向が、前回の条件分岐時の分岐方
向と同じであるかどうかを示す。そして、レジスタ(分
岐方向一致フラグレジスタ)13の出力はセレクタ15の選
択信号108となり、このセレクタ15は分岐方向一致フラ
グが不一致であればレジスタ(トレーサ書込みデータレ
ジスタ)6の出力を選択し、一致であればカウンタ12の
出力を選択する。このカウンタ12はデコーダ10の出力10
5(セツト信号)により+1ずつ加算するカウンタであ
る。そして、デコーダ10の出力105(セツト信号)がON
でも比較回路14の比較結果が不一致であると常に初期値
「001」にリセットされる。
このカウンタ12のカウント値はマイクロ命令シーケン
スが同一方向に連続して条件分岐した回数を表わす。
デコーダ16はカウンタ12のカウント値が初期値「00
1」であることを検出し、その出力はレジスタ7のセツ
ト条件の1つとなる。そのレジスタ7はトレーサのアド
レスを保持するアドレスレジスタであり、デコーダ16の
出力107と比較回路14の出力106の反転値110がオアゲー
ト17でORされた出力109とデコーダ10の出力105(セット
信号)とがアンドゲート18でANDされた結果により+1
加算される。すなわち、マイクロ命令シーケンスが条件
分岐であり、かつカウンタ12のカウント値が初期値「00
1」であるか、または比較回路14の比較結果が不一致で
あるとき+1加算される。また、その加算結果のオーバ
ーフローは無視されサイクリツクなアドレスとなる。19
は比較回路14の出力106を入力とするナンドゲートであ
る。
そして、レジスタ5,6,7とトレーサメモリ8およびレ
ジスタ9ならびにデコーダ10,レジスタ11,セレクタ15は
マイクロ命令が条件分岐したときその分岐方向を履歴情
報として格納する手段を構成し、また、レジスタ5,6,7
とトレーサメモリ8およびカウンタ12ならびにレジスタ
13,比較回路14,セレクタ15はマイクロ命令が条件分岐し
たときその分岐方向が前回条件分岐したときの分岐方向
と一致しているかをチエツクし一致していればその連続
一致回数を計数し履歴情報として格納する手段を構成し
ている。
つぎに、動作フローについて第2図に示すマイクロプ
ログラムを例に説明する。
この第2図において、アルファベットA,B,C・・・は
マイクロ命令アドレスを示し、マイクロ命令Aと呼ぶと
きは、アドレスAのマイクロ命令のことである。この例
では、BからEへ条件分岐し、EからGへ条件分岐し、
Kから3回Jへ条件分岐し、最後にKからLへ条件分岐
する。すなわち、トレーサメモリの格納結果を示す第3
図の(a)で示される順序でマイクロプログラムが実行
されるものとする。なお、この第3図において、(a)
は従来のトレーサメモリの格納結果を示したものであ
り、(b)は本発明のトレーサメモリの格納結果を示し
たものである。
第4図は本発明における動作のタイムチヤートで、第
2図のマイクロプログラムを実行したときの各レジスタ
のタイムチヤートを示す。
この第4図において、(a)はレジスタ9(:マイク
ロ命令順序制御コマンド)を示したものであり、(b)
はレジスタ5(:マイクロ命令実行アドレス)、(c)
はレジスタ6(:トレーサ書込みデータ)、(d)はレ
ジスタ11(:トレーサライトイネーブル)、(e)はレ
ジスタ13(:分岐方向一致フラグ)、(f)はカウンタ
12、(g)はレジスタ7(:トレーサアドレス)、
(h)はトレーサメモリ8を示したものである。
そして、第4図の(a)に示すレジスタ9において
「BR」はマイクロ命令順序制御コマンドが条件分岐コマ
ンドであることを示し、それ以外は無条件分岐コマンド
であることを示す。そして、トレーサ書込み許可を示す
レジスタ11はデコーダ10によりレジスタ9が条件分岐コ
マンドを保持した次のタイミングでONとなるから第4図
に示すT4,T5,T9,T11,T13,T15のタイミングでONと
なり、また、デコーダ10の出力105(セツト信号)も同
じタイミングでONとなる。このデコーダ10の出力105
(セツト信号)によりレジスタ(トレーサ書込みデータ
レジスタ)6には第4図(c)に示すように、T4のタイ
ミングでアドレスEが、T5のタイミングでGが、T9のタ
イミングでJが、T11のタイミイグでJが、T13のタイミ
ングでJが、T15のタイミングでLがそれぞれセツトさ
れ、他のタイミングでは値がホールドされる。
また、第4図の(e)に示すレジスタ(分岐方向一致
フラグレジスタ)13は、第4図の(b)に示すレジスタ
5と第4図の(c)に示すレジスタ6がT10とT12のタイ
ミングで一致するからデコーダ10の出力105(セツト信
号)によりタイミングT4,T5,T9,T15で値「0」がセ
ツトされ、タイミングT11,T13で値「1」がセツトされ
る。そして、他のタイミングでは値がホールドされるか
らレジスタ13の値が「1」となるのはT11〜T14のタイミ
ングとなる。
また、カウンタ12は、デコーダ10の出力105(セット
信号)と比較回路14の出力とにより第4図(f)に示す
ように、タイミングT11で001→002にカウントアツプさ
れ、タイミングT13で002→003にカウントアツプされ
る。そして、タイミングT4とタイミングT5とタイミング
T9とタイミングT15では初期値001にリセットされ、他の
タイミングでは値がホールドされる。
また、レジスタ(トレーサアドレスレジスタ)7は、
セツト条件が満足される第4図に示すタイミングT4
T5,T9,T11,T13で+1加算される。そして、タイミン
グT13ではデコーダ10の出力105(セツト信号)はONであ
るが、このタイミングT13で比較回路14の結果が不一致
でなくかつタイミングT12でのカウンタ12のカウント値
が初期値「001」でないのでレジスタ(トレーサアドレ
スレジスタ)7のセツト条件は満たされず値がホールド
(Hold)される。また、他のタイミングでも値はホール
ドされる。
そして、トレーサメモリ8への書込み動作は、レジス
タ11の出力であるイネーブル信号によるので、レジスタ
11の値により第4図に示すタイミングT5,T6,T10
T12,T14,T16で書込みが行なわれる。T5のタイミング
では、T4のタイミングでのレジスタ(分岐方向一致フラ
グレジスタ)13の値が「0」であるからセレクタ15がレ
ジスタ(トレーサ書込みレジスタ)6を選択するので、
トレーサメモリ8にはT4のタイミングでのレジスタ6の
値であるマイクロ命令アドレスEが格納される。同様に
タイミングT6ではマイクロ命令アドレスGがトレーサメ
モリ8の次の番地に格納され、タイミング10ではマイク
ロ命令アドレスJが更に次の番地に格納される。そし
て、タイミングT12ではタイミングT11でレジスタ(分岐
方向一致フラグレジスタ)13の値が「1」となるので、
セレクタ15はカウンタ12を選択し、タイミングT11での
カウンタ12の値「002」が次の番地に格納される。
タイミングT14では同様にしてカウン値「003」が格納
されるが、タイミングT13においてレジスタ(トレーサ
アドレスレジスタ)7はホールドされるので、カウンタ
値「003」はタイミングT12で格納した番地に上書きされ
る。
タイミングT16では、タイミングT15でレジスタ(分岐
方向一致フラグレジスタ)13の値が「0」となるので、
セレクタ15はレジスタ(トレーサ書込みデータレジス
タ)6を選択し、タイミングT15での値のマイクロ命令
アドレスLが次の番地に格納される。
以上の結果、トレーサメモリ8の格納データは第3図
の(b)で示されるとおりとなり、第3図(a)の従来
方式での結果を比べてかなり少なくなる。
〔発明の効果〕
以上説明したように本発明によれば、不必要な履歴情
報が格納されないのでトレーサメモリの容量を低減でき
る効果がある。また、ループのような繰り返しシーケン
スのトレースにおいては、その繰り返しの回数を履歴情
報とすることにより、冗長の部分を削除でき、トレーサ
メモリを有効に活用できる効果がある。
【図面の簡単な説明】
第1図は本発明による履歴情報格納方式の一実施例を
示すブロツク図、第2図および第3図は第1図の動作説
明に供する本発明の説明に用いたマイクロプログラムお
よびトレーサメモリの格納結果を示す動作説明図、第4
図は本発明における動作のタイムチヤート、第5図は従
来のマイクロ命令シーケンストレースの一例を示すブロ
ツク図である。 1……制御記憶、2,3……レジスタ、4……分岐判定回
路、5,6,7……レジスタ、8……トレーサメモリ、9…
…レジスタ、10……デコーダ、11……レジスタ、12……
カウンタ、13……レジスタ、14……比較回路、15……セ
レクタ、16……デコーダ、17……オアゲート、18,19…
…アンドゲート。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】制御記憶に格納されたマイクロプログラム
    で制御されるデータ処理システムで、実行したマイクロ
    命令のアドレスおよび制御情報を履歴情報として格納す
    るトレーサにおいて、 前記マイクロ命令が条件分岐したときその分岐方向が前
    回条件分岐したときの分岐方向と一致しているかをチェ
    ックし、一致していればマイクロプログラムのループ処
    理の出現とみなしてその連続一致回数を計数し、この計
    数結果を履歴情報として格納する格納手段を備え、 前記計数結果が2以上となるときは、前記計数結果のみ
    を履歴情報として格納するようにしたことを特徴とする
    履歴情報格納方式。
JP63256844A 1988-10-12 1988-10-12 履歴情報格納方式 Expired - Lifetime JPH0831054B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63256844A JPH0831054B2 (ja) 1988-10-12 1988-10-12 履歴情報格納方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63256844A JPH0831054B2 (ja) 1988-10-12 1988-10-12 履歴情報格納方式

Publications (2)

Publication Number Publication Date
JPH02103642A JPH02103642A (ja) 1990-04-16
JPH0831054B2 true JPH0831054B2 (ja) 1996-03-27

Family

ID=17298200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63256844A Expired - Lifetime JPH0831054B2 (ja) 1988-10-12 1988-10-12 履歴情報格納方式

Country Status (1)

Country Link
JP (1) JPH0831054B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2727996B2 (ja) * 1995-01-10 1998-03-18 日本電気株式会社 プログラム実行監視方法およびプログラム実行監視システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61290544A (ja) * 1985-06-19 1986-12-20 Hitachi Ltd プログラム・トレ−ス装置

Also Published As

Publication number Publication date
JPH02103642A (ja) 1990-04-16

Similar Documents

Publication Publication Date Title
US4430706A (en) Branch prediction apparatus and method for a data processing system
US3518413A (en) Apparatus for checking the sequencing of a data processing system
US4794522A (en) Method for detecting modified object code in an emulator
GB1274830A (en) Data processing system
US3659272A (en) Digital computer with a program-trace facility
US3673573A (en) Computer with program tracing facility
JPH0248931B2 (ja)
US4370729A (en) Microprogram sequencer
US4040030A (en) Computer instruction control apparatus and method
US3411147A (en) Apparatus for executing halt instructions in a multi-program processor
JPS59194245A (ja) マイクロプログラム制御装置
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
US3480917A (en) Arrangement for transferring between program sequences in a data processor
JPH0831054B2 (ja) 履歴情報格納方式
US4562534A (en) Data processing system having a control device for controlling an intermediate memory during a bulk data transport between a source device and a destination device
JPH064345A (ja) 履歴情報格納方式
JP2758624B2 (ja) マイクロプログラムの調速方式
JPH02148339A (ja) トレーサ制御回路
JP2581214B2 (ja) 論理シミュレータ
JPS5939777B2 (ja) 制御記憶装置
JPS626341A (ja) 情報処理装置
JPH02143337A (ja) データ処理装置のマイクロプログラム制御装置
JPH038029A (ja) マイクロプログラム制御装置
JPS61290546A (ja) マイクロプログラム制御装置のトレ−ス方式
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置