トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 マイクロコンピュータおよびその割り込み処理方法
【発明者】 【氏名】黒田 幸枝

【要約】 【課題】EPROMに書き込まれた分岐アドレスを任意の分岐アドレスに変更することは困難であり、変更したプログラムを実行することができない。

【解決手段】EPROMの第1のリセットベクタに格納された第1の分岐アドレスを第1の特定値に書き換えると共に、第2のリセットベクタに第2の分岐アドレスを書き込み、第2の分岐アドレスを先頭とする領域に変更したいプログラムを書き込んで、CPUが割り込み信号を入力した場合に、第1のリセットベクタに格納された第1の分岐アドレスと第1の特定値との一致に応じて、第2のリセットベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う。
【特許請求の範囲】
【請求項1】 第1および第2の割り込みベクタにそれぞれ第1および第2の分岐アドレスが格納され、且つそれら第1および第2の分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、上記EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えたマイクロコンピュータ。
【請求項2】 中央演算処理装置が割り込み信号を入力した場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスを読み出して、そのEPROMのその第1の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うマイクロコンピュータの割り込み処理方法において、上記割り込み処理時のプログラムを変更したい場合に、上記EPROMの第1の割り込みベクタに格納された第1の分岐アドレスを第1の特定値に書き換えると共に、第2の割り込みベクタに第2の分岐アドレスを書き込み、さらに、その第2の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込んで、上記中央演算処理装置が割り込み信号を入力した場合に、その第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合させ、一致に応じてその第1の分岐アドレスを無効にして、その第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うようにしたことを特徴とするマイクロコンピュータの割り込み処理方法。
【請求項3】 第1から第n(nは任意の整数)の割り込みベクタにそれぞれ第1から第nの分岐アドレスが格納され、且つそれら第1から第nの分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、上記EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2から第nの割り込みベクタに格納された第2から第nの分岐アドレスとその第1の特定値とを順に照合して、一致しなかった時点の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えたマイクロコンピュータ。
【請求項4】 リセットベクタに分岐アドレスが格納され、且つその分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、リセット信号を入力した場合に、上記EPROMのリセットベクタに格納された分岐アドレスと第2の特定値とを照合し、一致した場合に、テストモードにより処理を行う中央演算処理装置とを備えたマイクロコンピュータ。
【発明の詳細な説明】【0001】
【発明の属する技術分野】この発明は、マイクロコンピュータおよびその割り込み処理方法に関するものである。
【0002】
【従来の技術】従来のマイクロコンピュータでは、中央演算処理装置(以下、CPUと言う)にアドレスバスおよびデータバスにより不揮発性のリードオンリーメモリ(以下、EPROMと言う)が接続され、そのCPUが割り込み回路からリセット等の割り込み信号を入力した場合に、そのEPROMに格納されたプログラムに基づいて処理を行うものがある。
【0003】次に動作について説明する。図4は従来のマイクロコンピュータのリセット割り込み処理を示すフローチャートであり、図において、マイクロコンピュータにおけるCPUは、割り込み回路からリセット入力を受けると(ステップST1)、EPROM内に配置されたリセットベクタのFFFEH番地(ここで、Hは16進法を示す)に格納されたデータ読み出し(ステップST2)、その読み出したデータをリセット時の分岐アドレスとして、EPROM内のその該当する分岐アドレスに分岐し(ステップST3)、分岐先に予め書き込まれたプログラムを実行する(ステップST4)。
【0004】
【発明が解決しようとする課題】従来のマイクロコンピュータは以上のように構成されているので、プログラムデバッグ、プログラム評価等、比較的小さなプログラムサイズでマイクロコンピュータを動作させたり、繰り返しプログラム変更を行う場合に、変更したプログラムの格納場所はEPROM内に確保できても、EPROMは、書き込み、即ち、“1”から“0”への変更はできるものの、消去、即ち、“0”から“1”への変更はできないので、一度EPROMのリセットベクタに分岐アドレスを書き込んだ場合に、その分岐アドレスを任意の分岐アドレスに変更することは困難であり、変更したプログラムを実行することが困難となるなどの課題があった。また、マイクロコンピュータの出荷検査工程で、初期故障を取り除くためにエイジングを行うが、このために特設したバーンインプログラムのエントリのために特別に少なくとも1ピンをモード選択用端子として準備なくてはならず、このモード選択用端子は他の目的で用いることはできないので、端子の有効利用ができないなどの課題があった。
【0005】この発明は上記のような課題を解決するためになされたもので、割り込みベクタの分岐アドレスに特定値を書き込むことにより、割り込み処理時のプログラムを変更したい場合に、そのプログラムの変更を容易にすると共に、テストモードに容易にエントリでき、テストモード設定に必要であった端子を不要にするマイクロコンピュータおよびその割り込み処理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】請求項1記載の発明に係るマイクロコンピュータは、第1および第2の割り込みベクタにそれぞれ第1および第2の分岐アドレスが格納され、且つそれら第1および第2の分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えたものである。
【0007】請求項2記載の発明に係るマイクロコンピュータの割り込み処理方法は、割り込み処理時のプログラムを変更したい場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスを第1の特定値に書き換えると共に、第2の割り込みベクタに第2の分岐アドレスを書き込み、さらに、その第2の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込んで、中央演算処理装置が割り込み信号を入力した場合に、その第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合させ、一致に応じてその第1の分岐アドレスを無効にして、その第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うようにしたものである。
【0008】請求項3記載の発明に係るマイクロコンピュータは、第1から第nの割り込みベクタにそれぞれ第1から第nの分岐アドレスが格納され、且つそれら第1から第nの分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2から第nの割り込みベクタに格納された第2から第nの分岐アドレスとその第1の特定値とを順に照合して、一致しなかった時点の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えたものである。
【0009】請求項4記載の発明に係るマイクロコンピュータは、リセットベクタに分岐アドレスが格納され、且つその分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、リセット信号を入力した場合に、EPROMのリセットベクタに格納された分岐アドレスと第2の特定値とを照合し、一致した場合に、テストモードにより処理を行う中央演算処理装置とを備えたものである。
【0010】
【発明の実施の形態】以下、この発明の実施の一形態を説明する。
実施の形態1.この実施の形態1では、中央演算処理装置(以下、CPUと言う)にアドレスバスおよびデータバスにより不揮発性のリードオンリーメモリ(以下、EPROMと言う)が接続され、そのEPROMには、第1,第2のリセットベクタ(割り込みベクタ)に第1,第2の分岐アドレスが格納され、且つそれら第1,第2の分岐アドレスを先頭とする領域にプログラムが格納されているものとする。また、CPUが割り込み回路からリセット等の割り込み信号を入力した場合に、そのEPROMの第1のリセットベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2のリセットベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うものである。
【0011】次に動作について説明する。図1はこの発明の実施の形態1によるマイクロコンピュータの割り込み処理を示すフローチャートであり、図において、先ず前処理として、リセット入力時のプログラムを変更したい場合に、EPROMの第1のリセットベクタに格納された第1の分岐アドレスを0000H等の第1の特定値に書き換えると共に、第2のリセットベクタに第2の分岐アドレスを書き込み、さらに、その第2の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込む。
【0012】マイクロコンピュータにおけるCPUは、割り込み回路からリセット入力を受けると(ステップST1)、EPROM内に配置された第1のリセットベクタのFFFEH番地(ここで、Hは16進法を示す)に格納された第1の分岐アドレス(ここでは、既に0000Hに変更されている)を読み出す(ステップST2)。次に、その読み出した第1の分岐アドレスが0000H(第1の特定値)と一致するか照合し(ステップST11)、一致すれば、その読み出した第1の分岐アドレスを無効として、EPROMの第2のリセットベクタに格納された第2の分岐アドレスを読み出す(ステップST12)。
【0013】このステップST12において、EPROM内のその読み出した第2の分岐アドレスに分岐し(ステップST3)、分岐先に予め変更されたプログラムを実行する(ステップST4)。なお、ステップST11において、読み出した第1の分岐アドレスが0000H(第1の特定値)と一致しなければ、EPROM内のその読み出した第1の分岐アドレスに分岐し(ステップST3)、分岐先に予め格納されたプログラムを実行する(ステップST4)。
【0014】一般にEPROMは、非書き込み時“1”、書き込み時“0”の2つの状態を持つので、内容の変更において、“1”から“0”への変更は、1ビット単位で可能である。例えば、従来のマイクロコンピュータでは、4000HからFFFFHのEPROMを内蔵し、1000Hバイト未満のプログラムを変更する場合、リセットベクタの値をF000H,E000H,A000H,8000Hのように変更することで、最大4回のプログラム変更が可能であった。この実施の形態1によれば、従来可能であった変更にさらに、D000H,C000H,4000Hのように変更可能な回数が増大する。
【0015】なお、この実施の形態1によれば、EPROMには、第1,第2の分岐アドレスを先頭とする領域にプログラムが格納されているものとしたが、第1の特定値と一致しない分岐アドレスを先頭とする領域にのみプログラムが格納されていれば良く、同様な処理が可能になる。
【0016】以上のように、この実施の形態1によれば、リセット入力時のプログラムを変更したい場合に、第1のリセットベクタに格納された第1の分岐アドレスを0000H等の第1の特定値に書き換えると共に、第2のリセットベクタに第2の分岐アドレスを書き込み、さらに、その第2の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込んで、CPUにより第1の分岐アドレスと第1の特定値とが一致する場合に、第1の分岐アドレスを無効として、第2のリセットベクタに格納された第2の分岐アドレスに分岐し、その分岐先に予め変更されたプログラムを実行するように構成したので、リセット入力時のプログラムを変更したい場合に、そのプログラムの変更を容易にすることができると共に、変更可能な回数を増大させることができる。
【0017】実施の形態2.この実施の形態2では、上記実施の形態1の利点を最大限に広げるものであり、EPROMの第1のリセットベクタ(割り込みベクタ)から−2番地毎に、第2,第3・・・・・・第n(nは任意の整数)のリセットベクタ(割り込みベクタ)が設けられ、それぞれのリセットベクタに第1から第nの分岐アドレスが格納され、且つそれら第1から第nの分岐アドレスを先頭とする領域にプログラムが格納されているものとする。また、CPUが割り込み回路からリセット等の割り込み信号を入力した場合に、そのEPROMの第1のリセットベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2から第nのリセットベクタに格納された第2から第nの分岐アドレスとその第1の特定値とを順に照合して、一致しなかった時点の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うものである。
【0018】次に動作について説明する。図2はこの発明の実施の形態2によるマイクロコンピュータの割り込み処理を示すフローチャートであり、この実施の形態2では、第4のリセットベクタに格納された第4の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うように設定するものとする。図において、先ず前処理として、リセット入力時のプログラムを変更したい場合に、EPROMの第1から第3のリセットベクタに格納された第1から第3の分岐アドレスを0000H等の第1の特定値に書き換えると共に、第4のリセットベクタに第4の分岐アドレスを書き込み、さらに、その第4の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込む。
【0019】マイクロコンピュータにおけるCPUは、割り込み回路からリセット入力を受けると(ステップST1)、EPROM内に配置された第1のリセットベクタのFFFEH番地に格納された第1の分岐アドレス(ここでは、既に0000Hに変更されている)を読み出す(ステップST2)。次に、その読み出した第1の分岐アドレスが0000H(第1の特定値)と一致するか照合し(ステップST11)、一致すれば、その読み出した第1の分岐アドレスを無効として、EPROMの第2のリセットベクタに格納された第2の分岐アドレスを読み出す(ステップST12)。さらに、その読み出した第2の分岐アドレスが0000H(第1の特定値)と一致するか照合し(ステップST13)、一致すれば、その読み出した第2の分岐アドレスを無効として、EPROMの第2のリセットベクタよりも2番地前の第3のリセットベクタに格納された第3の分岐アドレスを読み出す(ステップST14)。さらに、その読み出した第3の分岐アドレスが0000H(第1の特定値)と一致するか照合し(ステップST13)、これらを繰り返し、第4のリセットベクタに格納された第4の分岐アドレスが第1の特定値と一致しないことを判定し(ステップST13)、EPROM内のその読み出した第4の分岐アドレスに分岐し(ステップST3)、分岐先に予め変更されたプログラムを実行する(ステップST4)。なお、ステップST11において、読み出した第1の分岐アドレスが0000H(第1の特定値)と一致しなければ、EPROM内のその読み出した第1の分岐アドレスに分岐し(ステップST3)、分岐先に予め格納されたプログラムを実行する(ステップST4)。
【0020】なお、この実施の形態2によれば、EPROMには、第1,第2・・・・・・第nの分岐アドレスを先頭とする領域にプログラムが格納されているものとしたが、第1の特定値と一致しない分岐アドレスを先頭とする領域にのみプログラムが格納されていれば良く、同様な処理が可能になる。
【0021】以上のように、この実施の形態2によれば、リセット入力時のプログラムを変更したい場合に、第1から第(n−1)のリセットベクタに格納された第1から第(n−1)の分岐アドレスを0000H等の第1の特定値に書き換えると共に、第nのリセットベクタに第nの分岐アドレスを書き込み、さらに、その第nの分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込んで、CPUにより第1から第(n−1)の分岐アドレスと第1の特定値とが一致する場合に、第1から第(n−1)の分岐アドレスを無効として、第nのリセットベクタに格納された第nの分岐アドレスに分岐し、その分岐先に予め変更されたプログラムを実行するように構成したので、リセット入力時のプログラムを変更したい場合に、そのプログラムの変更を複数回数容易にすることができる。なお、上記実施の形態1,2においては、リセット入力時の例について説明したが、全く同様の考え方によって、その他の割り込み入力時の処理でも同様のプログラム変更が可能である。
【0022】実施の形態3.この実施の形態3では、EPROMのリセットベクタに分岐アドレスが格納され、且つその分岐アドレスを先頭とする領域にプログラムが格納されたものとする。また、CPUが割り込み回路からリセット等の割り込み信号を入力した場合に、そのEPROMのリセットベクタに格納された分岐アドレスとFFFFH等の第2の特定値とを照合し、一致した場合に、テストモードにより処理を行うようにしたものである。
【0023】次に動作について説明する。図3はこの発明の実施の形態3によるマイクロコンピュータの割り込み処理を示すフローチャートであり、図において、マイクロコンピュータにおけるCPUは、割り込み回路からリセット入力を受けると(ステップST1)、EPROM内に配置されたリセットベクタのFFFEH番地に格納された分岐アドレスを読み出す(ステップST2)。次に、その読み出した分岐アドレスがFFFFH(第2の特定値)と一致するか照合し(ステップST21)、一致すれば、そのリセットでの分岐動作を中止し、テストモードにエントリし、特設のバーンインプログラムへ分岐し実行する(ステップST22)。なお、ステップST21において、読み出した分岐アドレスがFFFFH(第2の特定値)と一致しなければ、EPROM内のその読み出した分岐アドレスに分岐し(ステップST3)、分岐先に予め格納されたプログラムを実行する(ステップST4)。また、この実施の形態3によれば、読み出した分岐アドレスがFFFFH(第2の特定値)と一致しているか比較したが、上記実施の形態1および2に示したような、読み出した分岐アドレスと0000H(第1の特定値)とを比較してプログラムを変更する処理を組み合わせても良い。
【0024】以上のように、この実施の形態3によれば、CPUが割り込み回路からリセット等の割り込み信号を入力した場合に、そのEPROMのリセットベクタに格納された分岐アドレスとFFFFH等の第2の特定値とを照合し、一致した場合に、テストモードにより処理を行うように構成したので、EPROMを内蔵したマイクロコンピュータのテスト工程において、バーンインを実施する場合は、EPROMの内容は、全て非書き込み“1”状態であるので、FFFFH(第2の特定値)として判定され、そのままテストモードに移行することができ、従来技術において必要だったテスト端子の特設が必要なくなり、限られた端子をより有効に利用できる。
【0025】
【発明の効果】以上のように、請求項1記載の発明によれば、第1および第2の割り込みベクタにそれぞれ第1および第2の分岐アドレスが格納され、且つそれら第1および第2の分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えるように構成したので、割り込み信号入力時のプログラムを変更したい場合に、そのプログラムの変更を容易にすることができると共に、変更可能な回数を増大させることができる効果がある。
【0026】請求項2記載の発明によれば、割り込み処理時のプログラムを変更したい場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスを第1の特定値に書き換えると共に、第2の割り込みベクタに第2の分岐アドレスを書き込み、さらに、その第2の分岐アドレスを先頭とする領域に変更したい新たなプログラムを書き込んで、中央演算処理装置が割り込み信号を入力した場合に、その第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合させ、一致に応じてその第1の分岐アドレスを無効にして、その第2の割り込みベクタに格納された第2の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行うように構成したので、割り込み信号入力時のプログラムを変更したい場合に、そのプログラムの変更を容易にすることができると共に、変更可能な回数を増大させることができる効果がある。
【0027】請求項3記載の発明によれば、第1から第n(nは任意の整数)の割り込みベクタにそれぞれ第1から第nの分岐アドレスが格納され、且つそれら第1から第nの分岐アドレスのうちの少なくとも1つの分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、EPROMの第1の割り込みベクタに格納された第1の分岐アドレスと第1の特定値とを照合し、一致した場合に、そのEPROMの第2から第nの割り込みベクタに格納された第2から第nの分岐アドレスとその第1の特定値とを順に照合して、一致しなかった時点の分岐アドレスを先頭とする領域に格納されたプログラムに基づいて処理を行う中央演算処理装置とを備えるように構成したので、割り込み信号入力時のプログラムを変更したい場合に、そのプログラムの変更を複数回数容易にすることができる効果がある。
【0028】請求項4記載の発明によれば、リセットベクタに分岐アドレスが格納され、且つその分岐アドレスを先頭とする領域にプログラムが格納されたEPROMと、割り込み信号を入力した場合に、EPROMのリセットベクタに格納された分岐アドレスと第2の特定値とを照合し、一致した場合に、テストモードにより処理を行う中央演算処理装置とを備えるように構成したので、EPROMを内蔵したマイクロコンピュータのテスト工程において、従来技術において必要だったテスト端子の特設が必要なくなり、限られた端子をより有効に利用できる効果がある。
【出願人】 【識別番号】000006013
【氏名又は名称】三菱電機株式会社
【出願日】 平成9年(1997)8月11日
【代理人】 【弁理士】
【氏名又は名称】田澤 博昭 (外1名)
【公開番号】 特開平11−65856
【公開日】 平成11年(1999)3月9日
【出願番号】 特願平9−216663