JPH064687A - Single chip microcomputer - Google Patents
Single chip microcomputerInfo
- Publication number
- JPH064687A JPH064687A JP4187496A JP18749692A JPH064687A JP H064687 A JPH064687 A JP H064687A JP 4187496 A JP4187496 A JP 4187496A JP 18749692 A JP18749692 A JP 18749692A JP H064687 A JPH064687 A JP H064687A
- Authority
- JP
- Japan
- Prior art keywords
- output
- address
- write
- bit
- chip microcomputer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Microcomputers (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はシングルチップマイクロ
コンピュータに関し、特に重要データが格納されている
アドレス領域に対する書き込みを制御してコンピュータ
暴走時のデータ破壊を防止したシングルチップマイクロ
コンピュータに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a single-chip microcomputer, and more particularly to a single-chip microcomputer which controls writing to an address area in which important data is stored to prevent data destruction at the time of computer runaway.
【0002】[0002]
【従来の技術】図6は従来のシングルチップマイクロコ
ンピュータの構成を示すブロック図である。シングルチ
ップマイクロコンピュータ600は中央処理装置(CP
U)610と、マイクロプログラム記憶部(μROM)
611と、割り込み要求コントロール部(INTC)6
12と、ウォッチドックタイマ(WDT)613と、W
DT613からの信号を出力するWDT出力端子(WD
TO)614と、リセット制御部615と、そのリセッ
ト入力端子616と、入出力部618と、内部リードオ
ンメモリ(ROM)619と、内部ランダムアクセスメ
モリ(RAM)620と、これらを相互接続する内部バ
ス621とで構成される。また、シングルチップマイク
ロコンピュータ600で使用するメモリとしては前記R
OM619,RAM620のほかに入出力部618を介
して外部に接続することができるが、以降の説明の簡略
化のために代表して内部のメモリーに限定して説明を行
うが、外部に接続されたメモリーに関しても内部と全く
同様である。2. Description of the Related Art FIG. 6 is a block diagram showing the configuration of a conventional single-chip microcomputer. The single-chip microcomputer 600 is a central processing unit (CP
U) 610 and micro program storage unit (μROM)
611 and interrupt request control unit (INTC) 6
12, watchdog timer (WDT) 613, W
WDT output terminal (WD which outputs the signal from DT613
TO) 614, reset control unit 615, reset input terminal 616 thereof, input / output unit 618, internal read-on memory (ROM) 619, internal random access memory (RAM) 620, and the interior interconnecting these. And a bus 621. Further, as the memory used in the single-chip microcomputer 600, the above-mentioned R is used.
In addition to the OM 619 and the RAM 620, it can be connected to the outside through the input / output unit 618, but for the sake of simplification of the following description, the description will be limited to the internal memory, but it will be described below. The memory is exactly the same as inside.
【0003】次に動作について説明する。CPU610
は、バス621を介してROM619にあらかじめ書き
込まれている実行プログラムの命令コードを順次読み込
み、命令コードに従ってμROM611であらかじめ規
定されたマイクロフローに従って命令動作を実行する。
命令動作としては一般的なものとしては各種演算命令、
書き込み命令、読みだし命令、転送命令、ビット操作命
令等各種あるが、例えばいまプログラムによりRAM6
20への書き込み命令を実行した場合の動作を例にとっ
て説明する。CPU610はROM619から命令コー
ドとして、書き込み命令のコード、アドレス、書き込み
データ等からなる一連の命令コードを読み込み、μRO
M611に従いバス621にアドレス、データをあらか
じめ定められたタイミングで出力し、それと同時にあら
かじめ定められたタイミングでMEMWR信号622を
出力し、RAM620の所定アドレスに所定データの書
き込みを行う。Next, the operation will be described. CPU610
Sequentially reads the instruction code of the execution program previously written in the ROM 619 via the bus 621, and executes the instruction operation according to the microflow defined in advance in the μROM 611 according to the instruction code.
Various operation instructions are generally used as instruction operations,
There are various write commands, read commands, transfer commands, bit manipulation commands, etc.
An operation when a write command to 20 is executed will be described as an example. The CPU 610 reads, as an instruction code, a series of instruction codes including a write instruction code, an address, and write data from the ROM 619, and the μRO
According to M611, an address and data are output to the bus 621 at a predetermined timing, and at the same time, a MEMWR signal 622 is output at a predetermined timing to write predetermined data to a predetermined address of the RAM 620.
【0004】CPU610は前述したプログラム実行処
理の他に、INTC612からの割り込み信号により、
あらかじめ定められた所定の割り込み処理動作も行う。
このようにしてCPU610は動作を実行するが、外部
からのノイズ等何らかの要因により、本来読み込むべき
アドレスの命令コードが正しく読み込めなくなり、その
結果プログラムが正常実行されなくなってシングルチッ
プマイクロコンピュータ600が暴走する可能性があ
る。このような状況を回避あるいは検出する手段とし
て、シングルチップマイクロコンピュータにおいては一
般にいくつかの手段が講じられている。In addition to the above-mentioned program execution processing, the CPU 610 receives an interrupt signal from the INTC 612,
It also performs a predetermined interrupt processing operation.
In this way, the CPU 610 executes the operation, but due to some factors such as noise from the outside, the instruction code of the address to be originally read cannot be read correctly, and as a result, the program cannot be executed normally and the single-chip microcomputer 600 runs out of control. there is a possibility. As means for avoiding or detecting such a situation, some means are generally taken in a single-chip microcomputer.
【0005】一つには、オペコード・トラップ機能と呼
ばれるもので、図7にその処理のフローの例を示す。C
PU610が命令コードを読み込むと、まず必ずμRO
M611のエントリーアドレスに分岐する。ここで、読
み込んだ命令コードのチェックを行い、定義されている
コードかどうかの判定を行う。定義されている命令コー
ドと判定した場合は、命令コードに従った所定のμRO
M611のアドレスに分岐し、分岐先の内容に従った処
理を行う。また、仮に未定義の命令コードと判定した場
合は、μROM611のオペコード・トラップのルーチ
ンに分岐し、割り込み処理等のあらかじめ定められた所
定の処理を実行する。One is called an opcode trap function, and FIG. 7 shows an example of the processing flow. C
When the PU 610 reads the instruction code, the μRO is always
It branches to the entry address of M611. Here, the read instruction code is checked to determine whether it is a defined code. If it is determined to be a defined instruction code, the specified μRO according to the instruction code
It branches to the address of M611 and performs processing according to the contents of the branch destination. If it is determined that the instruction code is an undefined instruction code, the routine branches to an operation code trap routine of the μROM 611 and executes a predetermined process such as an interrupt process.
【0006】第2の手段としては、ウォッチドックタイ
マ機能がある。WDT613の構成図を図8に示す。W
DT613は、内部クロックfCLK によりある一定周期
でカウントされ、CPU610がある特殊命令を実行す
ると出力されるWDTCLR信号によりリセットされる
Aタイマ810と、内部クロックfCLK で一定周期にカ
ウントされ、Aタイマ810のオーバーフロー信号OV
FA810によりリセットされるBタイマ811と、A
タイマ810の出力するOVFA810によりセットさ
れBタイマ811のオーバーフロー信号OVFB811
によりリセットされるフリップフロップ(FF)812
と、FF812の出力を入力とするインバータ(IN
V)813より構成される。また、OVFA810は割
り込み信号INTWDT623としてINTC612に
出力され、INV813の出力信号はWDTO出力端子
614を介して外部に出力されている。The second means is a watchdog timer function. A configuration diagram of the WDT 613 is shown in FIG. W
The DT 613 is counted in a certain cycle by the internal clock f CLK , and is reset by the WDTCLR signal output when the CPU 610 executes a special instruction, and the A timer 810 is counted in a certain cycle by the internal clock f CLK. 810 overflow signal OV
B timer 811 reset by FA 810, A
Overflow signal OVFB811 of B timer 811 set by OVFA 810 output from timer 810
Flip-flop (FF) 812 reset by
And an inverter (IN
V) 813. The OVFA 810 is output to the INTC 612 as an interrupt signal INTWDT 623, and the output signal of the INV 813 is output to the outside via the WDTO output terminal 614.
【0007】次に、図9,図10のタイミングチャート
を参照してWDTの動作について説明する。まず、シン
グルチップマイクロコンピュータ600が正常動作を行
っているときのタイミングチャートを図9に示す。Aタ
イマ810は内部クロックfCLK により常にカウントア
ップを行う。実行プログラムにはあらかじめ、プログラ
ムが正常ルーチンで実行されればAタイマ810がオー
バーフローする前に常にWDTCLRを出すようにプロ
グラムの設計を行っておく。つまり、プログラムが正常
ルーチンで実行されている限りはAタイマ810は常に
オーバーフローする前にクリアされ、FF812はセッ
トされることなくINV813の出力、つまりWDTO
出力端子614介しての出力は常に“1”固定となりレ
ベルは変化せず、またINTWDT623信号は“0”
固定で割り込みは発生せずプログラムは本来の設計フロ
ーに従って正常実行動作を行っていく。Next, the operation of the WDT will be described with reference to the timing charts of FIGS. First, FIG. 9 shows a timing chart when the single-chip microcomputer 600 is operating normally. The A timer 810 always counts up with the internal clock f CLK . The execution program is designed in advance so that if the program is executed in a normal routine, WDTCLR is always issued before the A timer 810 overflows. That is, as long as the program is executed in the normal routine, the A timer 810 is always cleared before overflow, and the FF 812 is not set and the output of the INV 813, that is, WDTO.
The output through the output terminal 614 is always fixed at "1" and the level does not change, and the INTWDT623 signal is "0".
A fixed interrupt does not occur, and the program normally executes according to the original design flow.
【0008】次にシングルチップマイクロコンピュータ
600が暴走した場合の動作を図10のタイミングチャ
ートを参照して説明する。プログラムの実行が何らかの
要因により正常ルーチンからはずれ暴走すると、本来A
タイマ810がオーバーフローする以前のタイミングで
実行すべきWDTCLR信号を発生する特殊命令が本来
意図したタイミングで正しく実行されず、結局Aタイマ
810はオーバーフローし、OVFA810を発生す
る。OVFA810は、FF812をセットすると同時
にBタイマ811をクリアし、またINTWDT623
としてINTC612への割り込み信号となる。FF8
12がセットされるとFF812の出力は“0”から
“1”に変化する。それに従いFF812の出力を入力
とするINV813の出力は“1”から“0”に変化
し、その値はWDTO出力端子614を介して外部に出
力される。WDTO出力端子614の出力レベルは
“1”から“0”となった後、OVFA810によりク
リアされたBタイマ811がfCLK でカウントアップし
OVFB811が出力されるまでの期間“0”を出力し
続ける。Next, the operation when the single-chip microcomputer 600 runs out of control will be described with reference to the timing chart of FIG. If program execution deviates from the normal routine due to some reason
The special instruction for generating the WDTCLR signal, which should be executed at the timing before the timer 810 overflows, is not correctly executed at the originally intended timing, and the A timer 810 eventually overflows to generate the OVFA 810. The OVFA 810 sets the FF 812 and clears the B timer 811 at the same time, and the INTVDT 623
As an interrupt signal to INTC612. FF8
When 12 is set, the output of the FF 812 changes from "0" to "1". Accordingly, the output of the INV 813 that receives the output of the FF 812 changes from "1" to "0", and the value is output to the outside via the WDTO output terminal 614. After the output level of the WDTO output terminal 614 has changed from "1" to "0", the B timer 811 cleared by the OVFA 810 continues to output "0" until the OVFB 811 is output until the B timer 811 counts up with f CLK. .
【0009】Bタイマ811がオーバーフローしOVF
B811が出力されるとOVFB811によりFF81
2がリセットされ、FF812の出力が“1”から
“0”となり、するとINV813は逆に“0”から
“1”になりWDTO出力端子614のレベルも同様に
“0”から“1”に変化する。この場合暴走を検出し復
帰する手段としてはINTWDT623割り込み信号に
よる割り込み処理の実行か、あるいはWDTO出力端子
614をRESET入力端子616に接続することによ
り、WDTO出力端子614の出力が一定期間“1”か
ら“0”に変化することにより外部リセットをかけ、リ
セット制御部615を通じてシングルチップマイクロコ
ンピュータ600全体のシステムリセットを行うことに
より、正常動作に復帰を行う。B timer 811 overflows and OVF
When B811 is output, FF81 is output by OVFB811.
2 is reset, the output of the FF 812 changes from “1” to “0”, and then the INV 813 changes from “0” to “1” and the level of the WDTO output terminal 614 also changes from “0” to “1”. To do. In this case, as a means for detecting and recovering from the runaway, the interrupt processing by the INTWDT623 interrupt signal is executed, or the WDTO output terminal 614 is connected to the RESET input terminal 616, so that the output of the WDTO output terminal 614 is changed from "1" for a certain period. By changing to "0", an external reset is applied, and by performing a system reset of the entire single-chip microcomputer 600 through the reset control unit 615, normal operation is restored.
【0010】[0010]
【発明が解決しようとする課題】このような従来のシン
グルチップマイクロコンピュータでは、プログラム暴走
検出は、読み込んだ命令が未定義命令であった場合のオ
ペコードトラップ機能によるか、あるいは暴走した結果
としてWDTのクリア信号発生命令が正しいタイミング
で行われなかったことによるWDTのオーバーフローが
起きるかにより判断している。したがって、暴走時に読
み込んだ命令コードが仮に定義されている他の命令コー
ドに化けている場合はオペコードトラップ機能は働かず
に、WDTがオーバーフローするまでの期間はプログラ
ムされた内容とは異なった異常動作を行うことになる。
特に、この異常動作中にシングルチップマイクロコンピ
ュータの内部あるいは、外部に接続されたRAM等への
書き込み命令がおこなわれた場合には、RAMのデータ
が破壊されるおそれがあり、もし仮に重要データが格納
されていたとするとそのデータは使いものにならなくな
りシステムの信頼性が低下するという重大な問題があっ
た。本発明の目的は、暴走時におけるデータ破壊を防止
したシングルチップマイクロコンピュータを提供するこ
とにある。In such a conventional single-chip microcomputer, the program runaway detection is performed by the operation code trap function when the read instruction is an undefined instruction or as a result of the runaway of the WDT. Judgment is made depending on whether the WDT overflows due to the fact that the clear signal generation instruction is not executed at the correct timing. Therefore, if the instruction code read at the time of runaway is garbled to another instruction code that is tentatively defined, the operation code trap function does not work and the abnormal operation different from the programmed content until the WDT overflows. Will be done.
In particular, if a write command is issued to the RAM or the like connected to the inside or outside of the single-chip microcomputer during this abnormal operation, the data in the RAM may be destroyed, and if the important data is temporarily stored. If it was stored, there was a serious problem that the data became unusable and the reliability of the system deteriorated. An object of the present invention is to provide a single chip microcomputer that prevents data destruction during runaway.
【0011】[0011]
【課題を解決するための手段】本発明は、書き込み先ア
ドレス判別部を、書き込み禁止アドレス領域指定部と判
別部より構成され、中央処理装置からの書き込み命令実
行時の書き込み先アドレスが書き込み禁止アドレスであ
るかどうかチェックし、書き込み禁止アドレス領域であ
る場合は中央処理装置からの書き込み信号を禁止してウ
ォッチドックタイマへのタイマーリセット信号を出力す
るように構成する。According to the present invention, a write-destination address discriminating section is composed of a write-prohibited address area designating section and a discriminating section. If it is in the write-inhibited address area, the write signal from the central processing unit is inhibited and the timer reset signal to the watchdog timer is output.
【0012】[0012]
【実施例】次に、本発明について図面を参照して説明す
る。図1乃至図4は本発明の一実施例を示す。図1は、
シングルチップマイクロコンピュータ100のブロック
図であり、このシングルチップマイクロコンピュータ1
00は、CPU110と、μROM111と、INTC
112と、WDT113と、WDT113の出力信号を
外部に出力するWDTO出力端子114と、リセット制
御部115と、RESET入力端子116と、入出力部
118と、ROM119と、RAM120と、内部バス
121と、CPU110からRAM120への書き込み
信号を制御する書き込み制御部124とで構成される。
尚、117は内部リセット信号、122はCPU110
から出力され書き込み制御部124に入力する書き込み
信号(MEMWR)、123はINTWDT信号、12
5は書き込み制御部124から出力されるRAM120
への書き込み信号(RAMWR)である。また、シング
ルチップマイクロコンピュータで使用するメモリーとし
ては上記ROM119,RAM120のほかに入出力部
118を介して外部に接続することができるが、以降の
説明の簡略化のために代表して内部のメモリーに限定し
て説明を行うが、外部に接続されたメモリーに関しても
内部と全く同様である。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings. 1 to 4 show an embodiment of the present invention. Figure 1
FIG. 1 is a block diagram of a single-chip microcomputer 100, and this single-chip microcomputer 1
00 is CPU 110, μROM 111, INTC
112, WDT 113, a WDTO output terminal 114 for outputting the output signal of the WDT 113 to the outside, a reset control section 115, a RESET input terminal 116, an input / output section 118, a ROM 119, a RAM 120, an internal bus 121, The write control unit 124 controls a write signal from the CPU 110 to the RAM 120.
Incidentally, 117 is an internal reset signal, 122 is the CPU 110.
From the write signal (MEMWR) output from the write control unit 124, 123 is the INTWDT signal, 12
5 is the RAM 120 output from the write control unit 124
Is a write signal to (RAMWR). Further, as the memory used in the single-chip microcomputer, in addition to the ROM 119 and the RAM 120, it can be connected to the outside through the input / output unit 118. However, for simplification of the following description, the internal memory is representatively shown. Although the description will be limited to, the same applies to the externally connected memory.
【0013】次に動作について説明する。CPU110
は、バス121を介してROM119にあらかじめ書き
込まれている実行プログラムの命令コードを順次読み込
み、命令コードに従ってμROM111であらかじめ規
定されたマイクロフローに従って命令動作を実行する。
命令動作としては一般的なものとしては各種演算命令、
書き込み命令、読み出し命令、転送命令、ビット操作命
令等各種あるが、例えばいまプログラムによりRAM1
20への書き込み命令を実行した場合の動作を例にとっ
て説明する。CPU110はROM119から命令コー
ドとして、書き込み命令のコード、アドレス、書き込み
データ等からなる一連の命令コードを読み込み、μRO
M111のマイクロプログラムに従いバス121にアド
レス、データをあらかじめ定められたタイミングで出力
し、それと同時にあらかじめ定められたタイミングでM
EMWR信号122を出力する。MEMWR122は書
き込み制御部124を介して書き込みが可能であればR
AMWR125を出力し、RAM120の所定アドレス
に所定データの書き込みを行う。また、CPU110は
上記に説明したプログラム実行処理の他に、INTC1
12からの割り込み信号により、あらかじめ定められた
所定の割り込み処理動作も行う。Next, the operation will be described. CPU110
Sequentially reads the instruction code of the execution program written in advance in the ROM 119 via the bus 121, and executes the instruction operation according to the microflow defined in advance in the μROM 111 according to the instruction code.
Various operation instructions are generally used as instruction operations,
There are various write commands, read commands, transfer commands, bit manipulation commands, etc.
An operation when a write command to 20 is executed will be described as an example. The CPU 110 reads, as an instruction code, a series of instruction codes including a write instruction code, an address, write data, and the like from the ROM 119, and μRO
According to the microprogram of M111, the address and data are output to the bus 121 at a predetermined timing, and at the same time, M and M are output at a predetermined timing.
The EMWR signal 122 is output. If the MEMWR 122 is writable via the write control unit 124, then R
The AMWR 125 is output and the predetermined data is written to the predetermined address of the RAM 120. In addition to the program execution processing described above, the CPU 110 also has the INTC1
The interrupt signal from 12 also performs a predetermined interrupt processing operation.
【0014】図2(a)に書き込み制御部124の内部
構成図を示す。書き込み制御部124はCPU110が
書き込みサイクル起動時に出力するアドレスラッチ信号
によりバス121のアドレスをラッチするアドレスラッ
チ部150と、アドレスラッチ部150から出力される
ラッチアドレスが書き込み許可/禁止領域かを判定する
領域判定部151と、この領域判定部151の出力EQ
152を入力とするINV153と、INV153の出
力とMEMWR122との論理積をとる論理積ゲート
(AND)154と、EQ152とMEMWR122と
の論理積をとるAND155より構成される。また、A
ND155の出力はWAWR126としてWDT113
へ出力される。FIG. 2A shows an internal block diagram of the write controller 124. The write control unit 124 determines an address latch unit 150 that latches the address of the bus 121 according to an address latch signal output by the CPU 110 when the write cycle is activated, and whether the latch address output from the address latch unit 150 is a write enable / disable region. Area determination unit 151 and output EQ of this area determination unit 151
It is composed of an INV 153 that inputs 152, an AND gate (AND) 154 that takes a logical product of the output of the INV 153 and the MEMWR 122, and an AND 155 that takes a logical product of the EQ 152 and the MEMWR 122. Also, A
The output of ND155 is WDT113 as WAWR126.
Is output to.
【0015】前記領域判別部151の詳細なブロック図
を図2(b)に示す。この領域判別部151は内部リセ
ット117によりリセットされる書き込み禁止指定機能
許可ビットであるENビットが1ビット、同じく内部リ
セット117によりリセットされる書き込み禁止アドレ
ス領域を指定する2ビットの計3ビットからなるアドレ
スバンク設定レジスタ200と、アドレスラッチ部15
0の最上位出力とアドレスバンク設定レジスタ200の
第1ビットとの排他的論理和の反転出力を出力するゲー
ト(EXNOR)201と、アドレスラッチ部150の
最上位から2ビット目の出力とアドレスバンク設定レジ
スタ200の第0ビットとの排他的論理和の反転出力を
出力するEXNOR202と、前記EXNOR201と
EXNOR202の出力と、前記アドレスバンク設定レ
ジスタ200のENビット出力との論理積をとるAND
203とで構成される。このAND203の出力はEQ
152として出力される。ここで、アドレスバンク設定
レジスタ200への書き込みは通常の書き込み命令と異
なる特殊命令により行うものとする。A detailed block diagram of the area discriminating section 151 is shown in FIG. The area discriminating unit 151 is made up of a total of 3 bits, that is, the EN bit which is the write prohibition designation function enable bit reset by the internal reset 117 is 1 bit and the write inhibit address area which is reset by the internal reset 117 is 2 bits. Address bank setting register 200 and address latch unit 15
A gate (EXNOR) 201 that outputs the inverted output of the exclusive OR of the most significant output of 0 and the first bit of the address bank setting register 200, and the output of the second most significant bit of the address latch unit 150 and the address bank. An EXNOR 202 for outputting an inverted output of an exclusive OR with the 0th bit of the setting register 200, an output of the EXNOR 201 and the EXNOR 202, and an AND of the EN bit output of the address bank setting register 200
And 203. The output of this AND203 is EQ
It is output as 152. Here, writing to the address bank setting register 200 is performed by a special instruction different from a normal write instruction.
【0016】図3に前記WDT113の詳細ブロック図
を示す。WDT113は、内部クロックfCLK によりあ
る一定周期でカウントされるAタイマ310と、このA
タイマ310のオーバフロー信号OVFA310と書き
込み制御部124より出力されるWAWR126との論
理和をとるゲート(OR)314と、CPU110があ
る特殊命令を実行すると出力されるWDTCLR信号と
前記OR314との論理和をとるOR315と、内部ク
ロックfCLK で一定周期にカウントされ、OR314の
出力信号INTWDT123によりリセットされるBタ
イマ311と、OR314の出力信号によりセットされ
Bタイマ311のオーバーフロー信号OVFB311に
よりリセットされるFF312と、FF312の出力を
入力とするINV313より構成される。尚、前記Aタ
イマ310は、OR315の出力によりリセットされ
る。また、OR314の出力信号INTWDT123は
INTC112に割り込み信号として出力され、INV
313の出力信号はWDTO出力端子114を介して外
部に出力されている。FIG. 3 shows a detailed block diagram of the WDT 113. The WDT 113 includes an A timer 310 that counts in a certain fixed cycle by the internal clock f CLK , and the A timer 310.
A gate (OR) 314 that takes the logical sum of the overflow signal OVFA 310 of the timer 310 and the WAWR 126 that is output from the write control unit 124, and a logical sum of the WDTCLR signal that is output when the CPU 110 executes a special instruction and the OR 314. An OR 315, a B timer 311 which is counted in a constant cycle by the internal clock f CLK , and is reset by the output signal INTWDT123 of the OR 314; It is composed of an INV 313 which receives the output of the FF 312 as an input. The A timer 310 is reset by the output of the OR 315. Further, the output signal INTWDT123 of the OR 314 is output to the INTC 112 as an interrupt signal, and INVDT
The output signal of 313 is output to the outside via the WDTO output terminal 114.
【0017】次に動作について説明する。まず、図2
(b)において、暴走時のデータ破壊を防ぐべき重要デ
ータを格納する領域をアドレスバンク設定レジスタ20
0の第0ビット、第1ビットにより指定する。いま、例
としてアドレス幅を8ビットの256バイト空間として
説明を行うと、アドレスバンク設定レジスタ200の第
0ビット、第1ビットにより指定される空間は次の表1
の通り4つに分割される。Next, the operation will be described. First, FIG.
In (b), the area for storing important data that should prevent data destruction during runaway is designated as the address bank setting register 20.
It is specified by the 0th bit and the 1st bit of 0. Now, as an example, the address width is described as an 8-bit 256-byte space, and the space specified by the 0th bit and the 1st bit of the address bank setting register 200 is shown in Table 1 below.
It is divided into four streets.
【表1】 [Table 1]
【0018】この状態においては、内部リセット117
によりENビットは“0”に初期化されているのでAN
D203の出力EQ152は常に“0”となるから、表
1に従って指定されたアドレス領域に関係なく全くアド
レス空間の書き込みに対してMEMWR信号122がそ
のまま有効となりRAMWR125信号として出力され
るため、RAM120の全領域に対する書き込みが可能
となる。いま例として、書き込み制御アドレス空間を表
1に従い40H〜7FHに設定したとする。CPU11
0は実行プログラムに従いあらかじめ決められた処理を
行いある時点で40H〜7FHのアドレス領域に重要デ
ータの書き込みを行ったとする。重要データの書き込み
が終了した直後にプログラムによりENビットを“1”
にセットする。以降通常プログラム処理をおこなって行
き再度、40H〜7FHの領域に対する書き込みを行う
必要が生じた場合にはENビットを“0”にリセットし
たのち、書き込みを行い、書き込み終了後再びENビッ
トを“1”にセットする。In this state, the internal reset 117
The EN bit is initialized to "0" by
Since the output EQ152 of D203 is always "0", the MEMWR signal 122 becomes valid as it is and is output as the RAMWR125 signal regardless of the address area specified according to Table 1, and is output as the RAMWR125 signal. Writing to the area becomes possible. As an example, assume that the write control address space is set to 40H to 7FH according to Table 1. CPU11
It is assumed that 0 performs predetermined processing according to the execution program and writes important data in the address area of 40H to 7FH at a certain point. Immediately after writing the important data, the EN bit is set to "1" by the program.
Set to. After that, if the normal program processing is performed again and it becomes necessary to write again in the area of 40H to 7FH, the EN bit is reset to "0", then writing is performed, and after the writing is completed, the EN bit is set to "1" again. Set to ".
【0019】以上の様な動作を繰り返してプログラムが
進行する限りは、領域判別回路151の出力EQ152
は“0”固定のままであり変化しない。以上のように、
シングルチップマイクロコンピュータ100が正常動作
を行っている場合には書き込み禁止アドレス領域への書
き込み命令は当然実行されないようプログラムしておけ
ば、書き込み制御部124からの出力WAWR126は
“0”固定のままであるから図3におけるOR314の
出力であるINTWDT123のレベルはOVFA31
0により決定される。Aタイマ310はプログラムの進
行に伴い内部クロックfCLK により常にカウントアップ
を行う。実行プログラムにはあらかじめ、プログラムが
正常ルーチンで実行されればAタイマ310がオーバー
フローする前に常にWDTCLRを出すようにプログラ
ムの設計を行っておく。つまり、プログラムが正常ルー
チンで実行されている限りはAタイマ310は常にオー
バーフローする前にWDTCLRによりクリアされるた
め、OR314の出力のINTWDT123は“0”固
定でFF312はセットされることなくINV313の
出力、つまりWDTO出力端子114を介しての出力レ
ベルは常に“1”固定となりレベルは変化せず、プログ
ラムは本来の設計フローに従って正常実行動作を行って
いく。つまり、プログラム正常実行時の動作は図9に示
す従来例の動作と同様の動作を行うことになる。As long as the program proceeds by repeating the above operation, the output EQ152 of the area discriminating circuit 151.
Remains fixed at "0" and does not change. As mentioned above,
If the single chip microcomputer 100 is programmed so that the write command to the write protected address area is not executed when the single chip microcomputer 100 is operating normally, the output WAWR 126 from the write controller 124 remains fixed at "0". Therefore, the level of INTWDT123 which is the output of OR314 in FIG. 3 is OVFA31.
Determined by 0. The A timer 310 always counts up with the internal clock f CLK as the program progresses. The execution program is designed in advance so that if the program is executed in a normal routine, WDTCLR is always issued before the A timer 310 overflows. That is, as long as the program is executed in the normal routine, the A-timer 310 is always cleared by WDTCLR before it overflows. Therefore, INTWDT123 of the output of OR314 is fixed at "0" and FF312 is not set and That is, the output level via the WDTO output terminal 114 is always fixed at "1" and the level does not change, and the program carries out a normal execution operation according to the original design flow. That is, the operation during normal execution of the program is the same as the operation of the conventional example shown in FIG.
【0020】次に暴走時の動作について図4のタイミン
グチャートを参照して説明する。いまENビットが
“1”にセットされた状態でCPU110が何らかの要
因により暴走したとする。そのとき、CPU110がR
OM119から読み込んだ命令が未定義の命令コードで
ある場合には従来例で説明したようにオペコードトラッ
プにより暴走検出を行う。しかし、暴走時に読み込んだ
命令コードが定義されている場合にはオペコードトラッ
プ機能は働かない。このとき、仮に書き込み禁止に設定
したアドレス領域に対する書き込み命令が誤って実行さ
れたとすると、領域判別部151により書き込み禁止ア
ドレスと判定されれば領域判別部151の出力EQ15
2は“1”を出力する。すると、EQ152が入力され
ているINV153は“0”を出力しRAM120への
書き込み信号RAMWR125を出力するAND154
の出力を“0”に固定するためCPU110からのME
MWR信号122のレベルによらずRAM120への書
き込み信号RAMWR125は“0”のままであるた
め、書き込み命令が実行されても実際にはRAM120
への書き込みは行われずデータは保護される。Next, the operation at the time of runaway will be described with reference to the timing chart of FIG. It is assumed that the CPU 110 has runaway for some reason while the EN bit is set to "1". At that time, the CPU 110
When the instruction read from the OM 119 is an undefined instruction code, the runaway is detected by the operation code trap as described in the conventional example. However, if the instruction code read at the time of runaway is defined, the operation code trap function does not work. At this time, if a write command is erroneously executed to the write-protected address area, if the area determining unit 151 determines that the address is a write-protected address, the output EQ15 of the area determining unit 151 is output.
2 outputs "1". Then, the INV 153 to which the EQ 152 is input outputs “0” and outputs the write signal RAMWR 125 to the RAM 120 and the AND 154.
ME from the CPU 110 to fix the output of
Since the write signal RAMWR125 to the RAM 120 remains "0" regardless of the level of the MWR signal 122, even if the write command is executed, the RAM 120 is actually
The data is protected without being written to.
【0021】また、書き込み禁止アドレスへの書き込み
命令が実行されると領域判別部151の出力EQ152
とMEMWR122とのAND155の出力WAWR1
26は“1”となりWDT113に出力される。WAW
R126が“1”となると図3に示すOR314の出力
を“1”としFF312をセットすると同時に、Bタイ
マ311をクリアし、OR315を介してAタイマ31
0をクリアし、またINTWDT123としてINTC
112へ出力される。FF312がセットされるとその
出力は0”から“1”になり、FF312の出力を入力
とするINV313は“1”から“0”に変化しそのレ
ベルはWDTO出力端子114を介して外部に出力され
る。そうして、ある一定期間経過の後、Bタイマ311
がオーバーフローしOVFB311を出力するとFF3
12はリセットされ、FF312の出力は再び“0”
に、またINV313の出力すなわちWDTO出力端子
114の出力レベルは“0”から“1”になる。Further, when a write command to a write-prohibited address is executed, the output EQ152 of the area discriminating section 151.
ANDWR output of AND155 and MEMWR122
26 becomes "1" and is output to the WDT 113. WAW
When R126 becomes "1", the output of OR314 shown in FIG. 3 is set to "1" and FF312 is set, and at the same time, B timer 311 is cleared and A timer 31 through OR315 is used.
Clear 0 and INTC as INTWDT123
It is output to 112. When the FF312 is set, its output changes from "0" to "1", the INV313 that receives the output of the FF312 changes from "1" to "0", and its level is output to the outside through the WDTO output terminal 114. Then, after a certain period of time, the B timer 311
Overflows and outputs OVFB311, FF3
12 is reset and the output of FF312 is "0" again.
Further, the output of the INV 313, that is, the output level of the WDTO output terminal 114 changes from "0" to "1".
【0022】暴走を検出し復帰する手段としては従来例
と同様にINTWDT123割り込み信号による割り込
み処理か、あるいはWDTO出力端子114をRESE
T入力端子116に接続することにより、WDTO出力
端子114の出力が一定期間“0”に変化することによ
り外部リセットをかけリセット制御部115から出力さ
れる内部リセット信号117によりシングルチップマイ
クロコンピュータ100全体のシステムリセットを行う
ことにより、正常動作に復帰を行う。尚、いまの場合E
Nビットが“1”の状態にある場合に暴走が起こった場
合について述べたが、ENビットが“0”の状態にある
場合に暴走が起こった場合には当然RAM120のデー
タは保証されない。これを回避する方法としては、EN
ビットが“1”の状態のときにRAM120のデータを
バックアップすることによりデータの保護を行うことが
できる。As a means for detecting and recovering from a runaway, interrupt processing by the INTWDT123 interrupt signal is performed as in the conventional example, or WDTO output terminal 114 is set to RESE.
By connecting to the T input terminal 116, the output of the WDTO output terminal 114 changes to “0” for a certain period of time, and an external reset is applied, and an internal reset signal 117 output from the reset control unit 115 causes the entire single chip microcomputer 100 to operate. Perform a system reset of to restore normal operation. In this case, E
The case where the runaway occurs when the N bit is in the "1" state has been described, but when the runaway occurs when the EN bit is in the "0" state, the data in the RAM 120 is naturally not guaranteed. As a method to avoid this, EN
Data can be protected by backing up the data in the RAM 120 when the bit is "1".
【0023】本発明の第2実施例におけるアドレス判別
回路151のブロック図を図5に示す。アドレス判別回
路151は内部リセット信号117によりリセットされ
る判別動作許可ビットENビットからなる判別動作許可
レジスタ510と、同じく内部リセット信号117によ
りリセットされる第0ビット、第1ビットの2ビットか
らなる書き込み禁止上限アドレス設定レジスタ511
と、同じく内部リセット信号117によりリセットされ
る第0ビット、第1ビットの2ビットからなる書き込み
禁止下限アドレス設定レジスタ512とを備える。A block diagram of the address discrimination circuit 151 in the second embodiment of the present invention is shown in FIG. The address discrimination circuit 151 includes a discrimination operation permission register 510 including a discrimination operation permission bit EN bit which is reset by the internal reset signal 117, and a writing including two bits of 0th bit and 1st bit which are also reset by the internal reset signal 117. Prohibited upper limit address setting register 511
And a write-inhibit lower limit address setting register 512 consisting of 2 bits of 0th bit and 1st bit which are similarly reset by the internal reset signal 117.
【0024】更に、上限アドレス設定レジスタ511の
第1ビット出力の反転信号とアドレスラッチ150部の
最上位ビット出力との論理積反転をとるゲート(NO
R)513と、上限アドレス設定レジスタ511の第1
ビットとアドレスラッチ部150部の最上位ビット出力
との排他的論理和反転をとるEXNOR514と、上限
アドレス設定レジスタ511の第0ビットの反転とアド
レスラッチ部150の上位2ビット目の出力との論理積
反転をとるNOR515と、上限アドレス設定レジスタ
の第0ビットとアドレスラッチ部150の上位2ビット
目出力との排他的論理和反転をとるEXNOR516
と、EXNOR514とNOR515の出力の論理積を
とるAND517と、EXNOR514とEXNOR5
16の出力の論理積をとるAND518と、NOR51
3とAND517とAND518の各出力の論理和をと
るOR519とを備える。Further, a gate (NO) for inverting the logical product of the inverted signal of the first bit output of the upper limit address setting register 511 and the most significant bit output of the address latch 150 section.
R) 513 and the first upper limit address setting register 511
EXNOR 514 which performs exclusive OR inversion of the bit and the most significant bit output of the address latch unit 150, the inversion of the 0th bit of the upper limit address setting register 511, and the output of the upper 2nd bit of the address latch unit 150 EXNOR 516 that takes the exclusive OR of the NOR 515 that takes the product inversion and the 0th bit of the upper limit address setting register and the output of the upper 2nd bit of the address latch unit 150
AND 517 that takes the logical product of the outputs of EXNOR 514 and NOR 515, and EXNOR 514 and EXNOR 5
AND518 which takes the logical product of 16 outputs, and NOR51
3 and AND517, and OR519 which takes the logical sum of each output of AND518.
【0025】また、下限アドレス設定レジスタ512の
第1ビット出力とアドレスラッチ部150の最上位ビッ
ト出力との反転信号との論理和反転をとるNOR520
と、下限アドレス設定レジスタ512の第1ビットとア
ドレスラッチ部150の最上位ビット出力との排他的論
理和反転をとるEXNOR521と、下限アドレス設定
レジスタ512の第0ビットの出力とアドレスラッチ部
150の上位2ビット目の出力の反転信号との論理和反
転をとるNOR522と、下限アドレス設定レジスタ5
12の第0ビットとアドレスラッチ部150の上位2ビ
ット目出力との排他的論理和反転をとるEXNOR52
3と、EXNOR521とNOR522の出力の論理積
をとるAND524と、EXNOR521とEXNOR
523の出力の論理積をとるAND525と、NOR5
20とAND525の各出力の論理和をとるOR526
と、判別動作許可レジスタ510のENビットの出力と
OR519の出力とOR526の出力の論理積をとるA
ND527より構成される。 ここで、判別動作許可レ
ジスタ510と、上限アドレス設定レジスタ511と、
下限アドレス設定レジスタ512への書き込みは通常の
書き込み命令と異なる特殊命令によって行うものとす
る。Further, NOR 520 which takes the logical OR of the inversion signal of the first bit output of the lower limit address setting register 512 and the most significant bit output of the address latch unit 150.
EXNOR 521 that performs an exclusive OR inversion of the first bit of the lower limit address setting register 512 and the most significant bit output of the address latch unit 150, and the output of the 0th bit of the lower limit address setting register 512 and the address latch unit 150. NOR 522 that performs logical OR inversion with the inversion signal of the output of the upper 2nd bit, and lower limit address setting register 5
EXNOR52 which performs exclusive OR inversion of the 0th bit of 12 and the output of the upper 2nd bit of the address latch unit 150
3, AND 524 which takes the logical product of the outputs of EXNOR 521 and NOR 522, EXNOR 521 and EXNOR
AND 525 that takes the logical product of the outputs of 523 and NOR5
OR526 which takes the logical sum of 20 and each output of AND525
And the logical product of the output of the EN bit of the determination operation permission register 510, the output of OR519, and the output of OR526 A
It is composed of ND527. Here, the determination operation permission register 510, the upper limit address setting register 511,
Writing to the lower limit address setting register 512 is performed by a special instruction different from a normal write instruction.
【0026】次にアドレス判別動作について説明する。
まず、アドレス判別動作を行うためには、判別動作許可
レジスタ510のENビットを“1”にセットすること
により行う。もし、ENビットが“0”の場合にはAN
D527、すなわちEQ125の出力レベルはOR51
9,OR526の値によらず“0”固定となる。ENビ
ットが“1”にセットされていれば、EQ125のレベ
ルはOR519,OR526の値により決定される。こ
こで、OR519は上限アドレス判別の結果、上限設定
アドレスと対象アドレスが等しいか、あるいは上限設定
アドレスより対象アドレスが小さければ“1”となり、
それ以外では“0”となる。また、OR526は、下限
設定アドレスと対象アドレスが等しいか、あるいは下限
設定アドレスより対象アドレス大きければ“1”とな
り、それ以外では“0”となるよう動作する。したがっ
て、AND527の値、即ちEQ125のレベルはEN
ビットが“1”で、対象アドレスが上限アドレス設定値
より小さく、且つ下限アドレス設定値より大きい場合に
“1”となり、それ以外では“0”となる。Next, the address discrimination operation will be described.
First, the address discrimination operation is performed by setting the EN bit of the discrimination operation permission register 510 to "1". If the EN bit is "0", then AN
The output level of D527, that is, EQ125 is OR51.
9, fixed to "0" regardless of the value of OR526. If the EN bit is set to "1", the level of EQ125 is determined by the values of OR519 and OR526. Here, as a result of the upper limit address discrimination, the OR 519 becomes “1” if the upper limit setting address is equal to the target address or if the target address is smaller than the upper limit setting address,
Otherwise, it becomes "0". Further, the OR 526 operates so that if the lower limit setting address and the target address are equal to each other or if the target address is larger than the lower limit setting address, the OR 526 becomes "1", and otherwise it becomes "0". Therefore, the value of AND527, that is, the level of EQ125 is EN
If the bit is "1" and the target address is smaller than the upper limit address setting value and larger than the lower limit address setting value, it becomes "1", and otherwise it becomes "0".
【0027】次に、上限アドレス判別方法について説明
する。まず、アドレスの大小判別を行うためには最上位
ビットから順にアドレス比較を行っていくことにより行
う。即ち、設定アドレスの最上位ビットが対象アドレス
の最上位ビットに比べて大きければ、この時点でそれ以
下のアドレスビットの大小によらず対象アドレスに比べ
設定アドレスが大きいと判断でき、設定アドレスの最上
位ビットより対象アドレスの最上位ビットが大きければ
以降のアドレスビットの大小に関係なく設定アドレスよ
り対象アドレスのほうが大きいと判断できる。もし設定
アドレスの最上位ビットと対象アドレスの最上位ビット
が等しければアドレスの大小判別はそれぞれ最上位から
ひとつ下位のビットの大小比較により行われる。ここで
も最上位ビットで行ったのと同様の大小判別を行い、以
降大小判別が終了するまで順次上位ビットから下位ビッ
トへの大小比較を繰り返し行うことになる。Next, the upper limit address determination method will be described. First, in order to determine the size of an address, the addresses are compared in order from the most significant bit. That is, if the most significant bit of the set address is larger than the most significant bit of the target address, it can be determined at this point that the set address is larger than the target address regardless of the size of the address bits below it, and the If the most significant bit of the target address is larger than the upper bit, it can be determined that the target address is larger than the set address regardless of the size of subsequent address bits. If the most significant bit of the set address and the most significant bit of the target address are equal, the size of the address is discriminated by comparing the size of the bit one bit below the most significant bit. In this case as well, the same magnitude discrimination as that performed for the most significant bit is performed, and thereafter, the magnitude comparison from the upper bit to the lower bit is repeated successively until the magnitude discrimination is completed.
【0028】次に実際に図5のアドレス判別回路151
における上記アドレス判別の詳細動作について説明す
る。NOR513,EXNOR514は設定アドレスと
対象アドレスの最上位ビットの比較を行う。NOR51
5と、EXNOR516は上位2ビット目の比較を行
う。上限アドレス設定レジスタ511の第1ビットがア
ドレスラッチ部150の最上位ビットより大きければ、
すなわち、上限アドレス設定レジスタの第1ビットが
“1”でアドレスラッチ部150の最上位ビット出力が
“0”であればNOR513の出力は“1”となり、上
位2ビット目の大小によらずOR519出力は“1”と
なる。逆に上限アドレス設定レジスタ511の第1ビッ
トよりアドレスラッチ部150の最上位ビットが大きけ
れば、NOR513の出力は“0”となり、またEXN
OR514の出力が“0”となるからEXNOR514
をその入力の一つとするAND517,AND518の
出力は共に“0”になるから、OR519の出力は
“0”となる。Next, the address discrimination circuit 151 shown in FIG.
The detailed operation of the address discrimination in the above will be described. The NOR 513 and the EXNOR 514 compare the most significant bits of the set address and the target address. NOR51
5 and EXNOR 516 compare the upper 2nd bit. If the first bit of the upper limit address setting register 511 is larger than the most significant bit of the address latch unit 150,
That is, when the first bit of the upper limit address setting register is "1" and the most significant bit output of the address latch unit 150 is "0", the output of the NOR 513 is "1" regardless of the magnitude of the second upper bit OR519. The output becomes "1". On the contrary, if the most significant bit of the address latch unit 150 is larger than the first bit of the upper limit address setting register 511, the output of the NOR 513 becomes “0”, and EXN
Since the output of OR514 becomes "0", EXNOR514
The outputs of the AND 517 and AND 518 each of which has one of the inputs become "0", so that the output of the OR 519 becomes "0".
【0029】上限アドレス設定レジスタ511の第1ビ
ットとアドレスラッチ部150の最上位ビット出力が等
しければNOR513の出力は“0”のままであるが、
この時EXNOR出力は“1”となり、AND517,
AND518の出力はそれぞれNOR515、EXNO
R516の出力、つまりアドレスの上位2ビット目の大
小により決定される。もし、上限アドレス設定レジスタ
511の第0ビットがアドレスラッチ部150の上位2
ビット目の出力より大きい場合にNOR515の出力は
“1”となるから、AND517の出力は“1”とな
り、OR519の出力が“1”となる。If the first bit of the upper limit address setting register 511 and the most significant bit output of the address latch section 150 are equal, the output of the NOR 513 remains "0".
At this time, EXNOR output becomes "1", and AND517,
The outputs of AND518 are NOR515 and EXNO, respectively.
It is determined by the output of R516, that is, the magnitude of the upper 2nd bit of the address. If the 0th bit of the upper limit address setting register 511 is the upper 2 bits of the address latch unit 150,
When the output of the NOR 515 is larger than the output of the 1st bit, the output of the AND 517 is "1" and the output of the OR 519 is "1".
【0030】また、上限アドレス設定レジスタ511の
第0ビットがアドレスラッチ150の上位2ビット目の
出力と等しいかあるいは小さい場合はOR515の出力
は“0”であるから、AND517の出力も“0”とな
る。最上位ビット、2ビット目とも等しい場合は、EX
NOR514とEXNOR516の出力は共に“1”と
なるから、それぞれの出力を入力とするAND518の
出力は“1”となり、結果OR519の出力は“1”と
なる。最上位ビットが等しく、且つ上限アドレス設定レ
ジスタ511の第0ビットよりアドレスラッチ部150
部の上位2ビット目の出力が大きければ、NOR51
5,EXNOR516の出力とも“0”となるから、N
OR513,AND517,AND518のいずれの出
力も“0”となり、OR519の出力は“0”となる。If the 0th bit of the upper limit address setting register 511 is equal to or smaller than the output of the upper 2nd bit of the address latch 150, the output of the OR 515 is "0", and the output of the AND 517 is also "0". Becomes EX if the most significant bit and the second bit are equal
Since the outputs of the NOR 514 and the EXNOR 516 are both "1", the output of the AND 518 that receives the respective outputs is "1", and the output of the OR 519 is "1". The address latch unit 150 has the same highest-order bit and the 0th bit of the upper limit address setting register 511.
If the output of the upper 2nd bit of the copy is large, NOR51
5, the output of EXNOR 516 becomes "0", so N
The output of each of OR513, AND517, and AND518 becomes "0", and the output of OR519 becomes "0".
【0031】以上説明したように、上限アドレス設定レ
ジスタ511により設定されたアドレス値と対象アドレ
スの値が等しいか、あるいは、上限アドレス設定レジス
タ511により設定されたアドレス値より対象アドレス
の値が小さいと判定されると、OR519の出力が
“1”となり、AND527、即ちEQ152は下限ア
ドレス判別結果であるOR526の出力レベルにより決
定される。As described above, when the address value set by the upper limit address setting register 511 is equal to the value of the target address, or when the target address value is smaller than the address value set by the upper limit address setting register 511. When the determination is made, the output of OR519 becomes "1", and AND527, that is, EQ152 is determined by the output level of OR526 which is the lower limit address determination result.
【0032】次に、OR526の出力レベルを決定する
下限アドレスの判別方法について述べる。下限アドレス
の判別は上限アドレス判別における設定アドレスと対象
アドレスとの関係を逆転することによって全く同様に行
うことができる。即ち、上限アドレス判別におけるNO
R513,NOR515に該当するNOR520,NO
R522における入力信号で反転させる信号をそれぞれ
アドレス設定レジスタの値から、対象アドレスであるア
ドレスラッチ部150の出力値にすることによりアドレ
ス大小判別を行い、OR526の出力レベルを決定す
る。以上説明したようにアドレス判別回路151はEQ
152の出力レベルの決定を行う。Next, a method of determining the lower limit address for determining the output level of the OR 526 will be described. The determination of the lower limit address can be performed in exactly the same way by reversing the relationship between the set address and the target address in the determination of the upper limit address. That is, NO in the upper limit address determination
NOR520 and NO corresponding to R513 and NOR515
An address size determination is performed by setting a signal to be inverted by the input signal in R522 from the value of the address setting register to the output value of the address latch unit 150 which is the target address, and the output level of the OR526 is determined. As described above, the address discrimination circuit 151 uses the EQ.
The output level of 152 is determined.
【0033】次に、前述した領域判別回路151を内蔵
した本発明のシングルチップマイクロコンピュータ10
0の動作について説明する。まず最初に、上限アドレス
レジスタ511と下限アドレス設定レジスタ512によ
り書き込み禁止アドレス領域の設定を行う。いま、アド
レス幅を8ビットとすると書き込み禁止アドレス設定領
域は表2に示す10通りに設定できる。表2に従って上限
アドレス設定レジスタ511と下限アドレス設定レジス
タ512をそれぞれ設定する。例えば、上限アドレス設
定レジスタ511を10Bに下限アドレス設定レジスタ5
12を01Bに設定したとする。すると書き込み禁止アド
レス範囲は40H〜BFHに設定される。Next, the single-chip microcomputer 10 of the present invention incorporating the area discriminating circuit 151 described above.
The operation of 0 will be described. First, the upper limit address register 511 and the lower limit address setting register 512 set the write-protected address area. Now, assuming that the address width is 8 bits, the write prohibited address setting area can be set in 10 ways shown in Table 2. The upper limit address setting register 511 and the lower limit address setting register 512 are set according to Table 2. For example, set the upper limit address setting register 511 to 10B and the lower limit address setting register 5
Suppose 12 is set to 01B. Then, the write prohibited address range is set to 40H to BFH.
【0034】[0034]
【表2】 [Table 2]
【0035】本実施例と前記第1実施例との相違は、第
1実施例においては設定できるアドレスがバンクで指定
されるあるブロックに対してのみ指定できないのに対し
て、本実施例では上限、下限のアドレスを任意に設定で
きる事である。なお、この場合説明のため上限アドレス
設定レジスタ、下限アドレス設定レジスタをそれぞれ2
ビットで構成されるとしたが、ここで上限アドレス設定
レジスタと下限アドレス設定レジスタのビット幅を多く
とればより詳細なアドレス領域の設定が行え、内部アド
レスバス幅等しくとればアドレス領域の設定は1アドレ
ス単位に行うことができる。このように、アドレス領域
の設定を行い、アドレス判別動作の結果の出力EQ15
2のレベルが決定した以降の動作は、第1実施例と同様
の動作を行う。The difference between this embodiment and the first embodiment is that in the first embodiment, the address that can be set cannot be specified only for a certain block specified by a bank, whereas in this embodiment, the upper limit is set. The lower limit address can be set arbitrarily. In this case, for the sake of explanation, the upper limit address setting register and the lower limit address setting register are each set to 2
Although it is configured with bits, if the bit widths of the upper limit address setting register and the lower limit address setting register are increased here, more detailed address area setting can be performed, and if the internal address bus widths are equal, the address area setting is 1 It can be done in address units. In this way, the address area is set and the result of the address discrimination operation is output EQ15.
The operations after the second level is determined are the same as those in the first embodiment.
【0036】[0036]
【発明の効果】以上説明したように本発明は、任意に設
定したアドレス領域に対する書き込みの制御を行うこと
により、仮にシングルチップマイクロコンピュータが暴
走したとしても、重要データをあらかじめ書き込み禁止
アドレス領域に指定しておくことにより暴走時のデータ
破壊を防止することができる効果がある。As described above, according to the present invention, by controlling writing to an arbitrarily set address area, even if the single-chip microcomputer runs out of control, important data is designated in advance in the write-inhibited address area. By doing so, it is possible to prevent data destruction during a runaway.
【図1】本発明のシングルチップマイクロコンピュータ
の構成図である。FIG. 1 is a configuration diagram of a single-chip microcomputer of the present invention.
【図2】本発明の第1実施例における書き込み制御部及
びアドレス判別回路の回路図である。FIG. 2 is a circuit diagram of a write control unit and an address discrimination circuit in the first embodiment of the present invention.
【図3】WDTの回路図である。FIG. 3 is a circuit diagram of WDT.
【図4】本発明の第1実施例におけるタイミングチャー
トである。FIG. 4 is a timing chart in the first embodiment of the present invention.
【図5】本発明の第2実施例におけるアドレス判別回路
の回路図である。FIG. 5 is a circuit diagram of an address discrimination circuit according to a second embodiment of the present invention.
【図6】従来のシングルチップマイクロコンピュータの
構成図である。FIG. 6 is a configuration diagram of a conventional single-chip microcomputer.
【図7】オペコードトラップのフローチャートである。FIG. 7 is a flowchart of an opcode trap.
【図8】従来のWDTの回路図である。FIG. 8 is a circuit diagram of a conventional WDT.
【図9】従来の正常動作時のタイミングチャートであ
る。FIG. 9 is a conventional timing chart during normal operation.
【図10】従来の異常動作時のタイミングチャートであ
る。FIG. 10 is a timing chart of a conventional abnormal operation.
100 シングルチップマイクロコンピュータ 110 CPU 111 μROM 112 INTC 113 WDT 115 リセット制御部 118 入出力部 119 ROM 120 RAM 121 内部バス 124 書き込み制御部 100 Single Chip Microcomputer 110 CPU 111 μROM 112 INTC 113 WDT 115 Reset Control Unit 118 Input / Output Unit 119 ROM 120 RAM 121 Internal Bus 124 Write Control Unit
Claims (1)
憶部と、ウォッチドックタイマと、書き込み先アドレス
領域判別部と、入出力部とを有するシングルチップマイ
クロコンピュータにおいて、前記書き込み先アドレス判
別部は、書き込み禁止アドレス領域指定部と判別部より
構成され、前記中央処理装置からの書き込み命令実行時
の書き込み先アドレスが書き込み禁止アドレスであるか
どうかチェックし、書き込み禁止アドレス領域である場
合は中央処理装置からの書き込み信号を禁止し、前記ウ
ォッチドックタイマへのタイマーリセット信号を出力す
るように構成したことを特徴とするシングルチップマイ
クロコンピュータ。1. A single-chip microcomputer having a central processing unit, a microprogram storage unit, a watchdog timer, a write destination address area determination unit, and an input / output unit, wherein the write destination address determination unit is a write unit. It is composed of a prohibited address area designating section and a discrimination section, and checks whether the write destination address at the time of executing the write command from the central processing unit is a write prohibited address. A single-chip microcomputer configured to inhibit a write signal and output a timer reset signal to the watchdog timer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4187496A JPH064687A (en) | 1992-06-22 | 1992-06-22 | Single chip microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4187496A JPH064687A (en) | 1992-06-22 | 1992-06-22 | Single chip microcomputer |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH064687A true JPH064687A (en) | 1994-01-14 |
Family
ID=16207086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4187496A Pending JPH064687A (en) | 1992-06-22 | 1992-06-22 | Single chip microcomputer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH064687A (en) |
-
1992
- 1992-06-22 JP JP4187496A patent/JPH064687A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5305460A (en) | Data processor | |
US4870562A (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
EP1324190B1 (en) | Data processing system having a read-modify-write unit | |
JPH04211838A (en) | Method and apparatus for preventing returning risk | |
JPH0877075A (en) | Information processor | |
WO1985002040A1 (en) | Microcomputer having an internal address mapper | |
JPH064687A (en) | Single chip microcomputer | |
KR100525537B1 (en) | Applied Program Bungle Detection Apparatus and Method by Interrupt | |
JPS6236575B2 (en) | ||
JPH05257815A (en) | Central processing unit | |
US6175518B1 (en) | Remote register hierarchy accessible using a serial data line | |
JPS6074059A (en) | Access control system for storage device | |
JPH08235073A (en) | Microcomputer | |
US6976041B2 (en) | Recording medium recorded with program for detecting database operation timing, method of detecting database operation timing, and apparatus for detecting database operation timing | |
JP3169878B2 (en) | Memory control circuit | |
JPH09167117A (en) | Microcomputer and real time system using the microcomputer | |
JPH02132524A (en) | Information processor | |
JPS6073762A (en) | Memory protective system | |
JPH11238016A (en) | Method and device for memory protection | |
JPH0743668B2 (en) | Access control device | |
JPH0934795A (en) | Copy protection method for cpu program | |
JPH0683986A (en) | Single chip microcomputer | |
JPH0293734A (en) | Error detecting method in information processor | |
JPS62212733A (en) | Overflow detecting mechanism for stack area | |
JPH05334074A (en) | Microprocessor |