(57)【要約】【課題】簡単な回路構成を追加するだけで、アクセスの異常によるＣＰＵの異常動作を、精度よく確実に検出することができ、システム全体の動作における安全性を向上することができるマイクロコンピュータシステムおよびその誤動作防止方法を提供する。【解決手段】ＣＰＵ６０１によりアクセスされる同一メモリアドレス空間にＲＯＭ６０２とＲＡＭ６０３とを有し、ＲＯＭ６０２及びＲＡＭ６０３の選択信号６０６、６０７と、読み出し信号６０８及び書き込み信号６０９に基づいて異常検出回路６１１から出力される異常検出信号６１０のＨレベルへの状態変化により、ＲＯＭ６０２への書き込み、未実装領域への書き込み、未実装領域からの読み出しを識別し、アクセスの異常によるＣＰＵ６０１の誤動作を検出する。【選択図】    図６
2004157694.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭ及び未実装領域への書き込みによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けたことを特徴とするマイクロコンピュータシステム。
【請求項２】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号に基づく論理信号を、未実装領域からの読み出しによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けたことを特徴とするマイクロコンピュータシステム。
【請求項３】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号、及び実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭへの書き込み、または未実装領域に対する書き込みあるいは読み出しにより、レベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けたことを特徴とするマイクロコンピュータシステム。
【請求項４】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭ及び未実装領域への書き込みによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知することを特徴とするマイクロコンピュータシステムの誤動作防止方法。
【請求項５】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号に基づく論理信号を、未実装領域からの読み出しによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知することを特徴とするマイクロコンピュータシステムの誤動作防止方法。
【請求項６】
ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号、及び実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭへの書き込み、または未実装領域に対する書き込みあるいは読み出しにより、レベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知することを特徴とするマイクロコンピュータシステムの誤動作防止方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭのアドレスが割り付けられたマイクロコンピュータシステムおよびその誤動作防止方法に関するものである。
【０００２】
【従来の技術】
近年では、家電製品に代表される民生機器や工場などで使用される産業機器等のほとんどの電子機器に、小型で多機能なマイクロコンピュータシステムが組み込まれており、このマイクロコンピュータシステムには、主にＣＰＵとＣＰＵによりアクセスされる同一メモリ空間にアドレスが割り付けられたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とが設けられている。
【０００３】
このようなマイクロコンピュータシステムにおいては、多くはないが誤動作を起こすこともあり、この誤動作の原因として、一般的には、強力な外来および内部ノイズによるアドレス化けやデータ化けによるもの、またＣＰＵ自身の動作が異常になりソフトウエア上では本来ありえないアクセスを起こすものや、ソフトウェアの設計書に対する不具合により本来ありえないアクセスを起こすものなどのケースが考えられる。
【０００４】
以上のような従来のマイクロコンピュータシステムについて、特許文献（例えば、特許文献１を参照）に開示されたものを例に挙げて、以下に説明する。
図３は従来のマイクロコンピュータシステムの構成を示すブロック図であり、ＣＰＵ、ＲＯＭ、ＲＡＭの接続例を示す。このマイクロコンピュータシステムは、図３に示すように、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３より構成され、それぞれの要素がアドレスバス３０４、データバス３０５、ＲＯＭ選択信号３０６、ＲＡＭ選択信号３０７、読み出し信号３０８、書き込み信号３０９により接続されている。
【０００５】
以上のように構成されたマイクロコンピュータシステムにおいて、読み出し信号３０８、書き込み信号３０９は、それぞれ読み出し時、書き込み時にＨレベルとなる。ＲＯＭ選択信号３０６、ＲＡＭ選択信号３０７はアドレスよりデコードされ、該当するアドレスがＲＯＭ３０２、ＲＡＭ３０３割り付け範囲であれば、それぞれ該当する選択信号３０６、３０７がアクセス時にＨレベルとなる。
【０００６】
以上のマイクロコンピュータシステムにおいて、その誤動作により現れる現象としては、例えば、ＲＡＭへの誤書き込みなどの異常が発生する可能性があるが、ＲＡＭはマイクロコンピュータシステム全体の動作の良否を決定する重要なものであるため、特定データを二重あるいは三重のＲＡＭで保有したり、特定ＲＡＭ領域への書き込み信号に条件をつけて制限するなどの安全対策技術が提案されている。
【０００７】
【特許文献１】
特開平６−４６８７号公報
【０００８】
【発明が解決しようとする課題】
しかしながら上記のような従来のマイクロコンピュータシステムでは、その動作上で重要なＲＡＭ領域に対する誤書き込みを防止するために、ＲＡＭへのアクセスに対しては安全対策がとられているが、ＲＯＭや未実装領域へのアクセスに対しては、誤動作によるＲＯＭや未実装領域への書き込みが、上記のようなＲＡＭへの誤書き込みとは異なり、これらのアクセスそのものによってはシステムとしての誤動作にならないため、検出することができない。
【０００９】
そのため、ソフト上の命令とは異なるＲＯＭや未実装領域へアクセスしてしまう現象が現れても、マイクロコンピュータシステムが誤動作状態であることは発見することができず、その後の動作において、重要データの破壊あるいは誤動作、デッドロック等の異常が発生し、システム全体の動作における信頼性が低下してしまう可能性があるという問題点を有していた。
【００１０】
本発明は、上記従来の問題点を解決するもので、簡単な回路構成を追加するだけで、アクセスの異常によるＣＰＵの異常動作を、精度よく確実に検出することができ、システム全体の動作における安全性を向上することができるマイクロコンピュータシステムおよびその誤動作防止方法を提供する。
【００１１】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１に記載のマイクロコンピュータシステムは、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭ及び未実装領域への書き込みによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けた構成としたことを特徴とする。
【００１２】
また、本発明の請求項４に記載のマイクロコンピュータシステムの誤動作防止方法は、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭ及び未実装領域への書き込みによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する方法としたことを特徴とする。
【００１３】
以上により、実装されているＲＯＭ及び未実装領域へ書き込むように、それらＲＯＭおよび未実装領域へのアクセスがあった時点ですぐに、そのアクセスの異常状態を示す異常検出信号の状態変化により、その異常状態をＣＰＵにより検出することができる。
【００１４】
また、本発明の請求項２に記載のマイクロコンピュータシステムは、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号に基づく論理信号を、未実装領域からの読み出しによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けた構成としたことを特徴とする。
【００１５】
また、本発明の請求項５に記載のマイクロコンピュータシステムの誤動作防止方法は、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号に基づく論理信号を、未実装領域からの読み出しによりレベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する方法としたことを特徴とする。
【００１６】
以上により、未実装領域から読み出すように、未実装領域へのアクセスがあった時点ですぐに、そのアクセスの異常状態を示す異常検出信号の状態変化により、その異常状態をＣＰＵにより検出することができる。
【００１７】
また、本発明の請求項３に記載のマイクロコンピュータシステムは、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムにおいて、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号、及び実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭへの書き込み、または未実装領域に対する書き込みあるいは読み出しにより、レベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する異常検出手段を設けた構成としたことを特徴とする。
【００１８】
また、本発明の請求項６に記載のマイクロコンピュータシステムの誤動作防止方法は、ＣＰＵによりアクセスされる同一メモリ空間にＲＯＭおよびＲＡＭが実装されてそれぞれアドレスが割り付けられたマイクロコンピュータシステムの誤動作防止方法であって、実装されている前記ＲＯＭ及び前記ＲＡＭの選択信号と読み出し信号、及び実装されている前記ＲＡＭの選択信号と書き込み信号に基づく論理信号を、実装されている前記ＲＯＭへの書き込み、または未実装領域に対する書き込みあるいは読み出しにより、レベル状態を変化させてアクセスの異常を検出するための異常検出信号として、前記ＣＰＵに通知する方法としたことを特徴とする。
【００１９】
以上により、実装されているＲＯＭへの書き込み、または未実装領域に対する書き込みあるいは読み出しをするように、それらＲＯＭおよび未実装領域へのアクセスがあった時点ですぐに、そのアクセスの異常状態を示す異常検出信号の状態変化により、その異常状態をＣＰＵにより検出することができる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を示すマイクロコンピュータシステムおよびその誤動作防止方法について、図面を参照しながら具体的に説明する。
【００２１】
なお、以下の説明においては、読み出し信号、書き込み信号、ＲＯＭ選択信号、ＲＡＭ選択信号、異常検出信号をアクティブＨ（信号状態がハイレベルであるときを活性状態とする）として説明する。また、ＣＰＵにはハードウェア設定を行うための特殊レジスタが一般的に存在し、前記のアドレス空間に割り付けられるケースがある。特殊レジスタ領域も書き込みおよび読み出しを行えることから、本発明におけるＲＡＭと同等に扱うことが可能である。従って、以降は、特殊レジスタ領域についてはＲＡＭに含むものとし、特に記述を行わず説明する。
【００２２】
図２は本実施の形態のマイクロコンピュータシステムにおけるＣＰＵのメモリアドレス空間を示すマップ例である。図２に示すように、ＲＡＭ領域２０１、ＲＯＭ領域２０３、及びいずれも実装されていない未実装領域２０２、２０４により構成されている。アドレス空間の大きさはＣＰＵのアーキテクチャにより決定されるが、ＲＯＭ領域２０３やＲＡＭ領域２０１の大きさは、そのシステムの必要性に応じて変更され、従って、一般的にはいずれも実装されない未実装領域２０２、２０４が存在する。システム仕様により未実装領域やＲＯＭ領域が存在しないケースも考えられるが、その場合においても本発明は対応可能である。
【００２３】
一方、図３に示す従来のマイクロコンピュータシステムにおいて、もし、読み出し信号３０８、書き込み信号３０９のいずれかがＨレベルであり、ＲＯＭ選択信号３０６とＲＡＭ選択信号３０７とが両方ともＬレベルの時は、ＲＯＭ３０２、ＲＡＭ３０３が割り付けられているアドレス以外のアクセス、つまり未実装領域へのアクセスと判断できる。
【００２４】
これらのことを基にして、本実施の形態のマイクロコンピュータシステムについて、その具体例を以下に説明する。
（実施の形態１）
本発明の実施の形態１のマイクロコンピュータシステムおよびその誤動作防止方法を説明する。
【００２５】
図１は本実施の形態１のマイクロコンピュータシステムの構成を示すブロック図である。図３の従来例からの違いは、図１に示すように、ＲＡＭ選択信号１０７の反転信号と書き込み信号１０９を入力とし、その論理積の結果を異常検出信号１１０として出力する論理回路からなる異常検出回路１１１が追加されたことである。なお、この異常検出回路１１１にはＲＯＭ選択信号１０６を使用していないが、これは、ＲＯＭ１０２への書き込みと未実装領域への書き込みが、ＲＡＭ１０３以外のアドレスへの書き込みと等価であり省略されたためである。最適な回路例を挙げたが、冗長であることを許容すれば、ＲＯＭ選択信号１０６を使用した回路も実現可能である。
【００２６】
次に、その他のＣＰＵのアクセスについて説明する。
図４は本実施の形態１のマイクロコンピュータシステムにおけるＣＰＵのアクセスパターンを示す説明図である。マイクロコンピュータシステムの基本動作としては、ＣＰＵ１０１から命令の読み出し、データの読み出し、データの書き込み、という３つのアクセスがある。またそのアクセス対象としては、ＲＯＭ１０２、ＲＡＭ１０３とそのいずれも実装されていない未実装領域がある。
【００２７】
この表に示すように、ＲＯＭ１０２、ＲＡＭ１０３からの命令の読み出し、ＲＯＭ１０２、ＲＡＭ１０３からのデータの読み出し、ＲＡＭ１０３へのデータの書き込みは、ソフトウェアが正常に動作している時に有り得るが、未実装領域からのデータの読み出し、ＲＯＭ１０２及び未実装領域へのデータの書き込みは正常時には有り得ない。
【００２８】
ここに注目すると、未実装領域からのデータ読み出しも、ＲＯＭ１０２及び未実装領域へのデータ書き込みと同様に、これらのアクセスそのものではシステムとしての誤動作にならないが、この現象を検出することができ、このような現象を検出して対応することが、コンピュータシステムの信頼性を向上することに繋がる。
（実施の形態２）
本発明の実施の形態２のマイクロコンピュータシステムおよびその誤動作防止方法を説明する。
【００２９】
図５は本実施の形態２のマイクロコンピュータシステムの構成を示すブロック図である。図３の従来例からの違いは、図５に示すように、ＲＯＭ選択信号５０６の反転信号とＲＡＭ選択信号５０７の反転信号と読み出し信号５０８とを入力とし、その論理積の結果を異常検出信号５１０として出力する論理回路からなる異常検出回路５１１が追加されたことである。この異常検出回路５１１は、ＲＯＭ５０２及びＲＡＭ５０３以外のアドレス、つまり未実装領域から読み出しが行われた時に異常検出信号５１０がＨレベルになる回路である。
（実施の形態３）
本発明の実施の形態３のマイクロコンピュータシステムおよびその誤動作防止方法を説明する。
【００３０】
図６は本実施の形態３のマイクロコンピュータシステムの構成を示すブロック図である。この具体例は、図６に示すように、ＲＯＭ６０２への書き込み、未実装領域への書き込み、未実装領域からの読み出しを全て異常として検出する回路例である。図３の従来例からの違いは、このＲＯＭ選択信号６０６、ＲＡＭ選択信号６０７と、読み出し信号６０８、書き込み信号６０９を入力とし、異常検出信号６１０を出力する論理回路からなる異常検出回路６１１が追加されたことである。この異常検出回路６１１は、図１に示すＲＯＭ及び未実装領域への書き込みを検出する異常検出回路１１１、及び図５に示す未実装領域からの読み出しを検出する異常検出回路５１１の両信号の論理和を行うように構成されている。
【００３１】
これら異常検出回路１１１および異常検出回路５１１からの異常検出信号１１０、５１０のどちらかがＨレベルになることで、ＣＰＵ６０１に対し異常状態であることを通知する。異常検出信号６１０のＣＰＵ６０１での受け取り方法であるが、割り込みとしてＣＰＵ６０１のソフト処理を中断させ異常対応を行わせるか、もしくは直接ハードリセットを行う仕組みが一般的に行われているが、その異常対処方法の説明は、本発明と直接関係が無いためここでの説明は省略する。
【００３２】
なお、本発明は上記実施の形態に限られるものではなく、本発明の主旨を逸脱しない範囲で変更可能である。
上記では、ＲＯＭへの書き込み及び未実装領域への書き込みを検出する実施の形態と、未実装領域からの読み出しを検出する実施の形態、及びその両方を検出する実施の形態を説明したが、ＲＯＭへの書き込み、未実装領域への書き込み、及び未実装領域からの読み出しの３パターンについて、他の組み合わせについても応用できる。例えば未実装領域からの読み出しと未実装領域への書き込みだけを検出する方法にも応用できる。
【００３３】
また、本実施の形態によれば、本来のＣＰＵの異常動作を検知する効果の他に、ソフトウェア開発時におけるソフト不具合を早期に発見するという効果も得られる。
【００３４】
例えば、ソフトウェア上の命令を、本来のソフト設計書とは異なるアドレスをアクセスするように、ミスプログラミングしてしまったため、データの読み出しにおいて、本来ソフト設計書の意図したデータのアドレスではなく未実装領域のアドレスをアクセスして読み出してしまった時、マイクロコンピュータによって異なるが、何らかの値を読み出し、その値が一見正常に動作する値であった場合に、ソフト不具合の発見が遅れたり見逃したりする可能性があるが、この実施の形態によれば、上記のようなミスプログラミングにより、その命令に従って、ＣＰＵが、例えば設計書とは異なるＲＯＭへの書き込みや未実装領域への書き込みおよび読み出しを実行するように、ＲＯＭおよび未実装領域へのアクセスをしてしまった場合には、その時点ですぐに、そのアクセスの異常状態を示す異常検出信号のＨレベルへの状態変化により、その異常状態が検出されたことをＣＰＵに通知するため、ソフトウェアの設計書に対する不具合を早期に発見することが可能である。
【００３５】
また、上記の各実施の形態においては、各信号をアクティブＨとして説明を行ったが、アクティブＬでの回路も可能である。もしくはアクティブＨとアクティブＬの混在した回路へも応用可能である。
【００３６】
【発明の効果】
以上のように本発明によれば、ＲＯＭおよび未実装領域へのアクセスがあった時点ですぐに、そのアクセスの異常状態を示す異常検出信号の状態変化により、その異常状態をＣＰＵにより検出することができる。
【００３７】
そのため、簡単な回路構成を追加するだけで、アクセスの異常によるＣＰＵの異常動作を、精度よく確実に検出することができ、システム全体の動作における安全性を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のマイクロコンピュータシステムの構成を示すブロック図
【図２】本発明の実施の形態のマイクロコンピュータシステムにおけるＣＰＵのメモリアドレス空間を示す模式図
【図３】従来のマイクロコンピュータシステムの構成を示すブロック図
【図４】本発明の実施の形態１のマイクロコンピュータシステムにおけるＣＰＵのアクセスパターンを示す説明図
【図５】本発明の実施の形態２のマイクロコンピュータシステムの構成を示すブロック図
【図６】本発明の実施の形態３のマイクロコンピュータシステムの構成を示すブロック図
【符号の説明】
１０１、３０１、５０１、６０１    ＣＰＵ
１０２、３０２、５０２、６０２    ＲＯＭ
１０３、３０３、５０３、６０３    ＲＡＭ
１１１、５１１、６１１    異常検出回路
２０１    ＲＡＭ領域
２０２、２０４    未実装領域
２０３    ＲＯＭ領域
【図１】
2004157694.tif 000003
【図２】
2004157694.tif 000004
【図３】
2004157694.tif 000005
【図４】
2004157694.tif 000006
【図５】
2004157694.tif 000007
【図６】
2004157694.tif 000008