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

マイクロコンピュータ

Info

Publication number
JPH07302205A
JPH07302205A JP6094723A JP9472394A JPH07302205A JP H07302205 A JPH07302205 A JP H07302205A JP 6094723 A JP6094723 A JP 6094723A JP 9472394 A JP9472394 A JP 9472394A JP H07302205 A JPH07302205 A JP H07302205A
Authority
JP
Japan
Prior art keywords
instruction
signal
address
stop instruction
rom
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
JP6094723A
Other languages
English (en)
Inventor
Akihiro Hashimoto
明宏 橋本
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP6094723A priority Critical patent/JPH07302205A/ja
Publication of JPH07302205A publication Critical patent/JPH07302205A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】CPU暴走時等に、停止命令以外のフェッチ信
号により、誤って停止命令がフェッチ/デコードされて
しまった場合でも、実際に停止命令が実行されてしまう
のを防止する。 【構成】制御部20内に、停止命令を記憶しているRO
Mのアドレスを予め記憶しておき、プログラムカウンタ
8から出力されるフェッチ信号を制御部20に送って、
前記予め記憶されているROMアドレスと比較する。こ
の両者が一致し、かつ、停止命令の命令信号が入力され
たときにのみ、停止命令を実行するための停止命令実行
信号を出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、暴走時の誤ったデー
タフェッチによって誤った停止命令が実行されてしまう
のを防止することのできる、マイクロコンピュータ(以
下、マイコンという)に関する。
【0002】
【従来の技術】まず、マイコンの概略構成を説明する。
図6はマイコンの一例であるワンチップマイコンの概略
構成図である。
【0003】マイコンは、多数の制御ブロック1〜11
から構成されており、それぞれの制御ブロック1〜11
はシステムバス12により接続されて、マイコン動作
(命令実行)が行われる。システムバス12は、アドレ
スバス、データバス、コントロールバスからなる信号ラ
インである。
【0004】各制御ブロックを説明する。CGは1はク
ロックジェネレータであり、システムクロックを発生さ
せる。デコーダ2は、データバスから送られる命令コー
ド(オペコード)をデコードし、制御部3に対して命令
信号(デコード信号)を出力する。制御部3は、命令信
号に基づいて、各制御ブロックに対し、コントロールバ
スを介して各制御ブロックへ制御信号(コントロール信
号)を出力する。ROM4はプログラムが格納されてい
るメモリ、RAM5はプログラムの実行における各デー
タの退避を行うメモリ、ALU6は論理演算を行う演算
装置、レジスタ7は論理演算等で使用される一時記憶メ
モリである。また、PC8は、ROM4のプログラム実
行アドレスを指し示すプログラムカウンタ、フラグ9
は、論理演算等により動作するフリップフロップ回路で
ある。出力ポート部10および入力ポート部11は、外
部への入出力回路部である。
【0005】マイコンの命令実行の動作を説明する。
【0006】マイコンにおいて、命令の実行は、ROM
4から命令を取り出す命令取出サイクル(フェッチサイ
クル)と、その命令を実行する命令実行サイクルとに分
けられる。命令取出サイクルは、指定されたROMアド
レスから命令コードを取り出す(フェッチする)サイク
ルである。命令取出サイクルでは、PC8が、実行すべ
き命令のROMアドレスをアドレスバスを介して指定す
ると、指定されたROMアドレスの命令コードがデータ
バスを介して伝達される(命令コードがフェッチされ
る)。この命令コードは、デコーダ2によってどの命令
であるかが解読された後、制御部3へ命令信号として伝
えられる。命令実行サイクルでは、制御部3が、命令信
号により、その命令が実行される制御ブロックに対して
制御信号をコントロールバスを介して伝達する。その結
果、制御信号を受けた制御ブロックにて命令が実行され
る。
【0007】図7は、命令取出サイクルのアドレスバス
の状態、およびデータバスの状態を示すタイミングチャ
ートである。通常の場合の命令取出サイクルは、基準ク
ロックφの立ち上がりt1を受けて、PC8がROMア
ドレスを指定する。つまり、基準クロックφの立ち上が
りt1ごとに、PC8がインクリメントし、次のROM
アドレス(PC番地、PC+1番地、PC+2番地・・
・)を順に指定してゆく(フェッチ信号を出力する)。
すると、t2のタイミングで、指定されたROMアドレ
スから命令コードが取り出され、データバスを介してデ
コーダ2に伝達されて、デコーダ2で解読された後、命
令信号として制御部3へ伝達される。
【0008】通常の場合には、上記したようにフェッチ
信号に対応したROMアドレスの命令コードのフェッチ
/デコードが行われるが、CPU(制御部)の暴走時等
には、フェッチ信号で指定されたアドレス以外の命令コ
ードのフェッチ/デコードがされてしまうことがある。
このような誤った命令コードのフェッチ/デコードにお
いて、特に、停止命令をフェッチしてはいけないのに停
止命令をフェッチしてしまうときに大きな問題が生じる
ことがある。例えば、マイコンの発振時での停止命令の
取り出しである。CPUの暴走時に発振停止命令が取り
出されてその処理が実行されてしまうと、例えば、プロ
グラム上の発振機能(ループ繰り返し)によりウオッチ
ドック機能を実現している暴走検知装置においては、暴
走検知機能が停止してしまう危険性がある。また、他の
マイコン機能においても、発振停止状態になれば動作し
なくなってしまうおそれがある。このため、誤ったデー
タフェッチによる停止命令の実行を防止する必要があ
る。
【0009】そのための構成として、例えば、特開平1
−123333号公報においては、CPUの暴走時等に
誤った停止命令が実行されてしまうのを防止するため、
停止命令のワード数を2ワード以上とすることが提案さ
れている。
【0010】該公報の構成は、ROMにおいて、予め停
止命令を二つのアドレス“PC”および“PC+1”に
分割して記憶しておき、両方に記憶された命令コード
“停止命令命令コード1”および“停止命令命令コード
2”の両方が連続してフェッチされなければ停止命令信
号を出力しないというものである。例えば、図8に示す
ように、「PC番地」および「PC+1番地」を指定す
ることにより、停止命令コード1,停止命令コード2を
連続して取り出し、これによって停止命令を実行するも
のである。このように、停止命令を2ワード以上で構成
すれば、全ての停止命令の命令コードが連続してフェッ
チされない限り停止命令が実行されることがないため、
誤った停止命令の実行を防止することができる。
【0011】
【発明が解決しようとする課題】上記の特開平1−12
3333号公報のように、停止命令を2ワード以上で構
成すると、CPUの暴走等が生じても、停止命令の全ワ
ードが連続してフェッチされる可能性が低いために、誤
った停止命令の実行の確率が非常に低くなる。しかし、
誤った命令コードの取り出しが連続した場合に、停止命
令が実行されてしまうおそれは非常に低い確率ではある
ものの、依然として残っていた。また、上記公報の構成
では、一つの停止命令に対し、複数のワードを備えなけ
ればならなかった。
【0012】この発明は上記問題点に鑑み、停止命令を
単一のワードで構成した場合でも、フェッチ信号出力後
の段階での誤動作により、誤った停止命令の実行がされ
てしまうのを防止することのできるマイコンを提供する
ことを目的とする。
【0013】
【課題を解決するための手段】この発明は、所定のRO
Mアドレスに停止命令を記憶し、フェッチ信号によって
前記ROMアドレスが指定されたとき、前記停止命令を
フェッチし、フェッチされた停止命令に基づいて停止命
令実行信号を出力する制御部と、を備えたマイクロコン
ピュータにおいて、前記ROMアドレスを記憶するアド
レス記憶手段と、フェッチ信号が出力されたとき、該フ
ェッチ信号が指定するROMアドレスと前記アドレス記
憶手段に記憶されたROMアドレスとを比較する比較手
段と、前記比較手段により両ROMアドレスの一致が判
別され、かつ、前記ROMから停止命令がフェッチされ
たとき、前記停止命令実行信号を出力する手段と、を備
えたことを特徴とする。
【0014】
【作用】この発明においては、以下のように停止命令実
行信号が出力される。
【0015】フェッチ信号によって停止命令のROMア
ドレスが指定された場合には、該ROMアドレスから停
止命令が取り出される。一方、比較手段は、前記フェッ
チ信号のROMアドレスと、予め記憶されている停止命
令用のROMアドレスとを比較する。正常動作の場合に
は、指定されたROMアドレスが停止命令のROMアド
レスと一致するため、比較結果として一致信号を出力す
る。このように、停止命令の取り出し、比較手段からの
一致信号の出力、の両方が満たされたときには、停止命
令実行信号が出力される。
【0016】一方、CPUの暴走時等に、指定されたR
OMアドレスが停止命令に係るものではないにもかかわ
らず、停止命令の命令コードのフェッチ/停止命令信号
のデコードが行われてしまった場合には、比較手段から
一致信号が出力されない。フェッチ信号のROMアドレ
スと、予め記憶されたROMアドレスとが一致しないか
らである。したがって、この場合には、たとえ停止命令
の命令コードのフェッチ/停止命令信号のデコードが行
われてしまったとしても、停止命令実行信号が出力され
ることはない。
【0017】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0018】図1はこの発明の実施例であるマイコンの
要部ブロック図である。図1では、停止命令処理を実行
する部分を抜き出して示しているが、他部の構成は、図
7と同様であり、また、図1中図6と同一構成部は同一
番号で示している。また、図2は制御部内の一部の構成
を示したブロック図である。
【0019】この実施例の構成が従来の構成と異なる点
は、PC8によって指定されたROMアドレスが制御部
20に送られ、制御部20内でアドレス比較が行われる
点である。
【0020】制御部20は、図2に示すように、コンペ
ア部21およびAND回路22を有している。コンペア
部21にはROMアドレスが設定されており、そのRO
Mアドレスを、前記PC8から送られたROMアドレス
と比較する。この比較結果はAND回路22に出力され
る。AND回路22には、前記コンペア部21の出力
と、デコーダ2にてデコードされた命令が停止命令であ
る場合に、その信号(停止命令信号)が入力される。
【0021】図2を参照して、制御部20内の停止命令
実行信号の出力部分の動作を説明する。
【0022】コンペア部21には、停止命令がフェッチ
/デコードされた時のアドレス値(アドレス信号)がア
ドレスバスより入力される。コンペア部21は、入力さ
れたアドレス値を、停止命令が記憶されている所定のR
OMアドレス値と比較する。その結果、両者が一致して
いれば、一致信号をAND回路22へ入力する。AND
回路22は、該一致信号と、デコーダ2から入力される
停止命令信号の両方が入力されたときにのみ、コントロ
ールバスを介して該当する制御ブロックへ停止命令実行
信号を出力する。
【0023】したがって、制御ブロックへの停止命令の
実行状態は次のようになる。
【0024】マイコンが正常に動作している状態で、P
C8から停止命令のROMアドレスを指定するフェッチ
命令が出力された場合を説明する。前記停止命令のRO
Mアドレスは、停止命令の命令コードの取り出しを行わ
せるとともに、コンペア部21に入力される。コンペア
部21は、該ROMアドレスを予め設定されているRO
Mアドレスと比較するが、この場合にはROMアドレス
が一致するため、一致信号をAND回路22に出力す
る。一方、ROM5から取り出された命令コードは、デ
コーダ2によってデコードされた後、停止命令信号とし
て制御部20のAND回路22に入力される。AND回
路22は、この場合、一致信号、停止命令信号の両方が
入力されるため、停止命令実行信号を出力する。なお、
図3は、命令取出サイクルのタイミングを示す図であ
り、停止命令が1つのワードで構成されているため、図
示するように、1回の命令取出サイクルで停止命令を取
り出すことができる。
【0025】一方、マイコンの暴走等によって停止命令
のフェッチ信号が出力されていないにもかかわらず、停
止命令の命令コードのフェッチ/デコードが行われた場
合には次のようになる。制御部20内のコンペア部21
は、停止命令のROMアドレスが入力されないため、一
致信号を出力しない。一方、停止命令の命令コードが取
り出されてデコードされ、その信号は制御部20のAN
D回路22へと入力される。しかし、AND回路22で
は、一致信号が入力されないために、停止命令実行信号
を出力しない。したがって、フェッチ/デコードの誤り
により停止命令が実行されてしまうことはない。
【0026】このようにして、制御ブロックを停止させ
るフェッチ命令がされたときにのみ、停止命令実行実行
が出力される。
【0027】上記コンペア部21の具体的な構成例を示
す。
【0028】図4は、コンペア部21の構成例を示す図
であり、コンペア部21にアドレスデータが予め固定さ
れている例を示している。コンペア部21は、アドレス
の桁数分の入力端子を有するAND回路31と、AND
回路31の一部の入力端子に接続されたNOT回路32
と、を備えている。AND回路31は、NOT回路32
を備えない入力端子に“1”が入力され、かつ、NOT
回路32を備える入力端子に“0”が入力されたときに
一致信号“1”を出力する。図3の例では、「1010
1100」が予め記憶されている。このアドレスは、誤
った命令の実行を防止する必要のある停止命令を記憶し
ているROMのアドレスである。
【0029】図5は、コンペア部21の他の構成例を示
している。図4に示す例は、アドレスデータがハード的
に固定されている例であるが、図5に示す例では、アド
レスデータをソフト的に適宜設定できるようにしてい
る。AND回路41の各入力端子には、排他的OR回路
42が接続され、該排他的NOR回路42には、レジス
タ43に設定されているレジスタ信号と、アドレスバス
からのアドレス信号とが入力される。そして、両信号の
比較結果がAND回路41へ入力される。例えば、いま
レジスタ43に「10101100」が設定されている
とすると、アドレス信号として「10101100」が
入力されると、排他的NORの出力信号が全て“1”と
なるから、AND回路41から一致信号“1”が出力さ
れる。この構成において、レジスタ43に設定するデー
タ(ROMアドレス)は、スイッチ等を用いて半固定的
に設定してもよいし、また、マイコンへの電源投入時
に、ソフト的に設定されるようにしてもよい。
【0030】なお、誤った停止命令の実行を防止する必
要のある停止命令の数は、単数または複数の場合がある
が、一つの停止命令の誤った実行を防止する場合には図
2に示したコンペア部21およびAND回路22を1セ
ットだけ設ければよいが、複数の停止命令の誤った実行
を防止する場合には、個々に対してコンペア部21およ
びAND回路22をそれぞれ備え、個々のコンペア部に
該当する停止命令を記憶したROMアドレスを設定す
る。
【0031】
【発明の効果】この発明によれば、CPUの暴走時等
に、ROMからの命令信号の取り出しに支障が生じて誤
った命令信号の取り出しが行われてしまった場合でも、
その命令信号により直ちに停止命令実行信号が出力され
てしまうことがなく、フェッチ信号の指定アドレスの確
認をしてから停止命令実行信号が出力される。これによ
り、停止命令のフェッチ信号が出力されたときにのみ停
止命令実行信号が出力されることになり、CPU暴走時
に発振停止状態になってしまう等の問題を防止できる。
【0032】また、停止命令を複数のワードで構成する
ことなく、誤った停止命令の実行を防止でき、プログラ
ムの簡易化等の利点がある。
【図面の簡単な説明】
【図1】この発明の実施例であるマイコンの要部ブロッ
ク図である。
【図2】同マイコンの制御部内の一部構成を示すブロッ
ク図である。
【図3】同マイコンの停止命令フェッチ時のタイミング
図である。
【図4】同マイコンの比較手段の構成例を示す図であ
る。
【図5】同マイコンの比較手段の他の構成例を示す図で
ある。
【図6】一般的なマイコンの構成例を示すブロック図で
ある。
【図7】一般的なマイコンの命令フェッチ時のタイミン
グを示す図である。
【図8】従来の技術による停止命令フェッチ時のタイミ
ング図である。
【符号の説明】
4 ROM 8 プログラムカウンタ(PC) 20 制御部 21 コンペア部 22 AND回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】所定のROMアドレスに停止命令を記憶
    し、フェッチ信号によって前記ROMアドレスが指定さ
    れたとき、前記停止命令をフェッチし、フェッチされた
    停止命令に基づいて停止命令実行信号を出力する制御部
    と、を備えたマイクロコンピュータにおいて、 前記ROMアドレスを記憶するアドレス記憶手段と、 フェッチ信号が出力されたとき、該フェッチ信号が指定
    するROMアドレスと前記アドレス記憶手段に記憶され
    たROMアドレスとを比較する比較手段と、 前記比較手段により両ROMアドレスの一致が判別さ
    れ、かつ、前記ROMから停止命令がフェッチされたと
    き、前記停止命令実行信号を出力する手段と、 を備えたことを特徴とするマイクロコンピュータ。
JP6094723A 1994-05-09 1994-05-09 マイクロコンピュータ Pending JPH07302205A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6094723A JPH07302205A (ja) 1994-05-09 1994-05-09 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6094723A JPH07302205A (ja) 1994-05-09 1994-05-09 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH07302205A true JPH07302205A (ja) 1995-11-14

Family

ID=14118049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6094723A Pending JPH07302205A (ja) 1994-05-09 1994-05-09 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH07302205A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112309470A (zh) * 2019-07-26 2021-02-02 爱思开海力士有限公司 存储器装置及其操作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112309470A (zh) * 2019-07-26 2021-02-02 爱思开海力士有限公司 存储器装置及其操作方法
CN112309470B (zh) * 2019-07-26 2024-01-26 爱思开海力士有限公司 存储器装置及其操作方法

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US5005118A (en) Method and apparatus for modifying micro-instructions using a macro-instruction pipeline
KR100597328B1 (ko) 브랜치 제어를 하는 데이터 처리 시스템 및 그 방법
US5394558A (en) Data processor having an execution unit controlled by an instruction decoder and a microprogram ROM
US5838896A (en) Central processing unit for preventing program malfunction
JPH10333939A (ja) マイクロプロセッサ
EP0270081B1 (en) Microprogram controller receiving interrupt request during instruction execution
US5185870A (en) System to determine if modification of first macroinstruction to execute in fewer clock cycles
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JPH07302205A (ja) マイクロコンピュータ
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
US5838898A (en) Microprogram controlled data processing system having a runaway monitor function
US4991130A (en) Normalization control system for floating point arithmetic operation
US5860155A (en) Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
US5621909A (en) Specialized millicode instruction for range checking
US20040019773A1 (en) Illegal instruction processing method and processor
JPH05100883A (ja) データ処理用半導体装置
US5182754A (en) Microprocessor having improved functional redundancy monitor mode arrangement
US6662296B1 (en) Method and system for testing millicode branch points
US6473864B1 (en) Method and system for providing power management to a processing system
JP2569693B2 (ja) マイクロコンピュータ
JPS6226487B2 (ja)
JP3090065B2 (ja) マイクロコンピュータ
JP3414579B2 (ja) プログラマブルコントローラ
JP3129873B2 (ja) マイクロコンピュータ