(57)【要約】【課題】  不使用領域を有するメモリの消費電流を低減する。【解決手段】  複数のメモリセルの動作を設定する設定情報をそれぞれ出力する複数の設定出力部と、前記設定情報に応じて前記複数のメモリセルの動作または停止をそれぞれ選択する複数の選択部と、を有する。【選択図】  図１
2011123612.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルの動作を設定する設定情報をそれぞれ出力する複数の設定出力部と、
前記設定情報に応じて前記複数のメモリセルの動作または停止をそれぞれ選択する複数の選択部と、
を有することを特徴とするメモリ制御装置。
【請求項２】
前記複数の選択部は、前記設定情報に応じて前記複数のメモリセルに入力されるチップイネーブル信号の論理レベルをそれぞれ選択する複数の第１の選択回路を含み、
前記複数の第１の選択回路は、前記複数のメモリセルのうち動作を停止させるメモリセルに入力されるチップイネーブル信号をディセーブルにすることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記複数の選択部は、前記設定情報に応じて前記複数のメモリセルへのクロック信号の供給または停止をそれぞれ選択する複数の第２の選択回路を含み、
前記複数の第２の選択回路は、前記複数のメモリセルのうち動作を停止させるメモリセルへのクロック信号の供給を停止することを特徴とする請求項１または請求項２に記載のメモリ制御装置。
【請求項４】
前記複数の選択部は、前記設定情報に応じて前記複数のメモリセルを複数のメモリ領域の何れに割り当てるかをそれぞれさらに選択することを特徴とする請求項１ないし請求項３の何れかに記載のメモリ制御装置。
【請求項５】
前記複数の設定出力部は、前記設定情報がそれぞれ入力され、記憶される複数の記憶部を含むことを特徴とする請求項１ないし請求項４の何れかに記載のメモリ制御装置。
【請求項６】
前記複数の設定出力部は、前記複数のメモリ領域の容量をそれぞれ指定する領域指定情報が入力され、前記領域指定情報から前記設定情報をそれぞれ算出する複数の設定情報算出部を含むことを特徴とする請求項４に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関する。
【背景技術】
【０００２】
近年、多くの電子機器にプロセッサが搭載されている。例えば、特許文献１では、ラジオチューナに加えて、ＤＳＰ（Digital Signal Processor：デジタル・シグナル・プロセッサ）を搭載するオーディオシステムが開示されている。当該オーディオシステムにおいて、ラジオチューナによって抽出された音声信号は、ＤＳＰにおいてデジタル信号処理が行われたうえで、音声として出力されている。
【０００３】
また、組み込みシステムやエンベデッドシステム（embedded system）などと呼ばれるコンピュータシステムが組み込まれた電子機器も普及している。当該電子機器には、マイクロプロセッサとして構成されたＣＰＵ（Central Processing Unit：中央処理装置）が搭載され、ＣＰＵは、プログラムによって様々な数値計算や情報処理、機器制御などを行っている。
【０００４】
このようにプロセッサを搭載した電子機器は、ハードウェアの設計が完了した後でも、ソフトウェアを変更することによって、仕様の変更などに柔軟に対応することができる。したがって、顧客の需要に応じた製品を適時に供給することが可能となる。さらに、製品を出荷した後であっても、ソフトウェアの変更によって、顧客の需要に応じた機能の追加を容易に実現することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２５３７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上記のような電子機器に搭載されるプロセッサとメモリとの一般的な接続関係の一例を図２６に示す。図２６において、プロセッサであるＣＰＵ８には、メモリ３ないし５が接続されている。また、特許文献１の図２などと同様に、プログラムメモリとデータメモリとを分離するハーバードアーキテクチャが採用されており、メモリ３がプログラムメモリとして、メモリ４、５がデータメモリ＃１、＃２として、それぞれ使用されている。
【０００７】
このような構成において、ソフトウェアの設計がハードウェアの設計より遅く完了する場合には、例えば図２６に示すように、各メモリの一部が不使用領域となる場合がある。また、製品の出荷時にメモリの不使用領域を最小限に抑えることができる場合であっても、製品の出荷後に機能を追加することができるように、不使用領域を残しておくことが望ましい場合もある。
【０００８】
しかしながら、メモリに不使用領域が残存している場合には、必要最小限の容量よりも大きな容量のメモリを使用する必要がある。そのため、各メモリの消費電流が増加してしまう。
【課題を解決するための手段】
【０００９】
前述した課題を解決する主たる本発明は、複数のメモリセルの動作を設定する設定情報をそれぞれ出力する複数の設定出力部と、前記設定情報に応じて前記複数のメモリセルの動作または停止をそれぞれ選択する複数の選択部と、を有することを特徴とするメモリ制御装置である。
【００１０】
本発明の他の特徴については、添付図面及び本明細書の記載により明らかとなる。
【発明の効果】
【００１１】
本発明によれば、不使用領域を有するメモリの消費電流を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態におけるメモリ制御装置の構成の概略および適用例を示すブロック図である。
【図２】本発明の第１実施形態におけるメモリセル＃１に対応する選択部＃１および設定レジスタ＃１の構成を示すブロック図である。
【図３】本発明の第１実施形態において、リードデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図４】本発明の第１実施形態において、ライトデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図５】本発明の第１実施形態において、リード／ライト制御信号に対応する選択回路の具体的な構成の一例を示すブロック図である。
【図６】本発明の第１実施形態において、アドレス情報に対応する選択回路およびアドレス比較部の具体的な構成の一例を示すブロック図である。
【図７】本発明の第１実施形態において、チップイネーブル信号に対応する選択回路の具体的な構成の一例を示すブロック図である。
【図８】本発明の第１実施形態において、クロック信号に対応する選択回路の具体的な構成の一例を示すブロック図である。
【図９】本発明の第１実施形態において、各設定レジスタにダウンロードされる設定情報の一例を示す図である。
【図１０】図９に示した設定情報に応じて定まる各メモリセルの接続関係を示す図である。
【図１１】本発明の第１実施形態において、各設定レジスタにダウンロードされる設定情報の他の例を示す図である。
【図１２】本発明の第２実施形態におけるメモリ制御装置の構成の概略および適用例を示すブロック図である。
【図１３】本発明の第２実施形態におけるメモリセル＃１に対応する選択部＃１および設定デコーダ＃１の構成を示すブロック図である。
【図１４】本発明の第２実施形態において、設定デコーダにダウンロードされるメモリ領域指定情報の一例を示す図である。
【図１５】図１４に示したメモリ領域指定情報から各設定デコーダが設定情報を算出する方法を説明する図である。
【図１６】本発明の第３実施形態におけるメモリ制御装置の構成の概略および適用例を示すブロック図である。
【図１７】本発明の第３実施形態において、リードデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図１８】本発明の第３実施形態において、ライトデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図１９】本発明の第３実施形態において、各設定レジスタにダウンロードされる設定情報の一例を示す図である。
【図２０】図１９に示した設定情報に応じて定まる各メモリセルの接続関係を示す図である。
【図２１】本発明の第４実施形態におけるメモリ制御装置の構成の概略および適用例を示すブロック図である。
【図２２】本発明の第４実施形態において、リードデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図２３】本発明の第４実施形態において、ライトデータに対応する選択回路の具体的な構成の一例を示すブロック図である。
【図２４】本発明の第４実施形態において、各設定レジスタにダウンロードされる設定情報の一例を示す図である。
【図２５】図２４に示した設定情報に応じて定まる各メモリセルの接続関係を示す図である。
【図２６】プロセッサとメモリとの一般的な接続関係および各メモリの使用状況の一例を示す図である。
【発明を実施するための形態】
【００１３】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１４】
＜第１実施形態＞
＝＝＝メモリ制御装置の構成の概略＝＝＝
以下、図１を参照して、本発明の第１の実施形態におけるメモリ制御装置の構成の概略について説明する。
【００１５】
図１に示されているメモリ制御装置１ａは、複数のメモリセルからなるメモリアレイ２ａを制御するための装置であり、選択部群１１ａおよび設定レジスタ群１２ａを含んで構成されている。また、図１は、メモリ制御装置１ａの適用例を示しており、メモリ制御装置１ａは、メモリアレイ２ａのほか、フラッシュメモリ６およびＣＰＵ８などとともに用いられる。なお、本実施形態においては、設定レジスタ群１２ａが複数の設定出力部および複数の記憶部に相当する。
【００１６】
本実施形態では、一例として、メモリアレイ２ａは、１６個のメモリセルからなるものとし、以下、図１に示すように、各メモリセルをメモリセル＃１（ないし＃１６）のように称する。
【００１７】
選択部群１１ａは、各メモリセルに対応する１６個の選択部からなり、以下、各選択部を、各メモリセルと対応付けて、選択部＃１（ないし＃１６）のように称することとする。また、選択部群１１ａとメモリアレイ２ａとの間は、各メモリセルを制御するための信号線で接続されている。なお、当該メモリセルの制御信号についての詳細な説明は後述する。
【００１８】
設定レジスタ群１２ａは、各選択部および各メモリセルに対応する１６個の設定レジスタからなり、以下、各設定レジスタを、各メモリセルと対応付けて、設定レジスタ＃１（ないし＃１６）のように称することとする。また、設定レジスタ群１２ａから選択部群１１ａには、各メモリセルの動作を設定する設定情報ＣＩ（ＣＩ１ないしＣＩ１６）が入力されている。なお、設定情報ＣＩについての詳細な説明は後述する。
【００１９】
ＣＰＵ８は、図２６と同様に、ハーバードアーキテクチャを採用し、プログラムメモリ、およびデータメモリ＃１、＃２に相当する３個のメモリ領域を使用する。また、各メモリ領域を制御するための信号線は、いずれも選択部群１１ａに接続されている。なお、当該メモリ領域の制御信号についての詳細な説明は後述する。
【００２０】
フラッシュメモリ６は、選択部群１１ａおよび設定レジスタ群１２ａに接続されている。
【００２１】
＝＝＝メモリ制御装置の動作の概略＝＝＝
次に、本実施形態におけるメモリ制御装置の動作の概略について説明する。  
フラッシュメモリ６には、設定情報ＣＩおよびプログラムＰＲ１が格納されている。また、フラッシュメモリ６には、ブートローダ（ブートストラップローダ）も格納されており、当該ブートローダによって、設定情報ＣＩは、リセット後などにＣＰＵ８が実際の動作を開始する前に、各設定レジスタにダウンロードされ、記憶される。さらに、各選択部は、各設定レジスタに記憶されている設定情報に応じて、各メモリセルの動作または停止や、各メモリセルを割り当てるメモリ領域を選択する。そして、ブートローダは、プログラムメモリに割り当てられたメモリセルにプログラムＰＲ１をダウンロードし、ＣＰＵ８は、当該プログラムＰＲ１の実行を開始する。
【００２２】
このようにして、選択部群１１ａは、設定レジスタ群１２ａに記憶されている設定情報ＣＩに応じて、各メモリセルの動作やメモリ領域を選択する。そして、当該選択に従って、ＣＰＵ８は、メモリアレイ２ａをプログラムメモリ、およびデータメモリ＃１、＃２として使用することができる。
【００２３】
＝＝＝選択部および設定レジスタの構成＝＝＝
以下、図２ないし図８を参照して、本実施形態におけるメモリ制御装置のうち、メモリセル＃１に対応する選択部＃１および設定レジスタ＃１の構成について説明する。なお、選択部＃２ないし＃１６、および設定レジスタ＃２ないし＃１６についても、同様の構成となっているものとする。
【００２４】
図２に示すように、設定レジスタ＃１には、メモリセル＃１の動作を設定する設定情報ＣＩ１が入力（ダウンロード）されている。また、本実施形態では、設定情報ＣＩ１は、メモリ領域選択情報ＭＡＳおよびアドレス空間指定情報ＡＳＡからなり、設定レジスタ＃１から選択部＃１に入力されている。そして、選択部＃１は、選択回路ＳＬ１ないしＳＬ６、およびアドレス比較部ＣＰを含んで構成されている。
【００２５】
なお、以下の説明においては、一例として、メモリ領域選択情報ＭＡＳは、２ビットの値であり、２進数で表記するものとし、アドレス空間指定情報ＡＳＡは、１６ビットの値であり、１６進数で表記するものとする。
【００２６】
図３ないし図８は、それぞれ選択回路ＳＬ１ないしＳＬ６の具体的な構成の一例を示しており、アドレス比較部ＣＰについては、図６に示されている。また、図３ないし図８において、各選択回路がメモリセル＃１との間で入出力する信号は、実線で示されている。さらに、各選択回路がＣＰＵ８との間で入出力する、一点鎖線、長破線、および短破線で示されている信号は、それぞれプログラムメモリ、およびデータメモリ＃１、＃２に対応している。そして、当該プログラムメモリ、およびデータメモリ＃１、＃２に対応する信号は、メモリセル＃１との間で入出力する信号に、それぞれ「＿ｐ」、「＿ｄ１」、および「＿ｄ２」を付けて表している。
【００２７】
図３に示すように、選択回路ＳＬ１は、１入力４出力のデマルチプレクサとして構成されており、選択制御入力には、メモリ領域選択情報ＭＡＳが入力されている。また、データ入力には、メモリセル＃１からリードデータＲＤが入力されている。さらに、ＭＡＳ＝００、０１、および１０に対応する出力からは、それぞれリードデータＲＤ＿ｐ、ＲＤ＿ｄ１、およびＲＤ＿ｄ２が出力され、ＭＡＳ＝１１に対応する出力は、ＮＣ（No Connection：非接続）となっている。そして、リードデータＲＤ＿ｐ、ＲＤ＿ｄ１、およびＲＤ＿ｄ２は、それぞれプログラムメモリ、およびデータメモリ＃１、＃２のリードデータとして、ＣＰＵ８に入力されている。
【００２８】
図４に示すように、選択回路ＳＬ２は、４入力１出力のマルチプレクサとして構成されており、選択制御入力には、メモリ領域選択情報ＭＡＳが入力されている。また、ＭＡＳ＝００、０１、および１０に対応するデータ入力には、それぞれライトデータＷＤ＿ｐ、ＷＤ＿ｄ１、およびＷＤ＿ｄ２が入力され、ＭＡＳ＝１１に対応するデータ入力は、ロー・レベルに固定されている。そして、選択回路ＳＬ２から出力されるライトデータＷＤは、メモリセル＃１に入力されている。
【００２９】
図５に示すように、選択回路ＳＬ３は、４入力１出力のマルチプレクサとして構成されており、選択制御入力には、メモリ領域選択情報ＭＡＳが入力されている。また、ＭＡＳ＝００、０１、および１０に対応するデータ入力には、それぞれリード／ライト制御信号ＲＷ＿ｐ、ＲＷ＿ｄ１、およびＲＷ＿ｄ２が入力され、ＭＡＳ＝１１に対応するデータ入力は、ハイ・レベルに固定されている。そして、選択回路ＳＬ３から出力されるリード／ライト制御信号ＲＷは、メモリセル＃１に入力されている。
【００３０】
図６に示すように、選択回路ＳＬ４は、４入力１出力のマルチプレクサとして構成されており、選択制御入力には、メモリ領域選択情報ＭＡＳが入力されている。また、ＭＡＳ＝００、０１、および１０に対応するデータ入力には、それぞれアドレス情報ＡＤ＿ｐ、ＡＤ＿ｄ１、およびＡＤ＿ｄ２が入力され、ＭＡＳ＝１１に対応するデータ入力は、ロー・レベルに固定されている。そして、選択回路ＳＬ４から出力されるアドレス情報ＡＤは、メモリセル＃１およびアドレス比較部ＣＰに入力されている。
【００３１】
アドレス比較部ＣＰには、アドレス空間指定情報ＡＳＡも入力され、アドレス比較部ＣＰからは、チップイネーブル許可信号ＣＥＥが出力されている。
【００３２】
図７に示すように、選択回路ＳＬ５は、４入力１出力のマルチプレクサとして構成されており、選択制御入力には、チップイネーブル許可信号ＣＥＥおよびメモリ領域選択情報ＭＡＳが入力されている。また、チップイネーブル許可信号ＣＥＥがハイ・レベルの場合に、ＭＡＳ＝００、０１、および１０に対応するデータ入力には、それぞれチップイネーブル信号ＣＥｘ＿ｐ、ＣＥｘ＿ｄ１、およびＣＥｘ＿ｄ２が入力されている。さらに、チップイネーブル許可信号ＣＥＥがロー・レベルの場合、またはＭＡＳ＝１１に対応するデータ入力は、ハイ・レベルに固定されている。そして、選択回路ＳＬ５から出力されるチップイネーブル信号ＣＥｘは、メモリセル＃１に入力されている。
【００３３】
図８に示すように、選択回路ＳＬ６は、４入力１出力のマルチプレクサとして構成されており、選択制御入力には、メモリ領域選択情報ＭＡＳが入力されている。また、ＭＡＳ＝００、０１、および１０に対応するデータ入力には、それぞれクロック信号ＣＫ＿ｐ、ＣＫ＿ｄ１、およびＣＫ＿ｄ２が入力され、ＭＡＳ＝１１に対応するデータ入力は、ロー・レベルに固定されている。そして、選択回路ＳＬ６から出力されるクロック信号ＣＫは、メモリセル＃１に入力されている。
【００３４】
＝＝＝選択部の動作＝＝＝
次に、本実施形態における選択部＃１の動作について説明する。なお、本実施形態において、リード／ライト制御信号は、ハイ・レベルの場合に読み出しモードとなり、ロー・レベルの場合に書き込みモードとなるものとする。また、チップイネーブル信号は、ハイ・レベルの場合にディセーブルとなり、ロー・レベルの場合にイネーブルとなるものとする。
【００３５】
前述したように、選択回路ＳＬ１ないしＳＬ６の選択制御入力には、いずれもメモリ領域選択情報ＭＡＳが入力されている。そのため、以下、メモリ領域選択情報ＭＡＳの値で場合分けして説明する。
【００３６】
ＭＡＳ＝００の場合、選択部＃１は、メモリセル＃１をプログラムメモリに割り当てる。具体的には、メモリセル＃１から選択回路ＳＬ１に入力されるリードデータＲＤは、プログラムメモリのリードデータＲＤ＿ｐとして、ＣＰＵ８に入力される。また、選択回路ＳＬ２ないしＳＬ６は、それぞれプログラムメモリのライトデータＷＤ＿ｐ、リード／ライト制御信号ＲＷ＿ｐ、アドレス情報ＡＤ＿ｐ、チップイネーブル信号ＣＥｘ＿ｐ、およびクロック信号ＣＫ＿ｐを選択して、メモリセル＃１に入力する。
【００３７】
ＭＡＳ＝０１の場合、選択部＃１は、メモリセル＃１をデータメモリ＃１に割り当てる。具体的には、メモリセル＃１から選択回路ＳＬ１に入力されるリードデータＲＤは、データメモリ＃１のリードデータＲＤ＿ｄ１として、ＣＰＵ８に入力される。また、選択回路ＳＬ２ないしＳＬ６は、それぞれデータメモリ＃１のライトデータＷＤ＿ｄ１、リード／ライト制御信号ＲＷ＿ｄ１、アドレス情報ＡＤ＿ｄ１、チップイネーブル信号ＣＥｘ＿ｄ１、およびクロック信号ＣＫ＿ｄ１を選択して、メモリセル＃１に入力する。
【００３８】
ＭＡＳ＝１０の場合、選択部＃１は、メモリセル＃１をデータメモリ＃２に割り当てる。具体的には、メモリセル＃１から選択回路ＳＬ１に入力されるリードデータＲＤは、データメモリ＃２のリードデータＲＤ＿ｄ２として、ＣＰＵ８に入力される。また、選択回路ＳＬ２ないしＳＬ６は、それぞれデータメモリ＃２のライトデータＷＤ＿ｄ２、リード／ライト制御信号ＲＷ＿ｄ２、アドレス情報ＡＤ＿ｄ２、チップイネーブル信号ＣＥｘ＿ｄ２、およびクロック信号ＣＫ＿ｄ２を選択して、メモリセル＃１に入力する。
【００３９】
なお、アドレス比較部ＣＰは、メモリセル＃１に入力されるアドレス情報ＡＤの値が、アドレス空間指定情報ＡＳＡに応じて定まるアドレスの範囲に含まれる場合にのみ、チップイネーブル許可信号ＣＥＥをハイ・レベルとする。したがって、アドレス情報ＡＤの値が、当該アドレスの範囲に含まれない場合には、チップイネーブル許可信号ＣＥＥがロー・レベルとなり、メモリ領域選択情報ＭＡＳの値によらず、チップイネーブル信号ＣＥｘはハイ・レベルとなる。そして、チップイネーブル信号ＣＥｘがハイ・レベルの間、メモリセル＃１の動作が停止する。より具体的には、メモリセル＃１は、内部のセンスアンプ回路やアドレスデコーダ回路などの動作が停止する。
【００４０】
ＭＡＳ＝１１の場合、選択部＃１は、メモリセル＃１を不使用領域に割り当てる。具体的には、メモリセル＃１から選択回路ＳＬ１に入力されるリードデータＲＤは、ＣＰＵ８に入力されず、メモリセル＃１に入力されるライトデータＷＤは、ロー・レベルに固定される。また、メモリセル＃１に入力されるリード／ライト制御信号は、読み出しモードに固定され、アドレス情報ＡＤの値は、０に固定される。
【００４１】
さらに、メモリセル＃１に入力されるチップイネーブル信号ＣＥｘは、ディセーブルに固定されるため、メモリセル＃１内部のセンスアンプ回路やアドレスデコーダ回路などは動作しない。そして、メモリセル＃１に入力されるクロック信号ＣＫは、ロー・レベルに固定されるため、メモリセル＃１内部のクロックバッファやＤＦＦ（Ｄ型フリップフロップ）などの素子は動作しない。したがって、不使用領域に割り当てられた場合のメモリセル＃１の消費電流は、大幅に低減される。
【００４２】
＝＝＝設定情報の一例＝＝＝
ここで、設定レジスタ＃１ないし＃１６にダウンロードされる設定情報ＣＩの一例を図９に示す。なお、図９においては、各メモリセルの容量がいずれも１Ｋワード（＝１０２４ワード）となっているが、異なる容量のメモリセルが混在していてもよい。
【００４３】
メモリ領域選択情報ＭＡＳは、各選択部においてメモリセルを割り当てるメモリ領域の選択に用いられる。図９に示すように、メモリ領域選択情報ＭＡＳに応じて、メモリセル＃１ないし＃５は、プログラムメモリに、メモリセル＃６ないし＃８は、データメモリ＃１に、メモリセル＃９ないし＃１２は、データメモリ＃２に、それぞれ割り当てられている。また、メモリセル＃１３ないし＃１６は、不使用領域に割り当てられている。
【００４４】
アドレス空間指定情報ＡＳＡは、不使用領域以外の各メモリ領域のアドレス空間の割り当てに用いられる。図９に示すように、アドレス空間指定情報ＡＳＡに応じてアドレス空間が割り当てられ、プログラムメモリ、およびデータメモリ＃１、＃２の容量は、それぞれ５Ｋワード、３Ｋワード、および４Ｋワードとなっている。また、不使用領域に割り当てられたメモリセル＃１３ないし＃１６に対応するアドレス空間指定情報ＡＳＡは利用されない。
【００４５】
なお、図９においては、アドレス空間指定情報ＡＳＡは、各メモリセルの開始アドレスおよび終了アドレスを示している。この場合、アドレス比較部ＣＰは、アドレス情報ＡＤの値が、当該メモリセルの開始アドレス以上かつ終了アドレス以下の場合にのみ、チップイネーブル許可信号ＣＥＥをハイ・レベルとする。一方、アドレス空間指定情報ＡＳＡは、各メモリセルの開始アドレスのみを含んでいてもよい。この場合、アドレス比較部ＣＰは、当該メモリセルの開始アドレスおよび容量から終了アドレスを算出することができる。
【００４６】
図１０は、図９に示した設定情報ＣＩに応じて定まる各メモリセルの接続関係を示している。前述したように、ＣＰＵ８は、プログラムメモリに割り当てられたメモリセル＃１ないし＃５にプログラムＰＲ１がダウンロードされた後、当該プログラムＰＲ１の実行を開始する。したがって、実際の動作を開始したＣＰＵ８は、図２６に示したような個別のメモリと同様に、各メモリ領域を使用することができる。
【００４７】
このようにして、各選択部は、メモリ領域選択情報ＭＡＳに応じて、メモリセルを各メモリ領域に割り当て、アドレス空間指定情報ＡＳＡに応じて、各メモリ領域のアドレス空間を割り当てる。また、不使用領域に割り当てられたメモリセルは、選択回路ＳＬ５（第１の選択回路）から入力されるチップイネーブル信号ＣＥｘがディセーブルに固定されることによって、センスアンプ回路やアドレスデコーダ回路などが動作せず、消費電流が低減される。同時に、選択回路ＳＬ６（第２の選択回路）から入力されるクロック信号ＣＫがロー・レベルに固定されることによって、クロックバッファやＤＦＦなどの素子が動作せず、さらに消費電流が低減される。
【００４８】
なお、本実施形態において、ＭＡＳ＝１１の場合にメモリセルを不使用領域に割り当てる代わりに、設定情報ＣＩにパワーダウン指定情報ＰＤＡを追加してもよい。例えば、１ビットの値であるパワーダウン指定情報ＰＤＡが１の場合に、選択回路ＳＬ１ないしＳＬ６において、ＭＡＳ＝１１の場合と同様の選択が行われるように構成すればよい。この場合、図１１に示すような設定情報ＣＩを各設定レジスタにダウンロードすることによって、各メモリセルの接続関係は、図１０のようになる。
【００４９】
＜第２実施形態＞
＝＝＝メモリ制御装置の構成の概略＝＝＝
以下、図１２を参照して、本発明の第２の実施形態におけるメモリ制御装置の構成の概略について説明する。
【００５０】
図１２に示されているメモリ制御装置１ｂは、第１実施形態のメモリ制御装置１ａに対して、設定レジスタ群１２ａの代わりに設定デコーダ群１３を含んで構成されている。なお、本実施形態においては、設定デコーダ群１３が複数の設定出力部および複数の設定情報算出部に相当する。
【００５１】
設定デコーダ群１３は、各選択部および各メモリセルに対応する１６個の設定デコーダからなり、以下、各設定デコーダを、各メモリセルと対応付けて、設定デコーダ＃１（ないし＃１６）のように称することとする。また、フラッシュメモリ６から設定デコーダ群１３には、各メモリ領域の容量を指定するメモリ領域指定情報ＭＡＡ（ＭＡＡ１ないしＭＡＡ３）が入力され、設定デコーダ群１３から選択部群１１ａには、設定情報ＣＩが入力されている。なお、メモリ領域指定情報ＭＡＡについての詳細な説明は後述する。
【００５２】
＝＝＝メモリ制御装置の動作の概略＝＝＝
次に、本実施形態におけるメモリ制御装置の動作の概略について説明する。
【００５３】
本実施形態では、フラッシュメモリ６には、メモリ領域指定情報ＭＡＡおよびプログラムＰＲ１が格納されており、メモリ領域指定情報ＭＡＡは、ブートローダによって、ＣＰＵ８が実際の動作を開始する前に、各設定デコーダにダウンロードされる。また、各設定デコーダは、メモリ領域指定情報ＭＡＡから設定情報ＣＩを算出し、記憶する。さらに、各選択部は、各設定デコーダから出力される設定情報に応じて、各メモリセルの動作または停止や、各メモリセルを割り当てるメモリ領域を選択する。そして、ブートローダは、プログラムメモリに割り当てられたメモリセルにプログラムＰＲ１をダウンロードし、ＣＰＵ８は、当該プログラムＰＲ１の実行を開始する。
【００５４】
このようにして、選択部群１１ａは、設定デコーダ群１３によってメモリ領域指定情報ＭＡＡから算出された設定情報ＣＩに応じて、各メモリセルの動作やメモリ領域を選択する。そして、当該選択に従って、ＣＰＵ８は、メモリアレイ２ａをプログラムメモリ、およびデータメモリ＃１、＃２として使用することができる。
【００５５】
＝＝＝選択部および設定デコーダの構成＝＝＝
以下、図１３を参照して、本実施形態におけるメモリ制御装置のうち、メモリセル＃１に対応する選択部＃１および設定デコーダ＃１の構成について説明する。なお、各選択部は、第１実施形態と同様の構成となっているものとする。また、図１３においては、設定デコーダ＃１から設定デコーダ＃２への入力も示されており、以下、隣接する設定デコーダ間において同様の関係となっているものとする。
【００５６】
図１３に示すように、設定デコーダ＃１には、各メモリ領域の容量を指定するメモリ領域指定情報ＭＡＡが入力（ダウンロード）されている。また、第１実施形態と同様に、設定情報ＣＩ１は、メモリ領域選択情報ＭＡＳおよびアドレス空間指定情報ＡＳＡからなり、設定デコーダ＃１から選択部＃１に入力されている。そして、設定デコーダ＃１から設定デコーダ＃２には、メモリ領域指定情報ＭＡＡおよびメモリ領域選択情報ＭＡＳのほか、後述するアドレス減算値ＡＳＶおよび次セル開始アドレス情報ＮＳＡも入力されている。
【００５７】
なお、メモリ領域指定情報ＭＡＡは、予め定められた順序で各メモリ領域の容量を指定し、本実施形態では、メモリ領域指定情報ＭＡＡ１ないしＭＡＡ３が、当該順序でプログラムメモリ、およびデータメモリ＃１、＃２の容量を指定するものとする。また、以下の説明においては、一例として、メモリ領域指定情報ＭＡＡ１ないしＭＡＡ３、アドレス減算値ＡＳＶ、および次セル開始アドレス情報ＮＳＡは、いずれも１６ビットの値であり、１６進数で表記するものとする。
【００５８】
＝＝＝設定デコーダの動作＝＝＝
次に、本実施形態における設定デコーダ＃１の動作について説明する。  
ここで、設定デコーダ＃１にダウンロードされるメモリ領域指定情報ＭＡＡの一例を図１４に示す。図１４に示すように、メモリ領域指定情報ＭＡＡが指定するプログラムメモリ、およびデータメモリ＃１、＃２の容量は、それぞれ５Ｋワード、３Ｋワード、および４Ｋワードとなっている。
【００５９】
以下、図１５を参照して、図１４に示したメモリ領域指定情報ＭＡＡから、各設定デコーダがメモリ領域選択情報ＭＡＳおよびアドレス空間指定情報ＡＳＡを算出する方法について説明する。なお、各設定デコーダにおいて、メモリセルの容量を示すメモリセル容量値が内部パラメータとして設定されている。また、図１５においては、図９と同様に、各メモリセルの容量がいずれも１Ｋワードとなっているため、各メモリセル容量値は、いずれも０ｘ０４００と設定されている。
【００６０】
設定デコーダ＃１において、まず、メモリ領域選択情報ＭＡＳの値は、００と設定され、プログラムメモリのアドレス空間の割り当てを開始し、アドレス空間指定情報ＡＳＡの開始アドレスは、０ｘ００００と設定される。また、アドレス減算値ＡＳＶは、メモリ領域指定情報ＭＡＡ１の値からメモリセル容量値を減算して算出される（０ｘ１４００−０ｘ０４００＝０ｘ１０００）。さらに、次セル開始アドレス情報ＮＳＡの値は、０にメモリセル容量値を加算して算出される（０＋０ｘ０４００＝０ｘ０４００）。そして、アドレス空間指定情報ＡＳＡの終了アドレスは、次セル開始アドレス情報ＮＳＡの値から１を減算した値（０ｘ０３ＦＦ）となる。
【００６１】
設定デコーダ＃２において、メモリ領域選択情報ＭＡＳの値は、設定デコーダ＃１の値（００）がそのまま設定され、アドレス空間指定情報ＡＳＡの開始アドレスは、設定デコーダ＃１の次セル開始アドレス情報ＮＳＡの値（０ｘ０４００）が設定される。また、アドレス減算値ＡＳＶは、設定デコーダ＃１の値からメモリセル容量値を減算して算出される（０ｘ１０００−０ｘ０４００＝０ｘ０Ｃ００）。さらに、次セル開始アドレス情報ＮＳＡの値は、設定デコーダ＃１の値にメモリセル容量値を加算して算出される（０ｘ０４００＋０ｘ０４００＝０ｘ０８００）。そして、アドレス空間指定情報ＡＳＡの終了アドレスは、次セル開始アドレス情報ＮＳＡの値から１を減算した値（０ｘ０７ＦＦ）となる。
【００６２】
設定デコーダ＃３ないし＃５においても、設定デコーダ＃２の場合と同様に計算することができる。なお、アドレス減算値ＡＳＶが０または負の値となると、現在のメモリ領域のアドレス空間の割り当てを終了し、次のメモリ領域のアドレス空間の割り当てを開始する。すなわち、設定デコーダ＃５において、アドレス減算値ＡＳＶが０となっているため、プログラムメモリのアドレス空間の割り当てを終了する。
【００６３】
設定デコーダ＃６において、メモリ領域選択情報ＭＡＳの値は、１が加算されて０１と設定され、データメモリ＃１のアドレス空間の割り当てを開始し、アドレス空間指定情報ＡＳＡの開始アドレスは、０ｘ００００と設定される。また、アドレス減算値ＡＳＶは、メモリ領域指定情報ＭＡＡ２の値からメモリセル容量値を減算して算出される（０ｘ０Ｃ００−０ｘ０４００＝０ｘ０８００）。さらに、次セル開始アドレス情報ＮＳＡの値は、０にメモリセル容量値を加算して算出される（０＋０ｘ０４００＝０ｘ０４００）。そして、アドレス空間指定情報ＡＳＡの終了アドレスは、次セル開始アドレス情報ＮＳＡの値から１を減算した値（０ｘ０３ＦＦ）となる。
【００６４】
設定デコーダ＃７および＃８においても、設定デコーダ＃２の場合と同様に計算することができる。また、設定デコーダ＃８において、アドレス減算値ＡＳＶが０となっているため、データメモリ＃１のアドレス空間の割り当てを終了する。
【００６５】
設定デコーダ＃９において、メモリ領域選択情報ＭＡＳの値は、１が加算されて１０と設定され、データメモリ＃２のアドレス空間の割り当てを開始し、アドレス空間指定情報ＡＳＡの開始アドレスは、０ｘ００００と設定される。また、アドレス減算値ＡＳＶは、メモリ領域指定情報ＭＡＡ３の値からメモリセル容量値を減算して算出される（０ｘ１０００−０ｘ０４００＝０ｘ０Ｃ００）。さらに、次セル開始アドレス情報ＮＳＡの値は、０にメモリセル容量値を加算して算出される（０＋０ｘ０４００＝０ｘ０４００）。そして、アドレス空間指定情報ＡＳＡの終了アドレスは、次セル開始アドレス情報ＮＳＡの値から１を減算した値（０ｘ０３ＦＦ）となる。
【００６６】
設定デコーダ＃１０ないし＃１２においても、設定デコーダ＃２の場合と同様に計算することができる。また、設定デコーダ＃１２において、アドレス減算値ＡＳＶが０となっているため、データメモリ＃２のアドレス空間の割り当てを終了する。
【００６７】
設定デコーダ＃１３において、メモリ領域選択情報ＭＡＳの値は、１が加算されて１１と設定され、メモリセル＃１３は、不使用領域に割り当てられる。また、設定デコーダ＃１３以降においては、メモリ領域選択情報ＭＡＳの値を１１と設定することによって、メモリセル＃１３以降がいずれも不使用領域に割り当てられるため、アドレス減算値ＡＳＶなどの算出を行う必要はない。
【００６８】
図１５に示されているように、以上のように算出されたメモリ領域選択情報ＭＡＳおよびアドレス空間指定情報ＡＳＡは、図９の場合と同一である。したがって、図１４に示したメモリ領域指定情報ＭＡＡに応じて定まる各メモリセルの接続関係は、図１０のようになる。
【００６９】
このようにして、各設定デコーダは、メモリ領域指定情報ＭＡＡから設定情報ＣＩを算出し、各選択部は、設定情報ＣＩに応じて、メモリセルを各メモリ領域に割り当てるとともに、各メモリ領域のアドレス空間を割り当てる。したがって、第１実施形態と同様に、不使用領域に割り当てられたメモリセルの消費電流が低減される。
【００７０】
なお、設定デコーダにダウンロードされるメモリ領域指定情報ＭＡＡは、設定情報ＣＩよりサイズが小さいため、本実施形態のメモリ制御装置は、ＣＰＵ８が実際の動作を開始するまでに要する時間を短縮することができる。一方、第１実施形態の設定レジスタは、設定デコーダのような演算を行わないため、設定デコーダより回路規模を小さくすることができる。
【００７１】
＜第３実施形態＞
＝＝＝メモリ制御装置の構成の概略＝＝＝
以下、図１６を参照して、本発明の第３の実施形態におけるメモリ制御装置の構成の概略について説明する。
【００７２】
図１６に示されているメモリ制御装置１ｃは、メモリアレイ２ｂを制御するための装置であり、選択部群１１ｂおよび設定レジスタ群１２ｂを含んで構成されている。また、図１６は、メモリ制御装置１ｃの適用例を示しており、メモリ制御装置１ｃを介して、２個のＣＰＵ８および９でメモリアレイ２ｂを使用する。
【００７３】
本実施形態では、一例として、メモリアレイ２ｃは、３０個のメモリセルからなるものとする。また、選択部群１１ｂは、各メモリセルに対応する３０個の選択部からなり、設定レジスタ群１２ｂは、各選択部および各メモリセルに対応する３０個の設定レジスタからなる。
【００７４】
ＣＰＵ８および９は、それぞれがプログラムメモリ、およびデータメモリ＃１、＃２に相当する３個のメモリ領域を使用する。また、フラッシュメモリ６は、選択部群１１ｂおよび設定レジスタ群１２ｂに接続されている。
【００７５】
＝＝＝メモリ制御装置の動作の概略＝＝＝
次に、本実施形態におけるメモリ制御装置の動作の概略について説明する。  
本実施形態では、フラッシュメモリ６には、設定情報ＣＩ、およびプログラムＰＲ１、ＰＲ２が格納されており、設定情報ＣＩは、ブートローダによって、ＣＰＵ８および９が実際の動作を開始する前に、各設定レジスタにダウンロードされ、記憶される。また、各選択部は、各設定レジスタに記憶されている設定情報に応じて、各メモリセルの動作または停止や、各メモリセルを割り当てるメモリ領域を選択する。さらに、ブートローダは、ＣＰＵ８用のプログラムメモリに割り当てられたメモリセルにプログラムＰＲ１をダウンロードし、ＣＰＵ９用のプログラムメモリに割り当てられたメモリセルにプログラムＰＲ２をダウンロードする。そして、ＣＰＵ８および９は、それぞれプログラムＰＲ１およびＰＲ２の実行を開始する。
【００７６】
このようにして、選択部群１１ｂは、設定レジスタ群１２ｂに記憶されている設定情報ＣＩに応じて、各メモリセルの動作やメモリ領域を選択する。そして、当該選択に従って、ＣＰＵ８および９は、それぞれ別個に、メモリアレイ２ｂをプログラムメモリ、およびデータメモリ＃１、＃２として使用することができる。
【００７７】
＝＝＝選択部の構成＝＝＝
本実施形態において、設定情報ＣＩには、１ビットの値であるＣＰＵ指定情報ＣＰＡが追加されている。したがって、各設定レジスタから各選択部には、ＣＰＵ指定情報ＣＰＡ、メモリ領域選択情報ＭＡＳ、およびアドレス空間指定情報ＡＳＡが入力されている。さらに、選択部群１１ｂの各選択部は、第１実施形態の選択部に対して、ＣＰＵ９との間で入出力する、プログラムメモリ、およびデータメモリ＃１、＃２にそれぞれ対応する信号が追加される。
【００７８】
ここで、本実施形態のメモリセル＃１に対応する選択部＃１のうち、リードデータおよびライトデータに対応する選択回路の具体的な構成の一例を、それぞれ図１７および図１８に示す。図１７および図１８において、ＣＰＵ＃１および＃２に対応する信号は、メモリセル＃１との間で入出力する信号に、それぞれ「１」および「２」を付けて表している。さらに、図３ないし図８と同様に、プログラムメモリ、およびデータメモリ＃１、＃２に対応する信号は、それぞれ「＿ｐ」、「＿ｄ１」、および「＿ｄ２」を付けて表している。なお、図１６におけるＣＰＵ８および９は、それぞれＣＰＵ＃１および＃２に対応している。
【００７９】
図１７に示すように、リードデータに対応する選択回路は、選択回路ＳＬ１０ないしＳＬ１２で構成されている。
【００８０】
選択回路ＳＬ１０は、１入力２出力のデマルチプレクサとして構成されており、選択制御入力には、ＣＰＵ指定情報ＣＰＡが入力されている。また、データ入力には、メモリセル＃１からリードデータＲＤが入力されている。そして、ＣＰＡ＝０および１に対応する出力からは、それぞれリードデータＲＤ１およびＲＤ２が出力されている。
【００８１】
選択回路ＳＬ１１およびＳＬ１２は、いずれも図３に示した選択回路ＳＬ１と同様の構成となっており、データ入力には、それぞれリードデータＲＤ１およびＲＤ２が入力されている。そして、選択回路ＳＬ１１から出力されるリードデータＲＤ１＿ｐ、ＲＤ１＿ｄ１、およびＲＤ１＿ｄ２は、それぞれプログラムメモリ、およびデータメモリ＃１、＃２のリードデータとして、ＣＰＵ＃１に入力されている。一方、選択回路ＳＬ１２から出力されるリードデータＲＤ２＿ｐ、ＲＤ２＿ｄ１、およびＲＤ２＿ｄ２は、それぞれプログラムメモリ、およびデータメモリ＃１、＃２のリードデータとして、ＣＰＵ＃２に入力されている。
【００８２】
図１８に示すように、ライトデータに対応する選択回路は、選択回路ＳＬ２０ないしＳＬ２２で構成されている。
【００８３】
選択回路ＳＬ２１およびＳＬ２２は、いずれも図４に示した選択回路ＳＬ２と同様の構成となっている。また、選択回路ＳＬ２１のデータ入力には、それぞれライトデータＷＤ１＿ｐ、ＷＤ１＿ｄ１、およびＷＤ１＿ｄ２が入力され、選択回路ＳＬ２２のデータ入力には、それぞれライトデータＷＤ２＿ｐ、ＷＤ２＿ｄ１、およびＷＤ２＿ｄ２が入力されている。そして、選択回路ＳＬ２１およびＳＬ２２からそれぞれ出力されるライトデータＷＤ１およびＷＤ２は、いずれも選択回路ＳＬ２０のデータ入力に入力されている。
【００８４】
選択回路ＳＬ２０は、２入力１出力のマルチプレクサとして構成されており、選択制御入力には、ＣＰＵ指定情報ＣＰＡが入力されている。また、ＣＰＡ＝０および１に対応するデータ入力には、それぞれライトデータＷＤ１およびＷＤ２が入力されている。そして、選択回路ＳＬ２０から出力されるライトデータＷＤは、メモリセル＃１に入力されている。
【００８５】
同様に、リード／ライト制御信号、アドレス情報、チップイネーブル信号、およびクロック信号に対応する選択回路も、選択回路ＳＬ２０と同様の２入力１出力のマルチプレクサ１個と、第１実施形態と同様の４入力１出力のマルチプレクサ２個とで構成することができる。
【００８６】
＝＝＝選択部の動作＝＝＝
次に、本実施形態における選択部＃１の動作について説明する。  
図１７および図１８に示したように、本実施形態において、メモリセル＃１と直接接続されている選択回路の選択制御入力には、いずれもＣＰＵ指定情報ＣＰＡが入力されている。そのため、以下、ＣＰＵ指定情報ＣＰＡの値で場合分けして説明する。
【００８７】
ＣＰＡ＝０の場合、例えば図１７において、選択回路ＳＬ１０を介して、選択回路ＳＬ１１がメモリセル＃１と接続され、メモリセル＃１から出力されるリードデータＲＤは、ＣＰＵ＃１のみに入力され得る。同様に、他の信号に対応する選択回路についても、選択回路ＳＬ２０と同様の選択回路を介して、ＣＰＵ＃１と接続されている第１実施形態と同様の選択回路がメモリセル＃１と接続される。したがって、選択部＃１は、メモリ領域選択情報ＭＡＳに応じて、メモリセル＃１をＣＰＵ＃１用のメモリ領域（不使用領域を含む）に割り当てる。
【００８８】
ＣＰＡ＝１の場合、例えば図１７において、選択回路ＳＬ１０を介して、選択回路ＳＬ１２がメモリセル＃１と接続され、メモリセル＃１から出力されるリードデータＲＤは、ＣＰＵ＃２のみに入力され得る。同様に、他の信号に対応する選択回路についても、選択回路ＳＬ２０と同様の選択回路を介して、ＣＰＵ＃２と接続されている第１実施形態と同様の選択回路がメモリセル＃１と接続される。したがって、選択部＃１は、メモリ領域選択情報ＭＡＳに応じて、メモリセル＃１をＣＰＵ＃２用のメモリ領域（不使用領域を含む）に割り当てる。
【００８９】
＝＝＝設定情報の一例＝＝＝
ここで、設定レジスタ＃１ないし＃３０にダウンロードされる設定情報ＣＩの一例を図１９に示す。
【００９０】
ＣＰＵ指定情報ＣＰＡは、各選択部においてＣＰＵ＃１または＃２の何れか一方の選択に用いられる。また、メモリ領域選択情報ＭＡＳは、メモリセルを割り当てる、ＣＰＵ＃１または＃２のメモリ領域の選択に用いられる。
【００９１】
図１９に示すように、ＣＰＵ指定情報ＣＰＡおよびメモリ領域選択情報ＭＡＳに応じて、メモリセル＃１ないし＃５は、ＣＰＵ＃１用のプログラムメモリに割り当てられている。また、メモリセル＃６ないし＃８は、ＣＰＵ＃１用のデータメモリ＃１に割り当てられ、メモリセル＃９ないし＃１２は、ＣＰＵ＃１用のデータメモリ＃２に割り当てられている。
【００９２】
一方、メモリセル＃１９ないし＃２３は、ＣＰＵ＃２用のプログラムメモリに割り当てられている。また、メモリセル＃２４ないし＃２６は、ＣＰＵ＃２用のデータメモリ＃１に割り当てられ、メモリセル＃２７ないし＃３０は、ＣＰＵ＃２用のデータメモリ＃２に割り当てられている。
【００９３】
アドレス空間指定情報ＡＳＡは、不使用領域以外の各メモリ領域のアドレス空間の割り当てに用いられる。図１９に示すように、アドレス空間指定情報ＡＳＡに応じてアドレス空間が割り当てられ、ＣＰＵ＃１用のプログラムメモリ、およびデータメモリ＃１、＃２の容量は、それぞれ５Ｋワード、３Ｋワード、および４Ｋワードとなっている。また、同様に、ＣＰＵ＃２用のプログラムメモリ、およびデータメモリ＃１、＃２の容量も、それぞれ５Ｋワード、３Ｋワード、および４Ｋワードとなっている。
【００９４】
なお、メモリセル＃１３ないし＃１８は、メモリ領域選択情報ＭＡＳに応じて、不使用領域に割り当てられており、当該メモリセルに対応するＣＰＵ指定情報ＣＰＡおよびアドレス空間指定情報ＡＳＡは利用されない。
【００９５】
図２０は、図１９に示した設定情報ＣＩに応じて定まる各メモリセルの接続関係を示している。前述したように、ＣＰＵ８は、プログラムメモリに割り当てられたメモリセル＃１ないし＃５にプログラムＰＲ１がダウンロードされた後、当該プログラムＰＲ１の実行を開始する。また、ＣＰＵ９は、プログラムメモリに割り当てられたメモリセル＃１９ないし＃２３にプログラムＰＲ２がダウンロードされた後、当該プログラムＰＲ２の実行を開始する。したがって、実際の動作を開始したＣＰＵ８および９は、図２６に示したような個別のメモリと同様に、各メモリ領域を使用することができる。
【００９６】
このようにして、各選択部は、ＣＰＵ指定情報ＣＰＡおよびメモリ領域選択情報ＭＡＳに応じて、メモリセルをＣＰＵ＃１または＃２の各メモリ領域に割り当て、アドレス空間指定情報ＡＳＡに応じて、各メモリ領域のアドレス空間を割り当てる。したがって、第１および第２実施形態と同様に、不使用領域に割り当てられたメモリセルの消費電流が低減される。
【００９７】
なお、本実施形態において、設定レジスタの代わりに、第２実施形態と同様に設定デコーダを用いてもよい。
【００９８】
＜第４実施形態＞
＝＝＝メモリ制御装置の構成の概略＝＝＝
以下、図２１を参照して、本発明の第４の実施形態におけるメモリ制御装置の構成の概略について説明する。
【００９９】
図２１に示されているメモリ制御装置は、メモリアレイ２ｃないし２ｅを制御するための装置であり、選択部群１１ｃないし１１ｅ、および設定レジスタ群１２ｃないし１２ｅを含んで構成されている。なお、図２１において、設定情報およびプログラムが格納されるフラッシュメモリは、図示されていないが、第１ないし第３実施形態と同様に用いられるものとする。
【０１００】
本実施形態では、一例として、メモリアレイ２ｃないし２ｅは、それぞれ８個のメモリセルからなるものとする。また、選択部群１１ｃないし１１ｅは、各メモリセルに対応する２４個の選択部からなり、設定レジスタ群１２ｃないし１２ｅは、各選択部および各メモリセルに対応する２４個の設定レジスタからなる。
【０１０１】
ＣＰＵ８は、メモリアレイ２ｃないし２ｅを、それぞれプログラムメモリ、およびデータメモリ＃１、＃２に相当するメモリ領域としてのみ使用する。
【０１０２】
＝＝＝メモリ制御装置の動作の概略＝＝＝
次に、本実施形態におけるメモリ制御装置の動作の概略について説明する。  
第１実施形態と同様に、各設定レジスタには、ＣＰＵ８が実際の動作を開始する前に、設定情報ＣＩがダウンロードされ、記憶される。また、各選択部は、各設定レジスタに記憶されている設定情報に応じて、各メモリセルの動作または停止を選択する。なお、本実施形態では、メモリアレイ２ｃないし２ｅは、それぞれプログラムメモリ、およびデータメモリ＃１、＃２専用となっているため、設定情報ＣＩに応じて、メモリセルを各メモリ領域に割り当てる必要はない。
【０１０３】
そして、プログラムメモリとしてのみ使用されるメモリアレイ２ｃのうち、使用可能となっているメモリセルにプログラムがダウンロードされ、ＣＰＵ８は、当該プログラムの実行を開始する。
【０１０４】
このようにして、選択部群１１ｃないし１１ｅは、選択部群１１ｃないし１１ｅに記憶されている設定情報ＣＩに応じて、各メモリセルの動作を選択する。そして、当該選択に従って、ＣＰＵ８は、メモリアレイ２ｃないし２ｅのうち、使用可能となっているメモリセルを、それぞれプログラムメモリ、およびデータメモリ＃１、＃２として使用することができる。
【０１０５】
なお、本実施形態において、メモリアレイ２ｃないし２ｅは、それぞれ別個のものである必要はない。例えば、１つのメモリアレイに含まれる２４個のメモリセルを、８個ずつ３組に分け、それぞれプログラムメモリ、およびデータメモリ＃１、＃２専用として用いてもよい。また、同様に、選択部群１１ｃないし１１ｅ、および設定レジスタ群１２ｃないし１２ｅについても、それぞれ一体の選択部群および設定レジスタ群として構成されていてもよい。
【０１０６】
＝＝＝選択部の構成＝＝＝
本実施形態において、設定情報ＣＩは、図１１に示したパワーダウン指定情報ＰＤＡと、アドレス空間指定情報ＡＳＡとからなり、各設定レジスタから各選択部に入力されている。
【０１０７】
ここで、本実施形態のメモリセル＃１に対応する選択部＃１のうち、リードデータおよびライトデータに対応する選択回路の具体的な構成の一例を、それぞれ図２２および図２３に示す。
【０１０８】
図２２に示すように、リードデータに対応する選択回路ＳＬ１３は、１入力２出力のデマルチプレクサとして構成されており、選択制御入力には、パワーダウン指定情報ＰＤＡが入力されている。また、データ入力には、メモリセル＃１からリードデータＲＤが入力されている。さらに、ＰＤＡ＝０に対応する出力からは、リードデータＲＤ＿ｐが出力され、ＰＤＡ＝１に対応する出力は、ＮＣとなっている。そして、リードデータＲＤ＿ｐは、プログラムメモリのリードデータとして、ＣＰＵ８に入力されている。
【０１０９】
図２３に示すように、ライトデータに対応する選択回路ＳＬ２３は、２入力１出力のマルチプレクサとして構成されており、選択制御入力には、パワーダウン指定情報ＰＤＡが入力されている。また、ＰＤＡ＝０に対応するデータ入力には、ライトデータＷＤ＿ｐが入力され、ＰＤＡ＝１に対応するデータ入力は、ロー・レベルに固定されている。そして、選択回路ＳＬ２３から出力されるライトデータＷＤは、メモリセル＃１に入力されている。
【０１１０】
同様に、リード／ライト制御信号、アドレス情報、チップイネーブル信号、およびクロック信号に対応する選択回路も、選択回路ＳＬ２３と同様に、２入力１出力のマルチプレクサとして構成することができる。また、当該マルチプレクサの選択制御入力には、パワーダウン指定情報ＰＤＡが入力される。さらに、ＰＤＡ＝１に対応するデータ入力は、それぞれ図５ないし図８に示した選択回路ＳＬ３ないしＳＬ６において、ＭＡＳ＝１１に対応するデータ入力と同様に処理される。
【０１１１】
＝＝＝選択部の動作＝＝＝
次に、本実施形態における選択部＃１の動作について説明する。  
図２２および図２３に示したように、本実施形態において、各選択回路の選択制御入力には、いずれもパワーダウン指定情報ＰＤＡが入力されている。そのため、以下、パワーダウン指定情報ＰＤＡの値で場合分けして説明する。
【０１１２】
ＰＤＡ＝０の場合、選択部＃１は、メモリセル＃１を動作させる。具体的には、メモリセル＃１から選択回路ＳＬ１３に入力されるリードデータＲＤは、プログラムメモリのリードデータＲＤ＿ｐとして、ＣＰＵ８に入力される。また、プログラムメモリのライトデータＷＤ＿ｐ、リード／ライト制御信号ＲＷ＿ｐ、アドレス情報ＡＤ＿ｐ、チップイネーブル信号ＣＥｘ＿ｐ、およびクロック信号ＣＫ＿ｐがメモリセル＃１に入力される。
【０１１３】
ＰＤＡ＝１の場合、選択部＃１は、メモリセル＃１を動作を停止させる。具体的には、メモリセル＃１から選択回路ＳＬ１３に入力されるリードデータＲＤは、ＣＰＵ８に入力されず、メモリセル＃１に入力されるライトデータＷＤは、ロー・レベルに固定される。また、メモリセル＃１に入力されるリード／ライト制御信号は、読み出しモードに固定され、アドレス情報ＡＤの値は、０に固定される。さらに、メモリセル＃１に入力されるチップイネーブル信号ＣＥｘは、ディセーブルに固定され、メモリセル＃１に入力されるクロック信号ＣＫは、ロー・レベルに固定されるため、メモリセル＃１の消費電流は、大幅に低減される。
【０１１４】
＝＝＝設定情報の一例＝＝＝
ここで、設定レジスタ＃１ないし＃２４にダウンロードされる設定情報ＣＩの一例を図２４に示す。
【０１１５】
パワーダウン指定情報ＰＤＡは、各選択部においてメモリセルの動作または停止の選択に用いられる。図２４に示すように、パワーダウン指定情報ＰＤＡに応じて、メモリセル＃１ないし＃５、＃９ないし＃１１、および＃１７ないし＃２０は、使用可能となっている。また、メモリセル＃６ないし＃８、＃１２ないし＃１６、および＃２１ないし＃２４は、不使用とされ、消費電流が低減されている。
【０１１６】
アドレス空間指定情報ＡＳＡは、メモリアレイ２ｃないし２ｅのうち、それぞれ使用可能となっている領域のアドレス空間の割り当てに用いられる。図２４に示すように、アドレス空間指定情報ＡＳＡに応じてアドレス空間が割り当てられ、プログラムメモリ、およびデータメモリ＃１、＃２の容量は、それぞれ５Ｋワード、３Ｋワード、および４Ｋワードとなっている。また、不使用とされているメモリセル＃６ないし＃８、＃１２ないし＃１６、および＃２１ないし＃２４に対応するアドレス空間指定情報ＡＳＡは利用されない。
【０１１７】
図２５は、図２４に示した設定情報ＣＩに応じて定まる各メモリセルの接続関係を示している。前述したように、ＣＰＵ８は、プログラムメモリとして使用可能となったメモリセル＃１ないし＃５にプログラムがダウンロードされた後、当該プログラムの実行を開始する。したがって、実際の動作を開始したＣＰＵ８は、図２６に示したような個別のメモリと同様に、メモリアレイ２ｃないし２ｅを使用することができる。
【０１１８】
このようにして、各選択部は、パワーダウン指定情報ＰＤＡに応じて、メモリセルの動作または停止を選択し、アドレス空間指定情報ＡＳＡに応じて、使用可能となっている領域のアドレス空間を割り当てる。したがって、第１ないし第３実施形態と同様に、不使用とされているメモリセルの消費電流が低減される。
【０１１９】
なお、本実施形態において、設定レジスタの代わりに、第２実施形態と同様に設定デコーダを用いてもよい。
【０１２０】
また、本実施形態のメモリ制御装置は、マルチプレクサの入力数およびデマルチプレクサの出力数が、第１実施形態のメモリ制御装置より少ないため、動作速度を高速に保つことができる。一方、第１実施形態のメモリ制御装置は、全体のメモリ容量が同一である場合に、プログラムメモリ、およびデータメモリ＃１、＃２のそれぞれの容量の変更可能な幅が大きいため、汎用性が高い構成となっている。
【０１２１】
前述したように、設定情報ＣＩに応じて、複数のメモリセルの動作または停止をそれぞれ選択することによって、不使用領域を有するメモリの消費電流を低減することができる。
【０１２２】
また、不使用領域に割り当てられたメモリセルのチップイネーブル信号ＣＥｘをディセーブルに固定することによって、センスアンプ回路やアドレスデコーダ回路などの動作を停止し、消費電流を低減することができる。
【０１２３】
また、不使用領域に割り当てられたメモリセルのクロック信号ＣＫをロー・レベルに固定することによって、クロックバッファやＤＦＦなどの素子の動作を停止し、消費電流を低減することができる。
【０１２４】
また、メモリ領域選択情報ＭＡＳに応じて、メモリセルを割り当てるメモリ領域を選択することによって、プログラムメモリ、およびデータメモリ＃１、＃２の容量の変更可能な幅が大きく、汎用性が高い構成とすることができる。
【０１２５】
また、設定情報ＣＩを各設定レジスタにダウンロードすることによって、メモリ制御装置の規模を抑えることができる。
【０１２６】
また、設定デコーダがメモリ領域指定情報ＭＡＡから設定情報ＣＩを算出することによって、ＣＰＵが実際の動作を開始するまでに要する時間を短縮することができる。
【０１２７】
なお、上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物も含まれる。
【０１２８】
上記実施形態では、各メモリセルが選択部群に並列に接続される構成となっているが、これに限定されるものではない。例えば、メモリ制御装置によって動作または停止の選択が行われるメモリセルの内部に、さらにメモリ制御装置を設けた階層構造とすることもできる。このような階層構造とすることによって、不使用領域をより細かく制御し、さらに消費電流を低減することが可能となる。
【符号の説明】
【０１２９】
１ａ〜１ｃ  メモリ制御装置
２ａ〜２ｅ  メモリアレイ
３、４、５  メモリ
６  フラッシュメモリ
８、９  ＣＰＵ（中央処理装置）
１１ａ〜１１ｅ  選択部群
１２ａ〜１２ｅ  設定レジスタ群
１３    設定デコーダ群
ＳＬ１〜ＳＬ６  選択回路
ＳＬ１０〜ＳＬ１３  選択回路
ＳＬ２０〜ＳＬ２３  選択回路
ＣＰ  アドレス比較部
【図１】
2011123612.tif 000003
【図２】
2011123612.tif 000004
【図３】
2011123612.tif 000005
【図４】
2011123612.tif 000006
【図５】
2011123612.tif 000007
【図６】
2011123612.tif 000008
【図７】
2011123612.tif 000009
【図８】
2011123612.tif 000010
【図９】
2011123612.tif 000011
【図１０】
2011123612.tif 000012
【図１１】
2011123612.tif 000013
【図１２】
2011123612.tif 000014
【図１３】
2011123612.tif 000015
【図１４】
2011123612.tif 000016
【図１５】
2011123612.tif 000017
【図１６】
2011123612.tif 000018
【図１７】
2011123612.tif 000019
【図１８】
2011123612.tif 000020
【図１９】
2011123612.tif 000021
【図２０】
2011123612.tif 000022
【図２１】
2011123612.tif 000023
【図２２】
2011123612.tif 000024
【図２３】
2011123612.tif 000025
【図２４】
2011123612.tif 000026
【図２５】
2011123612.tif 000027
【図２６】
2011123612.tif 000028