JPS6255738A - プログラムカウンタトレ−ス機構をもつデ−タ処理装置 - Google Patents
プログラムカウンタトレ−ス機構をもつデ−タ処理装置Info
- Publication number
- JPS6255738A JPS6255738A JP60193764A JP19376485A JPS6255738A JP S6255738 A JPS6255738 A JP S6255738A JP 60193764 A JP60193764 A JP 60193764A JP 19376485 A JP19376485 A JP 19376485A JP S6255738 A JPS6255738 A JP S6255738A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- signal
- instruction
- program counter
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、プログラムのデバッグに有用なプログラムカ
ウンタトレース機構をもつデータ処理装置に関する。
ウンタトレース機構をもつデータ処理装置に関する。
プログラムのデバッグの際、障害に至るプログラムの実
行の履歴を知ることは有効である。
行の履歴を知ることは有効である。
そのため、データ処理装置の中には、プログラムカウン
タの値を、遂次、メモリに′4積し、障害度以上のトレ
ース情報が必要であり、大きいメモリ容盪が要求される
ため、ハードウェア量の増大を招く、このため、分岐命
令や割込みなどのプログラムの流れを変える場合にのみ
、プログラムカウンタの値を蓄積する方式がある。この
種の方式に関連するものには特開昭60−20251号
公報がある。
タの値を、遂次、メモリに′4積し、障害度以上のトレ
ース情報が必要であり、大きいメモリ容盪が要求される
ため、ハードウェア量の増大を招く、このため、分岐命
令や割込みなどのプログラムの流れを変える場合にのみ
、プログラムカウンタの値を蓄積する方式がある。この
種の方式に関連するものには特開昭60−20251号
公報がある。
一方、処理のスループットを向上させるために、命令の
先取りが行なわれている。命令の先取りが行なわれると
、命令フェッチのメモリアクセスと命令実行に時間的な
差ができるばかりでなく、アクセスされた命令がそれ以
前の分岐命令により実行されない可能性がある。
先取りが行なわれている。命令の先取りが行なわれると
、命令フェッチのメモリアクセスと命令実行に時間的な
差ができるばかりでなく、アクセスされた命令がそれ以
前の分岐命令により実行されない可能性がある。
その結果、従来のようなメモリアクセスによるプログラ
ムカウンタのトレースでは、正確な命令実行状態を把握
することができないという問題がある。
ムカウンタのトレースでは、正確な命令実行状態を把握
することができないという問題がある。
本発明の目的は、命令データをその命令実行サイクルよ
り先行してフェッチ、デコードを行なうデータ処理装置
において、正確な分岐元アドレスを蓄積するプログラム
カウンタトレース機構をもつデータ処理装置を提供する
ことにある。
り先行してフェッチ、デコードを行なうデータ処理装置
において、正確な分岐元アドレスを蓄積するプログラム
カウンタトレース機構をもつデータ処理装置を提供する
ことにある。
本発明の要点は、条件分岐命令1分岐命令9割込処理を
行なうマイクロプログラムによってセットさ、れるフラ
グを設けることにある。このフラグがセットされている
時に、フログラムカウンタの内容をトレースメモリに書
込む。
行なうマイクロプログラムによってセットさ、れるフラ
グを設けることにある。このフラグがセットされている
時に、フログラムカウンタの内容をトレースメモリに書
込む。
〔范明の実施例〕
第2図に本発明のデータ処理装置の全体構成を示す。本
データ処理装置は、命令を読出し解読する命令フェッチ
・デコード部10と、命令毎の制御情報を記憶し、演算
部30に対し制御情報205を与える演算制御部20と
、演算を実行する演算部3oと、命令やデータを記憶す
るメモリ40と、メモリバス200,201,201と
、メモリへのアクセスを行なうメモリインターフェース
部90、クラック生成部とから構成されている。メモリ
インターフェース部は、命令のアドレスを格納するプロ
グラムカウンタ50と、メモリへのアクセスアドレスを
格納するメモリアドレスレジスタ60と、プログラムカ
ウンタの出力500°をトレースするPCトレーサ70
と、プログラム力 ・ウンタの出力501をインクリメ
ントする加算器52と、演算部30から与えられるジャ
ンプ先アドレス504と、加算器52の出力503とを
選定するセレクタ51と、U算部30から与えられるオ
ペランドアドレス206と、プログラムカウンタ50の
出力502とを選択するセレクタ61と、クロック生成
部80とから構成されている6第3図は演算制御部20
の構成を示している。
データ処理装置は、命令を読出し解読する命令フェッチ
・デコード部10と、命令毎の制御情報を記憶し、演算
部30に対し制御情報205を与える演算制御部20と
、演算を実行する演算部3oと、命令やデータを記憶す
るメモリ40と、メモリバス200,201,201と
、メモリへのアクセスを行なうメモリインターフェース
部90、クラック生成部とから構成されている。メモリ
インターフェース部は、命令のアドレスを格納するプロ
グラムカウンタ50と、メモリへのアクセスアドレスを
格納するメモリアドレスレジスタ60と、プログラムカ
ウンタの出力500°をトレースするPCトレーサ70
と、プログラム力 ・ウンタの出力501をインクリメ
ントする加算器52と、演算部30から与えられるジャ
ンプ先アドレス504と、加算器52の出力503とを
選定するセレクタ51と、U算部30から与えられるオ
ペランドアドレス206と、プログラムカウンタ50の
出力502とを選択するセレクタ61と、クロック生成
部80とから構成されている6第3図は演算制御部20
の構成を示している。
演算制御部20は、制御記憶21と、マイクロ命令レジ
スタ21と、制御記憶アドレスレジスタ23と、制御記
憶アドレスをインクリメン1−する加算器24と、加算
器24の出力124と命令フまず、その命令のマイクロ
プログラムの先頭アドレスを命令フェッチデコード部1
0から受取り、以後は、順次、そのアドレスをインクリ
メントしながら制御記憶21から、制御情報121を読
み出す。制御情報121のうち、−ビットは、END信
号101に割付けられ、−ビットはJMP信号102に
割付られている。END信号は、命令の最終サイクルで
あることを意味している。JMP信号は、分岐命令であ
ることを意味している。第2図に示す様に、JMP信号
102はセレクタ51に接続されており、本信号がオン
の時は、ジャンプ先アドレス504が選択され、その内
容がプログラムカウンタ50にセットされる。
スタ21と、制御記憶アドレスレジスタ23と、制御記
憶アドレスをインクリメン1−する加算器24と、加算
器24の出力124と命令フまず、その命令のマイクロ
プログラムの先頭アドレスを命令フェッチデコード部1
0から受取り、以後は、順次、そのアドレスをインクリ
メントしながら制御記憶21から、制御情報121を読
み出す。制御情報121のうち、−ビットは、END信
号101に割付けられ、−ビットはJMP信号102に
割付られている。END信号は、命令の最終サイクルで
あることを意味している。JMP信号は、分岐命令であ
ることを意味している。第2図に示す様に、JMP信号
102はセレクタ51に接続されており、本信号がオン
の時は、ジャンプ先アドレス504が選択され、その内
容がプログラムカウンタ50にセットされる。
第1図はPCトレーサ70の構成を示している。
PC)−レーザ70は、ジャンプフラグ71と、トレー
スアドレスカウンタ72と、メモリ73とから構成され
ている。
スアドレスカウンタ72と、メモリ73とから構成され
ている。
ジャンプフラグ71は、JMP信号とEND信号が同時
にオンしている場合にセットされ、次のEND信号によ
ってクリアされる。トレースアドレスカウンタ72は、
アップタウンカウンタであり、JMP信号とEND信号
がオンのとき、あるいは、ジャンプフラグとEND信号
がオンのとき−6−Rゲート76がオンになるためカウ
ントアツプされ、TRCRD信号103がオンのときカ
ウントダウンする。これらの動作は、ANDゲート77
.78によりクロック800に同期して行なわれる。
にオンしている場合にセットされ、次のEND信号によ
ってクリアされる。トレースアドレスカウンタ72は、
アップタウンカウンタであり、JMP信号とEND信号
がオンのとき、あるいは、ジャンプフラグとEND信号
がオンのとき−6−Rゲート76がオンになるためカウ
ントアツプされ、TRCRD信号103がオンのときカ
ウントダウンする。これらの動作は、ANDゲート77
.78によりクロック800に同期して行なわれる。
メモリ73は、プログラムカウンタ50の出力500が
入力に接続され、WE入力176がオンのとき入力が書
込まれる。WE入力176は。
入力に接続され、WE入力176がオンのとき入力が書
込まれる。WE入力176は。
JMP信号とEND信号がオンのときと、ジャンプフラ
グとEND信号がオンのとき、オンとなる。
グとEND信号がオンのとき、オンとなる。
すなわち、JMP信号とEND信号がオンのときのプロ
グラムカウンタの内容、つまり、ジャンプした先のアド
レスとがメモリに書込まれる。このメモリ73の読出し
は、演算部30の内部レジスタとして扱われ、メモリ7
3の出カフ00は、演算部30に接続されている。演算
部30から与えられるTRCRD信号103により、順
次、カウントダウンしながら、カウンタ72のアドレス
出力172をデクリメントし、メモリの内容を出力する
。
グラムカウンタの内容、つまり、ジャンプした先のアド
レスとがメモリに書込まれる。このメモリ73の読出し
は、演算部30の内部レジスタとして扱われ、メモリ7
3の出カフ00は、演算部30に接続されている。演算
部30から与えられるTRCRD信号103により、順
次、カウントダウンしながら、カウンタ72のアドレス
出力172をデクリメントし、メモリの内容を出力する
。
第4図は、プログラムの例を示している。100番地の
命令は、アキュムレータACの内容を10番地の内容と
比較し、その結果をフラグに反映する。104番地の命
令は、もし、サイクツラグが1、すなわち、負なら20
0番地にジャンプし、0ならば次の命令を実行する条件
分岐命令である。
命令は、アキュムレータACの内容を10番地の内容と
比較し、その結果をフラグに反映する。104番地の命
令は、もし、サイクツラグが1、すなわち、負なら20
0番地にジャンプし、0ならば次の命令を実行する条件
分岐命令である。
レータACに格納する命令である。
第5図、第6図は、第4図のプログラムにおける104
番地の命令と、2oO番地の命令のマイクロプログラム
の動作を表わすフローチャートである。
番地の命令と、2oO番地の命令のマイクロプログラム
の動作を表わすフローチャートである。
ラグの判定を行なっており、サインフラグが0、つまり
、正ならば302のステップに進み、1であれば、つま
り、負ならば303のステップに進む。302のステッ
プではプログラムカウンタの内容をインクリメントし、
END信号のみをオンする。この時、ジャンプフラグ7
1がオフならばメモリ73への書込み動作はない。30
4のステップでは、プログラムカウンタ50へ2oOを
セットし、END信号、JMP信号をオンする。この時
、メモリ73のWE入力176はオンとなり、プログラ
ムカウンタの値104がメモリ73に書込まれる。
、正ならば302のステップに進み、1であれば、つま
り、負ならば303のステップに進む。302のステッ
プではプログラムカウンタの内容をインクリメントし、
END信号のみをオンする。この時、ジャンプフラグ7
1がオフならばメモリ73への書込み動作はない。30
4のステップでは、プログラムカウンタ50へ2oOを
セットし、END信号、JMP信号をオンする。この時
、メモリ73のWE入力176はオンとなり、プログラ
ムカウンタの値104がメモリ73に書込まれる。
もし、アキュームタACの内容が、10番地の内容より
も小さい場合、サインフラグは1となり104番地の条
件分岐命令により、20C1地の命令が実行される。
も小さい場合、サインフラグは1となり104番地の条
件分岐命令により、20C1地の命令が実行される。
第6図は、200番地のM OV命令のマイクロプログ
ラムのフローチャー1〜である。本マイクロプログラム
は−ステップのみであり、304のスル′−タACに転
送され、END信号のみがオンされる。この時、一つ前
の命令すなわち104i地の命令により、ジャンプフラ
グがセットされているので、メモリ73のWE信号17
6はオンとなり、この時のプログラムカウンタ50の値
r200Jがメモリ73に書込まれる。
ラムのフローチャー1〜である。本マイクロプログラム
は−ステップのみであり、304のスル′−タACに転
送され、END信号のみがオンされる。この時、一つ前
の命令すなわち104i地の命令により、ジャンプフラ
グがセットされているので、メモリ73のWE信号17
6はオンとなり、この時のプログラムカウンタ50の値
r200Jがメモリ73に書込まれる。
第7図は、104番地と200番地の命令を実行した時
の本PCトレーサ70内の信号のタイムチャートを表わ
したものである。
の本PCトレーサ70内の信号のタイムチャートを表わ
したものである。
104番地のBMI命令の最終サイクルにおいて第1図
のEND信号101とJMP信号102がオンとなるの
で、ANDゲート74の出力174の出力174がオン
となるので、A N Dゲート74の出力174がオン
となるので、EV信号176がオンとなる。また、この
とき、ジャンプフラグプリップフロップ71のJ入力1
74がオンになっているので次のクロック800の桁上
りでジャンプフラグ171がオンとなる。
のEND信号101とJMP信号102がオンとなるの
で、ANDゲート74の出力174の出力174がオン
となるので、A N Dゲート74の出力174がオン
となるので、EV信号176がオンとなる。また、この
とき、ジャンプフラグプリップフロップ71のJ入力1
74がオンになっているので次のクロック800の桁上
りでジャンプフラグ171がオンとなる。
次の200番地のMOV命令の最終サイクルでは、EN
D信号101のみがオンとなる。このとき、ジャンプフ
ラグ出力171はオンとなっているので、ANDゲート
75の出力175がオンとなり、WE信号176はオン
となり、この時のプログラムカウンタ50の(直r20
0Jがメモリ73に書込まれる。
D信号101のみがオンとなる。このとき、ジャンプフ
ラグ出力171はオンとなっているので、ANDゲート
75の出力175がオンとなり、WE信号176はオン
となり、この時のプログラムカウンタ50の(直r20
0Jがメモリ73に書込まれる。
メモリ73のアドレスを生成するカウンタ72は、WE
信号176がオンのときの次のクロック800の立上り
でカウントアツプされる。カウンタ72の初期値がnで
あるとすれば、プログラムカウンタの値104は本メモ
リ73のn番地にセットされ、プログラムカウンタの値
r200Jはn+1番地にセットされる。
信号176がオンのときの次のクロック800の立上り
でカウントアツプされる。カウンタ72の初期値がnで
あるとすれば、プログラムカウンタの値104は本メモ
リ73のn番地にセットされ、プログラムカウンタの値
r200Jはn+1番地にセットされる。
本発明によれば、命令データの先行フェッチ、デコード
を行っているデータ処理装置において。
を行っているデータ処理装置において。
実際の命令実行に則したプログラムカウンタの分岐元ア
ドレスをトレースでき、プログラムのデパックを効率よ
く行なうことができる。
ドレスをトレースでき、プログラムのデパックを効率よ
く行なうことができる。
第1図は本発明の一実施例のプログラムカウンタトレー
サの構成図、第2図は本発明の実施例のデータ処理装置
の全体構成図、第3図は演算制御部の構成図、第4図は
プログラム例を示す図、第5図、第6図はマイクロプロ
グラムのフローチャート、第7図はトレース動作のタイ
ムチャートである。 10・・・命令フェッチ・デコード部、20・・・演算
制御部、30・・・演算部、40・・・メモリ、50・
・・プログラムカウンタ、60・・・メモリアドレスレ
ジスタ、70・・・プログラムカウンタトレーサ、71
・・・ジャンプフラグ、72・・・トレースアドレスカ
ウンタ、め5囚
サの構成図、第2図は本発明の実施例のデータ処理装置
の全体構成図、第3図は演算制御部の構成図、第4図は
プログラム例を示す図、第5図、第6図はマイクロプロ
グラムのフローチャート、第7図はトレース動作のタイ
ムチャートである。 10・・・命令フェッチ・デコード部、20・・・演算
制御部、30・・・演算部、40・・・メモリ、50・
・・プログラムカウンタ、60・・・メモリアドレスレ
ジスタ、70・・・プログラムカウンタトレーサ、71
・・・ジャンプフラグ、72・・・トレースアドレスカ
ウンタ、め5囚
Claims (1)
- 【特許請求の範囲】 1、分岐元アドレス、分岐先アドレスを記憶するプログ
ラムカウンタトレース機構をもつたデータ処理装置にお
いて、 命令サイクルの最終サイクルであることを表わす信号と
、分岐を実行する際にオンとなる分岐信号との発生手段
と、前記最終サイクル信号と前記分岐信号がオンのとき
セットされ、前記最終サイクルがオンで、かつ、前記分
岐信号がオフのときクリアされるフリップフロップと、
前記プログラムカウンタトレース機構は、前記分岐信号
がオン、あるいは、前記フリップフロップがセットのと
きに前記プログラムカウンタの内容を記憶することを特
徴とするプログラムカウンタトレース機構をもつデータ
処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60193764A JPS6255738A (ja) | 1985-09-04 | 1985-09-04 | プログラムカウンタトレ−ス機構をもつデ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60193764A JPS6255738A (ja) | 1985-09-04 | 1985-09-04 | プログラムカウンタトレ−ス機構をもつデ−タ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6255738A true JPS6255738A (ja) | 1987-03-11 |
Family
ID=16313417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60193764A Pending JPS6255738A (ja) | 1985-09-04 | 1985-09-04 | プログラムカウンタトレ−ス機構をもつデ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6255738A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03129441A (ja) * | 1989-06-20 | 1991-06-03 | Fujitsu Ltd | 分岐命令実行装置 |
-
1985
- 1985-09-04 JP JP60193764A patent/JPS6255738A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03129441A (ja) * | 1989-06-20 | 1991-06-03 | Fujitsu Ltd | 分岐命令実行装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930008686B1 (ko) | 정보 처리장치 | |
JP2693678B2 (ja) | データ処理装置 | |
US5313644A (en) | System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word | |
JPS61204758A (ja) | コ・プロセツサ制御方式 | |
KR100263262B1 (ko) | 마이크로프로세서 | |
JPS6255738A (ja) | プログラムカウンタトレ−ス機構をもつデ−タ処理装置 | |
US5787276A (en) | Microprocessor including circuit for generating signal used for tracing executed instruction stream | |
EP0573071A2 (en) | A microprocessor | |
JPH0950376A (ja) | データ処理装置 | |
JPS62197831A (ja) | デ−タ処理装置 | |
JP2601071B2 (ja) | 信号処理装置 | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JP2503223B2 (ja) | 先行制御方式 | |
JPH0424731B2 (ja) | ||
JPS6286442A (ja) | デ−タ処理装置 | |
JPH0241770B2 (ja) | ||
JPH02234227A (ja) | ミスアライメント処理方式 | |
JPH0795288B2 (ja) | マイクロコンピュータ | |
JP2020140290A (ja) | 中央演算処理装置 | |
JPH05100853A (ja) | デバツグサポート機能付データ処理装置 | |
JPH03164945A (ja) | データ処理装置 | |
JPH05158734A (ja) | マイクロプロセッサ | |
JPH1055289A (ja) | デバッグ情報生成回路、およびそれを用いた情報処理装置 | |
JPH0895784A (ja) | 演算処理装置及び方法 | |
JPH02206836A (ja) | データ処理装置 |