JPH10124474A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH10124474A JPH10124474A JP8283644A JP28364496A JPH10124474A JP H10124474 A JPH10124474 A JP H10124474A JP 8283644 A JP8283644 A JP 8283644A JP 28364496 A JP28364496 A JP 28364496A JP H10124474 A JPH10124474 A JP H10124474A
- Authority
- JP
- Japan
- Prior art keywords
- program
- interrupt
- address
- register
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【課題】 フラッシュPROM内蔵のマイクロコンピュ
ータでフラッシュPROMに対する書き込みを実現する
ためにはハードウェアを増加する必要があり、チップサ
イズが大型化する。 【解決手段】 フラッシュPROM2と、中央処理装置
1と、プログラムにより割込み処理を行う割込み処理モ
ード1と、プログラムによらず割込み処理を行う割込み
処理モード2をもつ割込み制御部5と、割込み処理モー
ドで使用するレジスタ3と、フラッシュPROMに書き
込むデータを記憶するRAM4を備えており、割込み処
理モード2を用いてフラッシュPROM2にデータを書
き込む構成とする。フラッシュPROM2への書き込み
中は、プログラムを使用しないため、フラッシュPRO
M2にデータを書き込むための専用のROMが不要とな
り、チップサイズの小型化が実現される。
ータでフラッシュPROMに対する書き込みを実現する
ためにはハードウェアを増加する必要があり、チップサ
イズが大型化する。 【解決手段】 フラッシュPROM2と、中央処理装置
1と、プログラムにより割込み処理を行う割込み処理モ
ード1と、プログラムによらず割込み処理を行う割込み
処理モード2をもつ割込み制御部5と、割込み処理モー
ドで使用するレジスタ3と、フラッシュPROMに書き
込むデータを記憶するRAM4を備えており、割込み処
理モード2を用いてフラッシュPROM2にデータを書
き込む構成とする。フラッシュPROM2への書き込み
中は、プログラムを使用しないため、フラッシュPRO
M2にデータを書き込むための専用のROMが不要とな
り、チップサイズの小型化が実現される。
Description
【0001】
【発明の属する技術分野】本発明は電気的に書き込み、
消去が可能なフラッシュメモリを内蔵するマイクロコン
ピュータに関する。
消去が可能なフラッシュメモリを内蔵するマイクロコン
ピュータに関する。
【0002】
【従来の技術】フラッシュメモリへの書き込み、消去を
可能にしたマイクロコンピュータとして、特開平5−2
66219号公報に記載の技術がある。この技術では、
CPUによりフラッシュPROMを制御する第1のモー
ドと半導体外部の回路の回路によりフラッシュPROM
を制御する第2のモードを持ったマイクロコンピュータ
について記載してある。図10は、このような書き込
み、消去を可能にした従来のフラッシュメモリ内蔵マイ
クロコンピュータの一例のブロック図であり、中央処理
装置1、フラッシュPROM2、レジスタ3、RAM
4、割込要求発生部5、タイマ6、内部バス7、ROM
8で構成される。
可能にしたマイクロコンピュータとして、特開平5−2
66219号公報に記載の技術がある。この技術では、
CPUによりフラッシュPROMを制御する第1のモー
ドと半導体外部の回路の回路によりフラッシュPROM
を制御する第2のモードを持ったマイクロコンピュータ
について記載してある。図10は、このような書き込
み、消去を可能にした従来のフラッシュメモリ内蔵マイ
クロコンピュータの一例のブロック図であり、中央処理
装置1、フラッシュPROM2、レジスタ3、RAM
4、割込要求発生部5、タイマ6、内部バス7、ROM
8で構成される。
【0003】前記中央処理装置(以下、CPUと記す)
1は、内部バス7からデータを書き込み、フラッシュP
ROM2にアドレス信号ADRを出力するプログラムカ
ウンタ(以下、PCと記す)11と、内部バス7から命
令コードをラッチする命令レジスタ12と、命令レジス
タ12の出力から命令コードをデコードする命令デコー
ダ13と、命令デコーダ13でデコードした結果に従い
命令を実行する実行制御部14と、内部バス7から2つ
のデータを読み込み前記実行制御部14に従って演算を
行い、結果を内部バス7に出力し、演算結果のフラグ変
化をレジスタとして構成されたプログラム・ステータス
・ワード(以下、PSWと記す)16のフラグに出力す
るALU15と、割込み要求発生部5が出力する割込み
要求信号IRQにより割込み処理の制御を行う割込み受
け付け部17とを備えている。
1は、内部バス7からデータを書き込み、フラッシュP
ROM2にアドレス信号ADRを出力するプログラムカ
ウンタ(以下、PCと記す)11と、内部バス7から命
令コードをラッチする命令レジスタ12と、命令レジス
タ12の出力から命令コードをデコードする命令デコー
ダ13と、命令デコーダ13でデコードした結果に従い
命令を実行する実行制御部14と、内部バス7から2つ
のデータを読み込み前記実行制御部14に従って演算を
行い、結果を内部バス7に出力し、演算結果のフラグ変
化をレジスタとして構成されたプログラム・ステータス
・ワード(以下、PSWと記す)16のフラグに出力す
るALU15と、割込み要求発生部5が出力する割込み
要求信号IRQにより割込み処理の制御を行う割込み受
け付け部17とを備えている。
【0004】一方、フラッシュPROM2は、フラッシ
ュメモリ(メモリセル)21と、書き込み消去読み出し
制御回路(以下、WER回路と記す)22と、フラッシ
ュメモリ21に書き込むデータをラッチするデータラッ
チ23と、WER回路22に与えるコマンドをラッチす
るコマンドレジスタ24と、フラッシュメモリ21への
書き込みモードで使用するアドレスをラッチするアドレ
スラッチ25と、アドレス信号ADRとアドレスラッチ
25の出力信号を切り替えてフラッシュメモリ21にア
ドレスとして出力するセレクタ26で構成される。ここ
で、セレクタ26はコマンドレジスタ24が書き込み/
消去などでない通常の読み出しを示すNOPの場合は、
アドレス信号ADRをフラッシュメモリ21にアドレス
として出力し、コマンドレジスタ24がNOPでない場
合はアドレスラッチ25の出力信号をフラッシュメモリ
21にアドレスとして出力する構成とされている。
ュメモリ(メモリセル)21と、書き込み消去読み出し
制御回路(以下、WER回路と記す)22と、フラッシ
ュメモリ21に書き込むデータをラッチするデータラッ
チ23と、WER回路22に与えるコマンドをラッチす
るコマンドレジスタ24と、フラッシュメモリ21への
書き込みモードで使用するアドレスをラッチするアドレ
スラッチ25と、アドレス信号ADRとアドレスラッチ
25の出力信号を切り替えてフラッシュメモリ21にア
ドレスとして出力するセレクタ26で構成される。ここ
で、セレクタ26はコマンドレジスタ24が書き込み/
消去などでない通常の読み出しを示すNOPの場合は、
アドレス信号ADRをフラッシュメモリ21にアドレス
として出力し、コマンドレジスタ24がNOPでない場
合はアドレスラッチ25の出力信号をフラッシュメモリ
21にアドレスとして出力する構成とされている。
【0005】さらに、RAM4は内部バス7からアドレ
スを入力し、内部バス7とデータの入出力を行う。タイ
マ6は内部クロックに同期してカウントするタイマとコ
ンペアレジスタで構成され、タイマの値がコンペアレジ
スタと一致した場合に、割込み信号を割込み要求発生部
5に出力し、タイマをクリアする。割込み要求発生部5
はタイマ6など周辺回路から割込み要求を入力し、割込
み要求信号IRQをCPU1の割込み要求受け付け部1
7に出力する。ROM8はフラッシュPROM2にデー
タを書き込むプログラムを記憶し、フラッシュPROM
2へデータの書き込みを行う場合に使用する。
スを入力し、内部バス7とデータの入出力を行う。タイ
マ6は内部クロックに同期してカウントするタイマとコ
ンペアレジスタで構成され、タイマの値がコンペアレジ
スタと一致した場合に、割込み信号を割込み要求発生部
5に出力し、タイマをクリアする。割込み要求発生部5
はタイマ6など周辺回路から割込み要求を入力し、割込
み要求信号IRQをCPU1の割込み要求受け付け部1
7に出力する。ROM8はフラッシュPROM2にデー
タを書き込むプログラムを記憶し、フラッシュPROM
2へデータの書き込みを行う場合に使用する。
【0006】以上の構成のマイクロコンピュータにおけ
る動作を説明する。 [命令の実行]プログラムを実行する場合について説明
する。PC11は実行する命令が記憶されたアドレスを
アドレス信号ADRとして出力する。このときコマンド
レジスタ24がNOPに設定されているため、セレクタ
26はアドレス信号ADRをフラッシュメモリ21に出
力し、フラッシュメモリ21はアドレスに従い、内容を
WER回路22を通して内部バス7に出力する。内部バ
ス7に出力された命令コードを命令レジスタ12にラッ
チし、命令デコーダ13でデコードする。命令デコーダ
13でデコードした結果に従って実行制御部14はAL
U15の動作やレジスタの指定などを行う。ALU15
で演算した結果は内部バス7を通してレジスタ3に書き
込まれる。またALU15の演算結果に従いPSW16
のフラグは変化する。PC11は命令の実行後インクリ
メントされ、次に実行する命令が記憶されたアドレスを
示す。このように命令の実行が行われる。
る動作を説明する。 [命令の実行]プログラムを実行する場合について説明
する。PC11は実行する命令が記憶されたアドレスを
アドレス信号ADRとして出力する。このときコマンド
レジスタ24がNOPに設定されているため、セレクタ
26はアドレス信号ADRをフラッシュメモリ21に出
力し、フラッシュメモリ21はアドレスに従い、内容を
WER回路22を通して内部バス7に出力する。内部バ
ス7に出力された命令コードを命令レジスタ12にラッ
チし、命令デコーダ13でデコードする。命令デコーダ
13でデコードした結果に従って実行制御部14はAL
U15の動作やレジスタの指定などを行う。ALU15
で演算した結果は内部バス7を通してレジスタ3に書き
込まれる。またALU15の演算結果に従いPSW16
のフラグは変化する。PC11は命令の実行後インクリ
メントされ、次に実行する命令が記憶されたアドレスを
示す。このように命令の実行が行われる。
【0007】[割込み処理によるフラッシュPROM書
き込み]割込み処理のフローを使用したフラッシュPR
OMの書き込みについて説明する。フラッシュPROM
2に1バイト書き込むには10μs程度の時間が必要で
ある。一方、マイクロコンピュータの動作クロックは2
0MHzなど高速であり、フラッシュPROM2のコマ
ンドレジスタを書き込みに設定したあと書き込みを満足
する時間だけ待つ必要がある。そのためタイマ6を使用
して待ち時間を制御する。タイマ6などの周辺回路から
割込み信号が割込み要求発生部5に出力されると割込み
要求発生部5は割込みの優先順位の判定を行い、割込み
受け付け可能な設定とされていれば割込み要求信号IR
Qを“1”にする。割込み要求信号IRQが“1”にな
るとプログラムの実行を中断し、割込み処理を開始す
る。割込み要求受け付け部17は実行制御部14からの
制御信号にもとづいてPC11、PSW16の内容をR
AM4に退避させた後、PC11に割込み処理プログラ
ムで必要な先頭番地をセットする。これにより、割込み
処理プログラムが開始される。割込み処理プログラムを
終了するとRAM4に退避させていた内容をPC11、
PSW15に戻し、中断する前の状態に復帰する。
き込み]割込み処理のフローを使用したフラッシュPR
OMの書き込みについて説明する。フラッシュPROM
2に1バイト書き込むには10μs程度の時間が必要で
ある。一方、マイクロコンピュータの動作クロックは2
0MHzなど高速であり、フラッシュPROM2のコマ
ンドレジスタを書き込みに設定したあと書き込みを満足
する時間だけ待つ必要がある。そのためタイマ6を使用
して待ち時間を制御する。タイマ6などの周辺回路から
割込み信号が割込み要求発生部5に出力されると割込み
要求発生部5は割込みの優先順位の判定を行い、割込み
受け付け可能な設定とされていれば割込み要求信号IR
Qを“1”にする。割込み要求信号IRQが“1”にな
るとプログラムの実行を中断し、割込み処理を開始す
る。割込み要求受け付け部17は実行制御部14からの
制御信号にもとづいてPC11、PSW16の内容をR
AM4に退避させた後、PC11に割込み処理プログラ
ムで必要な先頭番地をセットする。これにより、割込み
処理プログラムが開始される。割込み処理プログラムを
終了するとRAM4に退避させていた内容をPC11、
PSW15に戻し、中断する前の状態に復帰する。
【0008】図11(a)はフラッシュPROM2の1
000H番地に1バイトデータを書き込むプログラムの
例であり、左にあるA0からA6はプログラムが記憶さ
れたメモリのアドレスを示す。このプログラムはROM
8に記憶されており、フラッシュメモリに書き込む場合
はこの記憶されたプログラムを使用する。 A0:アドレスラッチ25にアドレス1000Hを設定
する。 A1:データラッチ23に最初に書き込むデータDAT
A0を設定する。 A2:コマンドレジスタ24をライトに設定する。 A3:タイマ6のコンペアレジスタをフラッシュメモリ
21の書き込み時間を満足する値に設定し、タイマのカ
ウントを開始する。 A4:HALTモードに設定。 なお、HALTモードはCPUは停止するが、タイマ6
など周辺回路は動作する動作モードである。
000H番地に1バイトデータを書き込むプログラムの
例であり、左にあるA0からA6はプログラムが記憶さ
れたメモリのアドレスを示す。このプログラムはROM
8に記憶されており、フラッシュメモリに書き込む場合
はこの記憶されたプログラムを使用する。 A0:アドレスラッチ25にアドレス1000Hを設定
する。 A1:データラッチ23に最初に書き込むデータDAT
A0を設定する。 A2:コマンドレジスタ24をライトに設定する。 A3:タイマ6のコンペアレジスタをフラッシュメモリ
21の書き込み時間を満足する値に設定し、タイマのカ
ウントを開始する。 A4:HALTモードに設定。 なお、HALTモードはCPUは停止するが、タイマ6
など周辺回路は動作する動作モードである。
【0009】図11(b)は割込み処理のプログラムで
ある。 IA0:コマンドレジスタ24をNOPに設定する。 IA1:タイマ6のカウントを停止する。 IA2:復帰。
ある。 IA0:コマンドレジスタ24をNOPに設定する。 IA1:タイマ6のカウントを停止する。 IA2:復帰。
【0010】図12はPC11、アドレスラッチ25、
データラッチ23、コマンドレジスタ24などの変化を
示した動作のタイミングチャートである。コマンドレジ
スタ24をライトWRに設定する事でセレクタ26はア
ドレスラッチ25に設定された値“1000H”をアド
レスとしてフラッシュメモリ21に出力する。そして、
HALTモードに設定することでCPU1は停止し、P
C11はA4のアドレスを示したままで停止し、フラッ
シュPROM2に対するアクセスはなくなる。次いで、
タイマ6のタイマがコンペアレジスタの値と一致すると
タイマ6は割込み要求発生部5に対して割込み信号を出
力し、タイマの値がクリアされる。また、割込み要求発
生部5は割込み要求信号IRQを“1”にする。割込み
要求信号IRQが“1”になることでHALTモードは
解除される。HALTモードが解除されるとPC11は
インクリメントしA5を示す。割込み要求受け付け部1
7はPC11、PSW16の内容をRAM4に退避し、
PC11に割込み処理プログラムの先頭番地IAOを設
定する。さらに、復帰命令が実行されるとRAM4に退
避していた内容をPC11、PSW16に復帰する。P
C11にはA5が設定され、A5以降の処理を実行す
る。
データラッチ23、コマンドレジスタ24などの変化を
示した動作のタイミングチャートである。コマンドレジ
スタ24をライトWRに設定する事でセレクタ26はア
ドレスラッチ25に設定された値“1000H”をアド
レスとしてフラッシュメモリ21に出力する。そして、
HALTモードに設定することでCPU1は停止し、P
C11はA4のアドレスを示したままで停止し、フラッ
シュPROM2に対するアクセスはなくなる。次いで、
タイマ6のタイマがコンペアレジスタの値と一致すると
タイマ6は割込み要求発生部5に対して割込み信号を出
力し、タイマの値がクリアされる。また、割込み要求発
生部5は割込み要求信号IRQを“1”にする。割込み
要求信号IRQが“1”になることでHALTモードは
解除される。HALTモードが解除されるとPC11は
インクリメントしA5を示す。割込み要求受け付け部1
7はPC11、PSW16の内容をRAM4に退避し、
PC11に割込み処理プログラムの先頭番地IAOを設
定する。さらに、復帰命令が実行されるとRAM4に退
避していた内容をPC11、PSW16に復帰する。P
C11にはA5が設定され、A5以降の処理を実行す
る。
【0011】このように、従来構成ではコマンドレジス
タ24がNOPの場合のみPC11のアドレスに設定さ
れたデータがフラッシュメモリ21に出力されるため、
コマンドレジスタ24がライトコマンドに設定された場
合は、フラッシュメモリ21に記憶されたプログラムを
読むことができない。そのため、プログラムを記憶する
為の専用のROM8が必要になる。なお、RAM4にプ
ログラムを転送し、RAM4からプログラムを読み出す
こともできるが、その場合はRAM4の容量を大きくす
る必要がある。
タ24がNOPの場合のみPC11のアドレスに設定さ
れたデータがフラッシュメモリ21に出力されるため、
コマンドレジスタ24がライトコマンドに設定された場
合は、フラッシュメモリ21に記憶されたプログラムを
読むことができない。そのため、プログラムを記憶する
為の専用のROM8が必要になる。なお、RAM4にプ
ログラムを転送し、RAM4からプログラムを読み出す
こともできるが、その場合はRAM4の容量を大きくす
る必要がある。
【0012】なお、前記した公報では、フラッシュメモ
リ21に書き込むプログラムを記憶したROM8の代わ
りに、フラッシュメモリ21を一括消去可能な複数のブ
ロックを持ち、プログラムを記憶しているフラッシュの
ブロックとは別のブロックの書き込みをCPUにより行
うことも記してある。また、特開平6−111032号
公報には、アドレスラッチ、データラッチ、コマンドラ
ッチの設定を全てシリアルインターフェースで行う例が
記載されている。
リ21に書き込むプログラムを記憶したROM8の代わ
りに、フラッシュメモリ21を一括消去可能な複数のブ
ロックを持ち、プログラムを記憶しているフラッシュの
ブロックとは別のブロックの書き込みをCPUにより行
うことも記してある。また、特開平6−111032号
公報には、アドレスラッチ、データラッチ、コマンドラ
ッチの設定を全てシリアルインターフェースで行う例が
記載されている。
【0013】
【発明が解決しようとする課題】このように、フラッシ
ュPROMにデータを書く場合に、実行するプログラム
を読み出すアドレスとフラッシュPROMに書き込むア
ドレスを両方指定する必要があるため、フラッシュPR
OMに書き込むプログラムを記憶した専用のメモリを持
つ必要があり、チップサイズを大きくしてしまう問題が
あった。また、前記公報に記載のように、フラッシュP
ROMを複数のブロックに分割し、書き込みプログラム
を別のブロックに置くことで専用のメモリは不用になる
が、その場合はフラッシュPROMの各ブロックにプロ
グラム実行のアドレスとフラッシュPROM書き込みの
アドレス指定のアドレスを切り替えるためのセレクタが
必要になり、チップサイズを大きくする問題を解消する
には至らない。あるいは、前記他の公報に記載のよう
に、CPUを使用せずにシリアル回路からアドレスラッ
チ、データラッチ、コマンドレジスタを設定すればフラ
ッシュPROMに書き込むことでアドレスセレクタや書
き込み専用メモリなどは不用になるが、書き込みの時間
待ちなどのためにコマンドレジスタの設定と同時にタイ
マがカウントを開始する回路が必要になるなど、周辺に
追加する回路が多く、チップサイズを大きくする問題を
解消することは困難である。
ュPROMにデータを書く場合に、実行するプログラム
を読み出すアドレスとフラッシュPROMに書き込むア
ドレスを両方指定する必要があるため、フラッシュPR
OMに書き込むプログラムを記憶した専用のメモリを持
つ必要があり、チップサイズを大きくしてしまう問題が
あった。また、前記公報に記載のように、フラッシュP
ROMを複数のブロックに分割し、書き込みプログラム
を別のブロックに置くことで専用のメモリは不用になる
が、その場合はフラッシュPROMの各ブロックにプロ
グラム実行のアドレスとフラッシュPROM書き込みの
アドレス指定のアドレスを切り替えるためのセレクタが
必要になり、チップサイズを大きくする問題を解消する
には至らない。あるいは、前記他の公報に記載のよう
に、CPUを使用せずにシリアル回路からアドレスラッ
チ、データラッチ、コマンドレジスタを設定すればフラ
ッシュPROMに書き込むことでアドレスセレクタや書
き込み専用メモリなどは不用になるが、書き込みの時間
待ちなどのためにコマンドレジスタの設定と同時にタイ
マがカウントを開始する回路が必要になるなど、周辺に
追加する回路が多く、チップサイズを大きくする問題を
解消することは困難である。
【0014】本発明の目的は、専用のメモリやその他の
周辺回路を増加することなくフラッシャPROMに対す
る書き込みを可能にしてその小型化を実現したマイクロ
コンピュータを提供することにある。
周辺回路を増加することなくフラッシャPROMに対す
る書き込みを可能にしてその小型化を実現したマイクロ
コンピュータを提供することにある。
【0015】
【課題を解決するための手段】本発明のマイクロコンピ
ュータは、中央処理装置と、割込み処理要求を発生する
割込み要求発生部と、前記割込み処理要求に応答してプ
ログラムメモリに記憶されたプログラムで割込みの処理
を行う第1の処理要求と、前記プログラムメモリに記憶
されたプログラムを用いることなく割込み処理を行う第
2の処理要求を発生する処理要求制御部と、電気的書き
込み一括消去可能な読み出し専用メモリであるフラッシ
ュメモリを備えており、前記フラッシュメモリに対する
書き込みや消去などの処理を前記第2の処理モードで行
うことを特徴としている。
ュータは、中央処理装置と、割込み処理要求を発生する
割込み要求発生部と、前記割込み処理要求に応答してプ
ログラムメモリに記憶されたプログラムで割込みの処理
を行う第1の処理要求と、前記プログラムメモリに記憶
されたプログラムを用いることなく割込み処理を行う第
2の処理要求を発生する処理要求制御部と、電気的書き
込み一括消去可能な読み出し専用メモリであるフラッシ
ュメモリを備えており、前記フラッシュメモリに対する
書き込みや消去などの処理を前記第2の処理モードで行
うことを特徴としている。
【0016】
【発明の実施の形態】次に、本発明の実施形態を図面を
参照して説明する。図1は本発明の第1の実施形態のブ
ロック図であり、この実施形態のマイクロコンピュータ
は、CPU(中央処理装置)1、フラッシュPROM
2、レジスタ3、RAM4、割込み要求発生部5、タイ
マ6、およびそれらを接続する内部バス7で構成され
る。すなわち、図10に示したROM8は設けられてい
ない。前記CPU1は内部バス7からデータを書き込
み、フラッシュPROM2にアドレス信号ADRを出力
するPC(プログラムカウンタ)11と、内部バス7か
ら命令コードをラッチする命令レジスタ12と、命令レ
ジスタ12の出力から命令コードをデコードする命令デ
コーダ13と、命令デコーダ13でデコードした結果に
従い命令を実行する実行制御部14と、内部バス7から
2つのデータを読み込み実行制御部14に従って演算を
行い、その結果を内部バス7に出力し、演算結果のフラ
グ変化をPSW(プログラム・ステータス・ワード)1
6のフラグに出力するALU(演算器)15と、ALU
15で演算した結果のフラグのレジスタであるPSW1
6と、割込み要求発生部5が出力する割込み要求信号I
RQと割込みモードを示すIMODEにより割込み処理
の制御を行う割込み受付部17により構成される。
参照して説明する。図1は本発明の第1の実施形態のブ
ロック図であり、この実施形態のマイクロコンピュータ
は、CPU(中央処理装置)1、フラッシュPROM
2、レジスタ3、RAM4、割込み要求発生部5、タイ
マ6、およびそれらを接続する内部バス7で構成され
る。すなわち、図10に示したROM8は設けられてい
ない。前記CPU1は内部バス7からデータを書き込
み、フラッシュPROM2にアドレス信号ADRを出力
するPC(プログラムカウンタ)11と、内部バス7か
ら命令コードをラッチする命令レジスタ12と、命令レ
ジスタ12の出力から命令コードをデコードする命令デ
コーダ13と、命令デコーダ13でデコードした結果に
従い命令を実行する実行制御部14と、内部バス7から
2つのデータを読み込み実行制御部14に従って演算を
行い、その結果を内部バス7に出力し、演算結果のフラ
グ変化をPSW(プログラム・ステータス・ワード)1
6のフラグに出力するALU(演算器)15と、ALU
15で演算した結果のフラグのレジスタであるPSW1
6と、割込み要求発生部5が出力する割込み要求信号I
RQと割込みモードを示すIMODEにより割込み処理
の制御を行う割込み受付部17により構成される。
【0017】一方、フラッシュPROM2はフラッシュ
メモリ21と、WER回路(書き込み消去読み出し制御
回路)22と、フラッシュメモリ21に書き込むデータ
をラッチするデータラッチ23と、WER回路22に与
えるコマンドをラッチするコマンドレジスタ24と、フ
ラッシュメモリ21への書き込みモードで使用するアド
レスをラッチするアドレスラッチ25と、アドレス信号
ADRとアドレスラッチ25の出力信号を切り替えてフ
ラッシュメモリ21にアドレスとして出力するセレクタ
26と、アドレスラッチの値を1増加するインクリメン
タ27で構成される。なお、セレクタ26はコマンドレ
ジスタ24が書き込み/消去などでない通常の読み出し
を示すNOPの場合はアドレス信号ADRをフラッシュ
メモリ21にアドレスとして出力し、コマンドレジスタ
24がNOPでない場合はアドレスラッチ25の出力信
号をフラッシュメモリ21にアドレスとして出力するよ
うに構成される。
メモリ21と、WER回路(書き込み消去読み出し制御
回路)22と、フラッシュメモリ21に書き込むデータ
をラッチするデータラッチ23と、WER回路22に与
えるコマンドをラッチするコマンドレジスタ24と、フ
ラッシュメモリ21への書き込みモードで使用するアド
レスをラッチするアドレスラッチ25と、アドレス信号
ADRとアドレスラッチ25の出力信号を切り替えてフ
ラッシュメモリ21にアドレスとして出力するセレクタ
26と、アドレスラッチの値を1増加するインクリメン
タ27で構成される。なお、セレクタ26はコマンドレ
ジスタ24が書き込み/消去などでない通常の読み出し
を示すNOPの場合はアドレス信号ADRをフラッシュ
メモリ21にアドレスとして出力し、コマンドレジスタ
24がNOPでない場合はアドレスラッチ25の出力信
号をフラッシュメモリ21にアドレスとして出力するよ
うに構成される。
【0018】さらに、レジスタ3はプログラムなどで値
を記憶するために使用するほか、RAM4のアドレス指
定にも使用する。RAM4は、内部バス7とレジスタ3
からアドレスを入力し、内部バス7とデータの入出力を
行う。タイマ6は、内部クロックに同期してカウントす
るタイマとコンペアレジスタで構成され、タイマの値が
コンペアレジスタと一致した場合に割込み信号を割込み
要求発生部5に出力し、タイマをクリアする。割込み要
求発生部5はタイマ6など周辺回路から割込み要求を入
力し、割込みモード信号IMODEと割込み要求信号I
RQをCPU1の割込み要求受付部17に出力する。
を記憶するために使用するほか、RAM4のアドレス指
定にも使用する。RAM4は、内部バス7とレジスタ3
からアドレスを入力し、内部バス7とデータの入出力を
行う。タイマ6は、内部クロックに同期してカウントす
るタイマとコンペアレジスタで構成され、タイマの値が
コンペアレジスタと一致した場合に割込み信号を割込み
要求発生部5に出力し、タイマをクリアする。割込み要
求発生部5はタイマ6など周辺回路から割込み要求を入
力し、割込みモード信号IMODEと割込み要求信号I
RQをCPU1の割込み要求受付部17に出力する。
【0019】以上の構成のマイクロコンピュータの動作
について説明する。 [命令の実行]プログラムを実行する場合について説明
する。PC11は、実行する命令が記憶されたアドレス
をアドレス信号ADRに出力する。コマンドレジスタ2
4がNOPに設定されているため、セレクタ26はアド
レス信号ADRをフラッシュメモリ21に出力し、フラ
ッシュメモリ21はアドレスに従いROMの内容をWE
R回路22を通して内部バス7に出力する。内部バス7
に出力された命令コードを命令レジスタ12にラッチ
し、命令デコーダ13でデコードする。命令デコーダ1
3でデコードした結果に従って実行制御部14はALU
15の動作やレジスタ3の指定などを行う。ALU15
で演算した結果は内部バス7を通してレジスタ3に書き
込まれる。またALU15の演算結果に従いPSW16
のフラグは変化する。PC11は命令の実行後インクリ
メントされ、次に実行する命令が記憶されたアドレスを
示す。このように命令の実行が行われる。
について説明する。 [命令の実行]プログラムを実行する場合について説明
する。PC11は、実行する命令が記憶されたアドレス
をアドレス信号ADRに出力する。コマンドレジスタ2
4がNOPに設定されているため、セレクタ26はアド
レス信号ADRをフラッシュメモリ21に出力し、フラ
ッシュメモリ21はアドレスに従いROMの内容をWE
R回路22を通して内部バス7に出力する。内部バス7
に出力された命令コードを命令レジスタ12にラッチ
し、命令デコーダ13でデコードする。命令デコーダ1
3でデコードした結果に従って実行制御部14はALU
15の動作やレジスタ3の指定などを行う。ALU15
で演算した結果は内部バス7を通してレジスタ3に書き
込まれる。またALU15の演算結果に従いPSW16
のフラグは変化する。PC11は命令の実行後インクリ
メントされ、次に実行する命令が記憶されたアドレスを
示す。このように命令の実行が行われる。
【0020】[割込みの処理]割込み処理のフローにつ
いて説明する。図1ではタイマ6しか示していないが、
通常はこの他にも複数の周辺回路が接続されており、こ
れらタイマ6などの周辺回路から割込み信号が割込み要
求発生部5に出力されると割込み要求発生部5は割込み
の優先順位の判定を行い、割込み受け付け可能な設定に
されていれば割込み要求信号IRQを“1”にする。ま
た、割込みモードの設定に従い、割込みモード1であれ
ば割込みモード信号IMODEを“0”に、割込みモー
ド2であれば割込みモード信号IMODEを“1”にす
る。割込みモード1は従来例で説明した通常の割込みで
あるのでここでは説明を省略する。
いて説明する。図1ではタイマ6しか示していないが、
通常はこの他にも複数の周辺回路が接続されており、こ
れらタイマ6などの周辺回路から割込み信号が割込み要
求発生部5に出力されると割込み要求発生部5は割込み
の優先順位の判定を行い、割込み受け付け可能な設定に
されていれば割込み要求信号IRQを“1”にする。ま
た、割込みモードの設定に従い、割込みモード1であれ
ば割込みモード信号IMODEを“0”に、割込みモー
ド2であれば割込みモード信号IMODEを“1”にす
る。割込みモード1は従来例で説明した通常の割込みで
あるのでここでは説明を省略する。
【0021】割込み処理モード2を用いて、RAM4に
記憶されたデータをフラッシュPROMに書き込む場合
の動作について説明する。図2は、割込みモード2で使
用するレジスタ3の構成を示す図である。これはタイマ
6の割込みに対応した部分を説明したもので、その他の
割込みにはそれぞれ対応したレジスタが用意される。こ
の例ではレジスタ3を使用しているが、RAM4の特定
のアドレスをレジスタの代わりに使用してもよい。タイ
マの制御レジスタなどをスペシャルファンクションレジ
スタ(以降、SFRと記す)という。このSFRにおけ
る各レジスタを説明する。
記憶されたデータをフラッシュPROMに書き込む場合
の動作について説明する。図2は、割込みモード2で使
用するレジスタ3の構成を示す図である。これはタイマ
6の割込みに対応した部分を説明したもので、その他の
割込みにはそれぞれ対応したレジスタが用意される。こ
の例ではレジスタ3を使用しているが、RAM4の特定
のアドレスをレジスタの代わりに使用してもよい。タイ
マの制御レジスタなどをスペシャルファンクションレジ
スタ(以降、SFRと記す)という。このSFRにおけ
る各レジスタを説明する。
【0022】MSCは割込みモード2で処理する回数を
指定するレジスタであり、MSC=0になると割込みモ
ード2を終了し、割込みモード1の処理を開始する。S
FRP1,SFRP2はSFRのアドレスを指定するレ
ジスタである。CMD1,CMD2はSFRP1が示す
アドレスのSFRに設定するデータを示すレジスタであ
る。MEMPはSFRP2が示すアドレスに転送するデ
ータが記憶されたアドレスを示すレジスタであり、この
例ではデータが記憶されたRAM4のアドレスを示す。
指定するレジスタであり、MSC=0になると割込みモ
ード2を終了し、割込みモード1の処理を開始する。S
FRP1,SFRP2はSFRのアドレスを指定するレ
ジスタである。CMD1,CMD2はSFRP1が示す
アドレスのSFRに設定するデータを示すレジスタであ
る。MEMPはSFRP2が示すアドレスに転送するデ
ータが記憶されたアドレスを示すレジスタであり、この
例ではデータが記憶されたRAM4のアドレスを示す。
【0023】割込みモード2に設定されていれば以下の
処理を行う。図3は割込み処理モード2のフローチャー
トであり、この割込み処理モード2のフローを説明す
る。先ず、CMD1レジスタの内容をSFRP1レジス
タに示すレジスタに転送する(S11)。次いで、MS
Cレジスタの内容を1デクリメントする(S12)。こ
こで、MSC=0であれば割込みモード1に変更し、割
込み要求を発生し、終了する(S13〜S15)。その
後、割込みモード1の割込み処理を実行する。一方、M
SCが0でなければMEMPが示すアドレスのRAMの
内容をSFRP2が示すアドレスのSFRに転送する
(S16)。さらに、CMD2レジスタの内容をSFR
P1の示すレジスタに転送する(S17)。その後、M
EMPの値を1インクリメントする(S18)。
処理を行う。図3は割込み処理モード2のフローチャー
トであり、この割込み処理モード2のフローを説明す
る。先ず、CMD1レジスタの内容をSFRP1レジス
タに示すレジスタに転送する(S11)。次いで、MS
Cレジスタの内容を1デクリメントする(S12)。こ
こで、MSC=0であれば割込みモード1に変更し、割
込み要求を発生し、終了する(S13〜S15)。その
後、割込みモード1の割込み処理を実行する。一方、M
SCが0でなければMEMPが示すアドレスのRAMの
内容をSFRP2が示すアドレスのSFRに転送する
(S16)。さらに、CMD2レジスタの内容をSFR
P1の示すレジスタに転送する(S17)。その後、M
EMPの値を1インクリメントする(S18)。
【0024】[割込みモード2によるフラッシュPRO
M書き込みプログラムの例]割込みモード2により10
00H番地から10バイトデータを書き込むプログラム
の例を図4(a)に示す。最初に割込みモード2の処理
のためにレジスタ設定をする。MSCに“10”、SF
RP1にコマンドレジスタ24のアドレス、CMD1に
NOPコマンドを示すデータ、CMD2にライトコマン
ドを示すデータ、SFRP2にデータラッチ23のアド
レス、MEMPに2バイト目に書き込むデータDATA
1が記憶されたアドレスをそれぞれ設定する。また、タ
イマ6の割込み処理が割込みモード2になるように割込
み要求発生部5を設定する。
M書き込みプログラムの例]割込みモード2により10
00H番地から10バイトデータを書き込むプログラム
の例を図4(a)に示す。最初に割込みモード2の処理
のためにレジスタ設定をする。MSCに“10”、SF
RP1にコマンドレジスタ24のアドレス、CMD1に
NOPコマンドを示すデータ、CMD2にライトコマン
ドを示すデータ、SFRP2にデータラッチ23のアド
レス、MEMPに2バイト目に書き込むデータDATA
1が記憶されたアドレスをそれぞれ設定する。また、タ
イマ6の割込み処理が割込みモード2になるように割込
み要求発生部5を設定する。
【0025】また、アドレスA0〜A4について、 A0:データラッチ23に最初に書き込むデータDAT
A0を設定する。 A1:アドレスラッチ25にアドレス1000Hを設定
する。 A2:タイマ6のコンペアレジスタをフラッシュメモリ
21の書き込み時間を満足する値に設定し、タイマのカ
ウントを開始する。 A3:コマンドレジスタ24をライトに設定し、HAL
Tモードにする。 なお、図4(b)は、割込みモード1で使用する割込み
処理のプログラムであり、アドレスIA0で復帰する。
A0を設定する。 A1:アドレスラッチ25にアドレス1000Hを設定
する。 A2:タイマ6のコンペアレジスタをフラッシュメモリ
21の書き込み時間を満足する値に設定し、タイマのカ
ウントを開始する。 A3:コマンドレジスタ24をライトに設定し、HAL
Tモードにする。 なお、図4(b)は、割込みモード1で使用する割込み
処理のプログラムであり、アドレスIA0で復帰する。
【0026】図5はPC11、アドレスラッチ25、デ
ータラッチ23、コマンドレジスタ24、MSCレジス
タ、MEMPレジスタなどの変化を示した動作のタイミ
ングチャートである。HALTモードはCPU1は停止
するが、タイマ6など周辺回路は動作する動作モードで
ある。コマンドレジスタ24をライトWRに設定する事
でセレクタ26はアドレスラッチ25に設定された値を
アドレスとしてフラッシュメモリ21に出力する。HA
LTモードに設定することでCPU1は停止し、PC1
1はA3のアドレスを示したままで停止し、フラッシュ
PROM2に対するアクセスはなくなる。
ータラッチ23、コマンドレジスタ24、MSCレジス
タ、MEMPレジスタなどの変化を示した動作のタイミ
ングチャートである。HALTモードはCPU1は停止
するが、タイマ6など周辺回路は動作する動作モードで
ある。コマンドレジスタ24をライトWRに設定する事
でセレクタ26はアドレスラッチ25に設定された値を
アドレスとしてフラッシュメモリ21に出力する。HA
LTモードに設定することでCPU1は停止し、PC1
1はA3のアドレスを示したままで停止し、フラッシュ
PROM2に対するアクセスはなくなる。
【0027】タイマ6のタイマがコンペアレジスタの値
と一致するとタイマ6は割込み要求発生部5に対して割
込み信号を出力し、タイマの値がクリアされる。タイマ
6は割込みモード2に設定されているため、割込み要求
発生部5は割込み要求信号IRQを“1”,割込みモー
ド信号IMODEを“1”にする。割込みモード信号I
MODEが“1”であるから図3で示したフローが実行
される。ここで、SFRP1がコマンドレジスタ24を
示し、CMD1がNOPコマンドであるから、コマンド
レジスタ24がNOPに設定される。コマンドレジスタ
24がNOPに設定されることにより、アドレスラッチ
25はインクリメンタ27で1インクリメントされた値
をラッチする。次いで、MSCは1デクリメントされ
“9”になる。CMD2がライトコマンドであるから、
コマンドレジスタ24がライトに設定される。MEMP
は1インクリメントされ1001Hになる。
と一致するとタイマ6は割込み要求発生部5に対して割
込み信号を出力し、タイマの値がクリアされる。タイマ
6は割込みモード2に設定されているため、割込み要求
発生部5は割込み要求信号IRQを“1”,割込みモー
ド信号IMODEを“1”にする。割込みモード信号I
MODEが“1”であるから図3で示したフローが実行
される。ここで、SFRP1がコマンドレジスタ24を
示し、CMD1がNOPコマンドであるから、コマンド
レジスタ24がNOPに設定される。コマンドレジスタ
24がNOPに設定されることにより、アドレスラッチ
25はインクリメンタ27で1インクリメントされた値
をラッチする。次いで、MSCは1デクリメントされ
“9”になる。CMD2がライトコマンドであるから、
コマンドレジスタ24がライトに設定される。MEMP
は1インクリメントされ1001Hになる。
【0028】以上の処理は割込み要求受付部17で行う
処理であり、命令レジスタの値に依らず動作し、PC1
1が示すアドレスのデータを読むことはない。また、割
込み要求信号IRQが“1”、割込みモード信号IMO
DEが“1”の場合は割込み処理中はHALTモードが
解除されるが、割込み処理終了後再びHALTモードに
なる。以降、タイマの値がコンペアレジスタと一致した
場合に、フラッシュメモリに対して書き込み処理を繰り
返す。
処理であり、命令レジスタの値に依らず動作し、PC1
1が示すアドレスのデータを読むことはない。また、割
込み要求信号IRQが“1”、割込みモード信号IMO
DEが“1”の場合は割込み処理中はHALTモードが
解除されるが、割込み処理終了後再びHALTモードに
なる。以降、タイマの値がコンペアレジスタと一致した
場合に、フラッシュメモリに対して書き込み処理を繰り
返す。
【0029】図6は10回目のタイマとコンペアレジス
タの一致による割込み処理のタイミングチャートであ
る。コマンドレジスタ24がNOPに設定されると、M
SCは1デクリメントされ“0”になる。MSCが
“0”のため割込みモード1に変更される。再び割込み
要求信号IRQが“1”になると、割込みモード信号I
MODEが“0”、IRQが“1”であるため、HAL
Tモードは解除される。割込みモード1で割込み処理を
行うと、PC11には図4(b)の割込み処理ルーチン
のアドレスIA0が設定される。この例では割込み処理
ルーチンで何も処理をせずにメインルーチンに復帰して
いるため、メインルーチンのA4のタイマの停止が実行
されて10バイトの書き込みが終了する。
タの一致による割込み処理のタイミングチャートであ
る。コマンドレジスタ24がNOPに設定されると、M
SCは1デクリメントされ“0”になる。MSCが
“0”のため割込みモード1に変更される。再び割込み
要求信号IRQが“1”になると、割込みモード信号I
MODEが“0”、IRQが“1”であるため、HAL
Tモードは解除される。割込みモード1で割込み処理を
行うと、PC11には図4(b)の割込み処理ルーチン
のアドレスIA0が設定される。この例では割込み処理
ルーチンで何も処理をせずにメインルーチンに復帰して
いるため、メインルーチンのA4のタイマの停止が実行
されて10バイトの書き込みが終了する。
【0030】次に、本発明の第2の実施形態について説
明する。マイクロコンピュータの構成は図1に示したも
のと同じであるが、この第2の実施形態では周辺回路と
して図1のタイマ6の他にシリアル通信回路を内蔵し、
シリアル通信回路で受信したデータをそのままフラッシ
ュPROM2に書き込むことを可能な構成としている。
図7は割込みモード2で使用するレジスタとフローを示
したものであり、図7(a)はシリアル通信回路の受信
割込みで使用するレジスタとフローであり、図7(b)
はタイマの一致割込みで使用するレジスタとフローであ
る。これらの図において、MSCは割込みモード2で処
理する回数を指定するレジスタである。SFRP11,
SFRP21,SFRP31,SFRP41,SFRP
12,SFRP22はSFRのアドレスを指定するレジ
スタである。CMD31,CMD41,CMD12,C
MD22はSFRに設定するデータを示すレジスタであ
る。
明する。マイクロコンピュータの構成は図1に示したも
のと同じであるが、この第2の実施形態では周辺回路と
して図1のタイマ6の他にシリアル通信回路を内蔵し、
シリアル通信回路で受信したデータをそのままフラッシ
ュPROM2に書き込むことを可能な構成としている。
図7は割込みモード2で使用するレジスタとフローを示
したものであり、図7(a)はシリアル通信回路の受信
割込みで使用するレジスタとフローであり、図7(b)
はタイマの一致割込みで使用するレジスタとフローであ
る。これらの図において、MSCは割込みモード2で処
理する回数を指定するレジスタである。SFRP11,
SFRP21,SFRP31,SFRP41,SFRP
12,SFRP22はSFRのアドレスを指定するレジ
スタである。CMD31,CMD41,CMD12,C
MD22はSFRに設定するデータを示すレジスタであ
る。
【0031】図7(a)のシリアル受信割込みの割込み
処理モード2のフローを説明する。先ず、SFRP11
レジスタが示すSFRの内容をSFRP21レジスタが
示すSFRに転送する(S21)。次いで、CMD31
レジスタの内容をSFRP31レジスタが示すSFRに
設定する(S22)。続いて、CMD41レジスタの内
容をSFRP41レジスタが示すSFRに設定する(S
23)。
処理モード2のフローを説明する。先ず、SFRP11
レジスタが示すSFRの内容をSFRP21レジスタが
示すSFRに転送する(S21)。次いで、CMD31
レジスタの内容をSFRP31レジスタが示すSFRに
設定する(S22)。続いて、CMD41レジスタの内
容をSFRP41レジスタが示すSFRに設定する(S
23)。
【0032】図7(b)のタイマ一致割込みの割込み処
理モード2のフローを説明する。先ず、CMD12レジ
スタの内容をSFRP12レジスタが示すSFRに設定
する(S31)。次いで、CMD22レジスタの内容を
SFRP22レジスタが示すSFRに設定する(S3
2)。MSCレジスタの内容を1デクリメントする(S
33)。MSCが0でなければ終了する(S34)。一
方、MSC=0であれば割込みモード1に変更し(S3
5)、割込み要求を発生する(S36)。その後、割込
みモード1の割込み処理を実行する。
理モード2のフローを説明する。先ず、CMD12レジ
スタの内容をSFRP12レジスタが示すSFRに設定
する(S31)。次いで、CMD22レジスタの内容を
SFRP22レジスタが示すSFRに設定する(S3
2)。MSCレジスタの内容を1デクリメントする(S
33)。MSCが0でなければ終了する(S34)。一
方、MSC=0であれば割込みモード1に変更し(S3
5)、割込み要求を発生する(S36)。その後、割込
みモード1の割込み処理を実行する。
【0033】[割込みモード2によるフラッシュPRO
M書き込みプログラム]シリアル通信回路で受信したデ
ータを割込みモード2により1000H番地から10バ
イトデータを書き込むプログラムの例を図8に示す。先
ず、シリアル受信割込みの割込みモード2の処理のため
にレジスタ設定をする。SFRP11にシリアル受信レ
ジスタのアドレス、SFRP21にデータラッチ23の
アドレス、SFRP31にコマンドレジスタ24のアド
レス、CMD31にライトコマンドを示すデータ、SF
RP41にタイマ6の制御レジスタのアドレス、CMD
41にタイマ6の動作を停止するデータを設定する。次
いで、タイマ割込みの割込みモード2の処理のためにレ
ジスタ設定をする。MSCに“10”、SFRP12に
コマンドレジスタ24のアドレス、CMD12にNOP
コマンドを示すデータ、SFRP22にタイマ6の制御
レジスタのアドレス、CMD22にタイマ6の動作を停
止するデータを設定する。また、シリアル受信割込みと
タイマ6の割込み処理が割込みモード2になるように割
込み要求発生部5を設定する。 A0:アドレスラッチ25にアドレス1000Hを設定
する。 A1:HALTモードにする。
M書き込みプログラム]シリアル通信回路で受信したデ
ータを割込みモード2により1000H番地から10バ
イトデータを書き込むプログラムの例を図8に示す。先
ず、シリアル受信割込みの割込みモード2の処理のため
にレジスタ設定をする。SFRP11にシリアル受信レ
ジスタのアドレス、SFRP21にデータラッチ23の
アドレス、SFRP31にコマンドレジスタ24のアド
レス、CMD31にライトコマンドを示すデータ、SF
RP41にタイマ6の制御レジスタのアドレス、CMD
41にタイマ6の動作を停止するデータを設定する。次
いで、タイマ割込みの割込みモード2の処理のためにレ
ジスタ設定をする。MSCに“10”、SFRP12に
コマンドレジスタ24のアドレス、CMD12にNOP
コマンドを示すデータ、SFRP22にタイマ6の制御
レジスタのアドレス、CMD22にタイマ6の動作を停
止するデータを設定する。また、シリアル受信割込みと
タイマ6の割込み処理が割込みモード2になるように割
込み要求発生部5を設定する。 A0:アドレスラッチ25にアドレス1000Hを設定
する。 A1:HALTモードにする。
【0034】図9はPC11、アドレスラッチ25、デ
ータラッチ23、コマンドレジスタ24、MSCレジス
タなどの変化を示した動作のタイミングチャートであ
る。シリアル通信回路はデータを受信すると受信終了の
割込み信号を割込み要求発生部5に対して割込み信号を
出力する。シリアル受信割込みモード2に設定されてい
るため、割込み要求発生部5は割込み要求信号IRQを
“1”,割込みモード信号IMODEを“1”にする。
割込みモード信号IMODEが“1”であるから図7
(a)で示すフローが実行される。SFRP11がシリ
アル受信レジスタのアドレスを示し、SFP21がデー
タラッチ23のアドレスを示すことから、シリアル受信
レジスタの内容がデータラッチに設定される。CMD3
1はライトコマンドのデータでSFRP31がコマンド
レジスタ24のアドレスを示すことから、コマンドレジ
スタ24はライトに設定される。コマンドレジスタ24
がライトコマンドに設定されるため、セレクタ26はア
ドレスラッチ25の内容をフラッシュメモリ21に出力
する。CMD41はタイマ6がカウント開始する値でS
FRP41がタイマ6の制御レジスタのアドレスを示す
ことからタイマ6はカウント動作を開始する。割込み要
求信号IRQが“1”、割込みモード信号IMODEが
“1”の場合は、割込み処理中はHALTモードが解除
されるが、割込み処理終了後再びHALTモードにな
る。
ータラッチ23、コマンドレジスタ24、MSCレジス
タなどの変化を示した動作のタイミングチャートであ
る。シリアル通信回路はデータを受信すると受信終了の
割込み信号を割込み要求発生部5に対して割込み信号を
出力する。シリアル受信割込みモード2に設定されてい
るため、割込み要求発生部5は割込み要求信号IRQを
“1”,割込みモード信号IMODEを“1”にする。
割込みモード信号IMODEが“1”であるから図7
(a)で示すフローが実行される。SFRP11がシリ
アル受信レジスタのアドレスを示し、SFP21がデー
タラッチ23のアドレスを示すことから、シリアル受信
レジスタの内容がデータラッチに設定される。CMD3
1はライトコマンドのデータでSFRP31がコマンド
レジスタ24のアドレスを示すことから、コマンドレジ
スタ24はライトに設定される。コマンドレジスタ24
がライトコマンドに設定されるため、セレクタ26はア
ドレスラッチ25の内容をフラッシュメモリ21に出力
する。CMD41はタイマ6がカウント開始する値でS
FRP41がタイマ6の制御レジスタのアドレスを示す
ことからタイマ6はカウント動作を開始する。割込み要
求信号IRQが“1”、割込みモード信号IMODEが
“1”の場合は、割込み処理中はHALTモードが解除
されるが、割込み処理終了後再びHALTモードにな
る。
【0035】タイマの値がコンペアレジスタの値と一致
するとタイマ6は割込み信号を割込み要求発生部5に対
して割込み信号を出力する。タイマ割込みは割込みモー
ド2に設定されているため、割込み要求発生部5は割込
み要求信号IRQを“1”,割込みモード信号IMOD
Eを“1”にする。割込みモード信号IMODEが
“1”であるから図7(b)で示すフローが実行され
る。CMD12はNOPコマンドのデータでSFRP1
2がコマンドレジスタ24のアドレスを示すことから、
コマンドレジスタ24はNOPに設定される。コマンド
レジスタ24がNOPに設定されることにより、アドレ
スラッチ25はインクリメンタ27で1インクリメント
された値をラッチする。CMD22はタイマ6の動作を
停止するデータでSFRP22がタイマ6の制御レジス
タのアドレスを示すことから、タイマ6はカウント動作
を停止する。MSCは1デクリメントされ“9”にな
る。MSCが“0”ではないので割込みモード2の処理
を終了する。割込み要求信号IRQが“1”、割込みモ
ード信号IMODEが“1”の場合は、割込み処理中は
HALTモードが解除されるが、割込み処理終了後再び
HALTモードになる。MSCが“0”になるまで、シ
リアル回路で受信したデータをフラッシュPROM2に
書き込む処理を繰り返す。この例のタイマ割込みにはM
SCレジスタを持ち、フラッシュメモリに書き込むデー
タ数を設定しているが、MSCを持たずに必要なバイト
数転送後にマイクロコンピュータをリセットしてフラッ
シュPROM2に書き込んだプログラムを実行しても良
い。
するとタイマ6は割込み信号を割込み要求発生部5に対
して割込み信号を出力する。タイマ割込みは割込みモー
ド2に設定されているため、割込み要求発生部5は割込
み要求信号IRQを“1”,割込みモード信号IMOD
Eを“1”にする。割込みモード信号IMODEが
“1”であるから図7(b)で示すフローが実行され
る。CMD12はNOPコマンドのデータでSFRP1
2がコマンドレジスタ24のアドレスを示すことから、
コマンドレジスタ24はNOPに設定される。コマンド
レジスタ24がNOPに設定されることにより、アドレ
スラッチ25はインクリメンタ27で1インクリメント
された値をラッチする。CMD22はタイマ6の動作を
停止するデータでSFRP22がタイマ6の制御レジス
タのアドレスを示すことから、タイマ6はカウント動作
を停止する。MSCは1デクリメントされ“9”にな
る。MSCが“0”ではないので割込みモード2の処理
を終了する。割込み要求信号IRQが“1”、割込みモ
ード信号IMODEが“1”の場合は、割込み処理中は
HALTモードが解除されるが、割込み処理終了後再び
HALTモードになる。MSCが“0”になるまで、シ
リアル回路で受信したデータをフラッシュPROM2に
書き込む処理を繰り返す。この例のタイマ割込みにはM
SCレジスタを持ち、フラッシュメモリに書き込むデー
タ数を設定しているが、MSCを持たずに必要なバイト
数転送後にマイクロコンピュータをリセットしてフラッ
シュPROM2に書き込んだプログラムを実行しても良
い。
【0036】次に、本発明の第3の実施形態について説
明する。ここでは、第1の実施形態からのブロック図か
らインクリメンタ27を削除し、タイマ割込みの割込み
モード2を処理するレジスタとしてアドレスラッチ25
のアドレスを示すSFRP3レジスタを用意して、CP
U1の中にあるALU15でインクリメント処理を行う
こともできる。CPU1にあるALU15を使用するこ
とでハードウエアを削減できる。その場合のフローを以
下に示す。CMD1レジスタの内容をSFRP1レジス
タに示すレジスタに転送する。MSCレジスタの内容を
1デクリメントする。MSC=0であれば割込みモード
1に変更し、割込み要求を発生し、終了する。その後、
割込みモード1の割込み処理を実行する。SFRP3レ
ジスタが示すアドレスのSFRの内容を読み出し、AL
U15でインクリメントし、SFRP3レジスタが示す
SFRに書き戻す。MSCが0でなければMEMPが示
すアドレスの内容をSFP2が示すアドレスのSFRに
転送する。MEMPの値を1インクリメントする。HA
LTモードに設定して終了する。
明する。ここでは、第1の実施形態からのブロック図か
らインクリメンタ27を削除し、タイマ割込みの割込み
モード2を処理するレジスタとしてアドレスラッチ25
のアドレスを示すSFRP3レジスタを用意して、CP
U1の中にあるALU15でインクリメント処理を行う
こともできる。CPU1にあるALU15を使用するこ
とでハードウエアを削減できる。その場合のフローを以
下に示す。CMD1レジスタの内容をSFRP1レジス
タに示すレジスタに転送する。MSCレジスタの内容を
1デクリメントする。MSC=0であれば割込みモード
1に変更し、割込み要求を発生し、終了する。その後、
割込みモード1の割込み処理を実行する。SFRP3レ
ジスタが示すアドレスのSFRの内容を読み出し、AL
U15でインクリメントし、SFRP3レジスタが示す
SFRに書き戻す。MSCが0でなければMEMPが示
すアドレスの内容をSFP2が示すアドレスのSFRに
転送する。MEMPの値を1インクリメントする。HA
LTモードに設定して終了する。
【0037】このような割込み処理モード2を用意する
ことで、図1のブロック図と同様にフラッシュPROM
に書き込む事ができる。また、これまでは書き込みの場
合で説明しているが、書き込んだデータの確認をするベ
リファイ処理や消去も割込みモード2で行うことができ
る。
ことで、図1のブロック図と同様にフラッシュPROM
に書き込む事ができる。また、これまでは書き込みの場
合で説明しているが、書き込んだデータの確認をするベ
リファイ処理や消去も割込みモード2で行うことができ
る。
【0038】なお、特公平4−14736号公報に割込
み処理モードを2つ持ち、データ転送などを行う方法に
ついて述べられているが、本発明では単純なデータ転送
だけでなく、データ設定とコマンドの設定をする点にお
いて公報の技術とは異なっている。
み処理モードを2つ持ち、データ転送などを行う方法に
ついて述べられているが、本発明では単純なデータ転送
だけでなく、データ設定とコマンドの設定をする点にお
いて公報の技術とは異なっている。
【0039】
【発明の効果】以上説明したように本発明は、処理要求
制御部での割込み処理においては第1、第2の割込み処
理のモードを持ち、特に第2の割り込み処理では、プロ
グラムメモリに記憶されたプログラムを用いることなく
割込み処理が実行されるため、フラッシュメモリにデー
タを書き込むためのプログラムを実行するための専用の
メモリを持つ必要がなくなる。また、シリアル通信回路
の受信割込みに割込みモード2を設定することにより、
シリアル通信回路で読み込んだデータをRAMなどに記
憶せず、そのままフラッシュPROMに書き込むことが
できるため、データを記憶するRAMが不用になる。さ
らに、シリアル通信回路を使用して外部回路からデータ
を送る場合でもCPUを使用してフラッシュメモリに書
き込む処理をすることができるため、フラッシュメモリ
の書き込みを制御する専用回路を用意する必要がない。
したがって、本発明によれば、チップサイズを小さくで
き、安価なマイクロコンピュータを提供できる。
制御部での割込み処理においては第1、第2の割込み処
理のモードを持ち、特に第2の割り込み処理では、プロ
グラムメモリに記憶されたプログラムを用いることなく
割込み処理が実行されるため、フラッシュメモリにデー
タを書き込むためのプログラムを実行するための専用の
メモリを持つ必要がなくなる。また、シリアル通信回路
の受信割込みに割込みモード2を設定することにより、
シリアル通信回路で読み込んだデータをRAMなどに記
憶せず、そのままフラッシュPROMに書き込むことが
できるため、データを記憶するRAMが不用になる。さ
らに、シリアル通信回路を使用して外部回路からデータ
を送る場合でもCPUを使用してフラッシュメモリに書
き込む処理をすることができるため、フラッシュメモリ
の書き込みを制御する専用回路を用意する必要がない。
したがって、本発明によれば、チップサイズを小さくで
き、安価なマイクロコンピュータを提供できる。
【図1】本発明の第1の実施形態のブロック構成図であ
る。
る。
【図2】レジスタの構成図である。
【図3】割込みモード2の処理フローを示すフローチャ
ートである。
ートである。
【図4】フラッシュPRMへの書き込みプログラムフロ
ーを示す図である。
ーを示す図である。
【図5】フラッシュPROMへの書き込みのタイミング
チャートである。
チャートである。
【図6】フラッシュPROMへの書き込みのタイミング
チャートである。
チャートである。
【図7】第2の実施形態のレジスタと割り込みモード2
の処理フローを示すフローチャートである。
の処理フローを示すフローチャートである。
【図8】第2の実施形態のフラッシュPROへの書き込
みプログラムフローを示す図である。
みプログラムフローを示す図である。
【図9】フラッシュPROMへの書き込みのタイミング
チャートである。
チャートである。
【図10】従来のマイクロコンピュータの一例のブロッ
ク構成図である。
ク構成図である。
【図11】従来のフラッシュPROMの書き込みプログ
ラムフローを示す図である。
ラムフローを示す図である。
【図12】従来のフラッシュPROMの書き込み処理フ
ローを示すフローチャートである。
ローを示すフローチャートである。
【符号の説明】 1 中央処理装置 2 フラッシュPROM 3 レジスタ 4 RAM 5 割込み要求発生部 6 タイマ 7 内部バス 8 ROM 11 プログラムカウンタ 12 命令レジスタ 13 命令デコーダ 14 実行制御部 15 ALU 16 プログラムステータスワード 17 割込み受付部 21 フラッシュメモリ(メモリセル) 22 書き込み消去読み出し制御回路 23 データラッチ 24 コマンドレジスタ 25 アドレスラッチ 26 セレクタ 27 インクリメンタ
Claims (5)
- 【請求項1】 中央処理装置と、割込み処理要求を発生
する割込み要求発生部と、前記割込み処理要求に応答し
てプログラムメモリに記憶されたプログラムで割込みの
処理を行う第1の処理要求と、前記プログラムメモリに
記憶されたプログラムを用いることなく割込み処理を行
う第2の処理要求を発生する処理要求制御部と、電気的
書き込み一括消去可能な読み出し専用メモリであるフラ
ッシュメモリを備えたマイクロコンピュータであって、
前記フラッシュメモリに対する書き込みや消去などの処
理を前記第2の処理モードで行うことを特徴とするマイ
クロコンピュータ。 - 【請求項2】 前記フラッシュメモリは書き込み一括消
去可能なメモリセルと、前記フラッシュメモリに対する
書き込みや消去等を指定するコマンドを保持するコマン
ドラッチと、前記メモリセルに対する書き込みデータを
保持するデータラッチと、前記メモリセルの書き込み、
または読み出し、または消去対象のアドレスを保持する
アドレスラッチと、前記アドレスラッチと中央処理装置
が出力するアドレス信号を切り替えて前記メモリセルの
アドレスデータを出力する切替回路と、前記切替回路が
出力するアドレスデータと前記コマンドラッチ内のコマ
ンドに従い前記メモリセルに対して前記データラッチ内
のデータを書き込み及び読み出しまたは前記フラッシュ
メモリの消去を行う書き込み消去読み出し回路を備える
請求項1記載のマイクロコンピュータ。 - 【請求項3】 フラッシュメモリには、前記アドレスラ
ッチのアドレスをインクリメントするインクリメンタを
備える請求項2のマイクロコンピュータ。 - 【請求項4】 前記中央処理装置はプログラムメモリの
実行すべき命令の番地を指定するプログラムカウンタ
と、前記プログラムメモリから読み出した命令を実行す
る実行制御部と、前記実行制御部の動作状態を格納する
プログラムステータスワードレジスタを備え、前記第1
の処理要求が発生したときにプログラムの実行を中断
し、前記プログラムカウンタと前記プログラムステータ
スワードレジスタの内容を退避させ、プログラムメモリ
からプログラムを読み出して前記第1の処理要求に対す
る処理を実行し、前記第2の処理要求が発生したときに
プログラムの実行を中断し、前記プログラムカウンタと
前記プログラムステータスワードレジスタの内容を退避
させることなくその状態を維持し、プログラムメモリに
記憶された命令を使用せずに前記第2の処理要求に対す
る処理を実行する請求項1ないし3のいずれかのマイク
ロコンピュータ。 - 【請求項5】 前記割込み要求発生部に接続されるシリ
アル通信回路を備え、このシリアル通信回路からの割込
みに前記第2の処理要求を設定し、シリアル通信回路で
読み込んだデータをフラッシュメモリに書き込み可能と
した請求項1ないし4のいずれかのマイクロコンピュー
タ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8283644A JPH10124474A (ja) | 1996-10-25 | 1996-10-25 | マイクロコンピュータ |
US08/954,611 US6269429B1 (en) | 1996-10-25 | 1997-10-20 | Microcomputer which writer data to memory based on an interrupt control mode |
KR1019970054776A KR100264758B1 (ko) | 1996-10-25 | 1997-10-24 | 마이크로컴퓨터 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8283644A JPH10124474A (ja) | 1996-10-25 | 1996-10-25 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124474A true JPH10124474A (ja) | 1998-05-15 |
Family
ID=17668196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8283644A Pending JPH10124474A (ja) | 1996-10-25 | 1996-10-25 | マイクロコンピュータ |
Country Status (3)
Country | Link |
---|---|
US (1) | US6269429B1 (ja) |
JP (1) | JPH10124474A (ja) |
KR (1) | KR100264758B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100658135B1 (ko) * | 2001-03-08 | 2006-12-15 | 미쓰비시덴키 가부시키가이샤 | 프로그래밍할 수 있는 비휘발성 메모리를 내장한 마이크로컴퓨터 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3785299B2 (ja) * | 2000-03-16 | 2006-06-14 | 本田技研工業株式会社 | 車両制御装置のためのメモリ書き換えシステム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4406429A (en) * | 1978-04-13 | 1983-09-27 | Texas Instruments Incorporated | Missile detecting and tracking unit |
JPH05266219A (ja) | 1992-03-17 | 1993-10-15 | Hitachi Ltd | マイクロコンピュータ |
JPH06111032A (ja) | 1992-09-30 | 1994-04-22 | Mitsubishi Electric Corp | マイクロコンピュータ |
JP3292864B2 (ja) * | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
US5784712A (en) * | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for locally generating addressing information for a memory access |
-
1996
- 1996-10-25 JP JP8283644A patent/JPH10124474A/ja active Pending
-
1997
- 1997-10-20 US US08/954,611 patent/US6269429B1/en not_active Expired - Fee Related
- 1997-10-24 KR KR1019970054776A patent/KR100264758B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100658135B1 (ko) * | 2001-03-08 | 2006-12-15 | 미쓰비시덴키 가부시키가이샤 | 프로그래밍할 수 있는 비휘발성 메모리를 내장한 마이크로컴퓨터 |
Also Published As
Publication number | Publication date |
---|---|
US6269429B1 (en) | 2001-07-31 |
KR19980033145A (ko) | 1998-07-25 |
KR100264758B1 (ko) | 2000-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3787167B2 (ja) | フラッシュメモリ | |
US4255785A (en) | Microprocessor having instruction fetch and execution overlap | |
US20020188830A1 (en) | Bit replacement and extraction instructions | |
JPH1078889A (ja) | マイクロコンピュータ | |
JP4988082B2 (ja) | マイクロプロセッサ及びデータ処理システム | |
US6986028B2 (en) | Repeat block with zero cycle overhead nesting | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
JPH01120660A (ja) | マイクロコンピュータ装置 | |
JPH10124474A (ja) | マイクロコンピュータ | |
US7020788B2 (en) | Reduced power option | |
US6182207B1 (en) | Microcontroller with register system for the indirect accessing of internal memory via auxiliary register | |
US5671424A (en) | Immediate system management interrupt source with associated reason register | |
JP3839835B2 (ja) | データ処理装置及びマイクロコンピュータ | |
JPH06274462A (ja) | 共有メモリの非同期書込み方式 | |
JP3067253B2 (ja) | データ処理装置 | |
JPS61245255A (ja) | 不揮発性メモリ装置 | |
JPH08235073A (ja) | マイクロコンピュータ | |
JPS6230455B2 (ja) | ||
JP2000105701A (ja) | データ処理装置 | |
US20030005254A1 (en) | Compatible effective addressing with a dynamically reconfigurable data space word width | |
JP3097602B2 (ja) | データ処理装置 | |
JP2918570B2 (ja) | 中央演算処理装置 | |
JPH07302255A (ja) | 半導体集積回路装置およびそのエミュレーション用プロセッサならびにエミュレータ | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
US7003543B2 (en) | Sticky z bit |