JP2850377B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP2850377B2
JP2850377B2 JP1169478A JP16947889A JP2850377B2 JP 2850377 B2 JP2850377 B2 JP 2850377B2 JP 1169478 A JP1169478 A JP 1169478A JP 16947889 A JP16947889 A JP 16947889A JP 2850377 B2 JP2850377 B2 JP 2850377B2
Authority
JP
Japan
Prior art keywords
register
instruction
address
contents
microcomputer
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 - Fee Related
Application number
JP1169478A
Other languages
English (en)
Other versions
JPH0333945A (ja
Inventor
浩道 高橋
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP1169478A priority Critical patent/JP2850377B2/ja
Publication of JPH0333945A publication Critical patent/JPH0333945A/ja
Application granted granted Critical
Publication of JP2850377B2 publication Critical patent/JP2850377B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータに関し、特にプログラ
ムのデバック処理を簡素化できるマイクロコンピュータ
に関する。
〔従来の技術〕
従来のマイクロコンピュータ(以下マイコンという)
のブロック図を第8図に示す。このマイコンは、マイコ
ンが実行しようとしているプログラムメモリアドレスの
値を保持しているプログラムカウンタ11a、レジスタセ
ット29、命令コードを解読し種々の制御信号を出力する
制御部18a、算術論理演算部19aおよび図示しないがテン
ポラリレジスタ,プログラムステータスワード等を含ん
で構成されており、それぞれは内部バス20を介して接続
されている。
第2図はこのマイコンが実行するプログラムの一例を
示したプログラム配置図である。同図中の命令“MOV A
1,0080H"はレジスタセット29中のA1レジスタに「0080
H」を格納する命令であり“MOV B1,0040H"はレジスタセ
ット29中のB1レジスタに「0040H」を格納する命令であ
り、“ADD A1,B1"はA1レジスタの値とB1はレジスタの値
を加算してその結果をA1レジスタに格納する命令であ
る。また“MOV A1,0080H"は外部メモリ(図示しない)
のアドレス「0100H」〜「0102H」番地に“MOV B1,0040
H"は「0103H」〜「0105H」番地に、“ADD A1,B1"は「01
06H」〜「0107H」番地にそれぞれ格納されていることを
示している。
このマイコンの動作を以下に説明する。なおプログラ
ムカウンタ(以下PCという)11aは「0100H」に初期化さ
れているものとする。
まず、マイコンはPC11aて指定される外部メモリのア
ドレス「0100H」番地に格納されている“MOV A1,0080H"
の命令コードを外部メモリから内部バス20を通して制御
部18aに入力すると、この制御部18aはレジスタセット28
中のA1レジスタに「0080H」を転送する制御を行なう。
この命令の実行後PC11aは「0103H」に更新される。
次に、マイコンはPC11aで指定される外部メモリのア
ドレス「0103H」番地に格納されている“MOV B1,0040H"
の命令コードを外部メモリから内部バス20を通して制御
部18aに入力する。制御部18aはレジスタセット29中のB1
レジスタに「0040H」を格納する制御を行なう。処理終
了後PC11aは「0106H」に更新される。
最後に、マイコンはPC11aで指定される外部メモリの
アドレス「0106H」番地に格納されている“ADD A1,B1"
の命令コードを外部メモリから内部バス20を通して制御
部18aに入力し、制御部18aは、レジスタセット29中のA1
レジスタと、B1レジスタの値を読出し算術論理演算部19
aで加算し、演算結果の「00C0H」を内部バス20を通して
A1レジスタに格納する制御を行う。
ここで“ADD A1,B1"命令の実行前と実行後ではA1レジ
スタの内容が変化する点に注目し、この命令が正常に実
行されているかどうかを確認する場合には、通常次に示
す処理が必要であった。
(1) “ADD A1,B1"命令の実行直前でプログラムを停
止し、レジスタセットの内容を外部メモリの既定のエリ
アにセーブする。例えば、割り込み命令を“ADD A1,B1"
命令の先頭アドレスに置き、割り込み処理ルーチンでレ
ジスタセットの内容を外部メモリの規定のエリアにセー
ブして“ADD A1,B1"命令の1バイト目の命令コードを書
き戻す手法がある。
(2) セーブしたレジスタの内容を確認する。
(3) “ADD A1,B1"命令を実行する。
(4) “ADD A1,B1"命令の実行直後でプログラムを停
止し、その時点でレジスタセットの内容を外部メモリの
既定のエリアにセーブする((1)と同じ手法)。
(5) セーブしたレジスタの内容を確認する。
〔発明が解決しようとする課題〕
上述したように従来技術においてマイコンがレジスタ
操作命令を実行すると、実行前のレジスタの内容は破壊
されてしまう。従って、レイスタ操作命令が正常に実行
されているかどうかを調べる場合には、命令実行直前と
直後にそれぞれプログラムを停止してその時のレジスタ
の内容を確認しなければならず処理が煩雑になってい
た。
〔発明の従来技術に対する相違点〕
本発明の目的は、このような欠点を除き、レジスタ操
作命令が正常に実行されているかどうかを調べる場合、
レジスタ操作命令実行直後にプログラムの実行を停止す
るだけで、命令実行直前のレジスタの内容と命令実行直
後のレジスタの内容を確認できるようにしたマイクロコ
ンピュータを提供することにある。
〔課題を解決するための手段〕
本発明のマイクロコンピュータは、実行すべき命令が
格納されたメモリのアドレス値を保持するプログラムカ
ウンタと、前記プログラムカウンタによって指定された
命令を実行した際の実行結果を保持する第1のレジスタ
とを備えるマイクロコンピュータであって、実行状況を
確認する命令の先頭アドレスの値をブレイクアドレスと
して保持するブレイクアドレス保持部と、前記プログラ
ムカウンタの値とブレイクアドレスとを比較し、一致し
た際に制御信号を出力するアドレス比較回路と、第2の
レジスタと、前記制御信号が出力されたときには前記ブ
レイクアドレスと同じアドレスの命令の実行結果によっ
て前記第1のレジスタが書換えられる前に前記第1のレ
ジスタの内容を前記第2のレジスタに転送する転送制御
ゲートとを備え、前記実行状況を確認する命令の実行状
況を前記第1のレジスタの内容と前記第2のレジスタの
内容とを比較することによって確認することを特徴とす
る。
〔実施例〕
次に、本発明について図を参照して説明する。
第1図は、本発明の一実施例のマイコンのブロック図
である。このマイコン10は、実行しようとするプログラ
ムのアドレスを保持するプログラムカウンタ11と、デバ
ックを行なう際の命令の先頭アドレスオフセット値を格
納するブレイクアドレス保持部12と、このブレイクアド
レス保持部12とプログラムカウンタ11との値が一致した
ときにレジスタ転送信号21を「1」とするアドレス比較
回路13と、レジスタセット(1)14と、レジスタ転送信
号21が「1」になったとき、レジスタセット14の内容が
転送されるレジスタセット(2)15と、このレジスタセ
ット14とレジスタセット15との間の転送バス16と、レジ
スタ転送信号21が「1」となったときのみレジスタセッ
ト14の内容をレジスタセット15に転送する制御を行なう
転送制御ゲート17と、命令コードを解読し、種々の制御
信号を出力する命令デコーダ18と、算術論理演算部19と
から構成され、プログラムカウンタ11,ブレイクアドレ
ス保持部12,レジスタセット14,レジスタセット15,命令
デコーダ18,算術論理演算部19はそれぞれ内部バス20を
介して図のように接続されている。
第2図は第1図のマイコン10が実行するプログラムの
一例を示したプログラム配置図である。この図の命令
“MOV A1,0080H"はレジスタセット14中のA1レジスタに
「0080H」を格納する命令、“MOV B1,0040H"はレジスタ
セット14中のB1レジスタに「0040H」を格納する命令“A
DD A1,B1"はA1レジスタの値とB1レジスタの値を加算し
て結果をA1レジスタに格納する命令であるとし、“MOV
A1,0080H"は外部メモリ(図示しない)のアドレス「010
0H」〜「0102H」番地に“MOV B1,0040H"は「0103H」〜
「0105H」番地に“ADD A1,B1"は「0106H」〜「0107H」
番地にそれぞれ格納されていることを示している。
以下、本実施例のマイコンの動作を第3図の処理フロ
ー図を参照しながら説明する。なお、PC11は「0100H」
に、ブレイクアドレス保持部12は「0106H」にそれぞれ
初期化されているとする(ステップ101)。
まず、PC11で指される外部メモリのアドレス「0100
H」に格納されている“MOV A1,0080H"の命令コードが外
部メモリから内部バス20を通して制御部18に入力される
と、制御部18はレジスタセット14中のA1レジスタに「00
80H」を転送する制御を行なう。処理終了後、PC11は「0
103H」に更新される。ステップ102でアドレス比較回路1
3はPC11の値とブレイクアドレス保持部12を比較する
が、このとき両者の値は一致しないので、レジスタ転送
信号20は「0」だからステップ106で通常命令を実行
し、転送制御ゲート17は閉じたままなのでレジスタ間の
転送は行なわない。
次に、外部メモリのアドレス「0103H」〜「0105H」番
地に格納されている“MOV B1,0040H"の命令コードが、
制御部18に入力されると、制御部18はレジスタセット14
中のB1レジスタに「0040H」を格納する制御を行なう。
この制御部18の処理後PC11は「0106H」に更新される。
アドレス比較回路13は、先ほどと同じくステップ102
で、PC11の値とブレイクアドレス保持部12の値とを比較
するが今度は両者の値は一致するので、ステップ103で
レジスタ転送信号21は「1」となり、転送制御ゲート17
は開き、ステップ104でレジスタセット14の内容が転送
用バス16を介してレジスタセット15に転送される。最後
に外部メモリのアドレス「0106H」〜「0107H」番地に格
納されている。“ADD A1,B1"命令の命令コードが制御部
18に入力されると、ステップ105で制御部18はレジスタ
セット14中のA1レジスタおよびB1レジスタの内容を内部
バス20に読出して算術論理演算部19に入力し、算術論理
演算部19で両者の値を加算して結果を内部バス20からAI
レジスタに格納する制御を行なう。この処理後PC11の値
は「0106H」に更新されるため、アドレス比較回路13は
レジスタ転送信号21を「0」にするためレジスタセット
14からレジスタセット15への転送は行なわれない。
本実施例のマイコンを用いてプログラムのデバック処
理を行なう場合、プログラムを停止するポイントは“AD
D A1,B1"実行直後のアドレスだけでよく、停止後のレジ
スタセット14の内容が“ADD A1,B1"命令実行直後のレジ
スタセットの内容であり、レジスタセット15の内容が
“ADD A1,B1"命令実行直前のレジスタセット14の内容で
あるのでプログラムの停止回数は1回のみで“ADD A1,B
1"命令の実行状況を確認することができる。
第4図の本発明の第2の実施例のマイコンのブロック
図である。このマイコンは、デバックを行なう命令の先
頭アドレスオフセットとPC11の値とを比較し、その値が
一致した場合のみレジスタ転送信号A27またはレジスタ
転送信号B28を「1」にするアドレス比較部13aと、レジ
スタ転送信号28が「1」になったときのみレジスタセッ
ト14の各レジスタの値が転送されるレジスタセット22
と、レジスタセット14とレジスタセット15との間の転送
バスA23と、レジスタセット14とレジスタセット22との
間の転送バスB24と、レジスタ転送信号A27が「1」にな
ったときのみレジスタセット14の各レジスタの内容をレ
ジスタセット15に転送する制御を行なう転送制御ゲート
A25と、レジスタ転送信号B28が「1」になったときのみ
レジスタセット14の各レジスタの内容をレジスタセット
22に転送する制御を行なう転送制御ゲートB26とが第一
の実施例と異なり、これ以外は第一の実施例のマイコン
と同じである。
第5図は第4図のアドレス比較部13aのブロック図で
ある。このアドレス比較部13aは第1のブレイクポイン
トのアドレスを保持する、ブレイクアドレス保持部A32
と、第2のブレイクポイントのアドレスを保持するブレ
イクアドレス保持部B34と、PC11の値とブレイクアドレ
ス保持部32の値とを比較して値が一致した場合のみレジ
スタ転送信号A27を「1」にするアドレス比較回路A31
と、PC11の値とブレイクアドレス保持部B34の値とを比
較して値が一致した場合のみレジスタ転送信号B28を
「1」にするアドレス比較回路B33とで構成している。
第6図は第4図のマイコンが実行するプログラムの一
例を示したプログラム配置図である。この図の各命令の
動作は第1の実施例と同じなのでここでは省略する。
“MOV C1,A1"はレジスタセット14中のA1レジスタの内
容をC1レジスタに転送する命令であり、“OR B1,C1"は
レジスタセット14中のB1レジスタとC1レジスタの論理和
を求め結果をB1レジスタに格納する命令である。
次に、本実施例のマイコンの動作を第7図の処理フロ
ー図を参照しながら説明する。
なお、最初にステップ110でPC11は「0100H」に、ブレ
イクアドレス保持部32は「0106H」に、ブレイイクアド
レス保持部34は「010AH」にそれぞれ初期化されている
ものとする。
“MOV A1,0080H"、“MOV B1,0040H"の各命令の入力に
よるマイコンの動作は第1の実施例と同じである。
“MOV B1,0040H"の処理終了後PC11は「0106H」に更新
される。ステップ111,112でアドレス比較部13a中のアド
レス比較回路31およびアドレス比較回路33は、PC11の値
とブレイクアドレス保持部32およびブレイクアドレス保
持部34の値をそれぞれ比較する。この場合、ブレイクア
ドレス保持部32と一致するので、ステップ117でレジス
タ転送信号27のみが「1」となり、転送制御ゲート25の
みが開くので、ステップ118でレジスタセット14の内容
がレジスタセット15に転送される。
次に、“ADD A1,B1"の命令コードが外部メモリから内
部バス20を通して制御部18に入力された場合は、第1の
実施例の場合と同じ動作をする。
次に“MOV C1,A1"の命令の命令コードが外部メモリか
ら内部バス20を通して制御部18に入力されると、制御部
18は、レジスタセット14中のA1レジスタの内容をC1レジ
スタへ転送する制御を行なう。処理終了後のPC11は「01
0AH」に更新されているので、今度はブレイクアドレス
保持部34の値をPC11の値とが一致し、アドレス比較回路
33は、ステップ114でレジスタ転送信号28を「1」とす
る。従ってステップ115で転送制御ゲート26のみが開き
レジスタセット14の内容がレジスタセット22に転送され
る。
最後に“OR C1,B1"の命令コードが制御部18に入力さ
れると、制御部18はB1レジスタとC1レジスタの内容を読
出し、算術論理演算部19において両者の論理和を求め、
その結果の「00C0H」をC1レジスタに格納する制御を行
なう。
本実施例のマイコンを用いてプログラムのデバックを
行なう場合、プログラムを停止するポイントは“OR C1,
B1"の直後のアドレスだけでよく、停止後のレジスタセ
ット14の内容が“OR C1,B1"実行直後のレジスタセット
の内容であり、レジスタセット22の内容が“OR C1,B1"
実行直前のレジスタセット14の内容であり、レジスタセ
ット15の内容が“ADD A1,B1"実行直前のレジスタセット
14の内容であるので、2つの命令の実行状況を確認する
ことができる。
〔発明の効果〕
以上説明したように、本発明のマイクロコンピュータ
は、実行する命令のアドレス値を保持するプログラムカ
ウンタと、実行状況を確認する命令の先頭アドレスの値
を格納する比較レジスタと、プログラムカウンタと比較
レジスタとの一致を検出する回路と命令の実行結果を格
納するレジスタセットと、検出回路がアドレスの値の一
致を検出したときに、レジスタセットの内容を格納する
少なくとも1組のレジスタセットとを有することによ
り、従来のマイコンでのプログラムのデバックと比較し
た場合、プログラムを停止する箇所が1カ所でよいため
デバック処理の煩雑さを軽減できる効果がある。
また、第二の実施例のような構成にすれば、プログラ
ムを1カ所で停止して2カ所のプログラムの実行状況を
確認できるためデバック処理にかかる時間をより軽減で
きる。
【図面の簡単な説明】
第1図は本発明の一実施例のマイコンのブロック図、第
2図はマイコンが実行するプログラムの一例を示すプロ
グラム配置図、第3図は本実施例が第2図のプログラム
を実行する場合の処理フロー図、第4図は本発明の第2
の実施例のマイコンのブロック図、第5図は第4図のア
ドレス比較部のブロック図、第6図は第4図のマイコン
が実行するプログラムの一例を示すプログラム配置図、
第7図は第4図のマイコンが第6図に示したプログラム
を実行する場合の処理フロー図、第8図は従来のマイコ
ンの一例のブロック図である。 10,10a,10b……マイクロコンピュータ、11,11a……プロ
グラムカウンタ、12……ブレイクアドレス保持部、13…
…アドレス比較回路、13a……アドレス比較部、14,15,2
2,29……レジスタセット、16,23,24……転送バス、17,2
5,26……転送制御ゲート、18,18a……制御部、19,19a…
…算術論理演算部、20……内部バス、21,27,28……レジ
スタ転送信号、31,33……アドレス比較回路、32,34……
ブレイクアドレス保持部A、101〜106,110〜118……処
理ステップ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】実行すべき命令が格納されたメモリのアド
    レス値を保持するプログラムカウンタと、前記プログラ
    ムカウンタによって指定された命令を実行した際の実行
    結果を保持する第1のレジスタとを備えるマイクロコン
    ピュータであって、実行状況を確認する命令の先頭アド
    レスの値をブレイクアドレスとして保持するブレイクア
    ドレス保持部と、前記プログラムカウンタの値とブレイ
    クアドレスとを比較し、一致した際に制御信号を出力す
    るアドレス比較回路と、第2のレジスタと、前記制御信
    号が出力されたときには前記ブレイクアドレスと同じア
    ドレスの命令の実行結果によって前記第1のレジスタが
    書換えられる前に前記第1のレジスタの内容を前記第2
    のレジスタに転送する転送制御ゲートとを備え、前記実
    行状況を確認する命令の実行状況を前記第1のレジスタ
    の内容と前記第2のレジスタの内容とを比較することに
    よって確認することを特徴とするマイクロコンピュー
    タ。
JP1169478A 1989-06-29 1989-06-29 マイクロコンピュータ Expired - Fee Related JP2850377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1169478A JP2850377B2 (ja) 1989-06-29 1989-06-29 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1169478A JP2850377B2 (ja) 1989-06-29 1989-06-29 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH0333945A JPH0333945A (ja) 1991-02-14
JP2850377B2 true JP2850377B2 (ja) 1999-01-27

Family

ID=15887292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1169478A Expired - Fee Related JP2850377B2 (ja) 1989-06-29 1989-06-29 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2850377B2 (ja)

Also Published As

Publication number Publication date
JPH0333945A (ja) 1991-02-14

Similar Documents

Publication Publication Date Title
US4648034A (en) Busy signal interface between master and slave processors in a computer system
EP0092646B1 (en) Method and apparatus of program patching in a data processing system
US4144562A (en) System and method for increasing microprocessor output data rate
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP3563768B2 (ja) Romプログラム変更装置
US5021991A (en) Coprocessor instruction format
EP0526911B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US5872954A (en) Method of monitoring registers during emulation
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPH02284258A (ja) 機能ブロックプロセサ及びビットプロセサを具備する書込み可能論理制御器
US5715439A (en) Bi-directional co-processor interface
JP2850377B2 (ja) マイクロコンピュータ
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
EP0382234B1 (en) Microprocessor having improved functional redundancy monitor mode arrangement
JPS6285372A (ja) マルチプロセツサシステムにおけるコンペアアンドスワツプ方式
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH03260843A (ja) 実行確認装置
JP3239042B2 (ja) マイクロコンピュータ
JPS5936838A (ja) インタフエ−ス制御方式
JPS63284673A (ja) 情報処理装置

Legal Events

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