JP5508903B2 - Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method - Google Patents
Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method Download PDFInfo
- Publication number
- JP5508903B2 JP5508903B2 JP2010049449A JP2010049449A JP5508903B2 JP 5508903 B2 JP5508903 B2 JP 5508903B2 JP 2010049449 A JP2010049449 A JP 2010049449A JP 2010049449 A JP2010049449 A JP 2010049449A JP 5508903 B2 JP5508903 B2 JP 5508903B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- cpu
- counter
- abnormality
- value
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims description 112
- 230000005856 abnormality Effects 0.000 title claims description 111
- 230000010365 information processing Effects 0.000 title claims description 27
- 239000004065 semiconductor Substances 0.000 title claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 6
- 239000000725 suspension Substances 0.000 claims description 2
- 238000000034 method Methods 0.000 description 24
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 8
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 8
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 7
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置、半導体集積回路装置に関し、特に情報処理装置、半導体集積回路の動作異常を検出する異常検出方法に関する。 The present invention relates to an information processing apparatus and a semiconductor integrated circuit device, and more particularly to an abnormality detection method for detecting an operation abnormality of the information processing apparatus and the semiconductor integrated circuit.
近年、世界的な環境問題に対する意識の高まりに伴い、消費電力や待機電力への規制が求められるようになってきた。また、家庭向けの防災・セキュリティ機器や携帯機器など、身の周りの電子機器はますます拡大している。このような電子機器において、電池の長寿命化や小型化といった点での開発競争が激しくなっており、システムレベルでの省エネが重要な課題となってきている。 In recent years, with increasing awareness of global environmental issues, regulations on power consumption and standby power have been required. In addition, electronic devices around us, such as home-use disaster prevention / security devices and portable devices, are expanding. In such electronic devices, competition for development in terms of extending the life and size of batteries has become intense, and energy saving at the system level has become an important issue.
システムの待機状態を制御するマイクロコントローラや、電池駆動の小型システム向けのマイクロコントローラにおいて、低消費電力の観点から一部の周辺機能のみが動作する待機モードと、周辺機能とCPUの双方が動作する通常動作モードを交互に繰り返す間欠動作が考えられる。外部装置やセンサから出力される信号の定期的な取り込みを目的とする応用では、通常動作モードをイベントドリブンで起動させることにより消費電力を下げることが一般的に行われる。 In a microcontroller that controls the standby state of a system or a microcontroller for a battery-powered small system, a standby mode in which only some peripheral functions operate from the viewpoint of low power consumption, and both the peripheral functions and the CPU operate. An intermittent operation in which the normal operation mode is alternately repeated can be considered. In applications intended to periodically capture signals output from external devices and sensors, it is common to reduce power consumption by activating the normal operation mode in an event-driven manner.
一方、半導体集積回路のデジタル回路において、フリップフロップに入力されるクロック信号の代わりに、フリップフロップ前後の回路のハンドシェーク信号をクロック入力として用いることにより、クロック同期動作による消費電流を削減する非同期設計技術がある。イベントドリブンで動作させるマイクロコントローラにおいても消費電力を削減するためにクロックを使用しない非同期設計技術を使うことが考えられる。 On the other hand, in a digital circuit of a semiconductor integrated circuit, an asynchronous design technology that reduces current consumption due to clock synchronous operation by using a handshake signal of a circuit before and after the flip-flop as a clock input instead of a clock signal input to the flip-flop. There is. Even in an event-driven microcontroller, it is conceivable to use an asynchronous design technique that does not use a clock in order to reduce power consumption.
一般的なマイクロコントローラにおいて、CPU動作の異常検出は、ウォッチドッグタイマと言われるタイマカウンタを用いる方法で行われることが多い。ウォッチドッグタイマによる方法は、カウンタはクロックをカウントし、一定時間毎にCPUが命令によってカウンタがオーバーフローしないようにクリアする。CPUが正常に動作していれば、カウンタがオーバーフローすることは無い。オーバーフローが検出されると、CPUの暴走などによる異常が起きたと判定される。すなわち、ウォッチドッグタイマによる異常検出方法は、異常検出にクロックを必要とするため、非同期化することはできない。よって、非同期回路でも実現できる異常検出回路の実現が期待される。 In a general microcontroller, abnormal detection of CPU operation is often performed by a method using a timer counter called a watchdog timer. In the method using the watchdog timer, the counter counts the clock, and the CPU clears the counter so as not to overflow due to an instruction at regular intervals. If the CPU is operating normally, the counter will not overflow. When an overflow is detected, it is determined that an abnormality has occurred due to a CPU runaway or the like. In other words, the abnormality detection method using the watchdog timer cannot be asynchronous because a clock is required for abnormality detection. Therefore, it is expected to realize an abnormality detection circuit that can be realized even with an asynchronous circuit.
また、CPUが非同期設計技術により実現された場合、例えば、待機状態で電源ノイズなどにより、意図せずに動作のトリガとなる信号にノイズが乗ると、ハンドシェーク回路が誤動作してプログラムカウンタや各種フラグレジスタの値が誤った値に更新されてしまう可能性がある。このような可能性は、同期方式のCPUにおけるクロック停止時の誤動作よりも高いと考えられ、より安全なシステムを実現するための対策が望まれる。 In addition, when the CPU is realized by an asynchronous design technology, for example, when noise is unintentionally triggered by a power supply noise in a standby state, the handshake circuit malfunctions and the program counter and various flags The register value may be updated to an incorrect value. Such a possibility is considered to be higher than a malfunction at the time of clock stop in a synchronous CPU, and a countermeasure for realizing a safer system is desired.
特開2000−20352号公報には、マイクロコントローラが割り込み処理を行う際に使用されるスタックポインタを監視することによって異常検出する技術が記載されている。スタックポインタは、戻り先のアドレス情報等を格納するスタックの格納先アドレスを指定する。そのスタックにデータが過剰に退避された場合や、スタックからデータが過剰に復帰された場合に、異常として検出される。 Japanese Patent Application Laid-Open No. 2000-20352 describes a technique for detecting an abnormality by monitoring a stack pointer used when a microcontroller performs an interrupt process. The stack pointer designates a storage destination address of a stack for storing return destination address information and the like. An error is detected when data is excessively saved in the stack or when data is excessively restored from the stack.
このような技術は、非同期設計技術が適用されたイベントドリブンで動作するマイクロコントローラの異常検出回路として適用可能である。しかし、スタックポインタに影響しないCPU暴走による異常や、マイクロコントローラがデッドロック状態に陥ってしまう異常は検出不可能である。すなわち、スタックポインタを操作しないプログラムルーチンで無限ループに陥った場合や、デッドロック状態でCPUが動作しない場合では、スタック退避、復帰が行われない。したがって、スタックオーバーフローやスタックアンダーフローが起きず、異常を検出できない。 Such a technique can be applied as an abnormality detection circuit for a microcontroller that operates in an event-driven manner to which an asynchronous design technique is applied. However, it is impossible to detect an abnormality caused by a CPU runaway that does not affect the stack pointer or an abnormality that causes the microcontroller to fall into a deadlock state. That is, when the program routine that does not operate the stack pointer falls into an infinite loop, or when the CPU does not operate in a deadlock state, the stack is not saved or restored. Therefore, stack overflow and stack underflow do not occur and an abnormality cannot be detected.
本発明は、CPUの異常動作を検出することができる情報処理装置、半導体集積回路装置、異常検出方法を提供する。 The present invention provides an information processing apparatus, a semiconductor integrated circuit device, and an abnormality detection method capable of detecting an abnormal operation of a CPU.
以下に、[発明を実施するための形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 Hereinafter, means for solving the problem will be described using the numbers and symbols used in the “DETAILED DESCRIPTION”. These numbers and symbols are added to clarify the correspondence between the description of [Claims] and [Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].
本発明の観点では、半導体集積回路装置は、CPU(100)と、割り込みカウンタ(410)と、カウンタ異常値検出回路(430)とを具備する。割り込みカウンタ(410)は、CPU(100)への割り込みの要求を示す割り込み信号(INT)に応答して出力される割り込みを受け付けたことを示す割り込み開始信号(IRS)に基づいてカウント値をインクリメントし、割り込みに対応する処理が終了したことを示す割り込み終了信号(IRE)に基づいてカウント値をデクリメントする。カウンタ異常値検出回路(430)は、カウント値(IRC)を所定の値と比較して異常を検出する。 In an aspect of the present invention, the semiconductor integrated circuit device includes a CPU (100), an interrupt counter (410), and a counter abnormal value detection circuit (430). The interrupt counter (410) increments the count value based on an interrupt start signal (IRS) indicating that an interrupt output in response to an interrupt signal (INT) indicating an interrupt request to the CPU (100) is received. Then, the count value is decremented based on an interrupt end signal (IRE) indicating that the processing corresponding to the interrupt has ended. The counter abnormal value detection circuit (430) compares the count value (IRC) with a predetermined value to detect an abnormality.
本発明の他の観点では、異常検出方法は、CPUの動作異常を検出する異常検出方法であり、CPU(100)への割り込みの要求を示す割り込み信号(INT)に応答して出力される割り込みを受け付けたことを示す割り込み開始信号(IRS)に基づいてカウント値をインクリメントするステップと、割り込みに対応する処理が終了したことを示す割り込み終了信号(IRE)に基づいてカウント値をデクリメントするステップと、カウント値(IRC)を所定の値と比較してカウンタ値の異常を検出するステップとを具備する。 In another aspect of the present invention, an abnormality detection method is an abnormality detection method for detecting an abnormal operation of a CPU, and an interrupt output in response to an interrupt signal (INT) indicating an interrupt request to the CPU (100). A step of incrementing the count value based on an interrupt start signal (IRS) indicating that the processing has been received, and a step of decrementing the count value based on an interrupt end signal (IRE) indicating that the processing corresponding to the interrupt has ended. And detecting the abnormality of the counter value by comparing the count value (IRC) with a predetermined value.
本発明によれば、CPUがスタックを操作しないような異常状態をも検出することができる情報処理装置、半導体集積回路装置、異常検出方法を提供することができる。 According to the present invention, it is possible to provide an information processing apparatus, a semiconductor integrated circuit device, and an abnormality detection method that can detect an abnormal state in which the CPU does not operate the stack.
図面を参照して本発明を実施のするための形態を説明する。 DESCRIPTION OF EMBODIMENTS Embodiments for carrying out the present invention will be described with reference to the drawings.
図1は、第1の実施の形態に係る情報処理装置の構成を示す図である。情報処理装置は、CPU100、割り込みコントローラ200、異常検出回路300、400、論理和回路360、周辺回路251、252を具備する半導体集積回路装置である。割り込みコントローラ200は、周辺回路251が出力する内部割り込み信号INT1、周辺回路252が出力する内部割り込み信号INT2、情報処理装置の外部から入力される外部割り込み信号INT0を入力とする。割り込みコントローラ200は、割り込みフラグレジスタ210、220、230を備える。割り込みフラグレジスタ210、220、230は、外部割り込み信号INT0、内部割り込み信号INT1、内部割り込み信号INT2をそれぞれ入力する。割り込みコントローラ200は、割り込みフラグレジスタ210、220、230がセットされると、割り込みフラグレジスタ210、220、230に対応するベクタアドレスVAをセットして割り込み開始信号IRSをCPU100に出力し、割り込みの発生を通知する。また、割り込みフラグレジスタ210、220、230の出力を示す信号IF0、IF1、IF2は、異常検出回路300に出力される。
FIG. 1 is a diagram illustrating the configuration of the information processing apparatus according to the first embodiment. The information processing apparatus is a semiconductor integrated circuit device including a
CPU100は、割り込みコントローラ200の出力である割り込み開始信号IRSとベクタアドレスVAとを入力として割り込み処理を行い、割り込み処理が終わると割り込み終了信号IREを割り込みコントローラ200、異常検出回路400に出力する。
The
異常検出回路400は、割り込みカウンタ410、割り込み受付数上限設定レジスタ420、およびカウンタ異常値検出回路430を備える。割り込みカウンタ410は、割り込み開始信号IRSを入力として割り込みカウント値IRCをインクリメントし、割り込み終了信号IREを入力として割り込みカウント値IRCをデクリメントする。割り込みカウンタ410は、割り込みカウンタ値IRCをカウンタ異常値検出回路430に出力する。割り込み受付上限設定レジスタ420は、受け付け可能な割り込み数を保持し、カウンタ異常値検出回路430に出力する。受け付け可能な割り込み数は、CPU100によって設定できることが好ましい。カウンタ異常値検出回路430は、割り込みカウンタ値IRCと、割り込み受付数上限設定レジスタ420の出力IRMとを入力とし、割り込みカウント値が受け付け可能な割り込み数以上になるとカウンタ異常値検出信号ECを出力する。
The
異常検出回路300は、割り込みフラグ保留数検出回路310、保留数上限設定レジスタ320、および保留数異常検出回路330を備える。割り込みフラグ保留数検出回路310は、割り込みフラグレジスタ210、220、230の出力IF0、IF1、IF2を入力とし、割り込みフラグ保留数IFCを出力する。保留数上限設定レジスタ320は、保留可能な割り込み数を保持し、保留数異常検出回路330に出力する。保留可能な割り込み数は、CPUによって設定できることが好ましい。保留数異常検出回路330は、割り込みフラグ保留数IFCと保留数上限設定レジスタ320の出力IFMとを入力とし、割り込み保留数が保留可能な割り込み数異常になると保留数異常検出信号EFを出力する。
The
論理和回路360は、カウンタ異常値検出信号ECと保留数異常検出信号EFとを入力とし、異常検出信号ERを出力する。
The OR
割り込みコントローラ200の割り込みフラグレジスタ210、220、230は、それぞれ外部割り込み信号INT0、内部割り込み信号INT1、内部割り込み信号INT2の立ち上がりによってセットされ、割り込み開始信号IRSの立ち上がりによりクリアされる。割り込みコントローラ200は、割り込みフラグレジスタ210、220、230がセットされると、CPU100に対して割り込み開始信号IRSとベクタアドレスVAとを出力する。例えば、割り込みフラグレジスタ210、220、230が全てクリアされている状態から割り込みフラグレジスタ220がセットされると、割り込み開始信号IRSがアクティブになり、ベクタアドレスVAには、割り込みフラグレジスタ220に対応する割り込み処理アドレスがセットされる。また、割り込みコントローラ200は、割り込み優先度の管理を行っている。したがって、割り込み優先度に応じて、割り込み開始信号IRSおよびベクタアドレスVAの出力タイミングが変化する。優先度は、高い順に割り込みフラグレジスタ210、220、230とすると、割り込みフラグレジスタ220がセット状態の時に、割り込みフラグレジスタ230がセットされても割り込み開始信号IRSおよびベクタアドレスが変化することはないが、割り込みフラグレジスタ210がセットされると、割り込み開始信号IRSが発生し、ベクタアドレスVAに割り込みフラグレジスタ210に対応する割り込み処理アドレスがセットされる。
The interrupt flag registers 210, 220, and 230 of the interrupt
CPU100は、割り込み開始信号IRSがアクティブになると、ベクタアドレスVAによって示される割り込み処理を開始する。CPU100は、その割り込み処理が終了すると、割り込み処理終了信号IREをアクティブにする。
When the interrupt start signal IRS becomes active, the
割り込みコントローラ200は、割り込み終了信号IREがアクティブになると、CPU100が実行していた割り込み処理が終了したことを検知する。保留中の割り込みがあれば、割り込みコントローラ200は、優先度に応じて割り込み開始信号IRS、ベクタアドレスVAの出力制御を行う。
When the interrupt end signal IRE becomes active, the interrupt
異常検出回路400の割り込みカウンタ410は、割り込み開始信号IRSによってカウント値をインクリメントし、割り込み終了信号IREによってデクリメントする。したがって、割り込みカウンタ410のカウント値は、正常動作時には多重割り込みの数を表す。その値は、割り込みカウンタ値IRCとして出力される。割り込み受付数上限設定レジスタ420は、CPU100がプログラムを実行することによって設定されるレジスタで、設定値は多重割り込みの上限数を示す。ここでは、割り込み受付数上限設定レジスタ420には“3”が設定されているとする。カウンタ異常値検出回路430は、割り込みカウンタ値IRCに異常がないかを検出する。具体的には、割り込みカウンタ値IRCがアンダーフローした場合と、割り込み受付数上限設定レジスタ420に設定された値IRMに達した場合にカウンタ異常値検出信号ECを出力する。
The interrupt counter 410 of the
異常検出回路300の割り込みフラグ保留数検出回路310は、セットされている割り込みフラグレジスタ210、220、230の数を割り込みフラグ保留数IFCとして出力する。これは、CPU100で処理が開始されていない割り込みの保留数を示す。保留数上限設定レジスタ320は、CPU100がプログラムを実行することによって設定されるレジスタで、設定値は処理開始されていない割り込みの保留数の上限を示す。ここでは、保留数上限設定レジスタ320には“3”が設定されているとする。保留数異常検出回路330は、割り込みフラグ保留数IFCを保留数上限設定レジスタ320の出力IFMと比較して、一致あるいは割り込みフラグ保留数IFCが超えた場合に保留数異常検出信号EFを出力する。
The interrupt flag hold
カウンタ異常値検出信号ECと保留数異常検出信号EFとは、論理和回路360に接続されており、カウンタ異常値検出信号ECと保留数異常検出信号EFの少なくとも一方がアクティブの場合に異常が発生したとして、異常検出信号ERをアクティブにする。
The counter abnormal value detection signal EC and the pending number abnormality detection signal EF are connected to the
次に、異常検出までの動作を説明する。 Next, the operation until abnormality detection will be described.
図2は、割り込みカウンタ410がアンダーフローを起こした例を示すタイミングチャートである。異常検出回路400で多重割り込みの開始数と終了数がカウントされ、そのカウント数がアンダーフローした場合に異常検出信号ERを出力する例である。これは、CPU100の異常により、意図せず割り込み処理が行われた場合などの異常を検出する動作である。
FIG. 2 is a timing chart showing an example in which the interrupt
時刻T1では、内部割り込み信号INT1がアクティブになり(図2(c))、割り込みフラグレジスタ220がセットされる(図2(d))。割り込みフラグレジスタ220がセットされると、割り込み開始信号IRSと割り込みフラグレジスタ220に対応する割り込み処理を示すベクタアドレスVAとがアクティブになる(図2(g)(h))。また、割り込みカウンタ410がインクリメントされ、出力IRCは“1”を示す(図2(j))。また、割り込み開始信号IRSがアクティブになると同時に、割り込みフラグレジスタ220がクリアされる(図2(d))。
At time T1, the internal interrupt signal INT1 becomes active (FIG. 2 (c)), and the interrupt
時刻T2では、内部割り込み信号INT2がアクティブになり(図2(e))、割り込みフラグレジスタ230がセットされる(図2(f))。しかし、時刻T1以降に割り込み終了信号IREはアクティブになっていない(図2(i))。つまり、割り込みフラグレジスタ220による割り込み処理中であることから、割り込みフラグレジスタ220よりも優先度の低い割り込みフラグレジスタ230がセットされても割り込み開始信号IRSはアクティブにならず(図2(g))、ベクタアドレスVAは変化しない(図2(h))。
At time T2, the internal interrupt signal INT2 becomes active (FIG. 2 (e)), and the interrupt
時刻T3では、CPU100は、内部割り込み信号INT1に対する割り込み処理が終了したことを割り込み終了信号IREによって割り込みコントローラ200、異常検出回路400に通知する(図2(i))。これによって、割り込みカウンタ410はデクリメントされ、出力IRCは“0”になる(図2(j))。また、内部割り込み信号INT1に対する割り込み処理が終了したため、割り込みコントローラ200は、時刻T4において、割り込み開始信号IRSをアクティブにし(図2(g))、割り込みフラグレジスタ230に対応する割り込み処理を示すベクタアドレスVAがセットされる(図2(h))。さらに、割り込みカウンタ410がインクリメントされ(図2(j))、割り込みフラグレジスタ230がクリアされて出力IF2はインアクティブになる(図2(f))。
At time T3, the
時刻T5では、CPU100は割り込み終了信号IREをアクティブにして割り込み信号INT2に対する割り込み処理が終了したことを通知する(図2(i))。割り込みカウンタ410は、カウント値をデクリメントし、出力IRCは“0”を示す(図2(j))。割り込みが全て終了した状態になる。
At time T5, the
ここで、時刻T5以降にCPU100で意図しない割り込み処理が発生したとする。時刻T6で、割り込み開始信号IRSが入力されていないにも関わらず、割り込み終了信号IREがアクティブになると(図2(i))、割り込みカウンタ410は、デクリメントされ、アンダーフローとなる(図2(j))。カウンタ異常値検出回路430は、異常を検出してカウンタ異常値検出信号ECを出力し、異常検出信号ERがアクティブになる(図2(k))。
Here, it is assumed that an unintended interrupt process occurs in the
図3は、割り込みカウンタ410が所定の数を超える異常を検出する例を示すタイミングチャートである。異常検出回路400において多重割り込みの開始数と終了数がカウントされ、そのカウント数が一定値を超えた場合に異常検出信号ERが出力される。これは、割り込みコントローラ200やCPU100の異常により、意図しない割り込み開始信号IRSの発生や、多重割り込みを処理しきれず一定数を超えた場合に異常を検出する動作である。図3は、図2と比べて時刻T5までは同じ動作を示すため、時刻T5までの説明を省略する。
FIG. 3 is a timing chart showing an example in which the interrupt
時刻T7では、内部割り込み信号INT2がアクティブになり(図3(e))、割り込みフラグレジスタ230がセットされる(図3(f))。それにより割り込み開始信号IRSがアクティブになり(図3(g))、割り込みフラグレジスタ230に対応する割り込み処理を示すベクタアドレスVAがセットされる(図3(h):ここでは同じアドレスを示すため値の変化は無い)。また、割り込み開始信号IRSにより、割り込みカウンタ410がインクリメントされ、“1”に変化する(図3(j))。その後、CPUの異常で割り込み処理が終了しない状態に陥ったとする。
At time T7, the internal interrupt signal INT2 becomes active (FIG. 3 (e)), and the interrupt
時刻T8では、内部割り込み信号INT1がアクティブになり(図3(c))、割り込みフラグレジスタ220がセットされる(図3(d))。割り込みフラグレジスタ220は、割り込みフラグレジスタ230より優先度が高い。そのため、割り込み開始信号IRSがアクティブになり(図3(g))、割り込みフラグレジスタ230に対応する割り込み処理を示すベクタアドレスVAが設定される(図3(h))。さらに、割り込みカウンタ410がインクリメントされ、出力IRCは“2”に変化する(図3(j))。
At time T8, the internal interrupt signal INT1 becomes active (FIG. 3C), and the interrupt
時刻T9では、外部割り込み信号INT0がアクティブになり、割り込みフラグレジスタ210がセットされる(図3(a))。割り込みフラグレジスタ210は、割り込みフラグレジスタ220より優先度が高いため、割り込み開始信号IRSがアクティブになり(図3(g))、割り込みフラグレジスタ210に対応する割り込み処理を示すベクタアドレスVAがセットされる(図3(h))。さらに、割り込みカウンタ410は、“3”にインクリメントされる(図3(j))。この結果、割り込み受付数上限設定レジスタ420に設定されている値“3”と一致し、カウンタ異常値検出回路430は、異常を検出してカウンタ異常値検出信号ECを出力し、異常検出信号ERがアクティブになる(図3(k))。
At time T9, the external interrupt signal INT0 becomes active and the interrupt
図4は、割り込みフラグ保留数が所定の値を超える異常を検出する例を示すタイミングチャートである。異常検出回路300において処理が開始されていない割り込みの保留数が算出され、保留数が一定値を超えた場合に異常検出信号ERが出力される。これは、割り込みコントローラ200やCPU100の異常により、割り込みを処理しきれなくなった場合などに異常を検出する動作である。
FIG. 4 is a timing chart showing an example of detecting an abnormality in which the interrupt flag hold number exceeds a predetermined value. The
図4には、図2と比べ、割り込みカウンタ410の値IRCの替わりに割り込みフラグ保留数IFCが示されている。割り込みフラグ保留数IFCは、割り込みフラグレジスタ210、220、230の中でセットされているレジスタの数を表している。また、保留数上限設定レジスタ320の値は“3”固定とする。時刻T5までの動作は図2及び図3と同じであるため、その説明を省略する。
FIG. 4 shows the interrupt flag hold number IFC instead of the value IRC of the interrupt
時刻T10では、外部割り込み信号INT0がアクティブになり(図4(a))、割り込みフラグレジスタ210がセットされる(図4(b))。割り込みフラグ保留数検出回路310は、保留数を“1”として出力IFCにセットする(図4(j))。それにより割り込み開始信号IRSがアクティブになり(図4(g))、割り込みフラグレジスタ210に対応する割り込み処理を示すベクタアドレスVAがセットされる(図4(h))。割り込み開始信号IRSがアクティブになると、割り込みフラグレジスタ210はクリアされ(図4(b))、割り込みフラグ保留数検出回路310は、保留数を“0”として出力IFCにセットする(図4(j))。その後、CPU100の異常で割り込み処理が終了しない状態に陥ったとする。
At time T10, the external interrupt signal INT0 becomes active (FIG. 4 (a)), and the interrupt
時刻T11では、内部割り込み信号INT1がアクティブになり(図4(c))、割り込みフラグレジスタ220がセットされる(図4(d))。しかし、優先度の最も高い割り込みフラグレジスタ210に対応する割り込み処理が実行中であるため、割り込み開始信号IRSはアクティブにならない(図4(g))。したがって、割り込みフラグレジスタ220はクリアされず(図4(d))、割り込みフラグ保留数検出回路310は、保留数を“1”として出力IFCにセットしたままになる(図4(j))。
At time T11, the internal interrupt signal INT1 becomes active (FIG. 4C), and the interrupt
時刻T12において、外部割り込み信号INT0がアクティブになり(図4(a))、割り込みフラグ保留数検出回路310は、保留数を“2”として出力IFCにセットする(図4(j))。時刻T13において、内部割り込み信号INT2がアクティブになる(図4(e))。同様の理由から割り込みフラグレジスタ210、230は、セット後にクリアされず(図4(b)(f))、時刻T13では、割り込みフラグ保留数検出回路310は、保留数を“3”として出力IFCにセットする(図4(j))。保留数異常検出回路330は、保留数上限設定レジスタ320の設定値“3”と一致するため、保留数異常検出信号EFをアクティブにし、異常検出信号ERがアクティブになる(図4(k))。
At time T12, the external interrupt signal INT0 becomes active (FIG. 4A), and the interrupt flag hold
通常、多重割り込みを許可するマイクロコントローラでは、割り込みを受け付けると、割り込み処理を開始する前に、その時点のプログラムカウンタ値はスタックに退避される。割り込み処理から復帰する際に、スタックに格納されたプログラムカウンタ値はプログラムカウンタに回復される。スタックポインタの退避・回復に関係しないルーチンにおいて、CPUの暴走により無限ループに陥った場合、スタックポインタの値は変化しないため、スタックポインタを監視しても暴走を検出できない。本実施の形態に示されるように、異常検出回路400は、割り込みカウンタ410と割り込み受付数上限設定レジスタ420と割り込みカウンタ410とを備える。後続の割り込み要求により割り込みカウンタ410がインクリメントされ、受付数上限設定レジスタ420に設定された上限値の設定値を超えるため、スタックポインタの退避・復帰に関係しないルーチンで無限ループに陥ったとしても、CPU暴走を検出することができる。また、割り込み要求が発生していないのに何らかのルーチンが実行されるCPU暴走において、スタック復帰を伴わない割り込み終了信号が発生した場合も割り込みカウンタ410がアンダーフローしてCPUの暴走を検出することができる。
Normally, in a microcontroller that permits multiple interrupts, when an interrupt is accepted, the program counter value at that time is saved in the stack before interrupt processing is started. When returning from the interrupt processing, the program counter value stored in the stack is restored to the program counter. In a routine not related to saving / restoring of the stack pointer, if the CPU goes into an infinite loop due to runaway, the value of the stack pointer does not change, so even if the stack pointer is monitored, runaway cannot be detected. As shown in the present embodiment, the
また、マイクロコントローラを用いた組み込みシステムでは、周辺回路は、継続的に割り込みを要求することが通常である。上述の異常検出回路300は、割り込みフラグレジスタ210、220、230の保留総数を検出する割り込みフラグ保留数検出回路310を備える。そのため、保留されている割り込みの数が基準値以上であった場合に、CPU100の動作が停止したと判断することができる。
In an embedded system using a microcontroller, the peripheral circuit normally requests an interrupt continuously. The above-described
また、無限ループによるCPU暴走で、割り込み終了信号が出ない場合、多重割り込みを許可しないマイクロコントローラ、もしくは最も優先度の高い割り込み処理中の異常は、割り込みカウンタ410がインクリメントされないため、異常検出回路300によって検出可能である。
In addition, if the CPU runaway due to an infinite loop does not output an interrupt end signal, an abnormality in the microcontroller that does not allow multiple interrupts or an abnormality during interrupt processing with the highest priority is not incremented because the interrupt
図5は、本発明の第2の実施の形態に係る情報処理装置の構成を示す図である。第2の実施の形態に係る情報処理装置のCPU100は、非同期設計されたCPUであり、内部にタイミング制御回路140、タイミング制御回路140により制御されるプログラムカウンタ110とスタックポインタ120とフラグレジスタ130とを備える。また、第2の実施の形態に係る情報処理装置は、第1の実施の形態に係る情報処理装置に比べて異常検出回路500を更に具備する。
FIG. 5 is a diagram showing a configuration of an information processing apparatus according to the second embodiment of the present invention. The
タイミング制御回路140は、制御パルスを生成して各レジスタを動作させる回路である。非同期式CPUは、同期式CPUのようにすべてのレジスタに同時にクロック信号等のパルスを送るわけではなく、必要なレジスタにだけパルスを送るように設計される。タイミング制御回路140は、そのようなパルスを生成する非同期方式のハンドシェーク制御回路である。タイミング制御回路140は、タイミング制御信号TC1、TC2、TC3を、それぞれプログラムカウンタ110、スタックポインタ120、フラグレジスタ130に出力する。
The
異常検出回路500は、論理和回路510、ゼロ検出回路520、論理積回路530を備える。論理和回路510は、タイミング制御信号TC1、TC2、TC3の論理和を生成し、出力信号TORを出力する。ゼロ検出回路520は、異常検出回路400から割り込みカウンタ値IRCを入力し、割り込みカウンタ値IRCが“0”であることを示す信号ZRを出力する。論理積回路530は、論理和回路510の出力信号TORとゼロ検出回路520の出力信号ZRとを入力し、その論理積を出力信号EZとして出力する。したがって、論理積回路530の出力信号EZがアクティブであることは、割り込みを受け付けていない状態で、CPU100が動作していることを示す。異常検出回路500の出力信号EZ、異常検出回路400の出力信号EC、異常検出回路300の出力信号EFは、論理和回路370に入力され、論理和である異常検出信号ERが出力される。その他の構成は、第1の実施の形態と同じであるので説明を省略する。
The
次に、図6に示されるタイミングチャートを参照して異常検出回路500の動作を説明する。
Next, the operation of the
時刻T21以前では、割り込みカウンタ410の値IRCは“0”である。これは、割り込みによるイベントドリブンで動作する非同期式のCPU100において、何も処理が行われていない状態であり、CPU100はイベント待ちの待機状態であること示す。待機状態である間は、CPU100内のタイミング制御信号TC1、TC2、TC3は、アクティブにならない。
Before time T21, the value IRC of the interrupt
時刻T21において、何らかの割り込み信号が入力されて割り込み開始信号IRSがアクティブになる(図6(e))。割り込みカウンタ410は、カウント値をインクリメントし、割り込みカウント値IRCは“1”に変化する(図6(g))。CPU100は、割り込み処理を開始する。
At time T21, an interrupt signal is input and the interrupt start signal IRS becomes active (FIG. 6 (e)). The interrupt counter 410 increments the count value, and the interrupt count value IRC changes to “1” ((g) in FIG. 6). The
時刻T21から時刻T23までの期間T22では、CPU100が動作するため、タイミング制御回路140はタイミング制御信号TC1、TC2、TC3を生成し、プログラムカウンタ110、スタックポインタ120、レジスタフラグ130に供給する(図6(a)(b)(c))。
In the period T22 from time T21 to time T23, the
時刻T23において、割り込み処理が終了して割り込み終了信号IREがアクティブになる(図6(f))。割り込み終了信号IREを受けて、割り込みカウンタ410はカウント値をデクリメントし、割り込みカウント値IRCは“0”に変化する(図6(g))。ここからCPU100は再度待機状態となる。
At time T23, the interrupt process ends and the interrupt end signal IRE becomes active (FIG. 6 (f)). In response to the interrupt end signal IRE, the interrupt counter 410 decrements the count value, and the interrupt count value IRC changes to “0” (FIG. 6 (g)). From here, the
しかし、時刻T24において、電源ノイズなどによる異常動作により、タイミング制御信号TC1にパルスが発生すると(図6(a))、論理和回路510の出力信号TORがアクティブになる(図6(d))。割り込みカウンタ値IRCが“0”であるから、ゼロ検出回路520の出力信号ZRはアクティブであり(図6(h))、論理AND回路530の出力信号EZもアクティブになる(図6(i))。したがって、異常検出信号ERがアクティブになり(図6(j))、異常が検出される。
However, when a pulse is generated in the timing control signal TC1 at time T24 due to an abnormal operation due to power supply noise or the like (FIG. 6A), the output signal TOR of the
上述のように、CPUが非同期式である場合には更なる信頼性向上のための異常検出回路を設けることができ、CPUの待機状態において、CPU内の異常動作に関しても検出することができる。割り込み処理要求がないような待機状態においては、正常であれば非同期CPUのタイミング制御回路は動作せず、スタックポインタ120の値も変化しない。スタックポインタの値を監視するだけでは内部フリップフロップ値の反転に起因する異常動作は検出できない。上述の異常検出回路500は、非同期CPU100内の主要レジスタ(プログラムポインタ110、スタックポインタ120、フラグレジスタ130)のタイミング制御信号の変化を検知する回路と、CPUが動作していない状態を検知するゼロ検出回路520とを備えるため、非同期CPUの内部状態に異常が発生したことを検出することができる。したがって、イベントドリブンで動作するマイクロコントローラの場合、通常動作状態よりも待機状態の時間が大幅に長いことが考えられ、非同期CPUを搭載したマイクロコントローラの待機状態の信頼性をより上げることが可能となる。
As described above, when the CPU is asynchronous, an abnormality detection circuit for further improving reliability can be provided, and an abnormal operation in the CPU can be detected in the standby state of the CPU. In a standby state where there is no interrupt processing request, if it is normal, the timing control circuit of the asynchronous CPU does not operate and the value of the
マイクロコントローラの異常状態としては、CPU暴走と、CPUデッドロック、待機時のCPU内フリップフロップ(FF)異常がある。これまでは、CPU暴走がスタックポインタに影響される場合においてのみ検出可能であったが、本発明によれば、スタックポインタへの影響に関係なく、異常動作を検出可能である。すなわち、本発明では、CPUが受け付けた割り込み要求の数と、CPUが処理完了した割り込み処理の数をカウンタにて計測する。受け付けた割り込み要求の数を示すカウンタ値が、あらかじめ設定される上限値以上に達するか、アンダーフローを示すかを判定し、CPUの暴走状態、CPUが動作しないデッドロック状態を検出することが可能となる。 The abnormal state of the microcontroller includes CPU runaway, CPU deadlock, and CPU internal flip-flop (FF) abnormality during standby. Until now, it was possible to detect only when the CPU runaway was affected by the stack pointer, but according to the present invention, it is possible to detect an abnormal operation regardless of the influence on the stack pointer. That is, in the present invention, the number of interrupt requests accepted by the CPU and the number of interrupt processes completed by the CPU are measured by a counter. It is possible to detect whether the counter value indicating the number of accepted interrupt requests exceeds the preset upper limit value or indicates an underflow and detect a CPU runaway state or a deadlock state where the CPU does not operate. It becomes.
また、本発明では、実行が保留されている割り込み要求数を計測し、その数が、あらかじめ設定される上限値以上に達することを検知してCPUの異常状態が検出される。これによって、多重割り込みが禁止されている場合や優先度の高い割り込み処理中に異常が発生した場合においても、割り込み終了信号が発生しないCPUの暴走状態や、CPUが動作しないデッドロック状態を異常状態として検出することが可能となる。 Further, in the present invention, the number of interrupt requests whose execution is suspended is measured, and an abnormal state of the CPU is detected by detecting that the number reaches an upper limit value set in advance. As a result, even when multiple interrupts are prohibited or when an abnormality occurs during high priority interrupt processing, the CPU runaway state where no interrupt end signal is generated or the deadlock state where the CPU does not operate is abnormal. Can be detected.
更に、本発明では、CPUが受け付けた割り込み要求数による異常検出と、実行が保留された割り込み要求数による異常検出との2種類の方法で異常を検出する。そのため、本発明の異常検出回路を搭載したマイクロコントローラは、それぞれのシステムの割り込み要求や多重割り込みの数や種類、発生頻度に応じて異常検出の閾値を柔軟に設定でき、システムの信頼性をより高めることが可能となる。 Furthermore, in the present invention, an abnormality is detected by two types of methods, that is, an abnormality detection based on the number of interrupt requests accepted by the CPU and an abnormality detection based on the number of interrupt requests whose execution is suspended. Therefore, the microcontroller equipped with the abnormality detection circuit of the present invention can flexibly set the threshold of abnormality detection according to the number of interrupt requests, the number and types of multiple interrupts of each system, and the frequency of occurrence, thereby improving system reliability. It becomes possible to raise.
また、第2の実施の形態において示したように、割り込み処理を実行していないときに、CPUのプログラムカウンタ、スタックポインタ、フラグレジスタのタイミング制御信号を監視することにより、割り込み要求が発生していないのにCPUが動作してしまう異常状態の検出も可能となる。 Also, as shown in the second embodiment, when interrupt processing is not being executed, an interrupt request is generated by monitoring the timing control signals of the CPU program counter, stack pointer, and flag register. It is also possible to detect an abnormal state in which the CPU operates even though it is not.
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
100 CPU
110 プログラムカウンタ
120 スタックポインタ
130 フラグレジスタ
200 割り込みコントローラ
210、220、230 割り込みフラグレジスタ
251、252 周辺回路
300 異常検出回路
310 割り込みフラグ保留数検出回路
320 保留数上限設定レジスタ
330 保留数異常検出回路
360 論理和回路
400 異常検出回路
410 割り込みカウンタ
420 割り込み受付数上限設定レジスタ
430 カウンタ異常値検出回路
500 異常検出回路
510 論理和回路
520 ゼロ検出回路
530 論理積回路
100 CPU
110
Claims (14)
前記CPUへの割り込みの要求を示す割り込み信号に応答して出力される前記割り込みを受け付けたことを示す割り込み開始信号に基づいてカウント値をインクリメントし、前記割り込みに対応する処理が終了したことを示す割り込み終了信号に基づいて前記カウント値をデクリメントする割り込みカウンタと、
前記カウント値を所定の値と比較して異常を検出するカウンタ異常値検出回路と、
前記割り込み信号に応答してセットされ、割り込み要求があることを示すフラグレジスタと、
前記フラグレジスタのうちのセットされているフラグレジスタの数によって示される割り込み保留数を検出する保留数検出回路と、
前記割り込み保留数を所定の数と比較して異常を検出する保留数異常検出回路と
を具備する
情報処理装置。 CPU,
The count value is incremented based on the interrupt start signal indicating that the interrupt output in response to the interrupt signal indicating the interrupt request to the CPU is received, and indicates that the processing corresponding to the interrupt is completed. An interrupt counter for decrementing the count value based on an interrupt end signal;
A counter abnormal value detection circuit for detecting an abnormality by comparing the count value with a predetermined value ;
A flag register that is set in response to the interrupt signal and indicates that there is an interrupt request;
A pending number detection circuit for detecting an interrupt pending number indicated by the number of flag registers set among the flag registers;
An information processing apparatus, comprising: a pending number abnormality detection circuit that detects an abnormality by comparing the interrupt pending number with a predetermined number .
前記カウンタ異常値検出回路は、前記カウンタ値が前記受付数レジスタに保持される前記受付上限数以上の値を示すか、もしくは、前記カウンタ値がアンダーフローを示すときに、カウンタ異常検出信号を出力する
請求項1に記載の情報処理装置。 A reception number register for holding an interrupt reception upper limit number indicating an upper limit of the multiple reception number of the interrupt;
The counter abnormal value detection circuit outputs a counter abnormality detection signal when the counter value indicates a value equal to or greater than the upper limit of acceptance held in the acceptance number register, or when the counter value indicates an underflow. The information processing apparatus according to claim 1.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1 , wherein the CPU stores the interrupt acceptance upper limit number in the acceptance number register.
前記保留数異常検出回路は、前記割り込み保留数が前記保留上限数以上の値を示すとき、保留数異常検出信号を出力する
請求項1に記載の情報処理装置。 A holding number register for holding a holding upper limit number indicating an upper limit of the interrupt holding number;
The information processing apparatus according to claim 1 , wherein the hold number abnormality detection circuit outputs a hold number abnormality detection signal when the interrupt hold number indicates a value equal to or greater than the hold upper limit number.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1 , wherein the flag register is reset in response to the interrupt start signal.
前記CPUへの割り込みの要求を示す割り込み信号に応答して出力される前記割り込みを受け付けたことを示す割り込み開始信号に基づいてカウント値をインクリメントし、前記割り込みに対応する処理が終了したことを示す割り込み終了信号に基づいて前記カウント値をデクリメントする割り込みカウンタと、
前記カウント値を所定の値と比較して異常を検出するカウンタ異常値検出回路と、
前記CPUが動作しているときに生成されるタイミング制御信号を監視し、前記CPUが停止しているときに前記タイミング制御信号が生成されたことを検出して暴走検出信号を出力するタイミング制御信号監視回路と
を具備する
情報処理装置。 CPU,
The count value is incremented based on the interrupt start signal indicating that the interrupt output in response to the interrupt signal indicating the interrupt request to the CPU is received, and indicates that the processing corresponding to the interrupt is completed. An interrupt counter for decrementing the count value based on an interrupt end signal;
A counter abnormal value detection circuit for detecting an abnormality by comparing the count value with a predetermined value;
A timing control signal that monitors a timing control signal generated when the CPU is operating, detects that the timing control signal is generated when the CPU is stopped, and outputs a runaway detection signal and a monitoring circuit
To immediately Bei the
Information processing apparatus.
請求項6に記載の情報処理装置。 The timing control signal monitoring circuit, when the count value of the interrupt counter indicates zero, to claim 6, wherein the CPU outputs a runaway detection signal upon detecting that the timing control signal as being stopped is generated The information processing apparatus described.
請求項6に記載の情報処理装置。 The information processing apparatus according to claim 6 , wherein the timing control signal indicates a signal output when operating a register in the CPU.
前記CPUへの割り込みの要求を示す割り込み信号に応答して出力される前記割り込みを受け付けたことを示す割り込み開始信号に基づいてカウント値をインクリメントするステップと、
前記割り込みに対応する処理が終了したことを示す割り込み終了信号に基づいて前記カウント値をデクリメントするステップと、
前記カウント値を所定の値と比較してカウンタ値の異常を検出するステップと、
割り込み要求があることを示すフラグレジスタを前記割り込み信号に応答してセットするステップと、
前記フラグレジスタのうちのセットされているフラグレジスタの数によって示される割り込み保留数を検出するステップと、
前記割り込み保留数を所定の数と比較して保留数の異常を検出するステップと
を具備する
異常検出方法。 An abnormality detection method for detecting an operation abnormality of a CPU,
Incrementing a count value based on an interrupt start signal indicating acceptance of the interrupt output in response to an interrupt signal indicating a request for an interrupt to the CPU;
Decrementing the count value based on an interrupt end signal indicating that processing corresponding to the interrupt has ended;
Comparing the count value with a predetermined value to detect an abnormality in the counter value ;
Setting a flag register indicating that there is an interrupt request in response to the interrupt signal;
Detecting an interrupt pending number indicated by the number of flag registers set among the flag registers;
An abnormality detection method comprising: detecting an abnormality in the number of holds by comparing the number of held interrupts with a predetermined number .
前記割り込みの多重受け付け数の上限を示す割り込み受付上限数を保持するステップと、
前記カウンタ値が前記受付上限数以上の値を示すか、もしくは、前記カウンタ値がアンダーフローを示すときに、カウンタ異常検出と判定するステップと
を備える
請求項10に記載の異常検出方法。 The step of detecting abnormality of the counter value includes:
Holding an interrupt acceptance upper limit number indicating an upper limit of the multiple acceptance number of the interrupt;
The abnormality detection method according to claim 10 , further comprising a step of determining that a counter abnormality is detected when the counter value indicates a value equal to or greater than the upper limit of acceptance or the counter value indicates an underflow.
保留数レジスタに前記割り込み保留数の上限を示す保留上限数を保持するステップと、
前記割り込み保留数が前記保留上限数以上の値を示すとき、保留数異常と判定するステップと
を備える
請求項10に記載の異常検出方法。 The step of detecting the abnormality of the number of holds is
Holding a pending upper limit number indicating an upper limit of the interrupt pending number in a pending number register;
The abnormality detection method according to claim 10 , further comprising a step of determining that the number of pending interrupts is abnormal when the interrupt pending number indicates a value greater than or equal to the upper limit number of suspensions.
前記CPUが停止しているときに前記タイミング制御信号が生成されると暴走を検出するステップと
をさらに具備する
請求項10に記載の異常検出方法。 Monitoring a timing control signal generated when the CPU is operating;
Detecting a runaway when the timing control signal is generated when the CPU is stopped; and
Further abnormality detection method according to claim 10 having a.
前記割り込みカウンタのカウント値が零を示すか否かを判定するステップと、
前記割り込みカウンタのカウント値が零を示すとき、前記CPUが停止しているとしてCPU暴走を検出するステップと
を備える
請求項13に記載の異常検出方法。 The step of detecting the runaway includes:
Determining whether the count value of the interrupt counter indicates zero;
The abnormality detection method according to claim 13 , further comprising a step of detecting a CPU runaway when the CPU is stopped when a count value of the interrupt counter indicates zero.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049449A JP5508903B2 (en) | 2010-03-05 | 2010-03-05 | Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method |
US13/034,236 US8392643B2 (en) | 2010-03-05 | 2011-02-24 | Data processing device, semiconductor integrated circuit device, and abnormality detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049449A JP5508903B2 (en) | 2010-03-05 | 2010-03-05 | Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011186634A JP2011186634A (en) | 2011-09-22 |
JP5508903B2 true JP5508903B2 (en) | 2014-06-04 |
Family
ID=44532272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010049449A Active JP5508903B2 (en) | 2010-03-05 | 2010-03-05 | Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method |
Country Status (2)
Country | Link |
---|---|
US (1) | US8392643B2 (en) |
JP (1) | JP5508903B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822899B2 (en) * | 2007-03-08 | 2010-10-26 | Renesas Electronics Corporation | Data processor and control system |
US8234432B2 (en) * | 2009-01-26 | 2012-07-31 | Advanced Micro Devices, Inc. | Memory structure to store interrupt state for inactive guests |
US9009368B2 (en) | 2012-10-23 | 2015-04-14 | Advanced Micro Devices, Inc. | Interrupt latency performance counters |
CN105491764A (en) * | 2016-01-11 | 2016-04-13 | 浙江大学 | Timing mode switching control circuit for corridor lamplight |
JP2019096243A (en) | 2017-11-28 | 2019-06-20 | ルネサスエレクトロニクス株式会社 | Semiconductor device and method for detecting failures of the same |
US11321253B2 (en) * | 2020-03-23 | 2022-05-03 | Nxp B.V. | Interrupt rate limiter |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5047919A (en) * | 1986-04-03 | 1991-09-10 | Harris Corporation | Method and apparatus for monitoring software execution in a parallel multiprocessor computer system |
EP0443557B1 (en) * | 1990-02-20 | 1995-11-08 | Nec Corporation | Interrupt controller capable of realizing interrupt nesting function |
JPH05158745A (en) * | 1991-12-10 | 1993-06-25 | Nippondenso Co Ltd | Program runaway stopping device |
JP3110214B2 (en) * | 1993-08-10 | 2000-11-20 | 株式会社東芝 | Controller program execution monitoring device |
JPH07244649A (en) * | 1994-03-08 | 1995-09-19 | Fujitsu Ltd | Interruptive processing decentralization system |
JP2625402B2 (en) * | 1995-05-24 | 1997-07-02 | 日本電気株式会社 | Microprocessor |
US5923887A (en) * | 1996-05-20 | 1999-07-13 | Advanced Micro Devices, Inc. | Interrupt request that defines resource usage |
US6065089A (en) * | 1998-06-25 | 2000-05-16 | Lsi Logic Corporation | Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency |
JP2000020352A (en) | 1998-07-06 | 2000-01-21 | Mitsubishi Electric Corp | Stack overflow detecting method and stack underflow detecting method |
US6189066B1 (en) * | 1999-01-26 | 2001-02-13 | 3Com Corporation | System and method for dynamically selecting interrupt time interval threshold parameters |
TW501017B (en) * | 2000-04-05 | 2002-09-01 | Via Tech Inc | Processing method, chip set and controller for supporting message signaled interrupt |
US7296271B1 (en) * | 2000-06-28 | 2007-11-13 | Emc Corporation | Replaceable scheduling algorithm in multitasking kernel |
JP4376787B2 (en) * | 2002-11-21 | 2009-12-02 | 富士通株式会社 | Event notification method, device, and processor system |
US20040111549A1 (en) * | 2002-12-10 | 2004-06-10 | Intel Corporation | Method, system, and program for improved interrupt processing |
US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
US7080178B2 (en) * | 2004-02-09 | 2006-07-18 | Arm Limited | Interrupt pre-emption and ordering within a data processing system |
FR2884628A1 (en) * | 2005-04-18 | 2006-10-20 | St Microelectronics Sa | Interrupt service routine processing method for e.g. set-top box, involves starting counter while processor is operated in non-secured mode and returning processor to secured mode to pursue process execution when counter attains end value |
US7788434B2 (en) * | 2006-12-15 | 2010-08-31 | Microchip Technology Incorporated | Interrupt controller handling interrupts with and without coalescing |
US8058751B2 (en) * | 2007-10-24 | 2011-11-15 | Eaton Corporation | Circuit interrupter and method of processor phase synchronization |
GB2462258B (en) * | 2008-07-28 | 2012-02-08 | Advanced Risc Mach Ltd | Interrupt control for virtual processing apparatus |
EP2241953B1 (en) * | 2009-04-17 | 2019-08-28 | Siemens Aktiengesellschaft | Method and device for realising an error-proof time function |
-
2010
- 2010-03-05 JP JP2010049449A patent/JP5508903B2/en active Active
-
2011
- 2011-02-24 US US13/034,236 patent/US8392643B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8392643B2 (en) | 2013-03-05 |
JP2011186634A (en) | 2011-09-22 |
US20110219157A1 (en) | 2011-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5508903B2 (en) | Information processing apparatus, semiconductor integrated circuit device, and abnormality detection method | |
JP5739290B2 (en) | Electronic control unit | |
US20100306602A1 (en) | Semiconductor device and abnormality detecting method | |
JP2013137835A (en) | Microcomputer and method of operation thereof | |
JP2009110156A (en) | Log output device and log output program | |
CN101964724A (en) | Energy conservation method of communication single plate and communication single plate | |
CN101206496A (en) | Automatic frequency monitoring circuit, electronic device, automatic frequency monitoring method and automatic frequency monitoring program | |
JP2004280783A (en) | Microcomputer | |
JP2006171952A (en) | Semiconductor integrated circuit device | |
US10318466B2 (en) | Method and apparatus for handling outstanding interconnect transactions | |
KR20180108497A (en) | Monitoring circuit | |
JP6049961B1 (en) | CPU monitoring device | |
WO2004046926A1 (en) | Method, device and processor system for notifying event | |
JP2006011686A (en) | Method for detecting abnormality of multi-task system | |
JP2006227962A (en) | System and method for monitoring application task | |
JP2004302847A (en) | Method for monitoring operation of cpu | |
JP4836844B2 (en) | Reset circuit and system | |
JP2007265157A (en) | System and method for detecting fault of i/o device | |
JP4479002B2 (en) | Debugging system and method for equipment having CPU power saving function | |
JP6765874B2 (en) | Electronic control device | |
JP2015153146A (en) | Information processing system, control method for the information processing system, and control program for the information processing system | |
JP2011198032A (en) | Information processing apparatus | |
JP6161105B2 (en) | Information processing system | |
JP5768434B2 (en) | Mutual monitoring system | |
KR100628109B1 (en) | Apparatus and Method of Watch-Dog of Camera module for Handhelds device using Hardware logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120727 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131206 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5508903 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |