(57)【要約】【課題】本発明は、データ処理システムにおける診断機能の選択的無効化処理に関する。【解決手段】データ処理システム２は、複数領域に組み込まれたメモリアドレス空間を具備するメモリ６を有し、各領域は、データ３２を特定するプログラム可能な領域により定義されたようにメモリアドレスセットを具備する。プロセッサコア８は、メモリ６からフェッチされたプログラム命令を実行する。診断制御回路２０は、前記領域に応答し、前記領域は、現在実行中であるプログラム命令がデータ処理システム２上の診断機能を実行するために使用された診断回路１４，１６，１８を選択的に無効にするように格納される。前記診断制御回路２０は、診断定義データ３６に応答し、前記診断データ３６は、診断回路１４，１６，１８のうちどの診断回路をどの領域に対して有効にするかを示す領域に関連する。【選択図】図３
2008243190.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置において、前記装置は、
メモリアドレス空間内に値を有するメモリアドレスを具備するアドレス可能なメモリと、
データ処理動作を実行するように前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答するデータ処理回路と、
診断データを生成する診断動作を実行するために、前記装置内の一又は複数の信号に応答する診断回路と、
現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが前記診断回路の少なくとも複数の診断機能を選択的に無効となるように配置されるかという決定に応答する診断機能制御回路とを具備し、
前記メモリアドレス空間は、複数の領域を有し、一つの領域は、データを特定するプログラム可能な領域により定義されたメモリアドレスセットを有することを特徴とする装置。
【請求項２】
前記メモリアドレス空間内のメモリアドレスページ特性を定義するメモリページテーブルデータに応答するメモリ管理回路を有し、前記メモリアドレス空間は、複数の隣接ページのメモリアドレスを有するとともに、データを特定する前記プログラム可能な領域は、前記メモリページテーブルデータの一部であることを特徴とする請求項１に記載の装置。
【請求項３】
前記診断機能制御回路は、前記複数の領域の少なくとも１つと関連する診断機能定義データに応答するとともに、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、どの診断機能が無効であるかを特定することを特徴とする請求項１に記載の装置。
【請求項４】
前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、侵襲的な診断機能が無効であるか否かを特定することを特徴とする請求項１に記載の装置。
【請求項５】
前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、非侵襲的な診断機能が許可されるか否かを特定することを特徴とする請求項１に記載の装置。
【請求項６】
前記診断回路は、トレースデータ・ストリームを生成するように実行されているデータ処理動作に応答するトレース回路を有することを特徴とする請求項１に記載の装置。
【請求項７】
前記診断回路は、コードプロファイリングデータを生成するように実行されているプログラム命令のメモリアドレスに応答するコードプロファイリング回路を有することを特徴とする請求項１に記載の装置。
【請求項８】
前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップを実行するプログラム命令のメモリアドレスに応答する命令ブレークポイント回路を有することを特徴とする請求項１に記載の装置。
【請求項９】
前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップにアクセスされているデータ値のメモリアドレスに応答するデータウォッチポイント回路を有することを特徴とする請求項１に記載の装置。
【請求項１０】
前記診断イベントは、外部装置によりデバッグを許可する前記装置上の動作を不完全に処理するステップの一つと、前記装置上のデバッグ例外ハンドリングコードの初期実行のデバッグ例外を開始するステップの一つとを含むことを特徴とする請求項８に記載の装置。
【請求項１１】
データを処理する装置であり、前記装置は、
メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ手段と、
前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答してデータ処理動作を実行するためのデータ処理手段と、
前記装置内の一又は複数の信号に応答して、診断データを生成する診断動作を実行するための診断手段と、
現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが配置されるかという決定に応答して前記診断回路の少なくとも複数の診断機能を選択的に無効となるための診断機能制御手段とを有し、
前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする装置。
【請求項１２】
データを処理する方法であり、前記方法は、
メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ内にデータを格納するステップと、
前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答して、データ処理回路を具備するデータ処理動作を実行するステップと、
前記装置内の一又は複数の信号に応答して、診断データを生成するために診断回路を具備する診断動作を実行するステップと、
現在実行されているプログラム命令のメモリアドレス内の前記複数の領域のうちどの領域に配置されるという決定に応答して、診断機能制御回路を具備する診断機能の少なくとも複数の診断機能を選択的に無効にするステップとを具備し、
前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする方法。
【請求項１３】
前記メモリアドレス空間内のメモリアドレスページ特性を定義するメモリページテーブルデータを具備するメモリアクセスを管理するステップを具備し、前記メモリアドレス空間は、複数の隣接ページのメモリアドレスを有するとともに、データを特定する前記プログラム可能な領域は、前記メモリページテーブルデータの一部であることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記選択的に無効にするステップは、前記複数の領域のうち少なくとも１つと関連する診断機能定義データに応答するとともに、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、どの診断機能が無効であるかを特定することを特徴とする請求項１２に記載の方法。
【請求項１５】
前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、侵襲的な診断機能が無効であるか否かを特定することを特徴とする請求項１２に記載の方法。
【請求項１６】
前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも１つの領域に配置されているとき、非侵襲的な診断機能が許可されるか否かを特定することを特徴とする請求項１２に記載の方法。
【請求項１７】
前記診断回路は、トレースデータ・ストリームを生成するように実行されているデータ処理動作に応答するトレース回路を有することを特徴とする請求項１２に記載の方法。
【請求項１８】
前記診断回路は、コードプロファイリングデータを生成するように実行されているプログラム命令のメモリアドレスに応答するコードプロファイリング回路を有することを特徴とする請求項１２に記載の方法。
【請求項１９】
前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップを実行するプログラム命令のメモリアドレスに応答する命令ブレークポイント回路を有することを特徴とする請求項１２に記載の方法。
【請求項２０】
前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップにアクセスされているデータ値のメモリアドレスに応答するデータウォッチポイント回路を有することを特徴とする請求項１２に記載の方法。
【請求項２１】
前記診断イベントは、外部装置によりデバッグを許可する前記装置上の動作を不完全に処理するステップの一つと、前記装置上のデバッグ例外ハンドリングコードの初期実行のデバッグ例外を開始するステップの一つとを含むことを特徴とする請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム分野に関する。さらに詳細には、本発明は、データ処理システムにおける診断機能の選択的無効化に関する。
【０００２】
命令ブレークポイントメカニズム、ウォッチポイントデータメカニズム、トレースメカニズム、コードプロファイリングメカニズムなどのような診断メカニズムにデータ処理システムが設けられ、特にハードウェア及びソフトウェアの開発中及びデバッグ中のデータ処理システムの動作を理解するのに役立つことが知られている。これらのメカニズムによって、データ処理命令が実行可能となるとともに、前記処理されるべきデータ値は、処理されるべきシステムの振る舞いを理解するために別の実行ポイントで識別される。これは、システムをデバッグする能力及びパフォーマンスをチューニングする能力において不可欠である。
【０００３】
データ処理システムの別の傾向は、セキュリティの高いデータを処理するようなシステムの使用である。例えば、デジタルライトマネージメントシステムは、多くの場合、著作権のある題材へのアクセスを制御することが要求される。高度の機密事項を持ったデータの一部であるこのようなシステムは、暗号キーを採用してもよい。このようなキーは、慎重に保護される必要がある。このような機密情報を採用するシステムは、通常の使用においてセキュリティが高くなるように設計される一方、このようなシステム内に構築される診断メカニズムに関する問題が生じる。十分なほど用途が広く且つ効果を発揮するような診断メカニズムは、通常、ほとんど制限のないシステムを介してデータ値及び他の状態情報を検査する能力を有する。しかし、これは、例えば、ある人が不正な方法でシステムから信頼できる暗号キーを読み出す診断メカニズムを使用可能な状態だった場合、重大なセキュリティ脅威を意味することとなる。
【０００４】
特許文献１では、動作システムルーチン及び非動作システムルーチンの実行中にデバッグイベントを別に有効にすることが知られている。従って、前記システムには、第１モード及び第２モードが設けられるとともに、第１モードの動作中に、プロセッサは、第２モードで利用できない他のリソースへのアクセスを許可する。
【０００５】
特許文献２では、少なくとも２つの領域で動作可能なプロセッサのモニタリング機能を制御するとともに、各領域は少なくとも１つのモードを具備する方法を構成することが知られている。モニタリング機能は前記領域で許可可能であることを当該制御値が示す場合、制御値は、第１領域でモニタリング機能の開始を許可するために設定される。前記第１領域は、セキュリティの高い領域であるとともに、前記モニタリング機能は、デバッグ機能またはトレース機能である。このシステム領域は、動作状態であり、メモリアドレス空間領域ではない。
【特許文献１】米国特許第5,621,886号明細書
【特許文献２】米国特許出願公開第2004/020910号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記アプローチを有する問題は、診断動作が有効であるか、または無効であるかという手段における柔軟性に欠ける。これは、機密情報（暗号キー及びプログラムコード自体など）を保護するための要望に対して、簡単なデバッグ実行および分析のためにシステム全体へ柔軟に診断アクセスをしたいというトレードオフの関係にある。
【課題を解決するための手段】
【０００７】
別の面から見ると本発明の一形態は、データ処理装置を提供し、前記装置は、メモリアドレス空間内に値を有するメモリアドレスを具備するアドレス可能なメモリと、データ処理動作を実行するように前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答するデータ処理回路と、診断データを生成する診断動作を実行するために、前記装置内の一又は複数の信号に応答する診断回路と、現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが前記診断回路の少なくとも複数の診断機能を選択的に無効となるように配置されるかという決定に応答する診断機能制御回路とを具備し、前記メモリアドレス空間は、複数の領域を有し、一つの領域は、データを特定するプログラム可能な領域により定義されたメモリアドレスセットを有することを特徴とする装置である。
【０００８】
本発明の技術は、メモリアドレス空間の一部に対応する領域を定義するためのデータを特定するプログラム可能な領域を使用するとともに、次いで現在実行されているプログラム命令のメモリアドレスは、少なくとも複数の診断機能を選択的に無効にするためにどの領域内に配置されるのかに依存して診断回路の動作を制御する。プログラム可能な性質の領域は、診断回路が選択的に無効となることが可能であるという方法で柔軟性を許可する。例えば、２つのアプリケーションプログラムは、同じモードで実行中であるとともに、そのモードによって区別可能ではなく、前記診断能力はこれらアプリケーションプログラムの一方を有効にする間もう一方を無効にすることができるように、別のメモリ領域内に格納されたコードを有するために配置される。
【０００９】
データを特定するプログラム可能な領域は、次いでメモリページテーブルデータの一部であるとともに、前記メモリページテーブルデータから既に設けられ、且つ開発されたメカニズム及び技術の多くに再利用することが可能であるので、本発明の技術は、メモリアドレス空間内のメモリアドレスのページ特性を定義するメモリページテーブルデータに応答するメモリ管理回路を有するシステム内での使用に好適である。
【００１０】
特定のシステム要求及び状況に適合させる改良が可能であるデータを、それ自体特定するプログラム可能な領域に加え、前記技術の柔軟性は、以下の場合さらに改良される。それは、診断機能制御回路が、少なくとも１つの領域に関連する診断機能定義データに応答し、且つ、現在実行されているプログラム命令のメモリアドレスがその領域内に配置されるときにどの診断機能が有効となるかを特定する場合である。この方法で、両者の領域が、それ自体構成されるとともに、前記領域内の能力は、現在実行されている命令のメモリアドレスに依存したシステムの診断機能（能力）を微調整するように使用される。
【００１１】
診断機能定義データの特に有用な形態の一つは、侵襲的な診断機能が許可されるか否か、及び／又は、非侵襲的な診断機能が許可されるか否かを特定する。侵襲的な診断機能は、実行されているシステムの状態を変更することが可能である一方で、非侵襲的な診断機能は、システムの状態を変更出来ない。
【００１２】
本発明の技術は、多様な診断回路の広範囲に役立つように使用されることがわかる。本発明の技術を有効にする回路の例は、トレース回路、コード特性回路、命令ブレークポイント回路、及びデータウォッチポイント回路などである。命令ブレークポイント回路及びデータウォッチポイント回路の中身で、これらは、診断イベントを開始するために通常使用されるとともに、これらの診断イベントは、外部装置によりデバッグを許可する動作を不完全に処理するステップの一つと、及び／又は装置それ自体にコードをハンドリングするデバッグ例外の実行を開始するデバッグ例外を開始するステップのうち１つである。
【００１３】
別の面から見ると本発明の一形態は、データ処理装置を提供し、前記装置は、メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ手段と、前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答してデータ処理動作を実行するためのデータ処理手段と、前記装置内の一又は複数の信号に応答して、診断データを生成する診断動作を実行するための診断手段と、現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが配置されるかという決定に応答して前記診断回路の少なくとも複数の診断機能を選択的に無効となるための診断機能制御手段とを有し、前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする装置である。
【００１４】
別の面から見ると本発明の一形態は、データ処理方法を提供し、前記方法は、メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ内にデータを格納するステップと、前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答して、データ処理回路を具備するデータ処理動作を実行するステップと、前記装置内の一又は複数の信号に応答して、診断データを生成するために診断回路を具備する診断動作を実行するステップと、現在実行されているプログラム命令のメモリアドレス内の前記複数の領域のうちどの領域に配置されるという決定に応答して、診断機能制御回路を具備する診断機能の少なくとも複数の診断機能を選択的に無効にするステップとを具備し、前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする方法である
【００１５】
本発明の上述の特徴及び利点及び他の目的は、添付している図と関連して読み取り得る例示的な実施形態の以下の詳細な記載から明らかになる。
【発明を実施するための最良の形態】
【００１６】
図１Ａは、メモリ６と接続された集積回路４を具備するデータ処理装置２を図示する。前記集積回路４は、データ値に基づいてデータ処理動作を行うためにメモリ６からフェッチされるプログラム命令を実行するためのプロセッサコア８を有し、データ値は、またメモリ６からフェッチされるとともに、メモリ６へと返納される。メモリ管理ユニット１０は、プロセッサコア８によりメモリ６のメモリアドレス空間内の別の領域へのアクセスを制御するために使用される。前記メモリ管理ユニット１０は、メモリアドレス空間に関連した許可及び他の特性（例えば、特権モード専用のアクセス、キャッシュ可能性、読み取り専用ステータス等）を構築するために、メモリ６内に格納されたページテーブルデータ１２を使用する。この方法によるメモリ管理ユニット１０及びページテーブルデータ１２の使用は、当業者には周知のとおりであり、これ以上本明細書には記載しない。他の実施形態として、前記ページテーブルデータ１２は、集積回路４の一部に形成してもよい。前記データ処理装置２は、また、１以上のメモリ（例えば、分割命令及びデータメモリ（Havard）、または自身のアドレス空間（例えば、ＤＳＰ）をそれぞれ備えたマルチプルデータメモリ等）または他の配置を有する。これらメモリのいくつかは、チップ上にあってもよいし、チップ上でなくともよい。前記ページテーブルデータは、いくつかのメモリ内に格納される。
【００１７】
多様な形式の診断回路もまた、集積回路４内に設けられる。この実施例では、組み込みトレースユニット１４は、プロセッサコア８により実行されるデータ処理動作をトレースする機能を有している。このようなトレースユニットの実施例は、英国ケンブリッジのＡＲＭ社（ARM Limited of Cambridge, England）によって設計されたＥＴＭユニットである。命令ブレークポイントの機能及びデータウォッチポイントの機能を有する組み込み診断ユニット１６も、また、設けられている。この診断ユニット１６には、イベントが発生したとき、診断動作が開始されるように、開発者の注意を引くイベントを特定するデータがプログラムされる。命令ブレークポイントの場合、前記イベントは、所定の特性にマッチングするアドレスを有する命令を実行することである。データウォッチポイントの場合、前記イベントは、所定の特性にマッチングする特性を有するデータ値にアクセスすることができる。開始した診断動作は、多様な異なる形態をとるが、通常、処理動作を中断し、外部デバイスが、デバッグ目的で、またはデバッグ例外を開始するために集積回路４の状態を検査して、デバイス自身上でコードをハンドリングするデバッグ例外の実行を開始する。診断ユニット１６は、例えば、英国ケンブリッジのＡＲＭ社（ARM Limited of Cambridge, England）により設計されたＩＣＥユニットの形態を有する。
【００１８】
さらに、診断回路はコードプロファイラ１８の形態で設けられ、前記コードプロファイラ１８は、プログラム命令を特定するプロファイル情報を生成するために実行されているプログラム命令に応答する。例として、データ処理システムのパフォーマンスを微調整するために、特定の命令が実行される回数、または特定の領域のコードが実行される回数を知ることが望ましい。
【００１９】
また、集積回路４内には診断制御回路２０が設けられている。この診断制御回路２０は、これらの要素の機能を選択的に有効または無効にするように、多様な診断回路１４、１６、１８へ出力される制御信号を生成するために、現在実行中であるプログラム命令の領域を示すプロセッサコア８からの信号に応答する。したがって、例えば、ある特定の領域内にあるプログラム可能な領域特定データを示す一つのプログラムを実行するとともに、セキュリティの高い情報へのアクセスがないことが知られているとき、すべての診断回路１４、１６、１８は、このようなプログラムコード内の問題を十分に柔軟に分析することが可能であるように機能を有効にする。対照的に、別のアプリケーションプログラムは、セキュリティの高い情報が存在することが知られている別の領域内から、及び診断回路１４，１６，１８のうち一部または全部を無効にすることが望まれる別の領域内から実行される。このような状況において、トレースユニット１４及び診断ユニット１６を無効にすることが望まれる一方、前記コードプロファイラ１８は、例えば、これらがセキュリティの高い暗号キーの値を公開することが出来ないと考えられるのでアクティブ状態を維持することができる。
【００２０】
この実施例の特定領域データは、メモリ６内に格納されるページテーブルデータ１２を形成する。このページテーブルデータ１２は、メモリ管理ユニット１０を介して上記目的でアクセスされる。メモリアドレス空間（即ち、メモリアドレスセット）内の領域を特定するページテーブル内のデータを設けることがＡＲＭ６００プロセッサのようなシステム内でわかる。ここで使用されてわかった領域情報は、ページテーブルデータ内に設定されたグローバルアクセス権限をオーバライドすることにより別のプログラムスレッドに対するメモリアクセス権限を制御するためのものである。本発明の技術は、データ処理システム２内で選択的な診断回路１４，１６，１８の無効化を制御するように特定領域データの使用を拡張する。
【００２１】
前記メモリ６からＭＭＵ１０により読み取られるページテーブルデータ１２は、既にプロセッサコア８の処理へ統合され、例えば、複数のメモリアドレスに対し、読み取り専用のポリシーを実行するようなメモリアクセス動作を制御する。現在アクセスされているメモリ領域用のページテーブルデータは、すぐに利用可能となるように、通常、集積回路４内にキャッシュされる。この情報の一部において、情報を識別する領域もまた利用可能である。したがって、ページテーブルデータ１２から伝達された特定領域信号は、プロセッサコア８から診断制御回路２０へ出力される。診断制御回路２０は、次いで多様な診断回路１４，１６，１８に基づいてそれらをその上に選択的に有効または無効にする。
【００２２】
図１Ｂは、図１Ａとは別のもう一つの実施形態を図示しており、診断制御回路２０は、プロセッサコア８へ出力する信号を生成して診断回路１４，１６，１８の機能を選択的に無効にする。
【００２３】
図２は、複数の異なった領域に分割されたメモリアドレス空間を概略的に図示している。図示されているように、これらの領域は、大きさを変えることが出来るとともに、連続していてもよいし、連続していなくともよい。領域特定データのプログラム可能な特性は、領域が形成される方法によりかなりの柔軟性を可能にする。望むのであれば、前記領域は、個々のページテーブルエントリにより設けられた精度のレベルまで具体的に特定することが出来る。しかし、精度のレベルを下げるとともに、個々のページテーブルエントリより高いレベルで領域を定義することがより一般的である。より精細なレベルの精度の領域を定義することは通常ではないし、価値があることではない。しかも、各ページテーブルエントリの一部として領域特定データの格納に伴う追加の間接費用は受け入れられない。
【００２４】
図３は、診断回路１４，１６，１８の機能の選択的無効化を制御するための診断回路有効化信号２２を生成する配置を概略的に図示している。この回路の一部２４は、通常、診断制御回路２０内に設けられ、現在実行中であるプログラム命令のメモリアドレスを供給するプログラムカウンタレジスタ２６及び他の複数の要素は、標準的なプロッセサコア８の他の部分の中に見られる。プログラムカウンタレジスタ２６内から現在実行中であるプログラム命令のメモリアドレスの非常に重要な部分２８は、トランスレーションテーブルベースレジスタ値に接続され、ページテーブルデータ１２へインデックスをつけてページテーブルエントリ３０を再生するために使用される。このページテーブルエントリ３０は、プログラム可能な領域特定データ３２を含むレベル１の記述子を具備した、標準的なＡＲＭページテーブルエントリである。メモリ属性を定義するより精細なレベルの精度を設定した低いレベルの記述子が、レベル１より低い記述子３０によりページテーブルデータ１２内で従来の方法で設けられる。
【００２５】
領域特定データ３２は、現在実行されているプログラム命令の領域を示すとともに、マルチプレクサ３４への制御入力として供給される。マルチプレクサ３４は、前記領域特定データ３２に基づいた、制御レジスタ内からの診断機能定義データ値３６とは別の値の一つを選択する。これらの診断機能定義データ値３６の各々は、例えば、侵襲的なデバッグを許可されるか否かを特定する１ビットと、非侵襲的なデバッグが前記領域内に許可されているか否かを特定する１ビットとを有する２ビット値である。前記コードプロファイラ１８及びトレースユニット１４は、非侵襲的なデバッグを実行し、その一方で、前記組み込まれた診断ユニット１６は、前記プロセッサを停止するか、またはデバッグ例外を開始する機能を有するので、侵襲的であると分類される。現在のアクティブ領域に対する前記診断機能定義データは、マルチプレクサ３４により選択されるとともに、各診断回路１４，１６，１８（これらはまた、数個の実施形態に共有されることが可能である）に対して一つが設けられている複数の論理回路３８へ出力される。これら論理回路は、次いで、現在の出力診断機能定義データ値３６に基づいて、個々の診断回路１４，１６，１８に対する適切なデバッグ制御信号２２を生成するように使用される。これらは、診断制御回路２０から各診断回路１４，１６，１８に供給されているように図１に図示された診断制御信号である。前記制御信号は、プロセッサコア８に出力して選択的に各診断機能を無効にすることもできる。
【００２６】
図４は、診断動作制御を概略的に図示しているフローチャートチャートである。図４のフローチャートは、連続的な処理としての制御を図示し、一方、これらの制御は、さまざまな別の方法において、順番を変更すること、及び／又は、並行に実行される特定の動作または組み合わせて実行される特定の動作を行うことが可能であると当業者には理解される。結果または部分的な結果もまた、キャッシュされる。図４の実例において、ステップ４０でプログラム命令が実行されているのはどの領域からであり、その現在領域は何であるかを決定する処理を開始する。これは、ページテーブルデータ１２から決定されるとともに、領域特定データ３２により特定される。ステップ４２は、次いで、制御レジスタ内から現在領域に対して診断機能定義データ３６を探索する。例えば、このレジスタは、セキュリティの高いモードにおける動作の際に書き込み専用となるプログラム可能な機器構成コプロセッサレジスタ（ＣＰ１５）である。ステップ４４は、侵襲的な診断方法が現在の領域に対し有効であるか否かを判定する。侵襲的な診断方法が有効であれば、次いでステップ４６は、関連性のある診断回路１６に対して適切な有効信号を生成する。そうでなければ、ステップ４６は、バイパスされる。ステップ４８は、非侵襲的な診断方法が現在の領域に対して有効であるか否かを判定する。非侵襲的な診断方法が現在領域に対して有効であれば、次いでステップ５０は、適当な非侵襲的な診断回路１４，１６，１８に対して有効信号を生成する。前記システムの状態を変更することが可能である一方で、前記診断ユニット１６が前記システムの状態を変更する必要がないので、診断ユニット１６は、侵襲的な診断方法及び非侵襲的な診断方法の両方を供給するように検討されることが可能である。
【００２７】
本発明の実施形態は、添付図面を参照してここに詳細に記述されてきたが、本発明は、それら精密な実施例に制限されないものであるとともに、多様な変形例及び改造例が添付の特許請求の範囲に定義された発明の範囲及び精神に逸脱することなく達成可能であることを当業者なら理解する。
【図面の簡単な説明】
【００２８】
【図１Ａ】図１Ａは、選択的に有効及び無効にする診断回路を有するデータプロセスシステムの実施形態を概略的に図示している。
【図１Ｂ】図１Ｂは、選択的に有効及び無効にする診断回路を有するデータプロセスシステムの実施形態を概略的に図示している。
【図２】図２は、複数の異なる領域に分割されたメモリアドレス空間を概略的に図示している。
【図３】図３は、ページテーブルデータ及び診断機能定義データが結合され、診断回路を選択的に有効及び無効にする方法を概略的に図示している図である。
【図４】図４は、診断回路を選択的に有効及び無効にする差異に使用される制御フローを概略的に図示しているフローチャートである。
【符号の説明】
【００２９】
２  データ処理装置
４  集積回路
６  メモリ
１０  メモリ管理ユニット
１６  診断ユニット
２０  診断制御回路
【図１Ａ】
2008243190.tif 000003
【図１Ｂ】
2008243190.tif 000004
【図２】
2008243190.tif 000005
【図３】
2008243190.tif 000006
【図４】
2008243190.tif 000007
【外国語明細書】
2008243190.tif 000008
2008243190.tif 000009
2008243190.tif 000010
2008243190.tif 000011
2008243190.tif 000012
2008243190.tif 000013
2008243190.tif 000014
2008243190.tif 000015
2008243190.tif 000016
2008243190.tif 000017
2008243190.tif 000018
2008243190.tif 000019
2008243190.tif 000020
2008243190.tif 000021
2008243190.tif 000022
2008243190.tif 000023
2008243190.tif 000024
2008243190.tif 000025
2008243190.tif 000026
2008243190.tif 000027