(57)【特許請求の範囲】
【請求項１】
データ処理システムであって、
少なくとも１つの代替アドレス属性を格納する第１の記憶回路と、
少なくとも１つの通常アドレス属性を格納する第２の記憶回路と、
物理アドレスと少なくとも１つの対応するアドレス属性を供給するメモリ管理回路とを備え、前記メモリ管理回路は、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性を前記対応するアドレス属性として選択的に供給し、
前記第１の記憶回路は、代替物理アドレスと対応する複数の代替アドレス属性を格納し、前記第２の記憶回路は、複数の通常アドレス属性を格納し、前記メモリ管理回路は、前記物理アドレスと複数の対応するアドレス属性を供給し、前記メモリ管理回路は、前記複数の通常アドレス属性に代えて、前記複数の代替アドレス属性を前記複数の対応するアドレス属性として選択的に供給し、
前記複数の通常アドレス属性の各々は、アクセス許可と、前記物理アドレスに対応して選択されたアクセス属性とを含み、前記複数の代替アドレス属性の各々は、アクセス許可と、前記代替物理アドレスに対応して選択されたアクセス属性とを含む、データ処理システム。
【請求項２】
データ処理システムであって、
代替物理アドレスを格納する第１の記憶回路と、
通常物理アドレスを格納する第２の記憶回路と、
少なくとも１つの代替アドレス属性を格納する第３の記憶回路と、
仮想アドレスを受け取り、前記仮想アドレスの受け取りに応答して、対応する物理アドレスを供給するメモリ管理回路とを備え、前記メモリ管理回路は、前記通常物理アドレスに代えて、前記代替物理アドレスを前記対応する物理アドレスとして選択的に供給し、前記第２の記憶回路は、前記通常物理アドレスに対応する少なくとも１つの通常アドレス属性を格納し、前記メモリ管理回路は、少なくともオーバーライド制御インジケータの一部に基づき、前記少なくとも１つの通常アドレス属性に代えて前記少なくとも１つの代替アドレス属性を選択的に供給し、
前記少なくとも１つの通常アドレス属性は、アクセス許可と、前記通常物理アドレスに対応して選択されたアクセス属性とを含み、前記少なくとも１つの代替アドレス属性は、アクセス許可と、前記代替物理アドレスに対応して選択されたアクセス属性とを含む、データ処理システム。
【請求項３】
メモリ管理回路を備えるデータ処理システムにおいてメモリ管理を行う方法であって、
少なくとも１つの代替アドレス属性と少なくとも１つの通常アドレス属性とを格納する前記メモリ管理回路を選択的に設定すること、
仮想アドレスを受け取ること、
前記仮想アドレスの受け取りに応答して、対応する物理アドレスと少なくとも１つの対応するアドレス属性を供給することとを備え、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性が前記少なくとも１つの対応するアドレス属性として選択的に供給され、前記メモリ管理回路は、更に代替物理アドレスと通常物理アドレスを格納し、前記対応する物理アドレスを供給することは、前記通常物理アドレスに代えて、前記代替物理アドレスが前記対応する物理アドレスとして選択的に供給されるように行われ、
前記少なくとも１つの通常アドレス属性は、アクセス許可と、前記通常物理アドレスに対応して選択されたアクセス属性とを含み、前記少なくとも１つの代替アドレス属性は、アクセス許可と、前記代替物理アドレスに対応して選択されたアクセス属性とを含む、メモリ管理方法。
【請求項４】
メモリ管理回路を備えるデータ処理システムにおいてメモリ管理を行う方法であって、
少なくとも１つの代替物理アドレスと少なくとも１つの通常物理アドレスとを格納し、少なくとも１つの代替アドレス属性と少なくとも１つの通常アドレス属性とを格納する前記メモリ管理回路を選択的に設定すること、
仮想アドレスを受け取ること、
前記仮想アドレスの受け取りに応答して、対応する物理アドレスと少なくとも１つの対応するアドレス属性を供給することとを備え、前記通常物理アドレスに代えて、前記代替物理アドレスが前記対応する物理アドレスとして選択的に供給され、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性が前記少なくとも１つの対応するアドレス属性として選択的に供給され、
前記少なくとも１つの通常アドレス属性は、アクセス許可と、前記通常物理アドレスに対応して選択されたアクセス属性とを含み、前記少なくとも１つの代替アドレス属性は、アクセス許可と、前記代替物理アドレスに対応して選択されたアクセス属性とを含む、メモリ管理方法。
【請求項５】
データ処理システムであって、
代替物理アドレスを格納する第１の記憶回路と、
少なくとも１つの代替アドレス属性を格納する第２の記憶回路と、
通常物理アドレスを格納する第３の記憶回路と、
少なくとも１つの通常アドレス属性を格納する第４の記憶回路と、
ＮＥＸＵＳ規格に準拠するデバッグ動作を行うデバッグ回路と、
前記デバッグ回路、前記第１の記憶回路、前記第２の記憶回路、前記第３の記憶回路、及び前記第４の記憶回路に接続されたメモリ管理回路とを備え、前記メモリ管理回路は、ＮＥＸＵＳ（商標）規格に準拠するデバッグ動作中の仮想アドレスの受け取りに応答して、少なくとも代替アドレスインジケータの一部に基づき、前記通常物理アドレスに代えて、前記代替物理アドレスを対応する物理アドレスとして選択的に供給し、かつ、少なくともオーバーライド制御インジケータの一部に基づき、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性を対応するアドレス属性として選択的に供給し、
前記少なくとも１つの通常アドレス属性は、アクセス許可と、前記通常物理アドレスに対応して選択されたアクセス属性とを含み、前記少なくとも１つの代替アドレス属性は、アクセス許可と、前記代替物理アドレスに対応して選択されたアクセス属性とを含む、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、特に、データ処理システムにおけるメモリ管理に関する。
【背景技術】
【０００２】
データ処理システムの多くは、通常動作を中断してデバッグ・モードを実行するハードウェア・デバッグ・モードをサポートしている。デバッグ動作は、デバッグ回路から実行プロセッサへ命令を供給することにより行われる。プロセッサはその後、デバッグ・モードに戻り、次のコマンドを待つ。デバッグ回路は、デバッグ・セッションが終了するまで、プロセッサのステップ処理を制御する。そして、プロセッサの制御が解除され、プロセッサは通常実行を再開する。デバッグ・セッションでは、通常、命令は、メモリから読み込まれるのではなく、デバッグ回路から供給される。この命令の供給は、多くの場合、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）シリアル・インターフェイス等のスキャン・インターフェイスを介して行われる。
【０００３】
ステップ処理される命令を使用して、プロセッサのレジスタの状態が検査され（例えば移動命令を実行し、その命令の結果を補足し、その結果をデバッグ回路に供給する）、かつ、メモリ等のシステム状態が検査される（例えばロード命令を実行し、その命令の結果を補足し、その結果をデバッグ回路に供給する）。また、移動命令や格納命令により、データ処理システムにおけるリソースの変更も可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
可能な限り通常動作の妨げとならないようにするため、デバッグ・プロセス中にシステム状態を外部から変更することを最小限にするか、または無くすことが望ましい。
【発明を実施するための最良の形態】
【０００５】
本明細書において、「バス」は、データ、アドレス、制御、状態等の種々の情報を伝送するのに使用される複数の信号または導線を指すのに使用される。「有効にする」は、信号や状態ビットや同様の装置を論理的に真の状態にすることを指すのに使用され、「無効にする」は、信号や状態ビットや同様の装置を論理的に偽の状態にすることを指すのに使用される。論理的に真の状態が論理レベル「１」の場合、論理的に偽の状態は論理レベル「０」である。論理的に真の状態が論理レベル「０」の場合、論理的に偽の状態は論理レベル「１」である。
【０００６】
可能な限り通常動作の妨げとならないようにするため、デバッグ・プロセス中にシステム状態を外部から変更することを最小限にするは、または無くすことが望ましい。しかし、キャッシュ・メモリやメモリ管理部を備えるプロセッサのデバッグを行う場合は、問題が生じる。つまり、これらのシステムでは、アドレス変換の失敗を防止するとともに、キャッシュ及びメモリの状態の意図しない変更を防止するために、デバッグ・セッションにおいて、キャッシュ・ポリシーを制御したり、アドレス変換処理を制御したりする必要がある。本発明においては、物理アドレス生成及びアクセス属性情報を制御する手段を備えるデバッガを提供することで、本発明は、従来のシステムの問題、つまり、これらの機能に対してデバッガの制御が不可能または限定的であること、を克服する。また、本発明は、別の従来のシステムの問題、つまり、デバッグ動作中に正しく機能させるために、メモリ管理部及びキャッシュ・システムを再構成する必要があり、その再構成に広範囲な演算を実行する必要があること、をも克服する。この従来のシステムでは、再構成の後に広範囲の復元処理が必要であるが、そのような復元処理が不可能な場合もある。
【０００７】
図１は、本発明の一実施形態に従うデータ処理システム１０を示す。図示される本実施形態において、データ処理システム１０は、少なくとも１つのプロセッサ１２と、メモリ管理回路１４と、デバッグ回路１６と、メモリ１８と、他の回路１９とを含む。これらすべては、通信バス２４と双方向に接続されている。別の実施形態においては、デバッグ回路１６は、通信バス２４と接続されていなくてもよい。プロセッサ１２は、キャッシュ１３等の１つまたは複数のキャッシュを備えてもよい。本発明の別の実施形態においては、データ処理システム１０は、１つの集積回路に実装されてもよく、あるいは、複数の集積回路に実装されてもよい。別の実施形態においては、メモリ１８は、どのような種類のメモリであってもよく、プロセッサ１２と同じ集積回路上に設けられてもよく、あるいは、プロセッサ１２とは別の集積回路上に設けられてもよい。他の回路１９は、任意であって、他の回路１９が実行する所望の機能は、どのようなものであってもよい。例えば、他の回路１９は、タイマー機能、データ処理機能、通信機能、出入力機能、メモリ機能、アナログ・ディジタル変換機能、ディスプレイ・ドライバ機能、外部バス・インターフェイス機能等の機能のうち、１つまたは複数の機能を実行する回路であってもよい。また、他の回路１９は、データ処理システム１０の外部と通信を行えるように、端子２２に接続されてもよい。
【０００８】
尚、メモリ管理回路１４は、種々の態様で実施可能である。本発明の一実施形態において、メモリ管理回路１４は、アドレス属性を供給するとともに、仮想アドレスから物理アドレスへのアドレス変換を行うメモリ管理部として機能する。本発明の別の実施形態においては、メモリ管理回路１４は、アドレス属性を供給するとともに、高低境界アドレスを格納する境界レジスタとして機能する。本発明の更に別の実施形態では、メモリ管理回路１４は、アドレス属性を供給するが、アドレス変換やアドレス境界のチェックは行わない。本発明の実施形態において、アドレス属性は、メモリ管理回路１４の外部のデータ処理システム１０における別の部分に格納してもよい。
【０００９】
本発明の一実施形態においては、デバッグ回路１６は、制御レジスタ１７を含む。本発明の実施形態において、デバッグ回路１６は、データ処理システム１０の外部と通信を行えるように、デバッグ端子２０に接続されてもよい。デバッグ端子２０は、デバッグ制御情報をデータ処理システム１０に供給するために使用されてもよい。デバッグ端子２０は、デバッグ動作に関する結果情報を、データ処理システム１０からデータ処理システム１０の外部に位置する外部の監視回路（図示略）に供給するために使用されてもよい。本発明の実施形態において、デバッグ回路１６は、信号２８を介してメモリ管理回路１４と双方向に接続されてもよい。この場合、デバッグ回路１６は、信号２８を介して、制御情報（例えば、制御レジスタ１７の少なくとも一部分）をメモリ管理回路１４に供給する。また、本発明の実施形態において、デバッグ回路１６は、信号２６を介してプロセッサ１２と双方向に接続されてもよい。また、本発明の実施形態において、メモリ管理回路１４は、信号３０を介してプロセッサ１２と双方向に接続されてもよい。本発明の実施形態において、デバッグ回路１６と、データ処理システム１０におけるデバッグ回路１６以外の部分とのやりとりは、ＪＴＡＧ規格やＮＥＸＵＳ（商標）５００１規格等の既存の規格に準拠して行われてもよい。
【００１０】
図２は、本発明の一実施形態に従う図１に示す制御レジスタ１７を示す。図２は特定のビット・フィールドを使用する本発明の具体的な実施形態を示すものであるが、本発明の別の実施形態では、各フィールドのビット数がこれとは異なるビット・フィールドが使用されてもよい。図２に示される具体的なビットは、単なる例示にすぎない。
【００１１】
図２に示される制御レジスタ１７の具体的な実施形態について、その機能を更に図３及び図４に示す。前述の通り、制御レジスタ１７の種々の実施形態において、異なる名前及び異なるビット数を有するビット・フィールドが使用されてもよい。本発明の一実施形態において、制御レジスタ１７は、読み出しも可能な書き込み可能レジスタであり、また、ユーザのプログラム・モデルの一部である。本発明の別の実施形態においては、制御レジスタ１７は、ユーザのプログラム・モデルにおける制御レジスタでなくてもよい。つまり、制御レジスタ１７は、ユーザのプログラム・モデル外で実現されるものであってもよい。制御レジスタ１７を実現するために使用される記憶回路は、どのような種類のものであってもよい。
【００１２】
図２〜４に示される本発明の具体的な実施形態は、ビット位置０から１９に位置する代替物理アドレスＤＭ＿ＰＡＧＥ＿ＢＡＳＥ５０を含む。本発明の別の実施形態においては、代替物理アドレスの長さは何ビットでもよく、代替物理アドレスを特定する名前は何であってもよい。図２〜４に示される本発明の具体的な実施形態は、ビット位置２１と２２にそれぞれ位置するインジケータＤＭ＿ＭＡＰ５２とＤＭＤＩＳ５３を含む。本発明の別の実施形態においては、各インジケータの長さは何ビットでもよく、各インジケータの所望のインジケータ機能は何であってもよく、各インジケータを特定する名前は何であってもよい。
【００１３】
図２〜４に示される本発明の具体的な実施形態は、ビット位置２４、２５、２６、２７、２８にそれぞれ位置するアドレス・アクセス属性ＤＷ５５、ＤＩ５６、ＤＭ５７、ＤＧ５８、ＤＥ５９を含む。本発明の別の実施形態においては、各アドレス・アクセス属性の長さは何ビットでもよく、各アドレス・アクセス属性の所望のアドレス・アクセス機能は何であってもよく、各アドレス・アクセス属性を特定する名前は何であってもよい。図２〜４に示される本発明の具体的な実施形態は、プロセッサ１２がデバッグ・モードに入ることを無条件にリクエストする制御ビットＤＲ６０を含む。本発明の別の実施形態においては、この制御ビットを使用せずに、異なる態様でプロセッサ１２をデバッグ・モードに入らせるようにしてもよい。図２〜４に示される本発明の具体的な実施形態では、将来の用途または本発明に関連しない用途のためにリザーブしたビット位置、つまり、ビット位置２０、２３、２９、３０、を含む。本発明の実施形態において、これらのリザーブしたビットは、所定の値にリセットすることにより実現してもよい。所定の値を２進数の「０」としてもよいし、或いは、２進数の「１」としてもよい。
【００１４】
図３及び図４を参照して、「Ｗ」属性ビットは、キャッシュ１３のライト・スルー制御を決定するものである。「Ｉ」属性ビットは、キャッシュ１３のキャッシュ・インヒビット制御を決定するものである。「Ｍ」属性ビットは、キャッシュ１３のメモリ・コヒーレンス制御を決定するものである。「Ｇ」属性ビットは、キャッシュ１３の保護メモリ領域制御を決定するものである。「Ｅ」属性ビットは、キャッシュ１３のエンディアン（Ｅｎｄｉａｎ）制御（例えば、最上位バイトの位置）を決定するものである。本発明の別の実施形態においては、アクセス属性５５〜５９として、上記のものより多いか、または少ない属性、または上記のものとは異なる属性を使用してもよい。
【００１５】
図５は、本発明の一実施形態に従う図１に示すデバッグ回路１６とメモリ管理回路１４の一部分を示す。尚、図５に示す回路は、図３及び図４に示した制御レジスタ１７のビットの機能を実施するための一例にすぎない。本発明の別の実施形態においては、図３及び図４に示した制御レジスタ１７のビットの機能を実施する種々の回路が使用可能である。本発明の更に別の実施形態では、制御レジスタ１７において、これらとは異なるビットを使用して、本発明を実施してもよい。また、本発明の実施形態において、必要な制御情報を格納するために制御レジスタ１７を使用しないことも可能である。この場合、端子を介して、ユーザにより定義される制御情報をデータ処理システム１０外部から供給してもよい。或いは、データ処理システム１０において、ユーザにより定義される制御情報を、ユーザ・プログラム・モデルにおけるレジスタ以外の記憶回路に格納してもよい。
【００１６】
図５に示される回路は、変換索引バッファ（ＴＬＢ）７０を含む。ＴＬＢ７０は、仮想アドレス８０を受け取り、対応するＴＬＢ物理アドレス８１を出力する。マルチプレクサ（ＭＵＸ）７４は、物理アドレス８３の供給源を判断するために使用される。ＤＭ＿ＭＡＰビット５２が有効になると、ＭＵＸ７４は、ＤＭ＿ＰＡＧＥ＿ＢＡＳＥビット５０を、物理アドレス８３として供給する。ＤＭＤＩＳビット５３が有効になると、ＭＵＸ７４は、仮想アドレス８０を、物理アドレス８３として供給する（この場合、仮想アドレス８０と物理アドレス８３間における１：１のマッピングが実現する）。ＤＭ＿ＭＡＰビット５２が無効になり、ＤＭＤＩＳビット５３が無効になると、ＭＵＸ７４は、ＴＬＢ物理アドレス８１を物理アドレス８３として供給する。ＴＬＢ７０及びアドレス属性７３を実現するために使用される記憶回路は、どのような種類のものであってもよい。選択機能（例えば、物理アドレス８３として供給する物理アドレスの選択や、アドレス属性８４として供給するアドレス属性の選択）は、回路７４、７６及び７８によって実現してもよい。或いは、この選択機能を実現するために使用する回路は、どのような種類ものであってもよい。
【００１７】
マルチプレクサ（ＭＵＸ）７６は、アドレス属性８４の供給源を判断するために使用される。ＤＭ＿ＭＡＰビット５２またはＤＭＤＩＳビット５３が有効になると、ＭＵＸ７６は、アドレス属性７３をアドレス属性８４として供給する。アドレス属性７３は、アクセス許可７２とアクセス属性５５〜５９を含む。アクセス許可は、特定の機能（例えば書込み動作）が許可されるかどうかに関するアドレス属性である。アクセス属性は、その特定のアドレスに対応して選択することが可能な他の特性や属性に関するものである。ＤＭ＿ＭＡＰビット５２もＤＭＤＩＳビット５３も有効でない場合、ＭＵＸ７６は、ＴＬＢアドレス属性８２をアドレス属性８４として供給する。本発明の実施形態において、ＴＬＢアドレス属性８２は、アクセス許可及びアクセス属性を含んでもよい。本発明の別の実施形態においては、ＴＬＢアドレス属性８２は、アクセス許可のみを含むか、またはアクセス属性のみを含んでもよい。尚、ＴＬＢ物理アドレス８１及びＴＬＢアドレス属性８２は、仮想アドレス８０に基づき選択されていた。本発明の一実施形態においては、ＴＬＢ７０は、標準の先行技術の形態にて動作するものとする。
【００１８】
図５を参照して、ＤＭ＿ＭＡＰビット５２は、一つまたは複数の代替アドレス属性７３を選択的に供給し、ＴＬＢ７０によって供給された対応する通常のＴＬＢアドレス属性８２を置換またはオーバーライドするために使用される。本発明の実施形態において、ＴＬＢアドレス属性８２は、アクセス許可とアクセス属性を含んでもよく、代替アドレス属性７３はアクセス許可７２とアクセス属性５５〜５９を含んでもよい。本発明の一実施形態においては、ＴＬＢアドレス属性８２のアクセス属性は、アクセス属性５５〜５９の値により選択的にオーバーライドまたは置換され、ＴＬＢアドレス属性８２のアクセス許可部分は、アクセス許可７２の値により選択的にオーバーライドまたは置換される。本発明の一実施形態においては、アクセス属性５５〜５９は、ユーザ・プログラマブルであり、アクセス許可７２は、ユーザ・プログラマブルでない所定の値である。本発明の別の実施形態においては、アドレス属性７３をすべてユーザ・プログラマブルとしてもよいし、アドレス属性７３をすべてユーザ・プログラマブルでないとしてもよい。或いは、アドレス属性７３の別の部分をユーザ・プログラマブルであるとしてもよい。
【００１９】
尚、本発明の実施形態において、データ処理システム１０は、アクセス属性５５〜５９に加えて、スーパバイザ実行（Ｓｕｐｅｒｖｉｓｏｒ  Ｅｘｅｃｕｔｅ：ＳＸ）のアクセス許可、スーパバイザ読み取り（Ｓｕｐｅｒｖｉｓｏｒ  Ｒｅａｄ：ＳＲ）のアクセス許可、スーパバイザ書き込み（Ｓｕｐｅｒｖｉｓｏｒ  Ｗｒｉｔｅ：ＳＷ）のアクセス許可、ユーザに実行（Ｕｓｅｒ  Ｅｘｅｃｕｔｅ：ＵＸ）のアクセス許可、ユーザ読み取り（Ｕｓｅｒ  Ｒｅａｄ：ＵＲ）のアクセス許可、及びユーザ書き込み（Ｕｓｅｒ  Ｗｒｉｔｅ：ＵＷ）のアクセス許可を使用してもよい。一実施形態においては、メモリ管理回路１４を無効にするためにＤＭＤＩＳビット５３が有効になると、これらのアクセス許可はすべて（スーパバイザ／ユーザの読み取り／書き込みの状態にかかわらず）フルアクセスを示す所定の状態となる。本発明の一実施形態においては、アドレス属性８４は、上記アクセス許可と図２〜４に示すアクセス属性５５〜５９の両方を含む。
【００２０】
図６は、本発明の一実施形態に従うメモリ管理方法を示すフローチャートである。図６に示す処理は、楕円９０に始まり、ステップ９１に続く。ステップ９１において、デバッグが始まる。本処理は、ステップ９１から、判断を表す菱形９２に移行する。ステップ９２では、「制御レジスタ１７の設定が必要かどうか」が判断される。判断結果が肯定の場合、本処理は、ステップ９３に移行する。ステップ９３では、制御レジスタ１７の設定が行われる。本処理は、ステップ９４へ移行する。ステップ９２での判断結果が否定の場合、本処理はステップ９４へ移行する。ステップ９４では、制御レジスタ１７を用いてデバッグ動作が行われ、代替物理アドレスの選択的供給及び代替アドレス属性の選択的供給が行われる。その後、本処理は楕円９５に移行し、終了する。
【００２１】
図７は、本発明の別の実施形態に従う変換索引バッファ１０１を示すブロック図である。本発明の別の実施形態において、変換索引バッファ（ＴＬＢ）１０１は、各エントリについて、デバッグ・モード・インジケータ１００に対応する追加ビット（ビット１０９と総称される）を含む。デバッグ・モード・インジケータ１００は、代替アドレス・インジケータまたはオーバーライド制御インジケータとして機能してもよい。本発明の一実施形態においては、デバッグ・モード・インジケータ１００が「０」の場合、ＴＬＢ１０１の通常動作部分１０２を用いて物理アドレス８３とアドレス属性８４が供給され、デバッグ・モード・インジケータ１００が「１」の場合、ＴＬＢ１０１のデバッグ動作部分１０３を用いて物理アドレス８３とアドレス属性８４が供給される。本発明の別の実施形態においては、この機能を、所望の態様にてＴＬＢ１０１に実行させてもよい。尚、本発明の一実施形態においては、アドレス属性８４は、アクセス許可１０４とアクセス属性１０５の両方を含む。本発明の別の実施形態においては、アドレス属性は、アクセス許可１０４のみを含むか、アクセス属性１０５のみを含んでもよい。ＴＬＢ１０１、物理アドレス８３及びアドレス属性８４を実現するために使用する記憶回路は、どのような種類のものであってもよい。
【００２２】
図８は、図７に示される本発明の別の実施形態に従うメモリ管理方法を示すフローチャートである。図８に示す処理は、楕円１１０に始まり、ステップ１１１に続く。ステップ１１１において、デバッグが始まる。本処理は、ステップ１１１から、判断を表す菱形１１２に移行する。ステップ１１２では、「デバッグ・モード・インジケータ１００が有効かどうか」が判断される。判断結果が肯定の場合、本処理は、ステップ１１４へ移行する。ステップ１１４では、ＴＬＢ１０１のデバッグ動作部分により代替物理アドレス及び代替アドレス属性が供給される。その後、本処理は楕円１１５に移行する。ステップ１１２での判断結果が否定の場合、本処理はステップ１１３へ移行する。ステップ１１３では、ＴＬＢ１０１の通常動作部分により物理アドレス及びアドレス属性が供給される。その後、本処理は楕円１１５に移行する。楕円１１５において、本処理は終了する。
【００２３】
本発明において、メモリ管理回路１６は、少なくともオーバーライド制御インジケータの一部に基づき、少なくとも一つの代替アドレス属性を、データ処理システム１０により使用されるべき対応するアドレス属性として、選択的に供給してもよい。オーバーライド制御インジケータは、1ビット（例えば５２または５３）であるか、ビットを任意に組み合わせたもの（例えば５２と５３）であってもよい。或いは、オーバーライド制御インジケータは、デバッグ・モード・インジケータ１００等の信号であってもよい。本発明の別の実施例においては、オーバーライド制御インジケータの機能を、所望の態様にて実施してもよい。
【００２４】
本発明の一実施形態においては、ＤＭ＿ＭＡＰ５２（図３参照）は、代替アドレス・インジケータとして機能してもよい。本発明の別の実施例においては、任意に組み合わせた（例えば、図５に示す論理ゲート７８により組み合わせた）ビット（例えば５２と５３）は、代替アドレス・インジケータとして機能してもよい。本発明の更に別の実施形態においては、例えばデバッグ・モード・インジケータ１００のような適切な信号は、代替アドレス・インジケータとして機能してもよい。本発明の別の実施形態においては、代替アドレス・インジケータの機能を、所望の態様にて実施してもよい。
本発明の一実施形態においては、ＤＭＤＩＳ５３（図３参照）は、アドレス変換インジケータとして機能してもよい。本発明の別の実施例においては、変換索引バッファ７０を備えないメモリ管理回路１４がアドレス変換インジケータとして機能してもよい。本発明の更に別の実施例においては、任意に組み合わせた（例えば、図５に示す論理ゲート７８により組み合わせた）ビット（例えば５２と５３）は、アドレス変換インジケータとして機能してもよい。本発明の別の実施形態においては、アドレス変換インジケータの機能を、所望の態様にて実施してもよい。
尚、上述の機能を実施する態様については、どのような態様であってもよい。例えば、図２〜８により説明した機能を実施する回路は、どのような態様で分配されたものであってもよく、また、データ処理システム１０内のどのような位置に設けられたものであってもよい。
以上、本明細書において本発明を具体的な実施形態に基づいて説明してきたが、請求項に記載される本発明の要旨を逸脱しない範囲で、種々変更可能であることを当業者であれば理解するものとする。したがって、本明細書及び図面は、本発明の内容を明らかにする意図のものであって、本発明を上記具体的な実施形態に限定するためのものではない。そのような種々の変更は、本発明の範囲に含まれるとみなされる。
例えば、一つまたは複数の通常アドレス属性を一つまたは複数の代替アドレス属性により選択的に置換することを、デバッグを背景として説明してきたが、本発明の別の実施形態においては、デバッグ以外の事柄を背景として、デバッグ以外の理由で、この選択的置換を行うものであってもよい。
【００２５】
利点、効果、及び問題を解決する方法について、具体的な実施形態に基づいて説明してきたが、そのような利点、効果、及び問題を解決する方法、更に、利点、効果、及び解決法を生じさせるまたは顕著にする要素がある場合にはそのような要素について、これらが請求項の一部またはすべてにおいて重要な、必須の、または本質的な特徴や要素であるとは解釈されないものとする。本明細書における「含む」等の表現は、包括を意味するものであって、プロセス、方法、物品、または装置の構成要素が記載されている場合に、プロセス、方法、物品、または装置がそれら記載される構成要素のみを含むものとするのではなく、記載される以外の構成要素、またはプロセス、方法、物品、装置に本来備わっていると考えられる構成要素をも含んでよいものとする。
【００２６】
以下に付記を記載する。
（請求項１）  データ処理システムであって、
少なくとも1つの代替アドレス属性を格納する第１の記憶回路と、
少なくとも1つの通常アドレス属性を格納する第２の記憶回路と、
物理アドレスと少なくとも１つの対応するアドレス属性を供給するメモリ管理回路とを備え、
前記メモリ管理回路は、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性を前記対応するアドレス属性として選択的に供給する、データ処理システム。
【００２７】
（請求項２）  前記メモリ管理回路は、少なくともオーバーライド制御インジケータの一部に基づき、前記少なくとも１つの代替アドレス属性を、前記対応するアドレス属性として選択的に供給する、請求項１に記載のデータ処理システム。
【００２８】
（請求項３）  代替物理アドレスを格納する第３の記憶回路と、通常物理アドレスを格納する第４の記憶回路とを更に備え、前記メモリ管理回路は、前記通常物理アドレスに代えて、前記代替物理アドレスを前記物理アドレスとして選択的に供給する、請求項２に記載のデータ処理システム。
【００２９】
（請求項４）  前記メモリ管理回路は、少なくとも代替アドレス・インジケータの一部に基づき、前記通常物理アドレスに代えて前記代替物理アドレスを選択的に供給する、請求項３に記載のデータ処理システム。
【００３０】
（請求項５）  前記メモリ管理回路は、少なくともアドレス変換インジケータの一部に基づき、受け取った仮想アドレスを、前記物理アドレスとして選択的に供給する、請求項４に記載のデータ処理システム。
【００３１】
（請求項６）  前記オーバーライド制御インジケータと、前記代替アドレス・インジケータと、前記アドレス変換インジケータとを格納する第５の記憶回路を更に備える、請求項５に記載のデータ処理システム。
【００３２】
（請求項７）  前記オーバーライド制御インジケータは、前記代替アドレス・インジケータと前記アドレス変換インジケータとを備える、請求項６に記載のデータ処理システム。
【００３３】
（請求項８）  前記メモリ管理回路は、更に変換索引バッファを備え、前記変換索引バッファは、前記代替物理アドレスを格納する前記第３の記憶回路と、前記通常物理アドレスを格納する前記第４の記憶回路を備える、請求項３に記載のデータ処理システム。
【００３４】
（請求項９）  前記メモリ管理回路は、少なくともアドレス変換インジケータの一部に基づき、受け取った仮想アドレスを、前記物理アドレスとして選択的に供給する、請求項２に記載のデータ処理システム。
【００３５】
（請求項１０）  前記第１の記憶回路は、複数の代替アドレス属性を格納し、前記第２の記憶回路は、複数の通常アドレス属性を格納し、前記メモリ管理回路は、前記物理アドレスと複数の対応するアドレス属性を供給し、前記メモリ管理回路は、前記複数の通常アドレス属性に代えて、前記複数の代替アドレス属性を前記複数の対応するアドレス属性として選択的に供給する、請求項１に記載のデータ処理システム。
【００３６】
（請求項１１）  前記複数の代替アドレス属性の各々と前記複数の通常アドレス属性の各々は、前記物理アドレスに対応するアクセス属性またはアクセス許可のいずれかとして特徴付けられている、請求項１０に記載のデータ処理システム。
【００３７】
（請求項１２）  前記メモリ管理回路に接続されるデバッグ回路を備え、前記デバッグ回路は前記第１の記憶回路を備える、請求項１に記載のデータ処理システム。
（請求項１３）  前記デバッグ回路は、ＮＥＸＵＳ規格に準拠する、請求項１２に記載のデータ処理システム。
【００３８】
（請求項１４）  前記少なくとも１つの代替アドレス属性と前記少なくとも１つの通常アドレス属性は、前記物理アドレスに対応するアクセス属性またはアクセス許可のいずれかとして特徴付けられている、請求項１に記載のデータ処理システム。
【００３９】
（請求項１５）  データ処理システムであって、
代替物理アドレスを格納する第１の記憶回路と、
通常物理アドレスを格納する第２の記憶回路と、
仮想アドレスを受け取り、仮想アドレスの受け取りに応答して、対応する物理アドレスを供給するメモリ管理回路とを備え、前記メモリ管理回路は、前記通常物理アドレスに代えて、前記代替物理アドレスを前記対応する物理アドレスとして選択的に供給する、データ処理システム。
【００４０】
（請求項１６）  前記メモリ管理回路は、少なくとも代替アドレス・インジケータの一部に基づき、前記代替物理アドレスを前記対応する物理アドレスとして選択的に供給する、請求項１５に記載のデータ処理システム。
【００４１】
（請求項１７）  前記メモリ管理回路は、変換索引バッファ（ＴＬＢ）を備え、前記ＴＬＢは、前記通常物理アドレスを格納する前記第２の記憶回路を備える、請求項１６に記載のデータ処理システム。
【００４２】
（請求項１８）  前記ＴＬＢは、前記代替物理アドレスを格納する前記第１の記憶回路を備える、請求項１７に記載のデータ処理システム。
（請求項１９）  前記ＴＬＢは、前記代替物理アドレスに対応する少なくとも１つの代替アドレス属性を格納し、前記メモリ管理回路は、前記代替物理アドレスが供給されると、前記少なくとも１つの対応する代替アドレス属性を供給する、請求項１８に記載のデータ処理システム。
【００４３】
（請求項２０）  少なくとも１つの代替アドレス属性を格納する第３の記憶回路を更に備え、前記ＴＬＢは、前記通常物理アドレスに対応する少なくとも１つの通常アドレス属性を格納し、前記メモリ管理回路は、少なくともオーバーライド制御インジケータの一部に基づき、前記少なくとも１つの通常アドレス属性に代えて前記少なくとも１つの代替アドレス属性を選択的に供給する、請求項１７に記載のデータ処理システム。
【００４４】
（請求項２１）  前記オーバーライド制御インジケータは、前記代替アドレス・インジケータを含む、請求項２０に記載のデータ処理システム。
（請求項２２）  メモリ管理回路を備えるデータ処理システムにおいてメモリ管理を行う方法であって、
少なくとも１つの代替アドレス属性と少なくとも１つの通常アドレス属性を格納する前記メモリ管理回路を選択的に設定すること、
仮想アドレスを受け取ること、
前記仮想アドレスの受け取りに応答して、対応する物理アドレスと少なくとも１つの対応するアドレス属性を供給することとを含み、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性が前記少なくとも１つの対応するアドレス属性として選択的に供給される、メモリ管理方法。
【００４５】
（請求項２３）  前記メモリ管理回路を選択的に設定することは、前記少なくとも１つの代替アドレス属性を選択的に更新することを含む、請求項２２に記載のメモリ管理方法。
【００４６】
（請求項２４）  オーバーライド制御インジケータを受け取ることを更に含み、前記少なくとも１つの代替アドレス属性は、少なくとも前記オーバーライド制御インジケータの一部に基づき、前記少なくとも１つの対応するアドレス属性として選択的に供給される、請求項２２に記載のメモリ管理方法。
【００４７】
（請求項２５）  前記メモリ管理回路は、更に代替物理アドレスと通常物理アドレスを格納し、前記対応する物理アドレスを供給することは、前記通常物理アドレスに代えて、前記代替物理アドレスが前記対応する物理アドレスとして選択的に供給されるように行われる、請求項２４に記載のメモリ管理方法。
【００４８】
（請求項２６）  前記メモリ管理回路は、変換索引バッファ（ＴＬＢ）を備え、前記ＴＬＢは、前記通常物理アドレスと前記少なくとも１つの通常アドレス属性を前記ＴＬＢの第１の部分に格納し、前記代替物理アドレスと前記少なくとも１つの代替物理アドレスを前記ＴＬＢの第２の部分に格納し、前記ＴＬＢの第１の部分または第２の部分のいずれかにより、前記オーバーライド制御インジケータに基づき、前記対応する物理アドレスと少なくとも１つの対応するアドレス属性が供給される、請求項２５に記載のメモリ管理方法。
【００４９】
（請求項２７）  代替アドレス・インジケータを受け取ることを更に含み、前記代替物理アドレスは、少なくとも前記代替アドレス・インジケータの一部に基づき、前記対応する物理アドレスとして選択的に供給される、請求項２５に記載のメモリ管理方法。
【００５０】
（請求項２８）  アドレス変換インジケータを受け取ることを更に含み、前記アドレス変換インジケータに応答して、前記仮想アドレスは、前記対応する物理アドレスとして選択的に供給される、請求項２７に記載のメモリ管理方法。
【００５１】
（請求項２９）  前記オーバーライド制御インジケータは、前記代替アドレス・インジケータと前記アドレス変換インジケータを含む、請求項２８に記載のメモリ管理方法。
（請求項３０）  前記仮想アドレスの受け取りに応答して前記対応する物理アドレスと前記少なくとも１つの対応するアドレス属性を供給することは、デバッグ動作中に行われる、請求項２２に記載のメモリ管理方法。
【００５２】
（請求項３１）  前記デバッグ動作は、ＮＥＸＵＳ規格に準拠するデバッグ動作である、請求項３０に記載のメモリ管理方法。
（請求項３２）  メモリ管理回路を備えるデータ処理システムにおいてメモリ管理を行う方法であって、
少なくとも１つの代替物理アドレスと少なくとも１つの通常物理アドレスを格納する前記メモリ管理回路を選択的に設定すること、
仮想アドレスを受け取ること、
前記仮想アドレスの受け取りに応答して、対応する物理アドレスを供給することとを含み、前記通常物理アドレスに代えて、前記代替物理アドレスが前記対応する物理アドレスとして選択的に供給される、メモリ管理方法。
【００５３】
（請求項３３）  代替アドレス・インジケータを受け取ることを更に含み、前記代替物理アドレスは、少なくとも前記代替アドレス・インジケータの一部に基づき、前記対応する物理アドレスとして選択的に供給される、請求項３２に記載のメモリ管理方法。
【００５４】
（請求項３４）  前記メモリ管理回路は、変換索引バッファ（ＴＬＢ）を備え、前記ＴＬＢは、前記通常物理アドレスを前記ＴＬＢの第１の部分に格納し、前記代替物理アドレスを前記ＴＬＢの第２の部分に格納し、前記ＴＬＢの第１の部分または第２の部分のいずれかにアクセスして前記代替アドレス・インジケータに基づき前記対応する物理アドレスが供給される、請求項３３に記載のメモリ管理方法。
【００５５】
（請求項３５）  前記メモリ管理回路を選択的に設定することは、前記代替物理アドレスを選択的に更新することを含む、請求項３３に記載のメモリ管理方法。
（請求項３６）  前記仮想アドレスの受け取りに応答して前記対応する物理アドレスを供給することは、デバッグ動作中に行われる、請求項３２に記載のメモリ管理方法。
【００５６】
（請求項３７）  データ処理システムであって、
代替物理アドレスを格納する第１の記憶回路と、
少なくとも1つの代替アドレス属性を格納する第２の記憶回路と、
通常物理アドレスを格納する第３の記憶回路と、
少なくとも１つの通常アドレス属性を格納する第４の記憶回路と、
ＮＥＸＵＳ規格に準拠するデバッグ動作を行うデバッグ回路と、
前記デバッグ回路、前記第１の記憶回路、前記第２の記憶回路、前記第３の記憶回路、及び前記第４の記憶回路に接続されたメモリ管理回路とを備え、前記メモリ管理回路は、ＮＥＸＵＳ規格に準拠するデバッグ動作中の仮想アドレスの受け取りに応答して、少なくとも代替アドレス・インジケータの一部に基づき、前記通常物理アドレスに代えて、前記代替物理アドレスを対応する物理アドレスとして選択的に供給し、少なくともオーバーライド制御インジケータの一部に基づき、前記少なくとも１つの通常アドレス属性に代えて、前記少なくとも１つの代替アドレス属性を対応するアドレス属性として選択的に供給する、データ処理システム。
【００５７】
（請求項３８）  前記メモリ管理回路は、更に変換索引バッファ（ＴＬＢ）を備え、前記ＴＬＢは、前記通常物理アドレスを格納する前記第３の記憶回路と、前記少なくとも１つの通常アドレス属性を格納する前記第４の記憶回路を備える、請求項３７に記載のデータ処理システム。
【００５８】
（請求項３９）  前記ＴＬＢの第１の部分は、前記通常物理アドレスを格納する前記第３の記憶回路と前記少なくとも１つの通常アドレス属性を格納する前記第４の記憶回路を備え、前記ＴＬＢの第２の部分は、前記代替物理アドレスを格納する前記第１の記憶回路と前記少なくとも１つの代替アドレス属性を格納する前記第２の記憶回路を備える、請求項３８に記載のデータ処理システム。
【００５９】
（請求項４０）  前記代替アドレス・インジケータと前記オーバーライド制御インジケータは、同一のインジケータである、請求項３９に記載のデータ処理システム。
（請求項４１）  前記デバッグ回路は、前記第１の記憶回路と前記第２の記憶回路を備える、請求項３８に記載のデータ処理システム。
【００６０】
（請求項４２）  前記オーバーライド制御インジケータは、少なくとも前記代替アドレス・インジケータの一部に基づくものである、請求項３７に記載のデータ処理システム。
（請求項４３）  前記メモリ管理回路は、少なくともアドレス変換インジケータの一部に基づき、前記通常物理アドレスに代えて、前記仮想アドレスを前記対応する物理アドレスとして選択的に供給する、請求項３７に記載のデータ処理システム。
【００６１】
（請求項４４）  前記オーバーライド制御インジケータは、少なくとも前記代替アドレス・インジケータと前記アドレス変換インジケータの一部に基づくものである、請求項４３に記載のデータ処理システム。
【００６２】
（請求項４５）  前記代替アドレス・インジケータと前記アドレス変換インジケータの各々は、前記デバッグ回路における制御レジスタ内に格納されている、請求項４４に記載のデータ処理システム。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に従うデータ処理システム１０のブロック図。
【図２】本発明の一実施形態に従う図１に示す制御レジスタ１７のブロック図。
【図３】本発明の一実施形態に従う図２に示す制御レジスタ１７の一部分の機能を表にて示す図。
【図４】本発明の一実施形態に従う図２に示す制御レジスタ１７の一部分の機能を表にて示す図。
【図５】本発明の一実施形態に従う図１に示すデバッグ回路１６とメモリ管理回路１４の一部分を示す部分ブロック図及び部分概略図。
【図６】本発明の一実施形態に従うメモリ管理方法を示すフローチャート。
【図７】本発明の別の実施形態に従う変換索引バッファ１０１を示すブロック図。
【図８】本発明の別の実施形態に従うメモリ管理方法を示すフローチャート。
【図１】
0004814786.tif 000002
【図２】
0004814786.tif 000003
【図３】
0004814786.tif 000004
【図４】
0004814786.tif 000005
【図５】
0004814786.tif 000006
【図６】
0004814786.tif 000007
【図７】
0004814786.tif 000008
【図８】
0004814786.tif 000009