JPH08278895A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH08278895A
JPH08278895A JP35325695A JP35325695A JPH08278895A JP H08278895 A JPH08278895 A JP H08278895A JP 35325695 A JP35325695 A JP 35325695A JP 35325695 A JP35325695 A JP 35325695A JP H08278895 A JPH08278895 A JP H08278895A
Authority
JP
Japan
Prior art keywords
memory
address
program memory
program
data
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
JP35325695A
Other languages
English (en)
Other versions
JP3292864B2 (ja
Inventor
Katsumi Iwata
克美 岩田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP35325695A priority Critical patent/JP3292864B2/ja
Priority to US08/594,022 priority patent/US5881295A/en
Priority to KR1019960002518A priority patent/KR100444537B1/ko
Publication of JPH08278895A publication Critical patent/JPH08278895A/ja
Priority to US09/263,917 priority patent/US6141700A/en
Priority to US09/655,465 priority patent/US6738894B1/en
Application granted granted Critical
Publication of JP3292864B2 publication Critical patent/JP3292864B2/ja
Priority to US10/824,260 priority patent/US7111150B2/en
Priority to US11/520,420 priority patent/US20070083745A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 プログラムメモリのオンボード書込みの際の
システムの安全性の向上を図ることにある。 【解決手段】 バスコントローラ(27)により、内蔵
RAM(13)の一部をベクタアドレスエリアに移動す
るようにして、内蔵ROM(18)の消去又は書込み中
において割込みが発生した場合でも、正しいベクタアド
レスが得られるようにする。それにより、マイクロコン
ピュータの暴走を防止して、内蔵ROM(18)のオン
ボード書込みの際のシステムの安全性の向上を図る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置と
されるシングルチップ・マイクロコンピュータに内蔵さ
れたプログラムメモリのオンボード書込み技術に関し、
例えば、一括消去型の電気的に消去可能な及びプログラ
ム可能な不揮発性記憶装置(以下単に、フラッシュ型E
EPROM、又は、フラッシュメモリとも称する。)を
プログラムメモリとして備えたシングルチップ・マイク
ロコンピュータに適用して有効な技術に関する。
【0002】
【従来の技術】データ処理装置としてのシングルチップ
・マイクロコンピュータ(単にマイクロコンピュータと
も称する)は、動作プログラムを記憶するプログラムメ
モリを内蔵する。シングルチップ・マイクロコンピュー
タは、上記内蔵プログラムメモリに記憶される動作プロ
グラムに規定される所定のデータ処理を実行する。
【0003】上記プログラムメモリは、マスク型不揮発
性記憶装置(以下、マスク型リード・オンリ・メモリ又
はマスクROMと称する)や電気的にプログラム可能な
不揮発性記憶装置(以下単にEPROMと称する)で形
成されてきた。しかし、近年では、一括消去型の電気的
に消去可能な及びプログラム可能な不揮発性記憶装置
(以下単にフラッシュ型EEPROM、又は、フラッシ
ュメモリとも称する)がプログラムメモリに適用される
様になってきた。
【0004】フラッシュメモリは、一旦書き込んだデー
タを電気的に消去したり或いは電気的に書き換えたりす
ることが可能である。そのため、プログラムメモリとし
てフラッシュメモリを内蔵するマイクロコンピュータ
は、例えば、以下の利点を有する。
【0005】ユーザーの開発するソフトウェアプログラ
ム(アプリケーションソフト)の確定は、一般的に遅れ
やすい傾向にある。従って、ソフトウェアプログラムの
確定前に、マイクロコンピュータ応用システムのハード
ウェアを組立て、その後、マイクロコンピュータ内のフ
ラッシュメモリへ開発されたソフトウェアプログラムを
書込む事ができる。それによって、マイクロコンピュー
タ応用システムの出荷が迅速化できる。
【0006】さらに、一度出荷した応用システムのソフ
トウェアに関し、仕様の変更されたソフトウェアの開発
や機能の追加されたソフトウェア(アップグレード版或
いはバージョンアップされたソフトウェアなど)の開発
が行われたとき、一度出荷した応用システムのソフトウ
ェアをユーザ側で上記新規に開発したソフトウェアへ書
換えることができる。
【0007】すなわち、プログラムメモリとしてフラッ
シュメモリを内蔵するマイクロコンピュータにおいて、
マイクロコンピュータをプリント基板、実装基板又はシ
ステム基板上へ実装した後、上記フラッシュメモリ内へ
動作プログラムを書きこむための処理が可能とされる。
本明細書において、フラッシュメモリを内蔵するマイク
ロコンピュータをプリント基板、実装基板又はシステム
基板上へ実装した状態で、内蔵フラッシュメモリへデー
タを書き込むような処理を「オンボード書込み処理」と
称し、この書き込みモードを「オンボード書込みモー
ド」と称する。
【0008】オンボード書込みモードには、幾つかの方
式が考えられる。それらを大きく分類すると、以下の2
通りに分類される。
【0009】第1方式は、ユーザープログラムモード又
はブートモードとされる。これらのモードは、マイクロ
コンピュータに内蔵される中央処理装置(CPU)のプ
ログラム実行の流れを、オンボード書込み処理へ分岐
し、フラッシュメモリのデータを中央処理装置で変更す
る方式とされる。
【0010】第2方式は、ROMライタを利用した書き
込みモードとされる。このモードは、マイクロコンピュ
ータを停止して、外部的な手段(ROMライタ)でフラ
ッシュメモリのデータの変更を実現する方式とされる。
【0011】特開平6−180664号公報は、フラッ
シュメモリの書き換え時、異常処理プログラムを別の領
域へ移し、書き換え時の異常に対応するようにしたシス
テムを開示している。
【0012】
【発明が解決しようとする課題】上記第1方式におい
て、内蔵フラッシュメモリの記憶内容自体が書換えの対
象とされるため、内蔵RAM(ランダム・アクセス・メ
モリ)などのフラッシュメモリ以外のメモリに存在する
書き込み制御プログラムを中央処理装置(CPU)で実
行し、フラッシュメモリの消去又は書込みを行うように
している。
【0013】上記第1方式における上記フラッシュメモ
リの消去又は書込み状態において、マイクロコンピュー
タの本来の機能は失われない。そのため、マイクロコン
ピュータの外部から供給された信号入力に起因して、中
央処理装置(CPU)に対する割込みが誤って発生した
り、或いは、書き込み制御プログラムの実行中にアドレ
スエラーが生じたりする場合がある。また、NMI(ノ
ンマスカブル割り込み)は、割り込み自体を禁止できな
いので、意図しないNMIが上記第1方式におけるフラ
ッシュメモリの書き込み又は消去中に発生する可能性が
ある。NMIでなくとも、誤って割り込みを許可状態に
し、同様の状態となる可能性がある。
【0014】一般的には、割込みの発生やアドレスエラ
ーの発生が生じた場合、割込み処理ルーチン或いは例外
処理ルーチンへ中央処理装置の処理が分岐される。中央
処理装置の処理を割込み処理ルーチン或いは例外処理ル
ーチンへ分岐させる為に利用されるのが、割込み処理ル
ーチン或いは例外処理ルーチンの先頭アドレスを示すベ
クタアドレスである。割込みの発生や例外処理の発生が
起きた場合、対応する割込み処理ルーチン或いは例外処
理ルーチンのベクタアドレスが中央処理装置によって取
得される。そして、その取得されたベクタアドレスは中
央処理装置のプログラムカウンタに書き込まれ、中央処
理装置のプログラムフローがベクタアドレスの示すアド
レスへジャンプすることで、対応する割込み処理或いは
例外処理が実行される。
【0015】ここで注意すべき事項は以下の事項である
事が発明者の検討によって明らかとされた。
【0016】すなわち、一般的に、複数のベクタアドレ
スは、プログラムメモリ内のベクタアドレス格納領域内
に記憶される。フラッシュメモリがプログラムメモリと
される場合においてもそれに関しては同様であり、複数
のベクタアドレスはフラッシュメモリ内のベクタアドレ
ス格納領域内に格納される。
【0017】ところが、フラッシュメモリがプログラム
メモリとされ、かつ、上記フラッシュメモリに対してユ
ーザープログラムモード又はブートモードでの消去又は
書込みが実行されている時、割込みの発生や例外処理の
発生が生じた場合、中央処理装置はフラッシュメモリ内
のベクタアドレス格納領域内に格納される所望のベクタ
アドレスを取得できない。
【0018】すなわち、フラッシュメモリのユーザープ
ログラムモード又はブートモードでの消去又は書込みの
ための書き換え制御プログラムがフラッシュメモリ以外
のメモリ(例えば、RAM)に存在するにもかかわら
ず、ベクタアドレスがプログラムメモリ内に存在する。
そのため、プログラムメモリであるフラッシュメモリに
対する消去処理又は書込み処理中においては、正しいベ
クタアドレスが得られない。その結果、プログラムメモ
リのユーザープログラムモード又はブートモード時にお
いて、割込みの発生や例外処理の発生が生じた場合、マ
イクロコンピュータの暴走、さらには応用システムの破
損の危険がある事が解った。また、マイクロコンピュー
タが暴走し、フラッシュメモリの過消去・過書き込み等
が発生すると、そのマイクロコンピュータ応用システム
の再生が不可能になる場合もある。一方、電源電位の低
下等の異常事態は、NMI等の割り込みで検出するのが
一般的な手段である。
【0019】なお、フラッシュメモリに対する消去処理
又は書込み処理は、消去ベリファイ動作及び書き込みベ
リファイ動作を含むものとみなされる。
【0020】フラッシュメモリをプログラムメモリとし
て内蔵するマイクロコンピュータにおいては、応用シス
テムのハードウェアの組立後、ユーザ側が内蔵フラッシ
ュメモリへソフトウェアを書込んだり、一度出荷した応
用システムの内蔵フラッシュメモリのソフトウェアを書
換え可能である。そのため、フラッシュメモリをマイク
ロコンピュータに内蔵することの利点は多い。しかし、
内蔵フラッシュメモリのユーザープログラムモード又は
ブートモードでのオンボード書込みモード中における割
込みの発生や例外処理の発生は、マイクロコンピュータ
の暴走や応用システムの破損の危険の原因となる事が明
らかになった。
【0021】本発明の目的は、プログラムメモリのオン
ボード書込みの際のシステムの安全性の向上を図ること
にある。
【0022】本発明の他の目的は、電気的に消去可能な
及びプログラム可能な不揮発性記憶装置をプログラムメ
モリとして含むデータ処理装置において、上記プログラ
ムメモリのオンボード書込み時に割込み処理或いは例外
処理の要求がされた場合であっても、暴走や破損の危険
を防止可能にすることにある。
【0023】本発明のさらに他の目的は、フラッシュメ
モリをプログラムメモリとして含むマイクロコンピュー
タであって、上記プログラムメモリのオンボード書込み
又は消去時に割込み処理或いは例外処理の要求がされた
場合、その要求に応答可能なマイクロコンピュータのよ
うなデータ処理装置を提供することにある。
【0024】本発明のさらに別の目的は、フラッシュメ
モリをプログラムメモリとして含むシングルチップマイ
クロコンピュータであって、上記プログラムメモリの書
込み又は消去時に割込み処理或いは例外処理の要求がさ
れた場合、中央処理装置が対応する割込み処理或いは例
外処理に関係するベクタアドレスを取得可能に構成され
たシングルチップマイクロコンピュータのようなデータ
処理装置を提供することにある。
【0025】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0026】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0027】データ処理装置は、電気的に消去又は書込
みが可能なプログラムメモリ(18)と、上記プログラ
ムメモリ(18)をアクセス可能な中央処理装置(1
2)と、上記プログラムメモリの消去又は書込み中の割
込み発生或いは例外処理の発生に起因する誤動作を排除
するための誤動作排除手段とを含む。
【0028】上記誤動作排除手段は、以下の構成を含む
事ができる。
【0029】〔1〕図6に示されるように、上記プログ
ラムメモリ(18)の消去処理又は書込み処理が行われ
ている期間、上記中央処理装置(12)に対する割込み
要求或いは例外処理要求を排除もしくは無効化するため
の第1制御論理回路(G5)が上記データ処理装置に設
けられる。
【0030】したがって、ユーザープログラムモード又
はブートモードで上記プログラムメモリ(18)の消去
処理又は書込み処理が行われている期間において、上記
第1制御論理回路(G5)は上記中央処理装置(12)
に対する割込み要求或いは例外処理要求を排除もしくは
無効化するので、上記中央処理装置(12)は、上記プ
ログラムメモリ(18)の消去処理又は書込み処理が行
われている期間、割込み要求或いは例外処理要求に対応
するベクタアドレスの取得動作を実行しない。このこと
が、プログラムメモリ(18)のオンボード書込みの際
のシステムの安全性の向上を達成する。これによって、
意図しない割り込み要求の発生を禁止できる。
【0031】〔2〕図7に示されるように、ユーザープ
ログラムモード又はブートモードで上記プログラムメモ
リ(18)の消去処理又は書込み処理が行われている期
間、上記中央処理装置(12)に対する割込み要求或い
は例外処理要求に応答して、上記プログラムメモリ(1
8)に対する消去処理又は書込み処理を中止させる為の
第2制御論理回路(G6)が上記データ処理装置に設け
られる。
【0032】すなわち、上記プログラムメモリ(18)
の消去処理又は書込み処理が行われている期間におい
て、上記第2制御論理回路(G6)は、上記中央処理装
置(12)に対する割込み要求或いは例外処理要求に応
答し、上記プログラムメモリ(18)に対する消去処理
又は書込み処理を中止させる。具体的には、上記第2制
御論理回路(G6)は、上記プログラムメモリ(18)
に設けられた動作制御レジスタの消去制御ビット(3
2)、書き込み制御ビット(33)、ベリファイ制御ビ
ット(34)等の制御ビットのデータを活性化状態から
非活性化状態へ変更する。
【0033】したがって、上記プログラムメモリ(1
8)の消去処理又は書込み処理が行われている期間に上
記中央処理装置(12)に対する割込み要求或いは例外
処理要求が発生した時、上記第2制御論理回路(G6)
は上記プログラムメモリ(18)に対する消去処理又は
書込み処理を中止させる。このような割り込みの発生は
書き込み及び消去制御プログラムのプログラミングミス
や停電などの非常事態の原因であることもある。そこ
で、上記プログラムメモリ(18)に対する消去処理又
は書込み処理を中止させる事で、フラッシュメモリの過
消去・過書き込みの発生が防止される。また、その後上
記中央処理装置(12)は、上記プログラムメモリ(1
8)から上記割込み要求或いは例外処理要求に対応する
ベクタアドレスを取得する事ができる。以上により、プ
ログラムメモリ(18)のオンボード書込みの際のシス
テムの安全性の向上が達成する。
【0034】〔3〕図3及び図5に示されるように、上
記プログラムメモリ(18)の消去処理又は書込み処理
が行われている期間に上記中央処理装置(12)に対す
る割込み要求或いは例外処理要求が発生した時、上記プ
ログラムメモリ(18)のベクタアドレス格納領域のア
クセスを禁止し、上記プログラムメモリ(18)以外の
メモリ、例えば、ランダムアクセスメモリ(13)の所
定領域をアクセスできるように、メモリ選択動作を上記
プログラムメモリ(18)から上記プログラムメモリ
(18)以外のメモリへ変更させる選択メモリ変更手段
(G1、G2、G4)がデータ処理装置に設けられる。
なお、上記選択メモリ変更手段(G1、G2、G4)は
バスコントローラ(27)に設けることができる。
【0035】この場合、上記プログラムメモリ(18)
以外のメモリの所定領域には、予め、上記プログラムメ
モリ(18)の消去処理又は書込み処理が行われている
期間において上記中央処理装置(12)に対する割込み
要求或いは例外処理要求が発生した時に処理すべき割り
込み処理又は例外処理のためのベクタアドレスデータが
格納されている。そして、上記所定記憶領域に格納され
たベクタアドレスデータは、上記プログラムメモリ(1
8)以外のメモリの他の記憶領域に格納された所定割込
み処理ルーチン或いは例外処理ルーチンの先頭アドレス
を示すように設定される。
【0036】〔3・1〕上記〔3〕において、上記選択
メモリ変更手段(G1,G2)は、上記プログラムメモ
リ(18)の消去処理又は書込み処理が行われている期
間に上記中央処理装置(12)に対する割込み要求或い
は例外処理要求が発生した時、上記プログラムメモリ
(18)のベクタアドレス格納領域のアクセスの検出に
応答し、上記プログラムメモリ(18)の選択信号を不
活性化する。その代わり、上記選択メモリ変更手段(G
1,G2)は、上記プログラムメモリ(18)以外のメ
モリ(13)の選択信号を活性化する。
【0037】〔3・2〕上記〔3〕において、上記選択
メモリ変更手段(G4)は、上記プログラムメモリ(1
8)の消去処理又は書込み処理が行われている期間に上
記中央処理装置(12)に対する割込み要求或いは例外
処理要求が発生した時、上記プログラムメモリ(18)
のベクタアドレス格納領域のアクセスの検出に応答し、
上記プログラムメモリ(18)のベクタアドレス格納領
域をアクセスするためのアドレス信号を上記プログラム
メモリ(18)以外のメモリ、例えば、ランダムアクセ
スメモリ(13)の所定記憶領域をアクセスするアドレ
ス信号へ変換する。
【0038】上記〔3・1〕及び上記〔3・2〕の様に
構成することにより、ユーザープログラムモード又はブ
ートモードで上記プログラムメモリ(18)の消去処理
又は書込み処理が行われている期間において上記中央処
理装置(12)に対する割込み要求或いは例外処理要求
が発生した場合であっても、上記中央処理装置(12)
は対応する割込み処理ルーチン或いは例外処理ルーチン
に関するベクタアドレスを上記プログラムメモリ(1
8)以外のメモリの他の記憶領域をアクセスすることに
よって取得できる。従って、NMI割り込みを使用し
て、停電による電源電圧Vccの低下等の非常事態をマ
イクロコンピュータに通知し、上記プログラムメモリ
(18)に対する消去処理又は書込み処理を中止させる
事で、フラッシュメモリの過消去・過書き込みの発生が
防止される。この場合、NMIに対する割り込み処理ル
ーチンの中で、消去処理又は書込み処理の中止状態を記
録する処理を実行し、フラッシュメモリを過消去・過書
き込みや中間状態等の異常状態から保護できる。このこ
とが、プログラムメモリ(18)のオンボード書込みの
際のシステムの安全性の向上を達成する。
【0039】
【発明の実施の形態】図1は、本発明にしたがうデータ
処理装置としてのシングルチップ・マイクロコンピュー
タ30を示している。特に制限されないが、シングルチ
ップ・マイクロコンピュータ30は、単結晶シリコン基
板などの一つの半導体基板(半導体チップ)上に形成さ
れる。
【0040】図1に示されるように、シングルチップ・
マイクロコンピュータ30は、特に制限されないが、割
込み制御回路10、クロック発振器11、中央処理装置
(CPU)12、内蔵ランダム・アクセス・メモリ(R
AM)13、ホストインタフェース回路14、シリアル
通信回路とされるシリアルコミュニケーションインタフ
ェース回路15、10ビットのアナログ・デジィタル変
換回路(A/D変換器)16、8ビットのデジィタル・
アナログ変換回路(D/A変換器)17、プログラムメ
モリとれる内蔵リード・オンリ・メモリ(ROM)1
8、ウォッチドッグタイマ回路19、16ビットのフリ
ーランニングタイマ回路20、8ビットのタイマ回路2
1、パルス幅変調のために利用されるPWMタイマ回路
22、及び複数の信号入力、信号出力又は信号入出力に
利用されるポートP1〜P9を含む。
【0041】これらの回路モジュール(10、12〜2
2、P1〜P9)がアドレスバス24及びデータバス2
6によって結合され、中央処理装置12がアドレスバス
24及びデータバス25、26を用いて回路モジュール
(12〜22、P1〜P9)をアクセスできるようにさ
れる。
【0042】中央処理装置12が回路モジュール(12
〜22、P1〜P9)の何れかをアクセスする場合、中
央処理装置12はアクセスの対象とされる回路モジュー
ルに割り当てられたアドレスを選択するためのアドレス
信号を上記アドレスバス24へ発生する。この時、デー
タリードモードであるなら、アクセスの対象とされる回
路モジュールはデータバス25、26にデータを出力
し、上記中央処理装置12はデータバス26を介してそ
のデータを取り込む。一方、データライトモードである
なら、上記中央処理装置12はデータバス25、26へ
所望のデータを出力し、上記アクセスの対象とされる回
路モジュールはデータバス25、26を介してそのデー
タを取り込む。
【0043】次に、上記各回路ブロック(10〜22)
の機能が説明される。
【0044】クロック発振器11は、特に制限されない
が、水晶振動子を利用して発振する発振器と、この発振
器の出力パルスのデューティを補正するデューティ補正
回路と、上記デューティ補正回路からのシステムクロッ
ク信号を分周することによって内蔵周辺モジュール(1
2〜22)の為の内蔵周辺モジュールクロック信号を形
成するクロック分周器と、上記クロック分周器からの上
記内蔵周辺モジュール用クロック信号を分周して内部ク
ロック信号を生成するためのプリスケーラとを含む。ク
ロック発振器11で発生された所定周波数のシステムク
ロックに同期して、各回路モジュール(10、12〜2
2)が動作される。
【0045】CPU12は、特に制限されないが、処理
すべきプログラム内に定義された命令が格納される命令
レジスタ(IR)、上記命令レジスタに格納された命令
をデコードする命令デコーダ(IDEC)、上記命令デ
コーダから出力される制御信号に従ってその動作が制御
される命令実行部(IEXE)とを含む。上記命令実行
部(IEXE)は、算術演算や論理演算を実行する算術
論理演算器(ALU)、8ビット×16本の汎用レジス
タ(R0−R15)、プログラム内の次に実行されるべ
き命令の命令アドレスに関するデータを格納するプログ
ラムカウンタ(PC)等を有する。プログラムカウンタ
(PC)内のデータは、命令が上記命令実行部(IEX
E)によって実行される毎に、インクリメントされる。
上記命令実行部(IEXE)は、クロック発振器11か
ら出力されるシステムクロックをタイムベースとして、
所定の演算処理、及び各内蔵周辺モジュール(12〜2
2)の動作制御を行う。なお、上記命令レジスタ(I
R)、命令デコーダ(IDEC)、命令実行部(IEX
E)、算術論理演算器(ALU)、汎用レジスタ(R0
−R15)乃至プログラムカウンタ(PC)は、図面の
簡素化のため、上記図1には描かれていない。
【0046】上記汎用レジスタの1つは、割り込み発生
時或いは例外発生時のスタックポインタとして利用され
る。すなわち、割り込み発生時或いは例外発生時、その
時点における上記汎用レジスタに格納されていたデータ
を、例えば、所定の外部記憶装置へ待避させることが行
われる。この場合、スタックポインタは、待避されたデ
ータのアドレスを示すアドレスデータを格納する。割り
込み処理或いは例外処理からの復帰時、上記スタックポ
インタに格納されるアドレスデータを利用して、その割
り込み処理或いは例外処理が受け付けられた時に上記外
部記憶装置へ待避されたところの汎用レジスタの内容が
汎用レジスタ内に回復される。なお、上記システムクロ
ックのある立上がりエッジから次の立上がりエッジまで
の1単位が1ステートとされるとき、CPU12のメモ
リサイクル又はバスサイクルは、例えば、2ステート又
は3ステートで構成される。言い換えると、CPU12
は、システムクロックの2周期又は3周期で、上記内蔵
周辺モジュール(12〜22)をアクセスすることがで
きるように設計される。
【0047】内蔵RAM13は、特に制限されないが、
1kバイトの記憶容量を有するスタティック型RAMと
される。内蔵RAM13は、アドレスバス24及びそれ
ぞれ8ビット幅のデータバス25,26によってCPU
12へ結合される。その結果、内蔵RAM13は、バイ
トデータ(8ビットのデータ)、ワードデータ(16ビ
ットのデータ)にかかわらず、2ステートのメモリアク
セスサイクル一回で、バイトデータ及びワードデータの
入力及び出力が可能にされている。
【0048】ホストインタフェース回路14は、CPU
12とホストシステムとの2チャンネルのパラレルイン
タフェース機能を有し、特に制限されないが、4バイト
のデータレジスタ、高速ゲートロジックや、割込み要求
回路などを含む。ホストシステムからの5つのコントロ
ール信号、ホストシステムへの4つの出力信号、及びコ
マンド又はデータ入出力バスとしての8ビット幅のデー
タバス25を介してホストシステムとの通信が可能とさ
れる。
【0049】シリアルコミュニケーションインタフェー
ス回路15は、他のLSIとの間でシリアルデータの通
信を行うためのモジュールで、調歩同期式モードによる
通信と、クロック同期式モードによる通信との選択が可
能とされる。動作モードの指定や、データフォーマット
の指定、ビットレートの設定及び送受信制御のための複
数のコントロールレジスタと、送受信のコントロール回
路、及びバスインタフェースなどを含む。
【0050】A/D変換器16は、特に制限されない
が、逐次変換方式により、入力アナログ信号をディジタ
ル信号に変換するためのもので、特に制限されないが、
最大8チャンネルのアナログ入力を選択することができ
る。
【0051】D/A変換器17は、データバス25を介
して入力されたディジタル信号をアナログ信号に変換す
る機能を有し、各種レジスタや、8ビットD/A変換
部、及びコントロール回路を含む。
【0052】ウォッチドッグタイマ19は、システムの
監視を行うものである。システムの暴走などにより、ウ
ォッチドッグタイマ19内のタイマカウンタの値が書換
えられずにオーバーフローすると、ウォッチドッグタイ
マ19はCPU12に対してリセット信号又はNMI
(ノンマスカブル割込み)要求を発生する。また、この
機能を利用しない場合には、ウォッチドッグタイマ19
内のタイマカウンタはインターバルタイマとしても使用
可能である。
【0053】16ビットフリーランニングタイマ20
は、特に制限されないが、16ビットフリーランニング
カウンタをベースにして2種類の独立した波形出力が可
能とされ、また、入力パルスの幅や、外部クロックの周
期を測定することができる。
【0054】8ビットタイマ21は2チャンネル設けら
れ、それぞれタイマカウンタの他に、8ビットのタイム
コンスタントレジスタが設けられる。それにより、任意
のデューティ比のパルス信号の出力が可能とされる。
【0055】PWMタイマ22は、2チャンネル設けら
れ、各チャンネル毎に、8ビットタイマカウンタと8ビ
ットデューティレジスタがあり、この8ビットデューテ
ィレジスタに設定する値によって0〜100%のデュー
ティパルスを得ることができるようになっている。
【0056】割込み制御回路10は、外部割込み要求信
号とされるNMI(ノンマスカブル割込み)やIRQ0
−IRQ2、上記周辺モジュール15〜22から供給さ
れる図示されていない内部割込み要求を受け、所定の優
先順位に従って処理するための機能を有し、この割込み
要求処理結果に基づいて、割込み例外処理要求信号IR
QSがCPU12に伝達されるようになっている。割込
み制御回路10は、図1に図示されないが、アドレスバ
ス24及びデータバス25に結合され、CPU12によ
って内部レジスタがアクセス可能にされる。なお、上記
NMI(ノンマスカブル割込み)は、マスク不可能な割
り込みとされる。従って、割込み制御回路10が上記N
MI(ノンマスカブル割込み)い受けると、上記NMI
に従う割り込み処理を実行する事になる。
【0057】内蔵ROM18は、CPU12で実行され
るプログラムを格納するためのプログラムメモリとされ
る。内蔵ROM18は、特に制限されないが、アドレス
バス24及びそれぞれ8ビット幅のデータバス25,2
6によってCPU12に結合される。その結果、内蔵R
OM18は、バイトデータ(8ビットのデータ)、ワー
ドデータ(16ビットのデータ)にかかわらず、2ステ
ートのメモリアクセスサイクル一回で、バイトデータ及
びワードデータの出力が可能にされている。前述のよう
に、内蔵ROM18は、一括消去型の電気的に消去可能
な及びプログラム可能な不揮発性記憶装置(以下単に、
フラッシュ型EEPROM、又は、フラッシュメモリと
も称する)によって構成される。その内部に格納される
データとしてのプログラムは、シングルチップマイクロ
コンピュータをオンボード書き込みモードに設定するこ
とによって、プログラミング可能にされる。
【0058】本実施例のマイクロコンピュータ30の動
作モードがオンボードプログラミングモードに設定され
ると、上記内蔵ROM18へのプログラム(データ)書
込みや、消去、ベリファイを行うことができる。このオ
ンボードプログラミングモードは、2種類の動作モード
(ブートモード、ユーザプログラムモード)を含む。な
お、ブートモードは第1オンボードプログラミングモー
ドとされ、ユーザプログラムモードは第2オンボードプ
ログラミングモードとされる。
【0059】マイクロコンピュータ30の動作モードは
モード設定回路MCによって判別され、モード設定回路
MCはモード設定信号MS0−MS4のうちの1つのモ
ード設定信号をハイレベルとする。指定された動作モー
ドを示すハイレベルのモード設定信号は、例えば、中央
処理装置CPU12やバスコントローラ27等の回路へ
供給される。モード設定回路MCは、モード設定端子M
D0−MD2に供給されるモード信号MDS0−MDS
2の信号電圧及び高電圧供給端子Vppに供給される高
電圧Vpが所定の組み合わせとされているか否かを判別
し、マイクロコンピュータ30の動作モードを所望の動
作モードへ設定する。それによって、マイクロコンピュ
ータ30の動作モードは、上記ブートモードや上記ユー
ザプログラムモードのほか、後述されるPROMモー
ド、シングルチップモード及び外部メモリ拡張モードを
含む。シングルチップモードは、内蔵RAMや内蔵RO
Mのアドレス空間を利用してマイクロコンピュータシス
テムを構成するモードとされる。一方、外部メモリ拡張
モードは、内蔵RAMや内蔵ROM以外の外部メモリを
も利用してアドレス空間が拡張され、その拡張されたア
ドレス空間を利用してマイクロコンピュータシステムを
構成するモードとされる。
【0060】例えば、12Vの電圧がモード設定端子M
D2及び高電圧供給端子Vppに供給されると、マイク
ロコンピュータ30の動作モードがブートモードに設定
される。すなわち、モード設定信号MS0がハイレベル
とされる。この場合、マイクロコンピュータ30のアド
レス空間の設定モードに従って、0V又は5Vの電圧が
モード設定端子MD1、MD0へそれぞれ供給される。
一方、12Vの電圧が高電圧供給端子Vppに供給され
ると、マイクロコンピュータ30の動作モードがユーザ
プログラムモードに設定される。すなわち、モード設定
信号MS1がハイレベルとされる。この場合、マイクロ
コンピュータ30のアドレス空間の設定モードに従っ
て、0V又は5Vの電圧がモード設定端子MD0−MD
2へそれぞれ供給される。特に制限されないが、モード
設定信号MS2のハイレベルは上記PROMモードを示
し、モード設定信号MS3のハイレベルは上記シングル
チップモードモードを示し、モード設定信号MS4のハ
イレベルは上記外部メモリ拡張モードを示す。
【0061】ブートモードを使用する場合、フラッシュ
メモリ18の書き込み及び消去用のユーザプログラム
(書き換え制御プログラム)及び書き込みデータが図示
されないホストシステムなどに予め用意される。ブート
モードに設定されると、リセット解除後に、予めブート
ROMにプログラムされているブートプログラムが起動
される。そして、上記ホストシステムから送信されるデ
ータのローレベルの期間がシリアルコミュニケーション
インタフェース回路15によって測定され、それによっ
て、上記ホストシステムの送信データのビットレートが
計算され、シリアルコミュニケーションインタフェース
回路15のビットレートレジスタの値が決定される。次
に、上記ホストシステムは上記書き換え制御プログラム
を構成するデータの転送を行う。シリアルコミュニケー
ションインタフェース回路15によって受信された書き
換え制御プログラムのデータが内蔵RAM13へ格納さ
れる。書き換え制御プログラムの書込みが終了した後、
ブートプログラムの処理が内蔵RAM13に書き込まれ
た書き換え制御プログラムの先頭アドレスへ分岐され
る。それによって、内蔵RAM13に書込まれた書き換
え制御プログラムがCPU12によって実行され、フラ
ッシュメモリに対するデータの書込み動作或いはデータ
の消去動作が実行されることになる。なお、上記ブート
ROMは、マスクROM等の不揮発性記憶回路から構成
され、電源電位の低下があってもその記憶内容は消去さ
れない。
【0062】ユーザプログラムモードにおいて、フラッ
シュメモリ18に対するデータの書込み動作或いはデー
タの消去動作がフラッシュメモリ18の書き込み及び消
去用のユーザプログラム(書換え制御プログラム)によ
り可能とされる。この場合、高電圧を供給するための高
電圧供給手段及び書換えデータを供給するためのデータ
供給手段が実装基板上に設けられる。そして、上記書換
え制御プログラムが、例えば、フラッシュメモリ18乃
至他のメモリ(外部メモリ)のプログラムエリアの一部
に格納させる。ユーザプログラムモードの設定に応答し
て、CPU12は上記書換え制御プログラムを内蔵RA
M13に格納し、上記書換え制御プログラムを実行する
CPU12によってフラッシュメモリ18のオンボード
書換えが行われる。
【0063】尚、内蔵ROMとしてのフラッシュメモリ
18の消去又は書込みモードとして、オンボード書込み
モード以外に、PROMモードが用意されても良い。上
記PROMモードは、フラッシュメモリ18へのプログ
ラムデータの書込みを汎用PROMライタを用いて可能
とするモードとされる。上記PROMモードは、例え
ば、モード設定端子MD0−MD2の全てに、ローレベ
ル”0”のモード設定信号MDS0−MDS2を供給す
ることによって設定される。
【0064】ベクタアドレスが内蔵ROMとしてのフラ
ッシュメモリ18内に存在する場合、ユーザープログラ
ムモード又はブートモードにおけるフラッシュメモリ1
8の消去又は書込み中に、割り込み要求乃至例外処理要
求が発生した時、CPU12は正しいベクタアドレスを
取得できない。なぜなら、内蔵ROM18の消去又は書
込み中なので、CPU12はフラッシュメモリ18のベ
クタアドレス格納領域をアクセスできないからである。
そのため、上述のようなマイクロコンピュータの暴走の
虞がある。
【0065】そこで、本実施例では、ユーザープログラ
ムモード又はブートモードにおけるフラッシュメモリ1
8の消去又は書込み中、内蔵RAM13の一部の記憶領
域(アドレス領域)が、フラッシュメモリ18のベクタ
アドレス格納エリアへ移動されるようにする。すなわ
ち、フラッシュメモリ18の消去又は書込み中におい
て、フラッシュメモリ18のベクタアドレス格納エリア
のアドレスが、内蔵RAM13の一部の記憶領域のアド
レスへ移動される。それによって、フラッシュメモリ1
8の消去又は書込み中に発生したベクタアドレスをフェ
ッチする為のアドレス信号は、内蔵RAM13の一部の
記憶領域をアクセスすることになる。従って、内蔵RA
M13の一部の上記記憶領域へ必要なベクタアドレスを
予め格納することによって、正しいベクタアドレスを取
得可能にすれば、マイクロコンピュータの暴走などを防
止する事ができる。換言すれば、本実施例において、内
蔵RAM13は、ユーザープログラムモードにおける内
蔵ROM18の消去又は書込み時、フラッシュメモリ1
8に格納されたベクタアドレス格納領域を代替するため
に利用される。このとき、予め利用可能なベクタアドレ
スが内蔵RAM13の一部の記憶領域に書込まれた後、
内蔵ROM18の消去又は書込みのプログラムの実行が
開始される事になる。
【0066】図2は、内蔵ROM18としてのフラッシ
ュメモリの消去又は書込み時に利用される内蔵RAM1
3のベクタアドレス格納エリアB−Vを含む本発明に従
うアドレスマップの第1の実施例を示す。
【0067】CPU12によって管理されるアドレス空
間、言い換えるならば、CPU12がアクセス可能なア
ドレス空間は、特に制限されないが、64kバイト
(H’0000〜H’FFFF)とされる。すなわち、
アドレスバス24のビット数は、16ビットとされる。
【0068】内蔵ROM18に割り当てられたアドレス
空間のアドレスエリアAは32kバイト(H’0000
〜H’7FFF)とされる。このアドレスエリアAのう
ち、ベクタアドレスに関するアドレスデータが格納され
るベクタアドレス格納エリアA−Vは256バイト
(H’0000〜H’00FF)とされる。
【0069】一方、内蔵RAM13に割り当てられたア
ドレス空間のアドレスエリアBは、1kバイト(H’F
C00〜H’FFFF)とされる。このアドレスエリア
Bは、図示されるように、アドレスエリアB−Vを含
む。このアドレスエリアB−Vは、内蔵ROM18のオ
ンボード書込みを安全に行うために、ベクタアドレス格
納エリアA−Vを代替する為のエリアとされ、例えば、
256バイト(H’FC00〜H’FCFF)が設定さ
れる。従って、ベクタアドレス格納エリアB−Vは、内
蔵ROM18のオンボード書き込みモード(ユーザープ
ログラムモード)中に割り込み要求或いは例外処理要求
が発生した場合に利用される1乃至複数のベクタアドレ
スを格納する。
【0070】ユーザープログラムモード又はブートモー
ドにおけるフラッシュメモリ18の消去又は書込み状態
において、CPU12が割込み要求の処理時にベクタア
ドレス格納エリアA−Vをリードしようとする場合であ
っても、上記のように、ベクタアドレス格納エリアB−
Vに割り当てられたアドレスH’FC00〜H’FCF
Fが見かけ上ベクタアドレス格納エリアA−Vへ移動さ
れているので、ベクタアドレス格納エリアB−Vがアク
セスされる。それにより、内蔵ROM18としてのフラ
ッシュメモリの消去又は書込み中において、正しいベク
タアドレスがベクタアドレス格納エリアB−Vから得ら
れるので、フラッシュメモリ18の消去又は書込み中で
も、CPU12は割り込み要求及び例外処理要求に応じ
て所望の割り込み処理及び例外処理を正しく行うことが
できる。
【0071】上記のようなベクタアドレスエリアの代替
を実現するには、CPU12からベクタアドレス信号が
出力されたとき、バスコントローラ27によって、内蔵
RAM13のベクタアドレス格納エリアB−Vがアクセ
スされて、その内容(所定のベクタアドレスデータ)が
リードされるようにすればよい。
【0072】つまり、ユーザープログラムモード又はブ
ートモードにおいて、内蔵ROM18としてのフラッシ
ュメモリの消去又は書込み状態で、CPU12が割込み
処理時にフラッシュメモリ18のベクタアドレス格納エ
リアA−Vをリードする為のアドレス信号を発生したと
き、バスコントローラ27が次のようにモジュール選択
信号を制御すればよい。
【0073】すなわち、バスコントローラ27が、本来
活性化されるべき内蔵ROM18のモジュール選択信号
を非活性化し、代わりに、内蔵RAM13のモジュール
選択信号を活性化し、内蔵RAM13のベクタアドレス
格納エリアB−Vがリードされるように制御する。具体
的には、図3に示されるような制御回路(G1,G2,
G3)を図1に示されるバスコントローラ回路27に設
ければよい。
【0074】図3は、内蔵RAM13のベクタアドレス
格納エリアB−Vをフラッシュメモリ18のベクタアド
レス格納エリアA−Vへアドレス変換する場合のバスコ
ントローラ27の主要部構成例を、内蔵ROM18及び
内蔵RAM13との関係で示している。
【0075】バスコントローラ27は、内蔵ROM18
を選択するための内蔵ROM選択回路29、内蔵RAM
選択回路28、及び制御論理回路(誤動作排除手段)と
されるゲートG1〜G3を含む。上記内蔵ROM選択回
路29は、内蔵ROM18のアドレスを示すアドレス信
号が上記アドレスバス24にあるとき、ハイレベル”
1”の出力信号Aを出力する。内蔵RAM選択回路28
は、内蔵ROM18のベクタアドレス格納エリアA−V
を示すアドレス信号が上記アドレスバス24にあると
き、ハイレベル”1”の出力信号Bを出力し、内蔵RA
M13のアドレスを示すアドレス信号が上記アドレスバ
ス24にあるとき、ハイレベル”1”の出力信号Cを出
力する。ゲートG1は、内蔵ROM18がユーザープロ
グラムモード又はブートモードにおける消去又は書込み
状態で、且つ、ベクタフェッチのときハイレベルにされ
るコントロール信号CONTの反転信号と出力信号Aと
のアンド論理をとり、内蔵ROM18が選択されるべき
時、内蔵ROM18のモジュール選択信号とされるセレ
クト信号SEL1をローレベル”0”からハイレベル”
1”にアサートする。ゲートG2は、コントロール信号
CONTと上記出力信号Bとのアンド論理をとり、それ
らの信号が共にハイレベル”1”とされるとき、ハイレ
ベル”1”の出力信号Dを出力する。ゲートG3は、出
力信号Cおよび出力信号Dとを受け、出力信号C又は出
力信号Dがハイレベル”1”とされるとき、内蔵RAM
18のモジュール選択信号とされるセレクト信号SEL
2をローレベル”0”からハイレベル”1”にアサート
する。
【0076】内蔵ROM(32kバイト)18のアクセ
スを可能とするため、内蔵ROM18には、アドレスA
14〜A0(15ビット)が入力され、また、内蔵RA
M(1kバイト)のアクセスを可能とするため、内蔵R
AM13にはCPUからのアドレスA9〜A0(10ビ
ット)が入力されるようになっている。
【0077】内蔵ROM選択回路29は、アドレスバス
24を介してCPU12から発生されたのアドレスA1
5(1ビットのみ)を入力される。このアドレスA15
が、ローレベルの場合、つまり、CPU12からのアド
レスA15〜A0が、”0xxx xxxx xxxx
xxxx”(0はローレベルとされ、xは論理不定、
すなわち、”0”又は”1”のいずれでも可能)の場合
に、出力信号Aがハイレベルになる。すなわち、内蔵R
OM18をアクセスするためのアドレス信号がアドレス
バス24上に出力された場合、出力信号Aがハイレベル
になる。
【0078】内蔵RAM選択回路28は、アドレスバス
24を介してCPU12からのアドレスA15〜A8を
入力される。CPU12からのアドレスA15〜A0
が、”0000 0000 xxxx xxxx”の場
合に、出力信号Bがハイレベルとなる。すなわち、内蔵
ROM18のベクタアドレス格納エリアA−Vをアクセ
スするためのアドレス信号がアドレスバス24上に出力
された場合、出力信号Bがハイレベルにされる。
【0079】一方、アドレス信号がアドレスバス24上
に出力された場合、CPU12からのアドレスA15〜
A10が、”1111 1100 xxxx xxx
x”の場合に、出力信号Cがハイレベルとなる。すなわ
ち、内蔵RAM13をアクセスするためのアドレス信号
がアドレスバス24上に出力された場合、出力信号Cが
ハイレベルにされる。
【0080】内蔵ROM18の消去又は書込みのため
に、所定の外部端子Vppを介して高電圧が供給される
ようになっており、この高電圧供給が検出され、且つ、
CPU12によってベクタフェッチ状態であることを示
す信号がアサートされた場合に、コントロール信号CO
NTがハイレベルになる。つまり、内蔵ROM18が消
去又は書込み状態で、且つ、ベクタフェッチのときに、
コントロール信号CONTがハイレベルになる。コント
ロール信号CONTは、所定の外部端子Vppを介して
高電圧が供給されたか否か、及びCPU12がベクタフ
ェッチ状態であるか否かを判別可能に構成された論理回
路によって生成することができる。
【0081】内蔵ROM選択回路29の後段には、内蔵
ROM選択回路29の出力信号Aと、コントロール信号
CONTとのアンド論理を得るためのゲートG1が配置
され、ゲートG1から出力される選択信号SEL1がハ
イレベルとされた場合に、内蔵ROM18が選択される
ようになっている。また、内蔵RAM選択回路28の出
力信号Bとコントロール信号CONTとのアンド論理を
得るためのゲートG2が設けられ、ゲートG2の出力信
号Dと、内蔵RAM選択回路28の出力信号Cとのオア
論理を得るためのゲートG3が設けられ、ゲートG3か
ら出力される選択信号SEL2がハイレベルとされた場
合、内蔵RAM13が選択されるようになっている。し
たがって、アドレスH’FC00〜H’FCFFがアク
セスされる場合、選択信号SEL1がローレベルとされ
ることで内蔵ROM18の選択が禁止され、それに代え
て、選択信号SEL2がハイレベルとされることによっ
て、内蔵RAM13が選択される。つまり、内蔵RAM
13によって、内蔵ROM18の消去又は書込み時に、
内蔵ROM18上にあるベクタアドレスがリードされ
る。
【0082】なお、この場合、内蔵ROM18のベクタ
アドレス格納エリアA−Vを指定するアドレスのA9−
A0と内蔵RAM13のベクタアドレス格納エリアB−
VのアドレスのA9−A0とが一致していることが前提
とされる。したがって、内蔵ROM18のベクタアドレ
ス格納エリアA−Vを指定するアドレスのA9−A0と
内蔵RAM13のベクタアドレス格納エリアB−Vのア
ドレスのA9−A0とが一致していない場合、アドレス
バス24と内蔵RAM13との間に、アドレス変換回路
を設け、出力信号Dがハイレベルとされるときに、上記
アドレス変換回路のアドレス変換機能が動作するよう
に、アドレス変換回路を設計する必要がある。このよう
なアドレス変換回路は、内蔵RAM13のベクタアドレ
ス格納エリアB−Vのアドレス空間上での配置を自由に
する。
【0083】次に、本発明の別の実施例について説明す
る。
【0084】図4は、別の実施例におけるアドレスマッ
プを示している。図4に示されるように、この実施例で
は、ユーザープログラムモード又はブートモードにおけ
る内蔵ROM18の消去又は書込み時にベクタアドレス
エリアを、内蔵RAMエリアに移動するようにしてい
る。
【0085】つまり、ユーザープログラムモード又はブ
ートモードにおけるフラッシュメモリ18の消去又は書
込み時において、本来の内蔵ROM18のベクタアドレ
ス格納エリアA−V(H’0000〜H’00FF)で
はなく、内蔵RAMのベクタアドレス格納エリアB−V
(H’FC00〜H’FCFF)にベクタアドレスエリ
アが移動される。この場合、フラッシュメモリの消去又
は書込みに応答して、内蔵RAM13へ、予め利用可能
な1乃至複数のベクタアドレスのデータを書込んでか
ら、フラッシュメモリ18の消去又は書込みが開始され
る。
【0086】すなわち、内蔵ROM18のベクタアドレ
ス格納エリアA−Vをアクセスするためのアドレス信号
が、内蔵RAMのベクタアドレス格納エリアB−Vをア
クセスするためのアドレス信号に変換される。したがっ
て、CPU12から内蔵ROM18のベクタアドレス格
納エリアA−Vをアクセスするためのアドレス信号が出
力されたときに、ベクタアドレス格納エリアA−Vをア
クセスするためのアドレス信号を内蔵RAMのベクタア
ドレス格納エリアB−Vをアクセスするためのアドレス
信号にアドレス変換するアドレス変換回路を設ければよ
い。
【0087】図5は、図1のバスコントロール回路27
に設けられる誤動作排除手段としてのアドレス変換回路
ACCを示している。
【0088】アドレス変換回路ACCは、CPU12か
ら出力されるアドレス信号A15〜A10と上記コント
ロール信号CONTとのオア論理を得るための複数の制
御論理回路(ゲート回路)G4、及びこのゲート回路G
4の出力アドレス信号と、CPU12からのアドレスA
9〜A0とに基づいて、内蔵ROM18、及び内蔵RA
M13の選択を行うための内蔵ROM/内蔵RAM選択
回路31によって実現することができる。上記ゲートG
4、及び内蔵ROM/内蔵RAM選択回路31は、図1
に示されるバスコントローラ27に内蔵される。尚、図
5では、ゲートG4が1個のように示されるが、実際に
は、アドレスA15〜A10に対応して、6個設けられ
る。また、内蔵ROM/内蔵RAM選択回路31は、図
4の内蔵ROM選択回路29と内蔵RAM選択回路28
とを含み、図4の出力信号Aがモジュール選択信号SE
L1とされ、図4の出力信号Cがモジュール選択信号S
EL2とされる。
【0089】上記の構成において、CPU12からベク
タアドレス格納エリアA−Vをアクセスするためのアド
レス信号 ”0000 0000 xxxx xxxx” がアドレスバス24へ出力された場合、それが、ベクタ
アドレス格納エリアB−Vをアクセスするためのアドレ
ス信号 ”1111 1100 xxxx xxxx” へ変換されて、内蔵ROM/内蔵RAM選択回路31に
入力される。それによって、内蔵RAM13のベクタア
ドレス格納エリアB−Vが選択されるので、内蔵ROM
18の消去又は書込み状態で、CPU12のベクタフェ
ッチが、内蔵RAM13のベクタアドレス格納エリアB
−Vに対して行われる。なお、図5において、ベクタア
ドレス格納エリアA−Vは、アドレス”0000 00
00 0000 0000”から始まる256バイトの
記憶領域とされ、且つ、ベクタアドレス格納エリアB−
Vは、アドレス”1111 1100 0000 00
00”から始まるようにしたので、各アドレス信号のA
10及びA9は”0”となっている。ベクタアドレス格
納エリアB−Vの開始アドレスが、上記と異なる場合
は、適切に変更すべきであることは、容易に理解される
であろう。
【0090】このように、ユーザープログラムモード又
はブートモードにおける内蔵ROM18の消去/書込み
状態で行われるベクタフェッチが、内蔵ROM18のベ
クタアドレス格納エリアA−Vではなく、内蔵RAM1
3のベクタアドレス格納エリアB−Vに対して行われる
ため、前記実施例(図2乃至図3)の場合と同様に、内
蔵ROM18としてのフラッシュメモリの消去又は書込
み中において割込み要求或いは例外処理要求が発生した
場合でも、内蔵RAM13のベクタアドレス格納エリア
B−Vから正しいベクタアドレスが得られる。したがっ
て、マイクロコンピュータの暴走を防止することがで
き、プログラムメモリのオンボード書込みの際のシステ
ムの安全性の向上を図ることができる。尚、この実施例
では、ベクタアドレスのフェッチか否かによって、内蔵
RAM13のアクセスと内蔵ROM18のアクセスとを
切換える必要はない。
【0091】また、NMI(ノンマスカブル割込み)を
含む全割り込要求を無視するようにしても、プログラム
メモリのオンボード書込みの際のシステムの安全性の向
上を図ることができる。
【0092】図6は、内蔵ROM18としてのフラッシ
ュメモリの消去又は書込み中において、NMI(ノンマ
スカブル割込み)を含む全割り込を無視するためのゲー
トG5を含むバスコントローラ27を示している。
【0093】図6に示されるように、バスコントローラ
27は、割込み制御回路10とCPU12との間に、誤
動作排除手段としての制御論理回路(ゲート回路)G5
含む。上記ゲート回路G5は、フラッシュメモリ18が
消去又は書込み状態の時ハイレベルとされる制御信号C
ONT’を受け、ハイレベルの制御信号CONT’に応
答して、活性状態に制御される。一方、制御信号CON
T’がローレベルの時、上記ゲート回路G5は非活性状
態に制御される。
【0094】割込み制御回路10からの割込み例外処理
要求信号IRQSがハイレベルにアサートされた場合で
も、フラッシュメモリ18の消去又は書込み状態を示す
制御信号CONT’がハイレベルにアサートされている
場合、上記割込み例外処理要求信号IRQSのアサート
状態はCPU12に伝達されない事になる。したがっ
て、CPU12は、フラッシュメモリ18が消去又は書
込み状態の時、CPU12はベクタフェッチ動作を実行
しないので、ベクタフェッチ動作に関係する誤動作は発
生しない。
【0095】但し、この場合、NMIは停電などの非常
事態をマイクロコンピュータ30へ知らせるために有効
な手段であるため、これを無視すると、停電などのハー
ドウェア的な原因でフラッシュメモリ18の消去又は書
き込みが失敗するケースを救うことができなくなる点に
注意すべきである。
【0096】図7は、ユーザープログラムモード又はブ
ートモードにおける内蔵ROM18の消去、書込み、又
はベリファイ中に割り込み要求が発生した場合に、内蔵
ROM18の消去制御ビットレジスタ、書込み制御ビッ
トレジスタ、ベリファイ制御ビットレジスタをリセット
する誤動作排除手段としての制御論理回路G6を示す。
【0097】図7に示されるように、内蔵ROM18の
消去、書込み、及びベリファイは、それぞれ消去制御ビ
ットレジスタ32、書込み制御ビットレジスタ33、ベ
リファイ制御ビットレジスタ34に対して制御ビットを
セットすることで可能とされる。したがって、割込み制
御回路10からの割込み例外処理要求信号IRQSがア
サートされた場合、上記消去制御ビットレジスタ32、
書込み制御ビットレジスタ33、ベリファイ制御ビット
レジスタ34がリセットされるように構成してもよい。
上記消去制御ビットレジスタ32、書込み制御ビットレ
ジスタ33、ベリファイ制御ビットレジスタ34は、外
部からのリセット要求RESET1や、ウォッチドッグ
タイマ19からのリセット要求RESET2に応じる必
要がある。そのため、リセット要求RESET1及びR
ESET2と、上記割込み例外処理要求信号IRQSと
のオア論理を得るゲートG6が設けられる。ゲートG6
の出力信号は、上記消去制御ビットレジスタ32、書込
み制御ビットレジスタ33、ベリファイ制御ビットレジ
スタ34のリセット端子へ供給される。この構成によれ
ば、内蔵ROM18の消去、書込み、又はベリファイ中
に書込み要求が発生した場合に、上記消去制御ビットレ
ジスタ32、書込み制御ビットレジスタ33、ベリファ
イ制御ビットレジスタ34がリセットされるので、内蔵
ROM18の消去、書込み、又はベリファイが中止され
る。それによって、マイクロコンピュータ30の暴走を
防止することができ、プログラムメモリのオンボード書
込みの際のシステムの安全性の向上を図ることができ
る。
【0098】図8は、図3において説明されたコントロ
ール信号CONT及び図5において説明されたコントロ
ール信号CONT’の生成回路の一例を示している。
【0099】図示されるように、高電圧検出回路81
は、フラッシュメモリ18の書き込み又は消去時に12
Vのような高電圧の印加される外部端子Vppに結合さ
れ、12Vのような高電圧の供給に応答して、ハイレベ
ルの出力信号Vを発生する。このハイレベルの出力信号
Vは、例えば、図5のコントロール信号CONT’とし
て利用する事ができる。一方、ベクタアドレス格納エリ
アの移動を許可するか否かを制御する許可ビットVAT
E83が、マイクロコンピュータ30に設けられる。C
PU12は、フラッシュメモリ18の書き込みモード
(ユーザープログラムモード又はブートモード)の設定
に応答して、所定の命令(上記許可ビットVATE83
をセット状態とする為の命令)を実行する。それによっ
て、上記許可ビットVATE83がセット状態にされ
る。ANDゲートG80は、上記出力信号Vと上記許可
ビットVATE83の出力状態とのアンド論理をとるゲ
ート回路とされ、その出力信号は図3のコントロール信
号CONTとされる。以上のような構成によって、図3
のコントロール信号CONT及び図5のコントロール信
号CONT’を生成する事ができる。
【0100】図9は、図1のマイクロコンピュータ30
のフラッシュメモリ18のプログラミング方法が、上記
で説明されたPROMモード及びオンボード書き込みモ
ードとの関係で示されている。
【0101】図9に示されるように、プログラミング方
法は、PROMモードによるフラッシュメモリ18のプ
ログラミングとオンボード書き込みモードによるフラッ
シュメモリ18のプログラミング方法がある。開始
(1)は、PROMモードによるフラッシュメモリ18
のプログラミングの開始を示しており、マイクロコンピ
ュータ30の動作モードが前述の方法によってPROM
モードに設定され、汎用PROMライタによってフラッ
シュメモリ18に所望のプログラムデータが書き込まれ
る(ステップS1)。その後、所望のプログラムデータ
が書き込まれたマイクロコンピュータ30は、プリント
ボードなどの基板に実装され、そしてその実装基板を用
いて、マイクロコンピュータ応用システムが組み立てら
れる(ステップS2)。
【0102】一方、開始(2)は、オンボード書き込み
モードによるフラッシュメモリ18のプログラミングの
開始を示しており、フラッシュメモリ18に所望のプロ
グラムデータが書き込まれていない状態でマイクロコン
ピュータ30が、プリントボードなどの基板に実装さ
れ、そして、その実装基板を用いて、マイクロコンピュ
ータ応用システムが組み立てられる(ステップS3)。
その後、マイクロコンピュータ30の動作モードが前述
の方法によってブートモードに設定され、ブートプログ
ラムに従ってフラッシュメモリ18に所望のプログラム
データが書き込まれる(ステップS4)。このようにす
れば、ユーザーの開発するソフトウェアプログラム(ア
プリケーションソフト)の確定が遅れても、ソフトウェ
アプログラムの確定前に、マイクロコンピュータ応用シ
ステムのハードウェアを組立て、その後、マイクロコン
ピュータ内のフラッシュメモリへ開発されたソフトウェ
アプログラムを書込む事ができる。それによって、マイ
クロコンピュータ応用システムの出荷が迅速化できる。
【0103】ステップS2及びステップS4の後、マイ
クロコンピュータ応用システムはフラッシュメモリ18
に書き込まれた所望のプログラムデータにしたがって、
システム動作を実行することになる(ステップS5)。
この時期に、一度出荷したマイクロコンピュータ応用シ
ステムのソフトウェアに関し、仕様の変更されたソフト
ウェアの開発や機能の追加されたソフトウェア(アップ
グレード版或いはバージョンアップされたソフトウェア
など)の開発が行われたとき、一度出荷した応用システ
ムのソフトウェアをユーザ側で上記新規に開発したソフ
トウェアへ書換えが必要になる場合がある(ケース
1)。あるいは、マイクロコンピュータ応用システムの
利用者が、例えば、キーボードの機能を英語モードから
仏語モードへ機能変更するなどの変更が必要となる場合
もある(ケース2)。このようなケース1乃至ケース2
のような場合が生じたとき、フラッシュメモリ18に所
望のプログラムデータの書き換えが必要になる。
【0104】そこで、ステップS6に示されるように、
マイクロコンピュータ30の動作モードがブートモード
或いはユーザプログラムモードに設定される。例えば、
上記ケース1の場合、プログラムの全面書き換えが必要
な場合もあるので、マイクロコンピュータ30の動作モ
ードがブートモードに設定され、フラッシュメモリ18
のプログラムデータが所望のプログラムデータへ書き換
えられる。一方、上記ケース2の場合、プログラムデー
タの一部分のみの書き換えによって対応可能なので、マ
イクロコンピュータ30の動作モードがユーザプログラ
ムモードに設定され、フラッシュメモリ18のプログラ
ムデータの一部のデータが所望のデータへ書き換えられ
る。
【0105】ステップS6の後、点線Xで示される様
に、ステップ5に戻り、マイクロコンピュータ応用シス
テムは書き換えられたプログラムに従ってシステム動作
を実行することになる。なお、ステップS5、ステップ
S6は、必要に応じて、繰り返される。
【0106】図10は、本発明のさらに詳細なアドレス
マップを示し、通常モード(シングルチップモード乃至
外部メモリ拡張モード)及びフラッシュメモリのオンボ
ード書き換えモードのユーザプログラムモード又はブー
トモード時におけるNMI(ノンマスカブル割り込み)
のベクタアドレスとそれに対するNMI処理ルーチンの
格納エリアを示している。なお、図10は、図2及び図
4に示されるアドレスマップの具体的な一例とされても
良い。
【0107】図10に示されるように、シングルチップ
モード乃至外部メモリ拡張モードの様な通常モードにお
いて、NMI(ノンマスカブル割り込み)のベクタアド
レスNMIAは、フラッシュメモリ18のベクタアドレ
ス格納エリアA−Vに格納され、そのベクタアドレスN
MIAに対するNMI処理ルーチンRAは、フラッシュ
メモリ18のアドレス空間Aの一部に格納される。つま
り、ベクタアドレスNMIAは、NMI処理ルーチンR
Aの先頭アドレスを示している。従って、通常モードに
おいて、NMI(ノンマスカブル割り込み)が発生する
と、CPU12はNMI(ノンマスカブル割り込み)の
ベクタアドレスNMIAをベクタフェッチ動作によって
取得し、ベクタアドレスNMIAによって示されるアド
レス、すなわちNMI処理ルーチンRAの先頭アドレス
へベクタジャンプして、その処理を実行する。
【0108】一方、ユーザプログラムモード又はブート
モードにおけるフラッシュメモリ18のオンボード書き
換え時、NMI(ノンマスカブル割り込み)のベクタア
ドレスNMIBは、内蔵RAM13のベクタアドレス格
納エリアB−Vに格納され、そのベクタアドレスNMI
Bに対するNMI処理ルーチンRBは、内蔵RAM13
のアドレス空間Bの一部に格納される。つまり、ベクタ
アドレスNMIBは、NMI処理ルーチンRBの先頭ア
ドレスを示している。ユーザプログラムモード又はブー
トモードにおけるフラッシュメモリ18の書き換え時、
NMI(ノンマスカブル割り込み)が発生すると、CP
U12はNMI(ノンマスカブル割り込み)のベクタア
ドレスNMIBをベクタフェッチ動作によって取得し、
ベクタアドレスNMIBによって示されるアドレス、す
なわちNMI処理ルーチンRBの先頭アドレスへベクタ
ジャンプして、その処理を実行する。
【0109】したがって、ユーザプログラムモード又は
ブートモードにおけるフラッシュメモリ18のオンボー
ド書き換え時のNMI(ノンマスカブル割り込み)は、
フラッシュメモリ18に格納されるベクタアドレスNM
IA及びNMI処理ルーチンRAを使用せずに、内蔵R
AM13に格納されたベクタアドレスNMIB及びNM
I処理ルーチンRBを利用して実行される。そのため、
ユーザプログラムモード又はブートモードにおけるフラ
ッシュメモリ18のオンボード書き換え時におけるNM
I(ノンマスカブル割り込み)が、確実に処理される。
この場合、内蔵RAM13のベクタアドレス格納エリア
B−V及びNMI処理ルーチンRB等の格納エリアは書
き換え時のワーク領域としての使用を制限されることに
注意する必要がある。
【0110】なお、ベクタアドレス格納エリアA−Vと
ベクタアドレス格納エリアB−Vとのアドレスの移動に
関しては、図3乃至図5に示された方法が利用でき、コ
ントロール信号CONT乃至CONT’によって、ベク
タアドレス格納エリアA−Vとベクタアドレス格納エリ
アB−Vとのアドレスが移動される。
【0111】図11は、ユーザプログラムモード又はブ
ートモードでのオンボード書き換え時におけるNMI
(ノンマスカブル割り込み)の利用方法とその形成回路
を説明するための図を示している。
【0112】本発明に従うマイクロコンピュータ30
は、電圧維持手段110及びNMI信号生成手段112
とともにプリント基板120に実装される。
【0113】上記電圧維持手段110は、Vcc電源
(通常は、5V)が規定値以下、例えば4.5V以下に
低下した場合、一定の時間(例えば、1ms程度)Vc
c端子を4.5V以上に維持する機能を含む。さらに、
マイクロコンピュータ30は、暴走して内部の状態を破
壊することがないよう準備されたモード、例えば、シス
テムクロックの発振を停止するソフトウェアスタンバイ
モードを設定する。この目的のため、上記電圧維持手段
110は、例えば、大容量のコンデンサなどを利用して
形成される。電圧維持手段110は、Vcc電源がさら
に低下しても、例えば、0Vに低下しても、マイクロコ
ンピュータ30の電源端子Vccの電位を、マイクロコ
ンピュータ30がソフトウェアスタンバイモードを維持
できる電圧(例えば、2.0V)に維持する。この目的
のため、上記電圧維持手段110は、例えば、2次電池
なども含ませて構成される。
【0114】NMI信号生成手段112は、Vcc電源
(通常は、5V)が規定値以下、例えば4.5V以下に
低下した場合、それを検出してNMIを生成する。NM
I信号生成手段112は、マイクロコンピュータ30の
NMI信号入力端子へ、5Vから0Vへ変化する立下が
りエッジを生成し、NMIをアサートする。
【0115】フラッシュメモリ18のオンボード書き換
えモード時(ユーザプログラムモード又はブートモード
時)において、Vcc電源(通常は、5V)が規定値以
下に低下した場合、フラッシュメモリ18のオンボード
書き換えが実行できなくなる。そのため、上記に示され
るように、Vcc電源(通常は、5V)が規定値以下に
低下した事が検出され、NMIが発生されて、フラッシ
ュメモリ18の書き換え作業が中断され、CPU12に
よってNMI処理ルーチンRBが実行されることにな
る。この場合、NMIがCPU12によって受け付けら
れるとき、CPU12の汎用レジスタ(R0−R15)
やプログラムカウンタ(PC)等の内容は、特に制限さ
れないが、外部メモリへスタックされる。
【0116】したがって、NMI処理ルーチンRBから
の復帰時、前述のスタックポインタ(SP)の値に基づ
いて、NMI受付時の状態へ、汎用レジスタ(R0−R
15)やプログラムカウンタ(PC)等の内容を復帰す
ることができる利点がある。あるいは、スタックポイン
タ(SP)の値に基づいて、汎用レジスタ(R0−R1
5)やプログラムカウンタ(PC)等の内容を格納する
外部メモリをアクセスし、その内容からフラッシュメモ
リ18の書き換え状況が解析できる等の利点がある。
【0117】図12は、フラッシュメモリ18のオンボ
ード書き換えモード(ユーザープログラムモードの例)
時、その開始から終了時点までに実行される書き換え処
理フローを示している。
【0118】図12に示されるように、まず最初に、開
始ステップS12として、フラッシュメモリ18の書き
換え開始の指令がCPU12に対して発行される。CP
U12は、必要があれば、書き換え作業エリアとされる
べきアドレス領域の内容を待避するなどの前処理を実行
する(ステップS13)。上記書き換え作業エリアは、
例えば、内蔵RAM18のアドレス領域の一部、又は、
外部メモリ拡張モードにおける外部RAMのアドレス領
域の一部とされても良い。
【0119】次のステップS14として、書き換えルー
チンが、例えば、CPU12によって、上記書き換え作
業エリアに書き込まれる。上記書き換えルーチンは、書
き込み制御プログラムやNMI処理ルーチンRBなどを
含む。また、上記書き換えルーチンは、フラッシュメモ
リ18内に格納されている場合、或いは、外部からマイ
クロコンピュータ30へ供給する場合などがある。
【0120】次に、NMI処理ルーチンRBに対応する
ベクタアドレスNMIBが、例えば、CPU12によっ
て、内蔵RAM13のベクタアドレス格納エリアB−V
へ書き込まれる(ステップS15)。そして、図8に示
されたように、CPU12が、ベクタアドレス移動許可
ビットVATE82をセット状態に設定する(ステップ
S16)。以上のような前処理が実行される。
【0121】その後、ステップS17において、CPU
12は、書き換え作業エリアに書き込まれた上記書き換
えルーチンを実行し、フラッシュメモリ18のプログラ
ムデータの書き換えを実行する。フラッシュメモリ18
に書き込まれるべきプログラムデータは、マイクロコン
ピュータ30の外部から供給される。書き換え処理(ス
テップS17)の完了後、以下の後処理がCPU12に
よって実行される。
【0122】すなわち、ステップS16で設定されたベ
クタアドレス移動許可ビットVATE82をリセット状
態へ変更する(ステップS18)。すなわち、許可ビッ
トVATE82がクリアされる。その後、CPU12
は、必要があれば、書き換え作業エリアの内容を回復す
るなどの後処理を実行する(ステップS19)。すなわ
ち、ステップS13で待避処理が行われた場合には、ス
テップS19でその回復処理が行われる。
【0123】そして、ステップ20において、フラッシ
ュメモリ18の書き換え完了の通知又はリセットスター
トが実行され、フラッシュメモリ18の書き換え処理が
完了する。
【0124】次に内蔵フラッシュメモリ18の具体的構
成が説明される。
【0125】図13及び図14にはフラッシュメモリ1
8のメモリセルの原理が示される。図13に例示的に示
されたメモリセルは、2層ゲート構造の絶縁ゲート型電
界効果トランジスタにより構成されている。図13にお
いて、1はP型シリコン基板、14は上記シリコン基板
1に形成されたP型半導体領域、13はN型半導体領
域、15は低濃度のN型半導体領域である。8はフロー
ティングゲートであり、トンネル絶縁膜としての薄い酸
化膜7(例えば厚さ10nm)を介して上記P型シリコ
ン基板1上に形成されている。11は酸化膜9を介して
上記フローティングゲート8の上に形成されたコントロ
ールゲートである。ソースは13、15によって構成さ
れ、ドレインは13、14によって構成される。このメ
モリセルに記憶される情報は、実質的にしきい値電圧の
変化としてトランジスタに保持される。以下、特に述べ
ないかぎり、メモリセルにおいて、情報を記憶するトラ
ンジスタ(以下、記憶トランジスタと称する)がNチャ
ンネル型の場合について述べる。
【0126】メモリセルへの情報の書込み動作は、例え
ばコントロールゲート11及びドレインに高圧を印加し
て、アバランシェ注入によりドレイン側からフローティ
ングゲート8に電子を注入することで実現される。この
書込み動作により記憶トランジスタは、図14に示され
るように、そのコントロールゲート7からみたしきい値
電圧が、書込み動作を行わなかった消去状態の記憶トラ
ンジスタに比べて高くなる。
【0127】一方、消去動作は、例えばソースに高圧を
印加して、トンネル現象によりフローティングゲート8
からソース側に電子を引き抜くことによって実現され
る。図14に示されるように、消去動作により記憶トラ
ンジスタはそのコントロールゲート11からみたしきい
値電圧が低くされる。図14では、書込み並びに消去状
態の何れにおいても記憶トランジスタのしきい値は正の
電圧レベルにされる。すなわちワード線からコントロー
ルゲート11に与えられるワード線選択レベルに対し
て、書込み状態のしきい値電圧は高くされ、消去状態の
しきい値電圧は低くされる。双方のしきい値電圧とワー
ド線選択レベルとがそのような関係を持つことによっ
て、選択トランジスタを採用することなく1個のトラン
ジスタでメモリセルを構成することができる。記憶情報
を電気的に消去する場合においては、フローティングゲ
ート8に蓄積された電子をソース電極に引く抜くことに
より、記憶情報の消去が行われるため、比較的長い時
間、消去動作を続けると、書込み動作の際にフローティ
ングゲート8に注入した電子の量よりも多くの電子が引
く抜かれることになる。そのため、電気的消去を比較的
長い時間続けるような過消去を行うと、記憶トランジス
タのしきい値電圧は例えば負のレベルになって、ワード
線の非選択レベルにおいても選択されるような不都合を
生ずる。尚、書込みも消去と同様にトンネル電流を利用
して行うこともできる。
【0128】読み出し動作においては、上記メモリセル
に対して弱い書込み、すなわち、フローティングゲート
8に対して不所望なキャリアの注入が行われないよう
に、ドレイン及びコントロールゲート11に印加される
電圧が比較的低い値に制限される。例えば、1V程度の
低電圧がドレイン10に印加されるとともに、コントロ
ールゲート11に5V程度の低電圧が印加される。これ
らの印加電圧によって記憶トランジスタを流れるチャン
ネル電流の大小を検出することにより、メモリセルに記
憶されている情報の“0”、“1”を判定することがで
きる。
【0129】図15は前記記憶トランジスタを用いたメ
モリセルアレイの構成原理を示す。同図には代表的に4
個の記憶トランジスタ(メモリセル)Q1乃至Q4が示
される。X,Y方向にマトリクス配置されたメモリセル
において、同じ行に配置された記憶トランジスタQ1,
Q2(Q3,Q4)のコントロールゲート(メモリセル
の選択ゲート)は、それぞれ対応するワード線WL1
(WL2)に接続され、同じ列に配置された記憶トラン
ジスタQ1,Q3(Q2,Q4)のドレイン領域(メモ
リセルの入出力ノード)は、それぞれ対応するデータ線
DL1,DL2に接続されている。上記記憶トランジス
タQ1,Q3(Q2,Q4)のソース領域は、ソース線
SL1(SL2)に結合される。
【0130】図16にはメモリセルに対する消去動作並
びに書込み動作のための電圧条件の一例が示される。同
図においてメモリ素子はメモリセルを意味し、ゲートは
メモリセルの選択ゲートとしてのコントロールゲートを
意味する。同図において負電圧方式の消去はコントロー
ルゲートに例えば−10Vのような負電圧を印加するこ
とによって消去に必要な高電界を形成する。同図に例示
される電圧条件から明らかなように、正電圧方式の消去
にあっては少なくともソースが共通接続されたメモリセ
ルに対して一括消去を行うことができる。したがって図
15の構成において、ソース線SL1,SL2が接続さ
れていれば、4個のメモリセルQ1乃至Q4は一括消去
可能にされる。この場合、同一ソース線につながるメモ
リビットの数を変えることによりメモリブロックのサイ
ズを任意に設定することができる。ソース線分割方式に
は図15に代表的に示されるようなデータ線を単位とす
る場合(共通ソース線をデータ線方向に延在させる)の
他にワード線を単位とする場合(共通ソース線をワード
線方向に延在させる)がある。一方、負電圧方式の消去
にあっては、コントロールゲートが共通接続されたメモ
リセルに対して一括消去を行うことができる。
【0131】図17には一括消去可能なメモリブロック
の記憶容量を相違させたフラッシュメモリ18の一例回
路ブロック図が示される。
【0132】同図に示されるフラッシュメモリ18(以
下FMRYとも記す)は、8ビットのデータ入出力端子
D0〜D7を有し、各データ入出力端子毎にメモリマッ
トARY0〜ARY7を備える。メモリマットARY0
〜ARY7は、特に制限されないが、相対的に記憶容量
の大きなメモリブロックLMBと相対的に記憶容量の小
さなメモリブロックSMBとに2分割されている。図に
は代表的にメモリマットARY0の詳細が示されている
が、その他のメモリマットARY1〜ARY7も同様に
構成されている。各メモリブロックは、同一の記憶容量
とされてもよい。
【0133】夫々のメモリマットARY0〜ARY7に
は前記図13で説明した2層ゲート構造の絶縁ゲート型
電界効果トランジスタによって構成されたメモリセルM
Cがマトリクス配置されている。同図においてWL0〜
WLnは全てのメモリマットARY0〜ARY7に共通
のワード線である。同一行に配置されたメモリセルのコ
ントロールゲートは、それぞれ対応するワード線に接続
される。夫々のメモリマットARY0〜ARY7におい
て、同一列に配置されたメモリセルMCのドレイン領域
は、それぞれ対応するデータ線DL0〜DL7に接続さ
れている。メモリブロックSMBを構成するメモリセル
MCのソース領域はソース線SL1に共通接続され、メ
モリブロックLMBを構成するメモリセルMCのソース
領域はソース線SL2に共通接続されている。
【0134】前記ソース線SL1,SL2には電圧出力
回路VOUT1,VOUT2から消去に利用される高電
圧Vppが供給される。電圧出力回路VOUT1,VO
UT2の出力動作は、消去ブロック指定レジスタのビッ
トB1,B2の値によって選択される。例えば消去ブロ
ック指定レジスタのビットB1に”1”が設定されるこ
とによって各メモリマットARY0〜ARY7のメモリ
ブロックSMBだけが一括消去可能にされる。消去ブロ
ック指定レジスタのビットB2に”1”が設定された場
合は、各メモリマットARY0〜ARY7のメモリブロ
ックLMBだけが一括消去可能にされる。双方のビット
B1,B2に”1”が設定されたときはフラッシュメモ
リ18の全体が一括消去可能にされる。
【0135】前記ワード線WL0〜WLnの選択は、ロ
ウアドレスバッファXABUFF及びロウアドレスラッ
チXALATを介して取り込まれるロウアドレス信号A
XをロウアドレスデコーダXADECが解読することに
よって行われる。ワードドライバWDRVはロウアドレ
スデコーダXADECから出力される選択信号に基づい
てワード線を駆動する。データ読出し動作においてワー
ドドライバWDRVは電圧選択回路VSELから供給さ
れる5Vのような電圧Vccと0Vのような接地電位と
を電源として動作され、選択されるべきワード線を電圧
Vccによって選択レベルに駆動し、非選択とされるべ
きワード線を接地電位のような非選択レベルに維持させ
る。データの書込み動作においてワードドライバWDR
Vは、電圧選択回路VSELから供給される12Vのよ
うな電圧Vppと0Vのような接地電位とを電源として
動作され、選択されるべきワード線を12Vのような書
込み用高電圧レベルに駆動する。データの消去動作にお
いてワードドライバWDRVの出力は0Vのような低い
電圧レベルにされる。
【0136】夫々のメモリマットARY0〜ARY7に
おいて前記データ線DL0〜DL7はカラム選択スイッ
チYS0〜YS7を介して共通データ線CDに共通接続
される。カラム選択スイッチYS0〜YS7のスイッチ
制御は、カラムアドレスバッファYABUFF及びカラ
ムアドレスラッチYALATを介して取り込まれるカラ
ムアドレス信号AYをカラムアドレスデコーダYADE
Cが解読することによって行われる。カラムアドレスデ
コーダYADECの出力選択信号は全てのメモリマット
ARY0〜ARY7に共通に供給される。したがって、
カラムアドレスデコーダYADECの出力選択信号のう
ちの何れか一つが選択レベルにされることにより、各メ
モリマットARY0〜ARY7において共通データ線C
Dには1本のデータ線が接続される。
【0137】メモリセルMCから共通データ線CDに読
出されたデータは選択スイッチRSを介してセンスアン
プSAMPに与えられ、ここで増幅されて、データ出力
ラッチDOLATを介してデータ出力バッファDOBU
FFから外部に出力される。前記選択スイッチRSは読
出し動作に同期して選択レベルにされる制御信号φrに
よってオン状態にされる。外部から供給される書込みデ
ータはデータ入力バッファDIBUFFを介してデータ
入力ラッチ回路DILATに保持される。データ入力ラ
ッチ回路DILATに保持されたデータが”0”のと
き、書込み回路WRITは選択スイッチWSを介して共
通データ線CDに書込み用の高電圧を供給する。この書
込み用高電圧はカラムアドレス信号AYによって選択さ
れたデータ線を通して、ロウアドレス信号AXでコント
ロールゲートに高電圧が印加されるメモリセルのドレイ
ンに供給され、これによって当該メモリセルが書込みさ
れる。前記選択スイッチWSは書込み動作に同期して選
択レベルにされる制御信号φwによってオン状態にされ
る。書込み消去の各種タイミングや電圧の選択制御は書
込み消去制御回路WECONTが生成する。
【0138】図18には図1のマイクロコンピュータ3
0に内蔵されるフラッシュメモリ18(FMRY)の全
体的なブロック図が示される。同図においてARYは前
記図13で説明した2層ゲート構造の絶縁ゲート型電界
効果トランジスタによって構成されたメモリセルをマト
リクス配置したメモリアレイである。このメモリアレイ
ARYは図17で説明した構成と同様に、メモリセルの
コントロールゲートはそれぞれ対応するワード線に接続
され、メモリセルのドレイン領域はそれぞれ対応するデ
ータ線に接続され、メモリセルのソース領域はメモリブ
ロック毎に共通のソース線に接続されているが、メモリ
ブロックの分割態様は図17とは相違される。例えば、
相対的にそれぞれの記憶容量が大きな7個の大メモリブ
ロック(大ブロック)LMB0乃至LMB6と、相対的
にそれぞれの記憶容量が小さな8個の小メモリブロック
(小ブロック)SMB0乃至SMB7とに分割されてい
る。大メモリブロックはプログラム格納領域又は大容量
データ格納領域などに利用される。小メモリブロックは
小容量データ格納領域などに利用される。
【0139】図18において、ALATはアドレス信号
PAB0乃至PAB15のラッチ回路である。第1動作
モード(PROMモード以外の動作モード)においてそ
のアドレス信号PAB0乃至PAB15は中央処理装置
CPU12の出力アドレス信号に対応され、アドレスバ
ス24から供給される。第2動作モード(PROMモー
ド)では、アドレス信号PAB0乃至PAB15はPR
OMライタの出力アドレス信号に対応される。XADE
CはアドレスラッチALATを介して取り込まれるロウ
アドレス信号を解読するロウアドレスデコーダである。
WDRVはロウアドレスデコーダXADECから出力さ
れる選択信号に基づいてワード線を駆動するワードドラ
イバである。データ読出し動作においてワードドライバ
WDRVは5Vのような電圧でワード線を駆動し、デー
タの書込み動作では12Vのような高電圧でワード線を
駆動する。データの消去動作においてワードドライバW
DRVの全ての出力は0Vのような低い電圧レベルにさ
れる。YADECはアドレスラッチYALATを介して
取り込まれるカラムアドレス信号を解読するカラムアド
レスデコーダである。YSELはカラムアドレスデコー
ダYADECの出力選択信号に従ってデータ線を選択す
るカラム選択回路である。SAMPはデータ読出し動作
においてカラム選択回路YSELで選択されたデータ線
からの読出し信号を増幅するセンスアンプである。DO
LATはセンスアンプSAMPの出力を保持するデータ
出力ラッチである。DOBUFFはデータ出力ラッチD
OLATが保持するデータを外部に出力するためのデー
タ出力バッファである。図においてPDB0乃至PDB
7は下位8ビット(1バイト)データであり、図1のデ
ータバス26に供給される。PDB8乃至PDB15は
上位8ビット(1バイト)データであり、図1のデータ
バス25に供給される。この例に従えば出力データは最
大2バイトとされる。DIBUFFは外部から供給され
る書込みデータを取り込むためのデータ入力バッファで
ある。データ入力バッファDIBUFFから取り込まれ
たデータはデータ入力ラッチ回路DILATに保持され
る。データ入力ラッチ回路DILATに保持されたデー
タが”0”のとき、書込み回路WRITはカラム選択回
路YSELで選択されたデータ線に書込み用高電圧を供
給する。この書込み用高電圧はロウアドレス信号に従っ
てコントロールゲートに高電圧が印加されるメモリセル
のドレインに供給され、これによって当該メモリセルが
書込みされる。ERASECは指定されたメモリブロッ
クのソース線に消去用高電圧を供給してメモリブロック
の一括消去を行うための消去回路である。
【0140】FCONTは、フラッシュメモリFMRY
におけるデータ読出し動作のタイミング制御、及び書込
み消去のための各種タイミングや電圧の選択制御などを
行う制御回路である。この制御回路FCONTは、コン
トロールレジスタCREGを備える。
【0141】図19にはコントロールレジスタCREG
の一例が示される。コントロールレジスタCREGは、
それぞれ8ビットのプログラム/イレーズ制御レジスタ
PEREGと、消去ブロック指定レジスタMBREG1
及びMBREG2によって構成される。プログラム/イ
レーズ制御レジスタPEREGにおいて、Vppは書換
え用高電圧印加に応じて”1”にされる高電圧印加フラ
グである。Eビットは消去動作を指示するビットとさ
れ、EVビットは消去におけるベリファイ動作の指示ビ
ットとされる。Pビットは書込み動作(プログラム動
作)の指示ビットとされ、PVビットは書込みにおける
ベリファイ動作の指示ビットとされる。消去ブロック指
定レジスタMBREG1及びMBREG2は、それぞれ
7分割された大ブロックと8分割された小ブロックに含
まれる何れのメモリブロックを消去するかを指定するレ
ジスタであり、それらに含まれるビットは、特に制限さ
れないが、1対1で対応されるメモリブロックの指定用
ビットとされ、例えばビット”1”は対応メモリブロッ
クの選択を意味し、ビット”0”は対応メモリブロック
の非選択を意味する。例えば、消去ブロック指定レジス
タMBREG2の第7ビットが”1”のときは、小メモ
リブロックSMB7の消去が指定される。
【0142】上記コントロールレジスタCREGは外部
からリード・ライト可能にされている。制御回路FCO
NTは、そのコントロールレジスタCREGの設定内容
を参照し、それにしたがって消去・書込みなどの制御を
行う。外部においては、そのコントロールレジスタCR
EGの内容を書換えることによって、消去・書込み動作
の状態を制御することができる。
【0143】図18において、制御回路FCONTに
は、制御信号としてFLM,MS−FLN,MS−MI
SN,M2RDN,M2WRN,MRDN,MWRN,
IOWORDN,及びRSTが供給され、更に、上位1
バイトのデータPDB8乃至PDB15と、アドレス信
号PAB0乃至PAB15の所定ビットが与えらる。
【0144】制御信号FLMは、フラッシュメモリFM
RYの動作モードを指定する信号であり、その”0”が
第1動作モードを指定し、”1”が第2動作モードを指
定する。この信号FLMは、例えば前記モード信号MD
0乃至MD2に基づいて形成される。
【0145】制御信号MS−FLNは、フラッシュメモ
リFMRYの選択信号であり、その”0”が選択を指示
し、”1”が非選択を指示する。第1動作モードでは中
央処理装置(CPU)12がその制御信号MS−FLN
を出力し、第2動作モードにおいてその制御信号MS−
FLNは、PROMライタから供給されるチップ・イネ
ーブル信号CE*に対応される。
【0146】制御信号MS−MISNはコントロールレ
ジスタCREGの選択信号である。このとき、プログラ
ム/イレーズ制御レジスタPEREGと消去ブロック指
定レジスタMBREG1及びMBREG2の何れを選択
するかは、アドレス信号PAB0乃至PAB15の所定
ビットを参照して決定される。第1動作モードでは中央
処理装置(CPU)12がその制御信号MS−MISN
を出力する。第2動作モードでは、特に制限されない
が、PROMライタが出力する最上位アドレスビットE
A16がその制御信号MS−MISNとみなされる。
【0147】M2RDNはメモリリードストローブ信
号、M2WRNはメモリライトストローブ信号、MRD
NはコントロールレジスタCREGのリード信号、MW
RNはコントロールレジスタCREGのライト信号であ
る。第1動作モードでは中央処理装置(CPU)12が
それら制御信号を出力する。第2動作モードでは、特に
制限されないが、PROMライタから供給されるライト
イネーブル信号WE*が前記信号M2WRN,MWRN
とみなされ、PROMライタから供給されるアウトプッ
トイネーブル信号OE*が前記信号M2RDN,MRD
Nとみなされる。尚、メモリライトストローブ信号M2
WRNは、メモリセルに書込むべきデータをデータ入力
ラッチ回路DILATに書込むためのストローブ信号と
みなされる。メモリセルへの実際の書込みは前記コント
ロールレジスタCREGのPビットをセットすることに
よって開始される。
【0148】IOWORDNはフラッシュメモリFMR
Yに対する8ビットリードアクセスと16ビットリード
アクセスとの切換え信号とされる。第2動作モードにお
いては当該制御信号IOWORDNは8ビットリードア
クセスを指示する論理値に固定される。
【0149】RSTはフラッシュメモリFMRYのリセ
ット信号である。この信号RSTによってフラッシュメ
モリFMRYがリセットされることにより、或は前記プ
ログラム/イレーズ制御レジスタPEREGのVppフ
ラグが”0”にされることにより、前記プログラム/イ
レーズ制御レジスタPEREGにおけるEV,PV,
E,Pの各モード設定ビットがクリアされる。したがっ
て、図7に示されるゲートG6の出力がリセット信号R
STとされることによって、制御レジスタPEREGの
各ビットがクリアできる。
【0150】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0151】例えば、上記実施例ではフラッシュメモリ
の書込みはホットエレクトロンで行なわれることにした
が、トンネル効果により行うものであってもよい。ま
た、上記実施例では内蔵ROM18としてフラッシュメ
モリを適用したが、EEPROMと称されるようなオン
ボード書込み可能とされる他の半導体メモリを適用する
ことができる。
【0152】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるシング
ルチップ・マイクロコンピュータに適用した場合につい
て説明したが、本発明はそれに限定されるものではな
く、各種データ処理装置に広く適用することができる。
本発明は、少なくとも電気的に消去又は書込みが可能な
プログラムメモリを含むことを条件に適用することがで
きる。
【0153】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0154】すなわち、誤動作排除手段により、プログ
ラムメモリに正しいデータが存在しない場合における上
記プログラムメモリの消去又は書込み中の割込み発生に
起因する誤動作が排除され、それによって、プログラム
メモリのオンボード書込みの際のシステムの安全性の向
上を図ることができる。
【0155】プログラムメモリの消去又は書込み中の割
込み要求に応じて、ランダムアクセス可能な記憶手段の
一部が、プログラムメモリのベクタアドレスエリアに移
動されることにより、プログラムメモリの消去又は書込
み中における割込み発生に対して正しいベクタアドレス
の取得が可能とされ、それにより、プログラムメモリの
オンボード書込みの際のシステムの安全性の向上を図る
ことができる。
【0156】プログラムメモリの消去又は書込み中の割
込み要求に応じて、プログラムメモリのベクタアドレス
エリアが前記記憶手段に移動されることにより、プログ
ラムメモリの消去又は書込み中における割込み発生に対
して正しいベクタアドレスの取得が可能とされ、それに
より、プログラムメモリのオンボード書込みの際のシス
テムの安全性の向上を図ることができる。
【0157】プログラムメモリの消去又は書込み要求に
応じてプログラムメモリの消去又は書込みが行われる期
間、中央処理装置に対する割込み要求が排除されること
により、プログラムメモリのオンボード書込みの際のシ
ステムの安全性の向上を図ることができる。
【0158】プログラムメモリの消去又は書込み要求に
応じてプログラムメモリの消去又は書込みが行われる期
間に、中央処理装置に対して発生された割込み要求に呼
応して、プログラムメモリの消去又は書込みのための処
理が中止されることにより、プログラムメモリのオンボ
ード書込みの際のシステムの安全性の向上を図ることが
できる。
【0159】したがって、フラッシュメモリのようなプ
ログラムメモリの消去・書き込みプログラム(書き換え
制御プログラム)の作成ミスや誤動作、及び外部回路の
操作ミス等で誤って生じた割り込み要求に対しても、フ
ラッシュメモリのようなプログラムメモリの消去・書き
換えが自動的に中止され、割り込み処理の中でフラッシ
ュメモリのようなプログラムメモリの消去・書き換えの
中止状態を記録する処理を実行する事によって、フラッ
シュメモリなどの電気的に書き換え可能なプログラムメ
モリを過消去・過書き込み若しくはその中間状態等の異
常状態から保護できる。従って、マイクロコンピュータ
応用システムを破壊から保護できる。
【図面の簡単な説明】
【図1】本発明の一実施例であるシングルチップ・マイ
クロコンピュータの全体的な構成例ブロック図である。
【図2】上記マイクロコンピュータに含まれる内蔵RA
Mの一部をベクタアドレスエリアに移動する場合のアド
レスマップの説明図である。
【図3】内蔵RAMのベクタアドレス格納エリア(B−
V)をフラッシュメモリのベクタアドレス格納エリア
(A−V)へアドレス変換する場合のバスコントローラ
の主要部構成例を内蔵ROM及び内蔵RAMとの関係で
示す説明図である。
【図4】本発明の別の実施例におけるアドレスマップの
説明図である。
【図5】図1のバスコントローラに設けられる誤動作排
除手段としてのアドレス変換回路(ACC)の一例説明
図である。
【図6】内蔵ROMとしてのフラッシュメモリの消去又
は書込み中において、NMIを含む全割り込を無視する
ためのゲート(G5)を含むバスコントローラの説明図
である。
【図7】内蔵ROMの消去、書込み、又はベリファイ中
に書込み要求が発生した場合に、内蔵ROMの消去制御
ビットレジスタ、書込み制御ビットレジスタ、ベリファ
イ制御ビットレジスタをリセットする誤動作排除手段と
しての制御論理回路(G6)を示す説明図である。
【図8】図3において説明されたコントロール信号(C
ONT)及び図5において説明されたコントロール信号
(CONT’)の生成回路の一例を示す論理回路図であ
る。
【図9】図1のマイクロコンピュータのフラッシュメモ
リのプログラミング方法をPROMモード及びオンボー
ド書き込みモードとの関係で示す説明図である。
【図10】通常モード(シングルチップモード乃至外部
メモリ拡張モード)及びフラッシュメモリのオンボード
書き換えモード時のにおけるNMIのベクタアドレスと
それに対するNMI処理ルーチンの格納エリアを更に詳
細に示す説明図である。
【図11】オンボード書き換えモード時におけるNMI
の形成回路を説明するためのブロック図である。
【図12】フラッシュメモリのオンボード書き換えモー
ド(ユーザープログラムモードの例)時にその開始から
終了時点までに実行される書き換え処理フローを示すフ
ローチャートである。
【図13】フラッシュメモリのメモリセルの一例断面図
である。
【図14】フラッシュメモリのメモリセルの消去状態と
書き込み状態の閾値を示す説明図である。
【図15】フラッシュメモリのメモリアレイの構成を示
す回路図である。
【図16】フラッシュメモリのメモリセルに対する消去
動作及び書き込み動作のための電圧条件の一例を示す説
明図である。
【図17】フラッシュメモリの部分的なブロック図であ
る。
【図18】フラッシュメモリの全体的なブロック図であ
る。
【図19】フラッシュメモリのコントロールレジスタの
一例を示す説明図である。
【符号の説明】
10 割込み制御回路 11 クロック発振器 12 CPU 13 内蔵RAM 14 ホストインタフェース 15 シリアルコミュニケーションインタフェース 16 A/D変換器 17 D/A変換器 18 内蔵ROM 19 ウォッチドッグタイマ 20 16ビットフリーランニングタイマ 21 8ビットタイマ 22 PWMタイマ 24 アドレスバス 25,26 データバス 27 バスコントローラ 28 内蔵RAM選択回路 29 内蔵ROM選択回路 30 シングルチップ・マイクロコンピュータ 31 内蔵ROM/内蔵RAM選択回路 32 消去制御ビットレジスタ 32 書込み制御ビットレジスタ 33 ベリファイ制御ビットレジスタ G4,G5,G6 ゲート

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 電気的に消去及び書込みが可能なプログ
    ラムメモリと、 上記プログラムメモリをアクセス可能な中央処理装置
    と、 上記プログラムメモリの消去又は書込みが行われる期間
    における割込み処理要求又は例外処理要求に起因して上
    記中央処理装置が誤動作を生ずる状態を排除するための
    誤動作排除手段と、を含むことを特徴とするデータ処理
    装置。
  2. 【請求項2】 電気的に消去及び書込みが可能なプログ
    ラムメモリと、 上記プログラムメモリをアクセス可能な中央処理装置
    と、 上記プログラムメモリの消去又は書込みが行われる期間
    に、上記中央処理装置への割込み処理要求又は例外処理
    要求を無効にするための制御論理と、を含むことを特徴
    とするデータ処理装置。
  3. 【請求項3】 電気的に消去及び書込みが可能なプログ
    ラムメモリと、 上記プログラムメモリをアクセス可能な中央処理装置
    と、 上記プログラムメモリの消去又は書込みが行われる期間
    に、上記中央処理装置への割込み処理要求又は例外処理
    要求の発生に呼応して上記プログラムメモリの消去又は
    書込み処理を中止するための制御論理と、を含むことを
    特徴とするデータ処理装置。
  4. 【請求項4】 電気的に消去及び書込みが可能なプログ
    ラムメモリと、 上記プログラムメモリをアクセス可能な中央処理装置
    と、 上記中央処理装置によるアクセスが可能であって前記プ
    ログラムメモリとは別体の記憶手段と、 上記プログラムメモリの消去又は書込みが行われる期間
    に、前記中央処理装置に対する割込み処理要求又は例外
    処理要求が発生したとき、その要求に応答するための前
    記プログラムメモリの所定の記憶領域のアクセスを、前
    記記憶手段の所定の記憶領域のアクセスに変更する選択
    メモリ変更手段と、を含むことを特徴とするデータ処理
    装置。
  5. 【請求項5】 上記選択メモリ変更手段は、上記プログ
    ラムメモリの消去処理又は書込み処理が行われている期
    間に上記中央処理装置に対する割込み処理要求又は例外
    処理要求が発生したとき、上記プログラムメモリの上記
    所定の記憶領域のアクセスの検出に応答し、上記プログ
    ラムメモリの選択信号を不活性化し、それに代えて、上
    記記憶手段の選択信号を活性化するものであることを特
    徴とする請求項4記載のデータ処理装置。
  6. 【請求項6】 上記選択メモリ変更手段は、上記プログ
    ラムメモリの消去処理又は書込み処理が行われている期
    間に上記中央処理装置に対する割込み処理要求又は例外
    処理要求が発生したとき、上記プログラムメモリの上記
    所定の記憶領域のアクセスの検出に応答し、上記プログ
    ラムメモリの上記所定の記憶領域をアクセスするための
    アドレス信号を上記記憶手段の所定記憶領域をアクセス
    するアドレス信号へ変換するものであることを特徴とす
    る請求項4記載のデータ処理装置。
  7. 【請求項7】 上記プログラムメモリの所定の記憶領域
    は、上記中央処理装置に対する割込み処理要求又は例外
    処理要求が発生した時に処理すべき割り込み処理又は例
    外処理のためのベクタアドレスデータが格納される領域
    であることを特徴とする請求項4乃至6の何れか1項に
    記載のデータ処理装置。
  8. 【請求項8】 上記記憶手段の所定記憶領域は、予め、
    上記プログラムメモリの消去処理又は書込み処理が行わ
    れている期間に上記中央処理装置に対する割込み処理要
    求又は例外処理要求が発生したとき処理すべき割り込み
    処理又は例外処理のためのベクタアドレスデータが格納
    される記憶領域であることを特徴とする請求項7記載の
    データ処理装置。
JP35325695A 1995-02-07 1995-12-27 データ処理装置 Expired - Fee Related JP3292864B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP35325695A JP3292864B2 (ja) 1995-02-07 1995-12-27 データ処理装置
US08/594,022 US5881295A (en) 1995-02-07 1996-01-29 Data processor which controls interrupts during programming and erasing of on-chip erasable and programmable non-volatile program memory
KR1019960002518A KR100444537B1 (ko) 1995-02-07 1996-02-02 데이타처리장치
US09/263,917 US6141700A (en) 1995-02-07 1999-03-05 Data processor which accesses a second memory while responding to an interrupt request during programming and erasing mode of first erasable and programmable non-volatile memory
US09/655,465 US6738894B1 (en) 1995-02-07 2000-09-05 Data processor
US10/824,260 US7111150B2 (en) 1995-02-07 2004-04-13 Data processor
US11/520,420 US20070083745A1 (en) 1995-02-07 2006-09-12 Data processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-42301 1995-02-07
JP4230195 1995-02-07
JP35325695A JP3292864B2 (ja) 1995-02-07 1995-12-27 データ処理装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP11239513A Division JP2000099346A (ja) 1995-02-07 1999-08-26 デ―タ処理装置
JP2001116270A Division JP3669625B2 (ja) 1995-02-07 2001-04-16 データ処理システム及びデータ処理システムの動作方法
JP2001246994A Division JP2002132746A (ja) 1995-02-07 2001-08-16 データ処理装置及びシングルチップマイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH08278895A true JPH08278895A (ja) 1996-10-22
JP3292864B2 JP3292864B2 (ja) 2002-06-17

Family

ID=26381958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35325695A Expired - Fee Related JP3292864B2 (ja) 1995-02-07 1995-12-27 データ処理装置

Country Status (3)

Country Link
US (2) US5881295A (ja)
JP (1) JP3292864B2 (ja)
KR (1) KR100444537B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0967551A2 (en) 1998-06-26 1999-12-29 Denso Corporation Electronic control unit having user breakable function
US6598137B1 (en) 1999-04-02 2003-07-22 Sharp Kabushiki Kaisha Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area
JP2005078493A (ja) * 2003-09-02 2005-03-24 Renesas Technology Corp マイクロコンピュータ
JP2012038197A (ja) * 2010-08-10 2012-02-23 Fujitsu Ltd 情報処理装置および割込み制御プログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738894B1 (en) * 1995-02-07 2004-05-18 Hitachi, Ltd. Data processor
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置
US6134148A (en) * 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
JPH10124474A (ja) * 1996-10-25 1998-05-15 Nec Corp マイクロコンピュータ
US6125157A (en) * 1997-02-06 2000-09-26 Rambus, Inc. Delay-locked loop circuitry for clock delay adjustment
JPH10269109A (ja) * 1997-03-21 1998-10-09 Mitsubishi Electric Corp マイクロコンピュータ
JPH11219299A (ja) * 1998-02-02 1999-08-10 Mitsubishi Electric Corp マイクロコンピュータ
JP4248624B2 (ja) * 1998-07-03 2009-04-02 株式会社デンソー 内燃機関用電子制御装置。
JP2000181898A (ja) * 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
US6473853B1 (en) * 1999-06-21 2002-10-29 Intel Corporation Method and apparatus for initializing a computer system that includes disabling the masking of a maskable address line
JP3778774B2 (ja) 2000-05-12 2006-05-24 松下電器産業株式会社 データ処理装置
JP3918434B2 (ja) * 2001-01-05 2007-05-23 セイコーエプソン株式会社 情報処理装置
JP4162863B2 (ja) * 2001-03-30 2008-10-08 株式会社ルネサステクノロジ マイクロコンピュータ
JP4230122B2 (ja) * 2001-03-30 2009-02-25 株式会社ルネサステクノロジ マイクロコンピュータ、書込み方法及び消去方法
JP2002342266A (ja) * 2001-05-14 2002-11-29 Hitachi Ltd データプロセッサ
JP2002366426A (ja) * 2001-06-11 2002-12-20 Mitsumi Electric Co Ltd プログラム実行装置およびプログラム実行方法
DE10145219A1 (de) * 2001-09-13 2003-04-03 Bosch Gmbh Robert Verfahren und Vorrichtung zur Erzeugung von Programmunterbrechungen bei Teilnehmern eines Bussystems und Bussystem
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US20050021894A1 (en) * 2003-07-24 2005-01-27 Renesas Technology America, Inc. Method and system for interrupt mapping
CN1317649C (zh) * 2003-09-19 2007-05-23 联想(北京)有限公司 一种基于安全芯片的计算机终端安全系统
KR100604864B1 (ko) * 2004-06-03 2006-07-26 삼성전자주식회사 입출력 핀을 통하여 전송되는 신호의 특성을 제어하는반도체 장치 및 신호 특성 제어 방법
US8090916B2 (en) * 2004-06-29 2012-01-03 Macronix International Co., Ltd. In-circuit programming architecture with processor and delegable flash controller
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator
JP2010500682A (ja) 2006-08-15 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フラッシュメモリアクセス回路
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
CN104734784B (zh) * 2013-12-19 2017-12-22 华为技术有限公司 一种确定输入光功率的方法和设备
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
CN112540952B (zh) * 2020-12-18 2021-09-17 广东高云半导体科技股份有限公司 具有片内并行接口的片上系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56127082A (en) * 1980-03-11 1981-10-05 Hiroe Ogawa Prevention of food in tightly sealed package from deterioration and denaturation
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
US5283907A (en) * 1986-05-20 1994-02-01 Robert Bosch Gmbh Process for safeguarding transfer of data from a temporary part into a main part of a non-volatile memory
US4763333A (en) * 1986-08-08 1988-08-09 Universal Vectors Corporation Work-saving system for preventing loss in a computer due to power interruption
WO1988007314A1 (en) * 1987-03-19 1988-09-22 Siemens Aktiengesellschaft Process for operating a multiprocessor central control unit of a relay system
JPH0343836A (ja) * 1989-07-11 1991-02-25 Nec Ibaraki Ltd ベクタード割込み制御方式
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5276890A (en) * 1989-11-30 1994-01-04 Kabushiki Kaisha Toshiba Resume control system and method for executing resume processing while checking operation mode of CPU
JPH04257030A (ja) * 1991-02-08 1992-09-11 Nec Corp 読み出し専用メモリパッチ方式
US5410711A (en) * 1991-02-14 1995-04-25 Dell Usa, L.P. Portable computer with BIOS-independent power management
US5276839A (en) * 1991-03-07 1994-01-04 United States Of America As Represented By The Secretary Of The Air Force System for programming EEPROM with data loaded in ROM by sending switch signal to isolate EEPROM from host system
JPH05134888A (ja) * 1991-11-12 1993-06-01 Casio Comput Co Ltd 情報処理装置
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
JP2761326B2 (ja) * 1992-05-28 1998-06-04 三菱電機株式会社 マルチプロセッサ型ワンチップマイクロコンピュータ
JP3480957B2 (ja) * 1992-12-11 2003-12-22 ブラザー工業株式会社 メモリのプログラミング装置
US5435001A (en) * 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
US5603038A (en) * 1994-09-07 1997-02-11 International Business Machines Corporation Automatic restoration of user options after power loss
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0967551A2 (en) 1998-06-26 1999-12-29 Denso Corporation Electronic control unit having user breakable function
EP0967551A3 (en) * 1998-06-26 2007-08-08 Denso Corporation Electronic control unit having user breakable function
US6598137B1 (en) 1999-04-02 2003-07-22 Sharp Kabushiki Kaisha Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area
JP2005078493A (ja) * 2003-09-02 2005-03-24 Renesas Technology Corp マイクロコンピュータ
JP2012038197A (ja) * 2010-08-10 2012-02-23 Fujitsu Ltd 情報処理装置および割込み制御プログラム
US9009422B2 (en) 2010-08-10 2015-04-14 Fujitsu Limited Information processing apparatus and interrupt control method
US9069742B1 (en) 2010-08-10 2015-06-30 Fujitsu Limited Information processing apparatus

Also Published As

Publication number Publication date
KR100444537B1 (ko) 2004-11-12
US5881295A (en) 1999-03-09
US6141700A (en) 2000-10-31
KR960032175A (ko) 1996-09-17
JP3292864B2 (ja) 2002-06-17

Similar Documents

Publication Publication Date Title
JP3292864B2 (ja) データ処理装置
US20070083745A1 (en) Data processor
US6643725B1 (en) Memory card having a buffer memory for storing testing instruction
JP4317604B2 (ja) フラッシュメモリにおける書込み/消去機能を拡張するためのデータプロセシングシステム、不揮発性メモリ、および方法
US20070101114A1 (en) Method and apparatus for memory initializing in a computer system
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
US6282644B1 (en) Apparatus and method for storing BIOS data of computer system
US6189070B1 (en) Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
EP0370529B1 (en) Microcomputer having EEPROM
KR20060002664A (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
KR970066888A (ko) 불 휘발성 메모리를 사용한 마이크로컴퓨터
JP2002015584A (ja) 不揮発性メモリのリードプロテクト回路
KR100223844B1 (ko) 옵션 자동 설정 회로
JP3669625B2 (ja) データ処理システム及びデータ処理システムの動作方法
JP4873526B2 (ja) 半導体集積回路及びマイクロコンピュータ
JP2000250665A (ja) 半導体集積回路及びメモリカード
EP0708446B1 (en) Data processor having operating modes selected by at least one mask option bit and method therefor
JP2002132746A (ja) データ処理装置及びシングルチップマイクロコンピュータ
US20060268625A1 (en) Semiconductor integrated circuit and microcomputer
JP2000099346A (ja) デ―タ処理装置
JP2005202984A (ja) データ処理装置及びシングルチップマイクロコンピュータ
JP2000250661A (ja) 半導体集積回路及びメモリカード
JPH11272472A (ja) マイクロコンピュータ
JPH1186580A (ja) フラッシュメモリのライトステートマシンのハードウェアリセット

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020219

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

Free format text: PAYMENT UNTIL: 20080405

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120405

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120405

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130405

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140405

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees