JPS6248859B2 - - Google Patents
Info
- Publication number
- JPS6248859B2 JPS6248859B2 JP58005210A JP521083A JPS6248859B2 JP S6248859 B2 JPS6248859 B2 JP S6248859B2 JP 58005210 A JP58005210 A JP 58005210A JP 521083 A JP521083 A JP 521083A JP S6248859 B2 JPS6248859 B2 JP S6248859B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- trace
- fetch
- instruction
- memory
- 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
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
(1) 発明の技術分野
本発明は中央制御装置(以下CCと略称する)
の命令アドレスのトレース回路に関し、特に命令
の先行制御を行なうCCにおけるトレース方式に
関するものである。
の命令アドレスのトレース回路に関し、特に命令
の先行制御を行なうCCにおけるトレース方式に
関するものである。
(2) 従来技術と問題点
従来CCにおけるプログラムのトレースを行な
う方式として第1図に示すようにCC1から主記
憶装置(MM)2へ送出するアドレスを伝送する
メモリーアドレスバス(MAB)にトレース回路
3を接続し、MAB上のアドレスをトレース回路
3内のメモリーに格納する方式が存在する。この
トレース回路2内の内部ブロツク構成の1例を第
2図に示す。
う方式として第1図に示すようにCC1から主記
憶装置(MM)2へ送出するアドレスを伝送する
メモリーアドレスバス(MAB)にトレース回路
3を接続し、MAB上のアドレスをトレース回路
3内のメモリーに格納する方式が存在する。この
トレース回路2内の内部ブロツク構成の1例を第
2図に示す。
第2図において11および12はトレース範囲
を指定するレジスタであつて、11はトレースの
開始アドレスを指定するレジスタSMSR
(Sample match start address register)、12
はトレースの終了アドレスを指定するレジスタ
SMER(Sample match end address
register)、13はトレース条件を指定するレジ
スタSCR(Sample control register)、14はデ
ータ(アドレス情報)を格納するメモリ領域
STKのアドレスを格納するカウンタSPNT
(Stack pointe)である。15はトレース範囲内
であり且つトレース条件を満足する主記憶装置の
アクセスアドレスを記憶するメモリースタツク
STK、16,17はトレース範囲であるか否か
を判定する判定回路(MATA、MATB)、18は
メモリースタツク15への書込みを制御する制御
回路(CTL)である。第2図に示すブロツク図
内のレジスタ11,12,13,14のフオーマ
ツトをそれぞれ第3図a,b,c,dに示す。
を指定するレジスタであつて、11はトレースの
開始アドレスを指定するレジスタSMSR
(Sample match start address register)、12
はトレースの終了アドレスを指定するレジスタ
SMER(Sample match end address
register)、13はトレース条件を指定するレジ
スタSCR(Sample control register)、14はデ
ータ(アドレス情報)を格納するメモリ領域
STKのアドレスを格納するカウンタSPNT
(Stack pointe)である。15はトレース範囲内
であり且つトレース条件を満足する主記憶装置の
アクセスアドレスを記憶するメモリースタツク
STK、16,17はトレース範囲であるか否か
を判定する判定回路(MATA、MATB)、18は
メモリースタツク15への書込みを制御する制御
回路(CTL)である。第2図に示すブロツク図
内のレジスタ11,12,13,14のフオーマ
ツトをそれぞれ第3図a,b,c,dに示す。
つぎに第2図のブロツク図によりトレース回路
の動作を説明する。CCはまずリザルトバスRBS
を経由してトレース範囲をレジスタ11および1
2に、トレース条件すなわちメモリースタツク1
5に格納するメモリアクセスの種別:オペランド
フエツチ(P Fetch)、オペランドストア(P
store)、インストラクシヨンフエツチ(I
Fetch)をレジスタ13に設定し、スタツクポイ
ンタ14にスタツク領域のアドレスとしてオール
“1”を設定する。つぎにレジスタ13のトレー
ス実行ビツトTを“1”とし、トレースすべきプ
ログラムを走らせればトレースを開始する。
の動作を説明する。CCはまずリザルトバスRBS
を経由してトレース範囲をレジスタ11および1
2に、トレース条件すなわちメモリースタツク1
5に格納するメモリアクセスの種別:オペランド
フエツチ(P Fetch)、オペランドストア(P
store)、インストラクシヨンフエツチ(I
Fetch)をレジスタ13に設定し、スタツクポイ
ンタ14にスタツク領域のアドレスとしてオール
“1”を設定する。つぎにレジスタ13のトレー
ス実行ビツトTを“1”とし、トレースすべきプ
ログラムを走らせればトレースを開始する。
MABを経由して送られてくるメモリーアドレ
スAがレジスタ11の内容B、レジスタ12の内
容Cに対して次の関係、 B≦A<C であり(即ち、アドレスAがトレース範囲である
とき)、且つレジスタ13に示すアクセス種別で
あれば制御回路(CTL)18を起動する。
スAがレジスタ11の内容B、レジスタ12の内
容Cに対して次の関係、 B≦A<C であり(即ち、アドレスAがトレース範囲である
とき)、且つレジスタ13に示すアクセス種別で
あれば制御回路(CTL)18を起動する。
またそれ以外の場合にはCTL18が起動され
ず、WEもSPNT+1信号も発生しない。
ず、WEもSPNT+1信号も発生しない。
第4図はレジスタ11,12,13の内容が
SMSR=100、SMER=101、SCR=8004(Iフエ
ツチ)の場合におけるアドレス、アクセス種別、
メモリアドレスバスMAB、判定回路MAT、スタ
ツクポインタSPNTおよびライトイネーブルWE
間の内容の相互関係を示す図であつて、CTLは
起動されるとスタツクポインタ(SPNT)14の
内容を+1したのちメモリースタツク15に主記
憶装置MMへのアクセスアドレスを格納する。か
くのごとくして順次トレース範囲内のMMに対す
るアクセスアドレスをメモリースタツク15に格
納する。トレースすべきプログラムの実行終了後
メモリースタツク15の内容を読出せば実際にメ
モリーにアクセスしたアドレスが解る。
SMSR=100、SMER=101、SCR=8004(Iフエ
ツチ)の場合におけるアドレス、アクセス種別、
メモリアドレスバスMAB、判定回路MAT、スタ
ツクポインタSPNTおよびライトイネーブルWE
間の内容の相互関係を示す図であつて、CTLは
起動されるとスタツクポインタ(SPNT)14の
内容を+1したのちメモリースタツク15に主記
憶装置MMへのアクセスアドレスを格納する。か
くのごとくして順次トレース範囲内のMMに対す
るアクセスアドレスをメモリースタツク15に格
納する。トレースすべきプログラムの実行終了後
メモリースタツク15の内容を読出せば実際にメ
モリーにアクセスしたアドレスが解る。
このようにトレース回路を用いることによりソ
フトウエアのデバツクを容易に行なうことができ
る。しかし従来のまゝのトレース回路を2段先行
制御方式のCCに適用するには以下のごとき問題
点が存在する。
フトウエアのデバツクを容易に行なうことができ
る。しかし従来のまゝのトレース回路を2段先行
制御方式のCCに適用するには以下のごとき問題
点が存在する。
第5図aは通常の命令実行方式のタイムチヤー
トを示し、図においてIはインストラクシヨンフ
エツチサイクル、Xはインデクシングサイクル、
Pはオペランドフエツチサイクル、Aは演算サイ
クルである。第5図bは各番地においてインスト
ラクシヨンフエツチを2段先行して制御する方式
を示す。すなわちインストラクシヨンフエツチは
1命令前に実行される。したがつてN番地がジヤ
ンプ命令の場合第5図から知られるようにN番地
実行時には既にN+1番地のインストラクシヨン
フエツチが実行されているため、第6図のごとく
不用な番地N+1へのアクセスが存在し、インス
トラクシヨンフエツチ(I Fetch)トレース時
必要のないアドレスがメモリースタツク内に格納
されることになる。ここでN+1番地がトレース
範囲内であればN+1番地が実行されたか否かは
非常に判定困難となる。この欠点を除くためには
ジヤンプ時のIフエツチ、すなわち第6図のJ200
番地へのアクセスIフエツチジヤンプ(JI)の前
のアクセスを無視する必要があり、従来は一且メ
モリーアクセスアドレスをバツフアレジスタに格
納しつぎのアクセス種別がJIであるときには判定
回路(MAT)信号を抑えることにより行つてい
たため多くのハードウエアを必要とした。
トを示し、図においてIはインストラクシヨンフ
エツチサイクル、Xはインデクシングサイクル、
Pはオペランドフエツチサイクル、Aは演算サイ
クルである。第5図bは各番地においてインスト
ラクシヨンフエツチを2段先行して制御する方式
を示す。すなわちインストラクシヨンフエツチは
1命令前に実行される。したがつてN番地がジヤ
ンプ命令の場合第5図から知られるようにN番地
実行時には既にN+1番地のインストラクシヨン
フエツチが実行されているため、第6図のごとく
不用な番地N+1へのアクセスが存在し、インス
トラクシヨンフエツチ(I Fetch)トレース時
必要のないアドレスがメモリースタツク内に格納
されることになる。ここでN+1番地がトレース
範囲内であればN+1番地が実行されたか否かは
非常に判定困難となる。この欠点を除くためには
ジヤンプ時のIフエツチ、すなわち第6図のJ200
番地へのアクセスIフエツチジヤンプ(JI)の前
のアクセスを無視する必要があり、従来は一且メ
モリーアクセスアドレスをバツフアレジスタに格
納しつぎのアクセス種別がJIであるときには判定
回路(MAT)信号を抑えることにより行つてい
たため多くのハードウエアを必要とした。
(3) 発明の目的
本発明はかゝる従来技術の欠点にかんがみ従来
のトレース回路に大きな変更を必要とせず先行制
御方式のCCに適合するトレース回路を提供する
ことを目的とする。
のトレース回路に大きな変更を必要とせず先行制
御方式のCCに適合するトレース回路を提供する
ことを目的とする。
(4) 発明の構成
この目的は本発明によれば順次命令を先取りす
る先行制御方式の中央制御装置に接続するトレー
スアドレス範囲を指定する第1のレジスタ、トレ
ース条件を指定する第2のレジスタ、トレース範
囲内であり且つトレース条件を満足する時+1す
るアドレスカウンタとトレース範囲内であり且つ
トレース条件を満足するとき主記憶装置へのアク
セスアドレスを前記アドレスカウンタの示すアド
レスに格納するメモリを有するトレース回路であ
つて、ジヤンプ先の命令をフエツチする前に実行
した命令フエツチが先に命令フエツチを行つたア
ドレスに連続する次のアドレスをフエツチする命
令フエツチであり且つトレース範囲内のアドレス
にアクセスしたものである時前記アドレスカウン
タの+1クロツクを無視して且つ前記メモリにラ
イトエネーブル信号を送出し前記メモリにつぎの
アドレスを格納する手段を有し、順次命令を2段
以上先行制御するように構成したことを特徴とす
るアドレストレース方式を提供することによつて
達成される。
る先行制御方式の中央制御装置に接続するトレー
スアドレス範囲を指定する第1のレジスタ、トレ
ース条件を指定する第2のレジスタ、トレース範
囲内であり且つトレース条件を満足する時+1す
るアドレスカウンタとトレース範囲内であり且つ
トレース条件を満足するとき主記憶装置へのアク
セスアドレスを前記アドレスカウンタの示すアド
レスに格納するメモリを有するトレース回路であ
つて、ジヤンプ先の命令をフエツチする前に実行
した命令フエツチが先に命令フエツチを行つたア
ドレスに連続する次のアドレスをフエツチする命
令フエツチであり且つトレース範囲内のアドレス
にアクセスしたものである時前記アドレスカウン
タの+1クロツクを無視して且つ前記メモリにラ
イトエネーブル信号を送出し前記メモリにつぎの
アドレスを格納する手段を有し、順次命令を2段
以上先行制御するように構成したことを特徴とす
るアドレストレース方式を提供することによつて
達成される。
(5) 発明の実施例
以下本発明にかゝる回路方式の実施例について
図面を参照しつゝ詳細に説明する。
図面を参照しつゝ詳細に説明する。
本発明の要点はIフエツチジヤンプアクセスの
前のアクセスがIアクセスで、且つトレース範囲
内でトレース条件が成立している場合スタツクポ
インタ(SPNT)の+1カウントを停止すること
により不要なアクセスを無視しそのIフエツチジ
ヤンプアクセスのアドレスをメモリースタツク
(STK)に格納する点にあり、第7図は本発明の
実施例を第8図はそのタイムチヤートを示す。第
8図のタイムチヤートはトレース開始アドレス
SMSR=100、終了アドレスSMER=110、条件レ
ジスタSCR=8004(Iフエツチ)の場合につい
て示す。第7図の回路は従来の回路のタイミング
回路29に3入力のナンド回路21と2個のフリ
ツプフロツプ22,23と3個のアンド回路2
4,26,27と2個のオア回路25,28とゲ
ート回路30を付加したものである。
前のアクセスがIアクセスで、且つトレース範囲
内でトレース条件が成立している場合スタツクポ
インタ(SPNT)の+1カウントを停止すること
により不要なアクセスを無視しそのIフエツチジ
ヤンプアクセスのアドレスをメモリースタツク
(STK)に格納する点にあり、第7図は本発明の
実施例を第8図はそのタイムチヤートを示す。第
8図のタイムチヤートはトレース開始アドレス
SMSR=100、終了アドレスSMER=110、条件レ
ジスタSCR=8004(Iフエツチ)の場合につい
て示す。第7図の回路は従来の回路のタイミング
回路29に3入力のナンド回路21と2個のフリ
ツプフロツプ22,23と3個のアンド回路2
4,26,27と2個のオア回路25,28とゲ
ート回路30を付加したものである。
第8図のタイムチヤートbにおいてJIアクセス
の前のアクセスIがトレース条件の成立したアク
セスである場合はゲート21の出力が“0”とな
つた後NIF/F22が同図dのようにセツトされ
る。その結果、次のJI命令において同図eのごと
くフリツプフロツプ23をセツトしその出力によ
りゲート回路30によつてスタツクポインタの+
1クロツクを抑止し且つメモリスタツクへライト
エネーブル信号を送出する。第8図f,gはこの
状態を示し、fにおいて31は無視された+1ク
ロツクである。
の前のアクセスIがトレース条件の成立したアク
セスである場合はゲート21の出力が“0”とな
つた後NIF/F22が同図dのようにセツトされ
る。その結果、次のJI命令において同図eのごと
くフリツプフロツプ23をセツトしその出力によ
りゲート回路30によつてスタツクポインタの+
1クロツクを抑止し且つメモリスタツクへライト
エネーブル信号を送出する。第8図f,gはこの
状態を示し、fにおいて31は無視された+1ク
ロツクである。
したがつてメモリースタツク内には一旦アドレ
ス“102”が書込まれても、次のJIでSPNT+1
が実行されないため、アドレス“200”が上書き
されるので、先行して読出されたアドレス
“102”は格納されずに次のアドレス“200”が格
納される。このようにして不用なアドレスへのI
フエツチアドレスを無視する。通常、ジヤンプ命
令で分岐した先がトレース範囲内であれば、以降
その分岐後のアドレスをトレースしていく。尚、
こゝで格納したアドレス“200”はトレース範囲
外であるが、トレース範囲内からトレース範囲外
へのジヤンプが発生したことを明確にすることが
できるため有効である。
ス“102”が書込まれても、次のJIでSPNT+1
が実行されないため、アドレス“200”が上書き
されるので、先行して読出されたアドレス
“102”は格納されずに次のアドレス“200”が格
納される。このようにして不用なアドレスへのI
フエツチアドレスを無視する。通常、ジヤンプ命
令で分岐した先がトレース範囲内であれば、以降
その分岐後のアドレスをトレースしていく。尚、
こゝで格納したアドレス“200”はトレース範囲
外であるが、トレース範囲内からトレース範囲外
へのジヤンプが発生したことを明確にすることが
できるため有効である。
かくのごとく本発明は僅かの素子の追加により
バツフアレジスタを追加したのと同等な効果が得
られる。なお本発明は無視する+1クロツクの数
を先行制御の段数に応じて変更することにより2
段以上の先行制御方式にも適用可能でありまたト
レース回路はアドレスストツプ/トラツプ回路と
しても利用できる。
バツフアレジスタを追加したのと同等な効果が得
られる。なお本発明は無視する+1クロツクの数
を先行制御の段数に応じて変更することにより2
段以上の先行制御方式にも適用可能でありまたト
レース回路はアドレスストツプ/トラツプ回路と
しても利用できる。
(6) 発明の効果
以上詳細に説明したごとく、本発明は従来のト
レース回路に大きな変更を必要とせずに先行制御
方式のCCに適用するトレース回路を提供でき、
特にジヤンプ命令等におけるトレース時、不要な
データの収集をなくすることができ、トレース作
業上、極めて有効である。
レース回路に大きな変更を必要とせずに先行制御
方式のCCに適用するトレース回路を提供でき、
特にジヤンプ命令等におけるトレース時、不要な
データの収集をなくすることができ、トレース作
業上、極めて有効である。
第1図はトレース回路の接続構成図、第2図は
トレース回路の内部ブロツク構成図、第3図は第
2図における各種レジスターのフオーマツトを示
す図、第4図はトレース回路のトレース動作を示
すタイムチヤート、第5図はトレース回路の命令
実行タイムチヤート、第6図はジヤンプ命令タイ
ムチヤート、第7図は本発明にかゝる回路の実施
例、第8図は第7図における実施例のジヤンプ命
令のタイムチヤートをそれぞれ示す。 図面において21は3入力ナンド回路、22,
23はフリツプフロツプ回路、24,26,27
はアンド回路、25,28はオア回路、30はゲ
ート回路をそれぞれ示す。
トレース回路の内部ブロツク構成図、第3図は第
2図における各種レジスターのフオーマツトを示
す図、第4図はトレース回路のトレース動作を示
すタイムチヤート、第5図はトレース回路の命令
実行タイムチヤート、第6図はジヤンプ命令タイ
ムチヤート、第7図は本発明にかゝる回路の実施
例、第8図は第7図における実施例のジヤンプ命
令のタイムチヤートをそれぞれ示す。 図面において21は3入力ナンド回路、22,
23はフリツプフロツプ回路、24,26,27
はアンド回路、25,28はオア回路、30はゲ
ート回路をそれぞれ示す。
Claims (1)
- 1 順次命令を先取りする先行制御方式の中央制
御装置1に接続するトレースアドレス範囲を指定
する第1のレジスタ11,12、トレース条件を
指定する第2のレジスタ13、トレース範囲内で
あり且つトレース条件を満足する時+1するアド
レスカウンタ14とトレース範囲内であり且つト
レース条件を満足するとき主記憶装置2へのアク
セスアドレスを前記アドレスカウンタの示すアド
レスに格納するメモリを有するトレース回路3で
あつて、ジヤンプ先の命令をフエツチ(JIフエツ
チ)する前に実行した命令フエツチが先に命令フ
エツチを行つたアドレスに連続する次のアドレス
をフエツチする命令フエツチ(Iフエツチ)であ
り且つトレース範囲内のアドレスにアクセスした
ものである時前記アドレスカウンタの+1クロツ
クを無視して且つ前記メモリにライトエネーブル
信号を送出し前記メモリにつぎのアドレスを格納
する手段を有し、順次命令を2段以上先行制御す
るように構成したことを特徴とするアドレストレ
ース方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58005210A JPS59132046A (ja) | 1983-01-18 | 1983-01-18 | アドレストレ−ス方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58005210A JPS59132046A (ja) | 1983-01-18 | 1983-01-18 | アドレストレ−ス方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59132046A JPS59132046A (ja) | 1984-07-30 |
| JPS6248859B2 true JPS6248859B2 (ja) | 1987-10-15 |
Family
ID=11604827
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58005210A Granted JPS59132046A (ja) | 1983-01-18 | 1983-01-18 | アドレストレ−ス方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59132046A (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57209547A (en) * | 1981-06-19 | 1982-12-22 | Hitachi Ltd | Collecting device for program executing carrier information |
-
1983
- 1983-01-18 JP JP58005210A patent/JPS59132046A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59132046A (ja) | 1984-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4780819A (en) | Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory | |
| US4095268A (en) | System for stopping and restarting the operation of a data processor | |
| JPS59132046A (ja) | アドレストレ−ス方式 | |
| JPH03252731A (ja) | マイクロプロセッサ | |
| JP2707879B2 (ja) | ヒストリー記録装置 | |
| JPS6286442A (ja) | デ−タ処理装置 | |
| JPS5917468B2 (ja) | プログラムカウンタ軌跡記憶装置 | |
| JPS61123942A (ja) | マイクロプロセツサ用デバツク装置 | |
| JPH04242455A (ja) | プロセッサ間通信トレース回路 | |
| JPH01166144A (ja) | ファームウェア・プログラムのデバッグ方式 | |
| JPS6270947A (ja) | デバグ割込み制御方式 | |
| JPS60193046A (ja) | 命令例外検出方式 | |
| JPS58181159A (ja) | 状態履歴記憶回路 | |
| JPH0795288B2 (ja) | マイクロコンピュータ | |
| JPH04305783A (ja) | マイクロコンピュータ | |
| JPH0454257B2 (ja) | ||
| JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
| JPS6170644A (ja) | プログラムデバク方式 | |
| JPS62130436A (ja) | トレ−ス制御装置 | |
| JPS626270B2 (ja) | ||
| JPS63298452A (ja) | トレ−サ回路 | |
| JPH10289127A (ja) | 開発用エミュレータのトレース回路 | |
| JPS60112140A (ja) | スタックのアクセス方式 | |
| JPH01169639A (ja) | 記憶装置 | |
| JPH0375850A (ja) | メモリアクセス処理装置 |