JPH05233266A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH05233266A
JPH05233266A JP4030877A JP3087792A JPH05233266A JP H05233266 A JPH05233266 A JP H05233266A JP 4030877 A JP4030877 A JP 4030877A JP 3087792 A JP3087792 A JP 3087792A JP H05233266 A JPH05233266 A JP H05233266A
Authority
JP
Japan
Prior art keywords
memory
information processing
address
correction
processing apparatus
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
JP4030877A
Other languages
English (en)
Inventor
Kohei Shimada
康平 嶌田
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 Home Electronics Ltd
NEC Corp
Original Assignee
NEC Home Electronics Ltd
Nippon Electric Co Ltd
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 Home Electronics Ltd, Nippon Electric Co Ltd filed Critical NEC Home Electronics Ltd
Priority to JP4030877A priority Critical patent/JPH05233266A/ja
Publication of JPH05233266A publication Critical patent/JPH05233266A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 マスクROM中に格納されたプログラムやデ
ータに欠陥があっても、マスクROMを交換したり、新
しく作り直すことなく、低コストで対応できる中央処理
装置の情報処理方式を提供すること。 【構成】 命令を実行するCPU1と、プログラムやデ
ータを格納したROM8と、ROM8のプログラムやデ
ータを修正するためのコードを格納する修正メモリ7
と、この修正メモリ7に修正アドレスと修正データを格
納し、CPUアドレスを修正メモリ7中の修正データに
対応するアドレスに変換するアドレス変換手段6と、C
PUアドレスと修正アドレスを比較する比較手段4と、
実行アドレスと修正アドレスが一致する場合にCPU1
に修正データを出力するデータバス制御手段5と、修正
メモリ検出手段と、修正コード入力手段と、修正メモリ
書き込み手段と、修正コード検出手段と、修正アドレス
設定手段とから構成されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
にROMに書かれたプログラムやデータを処理する情報
処理装置に関する。
【0002】
【従来の技術】近年の半導体技術の急速な進歩に伴い、
より大規模なメモリが製造されるようになった。このた
め4MbitのダイナミックRAMや16Mbitのマ
スクROMなどもすでに実用化されている。またマイク
ロプロセッサについても急速に進歩し、32bitマイ
クロプロセッサーも一般的に使用され、数Mバイトの主
記憶を持ち、しかも小型の装置でバッテリー動作が可能
であり、手軽で持ち運びができるほどの大きさのパーソ
ナルコンピュータなどの情報処理装置も市販され、しか
も個人で購入できる程低価格になっている。
【0003】このような装置は、コンピュータの専門知
識がない人にも簡単に使用できるような、ユーザーイン
タフェースに優れた高度なソフトウエアが必要になる。
例えば、複雑な命令を装置に入力する代わりに、アイコ
ンと呼ばれる絵文字を使用したり、ウィンドウと呼ば
れ、装置が実行する複数のプログラムの実行状況をあた
かも紙が折り重なったように表示して、人間の認識能力
に訴えかけて使用者の使い勝手を向上させたり、さらに
自然画や音も一つの情報として処理するマルチメディア
なども使用されようとしている。
【0004】さらにひらがなの文字列を漢字の熟語に変
換したり、日本語の単語を英語に変換する和英辞書や、
その逆の英和辞書など情報処理装置にのせるべき情報量
は非常に多く、また多いほど使用し易いことになる。
【0005】これらの状況から装置が処理しなければな
らない情報量や、プログラムの規模は増加する一方であ
る上、しかもそれをできるだけ小型にして身近における
装置であることが要求されている。したがって、これを
処理するプログラムやデータを情報処理装置に搭載する
上で、安価にしかも量産性に優れた一つの方法として、
マスクROMに書き込むことが考えられる。
【0006】そして、このマスクROMを装置内部に高
密度で実装したり、メモリカードに実装して情報処理装
置に挿入して実行させたりして、より使いやすい装置に
しようとする試みがなされている。
【0007】マスクROMが使用される理由は、容量、
速度、消費電力、価格、量産性、物理的な大きさなどの
点で優れているからである。当然書き換えが不可能であ
るが従来の技術状況においては、総合的に見て選択肢と
して優れたものであった。
【0008】ところが半導体技術の急速な進歩によっ
て、新たな問題点が発生し、マスクROMの利点を損な
うような事態が起こりつつある。
【0009】それは、マスクROM等に書き込まれたソ
フトウエアやデータの欠陥(バグ)を発見することが次
第に困難になっていることである。その原因は、ソフト
ウエアの規模が大きくなるに従い、加速度的に複雑さを
増す中で、ソフトウエアをテストするのが人手に頼るほ
かなく、確実に欠陥を除去できる確立された手法がない
ためである。
【0010】もし、マスクROMに書き込まれ、大量に
製造された後に、この欠陥が発見されると、当然ながら
装置に使用することは出来ず多大な損失を被ることにな
る。さらにそのマスクROMが装置に組み込まれて、製
品として市場に流通した後であれば、装置の回収と修理
には莫大な費用が必要になる。
【0011】さらにその欠陥を修正したソフトウエアを
新たにマスクROMに書き込むには、これを製造するた
めに所定の期間が必要である為、ソフトウエアの欠陥が
発見されても即座にこれを修正した装置を供給すること
は出来ない。従って、この装置の利用者はその事態が改
善されるまで不具合を我慢しなければならないことにな
る。
【0012】そこで従来の情報処理装置において、マス
クROMとフロッピーディスクやハードディスクを併用
した装置では、以下のような手段で、マスクROMのプ
ログラム欠陥に対処していた。
【0013】その手段は、マスクROMに書き込むソフ
トウエアの構造として、このマスクROM中の主要なル
ーチンを実行する時に、そのルーチンをマスクROM中
から直接コールせずに、一旦プログラムの制御をRAM
上に移し、改めてマスクROMのルーチンを実行するよ
うにしておくことである。
【0014】この例を図4に示す。この手順は次のよう
なものである。
【0015】<第1ステップ(1)>まずこの情報処理
装置を制御する基本プログラム(OS)が、実行するマ
スクROMのプログラムの各ルーチンの先頭アドレスに
ジャンプする命令を、装置内のRAMのワークエリアに
書き込む。例えばルーチンBへのジャンプ命令をZ番地
に書き込む。
【0016】<第2ステップ(2)>基本プログラムの
処理が終了し、マスクROMのプログラムを実行するた
めアドレスX番地のルーチンAを実行する。
【0017】<第3ステップ(3)>ルーチンAの処理
を終了し、RAM領域のZ番地へのジャンプ命令を実行
する。
【0018】<第4ステップ(4)>RAM上のZ番地
に基本プログラムによって書かれたジャンプ命令を実行
し、マスクROM内のY番地のルーチンBを実行する。
【0019】前記のような手順をあらかじめマスクRO
Mに書き込んでおく。この状態でルーチンBの中にプロ
グラム欠陥が発生した場合の対策を図5に示す。
【0020】<第1ステップ(1)>フロッピーディス
クやハードディスクに修正したルーチンB’を書き込ん
でおき、基本プログラム(OS)がこの修正したルーチ
ンB’を読み出して、Z番地以降のRAMにコピーする
ように動作させる。これでZ番地にY番地へのジャンプ
命令は書き込まれない。
【0021】<第2ステップ(2)>次に基本プログラ
ムの処理が終了し、アドレスX番地のルーチンAの実行
を行う。
【0022】<第3ステップ(3)>ルーチンAの処理
を終了し、RAM領域のZ番地へのジャンプ命令を実行
する。
【0023】<第4ステップ(4)>RAM上のZ番地
に基本プログラムによって書かれた修正されたルーチン
B’を実行する。これでマスクROMのルーチンBは実
行されない。
【0024】このように装置全体を管理する基本プログ
ラム(OS)を修正してフロッピーディスクやハードデ
ィスクに書き込めば、欠陥のあるマスクROMのルーチ
ンを経由せずにプログラムを実行できるので、マスクR
OMのプログラム欠陥に対応することができる。
【0025】
【発明が解決しようとする課題】しかしこの対策には限
界がある。それは装置のRAMの容量には限度があり、
全てのマスクROMのルーチンにこの対策を施すわけに
は行かない。そこでこの対策ができるルーチンの数は限
られることになる。もしRAM領域を経由しないマスク
ROMのルーチン内で、プログラム欠陥があると、これ
を修正することが不可能である。また、例え1つの番地
の修正であっても、そのルーチンごとRAMにコピーす
る必要があるので、RAM容量の少ない装置ではRAM
のワークエリアが減少し、ソフトウエアの動作に支障が
出ることも考えられる。
【0026】またこの対策では、RAM領域にジャンプ
命令の挿入を挿入する処理は本来のプログラムでは不要
であり、コードサイズを増加させルーチンのつながりも
複雑になるため、ソフトウエア構造に影響して、ソフト
ウエア作成の際に人為的なエラーを発生する原因になる
欠点がある。
【0027】さらにこの対策は、フロッピーディスクや
ハードディスクなどの装置が使用できない装置では、実
現不能な欠点がある。これはより可搬性の優れた装置を
実現しようとした場合に、機械的な構造をともなってし
かも消費電力の大きなフロッピーディスクやハードディ
スクなどは装置実現の制約になる。そこで情報交換媒体
として、形状が小型で消費電力の小さな半導体メモリを
用いたICカードを使用する装置が小型化に有利である
が、この場合には、前記の手段では修正できないことに
なる。
【0028】また上記のフロッピーディスクやハードデ
ィスクを使用し、ジャンプ命令をRAM領域に挿入して
ROM領域のソフトウエア欠陥を回避する手段を、RA
M領域にEEPROM(Electrically E
rasable PROM)などの不揮発性メモリを使
用することによって、実現することも考えられるが、結
局前記と同じ欠点を持つことになる。またROM領域に
ソフトウエア欠陥が無かった場合でもこのEEPROM
を取り去ることはできない。
【0029】またマスクROMに変えてEEPROMな
どの不揮発性メモリを使用することによって、プログラ
ム欠陥が発生した場合に問題の場所を書き換える手段が
考えられるが、このメモリは同一の半導体技術によって
製造されるマスクROMよりも、同一のチップ上に載せ
られるビット数が小さくなり、コスト高になる欠点があ
る。例えばフローティングゲートのMOSトランジスタ
を使用した電気的に書き込みが可能なEEPROMは、
マスクROMより一つのチップの容量が少ない。このた
め、1個のマスクROMに収納できるプログラムやデー
タは2個以上のEEPROMを使用しなければならずコ
スト高となる。またこれは部品実装の面からも、装置内
に収容できる物理的な容量の小さな装置では、この手段
を実現するのに大きな制約となる。
【0030】また、EEPROMを使用するとしても、
ソフトウエア欠陥がメモリのどの領域になるか事前に予
測できないので、部分的に使用することはできず、マス
クROMと全面的に変えなければ意味がないので、価格
的な犠牲が多すぎることになり採用することは困難であ
った。
【0031】すなわち、従来の技術によるマスクROM
を使用した情報処理装置においては、このマスクROM
中に格納されたプログラムやデータに欠陥があっても、
これを修正することは、装置を修理してマスクROMを
交換したり、マスクROMを新しく作りなおす必要があ
り、長い時間と費用を必要とした。
【0032】以上説明したように、従来の情報処理装置
ではマスクROMの修正対策が不可能な場合があった
り、効果に制限を受けたり、コスト高になる欠点があっ
た。
【0033】それ故に、本発明の目的は、装置のマスク
ROM中に格納されたプログラムやデータに欠陥があっ
ても、装置を修理してマスクROMを交換したり、マス
クROMを新しく作りなおす必要がなく、安い費用でソ
フトウエア欠陥を迅速に修正でき、フロッピーディスク
やハードディスクなどが使用できない、小型で消費電力
の少ない装置であっても採用しやすく、しかもソフトウ
エア構造に制限を付けず、修正できる領域に制限される
ことはなく、修正のために余分なコードを必要とせず、
修正が不要になればコストを低減できる柔軟性に優れた
中央処理装置の情報処理装置を提供することにある。
【0034】
【課題を解決するための手段】従って、本発明は上述の
目的を達成するために、命令を実行するCPUと、プロ
グラムやデータを格納したROMと、ROMのプログラ
ムやデータを修正するためのコードを格納する修正メモ
リと、この修正メモリに修正アドレスと修正データを格
納し、CPUアドレスを修正メモリ中の修正データに対
応するアドレスに変換するアドレス変換手段と、CPU
アドレスと修正アドレスを比較する比較手段と、実行ア
ドレスと修正アドレスが一致する場合にCPUに修正デ
ータを出力するデータバス制御手段と、修正メモリ検出
手段と、修正コード入力手段と、修正メモリ書き込み手
段と、修正コード検出手段と、修正アドレス設定手段か
ら構成されている。
【0035】
【作用】本発明によれば、修正メモリ検出手段が、装置
上に修正メモリが実装されているかどうかを検出し、実
装されていなければROMの内容をそのまま実行する非
修正モードの動作をする。このためROMコードの修正
が不要になった時点で、修正メモリを装置に実装しない
だけで、回路やプログラムの変更なしにROMのプログ
ラムを動作させることができる。
【0036】修正コード入力手段は、修正メモリの内容
を修正する必要のある場合に、装置に修正アドレスと修
正コードから成る修正コードを入力し、修正コード書き
込み手段が修正コードを修正メモリに書き込んでおく。
この状態で修正コード検出手段が、修正メモリに修正コ
ードが書き込まれているかどうかを検査し、修正コード
が書き込まれていなければ、非修正モードとして動作
し、修正コードがあればROMコードをCPUの命令実
行時に修正して実行する修正モード動作に入るため、修
正アドレス設定手段を起動する。
【0037】修正アドレス設定手段は修正メモリから修
正アドレスを取り出して、アドレス変換手段にロードし
た後、ROMのプログラムに制御を渡す。アドレス変換
手段は修正アドレスを比較手段に出力するとともに、C
PUの実行アドレスを入力し、それを修正メモリ中の修
正データに対応する物理アドレスに変換して、修正メモ
リがCPUの実行アドレスに対応する修正データを読み
出せるようにする。こうしてCPUがROMから読み出
した命令コードを読み出してプログラムの実行を開始す
る。
【0038】ここで、もしROMから読み出した命令コ
ードや処理データに誤りがなければ、比較手段で比較す
るCPUアドレスと修正アドレスが一致しないので、C
PUはROMの命令コードや処理データを実行する。ま
たROMから読み出した命令コードや処理データに誤り
があり、修正が必要なアドレスの場合には、比較手段で
比較するCPUアドレスと修正アドレスが一致するので
一致信号を、データバス制御手段に出力する。
【0039】データバス制御手段はこの信号を受ける
と、修正メモリからの修正データをCPUに出力してR
OMのデータを無視する。この結果CPUには修正され
たデータが読み出されることになり、本来ROMに格納
されていたプログラムやデータの処理は行わないことに
なる。
【0040】すなわち本発明の情報処理装置によれば、
プログラム欠陥があり修正の必要があるソフトウエアル
ーチンにおいて、処理データの一部分だけを修正メモリ
に書き込むだけで、ROMのソフトウエアを部分的に修
正して実行することができる。
【0041】
【実施例】図1は本発明の一実施例であって以下図面を
参照して説明する。
【0042】まず、図1について説明する。1はCPU
(中央処理装置)、2はアドレスバス、3はデータバ
ス、4は比較器、5はデータバス制御回路、6はアドレ
ス変換回路、7は修正メモリ、8はROM、9は制御信
号、10は一致信号、11は修正アドレス信号、12は
修正データ信号、13は変換アドレス信号である。
【0043】CPU1はアドレスバス2によって、実行
する命令や処理するデータのアドレスを出力し、データ
バス3によってROM8から命令やデータを読み出した
り、RAMや通信インタフェース等の周辺装置(図示せ
ず)にデータを書き込む動作をする。データバス制御回
路5はROM8と修正メモリ7に接続され、これから読
み出されたデータをCPU1に送出したり、CPU1の
書き込みデータを修正メモリ7に送出する。
【0044】修正メモリ7はデータバス制御回路5及び
アドレス変換回路6に接続され、ROM8に対する修正
データと、この修正データをCPU1のアドレス空間に
マップする修正アドレスを書き込むことができる不揮発
性のメモリである。そして変換アドレス信号13に対応
する修正データを修正データ信号12として、データバ
ス制御回路5に出力する。
【0045】アドレス変換回路6は修正メモリ7に書き
込まれている修正アドレスを取り出して保存するととも
に比較器4に出力して、CPU1がアドレスバス2によ
って送出したCPUアドレスと、比較器4で逐一比較す
る。もしこの2つのアドレスが一致するとデータバス制
御回路5に一致信号10を出力する。一方、アドレス変
換回路6はCPU1が出力したCPUアドレスに対応す
る修正メモリ7中の修正データをアクセスするように、
計算して変換アドレス信号13を修正メモリ7に出力す
る。こうして読み出された修正メモリ7の修正データは
データバス制御回路5を通じてCPU1に送出する。
【0046】以上のようにして、CPU1は実行するア
ドレスのうち、必要なものだけを修正して実行すること
になる。
【0047】この結果、図3に示すように、修正メモリ
空間に書き込まれた修正コード中の修正アドレスによっ
て、指定されたCPUのアドレス空間の先頭番地から、
修正コードのデータ数によって指定された長さの修正デ
ータがマッピングされることになる。
【0048】次に、図2のフローチャートについて説明
する。上記の動作を行うにあたっては前処理が必要にな
る。この処理は、装置の動作が開始すると、修正メモリ
検出手段14が装置上に修正メモリ7が実装されている
かどうかを調べる。実装されていない場合には、CPU
1が実行しようとするソフトウエアのコードが入ってい
るROM8の内容に欠陥がないと判断して、CPU1が
アドレスバス2によってCPUアドレスを出力し、RO
M8から命令コードや処理データを取り出し、データバ
ス制御回路5とデータバス3を通じてCPU1に出力し
て実行する非修正モードの動作を行う。またこの時デー
タバス制御回路5は常にROM8の信号をCPU1に送
る動作をする。
【0049】また、修正メモリ検出手段14が修正メモ
リ7が実装されていることを検出する手段としては、修
正データ信号12のバスを抵抗などでプルアップしてお
き、CPUが読み出した修正メモリ内容が全ビット”
1”でないことを利用して検出する手段や、図3のよう
に修正メモリに検査符号19を書き込んでおく手段が考
えられる。
【0050】この検査符号19としては、修正メモリに
書き込む全てのワードのパリティを偶数か奇数にするコ
ードとする手段や、生成多項式の符号を用いたCRC方
式(Cyclic Redundancy Chec
k)等がある。
【0051】このようにして修正メモリ7が実装されて
いることが確認されれば、修正コード入力手段15が修
正コードの入力があるかどうかを検査して、もし必要が
あれば修正コードを入力する。この入力は、例えばキー
ボードやRSー232Cやモデムを経由した通信回線
(何れも図示せず)等の入力装置を通じて入力すること
ができる。
【0052】修正コード書き込み手段16によって修正
メモリ7に修正アドレス、修正データや検査符号19等
からなる修正コードを書き込む。この修正コードは修正
メモリ2が不揮発性メモリであるため、装置の電源を切
っても保存することができ、一度修正すれば以後修正の
必要はない。もし修正コードの入力がなければ、修正コ
ード検出手段17に制御を渡す。
【0053】修正コード検出手段17は、修正メモリ7
中にROMコードのデータを修正するための修正アドレ
スと修正データがあるかどうかを検査符号19を使用し
て検査する。もしこのコードが修正メモリ7にあれば、
修正アドレス設定手段18に制御を渡す。もし修正コー
ドがなければ前記の非修正モードに入る。
【0054】修正アドレス設定手段18は修正メモリ7
から修正アドレスを取り出して、アドレス変換回路6に
設定した後、ROM8のプログラムに制御を渡す。この
ようにしてCPU1がROM8から読み出した命令コー
ドを読み出してプログラムの実行を開始する。
【0055】すると、まずCPU1.がROM8.に書
かれた命令やデータを読み出すため、アドレスバス2.
にCPUアドレスを出力する。ROM8.はこのCPU
アドレスに格納されているデータを読み出してデータバ
ス制御回路5.に出力する。
【0056】またアドレス変換回路6.は修正アドレス
信号11.を比較器4.に出力するとともに、CPU
1.のCPUアドレスが入力されると、内部に蓄えた修
正アドレスを使用して、CPUアドレスを修正メモリ
7.中にある修正データの物理アドレスに変換する。こ
のCPUアドレスに対応する修正メモリ7.内の物理ア
ドレスは変換アドレス信号13.として修正メモリ7.
に出力する。修正メモリ7.は対応する修正データを取
り出し、修正データ信号12.としてデータバス制御回
路5.に出力する。
【0057】一方、比較器4.はCPU1.のCPUア
ドレスと、アドレス変換回路6.に格納された修正アド
レスとデータ数から修正データと置き換えるアドレスの
範囲を調べて比較する。もしCPUアドレスがこのアド
レスの範囲内にある場合には、一致信号10.をデータ
バス制御回路5.に出力する。この信号によってデータ
バス制御回路5.は修正メモリ7.から出力された修正
データ信号12.データをデータバス3.を通じてCP
U1.に出力する。
【0058】その結果、CPU1.が修正データのない
場所のアドレスを読み出した場合には、ROM8.のデ
ータがCPU1.に読み出されて処理される。また、C
PU1.が修正データのあるアドレスを読み出すと修正
メモリ7.の修正データがCPU1.に読み出されて処
理されることになる。
【0059】なお、修正アドレス設定手段18.が、修
正メモリ7.の修正データをアドレス変換回路6.に書
き込む処理は、CPU1.が修正データを読み出して、
アドレス変換回路6.に書き込むように、ソフトウエア
制御によって処理しても構わない。この場合は、アドレ
ス変換回路6.にデータバス3.と制御信号9.が接続
されることになる。
【0060】さらに、データバス制御回路5.はマルチ
プレクサで構成しても、また修正メモリ7.とROM
8.をデータバス3.に接続して、それぞれの出力バッ
ファを制御して必要なデータを取り出すように構成して
も構わない。
【0061】またアドレス変換回路6.は全ての修正ア
ドレスを持てるだけの内部レジスタ容量があってもよ
く、あるいはCPU1.のアドレス空間を分割して、修
正アドレスを部分的に持ち、ページングしながら実行す
るようにして、アドレス変換回路6.の内部レジスタ容
量を制限して回路規模を小さくするようにしても構わな
い。
【0062】修正メモリ7.については、修正データを
読み出すためのアクセス時間がROM8.に比べて長く
なることが問題であるような場合、高速のものが要求さ
れるが、不揮発性メモリの高速のものは品種が少ないた
め、修正メモリ7.から読み出された修正データ信号1
2.を蓄えるキャッシュメモリを追加してもよい。こう
すれば修正メモリ7.としてアクセス時間が遅い安価な
シリアル形式でデータを出力する不揮発性メモリを使用
した場合でも、読み出したデータをシリアル−パラレル
変換を行ってキャッシュメモリに蓄えれば、CPU1.
のバス幅が16ビットや32ビットのものであっても同
じように使用することができる。
【0063】さらに修正データがない場合には、本来の
キャッシュメモリとして使用し、CPUのメモリアクセ
スを高速で行い、修正データがある場合はキャッシュメ
モリの一部に修正データを常駐させたままにして、ヒッ
トしなかった場合に修正データの領域を書き換えないよ
うにすれば、この方式を高速なCPUのシステムでも適
用することができる。
【0064】また図2の処理については、ソフトウエア
的な処理によって実施するように説明したが、この処理
は、CPU1.がROM1.内に書かれた処理プログラ
ムとして実行してもよく、また別のCPUによって処理
しても構わない。さらに論理回路で処理しても構わな
い。この場合は図2の各ルーチンは同じ機能の各機能ブ
ロックに相当し、制御の流れは各信号に相当する。
【0065】
【発明の効果】以上のように、本発明による情報処理方
式によれば、中央処理装置(CPU)によって命令コー
ドやデータをマスクROMから読み出す場合に、ソフト
ウエア欠陥のある領域では、修正メモリの内容をCPU
に与えることで、ソフトウエア欠陥を回避してプログラ
ムの実行を行うことができる。しかもフロッピーディス
クやハードディスクを使用する必要がないので、これら
の装備ができない小型の装置や、消費電力の制限の強い
装置であっても、不揮発性メモリという、他の半導体回
路との実装と整合が取り易い手段で構成されるので、追
加することの負担は少ない。
【0066】この方式によれば、修正メモリの容量以内
であれば、マスクROM領域のどの部分に欠陥があって
も修正することができ、しかもマスクROMにソフトウ
エアを書き込む際にそのアルゴリズムや、実行アドレス
やデータ構造に制限を与えないので、ソフトウエア設計
の負担にならない。
【0067】その上、修正メモリに対応するために、本
来なら必要ない命令コードを挿入させる必要がないた
め、ソフトウエアのコードサイズに変化がなく、1つの
マスクROMに収まるコードが入らなくなる問題が発生
することもない。さらに、実行するソフトウエアにリア
ルタイム性が要求され、実行速度が変化することが許さ
れない場合であっても、修正メモリ速度をマスクROM
速度と合わせることで、マスクROMコードの訂正を行
うことができる。
【0068】また、この修正メモリは回路的に独立して
おり、必要がなければ取り去ることもできるので、マス
クROMの内容がまだ十分テストされていない内は、ソ
フトウエア欠陥が発生した場合に備えて装置に修正メモ
リを実装しておき、ソフトウエアに実績が出てマスクR
OMのプログラムに欠陥が出る恐れが無くなった時点
で、装置の修正メモリの容量を減らしたり、修正メモリ
を実装することを取り止めることができる。これによっ
て他の回路やプリント基板やソフトウエアの修正を必要
とせず、装置のコストを低減することが可能である。す
なわちソフトウエアの訂正の能力と、装置コストのトレ
ードオフが可能であり、装置の製造者にとって選択の余
地が増加する利点がある。
【0069】しかもマスクROM中で修正を行うアドレ
スとデータを適当な形式で修正メモリに入れておけばよ
いので、プログラムやデータの訂正に必要な容量です
み、修正の必要のない部分はマスクROMの内容を使用
できるので、マスクROM全体のコードが使用できない
事態以外は、修正メモリの容量はマスクROMに比較し
て十分小さいものでよい。経験的にソフトウエア欠陥
は、プログラムのごく部分的な処理の不具合によること
が知られており、プログラム全体が使用できないという
可能性は考慮する必要がないほど低いので、実用的には
マスクROMの容量の数分の1以下の容量で十分と考え
られる。
【0070】例えば、16MbitのマスクROMと6
4KbitのEEPROMをICカード上に実装してプ
ログラムをマスクROMに書き込んでおけば、もしマス
クROMのプログラムにバグが発生した場合や、特定番
地の内容が読み出せなくなった場合でも、EEPROM
に修正アドレスと修正データを書き込むことによって、
問題なく使用できるようになる。EEPROMの容量
は、ソフトウエアの設計時点で、どの程度のソフトウエ
ア欠陥対策を行うか、新規開発の規模によって容量を6
4Kbit、256Kbit、1Mbitなど選択する
ことができる。
【0071】そしてこの装置やICカードが市場に流通
し、ユーザーに使用されるようになった状態で、ソフト
ウエア欠陥が発生しても、製造者は前記の方法で修正コ
ードをユーザーに配布すれば、あたかもフロッピーディ
スクの内容を修正するように、バグの修正をすることが
できる。この修正コードの配布は、装置にモデムが装備
されていれば、通信回線で行うことも可能なのでメンテ
ナンスも容易になる。またマスクROMに修正の必要が
無いと判断できれば、それ以降の装置やICカードの製
造の際、EEPROMを実装しないでおけばよい。
【0072】従って本発明による方法によれば、装置や
ICカードのマスクROMの全体を不揮発性メモリで置
き換える必要がなく、メンテナンスが容易でコスト的に
も実装面でも有利な特徴がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】本発明の処理方法を示したフローチャートであ
る。
【図3】本発明によるメモリマップ図である。
【図4】従来技術によるマスクROMの修正方法であ
る。
【図5】従来技術によるマスクROMの修正方法であ
る。
【符号の説明】
1 CPU(中央処理装置) 2 アドレスバス 3 データバス 4 比較器 5 データバス制御回路 6 アドレス変換回路 7 修正メモリ 8 ROM 9 制御信号 10 一致信号 11 修正アドレス信号 12 修正データ信号 13 変換アドレス信号 14 修正メモリ検出手段 15 修正コード入力手段 16 修正コード書き込み手段 17 修正コード検出手段 18 修正アドレス設定手段 19 検査符号

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】命令を実行しデータを処理するCPU(中
    央処理装置)と、前記CPUの命令やデータを格納する
    第1のメモリと、前記第1のメモリの内容を修正するた
    めの1つまたは複数の修正アドレスと修正データから構
    成される修正コードを保持する第2のメモリと、前記C
    PUと前記第2のメモリに接続され、前記CPUが出力
    するCPUアドレスと前記修正アドレスを比較する比較
    手段と、前記CPUと前記第1のメモリと前記第2のメ
    モリに接続されたデータバス制御手段とを具備し、 前記比較手段によって前記修正アドレスと前記CPUア
    ドレスが一致したことを検出した場合に、前記CPUが
    前記第1のメモリの前記CPUアドレスに対応する前記
    第2のメモリの前記修正データを前記CPUに供給し、
    前記修正アドレスと前記CPUアドレスが一致しないこ
    とを検出した場合には、前記第1のメモリ内容を前記C
    PUに供給することによって、選択的に前記第1のメモ
    リ内容を修正して処理を実行することを特徴とする情報
    処理装置。
  2. 【請求項2】請求項1による情報処理装置において、 第2メモリ検出手段によって前記第2のメモリが装備さ
    れている状態を検出し、装備されていなければ前記第1
    のメモリ内容を前記CPUに供給することを特徴とする
    請求項1記載の情報処理装置。
  3. 【請求項3】請求項2による情報処理装置において、 前記第2メモリ検出手段が前記第2メモリに書き込まれ
    た検査符号を調べることによって、前記第2メモリの装
    備状態を検出することを特徴とする請求項2記載の情報
    処理装置。
  4. 【請求項4】請求項2による情報処理装置において、 前記第2メモリ検出手段によって前記第2メモリがデー
    タバスに出力した信号か、または前記データバスが出力
    した信号かを判別することで、前記第2メモリの装備状
    態を検出することを特徴とする請求項2記載の情報処理
    装置。
  5. 【請求項5】請求項1による情報処理装置において、 修正コード検出手段によって前記第2のメモリに書かれ
    た内容を検査して、前記修正コードが書かれている場合
    には、前記比較手段によって前記修正アドレスと前記C
    PUアドレスを比較しながら処理を実行し、前記第2の
    メモリに前記修正コードが書かれていない場合には、前
    記第1のメモリの内容を前記CPUに供給することを特
    徴とする請求項1記載の情報処理装置。
  6. 【請求項6】請求項5による情報処理装置において、 前記修正コード検出手段によって前記第2のメモリに前
    記修正コードが書かれていることを、前記検査符号を調
    べることによって、検出することを特徴とする請求項5
    記載の情報処理装置。
  7. 【請求項7】請求項1による情報処理装置において、 前記第2のメモリに書き込むための前記修正コードを修
    正コード入力手段によって入力することを特徴とする請
    求項1記載の情報処理装置。
  8. 【請求項8】請求項7による情報処理装置において、 前記修正コード入力手段が通信手段を使用して、前記修
    正コードを入力することを特徴とする請求項7記載の情
    報処理装置。
  9. 【請求項9】請求項1による情報処理装置において、 前記第1のメモリの内容に修正が必要であるときは、前
    記第1メモリに対する前記修正コードを、選択的に前記
    第2のメモリに書き込むための、修正コード書き込み手
    段を持つことを特徴とする請求項1記載の情報処理装
    置。
  10. 【請求項10】請求項9による情報処理装置において、 前記修正コード書き込み手段が前記第1メモリに対する
    前記修正コードを書き込む場合、前記検査符号を書き込
    むことを特徴とする請求項10記載の情報処理装置。
  11. 【請求項11】請求項1による情報処理装置において、 前記第2のメモリが不揮発性のメモリによって構成され
    ることを特徴とする請求項1記載の情報処理装置。
  12. 【請求項12】請求項1による情報処理装置において、 少なくとも前記第1のメモリと前記第2のメモリを前記
    情報処理装置から脱着が可能な媒体に実装することを特
    徴とする請求項1記載の情報処理装置。
  13. 【請求項13】請求項12による情報処理装置におい
    て、 前記媒体に実装された前記第1のメモリと前記第2のメ
    モリに加えて、さらに前記比較手段と前記データバス制
    御手段を前記媒体に実装することを特徴とする請求項1
    2記載の情報処理装置。
  14. 【請求項14】請求項13による情報処理装置におい
    て、 前記媒体に実装された手段に加えて、さらに前記第2の
    メモリ検出手段と前記修正コード検出手段を前記媒体に
    実装することを特徴とする請求項13記載の情報処理装
    置。
  15. 【請求項15】命令を実行しデータを処理するCPU
    (中央処理装置)と、前記CPUの命令やデータを格納
    する第1のメモリと、前記第1のメモリの内容を修正す
    るための1つまたは複数の修正アドレスと修正データか
    ら構成される修正コードを保持する第2のメモリと、前
    記CPUに接続され、前記CPUが出力するCPUアド
    レスと前記修正アドレスを比較する比較手段と、前記C
    PUと前記第1のメモリと前記第2のメモリに接続され
    たデータバス制御手段と、前記第2のメモリに接続さ
    れ、前記修正アドレスを読み出して保持し前記比較手段
    に出力するとともに、前記CPUが出力する前記CPU
    アドレスを、前記修正アドレスに対応する前記修正デー
    タが格納された前記第2のメモリの物理アドレスに変換
    して、前記第2のメモリに出力するアドレス変換手段を
    とを具備し、 前記比較手段によって前記修正アドレスと前記CPUア
    ドレスが一致したことを検出した場合に、前記CPUが
    前記第1のメモリの前記CPUアドレスに対応する前記
    第2のメモリの前記修正データを前記CPUに供給し、
    前記修正アドレスと前記CPUアドレスが一致しないこ
    とを検出した場合には、前記第1のメモリ内容を前記C
    PUに供給することによって、選択的に前記第1のメモ
    リ内容を修正して処理を実行することを特徴とする情報
    処理装置。
  16. 【請求項16】請求項15による情報処理装置におい
    て、 第2メモリ検出手段によって前記第2のメモリが装備さ
    れている状態を検出し、装備されていなければ前記第1
    のメモリ内容を前記CPUに供給することを特徴とする
    請求項15記載の情報処理装置。
  17. 【請求項17】請求項16による情報処理装置におい
    て、 前記第2メモリ検出手段が前記第2メモリに書き込まれ
    た検査符号を調べることによって、前記第2メモリの装
    備状態を検出することを特徴とする請求項16記載の情
    報処理装置。
  18. 【請求項18】請求項16による情報処理装置におい
    て、 前記第2メモリ検出手段によって前記第2メモリがデー
    タバスに出力した信号か、または前記データバスが出力
    した信号かを判別することで、前記第2メモリの装備状
    態を検出することを特徴とする請求項16記載の情報処
    理装置。
  19. 【請求項19】請求項15による情報処理装置におい
    て、 修正コード検出手段によって前記第2のメモリに書かれ
    た内容を検査して、前記修正コードが書かれている場合
    には、前記比較手段によって前記修正アドレスと前記C
    PUアドレスを比較しながら処理を実行し、前記不第2
    のメモリに前記修正コードが書かれていない場合には、
    前記第1のメモリの内容を前記CPUに供給することを
    特徴とする請求項19記載の情報処理装置。
  20. 【請求項20】請求項19による情報処理装置におい
    て、 前記修正コード検出手段によって前記第2のメモリに前
    記修正コードが書かれていることを、前記検査符号を調
    べることによって、検出することを特徴とする請求項1
    9記載の情報処理装置。
  21. 【請求項21】請求項15による情報処理装置におい
    て、 修正アドレス設定手段によって、前記第2のメモリに書
    き込まれた前記修正コードの中から、前記修正アドレス
    を読み出して前記アドレス変換手段に設定することを特
    徴とする請求項15記載の情報処理装置。
  22. 【請求項22】請求項15による情報処理装置におい
    て、 前記第2のメモリに書き込むための前記修正コードを修
    正コード入力手段によって入力することを特徴とする請
    求項15記載の情報処理装置。
  23. 【請求項23】請求項22による情報処理装置におい
    て、 前記修正コード入力手段が通信手段を使用して、前記修
    正コードを入力することを特徴とする請求項22記載の
    情報処理装置。
  24. 【請求項24】請求項15による情報処理装置におい
    て、 前記第1のメモリの内容に修正が必要であるときは、前
    記第1のメモリに対する前記修正コードを、選択的に前
    記第2のメモリに書き込むための、修正コード書き込み
    手段を持つことを特徴とする請求項15記載の情報処理
    装置。
  25. 【請求項25】請求項24による情報処理装置におい
    て、 前記修正コード書き込み手段が前記第1メモリに対する
    前記修正コードを書き込む場合、前記検査符号を書き込
    むことを特徴とする請求項24記載の情報処理装置。
  26. 【請求項26】請求項15による情報処理装置におい
    て、 前記第2のメモリが不揮発性のメモリによって構成され
    ることを特徴とする請求項15記載の情報処理装置。
  27. 【請求項27】請求項15による情報処理装置におい
    て、 少なくとも前記第1のメモリと前記第2のメモリを前記
    情報処理装置から脱着が可能な媒体に実装することを特
    徴とする請求項15記載の情報処理装置。
  28. 【請求項28】請求項27による情報処理装置におい
    て、 前記媒体に実装された前記第1のメモリと前記第2のメ
    モリに加えて、さらに前記アドレス変換手段と前記比較
    手段と前記データバス制御手段を前記媒体に実装するこ
    とを特徴とする請求項27記載の情報処理装置。
  29. 【請求項29】請求項28による情報処理装置におい
    て、 前記媒体に実装された手段に加えて、さらに前記第2の
    メモリ検出手段と前記修正コード検出手段と前記修正ア
    ドレス設定手段を前記媒体に実装することを特徴とする
    請求項28記載の情報処理装置。
  30. 【請求項30】請求項15による情報処理装置におい
    て、 前記修正データのない場合は、前記第2のメモリを前記
    アドレス変換手段とともにキャッシュメモリとして動作
    させ、前記修正データがある場合は前記修正データを前
    記第2のメモリの一部の領域に常駐させて前記第1のメ
    モリを修正する動作を行い、残りの前記第2のメモリの
    領域をキャッシュメモリして動作させることを特徴とす
    る請求項15記載の情報処理装置。
JP4030877A 1992-02-18 1992-02-18 情報処理装置 Pending JPH05233266A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4030877A JPH05233266A (ja) 1992-02-18 1992-02-18 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4030877A JPH05233266A (ja) 1992-02-18 1992-02-18 情報処理装置

Publications (1)

Publication Number Publication Date
JPH05233266A true JPH05233266A (ja) 1993-09-10

Family

ID=12315969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4030877A Pending JPH05233266A (ja) 1992-02-18 1992-02-18 情報処理装置

Country Status (1)

Country Link
JP (1) JPH05233266A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377493B1 (en) * 1999-08-31 2002-04-23 Matsushita Electric Industrial Co., Ltd. Semiconductor apparatus
JP2005063438A (ja) * 2003-08-11 2005-03-10 Telairity Semiconductor Inc Romプログラミングの誤り又は欠陥を修復するシステム
US6889306B1 (en) 1999-10-29 2005-05-03 Matsushita Electric Industrial Co., Ltd. Microprocessor and program modification method in the microprocessor
KR100652002B1 (ko) * 1999-11-09 2006-11-30 엘지전자 주식회사 롬 정정 장치 및 방법
JP2010140469A (ja) * 2008-12-12 2010-06-24 Genesys Logic Inc 修正記憶部を有するプログラム更新システム及びその方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377493B1 (en) * 1999-08-31 2002-04-23 Matsushita Electric Industrial Co., Ltd. Semiconductor apparatus
US6487129B2 (en) 1999-08-31 2002-11-26 Matsushita Electric Industrial Co., Ltd. Semiconductor apparatus
US6889306B1 (en) 1999-10-29 2005-05-03 Matsushita Electric Industrial Co., Ltd. Microprocessor and program modification method in the microprocessor
KR100652002B1 (ko) * 1999-11-09 2006-11-30 엘지전자 주식회사 롬 정정 장치 및 방법
JP2005063438A (ja) * 2003-08-11 2005-03-10 Telairity Semiconductor Inc Romプログラミングの誤り又は欠陥を修復するシステム
JP2010140469A (ja) * 2008-12-12 2010-06-24 Genesys Logic Inc 修正記憶部を有するプログラム更新システム及びその方法

Similar Documents

Publication Publication Date Title
US5664199A (en) Microcomputer free from control of central processing unit (CPU) for receiving and writing instructions into memory independent of and during execution of CPU
US7840845B2 (en) Method and system for setting a breakpoint
US5826075A (en) Automated programmable fireware store for a personal computer system
US6282640B1 (en) Method for improved storage of computer system configuration information
US5684948A (en) Memory management circuit which provides simulated privilege levels
JPH05216654A (ja) パーソナル・コンピュータ・システム用ファームウェア記憶装置
US5606662A (en) Auto DRAM parity enable/disable mechanism
US6119248A (en) Operating system notification of correctable error in computer information
US7290128B2 (en) Fault resilient boot method for multi-rail processors in a computer system by disabling processor with the failed voltage regulator to control rebooting of the processors
US7139919B2 (en) Information processing apparatus with central processing unit and main memory having power saving mode, and power saving controlling method
JPH1078889A (ja) マイクロコンピュータ
JP3192664B2 (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
US6898738B2 (en) High integrity cache directory
JPH05233266A (ja) 情報処理装置
US6216225B1 (en) PC system having flash-ROM controlling device and method for protecting BIOS stored in flash-ROM
JPH06324857A (ja) コンピュータシステム
TW461997B (en) Write protection method of programmable chipset software
WO1996038790A1 (en) A system and method for patching microcode during the debugging of a processor
KR20030055150A (ko) 마이크로프로세서 및 마이크로프로세서의 처리 방법
JP4083474B2 (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
JPH1165898A (ja) 電子計算機の保守方式
JP2003150458A (ja) 障害検出装置、障害検出方法、プログラム及びプログラム記録媒体
US5970237A (en) Device to assist software emulation of hardware functions
KR20000008845A (ko) 컴퓨터 시스템의 부팅방법
JP3447835B2 (ja) Ramチップ識別方式