(57)【要約】【課題】  メモリ管理が容易で部品点数や実装面積を増大させずにブートローダ領域を適確に格納できると共に、メモリデバイスにおけるメモリ領域を連続した１つの領域として確保できるメモリ用アドレスマッピング方法を提供すること。【解決手段】  メモリデバイス１０１において、システムメモリ空間における通常アドレスマッピングの通常領域１０３に対するものとは別のアドレスとして、容量の一部１０１′を外部のＣＰＵにおける実行開始プログラム領域のブートローダ領域１０２に割り当てて追加アドレスマッピングして格納する。即ち、ここではＭＩＰＳ系ＣＰＵの実行開始アドレスが０ｘ１ＦＣ０００００であるため、その領域をメモリデバイス１０１の最上位側に容量の一部１０１′として割り当てた上、追加アドレスマッピングの場所としてブートローダ領域１０２を格納するため、連続した１つの大きい領域をメモリ領域として確保できる。【選択図】    図１
2008158964.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリデバイスのアドレスマッピング時にデバイスの一部を複数領域にアドレスマッピングして複数用途メモリとして使用可能とするため、該デバイスの一部を外部のＣＰＵにおける実行開始プログラム領域として参照できるように追加アドレスマッピングすることを特徴とするメモリ用アドレスマッピング方法。
【請求項２】
請求項１記載のメモリ用アドレスマッピング方法において、前記追加アドレスマッピングは、前記ＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側又は最下位側に配置するようにし、該ＣＰＵの種類に依存せずに適用可能としたことを特徴とするメモリ用アドレスマッピング方法。
【請求項３】
請求項２記載のメモリ用アドレスマッピング方法において、前記追加アドレスマッピングにおける前記任意のアドレス位置の配置を不揮発性レジスタを用いて設定し、且つ前記実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを該不揮発性レジスタを用いて設定することを特徴とするメモリ用アドレスマッピング方法。
【請求項４】
請求項３記載のメモリ用アドレスマッピング方法において、システムメモリマップの末端以外に前記ブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対して該ブートローダ領域を格納させることを特徴とするメモリ用アドレスマッピング方法。
【請求項５】
請求項３又は４記載のメモリ用アドレスマッピング方法において、物理的にデバイスの末端に前記ブートローダ領域がアドレスマッピングされることにより該末端以外のその他の領域を１つの連続した領域として確保することを特徴とするメモリ用アドレスマッピング方法。
【請求項６】
不揮発性デバイス向けのアドレスマッピング時に一部が複数領域にアドレスマッピングされ、且つ該一部が外部のＣＰＵにおける実行開始プログラム領域の参照として追加アドレスマッピングされることにより複数用途メモリとして使用されることを特徴とするメモリデバイス。
【請求項７】
請求項６記載のメモリデバイスをメモリデバイス部として備えたメモリマップ制御回路であって、前記ＣＰＵからの指令信号に従って該メモリデバイス部に対する前記アドレスマッピングを行い、且つ前記追加アドレスマッピングについては該ＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側又は最下位側に配置させて該ＣＰＵの種類に依存せずに適用可能とするマップデコード部を備えたことを特徴とするメモリマップ制御回路。
【請求項８】
請求項７記載のメモリマップ制御回路において、前記マップデコード部は、前記追加アドレスマッピングに際して前記任意のアドレス位置の配置を設定し、且つ前記実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを設定するための不揮発性レジスタを備えたことを特徴とするメモリマップ制御回路。
【請求項９】
請求項８記載のメモリマップ制御回路において、前記マップデコード部は、システムメモリマップの末端以外に前記ブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対して該ブートローダ領域を格納させることを特徴とするメモリマップ制御回路。
【請求項１０】
請求項８又は９記載のメモリマップ制御回路において、前記マップデコード部は、物理的にデバイスの末端に前記ブートローダ領域をアドレスマッピングすることにより該末端以外のその他の領域を１つの連続した領域として確保することを特徴とするメモリマップ制御回路。
【請求項１１】
請求項８〜１０の何れか一つに記載のメモリマップ制御回路を備えた情報処理装置であって、前記ブートローダ領域と前記メモリデバイス部としてのフラッシュメモリとを備えたことを特徴とする情報処理装置。
【請求項１２】
請求項１１記載の情報処理装置において、前記フラッシュメモリは、連続して大きい容量を持つことを特徴とする情報処理装置。
【請求項１３】
請求項１１又は１２記載の情報処理装置において、前記ＣＰＵとして、前記ブートローダ領域の実行開始アドレスがシステムメモリのトップ又はボトムに該当しないタイプのものを備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主としてフラッシュメモリ等の不揮発性メモリデバイスのアドレスマッピングに関し、詳しくはデバイスの一部を複数領域にアドレスマッピングして複数用途メモリとして使用できる機能を持たせるメモリ用アドレスマッピング方法、それを適用したメモリデバイス、メモリマップ制御回路、情報処理装置に関する。
【背景技術】
【０００２】
従来、一般にフラッシュメモリ等の再プログラムを行うことが可能な不揮発性メモリデバイスは、その組み込み系情報処理装置の起動時にＣＰＵにおける実行開始プログラム領域（ブートローダ領域等）の記憶場所として利用されている。こうしたプログラムの実行開始アドレスは、ＣＰＵの種類によって異なっており、例えばＸ８６系ＣＰＵであれば、最後のアドレス付近（０ｘＦＦＦＦＦＦＦ０）となっている。フラッシュメモリの場合にはトップ／ボトムブート領域を有するものがあり、デバイスのトップ又はボトムの部分を実行開始プログラム領域（ブートローダ領域）として使用し、誤って再プログラムされたり、或いは消去されるのを低減化する仕組みがある。
【０００３】
因みに、メモリデバイスのアドレスマッピングに関連する周知技術としては、例えばセクタアドレス変換回路が外部からのセクタアドレスを内部アドレスのセクタアドレスに変換し、アドレスデコーダ回路を介してメモリデバイスにアクセスする技術（特許文献１参照）、チップセレクト信号線ＣＳ１とチップセレクト信号線ＣＳ２とに同じ種類の素子を接続しておき、チップセレクト信号線ＣＳ１の素子に異常が発生した場合にプログラマブルデコードＲＡＭのデータを書き替えることにより、チップセレクト信号線ＣＳ１とチップセレクト信号線ＣＳ２とを同じアドレス空間に配置し直す技術（特許文献２参照）、オペレーティングシステムが０ｘ００００００００からの下位アドレスに物理メモリを予想し、マイクロプロセッサが０ｘ１ＦＣ０００００にブートコードを見つけるように予想し、両者の要望を５０８ＭＢのメモリを使用するか、又は小さなメモリを０ｘ１ＦＣ０００００に追加することによって満たすようにした技術（特許文献３参照）等が挙げられる。
【０００４】
【特許文献１】特開２００２−２２２０８４号公報（第４頁段落［００３６］）
【特許文献２】特開昭６３−２５７０４４号公報（第２頁右下欄第１行乃至同頁同欄第５行）
【特許文献３】特開平１１−１５６８７号公報（第９頁段落［００５３］、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したメモリデバイスのアドレスマッピングに関連する周知技術（特許文献１〜３に係るメモリ用アドレスマッピング方法を含む）の場合、何れを適用した場合にもＣＰＵの種類によっては実行開始アドレスがデバイスの最上位側又は最下位側の領域以外にあるものが存在する（例えばＭＩＰＳ系ＣＰＵの場合には０ｘ１ＦＣ０００００である）ことにより、こうした場合にはメモリデバイス（フラッシュメモリ）のブートブロックを使用できないという問題がある他、メモリデバイスをフラッシュメモリとした場合の組み込み系情報処理装置ではファイルシステムとしても使用されるが、例えばＭＩＰＳ系ＣＰＵの場合には実行開始アドレス領域がシステムメモリ空間領域の中間領域に当たることにより、フラッシュメモリにおける残メモリ領域を分断してしまい、メモリ領域として連続した１つの領域を確保できないという問題がある。
【０００６】
図９は、周知技術に係るメモリ用アドレスマッピング方法における問題点を説明するために示した３２ＭＢメモリデバイスを使用した場合のアドレスマッピングの模式図である。ここでは、メモリデバイス７０１を使用するＭＩＰＳ系ＣＰＵのシステムにおいて、そのブートローダ領域７０２のアドレスがシステムメモリ空間領域のほぼ中間に存在しているのに対し、一般的な市販品のメモリデバイス７０１のブートブロックがフラッシュメモリの場合にはデバイスの最上位又は最下位側に配置されていることにより、システムがブートローダ領域７０２をメモリデバイス７０１のブートブロックにアドレスマッピングすることができないこと、更にはメモリデバイス７０１のメモリ領域の中間部分をブートローダ領域７０２として使用すると、現在市販されているメモリデバイス７０１ではメモリ領域が上位側，下位側の２つに分断されてしまい、連続した１つの領域として確保できなくなることを示している。
【０００７】
因みに、一般的にパーソナルコンピュータ（ＰＣ）のＢＩＯＳ書き換えの場合のようにユーザがフラッシュメモリの内容を書き換える機会があると、そうした使用法を考慮して誤書き換えを低減化するためにブートローダ領域についてはメモリデバイスのブートブロックに格納することが適当であるが、上記理由によりそのままではブートブロックに格納することができない。
【０００８】
そこで、こうした場合の対策として、例えば図１０に示すようにブートローダ領域８０２を格納するためのブートブロック（ブートローダ用）に見立てた小容量のメモリデバイス１（８０１ａ）と、ファイルシステム用のメモリデバイス２（８０１ｂ）との２つのデバイスを用意することにより、誤書き換えを低減化させることも技術的には可能であるが、こうした場合には部品点数や実装面積が増大してしまうというデメリットを生じるため、実際には適用すべき好ましい手法とは言い難い。
【０００９】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、メモリ管理が容易で部品点数や実装面積を増大させずにブートローダ領域を適確に格納できると共に、メモリデバイスにおけるメモリ領域を連続した１つの領域として確保できるメモリ用アドレスマッピング方法、及びそれを適用したメモリデバイス、メモリマップ制御回路、情報処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明によれば、不揮発性のメモリデバイスのアドレスマッピング時にデバイスの一部を複数領域にアドレスマッピングして複数用途メモリとして使用可能とするため、該デバイスの一部を外部のＣＰＵにおける実行開始プログラム領域として参照できるように追加アドレスマッピングするメモリ用アドレスマッピング方法が得られる。
【００１１】
又、本発明によれば、上記メモリ用アドレスマッピング方法において、追加アドレスマッピングは、ＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側又は最下位側に配置するようにし、該ＣＰＵの種類に依存せずに適用可能としたメモリ用アドレスマッピング方法が得られる。
【００１２】
更に、本発明によれば、上記メモリ用アドレスマッピング方法において、追加アドレスマッピングにおける任意のアドレス位置の配置を不揮発性レジスタを用いて設定し、且つ実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを該不揮発性レジスタを用いて設定するメモリ用アドレスマッピング方法が得られる。
【００１３】
加えて、本発明によれば、上記メモリ用アドレスマッピング方法において、システムメモリマップの末端以外にブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対して該ブートローダ領域を格納させるメモリ用アドレスマッピング方法が得られる。
【００１４】
又、本発明によれば、上記何れかのメモリ用アドレスマッピング方法において、物理的にデバイスの末端にブートローダ領域がアドレスマッピングされることにより該末端以外のその他の領域を１つの連続した領域として確保するメモリ用アドレスマッピング方法が得られる。
【００１５】
一方、本発明によれば、不揮発性デバイス向けのアドレスマッピング時に一部が複数領域にアドレスマッピングされ、且つ該一部が外部のＣＰＵにおける実行開始プログラム領域の参照として追加アドレスマッピングされることにより複数用途メモリとして使用されるメモリデバイスが得られる。
【００１６】
他方、本発明によれば、上記メモリデバイスをメモリデバイス部として備えたメモリマップ制御回路であって、ＣＰＵからの指令信号に従って該メモリデバイス部に対するアドレスマッピングを行い、且つ追加アドレスマッピングについては該ＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側又は最下位側に配置させて該ＣＰＵの種類に依存せずに適用可能とするマップデコード部を備えたメモリマップ制御回路が得られる。
【００１７】
又、本発明によれば、上記メモリマップ制御回路において、マップデコード部は、追加アドレスマッピングに際して任意のアドレス位置の配置を設定し、且つ実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを設定するための不揮発性レジスタを備えたメモリマップ制御回路が得られる。
【００１８】
更に、本発明によれば、上記メモリマップ制御回路において、マップデコード部は、システムメモリマップの末端以外にブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対して該ブートローダ領域を格納させるメモリマップ制御回路が得られる。
【００１９】
加えて、本発明によれば、上記何れかのメモリマップ制御回路において、マップデコード部は、物理的にデバイスの末端にブートローダ領域をアドレスマッピングすることにより該末端以外のその他の領域を１つの連続した領域として確保するメモリマップ制御回路が得られる。
【００２０】
又、本発明によれば、上記何れかの一つのメモリマップ制御回路を備えた情報処理装置であって、ブートローダ領域とメモリデバイス部としてのフラッシュメモリとを備えた情報処理装置が得られる。
【００２１】
更に、本発明によれば、上記情報処理装置において、フラッシュメモリは、連続して大きい容量を持つ情報処理装置が得られる。
【００２２】
加えて、本発明によれば、上記何れかの情報処理装置において、ＣＰＵとして、ブートローダ領域の実行開始アドレスがシステムメモリのトップ又はボトムに該当しないタイプのものを備えた情報処理装置が得られる。
【発明の効果】
【００２３】
本発明の場合、ＭＩＰＳ系ＣＰＵを適用しても、１つのメモリデバイスにおいてブートローダ領域をブートブロックへ格納し、ファイルシステム等で共用する多用途メモリ（例えばブートローダ用，ファイルシステム用）として使用可能となり、しかもメモリ管理用のソフトウェアがメモリ領域についてブートローダ領域以外のその他の領域を連続した１つの領域として確保できるため、結果として、メモリ管理が容易で部品点数や実装面積を増大させずに低コストでブートローダ領域を適確に格納できると共に、メモリデバイスにおけるメモリ領域を連続した１つの領域として確保できるようになる。
【発明を実施するための最良の形態】
【００２４】
本発明の最良の形態に係るメモリ用アドレスマッピング方法は、不揮発性のメモリデバイスのアドレスマッピング時にデバイスの一部を複数領域にアドレスマッピングして複数用途メモリとして使用可能とするため、デバイスの一部を外部のＣＰＵにおける実行開始プログラム領域として参照できるように追加アドレスマッピングするものである。但し、ここでの追加アドレスマッピングは、ＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側又は最下位側に配置するようにし、ＣＰＵの種類に依存せずに適用可能とすることが好ましい。
【００２５】
図１は、本発明の最良の形態に係るメモリ用アドレスマッピング方法を説明するために示した３２ＭＢメモリデバイスを使用した場合のアドレスマッピングの模式図である。
【００２６】
ここでは、メモリデバイス１０１において、システムメモリ空間における通常アドレスマッピングの通常領域１０３に対するものとは別のアドレスとして、容量の一部１０１′を外部のＣＰＵにおける実行開始プログラム領域のブートローダ領域１０２に割り当てて追加アドレスマッピングして格納する様子を示している。即ち、ここではＭＩＰＳ系ＣＰＵの実行開始アドレスが０ｘ１ＦＣ０００００であるため、その領域をメモリデバイス１０１の最上位側に容量の一部１０１′として割り当てた上、追加アドレスマッピングの場所としてブートローダ領域１０２を格納するものである。但し、メモリデバイス１０１における容量の一部１０１′は、メモリデバイス１０１における最下位側の末端領域に配置するようにしても良い。
【００２７】
何れにしても、メモリ管理するソフトウェアでは、分割された２領域の何れかにブートローダ領域１０２を格納するよりも、末端領域に追加アドレスマッピングして連続した１つの大きい領域をメモリ領域として確保するようにして管理を行う方が取り扱いが容易である。尚、ここでの追加アドレスマッピングに供されるブートローダ領域１０２は、１領域である場合を説明しているが、その他の追加領域を加えた場合でも同様な方法で割り当てを実現できる。
【００２８】
又、本発明のメモリ用アドレスマッピング方法の場合、追加アドレスマッピングにおける任意のアドレス位置の配置を不揮発性レジスタを用いて設定し、且つ実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを不揮発性レジスタを用いて設定することが好ましい。更に、システムメモリマップの末端以外にブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対してブートローダ領域を格納させること、或いは物理的にデバイスの末端にブートローダ領域がアドレスマッピングされることにより末端以外のその他の領域を１つの連続した領域として確保することが好ましい。
【００２９】
以下は、本発明のメモリ用アドレスマッピング方法を適用したメモリデバイス、及びそれを備えたメモリマップ制御回路の幾つかの実施例について、図面を参照して詳細に説明する。
【実施例１】
【００３０】
図２は、本発明の実施例１に係るメモリデバイスを備えたメモリマップ制御回路の基本構成を示したブロック図である。このメモリマップ制御回路は、アドレスマッピング時に一部が複数領域にアドレスマッピングされ、且つ一部が外部のＣＰＵにおける実行開始プログラム領域の参照として追加アドレスマッピングされることにより複数用途メモリとして使用される不揮発性のメモリデバイス部２０１と、ＣＰＵからの指令信号に従ってメモリデバイス部２０１に対するアドレスマッピングを行い、且つ追加アドレスマッピングについてはＣＰＵから参照する任意のアドレス位置を実デバイス上の最上位側（又は最下位側としても良い）に配置させてＣＰＵの種類に依存せずに適用可能とするマップデコード部２０２とを備えている。
【００３１】
このうち、マップデコード部２０２は、追加アドレスマッピングに際してブートローダ領域のアドレスをメモリデバイス部２０１内のどこにマッピングするかを設定する不揮発性レジスタ１（２０３）と、ブートローダ領域の容量をメモリデバイス部２０１内でどの位にしてマッピングするのかを設定（換言すればメモリデバイス部２０１のどこから終端までを使用するかを指定）する不揮発性レジスタ２（２０４）とを備えている。従って、これらのレジスタ１（２０３），２（２０４）は、合わせて追加アドレスマッピング時に任意のアドレス位置の配置を設定し、且つ実行開始プログラム領域となるブートローダ領域の開始アドレスと容量とを設定するように機能する。
【００３２】
３２ＭＢのメモリデバイス部２０１をアドレスマッピング（追加アドレスマッピング）するときのレジスタ値の設定例を示せば、この場合、最下位ビットをｂｉｔ０とすると、レジスタ１（２０３）にはアドレスのｂｉｔ２４〜１７の８ｂｉｔを設定し、レジスタ２（２０４）にはアドレスのｂｉｔ２４〜ｂｉｔ１７の８ｂｉｔを設定する。ここでは、レジスタ１（２０３），２（２０４）が８ｂｉｔとしたが、アドレスマッピング（追加アドレスマッピング）する際のアドレス境界を細かく（大きく）したい場合には下位ビットへシフト（例えばｂｉｔ４〜ｂｉｔ１１）させたり、或いは上位ビットへシフト（上記の逆のｂｉｔ１１〜ｂｉｔ４）させるように設定すれば良い。
【００３３】
メモリデバイス部２０１の種類は、通常アドレスマッピングできるＦｌａｓｈＲＯＭとする。この場合、マップデコード部２０２は、ブードローダ領域１０２に対しての追加アドレスマッピングを可能とするようにアドレスをデコードする機能を持つ。即ち、マップデコード部２０２は、メモリアクセスが通常領域１０３へのアクセスの場合にはアドレスをそのまま変換しないでメモリデバイス部２０１へ渡し、メモリアクセスがブートローダ領域１０２の場合にはアドレスを変換してメモリデバイス部２０１へ渡す。但し、ここでマップデコード部２０２がアドレスを変換する際、レジスタ１（２０３），２（２０４）の値から参照してメモリデバイス部２０１へのアドレスを生成する。
【００３４】
図３は、マップデコード部２０２における追加アドレスマッピング論理例を示したものである。又、図４は、メモリデバイス部２０１のアドレスが０ｘ１Ｃ００００００であり、３２ＭＢアドレスマッピングの場合のマップデコード部２０２のレジスタ１（２０３）の設定例を示したものである。更に、図５は、マップデコード部２０２のレジスタビット割り当て（メモリデバイス部２０１が３２ＭＢメモリデバイス［ｎ＝２４］の場合）を例示したものである。加えて、図６は、マップデコード部２０２のレジスタ２（２０４）の値とブロートローダ開始アドレスとを例示（メモリデバイス部２０１が３２ＭＢメモリデバイスの場合）したものである。
【００３５】
但し、ここでは信号線の表現として、Ａ［ｎ］はアドレス信号線のＡｎのことを示し、Ａ［ｎ：０］はアドレス線の信号束名称Ａｎ〜Ａ０を示すものとする。例えばＡ［２３］はＡ２３アドレス信号線、Ａ［２３：０］はＡ２３〜Ａ０のアドレス信号線束を意味する。通常領域１０３に対するアドレスマッピング（通常アドレスマッピング）のアクセス時には、アドレスは変換しないためにその説明は省略する。尚、図３，図４中で示されるｒｅｇ１はレジスタ１（２０３）、ｒｅｇ２はレジスタ２（２０４）を示すものである。
【００３６】
図３中の例では、Ａ［ｎ＋１］＝０で通常アドレスマッピング、Ａ［ｎ：０］＿ｏｕｔ＝Ａ［ｎ：０］＿ｉｎ  …で通常アドレスマッピング、Ａ［ｎ＋１］＝１且つ（Ａ［ｎ：０］＿ｉｎ  ＡＮＤ  ｒｅｇ２（＜＜０ｘ１７））  ＸＯＲ  ｒｅｇ１＝０でアドレスデコード有り、Ａ［ｎ：０］＿ｏｕｔ＝Ａ［ｎ：０］＿ｉｎ  ＯＲ  （ｒｅｇ２＜＜１７）  …でブートローダ領域を示す。
【００３７】
例えばｎ＝２４の場合、（３２ＭＢ  単位メモリ境界）アクセスがアドレスの該当ビット（ｒｅｇ２指定のＡ２４〜Ａ１７）がｒｅｇ１と同じであるかを判定（ブートローダ領域にヒットしたかを判別）する。レジスタ１（２０３）についてのレジスタ設定一覧については図４に例示した通りであり、例えば０ｘ１ｆｃ０００００にブートローダ設定を行う場合にはｒｅｇ１を１１１０００００（０ｘＥ０）とする。レジスタ２（２０４）についてのレジスタビット割り当ては図６中に例示した通りである。レジスタビット割り当てに際してのメモリマップ上の見え方は図７に示す模式図のようになる。
【００３８】
次に、メモリマップ制御回路（マップデコード部２０２）の基本動作を説明する。尚、メモリマップ制御回路は、上述したＭＩＰＳ系ＣＰＵ等、所定の規格のＣＰＵと組み合わされて組み込み系情報処理装置として構成されるが、こうした場合のシステム起動前に管理者がＲＯＭライタ等で予めマップデコード部２０２におけるレジスタ１（２０３）に対する実行開始アドレス、レジスタ２（２０４）に対する実行開始プログラム容量をそれぞれ起動前に設定しておく。
【００３９】
マップデコード部２０２は、上述した不揮発性のレジスタ１（２０３），レジスタ２（２０４）の他、アドレスデコーダ（アドレス変換、デバイスセレクト生成）機能の回路を有して構成される。例えば０ｘ１ｃ００００００〜１ｆｆｆｆｆｆｆにＲＯＭをアドレスマッピングし、そのうちの０ｘ１ｆｃ０００００〜１ｆｃｆｆｆｆｆを通常のアドレスマッピングする場合、レジスタ１（２０３）の値は０ｘＥ０、レジスタ２（２０４）の値は０ｘＦ８となる。即ち、マップデコード部２０２は、図１中のメモリシステム空間で通常領域１０３の範囲内をアドレスマッピング時にアクセスしている場合、Ａ２５（アドレスのｂｉｔ２５）＝０であるため、アドレスデコーダ機能は特に起動しないが、ブートローダ領域１０２を追加アドレスマッピングしてアクセスした場合、Ａ２５（アドレスのｂｉｔ２５）＝１で与えられたアドレスに応じてアドレスデコーダ機能が起動して内部においてアドレス並びにセレクト信号を生成する。
【００４０】
具体的に例示すれば、レジスタ１（２０３）のブートアドレス設定が０ｘ１ＦＣ０００００では０ｘＥ０、レジスタ２（２０４）の設定が１ＭＢでは０ｘＦ８であるとき、メモリマップ０ｘ１ＦＣ０００００へのアクセスはＡ２５が１となってデコードが有効となり、図３に示されるように内部アドレスＡ［ｎ：０］＿ｏｕｔ＝Ａ［ｎ：０］＿ｉｎ  ＯＲ  （ｒｅｇ２＜＜１７）、即ち、０ｘ１Ｆ０００００となる。
【実施例２】
【００４１】
図８は、本発明の実施例２に係るメモリデバイスを備えたメモリマップ制御回路の基本構成を示したブロック図である。このメモリマップ制御回路の場合、基本構成上では実施例１の場合と同様にメモリデバイス部６０１及びマップデコード部６０２を備えた点を共通しているが、ここではマップデコード部６０２に必要な不揮発性レジスタの機能を外部から設定されるように専用の入力端子６０３，６０４をマップデコード部６０２へ設けるようにすることにより、レジスタ１，２を不要にした点が相違している。因みに、入力端子６０３は、先の実施例１の場合のレジスタ１（２０３）機能に相当してブートローダ格納先頭アドレスを入力設定するためのもので、入力端子６０４は、先の実施例１の場合のレジスタ２（２０４）機能に相当してブート領域の容量を入力設定するためのものとなっている。
【００４２】
このメモリマップ制御回路では、先の実施例１の場合のようなレジスタ１（２０３），２（２０４）を設ける代わりに外部から入力設定によりブートアドレス／容量を設定する構成としているため、マップデコード部６０２においてレジスタ機能を追加することなく、デコード機能の回路を持つ構成とするだけで先の実施例１の場合と同様な機能が得られるものとなる。
【００４３】
ところで、実施例１，２で説明したような構成のメモリマップ制御回路は、所定の規格のＣＰＵと組み合わせることにより、様々なタイプの組み込み系情報処理装置として構成することができる。このような情報処理装置としては、例えばブートローダ領域とメモリデバイス部としてのフラッシュメモリとを備えた構成のもの、フラッシュメモリとして連続して大きい容量を持つ構成のもの（例えばファイルシステムシステム）、ＣＰＵとしてブートローダ領域の実行開始アドレスがシステムメモリの末端（トップ又はボトム）に該当しないタイプのもの（例えばＭＩＰＳ）を備えた構成のもの等が挙げられる。何れにしても、メモリマップ制御回路におけるマップデコード部がシステムメモリマップの末端以外にブートローダ領域をアドレスマッピングする必要があるシステムであっても、デバイスの末端にアドレスマッピングできるブートブロックに対してブートローダ領域を格納させれば良い。
【図面の簡単な説明】
【００４４】
【図１】本発明の最良の形態に係るメモリ用アドレスマッピング方法を説明するために示した３２ＭＢメモリデバイスを使用した場合のアドレスマッピングの模式図である。
【図２】本発明の実施例１に係るメモリデバイスを備えたメモリマップ制御回路の基本構成を示したブロック図である。
【図３】図２に示すメモリマップ制御回路に備えられるマップデコード部における追加アドレスマッピング論理例を示した図である。
【図４】図２に示すメモリマップ制御回路に備えられるマップデコード部のレジスタ１の設定例を示した図である。
【図５】図２に示すメモリマップ制御回路に備えられるマップデコード部のレジスタビット割り当てを例示した図である。
【図６】図２に示すメモリマップ制御回路に備えられるマップデコード部のレジスタ２の値とブロートローダ開始アドレスとを例示した図である。
【図７】図２に示すメモリマップ制御回路に備えられるマップデコード部のレジスタビット割り当てに際してのメモリマップ上の見え方を示した模式図である。
【図８】本発明の実施例２に係るメモリデバイスを備えたメモリマップ制御回路の基本構成を示したブロック図である。
【図９】周知技術に係るメモリ用アドレスマッピング方法における問題点を説明するために示した３２ＭＢメモリデバイスを使用した場合のアドレスマッピングの模式図である。
【図１０】図９に示す問題点を対策した２つのメモリデバイスを用意した場合のブートブロックへの格納を説明するために示した模式図である。
【符号の説明】
【００４５】
１０１，７０１，８０１ａ，８０１ｂ  メモリデバイス
１０１′  容量の一部
１０２，７０２，８０２  ブートローダ領域
１０３  通常領域
２０１，６０１  メモリデバイス部
２０２，６０２  マップデコード部
２０３  レジスタ１
２０４  レジスタ２
６０３，６０４  入力端子
【図１】
2008158964.tif 000003
【図２】
2008158964.tif 000004
【図３】
2008158964.tif 000005
【図４】
2008158964.tif 000006
【図５】
2008158964.tif 000007
【図６】
2008158964.tif 000008
【図７】
2008158964.tif 000009
【図８】
2008158964.tif 000010
【図９】
2008158964.tif 000011
【図１０】
2008158964.tif 000012