JPH0159608B2 - - Google Patents

Info

Publication number
JPH0159608B2
JPH0159608B2 JP56210788A JP21078881A JPH0159608B2 JP H0159608 B2 JPH0159608 B2 JP H0159608B2 JP 56210788 A JP56210788 A JP 56210788A JP 21078881 A JP21078881 A JP 21078881A JP H0159608 B2 JPH0159608 B2 JP H0159608B2
Authority
JP
Japan
Prior art keywords
cpu
program
circuit
rom
output
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.)
Expired
Application number
JP56210788A
Other languages
English (en)
Other versions
JPS58115545A (ja
Inventor
Shunzo Tateishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Tateisi Electronics Co filed Critical Omron Tateisi Electronics Co
Priority to JP56210788A priority Critical patent/JPS58115545A/ja
Publication of JPS58115545A publication Critical patent/JPS58115545A/ja
Publication of JPH0159608B2 publication Critical patent/JPH0159608B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 この発明はCPUのプログラムカウンタの同一
アドレス上に複数の被制御装置のアドレスを設定
し、これら複数の被制御装置をプログラムエリア
切換回路によつて単一に切換え制御するCPU制
御回路に関する。
たとえば電子式キヤツシユレジスタにおいて、
このキヤツシユレジスタを1チツプのCPUで構
成したとき、ROMやRAMの外部メモリ、表示
器やプリンタなどの入出力デバイスはすべて
CPUにて制御される。つまりCPUはアドレスデ
コーダなどにて外部メモリが入出力デバイスを指
定してデコーダの送受を行なう。
しかしCPUは外部メモリや入出力デバイスを
指定できるアドレスには限度があり、たとえば外
部メモリが全アドレス領域を越えた場合、1チツ
プのCPUでは制御しきれない。そこでCPUのプ
ログラムカウンタの一つのアドレスをラツチ回路
に与え、拡張するメモリのバンクデータをラツチ
回路にセツトし、そのデータをデコーダで振分け
て、同一アドレス領域上に複数のメモリを拡張す
ることができる。
しかし、上述のラツチ回路およびデコーダによ
つて構成されるプログラムエリア切換回路が誤動
作すると本来実行すべきプログラムとは違つたプ
ログラムを実行する誤動作が生じることになる。
そのために、プログラムエリア切換回路が正常
に動作しているかを検出する検出手段を設けなけ
ればならない。
たとえば第1図に示す制御回路において説明す
ると、CPU1にはROM2、RAM3、入出力デ
バイス4がアドレスデーコーダ5を介して制御さ
れ、ROM2に格納されているプログラムに沿つ
て各回路装置が駆動制御されるが、上述のROM
2の容量が不足したとき、ROMを拡張して、別
のROM21,22…2nがバンク1,2…nと
して付加され、これに伴なつてラツチ回路6、デ
コーダ7、センス回路8が付加され、ゲート9,
10によつてROM21,22は切換えられる。
第2図はCPU1に内蔵のプログラムカウンタ
に対するアドレス配置を示し、上述のプログラム
カウンタのアドレスは0〜3999であるとすれば、
ROM22…2nのアドレスがないため、これら
のアドレスはROM2と同一のアドレス上に設定
される。
第3図に基づいて制御動作を説明すれば、
CPU1はステツプ11でプログラムカウンタで
指定されるアドレス0〜900までの処理、すなわ
ちROM2のプログラムを実行する。
ついでROM22を制御するプログラムであれ
ば、ステツプ12で上述弐ROM22を示すバン
クデータ2をラツチ回路6にセツトすると共に、
RAM3の所定のエリアにストアする。
上述のラツチ回路6にセツトされたバンクデー
タ2はデコーダによつて解読され、ゲート10が
開かれてROM22がアドレス指定され、ステツ
プ13でプログラムカウンタで指定されるアドレ
ス1000〜1999までのROM22に対する処理を実
行する。
上述のROM22の処理が終了すると、CPU1
はステツプ14でラツチ回路6に設定したバンク
データ2をセンス回路8で読取り、さらにステツ
プ15でRAM3にストアしたバンクデータ2と
比較して、一致しているかを判定する。
上述の判定で一致していないときはラツチ回路
6およびデコーダ7によるプログラムエリア切換
回路が誤動作したと判定され、CPU1はステツ
プ16でエラー処理を実行するためにプログラム
カウンタでアドレス991〜999を指定してROM2
で実行される処理たとえばエラーであることをブ
ザーなどで警報し、処理を停止する。
前述のステツプ15の判定で一致が判定された
ときは、つぎのプログラムを実行する。たとえば
ROM2nの制御であれば、CPU1はステツプ1
7で、上述のROM2nを示すバンクデータnを
ラツチ回路6にセツトすると共に、RAMの所定
のエリアにストアする。
上述のラツチ回路6にセツトされたバンクデー
タnはデコーダによつて解読され、ROM2nの
ゲートが開かれて、アドレス指定され、ステツプ
18でプログラムカウンタで指定されるアドレス
1000〜1999までのROM2nに対する処理を実行
する。
CPU1はステツプ19でラツチ回路6にセツ
トしたバンクデータnをセンサ回路7で読取り、
さらにステツプ20でRAM3にストアしたバン
クデータnと比較して誤動作していないかを判定
する。
誤動作が判定されたときは前述のステツプ16
でエラー処理され、正常動作が判定されたとき
は、CPU1は表示数21でプログラムカウンタ
でアドレス905〜990でアドレス指定されるROM
2のプログラムを実行してスタートにジヤンプす
る。
このように第1図に示す制御回路では拡張され
た一つのROM21または22あるいは2nがそ
のプログラムを実行して終了したとき、プログラ
ムエリア切換回路が誤動作していないかをチエツ
クしている。
この場合第4図イに示すように、一つのROM
に対しての処理中に1回の誤動作であれば、前述
のステツプ15または20で検出することができ
るが、第4図ロに示すように、2回または偶数回
の誤動作が発生した場合は、チエツク時点が前述
のようにプログラム実行終了時であるため、誤動
作を検出することができず、正常と判定する不都
合が生じる。
そこでこの発明は上述のような偶数回数の誤動
作発生でもこれを確実に検出することのできる
CPU制御回路の提供を目的とする。
そしてこの発明によれば、プログラムエリア切
換回路に論理微分回路を接続しているので、プロ
グラムエリア切換回路の制御出力が切換えられた
とき、すなわち、この回路が一つのROMなどの
被制御装置を制御しているときに、その制御出力
が切換つて他のROMなどの被制御装置を誤つて
制御すれば、論理微分回路から出力が生じるの
で、プログラムエリア切換回路の誤動作を論理微
分回路が確実に検出し、そしてこの出力によつ
て、CPUにエラー処理の割込みを行なうので、
誤動作に対して即対処することができる。
このような特徴を有するこの発明の一実施例を
以下図面に基づいて詳述する。
図面は電子式キヤツシユレジスタのCPU制御
回路を示し、第5図において、CPU30はプロ
グラムカウンタPC、スタツクポインタSP、デー
タレジスタDRを有し、プログラムカウンタPCで
指定されるアドレスの各回路装置を制御し、
ROM31は制御プログラムが格納されている他
に、後述するラツチ回路とそのデコーダによつて
構成されるプログラムエリア切換回路が誤動作し
たときに処理するエラー処理プログラムおよび誤
動作時の割込み処理プログラムが格納されてい
る。
ROM311〜31nは拡張したROMであつ
てバンク1〜nが設定され、これらは同一のアド
レス上に設定され、制御プログラムを格納してお
り、前述したプログラムエリア切換回路によつて
単一のROMが制御される。
RAM32は各種のデータをストアするエリア
の他に、バンク番号をストアするエリア、および
スタツクメモリを備えている。
入出力デバイス33はたとえば表示器、プリン
タ、キーボード、ブザー、スピーカ等であつて、
キヤツシユレジスタを構成するに要する装置類で
ある。
ラツチ回路34およびデコーダ35はプログラ
ムエリア切換回路36を構成し、ラツチ回路34
にセツトされたバンク番号をデコーダ35で解読
してバンク番号に対応する拡張ROM311〜3
1nの一つを制御する。
センス回路37はラツチ回路34にセツトされ
たバンク番号を読取る。
論理微分回路38はプログラムエリア切換回路
36の誤動作を検出して、この出力でCPU30
に割込みを行なう。
上述の論理微分回路36は前段のデコーダ35
から出力される各制様出力ごとに、すなわち拡張
ROM311〜31nの個々に対応して設けられ
る。
その一つの構成は第6図に示すように、2個の
フリツプ、フロツプ(以下FFと略記する)39,
40を直列に接続し、FF39のセツト出力側と
FF40のリセツト出力側とがアンドゲート41
に接続されていて、これらFF39,40はクロ
ツクパルスによつて駆動される。なおオアーゲー
ト42は各拡張ROM311〜31nに対応して
設けられた各論理微分回路の出力が集合され
CPU30に接続される。
第7図にも示すように、FF39にデコーダ3
5からの出力が入力されると、次のクロツクパル
スの立上りによつてFF39にセツトされ、アン
ドゲート41にはすでにFF40のリセツト出力
が入力されているので、上述のFF39のセツト
により、アンドゲート41に出力が生じる。次い
で次のクロツクパルスの立上りで次段のFF40
がセツトされるためそのリセツト出力がなくな
り、上述のアンドゲート41の出力がなくなる。
その結果アンドゲート41からはデコーダ35
に出力が生じると、その出力の初期においてクロ
ツクパルスの1サイクル間の論理微分出力を生
じ、この出力がデコーダの検出出力となる。
なお、前述のプログラムエリア切換回路36は
CPU30によるプログラムに沿つて拡張ROM3
11〜31nが切換えられるが、当然この切換え
時も上述の論理微分回路38から出力が生じ、 CPU30に割込みがかけられる。
しかし、CPU30のプログラムによる切換え
時はCPU30側で割込みを無効にするので、こ
れに対する処理は行なわれない。
そのために、論理微分回路38はCPU30の
プログラムによる切換え時以外に拡張ROM31
1〜31nが切換えられたとき、CPU30に対
して割込みが受付けられるので、この論理微分回
路38はプログラムエリア切換回路36の誤動作
検出回路となる。
つぎに第8図を参照して動作を説明する。
CPU30はステツプ50でプログラムカウン
タPCで指定されるアドレス0〜900までの処理、
すなわちROM31のプログラムを実行する。
ついで拡張ROM312を制御するプログラム
であれば、CPU30はステツプ51で論理微分
回路38からの割込みを無効(または禁止)に
し、上述のROM312を示すバンクデータ2を
ラツチ回路34にセツトすると共に、RAM32
のバンク番号エリアにストアする。
ラツチ回路34にセツトされたバンクデータ2
はデコーダ35で解読され、ROM312の制御
が指定される。
そしてCPU30は論理微分回路38の割込み
無効を解除する。
CPU30はステツプ52でプログラムカウン
タPCで指定されるアドレス1000〜1999までの処
理を拡張ROM312に格納されたプログラムで
実行する。
CPU30はステツプ53で、拡張ROM31n
を制御するプログラムであれば、論理微分回路3
8からの割込みを無効にし、上述のROM31n
を示すバンクデータnをラツチ回路34にセツト
すると共に、RAM32のバンク番号エリアにス
トアする。
ラツチ回路34にセツトされたバンクデータn
はデコーダ35で解読され、ROM31nの制御
が指定される。
そしてCPU30は論理微分回路38の割込み
無効を解除する。
CPU30はステツプ54で、プログラムカウ
ンタPCで指定されるアドレス1000〜1999までの
処理を拡張ROM31nに格納されたプログラム
で実行する。
CPU30はステツプ55でプログラムカウン
タPCで指定されるアドレス903〜950の処理を
ROM31に格納されたプログラムで実行し、そ
してスタートにジヤンプする。
前述のステツプ52および54での処理実行中
に論理微分回路38がプログラムエリア切換回路
36の誤動作を検出すると、検出した時点で
CPU30に割込みがかけられる。
RAM32のスタツクメモリエリアにはROM
31に格納されたエラー処理プログラムの先頭ア
ドレスがストアされ、この先頭アドレスがたとえ
ば“0991”であれば“09”をHアドレス“91”を
Lアドレスとしてストアしている。
前述の割込みがかかると、CPU30は現在実
行しているプログラムカウンタPCのアドレスが
示す処理が終了した後に上述の込み処理を実行す
る。
この割込み処理は復帰先のプログラムカウンタ
PCの値をスタツクメモリエリアにストアする。
たとえばプログラムカウンタPCの値が“1010”
のときに割込みがかかつたときは、この“1010”
の処理を実行した後処理を中段して割込み処理を
行ない、この処理で復帰先のプログラムカウンタ
PCの値“1011”をスタツクメモリにストアする。
すなわちCPU30はステツプ56でスタツク
ポインタSPを+1加算して、RAM32のスタツ
クメモリエリアを読出して、ステツプ57でこの
エリアにストアされているエラー処理プログラム
のHアドレス“09”を復帰先プログラムカウンタ
値のHアドレス“10”に書き換え、ステツプ58
でスタツクポインタSPを+1加算して、スタツ
クポインタの次のエリアを読出して、ステツプ5
9でこのエリアにストアされているエラー処理プ
ログラムのLアドレス“91”を復帰先プログラム
カウンタ値のLアドレス“11”に書き換え、ステ
ツプ60でスタツクポインタSPを−2減算して
元の状態に戻し、ステツプ61で割込みRTi命令
を出すことになる。
前述のステツプ57および59でカウンタ値の
書換えでエラー処理の先頭アドレス“0991”が読
出されるので、このアドレスをプログラムカウン
タPCにセツトし、CPU30はステツプ62でプ
ログラムエリア切換回路36の誤動作に対するエ
ラー処理を実行する。たとえば入出力デバイス3
3の中のブザーを駆動して誤動作であることを警
報し、または表示器でエラーコードを表示する。
以上のようにこの実施例ではプログラムエリア
切換回路36に誤動作が発生すると、論理微分回
路38がその誤動作を検出し、検出した時点で
CPU30に割込みをかけてこれに対処する。
そのために一つの拡張ROM311〜31nの
プログラムの実行中に偶数回の誤動作を生じる場
合でもこれを論理微分回路38で検出し、対処さ
れる。
【図面の簡単な説明】
第1図は従来の制御回路ブロツク図。第2図は
そのアドレス領域を示す説明図。第3図はフロー
チヤート。第4図はROM切換えの誤動作を示す
タイムチヤート。以下はこの発明の一実施例を示
し、第5図は制御回路ブロツク図。第6図は論理
微分回路図。第7図はそのタイムチヤート。第8
図はフローチヤートである。 30……CPU、311〜31n……ROM、3
4……ラツチ回路、35……デコーダ、36……
プログラムエリア切換回路、38……論理微分回
路、PC……プログラムカウンタ。

Claims (1)

  1. 【特許請求の範囲】 1 CPUのプログラムカウンタの同一アドレス
    上に複数の被制御装置のアドレスを設定し、これ
    ら複数の被制御装置をプログラムエリア切換回路
    によつて単一に切換え制御するCPU制御回路で
    あつて、 前記プログラムエリア切換回路が一つの被制御
    装置を制御している間にその制御出力が切換えら
    れたこと検出する論理微分回路を設け、この論理
    微分回路の出力でCPUにエラー処理の割込みを
    行なうべく構成したCPU制御回路。
JP56210788A 1981-12-29 1981-12-29 Cpu制御回路 Granted JPS58115545A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56210788A JPS58115545A (ja) 1981-12-29 1981-12-29 Cpu制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56210788A JPS58115545A (ja) 1981-12-29 1981-12-29 Cpu制御回路

Publications (2)

Publication Number Publication Date
JPS58115545A JPS58115545A (ja) 1983-07-09
JPH0159608B2 true JPH0159608B2 (ja) 1989-12-19

Family

ID=16595133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56210788A Granted JPS58115545A (ja) 1981-12-29 1981-12-29 Cpu制御回路

Country Status (1)

Country Link
JP (1) JPS58115545A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0457289U (ja) * 1990-09-26 1992-05-15

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0457289U (ja) * 1990-09-26 1992-05-15

Also Published As

Publication number Publication date
JPS58115545A (ja) 1983-07-09

Similar Documents

Publication Publication Date Title
JPH07219809A (ja) データ処理装置およびデータ処理方法
JPH02202642A (ja) プログラム動作監視装置
JPH09134308A (ja) 重要メモリ情報保護システム
WO1993001542A1 (en) Microprocessor with oem mode for power management
JP2000322264A (ja) 電子機器
JPH0159608B2 (ja)
JPH05257815A (ja) 中央処理装置
JP3171615B2 (ja) データ転送のリトライ制御方式
JPH04280334A (ja) ワンチップマイクロコンピュータ
JPH0764822A (ja) マイクロコンピュータ
JP2531112B2 (ja) 情報処理装置
JP3493525B2 (ja) プログラマブルコントローラ
JPS63126007A (ja) プログラマブル・コントロ−ラ
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JP3127737B2 (ja) ディジタル信号処理装置
JPH07182251A (ja) マイクロプロセッサ
JPS60193046A (ja) 命令例外検出方式
JPH0436841A (ja) マイクロコンピュータ
JPH0226252B2 (ja)
JPH09179748A (ja) データ処理装置
JP2000020498A (ja) マイクロコンピュータおよびその復帰方法
JPH0612292A (ja) マイクロコンピュータ
JPS6385831A (ja) マイクロプロセツサの制御回路
JPH1139213A (ja) マイクロコンピュータ
JPH04145542A (ja) 情報処理装置