JPH03208132A - シングルチツプマイクロコンピユータ - Google Patents
シングルチツプマイクロコンピユータInfo
- Publication number
- JPH03208132A JPH03208132A JP2002809A JP280990A JPH03208132A JP H03208132 A JPH03208132 A JP H03208132A JP 2002809 A JP2002809 A JP 2002809A JP 280990 A JP280990 A JP 280990A JP H03208132 A JPH03208132 A JP H03208132A
- Authority
- JP
- Japan
- Prior art keywords
- address
- stack
- chip microcomputer
- interruption
- program
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Landscapes
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、シングルテンブマイクロコンピュータに関し
、特に、割込みや例外と呼ばれる分岐機能を備えたシン
グルチンプマイクロコンピュータに関するものである。
、特に、割込みや例外と呼ばれる分岐機能を備えたシン
グルチンプマイクロコンピュータに関するものである。
第2図は、従来のシングルチップマイクロコンピュータ
の内部構成を示す説明図である。同図において、1〜5
は内部レジスタであり、1はアキュムレータ、2,3は
汎用レジスタ、4はプログラムカウンタ、5はスタック
ポインタ、6はメモリ、7はスタック、8,9は割込み
ルーチン、10,11は割込みベクトル、12はデータ
領域、l3はプログラム領域、14.15は内蔵のシリ
アルI/Oである。
の内部構成を示す説明図である。同図において、1〜5
は内部レジスタであり、1はアキュムレータ、2,3は
汎用レジスタ、4はプログラムカウンタ、5はスタック
ポインタ、6はメモリ、7はスタック、8,9は割込み
ルーチン、10,11は割込みベクトル、12はデータ
領域、l3はプログラム領域、14.15は内蔵のシリ
アルI/Oである。
次に、割込みの動作について説明する。割込みとは、シ
ングルチップマイクロコンピュータの内部や外部に特別
な要因が発生したときにプログラムの実行を瞬時に切り
換え、必要な処理を行なうための機能である.割込みの
要因が発生した時に分岐するアドレスは割込みベクトル
と呼ばれるメモリ上に格納する.割込みベクトルのアド
レスは各要因ごとに決まっている.第2図に示すシング
ルチップマイクロコンピュータでは、2つのシリアルI
/O14.15を内蔵しており、データの入力が完了す
ると、割込みを発生する。各シリアルI/O14.15
の割込みベクトルのアドレスは、シリアルI/014が
割込みベクトル10で示すOFFFOH番地、シリアル
T/015が割込みベクトル11で示すOFFF2H番
地というようにそれぞれ一意に決まっている。プログラ
マは、割込み発生時に実行するプログラムを割込みルー
チンとして作威し、ルーチン8.9のようにメモリ6上
に配置し、それぞれの先頭アドレスを割込みベクトル1
0.11に格納する。こうすることにより、シリアルI
/014のデータ人力が完了すると、割込みルーチン8
が実行され、またシリアルI/015のデータ入力が完
了すると、割込みルーチン9が実行される。
ングルチップマイクロコンピュータの内部や外部に特別
な要因が発生したときにプログラムの実行を瞬時に切り
換え、必要な処理を行なうための機能である.割込みの
要因が発生した時に分岐するアドレスは割込みベクトル
と呼ばれるメモリ上に格納する.割込みベクトルのアド
レスは各要因ごとに決まっている.第2図に示すシング
ルチップマイクロコンピュータでは、2つのシリアルI
/O14.15を内蔵しており、データの入力が完了す
ると、割込みを発生する。各シリアルI/O14.15
の割込みベクトルのアドレスは、シリアルI/014が
割込みベクトル10で示すOFFFOH番地、シリアル
T/015が割込みベクトル11で示すOFFF2H番
地というようにそれぞれ一意に決まっている。プログラ
マは、割込み発生時に実行するプログラムを割込みルー
チンとして作威し、ルーチン8.9のようにメモリ6上
に配置し、それぞれの先頭アドレスを割込みベクトル1
0.11に格納する。こうすることにより、シリアルI
/014のデータ人力が完了すると、割込みルーチン8
が実行され、またシリアルI/015のデータ入力が完
了すると、割込みルーチン9が実行される。
次に、スタック7について説明する。スタック7は、レ
ジスタ上のデータやサブルーチン呼出し時の戻り番地を
退避するための領域である。データの退避は退避命令を
実行することによって行なう。また、サブルーチンから
の戻り番地は、サブルーチン呼出し命令の実行時に自動
的に退避される。
ジスタ上のデータやサブルーチン呼出し時の戻り番地を
退避するための領域である。データの退避は退避命令を
実行することによって行なう。また、サブルーチンから
の戻り番地は、サブルーチン呼出し命令の実行時に自動
的に退避される。
スタックポインタ5は、次回使用するスタックの位置を
示すレジスタである。通常、スタソクポインタ5は、ス
タックを使用する度に値が減少する。従って、プログラ
マは、スタックポインタ5の初期値としてスタックの最
下位のアドレスを設定する。第2図では、IIOOHを
設定する。それ以後は、下位アドレス側より順にスタン
クが使用される。
示すレジスタである。通常、スタソクポインタ5は、ス
タックを使用する度に値が減少する。従って、プログラ
マは、スタックポインタ5の初期値としてスタックの最
下位のアドレスを設定する。第2図では、IIOOHを
設定する。それ以後は、下位アドレス側より順にスタン
クが使用される。
データ領域12およびプログラマ領域13のサイズは、
開発ツールによって自動的に算出できるが、スタック7
のサイズはプログラマが算出しなければならない。もし
スタソクのサイズの算出を誤り、実際の使用量より少な
いサイズを確保した場合、プログラムの実行中にスタッ
ク以外のメモリ領域が不正にスタックとして使用される
。従来のシングルチップマイクロコンピュータは、この
ようなスタックのあぶれを検出する機能を持っていない
。
開発ツールによって自動的に算出できるが、スタック7
のサイズはプログラマが算出しなければならない。もし
スタソクのサイズの算出を誤り、実際の使用量より少な
いサイズを確保した場合、プログラムの実行中にスタッ
ク以外のメモリ領域が不正にスタックとして使用される
。従来のシングルチップマイクロコンピュータは、この
ようなスタックのあぶれを検出する機能を持っていない
。
従来のシングルチップマイクロコンピュータはスタフク
があふれたことを検出できないため、スタックのサイズ
の算出を誤った場合、スタック以外のメモリ領域が不正
にスタックとして使用され、プログラムが暴走するとい
う問題があった。
があふれたことを検出できないため、スタックのサイズ
の算出を誤った場合、スタック以外のメモリ領域が不正
にスタックとして使用され、プログラムが暴走するとい
う問題があった。
本発明はこのような点に鑑みてなされたものであり、そ
の目的とするところは、スタックがあふれたことを検出
し、プログラムの暴走を未然に防ぐことのできるシング
ルチップマイクロコンピュータを得ることにある。
の目的とするところは、スタックがあふれたことを検出
し、プログラムの暴走を未然に防ぐことのできるシング
ルチップマイクロコンピュータを得ることにある。
このような目的を達威するために本発明は、スタソクポ
インタの値がシングルチップマイクロコンピュータによ
って決まっている既定のアドレスに達した場合に検知信
号を出力する比較回路を備え、検知信号が出力されたと
きに割込みを発生するようにしたものである。
インタの値がシングルチップマイクロコンピュータによ
って決まっている既定のアドレスに達した場合に検知信
号を出力する比較回路を備え、検知信号が出力されたと
きに割込みを発生するようにしたものである。
本発明によるシングルチップマイクロコンピュータにお
いては、スタックの限界アドレスと割込みの対象となる
アドレスとが一致するようにスタソクをメモリ上に配置
し、ステップのあふれ時に割込みルーチンによってエラ
ー処理が行なえ、プログラムの暴走が未然に防止される
。
いては、スタックの限界アドレスと割込みの対象となる
アドレスとが一致するようにスタソクをメモリ上に配置
し、ステップのあふれ時に割込みルーチンによってエラ
ー処理が行なえ、プログラムの暴走が未然に防止される
。
以下、本発明の実施例を図について説明する。
第1図は、本発明によるシングルチップマイクロコンピ
ュータの一実施例の説明図である。同図において、16
はスタフクポインタ5の値と限界アドレス値との比較回
路、17はシングルチップマイクロコンピュータによっ
て決まっている限界アドレスである。第1図において第
2図と同一部分又は相当部分には同一符号が付してある
。
ュータの一実施例の説明図である。同図において、16
はスタフクポインタ5の値と限界アドレス値との比較回
路、17はシングルチップマイクロコンピュータによっ
て決まっている限界アドレスである。第1図において第
2図と同一部分又は相当部分には同一符号が付してある
。
第1図の実施例では、従来構或に、スタソクポインタ5
の値と既定値との比較回路l6を追加している。本実施
例では、割込みの対象となるスタックの限界アドレス1
7が0番地となっているため、スタック7をO番地から
配置している。スタックポインタ5の初期値は算出した
スタソク7のサイズを設定する。プログラムの実行中、
スタックポインタ5の値がO番地になった場合、割込み
が発生し、割込みヘクトル10に設定したアドレスから
始まる割込みルーチン8が実行される。割込みルーチン
8では必要なエラー処理を行なう.なお、第1図の実施
例では、スタックポインタ5の値と限界アドレスの比較
に比較回路6を用いたが、限界アドレスがO番地の場合
、スタフクポインタ5の各ビットの論理和回路でも、ア
ドレスの一致を検出できる。
の値と既定値との比較回路l6を追加している。本実施
例では、割込みの対象となるスタックの限界アドレス1
7が0番地となっているため、スタック7をO番地から
配置している。スタックポインタ5の初期値は算出した
スタソク7のサイズを設定する。プログラムの実行中、
スタックポインタ5の値がO番地になった場合、割込み
が発生し、割込みヘクトル10に設定したアドレスから
始まる割込みルーチン8が実行される。割込みルーチン
8では必要なエラー処理を行なう.なお、第1図の実施
例では、スタックポインタ5の値と限界アドレスの比較
に比較回路6を用いたが、限界アドレスがO番地の場合
、スタフクポインタ5の各ビットの論理和回路でも、ア
ドレスの一致を検出できる。
以上説明したように本発明は、スタックポインタの値が
シングルチップマイクロコンピュータによって決まって
いる既定のアドレスに達した場合に検知信号を出力し、
この検知信号が出力されたときに割込みを発生するよう
にしたことにより、従来のコンピュータに簡単な回路を
追加するだけで、スタックのあふれ時にプログラムが暴
走することを未然に防ぐことができる効果がある。
シングルチップマイクロコンピュータによって決まって
いる既定のアドレスに達した場合に検知信号を出力し、
この検知信号が出力されたときに割込みを発生するよう
にしたことにより、従来のコンピュータに簡単な回路を
追加するだけで、スタックのあふれ時にプログラムが暴
走することを未然に防ぐことができる効果がある。
第1図は本発明によるシングルチップマイクロコンピュ
ータの一実施例の説明図、第2図は従来のシングルチッ
プマイクロコンピュータの説明図である。 1・・・7キュムレー夕、2,3・・・汎用レジスタ、
4・・・プログラムカウンタ、5・・・スタソクポイン
タ、6・・・メモリ、7・・・スタック、8・・・割込
みルーチン、10・・・割込みベクトル、l2・・・デ
ータ領域、13・・・プログラム領域、16・・・比較
回路、17・・・限界アドレス。
ータの一実施例の説明図、第2図は従来のシングルチッ
プマイクロコンピュータの説明図である。 1・・・7キュムレー夕、2,3・・・汎用レジスタ、
4・・・プログラムカウンタ、5・・・スタソクポイン
タ、6・・・メモリ、7・・・スタック、8・・・割込
みルーチン、10・・・割込みベクトル、l2・・・デ
ータ領域、13・・・プログラム領域、16・・・比較
回路、17・・・限界アドレス。
Claims (1)
- スタックポインタの値がシングルチップマイクロコンピ
ュータによって決まっている既定のアドレスに達した場
合に検知信号を出力する比較回路を備え、前記検知信号
が出力されたときに割込みを発生するシングルチップマ
イクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002809A JPH03208132A (ja) | 1990-01-09 | 1990-01-09 | シングルチツプマイクロコンピユータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002809A JPH03208132A (ja) | 1990-01-09 | 1990-01-09 | シングルチツプマイクロコンピユータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03208132A true JPH03208132A (ja) | 1991-09-11 |
Family
ID=11539717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002809A Pending JPH03208132A (ja) | 1990-01-09 | 1990-01-09 | シングルチツプマイクロコンピユータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03208132A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114698A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | プログラム開発装置 |
JP2017162135A (ja) * | 2016-03-09 | 2017-09-14 | 三菱電機株式会社 | 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61279941A (ja) * | 1985-06-05 | 1986-12-10 | Mitsubishi Electric Corp | 計算機の異常検出装置 |
JPS62212733A (ja) * | 1986-03-14 | 1987-09-18 | Hitachi Ltd | スタツク領域オ−バフロ−検出機構 |
JPS6426234A (en) * | 1987-07-22 | 1989-01-27 | Mitsubishi Electric Corp | Program congestion monitoring system |
-
1990
- 1990-01-09 JP JP2002809A patent/JPH03208132A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61279941A (ja) * | 1985-06-05 | 1986-12-10 | Mitsubishi Electric Corp | 計算機の異常検出装置 |
JPS62212733A (ja) * | 1986-03-14 | 1987-09-18 | Hitachi Ltd | スタツク領域オ−バフロ−検出機構 |
JPS6426234A (en) * | 1987-07-22 | 1989-01-27 | Mitsubishi Electric Corp | Program congestion monitoring system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114698A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | プログラム開発装置 |
JP2017162135A (ja) * | 2016-03-09 | 2017-09-14 | 三菱電機株式会社 | 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
US4924382A (en) | Debugging microprocessor capable of switching between emulation and monitor without accessing stack area | |
JPH02202642A (ja) | プログラム動作監視装置 | |
JPH03208132A (ja) | シングルチツプマイクロコンピユータ | |
JPS63106836A (ja) | 異ア−キテクチヤ・エミユレ−シヨン方式 | |
JP4114946B2 (ja) | データ処理装置 | |
US20040078413A1 (en) | Device for monitoring operation of processing circuit | |
JPS6211745B2 (ja) | ||
JPH04280334A (ja) | ワンチップマイクロコンピュータ | |
JPS6118045A (ja) | プログラムの暴走検出方式 | |
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
JPH0484224A (ja) | スタックエリア保護回路 | |
JPH04364531A (ja) | マイクロプロセッサ | |
JPH045729A (ja) | プロセッサ装置 | |
JPH0436841A (ja) | マイクロコンピュータ | |
JPS6155731A (ja) | コンデイシヨンコ−ド判定機能を備えるプロセツサ | |
JPS6282439A (ja) | 擬似障害発生方式 | |
JPH04177533A (ja) | マイクロコンピュータ | |
JPS61160146A (ja) | アドレス・スタツク・ポインタ装置の制御方式 | |
JPS63101966A (ja) | ベクトル処理装置 | |
JPS63310027A (ja) | 半導体集積回路 | |
JPH01195541A (ja) | 半導体集積回路 | |
JPS63138437A (ja) | プログラム制御システム | |
JPH0438526A (ja) | マイクロコンピュータ | |
JPS63316137A (ja) | 情報処理装置 |