JPH07325711A - Romプログラム変更装置 - Google Patents

Romプログラム変更装置

Info

Publication number
JPH07325711A
JPH07325711A JP6118250A JP11825094A JPH07325711A JP H07325711 A JPH07325711 A JP H07325711A JP 6118250 A JP6118250 A JP 6118250A JP 11825094 A JP11825094 A JP 11825094A JP H07325711 A JPH07325711 A JP H07325711A
Authority
JP
Japan
Prior art keywords
program
address
rom
change
start address
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.)
Granted
Application number
JP6118250A
Other languages
English (en)
Other versions
JP3563768B2 (ja
Inventor
Osamu Hosoya
理 細谷
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11825094A priority Critical patent/JP3563768B2/ja
Priority to US08/452,612 priority patent/US5701506A/en
Priority to KR1019950014288A priority patent/KR0184346B1/ko
Publication of JPH07325711A publication Critical patent/JPH07325711A/ja
Application granted granted Critical
Publication of JP3563768B2 publication Critical patent/JP3563768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Abstract

(57)【要約】 【目的】 ROMプログラム中にバグが生じた場合に、
このバグの箇所を変更してCPUにプログラムを正常に
実行させるようにしたものである。 【構成】 変更アドレスレジスタ6a、6b、6cにそ
れぞれROM2のバグ箇所のアドレス(変更アドレス)
を格納し、一致回路にてアドレスバス4上のアドレスと
比較する。命令コード出力回路7と開始アドレス出力回
路8a、8b、8cからデータバスに、ジャンプ命令コ
ードと一致した変更アドレスに対応した開始アドレスを
出力する。CPU1はROMプログラムに代えてこれら
のデータよりRAM3中の開始アドレスにある修正プロ
グラムを実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はマイクロコンピュータ
等に内臓されたROMのプログラムにバグが生じた場合
において、ROMのデータを修正せずに正常にプログラ
ムを実行するROMプログラム変更装置に関するもので
ある。
【0002】
【従来の技術】図10は従来のマイクロコンピュータの
構成を示すブロック図である。図において、1はプログ
ラムの実行を行うCPU、2はプログラムが格納された
マスクROM(Raed Only Memory)、3は演算データ
等が格納されたRAM(RandamAccess Memory)、4は
アドレスバス、5はデータバスである。
【0003】上記構成のマイクロコンピュータにおい
て、マスクROM2内のプログラムは集積回路の製造工
程時に設定され、CPU1はこのマスクROM2のデー
タにアクセスし、命令を読み出し、それに従ってRAM
3から演算データを読み、演算処理等の実行を繰り返
す。通常、このようなマイクロコンピュータはマスクR
OM2とともに数十工程からなるウエハプロセスを経て
ワンチップの形で製造される。
【0004】
【発明が解決しようとする課題】上記のようにマスクR
OM2のプログラムはその製造工程においてすでに設定
されるので、このプログラムにバグ(欠陥)の発生した
ことが製造後に判明した場合、すなわちプログラムを修
正する必要がある場合、もう一度マイクロコンピュータ
を製造し直してマスクROM全体を修正、変更を行わな
ければならず、生産性が大幅に低下するという問題点が
生じていた。
【0005】この発明は上記の問題点を解決するために
なされたもので、製造後にROMのプログラムに修正の
必要が生じた場合、製造をやり直すことなくプログラム
の変更ができ、また複数のアドレスにバグが存在した場
合も対応できるマイクロコンピュータのROMプログラ
ム変更装置を得ることを目的とする。
【0006】
【課題を解決するための手段】この発明による請求項1
のROMプログラム変更装置は、ROMプログラムの第
一の修正部分を変更して実行される第一の修正プログラ
ムと第二の修正部分を変更して実行される第二の修正プ
ログラムとが格納されたRAM、この第一と第二の修正
部分の第一の変更アドレスと第二の変更アドレスが格納
された変更アドレスレジスタ、アドレスバス上のアドレ
スと、この上第一の変更アドレスと第二の変更アドレス
を比較し、いずれかが一致した場合に一致信号を出力す
る一致回路(アドレスと一致した方の変更アドレスを一
致変更アドレスと称す)、第一の修正プログラムの開始
アドレスと第二の修正プログラムの開始アドレスが格納
された開始アドレス格納手段、ROMプログラムからR
AM内のプログラムへの実行変更を命令するジャンプ命
令コードが格納されたコード格納手段、上記の一致信号
を入力することにより、コード格納手段と開始アドレス
格納手段をデータバスに接続し、ジャンプ命令コード
と、第一および第二の修正プログラムのうち一致変更ア
ドレスの修正部分と変更する修正プログラムの開始アド
レスをデータバスに出力する接続手段を備え、CPUは
データバスに出力されたジャンプ命令コードと開始アド
レスを読み取ることにより、ROMから修正プログラム
へ実行を変更するようにしたものである。
【0007】また、請求項2のROMプログラム変更装
置は、開始アドレス格納手段は、格納される開始アドレ
スをCPUにより読み書き可能なレジスタで構成するよ
うにしたものである。
【0008】また、請求項3のROMプログラム変更装
置は、第一の修正部分を変更して実行される第一の修正
プログラムと第二の修正部分を変更して実行される第二
の修正プログラム、さらにフラグリード命令コードが格
納されたRAM、第一と第二の修正部分の第一の変更ア
ドレスと第二の変更アドレスが格納された変更アドレス
レジスタ、アドレスバス上のアドレスと、第一の変更ア
ドレスおよび第二の変更アドレスを比較し、いずれかが
一致した場合に一致信号を出力する一致回路(アドレス
と一致した方の変更アドレスを一致変更アドレスと称
す)、上記の一致信号により一致変更アドレスを決定す
るフラグを形成する要因フラグ、RAM内に格納された
フラグリード命令コードの開始アドレスが格納された開
始アドレス格納手段、ROMプログラムからRAM内の
プログラムへの実行変更を命令するジャンプ命令コード
が格納されたコード格納手段、一致信号を入力すること
により、コード格納手段と開始アドレス格納手段をデー
タバスに接続し、ジャンプ命令コード及び開始アドレス
をデータバスに出力するようにした接続手段を備え、C
PUはデータバスに出力されたジャンプ命令コードと開
始アドレスを読み取ることにより、フラグリード命令コ
ードに従い要因フラグのフラグを読み、このフラグによ
り一致変更アドレスの修正部分と変更する修正プログラ
ムを実行するようにしたものである。
【0009】また、請求項4のROMプログラム変更装
置は、開始アドレス格納手段およびコード格納手段はR
OMのメモリにより構成するようにしたものである。
【0010】また、請求項5のROMプログラム変更装
置は、CPUがROM内のプログラムから修正プログラ
ムへの実行の変更を行うことを禁止・許可を切り替る許
可フラグを備えたものである。
【0011】また、請求項6のROMプログラム変更装
置は、許可フラグは、CPUにより読み書き可能なメモ
リで構成するようにしたものである。
【0012】
【作用】この発明の請求項1のROMプログラム変更装
置は、アドレス上のアドレスとROMの変更アドレスと
が一致した場合、一致回路が一致信号を出力し、接続制
御手段はその一致信号により、コード格納手段と開始ア
ドレス格納手段をデータバスと接続して、各格納手段か
らジャンプ命令コード、開始アドレスをデータバスに出
力し、CPUがこれらのデータからROMプログラムの
バグ箇所からRAM内に格納された修正プログラムにジ
ャンプして実行するようにしたので、ROMプログラム
のバグの実行が回避され、正常なプログラム実行がなさ
れる。またROMプログラムに複数のバグが生じたで
も、これらのバグの修正箇所に対応した修正プログラム
を実行するようにしたので、バグ箇所に応じて柔軟にプ
ログラム変更される。
【0013】この発明の請求項2のROMプログラム変
更装置は、開始アドレス格納手段は格納される開始アド
レスをCPUにより読み書き可能なレジスタで構成した
ので、RAM上に修正プログラムのアドレスを任意に設
定でき、RAM構成が柔軟になる。
【0014】この発明の請求項3のROMプログラム変
更装置は、一致信号により一致変更アドレスを決定する
フラグを形成する要因フラグ、RAMに格納されたフラ
グリード命令コードのアドレスを格納する開始アドレス
格納手段を備え、CPUはデータバスに出力されたジャ
ンプ命令コードと開始アドレスから、RAMのフラグリ
ード命令コードに従い要因フラグのフラグを読み、この
フラグにより一致変更アドレスの修正部分と変更する修
正プログラムまで分岐して実行するようにしたので、開
始アドレス格納手段における開始アドレスの設定が唯一
で済み、その構成が簡単になる。
【0015】この発明の請求項4のROMプログラム変
更装置は、開始アドレス格納手段およびコード格納手段
はROMのメモリにより構成するようにしたので、装置
の構成がコンパクトになる。
【0016】この発明の請求項5、6のROMプログラ
ム変更装置は、CPUがROM内のプログラムから修正
プログラムへの実行の変更を行うことを禁止・許可を切
り替る許可フラグを設けたので、ROMにバグが存在し
ないときはそのままROMプログラムを実行する。
【0017】
【実施例】
実施例1.以下、この発明の一実施例を示す。図1は本
実施例に示すROMプログラム変更装置であり、1〜5
は図10と同一の符号を付し、6a、6b、6cはRO
M2内のバグが存在するプログラムのアドレス、すなわ
ち修正を要するプログラムのアドレス(以下、変更アド
レスを称す)を格納する変更アドレスレジスタで、CP
U1によりアドレスの読み書きが可能なメモリからな
る。7はジャンプ命令の命令コードが格納された命令コ
ード出力回路で、通常のプルアップ・プルダウントラン
ジスタの組み合わせで構成されている。8a、8b、8
cはジャンプ命令のオペランドで、ROM2のプログラ
ムの修正すべき部分からジャンプして実行する修正プロ
グラムの開始アドレスを格納した開始アドレス出力回路
で、それぞれ変更アドレスレジスタ6a、6b、6cの
アドレスのバグ部分に対応した修正プログラムの開始ア
ドレスが格納されている。なおこの修正プログラムはR
AM3に収納され、CPU1によりその読み書きが可能
である。9a、9b、9cはそれぞれ変更アドレスレジ
スタ6a、6b、6cの各変更アドレスとアドレスバス
4上のアドレスとを、CPU1の出力する出力フェッチ
信号のタイミングで比較し、一致したときに一致信号を
出力する一致回路、10は一致回路9a、9b、9cの
各一致信号に対応して、データバス5とROM2の接続
と、及びデータバス5と命令コード出力回路7、開始ア
ドレス出力回路8の接続との切り替え制御する接続制御
手段、11はCPUによってリード・ライトが可能なメ
モリからなる3ビットの許可フラグである。許可フラグ
11は1ビットずつ一致回路9a、9b、9cに接続
し、この許可フラグの出力が「0」のときは各一致回路
はディスイネーブル状態で、いかなる場合も一致信号を
出力させない。一方「1」のときは一致回路はイネーブ
ル状態で、一致信号の出力を許可する。12は入力ポー
ト、13は入力ポート12を入力端子にもつシリアル通
信回路であり、入力されたシリアルデータはシリアル通
信回路13に蓄えられ、CPU1によりリード可能であ
る。
【0018】次に、上記構成のROMプログラム変更装
置の動作について説明する。図2(a)は本実施例のマ
スクROM2内のプログラム構成図である。図の斜線部
分にバグが生じたとする。すなわちアドレスX1番地と
アドレスY1番地の間にバグ1、アドレスX2番地とア
ドレスY2番地の間にバグ2、アドレスX3番地とアド
レスY3番地の間にバグ3がそれぞれ存在するとする。
【0019】図1において、マイクロコンピュータは、
リセット解除後に外部メモリ(例えば、EEPROMや
EPROM)から入力ポート12、シリアル通信回路1
3を介して以下のデータをCPU1によって各メモリに
ライトする。 (1)ROM修正の要否を示すビットを許可フラグ11
に書き込む。 (2)ROMプログラムのバグ1が存在する先頭アドレ
スX1を変更アドレスレジスタ6aに書き込む。同様に
して、バグ2の先頭アドレスX2を変更アドレスレジス
タ6b、バグ3の先頭アドレスX3を変更アドレスレジ
スタ6cにそれぞれ書き込む。 (3)バグ1、2、3に対応する修正プログラム1、
2、3をRAM3に書き込む。
【0020】図2(b)は上記(3)で修正プログラム
1、2、3が書き込まれたRAM3の構成図を示す。図
のように修正プログラム1はRAM3のアドレスZ1番
地に格納され、同様に修正プログラム2、3はそれぞれ
Z2番地、Z3番地に格納される。
【0021】このようにして各メモリにデータがセット
され、許可フラグ11よりすべての一致回路に「1」が
入力された場合の装置動作を図3のタイムチャートを用
いて説明する。図3のアドレスバス4上のアドレスはC
PU1より出力され、その各アドレスにあるデータがデ
ータバス5を介してCPU1により読み取られ、実行さ
れる。本実施例ではCPU1はその動作サイクルに対し
て3サイクルを一単位として命令を各メモリより読みと
り、実行する。例えば図3でアドレスバス4上のアドレ
スX1番地、X1+1番地、X1+2番地にあるプログ
ラムデータが一つの命令としてメモリに記録され、CP
U1はCPU命令フェッチ信号aのタイミングでこの命
令を取り出し、実行する。
【0022】CPU1内のプログラムカウンタ(図示せ
ず)により出力されるアドレスに従い、CPU1はRO
M2のプログラムのデータを順次読み取り、実行する。
一致回路9a、9b、9cは、図3のようにCPU1の
出力する命令フェッチ信号aのタイミングで常にアドレ
スバス4のアドレスと変更アドレスレジスタ6a、6
b、6cに格納された変更アドレスX1、X2、X3と
それぞれ比較する。図の命令フェッチ信号aの信号1で
アドレスX1が変更アドレスレジスタ6aの変更アドレ
スと一致するので,一致回路9aは信号1と同期して
「1」の一致信号を次の命令サイクルである信号2まで
出力する。それ以外の場合は「0」を出力する。一致回
路9b、9cもそれぞれ同一の動作を行い、図3のタイ
ミングの間には「0」を出力する。
【0023】一致回路9a、9b、9cの各出力は3入
力OR回路14に入力され、このOR回路の出力に応じ
て接続制御手段10を制御する。出力が「0」のときは
ROM2とデータバス5を接続し、プログラムデータを
出力する。上記のように一致回路9aの一致信号「1」
によりOR回路14は「1」を出力し、このときROM
2はデータバス5と遮断され、アドレスX1以降のRO
Mプログラムはデータバス5には出力されない。一方、
命令コード出力回路7がデータバス5と接続される。同
時に、一致回路9a、9b、9cの各出力はそれぞれ開
始アドレス出力回路8a、8b、8cに入力され、一致
信号が入力された開始アドレス出力回路が選択されて
(この場合8a)データバス5と接続し、図3のように
命令コード出力回路7からジャンプ命令オペコード1、
開始アドレス出力回路8aから開始アドレスZ1が、遮
断されたROMプログラムデータの次にデータバス5へ
順次出力される。
【0024】CPU1がこのジャンプ命令オペコード1
とオペランドであるZ1をフェッチすると、ジャンプ命
令のシーケンスを実行し、次の命令サイクルすなわち図
3の命令フェッチ信号aの信号2でアドレスバス4上に
ジャンプ先のアドレスであるRAM3のZ1番地が出力
される。以降、図3のようにRAM3上の修正プログラ
ム1を指定するアドレスZ1〜W1が順次出力され、こ
の修正プログラム1のデータがRAM3よりデータバス
5に出力され、CPU1に取り込まれ、実行される。
【0025】図2(b)のように修正プログラム1の後
には、W1番地にジャンプ命令オペコード2、W1+1
番地にROMのバグ1の終了アドレスであるY1番地が
記録され、図3の命令フェッチ信号の信号3で出力され
たアドレスバス4上のアドレスW1、W1+1に従い、
RAM3はデータバス5に修正プログラム1の後にジャ
ンプ命令オペコード2と、オペランドY1を出力する。
CPU1はこのジャンプ命令オペコード2により、前述
と同様にジャンプ命令のシーケンスを実行し、次の命令
サイクルの信号4からジャンプ先であるアドレスY1を
アドレスバス4に出力する。アドレスY1に従い、図の
タイミングでROMのアドレスY1以降の正常プログラ
ムがデータバスに出力され、CPU1はこのROMプロ
グラムを実行する。
【0026】以上はROM2のプログラムのバグ1の箇
所のプログラム変更につぃて述べたが、バグ2、3の場
合もそれぞれに対応した変更アドレスレジスタ6b、6
c、開始アドレス出力回路8b、8c、一致回路9b、
9cが上記と同一の動作を行い、バグ2の代わりに修正
プログラム2、バグ3の代わりに修正プログラム3をそ
れぞれ実行する。
【0027】なお、許可フラグ11の一致回路への入力
が「0」のときは、一致回路はディスイネーブル状態
で、CPU1は常にROMプログラムを実行する。この
許可フラグ11はバグのない正常なROMプログラムが
製造された場合にプログラム実行時のRAMへのジャン
プ動作を禁止する役目を果たす。
【0028】以上の動作により、ROMのプログラムに
バグが存在した場合、マスクROMを製造し直す必要が
なく、RAM上で修正プログラムを記憶させ、実行する
ことにより、バグを修正することができるので、ROM
製造のコストを低減し、製造工期の短縮の効果がある。
また、ROM上の複数のバグが生じた場合でも、それぞ
れをRAM上のプログラムで修正可能となる効果があ
る。
【0029】図4は、ROM2上のプログラムに単一の
バグが生じた場合のROMプログラム変更装置の一例を
示すものである。符号は図1と同一で、それぞれ同じ機
能をもつ。図4に示すように、変更アドレスレジスタ
6、開始アドレス出力回路8、一致回路9を単一にし
て、さらに一致回路9からの一致信号を接続制御手段1
0に直接入力するように構成されている。開始アドレス
出力回路8は一致回路9の一致回路が入力されなくと
も、接続制御手段10により命令コード出力回路7と開
始アドレス出力回路8とがデータバス5に接続されたと
きに、図3のタイミングでジャンプ命令コードの次に開
始アドレスが出力されるように構成されている。その他
の各構成の動作は図1の場合と全く同一であり省略す
る。
【0030】実施例2.図5は本実施例の示すROMプ
ログラム変更装置である。15a、15b、15cはC
PU1によってライト可能なメモリで構成された開始ア
ドレスレジスタである。その他の符号は図1と同一であ
り、同様の機能を果たす。開始アドレスレジスタ15
a、15b、15cには、CPU1に従い、外部メモリ
より入力ポート12、シリアル通信回路13を介して開
始アドレスZ1、Z2、Z3が入力され、記録される。
さらにこれらはそれぞれ一致回路9a、9b、9cと接
続され、一致回路からの入力動作、および開始アドレス
の出力動作は図1と同様である。このように開始アドレ
ス出力回路をレジスタで構成することで、修正プログラ
ムをRAM上の任意のアドレスに設定しても、CPUに
よりその開始アドレスをライトすることでプログラム変
更動作に対応でき、従ってRAMメモリの有効利用が図
れる。
【0031】実施例3.図6は本実施例に示すROMプ
ログラム変更装置である。17はプログラムが格納され
たROMメモリ、18はROMメモリ17のアドレス領
域を指定する第一アドレスデコーダ、19はジャンプ命
令コードの格納されたROMメモリ、20a、20b、
20cは開始アドレスが格納されたROMメモリで、そ
れぞれ図1の開始アドレス出力回路8a、8b、8cの
開始アドレスを出力する。21はROMメモリ19、2
0a、20b、20cのアドレス領域を指定する第二ア
ドレスデコーダ、22はジャンプ命令コードおよび開始
アドレスのデータバス5への出力のタイミングを制御す
るタイミング制御回路であり、その他の符号は図1と同
一である。
【0032】次いで、動作について説明する。OR回路
14の出力が「0」のときは第一アドレスデコーダ18
がイネーブル状態で、一方、第二アドレスデコーダ18
がディスイネーブル状態になる。このときアドレスバス
4上のアドレスによって指定されるROMプログラムが
実行される。通常はこの状態にある。ROMプログラム
を変更する場合、プログラムのバグ箇所のアドレスに対
して、一致回路9a、9b、9cのうちいずれかが
「1」の一致信号を出力し、OR回路14は「1」を出
力する。このとき逆に第一アドレスデコーダ18がディ
スイネーブル状態、第二アドレスデコーダ18がイネー
ブル状態になる。また一致回路9a、9b、9cの出力
はタイミング制御回路22を介して、第二アドレスデコ
ーダに入力され、この入力と同時にジャンプ命令コード
と一致信号を出力した一致回路に対応した開始アドレス
をデータバス5に出力する。これらのデータがデータバ
ス5へ出力されるタイミングは、タイミング制御回路2
2が一致回路から第二アドレスデコーダ21への一致信
号の出力タイミングを制御ことにより図3と同一のタイ
ミングをとる。その他の動作は図1のものと同一である
ので説明を省略する。
【0033】以上のように、ジャンプ命令コード、開始
アドレスの生成を実行プログラムと同一のROMを用い
ておこなっているので、例えば図1のような命令コード
出力回路や開始アドレス出力回路のような回路をコンパ
クトに設計できる。
【0034】実施例4.図7は本実施例に示すROMプ
ログラム変更装置である。図において23は一致回路9
a、9b、9cが出力する各一致信号に従って3ビット
のフラグがセットされる要因フラグで、このフラグはC
PU1によってリード可能で、1ビット単位でクリア可
能なメモリで構成される。その他の符号は図1と同一で
ある。
【0035】図8は図7の装置におけるRAMの構成図
で、以下図8を用いて上記構成の装置の動作を説明す
る。一致回路9a、9b、9cの一致信号は要因フラグ
に入力される。フラグ23には、例えば一致回路9aか
ら一致信号が出力された場合「100」が書き込まれ
る。同時に一致信号は3入力OR回路14を介して接続
制御手段10に入力される。また開始アドレス8にはR
AM3上のアドレスZ0番地が格納されている。命令コ
ード出力回路7、開始アドレス出力回路8、接続制御手
段10の実施例1と同一の動作により、図3のタイミン
グでジャンプ命令コードと開始アドレスがデータバス5
に出力される。CPU1はジャンプ先であるRAM3の
Z0番地の要因フラグリードの命令を実行し、要因フラ
グ23にセットされた内容をリードする。この内容をリ
ードすることで、どの変更アドレスの一致によってジャ
ンプが発生したのか要因を判断し、この場合「100」
から変更アドレスのX1番地が一致したと判断する。図
8の要因フラグリード命令の次には順にZ1番地、Z2
番地、Z3番地に分岐する命令が設定されており、CP
U1はこれらの分岐命令を読むとともに上記の「10
0」の判断からアドレスZ1に分岐する命令のみを実行
し、命令フェッチ信号のタイミングでアドレスバス4上
にアドレスZ1を出力し、修正プログラム1を実行す
る。この修正プログラム1を実行し終わった後にROM
プログラムに戻る動作は実施例1と同一である。同じよ
うにして、バグ2、3に対して修正プログラム2、3を
実行する。そのジャンプ実行する際には、要因フラグは
上記の「100」をリセットして、それぞれ修正プログ
ラムを実行するためのフラグをセットする(例えば修正
プログラム2に対しては「010」、修正プログラム3
に対して「001」を一致信号の結果よりセットす
る)。
【0036】以上のように、この装置ではアドレス一致
の要因をソフトウェアで判断し、プログラム分岐する構
成としたので、開始アドレスを生成する回路を一つにす
ることができ、ハードウェアがシンプルになる。また、
RAM内のプログラムにより(ソフトウェアにより)分
岐先アドレスを任意に選択できるので、修正プログラム
を記録するRAMのフレキシビリティが向上する効果ガ
ある。
【0037】実施例5.上記実施例では許可フラグ11
を一致回路と接続し、一致回路の一致信号出力の禁止・
許可を切り替ていた。この許可フラグ11は図9のよう
に、OR回路14と接続制御手段10の間に許可フラグ
11aを設けてもよい。同様にCPU1によって外部よ
りROM修正の要否を示すビットを許可フラグ11aに
ライトする。例えば「0」が書き込まれたらOR回路1
4の出力信号いかんにかかわらず常にROM2をデータ
バス5に接続しておく「0」を出力し、「1」が書き込
まれたらOR回路14の出力をそのまま出力し、装置は
上記実施例のように修正プログラムへのジャンプ動作を
行う。
【0038】このように構成することにより、ROMか
らRAMへの修正プログラムへの実行変更を禁止・許可
の制御することができる。従ってROMにバグが存在し
ない場合はプログラム変更のジャンプを行わないように
システムを構成しなおす必要もなく、この1ビットのフ
ラグを設けるだけでプログラム変更の動作を禁止でき、
バグの存在する存在しないに応じて、装置の初期設定が
簡単になる。またこのプログラム変更の禁止・許可をソ
フトウェアで簡単に制御することができる。
【0039】
【発明の効果】以上、説明したように、この発明の請求
項1に係るROMプログラム変更装置によると、アドレ
ス上のアドレスとROMの変更アドレスとが一致した場
合、一致回路が一致信号を出力し、接続制御手段はその
一致信号により、コード格納手段と開始アドレス格納手
段をデータバスと接続し、CPUがジャンプ命令コー
ド、開始アドレスのデータを読み、ROMプログラムの
バグ箇所からRAM内に格納された修正プログラムにジ
ャンプして実行するようにしたので、ROMプログラム
のバグをRAMの修正プログラムに変更して実行でき、
ROMの製造し直すことなくなり、歩留りを向上するこ
とができるという効果を奏する。
【0040】また、この発明の請求項2に係るROMプ
ログラム変更装置によると、開始アドレス格納手段は格
納される開始アドレスをCPUにより読み書き可能なレ
ジスタで構成したので、上記に加えて、RAM上に修正
プログラムのアドレスを任意に設定でき、バグ修正のプ
ログラムがRAM上で柔軟に構成できるという効果を奏
する。
【0041】また、この発明の請求項3に係るROMプ
ログラム変更装置によると、一致信号により一致変更ア
ドレスを決定するフラグを形成する要因フラグ、RAM
に格納されたフラグリード命令コードのアドレスを格納
する開始アドレス格納手段を備え、CPUはデータバス
に出力されたジャンプ命令コードと開始アドレスを読み
取ることにより、RAMのフラグリード命令コードに従
い要因フラグのフラグを読み、このフラグによりRAM
内の一致変更アドレスの修正部分と変更する修正プログ
ラムを実行するようにしたので、複数バグがROMプロ
グラムに存在しても、容易にRAM内の修正プログラム
に変更でき、また開始アドレス格納手段においてRAM
上の唯一のアドレスを設定すればよく、開始アドレス格
納手段の構成が簡単にすることができるという効果を奏
する。
【0042】この発明の請求項4に係るROMプログラ
ム変更装置によると、開始アドレス格納手段およびコー
ド格納手段はROMのメモリにより構成するようにした
ので、装置をコンパクトに設計できるという効果を奏す
る。
【0043】この発明の請求項5に係るROMプログラ
ム変更装置によると、CPUがROM内のプログラムか
ら修正プログラムへの実行の変更を行うことを禁止・許
可を切り替る許可フラグを設けたので、ROMにバグが
存在しないときには禁止状態にして、ROMプログラム
からジャンプしないようにすることが可能になる。
【0044】この発明の請求項6に係るROMプログラ
ム変更装置によると、許可フラグはCPUにより読み書
き可能なメモリで構成するようにしたので、ROMプロ
グラムのバグの存在するしないに応じて、ジャンプの禁
止・許可の初期設定が容易になる。
【図面の簡単な説明】
【図1】 この発明の実施例1に示すROMプログラム
変更装置の構成図である。
【図2】 実施例1におけるROMおよびRAMの構成
図である。
【図3】 実施例1におけるアドレスおよびデータのタ
イミングチャート図である。
【図4】 実施例1における別のROMプログラム変更
装置の構成図である。
【図5】 この発明の実施例2に示すROMプログラム
変更装置の構成図である。
【図6】 この発明の実施例3に示すROMプログラム
変更装置の構成図である。
【図7】 この発明の実施例4に示すROMプログラム
変更装置の構成図である。
【図8】 実施例4におけるRAMの構成図である。
【図9】 この発明の実施例5に示すROMプログラム
変更装置の構成図である。
【図10】 従来技術によるROMプログラムを実行す
るマイクロコンピュータの構成図である。
【符号の説明】
1…CPU、2…ROM、3…RAM、4…アドレスバ
ス、5…データバス、6a、6b、6c…変更アドレス
レジスタ、7…命令コード出力回路、8a、8b、8c
…開始アドレス出力回路、9a、9b、9c…一致回
路、10…接続制御手段、11…許可フラグ、12…入
力ポート、13…シリアル通信回路、14…3入力OR
回路、15a、15b、15c…開始アドレスレジス
タ、22…タイミング制御回路、23…要因フラグ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの記録されたROM、上記プ
    ログラムを読み出して実行するCPU、アドレスバス、
    データバスを備えたマイクロコンピュータで、上記RO
    M内のプログラムの修正すべき部分が生じた場合にその
    修正部分からジャンプして修正プログラムを実行させる
    ROMプログラム変更装置において、上記プログラムの
    第一の修正部分を変更して実行される第一の修正プログ
    ラムと第二の修正部分を変更して実行される第二の修正
    プログラムとが格納されたRAM、上記第一と第二の修
    正部分のアドレスである第一の変更アドレスと第二の変
    更アドレスが格納された変更アドレスレジスタ、上記ア
    ドレスバス上のアドレスと、上記変更アドレスレジスタ
    の出力する第一の変更アドレスおよび第二の変更アドレ
    スを比較し、いずれかが一致した場合に一致信号を出力
    する一致回路(以下、第一と第二の変更アドレスで上記
    アドレスと一致した方の変更アドレスを一致変更アドレ
    スと称す)、上記RAM内に格納された第一の修正プロ
    グラムの開始アドレスおよび第二の修正プログラムの開
    始アドレスが格納された開始アドレス格納手段、上記プ
    ログラムから上記RAM内のプログラムへの実行変更を
    命令するジャンプ命令コードが格納されたコード格納手
    段、上記一致信号を入力することにより、上記コード格
    納手段と開始アドレス格納手段をデータバスに接続し、
    上記ジャンプ命令コードと、上記第一および第二の修正
    プログラムのうち上記一致変更アドレスの修正部分と変
    更する修正プログラム(一致修正プログラムと称す)の
    開始アドレスをデータバスに出力する接続手段を備え、
    上記CPUはデータバスに出力されたジャンプ命令コー
    ドと開始アドレスを読み取ることにより、上記ROMか
    ら一致修正プログラムへ実行を変更するようにしたこと
    を特徴とするROMプログラム変更装置。
  2. 【請求項2】 開始アドレス格納手段は、格納される開
    始アドレスをCPUにより読み書き可能なレジスタで構
    成するようにしたことを特徴とする請求項1記載のRO
    Mプログラム変更装置。
  3. 【請求項3】 プログラムの記録されたROM、上記プ
    ログラムを読み出して実行するCPU、アドレスバス、
    データバスを備えたマイクロコンピュータで、上記RO
    M内のプログラムの修正すべき部分が生じた場合にその
    修正部分からジャンプして修正プログラムを実行させる
    ROMプログラム変更装置において、上記プログラムの
    第一の修正部分を変更して実行される第一の修正プログ
    ラムと第二の修正部分を変更して実行される第二の修正
    プログラム、さらにフラグリード命令コードが格納され
    たRAM、上記第一と第二の修正部分のアドレスである
    第一の変更アドレスと第二の変更アドレスが格納された
    変更アドレスレジスタ、上記アドレスバス上のアドレス
    と、上記変更アドレスレジスタの出力する第一の変更ア
    ドレスおよび第二の変更アドレスを比較し、いずれかが
    一致した場合に一致信号を出力する一致回路(以下、第
    一と第二の変更アドレスで上記アドレスと一致した方の
    変更アドレスを一致変更アドレスと称す)、上記一致信
    号により上記一致変更アドレスを決定するフラグを形成
    する要因フラグ、上記RAM内に格納されたフラグリー
    ド命令コードの開始アドレスが格納された開始アドレス
    格納手段、上記プログラムから上記RAM内のプログラ
    ムへの実行変更を命令するジャンプ命令コードが格納さ
    れたコード格納手段、上記一致信号を入力することによ
    り、上記コード格納手段と開始アドレス格納手段をデー
    タバスに接続し、上記ジャンプ命令コード及び開始アド
    レスをデータバスに出力するようにした接続手段を備
    え、上記CPUはデータバスに出力されたジャンプ命令
    コードと開始アドレスを読み取ることにより、上記RA
    Mのフラグリード命令コードに従い上記要因フラグのフ
    ラグを読み、このフラグにより上記一致変更アドレスの
    修正部分と変更するRAM内の修正プログラムを実行す
    るようにしたことを特徴とするROMプログラム変更装
    置。
  4. 【請求項4】 開始アドレス格納手段およびコード格納
    手段はROMのメモリにより構成するようにしたことを
    特徴とする請求項1もしくは請求項3記載のROMプロ
    グラム変更装置。
  5. 【請求項5】 CPUがROM内のプログラムから修正
    プログラムへの実行の変更を行うことを禁止・許可を切
    り替る許可フラグを備えたことを特徴とする請求項1な
    いし請求項4のいずれか1項記載のROMプログラム変
    更装置。
  6. 【請求項6】 許可フラグは、CPUにより読み書き可
    能なメモリで構成するようにしたことを特徴とする請求
    項5記載のROMプログラム変更装置。
JP11825094A 1994-05-31 1994-05-31 Romプログラム変更装置 Expired - Fee Related JP3563768B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP11825094A JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置
US08/452,612 US5701506A (en) 1994-05-31 1995-05-25 Microcomputer having ROM program which can be altered
KR1019950014288A KR0184346B1 (ko) 1994-05-31 1995-05-31 롬 프로그램 변경기능을 가진 마이크로컴퓨터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11825094A JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置

Publications (2)

Publication Number Publication Date
JPH07325711A true JPH07325711A (ja) 1995-12-12
JP3563768B2 JP3563768B2 (ja) 2004-09-08

Family

ID=14731962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11825094A Expired - Fee Related JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置

Country Status (3)

Country Link
US (1) US5701506A (ja)
JP (1) JP3563768B2 (ja)
KR (1) KR0184346B1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997008618A1 (en) * 1995-08-29 1997-03-06 International Business Machines Corporation Data processing apparatus and method for correcting faulty microcode
JP2867965B2 (ja) * 1996-06-28 1999-03-10 日本電気株式会社 データ処理装置及びデータ処理方法
GB2330428B (en) * 1997-09-23 2000-05-24 Winbond Electronics Corp Apparatus for repairing faulty program segments in embedded microprocessor systems
US6412081B1 (en) 1999-01-15 2002-06-25 Conexant Systems, Inc. System and method for providing a trap and patch function to low power, cost conscious, and space constrained applications
JP3056732B1 (ja) * 1999-04-09 2000-06-26 コナミ株式会社 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体
JP2001056760A (ja) * 1999-08-19 2001-02-27 Murata Mfg Co Ltd データ処理装置
JP3750494B2 (ja) * 1999-08-31 2006-03-01 松下電器産業株式会社 半導体装置
US6546477B1 (en) 1999-09-20 2003-04-08 Texas Instruments Incorporated Memory management in embedded systems with dynamic object instantiation
US6968438B1 (en) * 1999-09-20 2005-11-22 Texas Instruments Incorporated Application programming interface with inverted memory protocol for embedded software systems
JP2001256044A (ja) * 2000-03-14 2001-09-21 Sony Corp データ処理装置
JP3482185B2 (ja) * 2000-12-11 2003-12-22 松下電器産業株式会社 コンピュータ装置
JP2002269065A (ja) * 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
US7051231B2 (en) * 2002-08-05 2006-05-23 Faraday Technology Corp. Microprocessor system architecture to correct built-in ROM code
DE60312453T2 (de) * 2002-10-09 2008-01-10 Matsushita Electric Industrial Co., Ltd., Kadoma Recheneinheit und Datenladeverfahren zur schnellen Initialisierung der Recheneinheit
US7249279B2 (en) * 2003-12-04 2007-07-24 International Business Machines Corporation Multiprocessor code fix using a local cache
US20150242213A1 (en) * 2014-02-23 2015-08-27 Qualcomm Incorporated System and method for modification of coded instructions in read-only memory using one-time programmable memory
KR20210046418A (ko) 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56140452A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Memory protection system
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
JPH0642263B2 (ja) * 1984-11-26 1994-06-01 株式会社日立製作所 デ−タ処理装置
US5155829A (en) * 1986-01-21 1992-10-13 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
US5448744A (en) * 1989-11-06 1995-09-05 Motorola, Inc. Integrated circuit microprocessor with programmable chip select logic
US5325499A (en) * 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
JPH06318261A (ja) * 1992-09-18 1994-11-15 Sony Corp 電子装置

Also Published As

Publication number Publication date
KR0184346B1 (ko) 1999-05-15
KR950033761A (ko) 1995-12-26
US5701506A (en) 1997-12-23
JP3563768B2 (ja) 2004-09-08

Similar Documents

Publication Publication Date Title
JPH07325711A (ja) Romプログラム変更装置
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
JP2875842B2 (ja) プログラマブルコントローラ
JP3616402B2 (ja) 拡張可能なレジスタを提供するデータ処理システムおよびその方法
US5799144A (en) Microcomputer for resolving problems found in a program stored in a ROM
JPH0764784A (ja) マイクロコンピュータ
JPH0237600A (ja) 読取り専用記憶装置の試験方法とその方法を実行するデバイス
JP3055999B2 (ja) マイクロプログラム制御装置群
US7519802B2 (en) System and method for configuring a computer system
US20030126484A1 (en) Reduced power option
JP2002535749A (ja) 複数の命令ソースからの命令を実行するプロセッサおよび方法
KR100465610B1 (ko) 온-칩 프로그래밍 능력을 가지는 내장된 플래시 메모리를 구비한 마이크로컴퓨터 및 상기 내장된 플래시 메모리에 데이터를프로그램하는 방법
WO2000062162A2 (en) Method and system for updating user memory in emulator systems
JPH06222917A (ja) 電子装置
JP3097602B2 (ja) データ処理装置
JP2003509769A (ja) 静的記憶装置内のマイクロ命令を修正するための方法及び装置
JPH0954692A (ja) マイクロプログラム制御システム
JP2003177934A (ja) ディジタル信号処理装置
JP2000010772A (ja) マイクロコンピュータ
JPS63156231A (ja) リ−ドオンリ−メモリ内命令の変更方法
JPH0630056B2 (ja) 信号処理装置
US7003543B2 (en) Sticky z bit
JP2984628B2 (ja) マイクロコンピュータ
JP2850377B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040604

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees