JP2001075798A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2001075798A
JP2001075798A JP24854599A JP24854599A JP2001075798A JP 2001075798 A JP2001075798 A JP 2001075798A JP 24854599 A JP24854599 A JP 24854599A JP 24854599 A JP24854599 A JP 24854599A JP 2001075798 A JP2001075798 A JP 2001075798A
Authority
JP
Japan
Prior art keywords
address
read
program
data
instruction
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.)
Pending
Application number
JP24854599A
Other languages
English (en)
Inventor
Masako Asano
昌子 浅野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP24854599A priority Critical patent/JP2001075798A/ja
Publication of JP2001075798A publication Critical patent/JP2001075798A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】ROMに格納されたプログラムで動作する情報
処理装置においてROMに格納されたデータ修正可能と
する情報処理装置の提供。 【解決手段】プログラム命令及び/又はデータが書き込
まれたROMと、修正プログラム命令及び/又はデータ
が格納されるRAMと、アドレスバスに出力されるアド
レス信号が予め設定された修正対象アドレス範囲内にあ
るか否かを検出する検出手段と、アドレス信号でアクセ
スされるROMの出力と該アドレス信号に対応したアド
レスでアクセスされるRAMの出力とを入力としROM
コレクションイネーブル状態にあり、且つアドレス信号
が修正対象アドレス範囲内にある場合RAMの出力を選
択し、アドレス信号が修正対象アドレス範囲外の場合に
はROMの出力を選択する選択手段とを備え、選択手段
から出力される命令又はデータが命令実行部に供給され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特に、読み出し専用型の記憶手段に書き込まれたプ
ログラム及びデータを実行することで動作するマイクロ
コンピュータ等の情報処理装置において読み出し専用型
の記憶手段に書き込まれたプログラム及びデータの修正
を可能とした情報処理装置に関する。
【0002】
【従来の技術】命令デコーダ、命令実行部、内部レジス
タ、プログラムカウンタ、メモリアドレスレジスタ等を
備えたCPUと、プログラムメモリ、データメモリ、入
出力ポート、タイマ等の周辺回路を1チップ上に備えて
なるいわゆるシングルチップ型マイクロコンピュータは
家電機器を始め各種制御用機器等に組み込まれて用いら
れており、この種のマイクロコンピュータにおいて、C
PUの命令実行部で実行されるプログラムは、一般に、
マイクロコンピュータに内蔵されるマスクROMに書き
込まれる。
【0003】このマスクROMは、マイクロコンピュー
タの製造段階で、マスクデータに基づくイオン注入マス
クを用いてウェハ上のメモリセルトランジスタにイオン
注入しトランジスタの閾値電圧VTHを変えることでデー
タの書き込みを行なうものであり、製造後にデータの書
き換えを行なうことはできない。
【0004】近時、マイクロコンピュータの高集積化・
高機能化、及びマイクロコンピュータで制御される機器
の制御内容の複雑化に伴い、制御プログラムのサイズも
増大し、このため、マイクロコンピュータに内蔵される
マスクROMのメモリ容量も増大している。
【0005】ROMを内蔵したマイクロコンピュータの
製造後に、ROMに書き込まれたプログラムにバグが検
出されたり、プログラムが参照するテーブルデータ等に
変更が生じた場合、該ROMだけを交換することは不可
能であることから、ROMを内蔵したマイクロコンピュ
ータ自体を交換することになり、資源、コストの面で無
駄であり、製品開発、販売戦略上の点でも、不都合且つ
不利益である。
【0006】かかる問題に対処するため、マスクROM
に書き込まれたプログラムの修正(「ROMコレクショ
ン」ともいう)を行なう情報処理装置として、例えば特
開平7−64784号公報には、マイクロコンピュータ
の機能端子を減らし、外付け回路を不要とし、マイクロ
コンピュータ製造後にプログラムのバグが存在するアド
レスの実行を回避して修正後のプログラムを実行できる
ようにしたマイクロコンピュータが提案されている。こ
の従来のマイクロコンピュータは、マイクロコンピュー
タでプログラムの実行が開始された後、特定アドレスに
達すると、分岐命令を実行し、特定アドレスとは異なる
アドレスから始まるプログラムを実行することにより、
プログラムのバグが存在するアドレスの実行を回避して
修正後のプログラムを実行できるようにしたものであ
る。
【0007】図6は、上記公報に提案される従来のマイ
クロコンピュータの構成を示す図である。図6を参照す
ると、この従来のマイクロコンピュータ600は、プロ
グラムカウンタ601と、ROM(リード・オンリー・
メモリ)603と、RAM(ランダム・アクセス・メモ
リ)604と、フェッチした命令を解読して実行する命
令実行部605と、選択回路607と、分岐命令発生回
路608と、比較回路606と、レジスタ609と、シ
リアルインタフェース610と、アドレスバス602
と、データバス611とを備えており、マイクロコンピ
ュータ600に接続される外部メモリ614は修正プロ
グラムを記憶するものである。
【0008】プログラムカウンタ601は、命令実行部
605が実行すべき命令が格納されているアドレスを順
次指し示すもので、アドレスバス602にアドレスを出
力する。 ROM603は読み出し専用型メモリであ
り、アドレスバス602からのアドレス信号を入力し読
み出しデータをデータバス611に出力する。RAM6
04は、書き込み及び読み出し型メモリであり、アドレ
スバス602からアドレスを入力しデータバス611と
の間で読み出しデータ、及び書き込みデータの授受を行
なう。命令実行部605は、フェッチした命令を不図示
の命令デコーダでデコードし、デコードした結果に従い
命令を実行する。比較回路606は、プログラムカウン
タ601からアドレスバス602に出力されるアドレス
信号をレジスタ609に記憶保持されている内容と比較
し、両者が一致した場合、ハイレベルの選択信号612
を出力し、一致しない場合ロウレベルを出力する。
【0009】選択回路607は、選択信号612がハイ
レベルのときは分岐命令発生回路608の出力を選択
し、選択信号212がローレベルのときはデータバス6
11上のデータ(フェッチした命令)を選択して命令実
行部605に出力する。
【0010】分岐命令発生回路608は、予め定められ
た所定番地へ分岐する分岐命令のコードを出力する。
【0011】レジスタ609は、命令実行部605でプ
ログラムの実行を回避したい特定アドレスを記憶保持す
るレジスタである。
【0012】シリアルインタフェース610は、外部メ
モリ614の内容をマイクロコンピュータ600の内部
に取り込み、データバス611に出力する。
【0013】外部メモリ614は、プログラムのバグの
アドレス及びバグ修正後のプログラムが格納されてい
る。
【0014】この従来のマイクロコンピュータの動作に
ついてその概要を以下に説明する。
【0015】図7は、従来のマイクロコンピュータの初
期化動作を説明するためのフローチャートである。図6
及び図7を参照して、従来のマイクロコンピュータの初
期化動作について以下に説明する。
【0016】電源投入時等マイクロコンピュータ600
のパワーオンリセット時にリセット解除につづいて、R
OM603の予め定められた所定のアドレス(例えば0
000H等)に格納されているベクタアドレスがプログ
ラムカウンタ601にセットされ、ROM603に格納
されている初期化プログラムが実行され各種初期設定が
行なわれる(ステップS701)。初期化プログラムに
は、ROMコレクションすなわちバグの回避、修正を行
なうか否かの判断ルーチンが組み込まれており、ROM
コレクションを行なわない場合(ステップS702のN
O分岐)、通常どおりメインプログラムに処理が移る
(ステップS704)。
【0017】一方、ROMコレクションを行なう場合
(ステップS702のYES分岐)、初期化プログラム
にて、外部メモリ614からプログラムのバグのアドレ
ス(ここでは、バグアドレスを1200Hとする、但し
Hはヘキサデシマル表示を表わす。)と、修正後のプロ
グラムをシリアルインタフェース610を介してデータ
バス611に読み出し、修正後のプログラムをRAM6
04の所定の先頭アドレス、例えば図9に示すように、
所定のアドレスF702Hから格納し、レジスタ609
には、バグアドレスとして1200Hを設定する(ステ
ップS703)。
【0018】分岐命令発生回路608は、バグ発生時に
分岐する分岐先として、RAM604の予め定められた
固定のアドレス(例えばF7FDH)に分岐する分岐命
令コードを出力する。そして、このRAM604のアド
レスF7FDHには、修正後のプログラムが格納される
RAM604の先頭アドレスF702Hに分岐するため
の分岐命令(BR !F702H)が格納される。
【0019】なお、従来のマイクロコンピュータでは、
ROM603に格納されたプログラムのバグが、例えば
アドレスで1200Hから1202Hに存在する場合、
外部メモリに614には、アドレス情報としてバグの先
頭アドレス(例えば1200H)と、修正後のプログラ
ムが格納されており、修正後のプログラムの最後の命令
に続いて、ROM603のバグプログラムの次のアドレ
ス(1204H)に復帰するための分岐命令(BR !
1204H)が付加される(図9参照)。
【0020】図8は、従来のマイクロコンピュータのR
OMコレクションの動作を説明するための流れ図であ
る。図9は、ROMとRAMのメモリマップの一例とR
OMコレクション動作を模式的に説明する図である。図
6と図8及び図9を参照して、従来のマイクロコンピュ
ータのROMコレクションの動作について以下に説明す
る。
【0021】初期化プログラム実行後、プログラムカウ
ンタ601のアドレスがバグの存在するアドレス120
0Hに到達すると(図8のステップS802、図9の
)、レジスタ609の内容とアドレスバス602のア
ドレス信号を比較する比較回路606では、両者が一致
するため、ハイレベルの選択信号612を出力し、選択
回路607は、分岐命令発生回路608の出力である分
岐命令(BR !F7FDH)を命令実行部605に出
力する。
【0022】命令実行部605は、ROM603のアド
レス1200Hから読み出された内容は取り込まず、分
岐命令発生回路608からの分岐命令(BR !F7F
DH)を実行して、RAM604のアドレスF7FDH
に分岐する(図8のステップS803)。その際、プロ
グラムカウンタ601の内容F7FDHは、レジスタ6
09の内容と異なるため、命令実行部605には、RA
M604のアドレスF7FDHから読み出された内容が
データバス611から選択回路607を介して取り込ま
れる。
【0023】RAM604のアドレスF7FDHには、
修正プログラムが格納されている先頭アドレスに分岐す
る分岐命令(BR !F702H)が格納されており、
命令実行部605でこの分岐命令(BR !F702
H)を実行することで、RAM604に格納された修正
後のプログラムの先頭アドレスF702Hに分岐する
(図9の)。
【0024】そしてRAM604のアドレスF702H
以降に格納された修正プログラムを実行し(図8のステ
ップS804)、修正プログラムの最後に付加された分
岐命令(BR !1204H)を実行して、もとのRO
M603のバグプログラムの次のアドレス1204Hに
分岐し(図9の)、かかる一連の動作により、ROM
603のアドレス1200H〜1202Hのバグプログ
ラムを回避して、以降のプログラムが引き続き実行され
る。
【0025】
【発明が解決しようとする課題】しかしながら、上記し
た従来のマイクロコンピュータは下記記載の問題点を有
している。
【0026】第1の問題点は、上記した従来のマイクロ
コンピュータにおいては、ROMに書き込まれているプ
ログラムは修正できるものの、ROMに書き込まれてい
るデータだけを修正することはできない、ということで
ある。
【0027】その理由は、従来のマイクロコンピュータ
においては、プログラムカウンタから命令フェッチサイ
クルにて出力されるアドレス(フェッチアドレス)とバ
グアドレスとを比較し、両者が一致したときに、バグア
ドレスを回避するように、RAMに格納された修正プロ
グラムに分岐される構成とされているためである。すな
わち、従来のマイクロコンピュータにおいては、例えば
命令実行部で実行されるプログラム命令で参照するテー
ブルのデータだけを変更することはできない。これは、
選択回路607から命令実行部605へ供給されるもの
は、プログラムカウンタ601で指示されるフェッチア
ドレスにて、ROM603又はRAM604からデータ
バス611上に送出される命令コード、又は、分岐命令
発生回路608から出力される分岐命令のいずれかであ
り、RAM604から修正データを取りだして、命令実
行部605へ供給するパスが設けられていないためであ
る。そして、命令フェッチサイクルで、フェッチアドレ
スからフェッチされたものが、マイクロコンピュータの
命令セットに含まれる命令コード(オペコード)に該当
しないデータである場合、命令実行部の命令デコーダで
は不正命令として扱い、例えばトラップを発生するか、
ホルトする。
【0028】このため、従来のマイクロコンピュータに
おいては、ROM603のデータだけを変更したい場
合、該データを修正するための修正データをRAM60
4に格納し、もとのROM603のデータを参照する命
令を、該RAM604上の修正データを参照する命令に
変更した修正プログラムをRAM604に格納する必要
がある。例えばROM603に書き込まれたプログラム
において、1個のデータを1000個の命令で参照して
いる場合、該1個のデータを修正する場合、1000個
のプログラム命令の修正が必要とされ、各修正プログラ
ムには、元のプログラムへの復帰のための分岐命令が付
加される。
【0029】また上記第1の問題点に関連して、ROM
に書き込まれている命令のオペランド部のイミディエッ
ト値だけを変更することもできず、第1の問題点と同
様、イミディエット値を修正したプログラム命令、及び
分岐命令をRAMに格納する必要があるということであ
る。
【0030】第2の問題点は、従来のマイクロコンピュ
ータにおいては、修正プログラムに分岐する際に、まず
バグアドレスとの一致を検出した際に分岐命令発生回路
で生成された分岐命令を実行して一旦固定アドレスに分
岐し、分岐先のRAMの固定アドレスに格納された修正
プログラムの先頭アドレスへの分岐命令が実行される構
成とされており、さらに修正プログラム実行後、分岐命
令を実行して、ROMのバグアドレスの次のアドレスに
復帰する構成とされており、これら分岐命令の挿入によ
り、処理時間が増大する、ということである。
【0031】第3の問題点は、第2の問題点と関連し
て、従来のマイクロコンピュータにおいては、修正プロ
グラム実行にあたり、複数の分岐命令等の余分な処理が
必要となり、変更前のプログラムと同一のタイミングで
動作させることが不可能である、ということである。
【0032】すなわち、前述したように、従来のマイク
ロコンピュータにおいては、修正プログラムに分岐する
際に、2回の分岐命令の実行(分岐命令発生回路で生成
される固定アドレスへの分岐命令、固定アドレスに格納
された修正プログラムの先頭アドレスへの分岐命令)
と、修正プログラム実行後に元のプログラムへの復帰用
の分岐命令が常に実行される構成とされており、修正プ
ログラム実行時のタイミングが、ROMに格納された元
のプログラム命令実行時のタイミング設計値と異なり、
例えば、プログラム命令を所定回ループさせる等、ソフ
トウェアでウェイト処理等を行なう際に、そのタイミン
グにずれが生じ、このため、修正プログラムに変更して
実行する場合に、元のプログラムで考慮していたタイミ
ング設計を再度考慮する必要があるということである。
【0033】第4の問題点は、修正プログラムに元のプ
ログラムへの復帰用の分岐命令を付加することが必要と
されており、修正プログラムのサイズの増加を招くとい
うことである。
【0034】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、読み出し専用メ
モリに格納されたプログラムで動作する情報処理装置に
おいて、読み出し専用メモリに格納されたデータの修正
を可能とする情報処理装置を提供することにある。
【0035】本発明の他の目的は、修正プログラムを実
行するにあたり、元のプログラム実行時と同一又は同等
のタイミング動作を保証する情報処理装置を提供するこ
とにある。これ以外の本発明の目的、特徴、利点等は以
下の説明から当業者であれば直ちに理解されるであろ
う。
【0036】
【課題を解決するための手段】前記目的を達成する本発
明は、プログラム及び/又はデータが書き込まれた読み
出し専用メモリと、修正プログラム及び/又はデータが
格納される書き込み及び読み出し型メモリと、を備え、
アドレスバスに出力されるアドレス信号が修正対象アド
レス範囲内にあるとき、該アドレスに対応したアドレス
でアクセスされる書き込み及び読み出し型メモリから読
み出されたデータが命令実行部に取り込まれるように構
成されてなる。
【0037】本発明は、プログラム命令及び/又はデー
タが書き込まれた読み出し専用型の記憶手段と修正プロ
グラム命令及び/又は修正データが格納される書き込み
及び読み出し可能な記憶手段と、アドレスバスに出力さ
れるアドレス信号が事前に設定された修正対象アドレス
範囲内にあるか否かを検出する検出手段と、前記アドレ
ス信号で読み出しアクセスされる前記読み出し専用型の
記憶手段の出力と、前記アドレス信号に対応したアドレ
スにて、前記読み出し専用型の記憶手段と同時に読み出
しアクセスされる前記書き込み及び読み出し可能な記憶
手段の出力と、を入力とし、前記アドレス信号が前記修
正対象アドレス範囲内にある場合には、前記書き込み及
び読み出し可能な記憶手段の出力を選択し、前記アドレ
ス信号が修正対象アドレス範囲外の場合には前記読み出
し専用型の記憶手段の出力を選択する選択手段と、を備
え、前記選択手段から出力される内容である命令又はデ
ータがCPUの命令実行部に供給される。
【0038】本発明において、前記書き込み及び読み出
し可能な記憶手段が、前記読み出し専用型の記憶手段の
記憶容量よりも小さく、前記読み出し専用型の記憶手段
に入力されるアドレス信号のうち所定の下位ビットにて
アクセスされる。
【0039】本発明において、前記書き込み及び読み出
し可能な記憶手段を複数備え、複数の前記書き込み及び
読み出し可能な記憶手段に対応させて前記検出手段を複
数備え、複数の修正対象アドレス範囲のプログラム及び
/又はデータを修正可能としてもよい。
【0040】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明の情報処理装置は、命令実行部を含
むCPUで実行されるプログラム及び/又はデータが予
め書き込まれている読み出し専用型の記憶手段と、修正
対象のプログラム及び/又はデータが格納される書き込
み及び読み出し型の記憶手段と、アドレスバス上に出力
されるメモリアクセスアドレス又はフェッチアドレス
が、修正対象アドレスの下限と上限で定める範囲内にあ
るか否か比較する手段と、該範囲内にあるとき、該アド
レスに対応したアドレスにてアクセスされる前記書き込
み及び読み出し型の憶手段から読み出されたデータを選
択して命令実行部に供給する選択手段とを備え、製造後
に読み出し専用型記憶手段に内蔵されるプログラム及び
データの修正を可能としたものである。
【0041】本発明の情報処理装置は、その好ましい一
実施の形態において、プログラム命令及び/又はデータ
が書き込まれた読み出し専用型の記憶手段(103)
と、読み出し専用型の記憶手段(103)に書き込まれ
たプログラム命令及び/又はデータを修正するための修
正プログラム命令及び/又は修正データが格納される書
き込み及び読み出し型の記憶手段(104)と、アドレ
スバスに出力されるアドレス信号が事前に設定された修
正対象アドレス範囲内にあるか否かを検出する検出手段
(110、108、109、111)と、前記アドレス
信号でアクセスされる前記読み出し専用型の記憶手段
(103)の出力と、前記アドレス信号に対応したアド
レスにて、前記読み出し専用型の記憶手段と同時にアク
セスされる前記書き込み及び読み出し型の記憶手段(1
04)の出力と、を入力とし、前記アドレス信号が前記
修正対象アドレス範囲内にある場合には、前記書き込み
及び読み出し型の記憶手段(104)の出力を選択出力
し、前記アドレス信号が修正対象アドレス範囲外の場合
には、前記読み出し専用型の記憶手段(103)の出力
を選択出力する選択手段(113)と、を備え、前記選
択手段(113)から選択出力される内容である命令又
はデータがCPUの命令実行部に供給される。
【0042】本発明の情報処理装置においては、前記書
き込み及び読み出し可能な記憶手段(104)が、前記
読み出し専用型の記憶手段(103)の記憶容量よりも
小さく、前記読み出し専用型の記憶手段に入力されるア
ドレス信号のうち所定の下位ビットにてアクセスされる
構成とされる。また本発明において、前記書き込み及び
読み出し可能な記憶手段(104)を複数備え、前記書
き込み及び読み出し可能な記憶手段に対応させて前記検
出手段(110、108、109、111)を複数備
え、複数のアドレス範囲のプログラム及び/又はデータ
を修正可能としてもよい。
【0043】本発明に係る情報処理装置をマイクロコン
ピュータに適用した一実施の形態においては、フェッチ
された命令を解読して実行する命令実行部(105)
と、プログラム又はデータを格納する読み出し専用型の
第1の記憶手段(103)と、フェッチアドレスをアド
レスバス(102)に出力するプログラムカウンタ(1
01)と、命令実行部(105)での命令の実行によっ
てセットされるメモリアクセスアドレス信号をアドレス
バスに出力するアドレスバッファ(117)と、インタ
フェース手段(116)を介して外部から入力される修
正プログラム又はデータを記憶する第2の記憶手段(1
04)と、外部からデータを取得するインタフェース手
段(116)と、インタフェース手段(116)を介し
て外部から入力される先頭アドレス、最終アドレスを記
憶する第3の記憶手段(110)と、命令フェッチサイ
クル時と命令実行時のメモリアクセスサイクル時にアド
レスバス(102)上にそれぞれ出力されるアドレス信
号(フェッチアドレス、及びメモリアクセスアドレス)
と第3の記憶手段(110)に記憶される先頭アドレス
とを比較し、両者が一致するか、または、アドレス信号
の値の方が大きい場合にアクティブ信号を出力する第1
の比較手段(108)と、命令フェッチサイクル時と命
令実行時のメモリアクセスサイクル時にアドレスバス
(102)上にそれぞれ出力されるアドレス信号(フェ
ッチアドレス、及びメモリアクセスアドレス)と第3の
記憶手段(110)に記憶される最終アドレスを比較
し、両者が一致するか、または、アドレス信号の値の方
が小さい場合にアクティブ信号を出力する第2の比較手
段(109)と、第1の比較手段(108)からアクテ
ィブ信号が出力され且つ第2の比較手段(109)から
アクティブ信号が出力され、アドレス信号が先頭アドレ
スと最終アドレスの範囲内にある場合に、アクティブ信
号を出力し、アドレス信号が先頭アドレスと最終アドレ
スの範囲外を指している場合にはインアクティブ信号を
出力する手段(111)と、アドレス信号が先頭アドレ
スと最終アドレスの範囲内にある場合に、第2の記憶手
段(104)から読み出された修正対象のプログラム又
はデータの内容を選択出力し、アドレス信号が先頭アド
レスと最終アドレスで規定される範囲外にある場合に
は、第1の記憶手段(103)から読み出された内容を
選択出力して、データバス(115)を介して命令実行
部(105)に供給する選択手段(113)と、を備え
ている。
【0044】本発明の一実施の形態に係るマイクロコン
ピュータにおいては、マイクロコンピュータの製造後
に、マスクROM等よりなる読み出し専用型の第1の記
憶手段に内蔵したプログラム又はデータのバグを修正し
て使用する時に、 第1の記憶手段からのプログラム命
令及び/又はデータの読み出しタイミングと同様に、修
正データが格納されているRAM等よりなる第2の記憶
手段からプログラム又はデータを読み出す構成とされて
おり、従来のマイクロコンピュータのように、分岐命令
を実行することなく、修正プログラム命令及び/又はデ
ータを記憶する第2の記憶手段がアクセスされるため、
第1の記憶手段をアクセスして実行される動作タイミン
グと同一の動作が可能である。
【0045】また、修正対象箇所だけを第2の記憶手段
に格納しておけばよく、分岐命令等を格納する必要はな
く、必要最小限の修正プログラムで済むため、修正プロ
グラムの使用領域が従来の修正プログラムより少なくて
済む。
【0046】さらに、マイクロコンピュータの製造後
に、ROM等に内蔵したデータのバグを修正して使用す
る時や、経年変化に伴いデータを変更する必要がある時
に、データのみ変更して実行できるため、修正プログラ
ムの使用領域が少なくて済む。
【0047】そして、複数データが格納されたデータテ
ーブルを変更する場合でも同様に対応することが可能で
ある。
【0048】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく本発明の実施例について図面を参照し
て説明する。
【0049】図1は、本発明の第1の実施例の構成を示
す図である。図1を参照すると、本発明の第1の実施例
に係るマイクロコンピュータ100は、フェッチサイク
ルにて、フェッチする命令のアドレスをアドレスバス1
02に出力するプログラムカウンタ101と、プログラ
ム又はデータを格納するROM(リード・オンリー・メ
モリ)103と、外部から入力される修正プログラム又
はデータを記憶する書き込み及び読み出し可能なRAM
(ランダム・アクセス・メモリ)104と、先取りした
命令を一時的に蓄積する命令キュー106と、命令キュ
ー106から命令を取り出し該命令を命令デコーダ(不
図示)で解読して実行する命令実行部105と、命令実
行部105におけるメモリアクセスを行うロード命令等
の実行によりメモリROM103又はRAM104から
読み出したデータを保持し、また命令実行部105にお
けるストア命令等の実行による出力データを保持するデ
ータバッファ107と、命令実行部105におけるメモ
リ又は入出力装置等のアクセスを行なうロード/ストア
命令等を実行する際に、該命令のオペランド部で指示さ
れ命令実行部105から出力されるメモリアクセスアド
レスを、アドレスバス102上に出力するアドレスバッ
ファ117と、外部から入力ポートを介してデータを取
得しパラレルデータとしてデータバス115に出力する
シリアルインタフェース116と、を備えている。な
お、図1において、命令実行部105と、プログラムカ
ウンタ101と、アドレスバッファ117と、データバ
ッファ107と、命令キュー106とが、マイクロコン
ピュータ100におけるCPUを構成しており、CPU
のこれ以外の要素、例えば内部レジスタ、スタックポイ
ンタ、プログラムステータスワード等、本発明の主題に
直接関係しない要素は図示されていない。
【0050】さらに本発明の第1の実施例においては、
シリアルインタフェース116を介して外部から入力さ
れる特定アドレス情報(先頭アドレスと最終アドレス)
を記憶するレジスタ110と、レジスタ110に記憶さ
れる先頭アドレスと、命令フェッチサイクル、及びメモ
リアクセスサイクル時に、プログラムカウンタ101、
及びアドレスバッファ117からアドレスバス102上
にそれぞれ出力されるアドレス信号とを入力して両者の
値を比較し、両者が一致するか、またはアドレス信号の
値の方が大きい場合にアクティブ信号(ハイレベル)を
出力する最小比較回路108と、レジスタ110に記憶
される最終アドレスと、命令フェッチサイクル時、及
び、メモリアクセスサイクル時に、プログラムカウンタ
101、及びアドレスバッファ117からアドレスバス
102上にそれぞれ出力されるアドレス信号とを入力し
て両者の値を比較し、両者が一致するか、または、アド
レス信号の値の方が小さい場合にアクティブ信号(ハイ
レベル)を出力する最大比較回路109と、最小比較回
路108の比較結果出力と、最大比較回路109の比較
結果出力とを入力とし、両者がともにアクティブのとき
アクティブ信号(ハイレベル)を出力する第1のAND
回路111と、命令実行部105で実行される設定命令
と解除命令によってセット/クリアされ、ROMコレク
ションを行なうか否かの制御情報を記憶するイネーブル
フラグ114と、イネーブルフラグ114の値と、第1
のAND回路111の出力とを入力し、イネーブルフラ
グ114の値がアクティブ状態(すなわちROMコレク
ションを行う)を示し、且つ第1のAND回路111の
出力がアクティブ(アドレス信号が先頭アドレスと最終
アドレスの範囲内にある)のとき、選択信号119とし
てアクティブ信号を出力し、それ以外のときは、インア
クティブ信号を出力する第2のAND回路112と、該
アドレス信号を読み出しアドレス信号としてROM10
3から読み出されたデータと、該アドレス信号に対応し
たアドレス信号を読み出しアドレス信号としてRAM1
04から読み出されたデータとを入力とし、第2のAN
D回路112から出力される選択信号119がアクティ
ブのとき、RAM104からのデータをデータバス11
5に出力し、一方、第2のAND回路112から出力さ
れる選択信号119がインアクティブのとき、ROM1
03からのデータをデータバス115に出力する選択回
路113と、を備えている。なお、選択回路113は、
RAM104から読み出されたデータを入力とし出力が
データバス115に接続され、選択信号119により出
力イネーブル/ディセーブルが制御されるトライステー
ト型のバッファ群と、ROM103から読み出されたデ
ータを入力とし出力がデータバス115に接続され、選
択信号119の相補信号により出力イネーブル/ディセ
ーブルが制御されるトライステート型のバッファ群とを
備えた構成としてもよい。
【0051】外部メモリ118は、マイクロコンピュー
タ100に外付けされる不揮発性メモリ又は揮発性メモ
リよりなり、マスクROM等よりなるROM103に書
き込まれているプログラム又はデータを修正するための
情報として、修正プログラム及び/又はデータが書き込
まれる。なお、外部メモリ118には、マイクロコンピ
ュータ100の動作開始前に所要の命令コード又は修正
データが書き込まれている。
【0052】なお、本発明の一実施例では、ROM10
3は、0000HからFFFFH(但し、Hはヘキサデ
シマル表示を表わす)までのアドレス空間(64Kバイ
ト)とされ、修正プログラム及びデータが格納されるR
AM104のメモリ容量は4Kバイト(000HからF
FFH)とし、ROM103のアドレス空間は、アドレ
スバス102の16ビットアドレス信号でアクセスさ
れ、RAM104は、アドレスバス102の16ビット
アドレス信号の下位12ビットでアクセスされるものと
する。なお、本発明において、ROM、RAMのメモリ
容量、アドレスバスのビット幅等はかかる構成に限定さ
れるものでない。
【0053】外部メモリ118には、ROM103に書
き込み済みの修正対象となるプログラム及び/又はデー
タの先頭アドレスと最終アドレスと、修正対象となるプ
ログラム又はデータを修正するための修正プログラム及
び/又は修正データが格納されている。なお、外部メモ
リ118には、所定の位置(アドレス)に、バグ修正の
必要の有無(ROMコレクションの有無)を格納しても
よいし、あるいはバグ修正の必要がない場合、外部メモ
リ118に、先頭アドレスとして最終アドレスよりも大
きな値を書き込むようにしてもよい。
【0054】また図1において、プログラムカウンタ1
01は、よく知られているように、カウント値を順次イ
ンクリメントして次のフェッチアドレスを出力するカウ
ンタよりなり、またこのプログラムカウンタ101に
は、命令実行部105における分岐命令等の実行より分
岐先アドレスがロードされる。すなわち命令実行部10
5で分岐命令の実行時に(無条件分岐命令、及び条件分
岐命令の条件成立時)、プログラムカウンタ制御信号1
22の制御のもと、分岐先アドレスが、命令実行部10
5からCPUの内部データバス120を介して出力され
プログラムカウンタ101にロードされ、プログラムカ
ウンタ101にロードされたフェッチアドレスは、命令
フェッチサイクル時に、アドレスバス102に出力され
る。命令実行部105からプログラムカウンタ101に
出力されるプログラムカウンタ制御信号122は、プロ
グラムカウンタ101への分岐先アドレスの設定、及
び、命令フェッチサイクル時のアドレス信号の出力イネ
ーブル/ディセーブル(ハイインピーダンス状態)等を
制御する。さらに、このプログラムカウンタ制御信号1
22は、命令キュー106にも入力され、分岐命令実行
時、すなわち無条件分岐命令、及び条件分岐命令の条件
成立時に、分岐先の命令を命令キュー106の先頭に蓄
積するため、既に命令キュー106に蓄積されている命
令を必要に応じてフラッシュするための指示を行う。
【0055】また命令実行時のバスサイクルにおいて、
プログラムカウンタ101がフェッチアドレスをアドレ
スバス102に出力する期間、アドレスバッファ117
の出力はディセーブル状態(ハイインピーダンス状態)
とされ、一方、アドレスバッファ117がメモリアクセ
スアドレス信号をアドレスバス102に出力する期間、
プログラムカウンタ101の出力はディセーブル状態
(ハイインピーダンス状態)とされる。
【0056】すなわち、命令実行部105でロード/ス
トア命令の実行時には、命令実行部105からメモリア
クセスアドレスがアドレスバッファ117にセットさ
れ、アドレスバス102に出力される。命令実行部10
5からアドレスバッファ117に出力されるアドレスバ
ッファ制御信号121は、アドレスバッファ117のア
ドレス情報の出力イネーブル/ディセーブル(ハイイン
ピーダンス状態)を制御する。
【0057】なお、図6には、アドレスバッファは図示
されていないが、従来のマイクロコンピュータにおいて
も、プログラムカウンタとアドレスバッファ、命令実行
部の間の制御は、図1に示したものと同様なものとされ
る。また図1に示した構成において、プログラムカウン
タ101と、メモリアクセスアドレスを保持するメモリ
アドレスレジスタ(不図示)の出力のいずれかを選択し
てアドレスバッファ117を介してアドレスバス102
に出力する構成としてもよい。
【0058】そして、図1において、命令実行部105
がデータを出力する命令、例えばストア命令(内部レジ
スタのデータをオペランドのアドレスフィールドで指定
したアドレスに格納するという命令)等を実行した場
合、命令実行部105からのデータはCPUの内部デー
タバス120を介してデータバッファ107からデータ
バス115に出力される。
【0059】図3は、本発明の一実施例のマイクロコン
ピュータにおける初期設定の動作を説明するための流れ
図である。図1及び図3を参照して、本発明の一実施例
のマイクロコンピュータの初期設定の動作について以下
に説明する。
【0060】電源投入時等、マイクロコンピュータ10
0ではまずパワーオンリセットが行われ、このリセット
解除に続いて、ROM103の予め定められた所定のア
ドレス(例えば0000H等)に格納されているベクタ
アドレスが、プログラムカウンタ101にセットされ、
ROM103に格納されている初期化プログラムが実行
される(ステップS301)。なお、ここでは、初期化
プログラムの先頭アドレスがベクタアドレスとしてRO
M103の0000Hに格納されているものとする。
【0061】初期化プログラムに設けられた判断ルーチ
ンにて、ROMコレクションを行なうか否かを判定する
(ステップS302)。すなわち初期化プログラムによ
りシリアルインタフェース116を介してメモリ118
に格納されたデータが読み出され、ROMコレクション
を行なうか否かを判断する。上記したように、外部メモ
リ118の所定のアドレスにROMコレクションを行な
うか否かの情報を書き込んでおき、初期化プログラムで
はこの情報を読み込んでROMコレクションを行なうか
否かを判断するようにしてもよい。
【0062】ROMコレクションを行なわない場合(ス
テップS302のNO分岐)、命令実行部105はイネ
ーブルフラグ114をクリアする命令を実行すること
で、イネーブルフラグ114を、ROMコレクションを
行なわない旨を示すインアクティブ状態(すなわちRO
Mコレクションをディセーブル状態)に設定し、ROM
103に書き込まれているメイン・プログラムを実行す
る(ステップS304)。但し、マイクロコンピュータ
100のパワーオンリセット時、イネーブルフラグ11
4がリセット状態とされ、デフォルトで、イネーブルフ
ラグ114がROMコレクションを行なわない状態を保
持するような構成の場合には、ステップS302のNO
分岐において、命令実行部105はイネーブルフラグ1
14をクリアする命令を実行する必要はない。なお、初
期化プログラムでは、ROMコレクション判定ルーチン
以外にも、マイクロコンピュータ100で必要とされる
各種初期設定が行われるが、本発明の主題と直接関係し
ないため、その説明は省略する。
【0063】そして、ROMコレクションを行なわない
場合、ステップS304でメイン・プログラムを実行す
る時に、イネーブルフラグ114はインアクティブ状態
(ロウレベル)とされているため、第1のAND回路1
11の出力がマスクされる。すなわち第1のAND回路
111の出力がアクティブ状態(ハイレベル)であって
も、第2のAND回路112から出力される選択信号1
19は常にインアクティブ状態(ロウレベル)とされ、
このため、メイン・プログラム実行時、選択回路113
は、ROM103から読み出されたデータを選択してデ
ータバス115に出力し、該データ(命令コードを含
む)は、命令キュー106又はデータバッファ107を
介して命令実行部105に供給される。
【0064】一方、ROMコレクションを行う場合(ス
テップS302のYES分岐)、初期化プログラムのR
OMコレクション前処理ルーチンが命令実行部105で
実行され、外部メモリ118からシリアルインタフェー
ス116、データバス115を介して先頭アドレス、最
終アドレスの内容を読み出してレジスタ110に設定す
るとともに、外部メモリ118に格納されている修正プ
ログラム及び/又は修正データを読み出して、RAM1
04の該当するアドレスに書き込み、その後、命令実行
部105は、イネーブルフラグ114をアクティブ状態
(ハイレベル)にセットする命令を実行する。
【0065】図4は、本発明の一実施例において初期化
プログラム実行後のROMコレクションの動作を説明す
るための流れ図である。図1及び図4を参照して、本発
明の一実施例のマイクロコンピュータのROMコレクシ
ョンの動作について以下に説明する。
【0066】前述した初期化プログラム実行後、ROM
103に書き込まれたメイン・プログラムの命令が順次
実行され(ステップS401)、プログラムカウンタ1
01からアドレスバス102上にフェッチアドレスが出
力されるたび、及び、アドレスバッファ117からアド
レスバス102上にメモリアクセスアドレスが出力され
るたびに、アドレスバス102のアドレス信号が、レジ
スタ110に登録された先頭アドレスと最終アドレスの
範囲内にあるか否かを最小比較回路108と最大比較回
路109でそれぞれ比較判定する(ステップS40
2)。
【0067】アドレス信号の値が、先頭アドレスと最終
アドレスとで定められる範囲(「修正対象アドレス範
囲」という)内になければ(ステップS402のNO分
岐)、最小比較回路108と最大比較回路109の出力
の一方はインアクティブとされ、第1のAND回路11
1の出力はインアクティブとされ、第2のAND回路1
12の出力もインアクティブとされ、選択回路113は
ROM103から読み出されたデータを選択してデータ
バス115に出力し、読み出された命令又はデータは、
命令キュー106又はデータバッファ107を介して命
令実行部105に供給される。そして、次に出力される
フェッチアドレス、メモリアクセスアドレス信号につい
ても先頭アドレスと最終アドレスの範囲内あるかがチェ
ックされる。
【0068】一方、アドレス信号の値が先頭アドレスと
最終アドレスで定められる修正対象アドレス範囲内にあ
る場合(ステップS402のYES分岐)、最小比較回
路108と最大比較回路109とからともにアクティブ
信号(ハイレベル)が出力され、第1のAND回路11
1の出力はアクティブ(ハイレベル)とされ、またイネ
ーブルフラグ114がアクティブ状態(すなわちROM
コレクションの実行がイネーブル状態)であることか
ら、第2のAND回路112の出力もアクティブ状態
(ハイレベル)とされ、選択回路113はRAM104
から読み出されたデータを選択してデータバス115に
出力し、該データ(命令コードを含む)は命令キュー1
06又はデータバッファ107を介して命令実行部10
5に供給される。
【0069】本発明の第1の実施例においては、図6を
参照して説明した従来のマイクロコンピュータとは相違
して、外部メモリ118に格納される修正プログラムに
は、最終ステップに、元のプログラムのバグの次の命令
へ復帰するための分岐命令を挿入する必要はない。
【0070】また、本発明の第1の実施例においては、
図6を参照して説明した従来のマイクロコンピータとは
相違して、外部メモリ118は、修正対象となるデータ
だけを含ませることができる。すなわちROM102に
書き込まれているテーブルデータの修正が必要な場合、
テーブルデータの先頭アドレスと最終アドレスがレジス
タ110に設定され、RAM104に修正されたテーブ
ルデータを格納することで、メモリアクセスアドレス
が、先頭アドレスと最終アドレスで定められる修正対象
アドレス範囲内にある場合、RAM104に格納されて
いるテーブルデータが選択回路113、データバス11
5、データバッファ107を介して命令実行部105に
供給される。
【0071】さらに、本発明の第1の実施例において
は、修正対象アドレス範囲を定める先頭アドレスと最終
アドレスを一致させることで、一つのデータ又は命令を
修正することができる。
【0072】なお、上記したように、本発明の第1の実
施例において、ROM103のアドレス空間は0000
HからFFFFH(64Kバイト)とされ、アドレスバ
ス102の16ビットアドレス信号が入力されており、
一方、RAM104のメモリ容量は4Kバイトとされ、
アドレスバス102のアドレス信号の下位12ビットが
そのまま入力されており、ROM103の64Kバイト
のアドレス空間を、4Kバイト毎分割した16ブロック
(すなわち、アドレス区間0000H〜0FFFFHの
ブロック0、アドレス区間1000H〜1FFFHのブ
ロック1、アドレス区間2000H〜2FFFHのブロ
ック2、…、アドレス区間F000H〜FFFFHのブ
ロック15からなる)のうちの任意の一ブロック分のバ
グが修正可能である。
【0073】図5は、本発明の一実施例におけるROM
103とRAM104のメモリマップの一例を示す図で
ある。図5(a)では、ROM103の修正対象アドレ
ス範囲としては、先頭アドレス1200Hと最終アドレ
ス1202Hとされる。ROM103のアドレス120
0Hと1202Hにそれぞれ書き込まれているプログラ
ム命令「ADD A #1」と「MOV B,A」とに
誤りがあり、これを修正するために外部メモリ118か
ら入力された、修正プログラム命令「ADDA #2」
と、「MOV C,A」とが、先頭アドレス1200H
と最終アドレス1202Hの下位12ビットのアドレス
信号でそれぞれアクセスされるRAM104に、マイク
ロコンピュータ100の初期化プログラムの実行によっ
て書き込まれる。すなわち、この場合、RAM104の
アドレス200Hと202Hにそれぞれ修正プログラム
命令「ADD A #2」と「MOV C,A」とが格
納される。
【0074】レジスタ110には、ROM103の修正
対象アドレス範囲を定める先頭アドレス1200Hと最
終アドレス1202Hとがマイクロコンピュータ100
の初期化時に設定され、これ以降のプログラムに実行に
おいて、アドレスバス102上のアドレス信号が先頭ア
ドレスと最終アドレスで規定される範囲内にある場合、
RAM104に格納されたプログラムがアクセスされ
る。
【0075】図5(a)に示す通り、ROM103に対
するフェッチアドレス1200H、1202Hがアドレ
スバス102に出力された場合、RAM104は、その
アドレス信号の下位12ビット、すなわちアドレス20
0H、202Hでそれぞれアクセスされる。RAM10
4から読み出された内容は、選択回路113から選択出
力され、データバス115を介して命令キュー106に
供給され命令実行部105で実行される。
【0076】また図5(b)に示すように、本発明の一
実施例においては、ROM103の例えばアドレス50
00Hから5100Hまでのテーブルデータだけを修正
することもできる。この場合、レジスタ110には、R
OM103の修正対象アドレス範囲を定める先頭アドレ
ス5000Hと最終アドレス5100Hとがマイクロコ
ンピュータ100の初期化プログラムの実行時に設定さ
れており、ロード命令(例えば「LOAD B,#50
00H」)等の実行によりアドレスバッファ117から
アドレスバス102上に出力されるメモリアクセスアド
レスが、先頭アドレスと最終アドレスで規定される範囲
内にある場合、RAM104に格納されたデータ(アド
レス000H〜100H)がアクセスされる。RAM1
04から読み出された内容は、選択回路113から選択
出力され、データバス115を介してデータバッファ1
07に供給され命令実行部105に供給され、命令実行
部105では、読み出されたデータを内部レジスタ等に
格納する。例えばロード命令「LOAD B,#500
0H」の場合、命令実行部105は、RAM104のア
ドレス000Hから読み出されデータバッファ107に
セットされたデータを内部レジスタBに格納する。
【0077】本発明の一実施例の変形として、イネーブ
ルフラグ114、AND回路112を設けず、AND回
路111の出力を選択信号119として直接選択回路1
13に入力する構成としてもよい。
【0078】上記実施例において、ROMコレクション
を行わない場合、レジスタ110に格納される先頭アド
レスを最終アドレスよりも大きな値に設定するようにし
てもよい。この場合、最大比較回路109に設定される
最終アドレスが最小比較回路108に設定される先頭ア
ドレスよりも小となることから、最小比較回路108と
最大比較回路109の出力の一方が必ずインアクティブ
となり、AND回路111の出力は常にインアクティブ
状態となり(修正対象アドレス範囲が負となりアドレス
比較が有効でなくなるため)、選択回路13は、ROM
103から読み出された内容をデータバス115に選択
出力する。
【0079】次に、本発明の第2の実施例について説明
する。図2は、本発明の第2の実施例の構成を示す図で
あり、ROM103における複数の修正対象アドレス範
囲のバグを修正可能としたものである。図2において、
図1に示した前記実施例の要素と同等の機能をなす要素
には、同一の参照符号が付されている。
【0080】図2を参照すると、本発明の第2の実施例
においては、マイクロコンピュータ101′は、修正プ
ログラム及びデータを格納するための複数のRAM10
4a、104bを備え、第1の修正対象アドレス範囲を
規定する第1の先頭アドレスと第1の最終アドレスと、
第2の修正対象アドレス範囲を規定する第2の先頭アド
レスと第2の最終アドレスとをそれぞれ記憶するレジス
タ110a、110bと、アドレスバス102上のフェ
ッチアドレス、及びメモリアクセスアドレスと第1、第
2の先頭アドレスとをそれぞれ比較する最小比較回路1
08a、108bと、アドレスバス102上のフェッチ
アドレス、及びメモリアクセスアドレスと第1、第2の
最終アドレスとをそれぞれ比較する最大比較回路109
a、109b、最小比較回路108aと最大比較回路1
09aとの出力を入力としAND(論理積)演算を行う
AND回路111aと、最小比較回路108bと最大比
較回路109bとの出力を入力としAND(論理積)演
算を行うAND回路111bと、AND回路111a、
111bの出力と、イネーブルフラグ114とのAND
演算をそれぞれ行い選択信号119a、119bを出力
するAND回路112a、112bとを、RAM104
a、104bに対応させて複数備えている。本発明の第
2の実施例では、外部メモリ118には、第1の修正対
象アドレス範囲を規定する第1の先頭アドレスと第1の
最終アドレスと、第2の修正対象アドレス範囲を規定す
る第2の先頭アドレスと第2の最終アドレスと、RAM
104aに書き込まれる第1の修正対象アドレス範囲の
修正プログラム及び/又は修正データと、RAM104
bに書き込まれる第2の修正対象アドレス範囲の修正プ
ログラム及び/又は修正データとを含む。
【0081】前記実施例では、例えばアドレス1200
H〜1202Hまでの範囲にあるプログラム又はデータ
についてRAM104のアドレス200Hから202H
が読み出され、この場合、ROM103において、アド
レス区間1000Hから1FFFHのブロック内のプロ
グラム及びデータは修正することができるが、ROM1
03の他のブロック(例えばアドレス区間2000Hか
ら2FFFH)のプログラムまたはデータを同時に修正
することはできない。
【0082】そこで、本発明の第2の実施例では、RA
M104を複数用意し、フェッチアドレス、及びメモリ
アクセスアドレスが第1の修正対象アドレス範囲120
0H〜1202Hについては第1のRAM104aのア
ドレス200H〜1202Hから読み出されたデータを
選択回路113で選択し、異なるブロックの第2の修正
対象アドレス範囲、例えばアドレス2200H〜220
2Hについては第2のRAM104bのアドレス200
H〜202Hから読み出されたデータを選択回路113
で選択する。なお、本実施例においても、前記実施例と
同様、複数のRAM104a、104bは、アドレスバ
ス102の下位12ビットアドレスで読み出し・書き込
みのアクセスが行われる。
【0083】AND回路112a、112bからそれぞ
れ出力される選択信号119a、119bが選択回路に
113入力され、選択回路113では、AND回路11
2aからの選択信号119aがアクティブ(ハイレベ
ル)のとき、RAM104aから読み出された内容をデ
ータバス115に選択出力し、AND回路112bから
出力される選択信号119bがアクティブ(ハイレベ
ル)のときRAM104bから読み出された内容をデー
タバス115に選択出力し、AND回路112a、11
2bの出力がともにインアクティブのときROM103
から読み出された内容をデータバス115に選択出力す
る。
【0084】なお、本発明の第2の実施例においても、
RAM104a、104bのメモリサイズは、4Kバイ
トに限定されるものでなく、256バイト、1Kバイト
等任意とされる。また、本発明の第2の実施例におい
て、修正プログラム及び/又は修正データを格納するR
AMは2つに限定されるものでない。
【0085】さらに、本発明の第2の実施例の変形とし
て、イネーブルフラグ114を、AND回路112aと
AND回路112bに対応して2つ備え、2つのRAM
104a、104bのいずれか一方に格納された修正プ
ログラム及び/又はデータで、ROM103の内容を修
正するようにしてもよい。
【0086】さらに本発明の第2の実施例の変形とし
て、イネーブルフラグ114、AND回路112a、1
12bを設けず、AND回路111a、111bの出力
を選択信号119a、119bとして、直接、選択回路
113に入力する構成としてもよい。
【0087】本発明の第2の実施例においても、ROM
コレクションを行わない場合、レジスタ110a、11
0bにそれぞれ格納される先頭アドレスをいずれも対応
する最終アドレスよりも大きな値に設定するようにして
もよい。この場合、最大比較回路109a、109bに
それぞれ設定される最終アドレスが最小比較回路108
a、108bにそれぞれ設定される先頭アドレスよりも
小となることから、AND回路111a、111bの出
力は常にインアクティブ状態(ローレベル)となり、選
択回路13は、ROM103から読み出された内容をデ
ータバス115に選択出力する。またRAM104a、
RAM104bのうち一方のみを修正プログラム又は修
正データ格納領域として用いる場合には、他方のRAM
に対応する最大比較回路と最小比較回路にそれぞれ設定
される最終アドレスと先頭アドレスについて、その先頭
アドレスを最終アドレスよりも大に設定することで、選
択回路113で他方のRAMからの出力を非選択とする
ことができる。
【0088】上記各実施例において、ROM103に書
き込まれたプログラム及び/又はデータは、初期化プロ
グラムでRAM104に修正プログラム及び/又は修正
データが設定され、レジスタ110に修正対象アドレス
範囲を規定する先頭アドレスと最終アドレスが設定され
た以降であれば、ROM103に書き込まれたメインプ
ログラムだけでなく、ROM103に書き込まれ、マイ
クロコンピュータ100、100′の各部を初期設定す
る初期化プログラム、及び初期化時に各部に設定するた
めのテーブルデータ等の修正も可能である。
【0089】上記した各実施例においては、マイクロコ
ンピュータの製造後にマスクROM等に内蔵したプログ
ラム又はデータのバグを修正して使用する時に、ROM
103からのプログラム命令又はデータの読み出しタイ
ミングと同様に、修正データが格納されているRAM1
04からプログラム又はデータを選択回路113で選択
して命令実行部105に供給する構成とされており、も
とのROM103に格納されているプログラムをアクセ
スする動作タイミングと同一のタイミングで動作可能で
ある。
【0090】また、修正対象箇所だけを、RAM104
に格納しておけばよく、上記した従来のマイクロコンピ
ュータのように、修正プログラムに分岐命令を付加する
必要はなく、必要最小限の修正プログラムで済むため、
修正プログラムの使用領域が従来のマイクロコンピュー
タの修正プログラムよりも少なくて済む。
【0091】さらに、マイクロコンピュータの製造後に
ROMに内蔵したデータのバグを修正して使用する時や
経年変化に伴いデータを変更する必要がある時に、デー
タのみ変更して実行できるため、修正プログラムの使用
領域が少なくて済む。
【0092】そして、複数データが格納されたデータテ
ーブルを変更する場合でも同様に対応することが可能で
ある。
【0093】なお、上記実施例において、命令実行部1
05で実行される命令によってイネーブルフラグ114
をセット/クリアする代わりに、外部制御端子からセッ
トするようにしてもよい。すなわちROMコレクション
を行う場合、外部制御端子をハイレベル固定とし、RO
Mコレクションを行わない場合、外部制御端子をロウレ
ベル固定とし、イネーブルフラグ114は外部制御端子
の値を保持する。
【0094】また上記実施例では、シングルチップ型マ
イクロコンピュータを例に説明したが、本発明が適用さ
れるプロセッサは、シングルチップ型マイクロコンピュ
ータに限定されるものではなく、ROM内蔵型のもので
あれば各種プロセッサ装置に適用可能である。
【0095】
【発明の効果】以上説明したように、本発明によれば下
記記載の効果を奏する。
【0096】本発明の第1の効果は、ROMコレクショ
ンにより、読み出し専用型の記憶手段(ROM)に書き
込まれたデータだけを修正することができる、というこ
とである。
【0097】その理由は、本発明においては、メモリア
クセスアドレスが修正対象アドレス範囲内にあるか否か
検出し、修正対象アドレス範囲内にある場合、修正デー
タを格納したRAM等の書き込み及び読み出し型の記憶
手段から読み出されたデータを命令実行部に供給する構
成としたためである。
【0098】本発明の第2の効果は、ROMコレクショ
ンによる修正プログラムの実行のタイミングが、もとの
読み出し専用型の記憶手段(ROM)のプログラム実行
時のタイミングと異ならない、ということである。この
ため、本発明によれば、修正プログラム実行時にも、そ
の処理時間がもとのプログラムと比べて増大することな
く、また修正プログラムの実行によるタイミング設計値
の変更等を考慮する必要がない、という利点を有する。
【0099】その理由は、本発明においては、修正プロ
グラムを格納したRAM等の書き込み及び読み出し型の
記憶手段へのアクセスに分岐命令等を用いる必要がな
く、また修正プログラムが格納された書き込み及び読み
出し型の記憶手段に対する読み出しアクセスが、読み出
し専用型の記憶手段(ROM)への読み出しアクセスと
同時に行われ、読み出し専用型の記憶手段から読み出さ
れた内容と書き込み及び読み出し型の記憶手段から読み
出された内容を選択回路で選択出力し、データバスを介
して命令実行部に供給する構成としている、ためであ
る。
【0100】本発明の第3の効果は、ROMコレクショ
ンのための修正プログラム内に、分岐先のアドレスを指
定した分岐命令を挿入する必要がなく、修正プログラム
のサイズをコンパクトなものとすることができる、とい
うことである。
【図面の簡単な説明】
【図1】本発明の第1の実施例の構成を示す図である。
【図2】本発明の第2の実施例の構成を示す図である。
【図3】本発明の第1の実施例における初期設定の動作
を説明するための流れ図である。
【図4】本発明の第1の実施例におけるROMコレクシ
ョンの動作を説明するための流れ図である。
【図5】(a)は、本発明の第1の実施例におけるRO
MとRAMのメモリマップと修正プログラムの一例を示
す図であり、(b)は、本発明の第1の実施例における
ROMとRAMのメモリマップと修正データの一例を示
す図である。
【図6】従来のマイクロコンピュータの構成の一例を示
す図である。
【図7】従来のマイクロコンピュータにおける初期設定
の動作を説明するための流れ図である。
【図8】従来のマイクロコンピュータにおけるROMコ
レクションの動作を説明するための流れ図である。
【図9】従来のマイクロコンピュータにおけるROMと
RAMのメモリマップとROMコレクション時の動作を
模式的に示す図である。
【符号の説明】
100 マイクロコンピュータ 101 プログラムカウンタ 102 アドレスバス 103 ROM 104 RAM 110 レジスタ 108 最小比較回路 109 最大比較回路 105 命令実行部 106 命令キュー 107 データバッファ 111、112 AND回路 113 選択回路 114 イネーブルフラグ 115 データバス 116 シリアルインタフェース 117 アドレスバッファ 118 外部メモリ 119 選択信号 120 CPU内の内部データバス 121 アドレスバッファ制御信号 122 プログラムカウンタ制御信号 600 マイクロコンピュータ 601 プログラムカウンタ 602 アドレスバス 603 ROM 604 RAM 605 命令実行部 606 比較回路 607 選択回路 608 分岐命令発生回路 609 レジスタ 610 シリアルインタフェース 611 データバス 612 選択信号 614 メモリ

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】命令を解読して実行する命令実行部で実行
    されるプログラム命令及び/又はデータが書き込まれて
    いる読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているデー
    タを修正するための修正データを記憶する書き込み及び
    読み出し型の記憶手段と、 を備え、 前記読み出し専用型の記憶手段に対するメモリアクセス
    アドレスが予め設定された修正対象アドレス範囲内にあ
    ることを検出したとき、前記メモリアクセスアドレスに
    対応したアドレスにてアクセスされる前記書き込み及び
    読み出し型の記憶手段から読み出されたデータを前記命
    令実行部に供給するように制御する手段を備えたことを
    特徴とする情報処理装置。
  2. 【請求項2】命令を解読して実行する命令実行部で実行
    されるプログラム命令及び/又はデータが書き込まれて
    いる読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているプロ
    グラム命令及び/又はデータを修正するための修正プロ
    グラム命令/又は修正データを記憶する書き込み及び読
    み出し型の記憶手段と、 を備え、 アドレスバス上にそれぞれ出力される命令フェッチアド
    レス信号、及び、メモリアクセスアドレス信号が予め設
    定された修正対象アドレス範囲内にあることを検出した
    とき、前記アドレス信号にてアクセスされる前記読み出
    し専用型の記憶手段から読み出された内容の代わりに、
    前記アドレス信号に対応したアドレスでアクセスされる
    前記書き込み及び読み出し型の記憶手段から読み出され
    た内容である修正プログラム命令又は修正データを選択
    して、前記命令実行部に供給するように制御する手段を
    備えたことを特徴とする情報処理装置。
  3. 【請求項3】命令を解読して実行する命令実行部で実行
    される命令群よりなるプログラム及び/又はデータが書
    き込まれている読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているプロ
    グラム及び/又はデータを修正するために、外部から入
    力された、修正プログラム及び/又は修正データを記憶
    する書き込み及び読み出し型の記憶手段と、 命令フェッチサイクル時、及び、メモリアクセスサイク
    ル時に、アドレスバス上にそれぞれ出力されるアドレス
    信号が予め設定された修正対象アドレス範囲内にあるか
    否かを検出する検出手段と、 前記アドレス信号が前記修正対象アドレス範囲内にある
    場合に、前記アドレス信号に対応したアドレスにてアク
    セスされる前記書き込み及び読み出し型の記憶手段から
    読み出された内容である修正プログラム命令又は修正デ
    ータを選択して前記命令実行部に供給する手段と、 を備えたことを特徴とする情報処理装置。
  4. 【請求項4】命令を解読して実行する命令実行部で実行
    される命令群よりなるプログラム及び/又はデータが書
    き込まれている読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているプロ
    グラム及び/又はデータを修正するために、外部から入
    力された、修正プログラム及び/又は修正データを記憶
    する書き込み及び読み出し型の記憶手段と、 命令フェッチサイクル時、及び、メモリアクセスサイク
    ル時に、アドレスバス上にそれぞれ出力されるアドレス
    信号が予め設定された修正対象アドレス範囲内にあるか
    否かを検出する検出手段と、 前記読み出し専用型の記憶手段の修正がイネーブル状態
    にあり、且つ、前記アドレス信号が前記修正対象アドレ
    ス範囲内にある場合に、前記アドレス信号に対応したア
    ドレスにてアクセスされる前記書き込み及び読み出し型
    の記憶手段から読み出された内容である修正プログラム
    命令又は修正データを選択して前記命令実行部に供給す
    る手段と、 を備えたことを特徴とする情報処理装置。
  5. 【請求項5】命令を解読して実行する命令実行部で実行
    される命令群よりなるプログラム及び/又はデータが書
    き込まれている読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているプロ
    グラム及び/又はデータを修正するために、外部から入
    力された、修正プログラム及び/又は修正データを記憶
    する書き込み及び読み出し型の記憶手段と、 命令フェッチサイクル時、及び、メモリアクセスサイク
    ル時に、アドレスバス上にそれぞれ出力されるアドレス
    信号が予め設定された修正対象アドレス範囲内にあるか
    否かを検出する検出手段と、 前記アドレス信号にて読み出しアクセスされる前記読み
    出し専用型の記憶手段の出力と、前記アドレス信号に対
    応したアドレスにて、前記読み出し専用型の記憶手段と
    同時に読み出しアクセスされる前記書き込み及び読み出
    し型の記憶手段の出力とを入力とし、前記アドレス信号
    が前記修正対象アドレス範囲内にある場合には、前記書
    き込み及び読み出し型の記憶手段の出力を選択出力し、 前記アドレス信号が修正対象アドレス範囲外の場合に
    は、前記読み出し専用型の記憶手段の出力を選択出力す
    る選択手段と、 を備え、 前記選択手段から出力される内容である命令又はデータ
    がデータバスを介して前記命令実行部に供給される、こ
    とを特徴とする情報処理装置。
  6. 【請求項6】命令を解読して実行する命令実行部で実行
    される命令群よりなるプログラム及び/又はデータが書
    き込まれている読み出し専用型の記憶手段と、 前記読み出し専用型の記憶手段に書き込まれているプロ
    グラム及び/又はデータを修正するために、外部から入
    力された、修正プログラム及び/又は修正データを記憶
    する書き込み及び読み出し型の記憶手段と、 命令フェッチサイクル時、及び、メモリアクセスサイク
    ル時に、アドレスバス上にそれぞれ出力されるアドレス
    信号が予め設定された修正対象アドレス範囲内にあるか
    否かを検出する検出手段と、 前記アドレス信号にて読み出しアクセスされる前記読み
    出し専用型の記憶手段の出力と、前記アドレス信号に対
    応したアドレスにて、前記読み出し専用型の記憶手段と
    同時に読み出しアクセスされる前記書き込み及び読み出
    し型の記憶手段の出力とを入力とし、前記読み出し専用
    型の記憶手段の修正がイネーブル状態にあり、且つ、前
    記アドレス信号が前記修正対象アドレス範囲内にある場
    合には、前記書き込み及び読み出し型の記憶手段の出力
    を選択出力し、 前記読み出し専用型の記憶手段の修正がイネーブル状態
    にない場合、又は、前記アドレス信号が修正対象アドレ
    ス範囲外の場合には、前記読み出し専用型の記憶手段の
    出力を選択出力する選択手段と、 を備え、 前記選択手段から出力される内容である命令又はデータ
    がデータバスを介して前記命令実行部に供給される、こ
    とを特徴とする情報処理装置。
  7. 【請求項7】前記書き込み及び読み出し型の記憶手段の
    記憶容量が、前記読み出し専用型の記憶手段の記憶容量
    よりも小さく、 前記書き込み及び読み出し型の記憶手段は、前記読み出
    し専用型の記憶手段に入力されるアドレス信号のうち所
    定の下位ビットのアドレス信号にてアクセスされる、こ
    とを特徴とする請求項1乃至6のいずれか一に記載の情
    報処理装置。
  8. 【請求項8】前記書き込み及び読み出し型の記憶手段を
    複数備え、前記書き込み及び読み出し型の記憶手段の各
    々に対応させて、前記検出手段を複数備え、前記読み出
    し専用型の記憶手段の複数の修正対象アドレス範囲のプ
    ログラム命令及び/又はデータを修正可能としたことを
    特徴とする請求項3乃至6のいずれか一に記載の情報処
    理装置。
  9. 【請求項9】CPUで実行されるプログラム及び前記C
    PUで参照されるデータが書き込まれている読み出し専
    用型の第1の記憶手段と、 前記第1の記憶手段に書き込まれているプログラム及び
    /又はデータを修正するための修正プログラム及び/又
    は修正データが格納される書き込み及び読み出し型の第
    2の記憶手段と、 前記CPUからアドレスバス上に出力されるアドレス信
    号が、前記第1の記憶手段の予め定められた修正対象ア
    ドレス範囲内にあるか否かを検出する検出手段と、 前記アドレス信号にて前記第1の記憶手段から読み出さ
    れた内容と、前記アドレス信号に対応した読み出しアド
    レスにて前記第2の記憶手段から読み出された内容のう
    ち、前記アドレスバスに出力されるアドレス信号が前記
    修正対象アドレス範囲内にある場合には、前記第2の記
    憶手段から読み出された内容を選択して前記CPUに供
    給する選択手段と、を備えたことを特徴とする情報処理
    装置。
  10. 【請求項10】前記第2の記憶手段を複数備え、複数の
    前記第2の記憶手段の各々に対応させて前記検出手段を
    複数備え、前記第1の記憶手段の複数の修正対象アドレ
    ス範囲のプログラム及び/又はデータを修正可能とした
    ことを特徴とする請求項9記載の情報処理装置。
  11. 【請求項11】命令を解読して実行する命令実行部と、 プログラム命令及び/又はデータが書き込まれている読
    み出し専用型の第1の記憶手段と、 命令のフェッチアドレスをアドレスバス上に出力するプ
    ログラムカウンタと、 前記命令実行部で実行されるメモリアクセス命令により
    定められるメモリアクセスアドレスを前記アドレスバス
    に出力するアドレスバッファと、 外部から入力される修正プログラム及び/又は修正デー
    タを取得するインタフェース手段と、 を含むマイクロコンピュータにおいて、 前記インタフェース手段を介して外部から入力される修
    正プログラム及び/又はデータを記憶する第2の記憶手
    段と、 前記インタフェース手段を介して外部から入力される先
    頭アドレス及び最終アドレスを記憶する第3の記憶手段
    と、 前記第3の記憶手段に記憶される前記先頭アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が大きい場合にアクティブ信号を出力す
    る第1の比較手段と、 前記第2の記憶手段に記憶される前記最終アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が小さい場合にアクティブ信号を出力す
    る第2の比較手段と、 前記第1及び第2の比較手段の出力を入力とし、前記第
    1及び第2の比較手段からともにアクティブ信号が出力
    され、前記アドレス信号が前記先頭アドレスと前記最終
    アドレスの範囲内にある場合に、アクティブ信号を出力
    し、前記アドレス信号が前記先頭アドレスと前記最終ア
    ドレスの範囲外にある場合にはインアクティブ信号を出
    力する手段と、 前記アドレス信号が前記先頭アドレスと前記最終アドレ
    スの範囲内にある場合に、前記第2の記憶手段から読み
    出された内容を選択出力し、 前記アドレス信号が先頭アドレスと最終アドレスで規定
    される範囲外にある場合には、前記第1の記憶手段から
    読み出された内容を選択出力し、データバスを介して、
    前記命令実行部に供給する選択手段と、 を備えていることを特徴とするマイクロコンピュータ。
  12. 【請求項12】命令を解読して実行する命令実行部と、 プログラム命令及び/又はデータが書き込まれている読
    み出し専用型の第1の記憶手段と、 命令のフェッチアドレスをアドレスバス上に出力するプ
    ログラムカウンタと、 前記命令実行部で実行されるメモリアクセス命令により
    定められるメモリアクセスアドレスを前記アドレスバス
    に出力するアドレスバッファと、 外部から入力される修正プログラム及び/又は修正デー
    タを取得するインタフェース手段と、 を含むマイクロコンピュータにおいて、 前記インタフェース手段を介して外部から入力される修
    正プログラム及び/又はデータを記憶する第2の記憶手
    段と、 前記インタフェース手段を介して外部から入力される先
    頭アドレス及び最終アドレスを記憶する第3の記憶手段
    と、 前記第3の記憶手段に記憶される前記先頭アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が大きい場合にアクティブ信号を出力す
    る第1の比較手段と、 前記第2の記憶手段に記憶される前記最終アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が小さい場合にアクティブ信号を出力す
    る第2の比較手段と、 前記第1及び第2の比較手段の出力を入力とし、前記第
    1及び第2の比較手段からともにアクティブ信号が出力
    され、前記アドレス信号が前記先頭アドレスと前記最終
    アドレスの範囲内にある場合に、アクティブ信号を出力
    し、前記アドレス信号が前記先頭アドレスと前記最終ア
    ドレスの範囲外にある場合にはインアクティブ信号を出
    力する手段と、 前記第1の記憶手段に書き込まれているプログラム又は
    データを修正することがイネーブル状態とされており、
    且つ、前記アドレス信号が前記先頭アドレスと前記最終
    アドレスの範囲内にある場合に、前記第2の記憶手段か
    ら読み出された内容を選択出力し、 前記第1の記憶手段に書き込まれているプログラム又は
    データを修正することがイネーブル状態とされており、
    且つ、前記アドレス信号が先頭アドレスと最終アドレス
    で規定される範囲外にある場合、又は、前記第1の記憶
    手段のプログラム又はデータの修正がディセーブル状態
    にある場合には、前記第1の記憶手段から読み出された
    内容を選択出力し、データバスを介して、前記命令実行
    部に供給する選択手段と、 を備えていることを特徴とするマイクロコンピュータ。
  13. 【請求項13】命令を解読して実行する命令実行部と、 プログラム命令及び/又はデータを格納する読み出し専
    用型の第1の記憶手段と、 命令のフェッチアドレスをアドレスバス上に出力するプ
    ログラムカウンタと、 前記命令実行部で実行されるメモリアクセス命令により
    定められるメモリアクセスアドレスを前記アドレスバス
    に出力するアドレスバッファと、 外部から入力される修正プログラム及び/又はデータを
    取得するインタフェース手段と、 を含むマイクロコンピュータにおいて、 前記インタフェース手段を介して外部から入力される修
    正プログラム及び/又はデータを記憶する第2の記憶手
    段と、 前記インタフェース手段を介して外部から入力される、
    前記第1の記憶手段の修正対象アドレス範囲を定める先
    頭アドレスと最終アドレスとを記憶する第3の記憶手段
    と、 前記第3の記憶手段に記憶される前記先頭アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれ出力されるアドレス信号
    とを比較し、両者が一致するか、または、前記アドレス
    信号の値の方が大きい場合にアクティブ信号を出力する
    第1の比較手段と、 前記第2の記憶手段に記憶される前記最終アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が小さい場合にアクティブ信号を出力す
    る第2の比較手段と、 前記第1及び第2の比較手段の出力を入力とし、前記第
    1及び第2の比較手段からともにアクティブ信号が出力
    され、前記アドレス信号が前記先頭アドレスと前記最終
    アドレスの範囲内にある場合に、アクティブ信号を出力
    し、前記アドレス信号が前記先頭アドレスと最終アドレ
    スの範囲外にある場合にはインアクティブ信号を出力す
    る第1の回路手段と、 前記アドレス信号にて前記第1の記憶手段からの読み出
    された内容と、前記アドレス信号に対応したアドレスを
    読み出しアドレスとして前記第2の記憶手段から読み出
    された内容とを入力とし、前記第1の回路手段の出力が
    アクティブのとき、前記第2の記憶手段から読み出され
    た内容である修正対象のプログラム命令又は修正データ
    を選択出力し、前記第1の回路手段の出力がインアクテ
    ィブのとき、前記第1の記憶手段から読み出された内容
    であるプログラム命令又はデータを選択出力する選択手
    段と、 を備え、 前記選択手段で選択出力された内容がデータバスを介し
    て前記命令実行部に供給される構成とされてなる、こと
    を特徴とするマイクロコンピュータ。
  14. 【請求項14】命令を解読して実行する命令実行部と、 プログラム命令及び/又はデータを格納する読み出し専
    用型の第1の記憶手段と、 命令のフェッチアドレスをアドレスバス上に出力するプ
    ログラムカウンタと、 前記命令実行部で実行されるメモリアクセス命令により
    定められるメモリアクセスアドレスを前記アドレスバス
    に出力するアドレスバッファと、 外部から入力される修正プログラム及び/又はデータを
    取得するインタフェース手段と、 を含むマイクロコンピュータにおいて、 前記インタフェース手段を介して外部から入力される修
    正プログラム及び/又はデータを記憶する第2の記憶手
    段と、 前記インタフェース手段を介して外部から入力される、
    前記第1の記憶手段の修正対象アドレス範囲を定める先
    頭アドレスと最終アドレスとを記憶する第3の記憶手段
    と、 前記第3の記憶手段に記憶される前記先頭アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれ出力されるアドレス信号
    とを比較し、両者が一致するか、または、前記アドレス
    信号の値の方が大きい場合にアクティブ信号を出力する
    第1の比較手段と、 前記第2の記憶手段に記憶される前記最終アドレスと、
    前記プログラムカウンタ及び前記アドレスバッファから
    前記アドレスバス上にそれぞれフェッチアドレス及びメ
    モリアクセスアドレスとして出力されるアドレス信号
    と、を比較し、両者が一致するか、または、前記アドレ
    ス信号の値の方が小さい場合にアクティブ信号を出力す
    る第2の比較手段と、 前記第1及び第2の比較手段の出力を入力とし、前記第
    1及び第2の比較手段からともにアクティブ信号が出力
    され、前記アドレス信号が前記先頭アドレスと前記最終
    アドレスの範囲内にある場合に、アクティブ信号を出力
    し、前記アドレス信号が前記先頭アドレスと最終アドレ
    スの範囲外にある場合にはインアクティブ信号を出力す
    る第1の回路手段と、 前記第1の回路手段の出力と、前記第1の記憶手段に書
    き込まれているプログラム及び/又はデータを前記第2
    の記憶手段に格納されている修正プログラム及び/又は
    修正データで修正するか否かを示すイネーブルフラグの
    値とを入力とし、前記第1の回路手段の出力がアクティ
    ブであり、且つ、前記イネーブルフラグが修正プログラ
    ム及び/又は修正データで修正することを示すアクティ
    ブ状態である場合に、アクティブ信号を出力する第2の
    回路手段と、 前記アドレス信号にて前記第1の記憶手段からの読み出
    された内容と、前記アドレス信号に対応したアドレスを
    読み出しアドレスとして前記第2の記憶手段から読み出
    された内容とを入力とし、前記第2の回路手段の出力が
    アクティブのとき、前記第2の記憶手段から読み出され
    た内容である修正対象のプログラム命令又は修正データ
    を選択出力し、前記第2の回路手段の出力がインアクテ
    ィブのとき、前記第1の記憶手段から読み出された内容
    であるプログラム命令又はデータを選択出力する選択手
    段と、 を備え、 前記選択手段で選択出力された内容がデータバスを介し
    て前記命令実行部に供給される構成とされてなる、こと
    を特徴とするマイクロコンピュータ。
  15. 【請求項15】前記第2記憶手段の記憶容量が、前記第
    1の記憶手段の記憶容量よりも小さく、 前記第2の記憶手段は、前記第1の記憶手段に入力され
    るアドレス信号のうち所定の下位ビットのアドレス信号
    にてアクセスされる、ことを特徴とする請求項11乃至
    14のいずれか一に記載の情報処理装置。
  16. 【請求項16】前記第2の記憶手段を複数備え、複数の
    前記第2の記憶手段の各々に対応して、前記第3の記憶
    手段と、前記第1、第2の比較手段と、前記第1の回路
    手段を複数組備え、 前記選択手段が、複数の前記第1の回路手段のうちアク
    ティブ信号を出力する第1の回路手段に対応した前記第
    2の記憶手段の出力を選択出力する、ことを特徴とする
    請求項13記載のマイクロコンピュータ。
  17. 【請求項17】前記第2の記憶手段を複数備え、複数の
    前記第2の記憶手段の各々に対応して、前記第3の記憶
    手段と、前記第1、第2の比較手段と、前記第1、第2
    の回路手段を複数組備え、 前記選択手段が、複数の前記第2の回路手段のうちアク
    ティブ信号を出力する第2の回路手段に対応した前記第
    2の記憶手段の出力を選択出力する、ことを特徴とする
    請求項14記載のマイクロコンピュータ。
JP24854599A 1999-09-02 1999-09-02 情報処理装置 Pending JP2001075798A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24854599A JP2001075798A (ja) 1999-09-02 1999-09-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24854599A JP2001075798A (ja) 1999-09-02 1999-09-02 情報処理装置

Publications (1)

Publication Number Publication Date
JP2001075798A true JP2001075798A (ja) 2001-03-23

Family

ID=17179785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24854599A Pending JP2001075798A (ja) 1999-09-02 1999-09-02 情報処理装置

Country Status (1)

Country Link
JP (1) JP2001075798A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665237B2 (en) 2001-05-18 2003-12-16 Hitachi, Ltd. Control apparatus and optical disc apparatus using it
JP2020003983A (ja) * 2018-06-27 2020-01-09 株式会社リコー 制御システムおよび電子機器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665237B2 (en) 2001-05-18 2003-12-16 Hitachi, Ltd. Control apparatus and optical disc apparatus using it
US7111133B2 (en) 2001-05-18 2006-09-19 Hitachi, Ltd. Control apparatus for selectively operating with program data from two memories and having a system controller supplying program data and address for writing the data to the second memory
JP2020003983A (ja) * 2018-06-27 2020-01-09 株式会社リコー 制御システムおよび電子機器

Similar Documents

Publication Publication Date Title
US7234052B2 (en) System boot using NAND flash memory and method thereof
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7886141B2 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
JP2004118826A (ja) フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
US7243372B2 (en) Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
JP2010500682A (ja) フラッシュメモリアクセス回路
US20070113064A1 (en) Method and system for secure code patching
US20070283139A1 (en) Information processing apparatus and control method used thereby
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
JP2003044303A (ja) コンピュータ装置
US6981109B2 (en) Digital signal processor system having programmable random access memory that executes processing during downloading of a program
CN114047952B (zh) 用于单片机的处理器、方法、单片机和存储介质
US5664156A (en) Microcontroller with a reconfigurable program status word
JP2001075798A (ja) 情報処理装置
KR19980054349A (ko) 옵션 자동 설정 회로
CN113032008B (zh) 电子处理装置及存储器控制方法
US6026480A (en) Processor having bug avoidance function and method for avoiding bug in processor
US20020188823A1 (en) Program executing device and method for executing programs
JPH1131068A (ja) リセットベクタ切替え方法ならびに同方法を用いた情報処理装置
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
GB2304209A (en) Starting up a processor system
JP2003162411A (ja) データプロセッサ
US7415602B2 (en) Apparatus and method for processing a sequence of jump instructions
JPH11296497A (ja) プロセッサ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030624