JP5335887B2 - アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 - Google Patents

アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 Download PDF

Info

Publication number
JP5335887B2
JP5335887B2 JP2011500821A JP2011500821A JP5335887B2 JP 5335887 B2 JP5335887 B2 JP 5335887B2 JP 2011500821 A JP2011500821 A JP 2011500821A JP 2011500821 A JP2011500821 A JP 2011500821A JP 5335887 B2 JP5335887 B2 JP 5335887B2
Authority
JP
Japan
Prior art keywords
debug
instruction
instance
memory
address
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.)
Expired - Fee Related
Application number
JP2011500821A
Other languages
English (en)
Other versions
JP2011514606A5 (ja
JP2011514606A (ja
Inventor
シー. モイヤー、ウィリアム
ディー. スナイダー、マイケル
エル. ウィセンハント、ゲイリー
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2011514606A publication Critical patent/JP2011514606A/ja
Publication of JP2011514606A5 publication Critical patent/JP2011514606A5/ja
Application granted granted Critical
Publication of JP5335887B2 publication Critical patent/JP5335887B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、一般的にはデータ処理システム、さらに具体的には、データ処理システムにおけるデバッグ命令の使用に関する。
デバッグ命令は通常、ソフトウェア開発段階でデバッグ動作が行われるようにするために使用される。いったんソフトウェアが開発されてデバッグ命令でチェックされたら、これらのデバッグ命令を取り除いてソフトウェアアプリケーション中に望ましくない例外を引き起こさないようにする。しかしながらこれらのデバッグ命令を取り除くと、システムの実行特性が変化し、特にリアルタイムアプリケーションで問題を生じることがある。
[選好実施形態の概要]
デバッグ命令は、デバッグ停止モードへの条件付きエントリを容易にし、またはソフトウェアデバッグ例外(例えばデバッグ割込)の生成を容易にするために、種々のプロセッサの実行においてサポートされる。いずれの場合も、そのようなデバッグ命令を、動作が評価、試験またはデバッグされているコードに入れることによって、開発者は、ソフトウェア制御のもとで現在の実行環境の状態に基づきデバッグ動作を開始できる。
米国特許出願第11/871847号明細書
いったんソフトウェア開発とソフトウェア検査のうちの少なくとも1個が完了すると、生成コード中に残っているこれらのデバッグ命令は、除去または抑圧(suppress)されないと望ましくない例外や望ましくないデバッグ挙動を引き起こすことがある。残念ながら、デバッグ命令を除去するとシステムの実行特性が変化する傾向がある。すなわち、デバッグ命令が除去されると、分岐ターゲットと、ページ境界と、その他の命令関係とが変化することがあるので、コードイメージそのものが変化する。これらの変化はリアルタイムコードにおいて特に問題となり得る。
その結果として、少なくとも選択されたデバッグ命令の動作が抑圧されている間、製造コードイメージが実質的に変化しないようにする技術が望まれる。あるソフトウェアシステムの連続的な生成と、更に新しく開発されるシステムと、既存のシステムの新しい展開(deployment)とは、このようなデバッグ命令が残っているコードを再利用することがあるので、デバッグ命令が特定のデバッグ命令インスタンス(例えば安定コード中に駐在するもの)に影響し、それ以外には影響しないことが望ましい。
デバッグ命令インスタンスに対する実行モードの選択をアドレス可能なメモリ内のそれぞれのアドレスに基づきサポートするプロセッサの実現は、命令のあるインスタンスはデバッグセマンティクスで動作することによって、他のインスタンスはノーオペレーション(NOP)セマンティクスで実行することによって抑圧するように、デバッグ命令を実行するための魅力的な機構を提供できることが発見された。或る実施形態では、動作する実行セマンティクス(semantics)の選択は、特定のデバッグ命令インスタンスが駐在するメモリページの属性に基づいてよい。或る実施形態では、アドレス空間の部分が区切られ(例えば境界レジスタに格納された値を使用)、特定のデバッグ命令インスタンスのアドレスを区切られた部分と比較することによって好適な実行セマンティクスを選択できる。或る実施形態では、特定のデバッグ命令インスタンスに対する好適な実行セマンティクスを選択するために両タイプの評価を使用できる。
具体的に説明するために、特定のプロセッサ設計と、メモリ組織と、デバッグ型命令と、デバッグ環境とに焦点を当てる。例えば、或る実施形態においてデバッグ通知停止(DNH)命令を実現するプロセッサは、インスタンスが駐在するメモリアドレスまたは領域に基づき、デバッグ通知停止命令のインスタンスに対して選択的な実行セマンティクスを提供するように適合される。或る実施形態では、メモリ管理ユニットがメモリページに従って命令インスタンスに注釈を付け(例えばメモリからフェッチされるとき)、これらの注釈に基づきセグメント一致または領域一致(または不一致)基準と、実行セマンティクスとは、選択される。或る実施形態では、ノーオペレーションセマンティクスが選択されないデバッグ命令の実行のために通常供給される信号または命令コードの代わりに、復号論理を使用することによってプロセッサによって実現されるノーオペレーション型命令に対して信号または命令コードを供給する。もちろん、ここに記載する技術は、他のデバッグ命令と他のプロセッサ設計でも広く応用できるが、例示した文脈に基づき当業者によって理解されるであろう。
従って、前述のことを考慮し、かつ、本発明の実施形態に使用されてよいデバッグ型命令と、基本的なプロセッサまたはシステムアーキテクチャと、アドレス一致基準と、好適な実行セマンティクスとを選択するメカニズムの範囲を制限することなく、以下に特定の実施形態について説明する。
添付の図面を参照することによって、本発明をより良く理解し、その多数の目的と、特徴と、長所とを当業者に明らかにすることができる。
類似または同一の部材には、異なる図面で等しい参照符号を使用する。
本発明の1以上の実施形態に従うデータ処理システムのブロック図。 本発明の1以上の実施形態に従うプロセッサのブロック図。 本発明の1以上の実施形態のアドレス認証された条件付きデバッグ動作を説明するフローチャート。 アドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステム属性を用いる本発明の1以上の実施形態の動作説明。 アドレスに基づく条件付きデバッグ動作を容易にするためにセグメントまたは領域マーキング技術を用いる本発明の1以上の実施形態の動作説明。 アドレスに基づく条件付きデバッグ動作を容易にするために、メモリページングシステムとセグメントまたは領域マーキング技術の結合が用いられる本発明の1以上の実施形態の動作説明。
[プロセッサと条件付きデバッグ一般]
図1は、本発明の或る実施形態と一致するデータ処理システム10(デバッグ装置)を示す。一般に、データ処理システム10は単一の集積回路または複数の集積回路上で実現されてよい。ある場合には、データ処理システム10はシステム・オン・チップとして実現されてよい。例示された構成では、データ処理システム10は、プロセッサ12と、外部デバッグ回路14と、I/Oモジュール16と、メモリ18とを含む。データ処理システム10の構成要素は相互に接続され、何らかの適切な技術を用いて相互に動作する。単純化するために、バス20を介する主要な機能ブロックの相互接続を例示するが、当業者は、多様な相互接続技術とトポロジのうちのいずれも本発明から逸脱することなく使用できることを、認識するであろう。
典型的には、プロセッサ12の実現は、フェッチバッファまたはその他のプロセッサによって実行される命令を格納する手段と、デコーダおよびシーケンシング論理と、1個以上の実行ユニットと、好適なデータと、命令と制御パスを格納したレジスタ記憶装置とを有する。いつでも、プロセッサ12によって行われる計算結果に一致することによって、プログラムコード(例えば命令)とデータのユニットは、メモリ18と、1層以上のキャッシュと、プロセッサ記憶域(例えばフェッチバッファ、レジスタ等)とのうちの少なくとも1つに駐在する。一般に、メモリまたはキャッシュ内で命令とデータを分けたり、混ぜたりする設計を有する、多様なメモリ階層のいずれも使用できる。メモリ18(またはその部分)は、プロセッサと同じ集積回路内に位置してよく、プロセッサ12とは異なる集積回路に位置してよく、または複数の集積回路にまたがってもよい。さらにメモリ18は、任意の好適なタイプの記憶装置、例えば読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、非揮発性メモリ(例えばフラッシュ)等を有しうる。外部デバッグ回路14は、プロセッサ12と同じ集積回路に含まれてよく、またはプロセッサ12を有するいかなる集積回路やシステム・オン・チップからも独立した別個のシステムとして実現されてよい。
図2は、データ処理システム10のプロセッサ12(図1参照)に対応するプロセッサ例、すなわちプロセッサ12のブロック図である。プロセッサ12は、命令デコーダ22と、実行ユニット24と、命令フェッチユニット26と、制御回路28と、汎用レジスタ30と、ロード/格納ユニット32と、バスインターフェースユニット(BIU)34と、内部デバッグ回路40とを有する。プロセッサ12は、バスインターフェースユニット34に接続されたバス20を介してデータ処理システムの他の構成要素に通信する。典型的には他の構成要素は、既に図1に関連して説明したようにメモリ(キャッシュを含むことができる)とI/O構成要素を含む。
ここで留意すべきは、図示された実施形態において、メモリ管理ユニット(MMU)36はアドレス変換を(例えば実現されたセグメンテーションまたはページングされたメモリモデルに従って)調整することによって、ここで述べる条件付きデバッグ制御の幾つかを実現するために好都合な場所を提供することである。従って、以下の記述においてメモリ管理ユニット手段を含む幾つかの設計を例示する。それにも関わらず当業者はこの記述に基づき、メモリから実行ユニット24までの命令パス上にある他の構成要素(例えば命令フェッチユニット26と命令デコーダ22)が、類似した条件付きデバッグ制御または上述した制御の特定部分を、特にメモリ管理ユニットを省いた実施形態において実現できることを認識するであろう。図2も、或る実施形態でプロセッサ12と一緒に提供されうる任意選択キャッシュ37(例えばオンチップ)を示している。任意選択キャッシュ37は統合されたデータ/命令キャッシュとして示されているが、当業者は、望むならば別個のデータと命令部分も提供されてよく、或る実施形態はデータ部分のみまたは命令部分のみプロセッサ12と一緒に配置してよいことを認識するであろう。
内部デバッグ回路40は、プロセッサ12内の活動を監視し、デバッグレジスタ42またはプロセッサ12内の他の場所に格納されたデバッグ構成情報に基づき検出された1以上の所定の条件に応答することによって、1個以上のデータブレークポイントイベント、命令ブレークポイントイベント、命令実行イベント、例えば分岐またはトラップイベント、命令完了イベント、その他を生成できる。内部デバッグ回路40は、外部デバッグユニット、例えばIEEE ISTO−5001コンプライアント・ネクサスデバッグユニットと図2に示されたデバッグポートに接続されてよい。外部デバッグユニットは、図1に示された外部デバッグ回路14の全部または一部を含んでよい。ネクサスは、フリースケール・セミコンダクター株式会社、オースチン、テキサスの商標である。デバッグポートは、シリアルインターフェース、例えばJTAGであってよく、またはパラレルポート、シリアルポートとパラレルポートの組合せ、またはイーサネット(登録商標)ポートとして実現されてよい。或る実施形態ではプロセッサ12は、好適な相互接続または信号機構を用いて内部デバッグ回路を他のデバッグ回路オンチップにインターフェース接続させることができる。
図示されているように、内部デバッグ回路40はデバッグレジスタ42とデバッグ制御回路44を含んでいる。デバッグレジスタ42は、典型的には種々のデバッグ関連イベント、例えば命令ブレークポイント、データブレークポイント、ウォッチポイント、およびその他のデバッギング関連メッセージングを制御するために、フィールドにグループ分けしたビットを含んでいる。一般的には、これらのデバッギングリソースは、プロセッサ12と外部デバッグ回路14との間で共有されてよく、いかなる場合もアドレスに基づきここで述べる条件付きデバッグ制御を選択的に有効にする(または無効にする)述語(predicate)状態(例えばメモリページ属性と、マークされたセグメントまたは領域と、アドレス識別子とのうち少なくとも1個の組合せ)を規定するために使用できる。
一般に、デバッグレジスタ42は、1個以上のアドレス比較値、アドレス範囲、データ一致値のための記憶装置を提供する。記憶装置は、命令および/またはデータアクセスブレークポイント、ウォッチポイントイベント、およびその他のデバッグ制御基準の実現に有益である。これらのアドレスおよびデータ値は、種々の制御基準とともに、いつプロセッサ12がブレークポイントまたはウォッチポイントイベントを生成する目的で1個以上の所定の命令アドレスまたはデータアドレスにアクセスするか決定するのに用いられる。これによってプロセッサ12は、内部デバッグモードがアクティブであるときデバッグ例外のための例外処理を開始でき、またはプロセッサ12はデバッグ停止モードに入り、外部デバッグモードがアクティブであるとき内部デバッグユニット40のデバッグポートを通して外部デバッグ回路14によって供給される命令に応答できる。
例として、これに限るものではないが、デバッグレジスタ42は、デバッグ構成情報の記憶に適したデバッグ制御レジスタ、命令アドレス比較レジスタとデータアドレス比較レジスタ、ならびにデバッグ状態レジスタ、デバッグカウンタおよびデータ値比較レジスタを有しうる。一般に、デバッグレジスタ42は、ユーザのソフトウェアプログラミングモデルの可視部分であってよい。デバッグカウンタは、1個以上の計数可能なイベントが発生したらカウントダウンするように構成できる。計数値がゼロに達したら、デバッグ計数イベントが伝えられて、有効であるならばデバッグ割込が生成されてよい。データ値比較レジスタは、データ比較目的、例えば条件付きブレークポイントを実現するためにデータ値を格納できる。
内部デバッグモードでは、レジスタリソースはソフトウェアによって管理され、外部デバッグ回路の使用は必要とされない。ソフトウェアは、専用レジスタ命令との間でデータが行き来することを通してレジスタを構成できる。専用レジスタ命令は、ソフトウェアに基づくデバッギング活動を実行するために個々のデバッグレジスタを初期化するソフトウェア命令である。有効にされたデバッグイベントは、ソフトウェアデバッグ割込をトリガする。このときソフトウェア割込ハンドラは、データ処理システム10のソフトウェアプログラマによって決定される種々の望ましい活動を実行できる。
外部デバッグモードでは、外部デバッグ回路14は、デバッグレジスタ42の共有デバッグレジスタの所有を割当てられ、構成されたデバッグイベントが生じたら、プロセッサ12は停止状態に入ることができ、外部デバッグ回路14によって提供される命令を待つ。外部デバッグモードが有効にされているとき、ソフトウェアは、もはや共有されたデバッグリソースを制御できない。或る実施形態では、デバッグレジスタ42は、デバッグレジスタ42内またはプロセッサ12内の他の場所に配置された外部デバッグ制御レジスタを有する。外部デバッグ制御レジスタは、ユーザのソフトウェアプログラミングモデルの一部でなくてもよい。すなわち、プロセッサ12上で実行されるソフトウェアは、外部デバッグ制御レジスタの可視性を持たなくてよい。外部デバッグ回路14は、共有デバッグリソースと、任意の専用外部デバッグリソースとに、直接デバッグポート(図2に示す)を介してアクセスできる。これは例えば、JTAG TAP ポートとして実現される。或る実施形態では、デバッグレジスタ42と外部デバッグ制御レジスタは、種々のJTAG命令の1個以上のフィールド内に含まれたレジスタ選択符号化を有するJTAGデータレジスタとしてマッピングされてよく、これはJTAG IR動作とJTAG DR動作とを通してデバッガによるレジスタの読取りと書込みアクセスを提供する。
例として、ただしこれに限るものではなく、与えられた命令のインスタンスの生成が、インスタンスがプロセッサによってアドレス可能なメモリ内に現れるアドレスに基づき(ここで述べる技術を用いて)認証される、条件付きデバッグ型命令の2つの例を要約する。これらの例は、デバッグ通知停止(DNH)命令とブレークポイント命令コーディングであり、プロセッサコア、例えばフリースケール・セミコンダクターが費用を重視した内蔵リアルタイムアプリケーション、例えば自動車マイクロコントローラ(MCU)のMPC5000ファミリ用に供給するコアのe700/e500とe200コアファミリによって実現される。
デバッグ通知停止命令は、非停止モードにおけるコアでの命令の実行と、外部デバッグ手段の後続の動作とを橋渡しする。具体的には、デバッグ通知停止命令によってソフトウェアは、コアを実行状態から停止状態に移行させることができ(外部デバッガによって有効にされている場合)、外部デバッガに命令自体に含まれているメッセージとコード化されたビットコードを通知できる。典型的に実現されると、デバッグ通知停止命令は、条件付きデバッグ命令であり、そのランタイム効果はデバッグ制御レジスタにおいて設定される特定の指示の状態によって決定される(例えば図2のデバッグレジスタ42参照)。例えば1つの実現において、DNH_NOP指示は、外部デバッグ手段またはソフトウェアによって設定され、DNH_EN指示は、消去され、デバッグ通知停止命令インスタンスは、ノーオペレーションとして実行される。DNH_WPT指示が設定されると、ウォッチポイントは、外部のCPUに伝えられる。
粗粒度制御機構(例えば好適なDNH_NOPとDNH_EN指示の使用)によってデバッグ通知停止命令は、プロセッサをデバッグ状態に保持したり、不正な命令例外を行ったりする代りに、所望されるならノーオペレーションとして扱われることができる。この制御によってデバッグ通知停止命令は、コード開発後のアプリケーションのコードイメージ中に内蔵され続けるが、単純にノーオペレーションとして働くことによって無害に留まる。このようにして、コードイメージ自体が変化する必要がなく、分岐ターゲットと、ページ境界と、他の命令関係とが変化しないままなので、予測可能に実行される。しかしながら、デバッグ通知停止タイプ命令のすべての(さらにはグループ全体の)インスタンスの粗粒度制御は、安定コード中に含まれたデバッグ通知停止命令インスタンスがノーオペレーションとして扱われるために十分な粒度を提供しないかも知れないが、同時に他のデバッグ通知停止命令インスタンスが停止またはウォッチポイントとして動作することを可能にする。
ここで留意すべきは、特許文献1が上述したデバッグ通知停止命令の変形であるDNH2を開示していることである。そこにおいてDNH2命令フォーマットは、個々のDNH2命令インスタンスが有限数の制御グループの1つに関連付けられるようすることによって、グループ特有の制御機構(例えばグループ特有のGROUPx.DNH_NOPとGROUPx.DNH_EN指示)は、各々のグループについて好適な実行セマンティクスを決定するために使用されうる。ここでは例としてデバッグ通知停止命令に焦点を当てたが、上述した内容に基づき、当業者は、ここで述べるアドレス認証されたデバッグ制御がDNH2命令のような変形命令を実現する設計に適用できることを理解するであろう。
同様に本発明の或る実施形態において、ブレークポイント(bkpt)命令は、アドレス認証が提供されるデバッグ命令として使用され得る。ある命令セットの実現において、ブレークポイント命令は、命令セットアーキテクチャ(ISA)によって明確に定義されないが、不正命令コードとして実現されることがある。不正命令コードは、実行後に例外または誤りを生成し、これらはデバッグ手段によって処理するために送られうる。幾つかの命令セットアーキテクチャと実現において、bkpt命令コード(または類似の命令コーディング)は、定義され且つ提供されてよい。明確にするために、しかも一般性を制限または喪失することなく、ここではブレークポイント命令を定義された命令セットコーディング(例えばbkpt命令)であるかのように参照する。
上述のように、所望されるならプロセッサをデバッグ状態に保持する代わりに、粗粒度制御機構によってbkpt命令は、ノーオペレーションとして扱われてよい。この制御によってbkpt命令は、コード開発後にアプリケーションのコードイメージ内に内蔵されたままであるが、単純にノーオペレーション動作として作用することによって無害に留まる。上記のように、分岐ターゲットと、ページ境界と、他の命令関係とが変化しないため、予測可能に実行される。しかしながら、上述したように、bkpt命令のすべての(またはグループの)インスタンスの粗粒度制御は、安定コード内のbkpt命令インスタンスがノーオペレーションとして扱われるようにするために十分な粒度を提供しないが、同時に他のbkpt命令インスタンスがブレークポイントとして動作できるようにする。
従って、ここではアドレスによるデバッグ命令インスタンスの認証を用いて、デバッグ通知停止と、bkptと、他のデバッグ型命令とのうちの少なくとも1個の具体的なインスタンスの挙動を特定する技術について述べる。以下の記述に基づき、当業者は、類似または同様のデバッグ命令を実現するプロセッサとシステムへの非常に多様な応用を理解するであろう。
図3は、本発明の1以上の実施形態に従いアドレス認証された条件付きデバッグ技術のセットアップと動作を例示するフローチャートである。図面の左側には、アドレス認証された条件付きデバッグのためのセットアップ301のシーケンスが示されている。例えば或る実施形態では、デバッグ型命令インスタンス、例えばここに登場するデバッグ通知停止、DNH2、bkpt等を無効化(または有効化)するために個々のコードブロックが考慮される(311)。一般的な提案として、コードブロックは任意の好適な粒度であることができ、命令の機能、手順、モジュール、サブシーケンス等に対応してよい。どのようなものであれ粒度を使用することは、アドレス認証子の記憶域310、セットアップシーケンス301記憶域に対応するページフレーム識別子、セグメント識別子、領域識別子(例えばベースアドレス/アドレスマスクペア)および/または個々のデバッグ命令インスタンスの動作または挙動を変化させるためのアドレスに基づく他の何らかの認証子によって提供される。
プロセッサ、例えばプロセッサ12(図2参照)でコードを実行している間(フロー302)、プログラムシーケンシングに従う命令(または複数の命令)の復号に備えて、且つ結果として起こるプログラムシーケンシングに従う命令(または複数の命令)の実行に備えて、各々の命令(または命令グループ)が典型的にはメモリまたはキャッシュからフェッチされる(ステップS321)。デバッグ命令インスタンスに対しては、メモリ内で特定のインスタンスが見いだされる具体的なメモリアドレスは、記憶域310内のアドレスに基づく認証子に対してチェックされる(ステップS322)。記憶域310に示されたページ、セグメントまたはメモリアドレスの範囲が、デバッグ型命令インスタンスの具体的なメモリアドレスと一致したら(ステップS323)、この命令インスタンスのデバッグ実行セマンティクスは、抑圧される(ステップS324)。典型的には、一致した命令インスタンスに対しては命令フェッチまたは復号ユニット(例えば図2の命令フェッチユニット26、命令デコーダ22参照)によって、ノーオペレーション命令コードは置換される。しかし望むならば他の抑圧機構が使用されてもよい。最後に、(デバッグ実行セマンティクスは抑圧されて)対応する命令が実行される(ステップS325)。
図4は、特定のデバッグ命令インスタンスのメモリアドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステム属性が使用される本発明の1個以上の実施形態の動作を示している。既に説明したようにアドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも1つから供給される指示に基づき記憶域に示される。より具体的には図4の例で、デバッグ関連ページフレーム属性が供給されて(405)、集合的にページ変換410として示された1個以上のページメモリ管理記憶域(例えばページテーブル、トランスレーション・ルックアサイド・バッファ(TLB)エントリ等)で符号化される。当業者は、メモリ管理ユニット450の実現、より一般的にはページングされたメモリ管理システムの多様な好適な実現を理解するであろう。明確にするために、しかも一般性を制限または喪失することなく、ここでは単純化されたページングシステムについて技術の例示に必要な側面のみ示す。
慣用的に、メモリ管理ユニット450は、仮想アドレス(例えば命令フェッチアドレス427)をアドレス可能記憶装置内の物理アドレス(例えばメモリおよび/またはキャッシュ420内の位置471に対応する物理アドレス499)に変換する。メモリページングシステムの例示と一致することによって、アドレス可能記憶装置は、ページフレームレベルの粒度で表示される。すなわち、仮想アドレス498に対応するページフレームは、ページ変換410を用いて、物理アドレス空間内の対応するページ(例えば物理ページ458)にマッピングされる。やはり慣用的に、ページ属性411は、マッピング412に関連して符号化される。例えば、あるメモリページングシステム実現において、ライトスルー(W)と、キャッシュ抑圧(I)と、メモリ一貫性要求(M)と、保護(G)と、エンディアン(E)との属性は、ページ属性411内の個々の変換に関連する構成指示として特定されうる。我々のアドレス認証条件付きデバッグ技術をサポートするために、ページ属性411に追加的なデバッグ無効化(D)属性を加える。追加的なデバッグ無効化(D)属性は、(ある実現においては)ページングシステム実現で具体的に定義された属性を用いて、または(他の実現においては)さもなければ割当てられていないユーザ定義可能ページ属性を用いて提供される。具体的なコーディングが何であれ、アドレス指定された位置471に格納された特定のデバッグ型命令インスタンスのフェッチとの関連で、ページ変換410から読出される特定のデバッグ無効化(D)指示413は、フェッチされた命令インスタンスに対する実行セマンティクスを決定するために使用される。
図4の例において、仮想ページから物理ページへの変換418と419は、物理アドレス空間内のそれぞれの物理ページ458と459に対応する。従ってページ458と459内で物理アドレスからフェッチされるデバッグ型命令インスタンスは、ページ変換410における対応するデバッグ無効化(D)指示セット(405)に基づきノーオペレーションセマンティクスによって実行される。説明の目的のために、例示された実施形態においてデバッグ無効化(D)指示413は、対応するデバッグ型命令がノーオペレーションセマンティクスによって実行されることを示すものと想定する。もちろん他のコーディング推定(coding sense)が使用されてもよい。
一般に、ノーオペレーションセマンティクスは、多様な何らかの方法で提供されることができる。例えばメモリ管理ユニット450は、フェッチされたデバッグ型命令インスタンス(またはキャッシュラインもしくはデバッグ型命令インスタンスが登場する他のフェッチユニット)に注釈を付けて(452)、命令パスにおける好都合なポイントで後から置換し(またはオーバーロード)を行うようにマークしてよい。特に、このように注釈を付けたデバッグ型命令インスタンスの命令コードは、フェッチユニット426(例えば453において)または命令デコーダ422(例えば454において)のノーオペレーション命令コードで置換(オーバーロード)が行われてよい。代替として、メモリ管理ユニット450は、それ自体でノーオペレーション命令コードを置換またはオーバーロードすることもできようが、これはあるレベルの命令セットの知識が一般的にメモリ管理ユニットで提供されないことを前提とする。
図5は、セグメントまたは領域マーキング技術が特定のデバッグ命令インスタンスのメモリアドレスに基づく条件付きデバッグ動作を容易にするために用いられる本発明の1個以上の実施形態の動作を例示する。上記のように、アドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも一方から供給される指示(505)に基づき記憶装置内で示される。より具体的には、図5の例においてアドレスベース/アドレスマスクペア(511...512)は、メモリおよび/またはキャッシュ518に示されたアドレス可能記憶装置の対応するセグメントまたは領域(561、562)をマークするために用いられる。命令フェッチアドレス527は、コンパレータ(516...517)の集合を用いてアドレスベース/アドレスマスクペアと比較され、一致すれば(命令パスにおける好都合なポイントで)対応するデバッグ型命令インスタンスの注釈(552)および/または置換/オーバーロードを行うという指示513が供給される。
図5の例では、アドレス可能なメモリの位置571から引き出された命令インスタンスのデバッグ型実行セマンティクスは、命令フェッチアドレス527が1個以上のアドレスベース/アドレスマスクペア(511...512)と一致することに基づき抑圧される。上述した内容に従い、アドレスベース/アドレスマスクペアは、対応するデバッグ型命令がノーオペレーションセマンティクスによって実行されるべきであることを指示するが、他のコーディング推定が用いられてもよい。上述のように、命令パスにおける好都合なポイントは、フェッチユニットまたは命令デコーダを含む。
先行の例に基づき図6は、アドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステムとマーキング技術の結合が用いられる、本発明の1個以上の実施形態の動作を示している。上述のように、アドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも一方から供給される指示(605)に基づき記憶装置に示される。しかしながら、図6の例ではページフレーム属性とアドレスベース/アドレスマスクペアの両方が供給される。上述のように、ページフレーム属性は1個以上のページングされたメモリ管理記憶域(例えばページテーブル、トランスレーション・ルックアサイド・バッファ(TLB)エントリ等)で符号化され、ページ変換610として集合的に示される。具体的には、エントリ618(命令フェッチアドレス627に対応)は変換を提供することによってページ658を位置671(とフェッチされるデバッグ命令)が駐在するアドレス可能メモリ内のページとして識別する。
図6の例では、アドレスベース/アドレスマスクペア(例えばアドレスベース/アドレスマスクペア611)は、ページ658内の対応する領域661をマークするために、さらにデバッグ型実行セマンティクスが抑圧されるべきアドレス可能記憶装置の部分を区切るために用いられる。具体的には図6は、(i)命令フェッチアドレス627とアドレスベース/アドレスマスクペア611の内容の比較(616)の結果と、(ii)アドレス指定された位置671に格納されている特定のデバッグ命令の対応するフェッチとの関連でページ変換610から引き出されたデバッグ無効化(D)指示613とのAND結合(論理699参照)を示している。従って、例示された構成は、デバッグ実行セマンティクスが抑圧されるべきメモリ位置のセットを、デバッグ無効化(D)指示を有するページ内に現れるメモリ位置のサブセットに狭める機構を提供する。
もちろん、ページ指示と領域指示の他の構成も可能であり想定されている。例えばある変化例において、アドレスベース/アドレスマスクペア611と一致するアドレス可能位置を、さもなければデバッグ無効化(D)指示が符号化されたページの範囲内に入るアドレス可能位置から排除するために、NOT−AND構成が使用されうる。同様に、他の変化例ではアドレスベース/アドレスマスクペア611と一致するアドレス可能位置か、またはデバッグ無効化(D)指示が符号化されたページの範囲内に入るアドレス可能位置を含めるためにOR構成が使用されうる。さらに、ここでは2つの入力の単純な1段階結合が例示されているが、望むならばより多くの数の入力と、より複雑な結合図式とが使用されてよい。それぞれのケースにおいて、(命令パスにおける好都合なポイントでの)注釈(例えば652)および/または置換/オーバーロードが対応するデバッグ型命令インスタンスに対して行われる。
図6の具体例を参照して、アドレス可能メモリ内の位置671からフェッチされる命令インスタンスのデバッグ型実行セマンティクスは、命令フェッチアドレス627が(i)1組のデバッグ無効化(D)指示613が現れる変換610のエントリ(618)と、(ii)アドレスベース/アドレスマスクペア(611)の内容と一致することに基づき抑圧される。上述したことに従い、ここではデバッグ無効化(D)指示とアドレスベース/アドレスマスクペアは、ノーオペレーションセマンティクスによって実行されるべきデバッグ型命令インスタンスをカバーするものと想定するが、他のコーディング推定も使用できる。また上述のように、ノーオペレーション命令コードによる置換/オーバーロードに対する命令パスにおける好都合なポイントは、フェッチユニットまたは命令デコーダを含む。
[その他の実施形態]
プロセス識別子(PID)またはアドレス空間識別子(ASID)は、プロセッサ実現においてしばしば用いられ、それ自身のユニークな仮想アドレス空間による各々の実行プロセスを提供するために使用できる。従って、本発明の或る実施形態では、そのようなプロセス識別子またはアドレス空間識別子フィールド値の全部または一部が、デバッグ型実行セマンティクスまたはノーオペレーション実行セマンティクスが望まれる1組のアドレスを規定する比較において使用されてよい。例えば、そのようなプロセス識別子またはアドレス空間識別子フィールド値の使用は、特定の実行セマンティクスが指定されているセットにおける(からの)具体的なプロセスまたはスレッドに関連した仮想アドレス空間に入るアドレスを有する(または排除する)ことができる。
本発明の或る実施形態において、仮想化技術が使用されてよい。仮想化はしばしば明確に区別されるアドレス空間において互いに独立に動作する論理的パーティションを規定する。例えば、あるマルチスレッドのプロセッサ実現において各々の仮想プロセッサは1つの論理的パーティションに割り当てられてよい。同様にマルチプロセッサシステムにおいて、各々の物理プロセッサは1つの論理的パーティションに割り当てられてよい。一般に、論理的パーティションの割当ては、パーティションID(LPID)値を割り当てることによって行うことができる。パーティションID値は仮想アドレスの拡張を形成し、アドレス変換中に各々のTLBエントリに対する論理的パーティション値と一致させるために使用できる。従って、本発明の或る実施形態において、LPIDフィールド値の全部または一部は範囲比較論理に対する入力として含まれて、さらに1個以上の仮想アドレス空間またはパーティションを指定することが可能となる。
一般に、アドレス空間比較(プロセス識別子、アドレス空間識別子またはLPIDフィールド値または何らかの仮想化手段)は、別個に用いられるか、または図3〜図6を参照して例示または説明された検索もしくは比較と組合せて用いられる。アドレス空間に対応するページ上の好適なページ属性をマークすることによって類似の機能が提供され得るのはほぼ間違いないが、ページのマーキング/アンマーキングは時間がかかるか不都合である。それゆえ或る実施形態ではで上記の代替例が魅力的であり得る。
ここでは特定の実施形態を参照して本発明を説明したが、以下の特許請求の範囲に明記された本発明の範囲を逸脱することなく、様々な変容と変更を行うことができる。例えば特定のデバッグ命令とメモリアーキテクチャの例で技術を説明したが、我々の技術は必ずしもこれに制限されるものではない。従って或る実施形態では、或るクラスのデバッグ命令によってデバッグ命令を独立のグループに分別することが可能であり、各々のグループは実行によってなされるアクション(複数のアクションを含む)を独立に制御し、それによってデバッグの追加的なフレキシビリティが提供される。これらのグループは独立に制御されて、結果として生じるアクションはハードウェアまたはソフトウェアデバッガによって動的に変容され得る。本発明の技術はグループで区切られたデバッグ命令に対するアドレス認証を提供するために用いられてよい。
本発明の実施形態は、種々の情報処理システムを用いて実現されうる。従って図1と、図2と、これらに伴う説明とは例示されたデータ処理システムとプロセッサアーキテクチャに関するものであるが、これらのアーキテクチャ例は単に例示的なものにすぎない。もちろん、ここではアーキテクチャに関する記述は説明の目的のために単純化されており、当業者はここに示された論理ブロックまたは構成要素の境界が単に例示的なものであり、代替実施形態は論理ブロックまたは回路要素を結合し、および/または種々の論理ブロックまたは回路要素の機能を別様に分解しうる。
本発明を実現する要素、システムと装置は、大部分はここで機能的に記載された当業者に知られている電子構成要素と、回路と、コード(例えばソフトウェア、ファームウェアおよび/またはマイクロコード)とのうちの少なくとも1個からなる。従って構成要素と、回路と、コードとに関する詳細は、明確性と具体的のために必要な限りで説明し、本発明の基本コンセプトの理解と認識を容易にした。ある場合には、本発明の教示が不明確になることを、またはそれから注意がそれることを避けるために、公知の技術の特徴、構造、構成要素または実現技術に関する説明は、一般化した。
一般に、ここで用いられている用語「プログラム」と「プログラムコード」との少なくとも一方は、コンピュータシステム上で実行するために設計されたシーケンスまたは1組の命令を表す。そのようなものとしてこれらの用語はサブルーチン、機能、手順、目的方法、ソフトウェア方法の実現、インターフェースまたは目的、実行可能なアプリケーション、アプレット、サーブレット、ソース、目的コードまたは中間コード、共有されたおよび/または動的にロード/リンクされたライブラリおよび/または他のシーケンスまたはコンピュータシステム上で実行するために設計された命令グループを含んでよい。
ここで述べるプログラムコードの全部または一部、ならびにここで述べる情報処理システムのソフトウェアによって実現された機能は、情報処理システムの要素によって、例えばコンピュータ可読媒体によって、または他のシステムを介してアクセスされ、もしくは受け取られてよい。一般にコンピュータ可読媒体は情報処理システムに恒久的に、取外し可能に、または間接的に連結されてよい。コンピュータ可読媒体は、例えば制限なく次のものを任意の数含むことができる。ディスク式とテープ式記憶媒体を含む磁気記憶媒体、光学記憶媒体、例えばコンパクトディスク媒体(例えばCD−ROM、CD−R等)およびデジタルビデオディスク記憶媒体、半導体ベースメモリユニットを含む非揮発性記憶媒体、例えばフラッシュメモリ、EEPROM、EPROM、ROM、強磁性デジタルメモリ、MRAM、揮発性記憶媒体、例えばレジスタ、バッファまたはキャッシュ、メインメモリ、RAM等、およびデータ伝送に伴う媒体、例えばコンピュータネットワーク、2点間遠隔通信装置、搬送波または信号を介する伝送があるが、これらはごく一例にすぎない。
最後に、仕様と図は制限的なものではなく、例示的なものと見なされるべきであり、上記の内容に従って広範な変化例と、変容と、拡張とが想定されている。特定の実施形態に関してここで述べた利益、利点、問題の解決は何らかのまたはすべての請求項の決定的な、必要な、または本質的な特徴もしくは要素と解釈されることを意図していない。

Claims (5)

  1. 同一のデバッグ命令のデバッグ命令インスタンスである少なくとも第1インスタンスと第2インスタンスを有するコードをプロセッサ上で実行する実行ステップと;
    前記プロセッサによってアドレス可能なメモリ内の前記デバッグ命令インスタンスのそれぞれのアドレスに基づき、個々の前記デバッグ命令インスタンスのための実行モードを選択する選択ステップと
    を有するデバッグ方法であって、
    それぞれの前記アドレスに基づき、前記第1インスタンスがノーオペレーションセマンティクスで実行され、前記第2インスタンスがデバッグ関連セマンティクスで実行されることを特徴とする、デバッグ方法。
  2. 前記選択ステップは更に、
    前記デバッグ命令の特定のインスタンスが駐在する、メモリページのデバッグ属性をチェックするステップと;
    少なくとも一部は前記デバッグ属性に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスのうちのいずれか一方を選択するステップと
    を有する、
    請求項1記載のデバッグ方法。
  3. 前記選択ステップは更に、
    前記デバッグ命令の特定のインスタンスのためのメモリアドレスを、前記メモリの1個以上の各部分を区切る1個以上の記憶域の内容と比較するステップと;
    前記メモリアドレスと区切られた部分とのうちの少なくとも一部の一致に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスとのうちのいずれか一方を選択するステップと
    を有する、
    請求項1記載のデバッグ方法。
  4. 前記選択ステップは更に、
    ページ属性チェックと、前記メモリの区切られた部分に対する比較との両方を行うステップであって、前記ページ属性チェックは、前記デバッグ命令の特定のインスタンスが駐在する、メモリページのデバッグ属性をチェックすることであり、前記メモリの区切られた部分に対する前記比較は、前記デバッグ命令の特定のインスタンスのためのメモリアドレスを、前記メモリの1個以上の各部分を区切る1個以上の記憶域の内容と比較することであることと;
    前記ページ属性チェックと前記比較との構成に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスとのうちのいずれか一方を選択するステップと
    を有する、
    請求項1記載のデバッグ方法。
  5. 同一のデバッグ命令インスタンスである少なくとも第1インスタンスと第2インスタンスを有するコードを実行するプロセッサと;
    前記プロセッサによってアドレス可能なメモリ内の前記デバッグ命令インスタンスそれぞれのアドレスに基づき、前記デバッグ型命令のインスタンスそれぞれに対する実行モードをそれぞれ選択する、前記プロセッサのための論理回路
    を備え、
    それぞれの前記アドレスに基づき、前記第1インスタンスがノーオペレーションセマンティクスで実行され、前記第2インスタンスがデバッグ関連セマンティクスで実行される、デバッグ装置。
JP2011500821A 2008-03-17 2009-02-02 アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 Expired - Fee Related JP5335887B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/049,984 2008-03-17
US12/049,984 US8261047B2 (en) 2008-03-17 2008-03-17 Qualification of conditional debug instructions based on address
PCT/US2009/032793 WO2009117178A1 (en) 2008-03-17 2009-02-02 Qualification of conditional debug instructions based on address

Publications (3)

Publication Number Publication Date
JP2011514606A JP2011514606A (ja) 2011-05-06
JP2011514606A5 JP2011514606A5 (ja) 2012-03-22
JP5335887B2 true JP5335887B2 (ja) 2013-11-06

Family

ID=41064277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011500821A Expired - Fee Related JP5335887B2 (ja) 2008-03-17 2009-02-02 アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置

Country Status (5)

Country Link
US (1) US8261047B2 (ja)
JP (1) JP5335887B2 (ja)
CN (1) CN101946232B (ja)
TW (1) TWI464576B (ja)
WO (1) WO2009117178A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6858615B2 (en) 2002-02-19 2005-02-22 Parion Sciences, Inc. Phenyl guanidine sodium channel blockers
AR086745A1 (es) 2011-06-27 2014-01-22 Parion Sciences Inc 3,5-diamino-6-cloro-n-(n-(4-(4-(2-(hexil(2,3,4,5,6-pentahidroxihexil)amino)etoxi)fenil)butil)carbamimidoil)pirazina-2-carboxamida
US8700955B2 (en) * 2011-09-22 2014-04-15 Freescale Semiconductor, Inc. Multi-processor data processing system having synchronized exit from debug mode and method therefor
WO2014099673A1 (en) 2012-12-17 2014-06-26 Parion Sciences, Inc. 3,5-diamino-6-chloro-n-(n-(4-phenylbutyl)carbamimidoyl) pyrazine-2- carboxamide compounds
US9593084B2 (en) 2012-12-17 2017-03-14 Parion Sciences, Inc. Chloro-pyrazine carboxamide derivatives with epithelial sodium channel blocking activity
US9330011B2 (en) * 2013-09-20 2016-05-03 Via Alliance Semiconductor Co., Ltd. Microprocessor with integrated NOP slide detector
US9411745B2 (en) * 2013-10-04 2016-08-09 Qualcomm Incorporated Multi-core heterogeneous system translation lookaside buffer coherency
US9102633B2 (en) 2013-12-13 2015-08-11 Parion Sciences, Inc. Arylalkyl- and aryloxyalkyl-substituted epithelial sodium channel blocking compounds
US9600505B2 (en) * 2014-09-23 2017-03-21 Sap Se Code optimization based on customer logs
TWI566090B (zh) * 2014-10-17 2017-01-11 Insyde Software Corp Debugging firmware / software to produce tracking systems and methods, recording media and computer program products
US10496410B2 (en) * 2014-12-23 2019-12-03 Intel Corporation Instruction and logic for suppression of hardware prefetchers
US9886194B2 (en) * 2015-07-13 2018-02-06 Samsung Electronics Co., Ltd. NVDIMM adaptive access mode and smart partition mechanism
GB2540942B (en) * 2015-07-31 2019-01-23 Advanced Risc Mach Ltd Contingent load suppression
US11074988B2 (en) * 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10628288B2 (en) 2016-07-22 2020-04-21 International Business Machines Corporation Debugger that correlates differing values to system environments in a distributed system
US10191836B2 (en) 2016-12-28 2019-01-29 Nxp Usa, Inc. Software watchpoints apparatus for variables stored in registers
US10599555B2 (en) 2017-09-20 2020-03-24 Texas Instruments Incorporated Context-sensitive debug requests for memory access
TWI659361B (zh) * 2018-01-09 2019-05-11 國立中央大學 支援多執行緒/並行程式除錯之方法、電腦可讀取之記錄媒體及電腦程式產品
US11010280B1 (en) * 2019-03-13 2021-05-18 Parallels International Gmbh System and method for virtualization-assisted debugging
CN111984325A (zh) * 2019-05-23 2020-11-24 三星电子株式会社 提高分支预测吞吐量的装置及系统
CN111898120B (zh) * 2020-06-29 2023-10-10 中国科学院信息工程研究所 控制流完整性保护方法及装置
TWI790506B (zh) * 2020-11-25 2023-01-21 凌通科技股份有限公司 開發介面系統與在開發介面進行大量資料傳輸方法
TWI764581B (zh) * 2021-02-22 2022-05-11 群聯電子股份有限公司 記憶體檢查方法、記憶體檢查裝置及記憶體檢查系統
CN112820341B (zh) * 2021-03-03 2024-05-07 群联电子股份有限公司 存储器检查方法、存储器检查装置及存储器检查系统
GB2605796B (en) * 2021-04-13 2023-06-28 Advanced Risc Mach Ltd Apparatus and method for generating debug information

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2211638A (en) * 1987-10-27 1989-07-05 Ibm Simd array processor
JPS6476233A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Tracing device
JPH02214949A (ja) * 1989-02-16 1990-08-27 Nec Corp システム資源の使用状態表示装置
US5491793A (en) * 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
JPH1011320A (ja) * 1996-06-19 1998-01-16 Matsushita Electric Ind Co Ltd 計算機等の処理装置におけるromプログラムモニタ装置
US6289300B1 (en) * 1998-02-06 2001-09-11 Analog Devices, Inc. Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
JP2000235510A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサおよびそのためのコンパイルプログラム記録媒体
US6587967B1 (en) * 1999-02-22 2003-07-01 International Business Machines Corporation Debugger thread monitor
US6834338B1 (en) * 2000-02-18 2004-12-21 Texas Instruments Incorporated Microprocessor with branch-decrement instruction that provides a target and conditionally modifies a test register if the register meets a condition
US6865663B2 (en) * 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
JP2002189613A (ja) * 2000-12-21 2002-07-05 Toshiba Corp ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体
GB0125628D0 (en) * 2001-10-25 2001-12-19 Ibm Computer system with watchpoint support
US7168067B2 (en) * 2002-02-08 2007-01-23 Agere Systems Inc. Multiprocessor system with cache-based software breakpoints
US20050240820A1 (en) * 2004-03-31 2005-10-27 Vannerson Eric F Method and apparatus for multiprocessor debug support
US20050289396A1 (en) * 2004-06-25 2005-12-29 Hooper Donald F Conditional breakpoint using breakpoint function and breakpoint command
US7237149B2 (en) * 2005-02-25 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for qualifying debug operation using source information
JP4718901B2 (ja) * 2005-05-27 2011-07-06 パナソニック株式会社 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
EP1736881A1 (en) * 2005-06-15 2006-12-27 Research In Motion Limited Controlling collection of debugging data
JP2007058731A (ja) * 2005-08-26 2007-03-08 Matsushita Electric Ind Co Ltd プロセッサ、及び並列命令実行対応デバッグ装置

Also Published As

Publication number Publication date
TWI464576B (zh) 2014-12-11
TW200945022A (en) 2009-11-01
US20090235059A1 (en) 2009-09-17
US8261047B2 (en) 2012-09-04
CN101946232A (zh) 2011-01-12
WO2009117178A1 (en) 2009-09-24
JP2011514606A (ja) 2011-05-06
CN101946232B (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
JP5335887B2 (ja) アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
US10318407B2 (en) Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus
KR100933820B1 (ko) 메모리 속성들을 사용하기 위한 기술
JP5661863B2 (ja) 実行装置内のデータ転送のシステムおよび方法
TWI448897B (zh) 監視在硬體中之記憶體存取的方法與設備、處理器及其系統
US7533246B2 (en) Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation
KR101793318B1 (ko) 명령어 에뮬레이션 프로세서, 방법 및 시스템
US9003376B2 (en) Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems
US8024620B2 (en) Dynamic address-type selection control in a data processing system
US9575816B2 (en) Deadlock/livelock resolution using service processor
JP2010541067A (ja) デバッグイベントを監視するためのシステム及び方法
US7689815B2 (en) Debug instruction for use in a data processing system
US7774758B2 (en) Systems and methods for secure debugging and profiling of a computer system
JP5822848B2 (ja) 例外の制御方法、システムおよびプログラム
CN113474754A (zh) 有条件退让给管理程序指令
Vranken Debug facilities in the TriMedia CPU64 architecture
TW202403562A (zh) 用於記憶體位址空間之頁面的「讀值只有x」性質
Martorell et al. gtrace: function call and memory access traces of dynamically linked programs in IA-32 and IA-64 Linux

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120201

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130731

R150 Certificate of patent or registration of utility model

Ref document number: 5335887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees