JP2008243190A - データ処理システムにおける診断機能の選択的な無効化 - Google Patents

データ処理システムにおける診断機能の選択的な無効化 Download PDF

Info

Publication number
JP2008243190A
JP2008243190A JP2008040504A JP2008040504A JP2008243190A JP 2008243190 A JP2008243190 A JP 2008243190A JP 2008040504 A JP2008040504 A JP 2008040504A JP 2008040504 A JP2008040504 A JP 2008040504A JP 2008243190 A JP2008243190 A JP 2008243190A
Authority
JP
Japan
Prior art keywords
diagnostic
memory address
data
memory
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008040504A
Other languages
English (en)
Other versions
JP5179898B2 (ja
Inventor
Michael John Williams
マイケル・ジョン・ウィリアムズ
Daniel Kershaw
ダニエル・カーショー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2008243190A publication Critical patent/JP2008243190A/ja
Application granted granted Critical
Publication of JP5179898B2 publication Critical patent/JP5179898B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Abstract

【課題】本発明は、データ処理システムにおける診断機能の選択的無効化処理に関する。
【解決手段】データ処理システム2は、複数領域に組み込まれたメモリアドレス空間を具備するメモリ6を有し、各領域は、データ32を特定するプログラム可能な領域により定義されたようにメモリアドレスセットを具備する。プロセッサコア8は、メモリ6からフェッチされたプログラム命令を実行する。診断制御回路20は、前記領域に応答し、前記領域は、現在実行中であるプログラム命令がデータ処理システム2上の診断機能を実行するために使用された診断回路14,16,18を選択的に無効にするように格納される。前記診断制御回路20は、診断定義データ36に応答し、前記診断データ36は、診断回路14,16,18のうちどの診断回路をどの領域に対して有効にするかを示す領域に関連する。
【選択図】図3

Description

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

Claims (21)

  1. データ処理装置において、前記装置は、
    メモリアドレス空間内に値を有するメモリアドレスを具備するアドレス可能なメモリと、
    データ処理動作を実行するように前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答するデータ処理回路と、
    診断データを生成する診断動作を実行するために、前記装置内の一又は複数の信号に応答する診断回路と、
    現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが前記診断回路の少なくとも複数の診断機能を選択的に無効となるように配置されるかという決定に応答する診断機能制御回路とを具備し、
    前記メモリアドレス空間は、複数の領域を有し、一つの領域は、データを特定するプログラム可能な領域により定義されたメモリアドレスセットを有することを特徴とする装置。
  2. 前記メモリアドレス空間内のメモリアドレスページ特性を定義するメモリページテーブルデータに応答するメモリ管理回路を有し、前記メモリアドレス空間は、複数の隣接ページのメモリアドレスを有するとともに、データを特定する前記プログラム可能な領域は、前記メモリページテーブルデータの一部であることを特徴とする請求項1に記載の装置。
  3. 前記診断機能制御回路は、前記複数の領域の少なくとも1つと関連する診断機能定義データに応答するとともに、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、どの診断機能が無効であるかを特定することを特徴とする請求項1に記載の装置。
  4. 前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、侵襲的な診断機能が無効であるか否かを特定することを特徴とする請求項1に記載の装置。
  5. 前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、非侵襲的な診断機能が許可されるか否かを特定することを特徴とする請求項1に記載の装置。
  6. 前記診断回路は、トレースデータ・ストリームを生成するように実行されているデータ処理動作に応答するトレース回路を有することを特徴とする請求項1に記載の装置。
  7. 前記診断回路は、コードプロファイリングデータを生成するように実行されているプログラム命令のメモリアドレスに応答するコードプロファイリング回路を有することを特徴とする請求項1に記載の装置。
  8. 前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップを実行するプログラム命令のメモリアドレスに応答する命令ブレークポイント回路を有することを特徴とする請求項1に記載の装置。
  9. 前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップにアクセスされているデータ値のメモリアドレスに応答するデータウォッチポイント回路を有することを特徴とする請求項1に記載の装置。
  10. 前記診断イベントは、外部装置によりデバッグを許可する前記装置上の動作を不完全に処理するステップの一つと、前記装置上のデバッグ例外ハンドリングコードの初期実行のデバッグ例外を開始するステップの一つとを含むことを特徴とする請求項8に記載の装置。
  11. データを処理する装置であり、前記装置は、
    メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ手段と、
    前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答してデータ処理動作を実行するためのデータ処理手段と、
    前記装置内の一又は複数の信号に応答して、診断データを生成する診断動作を実行するための診断手段と、
    現在実行されているプログラム命令のメモリアドレス内の複数の領域のうちどれが配置されるかという決定に応答して前記診断回路の少なくとも複数の診断機能を選択的に無効となるための診断機能制御手段とを有し、
    前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする装置。
  12. データを処理する方法であり、前記方法は、
    メモリアドレス空間内の値を有するメモリアドレスを具備するアドレス可能なメモリ内にデータを格納するステップと、
    前記メモリアドレス空間内のメモリアドレスからフェッチされたプログラム命令に応答して、データ処理回路を具備するデータ処理動作を実行するステップと、
    前記装置内の一又は複数の信号に応答して、診断データを生成するために診断回路を具備する診断動作を実行するステップと、
    現在実行されているプログラム命令のメモリアドレス内の前記複数の領域のうちどの領域に配置されるという決定に応答して、診断機能制御回路を具備する診断機能の少なくとも複数の診断機能を選択的に無効にするステップとを具備し、
    前記メモリアドレス空間は複数の領域を有するとともに、前記領域はデータを特定するプログラム可能な領域により定義されたメモリアドレスセットを具備することを特徴とする方法。
  13. 前記メモリアドレス空間内のメモリアドレスページ特性を定義するメモリページテーブルデータを具備するメモリアクセスを管理するステップを具備し、前記メモリアドレス空間は、複数の隣接ページのメモリアドレスを有するとともに、データを特定する前記プログラム可能な領域は、前記メモリページテーブルデータの一部であることを特徴とする請求項12に記載の方法。
  14. 前記選択的に無効にするステップは、前記複数の領域のうち少なくとも1つと関連する診断機能定義データに応答するとともに、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、どの診断機能が無効であるかを特定することを特徴とする請求項12に記載の方法。
  15. 前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、侵襲的な診断機能が無効であるか否かを特定することを特徴とする請求項12に記載の方法。
  16. 前記診断機能定義データは、現在実行されている前記プログラム命令の前記メモリアドレスが、前記複数の領域のうち少なくとも1つの領域に配置されているとき、非侵襲的な診断機能が許可されるか否かを特定することを特徴とする請求項12に記載の方法。
  17. 前記診断回路は、トレースデータ・ストリームを生成するように実行されているデータ処理動作に応答するトレース回路を有することを特徴とする請求項12に記載の方法。
  18. 前記診断回路は、コードプロファイリングデータを生成するように実行されているプログラム命令のメモリアドレスに応答するコードプロファイリング回路を有することを特徴とする請求項12に記載の方法。
  19. 前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップを実行するプログラム命令のメモリアドレスに応答する命令ブレークポイント回路を有することを特徴とする請求項12に記載の方法。
  20. 前記診断回路は、診断イベントを開始する所定の特性にマッチングするステップにアクセスされているデータ値のメモリアドレスに応答するデータウォッチポイント回路を有することを特徴とする請求項12に記載の方法。
  21. 前記診断イベントは、外部装置によりデバッグを許可する前記装置上の動作を不完全に処理するステップの一つと、前記装置上のデバッグ例外ハンドリングコードの初期実行のデバッグ例外を開始するステップの一つとを含むことを特徴とする請求項12に記載の方法。
JP2008040504A 2007-02-22 2008-02-21 データ処理システムにおける診断機能の選択的な無効化 Expired - Fee Related JP5179898B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0703499.4 2007-02-22
GB0703499A GB2446831B (en) 2007-02-22 2007-02-22 Selective disabling of diagnostic functions within a data processing system

Publications (2)

Publication Number Publication Date
JP2008243190A true JP2008243190A (ja) 2008-10-09
JP5179898B2 JP5179898B2 (ja) 2013-04-10

Family

ID=37945585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008040504A Expired - Fee Related JP5179898B2 (ja) 2007-02-22 2008-02-21 データ処理システムにおける診断機能の選択的な無効化

Country Status (4)

Country Link
US (1) US7913120B2 (ja)
JP (1) JP5179898B2 (ja)
CN (1) CN101251821B (ja)
GB (1) GB2446831B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234129A (ja) * 2007-03-19 2008-10-02 Yaskawa Information Systems Co Ltd データ保護機能付き集積回路およびデータ保護機能付き集積回路用のデータ保護プログラム
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
JP2017076412A (ja) * 2016-11-21 2017-04-20 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャのプログラム及び方法
US9935766B2 (en) 2015-08-20 2018-04-03 Socionext Inc. Processor and processor system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294433A1 (en) * 2005-06-28 2006-12-28 Thelen Greg W Debugging using watchpoints
US8131976B2 (en) * 2009-04-13 2012-03-06 International Business Machines Corporation Tracking effective addresses in an out-of-order processor
US20130031419A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Collecting Debug Data in a Secure Chip Implementation
US8880959B2 (en) * 2012-06-15 2014-11-04 International Business Machines Corporation Transaction diagnostic block
CN103684899B (zh) * 2012-09-17 2019-01-08 腾讯科技(深圳)有限公司 远程调试方法和装置
CN106815101B (zh) * 2015-11-27 2019-09-06 中国科学院沈阳自动化研究所 嵌入式系统外部易失性存储器高可靠性存储与诊断方法
US10740219B2 (en) * 2018-04-27 2020-08-11 Workman Nydegger Selectively tracing portions of computer process execution
US10747645B2 (en) * 2018-04-27 2020-08-18 Microsoft Technology Licensing, Llc Selectively tracing portions of computer process execution
CN114967634A (zh) * 2021-09-16 2022-08-30 长城汽车股份有限公司 处理器诊断装置、处理器诊断方法和电子设备
WO2023096677A1 (en) * 2021-11-23 2023-06-01 Qualcomm Incorporated Method for circumventing processor error induced vulnerability

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221341A (ja) * 1988-07-08 1990-01-24 Toshiba Corp 他機プログラム動作の監視装置
JP2003177938A (ja) * 2001-12-07 2003-06-27 Fujitsu Ltd 電子装置及びそのデバッグ認証方法
US20050091520A1 (en) * 2003-10-24 2005-04-28 Khan Moinul H. Debugging a trusted component in a system
JP2006011692A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd 不正メモリアクセス検出方法、および、不正メモリアクセス検出プログラム
JP2007502462A (ja) * 2003-08-11 2007-02-08 フリースケール セミコンダクター インコーポレイテッド デバッグ回路のセキュリティを確保する方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US7171539B2 (en) * 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
US7395527B2 (en) * 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
JP4753881B2 (ja) * 2004-01-16 2011-08-24 コンプメディクス リミテッド 心電図から導出された睡眠呼吸障害の監視、検出及び分類のための装置及び信号処理方法
US7424584B2 (en) * 2004-08-12 2008-09-09 International Business Machines Corporation Key-controlled object-based memory protection
JP2007249323A (ja) * 2006-03-14 2007-09-27 Matsushita Electric Ind Co Ltd マイクロコンピュータ
US7689868B2 (en) * 2007-06-22 2010-03-30 Sony Computer Entertainment Inc. Memory handling techniques to facilitate debugging

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221341A (ja) * 1988-07-08 1990-01-24 Toshiba Corp 他機プログラム動作の監視装置
JP2003177938A (ja) * 2001-12-07 2003-06-27 Fujitsu Ltd 電子装置及びそのデバッグ認証方法
JP2007502462A (ja) * 2003-08-11 2007-02-08 フリースケール セミコンダクター インコーポレイテッド デバッグ回路のセキュリティを確保する方法及び装置
US20050091520A1 (en) * 2003-10-24 2005-04-28 Khan Moinul H. Debugging a trusted component in a system
JP2007509441A (ja) * 2003-10-24 2007-04-12 インテル・コーポレーション システム中の信頼されたコンポーネントのデバッグ
JP2006011692A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd 不正メモリアクセス検出方法、および、不正メモリアクセス検出プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234129A (ja) * 2007-03-19 2008-10-02 Yaskawa Information Systems Co Ltd データ保護機能付き集積回路およびデータ保護機能付き集積回路用のデータ保護プログラム
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
KR20130128424A (ko) * 2010-12-23 2013-11-26 인텔 코포레이션 테스트, 검증, 및 디버그 아키텍처
KR101581702B1 (ko) 2010-12-23 2016-01-11 인텔 코포레이션 테스트, 검증, 및 디버그 아키텍처
US10198333B2 (en) 2010-12-23 2019-02-05 Intel Corporation Test, validation, and debug architecture
US9935766B2 (en) 2015-08-20 2018-04-03 Socionext Inc. Processor and processor system
JP2017076412A (ja) * 2016-11-21 2017-04-20 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャのプログラム及び方法

Also Published As

Publication number Publication date
US20080209268A1 (en) 2008-08-28
CN101251821B (zh) 2012-01-25
CN101251821A (zh) 2008-08-27
GB2446831B (en) 2011-06-15
US7913120B2 (en) 2011-03-22
GB0703499D0 (en) 2007-04-04
JP5179898B2 (ja) 2013-04-10
GB2446831A (en) 2008-08-27

Similar Documents

Publication Publication Date Title
JP5179898B2 (ja) データ処理システムにおける診断機能の選択的な無効化
JP4447471B2 (ja) 安全処理システムにおける例外タイプ
JP4302641B2 (ja) デバイスによるメモリへのアクセスの制御
US8132254B2 (en) Protecting system control registers in a data processing apparatus
JP4220476B2 (ja) 安全ドメインおよび非安全ドメインを有するシステム内での仮想−物理メモリアドレスマッピング
JP4423206B2 (ja) 安全モードと非安全モードとを切り換えるプロセッサ
EP2537097B1 (en) Storing secure mode page table data in secure and non-secure regions of memory
JP4302493B2 (ja) データ処理装置内のメモリへアクセスするための技術
JP4302494B2 (ja) データ処理装置内のメモリへアクセスするための技術
JP5179257B2 (ja) キャッシュメモリの中の制御データの修正
JP5335887B2 (ja) アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置
JP4302492B2 (ja) メモリへのアクセスを管理するための装置および方法
US20090307770A1 (en) Apparatus and method for performing integrity checks on sofware
US20110208935A1 (en) Storing secure mode page table data in secure and non-secure regions of memory
KR20130036189A (ko) 하드웨어 모드와 보안 플래그에 의존하여 판독된 명령어에 대한 메모리 영역의 제한
JP2004171566A (ja) サスペンドされたオペレーティングシステムへデータ処理リクエストを送る方法
JP2010503909A (ja) メモリ・アクセス安全性管理
TW201411406A (zh) 記憶體保護電路、處理裝置、及記憶體保護方法
JP2004171568A (ja) 多数のオペレーティングシステムを使用するデータ処理システムにおける多数の割り込みの取り扱い
TWI312253B (en) Data processing apparatus and method for controlling access to a memory in the same
JP2004171567A (ja) 多数のオペレーティングシステムの間のタスクの追従
JP2008191788A (ja) 情報処理装置
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
JP2010134572A (ja) セキュリティを実現する装置、および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

LAPS Cancellation because of no payment of annual fees