(57)【特許請求の範囲】
【請求項１】
プロセッサと、少なくとも一つの第１の集積化されたＲＡＭメモリと、を含むプロセッサ部と、
インタフェースを介して前記プロセッサ部と結合された少なくとも一つの第２の外部メモリと、
前記プロセッサ部内に集積化され、前記プロセッサによりデータアドレスが要求された場合に、高速メモリとして役立ち前記外部メモリからのデータが予めロードされた前記第１のＲＡＭメモリ内に、このデータが格納されているかどうかを検査する、プログラム可能なメモリ管理部と、
前記外部メモリから前記データをロードするために、前記プロセッサ部内に集積化されるＤＭＡユニットと、を備え、
前記メモリ管理部は、前記データアドレスに関連するデータが前記ＲＡＭメモリに存在する場合に、このデータが格納された前記ＲＡＭメモリのアドレスを指示し、これにより、前記データが前記ＲＡＭメモリから読み出され、
前記データが前記ＲＡＭメモリに存在しない場合に、前記メモリ管理部は、前記検索されたデータアドレスの前記外部メモリから前記ＲＡＭメモリへのローディングを引き続き開始する割り込み命令を前記プロセッサおよび前記ＤＭＡユニットに出力し、
前記ＤＭＡユニットがロードをしている間、前記プロセッサ部は他の動作を実行することが可能である、プロセッサメモリシステム。
【請求項２】
前記ＲＡＭメモリにページの態様で格納される前記データのデータアドレスが格納されるデータアドレスレジスタをさらに備えることを特徴とする請求項１に記載のプロセッサメモリシステム。
【請求項３】
前記データアドレスレジスタは、４ページのデータアドレスレジスタとして構成されることを特徴とする請求項２に記載のプロセッサメモリシステム。
【請求項４】
前記検索されたアドレスが存在しない場合に、前記第１のデータアドレスレジスタ内における最初のアドレス検査に従って検査される第２のデータアドレスレジスタをさらに備え、どのレジスタで前記検査が行われるかを指示するレジスタアドレスを前記プロセッサにより変更でき、これにより前記検査が前記第２のデータアドレスレジスタ内で実行されることを特徴とする請求項２または３に記載のプロセッサメモリシステム。
【請求項５】
前記メモリ管理部からの前記割り込み命令に引き続いて前記プロセッサがアクセスする割り込みルーチンを格納する少なくとも一つの他のメモリが前記プロセッサ部内に集積化されることを特徴とする請求項１乃至４のいずれかに記載のプロセッサメモリシステム。
【請求項６】
前記他のメモリは、ＲＯＭメモリまたはフラッシュメモリであることを特徴とする請求項４に記載のプロセッサメモリシステム。
【請求項７】
前記外部メモリから好ましくはページの態様で移すべきページサイズ、または、前記ＲＡＭメモリにおける格納区分の大きさは、前記プログラム可能なメモリ管理部により修正または調整可能であることを特徴とする請求項１乃至６のいずれかに記載のプロセッサメモリシステム。
【請求項８】
紛失したデータのみを毎回、特にページの態様でロードでき、または、この紛失したデータに加えて引き続き連続するデータを、特にページの態様でロードできることを特徴とする請求項１乃至７のいずれかに記載のプロセッサメモリシステム。
【請求項９】
前記外部メモリは、前記プロセッサ部に移すべき前記データを直列から並列に変換するインタフェースを介して前記プロセッサに結合されるシリアルフラッシュメモリであることを特徴とする請求項１乃至８のいずれかに記載のプロセッサメモリシステム。
【請求項１０】
前記シリアルインタフェースは、ＳＰＩインタフェースであることを特徴とする請求項９に記載のプロセッサメモリシステム。
【請求項１１】
前記外部メモリは、フラッシュメモリであることを特徴とする請求項１乃至１０のいずれかに記載のプロセッサメモリシステム。
【請求項１２】
前記外部メモリは、前記プロセッサメモリシステム内に集積化されることを特徴とする請求項１乃至１１のいずれかに記載のプロセッサメモリシステム。
【請求項１３】
前記アドレス変換は、固定的または柔軟であるようにプログラム可能であることを特徴とする請求項１乃至１２のいずれかに記載のプロセッサメモリシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサメモリシステムに関する。
【０００２】
【従来の技術】
この種のプロセッサメモリシステムは、データが格納され、処理され、または伝送されたときはいつでも使用される。典型的な応用分野は、例えば携帯無線電話やパーソナルのディジタル支援、ミニコンピュータに見い出すことができる。このようなシステム内でプロセッサは実際にデータ処理動作を実行する。プロセッサに要求されるデータは、通常、プログラムやテーブルデータのような一定のデータであり、単一または複数のメモリに格納される。プロセッサは、必要なときにメモリからこのようなデータを読み出す。
【０００３】
このようなプロセッサ／メモリ通信または上記データもしくはメモリ管理そのものという面みて様々なコンセプトが知られている。一方では、キャッシュメモリが用いられ、また、他方では、仮想メモリが用いられる。キャッシュメモリは、頻繁にかつ高速で要求されるデータをメインメモリからロードする高速メモリである。プロセッサがデータを要求すると、このデータが既にキャッシュメモリ内に存在するかどうかが先ず検査される。存在する場合は、そのデータは読み出される。存在しない場合、紛失したデータがメインメモリからキャッシュメモリにロードされる。このような場合は、キャッシュ・ミスと呼ばれる。キャッシュ・ミスの場合、プロセッサは、紛失データがメインメモリからロードされる期間、待機状態の挿入によって停止させられ、このことは、この時間内でプロセッサが動作しないことを意味する。プロセッサのこのような停止は、ロードすべきとセットされた紛失データの大きさに依存して長くなったり短くなったりする。
【０００４】
仮想メモリは、メインメモリを最適に利用できるようにするために役立つ。このようなメインメモリは、例えばＣＤ−ＲＯＭやハードディスクメモリである。この種のメモリの場合、プロセッサは、検索されたデータを例えばハードディスク上のメインメモリに格納する物理的なアドレスが得られるように仮想メモリ管理によって変換された仮想アドレスを生成する。このため、仮想アドレス空間は、物理的なアドレス空間よりも相当に大きい。これらの間には何らの関係も存在しない。しかし、ページ不良が発生すると、仮想メモリの場合にはプロセッサは停止しない。そのときにプロセッサが実行しているプログラムを中断する割り込み命令が単に発行されるだけである。しかしながら、プロセッサ自体は、例えば補助メモリから紛失データをロードしようとする間、未だ他のプログラムで続行する位置にあり、または動作する。
【０００５】
【発明が解決しようとする課題】
しかしながら、データのこのようなローディングは、非常に時間がかかり、キャッシュメモリの場合より何倍もの時間を要する。
【０００６】
プロセッサ部内で集積化されたプログラムまたはデータを外部メモリとともに実行しなければならないときは、いずれのコンセプトも常に、あまり適していない。このような構成は、例えば、リアルタイムの動作に関してその応用のために異なる要件が課される埋め込みシステムにおいて見受けられる。典型的な応用は、上述した携帯無線電話などである。
【０００７】
従って、本発明により解決すべき課題は、一方ではプロセッサによる高速のデータ伝送または高速のデータ処理を保証し、他方ではデータアクセスが失敗した場合にプロセッサの動作に影響を及ぼさないようにしながら、メモリを高集積のプロセッサ部へ接続することを可能にするプロセッサメモリシステムを提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、
プロセッサと少なくとも一つの第１の集積化されたＲＡＭメモリとを含むプロセッサ部と、インタフェースを介して上記プロセッサ部と結合された少なくとも一つの第２の外部メモリと、上記プロセッサ部内に集積化されて上記プロセッサによりデータアドレスが要求された場合に高速メモリとして役立ち上記外部メモリからのデータが予めロードされた上記第１のＲＡＭメモリ内にこのデータが格納されているかどうかを検査するプログラム可能なメモリ管理部と、を備え、上記メモリ管理部は、上記データアドレスに関連するデータが上記ＲＡＭメモリ内に存在する場合に、このデータが格納された上記ＲＡＭメモリのアドレスを指示し、これにより上記データが上記ＲＡＭメモリから読み出され、上記データが上記ＲＡＭメモリに存在しない場合に、上記メモリ管理部は、上記検索されたデータの上記外部メモリから上記ＲＡＭメモリ内の上記検索されたデータアドレスへのローディングを引き続き開始する割り込み命令を上記プロセッサに出力する、プロセッサメモリシステムが提供される。
【０００９】
本発明により提供されるプログラム可能なメモリ管理部は、本発明にかかるプロセッサメモリシステムにおいて中心的な役割を果たす。これは、一方ではメモリ区分を特別に構成することなくキャッシュメモリとして動作する。関連するメモリとしては、通常のＲＡＭメモリが現在使用されている。プロセッサによりデータアドレスが与えられると、メモリ管理部はこのような振る舞いを示し、また、この部品は、関連するメモリマップ内でこのアドレスを検索して発見する。これは、存在する場合、即ち、ＲＡＭメモリ内に既に存在する場合、メモリ管理部がアドレスポインタを「曲げて」ＲＡＭメモリ内の関連する記憶位置からデータを読み出すことができるようにするからである。このように、メモリ管理部は、通常のキャッシュメモリと同様に振る舞う。
【００１０】
「キャッシュ・ミス」の場合、即ち、データアドレスがＲＡＭメモリ内に存在しないとき、メモリ管理部は、プログラム可能な仮想メモリとして動作し、もはやキャッシュメモリのようには動作しない。検索されたデータアドレスが存在しないことが検出された場合、プログラムされた割り込み命令がプロセッサに与えられ、この結果、現在のルーチンだけが停止する。プロセッサそのものは、いつでも他の動作を実行できるままである。通常のキャッシュメモリの場合とは異なり、待機時間は存在せず、メモリ管理部を介して開始される割り込みがあるだけである。これにより、プロセッサは、検索されたデータアドレスをロードするために必要な動作を自動的に実行する。その間メモリ管理部は非活性状態（passive）になる。これは、メモリ管理部が他の動作を邪魔しないことを意味する。ローディングの工程が終了して、即ち、割り込み命令によって停止していたルーチンの実行をメモリ管理部が再開して初めて、メモリ管理部が再びリセットされ、これにより、キャッシュメモリの意味で、即ち、次に検索されるデータアドレスが存在する限りにおいて、再び動作する。
【００１１】
本発明にかかるプロセッサメモリシステムは、原則として、追加の外部メモリからのプログラムの実行を可能にする。この文脈で用いられる「プログラム」の用語は、読み出されたデータのすべて、例えばプログラム自体のみならずテーブルデータなどをも含むものと理解されたい。このように柔軟に創られた結果、メモリ管理部の動作、即ち、メモリ管理そのものは、アプリケーションプログラマから隠匿されたままにすることができ、または必要であればアプリケーションそのものから影響を受けるようにすることもできる。本発明にかかるシステムは、仮想メモリの利点と組み合わさった高速キャッシュメモリの利点のすべて、即ち、データのロード中にプロセッサによって他のタスクを実行することを提供するものである。
【００１２】
要求されたデータアドレスの検査をメモリ管理部が簡単に行えるように、ＲＡＭメモリ内のページに格納されたデータのデータアドレスを格納するデータアドレスレジスタが設けられることが好ましい。このデータアドレスレジスタは、４ページのアドレスレジスタとして構成されると良い。本発明にかかるシステム内でロードする間に異なる意味でプロセッサがアクティブになる可能性を考慮すると、大容量のアドレスレジスタを設ける必要はない。上記データレジスタが数ページのみを収容すれば、即ち、比較的少数のページ、例えば４ページだけがキャッシュメモリという意味でのＲＡＭメモリ内に予め格納されていれば充分である。数ページという制限があるために、既知の仮想メモリ内で必要に応じて実行可能なメモリページのそれぞれへの入り口を有する変換テーブルを省けるという利点がある。要求されたデータアドレスを検査するためには、存在するメモリページのアドレス情報の制限された数を要求されたアドレスと比較するだけで良い。これにより、比較全体を非常に迅速に行うことができる。この方法そのものは、充分に関連したものである。
【００１３】
第２のデータアドレスレジスタを設けることも好適である。この場合は、第１のデータレジスタ内の第１のアドレスがアドレス検査に従って検査される。検索されたアドレスが存在しない場合、その検査がどのレジスタで行われているかを指示するレジスタアドレスがプロセッサにより変更され、これにより、第２のデータアドレスレジスタ内で上記検査を行うことができる。この結果、一方では第１のアドレスレジスタ内で優先的に検索を行うことができるという利点が得られる。これは、検索されたデータアドレスは、通常そこでも発見されるものと考えられるからである。外見上、変更が発生するのはミスの場合だけであり、そのときにメモリ管理部は、同様に４ページのレジスタで構成できる第２のアドレスレジスタ内で検索する。このことは、上述したようにレジスタの拡張が達成されるが、各検索ルーチンの間で拡張されたレジスタを完全に検索する必要はない、ということを意味する。割り込み命令に引き続き、即ち、第１のレジスタでアドレスが発見されなかった場合、プロセッサは、このアドレスが第２のレジスタ内に存在するかどうかを検査する。このことは、この場合プロセッサ自体がアドレスの検査を引き継ぐ、ということを意味する。この場合、メモリ管理部は、再びプログラムされて第２のアドレスレジスタを引き続き検索し、検索されたアドレスを指示してそのレジスタ内で発見する。従って、以上のことは、プログラム可能な変換を構成する。この実施態様は、第２のデータアドレスレジスタに限ることなく、所望の回数だけ複製することが可能である。
【００１４】
上記第２またはその他のデータアドレスレジスタを、メモリ管理部内のレジスタとしてではなく、ＲＡＭメモリ内のレジスタとして設けることも好適である。この場合、プロセッサは、メモリ管理部内に存在するデータアドレスレジスタを、他のデータアドレスレジスタに切り替える代わりに、新たにプログラムする。
【００１５】
割り込みを実行するために要求される割り込みルーチンが、いずれにしても存在するＲＡＭメモリに格納されていても、プロセッサ部内に少なくとも一つの他のメモリが集積化されていると好適である。このさらなるメモリ内で、メモリ管理部からの割り込み命令に引き続いてプロセッサが回帰する割り込み命令が格納される。割り込み命令は、既に書き込まれたデータアドレスレジスタへのプログラムを開始するものと考えられる。このさらなるメモリは、ＲＯＭメモリでもフラッシュメモリでも良い。
【００１６】
外部メモリからロードされた（好ましくはページ態様の）データ量、またはＲＡＭメモリ内のメモリ区分の大きさは、本発明にかかるプログラム可能なメモリ管理部によって変更または調整できることが好ましい。このことは、いわばソフトウェア制御のキャッシュとして振る舞うようにメモリ管理部をプログラムできるという他の利点を表す。これは、柔軟なページサイズでメモリを管理できるからである。これは、メモリ管理部を適切にプログラムすることにより簡単にできる。これはまた、特に、本発明にかかるシステムが、従来の永久に配置されたキャッシュメモリに代えて、必要なデータを格納するために動的に使用できる大きなＲＡＭメモリを利用するために、可能なのである。この理由は、ＲＡＭメモリ内で、外部メモリからロードされたデータ以外のデータが格納されるデータメモリと、外部のメモリデータが書き込まれたページメモリとの間の再区分をアプリケーションのみで決定でき、また、メモリ管理の適切なプログラムによって動的に変更しまたは構成できるためである。
【００１７】
プログラム可能なメモリ管理部を用いて任意のアルゴリズムのローディングを実現できるという点は、本発明にかかる柔軟なメモリ管理の他の利点である。これは、このローディングが、割り込み命令を介して開始され、メモリ管理部を適切にプログラムしてルーチンをロードすることにより、同様に柔軟に構成できるからである。例えば、紛失ページのみならず、これに続くページなどもロードできる。この点で、アルゴリズムの任意なローディングが実行可能である。
【００１８】
外部メモリからのデータをロードするために、プロセッサ部内にＤＭＡ（Direct Memory Access：ダイレクトメモリアクセス）ユニットを集積化することが好ましい。ローディングのために、紛失した（一つまたは複数の）ページを読み出し、このページをＲＡＭメモリに書き込むように、このユニットは、プロセッサにより適切にプログラムされる。
【００１９】
外部メモリ自体は、適切なインタフェースを介してプロセッサ部に結合されるパラレルのフラッシュメモリで良い。この外部メモリは、プロセッサ部に伝送すべきデータをシリアルからパラレルに変換するＳＰＩインタフェースを介してプロセッサ部に結合されるシリアルのフラッシュメモリであると好適である。パラレルのデータは、次に、任意に設けられたＤＭＡユニットによって内部ＲＡＭメモリからまたは内部ＲＡＭメモリへ伝送される。
【００２０】
本発明の他の利点、特徴および詳細は、図面を参照しながら以下に詳述する本発明の実施の形態のいくつかから明らかになる。
【００２１】
【発明の実施の形態】
図１は、本発明の実施の一形態であるプロセッサメモリシステム１の原理を説明する図である。プロセッサメモリシステム１は、プロセッサ部２と外部フラッシュメモリ３とを備える。本実施形態において外部フラッシュメモリ３は、シリアルフラッシュメモリとして構成される。フラッシュメモリ３は、通信回線４を介してインタフェース５でプロセッサ部２に接続される。インタフェース５は、本実施形態においてＳＰＩインタフェースである。シリアルフラッシュメモリ３により供給されるシリアルデータは、ＳＰＩインタフェースを介してパラレルデータに変換され、また、逆の通信方向においては、これとは逆にパラレルデータからシリアルデータに変換される。
【００２２】
さらに、プロセッサ６および、メモリ管理業務を実際に引き受けるメモリ管理部７もプロセッサ部２に内蔵されている。ＲＡＭメモリ９に加えてＤＭＡユニット８もまた設けられている。データは、インタフェース５とＤＭＡユニット８とを介して外部フラッシュメモリ３からＲＡＭメモリ９にロードされ、また、ＤＭＡユニット８とインタフェース５とを介してＲＡＭメモリ９から外部フラッシュメモリ３に与えられる。最後に、メモリ１０もプロセッサ部２にさらに内蔵されている。メモリ１０は、例えばＲＯＭメモリであっても良いし、また、さらなるフラッシュメモリであっても良い。外部フラッシュメモリ３を除いて、上述した構成部品は、共通の通信バス１１にすべて接続される。
【００２３】
本実施形態の中心部は、プログラム可能なメモリ管理部７により形成される。メモリ管理部７の動作原理を図２に示す。動作中は、プロセッサ６がバス１１を介してデータアドレスの要求をメモリ管理部７に継続的に送る。これらのデータアドレスは、プロセッサが現在のアプリケーションを動作させるために必要な、外部のフラッシュメモリ３内のデータブロックを指示する。このデータの一部は、動作に先立って、ＤＭＡユニット８を介してＲＡＭメモリ９に予めロードされたものである。ＲＡＭメモリ９は、キャッシュメモリとして役立つ高速メモリとして使用される。高速ＲＡＭメモリ９内に存在するデータは、これよりも遅く動作する外部のフラッシュメモリ３からよりもずっと速くプロセッサ６に伝送することができる。中心的な管理機能は、メモリ管理部７によって遂行される。プロセッサ６によって出力されるアドレス、本実施形態においてアドレスＡ３１…Ａ０は、メモリ管理部７に送られる。その構成部は、まず、外部のフラッシュメモリ３に関連し得るアドレスが関係するかどうかを検査する。メモリマップ１２は、外部のメモリの開始アドレスと終了アドレスとを含む。上述したアドレス要求がなされると、メモリ管理部７は、最初に、フラッシュメモリのアドレスが関係するかどうかを検査する（矢印ａ）。関係する場合は、供給されたアドレスは、データアドレスレジスタ１５に格納された基本アドレスと比較される（矢印ｂ）。データアドレスレジスタ１５には、４つの基本アドレス１６だけが格納され、これは、４つのページ１７ａ，１７ｂ，１７ｃ，１７ｄだけが外部のフラッシュメモリ３から、アドレスレジスタ１５の右に部分的に示されたＲＡＭメモリ９へ格納されるからである。ＲＡＭメモリ９の残りの格納位置は、他のデータを格納するために利用できる。基本アドレス１６は、それぞれ、関連するＲＡＭメモリのページ１７ａ，１７ｂ，１７ｃ，１７ｄ内における、外部メモリのアドレスセクションの開始アドレスを指示する。このようにして、基本アドレスから、基本アドレスプラスページサイズ１の範囲内のデータがすべてＲＡＭに格納される。ＲＡＭメモリアドレスに基づいてプロセッサにより発行された外部メモリアドレスのマッピングが図２において固定される。この点を各矢印Ｃで表す。
【００２４】
矢印ｂに従った試験によって、検索されたアドレスをＲＡＭメモリに割り当てることができること、即ち、ＲＡＭメモリ内で既にそのページが存在することが分かった場合は、そのデータアドレスは、ＲＡＭメモリにおいて他の態様で示されるアドレスを指示するように、「曲げ」られ、または変換される（イエスの分岐における波線矢印ｄを参照されたい）。元々アドレスＡ３１…Ａ０で検索されたデータは、ＲＡＭ９内でこのアドレスに格納される。このデータは、次に、プロセッサ６内にロードされる。
【００２５】
比較により、データがないことが判明すると（ノーの分岐における矢印ｅ参照）、割り込み命令１８がメモリ管理部７からプロセッサ６へ与えられる（矢印ｆ参照）。これにより、マイクロプロセッサは、現在のルーチンを中断し、例えばプロセッサ部２内の第２メモリ１０からの割り込みルーチンを開始する。続いて、例えばフラッシュメモリ３からの紛失データのローディングが、例えばプロセッサ６内のルーチンによって開始される（矢印ｇ参照）。この目的のため、プロセッサ６は、検索されたフラッシュメモリアドレスが供給されたＤＭＡユニット８と通信を行い、これによりプロセッサ６はローディング動作を遂行できる。多少大きなデータブロックについてローディング動作を行っている間、プロセッサ６は、他のタスクのために利用できる。即ち、プロセッサ６は、通常のキャッシュメモリの動作におけるようなプロセッサの活動すべてを示す待機状態には無い。これにより、プロセッサ６は、他のタスク用に使用可能である。データが紛失している現在のルーチンがしばらくの間中断されるだけである。データが高速のＲＡＭメモリ９にロードされると、このことがすぐにプロセッサ６に知らされる。このような動作方法の全体によって、データのアクセスが失敗した場合であっても、プロセッサの動作を外見上継続させることが可能になる。
【００２６】
このように、メモリ管理部は、データアクセスが成功したかどうかに従って、キャッシュメモリとして、またはプログラム可能な仮想メモリとして振る舞う。通常、メモリ管理部７は、到来するデータアドレスを、アドレスレジスタ内に存在するかまたはＲＡＭメモリ９内に格納されているかについて検査する、という点でキャッシュとして動作する。従って、この場合は、与えられたアドレスは「曲げ」られ、これにより、ＲＡＭメモリ内の関連するメモリ位置がメモリ管理部７によって指示されてそこからデータを読み取ることができる。「キャッシュ・ミス」の場合は、仮想メモリ部により既に知られているものとしての「ページ不良」として扱われる。純粋なキャッシュ機能の場合とは異なり、この場合は、プロセッサ内の現在のアプリケーションを中断してローディング動作を開始するように割り込み命令だけが与えられる。
【００２７】
純粋なキャッシュ機能の場合であれば、このイベントで待ち状態になるであろう。結果として、プロセッサ全体が、低速のフラッシュメモリからデータが伝送されるまで、すべての動作について遮断される。これは、比較的長い時間を要するときがある。外部のフラッシュメモリが低速のメモリだからである。しかしながら、本実施形態のシステムにおいては、上述したように、プロセッサは単に中断の状態にあるだけであり、このため、紛失した情報がＲＡＭメモリ９からＤＭＡを介して伝送される間、他の動作を実行することができる。しばらくの間、メモリ管理部７は、非活性状態のままである。
【００２８】
図３ａは、検索された外部メモリアドレスの内容がＲＡＭメモリにロードされた場合に（図２矢印ｄ）、プロセッサが与えた外部メモリアドレス（図２矢印ｃ）をＲＡＭメモリアドレスへ固定的に変換したものを示す。各レジスタについて、メモリ管理部７によって「処理された」関連する「ワーキングアドレス」が右方向に示されている。第１のアドレスブロックＡは、ＲＡＭメモリ内の全ページの基本アドレスを含む。同図に示す例では、このアドレスは１１１１  １１１１１１１１  １１１１  １１１であり、外部メモリのデータが格納されたＲＡＭメモリセクションがアドレスマップの上端に位置することを指示している。
【００２９】
データブロックＢは、検索されたアドレスデータが位置する、関連するページを指示している。Ｐ０とＰ１は、プロセッサから与えられた外部メモリアドレスの基本アドレス（ワーキングアドレス）が４つの基本アドレスレジスタのうちどれで発見されたか（図２矢印ｂ）という事実に従ってセットされる。最後に、「ワーキングアドレス」はまた、同図に示す例においてＡｎ…Ａ０であるページ内のアドレスを有するブロックＣを含む。この部分のアドレスは、プロセッサ６によって直接引き継がれる。部分ＡとＢは、メモリ管理ユニットの指示に従って変形される。
【００３０】
しかしながら、図３ｂは、柔軟な変換を示す。固定的な変換とは反対に、領域ＡとＢとＣとの間の境界は、ここでは自由に選択することができる。Ｂの長さは、基本アドレスレジスタの数量によって決定される。領域ＢとＣとは、固定的な変換で使用した方法と同様の方法でマッピングされる。領域Ａについては、任意のＲＡＭメモリ基本アドレスをプログラムすることができる。これにより、ＲＡＭメモリのページの位置と大きさをプログラムすることができる。この結果、この場合は、メモリ管理ユニットで割り込みによりプログラムされる、十分に柔軟な変換が実現される。
【００３１】
メモリ管理部を適切にプログラムすることにより、ローディングの方策に影響を及ぼすことも可能である。例えば、ローディングの場合に、検索されたページや検索されたデータブロックのみならず、次のページやデータブロックをロードすることができる。これにより、メモリ管理部をプログラムすることで割り込みの動作に影響を及ぼすことができる。このことは、データが現実にＲＡＭメモリにロードされた時に割り込みが既にトリガされているようにすることで遂行できる。これにより、ローディングすることなくプログラムを高速で継続することができ、そのため、次ページのローディングを先行して開始することができる。プログラム可能であることで、ＲＡＭメモリの記憶容量を柔軟に再分割することもできる。即ち、フラッシュメモリのデータローディングを意図した領域を動的に変更することができる。
【００３２】
最後に、図４は、拡張されたデータアドレスレジスタと協動する可能性を示す図である。同図は、２つのデータアドレスレジスタ１５ａ，１５ｂを示す。レジスタ１５ｂは、レジスタ１５ａに続く。レジスタ１５ａは、図２のレジスタに実質的に対応する。レジスタ１５ｂはまた、４ページのアドレスレジスタ１５として構成される。プロセッサをプログラムすることにより、データアドレスレジスタ１５ａと１５ｂのいずれをアクティブにするかが決定される。このことは、メモリ管理部がデータアドレスレジスタ１５ａと１５ｂのいずれかと協動することを意味する。
【００３３】
【発明の効果】
以上詳述したとおり、本発明にかかるプロセッサメモリシステムによれば、データアドレスに関連するデータがＲＡＭメモリに存在する場合はキャッシュメモリと同様に動作し、上記データが上記ＲＡＭメモリに存在しない場合はプログラム可能な仮想メモリとして動作するメモリ管理部を備えるので、待機時間を設けることなく、データのロード中にプロセッサに他のタスクを実行させることができる。
【図面の簡単な説明】
【図１】本発明にかかるプロセッサメモリシステムの原理を説明する図である。
【図２】図１に示すシステムの動作原理を説明する図である。
【図３ａ】２つのデータアドレスレジスタが関与する動作原理を説明する図である。
【図３ｂ】２つのデータアドレスレジスタが関与する動作原理を説明する図である。
【図４】拡張されたデータアドレスレジスタと協動する可能性を示す図である。
【符号の説明】
１  プロセッサメモリシステム
２  プロセッサ部
３  フラッシュメモリ（シリアル）
４  通信回線
５  ＳＰＩインタフェース
６  マイクロプロセッサ
７  メモリ管理部
８  ＤＭＡユニット
９  ＲＡＭメモリ
１０  メモリ（ＲＯＭ／フラッシュ）
１３  フラッシュ
１５，１５ａ，１５ｂ  データアドレスレジスタ
１６  基本アドレス
１７ａ〜１７ｄ  ページ
１８  割り込み命令
【図１】
0005007868.tif 000002
【図２】
0005007868.tif 000003
【図３ａ】
0005007868.tif 000004
【図３ｂ】
0005007868.tif 000005
【図４】
0005007868.tif 000006