JPH03189734A - 複数のメモリ素子を有するcpu装置 - Google Patents
複数のメモリ素子を有するcpu装置Info
- Publication number
- JPH03189734A JPH03189734A JP1330061A JP33006189A JPH03189734A JP H03189734 A JPH03189734 A JP H03189734A JP 1330061 A JP1330061 A JP 1330061A JP 33006189 A JP33006189 A JP 33006189A JP H03189734 A JPH03189734 A JP H03189734A
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory element
- address
- rom
- cpu
- 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
- Control Or Security For Electrophotography (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(Fl)産業上の利用分野
この発明は、複数のメモリ素子を有するCPU装置に関
する。
する。
(bl従来の技術
複数のメモリ素子(ROM、RAMなど)を有するコン
トローラなどの従来のCPU装置では、メモリ異常時に
RAMデータ破壊やシステムが受けるダメージに対して
保証する手段が取られていなかった。コントローラとし
ては、例えば第3図に示すような構成のものが考えられ
る。このコントローラのシステムは、CPU、ROM1
.ROM2.RAM、Ilo、セレクト回路からなり、
RAMはバッテリによってバックアップされている。第
4図はこのシステムのメモリマツプを示している。ここ
で、仮に、ROMIが静電気や取扱の誤りで全く動作し
なくなったとする。すると、ROMIのエリアである0
0001(番地(プログラム開始アドレス)から3FF
FH番地の内容は全て00となる。多くのcpuの場合
、00はNOP命令であるからCPUは何も処理しない
で、ROM2の先頭番地のプログラムを実行する。これ
は正常な動作ではないために、プログラマ−の意図とは
異なる処理を実行することになる。すなわちRAMに誤
ったデータを書き込んだり、CPUが暴走してシステム
にダメージを与える。また、ROM2で同様なことがお
こった場合も、RAMの内容は多くの場合データである
から、CPUはデータをプログラムの一部として見做し
て動作するために暴走し、RAMの内容を書き換えたり
システムにダメージをを与える。さらに、メモリの内容
が誤りであったり、メモリソケットの挿入ミスなどが生
じた場合には、プログラムの命令が全く意味のない命令
となり、この場合にも同様にCPUは暴走し、RAMの
内容を破壊したり、システムにダメージを与える。
トローラなどの従来のCPU装置では、メモリ異常時に
RAMデータ破壊やシステムが受けるダメージに対して
保証する手段が取られていなかった。コントローラとし
ては、例えば第3図に示すような構成のものが考えられ
る。このコントローラのシステムは、CPU、ROM1
.ROM2.RAM、Ilo、セレクト回路からなり、
RAMはバッテリによってバックアップされている。第
4図はこのシステムのメモリマツプを示している。ここ
で、仮に、ROMIが静電気や取扱の誤りで全く動作し
なくなったとする。すると、ROMIのエリアである0
0001(番地(プログラム開始アドレス)から3FF
FH番地の内容は全て00となる。多くのcpuの場合
、00はNOP命令であるからCPUは何も処理しない
で、ROM2の先頭番地のプログラムを実行する。これ
は正常な動作ではないために、プログラマ−の意図とは
異なる処理を実行することになる。すなわちRAMに誤
ったデータを書き込んだり、CPUが暴走してシステム
にダメージを与える。また、ROM2で同様なことがお
こった場合も、RAMの内容は多くの場合データである
から、CPUはデータをプログラムの一部として見做し
て動作するために暴走し、RAMの内容を書き換えたり
システムにダメージをを与える。さらに、メモリの内容
が誤りであったり、メモリソケットの挿入ミスなどが生
じた場合には、プログラムの命令が全く意味のない命令
となり、この場合にも同様にCPUは暴走し、RAMの
内容を破壊したり、システムにダメージを与える。
(C1発明が解決しようとする課題
このように、従来は複数のメモリ素子の一部に異常が発
生した場合に何らの対策が施されていなかったために、
一部のメモリ素子が異常のときにはCPUが暴走して他
のメモリの内容を四き換えたりシステムにダメージを与
えてしまうという問題があった。
生した場合に何らの対策が施されていなかったために、
一部のメモリ素子が異常のときにはCPUが暴走して他
のメモリの内容を四き換えたりシステムにダメージを与
えてしまうという問題があった。
この発明の目的は、各メモリ素子の先頭番地に所定の命
令を予め記憶させておくことによって上記の不都合を解
決することの出来るCPU装置を提供することにある。
令を予め記憶させておくことによって上記の不都合を解
決することの出来るCPU装置を提供することにある。
(d)課題を解決するための手段
この発明は、複数のメモリ素子を有するcpu装置にお
いて、 プログラム開始アドレスを含むメモリ素子を除く各メモ
リ素子は、先頭番地から(CPUの最長命令バイト数−
1)個以上のNOP命令とそれに続(停止処理プログラ
ムとを予め記憶したメモリ素子で構成されていることを
特徴とする。
いて、 プログラム開始アドレスを含むメモリ素子を除く各メモ
リ素子は、先頭番地から(CPUの最長命令バイト数−
1)個以上のNOP命令とそれに続(停止処理プログラ
ムとを予め記憶したメモリ素子で構成されていることを
特徴とする。
(Q)作用
この発明では、一部のメモリ素子に静電気破壊や誤挿入
などの異常があった場合、CPLIはそのメモリ素子に
対して、より上位のアドレス空間エリアを有するメモリ
素子の先頭番地で極めて高い確立で停止する。すなわち
、メモリデータが破壊していたりメモリソケットの誤挿
入などがあった場合には、多くの場合、CPUはでたら
めな演算処理を行いながら次のメモリ素子の先頭番地の
プログラムを実行する確立が非常に高いために、その異
常状態にあるメモリ素子の最終番地のデータがどのよう
な長さの命令の一部データであっても、次の番地である
次のメモリ素子の先頭番地からNOP命令が(CPUの
最長命令パイ!・数−1)個連続するために、前記最終
番地のデータが対応する命令は実行されずに、NOP命
令を通過して、最後のNOP命令の次の命令である停止
処理プログラムを実行してプログラムが停止する。
などの異常があった場合、CPLIはそのメモリ素子に
対して、より上位のアドレス空間エリアを有するメモリ
素子の先頭番地で極めて高い確立で停止する。すなわち
、メモリデータが破壊していたりメモリソケットの誤挿
入などがあった場合には、多くの場合、CPUはでたら
めな演算処理を行いながら次のメモリ素子の先頭番地の
プログラムを実行する確立が非常に高いために、その異
常状態にあるメモリ素子の最終番地のデータがどのよう
な長さの命令の一部データであっても、次の番地である
次のメモリ素子の先頭番地からNOP命令が(CPUの
最長命令パイ!・数−1)個連続するために、前記最終
番地のデータが対応する命令は実行されずに、NOP命
令を通過して、最後のNOP命令の次の命令である停止
処理プログラムを実行してプログラムが停止する。
CPUはプログラムが停止することにより、他のメモリ
を書き換えたりシステムにダメージを与える確率を少な
くすることができる。
を書き換えたりシステムにダメージを与える確率を少な
くすることができる。
(f)実施例
第1図はこの発明の実施例のメモリマツプを示している
。コントローラは第3図に示すものと同一である。図に
示すように、プログラム開始アドレスを含むメモリ素子
であるROMIを除<ROM2およびRAMの各メモリ
素子は、先頭番地からプログラム■が記述されている。
。コントローラは第3図に示すものと同一である。図に
示すように、プログラム開始アドレスを含むメモリ素子
であるROMIを除<ROM2およびRAMの各メモリ
素子は、先頭番地からプログラム■が記述されている。
なお、本実施例ではCPUにも内部RAMが配置されて
おり、このCPU内部[?AMの先頭番地からもプログ
ラム■が記述されている。
おり、このCPU内部[?AMの先頭番地からもプログ
ラム■が記述されている。
第2図は上記プログラム■の内容を示している、プログ
ラム■はN個のNOP命令とその後ろにに’E<JLI
MP命令を含む無限ルーチンとで構成されている。無限
ルーチンではJUMP命令によって一つ前のアドレスに
ジャンプするようになっているために実質的にこの位置
でプログラムが停止する。なお、このルーチンに代えて
HA L T命令を挿入することも可能である。上記N
個のNOP命令ではCPUは何もしないが、NはCPU
の最長命令のバイト数−1以上の数に等しくされている
。
ラム■はN個のNOP命令とその後ろにに’E<JLI
MP命令を含む無限ルーチンとで構成されている。無限
ルーチンではJUMP命令によって一つ前のアドレスに
ジャンプするようになっているために実質的にこの位置
でプログラムが停止する。なお、このルーチンに代えて
HA L T命令を挿入することも可能である。上記N
個のNOP命令ではCPUは何もしないが、NはCPU
の最長命令のバイト数−1以上の数に等しくされている
。
このよ・)な構成にすると、メモリ素子の1つが異常の
場合cpuは次のように動作する。
場合cpuは次のように動作する。
先ず、ROMIが全く動作しない場合には、ROMIの
アドレスを素通りしてROM2の先頭番地からのプログ
ラムを実施する。この時、ROM2の先頭番地からはプ
ログラム■が記述されているために、そこでプログラム
が停止して、RAMやシステムにダメージを与えること
がなくなる。
アドレスを素通りしてROM2の先頭番地からのプログ
ラムを実施する。この時、ROM2の先頭番地からはプ
ログラム■が記述されているために、そこでプログラム
が停止して、RAMやシステムにダメージを与えること
がなくなる。
ROM2が動作しない場合も全く同様である。
次に、メモリの内容が誤りであったり、メモリソケソI
・の挿入ミスなどがあってCP Uが暴走、した場合を
考える。−船釣なCPUの命令コードは約8割が演算命
令で、約1割がその他の処理命令であり、ジャンプ系の
命令は約1割である。また、メモリ素子のアドレスH後
までプログラムが入っていることは殆どなく、余った部
分にはOOかFFが入っている場合が殆どである。この
ため、CPUが暴走した場合にはでたらめな演算処理を
行いながら次のメモリ素子の先頭番地を実行する確立が
極めて高くなる。すなわち、プログラム■が実行される
ことになるために、この位置でCPUの暴走を止めるこ
とができる。前述のように、プログラム■は(最長命令
のバイト数−1)以上の個数(N個)のNOP命令を配
置しているために、プログラム■を実行する直前の命令
が最長命令であったとしても、結局、なにも行われず、
次の停止処理プログラムを実行してプログラムが実質的
に停止される。
・の挿入ミスなどがあってCP Uが暴走、した場合を
考える。−船釣なCPUの命令コードは約8割が演算命
令で、約1割がその他の処理命令であり、ジャンプ系の
命令は約1割である。また、メモリ素子のアドレスH後
までプログラムが入っていることは殆どなく、余った部
分にはOOかFFが入っている場合が殆どである。この
ため、CPUが暴走した場合にはでたらめな演算処理を
行いながら次のメモリ素子の先頭番地を実行する確立が
極めて高くなる。すなわち、プログラム■が実行される
ことになるために、この位置でCPUの暴走を止めるこ
とができる。前述のように、プログラム■は(最長命令
のバイト数−1)以上の個数(N個)のNOP命令を配
置しているために、プログラム■を実行する直前の命令
が最長命令であったとしても、結局、なにも行われず、
次の停止処理プログラムを実行してプログラムが実質的
に停止される。
(a発明の効果
以上のようにこの発明によれば、複数のメモリ素子のう
ち何れかの素子が方向を誤って挿入されていたり、静電
気や取り扱いミスによってデータか破壊されていた場合
に、CPUが暴走を1!続し他のメモリ素子の内容を破
壊したりシステム全体に与えるダメージをを最小限に抑
えることができる。また外部からのノイズによってメモ
リデータが変わることがあっても、本発明によれば、シ
ステムに与えるダメージを最小限に抑えることが出来る
。このため、特に電源オン時などにスパイクノイズを発
生するノイズ源を有する装置、例えばハロゲンランプ、
高圧チャージャ、電源開閉リレーなどを多数有する電子
写真複写機に使用することにより、CPU暴走時の回復
作業が容易になる利点がある。
ち何れかの素子が方向を誤って挿入されていたり、静電
気や取り扱いミスによってデータか破壊されていた場合
に、CPUが暴走を1!続し他のメモリ素子の内容を破
壊したりシステム全体に与えるダメージをを最小限に抑
えることができる。また外部からのノイズによってメモ
リデータが変わることがあっても、本発明によれば、シ
ステムに与えるダメージを最小限に抑えることが出来る
。このため、特に電源オン時などにスパイクノイズを発
生するノイズ源を有する装置、例えばハロゲンランプ、
高圧チャージャ、電源開閉リレーなどを多数有する電子
写真複写機に使用することにより、CPU暴走時の回復
作業が容易になる利点がある。
第1図は本発明の実施例のメモリマツプを示し、第2図
はメモリ素子の先頭番地以下に配置されるプログラムの
内容を示している。また第3図は本発明が適用されるコ
ン1−ローラのブロック図であり、第4図は従来のコン
トローラのメモリマツプを示す図である。 プログラム■−停止処理プログラム。 第1図
はメモリ素子の先頭番地以下に配置されるプログラムの
内容を示している。また第3図は本発明が適用されるコ
ン1−ローラのブロック図であり、第4図は従来のコン
トローラのメモリマツプを示す図である。 プログラム■−停止処理プログラム。 第1図
Claims (1)
- (1)複数のメモリ素子を有するCPU装置において、 プログラム開始アドレスを含むメモリ素子を除く各メモ
リ素子は、先頭番地から(CPUの最長命令バイト数−
1)個以上のNOP命令とそれに続く停止処理プログラ
ムとを予め記憶したメモリ素子で構成されていることを
特徴とする、複数のメモリ素子を有するCPU装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1330061A JPH03189734A (ja) | 1989-12-19 | 1989-12-19 | 複数のメモリ素子を有するcpu装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1330061A JPH03189734A (ja) | 1989-12-19 | 1989-12-19 | 複数のメモリ素子を有するcpu装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03189734A true JPH03189734A (ja) | 1991-08-19 |
Family
ID=18228344
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1330061A Pending JPH03189734A (ja) | 1989-12-19 | 1989-12-19 | 複数のメモリ素子を有するcpu装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03189734A (ja) |
-
1989
- 1989-12-19 JP JP1330061A patent/JPH03189734A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8015558B1 (en) | System, method and computer program product for on-the-fly patching of executable code | |
| CN110663006A (zh) | 工业可编程逻辑控制器的弹性故障转移 | |
| JP3563412B2 (ja) | コードシーケンスを変更する方法及び関連の装置 | |
| US8707424B2 (en) | Method for making secure execution of a computer programme, in particular in a smart card | |
| JPH03189734A (ja) | 複数のメモリ素子を有するcpu装置 | |
| US7788533B2 (en) | Restarting an errored object of a first class | |
| JPH09198258A (ja) | タスクスタックオーバーフロー検出回路 | |
| JP3046328B2 (ja) | パチンコゲーム機の制御装置 | |
| US7246206B2 (en) | Method and device for storing a computer program in a program memory of a control unit | |
| US20050034010A1 (en) | Program-controlled unit | |
| WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
| KR100799599B1 (ko) | 기억 관리 장치가 없는 마이크로 컨트롤러를 포함하는 임베디드 하드웨어의 운영 시스템 및 방법 | |
| JPH0120775B2 (ja) | ||
| JPH11338712A (ja) | 割込順序保存回路 | |
| JPH0484224A (ja) | スタックエリア保護回路 | |
| JP2000181510A (ja) | プログラマブルコントローラのバックアップデータ保護方法及びプログラマブルコントローラ | |
| CN115114006A (zh) | 单片机应用程序中断触发现场保护方法及装置 | |
| KR100393985B1 (ko) | 메모리 영역 보호 장치 및 방법 | |
| JP2021140642A (ja) | データ処理装置、データ処理方法およびプログラム | |
| JPH07210421A (ja) | スレッド環境におけるデバッグ方法 | |
| JPH04264929A (ja) | プログラムの暴走防止方式 | |
| JPS6037041A (ja) | デ−タ処理装置 | |
| JP2003330800A (ja) | 半導体集積回路 | |
| JPS58221448A (ja) | マイクロコンピユ−タ | |
| JPH05134929A (ja) | データアクセス制御方式 |