JPH0659921A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH0659921A JPH0659921A JP4209884A JP20988492A JPH0659921A JP H0659921 A JPH0659921 A JP H0659921A JP 4209884 A JP4209884 A JP 4209884A JP 20988492 A JP20988492 A JP 20988492A JP H0659921 A JPH0659921 A JP H0659921A
- Authority
- JP
- Japan
- Prior art keywords
- reset
- signal
- wdt
- microprogram
- 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.)
- Pending
Links
- 230000005856 abnormality Effects 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 108091023805 miR-411 stem-loop Proteins 0.000 description 3
- 102100038546 Fibronectin type III and SPRY domain-containing protein 1 Human genes 0.000 description 1
- 101001030521 Homo sapiens Fibronectin type III and SPRY domain-containing protein 1 Proteins 0.000 description 1
Landscapes
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】ウォッチドッグタイマ130を用いてシステム
の異常を検知する場合、マイクロプログラムレベルの暴
走に対応できるようにすることにある。 【構成】周辺回路104のウォッチドッグタイマ回路1
30と、このウォッチドッグタイマ130のオーバーフ
ローでシステムの初期化を行うか、割り込みを行うかの
どちらか一方を選択する選択手段と、ウォッチドッグタ
イマ130のオーバーフローを検出し、マイクロプログ
ラムの開始番地を出力する出力手段とを有する。
の異常を検知する場合、マイクロプログラムレベルの暴
走に対応できるようにすることにある。 【構成】周辺回路104のウォッチドッグタイマ回路1
30と、このウォッチドッグタイマ130のオーバーフ
ローでシステムの初期化を行うか、割り込みを行うかの
どちらか一方を選択する選択手段と、ウォッチドッグタ
イマ130のオーバーフローを検出し、マイクロプログ
ラムの開始番地を出力する出力手段とを有する。
Description
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関し、特にウォッチドッグタイマ回路を備えたマイクロ
コンピュータ(以下、マイコンと称す)に関する。
関し、特にウォッチドッグタイマ回路を備えたマイクロ
コンピュータ(以下、マイコンと称す)に関する。
【0002】
【従来の技術】従来のマイコンはウォッチドッグタイマ
回路を用いてプログラムの暴走に対処している。
回路を用いてプログラムの暴走に対処している。
【0003】図4は従来の一例を示すマイコンの構成図
である。図4に示すように、従来のマイコン400はC
PU401および周辺回路404を含み、これらの相互
間は内部バス405で接続されている。しかも、CPU
401はマイクロシーケンサ402と、演算処理部40
3と、命令キュー420と、プログラムカウンタ(以
下、PCという)421とを含み、内部バス405によ
り接続されている。また、周辺回路404は、ウォッチ
ドッグタイマ430,INTC431等の回路を含んで
いる。更に、CPU401におけるマイクロシーケンサ
402は、インストラクションデコーダ410と、MI
R411と、マイクロプログラムROM(以下、μRO
Mという)412と、MSTL413と、リセットエン
トリ格納部414と、セレクタ415とから構成され
る。
である。図4に示すように、従来のマイコン400はC
PU401および周辺回路404を含み、これらの相互
間は内部バス405で接続されている。しかも、CPU
401はマイクロシーケンサ402と、演算処理部40
3と、命令キュー420と、プログラムカウンタ(以
下、PCという)421とを含み、内部バス405によ
り接続されている。また、周辺回路404は、ウォッチ
ドッグタイマ430,INTC431等の回路を含んで
いる。更に、CPU401におけるマイクロシーケンサ
402は、インストラクションデコーダ410と、MI
R411と、マイクロプログラムROM(以下、μRO
Mという)412と、MSTL413と、リセットエン
トリ格納部414と、セレクタ415とから構成され
る。
【0004】まず、PC421の示すアドレスからの命
令コードが命令キュー420に取り込まれ、インストラ
クションデコーダ410に入力される。このインストラ
クションデコーダ410は入力された命令コードをμR
OM412に格納された命令毎の実行手順(マイクロプ
ログラム)の開始番地(以下、エントリという)に変換
する。このエントリはMIR411に格納され、μRO
M412内のマイクロプログラムの開始番地を指定す
る。そして、この開始番地に格納されたマイクロプログ
ラムの内容がMSTL413に格納される。MSTL4
13に格納される内容には、処理を実行するためのマイ
コン各部の制御信号と、次に実行すべきマイクロプログ
ラムの番地情報(以下、ネクストアドレスという)とが
含まれる。
令コードが命令キュー420に取り込まれ、インストラ
クションデコーダ410に入力される。このインストラ
クションデコーダ410は入力された命令コードをμR
OM412に格納された命令毎の実行手順(マイクロプ
ログラム)の開始番地(以下、エントリという)に変換
する。このエントリはMIR411に格納され、μRO
M412内のマイクロプログラムの開始番地を指定す
る。そして、この開始番地に格納されたマイクロプログ
ラムの内容がMSTL413に格納される。MSTL4
13に格納される内容には、処理を実行するためのマイ
コン各部の制御信号と、次に実行すべきマイクロプログ
ラムの番地情報(以下、ネクストアドレスという)とが
含まれる。
【0005】次に、MSTL413から出力される制御
信号に基づき演算処理部403で処理が行われる。ま
た、MSTL413はマイクロプログラムの最終ステッ
プでEND信号446を活性化する。このEND信号4
46がオフの時、リセット要求信号443が入力されて
いなければ、セレクタ415によりバスDが選択され、
MSTL413から出力されたネクスアドレスがMIR
411に格納されて命令の次のステップの処理が行われ
る。一方、END信号446がオンの時、割り込み信号
444がオフであり、リセット要求信号443が入力さ
れていなければ、セレクタ415によりバスBが選択さ
れ、次のインストラクションデコーダ410の入力がM
IR411に格納されて次命令の処理を開始する。
信号に基づき演算処理部403で処理が行われる。ま
た、MSTL413はマイクロプログラムの最終ステッ
プでEND信号446を活性化する。このEND信号4
46がオフの時、リセット要求信号443が入力されて
いなければ、セレクタ415によりバスDが選択され、
MSTL413から出力されたネクスアドレスがMIR
411に格納されて命令の次のステップの処理が行われ
る。一方、END信号446がオンの時、割り込み信号
444がオフであり、リセット要求信号443が入力さ
れていなければ、セレクタ415によりバスBが選択さ
れ、次のインストラクションデコーダ410の入力がM
IR411に格納されて次命令の処理を開始する。
【0006】ここで、入力端子RESET440にリセ
ット要求信号443が入力されると、セレクタ415に
よりバスCが選択され、リセットエントリ格納部414
から出力されたリセット命令のエントリがMIR411
に格納され、μROM412内のリセット命令に対応し
たマイクロプログラムのエントリを指定する。そして、
この開始番地に格納されたマイクロプログラムの内容が
MSTL413に格納される。演算処理部403はMS
TL413に格納されたマイクロプログラムの内容に基
づき、演算処理部403内の対応するレジスタを初期化
し、内部バス405を介してPC421にリセット後の
プログラム開始アドレスを格納する。また同時に、リセ
ット要求信号443は周辺回路404にも入力されるの
で、各周辺回路は初期化される。
ット要求信号443が入力されると、セレクタ415に
よりバスCが選択され、リセットエントリ格納部414
から出力されたリセット命令のエントリがMIR411
に格納され、μROM412内のリセット命令に対応し
たマイクロプログラムのエントリを指定する。そして、
この開始番地に格納されたマイクロプログラムの内容が
MSTL413に格納される。演算処理部403はMS
TL413に格納されたマイクロプログラムの内容に基
づき、演算処理部403内の対応するレジスタを初期化
し、内部バス405を介してPC421にリセット後の
プログラム開始アドレスを格納する。また同時に、リセ
ット要求信号443は周辺回路404にも入力されるの
で、各周辺回路は初期化される。
【0007】次に、マイクロプログラムにおける割り込
みの検出は、命令のマイクロプログラムの最終ステップ
でのみ実行する。まず、INTC431は、各周辺回路
からの割り込み要求が発生したとき、その優先順位を見
て一番高い割り込み要求を選択し、そのコードをCPU
401に受け渡すと同時に、割り込み信号444を活性
化させる。すなわち、END信号446がオンのとき、
リセット要求信号443が入力されていなければ、セレ
クタ415によりバスAが選択され、割り込みのエント
リがMIR411に入力されてマイクロプログラムの開
始番地を指定する。従って、CPU401では、割り込
みのマイクロプログラム中でINTC431から送られ
るコード情報を基にベクタアドレスを算出し読みだして
PC421に格納する。以上のように構成されているた
め、命令のマイクロプログラムの動作を乱すことなく割
り込み処理に移行することができる。
みの検出は、命令のマイクロプログラムの最終ステップ
でのみ実行する。まず、INTC431は、各周辺回路
からの割り込み要求が発生したとき、その優先順位を見
て一番高い割り込み要求を選択し、そのコードをCPU
401に受け渡すと同時に、割り込み信号444を活性
化させる。すなわち、END信号446がオンのとき、
リセット要求信号443が入力されていなければ、セレ
クタ415によりバスAが選択され、割り込みのエント
リがMIR411に入力されてマイクロプログラムの開
始番地を指定する。従って、CPU401では、割り込
みのマイクロプログラム中でINTC431から送られ
るコード情報を基にベクタアドレスを算出し読みだして
PC421に格納する。以上のように構成されているた
め、命令のマイクロプログラムの動作を乱すことなく割
り込み処理に移行することができる。
【0008】図5は図4に示すウォッチドックタイマの
構成図である。図5に示すように、ウォッチドッグタイ
マ430は、内部のシステムクロックCLK510をカ
ウントしWDTカウントクロック511を出力する13
ビットのカウンタであるタイムベースカウンタ501
と、かかるWDTカウントクロック511をカウントす
る8ビットのカウンタであるWDT502と、このWD
T502のオーバーフローを検出してカウントを開始す
る5ビットのカウンタであるWDTOUTアクティブタ
イマ503と、フリップフロップ504と、ORゲート
505とから構成されている。
構成図である。図5に示すように、ウォッチドッグタイ
マ430は、内部のシステムクロックCLK510をカ
ウントしWDTカウントクロック511を出力する13
ビットのカウンタであるタイムベースカウンタ501
と、かかるWDTカウントクロック511をカウントす
る8ビットのカウンタであるWDT502と、このWD
T502のオーバーフローを検出してカウントを開始す
る5ビットのカウンタであるWDTOUTアクティブタ
イマ503と、フリップフロップ504と、ORゲート
505とから構成されている。
【0009】まず、タイムベースカウンタ501はCL
K510をカウントし、指定されたWDTカウントクロ
ック511を出力タップから出力する。WDT502に
スタート信号(START)514が入力されると、W
DT502はWDTカウントクロック511のカウント
動作を開始する。一方、ウォッチドックタイマクリア信
号WDTCLR513か、リセト信号RESET443
がORゲート505に入力されると、ORゲート505
の出力が“1”となり、クリア信号515が活性化さ
れ、WDT502は初期化される。
K510をカウントし、指定されたWDTカウントクロ
ック511を出力タップから出力する。WDT502に
スタート信号(START)514が入力されると、W
DT502はWDTカウントクロック511のカウント
動作を開始する。一方、ウォッチドックタイマクリア信
号WDTCLR513か、リセト信号RESET443
がORゲート505に入力されると、ORゲート505
の出力が“1”となり、クリア信号515が活性化さ
れ、WDT502は初期化される。
【0010】次に、WDT502が初期化されずにカウ
ントアップ動作を続けオーバーフローを起こすと、WD
TOUTスタート信号445が活性化される。このWD
TOUTスタート信号445がINTC431に入力さ
れると(図4参照)、割り込み動作が起動される。
ントアップ動作を続けオーバーフローを起こすと、WD
TOUTスタート信号445が活性化される。このWD
TOUTスタート信号445がINTC431に入力さ
れると(図4参照)、割り込み動作が起動される。
【0011】従って、WDT502のオーバーフロー割
り込みでプログラムの暴走状態を検出すると、割り込み
処理の中でプログラムの暴走状態をチェックして、その
状態に対応した処理を行うことができる。しかし、この
場合は各周辺回路をシステムリセット後の状態に初期化
することができない。そのため、出力端子(WDTOU
T)441にフリップフロップ504の出力信号442
を出力し、外部で入力端子RESET440と接続する
ことにより、システムリセットをかけるという手順がと
られている。
り込みでプログラムの暴走状態を検出すると、割り込み
処理の中でプログラムの暴走状態をチェックして、その
状態に対応した処理を行うことができる。しかし、この
場合は各周辺回路をシステムリセット後の状態に初期化
することができない。そのため、出力端子(WDTOU
T)441にフリップフロップ504の出力信号442
を出力し、外部で入力端子RESET440と接続する
ことにより、システムリセットをかけるという手順がと
られている。
【0012】また、WDTOUTスタート信号445は
WDTOUTアクティブタイマ503と、フリップフロ
ップ504に入力される。このWDTOUTスタート信
号445により、セット・リセット型のフリップフロッ
プ504がセットされ、出力端子WDTOUT441か
ら“1”が出力される。更に、WDTOUTスタート信
号445が入力されると、WDTOUTアクティブタイ
マ503はカウントアップ動作を開始する。WDTOU
Tアクティブタイマ503は一定期間カウントし終わる
と、オーバーフローを起こし、オーバーフロー信号51
2を出力する。このオーバーフロー信号512はフリッ
プフロップ504をリセットするので、出力端子WDT
OUT441からは“0”が出力される。上述した動作
により、WDT502のオーバーフローを検出してから
一定期間後に、出力端子WDTOUT441から“1”
が出力される。このWDTOUT信号442は入力端子
RESET440に入力され、上述したリセット処理を
行う。
WDTOUTアクティブタイマ503と、フリップフロ
ップ504に入力される。このWDTOUTスタート信
号445により、セット・リセット型のフリップフロッ
プ504がセットされ、出力端子WDTOUT441か
ら“1”が出力される。更に、WDTOUTスタート信
号445が入力されると、WDTOUTアクティブタイ
マ503はカウントアップ動作を開始する。WDTOU
Tアクティブタイマ503は一定期間カウントし終わる
と、オーバーフローを起こし、オーバーフロー信号51
2を出力する。このオーバーフロー信号512はフリッ
プフロップ504をリセットするので、出力端子WDT
OUT441からは“0”が出力される。上述した動作
により、WDT502のオーバーフローを検出してから
一定期間後に、出力端子WDTOUT441から“1”
が出力される。このWDTOUT信号442は入力端子
RESET440に入力され、上述したリセット処理を
行う。
【0013】
【発明が解決しようとする課題】上述した従来のマイク
ロコンピュータは、プログラムの暴走やシステムの異常
を検出した場合、ウォッチドッグタイマのオーバーフロ
ー割り込みでプログラムの暴走状態を検出し、割り込み
処理の中でプログラムの暴走状態をチェックしてからそ
の状態に対応した処理を行っている。しかしながら、こ
の場合は各周辺回路をシステムリセット後の状態に初期
化することができないという欠点がある。
ロコンピュータは、プログラムの暴走やシステムの異常
を検出した場合、ウォッチドッグタイマのオーバーフロ
ー割り込みでプログラムの暴走状態を検出し、割り込み
処理の中でプログラムの暴走状態をチェックしてからそ
の状態に対応した処理を行っている。しかしながら、こ
の場合は各周辺回路をシステムリセット後の状態に初期
化することができないという欠点がある。
【0014】また、命令毎のマイクロプログラムは通常
複数ステップの実行手順から構成されているので、ハー
ドウェアの状態によってはマイクロプログラムの暴走が
発生する場合もありうる。かかる場合は割り込みの発生
検出を命令毎のマイクロプログラムの最終ステップでの
み実行しているため、マイクロプログラムが最終ステッ
プまで到達しないような暴走を起こした場合には、ウォ
ッチドッグタイマ割り込みを検出することができず、マ
イクロプログラムレベルの暴走に対しては無効である。
そのため、専用の出力端子を設け、外部でリセット端子
と接続することにより、システムリセットをかけるとい
うことが行われる。従って、このマイクロコンピュータ
では、専用の出力端子が必要となり、ピン数が増えてし
まうという欠点がある。
複数ステップの実行手順から構成されているので、ハー
ドウェアの状態によってはマイクロプログラムの暴走が
発生する場合もありうる。かかる場合は割り込みの発生
検出を命令毎のマイクロプログラムの最終ステップでの
み実行しているため、マイクロプログラムが最終ステッ
プまで到達しないような暴走を起こした場合には、ウォ
ッチドッグタイマ割り込みを検出することができず、マ
イクロプログラムレベルの暴走に対しては無効である。
そのため、専用の出力端子を設け、外部でリセット端子
と接続することにより、システムリセットをかけるとい
うことが行われる。従って、このマイクロコンピュータ
では、専用の出力端子が必要となり、ピン数が増えてし
まうという欠点がある。
【0015】さらに、かかるマイクロコンピュータはシ
ステムリセットがリセット信号の入力によりかかったの
か、あるいはウォッチドッグタイマのオーバーフローに
よりかかったのかを区別することができないという欠点
がある。
ステムリセットがリセット信号の入力によりかかったの
か、あるいはウォッチドッグタイマのオーバーフローに
よりかかったのかを区別することができないという欠点
がある。
【0016】本発明の目的は、各周辺回路をシステムリ
セット後の状態に初期化できるようにし、マイクロプロ
グラムの暴走に対しても専用の出力端子を設けないで対
処できるようにするとともに、システムリセットをリセ
ット信号かオーバーフローかにより区別できるようにす
るマイクロコンピュータを提供することにある。
セット後の状態に初期化できるようにし、マイクロプロ
グラムの暴走に対しても専用の出力端子を設けないで対
処できるようにするとともに、システムリセットをリセ
ット信号かオーバーフローかにより区別できるようにす
るマイクロコンピュータを提供することにある。
【0017】
【課題を解決するための手段】本発明のマイクロコンピ
ュータは、プログラムの暴走やシステムの異常を検知す
るウォッチドッグタイマ回路と、前記ウォッチドッグタ
イマ回路のオーバーフローによりシステムの初期化もし
くは割り込みのどちらか一方を選択する選択手段と、前
記ウォッチドッグタイマ回路のオーバーフローを検出し
たときにマイクロプログラムの開始番地を出力する出力
手段とを有して構成される。
ュータは、プログラムの暴走やシステムの異常を検知す
るウォッチドッグタイマ回路と、前記ウォッチドッグタ
イマ回路のオーバーフローによりシステムの初期化もし
くは割り込みのどちらか一方を選択する選択手段と、前
記ウォッチドッグタイマ回路のオーバーフローを検出し
たときにマイクロプログラムの開始番地を出力する出力
手段とを有して構成される。
【0018】
【実施例】次に、本発明の実施例について図面を用いて
説明する。図1は本発明の第1の実施例を示すマイクロ
コンピュータのブロック図である。図1に示すように、
本実施例のマイクロコンピュータ100は、CPU10
1と、周辺回路104と、ORゲート122と、割り込
み指定ビット123と、インバータ124と、ゲート1
25,126とを含み、内部バス105で接続されてい
る。割り込み指定ビット123は内部バス105を通し
て設定可能である。
説明する。図1は本発明の第1の実施例を示すマイクロ
コンピュータのブロック図である。図1に示すように、
本実施例のマイクロコンピュータ100は、CPU10
1と、周辺回路104と、ORゲート122と、割り込
み指定ビット123と、インバータ124と、ゲート1
25,126とを含み、内部バス105で接続されてい
る。割り込み指定ビット123は内部バス105を通し
て設定可能である。
【0019】まず、CPU101はマイクロシケーンサ
102と、演算処理部103と、命令キュー120と、
プログラムカウンタ121とを含み、これらの相互間は
直接あるいは間接に内部バス105で接続されている。
マイクロシーケンサ102は、命令キュー120に接続
されたインストラクションデコーダ110と、MIR1
11と、マイクロプログラムROM112と、MSTL
113と、リセットエントリ格納部114と、WDTエ
ントリ格納部115と、MIR111へのデータを選択
的に供給するセレクタ116とから構成される。また、
周辺回路104は、ウォッチドッグタイマ130と、I
NTC131およびその他の周辺回路(図示省略)とで
構成される。
102と、演算処理部103と、命令キュー120と、
プログラムカウンタ121とを含み、これらの相互間は
直接あるいは間接に内部バス105で接続されている。
マイクロシーケンサ102は、命令キュー120に接続
されたインストラクションデコーダ110と、MIR1
11と、マイクロプログラムROM112と、MSTL
113と、リセットエントリ格納部114と、WDTエ
ントリ格納部115と、MIR111へのデータを選択
的に供給するセレクタ116とから構成される。また、
周辺回路104は、ウォッチドッグタイマ130と、I
NTC131およびその他の周辺回路(図示省略)とで
構成される。
【0020】かかるCPU101において、PC121
の示すアドレスからの命令コードが命令キュー120に
取り込まれ、インストラクションデコーダ110に入力
される。このインストラクションデコーダ110は入力
された命令コードをμROM112に格納されている命
令毎のマイクロプログラムのエントリに変換する。この
エントリはMIR111に格納され、μROM112内
のマイクロプログラムの開始番地を指定する。そして、
この開始番地に格納されたマイクロプログラムの内容が
MSTL113に格納される。MSTL113に格納さ
れた内容には、処理を実行するためのマイコン各部の制
御信号と、ネクストアドレスとが含まれ、MSTL11
3から出力される制御信号に基づき演算処理部103で
処理が行われる。更に、MSTL113はマイクロプロ
グラムの最終ステップでEND信号146を活性化す
る。
の示すアドレスからの命令コードが命令キュー120に
取り込まれ、インストラクションデコーダ110に入力
される。このインストラクションデコーダ110は入力
された命令コードをμROM112に格納されている命
令毎のマイクロプログラムのエントリに変換する。この
エントリはMIR111に格納され、μROM112内
のマイクロプログラムの開始番地を指定する。そして、
この開始番地に格納されたマイクロプログラムの内容が
MSTL113に格納される。MSTL113に格納さ
れた内容には、処理を実行するためのマイコン各部の制
御信号と、ネクストアドレスとが含まれ、MSTL11
3から出力される制御信号に基づき演算処理部103で
処理が行われる。更に、MSTL113はマイクロプロ
グラムの最終ステップでEND信号146を活性化す
る。
【0021】このEND信号146がオフの時、リセッ
ト要求信号142が入力されていなければ、セレクタ1
16によりバスDが選択され、MSTL113から出力
されたネクストアドレスがMIR111に格納されるこ
とにより、命令の次のステップの処理が行われる。逆
に、END信号146がオンの時、割り込み要求信号1
41がオフであり、リセット信号145が入力されてい
なければ、セレクタ116によりバスBが選択され、次
のインストラクションデコーダの入力がMIR111に
格納されることにより、次命令の処理を開始する。
ト要求信号142が入力されていなければ、セレクタ1
16によりバスDが選択され、MSTL113から出力
されたネクストアドレスがMIR111に格納されるこ
とにより、命令の次のステップの処理が行われる。逆
に、END信号146がオンの時、割り込み要求信号1
41がオフであり、リセット信号145が入力されてい
なければ、セレクタ116によりバスBが選択され、次
のインストラクションデコーダの入力がMIR111に
格納されることにより、次命令の処理を開始する。
【0022】一方、入力端子RESET140に入力さ
れたリセット要求信号142は、リセットエントリ格納
部114に入力されるとともに、ORゲート122に入
力されるので、ORゲート122の出力が“1”とな
る。すなわち、RESET信号145が活性化される。
このRESET信号145が活性化されると、セレクタ
116によりバスCが選択され、リセットエントリ格納
部114より出力されたリセット命令のエントリがMI
R111に格納される。これにより、μROM112内
のリセット命令に対応したマイクロプログラムの開始番
地が指定され、この開始番地に格納されたマイクロプロ
グラムの内容がMST113に格納される。このMST
L113に格納されたマイクロプログラムの内容に基づ
き、演算処理部103は内部の対応するレジスタを初期
化し、PC121にリセット後のプログラム開始アドレ
スを格納する。同時に、RESET信号145は周辺回
路104に入力され、各周辺回路も初期化される。
れたリセット要求信号142は、リセットエントリ格納
部114に入力されるとともに、ORゲート122に入
力されるので、ORゲート122の出力が“1”とな
る。すなわち、RESET信号145が活性化される。
このRESET信号145が活性化されると、セレクタ
116によりバスCが選択され、リセットエントリ格納
部114より出力されたリセット命令のエントリがMI
R111に格納される。これにより、μROM112内
のリセット命令に対応したマイクロプログラムの開始番
地が指定され、この開始番地に格納されたマイクロプロ
グラムの内容がMST113に格納される。このMST
L113に格納されたマイクロプログラムの内容に基づ
き、演算処理部103は内部の対応するレジスタを初期
化し、PC121にリセット後のプログラム開始アドレ
スを格納する。同時に、RESET信号145は周辺回
路104に入力され、各周辺回路も初期化される。
【0023】次に、周辺回路104におけるINTC1
31は、各周辺からの割り込み要求信号を常にサンプリ
ングしている。従って、割り込み要求が発生したとき、
INTC131はその優先順位を見て一番高い割り込み
要求を選択し、そのコードをCPU101に受け渡すと
同時に、割り込み要求信号141を活性化させる。ここ
で、MSTL113からのEND信号146がオンのと
き、リセット要求信号142が入力されていなければ、
セレクタ116によりバスAが選択され、割り込みのエ
ントリがMIR111に格納されてマイクロプログラム
の開始番地を指定する。また、割り込みのマイクロプロ
グラム中でINTC131から送出されるコード情報を
基にベクタアドレスを算出し、読み出してPC121に
格納する。
31は、各周辺からの割り込み要求信号を常にサンプリ
ングしている。従って、割り込み要求が発生したとき、
INTC131はその優先順位を見て一番高い割り込み
要求を選択し、そのコードをCPU101に受け渡すと
同時に、割り込み要求信号141を活性化させる。ここ
で、MSTL113からのEND信号146がオンのと
き、リセット要求信号142が入力されていなければ、
セレクタ116によりバスAが選択され、割り込みのエ
ントリがMIR111に格納されてマイクロプログラム
の開始番地を指定する。また、割り込みのマイクロプロ
グラム中でINTC131から送出されるコード情報を
基にベクタアドレスを算出し、読み出してPC121に
格納する。
【0024】上述したように、本実施例のマイクロコン
ピュータは構成されているため、命令のマイクロプログ
ラムの動作を乱すことなく割り込み処理に移行すること
ができる。
ピュータは構成されているため、命令のマイクロプログ
ラムの動作を乱すことなく割り込み処理に移行すること
ができる。
【0025】図2は図1に示すウォッチドッグタイマの
構成図である。図2に示すように、ウォッチドッグタイ
マ130は、内部のシステムクロックCLK210をカ
ウントしWDTカウントクロック211を出力する13
ビットのタイムベースカウンタ201と、WDTカウン
トクロック211をカウントする8ビットのカウンタで
あるWDT202と、このWDT202のオーバーフロ
ーを検出してカウントを開始する5ビットカウンタを形
成したWDTOUTアクティブタイマ203と、WDT
OUTスタート信号212によりセットされてWDTO
UT信号143を出力する一方、WDTアクティブタイ
マ203のオーバーフロー信号213によりセットされ
るフリップフロップ204と、ウォッチドッグタイマク
リア(WDTCLR)信号214およびリセット(RE
SET)信号145の論理和をとるORケート205と
から構成されている。
構成図である。図2に示すように、ウォッチドッグタイ
マ130は、内部のシステムクロックCLK210をカ
ウントしWDTカウントクロック211を出力する13
ビットのタイムベースカウンタ201と、WDTカウン
トクロック211をカウントする8ビットのカウンタで
あるWDT202と、このWDT202のオーバーフロ
ーを検出してカウントを開始する5ビットカウンタを形
成したWDTOUTアクティブタイマ203と、WDT
OUTスタート信号212によりセットされてWDTO
UT信号143を出力する一方、WDTアクティブタイ
マ203のオーバーフロー信号213によりセットされ
るフリップフロップ204と、ウォッチドッグタイマク
リア(WDTCLR)信号214およびリセット(RE
SET)信号145の論理和をとるORケート205と
から構成されている。
【0026】かかるウォッチドッグタイマ130におけ
るタイムベースカウンタ201はCLK210をカウン
トし、指定されたWDTカウントクロック211を出力
タップから出力する。また、WDT202にスタート信
号(START)215が入力されると、WDT202
はWDTカウントクロック211のカウント動作を開始
する。更に、ORゲート205にウォッチドッグタイマ
クリア信号(WDTCLR)214か、リセット信号
(RESET)145が入力されると、出力が1となる
ので、クリア信号216が活性化され、WDT202は
初期化される。
るタイムベースカウンタ201はCLK210をカウン
トし、指定されたWDTカウントクロック211を出力
タップから出力する。また、WDT202にスタート信
号(START)215が入力されると、WDT202
はWDTカウントクロック211のカウント動作を開始
する。更に、ORゲート205にウォッチドッグタイマ
クリア信号(WDTCLR)214か、リセット信号
(RESET)145が入力されると、出力が1となる
ので、クリア信号216が活性化され、WDT202は
初期化される。
【0027】一方、WDT202が初期化されずにカウ
ントアップ動作を続けてオーバーフローを起こすと、W
DTOUTスタート信号212が活性化される。このW
DTOUTスタート信号212はWDTOUTアクティ
ブタイマ203をスタートさせるだけでなく、フリップ
フロップ204にも入力されるので、セット−リセット
型のフリップフロップ204をセットし、WDTOUT
信号143に“1”を出力する。また、WDTOUTア
クティブタイマ203はWDTOUTスタート信号21
2が入力されると、カウントアップ動作を開始し、一定
期間カウントし終わると、オーバーフローを起こして、
オーバーフロー信号213を出力する。このオーバーフ
ロー信号213はフリップフロップ204をリセット
し、WDTOUT信号143を“0”にする。
ントアップ動作を続けてオーバーフローを起こすと、W
DTOUTスタート信号212が活性化される。このW
DTOUTスタート信号212はWDTOUTアクティ
ブタイマ203をスタートさせるだけでなく、フリップ
フロップ204にも入力されるので、セット−リセット
型のフリップフロップ204をセットし、WDTOUT
信号143に“1”を出力する。また、WDTOUTア
クティブタイマ203はWDTOUTスタート信号21
2が入力されると、カウントアップ動作を開始し、一定
期間カウントし終わると、オーバーフローを起こして、
オーバーフロー信号213を出力する。このオーバーフ
ロー信号213はフリップフロップ204をリセット
し、WDTOUT信号143を“0”にする。
【0028】次に、図1に示す割り込み指定ビット12
3が“1”の場合、割り込み指定信号144はゲート1
25を開き、WDTOUT信号143はWDTエントリ
格納部115に格納されるとともに、ORゲート122
に入力されるので、そのORゲート122の出力が
“1”となり、RESET信号145が活性化される。
このRESET信号145が活性化されると、セレクタ
116によりバスCが選択され、WDTエントリ格納部
115より出力されたエントリがMIR111に格納さ
れる。すなわち、μROM112内のマイクロプログラ
ムの開始番地が指定される。そして、この開始番地に格
納されたマイクロプログラムの内容がMSTL113に
格納される。従って、演算処理部103はMSTL11
3に格納されたマイクロプログラムの内容に基づき、演
算処理部103内の対応するレジスタを初期化し、PC
121に処理終了後のプログラム開始アドレスを格納す
る。このとき、PC121に格納される開始アドレスは
リセット要求信号142によるリセット処理後のプログ
ラム開始アドレスとは異なるものである。同時に、RE
SET信号145は周辺回路104に入力されるので、
各周辺回路も初期化される。
3が“1”の場合、割り込み指定信号144はゲート1
25を開き、WDTOUT信号143はWDTエントリ
格納部115に格納されるとともに、ORゲート122
に入力されるので、そのORゲート122の出力が
“1”となり、RESET信号145が活性化される。
このRESET信号145が活性化されると、セレクタ
116によりバスCが選択され、WDTエントリ格納部
115より出力されたエントリがMIR111に格納さ
れる。すなわち、μROM112内のマイクロプログラ
ムの開始番地が指定される。そして、この開始番地に格
納されたマイクロプログラムの内容がMSTL113に
格納される。従って、演算処理部103はMSTL11
3に格納されたマイクロプログラムの内容に基づき、演
算処理部103内の対応するレジスタを初期化し、PC
121に処理終了後のプログラム開始アドレスを格納す
る。このとき、PC121に格納される開始アドレスは
リセット要求信号142によるリセット処理後のプログ
ラム開始アドレスとは異なるものである。同時に、RE
SET信号145は周辺回路104に入力されるので、
各周辺回路も初期化される。
【0029】次に、割り込み指定ビット123が“0”
の場合、割り込み指定信号144はインバータ124に
より反転されてゲート126を開く。このため、WDT
OUT信号143がINTC131に入力される。この
WDTOUT信号143がINTC131に入力される
と、割り込みが起動され、割り込み要求信号141を活
性化して割り込み処理を行う。
の場合、割り込み指定信号144はインバータ124に
より反転されてゲート126を開く。このため、WDT
OUT信号143がINTC131に入力される。この
WDTOUT信号143がINTC131に入力される
と、割り込みが起動され、割り込み要求信号141を活
性化して割り込み処理を行う。
【0030】図3は本発明の第2の実施例を示すマイク
ロコンピュータのブロック図である。図3に示すよう
に、本実施例は前述した第1の実施例と比較してCPU
301が異なり、特にその内部のマイクロシーケンサ3
02の構成が異なり、その他は同様である。そのマイク
ロシーケンサ302は、第1の実施例におけるリセット
エントリ格納部114とWDTエントリ格納部115の
代りに、エントリ生成部314とフリップフロップ31
5を用いている。
ロコンピュータのブロック図である。図3に示すよう
に、本実施例は前述した第1の実施例と比較してCPU
301が異なり、特にその内部のマイクロシーケンサ3
02の構成が異なり、その他は同様である。そのマイク
ロシーケンサ302は、第1の実施例におけるリセット
エントリ格納部114とWDTエントリ格納部115の
代りに、エントリ生成部314とフリップフロップ31
5を用いている。
【0031】まず、リセット要求信号142が入力され
た場合の動作を説明する。RESET入力端子140に
リセット要求信号142が入力されると、セット−リセ
ット型のフリップフロップ315がリセットされ、エン
トリ生成信号347が“0”となる。このエントリ生成
信号347はエントリ生成部314に入力され、エント
リ生成部314の上位1ビットを“0”にする。エント
リ生成部314は、エントリ生成信号347によって生
成されたマイクロプログラムのエントリをセレクタ11
6に出力し、以下第1の実施例と同様のリセット処理動
作を行う。
た場合の動作を説明する。RESET入力端子140に
リセット要求信号142が入力されると、セット−リセ
ット型のフリップフロップ315がリセットされ、エン
トリ生成信号347が“0”となる。このエントリ生成
信号347はエントリ生成部314に入力され、エント
リ生成部314の上位1ビットを“0”にする。エント
リ生成部314は、エントリ生成信号347によって生
成されたマイクロプログラムのエントリをセレクタ11
6に出力し、以下第1の実施例と同様のリセット処理動
作を行う。
【0032】次に、ウォッチドッグタイマ130のオー
バーフローが起こった場合の動作を説明する。このとき
は、まず割り込み指定ビット123が“1”の場合、割
り込み指定信号144がゲート125を開き、WDTO
UT信号143をフリップフロップ315に入力する。
これにより、フリップフロップ315はセットされ、エ
ントリ生成信号347を“1”にする。このエントリ生
成信号347はエントリ生成部314に入力されて、エ
ントリ生成部314の上位1ビットを“1”にする。エ
ントリ生成部314は、エントリ生成信号347によっ
て生成されたマイクロプログラムのエントリを出力す
る。以下、第1の実施例と同様のウォッチドッグタイマ
130のオーバーフローによるリセット処理動作を行
う。
バーフローが起こった場合の動作を説明する。このとき
は、まず割り込み指定ビット123が“1”の場合、割
り込み指定信号144がゲート125を開き、WDTO
UT信号143をフリップフロップ315に入力する。
これにより、フリップフロップ315はセットされ、エ
ントリ生成信号347を“1”にする。このエントリ生
成信号347はエントリ生成部314に入力されて、エ
ントリ生成部314の上位1ビットを“1”にする。エ
ントリ生成部314は、エントリ生成信号347によっ
て生成されたマイクロプログラムのエントリを出力す
る。以下、第1の実施例と同様のウォッチドッグタイマ
130のオーバーフローによるリセット処理動作を行
う。
【0033】一方、割り込み指定ビット123が“0”
の場合は、第1の実施例と同様の割り込み処理動作を行
う。
の場合は、第1の実施例と同様の割り込み処理動作を行
う。
【0034】以上のように、本実施例では、フリップフ
ロップ315の出力によりウォッチドッグタイマ130
のオーバーフローの場合と、リセット信号入力の場合と
のマイクロプログラムのエントリを生成しており、第1
の実施例と同様の動作をエントリ格納部が1個で行う場
合を示している。
ロップ315の出力によりウォッチドッグタイマ130
のオーバーフローの場合と、リセット信号入力の場合と
のマイクロプログラムのエントリを生成しており、第1
の実施例と同様の動作をエントリ格納部が1個で行う場
合を示している。
【0035】
【発明の効果】以上説明したように、本発明のマイクロ
コンピュータは、プログラムの暴走やシステムの異常を
検出した場合、ウォッチドッグタイマのオーバーフロー
によりマイクロプログラムのエントリを指定し、マイク
ロプログラムの処理ルーチンにはいるので、マイクロプ
ログラムが最終ステップまで到達しないような暴走を起
こした場合にも対応することができるという効果があ
る。また、本発明は専用の出力端子を設ける必要がな
く、ピン数を減らすことができるという効果がある。さ
らに、本発明はリセット信号の入力による処理と、ウォ
ッチドッグタイマのオーバーフローによる処理とでリセ
ット処理直後のプログラム開始アドレスを変えているの
で、システムリセットがどちらで行われたのかを区別す
ることができるという効果がある。
コンピュータは、プログラムの暴走やシステムの異常を
検出した場合、ウォッチドッグタイマのオーバーフロー
によりマイクロプログラムのエントリを指定し、マイク
ロプログラムの処理ルーチンにはいるので、マイクロプ
ログラムが最終ステップまで到達しないような暴走を起
こした場合にも対応することができるという効果があ
る。また、本発明は専用の出力端子を設ける必要がな
く、ピン数を減らすことができるという効果がある。さ
らに、本発明はリセット信号の入力による処理と、ウォ
ッチドッグタイマのオーバーフローによる処理とでリセ
ット処理直後のプログラム開始アドレスを変えているの
で、システムリセットがどちらで行われたのかを区別す
ることができるという効果がある。
【図1】本発明の第1の実施例を示すマイクロコンピュ
ータのブロック図である。
ータのブロック図である。
【図2】図1に示すウォッチドッグタイマの構成図であ
る。
る。
【図3】本発明の第2の実施例を示すマイクロコンピュ
ータのブロック図である。
ータのブロック図である。
【図4】従来の一例を示すマイクロコンピュータのブロ
ック図である。
ック図である。
【図5】図4に示すウォッチドッグタイマの構成図であ
る。
る。
100,300 マイクロコンピュータ 101,301 CPU 102,302 マイクロシーケンサ 103 演算処理部 104 周辺回路 110 インストラクションデコーダ 111 MIR 112 マイクロプログラムROM 113 MSTL 114 リセットエントリ格納部 115 WDTエントリ格納部 116 セレクタ 120 命令キュー 121 プログラムカウンタ 122 ORゲート 123 割り込み指定ビット 124 インバータ 125,126 ゲート 130 ウォッチドッグタイマ 131 INTC 140 入力端子RESET 201 タイムベースカウンタ 202 WDT 203 WDTOUTアクティブタイマ 204,315 フリップフロップ 205 ORゲート 314 エントリ生成部
Claims (1)
- 【請求項1】 プログラムの暴走やシステムの異常を検
知するウォッチドッグタイマ回路と、前記ウォッチドッ
グタイマ回路のオーバーフローによりシステムの初期化
もしくは割り込みのどちらか一方を選択する選択手段
と、前記ウォッチドッグタイマ回路のオーバーフローを
検出したときにマイクロプログラムの開始番地を出力す
る出力手段とを有することを特徴とするマイクロコンピ
ュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4209884A JPH0659921A (ja) | 1992-08-06 | 1992-08-06 | マイクロコンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4209884A JPH0659921A (ja) | 1992-08-06 | 1992-08-06 | マイクロコンピュータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0659921A true JPH0659921A (ja) | 1994-03-04 |
Family
ID=16580246
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4209884A Pending JPH0659921A (ja) | 1992-08-06 | 1992-08-06 | マイクロコンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0659921A (ja) |
-
1992
- 1992-08-06 JP JP4209884A patent/JPH0659921A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3176093B2 (ja) | マイクロプロセッサの割込み制御装置 | |
| KR100588790B1 (ko) | 데이터처리기에서의후속명령처리에작용하는방법및장치 | |
| US5717851A (en) | Breakpoint detection circuit in a data processor and method therefor | |
| US4979102A (en) | Microprocessor operable under direct connection to coprocessor | |
| JPH0612527B2 (ja) | 割込み処理装置 | |
| US6205414B1 (en) | Methodology for emulation of multi-threaded processes in a single-threaded operating system | |
| EP0316904A2 (en) | Arithmetic processor performing mask and trap operations for exceptions | |
| JPS6218936B2 (ja) | ||
| US5138709A (en) | Spurious interrupt monitor | |
| US7991982B2 (en) | Microcomputer and encoding system for executing peripheral function instructions | |
| US5586336A (en) | Microcomputer capable of monitoring internal resources from external | |
| JPH0659921A (ja) | マイクロコンピュータ | |
| EP0343668B1 (en) | Normalization control system for floating point arithmetic operations | |
| JPH0267979A (ja) | 半導体回路 | |
| US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
| JPH04333141A (ja) | 情報処理装置 | |
| JPH09167117A (ja) | マイクロコンピュータおよびこれを用いたリアルタイムシステム | |
| JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
| JPS59123933A (ja) | アドレス比較方式 | |
| JP5012562B2 (ja) | マイクロコンピュータ | |
| JP2990800B2 (ja) | 割込み処理装置 | |
| JPH0816434A (ja) | 暴走検出回路 | |
| JPH10333920A (ja) | 割込み処理回路 | |
| JP4702004B2 (ja) | マイクロコンピュータ | |
| JPH05143320A (ja) | 浮動小数点演算方式および浮動小数点演算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990810 |