(57)【要約】【課題】　ユーザの多様な仕様要求及び多様な用途に対して即座に応じられ、かつデータを必要に応じてＥＥＰ−ＲＯＭに半永久的に保存させることができる利点を保持しつつ、そのハードウェア的な構成規模の縮小を可能にし、かつハードウェア資源の利用効率を高めらることができ、特に素子特性にあった高速かつ確実な書込を実現することができ、書込時間の短縮、さらに応答時間の短縮が図れるマイクロ・コンピュータを提供する。【解決手段】　シングルチップ型マイクロ・コンピュータ１０であって、その主要部はＣＰＵ１とともに、ユーザ・プログラムと要保存データの両方が任意の割合で書き込まれるＥＥＰ−ＲＯＭ４を備える。これとともに、そのＥＥＰ−ＲＯＭ４に書込を行うための書込制御プログラムが標準プログラムの一部として予め固定的に格納されたマスクＲＯＭ３を備えるものである。【選択図】　図１ 
2004094981.tif 000002
【特許請求の範囲】
【請求項１】
　中央処理ユニットと、
　上記中央処理ユニットが実行する第１プログラムを格納する領域を有するマスクＲＯＭと、
　上記中央処理ユニットが実行する第２プログラムを格納する領域を有する電気的に書込及び消去可能なＲＯＭと、
　ＲＡＭと、
　外部からデータが入力されるＩＯ回路とを有し、
　上記ＲＡＭと上記電気的に書込及び消去可能なＲＯＭは、異なるアドレス空間に配置され、
　上記中央処理ユニットは、上記電気的に書込及び消去可能なＲＯＭに上記ＩＯ回路から入力されたデータを書き込む場合において、上記第１プログラムに基づいて、上記ＩＯ回路から入力されたデータを上記ＲＡＭに格納し、上記ＲＡＭに用意された上記データを上記電気的に書込及び消去可能なＲＯＭに転送することにより書き込み、
　上記第２プログラムは、上記第１プログラムへジャンプする命令を有していることを特徴とするマイクロ・コンピュータ。
【請求項２】
　中央処理ユニットと、
　上記中央処理ユニットが実行する第１プログラムを格納する領域を有するマスクＲＯＭと、
　上記中央処理ユニットが実行する第２プログラムを格納する領域を有する電気的に書込及び消去可能なＲＯＭと、
　ＲＡＭと、
　外部からデータが入力されるＩＯ回路とを有し、
　上記ＲＡＭと上記電気的に書込及び消去可能なＲＯＭは、異なるアドレス空間に配置され、
　上記中央処理ユニットは、上記電気的に書込及び消去可能なＲＯＭに上記ＩＯ回路から入力されたデータを書き込む場合において、上記第１プログラムに基づいて、上記ＩＯ回路から入力されたデータを上記ＲＡＭに格納し、上記ＲＡＭに用意された上記データを上記電気的に書込及び消去可能なＲＯＭに転送することにより書き込み、
　上記第２プログラムは、上記中央処理ユニットが上記第１プログラムによって上記電気的に書込及び消去可能なＲＯＭにデータを書き込むための処理に移行するための命令を有していることを特徴とするマイクロ・コンピュータ。
【請求項３】
　中央処理ユニットと、
　上記中央処理ユニットが実行する第１プログラムを格納する領域を有するマスクＲＯＭと、
　上記中央処理ユニットが実行する第２プログラムを格納する領域を有する電気的に書込及び消去可能なＲＯＭと、
　ＲＡＭと、
　外部からデータが入力されるＩＯ回路とを有し、
　上記ＲＡＭと上記電気的に書込及び消去可能なＲＯＭは、異なるアドレス空間に配置され、
　上記中央処理ユニットは、上記電気的に書込及び消去可能なＲＯＭに上記ＩＯ回路から入力されたデータを書き込む場合において、上記第１プログラムに基づいて、上記ＩＯ回路から入力されたデータを上記ＲＡＭに格納し、上記ＲＡＭに用意された上記データを上記電気的に書込及び消去可能なＲＯＭに転送することにより書き込み、
　上記第２プログラムは、上記中央処理ユニットが上記第１プログラムによって上記電気的に書込及び消去可能なＲＯＭにデータを書き込むための処理に移行するための命令を有しており、
　上記第１プログラムは、上記電気的に書込及び消去可能なＲＯＭへのデータの書込処理が完了した後に、上記中央処理ユニットが上記第２プログラムの実行へと復帰するための命令を有していることを特徴とするマイクロ・コンピュータ。
【請求項４】
　中央処理ユニットと、
　上記中央処理ユニットによって実行されるプログラムの格納領域を有する電気的に書込及び消去可能なＲＯＭと、
　上記電気的に書込及び消去可能なＲＯＭに書込を行うための書込制御プログラムを格納する領域を有する記憶手段と、
　ＲＡＭと、
　入出力手段とを有するマイクロ・コンピュータであって、
　上記ＲＡＭと上記ＲＯＭは、異なるアドレス空間に配置され、
　上記中央処理ユニットは、上記書込制御プログラムに基づき、上記入出力手段を介して上記マイクロ・コンピュータ外より受信したデータを上記ＲＡＭに格納し、上記ＲＯＭに上記ＲＡＭに用意されたデータを書き込み、
　上記電気的に書込及び消去可能なＲＯＭに格納されたプログラムは、上記中央処理ユニットが上記書込制御プログラムによって上記電気的に書込及び消去可能なＲＯＭにプログラムあるいはデータを書き込むための処理に移行するための命令を有しており、
　上記書込制御プログラムは、上記電気的に書込及び消去可能なＲＯＭへのプログラムあるいはデータの書込処理が完了した後に、上記中央処理ユニットが上記電気的に書込及び消去可能なＲＯＭに格納されたプログラムの実行へと復帰するための命令を有していることを特徴とするマイクロ・コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
　この発明は、マイクロ・コンピュータ技術、さらにはＥＥＰ−ＲＯＭ（エレクトリカリ・エレーサブル・アンド・プログラマブル・リード・オンリ・メモリ）のような電気的に書込または消去が可能なＲＯＭを内蔵したシングルチップ型マイクロ・コンピュータに適用して有効な技術に関するもので、たとえば、ＩＣカードに内蔵されるマイクロ・コンピュータに利用して有効な技術に関するものである。
【背景技術】
【０００２】
　最近、磁気カードなどに代わるものとして、いわゆるＩＣカードが注目されている。このＩＣカードは、たとえば特許文献１（特公昭５６−１９６６５号公報）などに記載されているように、ＩＤ（識別コード）などのデータを記憶させたＰ−ＲＯＭ（紫外線消去型のプログラマブル・ＲＯＭ）を内蔵することにより、たとえばキーの代わりをなす識別カードとして機能させることができる。
【０００３】
　ここで、本発明者は、たとえば上述したごときＩＣカードに内蔵するのに適したＥＥＰ−ＲＯＭ内蔵型のシングルチップ型マイクロ・コンピュータについて検討した。以下は、公知とされた技術ではないが、本発明者によって検討された技術であり、その概要は次のとおりである。
【０００４】
　図６は、本発明者によって検討されたマイクロ・コンピュータ１０の構成を示す。同図に示すマイクロ・コンピュータ１０はＥＥＰ−ＲＯＭ内蔵のシングルチップ型であって、ＣＰＵ（中央処理ユニット）１、ＲＡＭ（ランダム・アクセス・メモリ）２、マスクＲＯＭ（固定記憶ＲＯＭ）３、ＥＥＰ−ＲＯＭ４１，４２、Ｉ／Ｏ（入出力ユニット）５、周辺回路６、及びＥＥＰ−ＲＯＭ書込制御回路７などを同一半導体チップ内に有する。各部（１〜７）はアドレスバスＬＡ及びデータバスＬＤによって相互に接続されている。
【０００５】
　このシングルチップ型マイクロ・コンピュータ１０は、たとえばＩＣカード内に内蔵されて使用される。そして、図７に示すように、外部とのデータＤｘの授受はすべてＣＰＵ１を介して行われるようになっている。図７は、図６に示したマイクロ・コンピュータ１０をデータＤｘの流れに着目して示したものである。このマイクロ・コンピュータ１０は適切なソフトウェアによる「鍵」を使用しない限り内蔵ソフトウェアを知ることができない構成とすることができ、ＩＣカード内に内蔵されるシングルチップ型マイクロ・コンピュータとしての適正を持たせている。
【０００６】
　ここで、ＥＥＰ−ＲＯＭ４１，４２は同等のものが互いに独立して２つ設けられている。そして、図８に示すように、一方のＥＥＰ−ＲＯＭ４１は、いわゆるユーザ・プログラム領域（Ｍ１）として利用される。ここには、ユーザが任意に作成したプログラムが予め書き込まれる。このプログラムの書込は外部からの制御によってＣＰＵ１を停止し、外部から直接ＥＥＰ−ＲＯＭ４１に対して行われる。このようなＰ−ＲＯＭのプログラム方法は、たとえば非特許文献１（（株）日立製作所、昭和５９年８月発行「日立マイクロコンピュータデータブック８ビットシングルチップ」８２３〜８６５頁）によって公知である。これにより製造工程におけるマスクＲＯＭの書換えが不要となり、ユーザの多様な応用に即座に応ずることができる。さらに、ＥＥＰ−ＲＯＭ４１に対するプログラムが行われた後、このＥＥＰ−ＲＯＭに対する再書込あるいは読出しを禁止することを可能とする手段を有する構成とすれば内蔵ソフトウェアの保護として効果がある。他方のＥＥＰ−ＲＯＭ４２はデータ領域（Ｍ２）として利用される。ここには、ＣＰＵ１によって管理される入出力データのうち、保存を要するデータＤｘが必要に応じて随時に書き込まれる。このＥＥＰ−ＲＯＭ４２に対する書込はＣＰＵ１によって制御される書込制御回路７を介して行われる。一般にＥＥＰ−ＲＯＭの書込に要する時間はＣＰＵの平均的な命令実行時間に比べ１０００倍程度であって、この書込期間、ＥＥＰ−ＲＯＭ４２はＣＰＵ１から電気的に切離され、ＥＥＰ−ＲＯＭ４２の読出し、書込ともに不可能となっている。
【０００７】
　他方、ＣＰＵ１は、プログラム格納用ＥＥＰ−ＲＯＭ４１に書き込まれたユーザ・プログラムＩｘ２を１命令ずつ読込みながら、所定の処理動作を実行する。そして、その処理動作の過程にて要保存データＤｘをデータ格納用ＥＥＰ−ＲＯＭ４２に書き込む必要が生じた場合には、ＥＥＰ−ＲＯＭ書込制御回路７を介して、そのＥＥＰ−ＲＯＭ４２への書込を行う。この処理動作の実行に際しては、マスクＲＯＭ３に予め標準プログラムＩｘ１として用意されているプログラム・ルーチン（あるいはプログラム・モジュール）が適宜参照される。前記プログラム・ルーチンは、たとえばソフトウェアタイマや除算のプログラムであって、多くの用途あるいは応用によって有用なプログラムが用意されている。一般にマスクＲＯＭは同容量のＥＥＰ−ＲＯＭに比べて小さい面積で実現可能である。このため、全てのプログラムをＥＥＰ−ＲＯＭ４１に格納せずに前記ＲＯＭ３を利用することで半導体チップ全体のサイズを縮小することが可能となっている。
【０００８】
　しかし、全体的な処理はＥＥＰ−ＲＯＭ４１に書き込まれたユーザ・プログラムに従って行われる。
【０００９】
　図７において示されるようなＥＥＰ−ＲＯＭ書込制御回路７は、たとえば一方のＥＥＰ−ＲＯＭ４１に書き込まれたプログラムに基づく制御を受けながら、他方のＥＥＰ−ＲＯＭ４２への書込動作を行う。この他方のＥＥＰ−ＲＯＭ４２は、書込が行われている間、ＣＰＵ１から切り離される。
【００１０】
　以上のようにして、ユーザの多様な仕様要求及び多様な用途に対して即座に応じられ、かつデータＤｘを必要に応じてＥＥＰ−ＲＯＭに半永久的に保存させることが可能なマイクロ・コンピュータ１０が構成されている。
【特許文献１】特公昭５６−１９６６５号公報
【非特許文献１】（株）日立製作所、昭和５９年８月発行「日立マイクロコンピュータデータブック８ビットシングルチップ」８２３〜８６５頁
【発明の開示】
【発明が解決しようとする課題】
【００１１】
　しかしながら、上述した技術には、次のような問題点があることが本発明者によって明らかとされた。
【００１２】
　すなわち、上述したマイクロ・コンピュータ１０では、ユーザ・プログラムＩｘ２を書き込むためと要保存データＤｘを記憶するために、互いに独立した２つのＥＥＰ−ＲＯＭ４１，４２が必要となる。ＥＥＰ−ＲＯＭが１つだけでは、そのＥＥＰ−ＲＯＭに書込を行っている間、そのＥＥＰ−ＲＯＭに対する読出しアクセスができなくなって、ＣＰＵ１が実行すべき命令を読み出せなくなってしまうからである。したがって、上述したように、プログラムとデータとをそれぞれに独立した２つのＥＥＰ−ＲＯＭ４１，４２に格納させ、一方のＥＥＰ−ＲＯＭ４１から命令を読み出しながら、その読み出した命令に基づいて他方のＥＥＰ−ＲＯＭ４２の書込制御を実行するように構成しなければならなかった。
【００１３】
　しかし、そのためには、互いに独立した２つのＥＥＰ−ＲＯＭ４１，４２が必要であり、しかも各ＥＥＰ−ＲＯＭ４１，４２は、各方面のユーザからの種々多様な仕様要求に対応できるようにするために、それぞれに十分に大きな記憶領域Ｍ１，Ｍ２を用意できるものでなければならない。たとえば、データサイズは小さくてよいがプログラムサイズは大きく、あるいはプログラムサイズは小さくてよいがデータサイズは大きく、といったような２通りの要求のいずれにも対応できるようにするためには、結局、２つのＥＥＰ−ＲＯＭ４１，４２のそれぞれの記憶容量をどちらも大きくせざるを得ない。さらに、２つのＥＥＰ−ＲＯＭ４１，４２の各記憶容量を両方ともに大きくしても、そのどちらかは記憶容量が大きく余って有効に利用されない、という無駄が生じやすい。
【００１４】
　なお、ＥＥＰ−ＲＯＭ４１，４２のそれぞれは、メモリアレイとともにセンスアンプ、ドライバ回路のようなデータ入出力のための回路やアドレスを選択するための回路からなる周辺回路を持つ。それ故に、ＥＥＰ−ＲＯＭが複数個独立して形成された場合、センスアンプ、ドライバなどの周辺回路がそれぞれのＥＥＰ−ＲＯＭ内に設けられることになるので、多くの回路要素が必要とされる。これに応じて、ＥＥＰ−ＲＯＭの全体のサイズを大きくせざるを得なくなっている。
【００１５】
　そこで、本発明者は、ＥＥＰ−ＲＯＭ４１に、ＥＥＰ−ＲＯＭ４２の制御のためのプログラムを格納するとともにＥＥＰ−ＲＯＭ４２のプログラムによって参照されるべきデータを格納し、またＥＥＰ−ＲＯＭ４２に、ＥＥＰ−ＲＯＭ４１の制御のためのプログラムとともにＥＥＰ−ＲＯＭ４１のプログラムによって参照されるデータを格納することも検討した。このようにすると、ＥＥＰ−ＲＯＭ４１及び４２のそれぞれにおけるプログラム格納エリアとデータ格納エリアとを可変にすることが可能になる。この場合、前述のようなメモリエリアもしくはサイズに関する問題は幾分緩和される。しかしながら、この場合であっても、各ＥＥＰ−ＲＯＭ４１及び４２が互いに独立的なセンスアンプやデコーダ回路のような周辺回路をそれぞれに持つので、ＥＥＰ−ＲＯＭ全体のサイズもしくは半導体チップ全体のサイズに関しての不利益は十分に除去されない。
【００１６】
　以上のように、上述したマイクロ・コンピュータでは、ユーザの多様な仕様要求及び多様な用途に対して即座に応じられ、かつデータＤｘを必要に応じてＥＥＰ−ＲＯＭに半永久的に保存させることができるという利点を有するものの、それぞれに十分に大きな記憶容量を持つ２つの独立したＥＥＰ−ＲＯＭ４１，４２が必要であった。このため、そのハードウェア的な構成負担が大きく、特に、シングルチップ型のものにあっては、その半導体チップサイズがどうしても大きくなってしまい、その割にハードウェア資源の利用効率が必ずしもよくない、という問題点のあることが本発明者によって始めて明らかとされた。特にＩＣカードに内蔵する場合に半導体チップサイズの縮小はカード強度の向上のために強い要求があり、上記の半導体チップはこれに反するものとなっている。
【００１７】
　本発明の目的は、上述したマイクロ・コンピュータの利点、すなわちユーザの多様な仕様要求及び多様な用途に対して即座に応じられ、かつデータを必要に応じてＥＥＰ−ＲＯＭに半永久的に保存させることができるという利点を保持しつつ、そのハードウェア的な構成規模の縮小を可能にし、かつハードウェア資源の利用効率を高められるようにする、という技術を提供することにある。特に、ＣＰＵの処理速度より、書込または消去の時間が長かったり、素子特性のバラツキの大きいＥＥＰ−ＲＯＭなどの電気的に書込（または消去）が可能なＲＯＭを内蔵した場合のように、素子特性にあった高速かつ確実な書込を実現することができ、書込時間の短縮、さらに応答時間の短縮が図れるようにする技術を提供するものである。
【課題を解決するための手段】
【００１８】
　本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
【００１９】
　すなわち、本発明のマイクロ・コンピュータは、中央処理ユニット（ＣＰＵ）と、上記中央処理ユニットが実行する第１プログラムを格納する領域を有するマスクＲＯＭと、上記中央処理ユニットが実行する第２プログラムとデータとを格納する領域を有する電気的に書込及び消去可能なＲＯＭ（ＥＥＰ−ＲＯＭなど）と、ＲＡＭとを有し、上記第１プログラムは、上記ＲＡＭに用意されたデータを上記ＲＯＭに書き込むためのプログラムであり、上記第２プログラムは、上記第１プログラムへジャンプする命令を有しているものである。
【００２０】
　さらに、本発明の他のマイクロ・コンピュータは、上記第２プログラムが、上記中央処理ユニットが上記第１プログラムによって上記電気的に書込及び消去可能なＲＯＭにデータを書き込むための処理に移行するための命令を有している、上記第１プログラムが、上記電気的に書込及び消去可能なＲＯＭへのデータの書込処理が完了した後に、上記中央処理ユニットが上記第２プログラムの実行へと復帰するための命令を有している、あるいはフラグを有して上記中央処理ユニットが、上記フラグに基づき、上記電気的に書込及び消去可能なＲＯＭへのデータの書込処理の完了を判定し、上記判定結果に基づき上記中央処理ユニットが上記第２プログラムの実行へと復帰する、などの特徴を組み合わせて有しているものである。
【００２１】
　また、本発明の他のマイクロ・コンピュータは、中央処理ユニット（ＣＰＵ）と、上記中央処理ユニットによって実行されるプログラムの格納領域と、データの格納領域とを有する電気的に書込及び消去可能なＲＯＭ（ＥＥＰ−ＲＯＭなど）と、上記電気的に書込及び消去可能なＲＯＭに書込を行うための書込制御プログラムを格納する領域を有する記憶手段（マスクＲＯＭ、ＲＡＭなど）と、入出力手段（Ｉ／Ｏ）とを有するマイクロ・コンピュータであって、上記中央処理ユニットは、上記書込制御プログラムに基づき、上記電気的に書込及び消去可能なＲＯＭの上記プログラムの格納領域に、上記入出力手段を介して上記マイクロ・コンピュータ外より受信したプログラムを書き込み、上記電気的に書込及び消去可能なＲＯＭに格納されたプログラムは、上記中央処理ユニットが上記書込制御プログラムによって上記電気的に書込及び消去可能なＲＯＭにプログラムを書き込むための処理に移行するための命令を有しているものである。
【００２２】
　さらに、本発明の他のマイクロ・コンピュータは、上記書込制御プログラムが、上記電気的に書込及び消去可能なＲＯＭへのプログラムの書込処理が完了した後に、上記中央処理ユニットが上記電気的に書込及び消去可能なＲＯＭに格納されたプログラムの実行へと復帰するための命令を有している、フラグを有して上記中央処理ユニットが、上記フラグに基づき、上記電気的に書込及び消去可能なＲＯＭへのプログラムの書込処理の完了を判定し、上記判定結果に基づき上記中央処理ユニットが上記電気的に書込及び消去可能なＲＯＭに格納されたプログラムの実行へと復帰する、上記記憶手段が、上記電気的に書込及び消去可能なＲＯＭから上記書込制御プログラムの転送を受けたＲＡＭである、あるいは上記電気的に書込及び消去可能なＲＯＭの上記プログラムの格納領域あるいは上記データの格納領域にプログラムあるいはデータを書き込み、そのプログラムあるいはデータを書き込むための処理に移行するための命令を有する、などの特徴を組み合わせて有しているものである。
【００２３】
　よって、前記マイクロ・コンピュータによれば、書込可能なＲＯＭにデータを書き込むのに際し、そのときだけＣＰＵを別の記憶装置へジャンプさせて、そこに予め格納された所定の書込制御プログラムを実行させることにより、書込可能なＲＯＭへの書込動作中にもＣＰＵに所定の書込制御処理を実行させることができる。これにより、ユーザ・プログラム領域とデータ領域とを１つの書込可能なＲＯＭ内に置くことができ、さらに各領域の大きさの割合を任意に選ぶことができる。これによって、ユーザの多様な仕様要求に即座に応じられ、かつデータを必要に応じて上記ＲＯＭに半永久的に保存させることができるという利点を保持しつつ、そのハードウェア的な構成規模の縮小を可能にし、かつハードウェア資源の利用効率を高められるようにする、という目的が達成される。特に、制御プログラムによってフラグを操作してＲＯＭの書込（または消去）を制御することにより、素子特性にあった高速かつ確実な書込を実現することができ、書込時間の短縮、さらに応答時間の短縮を図ることができる。
【発明の効果】
【００２４】
　本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。
【００２５】
　すなわち、ＥＥＰ−ＲＯＭ内蔵型のマイクロ・コンピュータにあって、ユーザの多様な仕様要求及び多様な用途に対して即座に応じることができる。
【発明を実施するための最良の形態】
【００２６】
　以下、本発明の好適な実施の形態を図面に基づいて説明する。なお、各図中、同一符号は同一あるいは相当部分を示す。
【００２７】
　図１はこの発明による技術が適用されたマイクロ・コンピュータ１０の主要部における一実施の形態を示す。
【００２８】
　同図にその主要部を示すマイクロ・コンピュータ１０はシングルチップ型のものであって、ＣＰＵ１とともに、ユーザ・プログラムＩｘ２と要保存データの両方が任意の割合で書き込まれるＥＥＰ−ＲＯＭ４を備える。これとともに、そのＥＥＰ−ＲＯＭ４に書込を行うための書込制御プログラムが標準プログラムＩｘ１の一部として予め固定的に格納されたいわゆるマスクＲＯＭ３を備える。
【００２９】
　マスクＲＯＭ３は、書込制御プログラムのみを格納したものであってもよく、あるいはさらに前記した標準プログラム・ルーチンを格納したものであってもよい。ここで、書込制御プログラムはたとえば書込制御回路７に対する起動のためのプログラムあるいは書込の終了を検出するためのプログラムを含むようなものである。さらに書込データが多量である場合にはＲＡＭ２内の所定の領域に用意されたデータを順次ＥＥＰ−ＲＯＭ４に対して転送し、書込を行うものであってもよい。さらに、そのＥＥＰ−ＲＯＭ４とマスクＲＯＭ３はそれぞれ、上記ＣＰＵ１のアドレス空間上にて、互いに異なるアドレス位置に配置されている。ここで、図１におけるスイッチは仮想的なものであって、ＣＰＵ１の実行プログラムがＥＥＰ−ＲＯＭ４に対する書込時にはコール命令によってマスクＲＯＭ３に移り、書込終了後リターン命令によってＥＥＰ−ＲＯＭ４に戻ることを示すものである。
【００３０】
　この場合、ＥＥＰ−ＲＯＭ４内には、そのＥＥＰ−ＲＯＭ４への書込制御プログラムの代わりに、マスクＲＯＭ３内の特定ルーチンへのコール命令が書き込まれるようになっている。他方、マスクＲＯＭ３内には、ＥＥＰ−ＲＯＭ４のための書込制御プログラムとともに、この書込制御プログラムの最後にＥＥＰ−ＲＯＭ４へのリターン命令が書き込まれるようになっている。
【００３１】
　図２は、図１に示したマイクロプロセッサ１０の全体的な構成の一実施の形態を示す。
【００３２】
　同図に示すように、上記マイクロ・コンピュータ１０には、上述した構成要素すなわちＣＰＵ１、マスクＲＯＭ３、及びＥＥＰ−ＲＯＭ４の他に、ＣＰＵ１の作業領域を提供するＲＡＭ２、外部に対してデータＤｘの受け渡しを行うＩ／Ｏ（入出力ユニット）５、周辺回路６、及びＥＥＰ−ＲＯＭ書込制御回路７などが内蔵されている。これらを内蔵することにより、たとえばＩＣカード内に内蔵されるシングルチップ型マイクロ・コンピュータとしての適性を持たせられている。マイクロ・コンピュータ１０内の各部（１〜７）はアドレスバスＬＡ及びデータバスＬＤによって相互に接続されている。各メモリや周辺回路に対する制御信号は省略されている。
【００３３】
　図３は、図２に示したマイクロ・コンピュータ１０を、データＤｘの流れに着目して示す。同図に示すように、外部とのデータＤｘの授受は全てＣＰＵ１を介して行われるようになっている。これにより適切なソフトウェアによる「鍵」を使用しない限り、内蔵ソフトウェアを知ることができない構成とすることが可能である。
【００３４】
　図４は、上記ＣＰＵ１のアドレス空間の状態の３つの例をそれぞれメモリ・マップによって示す。同図に示すように、上記ＥＥＰ−ＲＯＭ４による記憶領域Ｍ内には、ユーザ・プログラム領域Ｍ１と、データ領域Ｍ２の両方が任意の割合でもって割り当てられるようになっている。
【００３５】
　図５は、上記ＣＰＵ１がＥＥＰ−ＲＯＭ４への書込制御を行う場合の処理動作例をフローチャートによって示す。
【００３６】
　図２において、ＣＰＵ１は、ユーザ・プログラム領域Ｍ１に書き込まれたプログラムＩｘ２を１命令ずつ読込みながら、所定の処理動作を実行する（ステップＳ６）。
【００３７】
　ここで、その処理動作の過程にて要保存データＤｘをＥＥＰ−ＲＯＭ４に書き込む必要が生じると（ステップＳ１）、ＣＰＵ１は、コール命令によって、マスクＲＯＭ３に格納された標準プログラム領域Ｉｘ１中の書込制御プログラムの先頭アドレスにジャンプする（ステップＳ２）。そして、その書込制御プログラムにしたがってＥＥＰ−ＲＯＭ４の書込制御処理を実行する（ステップＳ３）。これにより、ＥＥＰ−ＲＯＭ書込制御回路７を介して、そのＥＥＰ−ＲＯＭ４への書込が行われる。この書込が行われている間、ＥＥＰ−ＲＯＭ４はＣＰＵ１から切り離される。
【００３８】
　この後、書込が完了すると、ＣＰＵ１は、たとえば書込制御回路７側から発せられるフラグあるいは割込要求に基づいて、書込の完了を判定する（ステップＳ４）。すると、ＣＰＵ１は、マスクＲＯＭ３からＥＥＰ−ＲＯＭ４のプログラム領域Ｍ１にリターンし、ジャンプ時のアドレスの次の番地からユーザ・プログラムの読込みを再開する（ステップＳ５）。そして、処理の終了あるいは次のデータ書込要求が発生するまで、ＥＥＰ−ＲＯＭ４のユーザ・プログラムを実行する（ステップＳ６）。
【００３９】
　以上のようにして、ユーザ・プログラム領域Ｍ１とデータ領域Ｍ２とを１つのＥＥＰ−ＲＯＭ４内に置くことができるようになっている。これとともに、両領域Ｍ１とＭ２の大きさの割合を任意に選ぶことができるので、ＥＥＰ−ＲＯＭ全体の記憶領域Ｍのサイズがそれほど大きくなくとも、たとえば図４に３つの例を示すように、データ領域Ｍ２のサイズを小さくする代わりにプログラム領域Ｍ１のサイズを大きくとったり、あるいはプログラム領域Ｍ１のサイズを小さくする代わりにデータ領域Ｍ２のサイズを大きくとったり、といったように記憶領域Ｍを融通し合って効率良く利用することができる。
【００４０】
　これによって、ユーザの多様な用途に対して即座に応じられ、かつデータＤｘを必要に応じてＥＥＰ−ＲＯＭ４に半永久的に保存させることができるという利点を保持しつつ、そのハードウェア的な構成規模の縮小を可能にし、かつハードウェア資源の利用効率を高められるようにする、という目的が達成される。
【００４１】
　ここで、ＥＥＰ−ＲＯＭの書込が完了されたときのユーザ・プログラムへのリターンは、実施の形態のように書込制御回路７から発せられるフラグあるいは割込要求によらなくてもよい。たとえば、ＣＰＵ１内の適当な作業レジスタが、ＥＥＰ−ＲＯＭへの書込動作の開始と同時に動作開始されて、その動作中に一定周期で更新される一種のカウンタもしくはタイマとして利用され、かかる作業レジスタの内容が所定値に達したときに上記リターン動作が実行されるように構成されてもよい。つまり、ＣＰＵ１が予め見込まれる所定の書込所要時間を計時し、この計時が完了した時点でＥＥＰ−ＲＯＭへの書込動作の完了をソフトウェア的にチェックする構成であってもよい。この場合、書込時間の設定とその後のリターン動作の制御は、タイマ回路のような専用回路によってハードウェア的に行わせるようにしてもよい。
【００４２】
　上記した例では、ユーザ・プログラムは、特に制限されないものの、外部からの制御によってＣＰＵ１を停止し、外部から直接ＥＥＰ−ＲＯＭ４のユーザ・プログラム領域Ｍ１に対して書込を行う構成となっている。
【００４３】
　このユーザ・プログラムの書込は、マスクＲＯＭ３のプログラムに従ってＣＰＵ１がＩ／Ｏユニット５を介して外部よりプログラムを受信し、順次ＥＥＰ−ＲＯＭ４のユーザ・プログラム領域Ｍ１に対して書き込む構成としてもよい。この例では、内蔵ＥＥＰ−ＲＯＭ４に対して外部から直接アクセスする手段を持たないために、機密保護機能が強化され、ＩＣカード内に内蔵されるシングルチップ型マイクロ・コンピュータとしての適正を増大させることができる。
【００４４】
　この場合、ユーザ・プログラム４に対する書込が既に行われているか否かは、ＥＥＰ−ＲＯＭ４内にフラグを有してその状態で判定すればよい。このフラグの状態に応じて、ＣＰＵ１のリセット後のスタートアドレスを変更するような構成にしてもよい。
【００４５】
　また、書込可能なＲＯＭとしては、ＥＥＰ−ＲＯＭのような電気的に書込及び消去可能なＲＯＭだけではなく、紫外線消去型のＥＰ−ＲＯＭも利用できる。
【００４６】
　上記の例では、特に制限はされないものの、書込は書込制御回路７によって行われ、一定時間の書込が行われている。
【００４７】
　ＥＰ−ＲＯＭの場合には、一般にＥＥＰ−ＲＯＭに比して書込時間が長い。このために、上記のような書込時間一定の方法ではＩＣカードに内蔵した場合には応答時間の増加を招いてしまう。ここで、ＥＰ−ＲＯＭ素子のプロセスバラツキが大きいことにより、ワーストケースを考慮して書込時間は設定されるために多くの場合、書込時間が必要以上に費やされてしまっている。
【００４８】
　そこで、本発明者は書込制御回路７に対してＣＰＵ１が起動をかけるとともにさらに、停止も可能とできる構成とすることを考えた。すなわち、書込制御回路７内にフラグＰＧＭを設け、このフラグＰＧＭをＣＰＵ１がセットすると書込が開始され、前記フラグをリセットすると書込が終了されるというものである。書込時間は、たとえば前記したようにソフトウェアによって計時されてもよいし、あるいはタイマ回路を内蔵しているものにあっては、これを利用してもよい。
【００４９】
　図９は上記の場合のマスクＲＯＭ３内に格納されるべき書込制御プログラムの一実施の形態を示すフローチャートである。
【００５０】
　まず、ＣＰＵ１がＥＰ−ＲＯＭに対する書込アドレス・データを設定し、ＥＰ−ＲＯＭはこれらをラッチする（ステップＳ１）。次にＣＰＵ１は特定レジスタＮの内容をクリアし（ステップＳ２）、上記レジスタＮに＋１の加算を行った（ステップＳ３）後に、フラグＰＧＭをセットする（ステップＳ４）。所定の単位時間たとえば１ｍｓの計時を行い（ステップＳ５）、その後にフラグＰＧＭをリセットし（ステップＳ６）、単位時間の書込を終了する。
【００５１】
　この後、正しく書込が行われたか否かを判定する（ステップＳ７）。この判定は、ＥＰ−ＲＯＭの読出しを行い、この読出された内容と書込データを比較する。特に制限はされないが、この読出し時には前記ラッチされたデータを破壊しないように構成されている。この比較結果が不一致であればＣＰＵ１は前記レジスタＮの値を判定して（ステップＳ１１）、２４以下であれば上記ステップＳ３に戻り再び単位時間の書込を実行する。上記単位時間の書込が２５回行われても、すなわちＮ＝２５となっても不一致の場合は不良と判定して（ステップＳ１２）終了する。
【００５２】
　上記判定の結果が一致していれば、ＣＰＵ１はフラグＰＧＭをセットし（ステップＳ８）、さらに３×Ｎｍｓの計時を行った（ステップＳ９）後に、フラグＰＧＭをクリアして（ステップＳ１０）終了する。すなわち、上記判定結果が一致するまでに要した時間Ｎｍｓの３倍の時間による重ね書込が行われる。
【００５３】
　これによって、素子特性にあった高速かつ確実な書込を実現することができ、書込時間の短縮、さらに応答時間の短縮を図ることができる。
【００５４】
　上記した方法によって、ユーザの多様な仕様要求及び多様な用途に対して即座に応じられ、かつデータＤｘを必要に応じてＥＰ−ＲＯＭに半永久的に保存させることができるという利点を有しつつ、そのハードウェア的な構成規模の縮小を可能にし、かつハードウェア資源の利用効率を高められるようにし、さらに応答時間を短縮することができる。
【００５５】
　以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。たとえば、書込制御プログラムをマスクＲＯＭ３あるいはＥＥＰ−ＲＯＭ４に予め格納し、ＥＥＰ−ＲＯＭ４の書込動作を行うときに、その格納された書込制御プログラムをＲＡＭ２へ転送してＣＰＵ１に実行させるような構成でもよい。
【００５６】
　また、ＩＣカード用シングルチップ型マイクロ・コンピュータに適用した場合について説明したが、それに限定されるものではなく、たとえば、ボード型のマイクロ・コンピュータなどにも適用できる。
【００５７】
　少なくとも、ＥＥＰ−ＲＯＭにプログラムとデータの両方を記憶させる条件のものには適用できる。
【図面の簡単な説明】
【００５８】
【図１】この発明による技術が適用されたＥＥＰ−ＲＯＭ内蔵型マイクロ・コンピュータの主要部を示すブロック図である。
【図２】図１に示したマイクロ・コンピュータの全体的な構成を示すブロック図である。
【図３】図２に示したマイクロ・コンピュータをデータの流れに着目して示すブロック図である。
【図４】図２に示したマイクロ・コンピュータ内ＣＰＵのアドレス空間の３つの状態を例示するアドレスマップである。
【図５】図２に示したマイクロ・コンピュータの動作例を示すフローチャートである。
【図６】この発明に先立って検討されたＥＥＰ−ＲＯＭ内蔵型マイクロ・コンピュータの構成を示すブロック図である。
【図７】図６に示したマイクロ・コンピュータをデータの流れに着目して示すブロック図である。
【図８】図６に示したマイクロ・コンピュータ内ＣＰＵのアドレス空間の状態を例示するアドレスマップである。
【図９】ＥＰ−ＲＯＭを内蔵した場合の書込制御プログラムを示すフローチャートである。
【符号の説明】
【００５９】
　１　ＣＰＵ
　２　ＲＡＭ
　３　マスクＲＯＭ
　４，４１，４２　ＥＥＰ−ＲＯＭ
　５　Ｉ／Ｏ
　６　周辺回路
　７　書込制御回路
１０　マイクロ・コンピュータ
【図１】
2004094981.tif 000003
【図２】
2004094981.tif 000004
【図３】
2004094981.tif 000005
【図４】
2004094981.tif 000006
【図５】
2004094981.tif 000007
【図６】
2004094981.tif 000008
【図７】
2004094981.tif 000009
【図８】
2004094981.tif 000010
【図９】
2004094981.tif 000011