(57)【要約】【課題】ＣＰＵとプログラムメモリとを搭載する半導体集積回路に関し、プログラムメモリを改良し、プログラムを格納した読出し専用メモリ領域の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができるようにする。【解決手段】アプリケーションメモリ３のアドレス領域の一部分を修正命令格納領域６とする。ジャンプテーブル４の各欄には分岐命令及び修正命令格納領域６内の分岐先アドレスを格納する。プログラムメモリ５にはマスクＲＯＭ領域７とＲＡＭ領域８を設ける。マスクＲＯＭセル領域７iには命令を格納する。ＲＡＭセル領域８iには、ジャンプテーブル４に分岐しない場合には０を書き込み、ジャンプテーブル４に分岐する場合にはジャンプテーブル４の欄番号を格納する。【選択図】          図１
2005309647.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、各アドレス領域に、命令が格納された読出し専用メモリセル領域を有するプログラムメモリを備える半導体集積回路であって、
前記プログラムメモリは、所定のアドレス領域に、修正命令を実行するための分岐を促す内容が格納される書込み可能メモリセル領域を有し、
前記ＣＰＵは、前記書込み可能メモリセル領域が促す分岐を前記読出し専用メモリセル領域の命令に優先して実行することを特徴とする半導体集積回路。
【請求項２】
命令が格納される第１の書込み可能メモリと、
前記第１の書込み可能メモリに分岐するための分岐命令及び分岐先が格納される第２の書込み可能メモリを有し、
前記書込み可能メモリセル領域には、前記修正命令を実行するための分岐を促す内容として、前記第２の書込み可能メモリへの分岐を促す内容が格納され、
前記ＣＰＵは、前記書込み可能メモリセル領域に前記第２の書込み可能メモリへの分岐を促す内容が格納されている場合は、前記第２の書込み可能メモリに分岐することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記第２の書込み可能メモリへの分岐を促す内容は、前記第２の書込み可能メモリ内の分岐先を示す値であり、
前記ＣＰＵは、前記書込み可能メモリセル領域に前記第２の書込み可能メモリ内の分岐先を示す値が格納されている場合は、該分岐先に分岐することを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記所定のアドレス領域は、任意間隔のアドレス領域であり、
前記第２の書込み可能メモリへの分岐を促す内容は、前記所定のアドレス領域から任意番目のアドレス領域の読出し専用メモリセル領域に格納されている命令を実行せずに分岐する旨を示す値及び前記第２の書込み可能メモリ内の分岐先を示す値であり、
前記ＣＰＵは、前記所定のアドレス領域から任意番目のアドレス領域の読出し専用メモリセル領域に格納されている命令を実行せずに分岐する旨を示す値及び前記第２の書込み可能メモリ内の分岐先を示す値が書き込まれている場合は、前記所定のアドレス領域から任意番目のアドレス領域にアクセスしたときに、前記第２の書込み可能メモリ内の分岐先に分岐することを特徴とする請求項２記載の半導体集積回路。
【請求項５】
前記第２の書込み可能メモリは、前記所定のアドレス領域の各々が対応するメモリセル領域を有し、
前記第２の書込み可能メモリへの分岐を促す内容は、前記第２の書込み可能メモリに分岐する旨を示す値であり、
前記ＣＰＵは、前記所定のアドレス領域の書込み可能メモリセル領域に前記第２の書込み可能メモリに分岐する旨を示す値が格納されている場合は、前記所定のアドレス領域に対応する前記第２の書込み可能メモリ内のメモリセル領域に分岐することを特徴とする請求項２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（central processing unit）とプログラムメモリとを搭載する半導体集積回路に関する。
【背景技術】
【０００２】
例えば、プログラムメモリとして、書き換えが不可能なマスクＲＯＭ（masked read only memory）を搭載するマイクロプロセッサ（microprocessor）においても、製品化された後の製品仕様や規格の変更、あるいは、プログラムのバグ等により、緊急にプログラムの修正が必要となる場合がある。
【０００３】
このような場合、ＲＯＭコードの差し替えを行い、マスクＲＯＭの格納内容を修正し、マイクロプロセッサを作り直す以外に方法はなく、膨大な工数と費用が必要となる。そこで、従来、マスクＲＯＭの格納内容を修正することなしに、プログラムの修正を行うことができるようにした技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平４−２３０５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、命令レジスタからの命令アドレスと修正すべきプログラムのアドレス（バッチアドレス）とをコンパレータで比較し、命令アドレスがバッチアドレスと一致する場合には、対応するバッチプログラムアドレスに格納されているバッチプログラムを実行するというものである。
【０００５】
本発明は、プログラムメモリを改良し、プログラムを格納した読出し専用メモリ領域の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができるようにした半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、ＣＰＵと、各アドレス領域に、命令が格納された読出し専用メモリセル領域を有するプログラムメモリを備える半導体集積回路であって、プログラムメモリは、所定のアドレス領域に、修正命令を実行するための分岐を促す内容が格納される書込み可能メモリセル領域を有し、ＣＰＵは、書込み可能メモリセル領域が促す分岐を読出し専用メモリセル領域の命令に優先して実行する、というものである。
【発明の効果】
【０００７】
本発明によれば、分岐先となる書込み可能メモリに修正命令を格納しておくことで、プログラムを格納した読出し専用メモリ領域の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【発明を実施するための最良の形態】
【０００８】
（第１実施形態）
図１は本発明の第１実施形態の要部の概念図である。本発明の第１実施形態は、ＣＰＵ１と、内部バス２と、アプリケーションメモリ３と、ジャンプテーブル４と、プログラムメモリ５を有している。
【０００９】
アプリケーションメモリ３は、ユーザーアプリケーションを格納するためのメモリであり、書込み可能メモリ、例えば、ＲＡＭ（random access memory）で構成される。本発明の第１実施形態では、アプリケーションメモリ３のアドレス領域の一部分を修正命令格納領域６とし、修正命令格納領域６に修正された命令が格納される。
【００１０】
ジャンプテーブル４は、アプリケーションメモリ３の修正命令格納領域６への分岐を可能とするものであり、書込み可能メモリ、例えば、ＲＡＭで構成される。本発明の第１実施形態では、ジャンプテーブル４の各欄（メモリセル領域）には、分岐命令及び修正命令格納領域６内の分岐先アドレスが格納される。
【００１１】
プログラムメモリ５は、命令及びジャンプテーブル４への分岐を促す内容を格納するものであり、読出し専用メモリ領域、例えば、マスクＲＯＭ領域７と、読出し可能メモリ領域、例えば、ＲＡＭ領域８を有している。本発明の第１実施形態では、プログラムメモリ５の各アドレス領域５i（ｉ＝１、２、・・・、ｍ）は、複数ビットのマスクＲＯＭセル領域７iと複数ビットのＲＡＭセル領域８iを有している。
【００１２】
マスクＲＯＭセル領域７iには、命令が格納される。ＲＡＭセル領域８iには、ジャンプテーブル４に分岐しない場合には、０が書き込まれ、ジャンプテーブル４に分岐する場合には、ジャンプテーブル４の欄番号（何番目の欄であるかを示す番号）が格納される。なお、ジャンプテーブル４の欄の数は、最高で、プログラムメモリ５のアドレス領域の数と同数とすることができる。
【００１３】
本発明の第１実施形態では、ＣＰＵ１のプログラムカウンタから出力される命令アドレスによってプログラムメモリ５のアドレス領域５iがアクセスされると、マスクＲＯＭセル領域７iの格納内容及びＲＡＭセル領域８iの格納内容がＣＰＵ１に取り込まれる。
【００１４】
ＣＰＵ１は、マスクＲＯＭセル領域７iの格納内容をデコードするデコーダ９と、ＲＡＭセル領域８iの格納内容をデコードするデコーダ１０を有しており、ＲＡＭセル領域８iの格納内容が０の場合には、デコーダ９のデコード結果を有効とし、マスクＲＯＭセル領域７iに格納された命令を実行する。
【００１５】
これに対して、ＲＡＭセル領域８iの格納内容がジャンプテーブル４の欄番号である場合には、デコーダ９のデコード結果を無効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行せずに、ＲＡＭセル領域８iに格納されていた欄番号のジャンプテーブル４の欄に分岐する。
【００１６】
したがって、例えば、ＣＰＵ１がプログラムメモリ５のアドレス領域５pにアクセスした場合において、ＲＡＭセル領域８pにジャンプテーブル４のＮ番目の欄を示す欄番号が格納されていた場合には、ＣＰＵ１は、マスクＲＯＭセル領域７pに格納されていた命令を実行せず、ジャンプテーブル４のＮ番目の欄にアクセスすることになる。
【００１７】
そして、ＣＰＵ１は、ジャンプテーブル４のＮ番目の欄に格納されている分岐命令及び分岐先アドレスに従い、アプリケーションメモリ３の修正命令格納領域６内の分岐先に分岐し、この分岐先に格納されている修正された命令を実行し、再び、プログラムメモリ５へのアクセスに処理を戻すことになる。
【００１８】
したがって、本発明の第１実施形態によれば、プログラムの修正を必要とする場合においても、プログラムを格納したマスクＲＯＭ領域７の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【００１９】
（第２実施形態）
図２は本発明の第２実施形態の要部の概念図である。本発明の第２実施形態は、本発明の第１実施形態が備えるプログラムメモリ５の代わりに、プログラムメモリ５とは構成の異なるプログラムメモリ１１を設け、その他については、本発明の第１実施形態と略同様に構成したものである。
【００２０】
プログラムメモリ１１は、プログラムメモリ５が備えるＲＡＭ領域８の代わりに、ＲＡＭ領域８とは構成の異なるＲＡＭ領域１２を設け、その他については、プログラムメモリ５と略同様に構成したものである。ＲＡＭ領域１２は、一定間隔のアドレス領域にＲＡＭセル領域１２iを設けている。但し、本発明の第１実施形態では、ＲＡＭセル領域１２iのｉは、１〜ｍのうち、一定間隔の数のみが有効である。
【００２１】
したがって、本発明の第２実施形態では、プログラムメモリ１１のアドレス領域１１iには、マスクＲＯＭセル領域７iとＲＡＭセル領域１２iを有するものと、マスクＲＯＭセル領域７iのみを有するものとが存在することになる。ＲＡＭセル領域１２iには、ジャンプテーブル４に分岐しない場合には０が書き込まれ、ジャンプテーブル４に分岐する場合にはジャンプテーブル４の欄番号が格納される。
【００２２】
本発明の第２実施形態では、ＣＰＵ１は、マスクＲＯＭセル領域７iのみを有するアドレス領域１１iにアクセスした場合には、マスクＲＯＭセル領域７iに格納されていた命令を取り込み、これを実行する。
【００２３】
これに対して、マスクＲＯＭセル領域７iとＲＡＭセル領域１２iを有するアドレス領域１１iにアクセスした場合には、ＣＰＵ１は、マスクＲＯＭセル領域７iの格納内容及びＲＡＭセル領域１２iの格納内容を取り込み、デコーダ９、１０でそれぞれデコードする。
【００２４】
そして、ＲＡＭセル領域１２iの格納内容が０の場合には、デコーダ９のデコード結果を有効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行する。これに対して、ＲＡＭセル領域１２iの格納内容がジャンプテーブル４の欄番号である場合には、デコーダ９のデコード結果を無効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行せず、ＲＡＭセル領域１２iに格納されていた欄番号のジャンプテーブル４の欄に分岐する。
【００２５】
したがって、例えば、ＣＰＵ１がプログラムメモリ１１のアドレス領域１１pにアクセスした場合において、ＲＡＭセル領域１２pにジャンプテーブル４のＮ番目の欄を示す欄番号が格納されていた場合には、ＣＰＵ１は、マスクＲＯＭセル領域７pに格納されていた命令を実行せず、ジャンプテーブル４のＮ番目の欄にアクセスすることになる。
【００２６】
そして、ＣＰＵ１は、ジャンプテーブル４のＮ番目の欄に格納されている分岐命令及び分岐先アドレスに従い、アプリケーションメモリ３の修正命令格納領域６内の分岐先に分岐し、この分岐先に格納されている修正された命令を実行し、再び、プログラムメモリ１１へのアクセスに処理を戻すことになる。
【００２７】
したがって、本発明の第２実施形態によれば、プログラムの修正を必要とする場合においても、プログラムを格納したマスクＲＯＭ領域７の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【００２８】
なお、例えば、アドレス領域１１PのマスクＲＯＭセル領域７Pの命令を修正する場合には、マスクＲＯＭセル領域７Pの命令を修正した命令を修正命令格納領域６に格納すれば足りるが、例えば、アドレス領域１１P+2のマスクＲＯＭセル領域７P+2の命令を修正する場合には、マスクＲＯＭセル領域７P、７P+1の命令と、マスクＲＯＭセル領域７P+2の命令を修正した命令とを修正命令格納領域６に格納しておく必要がある。
【００２９】
（第３実施形態）
図３は本発明の第３実施形態の要部の概念図である。本発明の第３実施形態は、本発明の第１実施形態が備えるプログラムメモリ５の代わりに、プログラムメモリ５とは構成の異なるプログラムメモリ１３を設け、その他については、本発明の第１実施形態と略同様に構成したものである。
【００３０】
プログラムメモリ１３は、プログラムメモリ５が備えるＲＡＭ領域８の代わりに、ＲＡＭ領域８とは構成の異なるＲＡＭ領域１４を設け、その他については、プログラムメモリ５と略同様に構成したものである。ＲＡＭ領域１４は、一定間隔のアドレス領域にＲＡＭセル領域１４iを設けている。但し、本発明の第３実施形態では、ＲＡＭセル領域１４iのｉは、１〜ｍのうち、一定間隔の数のみが有効である。
【００３１】
したがって、本発明の第３実施形態では、プログラムメモリ１３のアドレス領域１３iには、マスクＲＯＭセル領域７iとＲＡＭセル領域１４iを有するものと、マスクＲＯＭセル領域７iのみを有するものとが存在することになる。
【００３２】
各ＲＡＭセル領域１４iは、１ビットからなるＳＷ（スイッチ）フィールド１５と、複数ビットからなるオフセット・フィールド１６と、複数ビットからなる分岐先フィールド１７を有している。ＳＷフィールド１５は、ジャンプテーブル４に分岐するか否かの情報を格納する部分であり、分岐しない場合には０が格納され、分岐する場合には１が格納される。
【００３３】
オフセット・フィールド１６は、ＲＡＭ領域及びマスクＲＯＭ領域を有するアドレス領域から、アドレス上、次のＲＡＭ領域及びマスクＲＯＭ領域を有するアドレス領域までの間の何番目のアドレス領域が分岐対象のアドレスかの情報を格納する部分である。分岐先フィールド１７は、ジャンプテーブル４内の分岐先の欄番号が格納される部分である。
【００３４】
本発明の第３実施形態では、ＣＰＵ１は、マスクＲＯＭセル領域７iのみを有するアドレス領域１３iにアクセスした場合には、マスクＲＯＭセル領域７iに格納されていた命令を取り込み、これを実行する。
【００３５】
これに対して、マスクＲＯＭセル領域７iとＲＡＭセル領域１４iを有するアドレス領域１３iにアクセスした場合には、マスクＲＯＭセル領域７iの格納内容及びＲＡＭセル領域１４iの格納内容をＣＰＵ１に取り込み、デコーダ９、１０でそれぞれデコードする。
【００３６】
そして、ＣＰＵ１は、ＲＡＭセル領域１４iのＳＷフィールド１５の格納内容が０の場合には、デコーダ９のデコード結果を有効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行する。
【００３７】
これに対して、ＲＡＭセル領域１４iのＳＷフィールド１５の格納内容が１の場合には、オフセット・フィールド１６に格納されているアドレスがアクセスされた時に、分岐先フィールド１７に格納されているジャンプテーブル４の欄番号のメモリセル領域に分岐する。
【００３８】
ここで、例えば、ＣＰＵ１がプログラムメモリ１３のアドレス領域１３pにアクセスした場合において、ＲＡＭセル領域１４pのＳＷフィールド１５に１が格納され、オフセット・フィールド１６にアドレス領域７p+2を示す値が格納され、分岐先フィールド１７にジャンプテーブル４のＮ番目の欄を示す欄番号が格納されていたとする。
【００３９】
この場合には、ＣＰＵ１は、マスクＲＯＭセル領域７pに格納されていた命令及びマスクＲＯＭセル領域７p+1に格納されていた命令を順に実行し、その後、マスクＲＯＭセル領域７p+2に格納された命令を実行せず、ジャンプテーブル４のＮ番目の欄にアクセスする。
【００４０】
なお、アドレス領域１３p+2をアクセスしたかどうかは、アドレス領域１３pの番号を１、アドレス領域１３p+1の番号を２、アドレス領域１３p+2の番号を３とし、アドレス領域１３pへのアクセスを初期値１として、アドレス領域へのアクセスをカウンタでカウントすることにより知ることができる。図３で［１］、［２］、［３］はカウンタのカウント値を示している。
【００４１】
そして、ＣＰＵ１は、ジャンプテーブル４のＮ番目の欄に格納されている分岐命令及び分岐先アドレスに従い、アプリケーションメモリ３のプログラム格納領域６内の分岐先に分岐し、この分岐先に格納されている修正された命令を実行し、再び、プログラムメモリ１３へのアクセスに処理を戻すことになる。
【００４２】
したがって、本発明の第３実施形態によれば、プログラムの修正を必要とする場合においても、プログラムを格納したマスクＲＯＭ領域７の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【００４３】
（第４実施形態）
図４は本発明の第４実施形態の要部の概念図である。本発明の第４実施形態においては、本発明の第１実施形態が備えるプログラムメモリ５の代わりに、プログラムメモリ５とは構成の異なるプログラムメモリ１８が設けられている。
【００４４】
プログラムメモリ１８は、プログラムメモリ５が備えるＲＡＭ領域８の代わりに、ＲＡＭ領域８とは構成の異なるＲＡＭ領域１９を設け、その他については、プログラムメモリ５と略同様に構成したものである。
【００４５】
ＲＡＭ領域１９は、プログラムメモリ１８の各アドレス領域１８iに１ビットからなるＲＡＭセル領域１９iを設けている。したがって、プログラムメモリ１８の各アドレス領域１８iは、複数ビットのマスクＲＯＭセル領域７iと１ビットのＲＡＭセル領域１９iを有している。
【００４６】
ＲＡＭセル領域１９iには、ジャンプテーブル４に分岐しない場合には０が書き込まれ、ジャンプテーブル４に分岐する場合には１が格納される。また、ジャンプテーブル４は、プログラムメモリ１８の各ＲＡＭセル領域１９iに対応する欄４iを設けている。その他については、本発明の第１実施形態と略同様に構成されている。
【００４７】
本発明の第４実施形態では、ＣＰＵ１のプログラムカウンタから出力される命令アドレスによってプログラムメモリ１８のアドレス領域１８iがアクセスされると、マスクＲＯＭセル領域７iの格納内容及びＲＡＭセル領域１９iの格納内容がＣＰＵ１に取り込まれ、デコーダ９、１０でそれぞれデコードされる。
【００４８】
そして、ＣＰＵ１は、ＲＡＭセル領域１９iの格納内容が０の場合には、デコーダ９のデコード結果を有効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行する。これに対して、ＲＡＭセル領域１９iの格納内容が１の場合には、デコーダ９のデコード結果を無効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行せず、ＲＡＭセル領域１９iに対応するジャンプテーブル４の欄４iに分岐する。
【００４９】
したがって、例えば、ＣＰＵ１がプログラムメモリ１８のアドレス領域１８pにアクセスした場合において、ＲＡＭセル領域１９pに１が格納されていた場合には、ＣＰＵ１は、マスクＲＯＭセル領域７pに格納されていた命令を実行せず、ジャンプテーブル４の欄４pにアクセスする。
【００５０】
そして、ＣＰＵ１は、ジャンプテーブル４の欄４pに格納されている分岐命令及び分岐先アドレスに従い、アプリケーションメモリ３の修正命令格納領域６内の分岐先に分岐し、この分岐先に格納にされている修正された命令を実行し、再び、プログラムメモリ１８へのアクセスに処理を戻すことになる。
【００５１】
したがって、本発明の第４実施形態によれば、プログラムの修正を必要とする場合においても、プログラムを格納したマスクＲＯＭ領域７の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【００５２】
（第５実施形態）
図５は本発明の第５実施形態の要部の概念図である。本発明の第５実施形態では、本発明の第１実施形態が備えるプログラムメモリ５の代わりに、プログラムメモリ５とは構成の異なるプログラムメモリ２０が設けられている。
【００５３】
プログラムメモリ２０は、プログラムメモリ５が備えるＲＡＭ領域８の代わりに、ＲＡＭ領域８とは構成の異なるＲＡＭ領域２１を設け、その他については、プログラムメモリ５と略同様に構成したものである。ＲＡＭ領域２１は、一定間隔のアドレス領域に１ビットからなるＲＡＭセル領域２１iを設けている。但し、本発明の第５実施形態では、ＲＡＭセル領域２１iのｉは、１〜ｍのうち、一定間隔の数のみが有効である。
【００５４】
したがって、プログラムメモリ２０のアドレス領域２０iには、マスクＲＯＭセル領域７iとＲＡＭセル領域２１iを有するものと、マスクＲＯＭセル領域７iのみを有するものとが存在することになる。
【００５５】
ＲＡＭセル領域２１iには、ジャンプテーブル４に分岐しない場合には０が書き込まれ、ジャンプテーブル４に分岐する場合には１が格納される。また、ジャンプテーブル４は、プログラムメモリ２０の各ＲＡＭセル領域２１iに対応する欄４iを設けている。その他については、本発明の第４実施形態と略同様に構成されている。
【００５６】
本発明の第５実施形態においては、ＣＰＵ１は、マスクＲＯＭセル領域７iのみを有するアドレス領域２０iにアクセスした場合には、マスクＲＯＭセル領域７iに格納されている命令を取り込み、これを実行する。
【００５７】
これに対して、ＣＰＵ１は、マスクＲＯＭセル領域７i及びＲＡＭセル領域２１iを有するアドレス領域２０iにアクセスした場合には、マスクＲＯＭセル領域７iの格納内容とＲＡＭセル領域２１iの格納内容を取り込み、デコーダ９、１０でそれぞれデコードする。
【００５８】
そして、ＣＰＵ１は、ＲＡＭセル領域２１iの格納内容が０の場合には、デコーダ９のデコード結果を有効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行する。これに対して、ＲＡＭセル領域２１iの格納内容が１の場合には、デコーダ９のデコード結果を無効とし、マスクＲＯＭセル領域７iに格納されていた命令を実行せず、ＲＡＭセル領域２１iに対応するジャンプテーブル４の欄４iに分岐する。
【００５９】
したがって、例えば、ＣＰＵ１がプログラムメモリ２０のアドレス領域２０pにアクセスした場合において、ＲＡＭセル領域２１pに１が格納されていた場合には、ＣＰＵ１は、マスクＲＯＭセル領域７pに格納されていた命令は実行せず、ジャンプテーブル４の対応する欄４pにアクセスする。
【００６０】
そして、ＣＰＵ１は、ジャンプテーブル４の欄４pに格納されている分岐命令及び分岐先アドレスに従い、アプリケーションメモリ３の修正命令格納領域６内の分岐先に分岐し、この分岐先に格納されている修正された命令を実行し、再び、プログラムメモリ２０へのアクセスに処理を戻すことになる。
【００６１】
したがって、本発明の第５実施形態によれば、プログラムの修正を必要とする場合においても、プログラムを格納したマスクＲＯＭ領域７の変更を行う必要がなく、かつ、命令レジスタからの命令アドレスの中から修正すべき命令のアドレスを検出する機構を設けることなく、プログラムの修正を容易に行うことができる。
【００６２】
なお、例えば、アドレス領域２０PのマスクＲＯＭセル領域７Pの命令を修正する場合には、マスクＲＯＭセル領域７Pの命令を修正した命令を修正命令格納領域６に格納すれば足りるが、例えば、アドレス領域２０P+2のマスクＲＯＭセル領域７P+2の命令を修正する場合には、マスクＲＯＭセル領域７P、７P+1の命令と、マスクＲＯＭセル領域７P+2の命令を修正した命令とを修正命令格納領域６に格納しておく必要がある。
【図面の簡単な説明】
【００６３】
【図１】本発明の第１実施形態の要部の概念図である。
【図２】本発明の第２実施形態の要部の概念図である。
【図３】本発明の第３実施形態の要部の概念図である。
【図４】本発明の第４実施形態の要部の概念図である。
【図５】本発明の第５実施形態の要部の概念図である。
【符号の説明】
【００６４】
１…ＣＰＵ
２…内部バス
３…アプリケーションメモリ
４…ジャンプテーブル
５、１１、１３、１８、２０…プログラムメモリ
６…修正命令格納領域
７…マスクＲＯＭ領域
８、１２、１４、１９、２１…ＲＡＭ領域
９、１０…デコーダ
１５…ＳＷ（スイッチ）フィールド
１６…オフセット・フィールド
１７…分岐先フィールド
【図１】
2005309647.tif 000003
【図２】
2005309647.tif 000004
【図３】
2005309647.tif 000005
【図４】
2005309647.tif 000006
【図５】
2005309647.tif 000007