JPH02141837A - Microprocessor control system - Google Patents
Microprocessor control systemInfo
- Publication number
- JPH02141837A JPH02141837A JP63296934A JP29693488A JPH02141837A JP H02141837 A JPH02141837 A JP H02141837A JP 63296934 A JP63296934 A JP 63296934A JP 29693488 A JP29693488 A JP 29693488A JP H02141837 A JPH02141837 A JP H02141837A
- Authority
- JP
- Japan
- Prior art keywords
- abnormality
- microprocessor
- access
- program
- identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005856 abnormality Effects 0.000 claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 claims abstract description 20
- 238000011084 recovery Methods 0.000 abstract 4
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000002411 adverse Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【発明の詳細な説明】
〔概 要〕
マイクロプロセッサの制御に関し、
マイクロプロセッサの暴走を検出し異常救済処理を行う
ことを目的とし、
主記憶装置の各番地に対応して冗長な記憶領域を備え、
該冗長記憶領域に、正規にプログラムされた部分とプロ
グラムされていない部分を識別できる識別情報を書き込
んでおくと共に、マイクロプロセッサがアクセスした主
記憶装置の番地に対応する前記識別情報を参照し正規の
アクセスであるか異常アクセスであるかを識別する識別
手段と、該識別手段の識別結果が異常アクセスであると
き異常時の救済処理を行う異常処理手段と、を備え、マ
イクロプロセッサがプログラムの実行中、正規にプログ
ラムされた部分以外の部分を参照したとき、異常状態と
判定して、異常時の救済処理を行うように構成する。[Detailed Description of the Invention] [Summary] Regarding the control of a microprocessor, the purpose of detecting runaway of the microprocessor and performing abnormality relief processing is to provide a redundant storage area corresponding to each address of the main storage device. ,
In the redundant storage area, identification information that can distinguish between a legally programmed part and an unprogrammed part is written, and the microprocessor refers to the identification information corresponding to the address of the main memory accessed to determine if it is a legitimate part. an identification means for identifying whether the access is an abnormal access or an abnormal access; and an abnormality processing means for carrying out relief processing in the event of an abnormality when the identification result of the identification means is an abnormal access; , when a portion other than the normally programmed portion is referenced, it is determined to be in an abnormal state and a relief process is performed in the event of an abnormality.
本発明はマイクロプロセッサの制御方式に係り、特にマ
イクロプロセッサの暴走を回避する方式に関する。The present invention relates to a control method for a microprocessor, and particularly to a method for avoiding runaway of a microprocessor.
マイクロプロセッサは、半導体技術の進歩により低価格
化して、産業機械のあらゆる部分の制御に広く利用され
ている。マイクロプロセッサは、主記憶装置に格納され
ている所定プログラムによって動作し、所定の制御を行
うが、何らかの原因によって、所定のプログラム領域で
はない領域に飛び、期待した動作とは全く異なる動作を
行うことがある。これがマイクロプロセッサの暴走と呼
ばれ、制御対象は異常状態となるから早2、にこれを検
出し、異常状態を解除することが要求される。Microprocessors have become cheaper due to advances in semiconductor technology and are now widely used to control all parts of industrial machinery. A microprocessor operates according to a predetermined program stored in the main memory and performs predetermined control, but for some reason the microprocessor jumps to an area other than the predetermined program area and performs an operation completely different from the expected operation. There is. This is called a runaway of the microprocessor, and since the controlled object enters an abnormal state, it is necessary to detect this as soon as possible and release the abnormal state.
マイクロプロセッサの暴走の原因としては、ダイナミッ
ク・ループに落ち込み抜けられなくなるもの、および所
定のプログラム領域ではない領域に飛び予期しない動作
を行うものがある。Causes of a microprocessor running out of control include those that fall into a dynamic loop and become unable to escape, and those that jump to an area other than a predetermined program area and perform unexpected operations.
前者については、いわゆるウォッチドッグ・タイマを設
はループに落ち込んだことを検出することが行われてい
る。Regarding the former, a so-called watchdog timer is set up to detect a fall into a loop.
しかし、従来のマイクロプロセッサにおいては、後者の
、何らかの原因によってアクセスしてはならないプログ
ラムの空き領域等に制御が移って暴走状態になるものに
ついては、この異常な状態を検出する適切な手段がなく
、対策も取れなかった。However, in conventional microprocessors, there is no appropriate means to detect this abnormal state when control is transferred to an empty area of a program that should not be accessed for some reason, resulting in a runaway state. , no countermeasures could be taken.
アクセスしてはならない領域に制御が移るために起きる
暴走を検出する一つの方法として、第5図に示すように
、マイクロプロセッサが参照しても良い番地とそうでな
い番地の境界となる番地を比較器により常に監視して領
域を侵しているかどうかを調べ、侵していれば、エラー
とする方法がある。As shown in Figure 5, one method for detecting runaways that occur when control is transferred to an area that should not be accessed is to compare addresses that are the boundaries between addresses that the microprocessor is allowed to reference and addresses that are not. There is a way to constantly monitor the area using a device to check whether the area is being violated, and if so, to indicate an error.
プログラム領域は、数個の領域に分割されて割り当てら
れるのが一般であるから、比較は複数となる。Since the program area is generally divided into several areas and allocated, multiple comparisons will be made.
第5図(a)は、参照しても良い領域(正規にプログラ
ムされている領域)の上限番地および下限番地と、プロ
セッサが参照する番地AD、とを比較器(CMP)によ
り比較し、
AD、<ADl、ADz <AD、<AD3 、AD4
<AD、<ADs 、AD& <ADrのいずれかであ
れば、参照してはならない領域へのアクセスであると識
別するものであり、領域の分割数が多いと、第5図(a
)に示すように、多数の比較器を必要とする。In FIG. 5(a), a comparator (CMP) compares the upper and lower limit addresses of an area that may be referred to (regularly programmed area) and the address AD that the processor refers to. , <ADl, ADz <AD, <AD3 , AD4
<AD, <ADs, AD&<ADr, it is identified as an access to an area that should not be referenced, and if the number of area divisions is large, the
), it requires a large number of comparators.
第5図ら)は、比較器の数を減らし、各上限番地、下限
番地をマルチプレクサ(MPX)によって逐次切り換え
て比較するものであり、比較器の数は少ないが比較のた
めに大きな時間が必要となる。5, etc.), the number of comparators is reduced and each upper limit address and lower limit address are sequentially switched and compared using a multiplexer (MPX).Although the number of comparators is small, a large amount of time is required for comparison. Become.
上記のように、プログラム領域を分割して割り付け、領
域を侵していることを検出する方法は、分割できる領域
が多くなると、比較に用いられるハードウェアが大規模
になり、また、ハードウェアを小さくしようとするとシ
ステムの実行速度に悪影響を与えるという欠点があった
。As mentioned above, in the method of dividing and allocating a program area and detecting an area violation, the more areas that can be divided, the larger the hardware used for comparison becomes. If you try to do this, it has the disadvantage of negatively impacting the system's execution speed.
本発明が解決しようとする課題は、このような従来の問
題点を解消し、小規模のハードウェアにてシステムの実
行速度に悪影響を与えず、暴走対策を行う方式を提供す
ることにある。The problem to be solved by the present invention is to solve these conventional problems and provide a method for preventing runaway using small-scale hardware without adversely affecting the execution speed of the system.
第1図は、本発明の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the present invention.
図において、1はマイクロプロセッサ(MPU)であり
、2は主記憶装置である。In the figure, 1 is a microprocessor (MPU), and 2 is a main storage device.
21は冗長記憶領域であり、主記憶装置2の記憶領域に
各番地ごとに備えられている。A redundant storage area 21 is provided for each address in the storage area of the main storage device 2.
22は冗長記憶領域21に書き込まれた識別情報であり
、正規にプログラムされた部分とプログラムされていな
い部分を識別できる情報である。Reference numeral 22 is identification information written in the redundant storage area 21, and is information that can distinguish between a properly programmed part and an unprogrammed part.
31は識別手段であり、マイクロプロセッサ1がアクセ
スした主記憶装置1の番地に対応する識別情報22を参
照し正規のアクセスであるか異常アクセスであるかを識
別する。Reference numeral 31 denotes identification means, which refers to the identification information 22 corresponding to the address of the main storage device 1 accessed by the microprocessor 1 and identifies whether the access is a normal access or an abnormal access.
32は異常処理手段であり、識別手段11の識別結果が
異常アクセスであるとき異常時の救済処理を行う。Reference numeral 32 denotes an abnormality processing means, which performs an abnormality relief process when the identification result of the identification means 11 is an abnormal access.
例えば、マイクロプロセッサ・チップlに対して付加回
路として識別手段31および異常処理手段32を設け、
主記憶装置ROM2に対して小数ビット(1ビツトあれ
ばよい)のROM21を付加して全番地のアドレス線を
接続し、識別情報を書き込んでおくことにより実現でき
る。For example, the identification means 31 and the abnormality processing means 32 are provided as additional circuits to the microprocessor chip l,
This can be realized by adding a ROM 21 of decimal bits (one bit is enough) to the main memory ROM 2, connecting address lines of all addresses, and writing identification information.
(作 用〕
本発明では、主記憶装置2の記憶領域の各番地ごとに冗
長記憶領域21を設け、この場所に正規にプログラムさ
れた部分と、プログラムされていない部分を識別できる
ような識別情報22を書き込んでおく。そして、マイク
ロプロセッサ1には、主記憶装置2からの読出しデータ
中の識別情報22を参照してアクセスが正常か異常かを
識別する識別手段31と、異常時の救済処理を行う異常
処理手段32を設ける。(Function) In the present invention, a redundant storage area 21 is provided for each address of the storage area of the main storage device 2, and identification information is provided at this location to identify a properly programmed part and an unprogrammed part. 22 is written in the microprocessor 1.The microprocessor 1 includes an identification means 31 that identifies whether the access is normal or abnormal by referring to the identification information 22 in the data read from the main storage device 2, and a relief process in the event of an abnormality. An abnormality processing means 32 is provided to perform the following.
プログラムの実行中、識別手段31は常に識別情報22
を監視し、識別情報22が異常アクセスを示せば、異常
処理手段32に通知し、異常処理手段32が異常時の救
済処理を行う。During the execution of the program, the identification means 31 always uses the identification information 22.
is monitored, and if the identification information 22 indicates an abnormal access, it is notified to the abnormality processing means 32, and the abnormality processing means 32 performs relief processing at the time of abnormality.
識別情報22としては、例えば正規にプログラムされて
いる領域は“1”、そうでない領域は“0″とする。The identification information 22 is, for example, "1" for areas that are normally programmed, and "0" for other areas.
異常処理手段32が行う異常時の救済処理としては、例
えば上位装置に異常発生を報告し、さらにマイクロプロ
セッサ1に対してシステムリセットを掛けるか、または
異常割込みを行う。The abnormality processing means 32 performs relief processing in the event of an abnormality, for example, by reporting the occurrence of an abnormality to a host device, and further applying a system reset to the microprocessor 1 or issuing an abnormality interrupt.
以下第2図〜第4図に示す実施例により本発明をさらに
具体的に説明する。The present invention will be explained in more detail below with reference to embodiments shown in FIGS. 2 to 4.
第2図は、本発明の一実施例の構成と動作を模式的に示
す図である。FIG. 2 is a diagram schematically showing the configuration and operation of an embodiment of the present invention.
第3図は、本発明の一実施例による処理を示すフローチ
ャートである。FIG. 3 is a flowchart showing processing according to an embodiment of the present invention.
図において、■−■内にあるのがMPUの動作を示し、
■−■内にあるのがMPUの動作に対応する識別回路お
よび異常処理回路の動作を示す。In the figure, the part between ■-■ indicates the operation of the MPU,
2-2 indicates the operation of the identification circuit and abnormality processing circuit corresponding to the operation of the MPU.
以下、第2図を参照し、第3図のフローチャートの処理
ステップに沿ってその動作を説明する。The operation will be described below with reference to FIG. 2 and along the processing steps of the flowchart in FIG. 3.
■MPUが主記憶装置のX番地にアクセスし、データ(
プログラムコード)を読み出す。■MPU accesses address X of main memory and data (
program code).
■MPUは読み出されたプログラムコードに従って命令
を実行する。(2) The MPU executes instructions according to the read program code.
@MPUのX番地アクセスによって、X番地に対応する
冗長記憶領域の識別情報の値が識別回路に読み込まれる
。When @MPU accesses address X, the value of the identification information of the redundant storage area corresponding to address X is read into the identification circuit.
■識別回路による識別情報識別の結果、値が°“l”で
あればステップ■に進み、“0パであればステップ■へ
飛ぶ。(2) As a result of the identification information identification by the identification circuit, if the value is "l", proceed to step (2), and if it is "0", proceed to step (2).
■識別回路は異常なしと判定し、何も行わない。■The identification circuit determines that there is no abnormality and does nothing.
従って、MPUの命令の実行は継続される。Therefore, execution of instructions by the MPU continues.
[相]識別回路は異常状態と判定し、異常処理回路に通
知する。異常処理回路は異常時の救済処理として、上位
装置への報告その他の処理を行う。The [phase] identification circuit determines that the state is abnormal and notifies the abnormality processing circuit. The abnormality processing circuit performs reporting to the host device and other processing as relief processing in the event of an abnormality.
第3図のフローチャートに示すように、MPUは異常状
態の監視と関係なく命令を実行し、識別回路はMPUの
メモリアクセスに対応し、MPUの動作とは独立に監視
を行い、異常を検出したときにだけ異常処理回路が異常
処理を行うから、MPUの実行速度には全く影響を与え
ない。As shown in the flowchart in Figure 3, the MPU executes instructions regardless of abnormal state monitoring, and the identification circuit supports MPU memory access, performs monitoring independently of MPU operation, and detects abnormalities. Since the abnormality processing circuit performs abnormality processing only occasionally, the execution speed of the MPU is not affected at all.
第4図は本発明の一実施例の構成を示す図である。FIG. 4 is a diagram showing the configuration of an embodiment of the present invention.
本実施例のMPUIは磁気ディスク装置内に使用され、
上位語!([気ディスク制御装置)3からの指令により
、サーボ回路4を制御して磁気ヘッドの位置付は等の制
御動作を行う。The MPUI of this embodiment is used in a magnetic disk device,
Hypernyms! A servo circuit 4 is controlled by a command from the disk controller 3 to perform control operations such as positioning the magnetic head.
2は主記憶装置ROMであり、冗長領域用ROM21が
接続されている。2 is a main memory device ROM, to which a redundant area ROM 21 is connected.
31は冗長領域の値を識別する識別回路である。31 is an identification circuit that identifies the value of the redundant area.
32は異常処理回路であり、第1のラッチ321、第2
のラッチ322、クロック制御回路323およびすセッ
ト制御回路324からなる。32 is an abnormality processing circuit, which includes a first latch 321 and a second latch 321;
It consists of a latch 322, a clock control circuit 323, and a set control circuit 324.
51はMPUIその他に供給するクロックを発生するク
ロック発生回路である。52はパワーオンリセット回路
であり、電源投入時に所要のリセット処理を行う。53
はMPUリセット信号発生回路であり、MPUIに対す
るリセット信号を発生する。51 is a clock generation circuit that generates a clock to be supplied to the MPUI and others. A power-on reset circuit 52 performs necessary reset processing when the power is turned on. 53
is an MPU reset signal generation circuit, which generates a reset signal for the MPUI.
識別回路31はエラーを検出すると、異常処理回路32
の第1のラッチ321をセットする。When the identification circuit 31 detects an error, the abnormality processing circuit 32
The first latch 321 is set.
第1のラッチ321の出力は、上位装置3、クロック制
御回路323、サーボ回路4、第2のラッチ322に接
続されており、
上位装置3へのエラー報告
MPU1へのクロック供給停止
サーボ回路4へのエラーの報知
第2のラッチ322のセット
という一連の動作を行う。The output of the first latch 321 is connected to the host device 3, the clock control circuit 323, the servo circuit 4, and the second latch 322, and is used to report errors to the host device 3, stop clock supply to the MPU 1, and send it to the servo circuit 4. A series of operations including notification of the error and setting of the second latch 322 are performed.
サーボ回路4は、機構部を損傷させないような対策を行
う。The servo circuit 4 takes measures to prevent damage to the mechanism.
上位装置3は、エラー報告を受は取り、エラーリセット
信号を送出して、第1のラッチ321をリセットし、ク
ロック制御回路323を制御してMPU1に対するクロ
ックを再開し、リセット信号制御回路324を制御して
MPUIに対しリセットをかける。The host device 3 receives the error report, sends an error reset signal, resets the first latch 321, controls the clock control circuit 323 to restart the clock to the MPU 1, and controls the reset signal control circuit 324. It controls and resets the MPUI.
リセットをかけられたMPUIは、初期化プログラムを
実行する。初期化プログラムを実行中に第2のラッチ3
22を参照し、エステータス信号がオンであることから
、リセットの原因がパワーオンによるものでな(エラー
によるものであることを認識し、これに応じた処理を行
う。もし第2のラッチ232が未だセットされておれば
、リセットする。The reset MPUI executes an initialization program. 2nd latch 3 while running initialization program
22, since the estatus signal is on, it is recognized that the cause of the reset is not due to power-on (it is due to an error), and processing is performed accordingly.If the second latch 232 If it is still set, reset it.
以上の処理により、異常状態から脱出し、正常の動作に
戻ることができる。Through the above processing, it is possible to escape from the abnormal state and return to normal operation.
以上の説明から明らかなように本発明によれば、任意の
番地をエラー検出の対象とすることができ、ハードウェ
アも小規模で実現でき、システムの実行速度に悪影響を
与えることなく暴走を食い止めることかでき、マイクロ
プロセッサシステムの信頼性の向上に寄与する効果は大
である。As is clear from the above description, according to the present invention, any address can be targeted for error detection, hardware can be implemented on a small scale, and runaway can be prevented without adversely affecting system execution speed. This has a significant effect in contributing to improving the reliability of microprocessor systems.
第1図は本発明の構成を示すブロック図、第2図は本発
明の一実施例の構成と動作を示す模式図、
第3図は本発明の一実施例の動作を示すフローチャート
、
第4図は本発明の一実施例の構成を示す図、第5図は従
来例による暴走検出の例を示す図である。
図において、
1はマイクロプロセッサ(MPU)、
2は主記憶装置(ROM)、3は上位装置、4はサーボ
回路、 21は冗長記憶領域、22は識別情報、
31は識別手段(回路)、32は異常処理手
段(回路) 、321.322はラッチ、323はクロ
ック制御回路、
324はリセット信号制御回路、
51はクロック発生回路、
52はパワーオンリセット回路、
53はMPUリセット信号発生回路、
を示す。
本発明の原理を示すプロ、り図
第
図
本発明の一実施例の動作を示すフローチャート第
図
第
図
第
図FIG. 1 is a block diagram showing the configuration of the present invention, FIG. 2 is a schematic diagram showing the configuration and operation of an embodiment of the present invention, FIG. 3 is a flowchart showing the operation of an embodiment of the present invention, and FIG. This figure shows the configuration of an embodiment of the present invention, and FIG. 5 is a diagram showing an example of runaway detection according to a conventional example. In the figure, 1 is a microprocessor (MPU), 2 is a main memory (ROM), 3 is a host device, 4 is a servo circuit, 21 is a redundant storage area, 22 is identification information,
31 is an identification means (circuit), 32 is an abnormality processing means (circuit), 321.322 is a latch, 323 is a clock control circuit, 324 is a reset signal control circuit, 51 is a clock generation circuit, 52 is a power-on reset circuit, 53 indicates an MPU reset signal generation circuit. Flowchart showing the operation of an embodiment of the invention
Claims (1)
ロプロセッサ(1)と、該プログラムを格納する主記憶
装置(2)とを有するマイクロプロセッサシステムにお
いて、 主記憶装置(2)の各番地に対応して冗長な記憶領域(
21)を備え、該冗長記憶領域(21)に、正規にプロ
グラムされた部分とプログラムされていない部分を識別
できる識別情報(22)を書き込んでおくと共に、 マイクロプロセッサ(1)がアクセスした主記憶装置(
2)の番地に対応する前記識別情報(22)を参照し正
規のアクセスであるか異常アクセスであるかを識別する
識別手段(31)と、 識別手段(31)の識別結果が異常アクセスであるとき
異常時の救済処理を行う異常処理手段(32)と、を備
え、 マイクロプロセッサ(1)がプログラムの実行中、正規
にプログラムされた部分以外の部分を参照したとき、異
常状態と判定して、異常時の救済処理を行うよう構成し
たことを特徴とするマイクロプロセッサの制御方式。[Scope of Claims] A microprocessor system comprising a microprocessor (1) that executes a predetermined control operation based on a program, and a main storage device (2) that stores the program. Redundant storage area corresponding to each address (
21), and in the redundant storage area (21), identification information (22) that can identify the normally programmed part and the non-programmed part is written, and the main memory accessed by the microprocessor (1). Device(
an identification means (31) for identifying whether the access is a normal access or an abnormal access by referring to the identification information (22) corresponding to the address of 2); and the identification result of the identification means (31) is an abnormal access. an abnormality processing means (32) that performs relief processing in the event of an abnormality; when the microprocessor (1) refers to a part other than the normally programmed part during execution of the program, the microprocessor (1) determines that it is in an abnormal state; , a microprocessor control system characterized in that it is configured to perform relief processing in the event of an abnormality.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63296934A JPH02141837A (en) | 1988-11-24 | 1988-11-24 | Microprocessor control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63296934A JPH02141837A (en) | 1988-11-24 | 1988-11-24 | Microprocessor control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02141837A true JPH02141837A (en) | 1990-05-31 |
Family
ID=17840066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63296934A Pending JPH02141837A (en) | 1988-11-24 | 1988-11-24 | Microprocessor control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02141837A (en) |
-
1988
- 1988-11-24 JP JP63296934A patent/JPH02141837A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5659678A (en) | Fault tolerant memory | |
JPH08137763A (en) | Flash memory controller | |
US6532546B2 (en) | Computer system for dynamically scaling busses during operation | |
JP2687927B2 (en) | External bus failure detection method | |
JPH02141837A (en) | Microprocessor control system | |
JPH09160837A (en) | Memory check system | |
CN115576734A (en) | Multi-core heterogeneous log storage method and system | |
JPH02141832A (en) | Microprocessor control system | |
JPS6057091B2 (en) | Common memory storage protection method | |
JPS61279940A (en) | Fault detector for computer | |
JP2003271463A (en) | Doubling memory device | |
JPH09293020A (en) | Interface circuit | |
JPS5898900A (en) | Microprocessor controlling system | |
JPH05265876A (en) | Error report processing system | |
JPS63250753A (en) | Memory access checking system | |
JP2513769B2 (en) | System configuration controller | |
JPS59112494A (en) | Memory testing system | |
JPH0644145A (en) | Memory error saving system | |
CN118779166A (en) | Self-checking method for bad kernel, multi-core chip, self-checking system and robot | |
JPH0816487A (en) | Data processor | |
JP2602909B2 (en) | Write-protection method during CPU runaway | |
JP3169879B2 (en) | Microprocessor runaway detection method | |
JPH10187355A (en) | Disk control system | |
JPH04289558A (en) | Write data protecting system for power hit in disk device | |
JPH103407A (en) | Program malfunction detection development support device and program malfunction detection method |