JP2008513853A - マルチコアアーキテクチャーにおけるデバッグ - Google Patents
マルチコアアーキテクチャーにおけるデバッグ Download PDFInfo
- Publication number
- JP2008513853A JP2008513853A JP2007530774A JP2007530774A JP2008513853A JP 2008513853 A JP2008513853 A JP 2008513853A JP 2007530774 A JP2007530774 A JP 2007530774A JP 2007530774 A JP2007530774 A JP 2007530774A JP 2008513853 A JP2008513853 A JP 2008513853A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- controller
- thread
- core processor
- output
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
【選択図】図1
Description
1.補助デバッグインタフェース。これは、外部デバッグエージェントが、コントローラ130におよびシステム全体にデバッグアクセスするのを可能にする。このインタフェースを介して、ブレークポイントおよびウォッチポイントが、内部的かつ外部的にセットされてもよく、そして、システム状態情報が、読み出されてもよい。
2.トレースバッファー出力。これは、一組の予め設定されたフィルタリングガイドラインに基づいて、また、デバッグマネージャー400の最終的な制御下において、ランタイムシステム状態を提供するストリーミング出力である。
3.外部デバッグイネーブル信号。これは、独立したブレークポイント信号として使用されてもよく、あるいは、処理リソースに固有のイネーブルと組み合わせられてもよい。
図6は、コントローラ130の主要な論理的コンポーネントを示す。コントローラ130の機能は、次の機能を実行する4つの主たる内部並列処理サブブロックに分割される。
1.スレッド入力マネージャー(TSIM)200。これは、専用密結合メモリー190内に存在するフリーコントローラメモリーエレメント195のリストを維持するように構成され、かつ、コントローラメモリーエレメント195のリカバリーを監視するように構成される。
2.スレッド同期マネージャー(TSPM)210。これは、専用密結合メモリー190内に存在するペンディングリストおよびタイマーキューを維持するように構成され、スレッド間の同期を達成するように構成され、そして、必要であれば、専用密結合メモリー190内に存在するレディーキュー構造へスレッドを昇格させるように構成される。スレッド同期マネージャー210は、専用密結合メモリー190内に存在するペンディングスレッド記述子の挿入および抽出を介して、ペンディングキューおよびタイマーキュー構造の完全性を維持する。
3.スレッド出力マネージャー(TSOM)220。これは、専用密結合メモリー190内に存在するレディーキュー構造、および専用密結合メモリー190内に存在する処理リソース150ごとのディスパッチキューを維持するように構成される。スレッド出力マネージャー(TSOM)220は、さらに、コントローラクライアント120へ送信される割り込み110を生成するように構成される。レディーキュー構造の完全性の維持は、専用密結合メモリー190内において、コントローラメモリーエレメント195に保持されたスレッド記述子を挿入および抽出することによって、実行される。
4.スレッドスケジュールマネージャー(TSSM)230。これは、専用密結合メモリー190内に配置されたレディーキュー構造内に処理リソース150ごとのスケジューリング決定を提供するように構成される。
5.スレッドメモリーマネージャー(TSMM)240。これは、付加専用密結合メモリー190への集合アクセスを提供するように構成され、相互の排他性およびロッキングを含む。
6.割り込みマネージャー(TSIC)250。これは、入力外部システム割り込みを内部同期プリミティブに変換するように構成される。
7.時刻マネージャー(TSTC)260。これは、同期のためのタイマー機能、およびそれぞれの処理リソース150に対するウォッチドッグタイマー機能を提供するように構成される。
8.システムインタフェース(TSIF)280。これは、マルチコア処理リソース150およびコントローラ130内に存在する個々のサブブロックへのインターコネクトインタフェースおよび設定とランタイムアクセスとを提供するように構成される。
9.サーバーシム(TSSS)290。これは、コントローラ130とマルチコア処理リソース150との間の物理的なインタフェース115を提供するように構成される。
スレッド入力マネージャー200は、3つのパブリック関数を、コントローラ130内に存在するその他のサブブロックに提供する。
スレッド同期マネージャー210は、7つのパブリック関数を、コントローラ130内に存在するその他のサブブロックに提供する。
スレッド出力マネージャー220は、5つのパブリック関数をコントローラ130内に存在するその他のサブブロックに提供する。
スレッドスケジュールマネージャー230は、コントローラ130内に配置されたスレッド出力マネージャー220およびシステムインタフェース280に3つのパブリック関数を提供する。
上述したように、処理リソース150という用語は、命令がどれほど初歩的であるかに関係なく、その命令を実行することのできるあらゆるリソースに適用される。したがって、入力/出力モジュールのような固定機能を有するリソースも含まれる。処理リソース150の種類に依存して、コントローラクライアント120を介したシステムインターコネクト160と処理リソース150との接続は、単方向または双方向のいずれかであってもよい。
それぞれのコントローラクライアント120は、完全な割り込み駆動型である。コントローラ130から内部割り込みを受信したとき、コントローラクライアント120は、専用密結合メモリー190内に保持されたその特定の処理リソース150に対応するディスパッチキューの先頭からスレッド記述子をポップする。そして、スレッド記述子内の独特な参照が、さらなるスレッド制御情報すなわちスレッド制御ブロック(TCB)を主メモリーリソース140から読み出すのに使用される。TCB内に含まれる情報は、次のいずれかであってもよい。
1.コントローラクライアント120設定コンテンツ。この情報は、コントローラクライアント120のシステムリソース使用ポリシー、アドレスまたはデータバストリガー設定(デバッグのために)、データ提供モードなどを設定するのに使用されてもよい。
2.処理リソース150の設定コンテンツ。これは、処理リソース150に特定のスレッドを実行する準備をさせるのに必要な情報である。これは、このスレッドの以前の部分的な実行からのリカバリーまたはオーディオCODECのようなスペシャリストハードウェアアクセラレータの設定を含んでもよい。
3.命令コンテンツ。固定機能ハードウェアアクセラレータの場合、「命令」は、ターゲットハードウェア処理リソース150において暗黙的なものであり、例えば、処理リソース150が出力モジュールであれば、出力命令であり、そして、何らかの必要とされるスペシャライゼーションまたは設定は、設定情報内に収容される。ソフトウェアコントローラクライアント120との関連で、これは、典型的には、スレッドに対応するファンクションコードへのポインタである。
4.データコンテンツ。このコンテンツは、システムメモリー140内における開始アドレスまたは複数アドレス、およびスレッドが処理し得るデータの範囲を定義してもよい。
5.コントローラクライアント120の後処理コンテンツ。このコンテンツは、スレッドの実行が完了した後のコントローラクライアント120のアクションを決定する。
1.処理リソース150およびコントローラクライアント120が特定のスレッドを実行する準備をさせられる設定段階。最も単純な場合、設定段階は存在しない。
2.スレッドが実行されており、かつ、コントローラクライアント120が、データを供給しているか、あるいは、リソースの利用を監視し得る実行段階。
3.完了段階。処理の完了は、何のアクションももたらさないか、別のスレッドの生成をもたらすか、同期プリミティブの発行をもたらすか、あるいは、スレッドの生成および同期の組み合わせをもたらす。さらにまた、コントローラクライアント120は、スケジューラーメトリックをセットまたは更新し、かつスレッドを終了するように要求され得る。また、スレッドの実行中にさらなるメモリーが結果を記憶するのに必要とされる場合、コントローラクライアント120は、このサーバーメソッドを実行しなければならない。
ハードウェアコントローラクライアント120の基本構造が、図8に示される。設計の機能的中枢には、コントローラクライアント有限状態機械(FSM)300が存在する。この有限状態機械(FSM)300は、3つの段階のすべてにおいて動作状態であってもよい。コントローラクライアントFSM300は、コントローラ130からの割り込み111によって起動される。
a)処理リソース150によって生成されるアドレスは、比較器330および比較アドレスレジスタ340を用いて、ベースアドレスおよびオフセットの定義によって定義された期待されるビヘイビアと突き合わせて検査されてもよい。
b)処理リソース150によって生成されるアドレスは、オフセットであってもよく、減算器350およびオフセットアドレスレジスタ360を使用し、処理リソース150が与えられたスレッドに対するアドレスマップの正規化された視野、典型的には、正規化されたおおよそのアドレス0x0を有するのを可能にする。
c)デバッグウォッチレジスタは、処理リソースが限られた機能を有する場所に含められてもよく、そのために、それ自体の命令レベルデバッグハードウェアを含まない。そして、このようなレジスタは、命令レベルのデバッグ能力を、さもなければそれが不足している固定機能ハードウェアリソース150に与えるために、アドレス使用率を監視するのに使用されてもよい。
コントローラ130内で使用されるインスタンスのデータタイプは、パブリックビジビリティー(システムから自由に見ることができ、かつ、システムによって自由に操作される)およびプライベートビジビリティー(コントローラ130内においてだけ見ることができ、かつ、コントローラ130のサブブロックだけによって操作される)に分類される。複数のエンドアプリケーション間において設計の移植性を保証するために、すべてのスレッド、キュー、および集められたキュー記述子は、共通ベースクラスを用いて、専用密結合メモリー190内のコントローラメモリーエレメント195に記憶される。
それぞれのコントローラメモリーエレメント195は、次の10個の記述子タイプのいずれかを表現してもよい。
1.フリーリストエレメント。このエレメントは、その他のいずれかの記述子タイプによって自由に使用されてもよい。ユーザ初期化またはランタイム操作は、必要とされない。
2.スレッド記述子(TD)。これは、アプリケーション/管理スレッドを表現するデータ構造である。この記述子は、専用密結合メモリー190内のペンディングキュー、レディーキュー、または、ディスパッチキューのいずれかに存在してもよい。ユーザ初期化は、必要とされないが、ランタイム操作は、必要とされる。
3.スケジューラールート記述子(SRD)。これは、スケジューラー階層の最上位記述子である。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。ルート記述子は、親を持たないが、子は、SSTD、DSTD、または、TDのいずれかであってもよい。
4.静的スケジューラー層記述子(SSTD)。これは、静的スケジューラー層記述子であり、その親は、SRDまたは別のSSTDのいずれかであってもよい。SSTDの子は、別のSSTD、DSTD、または、TDのいずれかであってもよい。
5.動的スケジューラー層記述子(DSTD)。これは、動的スケジューラー層記述子である。ユーザ初期化は、必要とされないが、ランタイム操作は、必要とされる。DSTDの親は、SRDまたはSSTDのいずれかであってもよいが、DSTDは、TDの子しか持たない可能性もある。
6.ディスパッチキュー記述子。このタイプの記述子は、対応する処理リソース150からのポップオペレーションを待っているスレッド記述子のリストを記述する。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。
7.ペンディングキュー記述子。このタイプの記述子は、同期イベントを待っているスレッド記述子のリストを記述する。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。
8.プール取り付けノード(PAN)。PANは、スケジューラールート層を処理リソース150のプールルート層に取り付けるのに使用される。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。
9.プール静的ノード(PSN)。PSNも、また、スケジューラールート層を処理リソース150のプールルート層に取り付けるのに使用される。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。
10.プールルートノード(PRN)。処理リソース150のプールごとにただ1つのPRNが存在する。ユーザ初期化は、必要とされるが、ランタイム操作は、必要とされない。
1.EWOpcode():これは、オペレーションフォーマットを定義する3ビットコードである。これは、次の中のいずれかであってもよい。
2.SubModuleID():この5ビットコードは、イベントが関係するサブブロックを定義する。
3.EventID():この4ビットコードは、コントローラ130を構成するサブブロック200〜280のそれぞれからインタフェース410間において提供されるそれぞれのイベント内において提供されるEventIDによって説明されるように、個々のサブブロックイベントを定義する。
4.EventData():この32ビットコードは、個々のサブブロック200〜280のウォッチされるイベント、例えば、コントローラ専用コントローラメモリー190内のpReferenceフィールドを定義する。
Claims (32)
- スレッドを処理するための複数のインターコネクトされたプロセッサーエレメントを備えるマルチコアプロセッサーアーキテクチャー内においてスレッドの実行を監視する方法であって、
1つのスレッドまたは複数のスレッドの機能および/またはアイデンティティーおよび/または実行ロケーションに関する1つ以上のパラメータを指示する複数のスレッドパラメータインジケータを受信するステップと、
スレッドパラメータインジケータの中の少なくとも1つを、関心のあるインジケータをそれぞれが表現する第1の複数の予め定義された基準と比較するステップと、
前記比較の結果として関心のあるものであると識別されたスレッドパラメータインジケータによって得られる出力を生成するステップと、
を備える方法。 - 出力を生成するステップが、複数のインターコネクトされたプロセッサーエレメントの中の1つ以上を制御するための制御信号を生成する工程を含む、請求項1に記載の方法。
- インターコネクトされたプロセッサーエレメントが、局所的な命令レベルのデバッグロジックをさらに備え、前記方法が、前記プロセッサーエレメント制御信号を用いて、前記命令レベルのデバッグロジックをイネーブル状態にするステップをさらに備える、請求項2に記載の方法。
- マルチコアプロセッサーアーキテクチャーが、いくつかの個々のサブユニットを含むコントローラをさらに備え、出力を生成するステップが、コントローラの個々のサブユニットの中の1つ以上を制御するための制御信号を生成する工程を含む、請求項1に記載の方法。
- スレッドパラメータインジケータが、コントローラによって生成される、請求項4に記載の方法。
- スレッドパラメータインジケータが、コントローラ内に含まれる個々のサブユニットの中の1つ以上によって生成される、請求項5に記載の方法。
- 前記サブユニット制御信号が、コントローラ内に含まれるサブユニットの中の1つ以上を停止させるための信号を含む、請求項4に記載の方法。
- 前記サブユニット制御信号が、コントローラ内に含まれるサブユニットの中の1つ以上に、スレッドを管理し、かつプロセッサーエレメント間に割り付けるのに必要とされる次のオペレーションをステップで実行させるための信号を含む、請求項7に記載の方法。
- 出力を生成するステップが、比較の後に発生する複数のスレッドパラメータインジケータのリストを含む出力を生成する工程を含む、請求項1に記載の方法。
- 比較の後に発生する複数のスレッドパラメータインジケータのリストを含む出力を生成するステップが、前記比較の結果に基づいて開始する、請求項9に記載の方法。
- マルチコアプロセッサーアーキテクチャーが、複数のユーザ定義可能スレッドパラメータインジケータフィルターをさらに備え、前記方法が、複数のスレッドパラメータインジケータをフィルタリングし、関心のあるインジケータを突き止めるステップをさらに備える、請求項9または10に記載の方法。
- マルチコアプロセッサーアーキテクチャーが、グローバル時刻信号をさらに備え、前記方法が、グローバル時刻信号を指示するコードと比較した後に発生する複数のイベントにタイムスタンプを押すステップをさらに備える、請求項11に記載の方法。
- マルチコアプロセッサーアーキテクチャーが、スレッドパラメータインジケータのリスティングをフォーマットし、かつ圧縮するためのフォーマッター圧縮器をさらに備え、前記方法が、スレッドパラメータインジケータフィルターから出力されるスレッドパラメータインジケータのリスティングをフォーマットおよび圧縮するステップをさらに備える、請求項12に記載の方法。
- コントローラから、または、プロセッサーエレメントの1つ以上から入力信号を受信するステップと、
前記コントローラまたはプロセッサーエレメントから受信された入力信号に基づいて、複数の予め定義された基準を変更するステップと、
をさらに備える、請求項1に記載の方法。 - マルチコア処理アーキテクチャーが、第1のプロトコルに基づいた信号を第2の異なるプロトコルに基づいた信号に変換するためのプロトコル変換器をさらに備え、前記方法が、
プロトコル変換器から入力信号を受信するステップと、
プロトコル変換器から受信された入力信号に基づいて複数の予め定義された基準を変更するステップと、
をさらに備える、請求項1または14に記載の方法。 - イベントの少なくともいくつかを、関心のあるインジケータをそれぞれが表現する第2の複数の予め定義された基準と比較するステップと、
前記第1の比較および第2の比較の結果として関心のあるものであると識別されたスレッドパラメータインジケータによって得られる出力を生成するステップと、
をさらに備える、請求項1〜15のいずれか一項に記載の方法。 - 第1または第2の複数の予め定義された基準が、特定のタイプのスレッドの特定のインスタンスを指示する基準を含む、請求項1または16に記載の方法。
- 第1または第2の複数の予め定義された基準が、コントローラの特定のサブユニットを指示する基準を含む、請求項1または16に記載の方法。
- 第2の複数の予め定義された基準が、第1の比較と第2の比較との間の関係を指示する基準を含む、請求項17または18に記載の方法。
- 第1の比較と第2の比較との間の関係が、
AND演算関係、
OR演算関係、または、
XOR演算関係、
のいずれかである、請求項19に記載の方法。 - 複数のインターコネクトされたプロセッサーエレメントを有するマルチコアプロセッサーアーキテクチャーにおけるソフトウェアデバッグのためのスレッドレベルデバッグコントローラであって、それぞれのエレメントが、スレッドを処理するためのリソースを提供し、デバッグコントローラが、前記プロセッサーエレメントのそれぞれと通信できる状態にあり、かつ、マルチコアプロセッサーアーキテクチャー内におけるスレッドの割り付けおよび実行を監視するための監視ロジックを備えるデバッグコントローラ。
- マルチコアプロセッサーアーキテクチャーが、コントローラをさらに備え、前記コントローラが、いくつかのインターコネクトされた個々のサブユニットを備え、監視ロジックが、複数のデバッグマシンをさらに備え、前記デバッグマシンのそれぞれが、予め定義された基準に関して、前記サブユニットのそれぞれからの複数の入力信号を監視するようになっており、前記入力信号が、マルチコアプロセッサーアーキテクチャー内におけるスレッドの割り付けおよび実行を指示する、請求項21に記載のデバッグコントローラ。
- マルチコアプロセッサーアーキテクチャーが、プロセッサーエレメントのそれぞれに特有の命令レベルデバッグ監視ロジックエレメントをさらに備え、デバッグマシンのそれぞれが、さらに、特定の基準を検出したことに基づいて命令レベルデバッグ監視ロジックエレメントの中の1つ以上に出力制御信号を提供するようになっている、請求項22に記載のデバッグコントローラ。
- 関心のある信号を得るためにマルチコアプロセッサーアーキテクチャー内におけるスレッドの割り付けおよび実行を指示する複数の入力信号をフィルタリングするための複数のフィルターをさらに備え、デバッグマシンのそれぞれが、またさらに、前記複数のフィルターのどれが前記複数の入力信号をフィルタリングするのに使用されるかを制御するためのフィルター制御信号を提供するようになっている、請求項23に記載のデバッグコントローラ。
- マルチコアプロセッサーアーキテクチャー内における出力される準備のできたスレッドの割り付けおよび実行を指示するフィルタリングされた複数の入力信号をフォーマットおよび圧縮するためのフォーマッター圧縮器をさらに備える、請求項24に記載のデバッグコントローラ。
- 前記複数のデバッグマシンのそれぞれが、検出される準備のできた基準と、前記基準のそれぞれが検出されたときにマルチコアプロセッサーアーキテクチャーによって実行されるべきアクション命令のリストとを記憶するためのメモリーをさらに備える、請求項22に記載のデバッグコントローラ。
- 基準を記憶するための前記メモリーが、スレッドデバッグコントローラによって独占使用されるスレッドデバッグコントローラ専用メモリーである、請求項26に記載のデバッグコントローラ。
- 前記複数のデバッグマシンのそれぞれが、検出基準を、マルチコアプロセッサーアーキテクチャー内におけるスレッドの割り付けおよび実行を指示する信号と比較するための比較器をさらに備える、請求項26または27に記載のデバッグコントローラ。
- 前記複数のデバッグマシンの出力が、前記デバッグマシン比較器の出力間の関係を制御するための制御ロジックによって互いにインターコネクトされ、デバッグマシン出力間の前記関係が、
AND演算関係、
OR演算関係、または、
XOR演算関係、
のいずれかである、請求項28に記載のデバッグコントローラ。 - マルチコアプロセッサーアーキテクチャー内におけるスレッドの割り付けおよび実行を指示する信号内において検出された1つ以上の検出基準の特定のインスタンスの検出に関連するアクション命令を復号化するための命令復号器をさらに備える、請求項29に記載のデバッグコントローラ。
- 複数のフィルターが、基準マスクのリストを備え、前記フィルターのそれぞれが、マスクのリスト内に一組の連続的なマスクを備え、前記フィルターのそれぞれが、フィルターイネーブル信号のアサーションによってイネーブル状態にされる、請求項24に記載のデバッグコントローラ。
- 外部デバッグホストからの第1のプロトコルに基づいたデバッグ制御入力信号を、デバッグコントローラを制御するのに適した第2の異なるプロトコルに基づいた信号に変換するためのプロトコル変換器をさらに備える、請求項21〜31のいずれか一項に記載のデバッグコントローラ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0420442.6 | 2004-09-14 | ||
GB0420442A GB0420442D0 (en) | 2004-09-14 | 2004-09-14 | Debug in a multicore architecture |
PCT/GB2005/003525 WO2006030195A2 (en) | 2004-09-14 | 2005-09-13 | Mehtod and system for debugging a multi- threaded program executing in a multicore architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012263380A Division JP5492280B2 (ja) | 2004-09-14 | 2012-11-30 | マルチコアアーキテクチャーにおけるデバッグ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008513853A true JP2008513853A (ja) | 2008-05-01 |
JP5610668B2 JP5610668B2 (ja) | 2014-10-22 |
Family
ID=33306559
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007530774A Active JP5610668B2 (ja) | 2004-09-14 | 2005-09-13 | マルチコアアーキテクチャーにおけるデバッグ |
JP2012263380A Active JP5492280B2 (ja) | 2004-09-14 | 2012-11-30 | マルチコアアーキテクチャーにおけるデバッグ |
JP2013144994A Active JP5492332B2 (ja) | 2004-09-14 | 2013-07-10 | マルチコアアーキテクチャーにおけるデバッグ |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012263380A Active JP5492280B2 (ja) | 2004-09-14 | 2012-11-30 | マルチコアアーキテクチャーにおけるデバッグ |
JP2013144994A Active JP5492332B2 (ja) | 2004-09-14 | 2013-07-10 | マルチコアアーキテクチャーにおけるデバッグ |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1805621B1 (ja) |
JP (3) | JP5610668B2 (ja) |
KR (3) | KR101311846B1 (ja) |
CN (3) | CN102508781B (ja) |
GB (1) | GB0420442D0 (ja) |
TW (3) | TWI408547B (ja) |
WO (1) | WO2006030195A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619011B2 (en) | 2013-08-14 | 2017-04-11 | Samsung Electronics Co., Ltd. | System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same |
JP2021108129A (ja) * | 2017-03-29 | 2021-07-29 | グーグル エルエルシーGoogle LLC | 分散ハードウェアトレーシング |
US11921611B2 (en) | 2017-03-29 | 2024-03-05 | Google Llc | Synchronous hardware event collection |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9038070B2 (en) | 2004-09-14 | 2015-05-19 | Synopsys, Inc. | Debug in a multicore architecture |
GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
CN100451972C (zh) * | 2006-09-26 | 2009-01-14 | 杭州华三通信技术有限公司 | 提高多核系统访问临界资源速度的方法和装置 |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US8341604B2 (en) * | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced 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 |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US7962885B2 (en) * | 2007-12-04 | 2011-06-14 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing components adapted for dynamically modifying a scan path for system-on-chip testing |
KR100958303B1 (ko) | 2007-12-12 | 2010-05-19 | 한국전자통신연구원 | 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법 |
AT505630B1 (de) * | 2008-02-05 | 2009-03-15 | Ver Fachhochschule Technikum W | Einrichtung zum koordinierten testen und zur fehlersuche in verteilten eingebetteten mikroprozessorsystemen |
JP2010117813A (ja) * | 2008-11-12 | 2010-05-27 | Nec Electronics Corp | デバッグシステム、デバッグ方法、デバッグ制御方法及びデバッグ制御プログラム |
US8495344B2 (en) * | 2010-01-22 | 2013-07-23 | Via Technologies, Inc. | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information |
TWI470421B (zh) * | 2010-03-16 | 2015-01-21 | Via Tech Inc | 微處理器及其除錯方法 |
KR101151284B1 (ko) * | 2010-04-06 | 2012-06-08 | 주식회사 안철수연구소 | 인젝션 스레드의 네트워크 행위 차단 시스템 및 그 방법 |
US8766666B2 (en) | 2010-06-10 | 2014-07-01 | Micron Technology, Inc. | Programmable device, hierarchical parallel machines, and methods for providing state information |
CN102655440A (zh) * | 2011-03-03 | 2012-09-05 | 中兴通讯股份有限公司 | 对多套Turbo译码器进行调度的方法和装置 |
TWI497419B (zh) * | 2011-10-20 | 2015-08-21 | Via Tech Inc | 電腦裝置及其中斷任務分配方法 |
CN102819218B (zh) * | 2012-07-19 | 2015-04-29 | 西安交通大学 | 基于事件控制函数的离散事件系统监控器及其控制方法 |
US9672041B2 (en) * | 2013-08-01 | 2017-06-06 | Andes Technology Corporation | Method for compressing variable-length instructions including PC-relative instructions and processor for executing compressed instructions using an instruction table |
CN104331388B (zh) * | 2013-08-28 | 2018-09-11 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN104572515B (zh) * | 2013-10-28 | 2019-05-31 | 锐迪科(重庆)微电子科技有限公司 | 跟踪模块、方法、系统和片上系统芯片 |
US20150127927A1 (en) * | 2013-11-01 | 2015-05-07 | Qualcomm Incorporated | Efficient hardware dispatching of concurrent functions in multicore processors, and related processor systems, methods, and computer-readable media |
CN103631752A (zh) * | 2013-12-19 | 2014-03-12 | 无锡美森微电子科技有限公司 | 一种众核处理器片上网络实时通信时间戳方法及系统 |
US9195493B2 (en) * | 2014-03-27 | 2015-11-24 | International Business Machines Corporation | Dispatching multiple threads in a computer |
US9626265B2 (en) | 2015-06-29 | 2017-04-18 | International Business Machines Corporation | Efficiency of cycle-reproducible debug processes in a multi-core environment |
CN105740155A (zh) * | 2016-03-09 | 2016-07-06 | 惠州Tcl移动通信有限公司 | 一种Modem CPU的调试实现方法及实现系统 |
US10222995B2 (en) * | 2016-04-13 | 2019-03-05 | Samsung Electronics Co., Ltd. | System and method for providing a zero contention parallel data stack |
CN107678892B (zh) * | 2017-11-07 | 2021-05-04 | 黄淮学院 | 基于跳跃恢复链的连续数据保护方法 |
US10579501B2 (en) | 2018-04-04 | 2020-03-03 | International Business Machines Corporation | Testing and reproduction of concurrency issues |
US11119782B2 (en) * | 2018-05-07 | 2021-09-14 | Micron Technology, Inc. | Thread commencement using a work descriptor packet in a self-scheduling processor |
US11513839B2 (en) * | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Memory request size management in a multi-threaded, self-scheduling processor |
US11513840B2 (en) * | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Thread creation on local or remote compute elements by a multi-threaded, self-scheduling processor |
US11074078B2 (en) * | 2018-05-07 | 2021-07-27 | Micron Technology, Inc. | Adjustment of load access size by a multi-threaded, self-scheduling processor to manage network congestion |
US11513838B2 (en) * | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Thread state monitoring in a system having a multi-threaded, self-scheduling processor |
CN113352329A (zh) * | 2021-06-28 | 2021-09-07 | 珠海市一微半导体有限公司 | 机器人多系统调试信息的实时序列化方法及机器人 |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04211842A (ja) * | 1990-03-29 | 1992-08-03 | Mitsubishi Electric Corp | 集積回路装置 |
WO2000073809A1 (fr) * | 1999-05-26 | 2000-12-07 | Hitachi, Ltd. | Circuit integre a semi-conducteur |
JP2001154876A (ja) * | 1999-10-01 | 2001-06-08 | Stmicroelectronics Inc | マイクロコンピュータデバッグアーキテクチャ及び方法 |
US20030005417A1 (en) * | 2001-06-29 | 2003-01-02 | Gard James J. | Debugger for a hardware-implemented operating system |
JP2004021751A (ja) * | 2002-06-19 | 2004-01-22 | Matsushita Electric Ind Co Ltd | デバッグ装置、デバッグプログラム、およびデバッグプログラム記録媒体 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2538897B2 (ja) * | 1987-01-14 | 1996-10-02 | 富士通株式会社 | デ−タ処理装置 |
JPH05324399A (ja) * | 1992-03-23 | 1993-12-07 | Toshiba Corp | 情報監視装置 |
JPH06161817A (ja) * | 1992-11-18 | 1994-06-10 | Yokogawa Electric Corp | スレッドオンラインデバッグ装置 |
JP2866591B2 (ja) * | 1994-01-10 | 1999-03-08 | インターナショナル・ビジネス・マシーンズ・コーポレイション | オブジエクトの使用可能性の通知方法及び装置 |
JPH0816430A (ja) * | 1994-06-27 | 1996-01-19 | Mitsubishi Electric Corp | 並列プログラムトレース装置 |
US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
UA55489C2 (uk) * | 1997-10-07 | 2003-04-15 | Каналь+ Сосьєте Анонім | Пристрій для багатопотокової обробки даних (варіанти) |
JPH11338733A (ja) * | 1998-02-27 | 1999-12-10 | Toshiba Corp | デバッグ装置及び記録媒体 |
US6625635B1 (en) * | 1998-11-02 | 2003-09-23 | International Business Machines Corporation | Deterministic and preemptive thread scheduling and its use in debugging multithreaded applications |
US6593940B1 (en) * | 1998-12-23 | 2003-07-15 | Intel Corporation | Method for finding errors in multithreaded applications |
JP3604029B2 (ja) * | 1999-01-12 | 2004-12-22 | 日本電気株式会社 | マルチスレッドプロセッサ |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
CA2383531A1 (en) * | 1999-09-01 | 2001-03-08 | Intel Corporation | Instruction for multithreaded parallel processor |
CN1148656C (zh) * | 1999-09-07 | 2004-05-05 | 皇家菲利浦电子有限公司 | 面向线程的调试 |
US6668275B1 (en) * | 1999-12-17 | 2003-12-23 | Honeywell International Inc. | System and method for multiprocessor management |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
JP2002014841A (ja) * | 2000-06-30 | 2002-01-18 | Esol Co Ltd | デバッグカーネルシステム |
US7448025B2 (en) * | 2000-12-29 | 2008-11-04 | Intel Corporation | Qualification of event detection by thread ID and thread privilege level |
CN1170225C (zh) * | 2001-08-28 | 2004-10-06 | 华为技术有限公司 | 自动测试系统的仪器模块驱动实现方法 |
JP2003131902A (ja) * | 2001-10-24 | 2003-05-09 | Toshiba Corp | ソフトウェアデバッガ、システムレベルデバッガ、デバッグ方法、及びデバッグプログラム |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
GB0407384D0 (en) * | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
JP2006053835A (ja) * | 2004-08-13 | 2006-02-23 | Sony Corp | 情報処理装置、デバッグ方法及びそのプログラム |
-
2004
- 2004-09-14 GB GB0420442A patent/GB0420442D0/en not_active Ceased
-
2005
- 2005-09-13 EP EP05779159.2A patent/EP1805621B1/en active Active
- 2005-09-13 KR KR1020127021494A patent/KR101311846B1/ko active IP Right Grant
- 2005-09-13 KR KR1020077006808A patent/KR101248175B1/ko active IP Right Grant
- 2005-09-13 CN CN201210004184.XA patent/CN102508781B/zh active Active
- 2005-09-13 CN CN2005800307894A patent/CN101084488B/zh active Active
- 2005-09-13 JP JP2007530774A patent/JP5610668B2/ja active Active
- 2005-09-13 KR KR1020137006594A patent/KR101365121B1/ko active IP Right Grant
- 2005-09-13 WO PCT/GB2005/003525 patent/WO2006030195A2/en active Application Filing
- 2005-09-13 CN CN201210004215.1A patent/CN102521137B/zh active Active
- 2005-09-14 TW TW094131673A patent/TWI408547B/zh active
- 2005-09-14 TW TW102117391A patent/TWI475376B/zh active
- 2005-09-14 TW TW102117390A patent/TWI474162B/zh active
-
2012
- 2012-11-30 JP JP2012263380A patent/JP5492280B2/ja active Active
-
2013
- 2013-07-10 JP JP2013144994A patent/JP5492332B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04211842A (ja) * | 1990-03-29 | 1992-08-03 | Mitsubishi Electric Corp | 集積回路装置 |
WO2000073809A1 (fr) * | 1999-05-26 | 2000-12-07 | Hitachi, Ltd. | Circuit integre a semi-conducteur |
JP2001154876A (ja) * | 1999-10-01 | 2001-06-08 | Stmicroelectronics Inc | マイクロコンピュータデバッグアーキテクチャ及び方法 |
US20030005417A1 (en) * | 2001-06-29 | 2003-01-02 | Gard James J. | Debugger for a hardware-implemented operating system |
JP2004021751A (ja) * | 2002-06-19 | 2004-01-22 | Matsushita Electric Ind Co Ltd | デバッグ装置、デバッグプログラム、およびデバッグプログラム記録媒体 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619011B2 (en) | 2013-08-14 | 2017-04-11 | Samsung Electronics Co., Ltd. | System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same |
JP2021108129A (ja) * | 2017-03-29 | 2021-07-29 | グーグル エルエルシーGoogle LLC | 分散ハードウェアトレーシング |
JP7250832B2 (ja) | 2017-03-29 | 2023-04-03 | グーグル エルエルシー | 分散ハードウェアトレーシング |
US11650895B2 (en) | 2017-03-29 | 2023-05-16 | Google Llc | Distributed hardware tracing |
US11921611B2 (en) | 2017-03-29 | 2024-03-05 | Google Llc | Synchronous hardware event collection |
Also Published As
Publication number | Publication date |
---|---|
JP2013239196A (ja) | 2013-11-28 |
WO2006030195A2 (en) | 2006-03-23 |
CN102508781A (zh) | 2012-06-20 |
KR20130032413A (ko) | 2013-04-01 |
TW201333680A (zh) | 2013-08-16 |
CN101084488B (zh) | 2012-03-14 |
JP5492280B2 (ja) | 2014-05-14 |
GB0420442D0 (en) | 2004-10-20 |
JP5492332B2 (ja) | 2014-05-14 |
TWI474162B (zh) | 2015-02-21 |
TW201333681A (zh) | 2013-08-16 |
JP5610668B2 (ja) | 2014-10-22 |
TW200613964A (en) | 2006-05-01 |
WO2006030195A3 (en) | 2007-02-22 |
KR101311846B1 (ko) | 2013-09-27 |
TWI475376B (zh) | 2015-03-01 |
CN102521137B (zh) | 2015-10-28 |
CN101084488A (zh) | 2007-12-05 |
EP1805621A2 (en) | 2007-07-11 |
KR20120097422A (ko) | 2012-09-03 |
TWI408547B (zh) | 2013-09-11 |
CN102521137A (zh) | 2012-06-27 |
KR101365121B1 (ko) | 2014-03-12 |
CN102508781B (zh) | 2015-10-14 |
EP1805621B1 (en) | 2016-08-17 |
KR101248175B1 (ko) | 2013-03-27 |
JP2013127782A (ja) | 2013-06-27 |
KR20070083590A (ko) | 2007-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5610668B2 (ja) | マルチコアアーキテクチャーにおけるデバッグ | |
US9830241B2 (en) | Debug in a multicore architecture | |
US7058855B2 (en) | Emulation interface system | |
US9684583B2 (en) | Trace data export to remote memory using memory mapped write transactions | |
US9639447B2 (en) | Trace data export to remote memory using remotely generated reads | |
JP2011243110A (ja) | 情報処理装置 | |
US20110239196A1 (en) | Micro-Task Pipeline Visualization | |
US20150127992A1 (en) | Using an in-system component as an embedded trace receiver | |
US10088523B2 (en) | Debug adapter | |
Stollon et al. | Nexus IEEE 5001 | |
Stollon | Multicore Debug | |
EP4200707A1 (en) | Microchip with on-chip debug and trace engine | |
Stollon et al. | Bus System Debug |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080724 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081219 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110802 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111101 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111202 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120627 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121130 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130116 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5610668 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |