JPH064345A - 履歴情報格納方式 - Google Patents
履歴情報格納方式Info
- Publication number
- JPH064345A JPH064345A JP4149064A JP14906492A JPH064345A JP H064345 A JPH064345 A JP H064345A JP 4149064 A JP4149064 A JP 4149064A JP 14906492 A JP14906492 A JP 14906492A JP H064345 A JPH064345 A JP H064345A
- Authority
- JP
- Japan
- Prior art keywords
- register
- address
- history information
- microinstruction
- instruction
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】 (修正有)
【目的】制御記憶に格納されたマイクロプログラムで制
御されるデータ処理システムで、実行マイクロ命令のア
ドレス・制御情報を履歴情報として格納するトレーサで
不要情報が格納されないようメモリを有効に利用する。 【構成】フィールド32は、イベント・割り込み処理を
構成する命令列の最後の命令であることを示すマイクロ
命令終了コマンドのフィールドで、レジスタ22に新た
に機械語命令、イベント処理・割り込みが発生したとい
う情報が保持された時或はレジスタ9が分岐コマンドを
保持した時レジスタ5が保持する命令アドレスがレジス
タ6にセットされる。つまり新たな機械語命令・割り込
み処理が行われた時それらのマイクロ命令列の先頭の命
令アドレスを保持し、命令シーケンスが条件分岐した
時、分岐方向のアドレスを保持。そしてレジスタ11の
出力であるイネーブル信号によりトレーサメモリ8にレ
ジスタ6の内容が書き込まれる。
御されるデータ処理システムで、実行マイクロ命令のア
ドレス・制御情報を履歴情報として格納するトレーサで
不要情報が格納されないようメモリを有効に利用する。 【構成】フィールド32は、イベント・割り込み処理を
構成する命令列の最後の命令であることを示すマイクロ
命令終了コマンドのフィールドで、レジスタ22に新た
に機械語命令、イベント処理・割り込みが発生したとい
う情報が保持された時或はレジスタ9が分岐コマンドを
保持した時レジスタ5が保持する命令アドレスがレジス
タ6にセットされる。つまり新たな機械語命令・割り込
み処理が行われた時それらのマイクロ命令列の先頭の命
令アドレスを保持し、命令シーケンスが条件分岐した
時、分岐方向のアドレスを保持。そしてレジスタ11の
出力であるイネーブル信号によりトレーサメモリ8にレ
ジスタ6の内容が書き込まれる。
Description
【0001】
【産業上の利用分野】本発明は履歴情報格納方式、特に
制御記憶に格納されたマイクロプログラムで制御される
データ処理システムで、実行したマイクロ命令のアドレ
スおよび制御情報を履歴情報として格納するトレーサに
おける履歴情報格納方式に関するものである。
制御記憶に格納されたマイクロプログラムで制御される
データ処理システムで、実行したマイクロ命令のアドレ
スおよび制御情報を履歴情報として格納するトレーサに
おける履歴情報格納方式に関するものである。
【0002】
【従来の技術】マイクロプログラムで制御されるデータ
処理システムにおいては、RAS(Reliabili
ty,Availability,Serviceae
ility)の一環として、マイクロ命令アドレスなど
の時系列データを履歴情報としてトレーサメモリ中の格
納しておき、障害発生時やデバグ作業においてトレーサ
メモリに格納された履歴情報を読みだし、その内容を解
析し、問題の発生原因の究明や処理対策を行なうように
している。
処理システムにおいては、RAS(Reliabili
ty,Availability,Serviceae
ility)の一環として、マイクロ命令アドレスなど
の時系列データを履歴情報としてトレーサメモリ中の格
納しておき、障害発生時やデバグ作業においてトレーサ
メモリに格納された履歴情報を読みだし、その内容を解
析し、問題の発生原因の究明や処理対策を行なうように
している。
【0003】従来の履歴情報格納方式は、実行したマイ
クポ命令アドレスをすべて一率にトレースする構成とな
っていた。
クポ命令アドレスをすべて一率にトレースする構成とな
っていた。
【0004】このような従来の履歴情報格納方式の一例
を示す図5において、1はマイクプログラムを格納して
いる制御記憶、2はこの制御記憶1をアクセスするため
のマイクロ命令アドレスを保持するレジスタである。
を示す図5において、1はマイクプログラムを格納して
いる制御記憶、2はこの制御記憶1をアクセスするため
のマイクロ命令アドレスを保持するレジスタである。
【0005】3はアクセスされたマイクロ命令を受ける
レジスタであり、いくつかのフィールドに分かれてい
る。そして、各フィールドの出力が直接個々の回路(図
示せず)を制御し、マイクロ命令を実行することにな
る。そのうち、フィールド31はマイクロ命令の順序制
御を行なうコマンドのフィールドであり、信号線103
を介して分岐判定回路4に入力される。
レジスタであり、いくつかのフィールドに分かれてい
る。そして、各フィールドの出力が直接個々の回路(図
示せず)を制御し、マイクロ命令を実行することにな
る。そのうち、フィールド31はマイクロ命令の順序制
御を行なうコマンドのフィールドであり、信号線103
を介して分岐判定回路4に入力される。
【0006】このコマンドは大きくは無条件分岐コマン
ドと条件分岐コマンドの2つに分かれるが、無条件分岐
コマンドであるときは、分岐判定回路4の出力はレジス
タ2に保持されているアドレスそのものとなり、条件分
岐コマンドであるときは、分岐判定回路4の出力はレジ
スタ2に保持されているアドレスを分岐判定条件信号1
04で修飾したアドレスとなる。そして、レジスタ5は
分岐判定回路4の出力を受けるレジスタであり、常に実
際に実行するマイクロ命令のアドレスを保持する。
ドと条件分岐コマンドの2つに分かれるが、無条件分岐
コマンドであるときは、分岐判定回路4の出力はレジス
タ2に保持されているアドレスそのものとなり、条件分
岐コマンドであるときは、分岐判定回路4の出力はレジ
スタ2に保持されているアドレスを分岐判定条件信号1
04で修飾したアドレスとなる。そして、レジスタ5は
分岐判定回路4の出力を受けるレジスタであり、常に実
際に実行するマイクロ命令のアドレスを保持する。
【0007】レジスタ2には命令開始時またはイベント
処理開始時ではその開始アドレスが信号線101を介し
てセットされ、その後は開始アドレスでアクセスしたマ
イクロ命令後の中のテクストアドレスが信号線102を
介してセットされ、順次マイクロプログラムを実行して
いく。
処理開始時ではその開始アドレスが信号線101を介し
てセットされ、その後は開始アドレスでアクセスしたマ
イクロ命令後の中のテクストアドレスが信号線102を
介してセットされ、順次マイクロプログラムを実行して
いく。
【0008】レジスタ6はトレーサへの書き込みデータ
を保持するレジスタであり、レジスタ5の保持している
データ(マイクロ命令アドレス)がセットされる。レジ
スタ7はトレーサメモリ8のアドレスを保持するアドレ
スレジスタで、トレーサデータが格納される毎に+1加
算される。
を保持するレジスタであり、レジスタ5の保持している
データ(マイクロ命令アドレス)がセットされる。レジ
スタ7はトレーサメモリ8のアドレスを保持するアドレ
スレジスタで、トレーサデータが格納される毎に+1加
算される。
【0009】以上説明した構成により実行したマイクロ
命令のアドレスがすべて一率にトレーサメモリ8にサイ
クリックに履歴情報として格納する。
命令のアドレスがすべて一率にトレーサメモリ8にサイ
クリックに履歴情報として格納する。
【0010】
【発明が解決しようとする課題】上述した従来の履歴情
報格納方式では、本来履歴情報としては機械語命令、イ
ベント処理および割り込み処理を構成するマイクロ命令
列の先頭およびマイクロ命令のシーケンスが分岐すると
きの分岐方向だけ残せばその履歴情報から実際のシーケ
ンスを追うことが可能であるにもかかわらず、実行した
マイクロ命令アドレスを全て一率に履歴情報としてトレ
ーサメモリに格納していた。このため、トレーサメモリ
は大容量のメモリを必要とするなめならず、特にループ
を構成するマイクロプログラムにおいては、その履歴内
容に冗長と部分が多くなり、メモリ資源が有効に利用さ
れないという課題があった。
報格納方式では、本来履歴情報としては機械語命令、イ
ベント処理および割り込み処理を構成するマイクロ命令
列の先頭およびマイクロ命令のシーケンスが分岐すると
きの分岐方向だけ残せばその履歴情報から実際のシーケ
ンスを追うことが可能であるにもかかわらず、実行した
マイクロ命令アドレスを全て一率に履歴情報としてトレ
ーサメモリに格納していた。このため、トレーサメモリ
は大容量のメモリを必要とするなめならず、特にループ
を構成するマイクロプログラムにおいては、その履歴内
容に冗長と部分が多くなり、メモリ資源が有効に利用さ
れないという課題があった。
【0011】
【課題を解決するための手段】本発明の方式は、制御記
憶に格納されたマイクロプログラムで制御されるデータ
処理システムで、実行したマイクロ命令のアドレスおよ
び制御情報を履歴情報として格納する履歴情報格納方式
において、機械語命令又はイベント処理を構成するマイ
クロ命令列の先頭を履歴情報として格納する第1の格納
手段と、割り込み処理を構成するマイクロ命令列の先頭
を履歴情報として格納する第2の格納手段と、前記マイ
クロ命令列の中のマイクロ命令が条件分岐したときその
分岐方向を履歴情報として格納する第3の格納手段と、
前記マイクロ命令が条件分岐したときその分岐方向が前
回条件分岐したときの分岐方向と一致しているかをチェ
ックし一致していればその連続一致回数を計数し履歴情
報として格納する第4の格納手段とを有することを特徴
とする。
憶に格納されたマイクロプログラムで制御されるデータ
処理システムで、実行したマイクロ命令のアドレスおよ
び制御情報を履歴情報として格納する履歴情報格納方式
において、機械語命令又はイベント処理を構成するマイ
クロ命令列の先頭を履歴情報として格納する第1の格納
手段と、割り込み処理を構成するマイクロ命令列の先頭
を履歴情報として格納する第2の格納手段と、前記マイ
クロ命令列の中のマイクロ命令が条件分岐したときその
分岐方向を履歴情報として格納する第3の格納手段と、
前記マイクロ命令が条件分岐したときその分岐方向が前
回条件分岐したときの分岐方向と一致しているかをチェ
ックし一致していればその連続一致回数を計数し履歴情
報として格納する第4の格納手段とを有することを特徴
とする。
【0012】
【実施例】以下、図面に基づき本発明の実施例を詳細に
説明する。
説明する。
【0013】本発明による履歴情報格納方式の一実施例
を示す図1において、図5に示した例と共通な構成部分
は共通な参照番号で示してある。
を示す図1において、図5に示した例と共通な構成部分
は共通な参照番号で示してある。
【0014】レジスタ3のフィールド32は機械語命
令、イベント処理および割り込み処理を構成するマイク
ロ命令列の最後のマイクロ命令であることを示すマイク
ロ命令終了マンドのフィールドである。レジスタ(割り
込み検出フラグレジスタ)20は、割り込み処理が発生
するとセットされ、レジスタ2に割り込み処理を構成す
るマイクロ命令列の先頭のマイクロ命令アドレスが信号
線101を介して保持される。
令、イベント処理および割り込み処理を構成するマイク
ロ命令列の最後のマイクロ命令であることを示すマイク
ロ命令終了マンドのフィールドである。レジスタ(割り
込み検出フラグレジスタ)20は、割り込み処理が発生
するとセットされ、レジスタ2に割り込み処理を構成す
るマイクロ命令列の先頭のマイクロ命令アドレスが信号
線101を介して保持される。
【0015】22はレジスタ3のフィールド32とレジ
スタ20の出力をオアゲート21でORした結果をセッ
トするレジスタである。9はレジスタ3のフィールド3
1を次のタイミングでセットするレジスタであり、マイ
クロ命令順序制御コマンドを保持する。
スタ20の出力をオアゲート21でORした結果をセッ
トするレジスタである。9はレジスタ3のフィールド3
1を次のタイミングでセットするレジスタであり、マイ
クロ命令順序制御コマンドを保持する。
【0016】10はレジスタ9の保持しているデータが
条件分岐コマンドであることを検出するデコーダであ
り、レジスタ22の出力とデコーダ10の出力をオアゲ
ート23でORした結果がレジスタ11にセットされ
る。そして、レジスタ22の出力とデコーダ10の出力
をORした出力105はレジスタ(トレーサ書き込みデ
ータレジスタ)6とレジスタ(トレーサアドレスレジス
タ)7およびカウンタ12ならびにレジスタ13のセッ
ト信号でもある。
条件分岐コマンドであることを検出するデコーダであ
り、レジスタ22の出力とデコーダ10の出力をオアゲ
ート23でORした結果がレジスタ11にセットされ
る。そして、レジスタ22の出力とデコーダ10の出力
をORした出力105はレジスタ(トレーサ書き込みデ
ータレジスタ)6とレジスタ(トレーサアドレスレジス
タ)7およびカウンタ12ならびにレジスタ13のセッ
ト信号でもある。
【0017】レジスタ11はトレーサ書き込み許可を示
すイネーブル信号を出力する。そして、レジスタ6に
は、レジスタ22に新たに機械語命令、イベント処理お
よび割り込み処理が発生したという情報が保持されたと
き、またはレジスタ9が条件分岐コマンドを保持したと
きだけ、レジスタ5の保持しているマイクロ命令アドレ
スがセットされる。つまり、新たな機械語命令およびイ
ベント処理および割り込み処理が行われたときはそれら
を構成するマイクロ命令列の先頭のマイクロ命令アドレ
スを保持し、マイクロ名シーケンスが条件分岐したとき
はその分岐方向アドレスを保持する。
すイネーブル信号を出力する。そして、レジスタ6に
は、レジスタ22に新たに機械語命令、イベント処理お
よび割り込み処理が発生したという情報が保持されたと
き、またはレジスタ9が条件分岐コマンドを保持したと
きだけ、レジスタ5の保持しているマイクロ命令アドレ
スがセットされる。つまり、新たな機械語命令およびイ
ベント処理および割り込み処理が行われたときはそれら
を構成するマイクロ命令列の先頭のマイクロ命令アドレ
スを保持し、マイクロ名シーケンスが条件分岐したとき
はその分岐方向アドレスを保持する。
【0018】比較回路14はレジスタ5とレジスタ6の
値を比較し、その比較結果はレジスタ22の出力とデコ
ーダ10の出力をオアゲート23でORした出力105
(セット信号)によりレジスタ13にセットされる。
値を比較し、その比較結果はレジスタ22の出力とデコ
ーダ10の出力をオアゲート23でORした出力105
(セット信号)によりレジスタ13にセットされる。
【0019】このレジスタ(分岐方向一致フラグレジス
タ)13はマイクロ命令シーケンスが条件分岐したとき
の分岐方向と同じであるかどうかを示す。そして、レジ
スタ(分岐方向一致フラグレジスタ)13の出力はセレ
クタ15の選択信号108となり、このセレクタ15は
分岐方向一致フラグが不一致であればレジスタ6の出力
を選択し一致であればカウンタ12の出力を選択する。
タ)13はマイクロ命令シーケンスが条件分岐したとき
の分岐方向と同じであるかどうかを示す。そして、レジ
スタ(分岐方向一致フラグレジスタ)13の出力はセレ
クタ15の選択信号108となり、このセレクタ15は
分岐方向一致フラグが不一致であればレジスタ6の出力
を選択し一致であればカウンタ12の出力を選択する。
【0020】このカウンタ12はレジスタ22の出力と
デコーダ10の出力をオアゲート23でORした出力1
05により+1ずつ加算されるカウンタである。そし
て、レジスタ22の出力とデコーダ10の出力をオアゲ
ート23でORした出力105がONでも比較回路14
の比較結果が不一致であると常に初期値「001」にリ
セットされる。このカウンタ12のカウント値はマイク
ロ命令シーケンスが同一方向に連続して条件分岐した回
数を表わす。
デコーダ10の出力をオアゲート23でORした出力1
05により+1ずつ加算されるカウンタである。そし
て、レジスタ22の出力とデコーダ10の出力をオアゲ
ート23でORした出力105がONでも比較回路14
の比較結果が不一致であると常に初期値「001」にリ
セットされる。このカウンタ12のカウント値はマイク
ロ命令シーケンスが同一方向に連続して条件分岐した回
数を表わす。
【0021】デコーダ16はカウンタ12のカウント値
が初期値「001」であることを検出し、その出力はレ
ジスタ7のセット条件の1つとなる。このレジスタ7は
トレーサのアドレスを保持するアドレスレジスタであ
り、デコーダ16の出力107と比較回路14の出力1
6の出力107と比較回路14の出力106の反転値1
10がオアゲート17でORされた出力109とレジス
タ22の出力とデコーダ10の出力をオアゲート23で
ORした出力105とがアンドゲート18でANDされ
た結果により+1加算される。
が初期値「001」であることを検出し、その出力はレ
ジスタ7のセット条件の1つとなる。このレジスタ7は
トレーサのアドレスを保持するアドレスレジスタであ
り、デコーダ16の出力107と比較回路14の出力1
6の出力107と比較回路14の出力106の反転値1
10がオアゲート17でORされた出力109とレジス
タ22の出力とデコーダ10の出力をオアゲート23で
ORした出力105とがアンドゲート18でANDされ
た結果により+1加算される。
【0022】すなわち、新たに機械語命令、イベント処
理および割り込み処理が発生した場合であるか、または
マイクロ命令シーケンスが条件分岐であり、かつカウン
タ12のカウント値が初期値「001」であるか、また
は比較回路14の比較結果が不一致であるとき+1加算
される。また、その加算結果のオーバーフローは無視さ
れサイクリックなアドレスとなる。19は比較回路14
の出力106を入力とするナンドゲートである。
理および割り込み処理が発生した場合であるか、または
マイクロ命令シーケンスが条件分岐であり、かつカウン
タ12のカウント値が初期値「001」であるか、また
は比較回路14の比較結果が不一致であるとき+1加算
される。また、その加算結果のオーバーフローは無視さ
れサイクリックなアドレスとなる。19は比較回路14
の出力106を入力とするナンドゲートである。
【0023】そして、レジスタ22,5,6,7および
11は新たに機械語命令およびイベント処理が発生した
とき、その機械語命令およびイベント処理を構成するマ
イクロ命令列の先頭のマイクロ命令アドレスを履歴情報
として格納する手段を構成する。また、レジスタ20,
22,5,6,および7は新たに割り込み処理が発生し
たときその割り込み処理を構成するマイクロ命令列の先
頭のマイクロ命令アドレスを履歴情報として格納する手
段を構成する。
11は新たに機械語命令およびイベント処理が発生した
とき、その機械語命令およびイベント処理を構成するマ
イクロ命令列の先頭のマイクロ命令アドレスを履歴情報
として格納する手段を構成する。また、レジスタ20,
22,5,6,および7は新たに割り込み処理が発生し
たときその割り込み処理を構成するマイクロ命令列の先
頭のマイクロ命令アドレスを履歴情報として格納する手
段を構成する。
【0024】レジスタ11,5,6,7,デコーダ10
およびセレクタ15はマイクロ命令が条件分岐したとき
その分岐方向を履歴情報として格納する手段を構成し、
また、レジスタ5,6,7,13,トレーサメモリ8,
カウンタ12,比較回路14およびセレクタ15はマイ
クロ命令が条件分岐したときその分岐方向が前回分岐し
たときと一致しているかをチェックし一致していればそ
の連続一致回数を計数し履歴情報として格納する手段を
構成している。
およびセレクタ15はマイクロ命令が条件分岐したとき
その分岐方向を履歴情報として格納する手段を構成し、
また、レジスタ5,6,7,13,トレーサメモリ8,
カウンタ12,比較回路14およびセレクタ15はマイ
クロ命令が条件分岐したときその分岐方向が前回分岐し
たときと一致しているかをチェックし一致していればそ
の連続一致回数を計数し履歴情報として格納する手段を
構成している。
【0025】つぎに、動作フローについて図2に示すマ
イクロプログラムを例に説明する。図2において、アル
ファベットA,B,C……およびα,β,γ……および
(1),(2),(3)……はマイクロ命令アドレスを
示し、マイクロ命令Aと呼ぶときは、アドレスAのマイ
クロ命令のことである。この件では、BからEへ条件分
岐し、EからGへ条件分岐し、Kから3回Jへ条件分岐
し、最後にKからLへ条件分岐する。
イクロプログラムを例に説明する。図2において、アル
ファベットA,B,C……およびα,β,γ……および
(1),(2),(3)……はマイクロ命令アドレスを
示し、マイクロ命令Aと呼ぶときは、アドレスAのマイ
クロ命令のことである。この件では、BからEへ条件分
岐し、EからGへ条件分岐し、Kから3回Jへ条件分岐
し、最後にKからLへ条件分岐する。
【0026】すなわち、トレーサメモリの格納結果を示
す図3の(a)で示される順序でマイクロプログラムが
実行されるものとする。なお、この図3において、
(a)は従来のトレーサメモリの格納結果を示したもの
であり、(b)は本発明のトレーサメモリの格納結果を
示したものである。
す図3の(a)で示される順序でマイクロプログラムが
実行されるものとする。なお、この図3において、
(a)は従来のトレーサメモリの格納結果を示したもの
であり、(b)は本発明のトレーサメモリの格納結果を
示したものである。
【0027】図4は本発明における動作のタイムチャー
トで、図2のマイクロプログラムを実行したときの各レ
ジスタのタイムチャートを示す。図4において、(a)
はレジスタ22、(b)はレジスタ9(:マイクロ命令
順序制御コマンド)、(c)はレジスタ5(:マイクロ
命令実行アドレス)、(d)はレジスタ6(:トレーサ
書き込みデータ)、(e)はレジスタ11(:トレーサ
ライトイネーブル)、(f)はレジスタ13(:分岐方
向一致フラグ)、(g)はカウンタ12、(h)はレジ
スタ7(:トレーサアドレス)、(i)はトレーサメモ
リ8をそれぞれ示したものである。
トで、図2のマイクロプログラムを実行したときの各レ
ジスタのタイムチャートを示す。図4において、(a)
はレジスタ22、(b)はレジスタ9(:マイクロ命令
順序制御コマンド)、(c)はレジスタ5(:マイクロ
命令実行アドレス)、(d)はレジスタ6(:トレーサ
書き込みデータ)、(e)はレジスタ11(:トレーサ
ライトイネーブル)、(f)はレジスタ13(:分岐方
向一致フラグ)、(g)はカウンタ12、(h)はレジ
スタ7(:トレーサアドレス)、(i)はトレーサメモ
リ8をそれぞれ示したものである。
【0028】そして、図4の(a)に示すレジスタ22
において「1」は機械語命令、イベント処理および割り
込み処理の始まりであることを示し、それ以外はマイク
ロ命令シーケンスが実行中であることを示す。
において「1」は機械語命令、イベント処理および割り
込み処理の始まりであることを示し、それ以外はマイク
ロ命令シーケンスが実行中であることを示す。
【0029】(b)に示すレジスタ9において「BR」
はマイクロ命令順序制御コマンドが条件分岐コマンドで
あることを示し、それ以外は無条件分岐コマンドである
ことを示す。そして、トレーサ書き込み許可を示すレジ
スタ11は、レジスタ22がマイクロ命令終了コマンド
または割り込み開始情報を保持した場合またはデコーダ
10によりレジスタ9が条件分岐コマンドを保持した場
合の次にタイミングでONとなるから図4に示すT2,
T5,T7,T8,T12,T14,T16,T18,
T20,T22,T24のタイミングでONとなり、ま
た、レジスタ22の出力とデコーダ10の出力をORし
た出力105(セット信号)も同じタイミングでONと
なる。
はマイクロ命令順序制御コマンドが条件分岐コマンドで
あることを示し、それ以外は無条件分岐コマンドである
ことを示す。そして、トレーサ書き込み許可を示すレジ
スタ11は、レジスタ22がマイクロ命令終了コマンド
または割り込み開始情報を保持した場合またはデコーダ
10によりレジスタ9が条件分岐コマンドを保持した場
合の次にタイミングでONとなるから図4に示すT2,
T5,T7,T8,T12,T14,T16,T18,
T20,T22,T24のタイミングでONとなり、ま
た、レジスタ22の出力とデコーダ10の出力をORし
た出力105(セット信号)も同じタイミングでONと
なる。
【0030】このレジスタ22の出力とデコーダ10の
出力をORした出力105(セット信号)によりレジス
タ(トレーサ書き込みデータレジスタ)6には図4
(d)が示すように、T2のタイミングでアドレスX
が、T5のタイミングでアドレスAが、T7のタイミン
グでアドレスEが、T8のタイミングでGが、T12の
タイミングでJが、T14のタイミングでJが、T16
のタイミングでJが、T18のタイミングでLが、T2
0のタイミングでIが、T24のタイミングでTがそれ
ぞれセットされ、他のタイミングでは値がホールドされ
る。
出力をORした出力105(セット信号)によりレジス
タ(トレーサ書き込みデータレジスタ)6には図4
(d)が示すように、T2のタイミングでアドレスX
が、T5のタイミングでアドレスAが、T7のタイミン
グでアドレスEが、T8のタイミングでGが、T12の
タイミングでJが、T14のタイミングでJが、T16
のタイミングでJが、T18のタイミングでLが、T2
0のタイミングでIが、T24のタイミングでTがそれ
ぞれセットされ、他のタイミングでは値がホールドされ
る。
【0031】また、図4(e)に示すレジスタ(分岐方
向一致フラグレジスタ)13は、図4(c)に示すレジ
スタ5と図4の(d)に示すレジスタ6がT13とT1
5のタイミングで一致するからレジスタ22の出力とデ
コーダ10の出力をORした出力105(セット信号)
によりタイミングT2,T5,T7,T8,T12,T
18,T20,T22,T24で値「0」がセットさ
れ、タイミングT14,T16で値「1」がセットされ
る。そして、他のタイミングでは値がホールドされるか
らレジスタ12の値が「1」となるのはT14〜T17
のタイミングとなる。
向一致フラグレジスタ)13は、図4(c)に示すレジ
スタ5と図4の(d)に示すレジスタ6がT13とT1
5のタイミングで一致するからレジスタ22の出力とデ
コーダ10の出力をORした出力105(セット信号)
によりタイミングT2,T5,T7,T8,T12,T
18,T20,T22,T24で値「0」がセットさ
れ、タイミングT14,T16で値「1」がセットされ
る。そして、他のタイミングでは値がホールドされるか
らレジスタ12の値が「1」となるのはT14〜T17
のタイミングとなる。
【0032】また、カウンタ12は、デコーダ10の出
力105(セット信号)と比較回路14の出力とにより
図4(g)に示すように、タイミングT14で001→
002にカウントアップされ、タイミング16で002
→003カウントアップされる。そして、タイミングT
2とタイミングT5とタイミングT7とタイミングT8
とタイミングT12とタイミングT18とタイミングT
20とタイミングT22とタイミングT24では初期値
001にリセットされ、他のタイミングでは値がホール
ドされる。
力105(セット信号)と比較回路14の出力とにより
図4(g)に示すように、タイミングT14で001→
002にカウントアップされ、タイミング16で002
→003カウントアップされる。そして、タイミングT
2とタイミングT5とタイミングT7とタイミングT8
とタイミングT12とタイミングT18とタイミングT
20とタイミングT22とタイミングT24では初期値
001にリセットされ、他のタイミングでは値がホール
ドされる。
【0033】また、レジスタ(トレーサアドレスレジス
タ)7は、セット条件が満足される図4に示すタイミン
グT2,T5、T7,T8,T12,T14,T18,
T20,T22,T24で+1加算される。そして、タ
イミングT13ではデコーダ10の出力105(セット
信号)はONであるが、このタイミングT16で比較回
路14の結果が不一致でなくかつタイミングT15での
カウント値が初期値「001」でないのでレジスタ(ト
レーサアドレスレジスタ)7のセット条件は満たされず
値がホールド(Hold)される。また、他のタイミン
グでも値はホールドされる。
タ)7は、セット条件が満足される図4に示すタイミン
グT2,T5、T7,T8,T12,T14,T18,
T20,T22,T24で+1加算される。そして、タ
イミングT13ではデコーダ10の出力105(セット
信号)はONであるが、このタイミングT16で比較回
路14の結果が不一致でなくかつタイミングT15での
カウント値が初期値「001」でないのでレジスタ(ト
レーサアドレスレジスタ)7のセット条件は満たされず
値がホールド(Hold)される。また、他のタイミン
グでも値はホールドされる。
【0034】そして、トレーサメモリ8への書き込み動
作は、レジスタ11の出力であるイネーブル信号による
ので、レジスタ11の値により図4に示すタイミングT
3,T6,T8,T8,T9,T13,T15,T1
7,T19,T21,T23,T25で書き込みが行な
われる。T3のタイミングでは、T2のタイミングでの
レジスタ(分岐方向一致フラグレジスタ)13の値が
「0」であるからセレクタ15がレジスタ(トレーサ書
き込みレジスタ)6を選択するので、トレーサメモリ8
にはT2のタイミングでのレジスタ6の値であるマイク
ロ命令アドレスXが格納される。
作は、レジスタ11の出力であるイネーブル信号による
ので、レジスタ11の値により図4に示すタイミングT
3,T6,T8,T8,T9,T13,T15,T1
7,T19,T21,T23,T25で書き込みが行な
われる。T3のタイミングでは、T2のタイミングでの
レジスタ(分岐方向一致フラグレジスタ)13の値が
「0」であるからセレクタ15がレジスタ(トレーサ書
き込みレジスタ)6を選択するので、トレーサメモリ8
にはT2のタイミングでのレジスタ6の値であるマイク
ロ命令アドレスXが格納される。
【0035】同様にタイミングT9では、マイクロ命令
アドレスGがトレーサメモリ8の次の番地に格納され、
同様にタイミングT13ではマイクロ命令アドレスJが
更に次の番地に格納される。そして、タイミングT15
ではタイミングT14でレジスタ(分岐方向一致フラグ
レジスタ)13の値が「1」となるので、セレクタ15
はカウンタ12を選択し、タイミングT14でのカウン
タ12の値「002」が次の番地に格納される。
アドレスGがトレーサメモリ8の次の番地に格納され、
同様にタイミングT13ではマイクロ命令アドレスJが
更に次の番地に格納される。そして、タイミングT15
ではタイミングT14でレジスタ(分岐方向一致フラグ
レジスタ)13の値が「1」となるので、セレクタ15
はカウンタ12を選択し、タイミングT14でのカウン
タ12の値「002」が次の番地に格納される。
【0036】タイミング17では同様にしてカウンタ値
「003」が格納されるが、タイミングT16において
レジスタ(トレーサアドレスレジスタ)7はホールドさ
れるので、カウンタ値「003」はタイミングT15で
格納した番地に上書きされる。
「003」が格納されるが、タイミングT16において
レジスタ(トレーサアドレスレジスタ)7はホールドさ
れるので、カウンタ値「003」はタイミングT15で
格納した番地に上書きされる。
【0037】タイミングT19では、タイミングT18
でレジスタ(分岐方向一致フラグレジスタ)13の値が
「0」となるので、セレクタ15はレジスタ(トレーサ
書き込みデータレジスタ)6を選択し、タイミングT1
8でのマイクロ命令アドレスLが次の番地に格納され
る。同様にタイミングT21ではマイクロ命令アドレス
αがトレーサメモリ8の次の番地に格納され、同様にタ
イミングT23ではマイクロ命令アドレス(1)がトレ
ーサメモリ8の次の番地に格納され、同様にタイミング
T25ではマイクロ命令アドレスTがトレーサメモリ8
の次の番地に格納される。
でレジスタ(分岐方向一致フラグレジスタ)13の値が
「0」となるので、セレクタ15はレジスタ(トレーサ
書き込みデータレジスタ)6を選択し、タイミングT1
8でのマイクロ命令アドレスLが次の番地に格納され
る。同様にタイミングT21ではマイクロ命令アドレス
αがトレーサメモリ8の次の番地に格納され、同様にタ
イミングT23ではマイクロ命令アドレス(1)がトレ
ーサメモリ8の次の番地に格納され、同様にタイミング
T25ではマイクロ命令アドレスTがトレーサメモリ8
の次の番地に格納される。
【0038】以上の結果、トレーサメモリ8の格納デー
タは図3(b)で示されるとおりとなり、図3(a)の
従来方式での結果と比べてかなり少なくなる。
タは図3(b)で示されるとおりとなり、図3(a)の
従来方式での結果と比べてかなり少なくなる。
【0039】
【発明の効果】以上説明したように本発明によれば、不
必要な履歴情報が格納されないのでトレーサメモリの容
量を低減できる。また、ループのような繰り返すシーケ
ンスのトレースにおいては、その繰り返す回数を履歴情
報とすることにより、冗長の部分を削除でき、トレーサ
メモリを有効に活用出来る効果がある。
必要な履歴情報が格納されないのでトレーサメモリの容
量を低減できる。また、ループのような繰り返すシーケ
ンスのトレースにおいては、その繰り返す回数を履歴情
報とすることにより、冗長の部分を削除でき、トレーサ
メモリを有効に活用出来る効果がある。
【図1】本発明による履歴情報格納方式の一実施例を示
すブロック図である。
すブロック図である。
【図2】図1に示した実施例の動作を説明するための図
である。
である。
【図3】図1に示した実施例によるトレーサメモリへの
格納結果は従来例による格納結果との比較において示す
図である。
格納結果は従来例による格納結果との比較において示す
図である。
【図4】本発明における動作のタイムチャートである。
【図5】従来のマイクロ命令シーケンストレースの一例
を示すブロック図である。
を示すブロック図である。
1 制御記憶 2,3 レジスタ 4 分岐判定回路 5,6,7 レジスタ 8 トレーサメモリ 9 レジスタ 10 デコーダ 11 レジスタ 12 カウンタ 13 レジスタ 14 比較回路 15 セレクタ 16 デコーダ 17 オアゲート 18,19 アンドゲート 20,22 レジスタ 21,23 オアゲート
Claims (1)
- 【請求項1】 制御記憶に格納されたマイクロプログラ
ムで制御されるデータ処理システムで、実行したマイク
ロ命令のアドレスおよび制御情報を履歴情報として格納
する履歴情報格納方式において、 機械語命令又はイベント処理を構成するマイクロ命令列
の先頭を履歴情報として格納する第1の格納手段と、 割り込み処理を構成するマイクロ命令列の先頭を履歴情
報として格納する第2の格納手段と、 前記マイクロ命令列の中のマイクロ命令が条件分岐した
ときその分岐方向を履歴情報として格納する第3の格納
手段と、前記マイクロ命令が条件分岐したときその分岐
方向が前回条件分岐したときの分岐方向と一致している
かをチェックし一致していればその連続一致回数を計数
し履歴情報として格納する第4の格納手段とを有するこ
とを特徴とする履歴情報格納方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4149064A JPH064345A (ja) | 1992-06-09 | 1992-06-09 | 履歴情報格納方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4149064A JPH064345A (ja) | 1992-06-09 | 1992-06-09 | 履歴情報格納方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH064345A true JPH064345A (ja) | 1994-01-14 |
Family
ID=15466889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4149064A Withdrawn JPH064345A (ja) | 1992-06-09 | 1992-06-09 | 履歴情報格納方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH064345A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08190498A (ja) * | 1995-01-10 | 1996-07-23 | Nec Corp | プログラム実行監視方法およびプログラム実行監視 システム |
-
1992
- 1992-06-09 JP JP4149064A patent/JPH064345A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08190498A (ja) * | 1995-01-10 | 1996-07-23 | Nec Corp | プログラム実行監視方法およびプログラム実行監視 システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4409654A (en) | Data processor adapted for interruption to an instruction stream | |
US3518413A (en) | Apparatus for checking the sequencing of a data processing system | |
US4423508A (en) | Logic tracing apparatus | |
US5125097A (en) | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path | |
US3553655A (en) | Short forward conditional skip hardware | |
EP0497485A2 (en) | Computer for implementing two-operand instructions | |
US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
JPH064345A (ja) | 履歴情報格納方式 | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
JPH0831054B2 (ja) | 履歴情報格納方式 | |
US5787276A (en) | Microprocessor including circuit for generating signal used for tracing executed instruction stream | |
JPH07182165A (ja) | コミット条件付き命令の処理方法およびその装置 | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JPS60164842A (ja) | 命令先取り装置 | |
JPS5939777B2 (ja) | 制御記憶装置 | |
JP3057732B2 (ja) | 情報処理装置 | |
JPS60110043A (ja) | 情報処理装置 | |
JPS5936853A (ja) | 演算処理装置 | |
JPH01191948A (ja) | 診断制御装置 | |
JPS603753A (ja) | 可変割込処理方式 | |
JPS60193046A (ja) | 命令例外検出方式 | |
JPS59223846A (ja) | 演算処理装置 | |
JPH02155052A (ja) | トレース装置 | |
JPH02173825A (ja) | 分岐制御装置 | |
JPH04256039A (ja) | 命令カウント可能な情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990831 |