JP2017152014A - マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム - Google Patents
マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム Download PDFInfo
- Publication number
- JP2017152014A JP2017152014A JP2017076029A JP2017076029A JP2017152014A JP 2017152014 A JP2017152014 A JP 2017152014A JP 2017076029 A JP2017076029 A JP 2017076029A JP 2017076029 A JP2017076029 A JP 2017076029A JP 2017152014 A JP2017152014 A JP 2017152014A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- threads
- predetermined event
- common predetermined
- execution tracing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】DSP40のアーキテクチャにおいて、実行トレース処理により、インタースレッドトレースアライメントは、共通所定イベントに関するタイミングデータを記録する。スレッドが実行トレーシングを開始するサイクル数は、実行トレーシングのタイミングを維持するための共通所定イベントに参照される。その後、共通所定イベントに関するデータは、スレッドが実行トレーシングを開始した時に関連づけるために更新される。その結果は、すべてのスレッドに関連したタイミングデータを整列させることを可能にする。相互関係のある記録は、すべての動作するスレッドに関するタイミングデータを同期させると同様に、マルチスレッドプロセッサにおいて動作するスレッドに関する相互依存の実行トレーシング情報を再構成する。
【選択図】図2
Description
1つの上記の第1世代標準規格は、“TIA/EIA/IS-95 Terminal-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System”であり、以下IS−95標準規格と称する。IS−95CDMAシステムは音声データとパケットのデータを送信することができる。より効率的にパケットデータを送信する可能性があるより新規の世代標準規格は、“3rd Generation Partnership Project”(3GPP(登録商標))と名付けたコンソーシアムによって提示され、文献番号3G TS 25.211、3G TS 25.212、3G TS 25.213、および3G TS 25.214(これらは公に即座に入手可能である)を含む1セットの文献に具体化されている。3GPP標準規格は以下ではW−CDMA(登録商標)標準規格と称す。
ETBトレース保存部170は、単にETMトレースストリームの小さなウィンドウを捕えてもよい。ETBは、データおよびトリガーカウンタを捕獲することがETBトレース保存部240によって捕獲されたトリガー前のデータとトリガー後のデータとの間での分割を特定するためにいつ使用されるかを判定するために、ETMからトリガーパケットを捜す。
S1から、順序付けは、S2に先んじてまたはS0に戻るかのどちらかまで進む。S2から、順序付けは、S1またはS0のいずれかまで進む。
(b)dキャッシュストールサイクルと、
(c)iキャッシュミスと、
(d)iキャッシュストールサイクルと、
(e)ITLBとDTLBのミスと、
(f)合計のストールサイクルと、を含む。
更に、プロファイリングカウンタはそれぞれ、あるハードウェアスレッドに発生するイベントにカウンタを制限するために、6つのスレッドマスクを含んでいる。
同期パケットを周期的に生成することを許容するグローバルなカウンタを維持することによって、カウンタがゼロに達する場合、パケットは各スレッドについて生成されてもよい。上記のパケットは、そのスレッドに関する現在のプログラムカウンタ値を含んでいる。
さて、すべてのスレッドに関する同時のパケット生成に関するDSP 40に存在してもよい種々の限定のために、本開示は同期パケットへのサイクルオフセットフィールドを含んでいる。最後のスレッド(他のスレッド間の)が同期パケットを生成してから、サイクルオフセットフィールドはサイクル数を指示する。サイクルオフセットフィールドは制限のあるサイズであり、かつカウントが飽和すれば、同期は実現されることができず、カウンタを待ってもよい。以下により完全に記述されるこれらの機構を用いて、本開示は1つのスレッドに関する任意のある点でインタースレッド実行タイミング関係を維持することを許容する。結果は、デバッギングおよび他の重要な目的のためのすべてのスレッドの動作および状態を観測する能力である。
更に、オーバフロー条件から出てくるときで、トレース可能性がまだ高い場合には、isync−restartパケットはオーバフローがあったことを示す理由フィールドに生成される。本開示は、isync−restartパケットを用いて、アライメントを提供する。命令アライメントは、トレースされているすべてのスレッドのすべてのサイクルに、グローバルスレッドサイクルを割り当てることとしてみなせうる。デコンプレッサ手順は、isync−restartパケットがトレースストリームにおいて利用可能な場合についてこれを遂行する。デコンプレッサは、最後のisync−restartカウントのカウンタ値を維持する。
また、サイクルカウントパケットは単にサイクル正確なモードにおいて生成されてもよい。サイクルカウントパケットは次の場合に生成されてもよい。WからEまたはWからNへ切り替える場合、W−アトムカウントがフォーマット3pheaderキャパシティに入らない場合、未決のW−アトムをもつアトムブレークの場合、およびW−アトムが多すぎてフォーマット3pheaderに入らない場合。W−アトムはサイクルカウントパケットに入れられてもよく、また、およびEまたはNアトムはフォーマット1pheaderで出てきてもよいし、サイクルカウントパケットはその完全に正確な最大に達してもよい。サイクルカウントパケットが、それがその最大32ビット値に達するまでインクリメントすることを許容する代りに、ETMは十分な正確さと制限のある正確さとの間の限界で多重のより小さなサイクルカウント値を送り出す。この場合、現在のアトムはW−アトムでもよい。このアトムがパケットに含まれていないので、カウントは0の代りに1にリセットされる。
以下に出願当初の請求項を付記する。
(1)
実行トレーシングプロセスの間にマルチスレッドプロセッサのスレッド間のインタースレッドトレースタイミングアライメントのための方法であって、
共通所定イベントに関するタイミングデータを記録し、前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照し、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整合させる方法。
(2)
前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけることをさらに具備する(1)の方法。
(3)
前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけることをさらに具備する(1)の方法。
(4)
複数のデータパケットに前記共通所定イベントを記録することをさらに具備する(1)の方法。
(5)
前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成することをさらに具備する(1)の方法。
(6)
前記共通所定イベントに関する前記タイミングデータを同期させることをさらに具備する(1)の方法。
(7)
前記共通所定イベントの発生からのサイクルのグローバルカウントを生成することをさらに具備する(1)の方法。
(8)
前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立することをさらに具備する(1)の方法。
(9)
データ損失の前記イベントにおいて、データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立することをさらに具備する(1)の方法。
(10)
ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成することをさらに具備する(1)の方法。
(11)
デジタル信号プロセッサと関連する動作に関するデジタル信号プロセッサデバッギングシステムであって、マルチスレッドソフトウェア実行フローの間にマルチスレッドプロセッサのスレッドに関して相互に関係するタイミングデータへの能力を含むシステムであって、
共通所定イベントに関するタイミングデータを記録するための複数のオフセットフィールドと、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照するための複数の時間参照命令パケットと、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整合させるための複数の時間参照更新パケットと、を具備するデジタル信号プロセッサデバッギングシステム。
(12)
前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけるための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(13)
前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけるための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(14)
複数のデータパケットに前記共通所定イベントを記録するための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(15)
前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成するための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(16)
前記共通所定イベントに関する前記タイミングデータを同期させるための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(17)
前記共通所定イベントの発生からのサイクルのグローバルカウントを生成するための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(18)
前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立するための複数の命令および回路網をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(19)
データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立するための実行トレーシング命令をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(20)
ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成するための複数の同期命令をさらに具備する(11)のデジタル信号プロセッサデバッギングシステム。
(21)
パーソナル電子デバイスを支援する動作に関するマルチスレッドデジタル信号プロセッサであって、実行トレーシングプロセスを行い、これに関連して前記マルチスレッドプロセッサのスレッド中でインタースレッドトレースタイミングを整合させるデバッギング手段を具備しているプロセッサにおいて、
共通所定イベントに関するタイミングデータを記録する手段と、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照する手段と、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整合させる手段と、を具備するデジタル信号プロセッサシステム。
(22)
前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づける手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(23)
前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づける手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(24)
複数のデータパケットに前記共通所定イベントを記録する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(25)
前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(26)
前記共通所定イベントに関する前記タイミングデータを同期させるための複数の命令および回路網をさらに具備する(21)のデジタル信号プロセッサシステム。
(27)
前記共通所定イベントの発生からのサイクルのグローバルカウントを生成する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(28)
前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(29)
データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(30)
ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成する手段をさらに具備する(21)のデジタル信号プロセッサシステム。
(31)
実行トレーシングプロセスを行うことと、これに関連してマルチスレッドプロセッサのスレッド中でインタースレッドトレースタイミングを整合させることを含むマルチスレッドデジタル信号プロセッサをデバッギングするコンピュータ読取可能な具現化されるプログラムコード手段を有するコンピュータ使用可能な媒体であって、
共通所定イベントに関するタイミングデータを記録するコンピュータ読取可能なプログラムコード手段と、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照するコンピュータ読取可能なプログラムコード手段と、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整合させるコンピュータ読取可能なプログラムコード手段と、を具備するコンピュータ使用可能な媒体。
(32)
前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけるコンピュータ読取可能なプログラムコード手段をさらに具備する(31)のコンピュータ使用可能な媒体。
(33)
前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけるコンピュータ読取可能なプログラムコード手段をさらに具備する(31)のコンピュータ使用可能な媒体。
(34)
複数のデータパケットに前記共通所定イベントを記録するコンピュータ読取可能なプログラムコード手段をさらに具備する(31)のコンピュータ使用可能な媒体。
(35)
前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成するコンピュータ読取可能なプログラムコード手段をさらに具備する(31)のコンピュータ使用可能な媒体。
Claims (35)
- 実行トレーシングプロセスの間にマルチスレッドプロセッサのスレッド間のインタースレッドトレースタイミングアライメントのための方法であって、
共通所定イベントに関するタイミングデータを記録し、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照し、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整列させる方法。 - 前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけることをさらに具備する請求項1の方法。
- 前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけることをさらに具備する請求項1の方法。
- 複数のデータパケットに前記共通所定イベントを記録することをさらに具備する請求項1の方法。
- 前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成することをさらに具備する請求項1の方法。
- 前記共通所定イベントに関する前記タイミングデータを同期させることをさらに具備する請求項1の方法。
- 前記共通所定イベントの発生からのサイクルのグローバルカウントを生成することをさらに具備する請求項1の方法。
- 前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立することをさらに具備する請求項1の方法。
- データ損失の前記イベントにおいて、データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立することをさらに具備する請求項1の方法。
- ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成することをさらに具備する請求項1の方法。
- デジタル信号プロセッサと関連する動作に関するデジタル信号プロセッサデバッギングシステムであって、マルチスレッドソフトウェア実行フローの間にマルチスレッドプロセッサのスレッドに関して相互に関係するタイミングデータへの能力を含むシステムであって、
共通所定イベントに関するタイミングデータを記録するための複数のオフセットフィールドと、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照するための複数の時間参照命令パケットと、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整列させるための複数の時間参照更新パケットと、を具備するデジタル信号プロセッサデバッギングシステム。 - 前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけるための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけるための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 複数のデータパケットに前記共通所定イベントを記録するための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成するための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 前記共通所定イベントに関する前記タイミングデータを同期させるための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 前記共通所定イベントの発生からのサイクルのグローバルカウントを生成するための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- 前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立するための複数の命令および回路網をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立するための実行トレーシング命令をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成するための複数の同期命令をさらに具備する請求項11のデジタル信号プロセッサデバッギングシステム。
- パーソナル電子デバイスを支援する動作に関するマルチスレッドデジタル信号プロセッサであって、実行トレーシングプロセスを行い、これに関連して前記マルチスレッドプロセッサのスレッド中でインタースレッドトレースタイミングを整列させるデバッギング手段を具備しているプロセッサにおいて、
共通所定イベントに関するタイミングデータを記録する手段と、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照する手段と、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整列させる手段と、を具備するデジタル信号プロセッサシステム。 - 前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づける手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づける手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 複数のデータパケットに前記共通所定イベントを記録する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 前記共通所定イベントに関する前記タイミングデータを同期させるための複数の命令および回路網をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 前記共通所定イベントの発生からのサイクルのグローバルカウントを生成する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でのインタースレッドタイミングデータを再確立する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- データ損失を決定し、前記データ損失に応じて前記共通所定イベントからのサイクルのグローバルカウントを用いて、実行トレーシングを行うすべてのスレッド間でインタースレッドタイミングデータを再確立する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- ゼロ値を介して繰り返されるグローバルカウンタのイベントにおいてすべてのスレッドに関する同期パケットを生成する手段をさらに具備する請求項21のデジタル信号プロセッサシステム。
- 実行トレーシングプロセスを行うことと、これに関連してマルチスレッドプロセッサのスレッド中でインタースレッドトレースタイミングを整列させることを含むマルチスレッドデジタル信号プロセッサをデバッギングするコンピュータ読取可能な具現化されるプログラムコード手段を有するコンピュータ使用可能な媒体であって、
共通所定イベントに関するタイミングデータを記録するコンピュータ読取可能なプログラムコード手段と、
前記共通所定イベントはコアプロセッサ実行トレーシング中に前記マルチスレッドプロセッサの全ての動作スレッドによって参照可能であり、
前記共通所定イベントに関連するスレッドに関する実行トレーシングのタイミングを維持するための前記共通所定イベントへの実行トレーシングを前記スレッドが開始する時間を参照するコンピュータ読取可能なプログラムコード手段と、
前記スレッドが実行トレーシングを開始した前記時間に関連づけるために、前記共通所定イベントを更新し、その結果、実行トレーシングが発生している前記マルチスレッドプロセッサの全ての他のスレッドに関連したタイミングデータに実行トレーシングを前記スレッドが開始した前記時間を整列させるコンピュータ読取可能なプログラムコード手段と、を具備するコンピュータ使用可能な媒体。 - 前記共通所定イベントを、最後のスレッドが実行トレーシングをオンした時間に関連づけるコンピュータ読取可能なプログラムコード手段をさらに具備する請求項31のコンピュータ使用可能な媒体。
- 前記共通所定イベントを、全てのスレッドが実行トレーシングをオフしてからのマルチスレッドプロセッササイクル数に関連づけるコンピュータ読取可能なプログラムコード手段をさらに具備する請求項31のコンピュータ使用可能な媒体。
- 複数のデータパケットに前記共通所定イベントを記録するコンピュータ読取可能なプログラムコード手段をさらに具備する請求項31のコンピュータ使用可能な媒体。
- 前記共通所定イベントに関連した複数のデータパケットを用いて、前記マルチスレッドプロセッサにおいて動作するスレッドに関して相互関係のある実行トレーシング情報を再構成するコンピュータ読取可能なプログラムコード手段をさらに具備する請求項31のコンピュータ使用可能な媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/734,199 US8484516B2 (en) | 2007-04-11 | 2007-04-11 | Inter-thread trace alignment method and system for a multi-threaded processor |
| US11/734,199 | 2007-04-11 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014043027A Division JP2014142946A (ja) | 2007-04-11 | 2014-03-05 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2017152014A true JP2017152014A (ja) | 2017-08-31 |
| JP2017152014A5 JP2017152014A5 (ja) | 2018-07-05 |
| JP6423037B2 JP6423037B2 (ja) | 2018-11-14 |
Family
ID=39854865
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010503252A Withdrawn JP2010524140A (ja) | 2007-04-11 | 2008-04-11 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
| JP2014043027A Withdrawn JP2014142946A (ja) | 2007-04-11 | 2014-03-05 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
| JP2017076029A Expired - Fee Related JP6423037B2 (ja) | 2007-04-11 | 2017-04-06 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010503252A Withdrawn JP2010524140A (ja) | 2007-04-11 | 2008-04-11 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
| JP2014043027A Withdrawn JP2014142946A (ja) | 2007-04-11 | 2014-03-05 | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US8484516B2 (ja) |
| EP (1) | EP2037367B1 (ja) |
| JP (3) | JP2010524140A (ja) |
| KR (1) | KR101072687B1 (ja) |
| CN (1) | CN101874238B (ja) |
| ES (1) | ES2678413T3 (ja) |
| HU (1) | HUE038872T2 (ja) |
| WO (1) | WO2008128107A2 (ja) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8380966B2 (en) | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
| US8370806B2 (en) | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
| US8533530B2 (en) | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
| US8341604B2 (en) | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
| GB2453174B (en) * | 2007-09-28 | 2011-12-07 | Advanced Risc Mach Ltd | Techniques for generating a trace stream for a data processing apparatus |
| US8001428B2 (en) * | 2007-10-29 | 2011-08-16 | Arm Limited | Packing trace protocols within trace streams |
| US9098625B2 (en) * | 2008-02-29 | 2015-08-04 | International Business Machines Corporation | Viral trace |
| US8140903B2 (en) * | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Hardware process trace facility |
| JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
| US8484517B2 (en) * | 2009-12-03 | 2013-07-09 | Infineon Technologies Ag | High compression program flow trace |
| US8893092B1 (en) * | 2010-03-12 | 2014-11-18 | F5 Networks, Inc. | Using hints to direct the exploration of interleavings in a multithreaded program |
| US8972995B2 (en) * | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
| US20120042212A1 (en) * | 2010-08-10 | 2012-02-16 | Gilbert Laurenti | Mixed Mode Processor Tracing |
| US8880958B2 (en) * | 2011-09-20 | 2014-11-04 | Qualcomm Incorporated | Interleaved architecture tracing and microarchitecture tracing |
| WO2013147866A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | System and method for real time instruction tracing |
| US8910125B2 (en) * | 2012-09-27 | 2014-12-09 | International Business Machines Corporation | Monitoring software performance |
| US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
| US9928159B2 (en) | 2013-02-26 | 2018-03-27 | Qualcomm Incorporated | System and method to select a packet format based on a number of executed threads |
| CN103226328B (zh) * | 2013-04-21 | 2015-06-24 | 中国矿业大学(北京) | 采集次数控制模式下的多线程数据采集系统同步控制方法 |
| US9218223B2 (en) * | 2013-08-13 | 2015-12-22 | Qualcomm Incorporated | Barrier synchronization with dynamic width calculation |
| US9996354B2 (en) * | 2015-01-09 | 2018-06-12 | International Business Machines Corporation | Instruction stream tracing of multi-threaded processors |
| US10719420B2 (en) * | 2015-02-10 | 2020-07-21 | International Business Machines Corporation | System level testing of multi-threading functionality including building independent instruction streams while honoring architecturally imposed common fields and constraints |
| US10509713B2 (en) | 2015-08-18 | 2019-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Observation by a debug host with memory model and timing offset calculation between instruction and data traces of software execution carried on in a debug target having a main memory and a cache arrangement |
| US10013240B2 (en) * | 2016-06-21 | 2018-07-03 | Advanced Micro Devices, Inc. | Fingerprinting of redundant threads using compiler-inserted transformation code |
| US20180054374A1 (en) * | 2016-08-19 | 2018-02-22 | Andes Technology Corporation | Trace information encoding apparatus, encoding method thereof, and readable computer medium |
| US10031834B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
| US10042737B2 (en) | 2016-08-31 | 2018-08-07 | Microsoft Technology Licensing, Llc | Program tracing for time travel debugging and analysis |
| US10031833B2 (en) * | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
| US10489273B2 (en) | 2016-10-20 | 2019-11-26 | Microsoft Technology Licensing, Llc | Reuse of a related thread's cache while recording a trace file of code execution |
| US10310963B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using index bits in a processor cache |
| US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
| US10324851B2 (en) | 2016-10-20 | 2019-06-18 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using way-locking in a set-associative processor cache |
| CN115408291A (zh) * | 2016-11-11 | 2022-11-29 | 微软技术许可有限责任公司 | 用于时间旅行调试和分析的计算机系统、计算机系统处实施的方法和硬件存储设备 |
| US10540250B2 (en) | 2016-11-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Reducing storage requirements for storing memory addresses and values |
| US10169194B2 (en) * | 2017-03-22 | 2019-01-01 | International Business Machines Corporation | Multi-thread sequencing |
| US10365987B2 (en) * | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
| US10318332B2 (en) | 2017-04-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Virtual machine execution tracing |
| US10296442B2 (en) * | 2017-06-29 | 2019-05-21 | Microsoft Technology Licensing, Llc | Distributed time-travel trace recording and replay |
| US10459824B2 (en) | 2017-09-18 | 2019-10-29 | Microsoft Technology Licensing, Llc | Cache-based trace recording using cache coherence protocol data |
| US10558572B2 (en) | 2018-01-16 | 2020-02-11 | Microsoft Technology Licensing, Llc | Decoupling trace data streams using cache coherence protocol data |
| US11907091B2 (en) | 2018-02-16 | 2024-02-20 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches |
| US10496537B2 (en) | 2018-02-23 | 2019-12-03 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to a lower-layer cache based on entries in an upper-layer cache |
| US10642737B2 (en) | 2018-02-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Logging cache influxes by request to a higher-level cache |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005056380A (ja) * | 2003-08-07 | 2005-03-03 | Arm Ltd | データを処理する方法と装置およびコンピュータ・プログラム製品 |
Family Cites Families (161)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4080650A (en) | 1976-07-28 | 1978-03-21 | Bell Telephone Laboratories, Incorporated | Facilitating return from an on-line debugging program to a target program breakpoint |
| US4669059A (en) | 1983-11-07 | 1987-05-26 | Motorola, Inc. | Method and apparatus in a data processor for selectively disabling a power-down instruction |
| US4901307A (en) | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
| US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
| US5093914A (en) | 1989-12-15 | 1992-03-03 | At&T Bell Laboratories | Method of controlling the execution of object-oriented programs |
| US5103459B1 (en) | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
| US5551043A (en) | 1994-09-07 | 1996-08-27 | International Business Machines Corporation | Standby checkpoint to prevent data loss |
| US6467054B1 (en) | 1995-03-13 | 2002-10-15 | Compaq Computer Corporation | Self test for storage device |
| CA2228014C (en) | 1995-07-31 | 2008-07-22 | Verifone, Inc. | Method and apparatus for operating resources under control of a security module or other secure processor |
| US5544311A (en) | 1995-09-11 | 1996-08-06 | Rockwell International Corporation | On-chip debug port |
| US5951696A (en) | 1996-11-14 | 1999-09-14 | Hewlett-Packard Company | Debug system with hardware breakpoint trap |
| JPH10207790A (ja) * | 1997-01-20 | 1998-08-07 | Fuji Xerox Co Ltd | 入出力制御装置 |
| US5915083A (en) | 1997-02-28 | 1999-06-22 | Vlsi Technology, Inc. | Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device |
| US5835705A (en) | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
| US6275868B1 (en) | 1997-03-12 | 2001-08-14 | Microsoft Corporation | Script Engine interface for multiple languages |
| US6094729A (en) | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
| US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
| US5944841A (en) * | 1997-04-15 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor with built-in instruction tracing capability |
| US6199181B1 (en) | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
| US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
| US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
| US6567839B1 (en) | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
| US6029248A (en) | 1997-12-15 | 2000-02-22 | Lucent Technologies Inc. Corporation | Locking system to protect a powered component interface from erroneous access by an attached, powered-off component |
| US6018759A (en) | 1997-12-22 | 2000-01-25 | International Business Machines Corporation | Thread switch tuning tool for optimal performance in a computer processor |
| US6106571A (en) * | 1998-01-29 | 2000-08-22 | Applied Microsystems Corporation | Relocatable instrumentation tags for testing and debugging a computer program |
| US6249907B1 (en) | 1998-03-24 | 2001-06-19 | International Business Machines Corporation | Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program |
| US6757829B1 (en) | 1998-05-29 | 2004-06-29 | Texas Instruments Incorporated | Program debugging system for secure computing device having secure and non-secure modes |
| DE19835610A1 (de) | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
| US6480818B1 (en) | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
| US6532553B1 (en) | 1998-12-08 | 2003-03-11 | Arm Limited | Debugging data processing systems |
| US6343371B1 (en) * | 1999-01-14 | 2002-01-29 | Compaq Computer Corporation | System and method for statically detecting potential race conditions in multi-threaded computer programs |
| US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
| US6341347B1 (en) | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
| US6714958B1 (en) | 1999-07-28 | 2004-03-30 | International Business Machines Corporation | Detecting and causing latent deadlocks in multi-threaded programs |
| CN1148656C (zh) | 1999-09-07 | 2004-05-05 | 皇家菲利浦电子有限公司 | 面向线程的调试 |
| US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
| WO2001033351A1 (fr) | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Architecture de processeur |
| GB2362730B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Computer register watch |
| US6665802B1 (en) | 2000-02-29 | 2003-12-16 | Infineon Technologies North America Corp. | Power management and control for a microcontroller |
| EP1130519A3 (en) | 2000-03-02 | 2009-09-30 | Texas Instruments Incorporated | System and method for automatically configuring an emulation system |
| US6754852B2 (en) * | 2000-03-02 | 2004-06-22 | Texas Instruments Incorporated | Debug trigger builder |
| US6725391B2 (en) | 2000-03-02 | 2004-04-20 | Texas Instruments Incorporated | Clock modes for a debug port with on the fly clock switching |
| US6934937B1 (en) | 2000-03-30 | 2005-08-23 | Broadcom Corporation | Multi-channel, multi-service debug on a pipelined CPU architecture |
| JP2001331340A (ja) | 2000-05-19 | 2001-11-30 | Nec Corp | コードチェックによるモード切替方式および方法 |
| US20020065646A1 (en) | 2000-09-11 | 2002-05-30 | Waldie Arthur H. | Embedded debug system using an auxiliary instruction queue |
| US6691251B2 (en) | 2000-11-30 | 2004-02-10 | Palmsource, Inc. | On-chip debugging system emulator |
| US7020871B2 (en) | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
| US6915416B2 (en) | 2000-12-28 | 2005-07-05 | Texas Instruments Incorporated | Apparatus and method for microcontroller debugging |
| US7093236B2 (en) * | 2001-02-01 | 2006-08-15 | Arm Limited | Tracing out-of-order data |
| US7134116B1 (en) * | 2001-04-30 | 2006-11-07 | Mips Technologies, Inc. | External trace synchronization via periodic sampling |
| US7069544B1 (en) | 2001-04-30 | 2006-06-27 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
| US7076804B2 (en) | 2001-05-11 | 2006-07-11 | International Business Machines Corporation | Automated program resource identification and association |
| US7073059B2 (en) | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
| US7752423B2 (en) * | 2001-06-28 | 2010-07-06 | Intel Corporation | Avoiding execution of instructions in a second processor by committing results obtained from speculative execution of the instructions in a first processor |
| US7823131B2 (en) | 2001-06-29 | 2010-10-26 | Mentor Graphics Corporation | Debugger for a hardware-implemented operating system |
| JP2003177938A (ja) | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | 電子装置及びそのデバッグ認証方法 |
| US7131114B2 (en) | 2001-07-16 | 2006-10-31 | Texas Instruments Incorporated | Debugger breakpoint management in a multicore DSP device having shared program memory |
| US7134002B2 (en) | 2001-08-29 | 2006-11-07 | Intel Corporation | Apparatus and method for switching threads in multi-threading processors |
| US7017084B2 (en) * | 2001-09-07 | 2006-03-21 | Network Appliance Inc. | Tracing method and apparatus for distributed environments |
| US6901527B2 (en) * | 2001-09-21 | 2005-05-31 | International Business Machines Corporation | Synchronizing multiple time stamps distributed within a computer system with main time of day register |
| DE10148109B4 (de) * | 2001-09-28 | 2006-10-12 | Infineon Technologies Ag | Verfahren zum Speichern oder Weiterleiten von Daten |
| US7080289B2 (en) * | 2001-10-10 | 2006-07-18 | Arm Limited | Tracing multiple data access instructions |
| US20030074650A1 (en) | 2001-10-17 | 2003-04-17 | Tankut Akgul | Debugger operating system for embedded systems |
| US6834360B2 (en) | 2001-11-16 | 2004-12-21 | International Business Machines Corporation | On-chip logic analyzer |
| US20030135720A1 (en) | 2002-01-14 | 2003-07-17 | International Business Machines Corporation | Method and system using hardware assistance for instruction tracing with secondary set of interruption resources |
| US7254716B1 (en) | 2002-02-13 | 2007-08-07 | Lsi Corporation | Security supervisor governing allowed transactions on a system bus |
| US7213134B2 (en) | 2002-03-06 | 2007-05-01 | Hewlett-Packard Development Company, L.P. | Using thread urgency in determining switch events in a temporal multithreaded processor unit |
| US6615371B2 (en) | 2002-03-11 | 2003-09-02 | American Arium | Trace reporting method and system |
| US7055139B2 (en) | 2002-03-28 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Multiprocess debugging using multiple conventional debuggers |
| GB2389432B (en) * | 2002-06-07 | 2005-09-07 | Advanced Risc Mach Ltd | Instruction tracing in data processing systems |
| US7003703B2 (en) | 2002-06-21 | 2006-02-21 | Sandbridge Technologies, Inc. | Method of interleaving/deinterleaving in a communication system |
| US7516446B2 (en) * | 2002-06-25 | 2009-04-07 | International Business Machines Corporation | Method and apparatus for efficient and precise datarace detection for multithreaded object-oriented programs |
| US7185319B2 (en) | 2002-07-09 | 2007-02-27 | Microsoft Corporation | Debugging distributed applications |
| US7512954B2 (en) * | 2002-07-29 | 2009-03-31 | Oracle International Corporation | Method and mechanism for debugging a series of related events within a computer system |
| US7346895B2 (en) * | 2002-07-31 | 2008-03-18 | International Business Machines Corporation | Method of tracing data collection |
| US7529258B2 (en) * | 2002-08-09 | 2009-05-05 | Lecroy Corporation | Method and system for cascading analyzer trace memories |
| DE10244922B4 (de) | 2002-09-25 | 2009-08-13 | Infineon Technologies Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen |
| US7519862B2 (en) | 2002-10-11 | 2009-04-14 | Broadcom Corporation | Software programmable verification tool having a single built-in self-test (BIST) module for testing and debugging multiple memory modules in a device under test (DUT) |
| US7360117B1 (en) | 2002-10-24 | 2008-04-15 | Verisilicon Holdings (Cayman Islands) Co. Ltd. | In-circuit emulation debugger and method of operation thereof |
| US7370210B2 (en) | 2002-11-18 | 2008-05-06 | Arm Limited | Apparatus and method for managing processor configuration data |
| GB2411254B (en) | 2002-11-18 | 2006-06-28 | Advanced Risc Mach Ltd | Monitoring control for multi-domain processors |
| GB2396034B (en) | 2002-11-18 | 2006-03-08 | Advanced Risc Mach Ltd | Technique for accessing memory in a data processing apparatus |
| GB2396930B (en) | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
| US6948155B2 (en) * | 2002-11-22 | 2005-09-20 | Texas Instruments Incorporated | Little offset in multicycle event maintaining cycle accurate tracing of stop events |
| US7219333B2 (en) * | 2002-11-22 | 2007-05-15 | Texas Instruments Incorporated | Maintaining coherent synchronization between data streams on detection of overflow |
| US7047451B2 (en) * | 2002-11-22 | 2006-05-16 | Texas Instruments Incorporated | Tracing program counter addresses using native program counter format and instruction count format |
| US7131113B2 (en) * | 2002-12-12 | 2006-10-31 | International Business Machines Corporation | System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts |
| US7325169B2 (en) * | 2002-12-17 | 2008-01-29 | Texas Instruments Incorporated | Apparatus and method for trace stream identification of multiple target processor events |
| JP4436036B2 (ja) * | 2002-12-18 | 2010-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、トレース処理方法、プログラム及び記録媒体 |
| US6798713B1 (en) | 2003-01-31 | 2004-09-28 | Zilog, Inc. | Implementing software breakpoints |
| JP3974063B2 (ja) | 2003-03-24 | 2007-09-12 | 松下電器産業株式会社 | プロセッサおよびコンパイラ |
| US7142246B2 (en) | 2003-03-31 | 2006-11-28 | Macronix International Co., Ltd. | Apparatus and method for de-interlacing video, including 3:2 pulldown video |
| US7013400B2 (en) | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
| US7047337B2 (en) * | 2003-04-24 | 2006-05-16 | International Business Machines Corporation | Concurrent access of shared resources utilizing tracking of request reception and completion order |
| US7159101B1 (en) * | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
| US7222262B2 (en) | 2003-08-05 | 2007-05-22 | Newisys, Inc. | Methods and devices for injecting commands in systems having multiple multi-processor clusters |
| US7383537B2 (en) | 2003-08-20 | 2008-06-03 | Microsoft Corporation | Debugging an application that employs rights-managed content |
| US7600221B1 (en) * | 2003-10-06 | 2009-10-06 | Sun Microsystems, Inc. | Methods and apparatus of an architecture supporting execution of instructions in parallel |
| US7321957B2 (en) | 2003-10-24 | 2008-01-22 | Intel Corporation | Debugging a trusted component in a system |
| TWI226757B (en) | 2003-11-11 | 2005-01-11 | Benq Corp | Address generator for block interleaving |
| US7328429B2 (en) * | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
| US7383540B2 (en) | 2003-12-12 | 2008-06-03 | International Business Machines Corporation | Altering execution flow of a computer program |
| US7475303B1 (en) | 2003-12-29 | 2009-01-06 | Mips Technologies, Inc. | HyperJTAG system including debug probe, on-chip instrumentation, and protocol |
| US7461407B2 (en) | 2004-02-05 | 2008-12-02 | Research In Motion Limited | Debugging port security interface |
| US7360203B2 (en) * | 2004-02-06 | 2008-04-15 | Infineon Technologies North America Corp. | Program tracing in a multithreaded processor |
| US7263599B2 (en) * | 2004-02-06 | 2007-08-28 | Infineon Technologies | Thread ID in a multithreaded processor |
| JP4347082B2 (ja) * | 2004-02-23 | 2009-10-21 | 日本電気株式会社 | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム |
| JP4409349B2 (ja) | 2004-04-27 | 2010-02-03 | Okiセミコンダクタ株式会社 | デバッグ回路およびデバッグ制御方法 |
| US7945900B2 (en) * | 2004-04-29 | 2011-05-17 | Marvell International Ltd. | Debugging tool for debugging multi-threaded programs |
| US20060253894A1 (en) | 2004-04-30 | 2006-11-09 | Peter Bookman | Mobility device platform |
| US7380276B2 (en) | 2004-05-20 | 2008-05-27 | Intel Corporation | Processor extensions and software verification to support type-safe language environments running with untrusted code |
| US7558920B2 (en) | 2004-06-30 | 2009-07-07 | Intel Corporation | Apparatus and method for partitioning a shared cache of a chip multi-processor |
| US7363523B2 (en) | 2004-08-31 | 2008-04-22 | Intel Corporation | Method and apparatus for controlling power management state transitions |
| JP4520788B2 (ja) | 2004-07-29 | 2010-08-11 | 富士通株式会社 | マルチスレッドプロセッサ |
| US7278058B1 (en) * | 2004-08-25 | 2007-10-02 | Unisys Corporation | Methods and apparatus to diagnose software |
| US7814308B2 (en) | 2004-08-27 | 2010-10-12 | Microsoft Corporation | Debugging applications under different permissions |
| GB0420442D0 (en) | 2004-09-14 | 2004-10-20 | Ignios Ltd | Debug in a multicore architecture |
| US9038070B2 (en) | 2004-09-14 | 2015-05-19 | Synopsys, Inc. | Debug in a multicore architecture |
| US20060129999A1 (en) * | 2004-11-16 | 2006-06-15 | Sony Computer Entertainment Inc. | Methods and apparatus for using bookmarks in a trace buffer |
| US7783925B2 (en) | 2004-12-02 | 2010-08-24 | Texas Instruments Incorporated | Receiving control, data, and control segments of communication scan packets |
| US7681014B2 (en) | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
| US7418629B2 (en) * | 2005-02-11 | 2008-08-26 | International Business Machines Corporation | Synchronizing triggering of multiple hardware trace facilities using an existing system bus |
| US7472378B2 (en) | 2005-02-23 | 2008-12-30 | International Business Machines Corporation | Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process |
| US20060206902A1 (en) | 2005-03-14 | 2006-09-14 | Sujat Jamil | Variable interleaved multithreaded processor method and system |
| US7369954B2 (en) * | 2005-03-17 | 2008-05-06 | International Business Machines Corporation | Event tracing with time stamp compression and history buffer based compression |
| US7747985B2 (en) * | 2005-03-18 | 2010-06-29 | Microsoft Corporation | Conformance testing of multi-threaded and distributed software systems |
| US7917907B2 (en) | 2005-03-23 | 2011-03-29 | Qualcomm Incorporated | Method and system for variable thread allocation and switching in a multithreaded processor |
| JP2006285430A (ja) | 2005-03-31 | 2006-10-19 | Matsushita Electric Ind Co Ltd | Cpuメモリアクセス解析装置 |
| US7657875B2 (en) * | 2005-04-12 | 2010-02-02 | International Business Machines Corporation | System and method for collecting a plurality of metrics in a single profiling run of computer code |
| US7698686B2 (en) * | 2005-04-15 | 2010-04-13 | Microsoft Corporation | Method and apparatus for performance analysis on a software program |
| US7558984B2 (en) | 2005-04-27 | 2009-07-07 | Texas Instruments Incorporated | Apparatus and method for test and debug of a processor/core having advanced power management |
| US7536597B2 (en) | 2005-04-27 | 2009-05-19 | Texas Instruments Incorporated | Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores |
| US8881114B2 (en) * | 2005-05-16 | 2014-11-04 | Texas Instruments Incorporated | Stored program writing stall information when a processor stalls waiting for another processor |
| US7730545B2 (en) | 2005-05-23 | 2010-06-01 | Arm Limited | Test access control for secure integrated circuits |
| US7548911B2 (en) * | 2005-05-28 | 2009-06-16 | Microsoft Corporation | Diagnosing problems in distributed systems |
| JP2007026051A (ja) | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 情報処理装置および情報処理システム |
| US8694621B2 (en) * | 2005-08-19 | 2014-04-08 | Riverbed Technology, Inc. | Capture, analysis, and visualization of concurrent system and network behavior of an application |
| WO2007028227A1 (en) | 2005-09-09 | 2007-03-15 | Ibm Canada Limited - Ibm Canada Limitee | Integrating different programming language debug tools for observing thread execution |
| US9146832B2 (en) | 2005-10-14 | 2015-09-29 | Oracle International Corporation | Debugging functionality embedded in an application |
| JP4388518B2 (ja) | 2005-11-01 | 2009-12-24 | 株式会社ソニー・コンピュータエンタテインメント | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
| US7770155B2 (en) * | 2005-11-03 | 2010-08-03 | International Business Machines Corporation | Debugger apparatus and method for indicating time-correlated position of threads in a multi-threaded computer program |
| US7802233B2 (en) * | 2006-01-30 | 2010-09-21 | Microsoft Corporation | Automated display of trace historical data |
| US20070234306A1 (en) * | 2006-03-31 | 2007-10-04 | Klinger Uwe D | Tracing performance of machine-readable instructions |
| US20080034350A1 (en) | 2006-04-05 | 2008-02-07 | Conti Gregory R | System and Method for Checking the Integrity of Computer Program Code |
| KR20070109432A (ko) | 2006-05-11 | 2007-11-15 | 삼성전자주식회사 | 커널 인지 디버깅 장치 및 방법 |
| US20070288906A1 (en) * | 2006-05-16 | 2007-12-13 | Texas Instruments Incorporated | Efficient transfer of timing information |
| US7849315B2 (en) | 2006-05-22 | 2010-12-07 | General Dynamics C4 Systems, Inc. | Method for managing operability of on-chip debug capability |
| GB0613289D0 (en) * | 2006-07-04 | 2006-08-16 | Imagination Tech Ltd | Synchronisation of execution threads on a multi-threaded processor |
| US8301870B2 (en) * | 2006-07-27 | 2012-10-30 | International Business Machines Corporation | Method and apparatus for fast synchronization and out-of-order execution of instructions in a meta-program based computing system |
| US8051162B2 (en) * | 2006-07-28 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Data assurance in server consolidation |
| US7702055B2 (en) * | 2006-09-29 | 2010-04-20 | Mips Technologies, Inc. | Apparatus and method for tracing processor state from multiple clock domains |
| GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
| US8533530B2 (en) | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
| US8380966B2 (en) | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
| US8341604B2 (en) | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
| US7657791B2 (en) | 2006-11-15 | 2010-02-02 | Qualcomm Incorporated | Method and system for a digital signal processor debugging during power transitions |
| US8370806B2 (en) | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
| DE102007009909B4 (de) * | 2007-02-28 | 2016-09-08 | Globalfoundries Inc. | Verfahren zum Validieren einer atomaren Transaktion in einer Multikernmikroprozessorumgebung |
| US9195462B2 (en) * | 2007-04-11 | 2015-11-24 | Freescale Semiconductor, Inc. | Techniques for tracing processes in a multi-threaded processor |
| US7681078B2 (en) | 2007-05-18 | 2010-03-16 | Freescale Semiconductor, Inc. | Debugging a processor through a reset event |
| US8001428B2 (en) * | 2007-10-29 | 2011-08-16 | Arm Limited | Packing trace protocols within trace streams |
-
2007
- 2007-04-11 US US11/734,199 patent/US8484516B2/en active Active
-
2008
- 2008-03-19 EP EP08005116.2A patent/EP2037367B1/en not_active Not-in-force
- 2008-03-19 HU HUE08005116A patent/HUE038872T2/hu unknown
- 2008-03-19 ES ES08005116.2T patent/ES2678413T3/es active Active
- 2008-04-11 JP JP2010503252A patent/JP2010524140A/ja not_active Withdrawn
- 2008-04-11 KR KR1020097023540A patent/KR101072687B1/ko active Active
- 2008-04-11 CN CN200880011265.4A patent/CN101874238B/zh not_active Expired - Fee Related
- 2008-04-11 WO PCT/US2008/060117 patent/WO2008128107A2/en not_active Ceased
-
2014
- 2014-03-05 JP JP2014043027A patent/JP2014142946A/ja not_active Withdrawn
-
2017
- 2017-04-06 JP JP2017076029A patent/JP6423037B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005056380A (ja) * | 2003-08-07 | 2005-03-03 | Arm Ltd | データを処理する方法と装置およびコンピュータ・プログラム製品 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2008128107A3 (en) | 2010-03-18 |
| KR101072687B1 (ko) | 2011-10-11 |
| EP2037367B1 (en) | 2018-04-18 |
| JP6423037B2 (ja) | 2018-11-14 |
| HUE038872T2 (hu) | 2018-12-28 |
| CN101874238B (zh) | 2013-10-16 |
| CN101874238A (zh) | 2010-10-27 |
| WO2008128107A2 (en) | 2008-10-23 |
| JP2010524140A (ja) | 2010-07-15 |
| KR20090130243A (ko) | 2009-12-21 |
| ES2678413T3 (es) | 2018-08-10 |
| US20080256396A1 (en) | 2008-10-16 |
| JP2014142946A (ja) | 2014-08-07 |
| US8484516B2 (en) | 2013-07-09 |
| EP2037367A2 (en) | 2009-03-18 |
| EP2037367A3 (en) | 2010-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6423037B2 (ja) | マルチスレッドプロセッサのためのインタースレッドトレースアライメント方法およびシステム | |
| KR101078934B1 (ko) | 개선된 디지털 신호 프로세서 디버깅 동작들을 위한 임베디드 트레이스 매크로셀 | |
| CN101529392B (zh) | 在非侵入性数字信号处理器调试期间用于指令填充操作的方法和系统 | |
| KR101155673B1 (ko) | 신뢰받은/신뢰받지 못한 디지털 신호 프로세서 디버깅 동작들을 위한 방법 및 시스템 | |
| US8370806B2 (en) | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor | |
| CN101084488B (zh) | 用于调试在多核架构中执行的多线程程序的方法和系统 | |
| KR101097620B1 (ko) | 전력 트랜지션들 동안 디지털 신호 프로세서를 위한 방법 및 시스템 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180528 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180528 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180530 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180719 |
|
| 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: 20180918 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181017 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6423037 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |