JP5312918B2 - タイムスタンプ取得回路及びタイムスタンプ取得方法 - Google Patents
タイムスタンプ取得回路及びタイムスタンプ取得方法 Download PDFInfo
- Publication number
- JP5312918B2 JP5312918B2 JP2008301137A JP2008301137A JP5312918B2 JP 5312918 B2 JP5312918 B2 JP 5312918B2 JP 2008301137 A JP2008301137 A JP 2008301137A JP 2008301137 A JP2008301137 A JP 2008301137A JP 5312918 B2 JP5312918 B2 JP 5312918B2
- Authority
- JP
- Japan
- Prior art keywords
- trace
- time stamp
- counter
- overflow
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
ステップ1.タイムスタンプカウンタ36、OVFカウンタ71を初期化する。
ステップ2.第1プロセッサ13又は第2プロセッサ14にて、ユーザプログラムを実行する。同時にタイムスタンプカウンタ36、OVFカウンタ71のカウントアップを開始する。
ステップ3.第1プロセッサ13が第1CPUコア11でトレース対象命令の実行を検出すると、トレース対象命令実行検出信号とトレースデータとがトレースメッセージ生成回路35に出力される。
ステップ4.同様に、第2プロセッサ14が第2CPUコア12でトレース対象命令の実行を検出すると、トレース対象命令実行検出信号とトレースデータとがトレースメッセージ生成回路35に出力される。
ステップ5.トレースメッセージ生成回路35は、第1プロセッサ13又は第2プロセッサ14から、トレース対象命令実行検出信号を受け取る前に、一度でもタイムスタンプカウンタ36のキャリー信号がアクティブになると、OVFフラグ34をセットする。セットしたOVFフラグ34の状態は、トレース対象命令実行検出信号を受け取ったあと、トレースメッセージを生成するまで、保持する。
ステップ6.トレースメッセージ生成回路35は、第1プロセッサ13および第2プロセッサ14から、トレース対象命令実行検出信号を受け取ると、タイムスタンプカウンタ36からカウント値をリードする。また、このとき、OVFフラグ34がセットされていれば、OVFカウント値要求信号をOVFカウント値生成回路72に出力する。
ステップ7.トレースメッセージ生成回路35は、第1プロセッサ13及び第2プロセッサ14からのトレースデータ(本実施の形態におけるプロセッサはマルチコアなので、どちらのプロセッサからのデータかを示す情報を含む。)、タイムスタンプカウント値、OVFフラグ34の値からトレースメッセージを生成し、トレースメッセージバッファ37にエントリする。
ステップ8.OVFカウント値生成回路72は、OVFカウント値要求信号を受け取ると、OVFカウンタ71のカウント値をOVFカウント値バッファ73にエントリする。
ステップ9.トレースメッセージ生成回路35は、リセット信号(RES)をアクティブにし、タイムスタンプカウンタ36、OVFカウンタ71を0クリアする。
ステップ10.トレースメッセージバッファ37は、トレースメッセージを先頭から順次、トレースメモリ書き込み制御回路74に出力する。
ステップ11.第1プロセッサ13、第2プロセッサ14が、トレース対象命令の実行を検出するたびに、上記ステップ3.〜ステップ9.を実行する。
ステップ12.トレースメモリ書き込み制御回路74は、トレースメッセージバッファ37から出力されるトレースメッセージを受け取る。そのトレースメッセージ内のオーバーフローフラグがオフであれば、トレースメッセージをトレースメモリ80に書き込み、トレースメモリ80への書き込みアドレスをインクリメントする。
ステップ13.トレースメモリ書き込み制御回路74は、そのトレースメッセージ内のオーバーフローフラグがオンであれば、トレースメッセージをトレースメモリ80に書き込む前に、OVFカウント値バッファ73の先頭のOVFカウント値を先にトレースメモリ80に書き込み、アドレスをインクリメントした後で、トレースメッセージを書き込み、更にトレースメモリ80のアドレスをインクリメントする。
〔1〕本実施の形態においては、トレースメモリ80を、プロセッサと同一のチップに設ける必要が無い。よって、トレースメモリ80の容量を十分に大きくすることができるので、マルチコアチップのプログラム開発/デバッグに必要な大量のトレースデータの取得を可能にするという効果がある。
〔2〕本実施の形態においては、プロセッサと同一のチップに、比較的小さなタイムスタンプカウンタを一つ設ければ良いので、出力バスのバス幅が拡がることを抑制することができる。よって、デバッグチップ、エバリュエーションチップのコストを低減できるという効果がある。また、タイムスタンプカウンタの回路規模は、上記特許文献1の図1に示されているようなリアルタイムカウンタの回路規模と比較すると、かなりの小型化を図ることが可能である。よって、デバッグチップ、エバリュエーションチップの回路規模を相当小さくすることができるという効果がある。
〔3〕本実施の形態においては、トレースメッセージと、OVFカウント値とを別々に異なるFIFOに保持しているが、これらは対応付けられて書き込まれている。よって、タイムスタンプカウンタ36のオーバーフローが、トレースメッセージバッファ(FIFO)37を経由して順次出力されるトレースメッセージのどのメッセージ間で発生したかを容易に特定できるという効果がある。
13,14 プロセッサ
20 ユーザーターゲットシステム
21 ソケット
22 エミュレーションプローブ
30 タイムスタンプカウンタ制御回路
34 OVFフラグ
35 トレースメッセージ生成回路
36 タイムスタンプカウンタ
37 トレースメッセージバッファ
40,42 回路ブロック
41 デバッグチップ
43 CPUエバリュエーションチップ
50,55 エミュレータ本体
51 エミュレーション制御回路
52 ホストI/F
56 周辺エバリュエーションチップ
60 ホストPC
70 オーバーフローカウンタ制御回路
71 OVFカウンタ
72 OVFカウント値生成回路
73 OVFカウント値バッファ
74 トレースメモリ書き込み制御回路
80 トレースメモリ
Claims (10)
- 所定のクロックに従って、一定の時間間隔を計数するタイムスタンプカウンタと、
前記タイムスタンプカウンタがオーバーフローしたことを記録するオーバーフローフラグと、
前記タイムスタンプカウンタがオーバーフローした回数を計数するオーバーフローカウンタと、
一のトレースデータが収集された場合において、前記オーバーフローフラグがオンになっていたときには、前記一のトレースデータと、前記タイムスタンプカウンタのカウント値と、前記オーバーフローカウンタのカウント値とをトレースメモリに書き込むトレースメモリ書き込み制御回路とを具備する
タイムスタンプ取得回路。 - 前記一のトレースデータが収集された場合に、前記一のトレースデータと、前記タイムスタンプカウンタのカウント値と、前記オーバーフローフラグの値とを含む一のトレースメッセージを生成するトレースメッセージ生成回路と、
前記一のトレースメッセージを記憶する第一のバッファと、
前記一のトレースデータが収集された場合において、前記オーバーフローフラグがオンになっていたときに、前記オーバーフローカウンタのカウント値を記憶する第二のバッファとを更に具備し、
トレースメモリ書き込み制御回路は、
前記第一のバッファから読み出した前記一のトレースメッセージにおけるオーバーフローフラグの値がオフになっていた場合には、前記一のトレースメッセージを前記トレースメモリに書き込み、
前記第一のバッファから読み出した前記一のトレースメッセージにおけるオーバーフローフラグの値がオンになっていた場合には、前記一のトレースメッセージと、前記第二のバッファに記憶された前記オーバーフローカウンタのカウント値とを前記トレースメモリに書き込む
請求項1記載のタイムスタンプ取得回路。 - 前記第一のバッファと、前記第二のバッファとは、
FIFO(First In First Out)メモリで成り、
前記トレースメッセージ生成回路は、
前記一のトレースメッセージを生成すると、前記一のトレースメッセージを前記第一のバッファに書き込むと共に、前記一のトレースメッセージにおけるオーバーフローフラグの値がオンであった場合には、前記オーバーフローカウンタのカウント値を前記第二のバッファに書き込むことを要求する制御信号を出力する
請求項2記載のタイムスタンプ取得回路。 - トレース対象とするチップの内部に、前記タイムスタンプカウンタを設け、
前記チップの外部に、前記オーバーフローカウンタを設けた
請求項3記載のタイムスタンプ取得回路。 - 前記チップは、
デバッグチップ又はCPUエバリュエーションチップである
請求項4記載のタイムスタンプ取得回路。 - 所定のクロックを与えられるタイムスタンプカウンタにより、一定の時間間隔を計数することと、
前記タイムスタンプカウンタがオーバーフローしたことをオーバーフローフラグに記録することと、
オーバーフローカウンタにより、前記タイムスタンプカウンタがオーバーフローした回数を計数することと、
一のトレースデータが収集された場合において、前記オーバーフローフラグがオンになっていたときには、前記一のトレースデータと、前記タイムスタンプカウンタのカウント値と、前記オーバーフローカウンタのカウント値とをトレースメモリに書き込むこととを具備する
タイムスタンプ取得方法。 - 前記一のトレースデータが収集された場合に、前記一のトレースデータと、前記タイムスタンプカウンタのカウント値とを含む一のトレースメッセージを生成することと、
第一のバッファに、前記一のトレースメッセージを記憶することと、
前記一のトレースデータが収集された場合において、前記オーバーフローフラグがオンになっていたときには、
前記一のトレースメッセージに追加して、前記オーバーフローカウンタのカウント値を前記トレースメモリに書き込むべき旨を表示することと、
第二のバッファに、前記オーバーフローカウンタのカウント値を記憶することとを更に具備し、
前記書き込むことは、
前記第一のバッファから前記一のトレースメッセージを読み込むことと、
前記一のトレースメッセージに対して、前記書き込むべき旨の表示がなされていなかった場合には、前記一のトレースメッセージを前記トレースメモリに書き込むことと、
前記一のトレースメッセージに対して、前記書き込むべき旨の表示がなされていた場合には、前記第二のバッファから前記オーバーフローカウンタのカウント値を読み込み、前記一のトレースメッセージと、前記オーバーフローカウンタのカウント値とを前記トレースメモリに書き込むこととを含む
請求項6記載のタイムスタンプ取得方法。 - 前記表示することは、
前記一のトレースメッセージに、前記オーバーフローフラグの値を更に含めたものを、前記第一のバッファに記憶することを含み、
前記書き込むことは、
前記一のトレースメッセージにおけるオーバーフローフラグの値がオフになっていた場合を、前記書き込むべき旨の表示がなされていなかった場合とすることと、
前記一のトレースメッセージにおけるオーバーフローフラグの値がオンになっていた場合を、前記書き込むべき旨の表示がなされていた場合とすることとを更に含む
請求項7記載のタイムスタンプ取得方法。 - 前記第一のバッファと、前記第二のバッファとは、FIFOメモリで成り、
前記一のトレースメッセージを記憶することは、
前記第一のバッファに、順番にトレースメッセージを記憶することを含み、
前記オーバーフローカウンタのカウント値を記憶することは、
前記第二のバッファに、順番に前記カウント値を記憶することを含む
請求項8記載のタイムスタンプ取得方法。 - トレース対象とするチップの内部に、前記タイムスタンプカウンタを設けることと、
前記チップの外部に、前記オーバーフローカウンタを設けることとを更に具備する
請求項9記載のタイムスタンプ取得方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008301137A JP5312918B2 (ja) | 2008-11-26 | 2008-11-26 | タイムスタンプ取得回路及びタイムスタンプ取得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008301137A JP5312918B2 (ja) | 2008-11-26 | 2008-11-26 | タイムスタンプ取得回路及びタイムスタンプ取得方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010128681A JP2010128681A (ja) | 2010-06-10 |
JP5312918B2 true JP5312918B2 (ja) | 2013-10-09 |
Family
ID=42329043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008301137A Expired - Fee Related JP5312918B2 (ja) | 2008-11-26 | 2008-11-26 | タイムスタンプ取得回路及びタイムスタンプ取得方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5312918B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014054101A1 (ja) | 2012-10-01 | 2014-04-10 | 富士通株式会社 | 情報処理装置及び性能解析データの収集方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3019922B2 (ja) * | 1997-06-30 | 2000-03-15 | 日本電気株式会社 | トレースデータ削減方式 |
JP2000194580A (ja) * | 1998-12-24 | 2000-07-14 | Denso Corp | Cpu開発支援装置 |
JP2005222446A (ja) * | 2004-02-09 | 2005-08-18 | Matsushita Electric Ind Co Ltd | オンボードデバッグ装置および半導体回路装置 |
JP2005322035A (ja) * | 2004-05-10 | 2005-11-17 | Toshiba Corp | 開発支援装置及びその方法 |
JP4806577B2 (ja) * | 2006-03-06 | 2011-11-02 | 株式会社リコー | トレースデータ記録装置 |
-
2008
- 2008-11-26 JP JP2008301137A patent/JP5312918B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010128681A (ja) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8527812B2 (en) | Information processing device | |
JP4138021B2 (ja) | プロセッサベースのデバイス、ソフトウェア性能プロファイリング情報をもたらす方法およびソフトウェア性能プロファイリング情報を生成し分析するためのソフトウェア開発システム | |
JP4512380B2 (ja) | データを処理する方法と装置およびコンピュータ・プログラム製品 | |
US9342468B2 (en) | Memory time stamp register external to first and second processors | |
US6665821B1 (en) | Microcomputer, electronic equipment, and debugging system | |
US7596719B2 (en) | Microcontroller information extraction system and method | |
TWI270769B (en) | Trace, debug method and system for a processor | |
US6484273B1 (en) | Integrated EJTAG external bus interface | |
CN111367742A (zh) | 调试mvp处理器的方法、装置、终端和计算机可读存储介质 | |
US20030191624A1 (en) | Debug function built-in type microcomputer | |
EP1125200B1 (en) | Maintaining object size information concurrent with data optimization for debugging | |
JP5312918B2 (ja) | タイムスタンプ取得回路及びタイムスタンプ取得方法 | |
US7110934B2 (en) | Analysis of the performance of a portion of a data processing system | |
JP4914253B2 (ja) | 半導体集積回路及びエラー解析方法 | |
JPH11282709A (ja) | インサーキットエミュレータ | |
JP2003263339A (ja) | デバック機能内蔵型マイクロコンピュータ | |
CN106095631B (zh) | 一种基于有限状态机实现的多周期非流水线cpu动态调试方法 | |
JP2016091277A (ja) | トレースシステムおよびicチップ | |
JPH0713806A (ja) | マイクロプロセッサのバストレース装置 | |
JP2005165825A (ja) | トレース情報記録装置 | |
TW201321972A (zh) | 除錯方法及相關電腦系統 | |
US11144687B1 (en) | Method and system providing visualization of sub-circuit iterations based on handshake signals | |
CN108681500B (zh) | 具有事务记录能力的系统和事务记录方法 | |
JP2006323726A (ja) | モニタプログラムおよびリアルタイムトレースシステム | |
JP2000222256A (ja) | キャッシュメモリ内蔵プロセッサのデバッグ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130627 |
|
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: 20130701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130703 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
LAPS | Cancellation because of no payment of annual fees |