JPH0877031A - マイクロプロセッサシステム - Google Patents
マイクロプロセッサシステムInfo
- Publication number
- JPH0877031A JPH0877031A JP6214367A JP21436794A JPH0877031A JP H0877031 A JPH0877031 A JP H0877031A JP 6214367 A JP6214367 A JP 6214367A JP 21436794 A JP21436794 A JP 21436794A JP H0877031 A JPH0877031 A JP H0877031A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- detected
- microprocessor
- storage means
- 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
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
(57)【要約】
【目的】 マイクロプロセッサが異常命令を検出した場
合に、プログラムの実行を停止させたままとすること無
く再実行させる。 【構成】 マイクロプロセッサ1はイニシャライズ処理
においてROM11に格納されているシステムプログラ
ムをRAM12に転送する。その後の実行中において、
マイクロプロセッサ1がRAM12よりフェッチした命
令を異常命令であると判断してその割込み処理が行われ
た場合、スタックに積まれたアドレスからその異常と判
断された命令が格納されているROM11のアドレスを
計算し、ROM11からその命令を読出してRAM12
の異常命令が検出されたアドレス上に書込む。そして、
そのRAM12の異常命令が検出されたアドレスからプ
ログラムの実行を再開する。
合に、プログラムの実行を停止させたままとすること無
く再実行させる。 【構成】 マイクロプロセッサ1はイニシャライズ処理
においてROM11に格納されているシステムプログラ
ムをRAM12に転送する。その後の実行中において、
マイクロプロセッサ1がRAM12よりフェッチした命
令を異常命令であると判断してその割込み処理が行われ
た場合、スタックに積まれたアドレスからその異常と判
断された命令が格納されているROM11のアドレスを
計算し、ROM11からその命令を読出してRAM12
の異常命令が検出されたアドレス上に書込む。そして、
そのRAM12の異常命令が検出されたアドレスからプ
ログラムの実行を再開する。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサが
プログラム実行時においてデコードできない異常命令を
検出した場合に、その異常命令を本来の正しい命令に置
換することによって、プログラムの実行を正常に行わし
めるマイクロプロセッサシステムに関する。
プログラム実行時においてデコードできない異常命令を
検出した場合に、その異常命令を本来の正しい命令に置
換することによって、プログラムの実行を正常に行わし
めるマイクロプロセッサシステムに関する。
【0002】
【従来の技術】一般に、マイクロプロセッサを用いたシ
ステムにおいては、マイクロプロセッサがプログラムの
実行中にフェッチした命令をデコードした結果、その命
令がマイクロプロセッサの命令としては未定義であると
判断された場合、マイクロプロセッサの内部において異
常命令検出の内部的な割込み処理が発生する。従来は、
この異常命令が検出された場合は、システムに何等かの
異常が発生しており、それ以降のプログラムの正常な実
行は保証されないとみなされ、前記割込み処理において
はその時のプログラムカウンタ、ステータスレジスタ、
命令レジスタなどの情報をスタックに積んだ後、その時
点でプログラムの実行は停止するように処理されてい
た。
ステムにおいては、マイクロプロセッサがプログラムの
実行中にフェッチした命令をデコードした結果、その命
令がマイクロプロセッサの命令としては未定義であると
判断された場合、マイクロプロセッサの内部において異
常命令検出の内部的な割込み処理が発生する。従来は、
この異常命令が検出された場合は、システムに何等かの
異常が発生しており、それ以降のプログラムの正常な実
行は保証されないとみなされ、前記割込み処理において
はその時のプログラムカウンタ、ステータスレジスタ、
命令レジスタなどの情報をスタックに積んだ後、その時
点でプログラムの実行は停止するように処理されてい
た。
【0003】
【発明が解決しようとする課題】従って、このような従
来の構成では、異常命令検出の原因にかかわらずその検
出の度にプログラムの実行は停止されたままになるとい
う不具合があった。本発明は上記問題を解決するもの
で、その目的は、異常命令検出によるプログラムの実行
停止を低減させることにより、システムの信頼性を向上
させるマイクロプロセッサシステムを提供するにある。
来の構成では、異常命令検出の原因にかかわらずその検
出の度にプログラムの実行は停止されたままになるとい
う不具合があった。本発明は上記問題を解決するもの
で、その目的は、異常命令検出によるプログラムの実行
停止を低減させることにより、システムの信頼性を向上
させるマイクロプロセッサシステムを提供するにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載のマイクロプロセッサシステムは、マ
イクロプロセッサと、プログラムが格納されたプログラ
ム格納用記憶手段と、イニシャライズ処理においてプロ
グラム格納用記憶手段からプログラムが転送された後
に、マイクロプロセッサによってそのプログラムが実行
されるプログラム実行用記憶手段とを具備し、マイクロ
プロセッサは、プログラム実行時に異常命令を検出した
ときは、異常命令が検出されたアドレスに対応する命令
をプログラム格納用記憶手段から読出して、プログラム
実行用記憶手段の異常命令が検出されたアドレスに書き
込んだ後、再びプログラム実行用記憶手段の異常命令が
検出されたアドレスからプログラムを実行させるプログ
ラムの復帰動作を行うように構成されていることを特徴
とするものである。
め、請求項1記載のマイクロプロセッサシステムは、マ
イクロプロセッサと、プログラムが格納されたプログラ
ム格納用記憶手段と、イニシャライズ処理においてプロ
グラム格納用記憶手段からプログラムが転送された後
に、マイクロプロセッサによってそのプログラムが実行
されるプログラム実行用記憶手段とを具備し、マイクロ
プロセッサは、プログラム実行時に異常命令を検出した
ときは、異常命令が検出されたアドレスに対応する命令
をプログラム格納用記憶手段から読出して、プログラム
実行用記憶手段の異常命令が検出されたアドレスに書き
込んだ後、再びプログラム実行用記憶手段の異常命令が
検出されたアドレスからプログラムを実行させるプログ
ラムの復帰動作を行うように構成されていることを特徴
とするものである。
【0005】請求項2記載のマイクロプロセッサシステ
ムは、複数のプログラム格納用記憶手段を備え、マイク
ロプロセッサは、プログラム実行時に異常命令を検出し
たときは、その実行の基礎となったプログラム格納用記
憶手段から異常命令が検出されたアドレスに対応する命
令を読出して前記プログラムの復帰動作を行い、更に異
常命令が検出される場合には、次のプログラム格納用記
憶手段から異常命令が検出されたアドレスに対応する命
令を読出してプログラムの復帰動作を行うように構成さ
れていることを特徴とするものである。
ムは、複数のプログラム格納用記憶手段を備え、マイク
ロプロセッサは、プログラム実行時に異常命令を検出し
たときは、その実行の基礎となったプログラム格納用記
憶手段から異常命令が検出されたアドレスに対応する命
令を読出して前記プログラムの復帰動作を行い、更に異
常命令が検出される場合には、次のプログラム格納用記
憶手段から異常命令が検出されたアドレスに対応する命
令を読出してプログラムの復帰動作を行うように構成さ
れていることを特徴とするものである。
【0006】請求項3記載のマイクロプロセッサシステ
ムは、不揮発性の記憶手段を備え、マイクロプロセッサ
は、プログラムの復帰動作を行った場合に異常命令が検
出されたプログラム格納用記憶手段の情報をその不揮発
性の記憶手段に記憶させ、次回電源投入時またはリセッ
ト解除後にはその情報を参照することにより、前記プロ
グラム格納用記憶手段からのプログラム実行用記憶手段
に対するプログラムの転送を禁止するように構成されて
いることを特徴とするものである。
ムは、不揮発性の記憶手段を備え、マイクロプロセッサ
は、プログラムの復帰動作を行った場合に異常命令が検
出されたプログラム格納用記憶手段の情報をその不揮発
性の記憶手段に記憶させ、次回電源投入時またはリセッ
ト解除後にはその情報を参照することにより、前記プロ
グラム格納用記憶手段からのプログラム実行用記憶手段
に対するプログラムの転送を禁止するように構成されて
いることを特徴とするものである。
【0007】請求項4記載のマイクロプロセッサシステ
ムは、マイクロプロセッサは、異常命令を検出したとき
には、異常命令が検出されたアドレスに対応する命令を
一度または二度以上プログラム実行用記憶手段から読出
して、尚異常命令が検出される場合、前記プログラムの
復帰動作を行うように構成されていることを特徴とする
ものである。
ムは、マイクロプロセッサは、異常命令を検出したとき
には、異常命令が検出されたアドレスに対応する命令を
一度または二度以上プログラム実行用記憶手段から読出
して、尚異常命令が検出される場合、前記プログラムの
復帰動作を行うように構成されていることを特徴とする
ものである。
【0008】請求項5記載のマイクロプロセッサのシス
テムは、異常命令検出時に、マイクロプロセッサが前記
プログラムの復帰動作を再実行する回数を、プログラム
において予め設定可能に構成されていることを特徴とす
るものである。
テムは、異常命令検出時に、マイクロプロセッサが前記
プログラムの復帰動作を再実行する回数を、プログラム
において予め設定可能に構成されていることを特徴とす
るものである。
【0009】
【作用】請求項1記載のマイクロプロセッサシステムに
よれば、マイクロプロセッサは、プログラム実行時に異
常命令を検出したときは、異常命令が検出されたアドレ
スに対応する命令をプログラム格納用記憶手段から読出
してプログラム実行用記憶手段の異常命令が検出された
アドレスに書き込んだ後、再びプログラム実行用記憶手
段の異常命令が検出されたアドレスからプログラムを実
行させるプログラムの復帰動作を行うように構成されて
いるので、プログラム実行用記憶手段の記憶内容が一時
的に書き変わったことにより異常命令が検出された場合
には、プログラムの実行を停止させたままとすること無
く再実行させることができる。
よれば、マイクロプロセッサは、プログラム実行時に異
常命令を検出したときは、異常命令が検出されたアドレ
スに対応する命令をプログラム格納用記憶手段から読出
してプログラム実行用記憶手段の異常命令が検出された
アドレスに書き込んだ後、再びプログラム実行用記憶手
段の異常命令が検出されたアドレスからプログラムを実
行させるプログラムの復帰動作を行うように構成されて
いるので、プログラム実行用記憶手段の記憶内容が一時
的に書き変わったことにより異常命令が検出された場合
には、プログラムの実行を停止させたままとすること無
く再実行させることができる。
【0010】請求項2記載のマイクロプロセッサシステ
ムによれば、複数のプログラム格納用記憶手段を備え、
マイクロプロセッサは、プログラム実行時に異常命令を
検出したときは、その実行の基礎となったプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出して前記プログラムの復帰動作を行い、
更に異常命令が検出される場合には、次のプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
構成されているので、復帰動作を行った場合に複数のプ
ログラム格納用記憶手段の内の一つが故障した場合で
も、プログラムを再実行できる。
ムによれば、複数のプログラム格納用記憶手段を備え、
マイクロプロセッサは、プログラム実行時に異常命令を
検出したときは、その実行の基礎となったプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出して前記プログラムの復帰動作を行い、
更に異常命令が検出される場合には、次のプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
構成されているので、復帰動作を行った場合に複数のプ
ログラム格納用記憶手段の内の一つが故障した場合で
も、プログラムを再実行できる。
【0011】請求項3記載のマイクロプロセッサシステ
ムによれば、マイクロプロセッサは、プログラムの復帰
動作を行った場合に異常命令が検出されたプログラム格
納用記憶手段の情報を不揮発性の記憶手段に記憶させ、
次回電源投入時またはリセット解除後にはその情報を参
照することにより、そのプログラム格納用記憶手段から
のプログラム実行用記憶手段に対するプログラムの転送
を禁止するように構成されているので、次回にシステム
のイニシャライズ処理を行う場合に、既に不具合が判明
しているプログラム格納用記憶手段からプログラムの転
送を行うことを回避できる。
ムによれば、マイクロプロセッサは、プログラムの復帰
動作を行った場合に異常命令が検出されたプログラム格
納用記憶手段の情報を不揮発性の記憶手段に記憶させ、
次回電源投入時またはリセット解除後にはその情報を参
照することにより、そのプログラム格納用記憶手段から
のプログラム実行用記憶手段に対するプログラムの転送
を禁止するように構成されているので、次回にシステム
のイニシャライズ処理を行う場合に、既に不具合が判明
しているプログラム格納用記憶手段からプログラムの転
送を行うことを回避できる。
【0012】請求項4記載のマイクロプロセッサシステ
ムによれば、マイクロプロセッサは、異常命令が検出さ
れたアドレスに対応する命令を一度または二度以上プロ
グラム実行用記憶手段から読出して、尚異常命令が検出
される場合に前記プログラムの復帰動作を行うように構
成されているので、アドレスバスまたはデータバス上に
外来ノイズが載ることなどによって一時的に異常命令が
読み込まれた場合には、プログラムの復帰動作を行わず
ともプログラムの再実行を行うことができる。
ムによれば、マイクロプロセッサは、異常命令が検出さ
れたアドレスに対応する命令を一度または二度以上プロ
グラム実行用記憶手段から読出して、尚異常命令が検出
される場合に前記プログラムの復帰動作を行うように構
成されているので、アドレスバスまたはデータバス上に
外来ノイズが載ることなどによって一時的に異常命令が
読み込まれた場合には、プログラムの復帰動作を行わず
ともプログラムの再実行を行うことができる。
【0013】請求項5記載のマイクロプロセッサシステ
ムによれば、異常命令検出時に、マイクロプロセッサが
前記プログラムの復帰動作を再実行する回数を、プログ
ラムにおいて予め設定可能に構成されているので、シス
テムにハードウエア上の故障が発生したために、前記プ
ログラムの復帰動作を繰り返してもプログラムの実行が
回復不能な状況にあるときは、その復帰動作を中止する
ことができる。
ムによれば、異常命令検出時に、マイクロプロセッサが
前記プログラムの復帰動作を再実行する回数を、プログ
ラムにおいて予め設定可能に構成されているので、シス
テムにハードウエア上の故障が発生したために、前記プ
ログラムの復帰動作を繰り返してもプログラムの実行が
回復不能な状況にあるときは、その復帰動作を中止する
ことができる。
【0014】
【実施例】以下本発明の第1実施例について、図1を参
照して説明する。マイクロプロセッサ1の内部において
は、外部バスを制御するバス制御部2によって命令のフ
ェッチやデータの読出し,書込みなどが行われる。フェ
ッチされた命令は、異常命令検出部としての命令デコー
ド部3においてデコードされた後、演算制御部4に送ら
れて実行される。
照して説明する。マイクロプロセッサ1の内部において
は、外部バスを制御するバス制御部2によって命令のフ
ェッチやデータの読出し,書込みなどが行われる。フェ
ッチされた命令は、異常命令検出部としての命令デコー
ド部3においてデコードされた後、演算制御部4に送ら
れて実行される。
【0015】また、プログラムカウンタ5は、次に読み
出すべきプログラムのアドレスを示すものであり、その
アドレスに従ってマイクロプロセッサ1は順次プログラ
ムの読出しを行う。割込み制御部6は、プログラムの実
行中に命令デコード部3から割込み情報が発生した場合
に、そのプログラムの実行を一時中断して割込み処理を
行うように演算制御部4を制御する。スタックポインタ
7には、サブルーチンコールや割込み処理が発生した場
合に、戻り番地(アドレス)や必要なレジスタの内容を
スタックに保存するためのスタック領域のアドレス値が
登録される。
出すべきプログラムのアドレスを示すものであり、その
アドレスに従ってマイクロプロセッサ1は順次プログラ
ムの読出しを行う。割込み制御部6は、プログラムの実
行中に命令デコード部3から割込み情報が発生した場合
に、そのプログラムの実行を一時中断して割込み処理を
行うように演算制御部4を制御する。スタックポインタ
7には、サブルーチンコールや割込み処理が発生した場
合に、戻り番地(アドレス)や必要なレジスタの内容を
スタックに保存するためのスタック領域のアドレス値が
登録される。
【0016】マイクロプロセッサ1のアドレスバスライ
ン8,データバスライン9及びバス制御信号ライン10
は、プログラム格納用記憶手段であるROM11及びプ
ログラム実行用記憶手段であるRAM12に接続されて
いる。また、アドレスバスライン8は、アドレスデコー
ダ13にも接続されており、アドレスデコーダ13のデ
コード出力信号であるROM11及びRAM12のチッ
プセレクト信号を出力する端子は、それぞれROM11
及びRAM12のチップセレクト信号端子に接続されて
いる。そして、マイクロプロセッサ1,ROM11,R
AM12及びアドレスデコーダ13は、マイクロプロセ
ッサシステム14を構成している。
ン8,データバスライン9及びバス制御信号ライン10
は、プログラム格納用記憶手段であるROM11及びプ
ログラム実行用記憶手段であるRAM12に接続されて
いる。また、アドレスバスライン8は、アドレスデコー
ダ13にも接続されており、アドレスデコーダ13のデ
コード出力信号であるROM11及びRAM12のチッ
プセレクト信号を出力する端子は、それぞれROM11
及びRAM12のチップセレクト信号端子に接続されて
いる。そして、マイクロプロセッサ1,ROM11,R
AM12及びアドレスデコーダ13は、マイクロプロセ
ッサシステム14を構成している。
【0017】ROM11及びRAM12内に示すアドレ
スマップにおいて、ROM11の領域内には、先頭アド
レスからイニシャライズ処理プログラム領域15,ベク
タテーブル領域16,システムプログラム領域17及び
異常命令処理プログラム領域18を有する。続くRAM
12の領域内には、イニシャライズ処理においてROM
11の領域より転送される内容を記憶するベクタテーブ
ル領域19及びシステムプログラム領域20を有し、且
つ、システムプログラム実行時に使用するデータ領域2
1とスタック領域22を有する。ベクタテーブル領域1
9には、外部割込み入力端子に入力される信号による外
部割込み、または、マイクロプロセッサ1の内部処理に
おいて発生する内部割込みを処理するため、割り込み発
生時に各処理プログラムの先頭アドレスへ分岐するため
の分岐命令が格納されている。
スマップにおいて、ROM11の領域内には、先頭アド
レスからイニシャライズ処理プログラム領域15,ベク
タテーブル領域16,システムプログラム領域17及び
異常命令処理プログラム領域18を有する。続くRAM
12の領域内には、イニシャライズ処理においてROM
11の領域より転送される内容を記憶するベクタテーブ
ル領域19及びシステムプログラム領域20を有し、且
つ、システムプログラム実行時に使用するデータ領域2
1とスタック領域22を有する。ベクタテーブル領域1
9には、外部割込み入力端子に入力される信号による外
部割込み、または、マイクロプロセッサ1の内部処理に
おいて発生する内部割込みを処理するため、割り込み発
生時に各処理プログラムの先頭アドレスへ分岐するため
の分岐命令が格納されている。
【0018】次に、本実施例の作用について説明する。
マイクロプロセッサ1のリセットが解除されると、マイ
クロプロセッサ1はROM11の先頭アドレスを読みに
いき、イニシャライズ処理を行う。このイニシャライズ
処理において各種の初期化が行われると共に、ROM1
1内のベクタテーブル領域16及びシステムプログラム
領域17の内容は、RAM12内のベクタテーブル領域
19及びシステムプログラム領域20へ転送される。こ
のイニシャライズ処理終了後、マイクロプロセッサ1は
RAM12のシステムプログラム領域20の先頭アドレ
スにジャンプして、システムプログラムの実行を開始す
る。すると、マイクロプロセッサシステム14は稼働を
始める。
マイクロプロセッサ1のリセットが解除されると、マイ
クロプロセッサ1はROM11の先頭アドレスを読みに
いき、イニシャライズ処理を行う。このイニシャライズ
処理において各種の初期化が行われると共に、ROM1
1内のベクタテーブル領域16及びシステムプログラム
領域17の内容は、RAM12内のベクタテーブル領域
19及びシステムプログラム領域20へ転送される。こ
のイニシャライズ処理終了後、マイクロプロセッサ1は
RAM12のシステムプログラム領域20の先頭アドレ
スにジャンプして、システムプログラムの実行を開始す
る。すると、マイクロプロセッサシステム14は稼働を
始める。
【0019】通常状態において、マイクロプロセッサ1
は、システムプログラムを全てRAM12から読み出し
て実行する。また、システムプログラムの実行中におけ
る各種データの処理に必要な作業は、RAM12に設け
てあるデータ領域21を使用して行われる。
は、システムプログラムを全てRAM12から読み出し
て実行する。また、システムプログラムの実行中におけ
る各種データの処理に必要な作業は、RAM12に設け
てあるデータ領域21を使用して行われる。
【0020】システムプログラムの実行中において、命
令デコード部3がデコードできない命令(登録されてい
ない命令)を検出した場合、その情報は割込み制御部6
に伝えられ、割込み制御部6は演算制御部4に対して異
常命令検出による内部割込み処理を実行するように指示
する。すると、マイクロプロセッサ1はスタックポイン
タ7を参照し、その時のプログラムカウンタ5の値,ア
クセスしていたアドレス,ステータスレジスタ及び命令
レジスタなどの値をRAM12のスタック領域22に積
んだ後、ベクタテーブル領域19において示される異常
命令検出時の割込みベクタが示すアドレス、即ち、RO
M11の異常命令処理プログラム領域18の先頭アドレ
スへと飛ぶ。
令デコード部3がデコードできない命令(登録されてい
ない命令)を検出した場合、その情報は割込み制御部6
に伝えられ、割込み制御部6は演算制御部4に対して異
常命令検出による内部割込み処理を実行するように指示
する。すると、マイクロプロセッサ1はスタックポイン
タ7を参照し、その時のプログラムカウンタ5の値,ア
クセスしていたアドレス,ステータスレジスタ及び命令
レジスタなどの値をRAM12のスタック領域22に積
んだ後、ベクタテーブル領域19において示される異常
命令検出時の割込みベクタが示すアドレス、即ち、RO
M11の異常命令処理プログラム領域18の先頭アドレ
スへと飛ぶ。
【0021】異常命令処理プログラムにおいては、ま
ず、スタック領域22に記憶された異常命令検出時にア
クセスしていたアドレスから、その異常命令に対応する
ROM11のシステムプログラム領域17内の命令が格
納されているアドレスを計算する。そして、その命令を
ROM11のシステムプログラム領域17より読出し
て、RAM12のシステムプログラム領域20内の、異
常命令が検出されたアドレスに上書きする。
ず、スタック領域22に記憶された異常命令検出時にア
クセスしていたアドレスから、その異常命令に対応する
ROM11のシステムプログラム領域17内の命令が格
納されているアドレスを計算する。そして、その命令を
ROM11のシステムプログラム領域17より読出し
て、RAM12のシステムプログラム領域20内の、異
常命令が検出されたアドレスに上書きする。
【0022】次に、スタック領域22に積まれたプログ
ラムカウンタ5のアドレス値を異常命令として読み込ん
だアドレスに戻すために減算を行う。スタック領域22
に積んだ各種レジスタの情報は、割込み処理を終了する
直前にそれぞれのレジスタに復帰される。
ラムカウンタ5のアドレス値を異常命令として読み込ん
だアドレスに戻すために減算を行う。スタック領域22
に積んだ各種レジスタの情報は、割込み処理を終了する
直前にそれぞれのレジスタに復帰される。
【0023】そして、割込み処理から復帰すると、マイ
クロプロセッサ1は異常命令をフェッチしたアドレスを
示しているプログラムカウンタ5を参照してそこから処
理を再開するので、ROM11からRAM12にコピー
された命令をもう一度フェッチすることにより、プログ
ラムの復帰動作が行われる。
クロプロセッサ1は異常命令をフェッチしたアドレスを
示しているプログラムカウンタ5を参照してそこから処
理を再開するので、ROM11からRAM12にコピー
された命令をもう一度フェッチすることにより、プログ
ラムの復帰動作が行われる。
【0024】以上のように本実施例によれば、マイクロ
プロセッサ1がプログラム実行時に異常命令を検出した
ときは、異常命令が検出されたアドレスに対応する命令
をROM11から読出してRAM12の異常命令が検出
されたアドレスに書き込んだ後、再びRAM12の異常
命令が検出されたアドレスからプログラムを再実行させ
るプログラムの復帰動作を行うようにしたので、RAM
12の記憶内容が一時的に書き変わったことによって異
常命令が検出された場合には、プログラムの実行を停止
させたままとすること無く再実行させることができ、異
常命令の検出によってプログラムの実行停止が起こる頻
度を少なくすることができる。
プロセッサ1がプログラム実行時に異常命令を検出した
ときは、異常命令が検出されたアドレスに対応する命令
をROM11から読出してRAM12の異常命令が検出
されたアドレスに書き込んだ後、再びRAM12の異常
命令が検出されたアドレスからプログラムを再実行させ
るプログラムの復帰動作を行うようにしたので、RAM
12の記憶内容が一時的に書き変わったことによって異
常命令が検出された場合には、プログラムの実行を停止
させたままとすること無く再実行させることができ、異
常命令の検出によってプログラムの実行停止が起こる頻
度を少なくすることができる。
【0025】図2は本発明の第2実施例を示し、図1と
同一部分には同一符号を付して説明を省略し、以下異な
る部分のみ説明する。第1実施例におけるプログラム格
納用記憶手段であるROM11は、第1のプログラム格
納用記憶手段とする。そして、第2のプログラム格納用
記憶手段であるROM23,第3のプログラム格納用記
憶手段であるROM24及び不揮発性の記憶手段である
EEPROM25は、ROM11と同様にアドレスバス
ライン8,データバスライン9及びバス制御信号ライン
10に接続されている。ROM23及びROM24に
は、ROM11に格納されているシステムプログラムと
同内容のものが格納されている。また、アドレスデコー
ダ13のデコード出力信号を出力する端子は、ROM2
3,ROM24及びEEPROM25の各チップセレク
ト信号端子にも接続されている。そして、マイクロプロ
セッサ1,ROM11,RAM12,アドレスデコーダ
13,ROM23,ROM24及びEEPROM25
は、マイクロプロセッサシステム26を構成する。
同一部分には同一符号を付して説明を省略し、以下異な
る部分のみ説明する。第1実施例におけるプログラム格
納用記憶手段であるROM11は、第1のプログラム格
納用記憶手段とする。そして、第2のプログラム格納用
記憶手段であるROM23,第3のプログラム格納用記
憶手段であるROM24及び不揮発性の記憶手段である
EEPROM25は、ROM11と同様にアドレスバス
ライン8,データバスライン9及びバス制御信号ライン
10に接続されている。ROM23及びROM24に
は、ROM11に格納されているシステムプログラムと
同内容のものが格納されている。また、アドレスデコー
ダ13のデコード出力信号を出力する端子は、ROM2
3,ROM24及びEEPROM25の各チップセレク
ト信号端子にも接続されている。そして、マイクロプロ
セッサ1,ROM11,RAM12,アドレスデコーダ
13,ROM23,ROM24及びEEPROM25
は、マイクロプロセッサシステム26を構成する。
【0026】次に第2実施例の作用について説明する。
第1実施例と同様にプログラムの実行中に異常命令が検
出され、異常命令をフェッチしたRAM12のアドレス
に対応する命令をROM11より読出してプログラムの
復帰動作を行ったときに、更に同じアドレスにおいて異
常命令が検出されたとする。その場合は原因の一つとし
て、ROM11の記憶内容が何等かの理由によって損な
われてしまったためと想定できる。よって、次にROM
23よりそのアドレスに対応する命令を読出してプログ
ラムの復帰動作を行う。
第1実施例と同様にプログラムの実行中に異常命令が検
出され、異常命令をフェッチしたRAM12のアドレス
に対応する命令をROM11より読出してプログラムの
復帰動作を行ったときに、更に同じアドレスにおいて異
常命令が検出されたとする。その場合は原因の一つとし
て、ROM11の記憶内容が何等かの理由によって損な
われてしまったためと想定できる。よって、次にROM
23よりそのアドレスに対応する命令を読出してプログ
ラムの復帰動作を行う。
【0027】その際に、異常命令の検出による内部割込
み処理において、異常命令が検出されたROM11のア
ドレスを、EEPROM25に記憶させる。そうするこ
とによって、次回のシステムのイニシャライズ処理にお
いてEEPROM25の記憶内容を参照することによ
り、記憶内容に異常があると見なされるROM11から
はRAM12に対してシステムプログラムの転送は行わ
ずに、ROM23から転送を行うことができる。
み処理において、異常命令が検出されたROM11のア
ドレスを、EEPROM25に記憶させる。そうするこ
とによって、次回のシステムのイニシャライズ処理にお
いてEEPROM25の記憶内容を参照することによ
り、記憶内容に異常があると見なされるROM11から
はRAM12に対してシステムプログラムの転送は行わ
ずに、ROM23から転送を行うことができる。
【0028】また、上記のROM23からのプログラム
の復帰動作を行った結果、それでも尚異常命令が検出さ
れる場合は、同様にROM24よりそのアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
し、EEPROM25に対しては異常命令が検出された
ROM23のアドレスも記憶させ、次回のシステムのイ
ニシャライズ処理においては、ROM11及びROM2
3からではなくROM24からシステムプログラムの転
送を行うようにする。
の復帰動作を行った結果、それでも尚異常命令が検出さ
れる場合は、同様にROM24よりそのアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
し、EEPROM25に対しては異常命令が検出された
ROM23のアドレスも記憶させ、次回のシステムのイ
ニシャライズ処理においては、ROM11及びROM2
3からではなくROM24からシステムプログラムの転
送を行うようにする。
【0029】更に、ROM24からプログラムの復帰動
作を行った結果、それでも尚異常命令が検出される場合
は、システム異常と判断して、プログラムの実行を停止
させる。
作を行った結果、それでも尚異常命令が検出される場合
は、システム異常と判断して、プログラムの実行を停止
させる。
【0030】以上のように第2実施例によれば、複数の
プログラム格納記憶手段としてROM11に加えてRO
M23とROM24を備えて、異常命令が検出された場
合に、最初のイニシャライズ処理においてプログラムの
転送元となったROM11からプログラムの復帰動作を
行って、それでも異常命令が検出された場合には他のR
OMより復帰動作を行うことができ、また、不揮発性の
記憶手段であるEEPROM25を具備し、それに異常
が発生したROMのアドレスを書込んで、次回のシステ
ムのイニシャライズ処理においてEEPROM25の内
容を参照することにより、異常のあるROMからRAM
12に対してシステムプログラムの転送を行うことを回
避することができる。
プログラム格納記憶手段としてROM11に加えてRO
M23とROM24を備えて、異常命令が検出された場
合に、最初のイニシャライズ処理においてプログラムの
転送元となったROM11からプログラムの復帰動作を
行って、それでも異常命令が検出された場合には他のR
OMより復帰動作を行うことができ、また、不揮発性の
記憶手段であるEEPROM25を具備し、それに異常
が発生したROMのアドレスを書込んで、次回のシステ
ムのイニシャライズ処理においてEEPROM25の内
容を参照することにより、異常のあるROMからRAM
12に対してシステムプログラムの転送を行うことを回
避することができる。
【0031】尚、本発明は上記し且つ図面に示す実施例
にのみ限定されるものではなく、次のような変形が可能
である。プログラムの復帰動作は、異常命令が検出され
る度に行うようにしたが、復帰動作において同じROM
の同じアドレスから命令の転送を行い、その度に連続し
て異常命令が検出された場合の復帰動作の試行回数につ
いては、予めプログラムによって何回まで繰返すかを設
定しておき、その回数を超えて同じアドレスから異常命
令が検出されたときは、プログラムの実行を停止するよ
うにしても良い。
にのみ限定されるものではなく、次のような変形が可能
である。プログラムの復帰動作は、異常命令が検出され
る度に行うようにしたが、復帰動作において同じROM
の同じアドレスから命令の転送を行い、その度に連続し
て異常命令が検出された場合の復帰動作の試行回数につ
いては、予めプログラムによって何回まで繰返すかを設
定しておき、その回数を超えて同じアドレスから異常命
令が検出されたときは、プログラムの実行を停止するよ
うにしても良い。
【0032】また、プログラムの復帰動作は、異常命令
を検出すると直ちにROM11,ROM23又はROM
24から読出した命令をRAM12にコピーするように
したが、異常命令を検出した原因が、RAM12の記憶
内容は正常であるが、その記憶内容の読出し時にアドレ
スバスライン又はデータバスライン上に一時的に載った
ノイズの影響によって異常命令として読み出されたとも
考えられるので、異常命令を検出した場合はRAM12
から同じアドレスの命令を1度又は2度以上読出して尚
異常命令が検出された時に、復帰動作を行うように構成
しても良い。
を検出すると直ちにROM11,ROM23又はROM
24から読出した命令をRAM12にコピーするように
したが、異常命令を検出した原因が、RAM12の記憶
内容は正常であるが、その記憶内容の読出し時にアドレ
スバスライン又はデータバスライン上に一時的に載った
ノイズの影響によって異常命令として読み出されたとも
考えられるので、異常命令を検出した場合はRAM12
から同じアドレスの命令を1度又は2度以上読出して尚
異常命令が検出された時に、復帰動作を行うように構成
しても良い。
【0033】また、第2実施例において、複数のプログ
ラム格納用記憶手段としてROM11とROM23及び
ROM24を備えたが、4個以上のROMを備えても良
く、この場合に、各ROMには全く同一の記憶内容を有
するようにしても良い。更に、不揮発性の記憶手段とし
てEEPROM25を使用したが、バッテリーバックア
ップされたSRAMでも良い。
ラム格納用記憶手段としてROM11とROM23及び
ROM24を備えたが、4個以上のROMを備えても良
く、この場合に、各ROMには全く同一の記憶内容を有
するようにしても良い。更に、不揮発性の記憶手段とし
てEEPROM25を使用したが、バッテリーバックア
ップされたSRAMでも良い。
【0034】
【発明の効果】以上の説明から明らかなように、請求項
1記載のマイクロプロセッサシステムによれば、マイク
ロプロセッサは、プログラム実行時に異常命令を検出し
たときは、異常命令が検出されたアドレスに対応する命
令をプログラム格納用記憶手段から読出してプログラム
実行用記憶手段の異常命令が検出されたアドレスに書き
込んだ後、再びプログラム実行用記憶手段の異常命令が
検出されたアドレスからプログラムを実行させるプログ
ラムの復帰動作を行うように構成されているので、プロ
グラム実行用記憶手段の記憶内容が一時的に書き変わっ
たことにより異常命令が検出された場合には、プログラ
ムの実行を停止させたままとすること無く再実行させる
ことができる。
1記載のマイクロプロセッサシステムによれば、マイク
ロプロセッサは、プログラム実行時に異常命令を検出し
たときは、異常命令が検出されたアドレスに対応する命
令をプログラム格納用記憶手段から読出してプログラム
実行用記憶手段の異常命令が検出されたアドレスに書き
込んだ後、再びプログラム実行用記憶手段の異常命令が
検出されたアドレスからプログラムを実行させるプログ
ラムの復帰動作を行うように構成されているので、プロ
グラム実行用記憶手段の記憶内容が一時的に書き変わっ
たことにより異常命令が検出された場合には、プログラ
ムの実行を停止させたままとすること無く再実行させる
ことができる。
【0035】請求項2記載のマイクロプロセッサシステ
ムによれば、複数のプログラム格納用記憶手段を備え、
マイクロプロセッサは、プログラム実行時に異常命令を
検出したときは、その実行の基礎となったプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出して前記プログラムの復帰動作を行い、
更に異常命令が検出される場合には、次のプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
構成されているので、復帰動作を行った場合に複数のプ
ログラム格納用記憶手段の内の一つが故障した場合で
も、プログラムを再実行できる。
ムによれば、複数のプログラム格納用記憶手段を備え、
マイクロプロセッサは、プログラム実行時に異常命令を
検出したときは、その実行の基礎となったプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出して前記プログラムの復帰動作を行い、
更に異常命令が検出される場合には、次のプログラム格
納用記憶手段から異常命令が検出されたアドレスに対応
する命令を読出してプログラムの復帰動作を行うように
構成されているので、復帰動作を行った場合に複数のプ
ログラム格納用記憶手段の内の一つが故障した場合で
も、プログラムを再実行できる。
【0036】請求項3記載のマイクロプロセッサシステ
ムによれば、マイクロプロセッサは、プログラムの復帰
動作を行った場合に異常命令が検出されたプログラム格
納用記憶手段の情報を不揮発性の記憶手段に記憶させ、
次回電源投入時またはリセット解除後にはその情報を参
照することにより、そのプログラム格納用記憶手段から
のプログラム実行用記憶手段に対するプログラムの転送
を禁止するように構成されているので、次回にシステム
のイニシャライズ処理を行う場合に、既に不具合が判明
しているプログラム格納用記憶手段からプログラムの転
送を行うことを回避できる。
ムによれば、マイクロプロセッサは、プログラムの復帰
動作を行った場合に異常命令が検出されたプログラム格
納用記憶手段の情報を不揮発性の記憶手段に記憶させ、
次回電源投入時またはリセット解除後にはその情報を参
照することにより、そのプログラム格納用記憶手段から
のプログラム実行用記憶手段に対するプログラムの転送
を禁止するように構成されているので、次回にシステム
のイニシャライズ処理を行う場合に、既に不具合が判明
しているプログラム格納用記憶手段からプログラムの転
送を行うことを回避できる。
【0037】請求項4記載のマイクロプロセッサシステ
ムによれば、マイクロプロセッサは、異常命令が検出さ
れたアドレスに対応する命令を一度または二度以上プロ
グラム実行用記憶手段から読出して、尚異常命令が検出
される場合に前記プログラムの復帰動作を行うように構
成されているので、アドレスバスまたはデータバス上に
外来ノイズが載ることなどによって一時的に異常命令が
読み込まれた場合には、プログラムの復帰動作を行わず
ともプログラムの再実行を行うことができる。
ムによれば、マイクロプロセッサは、異常命令が検出さ
れたアドレスに対応する命令を一度または二度以上プロ
グラム実行用記憶手段から読出して、尚異常命令が検出
される場合に前記プログラムの復帰動作を行うように構
成されているので、アドレスバスまたはデータバス上に
外来ノイズが載ることなどによって一時的に異常命令が
読み込まれた場合には、プログラムの復帰動作を行わず
ともプログラムの再実行を行うことができる。
【0038】請求項5記載のマイクロプロセッサシステ
ムによれば、異常命令検出時に、マイクロプロセッサが
前記プログラムの復帰動作を再実行する回数を、プログ
ラムにおいて予め設定可能に構成されているので、シス
テムにハードウエア上の故障が発生したために、前記プ
ログラムの復帰動作を繰り返してもプログラムの実行が
回復不能な状況にあるときは、その復帰動作を中止する
ことができる。
ムによれば、異常命令検出時に、マイクロプロセッサが
前記プログラムの復帰動作を再実行する回数を、プログ
ラムにおいて予め設定可能に構成されているので、シス
テムにハードウエア上の故障が発生したために、前記プ
ログラムの復帰動作を繰り返してもプログラムの実行が
回復不能な状況にあるときは、その復帰動作を中止する
ことができる。
【図1】本発明の第1実施例の電気的構成を示すブロッ
ク図
ク図
【図2】本発明の第2実施例の電気的構成を示すブロッ
ク図
ク図
1はマイクロプロセッサ、11はROM(プログラム格
納用記憶手段)、12はRAM(プログラム実行用記憶
手段)、14はマイクロプロセッサシステム、23はR
OM(プログラム格納用記憶手段)、24はROM(プ
ログラム格納用記憶手段)、25はEEPROM(不揮
発性の記憶手段)、26はマイクロプロセッサシステム
を示す。
納用記憶手段)、12はRAM(プログラム実行用記憶
手段)、14はマイクロプロセッサシステム、23はR
OM(プログラム格納用記憶手段)、24はROM(プ
ログラム格納用記憶手段)、25はEEPROM(不揮
発性の記憶手段)、26はマイクロプロセッサシステム
を示す。
Claims (5)
- 【請求項1】 マイクロプロセッサと、 プログラムが格納されたプログラム格納用記憶手段と、 イニシャライズ処理においてプログラム格納用記憶手段
からプログラムが転送された後に、マイクロプロセッサ
によってそのプログラムが実行されるプログラム実行用
記憶手段とを具備し、 前記マイクロプロセッサは、プログラム実行時に異常命
令を検出したときは、異常命令が検出されたアドレスに
対応する命令をプログラム格納用記憶手段から読出し
て、プログラム実行用記憶手段の異常命令が検出された
アドレスに書き込んだ後、再びプログラム実行用記憶手
段の異常命令が検出されたアドレスからプログラムを実
行させるプログラムの復帰動作を行うように構成されて
いることを特徴とするマイクロプロセッサシステム。 - 【請求項2】 複数のプログラム格納用記憶手段を備
え、マイクロプロセッサは、プログラム実行時に異常命
令を検出したときは、その実行の基礎となったプログラ
ム格納用記憶手段から異常命令が検出されたアドレスに
対応する命令を読出して前記プログラムの復帰動作を行
い、更に異常命令が検出される場合には、次のプログラ
ム格納用記憶手段から異常命令が検出されたアドレスに
対応する命令を読出してプログラムの復帰動作を行うよ
うに構成されていることを特徴とする請求項1記載のマ
イクロプロセッサシステム。 - 【請求項3】 不揮発性の記憶手段を備え、マイクロプ
ロセッサは、復帰動作を行った場合に異常命令が検出さ
れたプログラム格納用記憶手段の情報をその不揮発性の
記憶手段に記憶させ、次回電源投入時またはリセット解
除後にはその情報を参照することにより、前記プログラ
ム格納用記憶手段からのプログラム実行用記憶手段に対
するプログラムの転送を禁止するように構成されている
ことを特徴とする請求項2記載のマイクロプロセッサシ
ステム。 - 【請求項4】 マイクロプロセッサは、異常命令を検出
したときには、異常命令が検出されたアドレスに対応す
る命令を一度または二度以上プログラム実行用記憶手段
から読出して尚異常命令が検出される場合、前記プログ
ラムの復帰動作を行うように構成されていることを特徴
とする請求項1乃至3の何れかに記載のマイクロプロセ
ッサシステム。 - 【請求項5】 異常命令検出時に、マイクロプロセッサ
が前記プログラムの復帰動作を再実行する回数を、プロ
グラムにおいて予め設定可能に構成されていることを特
徴とする請求項1乃至4の何れかに記載のマイクロプロ
セッサシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6214367A JPH0877031A (ja) | 1994-09-08 | 1994-09-08 | マイクロプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6214367A JPH0877031A (ja) | 1994-09-08 | 1994-09-08 | マイクロプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0877031A true JPH0877031A (ja) | 1996-03-22 |
Family
ID=16654619
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6214367A Pending JPH0877031A (ja) | 1994-09-08 | 1994-09-08 | マイクロプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0877031A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012024957A (ja) * | 2010-07-21 | 2012-02-09 | Seiko Epson Corp | 情報処理装置、印刷装置及びデータ管理方法 |
| JP2021149393A (ja) * | 2020-03-18 | 2021-09-27 | 株式会社エヌエスアイテクス | プロセッサ及びプロセッサの冗長化方法 |
-
1994
- 1994-09-08 JP JP6214367A patent/JPH0877031A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012024957A (ja) * | 2010-07-21 | 2012-02-09 | Seiko Epson Corp | 情報処理装置、印刷装置及びデータ管理方法 |
| JP2021149393A (ja) * | 2020-03-18 | 2021-09-27 | 株式会社エヌエスアイテクス | プロセッサ及びプロセッサの冗長化方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR900002604B1 (ko) | 제어기억장치를 갖는 정보처리장치내의 에러회복 장치 및 방법. | |
| JP3563768B2 (ja) | Romプログラム変更装置 | |
| KR101249693B1 (ko) | 서브루틴 복귀 메카니즘 선택 | |
| JP4155052B2 (ja) | エミュレータ、エミュレーション方法およびプログラム | |
| US6889315B2 (en) | Processor and method of controlling the same | |
| JP3810805B2 (ja) | 情報修正システム | |
| JP4543505B2 (ja) | マイクロコンピュータの制御方法及び異常監視装置 | |
| JPH0373008B2 (ja) | ||
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JP2000039928A (ja) | マイクロコンピュータ | |
| CA1317384C (en) | Buffer control circuit for data processor | |
| JP2009169515A (ja) | コンピュータシステム及びシステム回復装置 | |
| JPH0797326B2 (ja) | 情報処理装置 | |
| JPH03269628A (ja) | 例外処理方式 | |
| JPS6020769B2 (ja) | マイクロプログラム制御方式 | |
| JPS61117635A (ja) | 仮想記憶制御方式 | |
| JPH0916399A (ja) | 計算機 | |
| KR20080044652A (ko) | Cpu에서의 스택을 이용한 디버깅 방법 | |
| JPS59178693A (ja) | メモリ読み出し方式 | |
| JPH07182251A (ja) | マイクロプロセッサ | |
| JPS62108333A (ja) | 半導体装置 | |
| JPS59218555A (ja) | マイクロプログラム制御装置 | |
| JPH04332045A (ja) | 演算処理装置 | |
| JPH0424836A (ja) | マイクロプロセッサ | |
| JPH03225433A (ja) | シングルチップマイクロコンピュータ |