(57)【要約】【課題】フラッシュメモリとランダムアクセスメモリを有するマイクロコントローラ装置において、動作速度を高速化すること。【解決手段】マイクロコントローラ装置１０における制御指示データがリセットされ場合、そのリセットを解除した後、フラッシュメモリ１３からデータを読み出し、ランダムアクセスメモリ１４へ再度を書込む。データ書込み途中において、そのデータの一部を優先命令として中央演算ユニット１５が読み出しを開始できるようにする。これにより、中央演算ユニット１５が早期に制御指示データを生成することが可能になる。【選択図】  図１
2005018563.tif 000002
【特許請求の範囲】
【請求項１】
外部との信号の送受信を行う入出力部と、
フラッシュメモリ及びランダムアクセスメモリと、
中央演算ユニットと、
前記入出力部から得られるデータを前記フラッシュメモリに書込むための制御手段と、
前記フラッシュメモリに書込まれた前記データの少なくとも一部を読み出して前記ランダムアクセスメモリに書込むと共に、前記読み出されたデータの前記フラッシュメモリにおける各アドレスと、前記中央演算ユニットに対する命令群の最初及び最後のアドレスとを照合し、これらの命令群の書込みの完了信号を出力する照合手段とを備え、
前記ランダムアクセスメモリへのデータの書込み途中において、前記照合手段によって出力される前記命令群の内の特定命令の書込み完了信号により、前記中央演算ユニットに、前記ランダムアクセスメモリに書込まれた前記データの読み出しを開始させることを特徴とするマイクロコントローラ装置。
【請求項２】
前記ランダムアクセスメモリへのデータの書込み途中における前記中央演算ユニットによる前記データの読み出し開始を、複数回行うことを特徴とする請求項１に記載のマイクロコントローラ装置。
【請求項３】
前記ランダムアクセスメモリへのデータの書込みが、前記中央演算ユニットからの制御指示がリセットされた後、行われることを特徴とする請求項１又は請求項２に記載のマイクロコントローラ装置。
【請求項４】
前記照合手段は、第１、第２及び第３のレジスタ、加算器及び第１及び第２の比較器を備え、前記第１及び第２のレジスタは前記中央演算ユニットに対する命令群の最初及び最後のアドレスをそれぞれ保持し、前記第３のレジスタは前記特定命令の最後のアドレスを保持し、前記加算器は前記第１のレジスタに保持されている前記命令群の最初のアドレスと、前記読み出されたデータの前記フラッシュメモリにおける各アドレスを順次加算して前記第１及び第２の比較器へ出力し、前記第１及び第２の比較器は前記加算された各アドレスと前記第２及び第３レジスタにそれぞれ保持されている前記特定命令の最後のアドレス及び前記命令群の最後のアドレスとを比較し、それぞれのアドレスが一致した場合、前記特定命令及び前記命令群の書込みの完了信号を順次出力することを特徴とする請求項１乃至請求項３のいずれか１項に記載のマイクロコントローラ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフラッシュメモリ及びランダムアクセスメモリを有するマイクロコントローラ装置に関する。
【０００２】
【従来の技術】
近年、機器制御用等にフラッシュメモリが内蔵されたマイクロコントローラ装置が多く用いられるようになっている。このようなマイクロコントローラ装置では、フラッシュメモリのアクセス速度が比較的遅く、フラッシュメモリに書込まれたデータを中央演算ユニットに転送する時間が長くなる。
【０００３】
このため、フラッシュメモリと中央演算ユニットとの間にバッファメモリとしてアクセス速度の速いランダムアクセスメモリを設けることにより、高速化を図る技術が開発されている。即ち、比較的頻繁に中央演算ユニットが使用し、転送速度を速くする必要のあるデータをフラッシュメモリからランダムアクセスメモリに書込んでおくことでマイクロコントローラ装置としての動作速度を向上させている。（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２００１−１９５３８２号公報（第８頁、図１）
【０００５】
【発明が解決しようとする課題】
上述した構成によって、マイクロコントローラ装置の高速化が可能になっている。しかし、例えば、マイクロコントローラ装置内において不正処理が発生した場合や、マイクロコントローラ装置が設置されている機器等にトラブルが生じた場合には、中央演算ユニットからの制御指示がリセットされる。この場合、フラッシュメモリからランダムアクセスメモリへの再度のデータの書込みが行われる。
【０００６】
中央演算ユニットはランダムアクセスメモリから再度データを読み出し、そのデータをデコードして演算を実行し、制御指示信号を生成する。制御指示信号は入出力部からマイクロコントローラを内蔵している機器へ送られ、その指示に従って、その機器は起動する。
【０００７】
上記のシーケンスにおいて、データの転送速度はフラッシュメモリの書込み速度とメモリ容量に依存する。例えば、１バイトの書込みに５０ナノ秒を要した場合、４Ｋバイトのメモリ容量では、０．２ミリ秒（５０ｎｓ×４，０９６バイト）の時間がかかる。マイクロコントローラ装置の起動を早期に開始する必要がある場合、上記のデータ転送の時間が遅いという問題があった。
【０００８】
本発明はこのような事情に鑑みてなされたもので、その目的はフラッシュメモリからランダムアクセスメモリへデータを書込み、そのデータに基づいて中央演算ユニットが演算を行うマイクロコントローラ装置において、高速動作が可能なマイクロコントローラ装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記の課題を解決するため、本発明は、マイクロコントローラ装置として、外部との信号の送受信を行う入出力部と、フラッシュメモリ及びランダムアクセスメモリと、中央演算ユニットと、前記入出力部から得られるデータを前記フラッシュメモリに書込むための制御手段と、前記フラッシュメモリに書込まれた前記データの少なくとも一部を読み出して前記ランダムアクセスメモリに書込むと共に、前記読み出されたデータの前記フラッシュメモリにおける各アドレスと、前記中央演算ユニットに対する命令群の最初及び最後のアドレスとを照合し、これらの命令群の書込みの完了信号を出力する照合手段とを備え、前記ランダムアクセスメモリへのデータの書込み途中において、前記照合手段によって出力される前記完了信号により、前記中央演算ユニットに、前記ランダムアクセスメモリに書込まれた前記データの読み出しを開始させることを特徴とする。
【００１０】
本発明によれば、フラッシュメモリからランダムアクセスメモリへデータを書込む際に、その書込みの途中において、ランダムアクセスメモリへ送られたデータを中央演算ユニットへ読み出すことが可能になる。このため、中央演算ユニットでの演算を速く開始させることができ、高速動作が可能なマイクロコントローラ装置が得られる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１２】
図１は本発明によるマイクロコントローラ装置の実施の形態を示す装置構成のブロック図である。マイクロコントローラ装置１０の入出力部１１は、コマンド信号、アドレス信号及びデータ信号を受け、それぞれの信号を制御部１２へ送り、また、中央演算ユニット１５からの制御指示信号を受け、外部へ出力する。データ信号は中央演算ユニット１５に命令を行うための命令群を含んでいる。
【００１３】
入出力部１１を通じて供給された外部からの信号は、制御部１２の中の制御回路１２ａへ供給される。制御回路１２ａはコマンド信号のデータを読み取ってデコードし、一連の動作シーケンスを制御するシーケンス指示信号を生成し、フラッシュメモリへ出力する。また、制御部１２ａはフラッシュメモリ１３のメモリセルのアドレスを指定するアドレス信号をフラッシュメモリ１３へ与え、更に、入出力部からのデータ信号をフラッシュメモリ１３へ書込む。
【００１４】
更に、制御部１２ａはシーケンス指示に従って、ランダムアクセスメモリ１４へ、書込むべきアドレスを与えるアドレス信号を送り、また、フラッシュメモリ１３に入力されたデータの一部を読み出し、ランダムアクセスメモリ１４の指定されたアドレスへ書込む。このとき、制御部１２ａは読み出したデータのアドレスを照合回路１２ｂへ送信する。
【００１５】
照合回路１２ｂは、事前に制御回路１２ａから与えられた、命令群を構成する通常命令の最初と最後のアドレス及び特定命令の最後のアドレスをレジスタに保持している。特定命令とは、例えば中央演算ユニット１５の起動に必要とされる優先命令である。
【００１６】
照合回路１２ｂは、特定命令及び通常命令の最後のアドレスとランダムアクセスメモリ１４へ読み出されたデータのフラッシュメモリ１３におけるアドレスとを照合する。照合が一致した場合、照合回路１２ｂは書込み完了信号を中央演算ユニット１５へ出力する。なお、照合の一致は特定命令の書込み完了時と、その他の通常命令の書込み完了時に得られる。
【００１７】
照合回路１２ｂから送られた書込み完了信号を受け、中央演算ユニット１５はランダムアクセスメモリ１４から、それまで書込まれたデータを読み出す。更に、中央演算ユニット１５はランダムアクセスメモリ１４から読み出したデータをデコードし、マイクロコントローラ装置１０を内蔵している図示しない機器に関する一連の制御指示信号を生成する。中央演算ユニット１５からの制御指示信号を受けて、最終的に、入出力部１１から外部へ制御指示信号が出力される。
【００１８】
次に、本実施の形態のマイクロコントローラ装置の動作シーケンスの一例を、図２を参照しながら説明する。図２は、図１において制御指示がリセットされた状態から、フラッシュメモリ１３のデータを読み出し、ランダムアクセスメモリ１４へデータが入力され、中央演算ユニット１５から制御指示信号が出力するまでの一連のシーケンスを示すフロー図である。
【００１９】
中央演算ユニット１５からの制御指示をリセットする動作（ステップＳ１）の後、そのリセットを解除する（ステップＳ２）。続いて、外部端子からマイクロコントローラ装置１０に対するコマンドが入出力部に入力される（ステップＳ３）。このコマンドを受けて、制御回路１２ａは一連の動作を指示するシーケンス指示を（ステップＳ４）生成する。
【００２０】
リセットが解除された段階では、一連の動作シーケンスとして、後に説明するアドレスの照合のための特定命令及び通常命令のアドレス信号を制御回路１２ａから照合回路１２ｂへ送り、照合回路１２ｂは照合用アドレスとして記憶する（ステップＳ５）。
【００２１】
次に、ランダムアクセスメモリ１４へアドレスを送る（ステップＳ６）。次に、フラッシュメモリ１３から制御回路１２ａへデータを読み出し、制御回路１２ａからランダムアクセスメモリ１４へデータを書込む（ステップＳ７）。データの書込みと共に、書込まれたデータのフラッシュメモリ１３におけるアドレスが照合回路１２ｂへ送られる（ステップＳ８）。照合回路１２ｂでは、予め記憶した照合用アドレスと書込まれたデータのアドレスとを照合する（ステップＳ９）。その結果、アドレスが一致した場合は、中央演算ユニット１５へ書込み完了信号を出力する（ステップＳ１０）。アドレスが一致しない場合は中央演算ユニット１５への出力は行わず、続いて送られてくるアドレスの照合を行い、アドレスが一致するまで繰り返す。
【００２２】
照合の一致による書込み完了信号を受けて、中央演算ユニット１５はランダムアクセスメモリ１４に書込まれたデータの読み出しを開始する（ステップＳ１１）。更に、中央演算ユニット１５は読み出したデータをデコードし、マイクロコントローラ装置が内蔵されている機器に関する制御指示信号を生成し、入出力部へその制御指示信号を送る（ステップＳ１２）。入出力部１１から外部へ制御指示信号を出力することにより、一連の動作を終了する（ステップＳ１３）。
【００２３】
照合回路における書込み完了の出力は、フラッシュメモリ１３から読み出されたデータのランダムアクセスメモリ１４への書込みがすべて完了した段階で与えられるのに加え、データの書込み途中においても与えられることを本実施の形態の特徴としている。即ち、ランダムアクセスメモリ１４へ書込まれるデータの一部を優先命令として先ず中央演算ユニット１５において実行する。残りのデータは通常命令として、すべてのデータの書込み完了後、中央演算ユニット１５において実行する。
【００２４】
このため、先ず、優先命令のデータの中で、ランダムアクセスメモリ１４へ最終に書込まれるデータのアドレスを照合回路１２ｂに記憶させる。また、通常命令のデータの中で、ランダムアクセスメモリ１４へ最終に書込まれるデータのアドレスも照合回路１２ｂに記憶させる。
【００２５】
一方、データの中で、優先命令のデータをフラッシュメモリ１３からランダムアクセスメモリ１４へ書込む。優先命令となるデータの書込みが完了した段階において、先ず、照合回路１２ｂにおいてアドレス照合の一致が得られ、中央演算ユニット１５へ優先命令書込み完了信号が送られる。これにより、中央演算ユニット１５への優先命令のデータの読出しが開始される。
【００２６】
残る通常命令のデータの書込みは継続され、すべての通常命令のデータが書込まれた時に、再び照合回路１２ｂにおいて照合の一致が得られ、中央演算ユニット１５による通常命令のデータの読出しが開始される。
【００２７】
従って、優先命令となるデータによって、中央演算ユニット１５は制御指示データの生成を始めることが可能になる。このため、リセットされた状態から比較的早期に、マイクロコントローラ装置１０が制御指示信号を入出力部から外部へ送信することができるようになる。
【００２８】
図３は本実施の形態における中央演算ユニット１５の命令群のフラッシュメモリにおけるメモリ領域図３０である。ランダムアクセスメモリ１４へ書込むデータ領域が４Ｋバイトある場合について示す。なお、フラッシュメモリ１３のメモリ容量は書込まれるデータ量よりも大きくても良いことは勿論であり、また、フラッシュメモリ１３に書込まれたデータをすべてランダムアクセスメモリ１４へ書込まなくても良い。
【００２９】
ランダムアクセスメモリ１４へ書込まれる先頭の記憶領域１２’Ｈ０００から１２’Ｈ７ＦＦまでの２Ｋバイト分を優先命令のデータ格納領域３１とする。続いてランダムアクセスメモリ１４へ書込まれる記憶領域１２’Ｈ８００から１２’ＨＦＦＦまでを通常命令のデータ格納領域３２とする。
【００３０】
先ず、優先命令のデータ格納領域３１からデータをランダムアクセスメモリ１４へ書込む。１２’Ｈ７ＦＦまで書込みを行った段階で、優先命令の書込み完了となる。引き続き、通常命令のデータ格納領域３２における１２’Ｈ８００から１２’ＨＦＦＦまでのデータを同様にしてランダムアクセスメモリ１４へ書込む。これを終了した段階で、通常命令の書込み完了となる。
【００３１】
図４に本実施の形態のマイクロコントローラ装置の動作におけるタイミングチャートを示す。先ず、フラッシュメモリ１３から読み出されたデータのランダムアクセスメモリ１４への書込みが開始される。２Ｋバイト分の書込みが完了した段階において、照合回路によるアドレスの一致が確認される。これにより、アドレス一致の信号が中央演算ユニット１５へ送信される。この信号を受けて、中央演算ユニット１５は優先命令のデータをランダムアクセスメモリ１４から読み出す。中央演算ユニット１５は、その命令を実行し、制御指示信号を生成する。
【００３２】
更に、すべてのデータの書込みが完了した段階において、再び、照合回路によるアドレスの一致が確認され、アドレス一致の信号が中央演算ユニット１５へ送信される。これによって、中央演算ユニット１５は通常命令のデータである残りのデータを読み出し、優先命令のデータと合せて全体の命令実行が可能な制御指示の信号を外部に送る。
【００３３】
図５は照合回路のブロック図である。照合回路５０は以下の回路から構成されている。先ず、フラッシュメモリ１３から読み出されたデータのランダムアクセスメモリ１４への書込みにおいて、優先命令格納領域の先頭のアドレスを格納する第１のレジスタ５１、優先命令格納領域の最終のアドレスを格納する第２のレジスタ５２、ランダムアクセスメモリ１４へ書込まれるデータの最終のアドレスを格納する第３のレジスタ５３を有している。
【００３４】
本実施の形態では、第１のレジスタ５１の内容は１２Ｈ’０００に、第２のレジスタの内容は１２Ｈ’７ＦＦに、第３のレジスタの内容は１２Ｈ’ＦＦＦにそれぞれ指定さしている。
【００３５】
更に、照合回路５０は加算器５４と２個の比較器５５ａ、５５ｂを有している。加算器５４において、先ず、第１のレジスタ５１に記憶されているデータ書込みの開始アドレス１２Ｈ’０００にフラッシュメモリにおけるアドレス１２Ｈ’００１を加算する。そのデータを比較器５５ａにおいて、優先命令格納領域の最終アドレスと比較し、また、比較器５５ｂにおいて、通常命令格納領域の最終アドレスと比較する。それぞれ一致する場合は一致を示す信号を生成し、図示しない中央演算ユニットへ転送する。これ以降は順次、フラッシュメモリから送られてくるアドレスに関し、同様の演算を行う。
【００３６】
また、優先命令領域を一つとして説明したが、複数存在していても問題ないことはもちろんである。この場合、アドレス格納用のレジスタ、比較器はその数に応じて増加する必要がある。
【００３７】
本実施の形態によれば、フラッシュメモリ１３から読み出されたデータをランダムアクセスメモリ１４へ書込む際に、その書込みの途中において、ランダムアクセスメモリ１４へ送られたデータを中央演算ユニット１５へ読み出すことが可能になる。このため、中央演算ユニット１５での演算を速く開始させることができ、高速動作が可能なマイクロコントローラ装置が得られる。
【００３８】
なお、本発明は上述した実施形態に何ら限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することができる。
【００３９】
フラッシュメモリの記憶容量は４Ｋバイトを例にあげたが、特に制限がないことはもちろんである。また、ランダムアクセスメモリの記憶容量もフラッシュメモリに対応させて設計することができる。
【００４０】
【発明の効果】
以上、詳述したように、本発明によれば、フラッシュメモリからデータを読み出し、ランダムアクセスメモリへ書込む際に、その書込みの途中において中央演算ユニットへのデータ読み出しを実行することにより、高速動作が可能なマイクロコントローラ装置が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るマイクロコントローラ装置の構成を示すブロック図。
【図２】本発明の実施の形態に係るマイクロコントローラ装置の動作シーケンスのフロー図。
【図３】本発明の実施の形態に係るマイクロコントローラ装置のフラッシュメモリ領域の構成図。
【図４】本発明の実施の形態に係るマイクロコントローラ装置のタイミングチャート図。
【図５】本発明の実施の形態に係るマイクロコントローラ装置の照合回路の構成を示すブロック図。
【符号の説明】
１０  マイクロコントローラ装置
１１  入出力部
１２  制御部
１２ａ  制御回路
１２ｂ、５０  照合回路
１３  フラッシュメモリ
１４  ランダムアクセスメモリ
１５  中央演算ユニット
３０  フラッシュメモリ領域
３１  優先命令格納領域
３２  通常命令格納領域
５１  第１のレジスタ
５２  第２のレジスタ
５３  第３のレジスタ
５４  加算器
５５ａ  第１の比較器
５５ｂ  第２の比較器
【図１】
2005018563.tif 000003
【図２】
2005018563.tif 000004
【図３】
2005018563.tif 000005
【図４】
2005018563.tif 000006
【図５】
2005018563.tif 000007