JP2001143495A - 半導体装置 - Google Patents
半導体装置Info
- Publication number
- JP2001143495A JP2001143495A JP2000192278A JP2000192278A JP2001143495A JP 2001143495 A JP2001143495 A JP 2001143495A JP 2000192278 A JP2000192278 A JP 2000192278A JP 2000192278 A JP2000192278 A JP 2000192278A JP 2001143495 A JP2001143495 A JP 2001143495A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- written
- mask
- microcomputer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
載したマイクロコンピュータにおいて、マスクROMの
修正を行わずにソフトウエアのバグを解決することを目
的とする。 【解決手段】 第1のデータ21aにバグがあった場
合、第2のデータ22aの所定のビットを書き換えるよ
うにしたことにより、マイクロコンピュータ10のソフ
トウェアバグを修正することができる。
Description
載したマイクロコンピュータのソフトウエアのバグに対
する不具合を解決する半導体装置に関するものである。
コンピュータのソフトウエアのバグ対策に関しては、マ
スクROMの変更等によるプログラム領域の変更による
解決が一般的になされている。
クロコンピュータのソフトウエアのバグに対する不具合
対策方法について説明する。
ンピュータのソフトウエアのバグに対する不具合対策
は、マスクROMを再度作成し直すか、マスクROM内
のプログラム領域の一部をマイクロコンピュータ外部の
不揮発性メモリに書き換えておいて、その不揮発性メモ
リの内容を書き換えることによって解決する方法がとら
れている。マイクロコンピュータの構成を図5に示す。
図5において、51はプログラム領域の読み出し専用メ
モリでマスクROM、52はデータ領域の揮発性のメモ
リでRAM、53は中央演算処理器でCPU、50は上
記構成を内蔵したマイクロコンピュータである。
ピュータのマスクROMのソフトウエアの不具合の対策
について、以下その動作について説明する。
ロコンピュータ50のソフトウエア部にバグが存在して
いた場合、その不具合解決方法は、マスクROM51の
再変更を行うか、マスクROM51内のプログラム領域
の一部を、マイクロコンピュータ外部に配された不揮発
性メモリに書き換えることによって実現していた。
来の構成では、マスクROM51を搭載したマイクロコ
ンピュータ50にソフトウエアのバグが存在する場合、
マイクロコンピュータ自体をウエハーの状態から再度拡
散工程を経て作成し直さなければならなく、これには、
時間と費用が多く必要とされるという問題点を有してい
た。また、プログラム領域の一部を、マイクロコンピュ
ータ50外部に配された不揮発性メモリに書き換える場
合も、多量の不揮発性メモリを必要とし、多くの費用が
必要とされる問題を有していた。
で、マスクROMを変更せず、かつプログラム領域の一
部を、マイクロコンピュータ外部に配された不揮発性メ
モリに書き換えることなく、ソフトウエアのバグによる
不具合を解決することができる半導体装置を提供するこ
とを目的とする。
に本発明の半導体装置は、プログラムが記憶されたプロ
グラム領域を有するマスクROMと前記プログラムの動
作に用いるデータを記憶したデータ領域を有する書き換
え可能なメモリと中央演算処理手段とを備えた制御手段
と、前記メモリにおける任意のデータ領域を書き換え可
能な任意のデータを記憶する記憶手段とを備えたもので
ある。
ずに、ソフトウエアのバグによる不具合を解決すること
ができる。
明は、プログラムが記憶されたプログラム領域を有する
マスクROMと前記プログラムの動作に用いるデータを
記憶したデータ領域を有する書き換え可能なメモリと中
央演算処理手段とを備えた制御手段と、前記メモリにお
ける任意のデータ領域を書き換え可能な任意のデータを
記憶する記憶手段とを備えたものであり、マスクROM
を変更せずに、ソフトウエアのバグによる不具合を解決
することができるという作用を有する。
を用いて説明する。
備えた電子機器が誤動作した際や、マイクロコンピュー
タによって動作する機能を一部変更したい場合、マイク
ロコンピュータ内のソフトウェアを修正する必要があ
る。従来ではマスクROMを作成し直すなどの大コスト
がかかる処理を行っていたが、本実施の形態では、この
ようなソフトウェアの修正に対して、マイクロコンピュ
ータ内のRAM(データ領域)における、例えばバグの
原因となっている誤ったデータを、マイクロコンピュー
タに外部接続した不揮発性メモリーによって、RAM内
のデータを低コストで正しいデータに書き換えるという
ものである。このような不揮発性メモリは予め電子機器
内に搭載され、マイクロコンピュータと接続されてい
る。そして、電子機器が誤動作した時に、不揮発性メモ
リーに、任意の、RAMにおけるデータ修正を行うアド
レスを特定するソースアドレスデータやターゲットアド
レスデータ、実際にデータ修正を行う際に用いるマスク
データや比較データなどを、使用者やマイクロコンピュ
ータ開発者によって書き込まれる。これらのデータが書
き込まれた後、電子機器本体の電源を投入することで、
RAMのデータの書き換えが行われる。なお、以下の説
明では使用者やマイクロコンピュータ開発者を簡略化し
て、マイクロコンピュータ開発者として明記する。
ータに接続し、前述の各データを書き込んでいない状態
の時、つまりRAMのデータを書き換え可能なデータを
記憶する前は、不揮発性メモリの各アドレスには数値
「0」が書き込まれている。
体装置の構成を示すブロック図、図2は同実施の形態の
具体構成を模式的に示したブロック図である。
れ機器の動作制御などを行う制御手段であるマイクロコ
ンピュータ、8はマイクロコンピュータ10の外部に設
けられマイクロコンピュータ10と接続されている記憶
手段である不揮発性メモリである。不揮発性メモリ8の
内部には、後述するRAM2における任意のアドレスで
ある第1のアドレス21を指定するソースアドレス8
1、RAM2の第1のアドレス21内の第1のデータ2
1aにおける所定のビットを抽出するために演算処理を
行う第1のマスクデータ82、前述の演算結果と比較す
る比較データ83、前述の比較結果によりRAM2にお
ける第2のアドレス22内の第2のデータ22aにおけ
る所定のビットを他の値に書き換えるための第2のマス
クデータ84、後述する第2のアドレス22を特定する
ターゲットアドレス85とが配され、それぞれマイクロ
コンピュータ開発者や使用者によってデータを変更する
ことができるものである。なお、これらのデータがマイ
クロコンピュータ開発者によって書き込まれるのは、本
機器において誤動作が発生しマイクロコンピュータ10
のバグが発覚した時で、データが書き込まれる前はそれ
ぞれのデータとして「0」が書き込まれている。
れ各種演算処理動作を行う中央演算処理装置(以下、C
PUと記す)、2はマイクロコンピュータ10内に設け
られマスクROM1に記録されたプログラムとともにマ
スクROM1を介してCPU3を制御するデータを記録
した書き換え可能なメモリであるRAM(Random Acces
s Memory)で、21及び22はRAM2内のデータ領域
である第1及び第2のアドレスであり、第1のアドレス
21に書き込まれた第1のデータ21aが特定のデータ
の時、第2のアドレス22に書き込まれた第2のデータ
22aが所定の結果を出力するようになっている。21
a及び22aは第1及び第2のアドレス21及び22に
それぞれ書き込まれている第1及び第2のデータであ
る。
データ82と第1のデータ21aとを論理演算し第1の
データ21aにおける所定のビットを抽出する第1の演
算手段である第1の演算器で、本実施の形態では乗算動
作を行うものとしたが、これに限定されるものではな
い。5は第1の演算器4の演算結果と不揮発性メモリ8
からの比較データ83とを比較する比較手段である比較
器、7は比較器5の比較結果により開放(OFF)/接
続(ON)切換を行う切換手段である切換器で、後述す
る第2の演算器6の演算結果を第2のデータ22aと書
き換えるか否かを切り替えるものである。本実施の形態
の切換器7は、比較器5の比較結果が真(第1の演算器
4の演算結果と比較データ83とが一致している場合)
はONとなり、第2の演算器6の演算結果に基づき第2
のデータ22aの所定ビットが正しい値に書き換えられ
るが、比較器5の比較結果が偽(第1の演算器4の演算
結果と比較データ83とが不一致の場合)は切換器7は
OFFとなり、第2のデータ22aは書き換えられな
い。
ータ84とで論理演算する第2の演算手段である第2の
演算器で、本実施の形態では論理加算の処理を行うもの
としたが、これに限定されるものではない。1はマイク
ロコンピュータ10の内部に設けられたマスクROM
(ROM=Read Only Memory)で、CPU3をコントロ
ールするソフトウエアが書き込まれている。第2の演算
器6は、第2のデータ22aにおける所定ビットの値が
正しくない値である場合に、所定ビットが正しい値に設
定された第2のマスクデータ84と論理演算を行い、第
2のデータ22aの所定ビットを正しい値に修正するも
のである。
3、第1の演算器4、比較器5、第2の演算器6、切換
器7はマイクロコンピュータ10内に設けられている。
コンピュータ10のバグの原因となっているRAM2に
おけるアドレスやビット、バグがあるアドレスやビット
を抽出するためのソースアドレス81や第1のマスクデ
ータ82、バグの有無を確認するための比較データ8
3、RAM内のデータを書き換えるための第2のマスク
データ84、ターゲットアドレス85は、予め解ってい
るものとし、不揮発性メモリ8に必要なデータを予め書
き込んでおく。
導体装置について、図1及び図2を用いてその動作を説
明する。
め不揮発性メモリ8が接続された状態で機器内に組み込
まれている。不揮発性メモリ8内の全てのアドレスに
は、組み込み当初は「0」が書き込まれていて、RAM
2内のデータを不用意に書き換えないようにしている。
したり、マイクロコンピュータ10の機能の一部を変更
したい時、マイクロコンピュータ10内のソフトウェア
の一部を変更する必要がある。本実施の形態では、マイ
クロコンピュータ10内のデータ領域をRAM2で構成
しているため、任意に書き換えることが可能である。書
き換えるためには、書き換えるためのデータや、書き換
えるアドレスを特定するためのデータを、マイクロコン
ピュータ開発者が不揮発性メモリ8に書き込むことで、
RAM2内のデータを書き換えることが可能になる。
と、不揮発性メモリ8内のソースアドレス81によっ
て、RAM2内の任意のアドレスである第1のアドレス
21を選び、その第1のアドレス21に書き込まれた第
1のデータ21aと、不揮発性メモリ8内の第1のマス
クデータ82とを、第1の演算器4で論理演算し、第1
のデータ21aにおける所定のビットを読み出す。その
演算結果と比較データ83とを比較器5で比較する。そ
の比較結果に応じて、切換器7を切り換えるよう制御し
ている。比較データ83は、その所定ビットの値が、第
1の演算器4の演算結果の所定ビットの値と一致するよ
うなデータを書き込んでおき、この比較データ83と第
1の演算器4の演算結果とが一致した時は、第2のアド
レス22の第2のデータ22aの所定ビットの値を修正
できるよう、切換器7をONにするよう制御する。
器4のデータと比較データ83とが一致した場合は、切
換器7をONにして第2のデータ22aを書き換える。
また、比較器5における比較の結果、第1の演算器4の
データと比較データ83とが不一致である場合は、切換
器7をOFFにして第2のデータ22aを書き換えな
い。
アドレス85によってRAM2内の第2のアドレス22
を指定し、第2のアドレス22内の第2のデータ22a
の所定のビットを第2の演算器6に読み出す。第2の演
算器6では、不揮発性メモリ8内の第2のマスクデータ
84と論理演算を行い、切換器7に出力している。ここ
で、切換器7がONの場合は第2の演算器6の演算結果
を第2のデータ22aに書き込む(所定ビットを書き換
える)が、切換器7がOFFの場合は第2の演算器6の
演算結果は第2のデータ22aに書き込まれず、第2の
データ22aは何等変更されない。
タ22aとはそれぞれ対になって動作するものであり、
第1のデータ21aの条件に基づいて、前記条件に応じ
た結果を第2のデータ22aとして出力するものであ
る。
述する。
る各データについて説明する。
揮発性メモリ8内の各データはそれぞれ8ビットのデー
タで実現している。マイクロコンピュータ開発者はマイ
クロコンピュータ10を搭載した機器の誤動作から、マ
イクロコンピュータ10内にバグがあることを認識し、
その誤動作の状態に基づき例えばRAM2に書き込まれ
た内容を書き記したRAMマップを用いて、RAM2内
におけるバグがあると思われる第2のアドレス22の第
2のデータ22aを特定する。次に、マイクロコンピュ
ータ開発者は、第2のデータ22aと、第2のデータ2
2aと対になって動作する第1のデータ21aとを不揮
発性メモリ8によって特定するために、第1のアドレス
21に対応するアドレスを不揮発性メモリ8内のソース
アドレス81に書き込み、第2のアドレス22に対応す
るアドレスを不揮発性メモリ8内のターゲットアドレス
85に書き込む。
タ21aとして「01000101」が書き込まれてい
ることはマイクロコンピュータ開発者は既に解ってお
り、バグがある第2のデータ22aの所定ビットに対応
した、第1のデータ21aにおける所定ビットの値を第
1の演算器4で抽出するための第1のマスクデータ82
として「00000100」を不揮発性メモリ8に書き
込む。
抽出したビットの値と比較するための比較データ83
「00000100」を、不揮発性メモリ8に書き込
む。この比較データ83は、バグがあると思われる第2
のデータ22aにおけるビットに対応した、第1のデー
タ21aにおける所定ビットの値と一致するデータとな
っている。つまり、第1のマスクデータ82を用いて第
1のデータ21aから所定ビットの値を抽出し、そのビ
ットの値が所望の値であるかどうかを確認するものであ
る。
1のデータ21aの条件に基づいてその結果が第2のデ
ータ22aとして出力されることは既に解っており、そ
の第2のデータ22a「00000010」が書き込ま
れている第2のアドレス22を、例えばRAMマップを
用いて特定する。そして、バグ修正時に第2のアドレス
22を不揮発性メモリ8によって指定するために、第2
のアドレス22に対応するアドレスを、不揮発性メモリ
8内のターゲットアドレス85に書き込む。
特定した第2のアドレス22の第2のデータ22aにお
ける、バグがあると思われる所定のビットを、他の値に
書き換えるための第2のマスクデータ84「00100
000」を、不揮発性メモリ8に書き込む。
ュータにバグがあると判断された時は、マイクロコンピ
ュータ開発者や使用者によって不揮発性メモリ8に、ソ
ースアドレス81と第1のマスクデータ82と比較デー
タ83と第2のマスクデータ84とターゲットアドレス
85を書き込む。そして、ソースアドレス81によって
選ばれた第1のデータ21a「01000101」と第
1のマスクデータ82「00000100」とを、第1
の演算器4で論理乗算を行う。ここで、第1のマスクデ
ータ82は、第1のデータ21aと論理乗算することで
第1のデータ21aにおける所定のビット(本例では最
下位から数えて3ビット目)の値を抽出するようなデー
タとなっている。よって論理乗算の結果は「00000
100」となる。その演算結果「00000100」と
比較データ83「00000100」とを比較器5で比
較する。ここで、比較器5で比較データ83と第1の演
算器4の演算結果とを比較するのは、第1の演算器4に
おいて抽出した所定ビットの値が、所望の値であるか否
かを確認するためである。
RAM2内の第2のアドレス22を選び、その第2のア
ドレス22に書き込まれた第2のデータ22aと第2の
マスクデータ84とを、第2の演算器6で論理演算す
る。例えば、ターゲットアドレス85で選ばれた第2の
アドレス22の第2のデータ22aとして「00000
010」、第2のマスクデータ84として「00100
000」が入っている状態で、それぞれのデータを第2
の演算器6で論理加算を行う。その論理加算の結果は
「00100010」となる。
果、第1の演算器4の演算結果と比較データ83とが一
致した場合は、切換器7をONにし、第1の演算器4の
演算結果と比較データ83とが不一致の場合は、切換器
7をOFFにする。切換器7がOFFの場合、つまり第
2のデータ22aを修正する必要がない場合は、第2の
演算器6の演算結果は第2のデータ22aに反映されず
データは何等変更されないが、切換器7がONの場合
は、前述の第2の演算器6の演算結果に基づき、第2の
データ22a内の所定のビットを、正しい値に書き換え
る。本実施の形態では、第2のデータ22aに演算前に
書き込まれていたデータ「00000010」を、第2
の演算器6の演算結果である「00100010」に書
き換える。つまり、第2のデータ22aの左から3ビッ
ト目の値が本来「1」でないといけないものが、「0」
となっていたため、第2の演算器6の演算結果により
「1」に書き換える。
のデータ22aの所定のビットの値にバグがあった場
合、予めマイクロコンピュータ10に接続された不揮発
性メモリ8に、データを書き換えるための任意のアドレ
スやデータを書き込むことで、第2のデータ22aの所
定ビットの値を書き換えるようにしたことにより、マイ
クロコンピュータ10のソフトウェアバグを修正するこ
とができるので、マイクロコンピュータにおけるバグ修
正を、小容量の不揮発性メモリによる、低コストでの実
現が可能であるという優れた効果が得られる。
置を用いた一例を実施の形態2として説明する。本実施
の形態で示す用例は、ビデオテープレコーダーに一般的
に用いられている誤消去防止爪検出による動作制御を行
うマイクロコンピュータのバグ修正である。
プレコーダーが誤動作した際や、マイクロコンピュータ
によって動作する機能を一部変更したい場合、マイクロ
コンピュータ内のソフトウェアを修正する必要がある。
従来ではマスクROMを作成し直すなどの大コストがか
かる処理を行っていたが、本実施の形態では、このよう
なソフトウェアの修正に対して、マイクロコンピュータ
内のRAM(データ領域)における、例えばバグの原因
となっている誤ったデータを、マイクロコンピュータに
外部接続した不揮発性メモリーによって、RAM内のデ
ータを低コストで正しいデータに書き換えるというもの
である。このような不揮発性メモリは予めビデオテープ
レコーダー内に搭載され、マイクロコンピュータと接続
されている。そして、ビデオテープレコーダーが誤動作
した時に、不揮発性メモリーに、任意の、RAMにおけ
るデータ修正を行うアドレスを特定するソースアドレス
データやターゲットアドレスデータ、実際にデータ修正
を行う際に用いるマスクデータや比較データなどを、使
用者やマイクロコンピュータ開発者によって書き込まれ
る。これらのデータが書き込まれた後、ビデオテープレ
コーダーの電源を投入することで、RAMのデータの書
き換えが行われる。
ータに接続し、前述の各データを書き込んでいない状態
の時、つまりRAMのデータを書き換え可能なデータを
記憶する前は、不揮発性メモリの各アドレスには数値
「0」が書き込まれている。
ープカセットの外観を示す斜視図で、同図(a)は誤消
去防止爪が有る(記録可能状態)テープカセット、同図
(b)は誤消去防止爪が無い(記録不可能状態)テープ
カセットを示している。31はテープカセット、32は
爪の有無や開閉式の扉などで構成される誤消去防止検出
部である。
図であり、説明の便宜上、実施の形態1で用いたマスク
ROMとCPUの描画を省いた。図4において、20は
電子機器の動作を制御する制御手段であるマイクロコン
ピュータ、8はマイクロコンピュータ20に接続しマイ
クロコンピュータ20内のバグを修正するデータを記憶
した記憶手段である不揮発性メモリである。不揮発性メ
モリ8の内部には、RAM2における第1のデータ41
が記録された任意のアドレスを特定するソースアドレス
81、第1のデータ41と論理演算を行う第1のマスク
データ82、第1の演算器4の演算結果と比較する比較
データ83、第2のデータ42と論理演算を行う第2の
マスクデータ84、第2のデータ42のアドレスを特定
するターゲットアドレス85とが配されており、各デー
タはマイクロコンピュータ開発者によって任意のデータ
に変更することができるものである。なお、不揮発性メ
モリ8は、予めマイクロコンピュータ20に接続した状
態にしておき、本機器が誤動作してマイクロコンピュー
タ20にバグがあると判明した時に、マイクロコンピュ
ータ開発者が上記各データを不揮発性メモリ8に書き込
むものである。
モリであるRAM(Random AccessMemory)で、41及
び42はRAM2内のデータ領域(アドレス)に書き込
まれた第1及び第2のデータである。
クデータ82と第1のデータ41とを論理演算する第1
の演算手段である第1の演算器で、本実施の形態では乗
算器としたが、後述する第1の選択データ86によって
例えば加算器にも設定可能であり、その他の論理演算器
にも対応できるものであり、これらに限定されるもので
はない。
タ83とを比較し後述する切換器7のON/OFF切換
制御を行う比較手段である比較器で、本実施の形態では
第1の演算器4の演算結果と比較データ83とが一致し
た場合に切換器7をON状態にするよう動作している。
つまり、第1の演算器4によって抽出された第1のデー
タ41の所定ビットの値が、所望データである比較デー
タ83との一致性を確認している。
F)/接続(ON)切換を行う切換手段である切換器
で、後述する第2の演算器6の演算結果を第2のデータ
42に書き込むか否かを切り替えるものである。
タ84とで論理演算する第2の演算手段である第2の演
算器で、本実施の形態では乗算器としたが、後述する第
2の選択データ87によって例えば加算器にも設定可能
であり、その他の論理演算器にも対応できるものであ
り、これらに限定されるものではない。86は第1の演
算器4を乗算器か加算器のいずれかを選択可能な第1の
選択データ、87は第2の演算器6を乗算器か加算器の
いずれかを選択可能な第2の選択データであり、第1及
び第2の選択データ86及び87において、「01h」
に設定された時は乗算器を指定し、「02h」に設定さ
れた時は加算器を指定する。
2、第1の演算器4、比較器5、第2の演算器6、切換
器7がそれぞれ設けられている。
導体装置について、以下その動作について説明する。
ーに用いられるテープカセット31には、誤消去防止検
出部32(本実施の形態では爪)がカセット側面に付い
ており、その爪が付いていると記録可能であり(図3
(a))、その爪がなければ(図3(b))記録をして
はいけないという規則性がある。このようなテープカセ
ットを用いるビデオテープレコーダのコントロールに
は、マスクROMを搭載したマイクロコンピュータを使
用している。
コーダのソフトウエアに、誤消去防止用の爪が付いてい
ない(折れている)にもかかわらず、記録動作を行って
しまうという誤動作が発覚したとする。このような誤動
作の原因としては検出メカニズムの故障なども考えられ
るが、本実施の形態での説明はマイクロコンピュータ内
のソフトウェアのバグによる誤動作を前提としている。
上記のように、ソフトウェアバグの原因による誤動作
は、ソフトウェアにおいて誤消去防止爪が付いていない
(折れている)時にフラグが「1」になる「誤消去防止
フラグ」と、誤消去防止フラグが「1」になっている時
に記録動作を行わないよう制御する「記録開始フラグ」
との関係に誤りがある場合に生じる。なお、「記録開始
フラグ」が「1」の時は記録動作を開始し、「0」の時
は記録動作を開始しない。
いる(誤消去防止爪が折れている)時は、記録開始フラ
グは「0」(記録動作を開始しない)であることが正常
であるにも関わらず、記録開始フラグが「1」になって
いる(記録動作を開始する)という状態になっている
と、ビデオテープレコーダは前述のような誤動作を引き
起こしてしまう。この時、本装置を働かせて、誤消去防
止フラグが「1」になっていたら、記録開始フラグを
「0」にする(記録動作を行わない)という動作をさせ
るように、RAMのデータ領域における記録開始フラグ
の部分を書き換えるよう動作させる。その結果、ソフト
ウエアのバグが解消され、再度、マスクROMを作成し
なおす必要がなくなるというものである。
する。
マイクロコンピュータ20に接続された状態でビデオテ
ープレコーダ内に配される。この時の不揮発性メモリ8
の全てのアドレスには、「0」の値が既に書き込まれて
いるため、RAM2内のデータを不用意に書き換える動
作は行われない。このようなビデオテープレコーダにお
いて、誤消去防止検出部32の爪が無いにも関わらず、
記録動作を開始してしまう誤動作が発生し、マイクロコ
ンピュータ20のバグが原因であることが発覚すると、
マイクロコンピュータ開発者は、以下の手順に従って、
不揮発性メモリ8に各データを予め書き込む。
てRAM2内における、誤消去防止フラグが書き込まれ
ているアドレスやビット、記録開始フラグが書き込まれ
ているアドレスやビットは、予め解っているものとす
る。そして、これら既知の情報に基づき、誤消去防止フ
ラグがRAM2におけるアドレス「16C5h」番地の
左から2ビット目に第1のデータ41として書き込み、
記録開始フラグがアドレス「3A67h」番地の左から
6ビット目に第2のデータ42として書き込むとする
と、マイクロコンピュータ開発者は不揮発性メモリ8
に、任意のアドレスとしてソースアドレス81「16C
5h」、第1のマスクデータ82として第1のデータ4
1における左から2ビット目を読み出すためのデータ
「01000000」、比較データ83として第1の演
算器4の演算結果と比較するためのデータ「01000
000」、第2のマスクデータ84として第2のデータ
42の左から6ビット目を書き換えるためのデータ「1
1111011」、ターゲットアドレス85として第2
のデータ42のアドレスを特定するための「3A67
h」をそれぞれ書き込んでおく。
器4の演算結果と比較して、誤消去防止フラグが「1」
の時の第1のデータ41と第1のマスクデータ82との
演算結果と一致するデータを書き込む。つまり、誤消去
防止フラグが「1」の時における、第2のデータ42を
修正するためである。誤消去防止フラグが「0」の時
(つまり誤消去防止爪が有る場合)については、第2の
データ42を修正する必要がないので、第1の演算器4
の演算結果と比較データ83とが不一致の場合は、第2
のデータ42は変更されない。なお、不揮発性メモリ8
へのデータの書き込みは、専用の書き込み装置を用いて
書き込むなど方法がある。
の演算器4が乗算器として動作するように「01h」、
第2の選択データ87には第2の演算器6が乗算器とし
て動作するように「01h」をそれぞれ書き込んでお
く。また、第2のマスクデータ84には、第2の演算器
6において乗算処理された時に、第2のデータ42の左
から6ビット目を「1」から「0」に書き換えるような
データ「11111011」を書き込んでおく。
ス81によりRAM2の任意のアドレス「16C5h」
が指定され、そのアドレスに書き込まれている第1のデ
ータ41「01000000」を読み出す。読み出した
第1のデータ41は第1の演算器4に入力され、第1の
演算器4において、第1のデータ41「0100000
0」と、不揮発性メモリ8における第1のマスクデータ
82「01000000」とを乗算処理する。つまり、
第1のデータ41における誤消去防止フラグが書き込ま
れているビットの値を抽出する。その演算結果は「01
000000」となり、その演算結果は比較器5に入力
される。比較器5は、第1の演算器4の演算結果「01
000000」と、不揮発性メモリ8における比較デー
タ83「01000000」とを比較し、各々のデータ
が一致(つまり、誤消去防止フラグ(左から2ビット
目)が1になっている時)しているため、切換器7をO
Nになるよう制御する。
7h」によって、RAM2における第2のデータ42の
アドレスを特定し、第2のデータ42「0000010
0」を第2の演算器6に読み出す。第2の演算器6で、
第2のデータ42「00000100」とマスクデータ
84「11111011」とを乗算処理する。その乗算
結果は「00000000」となる。つまり、修正した
いビット(左から6ビット目)の値を「1」から「0」
にするものであり、修正したいビット以外のビットにつ
いては、第2の演算器6における演算によって値が変更
されないように全て「1」となっている。
の演算器6の演算結果「00000000」が第2のデ
ータ42に書き込まれる。この時、第2の演算器6で演
算される前の第2のデータ42は、記録開始フラグ(左
から6ビット目)が「1」になっていたが、第2の演算
器6の演算結果に書き換えられることにより、第2のデ
ータ42の記録開始フラグが「0」になる。その結果、
第1のデータ41における誤消去防止フラグ(左から2
ビット目)が「1」になっていたら、第2のデータ42
における記録開始フラグ(左から6ビット目)が「0」
になるという動作になるので、誤消去防止用の爪が付い
ていないのに記録してしまうというバグが解消されたこ
とになる。
ンピュータ20をビデオテープレコーダーで動作させる
と、誤消去防止検出部32が有るテープカセット31
(図3(a)参照)では、操作者の録画指令により記録
動作を行い、誤消去防止検出部32が無いテープカセッ
ト31(図3(b)参照)では、操作者の誤った録画指
令を行っても記録動作が行われない正常動作となる。
発性メモリ8に、第1及び第2のマスクデータ82及び
84とソースアドレス81と比較データ83とターゲッ
トアドレス85の任意のデータを書き込み、ソースアド
レス81によってRAM2内の第1のデータ41を抽出
し、誤消去防止フラグが書き込まれている第1のデータ
41の中から第1のマスクデータ82によって誤消去防
止フラグを読み出し、比較データ83と比較し、比較デ
ータ83と一致した時は、記録開始フラグが書き込まれ
ている第2のデータ42と第2のマスクデータ84とを
第2の演算器6で演算した結果を、第2のデータ42に
書き込むことにより、誤消去防止フラグが「1」になっ
ている時は記録開始フラグを「0」にするように第2の
データ42を修正することができるものであり、マイク
ロコンピュータにおけるバグ修正を、小容量の不揮発性
メモリによる、低コストでの実現が可能であるという優
れた効果が得られる。
ンピュータ開発者によってバグに応じたソースアドレ
ス、ターゲットアドレスの指定や、各データ設定を行う
ことができるので、様々なバグに対して、マスクROM
を変更せずにバグの修正を行うことができるものであ
る。
2の演算器4及び6を乗算器として説明したが、不揮発
性メモリ8内の第1及び第2の選択データ86及び87
を変更することで、第1及び第2の演算器のいずれか一
方または両方を加算器などに設定することが可能であ
る。また、本実施の形態においては乗算器と加算器のみ
に切り換え可能な構成としたが、除算器などの他の論理
演算器に設定することも可能である。
変更せず、かつプログラム領域の一部を、マイクロコン
ピュータ外部に配された不揮発性メモリに書き換えるこ
となく、ソフトウエアのバグ修正を、小容量の不揮発性
メモリによる低コストでの実現が可能であるという優れ
た効果が得られるものである。
する際、マイクロコンピュータ自体をウエハーの状態か
ら再度拡散工程を経て作成し直すような作業が不要とな
り、コストを大幅に低減させることができるという優れ
た効果が得られるものである。
成を示すブロック図
のため模式的に示したブロック図
明するためのテープカセットの外観構成を示す斜視図
ク図
Claims (6)
- 【請求項1】 プログラムが記憶されたプログラム領域
を有するマスクROMと前記プログラムの動作に用いる
データを記憶したデータ領域を有する書き換え可能なメ
モリと中央演算処理手段とを備えた制御手段と、前記メ
モリにおける任意のデータ領域を書き換え可能な任意の
データを記憶する記憶手段とを備えたことを特徴とする
半導体装置。 - 【請求項2】 記憶手段は、メモリにおけるデータ領域
を書き換え可能な任意のデータを記憶する前は、数値
「0」が書き込まれていることを特徴とする請求項1及
び4記載の半導体装置。 - 【請求項3】 メモリは、所定の条件が設定された第1
のデータと、前記第1のデータの条件に応じた結果出力
を行う第2のデータとを備えたことを特徴とする請求項
1記載の半導体装置。 - 【請求項4】 記憶手段は、メモリ内の第1のアドレス
を指定するソースアドレスと、前記第1のアドレスに書
き込まれた第1のデータの所定のビットの値を読み出す
ための第1のマスクデータと、前記第1のマスクデータ
と前記第1のデータとで演算処理した演算の結果データ
と比較するための比較データと、前記メモリ内の第2の
アドレスを指定するターゲットアドレスと、前記第2の
アドレスに書き込まれた第2のデータと演算するための
第2のマスクデータとを備えたことを特徴とする請求項
1記載の半導体装置。 - 【請求項5】 制御手段は、メモリ内のソースアドレス
によって選択された任意の第1のアドレスに書き込まれ
た第1のデータと記憶手段からの第1のマスクデータと
で演算処理する第1の演算手段と、前記第1の演算手段
の演算結果と前記記憶手段からの比較データとの比較を
行う比較手段と、前記比較手段の比較結果によりON/
OFFを切り換えられる切換手段と、前記メモリ内の第
2のアドレスに書き込まれた第2のデータと前記記憶手
段からの第2のマスクデータとで演算処理する第2の演
算手段とを備えたことを特徴とする請求項1記載の半導
体装置。 - 【請求項6】 第1及び第2のデータが書き込まれた制
御手段と、第1及び第2のマスクデータと比較データと
ソースアドレスとターゲットアドレスとを有する記憶手
段と備えた半導体装置であって、数値「0」が書き込ま
れた前記記憶手段に任意の前記第1及び第2のマスクデ
ータと前記比較データと前記ソースアドレスと前記ター
ゲットアドレスとを書き込み、前記ソースアドレスに基
づき前記第1のデータを抽出し、前記第1のデータと前
記第1のマスクデータとで第1の演算を行い、前記第1
の演算結果と前記比較データとを比較し、前記ターゲッ
トアドレスに基づき前記第2のデータを抽出し、前記第
2のデータと前記第2のマスクデータとで第2の演算を
行い、前記比較の結果によって前記第2の演算結果を前
記第2のデータに書き込むか否かを切り換えることを特
徴とする半導体装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000192278A JP3750494B2 (ja) | 1999-08-31 | 2000-06-27 | 半導体装置 |
US09/649,067 US6377493B1 (en) | 1999-08-31 | 2000-08-29 | Semiconductor apparatus |
DE60009999T DE60009999T2 (de) | 1999-08-31 | 2000-08-30 | Halbleitervorrichtung |
EP00118714A EP1081595B1 (en) | 1999-08-31 | 2000-08-30 | Semiconductor apparatus |
KR1020000050731A KR100723097B1 (ko) | 1999-08-31 | 2000-08-30 | 반도체 장치 |
CNB001268686A CN1206658C (zh) | 1999-08-31 | 2000-08-31 | 半导体装置 |
US10/093,800 US6487129B2 (en) | 1999-08-31 | 2002-03-11 | Semiconductor apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-244718 | 1999-08-31 | ||
JP24471899 | 1999-08-31 | ||
JP2000192278A JP3750494B2 (ja) | 1999-08-31 | 2000-06-27 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001143495A true JP2001143495A (ja) | 2001-05-25 |
JP3750494B2 JP3750494B2 (ja) | 2006-03-01 |
Family
ID=26536874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000192278A Expired - Fee Related JP3750494B2 (ja) | 1999-08-31 | 2000-06-27 | 半導体装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6377493B1 (ja) |
EP (1) | EP1081595B1 (ja) |
JP (1) | JP3750494B2 (ja) |
KR (1) | KR100723097B1 (ja) |
CN (1) | CN1206658C (ja) |
DE (1) | DE60009999T2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3750494B2 (ja) * | 1999-08-31 | 2006-03-01 | 松下電器産業株式会社 | 半導体装置 |
JP2003044305A (ja) * | 2001-07-26 | 2003-02-14 | Sony Corp | 電子装置および修正方法 |
ES2914593T3 (es) | 2008-08-01 | 2022-06-14 | Univ Johns Hopkins | Agentes de unión a PSMA y usos de los mismos |
CN101604248B (zh) * | 2009-07-20 | 2012-09-26 | 北京海尔集成电路设计有限公司 | 一种修正只读存储器中程序的嵌入式系统及其实现方法 |
CN103875039A (zh) * | 2011-09-01 | 2014-06-18 | 杭州海存信息技术有限公司 | 现场修复系统和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4651275A (en) * | 1981-07-02 | 1987-03-17 | Texas Instruments Incorporated | Microcomputer having read/write memory for combined macrocode and microcode storage |
JPS6310234A (ja) | 1986-07-01 | 1988-01-16 | Canon Inc | 割込み処理装置 |
JPH01192096A (ja) | 1988-01-27 | 1989-08-02 | Mitsubishi Electric Corp | 半導体装置 |
JPH0314083A (ja) * | 1989-06-12 | 1991-01-22 | Toshiba Corp | 携帯可能電子装置 |
JPH05233266A (ja) * | 1992-02-18 | 1993-09-10 | Nec Home Electron Ltd | 情報処理装置 |
JP3810805B2 (ja) | 1992-09-19 | 2006-08-16 | ソニー株式会社 | 情報修正システム |
EP0615187B1 (en) | 1993-03-11 | 2000-09-20 | Olympus Optical Co., Ltd. | One-chip microcomputer system having function for substantially correcting contents of program |
JPH0764784A (ja) | 1993-08-31 | 1995-03-10 | Nec Corp | マイクロコンピュータ |
JP3904244B2 (ja) * | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3563768B2 (ja) * | 1994-05-31 | 2004-09-08 | 株式会社ルネサステクノロジ | Romプログラム変更装置 |
JP3059076B2 (ja) * | 1995-06-19 | 2000-07-04 | シャープ株式会社 | 不揮発性半導体記憶装置 |
TW318932B (ja) * | 1995-12-28 | 1997-11-01 | Hitachi Ltd | |
US5958065A (en) | 1997-02-18 | 1999-09-28 | Micron Electronics, Inc. | Content addressable bit replacement memory |
JP3750494B2 (ja) * | 1999-08-31 | 2006-03-01 | 松下電器産業株式会社 | 半導体装置 |
US6941505B2 (en) * | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
-
2000
- 2000-06-27 JP JP2000192278A patent/JP3750494B2/ja not_active Expired - Fee Related
- 2000-08-29 US US09/649,067 patent/US6377493B1/en not_active Expired - Lifetime
- 2000-08-30 DE DE60009999T patent/DE60009999T2/de not_active Expired - Lifetime
- 2000-08-30 EP EP00118714A patent/EP1081595B1/en not_active Expired - Lifetime
- 2000-08-30 KR KR1020000050731A patent/KR100723097B1/ko not_active IP Right Cessation
- 2000-08-31 CN CNB001268686A patent/CN1206658C/zh not_active Expired - Fee Related
-
2002
- 2002-03-11 US US10/093,800 patent/US6487129B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1291773A (zh) | 2001-04-18 |
KR100723097B1 (ko) | 2007-05-30 |
KR20010070043A (ko) | 2001-07-25 |
US6487129B2 (en) | 2002-11-26 |
EP1081595B1 (en) | 2004-04-21 |
DE60009999D1 (de) | 2004-05-27 |
DE60009999T2 (de) | 2005-04-21 |
CN1206658C (zh) | 2005-06-15 |
EP1081595A2 (en) | 2001-03-07 |
JP3750494B2 (ja) | 2006-03-01 |
US20020093853A1 (en) | 2002-07-18 |
EP1081595A3 (en) | 2001-04-25 |
US6377493B1 (en) | 2002-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100324834B1 (ko) | 전자장치 | |
KR100415371B1 (ko) | 컴퓨터 | |
US7478207B2 (en) | Control system with a write filter for protection of data | |
US7418542B2 (en) | Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JP2001143495A (ja) | 半導体装置 | |
JPH10214203A (ja) | 情報処理装置 | |
US20050188148A1 (en) | Data access controlling method in flash memory and data access controlling program | |
US20070288809A1 (en) | Method for updating nonvolatile memory | |
JPH03149536A (ja) | カメラのデータ記憶装置 | |
JP2005128613A (ja) | 画像形成装置 | |
JP2002099409A (ja) | 半導体装置 | |
JP2002007159A (ja) | 半導体装置 | |
JP2006252278A (ja) | マイクロコンピュータ | |
JP2000057000A (ja) | フラッシュメモリ内蔵マイクロコンピュータ | |
JP2978008B2 (ja) | メモリ管理方式 | |
JP3730684B2 (ja) | プログラマブルコントローラ用表示装置およびその表示情報書込方法 | |
JPH04276838A (ja) | メモリ内蔵cpu装置 | |
JPH01124041A (ja) | 情報処理装置 | |
JPH02189694A (ja) | マイクロコンピュータ | |
JPH0736154B2 (ja) | データ記憶装置 | |
JPH0477903A (ja) | プログラマブル・シーケンス・コントローラ | |
JPH06231589A (ja) | 不揮発性メモリ | |
JPS595931B2 (ja) | 演算処理システムのアドレス停止方式 | |
JPH11110207A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050701 |
|
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: 20051115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121216 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131216 Year of fee payment: 8 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |