[go: up one dir, main page]

JP2011100388A - トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 - Google Patents

トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 Download PDF

Info

Publication number
JP2011100388A
JP2011100388A JP2009255956A JP2009255956A JP2011100388A JP 2011100388 A JP2011100388 A JP 2011100388A JP 2009255956 A JP2009255956 A JP 2009255956A JP 2009255956 A JP2009255956 A JP 2009255956A JP 2011100388 A JP2011100388 A JP 2011100388A
Authority
JP
Japan
Prior art keywords
trace information
trace
unit
counter value
program
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.)
Pending
Application number
JP2009255956A
Other languages
English (en)
Inventor
Atsushi Ike
敦 池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009255956A priority Critical patent/JP2011100388A/ja
Priority to US12/940,070 priority patent/US8819496B2/en
Publication of JP2011100388A publication Critical patent/JP2011100388A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3636Debugging of software by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 回路基板のトレース情報の収集処理を,チップ上の簡易な組み込み機構を使用して実現することを目的とする。
【解決手段】 トレース情報収集システム1では,トレース情報収集装置10のカウンタ部15がプログラムの実行開始時からインクリメントするカウンタ値を生成し,タイマ部13が所定の期間毎に割り込み信号を発生する。トレース用インタフェース11は,割り込み信号を受信すると,カウンタ値を取得し,対応するコンポーネントから取得したトレース情報にカウンタ値を付加する。カウンタ値付きトレース情報は,データ収集部17とポート部19を介して出力される。トレース情報処理装置20のデータ取得部21は,カウンタ値付きトレース情報を取得し,データソート部21は,カウンタ値でトレース情報をソートして,トレース情報記憶部23に格納する。
【選択図】 図1

Description

本発明は,LSIチップを構成するCPU,ハードマクロ(チップ上にマスク固定のハードウェアとして組み込まれている回路ブロック),バス等のコンポーネントの各トレース情報収集技術に関する。
トレースとは,対象となるチップ上のCPU,ハードマクロ,バス等の動作の記録情報であって外部に読み出し可能なトレース情報を収集する技術である。一般的に,トレース情報は,チップ上のコンポーネントの内部状態を忠実に表現するものであるため,デバッグ,問題解析,各種評価等を行うために広く利用されている。
トレースを用いる処理手法として,非浸襲型の,エンベデッドトレースによるデバッグ手法が知られている。
このエンベデッドトレースによるデバッグ手法では,高速で動作する対象コンポーネントから,それぞれの動作情報をサイクル単位で収集し,バックプレーンの専用ルートを使用して外部へ転送する。その後,外部転送されたトレース情報を,開発用ワークステーション,パソコン等で専用ビューワを利用して解析する。
エンベデッドトレースでは,ハードウェアアシスト,すなわち実施構成の一部にハードウェアの利用が伴う。エンベデッドトレースは,対象を停止させないため,最も信頼できる情報が得られるが,一方で,予め定義された記録情報を大量に外部に転送する必要がある。
浸襲型のデバッグ手法としては,JTAG(Joint Test Action Group)手法が知られている。JTAG手法では,チップ上に構成したブレークポイントやウォッチポイントといった組み込み機能を利用して,CPUやハードマクロを停止させた後に,レジスタやメモリの参照や変更およびステップ実行などを行いながらデバッグする。対象の動作に手を加え,かつ動作を停止させるため,実際とは異なる動きによる情報が得られてしまう可能性があり,また,ピンポイントでの情報しか得られず,トレースの網羅性に欠ける。しかし,一方で,実装に伴う負担が軽く,多くの場合に細い伝送路で十分に対応できる。
また,別のトレース手法として,タイマースケール値と共通バスのトレース情報とを対応させて記憶しておき,トレース情報の発生時間を特定して,複数のコアに対応するトレースの順番を捕捉するマルチプロセッサシステムのバストレース装置によるものが知られている。
特開平3−127253号公報
従来,エンベデッドトレースでは,サイクル単位で,予め定義された大量の情報を外部に転送するため,チップ上に,コンポーネントから読み出したトレース情報の外部転送用の機構,さらに,読み出したデータの流量に対応する大容量の中間バッファ,高スループットのインタフェースなどが必要であった。また,チップ外部でも,転送されてくるトレース情報の受信に対応するインタフェース,大容量バッファが同様に必要であった。そのため,全体としては,かなりの規模の物理的容量に対応する必要が生じるという問題があった。
そのため,トレース情報の推定される流量から,エンベデッドトレースの対象が限定されてしまうという問題があった。例えば,トレース対象がプロセッサである場合に,トレース情報は,一般的に,プロセッサの実行履歴であり,命令単位のものとなり,プロセッサが複雑かつ高速である場合は,トレース機構も大規模なものが必要となる。また,対象がハードマクロである場合には,対象のハードマクロの構成によっては,1回のトレースにおけるトレース情報のデータ量が格段に多くなる場合がある。ハードマクロにステートマシンが複数個存在する場合に,各状態データ×ステートマシン数のデータを取り扱う必要があり,より大規模の物理的容量に対応する構成を準備しておかなければならなかった。
以上のように,従来,エンベデッドトレースの機構を組み込むことが可能な対象は,試作チップ,エミュレータ等の比較的小規模のものに限定されていた。また,チップの構成上の制約によって,エンベデッドトレースの機構の組み込みがかなり困難になる場合もあった。
エンベデッドトレースの特長に鑑みれば,チップの最終的形態,すなわち実際の製品形態でエンベデッドトレースの組み込み機構を実施して,トレース情報収集を可能にすることが望まれる。
しかし,構成の高集積化による物理的制約,コンポーネント毎のデータ処理量の増大等により,チップ上にエンベデッドトレースの組み込み機構を適用することが,ますます困難になっている。
本発明は,その一実施態様において,トレース対象のチップ上に大掛かりな組み込み機構を用いることなくトレース情報を外部転送できるトレース情報収集装置,および,対象のチップから出力されるトレース情報を,問題解析や各種評価に使用可能な情報に処理するトレース情報処理装置を提供することを目的とする。
また,本発明は,別の実施態様において,問題解析や各種評価に使用可能なトレース情報を収集するために,トレース対象のチップ上に大掛かりな組み込み機構を用いることなくトレース情報を外部転送できるトレース情報収集装置,および,対象のチップから出力されるトレース情報を処理するトレース情報処理装置が実行する収集方法を提供することを目的とする。
本願において開示されるトレース情報収集装置およびトレース情報処理装置の代表的なものの概要を簡単に説明すれば,以下のとおりである。
すなわち,トレース情報収集装置は,プログラムを実行する回路が出力するトレース情報を収集する装置であって,プログラムを実行する回路と,前記プログラムの実行サイクル毎にカウンタ値をインクリメントするカウンタ部と,前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力する収集部とを備える。
また,トレース情報処理装置は,プログラムを実行する回路が出力するトレース情報を処理する装置であって,回路でプログラムが実行され,前記プログラムの実行サイクル毎に前記カウンタ値をインクリメントし,前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力するするトレース情報収集装置から,前記トレース情報と前記カウンタ値とを取得するトレース情報取得部と,取得したトレース情報を前記カウンタ値に基づいてソートするソート処理部と,ソートされたトレース情報を記憶するトレース情報記憶部とを備える。
また,本願において開示されるトレース情報収集方法は,回路基板を構成する回路ブロックのトレース情報を取得するために,該回路基板上に設けられたトレース情報収集装置および該トレース情報収集装置と接続するトレース情報処理装置が実行する方法であって,前記トレース情報収集装置が,前記プログラムの実行サイクル毎にカウンタ値をインクリメントする処理ステップと,前記トレース情報収集装置が,前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力する処理ステップと,前記トレース情報処理装置が,前記トレース情報と前記カウンタ値とを取得する処理ステップと,前記トレース情報収集装置が,取得したトレース情報を前記カウンタ値に基づいてソートする処理ステップとを備える。
上記開示したトレース情報収集装置によれば,回路基板上の回路ブロックから,サイクル単位ではなく所定のサンプリング周期でトレース情報を収集することができる。
また,上記開示したトレース情報処理装置によれば,プログラムの実行開始時から時間経過順に並ぶトレース情報を取得することができる。
これにより,実際のサンプリング周期に比べて短い間隔でサンプリングした状態と同等のトレース情報の一群を取得することができる。
よって,従来,外部転送するべき情報の流量に対応するために大掛かりな機構が必要であったエンベデッドトレースの機構を大幅に簡略化しつつ,従来と同等のトレース情報を取得することが可能となる。特に,従来では実際には不可能であった,複雑な高速プロセスやハードマクロのトレース情報の収集が可能となる。
例えば,最終形態のチップに,エンベデッドトレースの機構として,上記の開示されたトレース情報収集装置を組み込むことによって,製品チップのトレース情報を直接収集することが可能となる。
本発明の一実施の形態として開示するトレース情報収集システムの構成例を示す図である。 本発明の一実施の形態として開示するトレース情報収集システムにおける処理の流れを示す図である。 本発明の一実施の形態として開示するトレース情報収集システムにおけるトレース情報の流れを模式的に示す図である。 開示するトレース情報収集システムの一実施例として,トレース情報収集装置がトレース情報をハードウェアにより収集する場合の構成例を示す図である。 開示するトレース情報収集システムの一実施例として,トレース情報収集装置10がトレース情報をCPU処理により収集する場合の構成例を示す図である。 一実施例におけるタイマ部のロジック構成例を示す図である。 一実施例におけるカウンタ部のロジック構成例を示す図である。 一実施例におけるトレース用インタフェース部のロジック構成例を示す図である。 一実施例におけるトレース情報記憶部の内部構成例を示す図である。 一実施例におけるトレース対象がCPUである場合のトレース情報取得の処理フローを示す図である。 一実施例におけるトレース対象がハードマクロである場合のトレース情報取得の処理フローを示す図である。 図8に示す構成のトレース用インタフェース部の処理フローを示す図である。 一実施例におけるトレース情報収集システムでトレース情報収集をする場合に,対象ハードウェアで実行されるプログラム例を示す図である。 図13に示すプログラムの実行時に収集されたトレースデータの例を示す図である。 本発明者が検討したエンベデッドトレースの機構を実装した回路基板の構成例を示す図である。 図15に示すエンベデッドトレースの機構の処理フロー例を示す図である。 本発明者が検討したエンベデッドトレースの機構におけるチップから外部転送されたトレース情報の格納例を示す図である。 本発明者が検討したエンベデッドトレースの機構におけるトレース対象の回路ブロックからサイクル毎に収集されるトレース情報の流れを模式的に示す図である。
まず,本発明の発明者が検討したエンベデッドトレースの機構の一例を説明する。
図15は,エンベデッドトレースの機構を実装した回路基板の構成例を示す図である。
チップ(SoC)90は,エンベデッドトレースの機構を実装したSoC(System on a Chip)の回路基板である。チップ90上のトレース情報の収集対象となるコンポーネントを対象ハードウェア900とする。ここで,対象ハードウェア900は回路基板を構成する回路ブロックであり,CPU901,ハードマクロ902,バス903,メモリ904等の内部コンポーネントを有する。ハードマクロ902は,マスク固定のハードウェアとして組み込まれる回路の部分である。
対象ハードウェア900内には,CPU901,ハードマクロ902,バス903の各々に対応してトレース用インタフェース部911,912,913が備えられる。さらに,チップ90上の対象ハードウェア900の外部に,データ収集部920およびポート部950が備えられる。さらに,チップ90は,外部構成のデバッグ装置970が備えられる。
トレース用インタフェース部911,912,913は,対応するチップ90のCPU901,ハードマクロ902,バス903から,チップ90のサイクル単位でトレース情報を取得してレジスタに保持する。ここで,サイクル単位は,チップ90の処理実行の周期の単位であり,チップ90のクロックに同期してトレース情報が取得される。
データ収集部920は,セレクタ921,923およびバッファ925を備えて,セレクタ912,913を介してトレース用インタフェース部911,912,913からトレース情報を収集してバッファ925に保持する。
ポート部950は,トレース用ポート951およびデバッグ用ポート953を備えて,トレース用ポート951を介して,データ収集部920のバッファ925に格納されるトレース情報を,チップ90の外部に出力する。例えば,デバッグ装置970に転送する。
デバッグ装置970は,トレースデータテーブル971およびデバッグ処理部973を備えて,チップ90から出力されたトレース情報をトレースデータテーブル971で保持し,デバッグ処理部973によって所定のデバッグ処理が行われる。デバッグ装置970は,例えばICE(In−Circuit Emulator,インテル社の登録商標)である。なお,デバッグ装置970は,必要に応じて,トレースデータテーブル971に格納するトレース情報を接続するコンピュータ(PC)へ出力する。
図16は,図15に示すチップ90におけるエンベデッドトレースの機構の処理フロー例を示す図である。
チップ90のトレース対象ブロックとして,対象ハードウェア900が設定される(ステップS90)。対象ハードウェア900でアプリケーションプログラムの動作が開始されると(ステップS91),対象ハードウェア900の内部コンポーネント各々について,以下の処理が行われる。
対象ハードウェア900の各トレース用インタフェース部911,912,913が対応する内部コンポーネントからサイクル毎にトレース情報(トレースデータ)を読み出すと,データ収集部920が,各トレース用インタフェース部911,912,913からトレースデータを収集してバッファ925に一時的に保持する(ステップS92)。その後,ポート部950は,トレース用ポート951から,トレースデータを順次外部のデバッグ装置970へ転送する(ステップS93)。アプリケーションプログラムの実行が継続されている間は(ステップS94),ステップS92の処理へ戻り,トレースデータの収集が繰り返される。
図17は,チップ90から外部転送されたトレース情報の格納例を示す図である。
図17に示すように,デバッグ装置970のトレースデータテーブル971には,転送順にトレースデータが順次追加される。
対象ハードウェア900のアプリケーションの動作が継続している間,ステップS92〜S94の処理が繰り返される(ステップS95)。
ここで,図15に示すチップ90が例えば32ビットアーキテクチャである場合に,対象ハードウェア900のCPU901の命令実行およびデータ転送を示すトレース情報のデータ量は,約32〜128byte/サイクルとなる。同様に,ハードマクロ902のデータ処理および状態遷移を示すトレース情報のデータ量は,約32〜1024byte/サイクル,バス903のデータ転送,転送タイプ等を示すトレース情報のデータ量は,約16〜256byte/サイクルとなる。
したがって,トレース対象の回路ブロックからサイクル毎に収集されるトレース情報の流れを模式的に示す図18に示すように,トレース対象の回路ブロックの内部コンポーネントから,サイクル毎にトレース情報を収集する場合には,各トレース用インタフェース部911,912,913からデータ収集部920へのデータ路のバンド幅を大きくする必要がある。
さらに,チップ90の物理的制約から,ポート部950のトレース用ポート951のピン数が制限される場合には,トレース用ポート951の規模に対応してデータ収集部920のバッファ925を大きくする必要がある。
しかし,チップ90にトレース情報専用の大規模データ路やバッファを設けることは困難な場合がある。特に,チップ90のポートに制約がある場合には,そもそも,サイクル単位の大量のトレース情報を外部出力させることが困難である。
そのため,エンベデッドトレースの機構が組み込み可能なチップは,比較的小規模のチップに限られていて,高度に集積化したチップ,例えば量産チップに実装することは不可能である。
特に,ハードマクロ902のように,サイクル毎のトレース情報が1000byte超であると見積もられるようなコンポーネントについては,最大のデータ流量を見込んだバンド幅やバッファサイズが必要となるため,トレース対象とすることは実際には不可能である。
以上の考察に基づき,本願の発明者は,回路基板の構成上の負荷とならない規模の組み込み機構を使用して,データ流量を抑止しつつ,後の解析等で使用可能なトレース情報を収集できる機構を発明した。
図1は,本発明の一実施の形態として開示するトレース情報収集システム1の構成例を示す図である。
トレース情報収集システム1は,回路基板(チップ)100上に搭載されるトレース情報収集装置10,およびチップ100の外部に設けられるトレース情報処理装置20を備える。
チップ100は,SoC(System on a Chip)チップである。
チップ(SoC)100の回路ブロックであって,トレース情報の収集対象となる回路ブロックを対象ハードウェア100bとする。ここで,対象ハードウェア100bは,CPU110,ハードマクロ120,バス130,メモリ140等のコンポーネントを有する。
トレース情報収集装置10は,トレース用インタフェース部(トレースI/F)11,タイマ部13,カウンタ部15,データ収集部17,およびポート部19を備える。トレース用インタフェース部11,タイマ部13およびカウンタ部15は,対象ハードウェア100b内に設けられる。
トレース用インタフェース部11(11a,11b,11c)は,プログラム実行中の回路ブロックからトレース情報を取得して,タイマ部13の割り込み信号を受信すると,取得したトレース情報にカウンタ部15が生成したカウンタ値を付加して出力する。
より具体的には,トレース用インタフェース部11は,プログラムを実行している対象ハードウェア100bの内部コンポーネント(CPU110,ハードマクロ120,バス130)の対応するものから,チップ100のサイクル毎にトレース情報を読み出し,読み出したトレース情報を内部のレジスタに書き込む。そして,トレース用インタフェース部11は,タイマ部13が生成した割り込み信号を受信すると,カウンタ部15が生成したカウンタ値を取得して,レジスタに保持していたトレース情報に,取得したカウンタ値を付加して出力する。
本実施の形態では,トレース用インタフェース部11a,11b,11cが,それぞれ,CPU110,ハードマクロ120,バス130に対応してトレース情報を読み出す。
タイマ部13は,チップ100のサイクルに基づく所定の期間毎に,割り込み信号を出力する。
タイマ部13は,乱数を生成する乱数生成部を備えてもよい。この場合に,タイマ部13は,前記の乱数生成部が生成した乱数に基づいて,所定の期間を延長または短縮した時点で,割り込み信号を生成・出力するようにしてもよい。
カウンタ部15は,対象ハードウェア100bのプログラムの実行開始時毎に値を初期化して,サイクル毎に値をインクリメントするカウンタ値を生成する。すなわち,カウンタ部15は,対象ハードウェア100bがプログラムを実行する場合に,そのプログラムが呼び出されて開始される直前にカウンタ値を初期化し,その後にカウンタ値をインクリメントする。
データ収集部17は,対象ハードウェア100bの各内部コンポーネントに対応するトレース用インタフェース部11a,11b,11cから,カウンタ値が付加されたトレース情報を取得して,ポート部19へ渡す。
ポート部19は,データ収集部17から,カウンタ値付きのトレース情報を受け取り,所定のトレース用ポート191を用いて外部出力する。カウンタ値付きのトレース情報は,チップ100の外部へ,例えば,デバッグ装置(ICE)150へ転送され,デバッグ装置150を介してトレース情報処理装置20が受信する。
なお,ポート部19はデバッグ用の情報を出力するデバッグ用ポートを備えていてもよい。
トレース情報処理装置20は,データ取得部21,データソート部22およびトレース情報記憶部23を備える。トレース情報処理装置20は,コンピュータ(PC)で実施される。
データ取得部21は,トレース情報収集装置10から転送された,カウンタ値付きのトレース情報を受信する。
データソート部22は,データ取得部21が取得したカウンタ値付きのトレース情報を,カウンタ値でソートして,トレース情報記憶部23へ格納する。
トレース情報記憶部23は,データソート部22でソートされた拡張トレース情報を記憶する。
トレース情報収集システム1のトレース情報収集装置10がトレース情報に付加するカウンタ値は,プログラムの実行開始時に初期化されてインクリメントされる値であり,トレース対象の回路ブロックで同一のプログラムが複数回実行されている期間中に収集したトレース情報には,共通のカウンタ値が付加されることになる。そして,トレース情報処理システム1のトレース情報処理装置20がカウンタ値でトレース情報をソートすることによって,複数回の実行中に収集されたトレース情報が,1つの時間軸上でソートされる。
図2は,トレース情報収集システム1における処理の流れを示す図である。
ここで,対象ハードウェア100bのハードマクロ120のトレース情報収集を例に説明する。
トレース情報収集装置10の処理は,対象ハードウェア100bが実行するアプリケーションプログラムを呼び出す親(上位)レイヤのプログラム実行において開始される。
ステップS1: カウンタ部15は,親レイヤのプログラムの実行によって,カウンタ値を初期化する。続いて,アプリケーションプログラムが呼び出されて実行開始となる。カウンタ部15は,初期化したカウンタ値をサイクル毎にインクリメント(+1)する。
ステップS2: 対象ハードウェア100bで,アプリケーションプログラムが実行される。
ステップS3: タイマ部13が,1〜10ミリ秒(ms)の間隔で割り込み信号を発生する。この割り込み信号に基づいて,周期的割り込み処理(S3〜S6)が開始され,ステップS6までの処理が繰り返される。
ステップS4: トレース用インタフェース部11bは,サイクル毎にハードマクロ120からトレースデータを取得して内部のレジスタに保持する。そして,トレース用インタフェース部11bは,割り込み信号を受信すると,レジスタのロック設定を行い,レジスタに保持したトレースデータを読み出し,カウンタ部15が生成したカウンタ値を取得して,読み出したトレースデータにカウンタ値を付加して出力する。
ステップS5: データ収集部17は,トレース用インタフェース部11bからカウンタ値付きのトレースデータを取得して,ポート部19を介して外部に出力する。
ステップS6: 割り込み処理から復帰する。
ステップS7: 対象ハードウェア100bがアプリケーションプログラムの実行を継続している場合には(ステップS7のY),ステップS1の処理へ戻り,アプリケーションプログラムの実行を継続していない場合には(ステップS7のN),処理を終了する。
ステップS8: トレース情報処理装置20のデータ取得部21は,ステップS5の処理において外部出力されたカウンタ値付きのトレースデータを受信する。
ステップS9: データソート部22は,受信したカウンタ値付きのトレースデータを,カウンタ値でソートして,トレース情報記憶部23に格納する。
図3は,トレース情報収集システム1におけるトレース情報の流れを模式的に示す図である。
トレース情報収集システム1では,トレース情報収集装置10のトレース用インタフェース部11a,11b,11cが,割り込み信号に従ってトレースデータを取得する。すなわち,CPU110,ハードマクロ120,バス130のトレースデータは,対象ハードウェア100bの動作サイクル単位ではなく,所定のサンプリング周期で収集されるため,トレース情報収集での全体のデータ流量が少なくなる。そのため,データ路,中間バッファ,ポート等の規模を従来よりも小さくすることができる。また,割り込み信号発生の期間を変化させて,組み込み可能な構成規模に対応させたデータ流量でのトレース情報収集が可能となる。
さらに,収集されるトレースデータは,アプリケーションプログラムの実行開始から増加する値をとるカウンタ値が付加されているため,同一のアプリケーションプログラムの実行中に収集されたトレースデータは,同一時間軸上で並び替えられてまとめることができる。そのため,実際のサンプリング周期より短い間隔で取得されたトレースデータ群の収集が実現できる。
したがって,タイマ部13の周期の設定変更によって,実際のサンプリング周期を変更するだけでなく,アプリケーションプログラムの実行回数の増減によって,目的,用途等に応じた密度でトレース情報を収集することができる。
図4は,開示するトレース情報収集システム1の一実施例として,トレース情報収集装置10がトレース情報をハードウェアにより収集する場合の構成例を示す図である。
図4に示すトレース情報収集システム1の構成例で用いる各符号は,図1に示す同一の符号に対応する。
図4に示す構成例では,トレース情報収集装置10のトレース用インタフェース部11a,11b,11cとデータ収集部17との間にトレース情報専用のデータ路が設けられる。データ収集部17は,セレクタ171,173を備える。データ収集部17は,データ路を経て,トレース情報の取得先となるトレース用インタフェース部11a,11b,11cを選択して,カウンタ値付きのトレース情報を収集する。トレース用インタフェース部11a,11b,11cは,それぞれ,タイマ部13が生成した割り込み信号とカウンタ部15が生成したカウンタ値とを受信して,割り込み信号受信時に,カウンタ値を付加したトレース情報を出力する。
図5は,開示するトレース情報収集システム1の一実施例として,トレース情報収集装置10がトレース情報をCPU処理により収集する場合の構成例を示す図である。
図5に示すトレース情報収集システム1の構成例で用いる各符号は,図1に示す同一の符号に対応する。
図5に示す構成例では,トレース情報収集装置10のトレース用インタフェース部11a,11b,11cで読み出されたトレース情報は,CPU110のトレース情報収集処理においてデータ収集部17へ出力される。
CPU110は,タイマ部13が生成した割り込み信号を受信して,トレース情報収集処理を行う。トレース情報収集処理では,トレース用インタフェース部11a,11b,11cが,それぞれ,カウンタ部15から得たカウンタ値と,対応する内部コンポーネントから取得したトレース情報とを出力し,データ収集部17が,このカウンタ値付きトレース情報を収集する。
図4または図5に示す構成をとるトレース情報収集システム1によれば,従来のトレース情報収集のようにサイクル単位でのトレース情報転送がないため,データ路のバンド幅が小さくてすみ,データ収集部17での大規模バッファが不要となる。さらに,トレース情報の外部転送先であるデバッグ装置150でも,1回に受信するデータ量が少なくなり,大規模バッファが不要となる。さらに図5に示す構成例によれば,トレース情報専用のデータ路も不要となる。
図1(図4および図5)に示すトレース情報収集装置10のタイマ部13は,既知の周期的な割り込み信号発生機構で実施する。また,タイマ部13は,既知の乱数発生機能を備えてもよい。
図6は,一実施例におけるタイマ部13のロジック構成例を示す図である。
タイマ部13には,タイマリセット信号(reset_timer),クロック信号(clock),中断信号(suspend)信号が入力される。
タイマ部13は,タイマ値を,例えば,関数reset_timer()で生成されるタイマリセット信号(reset_timer)によって,10ミリ秒(ms)もしくは乱数を加算した値にリセットし,それ以外では,チップ100のサイクル毎,すなわちクロック信号(clock)の入力で常にデクリメント(−1)し続けて,タイマ値=0で割り込み信号を発生する。
中断信号(suspend)は,対象ブロックがプログラム実行を中断している場合に“1”となる信号であり,中断しない場合は常時“0”である。中断信号は,例えば,CPU110,ハードマクロ120等によって出力される。
タイマ部13は,中断信号=1で,タイマ値のデクリメントを中断する。
タイマ部13で生成される乱数は,0.1ms以下の値をとり,乱数を使用しない場合には乱数=0にセットされる。
図7は,一実施例におけるカウンタ部15のロジック構成例を示す図である。
カウンタ部15には,カウンタリセット信号(reset_counter),クロック信号(clock),中断信号(suspend)信号が入力される。
カウンタ部15は,カウンタ値を,例えば関数reset_counter()で生成されるカウンタリセット信号(reset_counter)によって“0”にリセットし,それ以外では,クロック信号(clock)の入力で常にインクリメント(+1)し続ける。カウンタ部15は,中断信号=1で,カウンタ値のインクリメントを中断する。
図8は,一実施例におけるトレース用インタフェース部11のロジック構成例を示す図である。
トレース用インタフェース部11には,トレース情報,有効信号(valid),カウンタリセット値,中断信号(suspend)信号が入力される。
トレース用インタフェース部11は,割り込み処理中にレジスタの内容の上書きを禁止するためにレジスタロック機構(I/F Lock)を備える。
トレース用インタフェース部11は,対象ハードウェア100bの所定の内部コンポーネントから,トレースデータと有効信号とを受け取り,有効信号が“有効(オン)”であれば,受け取ったトレースデータをレジスタに格納する。
トレース用インタフェース部11は,レジスタロック機構によって,ロック信号(Lock)が“1”であればロック設定を行い,“0”でロック解除を行う。ロックが解除されている間のみレジスタが書き込み可能となる。トレース用インタフェース部11は,レジスタからトレースデータとカウンタ値の組(拡張トレースデータ)が読み出されると,読み出しと同時にレジスタをリセットとする。
トレース用インタフェース部11は,複数のトレースデータ,すなわち,複数のサイクル分のトレースデータをレジスタに格納しておくことができる。この場合には,トレース用インタフェース部11は,過去の複数サイクル分のトレースデータを一度に出力する。
図9は,一実施例におけるトレース処理装置20のトレース情報記憶部23の内部構成例を示す図である。
トレース情報記憶部23には,トレースデータに付加されているカウンタ値をもとに,0から最大値(MAX)までの昇順にソート(アセンディングソート)されたトレースデータが格納される。
図10は,トレース対象がCPU110である場合のトレース情報取得の処理フローを示す図である。
CPU110は,命令をメモリからフェッチし(ステップS100),フェッチした命令を解読し(ステップS101),命令を実行し(ステップS102),実行の完了または割込を行う(ステップS103)という通常の実行ループ中において,命令実行(ステップS102)と並行して,命令に応じたトレースデータ生成を行う(ステップS104)。
CPU110は,命令が分岐であれば(ステップS105),プログラムカウンタ(PC),命令タイプ(Type)=分岐,分岐先アドレス等を含むトレースデータを生成する(ステップS106)。また,CPU110は,命令がLD命令であれば(ステップS107),プログラムカウンタ(PC),命令タイプ(Type)=LD,LDデータ(レジスタ転送されたデータ),LDアドレス等を含むトレースデータを生成する(ステップS108)。また,CPU110は,命令がST命令であれば(ステップS109),プログラムカウンタ(PC),命令タイプ(Type)=ST,STデータ(メモリ転送されたデータ),STアドレス等を含むトレースデータを生成する(ステップS110)。また,CPU110は,命令が演算命令であれば(ステップS111),プログラムカウンタ(PC),命令タイプ(Type)=演算,入力データ,演算結果等を含むトレースデータを生成する(ステップS112)。
そして,トレース用インタフェース部11aは,ステップS106,S108,S110,S112の処理で生成されたトレースデータを,内部のレジスタに格納する(ステップS113)。
図11は,トレース対象がハードマクロ120である場合のトレース情報取得の処理フローを示す図である。
ハードマクロ120は,選択された実行ステートに遷移し(ステップS200),処理を選択し(ステップS201),処理を実行し(ステップS202),次の実行ステートを選択する(ステップS203)という通常の実行ステートマシンの実行中において,処理実行(ステップS202)と並行して,処理内容に応じたトレースデータ生成を行う(ステップS204)。
ハードマクロ120は,処理が演算Blk1であれば(ステップS205),ステート情報,処理タイプ(Type)=演算,データ等を含むトレースデータを生成する(ステップS206)。また,ハードマクロ120は,処理が演算Blk2であれば(ステップS207),ステート情報,処理タイプ(Type)=演算,データ等を含むトレースデータを生成し(ステップS208),処理が演算Blk3であれば(ステップS209),ステート情報,処理タイプ(Type)=演算,データ等を含むトレースデータを生成する(ステップS210)。また,ハードマクロ120は,処理がデータ入出力であれば(ステップS211),ステート情報,処理タイプ(Type)=入出力,データ等を含むトレースデータを生成する(ステップS212)。
そして,トレース用インタフェース部11bは,ステップS206,S208,S210,S212の処理で生成されたトレースデータを,内部のレジスタに格納する(ステップS213)。
図12は,図8に示す構成のトレース用インタフェース部11の処理フローを示す図である。
トレース用インタフェース部11は,対象ハードウェア100bが実行するアプリケーションプログラムを呼び出す親(上位)レイヤのプログラムの実行において開始される。親レイヤのプログラムは,例えば,図12に破線の矩形で示すプログラムである。
カウンタ部15は,カウンタ値を初期化し,アプリケーションプログラムが呼び出されて実行が開始され,対象ハードウェア100bでアプリケーションが実行される(ステップS30)。
タイマ部13が,1〜10ミリ秒(ms)の間隔で割り込み信号を発生させる(ステップS31)。そして,ステップS32の処理で発生された割り込み信号に基づいて,ステップS32からS36までの処理が周期的に繰り返される。
トレース用インタフェース部11は,ロック設定を行い(ステップS32),レジスタに格納されているトレースデータを読み出し(ステップS33),カウンタ部15が生成したカウンタ値を付加したトレースデータを対象ハードウェア100bの外部のデータ収集部17へ転送する(ステップS34)。そして,トレース用インタフェース部11は,ロック解除を行い(ステップS35),割り込み処理から復帰する(ステップS36)。
トレース対象の回路ブロックでアプリケーションプログラムの実行が継続していれば(ステップS37),ステップS30の処理へ戻り,ステップS30以降の処理が繰り返される。
図13は,トレース情報収集システム1のトレース情報収集の際に,対象ハードウェア100bで実行されるプログラム例を示す図である。
図13(A)に示す親プログラムint main()が含む関数counter_rest()により,カウンタ部15のカウンタ値がリセットされる。
図13(B)に示す,親プログラムint main()で呼び出されるプログラム(BODY ())において,いくつかの関数FNが,“FN_A(),FN_A(),FN_D()”,“FN_A(),FN_B()”,“FN_B(),FN_C()”,“FN_C()”,“FN_D()”という順で実行されるとする。
図14は,図13に示すプログラムの実行時に収集されたトレース情報の例を示す図である。図14中,トレースデータは丸印で示される。
図14の左部は,図13に示すプログラム実行時に,実行された関数によるプロセスを示す部分である。図14の左部は,同一のプログラムが2回以上実行されている間にトレースデータが収集された状態を示す。
図14の中央部は,図14の左部に示すプログラムのトレース情報をアドレス(関数名)でソートした場合のトレースデータの並びを示す部分である。図14の右部は,図14の左部に示すプログラムのトレース情報を,付加されたカウンタ値でソートした場合のトレースデータの並びを示す部分である。
図14の左部に示す状態で収集されたトレースデータをアドレスでソートすると,図14の中央部に示すように,トレースデータが同一アドレスのプロセスでまとめられて,1つのプログラム実行におけるトレース情報として並び替えられる。
また,図14の左部に示す状態で収集されたトレースデータをカウンタ値でソートすると,図14の右部に示すように,トレースデータが同一のカウンタ値でまとめられて,1つのプログラム実行におけるトレース情報として並び替えられる。
ここで,カウンタ値は,サイクル毎に値がインクリメントされるため,同一のカウンタ値が付加されるトレースデータは,同一アドレスのものに比べて少ないと予想できる。
図14の中央部に示すように,トレース情報収集装置10が,10msの周期でトレース情報収集を行う場合に,アドレスによるトレースデータのソート処理では,プログラム実行中のある期間のトレースデータが収集できていない状態が生じる可能性がある。
これに対し,カウンタ値によるソート処理では,ソートされたトレースデータが,実際のサンプリング周期の間を埋めるような状態で並び,より密なトレース情報を取得することが可能となる。
特に,トレース用インタフェース部11が,複数のサイクル分のトレースデータを保持する場合には,トレース情報処理装置20でのトレースデータのソート処理により,サンプリング周期毎に複数サイクル分のトレースデータが収集できるため,さらに密な間隔で収集した場合と同等のトレース情報を収集することが可能となる。
上記説明した実施の形態のほか,開示されたトレース情報収集システム1は,他の構成により実施することが可能である。
既に説明したように,トレース情報処理装置20を実施するコンピュータ(PC)は,主制御部(CPU),主記憶,ファイル装置,表示装置,キーボード等の入力手段である入力装置などのハードウェアで構成される。
この場合に,トレース情報処理装置20のデータ取得部21およびデータソート部22は,コンピュータが実行するプログラムとして実施することができる。
データ取得部21およびデータソート部22の処理内容を記述したプログラムが提供され,そのプログラムがコンピュータで実行されることにより,これらの処理部がコンピュータのトレース情報記憶部23と協働して,上記説明したトレース情報処理装置20の処理機能が実現される。
プログラムを実行するコンピュータは,例えば,可搬型の記録媒体に記録されたプログラムもしくは他のコンピュータからLAN等のネットワークを介して転送されたプログラムを自己の記憶装置に格納して,自己の記憶装置からプログラムを読み取り,プログラムに従った処理を実行する。
なお,コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータは,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。
以上の本実施例に示されるように,開示したトレース情報収集システムにより,次のような効果が得られる。
(1)従来,大規模な機構が必要であったエンベデッドトレースによるトレース情報の抽出手段を大幅に簡略化できる。特に,従来は実際にはかなり困難であった,ハードマクロのトレース情報収集にも対応することできる。
(2)トレース情報抽出のための実装の簡略化により,いわゆる量販チップにもトレース情報抽出機構を組み入れることが可能となる。よって,最終製品形態のチップから生の実行履歴情報を抽出することができる。
(3)従来,適用が限られていたエンベデッドトレースによるトレース情報抽出手段の組み入れ対象を大幅に拡大することが可能となる。
以上の説明したとおり,主として本願発明者によってなされた発明を,その背景となった技術分野であるトレース情報収集に適用した場合について説明したが,本発明は,これに限定されるものではなく,その記述の主旨の範囲において種々の変形が可能であることは当然である。
1 トレース情報収集システム
10 トレース情報収集装置
11a,11b,11c トレース用インタフェース部
13 タイマ部
15 カウンタ部
17 データ収集部
171,173 セレクタ
19 ポート部
191 トレース用ポート
20 トレース情報処理装置
21 データ取得部
22 データソート部
23 トレース情報記憶部
100 回路基板(チップ)
100b 対象ハードウェア
110 CPU
120 ハードマクロ
130 バス
140 メモリ
150 デバッグ装置

Claims (8)

  1. プログラムを実行する回路が出力するトレース情報を収集するトレース情報収集装置であって,
    プログラムを実行する回路と,
    前記プログラムの実行サイクル毎にカウンタ値をインクリメントするカウンタ部と,
    前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力する収集部と
    を備えることを特徴とするトレース情報収集装置。
  2. 所定の周期で割り込み信号を出力するタイム部と,
    前記収集部が出力したトレース情報とカウンタ値とを,所定ポートから前記トレース情報装置の外部へ出力するポート部と,を更に備え,
    前記カウンタ部は,前記プログラムの実行開始時に前記カウンタ値を初期化して,前記プログラムの実行サイクル毎に前記カウンタ値をインクリメントし,
    前記収集部は,出力された割り込み信号を受信すると,前記回路が出力したトレース情報と前記カウンタ値とを前記ポート部に出力する,
    ことを特徴とする請求項1記載のトレース情報収集装置。
  3. 前記回路は,プロセッサまたはハードマクロである,
    ことを特徴とする請求項1または請求項2に記載のトレース情報収集装置。
  4. 前記収集部は,前記回路から,複数のサイクルに対応するトレース情報を時間順に保持して,前記割り込み信号を受信した場合に,前記保持しているトレース情報と前記カウンタ値とを出力する,
    ことを特徴とする請求項1から請求項3の何れか一項に記載のトレース情報収集装置。
  5. 乱数を生成する乱数生成部を備えて,
    前記タイマ部は,生成された乱数に基づいて前記周期を延長または短縮した時に,前記割り込み信号を出力する,
    ことを特徴とする請求項1から請求項4の何れか一項に記載のトレース情報収集装置。
  6. 前記プログラムは,連続して複数回実行される
    ことを特徴とする請求項1から請求項5のいずれか一項に記載のトレース情報収集装置。
  7. プログラムを実行する回路が出力するトレース情報を処理するトレース情報処理装置であって,
    回路でプログラムが実行され,前記プログラムの実行サイクル毎に前記カウンタ値をインクリメントし,前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力するするトレース情報収集装置から,前記トレース情報と前記カウンタ値とを取得するトレース情報取得部と,
    取得したトレース情報を前記カウンタ値に基づいてソートするソート処理部と,
    ソートされたトレース情報を記憶するトレース情報記憶部と,
    を備えることを特徴とするトレース情報処理装置。
  8. 回路基板を構成する回路ブロックのトレース情報を取得するために,該回路基板上に設けられたトレース情報収集装置および該トレース情報収集装置と接続するトレース情報処理装置が実行するトレース情報収集方法であって,
    前記トレース情報収集装置が,前記プログラムの実行サイクル毎にカウンタ値をインクリメントする処理ステップと,
    前記トレース情報収集装置が,前記回路が出力するトレース情報を取り込むタイミングにおける前記トレース情報と,該取り込みタイミングにおける前記カウンタ部のカウント値とを出力する処理ステップと,
    前記トレース情報処理装置が,前記トレース情報と前記カウンタ値とを取得する処理ステップと,
    前記トレース情報収集装置が,取得したトレース情報を前記カウンタ値に基づいてソートする処理ステップと,
    を備えることを特徴とするトレース情報収集方法。
JP2009255956A 2009-11-09 2009-11-09 トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 Pending JP2011100388A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009255956A JP2011100388A (ja) 2009-11-09 2009-11-09 トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法
US12/940,070 US8819496B2 (en) 2009-11-09 2010-11-05 Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009255956A JP2011100388A (ja) 2009-11-09 2009-11-09 トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法

Publications (1)

Publication Number Publication Date
JP2011100388A true JP2011100388A (ja) 2011-05-19

Family

ID=43975051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009255956A Pending JP2011100388A (ja) 2009-11-09 2009-11-09 トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法

Country Status (2)

Country Link
US (1) US8819496B2 (ja)
JP (1) JP2011100388A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013030860A1 (ja) * 2011-08-26 2013-03-07 株式会社日立製作所 予測型逐次計算装置
JP2024096455A (ja) * 2019-10-18 2024-07-12 ローム株式会社 トレース回路、半導体装置、トレーサ、トレースシステム、トレース方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918764B2 (en) 2011-09-21 2014-12-23 International Business Machines Corporation Selective trace facility
US8954546B2 (en) * 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US10372590B2 (en) 2013-11-22 2019-08-06 International Business Corporation Determining instruction execution history in a debugger
US9996445B2 (en) * 2014-01-17 2018-06-12 International Business Machines Corporation Computer flight recorder with active error detection
US9690727B2 (en) * 2014-10-31 2017-06-27 Atmel Corporation System internal latency measurements in realtime applications
US9568547B2 (en) 2015-03-17 2017-02-14 Intel Corporation Method, apparatus and system for dynamic bandwidth management in systems
DE102015217074A1 (de) * 2015-09-07 2017-03-09 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur dynamischen Korrektheitsanalyse von Software

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63195746A (ja) * 1987-02-09 1988-08-12 Fujitsu Ltd ログ処理方式
JPH02242440A (ja) * 1989-03-16 1990-09-26 Nec Corp 命令トレース回路
JP2000215081A (ja) * 1999-01-27 2000-08-04 Nec Corp トレ―ス情報採取機構
JP2001184235A (ja) * 1999-12-24 2001-07-06 Hitachi Ltd ログ情報取得解析装置
JP2002116929A (ja) * 2000-10-10 2002-04-19 Toshiba Corp 履歴情報管理方法及び履歴情報管理機能を備えたシステム
JP2003076578A (ja) * 2001-09-03 2003-03-14 Mitsubishi Electric Corp マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法
JP2003162426A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03127253A (ja) 1989-10-13 1991-05-30 Mitsubishi Electric Corp マルチプロセッサシステムのバストレース装置
US5485574A (en) * 1993-11-04 1996-01-16 Microsoft Corporation Operating system based performance monitoring of programs
JP3538292B2 (ja) * 1997-02-28 2004-06-14 株式会社日立製作所 実行時プログラム翻訳方法
US6425522B1 (en) * 1998-07-23 2002-07-30 Hitachi, Ltd. IC card information processing system, and apparatus and cards for the same
US6351844B1 (en) * 1998-11-05 2002-02-26 Hewlett-Packard Company Method for selecting active code traces for translation in a caching dynamic translator
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6345295B1 (en) * 1999-01-22 2002-02-05 International Business Machines Corporation Conducting traces in a computer system attachment network
US6347383B1 (en) * 1999-03-31 2002-02-12 International Business Machines Corporation Method and system for address trace compression through loop detection and reduction
WO2001020456A1 (fr) * 1999-09-10 2001-03-22 Hitachi, Ltd. Systeme de gestion et procede pour systeme d'exploitation
JP3605327B2 (ja) * 1999-11-18 2004-12-22 富士通株式会社 プログラム実行装置
US7007270B2 (en) * 2001-03-05 2006-02-28 Cadence Design Systems, Inc. Statistically based estimate of embedded software execution time
US7185234B1 (en) * 2001-04-30 2007-02-27 Mips Technologies, Inc. Trace control from hardware and software
US6742179B2 (en) * 2001-07-12 2004-05-25 International Business Machines Corporation Restructuring of executable computer code and large data sets
US7509485B2 (en) * 2002-09-04 2009-03-24 Chou Hui-Ling Method for loading a program module in an operating system
US7100151B2 (en) * 2002-11-22 2006-08-29 Texas Instruments Incorporated Recovery from corruption using event offset format in data trace
US7237151B2 (en) * 2002-12-17 2007-06-26 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor reset
US7463653B2 (en) * 2002-12-17 2008-12-09 Texas Instruments Incorporated Apparatus and method for compression of the timing trace stream
US7500152B2 (en) * 2003-12-05 2009-03-03 Freescale Semiconductor, Inc. Apparatus and method for time ordering events in a system having multiple time domains
US7543256B1 (en) * 2004-03-01 2009-06-02 Advanced Micro Devices, Inc. System and method for designing an integrated circuit device
US20060129999A1 (en) * 2004-11-16 2006-06-15 Sony Computer Entertainment Inc. Methods and apparatus for using bookmarks in a trace buffer
US20060184832A1 (en) * 2005-02-11 2006-08-17 International Business Machines Corporation Method and apparatus for achieving high cycle/trace compression depth by adding width
JP4284332B2 (ja) * 2006-04-21 2009-06-24 株式会社東芝 パフォーマンスモニタ装置、データ収集方法及びそのプログラム
US7596725B2 (en) * 2006-05-30 2009-09-29 Texas Instruments Deutschland Gmbh Efficient trace triggering
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
US7886150B2 (en) * 2007-05-11 2011-02-08 Mips Technologies, Inc. System debug and trace system and method, and applications thereof
US20090164980A1 (en) * 2007-12-21 2009-06-25 Albert Rossmann Cluster Application Trace
US7933759B2 (en) * 2008-03-28 2011-04-26 Microsoft Corporation Predicate checking for distributed systems
US7861070B2 (en) * 2008-06-12 2010-12-28 National Tsing Hua University Trace compression method for debug and trace interface wherein differences of register contents between logically adjacent registers are packed and increases of program counter addresses are categorized
US9058421B2 (en) * 2009-06-16 2015-06-16 Freescale Semiconductor, Inc. Trace correlation for profiling subroutines
US8407528B2 (en) * 2009-06-30 2013-03-26 Texas Instruments Incorporated Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems
US9529694B2 (en) * 2009-09-14 2016-12-27 Oracle International Corporation Techniques for adaptive trace logging

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63195746A (ja) * 1987-02-09 1988-08-12 Fujitsu Ltd ログ処理方式
JPH02242440A (ja) * 1989-03-16 1990-09-26 Nec Corp 命令トレース回路
JP2000215081A (ja) * 1999-01-27 2000-08-04 Nec Corp トレ―ス情報採取機構
JP2001184235A (ja) * 1999-12-24 2001-07-06 Hitachi Ltd ログ情報取得解析装置
JP2002116929A (ja) * 2000-10-10 2002-04-19 Toshiba Corp 履歴情報管理方法及び履歴情報管理機能を備えたシステム
JP2003076578A (ja) * 2001-09-03 2003-03-14 Mitsubishi Electric Corp マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法
JP2003162426A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200400398019; 河場基行: 'リバーストレーサによる性能評価用ワークロード生成' 情報処理学会研究報告 第2002巻、第22号, 20020308, pp.127-132, 社団法人情報処理学会 *
JPN6013041655; 河場基行: 'リバーストレーサによる性能評価用ワークロード生成' 情報処理学会研究報告 第2002巻、第22号, 20020308, pp.127-132, 社団法人情報処理学会 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013030860A1 (ja) * 2011-08-26 2013-03-07 株式会社日立製作所 予測型逐次計算装置
JPWO2013030860A1 (ja) * 2011-08-26 2015-03-23 株式会社日立製作所 予測型逐次計算装置
US9483306B2 (en) 2011-08-26 2016-11-01 Hitachi, Ltd. Predictive sequential calculation device
JP2024096455A (ja) * 2019-10-18 2024-07-12 ローム株式会社 トレース回路、半導体装置、トレーサ、トレースシステム、トレース方法
JP7690088B2 (ja) 2019-10-18 2025-06-09 ローム株式会社 トレース回路、半導体装置、トレーサ、トレースシステム、トレース方法

Also Published As

Publication number Publication date
US8819496B2 (en) 2014-08-26
US20110113291A1 (en) 2011-05-12

Similar Documents

Publication Publication Date Title
JP2011100388A (ja) トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法
EP0764903B1 (en) On-chip debug port
US6961872B2 (en) Microcomputer and debugging system
US8527812B2 (en) Information processing device
US8214694B1 (en) Lightweight probe and data collection within an integrated circuit
CN102541707B (zh) 复用jtag接口的fpga片内逻辑分析仪系统和方法
Leatherman et al. An embedding debugging architecture for SOCs
KR102596638B1 (ko) 회로 설계를 디버깅하기 위한 방법 및 회로
KR20130127477A (ko) 디버그 상태 기계 및 이를 포함하는 프로세서
US20180137031A1 (en) Waveform based reconstruction for emulation
Stollon On-chip instrumentation: design and debug for systems on chip
US20070011492A1 (en) Generation of trace data
US10664637B2 (en) Testbench restoration based on capture and replay
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
Lee et al. System-level observation framework for non-intrusive runtime monitoring of embedded systems
US7133821B2 (en) Read FIFO scheduling for multiple streams while maintaining coherency
CN118586333A (zh) 面向硬件仿真加速平台的功耗波形捕获装置及其应用方法
US10410713B1 (en) Content addressable memory modeling in emulation and prototyping
EP1367489A1 (en) A microprocessor development system
JP4330573B2 (ja) 消費電力評価方法、消費電力評価システム
Lee et al. A low-cost SOC debug platform based on on-chip test architectures
JP2002288005A (ja) デバッグ及び性能解析用トレースデータ採取方式
CN112198424B (zh) Fpga芯片内的测试逻辑分析单元
Stollon Multicore Debug
Lee et al. A unified test and debug platform for SOC design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140204