Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0814780B2 - マイクロコンピュータ - Google Patents
[go: Go Back, main page]

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

マイクロコンピュータ

Info

Publication number
JPH0814780B2
JPH0814780B2 JP63315283A JP31528388A JPH0814780B2 JP H0814780 B2 JPH0814780 B2 JP H0814780B2 JP 63315283 A JP63315283 A JP 63315283A JP 31528388 A JP31528388 A JP 31528388A JP H0814780 B2 JPH0814780 B2 JP H0814780B2
Authority
JP
Japan
Prior art keywords
microcomputer
interrupt
program
initial value
user
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 - Lifetime
Application number
JP63315283A
Other languages
English (en)
Other versions
JPH02159613A (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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63315283A priority Critical patent/JPH0814780B2/ja
Publication of JPH02159613A publication Critical patent/JPH02159613A/ja
Publication of JPH0814780B2 publication Critical patent/JPH0814780B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータに関し、特にROMを内
蔵するマイクロコンピュータに関する。
〔従来の技術〕
従来、マイクロコンピュータ(以下、マイコンと称
す)にはROM(読み出し専用メモリ)を内蔵するものが
ある。この内蔵されたROMには外付けメモリの省略化な
どの目的でユーザのプログラムの全部あるいは一部が格
納され、システムの省スペース化や低消費電力化などが
図られている。なお、このROMはいわゆるマイクロ・プ
ログラムのROMとは構成上区別されている。
一方、かかるマイコンの初期動作、すなわちリセット
信号入力の後のマイコンの初期動作(以下、リセット動
作と称す)では、内部の種々のハードウェアの初期化が
行なわれる。この内部のハードウェアの初期化の内容は
個々のマイコンで決められて(固定されて)おり、ユー
ザの任意の設定はできない。
以下、このROMを内蔵する従来のマイコンの例および
マイコンのリセット動作中に有効な割込みが入力された
場合の動作を説明する。
第5図は従来の一例を示すマイコンのブロック図であ
る。
第5図に示すように、ここではROM8Aを内蔵するマイ
コン1Aに外部RAMをバス接続した例を示す。このマイコ
ン1Aは説明に必要な機能要素のみを示しており、特にマ
イコン1Aの全体を制御する制御部2Aと、プログラム・カ
ウンタ(PC)4,プログラム・ステータス・ワード(PS
W)5,スタック・ポインタ(SP)6と、内部バス7と、
ユーザのプログラムの一部が格納された内蔵ROM8Aと、
リセット信号入力端子(▲▼)11,NMI(ノン
・マスカブル・インタラプト)入力端子12とを有してい
る。また、マイコン1Aの外部には外部バス13を介して接
続された外部RAM14がある。
次に、リセット端子11にリセット信号が入力された後
のマイコン1Aの動作を第6図を用いて説明する。
第6図は第5図におけるマイコンのタイミング図であ
る。
第6図に示すように、まず、リセット端子11にリセッ
ト信号が入力され開放されると、制御部2Aはマイコン1A
全体を制御し、ハードウェアの初期化(a)を行う。こ
の初期化を中にはPC4の初期値設定も含まれ、且つこの
ハードウェアの初期化(a)の後半でマイコン1Aに内蔵
された割込みコントローラ(図示省略)も初期化され、
割込み受付け可能状態とする。以上の動作がマイコン1A
のリセット動作である。なお、SP6の初期値やNMI割込み
のベクタ値は個々のユーザの初期情報であるので、マイ
コン1Aのリセット動作ではセットしない。
次に、ここで、ハードウェアの初期化(a)の処理中
に外部からNMI入力端子12へNMI信号が入力され、マイコ
ン1A内の割込みコントローラ(図示省略)によりNMI割
込み要求フラグがセットされたものとする。すると、制
御部2Aが初期化(a)の処理に続いて行なう割込み要求
サンプリング(b)の制御により、NMIの割込みフラグ
がセットされていることを確認するので、NMI割込みを
受付け、割込みフラグをリセットする。
続いて、制御部2Aは割込みベクタへの分岐(c)の処
理を行なうため、PC4とPSW5の内容をSP6の指す外部RAM1
4内のスタック・エリアに退避(格納)した後、外部RAM
14内のNMI割込みに対応する割込みベクタの格納された
アドレスからベクタ値を読み出し、これをPC4にセット
することによりベクタ・アドレス(NMI用の割込みルー
チンの入口)への分岐を実行するよう制御する。ところ
が、SP6にはまだ初期値が設定されていないため、PC4と
PSW5の内容が退避されるスタックのアドレスは不定とな
る。さらに、外部RAM14にはまだベクタ値がセットされ
ていないため、ここでは読出されるベクタ値は不定とな
る。すなわち、不定とは、例えば電源の投下時にたまた
まセットされる無意味な値であるとか、あるいはリセッ
ト前までに走行していたプログラムの操作による値のま
まになっていることである。
かくして分岐処理(c)が行なわれると、制御部2Aの
制御により、プログラムの不定のアドレスから実行して
いき、結果としてマイコン1Aは暴走(d)することにな
る。
〔発明が解決しようとする課題〕
上述した従来のマイコンのリセット動作ではユーザ個
々の初期情報をセットしない。また、内蔵ROMはマイコ
ン内にあるもののプログラムの格納に使用されているの
みであり、ユーザ個々の初期情報源として利用されてい
ない。
従って、従来のマイコンは次の様な解決されるべき問
題点を有する。
まず、従来のマイコンにおけるユーザの個々の初期情
報はマイコンにリセット動作が終わり、続いて実行され
るユーザのプログラムによってはじめて設定される。従
って、従来例に示したNMIのベクタ値のように、ユーザ
個々の初期設定情報ではあるが、ユーザのプログラムに
制御が渡る前に、すなわちベクタ値の設定が完了する前
に用いられるもののような例では、プログラムの暴走を
招くという欠点がある。
また、種々の内蔵周辺ハードウェアを備えた従来のシ
ングルチップ・マイコンにおいては、これらの内蔵周辺
ハードウェアの制御レジスタにもユーザのプログラムに
よって、ユーザの個々の初期情報が設定される。このた
めのプログラムの実行時間は、マイコンのリセット動作
で(いわゆる、ハードウェアで)等価の処理を行なう場
合と比較すると、多大にかかるという欠点があり、この
傾向は、より多くの周辺ハードウェアを内蔵する上位の
シングルチップ・マイコンほど顕著になる。
本発明の目的は、かかるプログラムの暴走の抑制やプ
ログラム処理時間を短縮することのできるマイコンを提
供することにある。
〔課題を解決するための手段〕
本発明のマイコンは、ユーザのプログラムを格納する
ためのROMを内蔵しスタック・ポインタおよびRAMを備え
たマイクロコンピュータにおいて、前記ユーザのプログ
ラムの他に、前記スタック・ポインタの初期値を格納し
たROMと、リセット信号の入力により前記ROM内の設定ス
タック・ポインタの初期値を前記スタック・ポインタに
設定する設定部を有するとともに、前記スタック・ポイ
ンタへの設定に続いて前記ユーザのプログラムを起動す
る制御部とを備えるように構成される。
また、本発明のマイコンにおけるROMは、前記スタッ
ク・ポインタの初期値およびノン・マスカブル割込みの
割込みベクタ値を格納し、前記設定部が前記ノン・マス
カブル割込みの割込みベクタ値を前記RAMの所定のアド
レスへ転送するとともに、前記スタック・ポインタの初
期値を前記スタック・ポインタに設定する。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の第一の実施例を示すマイコンのブロ
ック図である。
第1図に示すように、本実施例はマイコン1に外部RA
M14を接続した例である。このマイコン1内は本実施例
の説明に必要な機能要素のみを示しており、その主要部
はマイコン1全体を制御する制御部2と、プログラム・
カウンタ(PC)4,プログラム・ステータス・ワード(PS
W)5,スタック・ポインタ(SP)6と、内部バス7と、R
OM8と、リセット入力端子(▲▼)11,MNI
(ノン・マスカブル・インタラプト)入力端子12とを有
している。尚、マイコン1の外部には外部RAM14が外部
バス13を通して接続されている。
かかるマイコン1におけるROM8はユーザプログラムエ
リア9とハードウェア初期値エリア10とに分割されてい
る。このハードウェア初期値エリア10には割込みベクタ
へセットする複数の(ベクタ値)及びSP6の初期値が格
納されている。マイコン1の一連のリセット動作の中
で、制御部2中に設けられたハードウェア初期値設定部
3により自動的にベクタ値は外部RAM14へ、またSP6の初
期値はSP6へロードされる。なお、このベクタ値はユー
ザのプログラム内の割込みルーチンの入口アドレスであ
り、ユーザにより任意に決定される。また、SP6の初期
値はプログラムのスタックの使用開始アドレスであり、
同じくユーザにより任意に決定される。ユーザはあらか
じめこれらのベクタ値とSP6の初期値をROM8に書込んで
おく、尚、ROM8のハードウェア初期値エリア10に格納さ
れているベクタ値の数,配列形式,外部RAM14へのロー
ド・アドレス及びSP6の初期値の配列形式は、説明を簡
単にするために、マイコン1の仕様として(つまり、固
定されて)いるものとし、マイコン1はこの仕様に基づ
いてベクタとSP6の初期値のロードを行なうものとす
る。
次に、▲▼端子11にリセット信号が入力さ
れた後のマイコン1の動作を第2図を用いて説明する。
第2図は第1図におけるマイコンのタイミング図であ
る。
第2図に示すように、まず▲▼端子11にリ
セット信号が入力され開放されると、制御部2はマイコ
ン1の全体を制御し、ハードウェアの初期化(a)を行
う。この制御部2による初期化(a)は内部ハードウェ
アの種々の初期化であり、この初期化の中にはPC4の初
期値設定も含まれる。また、このハードウェア初期化
(a)の後半でマイコン1に内蔵された割込みコントロ
ーラ(図示省略)も初期化され、割込み受付け可能状態
とする。
次に、制御部2の中のハードウェア初期値設定部3
は、制御内容が割込みベクタのロードおよびSP6の設定
を行なうように制御(b)を実行する。このベクタのロ
ードとSP6の設定の処理(b)は初めROM8からベクタ値
を内部バス7へ読み出し、外部バス13を介して外部RAM1
4の所定のアドレスに書込む。これを所定のベクタの数
だけ繰り返す。つぎに、ROM8内にベクタ列に続いて格納
されているSP6の初期値を内部バス7へ読み出し、SP6へ
の書込みを実行する。
以上の動作がマイコン1のリセット動作である。
次に、ここで、前述したハードウェアの初期化(a)
の処理中に外部からNMI入力端子12へNMI信号が入力さ
れ、マイコン1内の割込みコントローラ(図示省略)に
よりNMI割込み要求フラグがセットされたものとする。
すると、制御部2がベクタのロードとSP6の設定処理
(b)に続いて行なう割込み要求サンプリングの制御
(c)により、NMIの割込みフラグがセットされている
ことを認識するので、NMI割込みを受付け、割込みフラ
グをリセットする。
続いて、制御部2は割込みベクタへの分岐の処理
(d)を行うため、PC4とPSW5の内容をSP6の指す外部RA
M14内のスタック・エリアに退避(格納)した後、外部R
AM14内のNMI割込みに対応する割込みベクタの格納され
たアドレスからベクタ値を読み出し、これをPC4にセッ
トすることによりベクタ・アドレス(NMI用の割込みル
ーチンの入口)への分岐を実行するよう制御する。つい
で、分岐処理(d)が行われると、制御部2はNMI用の
割込みルーチン処理(e)を実行するように制御する。
このように、本実施例によると、マイコン1のリセッ
ト動作中にNMI割込みが起きてもマイコン1が暴走する
ことなく正常にNMIの割込みルーチンへ分岐することが
できる。
第3図は本発明の第二の実施例を示すマイコンのブロ
ック図である。
第3図に示すように、本実施例も前述した第一の実施
例と同様にマイコン1内には説明に必要な機能要素のみ
を示しており、異なる点はNMI(ノン・マスカブル・イ
ンタラプト)入力端子が省略されていることと、内蔵周
辺ハードウェアの一つとしてシリアル・インタフェース
17が追加されていることである。また、前述した第一の
実施例にあった外部RAM14と外部バス13も省略してい
る。
かかるマイコン1におけるROM8はユーザプログラムエ
リア9とシリアル制御レジスタ初期値エリア16とに分割
されている。このシリアル制御レジスタ初期値エリア16
にはシリアル・インタフェース17の制御レジスタへセッ
トする初期値が格納されており、マイコン1の一連のリ
セット動作の中で制御部2のシリアル制御レジスタ初期
値設定部15により自動的にシリアル・インタフェース17
の制御レジスタへロードされる。なお、この初期値はユ
ーザのプログラムで個々に異なるものであり、ユーザに
より任意に決定される。ユーザはあらかじめこの初期値
をROM8の中でシリアル制御レジスタ初期値エリア16に書
込んでおく。この初期値エリア16に格納されているシリ
アル・インタフェース17の制御レジスタの初期値の設定
形式は、説明を簡単にするために、マイコン1の仕様と
して(つまり、固定されて)いるものとし、マイコン1
はこの仕様に基づいてシリアル・インタフェース17の制
御レジスタの初期値のロードを行なうものとする。
次に、▲▼端子11にリセット信号が入力さ
れた後のマイコン1の動作を第4図を用いて説明する。
第4図は第3図におけるマイコンのタイミング図であ
る。
第4図に示すように、まず▲▼端子11にリ
セット信号が入力され開放されると、マイコン1が以下
の動作を行なうように制御部2はマイコン1の全体を制
御し、ハードウェアの初期化(a)を実行する。この制
御部2による初期化(a)は内部ハードウェアの種々の
初期化であり、この初期化の中にはPC4の初期値設定も
含まれる。
次に、制御部2におけるシリアル制御レジスタ初期値
設定部15は初期化(a)が終了すると、制御レジスタの
設定処理(b)を行なうため、ROM8のシリアル制御レジ
スタ初期値エリア16から初期値を内部バス7へ読み出
し、シリアル・インタフェース17の制御レジスタへロー
ドを行なうよう制御する。
以上の動作がマイコン1のリセット動作である。
続いて、制御部2の制御により、割込み要求のサンプ
リング処理(c)を行なうが、前述した第一の実施例と
異なり、割込みフラグがセットされていないことから割
込み要求が発生していないことを認識する。従って、制
御部2はプログラムの実行(d)を行うため、ハードウ
ェアの初期設定(a)でセットされたPC4の示すアドレ
スに分岐して、ユーザのプログラムの先頭アドレスから
実行するように制御する。
このように、本実施例によると、マイコン1のリセッ
ト動作中にシリアル・インタフェース17の制御レジスタ
が初期化され、ユーザのプログラムでの初期化は不要と
なる。
なお、上述した実施例において、内蔵ROMにマスクROM
等いづれであってもよく、またかかる内蔵ROMはベクタ
値や周辺ハードウェアの制御レジスタへの初期設定値だ
けでなく、あらゆるユーザの個々の初期値情報を設定す
ることも容易に実現できる。
〔発明の効果〕
以上説明したように、本発明のマイコンは、内蔵ROM
をユーザの個々の初期情報を格納することに使用し、且
つこの初期情報をマイコンのリセット動作の中で設定す
ることにより、プログラムの暴走を抑制することができ
るという効果がある。すなわち、NMIのベクタ値のよう
に、ユーザの個々の初期情報の設定をマイコンのリセッ
ト動作の中で完了することにより、ユーザのプログラム
に制御が渡る前にNMI割込みが起きてもプログラムは暴
走することなく正常に動作する。
また、本発明のマイコンは、シリアル・インタフェー
スの例のように、シングルチップ・マイコンに内蔵され
る種々の周辺ハードウェアの制御レジスタへの初期設定
をマイコンのリセット動作で(いわゆる、ハードウェア
で)行なうことにより、ユーザのプログラムで行なう場
合と比較すると、処理時間が多大に減少する。この傾向
は、より多くの周辺ハードウェアを内蔵する上位のシン
グルチップ・マイコンほど顕著になる。
【図面の簡単な説明】
第1図は本発明の第一の実施例を示すマイコンのブロッ
ク図、第2図は第1図におけるマイコンのタイミング
図、第3図は本発明の第二の実施例を示すマイコンのブ
ロック図、第4図は第3図におけるマイコンのタイミン
グ図、第5図は従来の一例を示すマイコンのブロック
図、第6図は第5図におけるマイコンのタイミング図で
ある。 1……マイクロコンピュータ(マイコン)、2……制御
部、3……ハードウェア初期値設定部、4……プログラ
ム・カウンタ、5……プログラム・ステータス・ワー
ド、6……スタック・ポインタ、7……内部バス、8…
…ROM、9……ユーザプログラムエリア、10……ハード
ウェア初期エリア、11……リセット信号入力端子、12…
…NMI割込み入力端子、13……外部バス、14……外部RA
M、15……シリアル制御レジスタ初期値設定部、16……
シリアル制御レジスタ初期値エリア、17……シリアル・
インタフェース。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ユーザのプログラムを格納するためのROM
    を内蔵しスタック・ポインタ及びRAMを備えたマイクロ
    コンピュータにおいて、 前記ユーザのプログラムの他に、ノン・マスカブル割り
    込みの割り込みベクタ値と、前記スタック・ポインタの
    初期値を格納したROMと、 リセット信号の入力により前記ROM内の前記ノン・マス
    カブル割り込みの割り込みベクタ値を前記RAMの所定の
    アドレスへ転送するとともに、前記スタックポインタの
    初期値を前記スタックポインタに設定する設定部と、 前記設定部の動作に続いて前記ユーザのプログラムを起
    動する制御部と、 を備えることを特徴とするマイクロコンピュータ。
JP63315283A 1988-12-13 1988-12-13 マイクロコンピュータ Expired - Lifetime JPH0814780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63315283A JPH0814780B2 (ja) 1988-12-13 1988-12-13 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63315283A JPH0814780B2 (ja) 1988-12-13 1988-12-13 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH02159613A JPH02159613A (ja) 1990-06-19
JPH0814780B2 true JPH0814780B2 (ja) 1996-02-14

Family

ID=18063538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63315283A Expired - Lifetime JPH0814780B2 (ja) 1988-12-13 1988-12-13 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH0814780B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3355879B2 (ja) * 1995-08-01 2002-12-09 株式会社デンソー 制御回路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62171020A (ja) * 1986-01-23 1987-07-28 Nec Ic Microcomput Syst Ltd マイクロコンピユ−タ
JPS62201859U (ja) * 1986-06-16 1987-12-23

Also Published As

Publication number Publication date
JPH02159613A (ja) 1990-06-19

Similar Documents

Publication Publication Date Title
US7793075B2 (en) Active memory command engine and method
US6401197B1 (en) Microprocessor and multiprocessor system
JPS6298437A (ja) マイクロコンピユ−タ
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
JPH06275084A (ja) 不揮発性半導体記憶装置及びそれを用いたデータ処理装置
JPH0814780B2 (ja) マイクロコンピュータ
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JPH04280334A (ja) ワンチップマイクロコンピュータ
JP2003196251A (ja) マルチcpuシステム
JP3168845B2 (ja) ディジタル信号処理装置
JP3139310B2 (ja) ディジタル信号処理装置
JP2731618B2 (ja) エミュレータ
JP2883489B2 (ja) 命令処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JP2883488B2 (ja) 命令処理装置
JPH0667896A (ja) シングルチップマイクロコンピュータ
JPS58176761A (ja) マルチプロセツサシステムにおける起動回路
JP2604203B2 (ja) ワンチップデジタル信号処理装置のデバック装置
US20030154369A1 (en) Single chip microcomputer
JPS62274455A (ja) マルチプロセツサシステム
KR19980033145A (ko) 마이크로컴퓨터
JPS6029131B2 (ja) 診断方式
JP2002132499A (ja) データ処理装置及び記録媒体
JPH03257572A (ja) マルチプロセッサシステム
JPH04181321A (ja) マイクロプログラムロード方式