JPH04364531A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH04364531A
JPH04364531A JP3140221A JP14022191A JPH04364531A JP H04364531 A JPH04364531 A JP H04364531A JP 3140221 A JP3140221 A JP 3140221A JP 14022191 A JP14022191 A JP 14022191A JP H04364531 A JPH04364531 A JP H04364531A
Authority
JP
Japan
Prior art keywords
address
instruction
circuit
program
branch
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
Application number
JP3140221A
Other languages
English (en)
Inventor
Yasuhiro Toyoda
豊田 泰裕
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.)
Toshiba Corp
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering 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 Toshiba Corp, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP3140221A priority Critical patent/JPH04364531A/ja
Publication of JPH04364531A publication Critical patent/JPH04364531A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラム暴走検出回路
を内蔵したマイクロプロセッサに関する。
【0002】
【従来の技術】半導体技術の進歩により、マイクロプロ
セッサ、周辺制御用LSI、メモリLSIが非常に安価
に供給されるようになり、これらを適宜組合わせるだけ
で比較的高性能なパーソナルコンピュータを構築出来る
ようになった。特にこのパーソナルコンピュータにおけ
る制御中枢となるマイクロプロセッサの性能向上は目覚
ましく、8ビット、16ビット、32ビットテータ処理
は勿論のこと、最近では64ビット処理あるいはキャッ
シュ内蔵のものまで出現してきた。
【0003】ところで、上述したパーソナルコンピュー
タは内蔵のメモリにプログラムを格納し、プログラムカ
ウンタに設定されるアドレスに従い、その内容を読み出
しながらデータ処理を実行する。プログラムカウンタは
次に実行すべき命令のメモリアドレスを示しており、1
命令の実行が終了する毎に更新され、次のアドレスが設
定される。このようなシステムにて通常のデータ処理中
、プログラムの暴走を検出するには、例えば、ウォッチ
ドッグタイマのようにファームウェアに依存しており、
プログラム中にタイマをリセットさせる命令を入れてお
き、タイマ(を構成するカウンタ)の値がある設定値以
上になった場合に暴走と判断することで暴走検出を行な
っていた。
【0004】
【発明が解決しようとする課題】従来はタイマのカウン
ト値がある一定値を示すことで暴走検出を行なっていた
ため、即座に暴走検出を行なうことができない。
【0005】これを解決するためにマイクロプロセッサ
内部に、プログラムカウンタの値をコンペアにより検査
する回路を持ち、ファームウェアに依存せず、即座に暴
走を検出するハードウェアが考えられる。
【0006】しかしながら、メモリに格納された命令が
シーケンシャルに実行される場合はいいとしても分岐命
令や割込み命令処理時にコンペア操作を禁止するための
手段が必要となり、従って暴走検出ができず、その時点
で暴走していても検出不可能であった。
【0007】本発明は、ファームウェアに依存すること
なく、分岐命令や割込み命令も含めた全ての命令処理に
おいて即座に暴走検出可能なマイクロプロセッサを提供
することを目的とする。
【0008】
【課題を解決するための手段】本発明のマイクロプロセ
ッサは、命令実行に先立ち、フェッチした命令のバイト
数及び更新前のアドレスをもとに次に実行すべき命令の
アドレスを算出するアドレス算出回路と、このアドレス
算出回路によって算出されたアドレスを記憶するための
記憶回路と、命令実行後、プログラムカウンタの更新さ
れたアドレスと上記記憶回路に記憶されたアドレスとの
比較を実行する比較回路と、実行される命令の種類を判
別し、その判別結果に応じて比較回路による比較操作を
制御する比較制御回路とを具備することを特徴とする。
【0009】また、本発明は、比較制御回路によって分
岐命令や割込み命令等のアドレスシーケンスを変更する
命令が検出された場合に、同変更命令の実行前にその変
更先アドレスを上記記憶回路に記憶すると共に、再度同
一アドレスから命令をフェッチし、相対分岐であるなら
ば、更新前のアドレスとフェッチされたディスプレース
メントをもとに上記アドレス算出回路により分岐先アド
レスを生成してプログラムカウンタに設定し、絶対分岐
であるならば、フェッチされたアドレスをプログラムカ
ウンタに設定し、しかる後にプログラムカウンタの内容
と記憶回路の内容との比較回路によるコンペア操作を実
行させて、プログラムの暴走検出を行なうことも特徴と
する。
【0010】
【作用】フェッチされた命令のバイト数と更新前のプロ
グラムカウンタの値との加算をアドレス算出回路にて行
なわせて、次に実行すべき命令のアドレスを算出し、記
憶回路にセーブする。次に命令実行に伴いプログラムカ
ウンタを更新し、この更新後のアドレスと記憶回路にセ
ーブしておいたアドレスとを比較回路にて比較させる。 ここで不一致ならプログラム暴走と判断し、マイクロプ
ロセッサの動作を停止させる。
【0011】但し、フェッチされた命令が分岐命令の場
合には、分岐命令実行前にその分岐先(飛び先)アドレ
スを記憶回路にセーブすると共に、再度同一アドレスか
ら命令(分岐命令)をフェッチして、その命令で示され
るアドレスをプログラムカウンタにセーブし、比較回路
によるコンペア操作により暴走検出を行なう。このこと
により、分岐命令を含む全ての命令処理において即座に
プログラムの暴走検出が可能となる。
【0012】
【実施例】図1は本発明が使用されるパーソナルコンピ
ュータの構成例を示すブロック図である。
【0013】図において、1はマイクロプロセッサ(μ
CPU)であり、システムRAM2に格納されたプログ
ラムもしくはBIOS−ROM3(基本入出力システム
)に格納されたプログラム(BIOSプログラム)を読
み出し、演算制御もしくはシステムに接続される各入出
力装置の制御を行なう。4、5、6は入出力装置であり
、それぞれデータ入力を行なうキーボード(KB)、外
部記憶となるフロッピーディスク装置(FDD)、デー
タ表示がなされるディスプレイ装置(CRT)である。 これら入出力装置はいずれもBIOSプログラムの制御
を受け、いずれもマイクロプロセッサ1によってプログ
ラム可能な入出力コントローラであるキーボードコント
ローラ(KBC)7、フロッピーディスクコントローラ
(FDC)8、ディスプレイコントローラ(CRTC)
9を介して接続される。
【0014】図2は本発明の実施例を示すブロック図で
あり、図1に示すマイクロプロセッサ1の内部構成のう
ち、本発明と関係する部分のみ抽出して示したものであ
る。図において、11はアドレス生成回路であり、アド
レスカウンタ13に設定すべきアドレスを決定する。1
2は記憶回路であり、アドレス生成回路11によって算
出されるアドレスがセーブされる。13はアドレスカウ
ンタ(プログラムカウンタ)であり、次に実行すべき命
令が格納されているアドレスを示す。
【0015】14は比較回路であり、記憶回路12にセ
ーブされたアドレスとアドレスカウンタ13に設定され
た値のコンペア(比較)を行なう。15は比較制御回路
であり、上記比較回路14によるコンペア操作の制御を
行なうもので、主に命令デコード回路ならびにタイミン
グクロック生成回路等命令フェッチ実行のための制御回
路から成る。
【0016】以下、本発明実施例の動作について説明す
る。まず本実施例では、実行すべき命令が分岐命令か否
かを判別する図2に示す比較制御回路15(に内蔵のデ
コード回路)を備え、分岐命令時、その飛び先アドレス
(分岐先アドレス)を記憶回路12にセーブしておき、
再度その命令の読み出しを行ない、その命令で示される
飛び先アドレスを、記憶回路12にセーブしているアド
レスとコンペアし、不一致なら暴走とみなすものである
。
【0017】即ち分岐命令時には、その命令に従ってア
ドレスカウンタ13に設定されるべき値(飛び先アドレ
ス)を算出して記憶回路12にセーブし、そこで再度同
命令を読み出してアドレスを算出して今度はアドレスカ
ウンタ13にセーブし、記憶回路12の値とアドレスカ
ウンタ13の値とを比較する。この時、一致したならば
通常動作に進み、不一致ならば暴走とみなす。
【0018】次に、上記した図2の構成の動作を更に詳
細に説明する。まず、(マイクロプロセッサ1に)フェ
ッチされた命令の実行に先立ち、その命令のバイト数と
更新前のアドレスカウンタ13の値(即ち、フェッチさ
れた命令のアドレス)との加算を、アドレス生成回路1
1にて行なわせ、その加算結果を記憶回路12にセーブ
する。この時点で記憶回路12は、これから実行する命
令の更に次に実行すべきアドレスを示していることにな
る。
【0019】次に、命令実行に伴いアドレスカウンタ1
3を更新する。これによりプログラム暴走のない正常状
態ならば、アドレスカウンタ13の値は次に実行すべき
命令のアドレスを示していて、記憶回路12と同じ値に
なっているはずである。そこで比較制御回路15の制御
により、比較回路14にて記憶回路12の値とアドレス
カウンタ13の値のコンペアを行なわせ、不一致ならば
プログラム暴走と判断する。
【0020】以上は、通常の命令実行時(命令実行がシ
ーケンシャルに行なわれる場合)におけるプログラム暴
走の検出であるが、分岐命令や割込み命令等のアドレス
シーケンスを変更する命令、例えば分岐命令の実行時に
は、次のようにしてプログラム暴走の検出を行なう。
【0021】即ち分岐命令実行時においては、分岐命令
実行前にその分岐先アドレスを記憶回路12にセーブし
ておく。更に分岐命令実行前に、再度同一アドレスから
命令(正常であれば同じ分岐命令)をフェッチし、命令
が相対分岐ならば、更新前のアドレスカウンタ13の値
とフェッチされた命令の示すディスプレースメントとを
アドレス生成回路11にて加算して飛び先アドレスを生
成し、アドレスカウンタ13にセーブする。これに対し
、命令が絶対分岐ならば、フェッチされた命令の示すア
ドレス(飛び先アドレス)をそのままアドレスカウンタ
13にセーブする。
【0022】この状態で、比較制御回路15は、比較回
路14にて記憶回路12の内容とアドレスカウンタ13
の内容とのコンペアを行なわせることにより、暴走検出
を行なう。
【0023】尚、比較回路14によるコンペア出力に応
じてマイクロプロセッサの動作を停止させる、あるいは
初期ルーチンに戻る回路を付加することにより、プログ
ラム暴走回避をはかることも可能である。
【0024】
【発明の効果】本発明によれば、分岐命令を含む全ての
命令処理において即座にプログラムの暴走検出が可能と
なり、信頼性の向上がはかれる。
【図面の簡単な説明】
【図1】本発明が使用されるパーソナルコンピュータの
構成例を示すブロック図。
【図2】本発明の実施例を示すブロック図。
【符号の説明】
11…アドレス生成回路(アドレス算出回路)、12…
記憶回路、13…アドレスカウンタ(プログラムカウン
タ)、14…比較回路、15…比較制御回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  メモリにプログラムを格納し、プログ
    ラムカウンタに設定されるアドレスに従い、その内容を
    実行するマイクロプロセッサにおいて、命令実行に先立
    ち、フェッチした命令のバイト数及び更新前のアドレス
    をもとに次に実行すべき命令のアドレスを算出するアド
    レス算出回路と、このアドレス算出回路によって算出さ
    れたアドレスを記憶するための記憶回路と、命令実行後
    、上記プログラムカウンタの更新されたアドレスと上記
    記憶回路に記憶されたアドレスとの比較を実行する比較
    回路と、実行される命令の種類を判別し、その判別結果
    に応じて上記比較回路による比較操作を制御する比較制
    御回路と、を具備することを特徴とするマイクロプロセ
    ッサ。
  2. 【請求項2】  上記比較制御回路によってアドレスシ
    ーケンスを変更する命令が検出された場合に、同変更命
    令の実行前にその変更先アドレスを上記記憶回路に記憶
    すると共に、再度同一アドレスから命令をフェッチし、
    相対分岐であるならば、更新前のアドレスとフェッチさ
    れたディスプレースメントをもとに上記アドレス算出回
    路により分岐先アドレスを生成して上記プログラムカウ
    ンタに設定し、絶対分岐であるならば、フェッチされた
    アドレスを上記プログラムカウンタに設定し、しかる後
    に上記プログラムカウンタの内容と上記記憶回路の内容
    との上記比較回路によるコンペア操作を実行させて、プ
    ログラムの暴走検出を行なうことを特徴とする請求項1
    記載のマイクロプロセッサ。
JP3140221A 1991-06-12 1991-06-12 マイクロプロセッサ Pending JPH04364531A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3140221A JPH04364531A (ja) 1991-06-12 1991-06-12 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3140221A JPH04364531A (ja) 1991-06-12 1991-06-12 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH04364531A true JPH04364531A (ja) 1992-12-16

Family

ID=15263727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3140221A Pending JPH04364531A (ja) 1991-06-12 1991-06-12 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH04364531A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728669A (ja) * 1993-07-07 1995-01-31 Nec Corp マイクロプロセッサ
WO2021192485A1 (ja) * 2020-03-27 2021-09-30 パナソニックIpマネジメント株式会社 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728669A (ja) * 1993-07-07 1995-01-31 Nec Corp マイクロプロセッサ
WO2021192485A1 (ja) * 2020-03-27 2021-09-30 パナソニックIpマネジメント株式会社 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置
JP2021157594A (ja) * 2020-03-27 2021-10-07 パナソニックIpマネジメント株式会社 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置
US11947408B2 (en) 2020-03-27 2024-04-02 Panasonic Intellectual Property Management Co., Ltd. Anomaly detection method, anomaly detection recording medium, anomaly detection device, rewriting method, and rewriting device

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
JP3242508B2 (ja) マイクロコンピュータ
JPS58125148A (ja) 条件付きブランチ命令の予測装置
US20040123090A1 (en) Providing access to system management information
US7752427B2 (en) Stack underflow debug with sticky base
US5867658A (en) Method and apparatus for implementing a stop state for a processor in a multiprocessor system
JPH07120284B2 (ja) データ処理装置
JPS6250934A (ja) 処理装置の割込制御方式
US6990569B2 (en) Handling problematic events in a data processing apparatus
JP2014182825A (ja) オーバーロードチェックを実行する命令
JPS62197831A (ja) デ−タ処理装置
JPH05216721A (ja) 電子計算機
JPH0377137A (ja) 情報処理装置
JPH0535538A (ja) マイクロプロセツサ
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP3729250B2 (ja) 情報処理装置及び電子機器
JPH03208132A (ja) シングルチツプマイクロコンピユータ
JP2711159B2 (ja) プロセッサ動作状態調整方法
JPS6152747A (ja) マイクロプロセツサ
JPH0895946A (ja) マイクロコンピュータ
JPS61182137A (ja) タグ付デ−タ処理装置
JP2503210B2 (ja) マイクロプログラム制御装置
JPH0555905B2 (ja)
JPH0471219B2 (ja)