JPS61229137A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS61229137A
JPS61229137A JP60070009A JP7000985A JPS61229137A JP S61229137 A JPS61229137 A JP S61229137A JP 60070009 A JP60070009 A JP 60070009A JP 7000985 A JP7000985 A JP 7000985A JP S61229137 A JPS61229137 A JP S61229137A
Authority
JP
Japan
Prior art keywords
program
program counter
instruction
address
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.)
Granted
Application number
JP60070009A
Other languages
English (en)
Other versions
JPH07107669B2 (ja
Inventor
Noboru Tamura
昇 田村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP60070009A priority Critical patent/JPH07107669B2/ja
Publication of JPS61229137A publication Critical patent/JPS61229137A/ja
Publication of JPH07107669B2 publication Critical patent/JPH07107669B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明は更新直前のプログラムカウンタの値をスタック
に保持する手段を備え、例えば実行プログラムのトレー
スを容易とした演算処理装置に関するものである。
L開示の概要J 本明細書及び図面はプログラムに従い処理を実行する演
算処理装置において、プログラムカウンタの更新に先立
ち、該プログラムカウンタの内容をスタックポインタで
指示されるスタックに格納する手段を有することにより
、現プログラムカウンタの値と、直前のプログラムカウ
ンタの値とを確認可能とする技術を開示するものである
[従来の技術1 従来、一般に利用されている演算処理装置(以T、CP
Uと称す)にはプログラムカウンタ(以下、PCと称す
)が1つ具備されているのみである。このためプログラ
ムのデパック時点でプログラムのトレースを行う様な場
合、プログラム列の次に行なうべき命令のアドレスは分
るが、1つ前に実行された命令のアドレス、つまり現在
のアドレス(現在のPCの個)となる前のPCの値が分
からなかった。
[発明が解決しようとする問題点J 第3図に示すプログラム列を実行させる場合を例として
説明する。
第31N4t”100”を地にrJMP  JIJ命令
、” 200 ”番mにrJMP  JIJ 命令があ
る例である。ここでジャンプ先のJl″が” 300 
”番地である場合に、” 300 ”番地にジャンプし
て来た時を考えると、この時のPCの個は(300J 
となっているが、ここで、どこから(どのアドレスから
)この”300 ”番地にジャンプしたのかは全く判ら
ず、” 100 ”番地よりか、又は°’200”番地
よりのジャンプ(分岐)命令に従って°’300”番地
にジャンプして来たのか、又はプログラムミス等により
それ以外の番地の命令の実行により“300″番地に来
たのかが判定できず、プログラムのデパック処理。
トレース処理に多大の労力と時間を要することとなって
いた。
E問題点を解決するための手段] 本発明はE述の問題点を以下の構成により解決している
即ちプログラムカウンタの更新前に該プログラムカウン
タの値を前記スタックポインタで指示されるスタックに
格納する手段を備える演算処理装置により達成できる。
〔作用] 記憶手段より実行手順を順次読み出し、演算処理等を行
なうプログラムカウンタが更新される時に、プログラム
カウンタの内容を自動的にスタック領域に待避し、その
後、プログラムカウンタを更新することにより、現プロ
グラムカウンタ値と、直前のプログラムカウンタ値とが
確認可能となり、プログラムの実行状態が容易に把握す
ることができ、プログラムのデパック、トレース等の簡
略化が可能となる。
し実施例] 以下、図面を参照して本発明の一実施例を説明する。
第1図は本発明に係る一実施例であり、図中1はスタッ
クポインタ(以下SPと称す)2は算術論理演算器、4
は制御回路である。制御回路4は各種タイミング制御を
行っているが、このタイミング制御はハードウェア(論
理回路)で構成しても、又マイクロプログラミング構成
としてもよい、マイクロプログラミング構成とすること
により、各種の処理目的に容易に対応することが出来る
。この場合には、このマイクロプログラムは制御回路4
に内蔵され、例えば第2図に示す処理手順により1本実
施例の動作制御を実現する。
また、5は命令の記憶位置を記憶するプログラムカウン
タ(以’FPCと称す)、6は命令レジスタ、7は命令
レジスタ6の命令の解析を行なう命令デコーダ、8はメ
モリアドレスレジスタ(以下MARと称す)、9はメモ
リデータレジスタ(以下MDRと称す)、10は内部パ
スである。また14はメモリであり、メモリ14にはス
タック領域14aが設けられている。20は汎用レジス
タであり、プログラム命令により自由に読み書き可能で
ある。
以下、第1図に示す本実施例装置の動作を第2図のフロ
ーチャートを参照して説明する。
まずステップSLでPO2の内容をスタック14aに格
納すべくPO2の内容をMDR9に、−SPIの内容を
MARに格納する。そして続くステー、プS2で制御回
路4はメモリ制御回路13にメモリへの書き込みを指示
し、続くステップS3で命令の読み出しを行うべく、ま
ずPO2の内容をMAR8にセットする。このMAR8
にセットされた個はメモリ14の読み出しアドレスとな
る。そしてステップS4でPO2の個を1つインクリメ
ントし、ステップS5で制御回路4はメモリ制御回路1
3にプログラムの読出しを指示する。
PO2の内容が“100″であったとすると、メモリ1
4中の’100’”番地の内容を読み出す処理を実行す
る。”100”番地の内容が読み出されMDR9にセッ
トされると、ステップS5でこの命令を命令レジスタ6
にセットし、セットした命令をステップS6において命
令デコーダ7で解読する。ステップS7でその解読の結
果、命令の実行のためには次のメモリ番地の命令を読出
す必要があるか(1つの命令を全て読み出したか)否か
を判別する。この場合には’Zoo”番地が1語命令で
なく、2語命令、又はそれ以Eの多語命令である場合に
はステップS1に戻り、続く′″101″101″番地
ドの読出し処理を実行する。
ステップS7で命令の実行に必要な全ての命令コードの
読出しが終了している時は、続くステップS8で所定の
命令処理を実行する。
第3図のプログラムを実行する場合を具体例として以り
の処理を説明すると、今、プログラムの実行が進行して
きて、”$100”番地より格納されているrJMP 
 J IJ命令を実行する場合にはPO2には“100
′が格納されている。ここでPO2の内容“100 ”
をMDR9に、sp5の内容をMARに格納する。そし
て制御回路4はメモリ制御回路13にメモリへの書き込
みを指示し、PO2の内容をスタック領域14aに格納
する。
そして次に、PO2の指示するメモリ14の命令の読み
田しを行うべく、PO2の内容をMAR8にセットする
。このMAR8にセットされた値はメモリ14の読み出
しアドレスとなる。そしてPO2の値を1つインクリメ
ントし、読み出した命令の実行を行う、ここではジャン
プ命令であるため、分岐先のJl即ち°’300’“を
PO2に格納する。そして″”300”番地の処理を実
行する。この時は上述同様の処理によりスタックポイン
タの指示スタック領域には’ l O1”が格納されい
る。
従って、プログラムデパック時であって、” 300”
番地にブレークポイントを設定した様な場合においても
、ブレーク先におけるスタックポインタの指示スタック
には“101”がセットされていることになる。
このためデパックにおいてブレークポイントに何処から
きたかを容易に知ることが出来る。
以り説明した如く、スタックポインタの内容は何ら変更
されることがなく、前記動作が従来のスタックメモリの
使用方法に対して何らの変更ももたらさない。
また、以との説明では必ずPO2の内容をスタック領域
14aに格納する例を説明したが、この処理の実行には
多少の時間を要するため、デパック処理時には本実施例
の動作処理を行い、通常のプログラム実行時にはPO2
のスタックへの退避処理を省略するよう構成しても良い
、この様に構成することにより通常のプログラム処理に
要する時間をi!!にすることの無い演算処理装置とす
ることができる。
し発明の効果」 以り説明したように本発明によれば、プログラムを順次
読み出すためのプログラムカウンタが更新される時に、
プログラムカウンタの内容を自動的にスタック領域に待
避し、その後、プログラムカウンタを更新することによ
り、現プログラムカウンタ値と、直前のプログラムカウ
ンタ値とが確認可能となり、プログラムの実行状態が容
易に把握することができ、プログラムのデパック、トレ
ース等の簡略化が可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例演算処理装置の機能ブロック
図。 第2図は本実施例の命令実行フローチャート、第3図は
実行プログラムの例を示す図、図中、1・・・スタック
ポインタ、2・・・算術論理演算器、4・・・制御回路
、5・・・プログラムカウンタ、6・・・命令レジスタ
、7・・・命令デコーダ、8・・・メモリアドレスレジ
スタ、9・・・メモリデータレジスタ、13・・・メモ
リ制御回路、14・・・メモリ、14a・・・スタック
領域、20・・・汎用レジスタである。 第2図 第3図

Claims (2)

    【特許請求の範囲】
  1. (1)スタックポインタによるスタック機能を備えた演
    算処理装置において、プログラムカウンタの更新前に該
    プログラムカウンタの値を前記スタックポインタて指示
    されるスタックに格納する手段を備えることを特徴とす
    る演算処理装置。
  2. (2)スタックポインタはプログラムカウンタの内容の
    スタックへの格納により更新されないことを特徴とする
    特許請求の範囲第1項記載の演算処理装置。
JP60070009A 1985-04-04 1985-04-04 演算処理装置 Expired - Fee Related JPH07107669B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60070009A JPH07107669B2 (ja) 1985-04-04 1985-04-04 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60070009A JPH07107669B2 (ja) 1985-04-04 1985-04-04 演算処理装置

Publications (2)

Publication Number Publication Date
JPS61229137A true JPS61229137A (ja) 1986-10-13
JPH07107669B2 JPH07107669B2 (ja) 1995-11-15

Family

ID=13419171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60070009A Expired - Fee Related JPH07107669B2 (ja) 1985-04-04 1985-04-04 演算処理装置

Country Status (1)

Country Link
JP (1) JPH07107669B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JPH07107669B2 (ja) 1995-11-15

Similar Documents

Publication Publication Date Title
KR20010085997A (ko) 프로그램 스레드 디버깅 방법
JPS61229137A (ja) 演算処理装置
JPS61221943A (ja) 演算処理装置
JPH02135545A (ja) デバッガの実行制御処理方式
JPS60124746A (ja) デ−タ処理装置
JPS6242301B2 (ja)
JPS5842891B2 (ja) メイレイセイギヨホウシキ
JPH04367902A (ja) プログラマブルコントローラ
JPS6232540A (ja) 情報処理装置
JPS60193046A (ja) 命令例外検出方式
JPS63170752A (ja) トレ−ス回路
JPH01240941A (ja) 情報処理装置
JPH0259829A (ja) マイクロコンピュータ
JPH0756637B2 (ja) 演算処理装置
JPH0439096B2 (ja)
JPH04167146A (ja) 情報処理装置のアドレストレース方式
JPS60221829A (ja) デ−タ処理装置
JPH02263243A (ja) コンピュータの暴走処理装置
JPH04140851A (ja) 情報処理装置の診断方式
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JPH05120002A (ja) リターンアドレススタツク制御回路
JPH0323938B2 (ja)
JPH01201741A (ja) トレース回路
JPS6234238A (ja) マイクロプロセツサ
JPH01258045A (ja) インサーキットエミュレータ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees