(57)【要約】【課題】消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減する。【解決手段】本発明に係るマイクロコントローラ１００は、ＣＰＵ１０３により指定されるアドレスが指定領域１５５の範囲内である場合、ＲＡＭアクセス動作を行い、当該アドレスが指定領域１５５に含まれない場合、フラッシュＥＥＰＲＯＭ１０１からプログラムを読み出すＲＡＭ制御部１０７を備える。ＲＡＭ制御部１０７は、ＲＡＭアクセス動作として、バリッドビット１７１が無効状態を示す場合、フラッシュＥＥＰＲＯＭ１０１からプログラムを読み出し、読み出したプログラムをＲＡＭ１０２に格納するとともに、バリッドビット１７１を有効状態に変更し、バリッドビット１７１が有効状態を示す場合、ＲＡＭ１０２に格納されているプログラムをＣＰＵ１０３へ出力する。【選択図】図１
2012022479.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラであって、
前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
ＲＡＭと、
前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するＣＰＵと、
前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
前記ＲＡＭに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、
前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、ＲＡＭアクセス動作を行い、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＣＰＵへ出力する不揮発性メモリアクセス動作を行なうＲＡＭ制御部とを備え、
前記ＲＡＭ制御部は、前記ＲＡＭアクセス動作として、
前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＲＡＭに格納するとともに、前記バリッドビットを有効状態に変更し、
前記バリッドビットが有効状態を示す場合、前記ＲＡＭに格納されている前記プログラムを前記ＣＰＵへ出力する
マイクロコントローラ。
【請求項２】
前記マイクロコントローラは、さらに、
前記マイクロコントローラの動作モードを示す情報を保持するモード保持部を備え、
前記ＲＡＭ制御部は、
前記モード保持部が予め定められた第１動作モードを示す情報を保持し、かつ、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、前記ＲＡＭアクセス動作を行い、
前記モード保持部が前記第１動作モードと異なる第２動作モードを示す情報を保持する場合、前記不揮発性メモリアクセス動作を行う
請求項１記載のマイクロコントローラ。
【請求項３】
前記第１動作モードは、前記第２動作モードに比べ、低速のクロックで動作する低速モードである
請求項２記載のマイクロコントローラ。
【請求項４】
前記不揮発性メモリは、前記プログラムとして、前記第１動作モード時に使用される第１プログラムと、前記第２動作モード時に使用される第２プログラムとを格納し、
前記ＲＡＭの容量は、前記第１プログラムの容量より大きく、
前記指定領域は、前記第１プログラムが格納されている領域である
請求項２又は３記載のマイクロコントローラ。
【請求項５】
前記モード保持部は、前記マイクロコントローラの動作モードを示す情報として、前記ＣＰＵからアクセス可能なフラグを保持する
請求項２〜４のいずれか１項に記載のマイクロコントローラ。
【請求項６】
前記領域保持部は、前記指定領域を示す情報として、前記指定領域の先頭アドレスを示す情報を保持し、
前記ＲＡＭ制御部は、前記先頭アドレスから前記ＲＡＭの容量分の領域を前記指定領域と判定する
請求項１〜５のいずれか１項に記載のマイクロコントローラ。
【請求項７】
前記ＲＡＭ制御部は、
前記ＲＡＭアクセス動作を行なう場合、前記不揮発性メモリを停止状態にするモード切替部を備える
請求項１〜６のいずれか１項に記載のマイクロコントローラ。
【請求項８】
マイクロコントローラを制御する制御方法であって、
前記マイクロコントローラは、
前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
ＲＡＭと、
前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスの前記プログラムを実行するＣＰＵと、
前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
前記ＲＡＭに格納されているプログラムが有効である有効状態、及び無効であることを示す無効状態の一方を示すバリッドビットを保持するバリッド保持部とを備え、
前記制御方法は、
前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、ＲＡＭアクセス動作を行うＲＡＭアクセスステップと、
前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＣＰＵへ出力する不揮発性メモリアクセス動作を行なう不揮発性メモリアクセスステップとを含み、
前記ＲＡＭアクセスステップは、
前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＲＡＭに格納するとともに、前記バリッドビットを有効状態に変更するステップと、
前記バリッドビットが有効状態を示す場合、前記ＲＡＭに格納されている前記プログラムを前記ＣＰＵへ出力するステップとを含む
マイクロコントローラの制御方法。
【請求項９】
マイクロコントローラを備える半導体集積回路であって、
前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
ＲＡＭと、
前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するＣＰＵと、
前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
前記ＲＡＭに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、
前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、ＲＡＭアクセス動作を行い、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＣＰＵへ出力する不揮発性メモリアクセス動作を行なうＲＡＭ制御部とを備え、
前記ＲＡＭ制御部は、前記ＲＡＭアクセス動作として、
前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＲＡＭに格納するとともに、前記バリッドビットを有効状態に変更し、
前記バリッドビットが有効状態を示す場合、前記ＲＡＭに格納されている前記プログラムを前記ＣＰＵへ出力する
半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラ及びその制御方法に関し、特に、不揮発性メモリを備えるマイクロコントローラに関する。
【背景技術】
【０００２】
従来の１チップマイクロコントローラは、それ自体を動作制御するためのプログラムが記憶されたＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）で代表される不揮発性メモリをプログラムメモリとして使用する形となっている。このような不揮発性メモリをプログラムメモリとして使用することの利点は、電気的な操作によってＥＥＰＲＯＭに記憶されたプログラムの変更が容易であることである。つまり、変更を必要とする記憶領域のプログラムのみを、ユーザ自身が書き換えることで、わざわざマスクを変更しなくてもよい。これにより、ＩＣ製造業者を頼ることなくコストを抑えてプログラムの異なる１チップマイクロコントローラを迅速に開発することができる。
【０００３】
しかしながら、不揮発性メモリとしてＥＥＰＲＯＭを用いる場合には、上述した利点を有する反面、ＥＥＰＲＯＭからプログラムコードを読み出して、１チップマイクロコントローラを動作させる場合に、ＥＥＰＲＯＭの消費電力が大きいという問題がある。
【０００４】
このような問題を解決するための従来の技術として特許文献１記載の技術が知られている。特許文献１記載の技術では、不揮発性メモリよりも小容量のＲＡＭを用いる。また、特定動作時に使われる小容量なプログラムを実行する場合に、動作に必要なプログラムを低消費電力であるＲＡＭに格納するとともに、消費電力の大きい不揮発性メモリをディセーブル状態にする。そして、特許文献１記載の技術では、小容量のＲＡＭ上でプログラムを実行する。これにより、特許文献１記載の技術は、消費電力の低減を可能にしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１０５７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の技術では、ＲＡＭ上でプログラムを実行する場合、まずＲＡＭ上で実行するプログラムをＲＡＭに転送しておく必要がある。そのためには、プログラムを転送するハードウエア、又はソフトウエアが別途必要になる。また、ＲＡＭは予め決められて番地に配置されているため、ＲＡＭ上でプログラムを実行する場合、分岐命令を実行するなど、ＲＡＭの配置アドレスにマイクロコントローラの実行ＰＣを遷移させる必要がある。その結果、プログラム開発が複雑化してしまう。そのため、ＲＡＭで実行して電力を低減する利点を著しく損ねてしまっている。
【０００７】
そこで本発明は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できるマイクロコントローラ等  を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の一形態に係るマイクロコントローラは、前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、ＲＡＭと、前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するＣＰＵと、前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、前記ＲＡＭに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、ＲＡＭアクセス動作を行い、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＣＰＵへ出力する不揮発性メモリアクセス動作を行なうＲＡＭ制御部とを備え、前記ＲＡＭ制御部は、前記ＲＡＭアクセス動作として、前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記ＣＰＵにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記ＲＡＭに格納するとともに、前記バリッドビットを有効状態に変更し、前記バリッドビットが有効状態を示す場合、前記ＲＡＭに格納されている前記プログラムを前記ＣＰＵへ出力する。
【０００９】
この構成によれば、本発明の一形態に係るマイクロコントローラは、不揮発性メモリに格納されているプログラムに対するＣＰＵからの読み出し要求があった場合、当該プログラムをＲＡＭに格納する。また、本発明の一形態に係るマイクロコントローラは、以降のＣＰＵから当該プログラムへの読み出しの際には、ＲＡＭに格納された当該プログラムをＣＰＵへ出力する。これにより、本発明の一形態に係るマイクロコントローラは、不揮発性メモリの読み出し動作が発生する頻度を低減できるので、消費電力を低減できる。さらに、本発明の一形態に係るマイクロコントローラは、ＣＰＵからの読み出し要求に応じて、自動的に不揮発性メモリに格納されているプログラムをＲＡＭに転送できる。これにより、ＣＰＵは、ＲＡＭの存在を意識せずに処理を行うことができる。よって、本発明の一形態に係るマイクロコントローラは、プログラム開発の複雑化を低減できる。
【００１０】
また、前記マイクロコントローラは、さらに、前記マイクロコントローラの動作モードを示す情報を保持するモード保持部を備え、前記ＲＡＭ制御部は、前記モード保持部が予め定められた第１動作モードを示す情報を保持し、かつ、前記ＣＰＵにより指定される前記アドレスが前記指定領域の範囲内である場合、前記ＲＡＭアクセス動作を行い、前記モード保持部が前記第１動作モードと異なる第２動作モードを示す情報を保持する場合、前記不揮発性メモリアクセス動作を行ってもよい。
【００１１】
この構成によれば、本発明の一形態に係るマイクロコントローラは、特定の第１動作モード時の消費電力を削減できる。また、本発明の一形態に係るマイクロコントローラは、第２動作モード時にはＲＡＭを使用しないことにより、第２動作モード時の制御を簡素化できる。これにより、本発明の一形態に係るマイクロコントローラは、第２動作モード時の動作を速くできる。
【００１２】
また、前記第１動作モードは、前記第２動作モードに比べ、低速のクロックで動作する低速モードであってもよい。
【００１３】
この構成によれば、本発明の一形態に係るマイクロコントローラは、低速クロックで動作する、低消費電力が要求される動作モードにおいて、さらに、消費電力を削減できる。
【００１４】
また、前記不揮発性メモリは、前記プログラムとして、前記第１動作モード時に使用される第１プログラムと、前記第２動作モード時に使用される第２プログラムとを格納し、前記ＲＡＭの容量は、前記第１プログラムの容量より大きく、前記指定領域は、前記第１プログラムが格納されている領域であってもよい。
【００１５】
この構成によれば、本発明の一形態に係るマイクロコントローラでは、一旦、第１プログラムがＲＡＭに転送された後には、ＲＡＭに格納されたプログラムの再度の書き換えが発生しない。これにより、本発明の一形態に係るマイクロコントローラは、不揮発性メモリの読み出し動作が発生する頻度をさらに低減できるので、消費電力をさらに低減できる。
【００１６】
また、前記モード保持部は、前記マイクロコントローラの動作モードを示す情報として、前記ＣＰＵからアクセス可能なフラグを保持してもよい。
【００１７】
この構成によれば、本発明の一形態に係るマイクロコントローラは、モード保持部の構成を簡略化できる。
【００１８】
また、前記領域保持部は、前記指定領域を示す情報として、前記指定領域の先頭アドレスを示す情報を保持し、前記ＲＡＭ制御部は、前記先頭アドレスから前記ＲＡＭの容量分の領域を前記指定領域と判定してもよい。
【００１９】
この構成によれば、本発明の一形態に係るマイクロコントローラは、領域保持部の容量（レジスタ数）を削減できるので、当該マイクロコントローラのコストを削減できる。
【００２０】
また、前記ＲＡＭ制御部は、前記ＲＡＭアクセス動作を行なう場合、前記不揮発性メモリを停止状態にするモード切替部を備えてもよい。
【００２１】
この構成によれば、本発明の一形態に係るマイクロコントローラは、不揮発性メモリの待機電力を削減できるので、さらに、消費電力を削減できる。
【００２２】
なお、本発明は、このようなマイクロコントローラとして実現できるだけでなく、マイクロコントローラに含まれる特徴的な手段をステップとするマイクロコントローラの制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【００２３】
さらに、本発明は、このようなマイクロコントローラの機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現できる。
【発明の効果】
【００２４】
以上より、本発明は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できるマイクロコントローラを提供できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態１に係るマイクロコントローラのブロック図である。
【図２Ａ】本発明の実施の形態１に係るフラッシュＥＥＰＲＯＭに格納されているデータ例を示す図である。
【図２Ｂ】本発明の実施の形態１に係るフラッシュＥＥＰＲＯＭに格納されているデータ例を示す図である。
【図３】本発明の実施の形態１に係るＲＡＭの構成例を示す図である。
【図４】本発明の実施の形態１に係るバリッド情報の一例を示す図である。
【図５】本発明の実施の形態１に係るマイクロコントローラによる処理のフローチャートである。
【図６】本発明の実施の形態１に係るマイクロコントローラの動作の一例を示す図である。
【図７】本発明の実施の形態２に係るマイクロコントローラのブロック図である。
【図８】本発明の実施の形態２に係る指定領域の一例を示す図である。
【図９】本発明の実施の形態２に係るマイクロコントローラによる処理のフローチャートである。
【図１０】本発明の実施の形態３に係るマイクロコントローラのブロック図である。
【図１１】本発明の実施の形態３に係るマイクロコントローラによる処理のフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２７】
（実施の形態１）
本発明の実施の形態１に係るマイクロコントローラ１００は、フラッシュＥＥＰＲＯＭ１０１に格納されているプログラムに対してＣＰＵ１０３から読み出し要求があった場合には、当該プログラムをＲＡＭ１０２に格納する。また、マイクロコントローラ１００は、以降のＣＰＵ１０３から当該プログラムへの読み出しの際には、ＲＡＭ１０２に格納された当該プログラムをＣＰＵ１０３へ出力する。これにより、マイクロコントローラ１００は、フラッシュＥＥＰＲＯＭ１０１の読み出し動作が発生する頻度を低減できるので、消費電力を低減できる。さらに、マイクロコントローラ１００は、ＣＰＵ１０３からの読み出し要求に応じて、自動的にフラッシュＥＥＰＲＯＭ１０１に格納されているプログラムをＲＡＭ１０２に転送できる。これにより、ＣＰＵ１０３は、ＲＡＭ１０２の存在を意識せずに処理を行うことができる。よって、本発明の一形態に係るマイクロコントローラ１００は、プログラム開発の複雑化を低減できる。
【００２８】
まず、本発明の実施の形態１に係るマイクロコントローラ１００の構成を説明する。
図１は、本発明の実施の形態１に係るマイクロコントローラ１００のブロック図である。
【００２９】
図１に示すマイクロコントローラ１００は、不揮発性メモリであるフラッシュＥＥＰＲＯＭ１０１と、ＲＡＭ１０２と、ＣＰＵ１０３と、モード保持部１０４と、領域保持部１０５と、バリッド保持部１０６と、ＲＡＭ制御部１０７と、データ選択部１０８とを備える。
【００３０】
フラッシュＥＥＰＲＯＭ１０１には、マイクロコントローラ１００の動作を制御するためのプログラムが格納されている。
【００３１】
ＲＡＭ１０２は、フラッシュＥＥＰＲＯＭ１０１に格納されているプログラムを一時的に格納するために用いられる。
【００３２】
ＣＰＵ１０３は、フラッシュＥＥＰＲＯＭ１０１のアドレスを指定し、フラッシュＥＥＰＲＯＭ１０１に格納されている、当該アドレスのプログラムを実行する。このＣＰＵ１０３は、高速クロックで動作する通常モードと、当該高速クロックより低速の低速クロックで動作する低速モード（低消費電力モード）とを有する。また、ＣＰＵ１０３は、フラッシュＥＥＰＲＯＭ１０１に格納されているプログラムを読み出す際に、フラッシュＥＥＰＲＯＭ１０１のアドレスを指定するアドレス信号１２５と、当該アドレスのデータの読み出しを要求するアクセス要求信号１２４とを出力する。
【００３３】
モード保持部１０４は、ＣＰＵ１０３の動作モード（通常モード又は低速モード）を示す動作モード情報１４４を保持する。また、モード保持部１０４は、動作モード情報１４４として、例えば、ＣＰＵ１０３からアクセス可能なフラグを保持するレジスタである。これにより、モード保持部１０４の構成を簡略化できる。
【００３４】
領域保持部１０５は、フラッシュＥＥＰＲＯＭ１０１のメモリ領域のうちの一部である指定領域１５５を示す指定領域情報１４５を保持する。例えば、領域保持部１０５は、ＣＰＵ１０３からアクセス可能な１ビット以上のレジスタで構成される。また、指定領域情報１４５は、例えば、指定領域１５５の先頭アドレスと最終アドレスとを指定する情報である。
【００３５】
図２Ａ及び図２Ｂは、フラッシュＥＥＰＲＯＭ１０１に格納されているプログラム及び指定領域１５５の一例を示す図である。
【００３６】
図２Ａ及び図２Ｂに示すように、フラッシュＥＥＰＲＯＭ１０１には、低速モード時に実行される低速モードプログラム１６０と、通常モード時に実行される通常モードプログラム１６１とが格納される。なお、フラッシュＥＥＰＲＯＭ１０１には、その他のプログラム、又は、プログラム以外のデータが格納されていてもよい。
【００３７】
また、指定領域１５５は、低速モードプログラム１６０が格納されているアドレス領域のみを含む。例えば、図２Ａに示すように、指定領域１５５は、低速モードプログラム１６０が格納されているアドレス領域の全てを含む。また、図２Ｂに示すように、指定領域１５５は、低速モードプログラム１６０が格納されているアドレス領域の一部のみを含んでもよい。
【００３８】
バリッド保持部１０６は、ＲＡＭ１０２に格納されているプログラムが有効である有効状態、及び無効であることを示す無効状態の一方を示すバリッドビット情報１４６を保持する。例えば、バリッド保持部１０６は、ＣＰＵ１０３からアクセス可能な１ビット以上のレジスタで構成される。
【００３９】
図３は、ＲＡＭ１０２の構成例を示す図である。例えば、ＲＡＭ１０２の容量は１Ｋバイトである。また、それぞれが３２バイトの３２個のライン１６５を含む。
【００４０】
図４は、バリッドビット情報１４６の一例を示す図である。
バリッドビット情報１４６は、複数のラインアドレス１７０と、各ラインアドレス１７０に対応付けられたバリッドビット１７１とを含む。例えば、バリッドビット情報１４６は、３２個のラインアドレス１７０及びバリッドビット１７１を含む。
【００４１】
また、各ラインアドレス１７０は、ＲＡＭ１０２に含まれるライン１６５のいずれかに対応する。また、各ラインアドレス１７０は、指定領域１５５に含まれるフラッシュＥＥＰＲＯＭ１０１の３２バイト単位のアドレスに対応付けられている。また、バリッドビット１７１は、当該バリッドビット１７１に対応するラインアドレス１７０のライン１６５に格納されているデータが有効「１」か無効「０」かを示す。
【００４２】
なお、ここでは、バリッド保持部１０６は、複数のバリッドビット１７１を保持するが、バリッド保持部１０６は、少なくとも１以上のバリッドビット１７１を保持すればよい。
【００４３】
ＲＡＭ制御部１０７は、モード保持部１０４に保持されている動作モード情報１４４と、バリッド保持部１０６に保持されているバリッドビット情報１４６と、領域保持部１０５に保持されている指定領域情報１４５と、ＣＰＵ１０３により生成されるアクセス要求信号１２４とに応じて、ＲＡＭ１０２へのアクセスを制御する。また、ＲＡＭ制御部１０７は、データ選択部１０８を制御するための選択制御信号１２６と、ＲＡＭ１０２を制御するためのアクセス制御信号１２７と、フラッシュＥＥＰＲＯＭ１０１へ読み出しを要求するアクセス要求信号１２８とを生成する。
【００４４】
データ選択部１０８は、ＲＡＭ制御部１０７からの選択制御信号１２６に応じて、フラッシュＥＥＰＲＯＭ１０１からデータバス１２１へ出力されたデータと、ＲＡＭ１０２からデータバス１２２へ出力されたデータとのいずれかを選択し、選択したデータを、データバス１２３を介してＣＰＵ１０３へ出力する。
【００４５】
また、ＲＡＭ制御部１０７は、動作モード情報１４４により低速モードが指定され、かつ、アドレス信号１２５で指定されるアドレスである要求アドレス１６６が指定領域１５５の範囲内である場合、ＲＡＭアクセス動作を行う。
【００４６】
また、ＲＡＭアクセス動作とは、（１）バリッドビット１７１が無効状態を示す場合、フラッシュＥＥＰＲＯＭ１０１から、要求アドレス１６６に格納されているプログラムを読み出し、読み出したプログラムをＲＡＭ１０２に格納するとともに、バリッドビット１７１を有効状態に変更し、（２）バリッドビット１７１が有効状態を示す場合、ＲＡＭ１０２に格納されているプログラムをＣＰＵ１０３へ出力する動作である。
【００４７】
また、ＲＡＭ制御部１０７は、動作モード情報１４４により通常モードが指定されている場合と、動作モード情報１４４により低速モードが指定され、かつ、要求アドレス１６６が指定領域１５５の範囲外である場合とに、不揮発性メモリアクセス動作を行う。
【００４８】
また、不揮発性メモリアクセス動作とは、フラッシュＥＥＰＲＯＭ１０１から、要求アドレス１６６に格納されているプログラムを読み出し、読み出したプログラムをＣＰＵ１０３へ出力する動作である。
【００４９】
ここで、要求アドレス１６６が指定領域１５５の範囲内であるか否かの判定処理には時間がかかる。よって、通常モードでＲＡＭ１０２を使用しないことにより、通常モードでの制御を簡素化できる。これにより、通常モードの動作を速くできる。
【００５０】
以下、このような構成のマイクロコントローラ１００における動作を、図５に示すフローチャートを参照して説明する。
【００５１】
まず、ＣＰＵ１０３は、指定領域１５５を領域保持部１０５に設定する（Ｓ１０１）。
また、ＣＰＵ１０３は、動作モードをモード保持部１０４に設定する（Ｓ１０２）。
【００５２】
次に、ＲＡＭ制御部１０７は、ＣＰＵ１０３から出力されるアクセス要求信号１２４を確認する（Ｓ１０３）。
【００５３】
アクセス要求信号１２４が出力されると（Ｓ１０３でＹｅｓ）、ＲＡＭ制御部１０７は、動作モード情報１４４が示す動作モードを確認する（Ｓ１０４）。
【００５４】
動作モード情報１４４が低速モードを示す場合（Ｓ１０４でＹｅｓ）、次に、ＲＡＭ制御部１０７は、ＣＰＵ１０３から出力されたアドレス信号１２５が示す要求アドレス１６６が、指定領域情報１４５が示す指定領域１５５の範囲内であるか否かを判定する（Ｓ１０５）。
【００５５】
要求アドレス１６６が指定領域１５５の範囲内である場合（Ｓ１０５でＹｅｓ）、次に、ＲＡＭ制御部１０７は、バリッドビット情報１４６に含まれる複数のバリッドビット１７１のうち、要求アドレス１６６に対応するラインアドレス１７０のバリッドビット１７１を確認することにより、フラッシュＥＥＰＲＯＭ１０１の要求アドレス１６６に格納されているデータである要求データがＲＡＭ１０２に格納されているか否かを判定する（Ｓ１０６）。
【００５６】
なお、バリッドビット１７１は初期状態で無効状態「０」が設定されており、ＲＡＭ１０２のデータが無効状態となっている。
【００５７】
要求アドレス１６６に対応するバリッドビット１７１が無効状態「０」の場合（Ｓ１０６でＮｏ）、ＲＡＭ制御部１０７は、要求データをフラッシュＥＥＰＲＯＭ１０１から読み出し、読み出した要求データを３２ラインに区切ったＲＡＭ１０２の該当ライン１６５に書き込む（Ｓ１０７）。
【００５８】
図６は、このステップＳ１０７の動作の具体例を示す図である。例えば、図６に示す要求アドレス１６６がアドレス信号１２５で指定されるとする。
【００５９】
この場合、ＲＡＭ制御部１０７は、要求アドレス１６６を含む転送アドレス範囲１６７を指定したアクセス要求信号１２８をフラッシュＥＥＰＲＯＭ１０１へ送る。ここで、転送アドレス範囲１６７とは、一つのラインアドレス１７０及びバリッドビット１７１に対応する、例えば３２バイトのデータが格納されるアドレス範囲である。具体的には、要求アドレス１６６を３２ｎ＋ｘ（ｎは０〜３１のいずれか。ｘは０〜３１のいずれか）とすると、転送アドレス範囲１６７は、３２ｎ＋０〜３２ｎ＋３１のアドレス範囲である。
【００６０】
これにより、フラッシュＥＥＰＲＯＭ１０１は、転送アドレス範囲１６７に格納されている３２バイトのデータである転送データをデータバス１２１へ出力する。
【００６１】
ここで、一つの転送アドレス範囲１６７は、バリッドビット情報１４６に含まれるラインアドレス１７０のいずれかに対応している。また、ラインアドレス１７０は、一つのバリッドビット１７１、及びＲＡＭ１０２に含まれる一つのライン１６５と対応している。つまり、要求アドレス１６６に対して、それぞれ一つのラインアドレス１７０、バリッドビット１７１、ライン１６５及びＲＡＭ１０２のアドレスが対応する。
【００６２】
次に、ＲＡＭ制御部１０７は、ＲＡＭ１０２に含まれる複数のライン１６５のうち、要求アドレス１６６に対応するライン１６５Ａへの転送データの書き込みを指示するアクセス制御信号１２７をＲＡＭ１０２へ送る。これにより、ＲＡＭ１０２は、データバス１２１の３２バイトの転送データをライン１６５Ａへ格納する。
【００６３】
なお、ＲＡＭ制御部１０７は、３２バイトの転送データに含まれる１バイトのデータごとに、フラッシュＥＥＰＲＯＭ１０１からの読み出し及びＲＡＭ１０２への書き込みを行なってもよいし、３２バイトの転送データをフラッシュＥＥＰＲＯＭ１０１から読み出した後、当該３２バイトの転送データをＲＡＭ１０２へ書き込んでもよい。
【００６４】
また、例えば、フラッシュＥＥＰＲＯＭ１０１の各転送アドレス範囲１６７のデータを、ＲＡＭ１０２のどのライン１６５に格納するかは予め定められている。言い換えると、フラッシュＥＥＰＲＯＭ１０１の指定領域１５５に含まれる各アドレスのデータを、ＲＡＭ１０２のどのアドレスに格納するかは予め定められている。よって、ＲＡＭ制御部１０７は、指定された転送アドレス範囲１６７（要求アドレス１６６）に対して、データ書き込み先のアドレス（ライン１６５）を自動的に決定できる。
【００６５】
具体的には、例えば、指定領域１５５の先頭アドレスをｙとすると、フラッシュＥＥＰＲＯＭ１０１のアドレスｙ＋３２ｍ＋０〜ｙ＋３２ｍ＋３１（ｍは０〜３１のいずれか）のアドレス範囲のデータは、ＲＡＭ１０２のアドレス３２ｍ＋０〜３２ｍ＋３１のアドレス範囲に書き込まれる。例えば、ｍ＝０の場合、フラッシュＥＥＰＲＯＭ１０１のアドレスｙ＋０〜ｙ＋３１のアドレス範囲のデータは、ＲＡＭ１０２のアドレス０〜３１のアドレス範囲に書き込まれる。
【００６６】
次に、ＲＡＭ制御部１０７は、要求アドレス１６６に対応するバリッドビット１７１に有効状態「１」に設定する（Ｓ１０８）。
【００６７】
この間、ＣＰＵ１０３はメモリアクセス待ち状態となる。また、ＲＡＭ制御部１０７は、バリッドビット１７１の更新後、再度ステップＳ１０６でバリッドビット１７１を確認する。この場合、要求アドレス１６６に対応するバリッドビット１７１は有効状態「１」なので（Ｓ１０６でＹｅｓ）、次に、ＲＡＭ制御部１０７は、ＲＡＭ１０２から、要求データを読み出し、読み出した要求データをＣＰＵ１０３へ出力する（Ｓ１０９）。具体的には、ＲＡＭ制御部１０７は、要求アドレス１６６に対応するアドレスのデータの読み出しを指示するアクセス制御信号１２７をＲＡＭ１０２へ送る。これにより、ＲＡＭ１０２は、要求アドレス１６６に対応するアドレスの要求データをデータバス１２２に出力する。また、ＲＡＭ制御部１０７は、データバス１２２を選択するように指示する選択制御信号１２６をデータ選択部１０８に送る。これにより、データ選択部１０８は、データバス１２２の要求データを、データバス１２３を介してＣＰＵ１０３へ出力する。
【００６８】
一方、動作モード情報１４４が低速モード以外を示す場合（Ｓ１０４でＮｏ）、又は、要求アドレス１６６が指定領域１５５の範囲外である場合（Ｓ１０５でＮｏ）、ＲＡＭ制御部１０７は、直接フラッシュＥＥＰＲＯＭ１０１から要求データを読み出し、読み出した要求データをＣＰＵ１０３へ出力する（Ｓ１１０）。具体的には、ＲＡＭ制御部１０７は、フラッシュＥＥＰＲＯＭ１０１へアクセス要求信号１２８を送る。これにより、フラッシュＥＥＰＲＯＭ１０１は、要求アドレス１６６に格納されている要求データをデータバス１２１へ出力する。また、ＲＡＭ制御部１０７は、データバス１２１を選択するように指示する選択制御信号１２６をデータ選択部１０８に送る。これにより、データ選択部１０８は、フラッシュＥＥＰＲＯＭ１０１から出力された、データバス１２１の要求データを、データバス１２３を介してＣＰＵ１０３へ出力する。
【００６９】
また、ステップＳ１０９又はステップＳ１１０の後において、プログラムが終了していない場合（Ｓ１１１でＮｏ）、再度、ステップＳ１０３以降の処理が行われる。また、ステップＳ１０３〜ステップＳ１１０の処理が、プログラムが終了する（Ｓ１１１でＹｅｓ）まで、繰り返し行われる。
【００７０】
以上の動作により、低速モードであり、かつ、ＣＰＵ１０３が実行するプログラムがＲＡＭ１０２に格納されている場合、ＲＡＭ１０２からプログラムが読み出される。これにより、マイクロコントローラ１００は、フラッシュＥＥＰＲＯＭ１０１の読み出し動作の回数を削減できるので、フラッシュＥＥＰＲＯＭ１０１の読み出し動作により消費される電力を抑えることができる。よって、マイクロコントローラ１００全体として低消費電力化を実現できる。
【００７１】
また、ソフトウエア（プログラム）側からは、ＲＡＭ１０２の存在を意識する必要がない。よって、マイクロコントローラ１００は、ＲＡＭ１０２を用いない場合と同一のソフトウエアを用いることができるので、ソフトウエア開発の複雑化を抑えられる。
【００７２】
このように、本発明の実施の形態１に係るマイクロコントローラ１００は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できる。
【００７３】
なお、上記説明では、バリッドビット１７１が「０」の場合（Ｓ１０６でＮｏ）、ステップＳ１０７及びＳ１０８を実施し、再度ステップＳ１０６に遷移するとしたが、ステップＳ１０７でフラッシュＥＥＰＲＯＭ１０１から読み出した要求データをＣＰＵ１０３に出力したうえで、ステップＳ１１１へ遷移してもよい。
【００７４】
また、図４に示す処理手順は、一例であり、同様の結果を得られる範囲で、各ステップの順番を入れ替えてもよいし、一部を同時に行なってもよい。例えば、ステップＳ１０４、Ｓ１０５及びＳ１０６の順序は、図４に示す順序以外でもよいし、一部を同時に行なってもよい。
【００７５】
また、上記説明では、ＲＡＭ１０２の容量は１Ｋバイトとしたが、ＲＡＭ１０２の容量はこれに限定されない。なお、ＲＡＭ１０２の容量は、フラッシュＥＥＰＲＯＭ１０１に格納されている低速モードプログラム１６０の容量より大きいほうが好ましい。これにより、一旦、低速モードプログラム１６０がＲＡＭ１０２に転送された後には、ＲＡＭ１０２に格納されたプログラムの再度の書き換えが発生しない。これにより、マイクロコントローラ１００は、フラッシュＥＥＰＲＯＭ１０１の読み出し動作が発生する頻度をさらに低減できるので、消費電力をさらに低減できる。
【００７６】
また、上記説明では、フラッシュＥＥＰＲＯＭを用いる例を示したが、ＦｅＲＡＭ等の書換え可能な不揮発性メモリであれば他の不揮発性メモリを用いてもよい。
【００７７】
また、上記説明では、低速モード時において、ＲＡＭ１０２を用いるとしたが、他の特定の動作モード時において、ＲＡＭ１０２を用いてもよい。例えば、通常モード時において、ＲＡＭ１０２を用いてもよい。この場合でも、同様の効果を実現できる。ただし、上述したような低速モード時において、ＲＡＭ１０２を用いることにより、当該低速モードに要求される低消費電力を、さらに改善できるので、より好ましい。
【００７８】
なお、上記説明では、領域保持部１０５は、レジスタで構成されるとしたが、予め定められた固定の指定領域１５５を示す指定領域情報１４５を保持してもよい。これにより、レジスタを削除できるので、マイクロコントローラ１００のコストを削減できる。
【００７９】
また、領域保持部１０５は、複数の指定領域１５５を示す指定領域情報１４５を保持してもよい。
【００８０】
（実施の形態２）
本発明の実施の形態２では、上述した実施の形態１に係るマイクロコントローラ１００の変形例について説明する。
【００８１】
図７は、本発明の実施の形態２に係るマイクロコントローラ２００のブロック図である。なお、図１と同様の要素には同一の符号を付している。また、以下では、主に相違点を説明し、重複する説明は省略する。
【００８２】
図７に示すマイクロコントローラ２００は、図１に示すマイクロコントローラ１００の構成に対して、領域保持部２０５の構成が領域保持部１０５と異なる。
【００８３】
ここで、フラッシュＥＥＰＲＯＭ１０１はメモリ空間の０ｘ４０００００００番地から０ｘ４００ＦＦＦＦＦ番地に割り当てられているとする。また、ＣＰＵ１０３は、３２ビットのアドレス信号１２５によりフラッシュＥＥＰＲＯＭ１０１のアドレスを指定する。
【００８４】
領域保持部２０５は、フラッシュＥＥＰＲＯＭ１０１のベースアドレス２５５を示すベースアドレス情報２４５を保持する。このベースアドレス２５５は、図８に示すように、指定領域１５５の先頭アドレスである。また、このベースアドレス２５５は、フラッシュＥＥＰＲＯＭ１０１の３２ビットのアドレスのうち上位２２ビットを指定するアドレスである。例えば、領域保持部２０５は、ＣＰＵ１０３からアクセス可能なレジスタで構成される。
【００８５】
また、ＲＡＭ制御部１０７は、ベースアドレス情報２４５が示すベースアドレス２５５から、ＲＡＭ１０２の容量分の１Ｋバイトの空間をＲＡＭ１０２にデータを格納する指定領域１５５と判定する。
【００８６】
以下、このような構成のマイクロコントローラ２００における動作を、図９に示すフローチャートを参照して説明する。
【００８７】
まず、ＣＰＵ１０３は、ベースアドレス情報２４５を領域保持部２０５に設定する（Ｓ２０１）。ここで、低速モードプログラム１６０の領域を予めＲＡＭ１０２の容量である１Ｋバイト内に収まるようにしておき、アドレスの下位１０ビットが０ｘ００００から低速モードプログラム１６０が始まるように配置しておく。
【００８８】
なお、ステップＳ１０２以降の処理は、実施の形態１と同様であり、説明は省略する。
以上より、本発明の実施の形態２に係るマイクロコントローラ２００は、上述した実施の形態１に係るマイクロコントローラ１００の効果に加え、さらに、予めＲＡＭ１０２へ格納するプログラムの配置領域を制限することで、領域保持部２０５のレジスタ数を削減できる。これにより、マイクロコントローラ２００のコストを削減できる。
【００８９】
なお、上記説明では、領域保持部２０５は、レジスタで構成されるとしたが、予め定められた固定のベースアドレス２５５を示すベースアドレス情報２４５を保持してもよい。これにより、レジスタを削除できるので、マイクロコントローラ２００のコストをさらに削減できる。
【００９０】
また、領域保持部２０５は、複数のベースアドレス２５５を示すベースアドレス情報２４５を保持してもよい。これにより、よりプログラム領域に自由度を与えることができる。
【００９１】
また、上記説明では、ベースアドレス２５５は、フラッシュＥＥＰＲＯＭ１０１のアドレスのうち上位ビットを指定するアドレスであるとしたが、フラッシュＥＥＰＲＯＭ１０１のアドレスそのものを指定するアドレスでもよい。この場合でも、実施の形態１のように、先頭アドレスと最終アドレスとを保持する場合に比べて、レジスタ数を削減できる。
【００９２】
（実施の形態３）
本発明の実施の形態３では、上述した実施の形態１に係るマイクロコントローラ１００の変形例について説明する。
【００９３】
図１０は、本発明の実施の形態３に係るマイクロコントローラ３００のブロック図である。なお、図１と同様の要素には同一の符号を付している。また、以下では、主に相違点を説明し、重複する説明は省略する。
【００９４】
図１０に示すマイクロコントローラ３００は、図１に示すマイクロコントローラ１００の構成に対して、ＲＡＭ制御部３０７の構成がＲＡＭ制御部１０７と異なる。具体的には、ＲＡＭ制御部３０７は、ＲＡＭ制御部１０７の機能に加え、さらに、モード切替部３１７を備える。
【００９５】
ここで、フラッシュＥＥＰＲＯＭ１０１は、動作速度が速い高速リードモードと、高速リードモード時より動作速度が遅く、かつ、消費電力が少ない低速リードモードと、低速リードモー時よりもさらに消費電力が少ない停止状態である停止モードとを有する。
【００９６】
モード切替部３１７は、フラッシュＥＥＰＲＯＭ１０１の動作モード（高速リードモード、低速リードモード及び停止モード）を切り替えるモード切替信号３２０を生成する。具体的には、モード切替部３１７は、ＣＰＵ１０３の動作モードが通常モードの場合、フラッシュＥＥＰＲＯＭ１０１の動作モードを高速リードモードに設定する。また、モード切替部３１７は、ＣＰＵ１０３の動作モードが低速モードである場合、フラッシュＥＥＰＲＯＭ１０１の動作モードを低速リードモードに設定する。さらに、モード切替部３１７は、ＣＰＵ１０３の動作モードが低速モードであり、かつ、ＲＡＭ１０２からデータを読み出す場合、つまり、ＲＡＭアクセス動作を行なう場合には、フラッシュＥＥＰＲＯＭ１０１の動作モードを停止モードに設定する。
【００９７】
このような構成のマイクロコントローラ３００における動作を、図１１に示すフローチャートを参照して説明する。なお、図１１では、図５に示す処理に対して、ステップＳ３０１〜Ｓ３０４の処理が追加されている。また、その他の処理は、実施の形態１と同様であり、説明は省略する。
【００９８】
動作モード情報１４４で低速モードが示され（Ｓ１０４でＹｅｓ）、かつ、要求アドレス１６６が指定領域１５５の範囲内であり（Ｓ１０５でＹｅｓ）、かつ、要求アドレス１６６に対応するバリッドビット１７１が無効状態「０」の場合（Ｓ１０６でＮｏ）、モード切替部３１７は、フラッシュＥＥＰＲＯＭ１０１の動作モードを低速リードモードに設定する（Ｓ３０１）。その後、ＲＡＭ制御部１０７は、要求データを、フラッシュＥＥＰＲＯＭ１０１から読み出し、読み出した要求データをＲＡＭ１０２に書き込む（Ｓ１０７）。
【００９９】
また、動作モード情報１４４で低速モードが示され（Ｓ１０４でＹｅｓ）、かつ、要求アドレス１６６が指定領域１５５の範囲内であり（Ｓ１０５でＹｅｓ）、かつ、要求アドレス１６６に対応するバリッドビット１７１が有効状態「１」の場合（Ｓ１０６でＹｅｓ）、モード切替部３１７は、フラッシュＥＥＰＲＯＭ１０１の動作モードを停止モードに設定する（Ｓ３０２）。その後、ＲＡＭ制御部１０７は、ＲＡＭ１０２から要求データを読み出し、読み出した要求データをＣＰＵ１０３へ出力する（Ｓ１０９）。
【０１００】
また、動作モード情報１４４で低速モードが示され（Ｓ１０４でＹｅｓ）、かつ、要求アドレス１６６が指定領域１５５の範囲外である場合（Ｓ１０５でＮｏ）、モード切替部３１７は、フラッシュＥＥＰＲＯＭ１０１の動作モードを低速リードモードに設定する（Ｓ３０３）。その後、ＲＡＭ制御部１０７は、直接フラッシュＥＥＰＲＯＭ１０１から要求データを読み出し、読み出した要求データをＣＰＵ１０３へ出力する（Ｓ１１０）。
【０１０１】
また、動作モード情報１４４が低速モード以外を示す場合（Ｓ１０４でＮｏ）、モード切替部３１７は、フラッシュＥＥＰＲＯＭ１０１の動作モードを高速リードモードに設定する（Ｓ３０４）。その後、ＲＡＭ制御部１０７は、直接フラッシュＥＥＰＲＯＭ１０１から要求データを読み出し、読み出した要求データをＣＰＵ１０３へ出力する（Ｓ１１０）。
【０１０２】
以上のように、マイクロコントローラ３００は、低速モードプログラム１６０をＲＡＭ１０２から読み出す場合に、フラッシュＥＥＰＲＯＭ１０１を停止モードに設定し、当該フラッシュＥＥＰＲＯＭ１０１をディセーブル状態にする。これにより、マイクロコントローラ３００は、フラッシュＥＥＰＲＯＭ１０１に対する読み出し回数を低減することによる消費電力の削減に加え、待機電力も削減できる。
【０１０３】
このように、本発明の実施の形態３に係るマイクロコントローラ３００は、実施の形態１に係るマイクロコントローラ１００の効果に加え、さらに、消費電力を削減できる。
【０１０４】
また、上記実施の形態１〜３に係るマイクロコントローラ１００、２００及び３００は、典型的には、１チップの半導体集積回路（ＬＳＩ）により実現される。なお、マイクロコントローラ１００、２００及び３００に含まれる処理部は、個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１０５】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１０６】
また、本発明の実施の形態１〜３に係るマイクロコントローラ１００、２００及び３００の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０１０７】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１０８】
また、上記実施の形態１〜３に係る、マイクロコントローラ１００、２００及び３００、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０１０９】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ／ロー（「０」／「１」）により表される論理レベルは、本発明を具体的に説明するために例示するものであり、例示された論理レベルの異なる組み合わせにより、同等な結果を得ることも可能である。
【０１１０】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【０１１１】
本発明は、マイクロコントローラに適用でき、特に、ＥＥＰＲＯＭ等の不揮発性メモリを搭載したマイクロコントローラに有効である。
【符号の説明】
【０１１２】
１００、２００、３００  マイクロコントローラ
１０１  フラッシュＥＥＰＲＯＭ
１０２  ＲＡＭ
１０３  ＣＰＵ
１０４  モード保持部
１０５、２０５  領域保持部
１０６  バリッド保持部
１０７、３０７  ＲＡＭ制御部
１０８  データ選択部
１２１、１２２、１２３  データバス
１２４、１２８  アクセス要求信号
１２５  アドレス信号
１２６  選択制御信号
１２７  アクセス制御信号
１４４  動作モード情報
１４５  指定領域情報
１４６  バリッドビット情報
１５５  指定領域
１６０  低速モードプログラム
１６１  通常モードプログラム
１６５、１６５Ａ  ライン
１６６  要求アドレス
１６７  転送アドレス範囲
１７０  ラインアドレス
１７１  バリッドビット
２４５  ベースアドレス情報
２５５  ベースアドレス
３１７  モード切替部
３２０  モード切替信号
【図１】
2012022479.tif 000003
【図２Ａ】
2012022479.tif 000004
【図２Ｂ】
2012022479.tif 000005
【図３】
2012022479.tif 000006
【図４】
2012022479.tif 000007
【図５】
2012022479.tif 000008
【図６】
2012022479.tif 000009
【図７】
2012022479.tif 000010
【図８】
2012022479.tif 000011
【図９】
2012022479.tif 000012
【図１０】
2012022479.tif 000013
【図１１】
2012022479.tif 000014