JPS61221943A - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JPS61221943A JPS61221943A JP60061934A JP6193485A JPS61221943A JP S61221943 A JPS61221943 A JP S61221943A JP 60061934 A JP60061934 A JP 60061934A JP 6193485 A JP6193485 A JP 6193485A JP S61221943 A JPS61221943 A JP S61221943A
- Authority
- JP
- Japan
- Prior art keywords
- program counter
- instruction
- program
- address
- value
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
E産業上の利用分野」
本発明は直前のプログラムカウンタの値を保持する手段
を備え1例えば実行ブロクラムのトレースを容易とした
演算処理装置に関するものである。
を備え1例えば実行ブロクラムのトレースを容易とした
演算処理装置に関するものである。
L開示の概要」
本明細書及び図面はプログラムに従い処理を実行する演
算処理装置において、プログラムカウンタの内容を一時
的に待避格納させる手段を有することにより、プログラ
ムカウンタが更新される時に、現プログラムカウンタの
内容を前記格納手段に待避し、その後プログラムカウン
タを更新することにより、現プログラムカウンタの値と
、直前のプログラムカウンタの値と確認可能とする技術
を開示するものである。
算処理装置において、プログラムカウンタの内容を一時
的に待避格納させる手段を有することにより、プログラ
ムカウンタが更新される時に、現プログラムカウンタの
内容を前記格納手段に待避し、その後プログラムカウン
タを更新することにより、現プログラムカウンタの値と
、直前のプログラムカウンタの値と確認可能とする技術
を開示するものである。
L従来の技術」
従来、一般に利用されている演算処理装置(以下、cp
uと称す)にはプログラムカウンタ(以下、PCと称す
)が1つ具備されているのみである。このためプログラ
ムのデパック時点でプログラムのトレースを行う様な場
合、プログラム列の次に行なうべき命令のアドレスは分
るが、1つ前に実行された命令のアドレス、つまり現在
のアドレス(現在のPCの偵)となる前のPCの個が分
からなかった。
uと称す)にはプログラムカウンタ(以下、PCと称す
)が1つ具備されているのみである。このためプログラ
ムのデパック時点でプログラムのトレースを行う様な場
合、プログラム列の次に行なうべき命令のアドレスは分
るが、1つ前に実行された命令のアドレス、つまり現在
のアドレス(現在のPCの偵)となる前のPCの個が分
からなかった。
[発明が解決しようとする問題点]
WI3図に示すプログラム列を実行させる場合を例とし
て説明する。
て説明する。
第3図jt”100”番地にrJMP JIJ命令、
”200”番地にrJMP JIJ命令がある例であ
る。ここでジャンプ先のJl”が″′300″′番地で
ある場合に、’300”番地にジャンプして米た時を考
えると、この時のPCの値はL300Jとなっているが
、ここで、どこから(どのアドレスから)この”300
′″番地にジャンプしたのかは全く判らず、“100′
″番地よりか、又は“200”番地よりのジャンプ(分
岐)命令に従って“300′″番地にジャンプして米た
のか、又はプログラムミス等によりそれ以外の番地の命
令の実行により“300″番地に未たのかが判定できず
、プログラムのテバツク処理、トレース処理に多大の労
力と時間を要することとなっていた。
”200”番地にrJMP JIJ命令がある例であ
る。ここでジャンプ先のJl”が″′300″′番地で
ある場合に、’300”番地にジャンプして米た時を考
えると、この時のPCの値はL300Jとなっているが
、ここで、どこから(どのアドレスから)この”300
′″番地にジャンプしたのかは全く判らず、“100′
″番地よりか、又は“200”番地よりのジャンプ(分
岐)命令に従って“300′″番地にジャンプして米た
のか、又はプログラムミス等によりそれ以外の番地の命
令の実行により“300″番地に未たのかが判定できず
、プログラムのテバツク処理、トレース処理に多大の労
力と時間を要することとなっていた。
〔問題点を解決するための手段]
本発明は上述の問題点を以下の構成により解決している
。
。
即ちプログラムカウンタの値を保持する保持手段と、前
記プログラムカウンタの更新前に該プログラムカウンタ
の値を読み出し、前記保持手段に格納するカウンタ(I
I待避手段とを備え演算処理装置により達成できる。
記プログラムカウンタの更新前に該プログラムカウンタ
の値を読み出し、前記保持手段に格納するカウンタ(I
I待避手段とを備え演算処理装置により達成できる。
E作用1
記憶手段より実行手順を順次読み田し、演算処理等を行
なうプログラムカウンタが更新される時に、プログラム
カウンタの内容を自動的に格納手段に待避し、その後、
プログラムカウンタを更新することにより、現プログラ
ムカウンタ偵と、直前のプログラムカウンタ値とが確認
可能となり、プログラムの実行状態が容易に把握するこ
とができ、プログラムのデパック、トレース等の簡略化
が可能となる。
なうプログラムカウンタが更新される時に、プログラム
カウンタの内容を自動的に格納手段に待避し、その後、
プログラムカウンタを更新することにより、現プログラ
ムカウンタ偵と、直前のプログラムカウンタ値とが確認
可能となり、プログラムの実行状態が容易に把握するこ
とができ、プログラムのデパック、トレース等の簡略化
が可能となる。
[実施例」
以下、図面を参照して本発明の一実施例を説明する。
第1図は本発明に係る一実施例であり、図中2は1術論
理演算器、4は制御回路である。制御回路4は各種タイ
ミング制御を行っているが、このタイミング制御はハー
ドウェア(論理回路)で構成しても、又マイクロプログ
ラミング構成としてもよい、マイクロプログラミング構
成とすることにより、各種の処理目的に容易に対応する
ことが田米る。また、5は命令の記憶位置を記憶するプ
ログラムカウンタ(以下PCと称す)、6は命令レジス
タ、7は命令レジスタ6の命令の解析を行なう命令デコ
ーダ、8はメモリアドレスレジスタ(以下MARと称す
)、9はメモリデータレジスタ(以下MDRと称す)、
10は内部バスである。また12a、bはプログラムカ
ウンタ待避用レジスタ(以下SPCと称す)a、b、1
3はメモリ制御回路、14はメモリ、20は汎用レジス
タであり、プログラム命令により自由に読み書き可能で
ある。
理演算器、4は制御回路である。制御回路4は各種タイ
ミング制御を行っているが、このタイミング制御はハー
ドウェア(論理回路)で構成しても、又マイクロプログ
ラミング構成としてもよい、マイクロプログラミング構
成とすることにより、各種の処理目的に容易に対応する
ことが田米る。また、5は命令の記憶位置を記憶するプ
ログラムカウンタ(以下PCと称す)、6は命令レジス
タ、7は命令レジスタ6の命令の解析を行なう命令デコ
ーダ、8はメモリアドレスレジスタ(以下MARと称す
)、9はメモリデータレジスタ(以下MDRと称す)、
10は内部バスである。また12a、bはプログラムカ
ウンタ待避用レジスタ(以下SPCと称す)a、b、1
3はメモリ制御回路、14はメモリ、20は汎用レジス
タであり、プログラム命令により自由に読み書き可能で
ある。
以下、第1図に示す本実施例装置の動作を第4図のフロ
ーチャートを参照して説明する。
ーチャートを参照して説明する。
まずステップS1で5PCa12aの内容の内部バス1
0に出力し、5PCb12bにこの内容をセットする。
0に出力し、5PCb12bにこの内容をセットする。
そして続くステップS2で命令の読み出しを行うべくま
ずPO2の内容を内部バスlOに出力する−0そして続
くステップS3で、内部バス10に出力されているPO
2の内容をMAR8にセットする。このMAR8にセッ
トされた値はメモリ14の読み…しアドレスとなる。
ずPO2の内容を内部バスlOに出力する−0そして続
くステップS3で、内部バス10に出力されているPO
2の内容をMAR8にセットする。このMAR8にセッ
トされた値はメモリ14の読み…しアドレスとなる。
またステップS4で同様に内部バスlOに出力されてい
るPO2の内容が5PCa12aにセットされる。この
ステップS3とステップS4は同時に実行することがで
きる。その後ステップS5でPO2のイーを1つインク
リメントし、ステップS7でffIIJ11回路4はメ
モリ制御回路13にプログラムの読出しを指示する。
るPO2の内容が5PCa12aにセットされる。この
ステップS3とステップS4は同時に実行することがで
きる。その後ステップS5でPO2のイーを1つインク
リメントし、ステップS7でffIIJ11回路4はメ
モリ制御回路13にプログラムの読出しを指示する。
PO2の内容が“100”であったとすると、メモリ1
4中の“100”番地の内容を読み出す処理を実行する
。”100″番地の内容が読み出されMDR9にセット
されると、ステップS6でこの命令を命令レジスタ6に
セットし、セットした命令を命令デコーダ7で解読する
。ステップS8でその解読の結果、命令の実行のために
は次のメモリ番地の命令を読出す必要があるか(1つの
命令を全て読み出したか)否かを判別する。この場合に
は“100″番地が1語命令でなく、2語命令、又はそ
れ以上の多語命令である場合にはステップS1に戻り、
統< ” i o i ”番地の命令コードの読…し処
理を実行する。
4中の“100”番地の内容を読み出す処理を実行する
。”100″番地の内容が読み出されMDR9にセット
されると、ステップS6でこの命令を命令レジスタ6に
セットし、セットした命令を命令デコーダ7で解読する
。ステップS8でその解読の結果、命令の実行のために
は次のメモリ番地の命令を読出す必要があるか(1つの
命令を全て読み出したか)否かを判別する。この場合に
は“100″番地が1語命令でなく、2語命令、又はそ
れ以上の多語命令である場合にはステップS1に戻り、
統< ” i o i ”番地の命令コードの読…し処
理を実行する。
ステップS8で命令め実行に必要な全ての命令コードの
読出しが終了している時は、続くステップS9で所定の
命令処理を実行する。
読出しが終了している時は、続くステップS9で所定の
命令処理を実行する。
$3図のプログラムを実行する場合を具体例として以上
の処理を説明すると、今、プログラムの実行が進行して
きて、“#100”番地より格納されているrJMP
J IJ命令を実行する場合にはPO2には“100
”が格納されている。ここで5PCa12aの内容を
5PCb12bに移し、メモリ14の″100′′番地
の命令を読み出すべくpcsの内容(100)を内部バ
ス10に出力し、MDA8にセットする。同時にこの個
を5PCa12aにもセットする。
の処理を説明すると、今、プログラムの実行が進行して
きて、“#100”番地より格納されているrJMP
J IJ命令を実行する場合にはPO2には“100
”が格納されている。ここで5PCa12aの内容を
5PCb12bに移し、メモリ14の″100′′番地
の命令を読み出すべくpcsの内容(100)を内部バ
ス10に出力し、MDA8にセットする。同時にこの個
を5PCa12aにもセットする。
これにより5PCa12aには’too″がセットされ
たことになる。そしてPO2の値を1つインクリメント
し、読み出した命令の実行を行う、ここではジャンプ命
令であるため、分岐先のJ1即ち“300 ”をPO2
に格納する。そして“300”番地の処理を実行する。
たことになる。そしてPO2の値を1つインクリメント
し、読み出した命令の実行を行う、ここではジャンプ命
令であるため、分岐先のJ1即ち“300 ”をPO2
に格納する。そして“300”番地の処理を実行する。
即ち、5PCb12bに5PCa12aの値” 100
”をセットし、5PCa12aに300”をセットし
、その語命令処理を実行することになる。
”をセットし、5PCa12aに300”をセットし
、その語命令処理を実行することになる。
従って、プログラムデパック時であって、“300”番
地にブレークポイントを設定した様な場合においても、
ブレーク先における5PCa、b(12a、12b)に
はブレークポイントのアドレスが5PCa12aに、ま
た5pcb12bにはブレークポイントの処理を実行す
る前のアドレス″100″がセットされていることにな
る。
地にブレークポイントを設定した様な場合においても、
ブレーク先における5PCa、b(12a、12b)に
はブレークポイントのアドレスが5PCa12aに、ま
た5pcb12bにはブレークポイントの処理を実行す
る前のアドレス″100″がセットされていることにな
る。
このためデパックにおいてブレークポイントに何処から
きたかを容易に知ることが出来る。
きたかを容易に知ることが出来る。
また以上の説明ではブレークポイントよりブレークした
時に、ブレーク先で5PCa12aの内容を変更してし
まう例について説明したが、ここで5PCa12aの内
容が変更されない場合にはSPCは1つでよく、上述の
ステップS1の処理も不必要となる。
時に、ブレーク先で5PCa12aの内容を変更してし
まう例について説明したが、ここで5PCa12aの内
容が変更されない場合にはSPCは1つでよく、上述の
ステップS1の処理も不必要となる。
E他の実施例]
又1以上の説明では必ずPO2の内容を5PC12に格
納する例を説明したが、この処理は必ず必要とされるも
のではなく、プログラムが完成した場合には必要ない場
合の方が大部分である。このため、プログラム命令によ
り、任意にこの処理を実行するか否かを設定することが
できることが望ましい。
納する例を説明したが、この処理は必ず必要とされるも
のではなく、プログラムが完成した場合には必要ない場
合の方が大部分である。このため、プログラム命令によ
り、任意にこの処理を実行するか否かを設定することが
できることが望ましい。
このプログラム命令により、任意にこの処理を実行する
か否かを設定することができる演算処理装置を第4図に
示す0図中第1図と同一構成には同一番号を付した。
か否かを設定することができる演算処理装置を第4図に
示す0図中第1図と同一構成には同一番号を付した。
図中21はSPCセットモードレジスタであり、SPC
セット命令によりセットされ、SPCリセット命令によ
りリセットされる。このSPCセットモードレジスタ2
1の状態は制御回路4に入力され、制御回路4はこのS
PCセットモードレジスタ21がセットされている場合
には上述のI82@に示す処理を実行し、spcセット
モードレジスタ21がセットされていない場合には第2
図の処理のうちのステップSl、ステップS4゜の処理
を実行しない。
セット命令によりセットされ、SPCリセット命令によ
りリセットされる。このSPCセットモードレジスタ2
1の状態は制御回路4に入力され、制御回路4はこのS
PCセットモードレジスタ21がセットされている場合
には上述のI82@に示す処理を実行し、spcセット
モードレジスタ21がセットされていない場合には第2
図の処理のうちのステップSl、ステップS4゜の処理
を実行しない。
またこの時5PCa、、b (tza、12b) への
入力はANDゲート22a、22bにより阻止されてい
る。
入力はANDゲート22a、22bにより阻止されてい
る。
E発明の効果J
以上説明したように本発明によれば、プログラムを順次
読み田すためのプログラムカウンタが更新される時に、
プログラムカウンタの内容を自動的に格納手段に待避し
、その後、プログラムカウンタを更新することにより、
現プログラムカウンタ値と、直前のプログラムカウンタ
値とが確認可能となり、プログラムの実行状態が容易に
把握することができ、プログラムのデパック、トレース
等の簡略化が可能となる。
読み田すためのプログラムカウンタが更新される時に、
プログラムカウンタの内容を自動的に格納手段に待避し
、その後、プログラムカウンタを更新することにより、
現プログラムカウンタ値と、直前のプログラムカウンタ
値とが確認可能となり、プログラムの実行状態が容易に
把握することができ、プログラムのデパック、トレース
等の簡略化が可能となる。
@1rRJは本発明の一実施例演算処理装置の機能ブロ
ック図、 第2図は本実施例の命令実行フローチャート、第3図は
実行プログラムの例を示す図。 第4図は本発明の他の実施例演算処理装置の機能ブロッ
ク図であるφ 図中、2・・・算術論理演算器、4・・・制御回路、5
・・・プログラムカウンタ、6・・・命令レジスタ、7
・・・命令デコーダ、8・・・メモリアドレスレジスタ
、9・・・メモリデータレジスタ、12a、b・・・プ
ログラムカウンタ待避用レジスタ、13・・・メモリ制
御回路、14・・・メモリ、20・・・汎用レジスタ、
21・・・SPCセットモードレジスタ、22・・・A
NDゲートである。 第2図
ック図、 第2図は本実施例の命令実行フローチャート、第3図は
実行プログラムの例を示す図。 第4図は本発明の他の実施例演算処理装置の機能ブロッ
ク図であるφ 図中、2・・・算術論理演算器、4・・・制御回路、5
・・・プログラムカウンタ、6・・・命令レジスタ、7
・・・命令デコーダ、8・・・メモリアドレスレジスタ
、9・・・メモリデータレジスタ、12a、b・・・プ
ログラムカウンタ待避用レジスタ、13・・・メモリ制
御回路、14・・・メモリ、20・・・汎用レジスタ、
21・・・SPCセットモードレジスタ、22・・・A
NDゲートである。 第2図
Claims (2)
- (1)プログラムカウンタの値を保持する保持手段と、
前記プログラムカウンタの更新前に該プログラムカウン
タの値を読み出し、前記保持手段に格納するカウンタ値
待避手段とを備え、プログラムカウンタが更新される時
に、プログラムカウンタの内容を前記格納手段に待避し
、その後、プログラムカウンタを更新することにより、
現プログラムカウンタ値と、直前のプログラムカウンタ
値とを確認可能とすることを特徴とする演算処理装置。 - (2)更に格納手段を付勢するか否かを選択する選択手
段を備えたことを特徴とする特許請求の範囲第1項記載
の演算処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60061934A JPS61221943A (ja) | 1985-03-28 | 1985-03-28 | 演算処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60061934A JPS61221943A (ja) | 1985-03-28 | 1985-03-28 | 演算処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61221943A true JPS61221943A (ja) | 1986-10-02 |
Family
ID=13185501
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60061934A Pending JPS61221943A (ja) | 1985-03-28 | 1985-03-28 | 演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61221943A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6358548A (ja) * | 1986-08-28 | 1988-03-14 | Nec Corp | デバツグ用マイクロプロセツサ |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53114639A (en) * | 1977-03-17 | 1978-10-06 | Fujitsu Ltd | Information precessing unit provided with program trace function |
| JPS5635252A (en) * | 1979-08-29 | 1981-04-07 | Casio Comput Co Ltd | Detecting system for program branch address |
-
1985
- 1985-03-28 JP JP60061934A patent/JPS61221943A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53114639A (en) * | 1977-03-17 | 1978-10-06 | Fujitsu Ltd | Information precessing unit provided with program trace function |
| JPS5635252A (en) * | 1979-08-29 | 1981-04-07 | Casio Comput Co Ltd | Detecting system for program branch address |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6358548A (ja) * | 1986-08-28 | 1988-03-14 | Nec Corp | デバツグ用マイクロプロセツサ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2526688B2 (ja) | プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法 | |
| JPS6212529B2 (ja) | ||
| JPS61229137A (ja) | 演算処理装置 | |
| JPH0222413B2 (ja) | ||
| JPH02135545A (ja) | デバッガの実行制御処理方式 | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JPS6242301B2 (ja) | ||
| JPS5842891B2 (ja) | メイレイセイギヨホウシキ | |
| JPS63249206A (ja) | プログラマブルコントロ−ラ | |
| JPS60193046A (ja) | 命令例外検出方式 | |
| JP2883488B2 (ja) | 命令処理装置 | |
| KR960029969A (ko) | 파이프라인 처리기능을 갖는 데이타프로세서 | |
| JPH04342037A (ja) | プログラムのオペランドチェック方式 | |
| JPS6020769B2 (ja) | マイクロプログラム制御方式 | |
| JPS63280333A (ja) | マイクロプログラム制御装置 | |
| JPH0756637B2 (ja) | 演算処理装置 | |
| JPH04367902A (ja) | プログラマブルコントローラ | |
| JPS6027417B2 (ja) | デ−タ処理装置 | |
| JPH01130234A (ja) | 障害探索方式 | |
| JPS62119642A (ja) | トレ−ス方式 | |
| KR20080044652A (ko) | Cpu에서의 스택을 이용한 디버깅 방법 | |
| JPH05342037A (ja) | プログラム開発用マイクロコンピュータ | |
| JPH01253045A (ja) | 論理分析回路 | |
| JPH0323938B2 (ja) | ||
| JPS62196745A (ja) | レジスタ書込み方式 |