(57)【特許請求の範囲】
【請求項１】
内部にＲＯＭとＲＡＭとを備えたマイクロコンピュータにおいて、
前記ＲＯＭを所定の大きさずつに区切って、エミュレーションが行われる複数のＲＯＭ領域を当該ＲＯＭ上に設定するとともに、
前記各ＲＯＭ領域とそれぞれ対応させて置き換えられる複数のＲＡＭ領域を、ＲＡＭを前記ＲＯＭ領域の大きさと同一の所定の大きさずつに区切って、当該ＲＡＭ上に確保し、
ＲＡＭの複数のＲＡＭ領域それぞれに対応して、ＲＯＭの当該ＲＡＭ領域に置き換えられるＲＯＭ領域を指定するためのＲＯＭ領域指定レジスタを設け、
前記ＲＯＭ領域指定レジスタにて指定された前記ＲＯＭのＲＯＭ領域を、前記ＲＡＭの当該ＲＯＭ領域指定レジスタが対応付けられているＲＡＭ領域に置き換え、
ＲＡＭの各ＲＡＭ領域にそれぞれ対応して設けられたＲＯＭ領域指定レジスタのうちの複数の前記ＲＯＭ領域指定レジスタに、ＲＯＭの同一のＲＯＭ領域が指定された場合、所定の優先順位にしたがってそのうちの１つを選択するための信号を生成する調停回路と、
前記調停回路の出力信号に応じて開閉されるイネーブルスイッチを設け、
前記イネーブルスイッチの開閉状態にしたがって、対応付けられたＲＯＭ領域指定レジスタに同一の前記ＲＯＭ領域が指定されている前記ＲＡＭ領域中で、最も優先順位の高いものを選択し、
選択された前記ＲＡＭ領域に対応付けられた前記ＲＯＭ領域指定レジスタにて指定された前記ＲＯＭ領域を、当該ＲＡＭ領域に置き換えることを特徴とするマイクロコンピュータ。
【請求項２】
ＲＡＭの複数のＲＡＭ領域それぞれに対応して設けたＲＯＭ領域指定レジスタに、
前記各ＲＡＭ領域に置き換えられるＲＯＭ領域を指定するためのＲＯＭ領域指定部と、
前記ＲＯＭ領域指定部にて指定されたＲＯＭ領域の、前記ＲＡＭ領域への置き換えの有効／無効の選択に用いられるイネーブルビットを持たせたことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
外部端子のレベルに応じて開閉されるスイッチをＲＡＭの各ＲＡＭ領域毎に設け、
前記スイッチの開閉状態にしたがって、ＲＯＭ領域のＲＡＭ領域への置き換えを有効にするか無効にするかの選択を行うことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
エミュレーションが行われる複数のＲＯＭ領域を、ＲＯＭを任意の大きさずつに区切ったエミュレートＲＯＭ領域とし、
前記エミュレートＲＯＭ領域と置き換えられるＲＡＭ領域を、ＲＡＭを前記ＲＯＭ領域の大きさと同一の大きさずつに区切ったエミュレートＲＡＭ領域として当該ＲＡＭ上に確保し、
前記エミュレートＲＡＭ領域に対応してＲＯＭ領域指定レジスタを設け、当該ＲＯＭ領域指定レジスタに、前記エミュレートＲＯＭ領域の開始アドレスと最終アドレスとを設定するようにしたことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項５】
各ＲＡＭ領域に対応して設けられたＲＯＭ領域指定レジスタの有するイネーブルビットによる、各ＲＡＭ領域毎のエミュレーション機能の有効／無効とは別に、その上位においてＲＡＭでのエミュレーション機能全体を有効にするか無効するかを選択するための選択ビットを保持するエミュレーションモード許可レジスタと、
前記ＲＯＭ領域指定レジスタのイネーブルビットの内容を、前記エミュレーションモード許可レジスタの選択ビットの内容にしたがってゲートするゲートアレイと、
前記ゲートアレイの出力する信号に応じて開閉されて、エミュレーション機能の有効／無効の選択を行うイネーブルスイッチとを設けたことを特徴とする請求項２記載のマイクロコンピュータ。
【請求項６】
ＲＡＭの複数のＲＡＭ領域それぞれに対応して設けたＲＯＭ領域指定レジスタのうちの、複数のＲＯＭ領域指定レジスタのＲＯＭ領域指定部に、ＲＯＭの同一のＲＯＭ領域を設定し、
前記ＲＯＭ領域指定部に同一のＲＯＭ領域が設定されたＲＯＭ領域指定レジスタのイネーブルビットの内容にしたがって、前記ＲＯＭ領域指定部に設定されたＲＯＭ領域と置き換えられる前記ＲＡＭ領域の切り換えを行うことを特徴とする請求項２記載のマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ソフトウェアのデバッグに使用されるＲＯＭエミュレーション機能を有するマイクロコンピュータに関するものである。
【０００２】
【従来の技術】
図９は、例えば、“三菱３２ビットＲＩＳＣシングルチップマイクロコンピュータ  Ｍ３２Ｒファミリ  Ｍ３２Ｒ／Ｅシリーズ  ３２１６０グループ  Ｍ３２１６０Ｆ３ＵＦＰ  Ｍ３２１６０Ｆ４ＵＦＰ  ユーザーズマニュアル”（１９９８．８．２０  三菱電機株式会社  三菱電機セミコンダクタシステム株式会社）のｐｐ．５−３７〜５−３９に示された、従来のマイクロコンピュータの概念を示す説明図である。図において、１はＲＯＭ、２はＲＡＭであり、１１は上記ＲＯＭ１の所定の大きさ（図示の例では８ＫＢ）ずつに区切られたＲＯＭ領域、２１はＲＡＭ２の先頭の所定の大きさ（ＲＯＭ領域１１の場合と同一の８ＫＢ）のＲＡＭ領域である。なお、これら各ＲＯＭ領域１１はそれぞれ、アドレスＡ、アドレスＢの頭アドレスを有しているものとする。
【０００３】
次に動作について説明する。
ＲＯＭエミュレーションモードに移行する場合、ＲＡＭ領域２１に置き換えたいＲＯＭ領域１１の開始アドレス、例えばアドレスＡを指定して、図示を省略した制御レジスタのエミュレーションモードビットに“１”を書き込む。このエミュレーションモードビットを“１”にすると、開始アドレスがＡのＲＯＭ領域１１がＲＡＭ２の先頭の８ＫＢのＲＡＭ領域２１に置き換えられる。したがって、このアドレスＡを開始アドレスとするＲＯＭ領域１１をアクセスすると、ＲＡＭ２のＲＡＭ領域２１がアクセスされる。
【０００４】
また、ＲＯＭ１の他のＲＯＭ領域１１、例えばアドレスＢを開始アドレスとするＲＯＭ領域１１のエミュレーションを行う場合には、当該ＲＯＭ領域１１の開始アドレスＢを指定して、上記と同様の処理を行う。この場合、開始アドレスがアドレスＢのＲＯＭ領域１１がＲＡＭ２のＲＡＭ領域２１に置き換えられるため、このアドレスＢを開始アドレスとするＲＯＭ領域１１をアクセスすると、ＲＡＭ２のＲＡＭ領域２１がアクセスされる。このようにして、プログラム動作中でデータの変更を必要とするアプリケーションは、ＲＡＭ２のＲＡＭ領域２１を使用して、ダイナミックな変更を行うことが可能となる。
【０００５】
なお、このようなＲＯＭエミュレーション機能を持ったマイクロコンピュータに関連する技術が記載されている文献としては、例えば特開昭６２−２５１９３４号公報、特開昭６４−８４３４１号公報、特開平７−３０２２５４号公報、特開平６−１３９１０２号公報などもある。
【０００６】
【発明が解決しようとする課題】
従来のマイクロコンピュータは以上のように構成されているので、ＲＯＭ１の各ＲＯＭ領域１１はＲＡＭ２の決められた１つのＲＡＭ領域２１に固定的に置き換えられるため、プログラム中でチューニングしたい部分のアドレスマッピングは、実際に使用する場所と異なるものとなり、チューニング完了後に全体のプログラムを組みなおす必要が生ずるという課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、チューニング完了後に全体のプログラムを組みなおす必要がなく、緻密なプログラムチューニングが可能なマイクロコンピュータを得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係るマイクロコンピュータは、ＲＯＭとＲＡＭとを複数のＲＯＭ領域とＲＡＭ領域とに区切り、その複数に区切られたＲＯＭの各ＲＯＭ領域を、複数に区切られたＲＡＭの各ＲＡＭ領域に自由に対応させて置き換えを行うようにしたものである。
【０００９】
この発明に係るマイクロコンピュータは、ＲＯＭとＲＡＭを互いに同一の所定の大きさずつに区切って、ＲＯＭ領域の設定とＲＡＭ領域の確保を行うようにしたものである。
【００１０】
この発明に係るマイクロコンピュータは、各ＲＡＭ領域に対応してＲＯＭ領域指定レジスタを設け、各ＲＯＭ領域をＲＯＭ領域指定レジスタに設定された開始アドレスに応じて、そのＲＯＭ領域指定レジスタが対応付けられたＲＡＭ領域に置き換えるようにしたものである。
【００１１】
この発明に係るマイクロコンピュータは、ＲＯＭ領域指定部におけるＲＯＭ領域の指定と、当該指定されたＲＯＭ領域のＲＡＭ領域への置き換えの有効／無効を選択するためのイネーブルビットを、各ＲＡＭ領域のそれぞれに対応して設けたＲＯＭ領域指定レジスタに持たせたものである。
【００１２】
この発明に係るマイクロコンピュータは、ＲＯＭ領域指定部におけるＲＯＭ領域の指定と、当該指定されたＲＯＭ領域のＲＡＭ領域への置き換えを有効にするか無効にするかを、外部端子のレベルで制御されるスイッチを用いて選択するようにしたものである。
【００１３】
この発明に係るマイクロコンピュータは、エミュレートＲＡＭ領域に対応して設けたＲＯＭ領域指定レジスタに、エミュレートＲＯＭ領域の開始アドレスと最終アドレスとを設定することにより、ＲＯＭ上にエミュレートＲＯＭ領域を自由に設定するようにしたものである。
【００１４】
この発明に係るマイクロコンピュータは、調停回路を設けて、複数のＲＯＭ領域指定レジスタに同一のＲＯＭ領域が指定された場合に、優先順位に応じた調停を行い、その調停回路の出力信号に応じて開閉されるイネーブルスイッチによって、ＲＯＭ領域指定レジスタに同一のＲＯＭ領域が指定されているＲＡＭ領域のうちの、最も高い優先順位を有するものを選択して置き換えを行うようにしたものである。
【００１５】
この発明に係るマイクロコンピュータは、エミュレーションモード許可レジスタに、ＲＡＭでのエミュレーション機能全体の有効／無効を選択するための選択ビットを保持させ、ＲＯＭ領域指定レジスタのイネーブルビットをこの選択ビットにてゲートして、エミュレーション機能の有効／無効の選択を行うイネーブルスイッチの開閉を制御するようにしたものである。
【００１６】
この発明に係るマイクロコンピュータは、複数のＲＯＭ領域指定レジスタのＲＯＭ領域指定部に、ＲＯＭの同一のＲＯＭ領域を設定し、ＲＯＭ領域指定レジスタのイネーブルビットにより置き換えを行うＲＡＭ領域を切り換えるようにしたものである。
【００１７】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるマイクロコンピュータの概念を示す説明図である。図において、１は当該マイクロコンピュータの内部に備えられたＲＯＭであり、２は同じくこのマイクロコンピュータの内部に備えられたＲＡＭである。１１は所定バイト数の大きさ、例えば８ＫＢずつに区切られて、それぞれにバンク番号＃０，＃１，＃２，・・・・が付された上記ＲＯＭ１の複数のＲＯＭ領域である。２１はＲＯＭ１のＲＯＭ領域１１と同一の大きさ（８ＫＢ）ずつに区切られ、それぞれに領域番号＃０，＃１，＃２，・・・・が付されたＲＡＭ２の複数のＲＡＭ領域である。
【００１８】
次に動作について説明する。
この実施の形態１では、８ＫＢずつに区切られてＲＡＭ２上に確保された複数のＲＡＭ領域２１を用いて、８ＫＢずつに区切られたＲＯＭ１上に設定された複数のＲＯＭ領域１１をエミュレートするものである。この場合、ＲＯＭ１のバンク番号＃０が付された８ＫＢのＲＯＭ領域１１を、ＲＡＭ２の領域番号＃０が付された８ＫＢのＲＡＭ領域２１で、ＲＯＭ１のバンク番号＃４が付されたＲＯＭ領域１１を、ＲＡＭ２の領域番号＃１が付されたＲＡＭ領域２１で、ＲＯＭ１のバンク番号＃６が付されたＲＯＭ領域１１を、ＲＡＭ２の領域番号＃２が付されたＲＡＭ領域２１でそれぞれ置き換えている。なお、ＲＡＭ２の各ＲＡＭ領域２１に置き換えられるＲＯＭ１のＲＯＭ領域１１は、自由に選択して対応付けることが可能である。
【００１９】
したがって、バンク番号＃０のＲＯＭ領域１１がアクセスされた場合には、領域番号＃０のＲＡＭ領域２１がアクセスされてエミュレートが行われ、バンク番号＃４のＲＯＭ領域１１がアクセスされた場合には領域番号＃１のＲＡＭ領域２１が、バンク番号＃６のＲＯＭ領域１１がアクセスされた場合には領域番号＃２のＲＡＭ領域２１がアクセスされてエミュレートが行われる。このようにして、ＲＯＭ１の全てのＲＯＭ領域１１をＲＡＭ２の各ＲＡＭ領域２１で置き換えてエミュレートすることができ、この機能を利用すれば、ＲＯＭ１上に置かれたプログラムを組み替えることなく、全体のデバッグやチューニングを行うことが可能となる。
【００２０】
なお、上記説明においては、ＲＯＭ１を８ＫＢずつのＲＯＭ領域１１に区切って、それら各ＲＯＭ領域１１を、ＲＡＭ２の持つ８ＫＢずつに区切られた各ＲＡＭ領域２１で置き換えたものを示したが、ＲＡＭ２は４ＫＢずつに区切られたＲＡＭ領域も持っており、ＲＯＭ１を４ＫＢずつのＲＯＭ領域に区切って、それらのＲＯＭ領域を上記ＲＡＭ２の４ＫＢずつに区切られたＲＡＭ領域で置き換えるようにすることも可能である。ＲＯＭ領域１１の置き換えに割り当てられたＲＡＭ領域は、通常のＲＡＭとしてのアクセスも可能である。すなわち、置き換え先のＲＯＭのアドレスであってもＲＡＭ自身のアドレスであってもどちらでもアクセス可能である。
【００２１】
このように、この実施の形態１によれば、所定の大きさずつに区切られたＲＯＭ１の複数のＲＯＭ領域１１を、それと同一の大きさずつに区切られたＲＡＭ２の複数のＲＡＭ領域２１に自由に対応させて置き換えているため、プログラム中でチューニングしたい部分のアドレスマッピングを、実際に使用する場所と同一にすることが可能となり、チューニング完了後に全体のプログラムを組みなおすことなくプログラムデバッグが行えて、緻密なプログラムチューニングが可能なマイクロコンピュータを実現することができるという効果が得られる。
【００２２】
実施の形態２．
図２はこの発明の実施の形態２によるマイクロコンピュータの概念を示す説明図である。図において、１は当該マイクロコンピュータのＲＯＭ、２は同じくＲＡＭであり、１１はそれぞれにバンク番号＃０，＃１，＃２，・・・・が付された複数のＲＯＭ領域、２１はそれぞれに領域番号＃０，＃１，＃２，・・・・が付された複数のＲＡＭ領域である。なお、これら各ＲＯＭ領域１１の開始アドレスは、それぞれＡ，Ｂ，Ｃ，・・・・となっている。また、３はＲＡＭ２の各ＲＡＭ領域２１に対応して設けられ、それぞれがそれに対応付けられているＲＡＭ領域２１で置き換えられるＲＯＭ領域１１の開始アドレスを保持する複数のＲＯＭ領域指定レジスタである。ここで、このＲＯＭ領域指定レジスタ３を除いた各部は、図１に同一符号を付して示した実施の形態１におけるそれらに相当する部分である。
【００２３】
次に動作について説明する。
ＲＡＭ２の複数のＲＡＭ領域２１を用いて、ＲＯＭ１の複数のＲＯＭ領域１１をエミュレートする場合、ＲＡＭ２の各ＲＡＭ領域２１毎に対応して設けられたＲＯＭ領域指定レジスタ３のそれぞれに、そのＲＡＭ領域２１で置き換えられるＲＯＭ領域１１の開始アドレスを設定する。図示の例では、ＲＯＭ１のバンク番号＃１が付されたＲＯＭ領域１１を、ＲＡＭ２の領域番号＃０が付されたＲＡＭ領域２１で、ＲＯＭ１のバンク番号＃４が付されたＲＯＭ領域１１を、ＲＡＭ２の領域番号＃１が付されたＲＡＭ領域２１でそれぞれ置き換えるために、領域番号＃０のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３には、バンク番号＃１のＲＯＭ領域１１の開始アドレスＢが、領域番号＃１のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３には、バンク番号＃４のＲＯＭ領域１１の開始アドレスＥがそれぞれ設定される。
【００２４】
ＲＯＭ領域指定レジスタ３に上記のようなアドレス設定を行うと、それぞれのＲＯＭ領域指定レジスタ３によって指示されるＲＯＭ１のＲＯＭ領域１１が、ＲＡＭ２の当該ＲＯＭ領域指定レジスタ３が対応付けられたＲＡＭ領域２１に置き換えられる。すなわち、ＲＯＭ１のバンク番号が＃１のＲＯＭ領域１１はＲＡＭ２の領域番号＃０のＲＡＭ領域２１に、バンク番号＃４のＲＯＭ領域１１は領域番号＃１のＲＡＭ領域２１にそれぞれ置き換えられる。したがって、バンク番号＃１のＲＯＭ領域１１がアクセスされた場合には、領域番号＃０のＲＡＭ領域２１がアクセスされ、バンク番号＃４のＲＯＭ領域１１がアクセスされた場合には領域番号＃１のＲＡＭ領域２１がアクセスされる。これにより、ＲＯＭ１上のプログラムのデバッグやチューニングを行うことができる。
【００２５】
このように、この実施の形態２によれば、ＲＯＭ１の複数のＲＯＭ領域１１をＲＡＭ２の複数のＲＡＭ領域２１に対応させる際に、各ＲＡＭ領域２１に対応させて設けたＲＯＭ領域指定レジスタ３に、置き換えるＲＯＭ領域１１の開始アドレスを設定するようにしているため、ＲＯＭ１の全ての領域のＲＯＭ領域１１を、より容易にＲＡＭ２の各ＲＡＭ領域２１に置き換えることができるようになるという効果が得られる。
【００２６】
実施の形態３．
上記実施の形態２では、エミュレーション機能が常に有効である場合について説明したが、エミュレーション機能を必要に応じて有効にするようにすることも可能である。図３はそのようなこの発明の実施の形態３によるマイクロコンピュータで用いられるＲＯＭ領域指定レジスタを示す構成図である。図において、３はＲＡＭ２の各ＲＡＭ領域２１に対応させて設けられたＲＯＭ領域指定レジスタである。３１はＲＯＭ１の複数のＲＯＭ領域１１をＲＡＭ２の複数のＲＡＭ領域２１に対応させる際に、そのＲＯＭ領域１１の開始アドレスが設定されるＲＯＭ領域指定部である。３２はこのＲＯＭ領域指定部３１におけるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えを有効にするか無効にするかの選択に用いられるイネーブルビットである。
【００２７】
次に動作について説明する。
ＲＡＭ２の各ＲＡＭ領域２１毎に対応して設けられた各ＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１に、そのＲＡＭ領域２１で置き換えられるＲＯＭ領域１１の開始アドレスをあらかじめ設定しておく。あるＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によって指定されるＲＯＭ１のＲＯＭ領域１１を、ＲＡＭ２の当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１に置き換える場合、そのＲＯＭ領域指定レジスタ３のイネーブルビット３２を“１”にセットする。これによって、このＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えが有効となる。したがって、以降、実施の形態２の場合と同様に動作して、ＲＯＭ上のプログラムのデバッグやチューニングを行うことが可能となる。
【００２８】
一方、ＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によって指定されるＲＯＭ１のＲＯＭ領域１１を、ＲＡＭ２の当該ＲＯＭ領域指定レジスタ３が対応付けられたＲＡＭ領域２１に置き換えない場合には、そのＲＯＭ領域指定レジスタ３のイネーブルビット３２を“０”にリセットしておく。これによって、このＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えが無効となる。したがって、以降、ＲＡＭ１の複数のＲＡＭ領域２１を用いたＲＯＭ１の複数のＲＯＭ領域１１のエミュレートは行われない。
【００２９】
このように、この実施の形態３によれば、ＲＯＭ領域指定レジスタ３内にイネーブルビット３２を設けて、ＲＯＭ領域指定部３１におけるＲＯＭ領域１１の指定と、指定されたＲＯＭ領域１１のＲＡＭ領域２１への置き換えを有効にするか無効にするかを選択しているので、ＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１にあらかじめ、ＲＡＭ領域２１に置き換えるＲＯＭ領域１１を設定しておいて、当該ＲＯＭ領域１１のＲＡＭ領域２１への置き換えを、自由に切り換えて実行することが可能となり、プログラムチューニングを有効に行うことができるという効果が得られる。
【００３０】
実施の形態４．
上記実施の形態３では、エミュレーション機能の有効／無効をイネーブルビット３２の状態によって選択するものについて示したが、外部端子のレベルに基づいて選択するようにしてもよい。図４はそのようなこの発明の実施の形態４によるマイクロコンピュータの概念を示す説明図である。図において、４１はＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１におけるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えを有効にするか無効にするかを選択するための信号が入力される外部端子である。４２はこの外部端子４１のレベルによって開閉され、ＲＯＭ領域指定レジスタ３にその開始アドレスが設定されているＲＯＭ領域１１を、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１に置き換えるためのスイッチである。なお、このスイッチ４２はＲＡＭ２の各ＲＡＭ領域２１のそれぞれに設けられている。
【００３１】
次に動作について説明する。
ここで、図示のように、ＲＡＭ２の領域番号＃０を持つＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３には、ＲＯＭ１のバンク番号＃１を持つＲＯＭ領域１１の開始アドレスＢがあらかじめ設定されているものとする。このような状態で、ＲＯＭ領域１１の指定とＲＡＭ領域２１への置き換えとを有効にするために、外部端子４１のレベルをハイレベルに設定すると、スイッチ４２はオン状態となる。これによって、このＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えが有効となり、ＲＯＭ１のバンク番号が＃１のＲＯＭ領域１１は、ＲＡＭ２の領域番号が＃０のＲＡＭ領域２１に置き換えられる。このようにして、それ以降、ＲＯＭ１上のプログラムのデバッグやチューニングを行うことが可能となる。
【００３２】
一方、ＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によって指定されるＲＯＭ１のＲＯＭ領域１１を、ＲＡＭ２の当該ＲＯＭ領域指定レジスタ３が対応付けられたＲＡＭ領域２１に置き換えない場合には、外部端子４１のレベルをローレベルに設定する。これによって、スイッチ４２がオフ状態となり、このＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１によるＲＯＭ領域１１の指定と、当該ＲＯＭ領域指定部３１にて指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられているＲＡＭ領域２１への置き換えが無効となる。したがって、以降、ＲＡＭ２の複数のＲＡＭ領域２１を用いたＲＯＭ１の複数のＲＯＭ領域１１のエミュレートは行われない。
【００３３】
なお、上記説明においては、ＲＡＭ２の各ＲＡＭ領域２１に対応してＲＯＭ領域指定レジスタ３を設け、それらにＲＯＭ１の置き換えを行うＲＯＭ領域１１のアドレスをあらかじめ設定しておくものについて示したが、この実施の形態４は、実施の形態１に示すようなＲＯＭ領域指定レジスタ３を備えていないマイクロコンピュータにも適用可能であることはいうまでもない。
【００３４】
このように、この実施の形態４によれば、外部端子４１のレベルに基づいてエミュレーション機能の有効／無効を選択することにより、ソフトウェアで設定することなくＲＯＭ領域１１のＲＡＭ領域２１への置き換え制御が可能となり、ソフトウェアの負荷を軽減することができるという効果が得られる。
【００３５】
実施の形態５．
上記実施の形態２から実施の形態４においては、ＲＯＭ領域指定レジスタ３にＲＯＭ領域１１の開始アドレスを設定するものについて説明したが、ＲＯＭ領域１１の開始アドレスと最終アドレスとを設定するようにしてもよい。図５はそのようなこの発明の実施の形態５によるマイクロコンピュータの概念を示す説明図である。図において、１はＲＯＭであり、１２はこのＲＯＭ１上でエミュレーションが行われる領域として自由に区切られた、ＲＯＭ領域としてのエミュレートＲＯＭ領域である。２はＲＡＭであり、２２は上記エミュレートＲＯＭ領域１２のエミュレーションを行うためにＲＡＭ２上に割り当てられた、当該エミュレートＲＯＭ領域１２と同一の大きさのＲＡＭ領域としてのエミュレートＲＡＭ領域である。３はこのエミュレートＲＡＭ領域２２対応して設けられたＲＯＭ領域指定レジスタであるが、エミュレートＲＯＭ領域１２の開始アドレスに加えて、その最終アドレスも設定されている点で、上記実施の形態２から実施の形態４のそれらとは異なっている。
【００３６】
次に動作について説明する。
ＲＡＭ２のエミュレートＲＡＭ領域２２を用いて、ＲＯＭ１のアドレスａからアドレスｂまでのエミュレートＲＯＭ領域１２のエミュレーションを行う場合、まず、エミュレートＲＯＭ領域１２の開始アドレス（アドレスａ）と最終アドレス（アドレスｂ）とをＲＯＭ領域指定レジスタ３に設定する。これによって、ＲＯＭ１のエミュレートＲＯＭ領域１２がＲＡＭ２のエミュレート領域２２に置き換えられる。すなわち、ＲＯＭ１のあらかじめ決められた固定的なＲＯＭ領域を、ＲＡＭ２のＲＡＭ領域に置き換えるのではなく、ＲＯＭ領域指定レジスタ３への開始アドレスと最終アドレスを設定することによって、ＲＯＭ１上に自由に区切ったアドレスａ〜アドレスｂまでのエミュレートＲＯＭ領域１２を、ＲＡＭ２のエミュレートＲＡＭ領域２２に置き換えている。このようにして、それ以降、ＲＯＭ１上のプログラムのチューニングを行うことが可能となる。
【００３７】
このように、この実施の形態５によれば、ＲＯＭ領域指定レジスタ３にＲＯＭ領域（エミュレートすらも領域１２）の開始アドレスと最終アドレスとを設定することにより、エミュレーションを行う領域を自由に設定することが可能となって、ＲＯＭ領域（エミュレーションとＲＯＭ領域１２）のＲＡＭ領域（エミュレーションとＲＡＭ領域２２）への置き換えを効率よく行うことができ、プログラムのチューニングをより容易に行えるという効果が得られる。
【００３８】
実施の形態６．
上記実施の形態２においては、ＲＯＭ領域指定レジスタ３によって、ＲＡＭ２の各ＲＡＭ領域２１がＲＯＭ１の互いに異なるＲＯＭ領域１１を指定した場合について説明したが、複数のＲＯＭ領域指定レジスタ３によって同一のＲＯＭ領域１１を指定しておき、そのうちの１つに対応するＲＡＭ領域でその指定されたＲＯＭ領域を置き換えるようにすることも可能である。図６はそのようなこの発明の実施の形態６によるマイクロコンピュータの概念を示す説明図である。図において、１はＲＯＭ、２はＲＡＭであり、１１はＲＯＭ１上に設定されている、バンク番号＃ｎが付され、アドレスＮを開始アドレスとするＲＯＭ領域、２１は領域番号＃０，＃１あるいは＃２が付されて、ＲＡＭ２上に確保されたＲＡＭ領域である。３は領域番号＃０，＃１あるいは＃２の各ＲＡＭ領域２１に対応して設けられたＲＯＭ領域指定レジスタであり、この場合、バンク番号＃ｎのＲＯＭ領域１１の開始アドレスＮを保持している。５はこのように複数のＲＯＭ領域指定レジスタ３に同一の開始アドレスが設定された場合に、それらの選択を優先順位にしたがって調停するための調停回路であり、６１，６２，６３はこの調停回路５の出力が“０”のときにオフとなるイネーブルスイッチである。
【００３９】
次に動作について説明する。
ここで、この調停回路５は、領域番号＃０＞領域番号＃１＞領域番号＃２＞・・・・というように、領域番号の小さなＲＡＭ領域２１により高い優先順位を与えて、ＲＯＭ領域１１との置き換えが行われるＲＡＭ領域２１の選択を調停するものであるとする。
【００４０】
調停回路５はＲＯＭ領域指定レジスタ３の内容を比較して、同一のＲＯＭ領域１１を指定する開始アドレスが設定されたものがあるか否かを判定する。図示のように、領域番号＃０，＃１，＃２が付されている３つのＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３に、それぞれＲＯＭ１の同一のＲＯＭ領域１１の開始アドレスＮが設定されている場合には、調停回路５はイネーブルスイッチ６１に送られる信号のみが“１”となり、イネーブルスイッチ６２および６３に送られる信号はそれぞれ“０”となる出力信号を生成する。そのため、イネーブルスイッチ６１のみがオンとなり、他のイネーブルスイッチ６２および６３はオフとなる。このように、イネーブルスイッチ６１がオンになると、ＲＯＭ領域指定レジスタ３にて指定された、開始アドレスがアドレスＮでバンク番号が＃ｎであるＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられている領域番号＃０のＲＡＭ領域２１への置き換えが行われる。
【００４１】
なお、それと同一の開始アドレスＮが設定されたＲＯＭ領域指定レジスタ３が対応付けられた領域番号が＃１と＃２のＲＡＭ領域２１と、バンク番号が＃ｎのＲＯＭ領域１１との置き換えは、イネーブルスイッチ６２および６３がオフであるため行われることはない。したがって、アドレスＮを開始アドレスとするバンク番号が＃ｎのＲＯＭ領域１１は、優先順位の最も高い領域番号が＃０のＲＡＭ領域２１に置き換えられ、それ以降、ＲＯＭ１上のプログラムのデバッグやチューニングを行うことが可能となる。
【００４２】
また、領域番号＃１および＃２が付された２つのＲＡＭ領域２１に対応付けられているＲＯＭ領域指定レジスタ３に、それぞれＲＯＭ１の同一のＲＯＭ領域１１の開始アドレスＮが設定されている場合には、調停回路５はイネーブルスイッチ６２に送られる信号が“１”となり、イネーブルスイッチ６３に送られる信号が“０”となる出力信号を生成する。これにより、イネーブルスイッチ６２のみがオンとなり、そのＲＯＭ領域指定レジスタ３にて指定されたバンク番号＃ｎのＲＯＭ領域１１が、優先順位のより高い、領域番号＃１のＲＡＭ領域２１に置き換えられて、それ以降、ＲＯＭ１上のプログラムのデバッグやチューニングを行うことが可能となる。
【００４３】
このように、この実施の形態６によれば、複数のＲＯＭ領域指定レジスタ３に同一のＲＯＭ領域１１が指定された場合に、調停回路５において、置き換えを行うＲＡＭ領域２１の選択を、優先順位にしたがって調停しているので、ＲＯＭ領域指定レジスタ３に同一のＲＯＭ領域１１が指定されている場合でも、優先順位に応じて置き換えられるＲＡＭ領域２１が１つに決定され、プログラムミスなどによってチューニングデータ（ＲＡＭ２の内容）が破壊されるのを未然に防止できるという効果が得られる。
【００４４】
実施の形態７．
上記実施の形態３では、ＲＯＭ領域指定レジスタ３にイネーブルビット３２を持たせて、各ＲＡＭ領域毎にエミュレーション機能の有効／無効を選択するものについて説明したが、さらに、その上位において、ＲＡＭ２でのエミュレーション機能全体の有効／無効を選択するようにすることも可能である。図７はそのようなこの発明の実施の形態７によるマイクロコンピュータ概念を示す構成図である。図において、１はＲＯＭ、２はＲＡＭであり、１１はＲＯＭ領域、２１はＲＡＭ領域である。３２はＲＡＭ２の各ＲＡＭ領域２１に対応させて設けられたＲＯＭ領域指定レジスタ３が持つ、ＲＡＭ領域２１毎にエミュレーション機能を有効にするか無効にするかの選択に用いるイネーブルビットであり、ここでは、このイネーブルビット３２のみを図示している。
【００４５】
また、７はそれら各ＲＡＭ領域２１のエミュレーション機能の有効／無効とは別に、その上位において当該ＲＡＭ２でのエミュレーション機能全体を有効にするか無効するかを選択するための選択ビットを保持するエミュレーションモード許可レジスタである。８はこのエミュレーションモード許可レジスタ７に保持された選択ビットの内容に応じて、ＲＯＭ領域指定レジスタ３内のイネーブルビットと内容をゲートするゲートアレイであり、ここでは両者の論理積をとることによって実現している。６１，６２はこのゲートアレイ８の出力が“１”のときにオンとなり、“０”のときにオフとなって、エミュレーション機能を有効／無効の選択を行うイネーブルスイッチである。
【００４６】
次に動作について説明する。
アドレスＡを開始アドレスとする、バンク番号が＃０のＲＯＭ領域１１を領域番号が＃０のＲＡＭ領域２１に、アドレスＢを開始アドレスとするバンク番号が＃１のＲＯＭ領域１１を領域番号が＃１のＲＡＭ領域２１にそれぞれ置き換える場合、エミュレーションモード許可レジスタ７の許可ビットに“１”をセットするとともに、各ＲＡＭ領域２１に対応付けられた各ＲＯＭ領域指定レジスタ３のイネーブルビット３２に“１”をセットする。エミュレーションモード許可レジスタ７の許可ビットが“１”になると、各ＲＯＭ領域指定レジスタ３のイネーブルビット３２の内容はそのままゲートアレイ８から出力されるため、当該ゲートアレイ８より出力される信号はいずれも“１”となる。イネーブルスイッチ６１および６２はこのゲートアレイ８からの信号が“１”になるとオンとなり、バンク番号＃０のＲＯＭ領域１１が領域番号＃０のＲＡＭ領域２１に、バンク番号＃１のＲＯＭ領域１１が領域番号＃１のＲＡＭ領域２１に、それぞれ置き換えられる。
【００４７】
一方、ＲＯＭ領域指定レジスタ３内のイネーブルビット３２に“１”がセットされていても、ＲＯＭ領域１１のＲＡＭ領域２１への置き換えを行わない場合、すなわちＲＡＭ２でのエミュレーション機能全体を無効にする場合には、エミュレーションモード許可レジスタ７の許可ビットに“０”をセットする。エミュレーションモード許可レジスタ７の許可ビットが“０”になると、各ＲＯＭ領域指定レジスタ３のイネーブルビット３２の内容の如何にかかわらず、当該ゲートアレイ８より出力される信号はいずれも“０”になる。イネーブルスイッチ６１および６２はこのゲートアレイ８からの信号が“０”になるとオフとなるため、バンク番号＃０のＲＯＭ領域１１の領域番号＃０のＲＡＭ領域２１への置き換え、およびバンク番号＃１のＲＯＭ領域１１の領域番号＃１のＲＡＭ領域２１への置き換えは行われない。
【００４８】
このように、この実施の形態７によれば、エミュレーションモード許可レジスタ７の選択ビットによって、各ＲＡＭ領域２１のエミュレーション機能の有効／無効とは別に、その上位において当該ＲＡＭ２でのエミュレーション機能全体を有効にするか無効するかを選択してるので、プログラムの暴走などによって誤ったイネーブルビット３２の設定が行われた場合でも、エミュレーションモード許可レジスタ７の選択ビットに“０”をセットしておくことにより、不要にエミュレーションモードにエントリされることを防止できるという効果が得られる。
【００４９】
実施の形態８．
上記実施の形態６においては、複数のＲＯＭ領域指定レジスタ３によって同一のＲＯＭ領域１１を指定しておき、そのうちの調停回路５で選択した優先順位の最も高いＲＡＭ領域２１でその指定されたＲＯＭ領域１１を置き換えるものを示したが、１つのＲＯＭ領域１１に対して複数のＲＡＭ領域２１を割り当てられるようにしてもよい。図８はそのようなこの発明の実施の形態８によるマイクロコンピュータの概念を示す説明図である。図において、１はＲＯＭ、１１はそのＲＯＭ領域、２はＲＡＭ、２１はそのＲＡＭ領域であり、３は各ＲＡＭ領域２１に対応して設けられたＲＯＭ領域指定レジスタ、３１はそのＲＯＭ領域指定部、３２はイネーブルビットである。
【００５０】
次に動作について説明する。
この実施の形態８においては、実施の形態６に示した調停回路５を削除するとともに、ＲＯＭ領域指定レジスタ３にイネーブルビット３２を持たせている。図示の例では、ＲＯＭ１のバンク番号が＃２の１つのＲＯＭ領域１１の開始アドレスＣを、ＲＡＭ２の領域番号が＃１および＃３の２つのＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３の、それぞれのＲＯＭ領域指定部３１に意図的に重複させて設定している。
【００５１】
このようにして、１つのＲＯＭ領域１１に対して複数のＲＡＭ領域２１を割り当てておき、まず、そのＲＯＭ領域指定部３１に同一のＲＯＭ領域１１の開始アドレスが設定されている複数のＲＯＭ領域指定レジスタ３のうちの１つ、例えば領域番号＃１のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３のイネーブルビット３２を“１”に設定するとともに、領域番号＃３のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３のイネーブルビット３２を“０”に設定する。これにより、これらのＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１に指定されているＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられている領域番号が＃１のＲＡＭ領域２１への置き換えだけが有効となる。
【００５２】
次に、領域番号＃１のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３のイネーブルビット３２を“０”に設定して、領域番号＃３のＲＡＭ領域２１に対応付けられたＲＯＭ領域指定レジスタ３のイネーブルビット３２を“１”に設定すれば、これら各ＲＯＭ領域指定レジスタ３のＲＯＭ領域指定部３１に指定されたＲＯＭ領域１１の、当該ＲＯＭ領域指定レジスタ３が対応付けられている領域番号が＃１のＲＡＭ領域２１への置き換えだけが有効となる。このように、１つのＲＯＭ領域１１に対して複数のＲＡＭ領域２１を割り当てておき、その複数のＲＡＭ領域２１をＲＯＭ領域指定レジスタ３のイネーブルビット３２によって切り換えることが可能となる。以降、ＲＯＭ領域１１をその切り換えによって選択されたＲＡＭ領域２１に置き換えて、ＲＯＭ１上のプログラムのチューニングが行われる。
【００５３】
このように、この実施の形態８によれば、１つのＲＯＭ領域１１に対して複数のＲＡＭ領域２１を割り当て、それをイネーブルビット３２によって切り換えることで、複数のチューニングデータを持ったプログラムのチューニングが可能になるという効果が得られる。
【００５４】
【発明の効果】
以上のように、この発明によれば、ＲＯＭを区切った複数のＲＯＭ領域を、ＲＡＭをそのＲＯＭ領域の大きさと同一の大きさずつに区切った複数のＲＡＭ領域と対応させて置き換えるように構成したので、複数に区切られたＲＯＭの各ＲＯＭ領域を、複数に区切られたＲＡＭの各ＲＡＭ領域に自由に対応させて置き換えることが可能となり、プログラム中でチューニングしたい部分のアドレスマッピングを、実際に使用する場所と同一にすることができるため、チューニング完了後に全体のプログラムを組みなおす必要のない、緻密なプログラムチューニングが可能なマイクロコンピュータが得られる効果がある。
【００５５】
この発明によれば、ＲＯＭとＲＡＭとを所定の大きさずつの複数のＲＯＭ領域とＲＡＭ領域とに区切っているので、所定の大きさの複数のＲＯＭ領域の設定と、それと同一の所定の大きさの複数のＲＡＭ領域の確保ができ、所定の大きさのＲＯＭ領域のＲＡＭ領域への置き換えを行うことが可能になるという効果がある。
【００５６】
この発明によれば、各ＲＡＭ領域対応のＲＯＭ領域指定レジスタに、置き換えるＲＯＭ領域の開始アドレスを設定して、複数のＲＯＭ領域を複数のＲＡＭ領域に対応させるように構成したので、ＲＯＭの全ての領域のＲＯＭ領域に対してＲＡＭの各ＲＡＭ領域を割り当てことが可能となり、ＲＯＭ領域のＲＡＭ領域への置き換えをより容易に行うことができるようになるという効果がある。
【００５７】
この発明によれば、ＲＯＭ領域指定レジスタ内に設けたイネーブルビットによって、ＲＯＭ領域指定部におけるＲＯＭ領域の指定と、指定されたＲＯＭ領域のＲＡＭ領域への置き換えを有効にするか無効にするかを選択するように構成したので、複数のＲＡＭ領域に対応付けられたＲＯＭ領域指定レジスタのＲＯＭ領域指定部に、あらかじめ、そのＲＡＭ領域に置き換えるＲＯＭ領域を設定しておいて、その一部だけについて当該ＲＯＭ領域のＲＡＭ領域への置き換えを有効にすることで、自由な置き換えを行うことが可能となり、プログラムチューニングの負荷を軽減できるという効果がある。
【００５８】
この発明によれば、エミュレーション機能の有効／無効を外部端子のレベルに基づいて選択するように構成したので、ＲＯＭ領域のＲＡＭ領域への置き換えを、ソフトウェアで設定することなく実行することが可能となり、ソフトウェアに負荷をかけることなくエミュレーション機能の切り換えを行うことができるという効果がある。
【００５９】
この発明によれば、ＲＯＭ領域指定レジスタを設けて、ＲＯＭ領域の開始アドレスと最終アドレスとを設定するように構成したので、エミュレーションを行うＲＯＭ領域を自由に設定することができ、効率よくＲＯＭ領域のＲＡＭ領域への置き換えを行うことが可能となって、より容易にプログラムのチューニングが行えるようになるという効果が得られる。
【００６０】
この発明によれば、同一のＲＯＭ領域が複数のＲＯＭ領域指定レジスタに指定された場合に、置き換えを行うＲＡＭ領域の選択を、調停回路における優先順位に応じた調停によって行うように構成したので、複数のＲＯＭ領域指定レジスタに同一のＲＯＭ領域が指定された場合でも、置き換えられるＲＡＭ領域が優先順位にしたがって１つに決定されるため、チューニングデータ等のＲＡＭの内容のプログラムミスなどによる破壊を未然に防止できるという効果がある。
【００６１】
この発明によれば、エミュレーションモード許可レジスタの選択ビットによって、当該ＲＡＭでのエミュレーション機能全体の有効／無効を選択するように構成したので、このエミュレーションモード許可レジスタの選択ビットにしたがってイネーブルビットをゲートすることにより、プログラムの暴走などによってイネーブルビットが誤って設定されてしまった場合でも、不要にエミュレーションモードに入ってしまうようなことがなくなるという効果がある。
【００６２】
この発明によれば、１つのＲＯＭ領域に対して複数のＲＡＭ領域を割り当て、それをイネーブルビットによって切り換えるように構成したので、１つのＲＯＭ領域に割り当てられた複数のＲＡＭ領域内の各チューニングデータを、自由に切り換えて、時間的に切れ目のないリアルタイムテーブルチューニングを行うことが可能になるという効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１によるマイクロコンピュータの概念を示す説明図である。
【図２】  この発明の実施の形態２によるマイクロコンピュータの概念を示す説明図である。
【図３】  この発明の実施の形態３によるマイクロコンピュータで用いられるＲＯＭ領域指定レジスタを示す構成図である。
【図４】  この発明の実施の形態４によるマイクロコンピュータの概念を示す説明図である。
【図５】  この発明の実施の形態５によるマイクロコンピュータの概念を示す説明図である。
【図６】  この発明の実施の形態６によるマイクロコンピュータの概念を示す説明図である。
【図７】  この発明の実施の形態７によるマイクロコンピュータの概念を示す説明図である。
【図８】  この発明の実施の形態８によるマイクロコンピュータの概念を示す説明図である。
【図９】  従来のマイクロコンピュータの概念を示す説明図である。
【符号の説明】
１  ＲＯＭ、２  ＲＡＭ、３  ＲＯＭ領域指定レジスタ、５  調停回路、７  エミュレーションモード許可レジスタ、８  ゲートアレイ、１１  ＲＯＭ領域、１２  エミュレートＲＯＭ領域、２１  ＲＡＭ領域、２２  エミュレートＲＡＭ領域、３１  ＲＯＭ領域指定部、３２  イネーブルビット、４１  外部端子、４２  スイッチ、６１，６２，６３  イネーブルスイッチ。
【図１】
0004083903.tif 000002
【図２】
0004083903.tif 000003
【図３】
0004083903.tif 000004
【図４】
0004083903.tif 000005
【図５】
0004083903.tif 000006
【図６】
0004083903.tif 000007
【図７】
0004083903.tif 000008
【図８】
0004083903.tif 000009
【図９】
0004083903.tif 000010