JP2013239196A - マルチコアアーキテクチャーにおけるデバッグ - Google Patents
マルチコアアーキテクチャーにおけるデバッグ Download PDFInfo
- Publication number
- JP2013239196A JP2013239196A JP2013144994A JP2013144994A JP2013239196A JP 2013239196 A JP2013239196 A JP 2013239196A JP 2013144994 A JP2013144994 A JP 2013144994A JP 2013144994 A JP2013144994 A JP 2013144994A JP 2013239196 A JP2013239196 A JP 2013239196A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- controller
- trace
- thread
- interface
- 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
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000003068 static effect Effects 0.000 claims description 26
- 239000000872 buffer Substances 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 claims 2
- 230000001276 controlling effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 61
- 238000010586 diagram Methods 0.000 description 26
- 238000013461 design Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 240000002800 Sanicula europaea Species 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 244000186037 Ayapana Species 0.000 description 1
- YKFRUJSEPGHZFJ-UHFFFAOYSA-N N-trimethylsilylimidazole Chemical compound C[Si](C)(C)N1C=CN=C1 YKFRUJSEPGHZFJ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000009291 secondary effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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
-
- 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/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
【解決手段】スレッドを処理するための複数のインターコネクトされたプロセッサーエレメント150を備えるマルチコアプロセッサーアーキテクチャー10内において、1つのスレッドまたは複数のスレッドの機能および/またはアイデンティティーおよび/または実行ロケーションに関する1つ以上のパラメータの複数のスレッドパラメータインジケータを受信するステップと、スレッドパラメータインジケータの中の少なくとも1つを、関心のあるインジケータをそれぞれが表現する第1の複数の予め定義された基準と比較するステップと、上記比較の結果として関心のあるものであると識別されたスレッドパラメータインジケータによって得られる出力を生成するステップとを備える。
【選択図】図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 (9)
- スレッドを処理するための複数のインターコネクトされたプロセッサーエレメントを備えるマルチコアプロセッサーアーキテクチャーのデバッグコントローラであって、
前記マルチコアプロセッサーアーキテクチャーの中の少なくとも1つのスレッドの機能および/またはアイデンティティーおよび/または実行ロケーションに関する複数のパラメータを指示する複数のスレッドパラメータインジケータを受信するよう構成されたスレッド管理および割り付けイベント入力と、
前記複数のスレッドパラメータインジケータの中の少なくとも1つのスレッドパラメータインジケータを、関心のあるスレッドパラメータインジケータをそれぞれが表現する第1の複数の予め定義された基準と比較し、前記比較に応じてトレースイネーブル信号を生成するようそれぞれが構成された複数のデバッグマシンと、
前記トレースイネーブル信号に応じて、前記複数のスレッドパラメータインジケータのそれぞれを第2の複数の予め定義された基準と比較し、前記複数のスレッドパラメータインジケータおよび前記第2の複数の予め定義された基準との比較の結果に基づいてトレースバッファーのためにトレース出力を生成するよう構成された静的イベントフィルターと、
を備えるデバッグコントローラ。 - 前記複数のデバッグマシンのそれぞれが、
第1の複数の予め定義された基準のシーケンスを記憶するよう構成されたイベントウォッチファーストインファーストアウトレジスタと、
前記イベントウォッチレジスタに記憶されている前記シーケンスに対応するアクション命令のシーケンスであって、それぞれのアクション命令が実行されるべきアクションを指示するアクション命令のシーケンスを記憶するよう構成されたアクションリストファーストインファーストアウトレジスタと、
前記少なくとも1つのスレッドパラメータインジケータが前記シーケンスの最初にある前記第1の複数の予め定義された基準に一致するか否かを決定し、一致していると決定した場合、対応するアクション命令がトレースをイネーブル状態にすると指示しているか否かを決定し、指示していると決定した場合、前記トレースイネーブル信号を生成するように構成されたイベントサービスモジュールと、
を備える、請求項1に記載のデバッグコントローラ。 - 前記第2の複数の予め定義された基準を、ユーザにプログラムされたイベントフィルターマスクの形で、前記静的イベントフィルターに提供するよう構成された静的インタフェースをさらに備える、請求項1に記載のデバッグコントローラ。
- 前記マルチコアプロセッサーアーキテクチャーがいくつかのインターコネクトされた個々のサブユニットを備えるプロセッサコントローラをさらに備える、請求項1に記載のデバッグコントローラ。
- 前記複数のデバッグマシンと前記静的イベントフィルターとの間をインタフェース接続することによって前記コントローラの動的動作を制御するためのダイナミックデバッグインタフェースと、
前記プロセッサコントローラが前記ダイナミックデバッグインタフェースにアクセスするのを可能にするためのサブブロックコマンドインタフェースと、
をさらに備える、請求項4に記載のデバッグコントローラ。 - 外部デバッグホストが前記静的インタフェースまたは前記ダイナミックデバッグインタフェースにアクセスするのを可能にするよう構成された補助デバッグインタフェースをさらに備える、請求項3または5に記載のデバッグコントローラ。
- 複数の生成されたトレース出力を受信し、前記受信したトレース出力を圧縮するよう構成されたトレースデータフォーマッター圧縮器モジュールと、
前記トレースデータフォーマッター圧縮器モジュールから前記圧縮されたトレース出力を前記トレースバッファーに提供するためのトレースバッファーインタフェースと、
をさらに備える、請求項1に記載のデバッグコントローラ。 - 前記トレースデータフォーマッター圧縮器モジュールが、
第1の2エントリーファーストインファーストアウト(FIFO)レジスタを備える複数の2エントリーFIFOレジスタと、
生成されたトレース出力のそれぞれを受信し、前記生成されたトレース出力を前記複数の2エントリーFIFOレジスタの1つにルーティングするよう構成されたイベントスイッチと、
前記複数の2エントリーFIFOレジスタから前記生成されたトレース出力を受信し、前記第1のFIFOレジスタの中の前記生成されたトレース出力を参照して空間的相関および時間的相関を利用することで、前記生成されたトレース出力に対して所定の関数演算を実行し、ゼロの数を最大化することによって前記生成されたトレース出力を処理するよう構成されたフィールドベース相関器と、
それぞれが複数のシンボルを含む前記処理されたトレース出力を受信するよう構成された複数のフィールド相関FIFOレジスタと、
前記複数のフィールド相関FIFOレジスタから前記処理されたトレース出力を受信し、前記処理されたトレース出力のシンボルのそれぞれに対してゼロランレングス符号化を実行することで前記処理されたトレース出力を符号化することにより、可変長シンボルを含む符号化されたトレース出力をもたらすよう構成されたイントラシンボルランレングス符号器と、
前記イントラシンボルランレングス符号器から前記符号化されたトレース出力を受信するよう構成された複数の出力FIFOレジスタと、
前記複数の出力FIFOレジスタの中の前記符号化されたトレース出力に基づいて出力ビットストリームを生成するよう構成されたインターシンボルランレングス符号器と、
前記出力ビットストリームから、前記トレースバッファーインタフェースに適した可変長パケットを生成するよう構成された可変長パケット化器と、
を備える、請求項7に記載のデバッグコントローラ。 - 前記静的イベントフィルターが、前記トレース出力にタイムスタンプを押すために時刻指示を提供するよう構成された時刻インタフェースをさらに備える、請求項1に記載のデバッグコントローラ。
Applications Claiming Priority (2)
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 |
Related Parent 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 |
---|---|
JP2013239196A true JP2013239196A (ja) | 2013-11-28 |
JP5492332B2 JP5492332B2 (ja) | 2014-05-14 |
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 Before (2)
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 | マルチコアアーキテクチャーにおけるデバッグ |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1805621B1 (ja) |
JP (3) | JP5610668B2 (ja) |
KR (3) | KR101311846B1 (ja) |
CN (3) | CN102521137B (ja) |
GB (1) | GB0420442D0 (ja) |
TW (3) | TWI408547B (ja) |
WO (1) | WO2006030195A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12056498B2 (en) | 2021-12-02 | 2024-08-06 | Samsung Electronics Co., Ltd. | Electronic device for booting operating system using plurality of cores and operation method thereof |
Families Citing this family (39)
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 |
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 |
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 |
KR20150019457A (ko) | 2013-08-14 | 2015-02-25 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
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 |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US9875167B1 (en) | 2017-03-29 | 2018-01-23 | Google Inc. | Distributed hardware tracing |
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 |
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 |
US11513839B2 (en) * | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Memory request size management in a multi-threaded, self-scheduling processor |
US11119782B2 (en) * | 2018-05-07 | 2021-09-14 | Micron Technology, Inc. | Thread commencement using a work descriptor packet in a self-scheduling processor |
CN113352329A (zh) * | 2021-06-28 | 2021-09-07 | 珠海市一微半导体有限公司 | 机器人多系统调试信息的实时序列化方法及机器人 |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63174142A (ja) * | 1987-01-14 | 1988-07-18 | Fujitsu Ltd | タスクトレ−ス方式 |
JPH0816430A (ja) * | 1994-06-27 | 1996-01-19 | Mitsubishi Electric Corp | 並列プログラムトレース装置 |
JPH11338733A (ja) * | 1998-02-27 | 1999-12-10 | Toshiba Corp | デバッグ装置及び記録媒体 |
JP2000207233A (ja) * | 1999-01-12 | 2000-07-28 | Nec Corp | マルチスレッドプロセッサ |
JP2003517677A (ja) * | 1999-12-17 | 2003-05-27 | ハネウェル・インターナショナル・インコーポレーテッド | マルチプロセッサ管理のためのシステムおよび方法 |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2627464B2 (ja) * | 1990-03-29 | 1997-07-09 | 三菱電機株式会社 | 集積回路装置 |
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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | オブジエクトの使用可能性の通知方法及び装置 |
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 | Каналь+ Сосьєте Анонім | Пристрій для багатопотокової обробки даних (варіанти) |
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 |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
JP3966453B2 (ja) * | 1999-05-26 | 2007-08-29 | 株式会社ルネサステクノロジ | 半導体集積回路 |
WO2001016716A1 (en) * | 1999-09-01 | 2001-03-08 | Intel Corporation | Branch instruction for processor architecture |
WO2001018651A1 (en) * | 1999-09-07 | 2001-03-15 | Koninklijke Philips Electronics N.V. | Thread-oriented debugging |
US6487683B1 (en) * | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
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 |
US7823131B2 (en) * | 2001-06-29 | 2010-10-26 | Mentor Graphics Corporation | Debugger for a hardware-implemented operating system |
CN1170225C (zh) * | 2001-08-28 | 2004-10-06 | 华为技术有限公司 | 自动测试系统的仪器模块驱动实现方法 |
JP2003131902A (ja) * | 2001-10-24 | 2003-05-09 | Toshiba Corp | ソフトウェアデバッガ、システムレベルデバッガ、デバッグ方法、及びデバッグプログラム |
JP2004021751A (ja) * | 2002-06-19 | 2004-01-22 | Matsushita Electric Ind Co Ltd | デバッグ装置、デバッグプログラム、およびデバッグプログラム記録媒体 |
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 CN CN201210004215.1A patent/CN102521137B/zh active Active
- 2005-09-13 KR KR1020127021494A patent/KR101311846B1/ko active IP Right Grant
- 2005-09-13 CN CN201210004184.XA patent/CN102508781B/zh active Active
- 2005-09-13 EP EP05779159.2A patent/EP1805621B1/en active Active
- 2005-09-13 CN CN2005800307894A patent/CN101084488B/zh active Active
- 2005-09-13 KR KR1020077006808A patent/KR101248175B1/ko active IP Right Grant
- 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 JP JP2007530774A patent/JP5610668B2/ja active Active
- 2005-09-14 TW TW094131673A patent/TWI408547B/zh active
- 2005-09-14 TW TW102117390A patent/TWI474162B/zh active
- 2005-09-14 TW TW102117391A patent/TWI475376B/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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63174142A (ja) * | 1987-01-14 | 1988-07-18 | Fujitsu Ltd | タスクトレ−ス方式 |
JPH0816430A (ja) * | 1994-06-27 | 1996-01-19 | Mitsubishi Electric Corp | 並列プログラムトレース装置 |
JPH11338733A (ja) * | 1998-02-27 | 1999-12-10 | Toshiba Corp | デバッグ装置及び記録媒体 |
JP2000207233A (ja) * | 1999-01-12 | 2000-07-28 | Nec Corp | マルチスレッドプロセッサ |
JP2003517677A (ja) * | 1999-12-17 | 2003-05-27 | ハネウェル・インターナショナル・インコーポレーテッド | マルチプロセッサ管理のためのシステムおよび方法 |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12056498B2 (en) | 2021-12-02 | 2024-08-06 | Samsung Electronics Co., Ltd. | Electronic device for booting operating system using plurality of cores and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20070083590A (ko) | 2007-08-24 |
TWI474162B (zh) | 2015-02-21 |
CN102521137A (zh) | 2012-06-27 |
JP5492280B2 (ja) | 2014-05-14 |
CN102508781A (zh) | 2012-06-20 |
EP1805621B1 (en) | 2016-08-17 |
KR101248175B1 (ko) | 2013-03-27 |
KR20130032413A (ko) | 2013-04-01 |
TW200613964A (en) | 2006-05-01 |
JP5610668B2 (ja) | 2014-10-22 |
TWI408547B (zh) | 2013-09-11 |
KR20120097422A (ko) | 2012-09-03 |
TWI475376B (zh) | 2015-03-01 |
JP2008513853A (ja) | 2008-05-01 |
WO2006030195A3 (en) | 2007-02-22 |
KR101365121B1 (ko) | 2014-03-12 |
CN102508781B (zh) | 2015-10-14 |
JP2013127782A (ja) | 2013-06-27 |
TW201333681A (zh) | 2013-08-16 |
CN102521137B (zh) | 2015-10-28 |
GB0420442D0 (en) | 2004-10-20 |
EP1805621A2 (en) | 2007-07-11 |
JP5492332B2 (ja) | 2014-05-14 |
CN101084488A (zh) | 2007-12-05 |
CN101084488B (zh) | 2012-03-14 |
WO2006030195A2 (en) | 2006-03-23 |
KR101311846B1 (ko) | 2013-09-27 |
TW201333680A (zh) | 2013-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5492332B2 (ja) | マルチコアアーキテクチャーにおけるデバッグ | |
US9830241B2 (en) | Debug in a multicore architecture | |
US7058855B2 (en) | Emulation interface system | |
US8413120B2 (en) | Method and system for thread monitoring | |
US9639447B2 (en) | Trace data export to remote memory using remotely generated reads | |
US9684583B2 (en) | Trace data export to remote memory using memory mapped write transactions | |
JP2011243110A (ja) | 情報処理装置 | |
US20110239196A1 (en) | Micro-Task Pipeline Visualization | |
JP2013015985A (ja) | マルチコアプロセッサのすべてのプロセッサコアの実行トレースダンプが可能なsocデバイス | |
US20070271046A1 (en) | Scheme for improving bandwidth by identifying specific fixed pattern sequences as header encoding followed by the pattern count | |
Stollon | Multicore Debug | |
Stollon et al. | Nexus IEEE 5001 | |
Stollon et al. | Bus System Debug |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5492332 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 |
|
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 |