JP2940309B2 - プログラム開発用マイクロコンピュータ - Google Patents

プログラム開発用マイクロコンピュータ

Info

Publication number
JP2940309B2
JP2940309B2 JP4176151A JP17615192A JP2940309B2 JP 2940309 B2 JP2940309 B2 JP 2940309B2 JP 4176151 A JP4176151 A JP 4176151A JP 17615192 A JP17615192 A JP 17615192A JP 2940309 B2 JP2940309 B2 JP 2940309B2
Authority
JP
Japan
Prior art keywords
instruction
execution
signal
break
input
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
JP4176151A
Other languages
English (en)
Other versions
JPH05342037A (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 JP4176151A priority Critical patent/JP2940309B2/ja
Publication of JPH05342037A publication Critical patent/JPH05342037A/ja
Application granted granted Critical
Publication of JP2940309B2 publication Critical patent/JP2940309B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
上で実行されるプログラムを開発するためのプログラム
開発用マイクロコンピュータに関する。
【0002】
【従来の技術】一般に、マイクロコンピュータ上で動作
するプログラムの開発は、プログラムの実行動作がマイ
クロコンピュータと同一であり、且つ、プログラムが所
定のフローに従って動作しているかを確認するために、
ある特定命令でのプログラム実行の中断機能(以下、ブ
レーク機能という)、プログラム実行中断時のメモリ内
容の読み出し及び変更機能等のプログラムのデバッグを
容易に行なえるような機能をもつプログラム開発支援ツ
ール(以下、IEという)が用いられる。
【0003】IEでは、このような機能を実現するため
に、通常のマイクロコンピュータの機能に内部ステータ
スの出力機能、ブレーク機能用のブレーク信号等のプロ
グラムのデバッグをサポートするための機能を付加した
プログラム開発用のマイクロコンピュータ(以下、エバ
チップという)が用いられる。
【0004】以下に、従来のエバチップにおいて、ブレ
ーク信号によりプログラム実行を中断させる場合のエバ
チップの動作について説明する。
【0005】エバチップは、プログラムを実行するため
の命令コードをメモリから読出し、実行を行なってい
る。IEは、エバチップのプログラム実行を途中で中断
する場合には、エバチップが命令コードを読み出すタイ
ミングでブレーク信号にアクティブレベルを入力する。
エバチップは、命令コードを読み出した時にブレーク信
号がアクティブである場合に、その命令コードに対応す
る命令を実行した後、命令実行を中断する。
【0006】しかし、プログラム中の複数の箇所から呼
び出されるサブルーチンの先頭で命令実行を中断する場
合には、従来のエバチップでは、ブレーク信号にアクテ
ィブレベルが入力した時に取込んだ命令を実行した後に
命令実行を中断するため、サブルーチンの先頭の命令の
読出し時にブレーク信号をアクティブにしたのでは間に
合わず、サブルーチンを呼び出す箇所全てを調べ、それ
らの命令コードをエバチップが取込む時にブレーク信号
にアクティブレベルを入力する必要がある。
【0007】
【発明が解決しようとする課題】従来例で述べたよう
に、従来のエバチップでは、サブルーチンの先頭で命令
実行を中断する場合には、サブルーチンを呼び出す箇所
全てを調べ、それらの命令コードをエバチップが読み出
す時にブレーク信号にアクティブレベルを入力する必要
がある。
【0008】しかし、プログラム内でサブルーチンを呼
び出す箇所を調べるには、プログラム全体を調べる必要
があるため、非常に手間がかかる作業であり、実際問題
として実現するのは困難である。
【0009】また、サブルーチンの呼び出し先をプログ
ラム実行中に動的に変更するようなプログラムでは、サ
ブルーチンを呼び出す箇所を調べることが不可能であ
り、サブルーチンの先頭で命令実行を中断することには
全く対応ができないという問題がある。
【0010】一方、近年プログラムをC言語等の高級言
語で記述するケースが増えているが、C言語で書いたプ
ログラムをデバッグする場合には、C言語で書いた各関
数の先頭でプログラムを一旦中断し、その時のプログラ
ムの実行の状態を調べる手法が多く用いられる。
【0011】しかし、C言語での関数はサブルーチンと
して構成されており、既に述べたように従来のエバチッ
プではサブルーチンの先頭で命令実行を中断することは
できないため、高級言語のデバッグに従来のエバチップ
では対応できず、高級言語が普及するに伴い、大きな問
題となっている。
【0012】本発明の目的は、デバッグを容易に行なう
ことによりプログラム開発の効率を向上させるプログラ
ム開発用マイクロコンピュータを提供することにある。
【0013】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るプログラム開発用マイクロコンピュー
タは、命令実行を行なう命令実行手段と、記憶手段から
命令を読み出す命令読出し手段と、特定の端子入力にア
クティブレベルが入力した場合に前記命令実行手段にお
ける命令実行を中断させる実行制御手段とを有し、命令
実行の中断は、特定端子入力へのアクティブレベルの入
力と同時に読み込んだ命令の実行前に行なうか、或いは
命令の実行後に行なうかを外部からの制御で行ない、
記実行制御手段が前記命令実行手段における命令実行処
理を中断させるタイミングを、前記端子入力へのアクテ
ィブレベルの入力と同時に前記命令読出し手段が読み出
した命令を前記命令実行手段が実行する前、及び実行し
た後の双方の内から選択可能としたものである
【0014】
【0015】
【0016】
【作用】実行制御手段が命令実行手段における命令実行
処理を中断させるタイミングを、端子入力へのアクティ
ブレベルの入力と同時に命令読出し手段が読み出した命
令を命令実行手段が実行する前、及び実行した後の双方
のうちから選択可能とし、エバチップのブレーク信号入
力による命令中断を命令の実行前に行なう。
【0017】これにより、サブルーチンの先頭での命令
実行の中断を実現することを可能とする。
【0018】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0019】(実施例1)図1は、本発明の実施例1に
係るエバチップを含むシステムを示すブロック図であ
る。
【0020】図1に示すシステムは、エバチップ100
と、命令コードを格納するメモリ160とから構成され
る。
【0021】エバチップ100は、命令の実行を行なう
CPU110と、ANDゲート151,154,158
と、SR−FF152と、D−FF153と、ORゲー
ト154と、CPU110の命令実行により設定可能な
命令前ブレーク指定フラグ130とから構成される。
【0022】CPU110とメモリ160は、CPU1
10が実行する命令コードを読み出すためのアドレスデ
ータバス140により接続されている。
【0023】CPU110は、出力信号としてエバチッ
プ内部の動作クロックであるCLK信号157と、命令
の実行開始タイミングで“1”となるMSTRT信号1
20を出力しており、また、CPU110への入力信号
としてブレーク要求信号156が入力している。
【0024】CPU110は、MSTRT信号120が
“1”の期間にブレーク要求信号156が“1”であれ
ば、その時点で命令実行を中断する。
【0025】また、ANDゲート151には、エバチッ
プ100の外部から入力しているブレーク信号150と
命令前ブレーク指定フラグ130の負論理の信号が入力
しており、ANDゲート154には、ブレーク信号15
0と命令前ブレーク指定フラグ130が入力しており、
ANDゲート158にはANDゲート151の出力の負
論理の信号とMSTRT信号120が入力している。
【0026】SR−FF152にはクロック入力として
CLK信号157の負論理の信号が、セット側の入力と
してANDゲート151の出力が、リセット側の入力と
してANDゲート158の出力が入力している。従って
SR−FF152の出力は、CLK157の立ち下がり
のタイミングでANDゲート151が“1”の場合は
“1”に、ANDゲート158が“1”の場合は“0”
に変化し、それ以外の場合は出力は変化しない。
【0027】D−FF153にはクロックとしてCLK
信号157が、データ入力としてSR−FF152の出
力が入力しており、CLK157の立ち上がりのタイミ
ングでSR−FF152の出力値をラッチする。
【0028】ORゲート155にはD−FF153の出
力とANDゲート154の出力が入力しており、ORゲ
ート155の出力はブレーク要求信号156としてCP
U110に入力している。
【0029】次に、図2,図3,図4のタイミングチャ
ートを用いて、ブレーク信号150に“0”及び“1”
が入力した場合のエバチップ100の動作について説明
する。
【0030】図2のタイミングチャートはCPU110
が命令コードを読み出したタイミングでブレーク信号1
50が“0”である場合のタイミングチャートである。
【0031】CPU110はt11のタイミングで命令
の実行を開始し、t11からt12の期間MSTRT信
号120を“1”にする。同時にCPU110はアドレ
スデータバス140を経由してメモリ160から命令コ
ードを読み出す。
【0032】ブレーク信号150が“0”であるため、
ANDゲート151,154は命令前ブレーク指定フラ
グ130の値に係わらず共に“0”を出力する。
【0033】SR−FF152はANDゲート151が
“0”であるため、“0”を出力し続け、その結果D−
FF153も“0”を出力し続ける。
【0034】ORゲート155はD−FF153とAN
Dゲート154の出力が共に“0”であるため、ブレー
ク要求信号156に“0”を出力する。
【0035】この結果CPU110は、アドレスデータ
バス140上の命令コードをt13のタイミングまで実
行する。そして、CPU110は、再びt13からt1
4の期間にMSTRT信号120を“1”にする。この
場合も、ブレーク信号150が“0”であるため、CP
U110は同様に通常のアドレスデータバス140上の
命令コードを実行し、通常の命令実行が行なわれる。
【0036】図3のタイミングチャートはCPU110
が命令コードを読み出したタイミングでブレーク信号1
50が“1”であり、命令前ブレーク指定フラグ130
が“0”である場合のタイミングチャートである。
【0037】CPU110はt21のタイミングで命令
の実行を開始し、t21からt23の期間MSTRT信
号120を“1”にする。同時にCPU110はアドレ
スデータバス140を経由してメモリ160から命令コ
ードを読み出す。
【0038】この時ブレーク信号150に“1”が入力
されると、命令前ブレーク指定フラグ130が“0”で
あるため、ANDゲート151は“1”を出力し、AN
Dゲート154は“0”を出力する。
【0039】SR−FF152はt22のCLK信号1
57が立ち下がるタイミングでANDゲート151が
“1”であるため“1”を出力し、次にMSTRT信号
120が出力されANDゲート158が“1”を出力す
るt25のタイミングまで、“1”を出力し続ける。
【0040】D−FF153は、SR−FFがt22か
らt25の間“1”を出力するため、t23からt26
の間“1”を出力する。ORゲート155はD−FF1
53がt23からt26の間“1”となるため、t23
からt26の間ブレーク要求信号156に“1”を出力
する。
【0041】この結果CPU110は、t21からt2
3のMSTRT信号120が“1”の期間は、ブレーク
要求信号156が“0”であるため、アドレスデータバ
ス140上の命令コードをt24のタイミングまで実行
する。
【0042】次に、MSTRT信号120が“1”とな
るt24からt26の期間は、ブレーク要求信号156
が“1”であるため、CPU110は命令実行を中断す
る。
【0043】以上述べたように、ブレーク信号150が
“1”であり、命令前ブレーク指定フラグ130が
“0”である場合には、エバチップ100は従来例で述
べたエバチップと同様に、ブレーク信号150がアクテ
ィブになった命令コードに対応する命令を実行した後、
命令実行を中断する。
【0044】図4のタイミングチャートはCPU110
が命令コードを読み出したタイミングでブレーク信号1
50が“1”であり、命令前ブレーク指定フラグ130
が“1”である場合のタイミングチャートである。
【0045】CPU110はt31のタイミングで命令
の実行を開始し、t31からt32の期間にMSTRT
信号120を“1”にする。同時にCPU110はアド
レスデータバス140を経由してメモリ160から命令
コードを読み出す。
【0046】この時ブレーク信号150に“1”が入力
されると、命令前ブレーク指定フラグ130が“1”で
あるため、ANDゲート151は“0”を出力し、AN
Dゲート154は“1”を出力する。
【0047】SR−FF152はANDゲート151が
“0”であるため、“0”を出力し続け、その結果D−
FF153も“0”を出力し続ける。ORゲート155
はANDゲート158がt31からt32の間“1”と
なるため、t31からt32の間ブレーク要求信号15
6に“1”を出力する。
【0048】この結果、CPU110がMSTRT信号
120に“1”を出力しているt31からt32の期間
にブレーク要求信号156が“1”となるため、CPU
110は命令実行を中断する。
【0049】以上述べたように、ブレーク信号150が
“1”であり、命令前ブレーク指定フラグ130が
“1”である場合にはエバチップ100は、ブレーク信
号150がアクティブになった命令コードを実行する前
に命令実行を中断する。
【0050】以上述べた構成のエバチップを用いること
により、ブレーク信号にアクティブレベルが入力した時
に取込んだ命令を実行する前に命令実行を中断すること
ができる。
【0051】尚、本実施例では命令コードを直接メモリ
から読み出す場合について述べたが、命令キューを内蔵
するCPUにおいても、命令キューの幅を1ビット増や
し、ブレーク信号を命令キューから命令コードを読み出
すタイミングと同時に読み出すことで、同じ効果を得る
ことができる。
【0052】(実施例2)図5は、本発明の実施例2を
示すブロック図である。
【0053】図5に示すエバチップ100は、ブレーク
信号150の入力時に命令の実行前に命令実行を中断す
るか否かを指定する方法を、実施例1における命令前ブ
レーク指定フラグから、エバチップ外部からの入力信号
である命令前ブレーク指定信号230に変更した以外
は、図1のエバチップと同一の構成である。
【0054】本実施例におけるエバチップは、命令前ブ
レーク指定信号230に“0”を入力した場合は、実施
例1の図3と同様に、ブレーク信号150に“1”を入
力すると、エバチップ100はブレーク信号150と同
時に読み込んだ命令を実行した後、命令実行を中断す
る。
【0055】また、命令前ブレーク指定信号230に
“1”を入力した場合は、実施例1の図4と同様に、ブ
レーク信号150に“1”を入力すると、エバチップ1
00はブレーク信号150と同時に読み込んだ命令を実
行する前に、命令実行を中断する。
【0056】このように、命令実行の中断をブレーク信
号入力と同時に読み込んだ命令の実行前に行なうか、命
令の実行後に行なうかを外部からの制御で直接行なうこ
とができるため、ブレーク信号を入力する場合毎に命令
中断を命令実行前又は実行後に行なうかを任意に設定で
き、プログラムのデバッグ時の自由度を高くすることが
できる。
【0057】
【発明の効果】以上述べたように、本発明では、エバチ
ップのブレーク信号入力による命令中断を命令の実行前
に行なうことを可能としたため、本エバチップを用いI
Eを構成することで、サブルーチンの先頭での命令実行
の中断を実現することが可能となり、C言語等の高級言
語で記述したプログラムを開発する場合のデバッグを容
易に行なうことができるようになり、プログラム開発の
効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施例1を示すブロック図である。
【図2】実施例1のエバチップの動作のタイミングチャ
ートである。
【図3】実施例1のエバチップの動作のタイミングチャ
ートである。
【図4】実施例1のエバチップの動作のタイミングチャ
ートである。
【図5】本発明の実施例2を示すブロック図である。
【符号の説明】
100 エバチップ 110 CPU 120 MSTRT信号 130 命令前ブレーク指定フラグ 140 アドレスデータバス 150 ブレーク信号 151,154,158 ANDゲート 152 SR−FF 153 D−FF 155 ORゲート 156 ブレーク要求信号 157 CLK信号 230 命令前ブレーク指定信号

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令実行を行なう命令実行手段と、 記憶手段から命令を読み出す命令読出し手段と、 特定の端子入力にアクティブレベルが入力した場合に前
    記命令実行手段における命令実行を中断させる実行制御
    手段とを有し、命令実行の中断は、特定端子入力へのアクティブレベル
    の入力と同時に読み込んだ命令の実行前に行なうか、或
    いは命令の実行後に行なうかを外部からの制御で行な
    い、 前記実行制御手段が前記命令実行手段における命令実行
    処理を中断させるタイミングを、前記端子入力へのアク
    ティブレベルの入力と同時に前記命令読出し手段が読み
    出した命令を前記命令実行手段が実行する前、及び実行
    した後の双方の内から選択可能としたものであることを
    特徴とするプログラム開発用マイクロコンピュータ。
JP4176151A 1992-06-10 1992-06-10 プログラム開発用マイクロコンピュータ Expired - Fee Related JP2940309B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4176151A JP2940309B2 (ja) 1992-06-10 1992-06-10 プログラム開発用マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4176151A JP2940309B2 (ja) 1992-06-10 1992-06-10 プログラム開発用マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH05342037A JPH05342037A (ja) 1993-12-24
JP2940309B2 true JP2940309B2 (ja) 1999-08-25

Family

ID=16008557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4176151A Expired - Fee Related JP2940309B2 (ja) 1992-06-10 1992-06-10 プログラム開発用マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2940309B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100381024B1 (ko) * 1999-06-28 2003-04-23 주식회사 하이닉스반도체 마이크로프로세서 개발 시스템의 기능을 효율적으로 지원하기위한 회로
JP2008033849A (ja) * 2006-08-01 2008-02-14 Hitachi Ltd 障害解析システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0282377A (ja) * 1988-09-19 1990-03-22 Nec Corp 半導体集積回路
JP2808757B2 (ja) * 1989-12-04 1998-10-08 日本電気株式会社 デバッグ用マイクロプロセッサ

Also Published As

Publication number Publication date
JPH05342037A (ja) 1993-12-24

Similar Documents

Publication Publication Date Title
JP4749556B2 (ja) 割込強制レジスタを含む柔軟な割込コントローラ
EP0497380A2 (en) Microcomputer having a watchdog timer
EP0238090A2 (en) Microcomputer capable of accessing internal memory at a desired variable access time
US4961161A (en) Arithmetic processor performing mask and trap operations for exceptions
US5155821A (en) Command performing order change-over system in data processor
US5361348A (en) Debug circuit of a signal processor
JPH0193837A (ja) デバッグ用マイクロプロセッサ
EP0267613A2 (en) Micro processor capable of being connected with coprocessor
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JPH1078889A (ja) マイクロコンピュータ
US6877113B2 (en) Break determining circuit for a debugging support unit in a semiconductor integrated circuit
JP2940309B2 (ja) プログラム開発用マイクロコンピュータ
US5828859A (en) Method and apparatus for setting the status mode of a central processing unit
JPH07311686A (ja) コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法
JPH08272770A (ja) マイクロコントローラディベロップメントシステム
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP2675506B2 (ja) マイクロプロセッサ装置
JP3489174B2 (ja) 半導体集積回路
JP3366235B2 (ja) データ読み出し制御装置
JP3120841B2 (ja) インサーキットエミュレータ
KR870006484A (ko) 마이크로 프로세서를 이용한 공정제어방법 및 장치
JPH11212945A (ja) マイクロコンピュータおよびそのメモリ
JP2002007140A (ja) 記録媒体、システム開発装置及びマイクロコンピュータ
JPH0795288B2 (ja) マイクロコンピュータ

Legal Events

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