JPH04177533A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH04177533A JPH04177533A JP30481190A JP30481190A JPH04177533A JP H04177533 A JPH04177533 A JP H04177533A JP 30481190 A JP30481190 A JP 30481190A JP 30481190 A JP30481190 A JP 30481190A JP H04177533 A JPH04177533 A JP H04177533A
- Authority
- JP
- Japan
- Prior art keywords
- stack pointer
- stack
- instruction
- microcomputer
- setting
- 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
Links
- 230000002093 peripheral effect Effects 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 16
- 238000011022 operating instruction Methods 0.000 abstract 1
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロコンピータに関し、特にスタックポイ
ンタの設定忘れを検出可能なマイクロコンピュータに関
する。
ンタの設定忘れを検出可能なマイクロコンピュータに関
する。
最近のマイクロコンピュータにおいては、サブルーチン
コール命令を実行した場合や周辺ノ・−ドウエアからの
割込みが発生した場合にプログラムカウンタあるいはプ
ログラムステータスワード等をスタックする領域として
、通常の処理データを格納するためのデータメモ’)(
RAMと略す)を用いるRAMスタック方式が一般的で
あり、スタックポインタによってRAMの中のスタック
領域を指定している。
コール命令を実行した場合や周辺ノ・−ドウエアからの
割込みが発生した場合にプログラムカウンタあるいはプ
ログラムステータスワード等をスタックする領域として
、通常の処理データを格納するためのデータメモ’)(
RAMと略す)を用いるRAMスタック方式が一般的で
あり、スタックポインタによってRAMの中のスタック
領域を指定している。
上述したRAMスタック方式は、スタック領域がデータ
メモリ領域の一部に割当てられているために、応用によ
ってスタック領域と処理データ記憶領域を自由に配分す
ることができる長所があるが、リセット入力後の初期ル
ーチンで必ずスタックポインタを設定する必要がある。
メモリ領域の一部に割当てられているために、応用によ
ってスタック領域と処理データ記憶領域を自由に配分す
ることができる長所があるが、リセット入力後の初期ル
ーチンで必ずスタックポインタを設定する必要がある。
リセット入力でスタックポインタが不定の場合には、プ
ログラムによる初期化を忘れた場合、データメモリのど
の領域にスタックされるか全くわからず処理データ記憶
領域のデータを破壊してしまう。しかも、。
ログラムによる初期化を忘れた場合、データメモリのど
の領域にスタックされるか全くわからず処理データ記憶
領域のデータを破壊してしまう。しかも、。
このようなソフトウェア上のバグは実際にマイクロコン
ピュータを応用装置上で動作させた場合に原因が発見し
にくいという欠点がある。スタックポインタをリセット
入力時に特定の値に固定すればスタック領域が不定とな
ることは回避できるが、前述のように応用によってデー
タメモリ内の割り当てが自由に割り振りできることがR
AMスタック方式の長所であり、実際に必ずしも同じ領
域に割り当てるとは限らない。従って前述と同様、スタ
ックポインタの初期設定の忘れによりデータ記憶として
割り当てた領域が破壊されて正常動作をせずやはり原因
の発見が困難である。
ピュータを応用装置上で動作させた場合に原因が発見し
にくいという欠点がある。スタックポインタをリセット
入力時に特定の値に固定すればスタック領域が不定とな
ることは回避できるが、前述のように応用によってデー
タメモリ内の割り当てが自由に割り振りできることがR
AMスタック方式の長所であり、実際に必ずしも同じ領
域に割り当てるとは限らない。従って前述と同様、スタ
ックポインタの初期設定の忘れによりデータ記憶として
割り当てた領域が破壊されて正常動作をせずやはり原因
の発見が困難である。
本発明のマイクロコンピュータは、スタックポインタを
設定する命令の実行を検出するスタックポインタ設定検
出回路と、リセット信号入力後、前記スタックポインタ
設定検出回路によりスタックポインタの設定が検出され
る以前にサブルーチンコール命令又はスタック操作命令
が実行されるか、あるいは周辺ハードウェアからの割込
みが発生した場合にこれを検出するエラー検出回路とを
有している。
設定する命令の実行を検出するスタックポインタ設定検
出回路と、リセット信号入力後、前記スタックポインタ
設定検出回路によりスタックポインタの設定が検出され
る以前にサブルーチンコール命令又はスタック操作命令
が実行されるか、あるいは周辺ハードウェアからの割込
みが発生した場合にこれを検出するエラー検出回路とを
有している。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例である。スタックポインタ設
定検出回路lは、メモリアドレス上に割当てられたスタ
ックポインタのアドレスを解読スる回路で、アドレスバ
スを入力とし、メモリへの書込み制御信号MWRが発生
したときにアドレスバスの内容がスタックポインタのア
ドレスである場合にはエラー検出回路2に対しハイレベ
ルアクティブのパルス信号を出力し、スタックポインタ
以外のアドレスの場合はロウレベルの出力を保持する。
定検出回路lは、メモリアドレス上に割当てられたスタ
ックポインタのアドレスを解読スる回路で、アドレスバ
スを入力とし、メモリへの書込み制御信号MWRが発生
したときにアドレスバスの内容がスタックポインタのア
ドレスである場合にはエラー検出回路2に対しハイレベ
ルアクティブのパルス信号を出力し、スタックポインタ
以外のアドレスの場合はロウレベルの出力を保持する。
エラー検出回路2は、マイクロコンピュータへのリセッ
ト信号RESETが入力Sに入力された場合に“1″を
出力し、前記スタックポインタ設定検出回路1からのパ
ルス信号が入力Rに入力されると“0°を出力するR−
Sフリップフロップ回路2−aと、2人力のうち前記R
−Sフリップフロップ回路2−bを一方の入力としOR
回路3の出力を他方の入力とするAND回路2−bより
構成される。
ト信号RESETが入力Sに入力された場合に“1″を
出力し、前記スタックポインタ設定検出回路1からのパ
ルス信号が入力Rに入力されると“0°を出力するR−
Sフリップフロップ回路2−aと、2人力のうち前記R
−Sフリップフロップ回路2−bを一方の入力としOR
回路3の出力を他方の入力とするAND回路2−bより
構成される。
OR回路3は、マイクロコンピュータの外部からの割込
み入力があった場合、又はマイクロコンピュータに内蔵
する周辺ハードウェアから割込が発生した場合に割込制
御回路より発生される割込信号lNTl〜INTn (
後述のエラー割込みは除く)を入力とし、また、サブル
ーチンコール命令やレジスタのブツシュ・ポツプなどス
タック操作命令を実行した場合に発生する5TACK信
号を入力とする。
み入力があった場合、又はマイクロコンピュータに内蔵
する周辺ハードウェアから割込が発生した場合に割込制
御回路より発生される割込信号lNTl〜INTn (
後述のエラー割込みは除く)を入力とし、また、サブル
ーチンコール命令やレジスタのブツシュ・ポツプなどス
タック操作命令を実行した場合に発生する5TACK信
号を入力とする。
次に一連の動作について説明する。マイクロコンピュー
タへのリセット信号が入力されると、RESET信号に
よりR−Sフリップフロップ回路2−aの出力Qが“1
′となる。その後、スタックポインタを設定するために
スタックポインタが割当てらhたメモリアドレスへのデ
ータ書込み命令が実行されるとスタックポインタ設定検
出回路1 ハ、<ルスを発生するためR−Sフリップフ
ロップ回路2−aの出力Qは0°となり、AND回路2
−bは0′を出力するためエラー割込み、又は内部リセ
ット信号は発生しない。
タへのリセット信号が入力されると、RESET信号に
よりR−Sフリップフロップ回路2−aの出力Qが“1
′となる。その後、スタックポインタを設定するために
スタックポインタが割当てらhたメモリアドレスへのデ
ータ書込み命令が実行されるとスタックポインタ設定検
出回路1 ハ、<ルスを発生するためR−Sフリップフ
ロップ回路2−aの出力Qは0°となり、AND回路2
−bは0′を出力するためエラー割込み、又は内部リセ
ット信号は発生しない。
一方、マイクロフンピユータへのリセット信号RESE
TによりIR−Sフリップフロップ回路2−aの出力Q
が°l”の状態において、サブルーチンコール命令が実
行されるか、又はレジスタのブツシュ・ポツプ等のスタ
ック操作命令が実行されると5TACK信号が“1′と
なりOR回路3の出力が1′となるためAND回路2−
bの2人力がともに“1°となってエラー割込み又は内
部リセット信号を出力する。あるいはR−Sフリップフ
ロップ回路2− aの出力が1°のときに割込み信号l
NTl〜I N T nのいずれがか発生した場合にも
OR回路3の出力が“1′となるため同様にエラー割込
み又は内部リセット信号を出力する。エラー割込み自身
によってもスタック領域への退避動作が行われるが、エ
ラー割込み処理の中でCPUの動作を停止させたり、出
力端子へエラー情報を圧力するなどの処理を行えばエラ
ーの発生を外部へ知らせることができるため、ニラ−割
込みによりデータ領域の一部データが破壊されたとして
もエラー発生の検出に支障はないようにすることができ
る。
TによりIR−Sフリップフロップ回路2−aの出力Q
が°l”の状態において、サブルーチンコール命令が実
行されるか、又はレジスタのブツシュ・ポツプ等のスタ
ック操作命令が実行されると5TACK信号が“1′と
なりOR回路3の出力が1′となるためAND回路2−
bの2人力がともに“1°となってエラー割込み又は内
部リセット信号を出力する。あるいはR−Sフリップフ
ロップ回路2− aの出力が1°のときに割込み信号l
NTl〜I N T nのいずれがか発生した場合にも
OR回路3の出力が“1′となるため同様にエラー割込
み又は内部リセット信号を出力する。エラー割込み自身
によってもスタック領域への退避動作が行われるが、エ
ラー割込み処理の中でCPUの動作を停止させたり、出
力端子へエラー情報を圧力するなどの処理を行えばエラ
ーの発生を外部へ知らせることができるため、ニラ−割
込みによりデータ領域の一部データが破壊されたとして
もエラー発生の検出に支障はないようにすることができ
る。
第2図は本発明の第2の実施例を示す図である。
図の番号2〜3は第1の実施例と構成は同一である。本
実施例のスタックポインタ設定検出回路1−bは、スタ
ックポインタ設定の専用命令をもったマイクロコンピュ
ータにおいて、プログラムメモリ4より命令がよみ出さ
れて命令デコーダ5により専用命令がデコードされたと
きに出力される信号を入力として、このときにパルスを
発生スル。
実施例のスタックポインタ設定検出回路1−bは、スタ
ックポインタ設定の専用命令をもったマイクロコンピュ
ータにおいて、プログラムメモリ4より命令がよみ出さ
れて命令デコーダ5により専用命令がデコードされたと
きに出力される信号を入力として、このときにパルスを
発生スル。
従って専用命令の場合にも第1の実施例と同様のエラー
検出が可能となる。
検出が可能となる。
以上説明したように、本発明はRAMスタック方式のマ
イクロコンピュータにおいて、リセット信号入力後、ス
タックポインタの初期値設定をする以前にサブルーチン
コール命令実行や割込み等のスタック動作が発生した場
合に、これを検出する機能を持つことにより、スタック
ポインタの設定忘れというソフトウェアのバグを検出す
ることができるためソフトウェアの關発効率を高める効
果がある。
イクロコンピュータにおいて、リセット信号入力後、ス
タックポインタの初期値設定をする以前にサブルーチン
コール命令実行や割込み等のスタック動作が発生した場
合に、これを検出する機能を持つことにより、スタック
ポインタの設定忘れというソフトウェアのバグを検出す
ることができるためソフトウェアの關発効率を高める効
果がある。
第1図は本発明の第1の実施例を示すブロック図、第2
図は本発明の第2の実施例を示すブロック図である。 1−a、l−b・・・・・・スタックポインタ設定検出
回路、2・・・・・・エラー検出回路、2−a・・・・
・・R−Sフリップフロップ回路、2−b・・・・・・
AND回路、3・・・・・・OR回路、4・・・・・・
プログラムメモリ、5・・・・・・命令デコーダ。 代理人 弁理士 内 原 晋 ペ え ト
図は本発明の第2の実施例を示すブロック図である。 1−a、l−b・・・・・・スタックポインタ設定検出
回路、2・・・・・・エラー検出回路、2−a・・・・
・・R−Sフリップフロップ回路、2−b・・・・・・
AND回路、3・・・・・・OR回路、4・・・・・・
プログラムメモリ、5・・・・・・命令デコーダ。 代理人 弁理士 内 原 晋 ペ え ト
Claims (1)
- スタックポインタを設定する命令の実行を検出するスタ
ックポインタ設定検出回路と、リセット信号入力後、前
記スタックポインタ設定検出回路によりスタックポイン
タの設定が検出される以前にサブルーチンコール命令又
はスタック操作命令が実行されるか、あるいは周辺ハー
ドウェアからの割込みが発生した場合にこれを検出する
エラー検出回路とを内蔵することを特徴とするマイクロ
コンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30481190A JP3166167B2 (ja) | 1990-11-09 | 1990-11-09 | マイクロコンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30481190A JP3166167B2 (ja) | 1990-11-09 | 1990-11-09 | マイクロコンピュータ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04177533A true JPH04177533A (ja) | 1992-06-24 |
| JP3166167B2 JP3166167B2 (ja) | 2001-05-14 |
Family
ID=17937537
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30481190A Expired - Fee Related JP3166167B2 (ja) | 1990-11-09 | 1990-11-09 | マイクロコンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3166167B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013192774A (ja) * | 2012-03-21 | 2013-09-30 | Sophia Co Ltd | 遊技機 |
-
1990
- 1990-11-09 JP JP30481190A patent/JP3166167B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013192774A (ja) * | 2012-03-21 | 2013-09-30 | Sophia Co Ltd | 遊技機 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3166167B2 (ja) | 2001-05-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3684590B2 (ja) | リセット制御装置及びリセット制御方法 | |
| US5717851A (en) | Breakpoint detection circuit in a data processor and method therefor | |
| JPH03175537A (ja) | デバッグ用マイクロプロセッサのエラー制御装置 | |
| JPH04177533A (ja) | マイクロコンピュータ | |
| JPH0484224A (ja) | スタックエリア保護回路 | |
| JPS63250753A (ja) | メモリアクセスチエツク方式 | |
| JPH04280334A (ja) | ワンチップマイクロコンピュータ | |
| JPS5826043B2 (ja) | プロセツサのリセツト方式 | |
| JPH0333939A (ja) | マイクロプロセッサ | |
| KR930008679B1 (ko) | 마이크로 채널 버스 아키덱쳐를 갖는 컴퓨터 시스템의 마이크로 채널 버스 에러 추적회로 | |
| JP3110222B2 (ja) | マイクロコンピュータ | |
| JPH03208132A (ja) | シングルチツプマイクロコンピユータ | |
| JPS59123055A (ja) | 命令処理方式 | |
| JPH01100636A (ja) | エラー制御回路 | |
| CN118132427A (zh) | 芯片的运行跟踪方法、芯片、板卡、电子设备及存储介质 | |
| JPH01251240A (ja) | 暴走検出方式 | |
| JPS6043745A (ja) | 計算機システム | |
| JPS5814000B2 (ja) | レジスタセット回路 | |
| JPS63138437A (ja) | プログラム制御システム | |
| JPH06139084A (ja) | 情報処理装置 | |
| JPS58200355A (ja) | Cpuの動作監視システム | |
| JPH02144744A (ja) | 外部メモリ診断機能付lsi | |
| JPH08153018A (ja) | 半導体システム | |
| JPH02278342A (ja) | マイクロコンピュータ | |
| JPS6031650A (ja) | 計算機 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |