JP2003531436A - 非侵入式アプリケーション・コード・プロファイリングの方法および装置 - Google Patents

非侵入式アプリケーション・コード・プロファイリングの方法および装置

Info

Publication number
JP2003531436A
JP2003531436A JP2001577148A JP2001577148A JP2003531436A JP 2003531436 A JP2003531436 A JP 2003531436A JP 2001577148 A JP2001577148 A JP 2001577148A JP 2001577148 A JP2001577148 A JP 2001577148A JP 2003531436 A JP2003531436 A JP 2003531436A
Authority
JP
Japan
Prior art keywords
processor
register
clock
host computer
contents
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
Application number
JP2001577148A
Other languages
English (en)
Other versions
JP5356635B2 (ja
Inventor
リヴィン,ラッセル・エル
ベラヴァンス,ロリ・エイ
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.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
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 Analog Devices Inc filed Critical Analog Devices Inc
Publication of JP2003531436A publication Critical patent/JP2003531436A/ja
Application granted granted Critical
Publication of JP5356635B2 publication Critical patent/JP5356635B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 プロセッサがコンピュータ・プログラムに関するソフトウェア・コードを実行する際、プロセッサを監視するためのシステムおよび方法。レジスタ(16)が、プログラム・カウンタ(14)から、プロセッサによって実行された命令に関する情報を収集し、プロセッサの動作と非同期に動作可能にレジスタに接続されたサンプラ(18)が、レジスタの内容をサンプリングする。サンプラは、JTAGポートにおけるシフト・レジスタ(28)を介してそのサンプルをホスト・コンピュータ(42)に提供することができ、またホスト・コンピュータは、プロセッサによって実行された命令の統計レコードを提供することができる。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、プロセッサ上で実行されるコンピュータ・プログラム・コードの分
析の分野に関する。詳細には、本発明は、プログラムの、詳細には、アプリケー
ション・プログラムの様々な命令および部分を実行するプロセッサによって占有
される時間の非侵入式の監視およびプロファイリングに関する。
【0002】 (発明の背景) 今日、プロセッサ、詳細には、マイクロプロセッサが、多種多様な用途におい
て情報処理アプリケーションを行うのに使用されている。特に、今日、プロセッ
サが普及して中心的機能を果たしている1つの分野が、デジタル信号プロセッサ
(DSP)システムの分野である。そのようなシステムでは、音声信号またはビ
デオ信号、または医療遠隔測定入力または計測入力などの物理信号を表すデータ
がデジタル化され、様々なアルゴリズムにかけられて情報が抽出され、あるいは
新しい情報または新しい信号が生成され、あるいは情報が伝送される。そのよう
なDSPベースのシステムの動作を改良し、システムをより高速でより安価にす
ること等の市場圧力が常に存在する。より高い速度を達することにより、ハード
ウェアの改良に焦点が当てられることになるだけでなく、プロセッサ・ハードウ
ェアのより効率的な利用を達することも焦点が当てられることになる。したがっ
て、デジタル信号プロセッサ上で、または、実際、一般にプロセッサ上で実行さ
れるアプリケーション・ソフトウェア(コンピュータ・プログラム)を開発する
プロセスにおける1つのステップは、システムがソフトウェアによって動作させ
られる効率を評価して、プログラムのどの部分が最も多くの処理時間を消費し、
したがって、その部分の改良がシステムのパフォーマンスを相当に向上させる可
能性が最も高いかを判定しようと試みることである。
【0003】 プログラム・コードのプロセッサ実行に関するパフォーマンス・データを収集
するのに一般に使用される方法は、試験中のシステムに対して影響を与える。例
えば、方法は、プログラム・コードの中に様々なポイントで区切り点命令を挿入
して、プログラムの進行を区切り点ごとに測定できるようにすることを必要とす
る可能性がある。別の言い方をすれば、従来の手法は、プログラム・コンパイラ
およびプログラム・アセンブラが(ユーザによって導入された指示を介して)、
サブルーチンのすべてのエントリ・ポイントおよびエグジット・ポイントで計装
コード(区切り点命令)を追加することを必要とする。この追加の計装コードを
使用して、サブルーチンの、より一般的には、プロセスの)エントリに関するプ
ロセッサのプログラム・カウンタの現行のカウントを捕捉することができる。エ
グジット時に、計装コードは、サブルーチンの(プロセスの)動作に関する様々
な情報(例えば、サブルーチン(プロセス)が開始された回数、サブルーチンの
中で経過した合計時間、サブルーチン通過の単一の最大時間、サブルーチン通過
の単一の最小時間等)でレコードを更新する。この情報を使用して、ユーザは、
どのルーチン(プロセス)がプロセス上で最も多くの時間を消費しているかに関
して何らかの結論に達し、これにより、改良することでプログラム・パフォーマ
ンスの相当な全体的向上がもたらされる可能性が最も高いサブルーチンを特定す
ることができる。もちろん、1つの欠点は、「目標」プログラム・コードを変更
しなければならないことであり、これは、計装コードを実行しているシステム・
パフォーマンスが、計装していないコードを実行するシステム・パフォーマンス
とは異なることである。ただし、試験を受けるプログラムのコードおよび自然な
フローを変更することにより、本来的に、不正確なデータの生成がもたらされる
。というのは、分析されるプログラムが、通常の使用時に存在する実際のプログ
ラムではないからである。システムの製造バージョンのダイナミックスのいくら
かが失われる可能性がある。この結果、特に最良のパフォーマンスに合せて入念
に調整されている(すなわち、通常、「高度に調整されている」と言われる)シ
ステム上で、結果の不正確さにより、さらなる調整を必要とするシステムの部分
に関する不正確な報告がもたらされる可能性がある。
【0004】 さらに、これらのシステムのいくつかは、100%のプロセッサ利用を得よう
とする。そのような状況では、パフォーマンス・データを収集するためにプログ
ラム・コードに追加の命令を挿入することにより、実際、システムが動作しなく
なる可能性がある。
【0005】 したがって、プログラム・コードを変更する(例えば、追加の命令が追加され
る)ことなしに、プロセスがプログラム・コードを実行する際、プロセッサの非
侵入式監視を提供する方法および装置の必要性が存在する。
【0006】 (発明の概要) 以上の必要性に対して、ランダム式にプロセッサのプログラム・カウンタを非
侵入式にサンプリングする統計的プロファイリング方法の使用によって対応がな
され、利点が得られる。収集されたデータにより、システム開発者は、プロセッ
サ時間の各ルーチンの利用を分析(さらには視覚化)を行うことができ、したが
って、開発者は、どのルーチンがプロセッサのパフォーマンスの大部分を消費し
ているかを特定し、それらのルーチンを最適化することができる。ランダム・サ
ンプリングは、JTAGポートとして知られる業界標準のポートを有する、プロ
セッサ上に、詳細には、DSP上に一般に備えられているシフト・レジスタを利
用して得られる。JTAGポートは、従来、いわゆる境界スキャニング動作で使
用するために提供される。
【0007】 プログラム・カウンタ内容が変化する時刻に対してランダムなタイミング(す
なわち、プロセッサ・コア・クロックとは独立のタイミング)でサンプリングが
行われない場合、収集された情報は、あるプログラム・カウントまたはルーチン
が実際よりも多い頻度で、または少ない頻度で実行されていると不正確に示す可
能性がある。これは、サンプリングが、プログラム実行とどうにか同期している
ときに生じる可能性がある。これを回避するため、本発明によるシステムは、通
常、少なくとも、プロセッサ・コア・クロックとは独立したクロックを使用して
プログラム・カウンタ内容のサンプリングを行う。
【0008】 ランダム性の保証をより高くするため、2つの異なる方法を使用してランダム
・サンプリングを行う。第1に、サンプリング・ポートでレジスタのために使用
するクロックが、前段で説明したとおり、プロセッサを動作させるクロックとは
独立に動作する。第2に、外部ホスト・コンピュータ(例えば、パーソナル・コ
ンピュータまたはワークステーション)を使用して、いつプログラム・カウンタ
をサンプリングするかに関してサンプリング・ポートに知らせる。ホストからの
信号は、サンプリング・ポートにおけるクロックとは非同期に確立される。この
プロセスは、サンプリングするコマンドとサンプリングの開始の間にランダムな
遅延を加える。サンプリングを行うコマンドは、規定の間隔を特定し、または規
定の間隔中、継続して、次に別の間隔中、停止して、複数の逐次サンプルを可能
にし、所望される場合、サンプリング・プロセスに「バースト性」の品質を与え
る。または、1回につき1つだけのサンプルをとることができる。
【0009】 第1の態様によれば、本発明は、プロセッサがコンピュータ・プログラムに関
するソフトウェア・コードを実行する際、プロセッサを監視するためのシステム
に関わる。システムは、プロセッサによって実行された命令に関する情報を収集
する、プロセッサに動作可能に接続されたレジスタと、プロセッサの動作とは非
同期にレジスタの内容をサンプリングする、レジスタに動作可能に接続されたサ
ンプラ(即ち、サンプル回路)とを含む。システムは、前記サンプルを受け取り
、プロセッサによって実行された命令の統計レコードを提供するホスト・コンピ
ュータを含むことが可能である。
【0010】 第2の態様によれば、本発明は、プロセッサがコンピュータ・プログラムに関
するソフトウェア・コードを実行する際、プロセッサを監視するためにシステム
に関わり、プロセッサによって実行された命令に関する情報を収集するプロセッ
サに動作可能に接続されたレジスタと、プロセッサの動作とは非同期にレジスタ
の内容をサンプリングするレジスタに動作可能に接続されたサンプラと、レジス
タの内容をサンプリングするサンプラの動作を開始するコマンドを発行するホス
ト・コンピュータとを含む。ホスト・コンピュータは、前記サンプルを受け取り
、プロセッサによって実行された命令の統計レコードを提供することができる。
【0011】 第3の態様によれば、本発明は、プロセッサがコンピュータ・プログラムに関
するソフトウェア・コードを実行する際、プロセッサを監視するためのシステム
に関わり、プロセッサが、第1のクロックによってクロックされ、前記第1のク
ロックによってやはりクロックされるプログラム・カウンタを含み、プログラム
・カウンタに動作可能に接続され、第1のクロックによってクロックされ、不能
(disable)にされているとき以外、第1のクロックと同期にプログラム
・カウンタの内容を受け取るレジスタと、レジスタに動作可能に接続されて、第
1のクロックとは独立の第2のクロックに応答してレジスタ内容をサンプリング
するラッチとを含む。また、レジスタがラッチによってサンプリングされている
間、レジスタを不能にするように適合された論理を提供することも可能である。
ラッチの内容を受け取り、その内容をユーザ装置に通信するように動作可能に接
続されたシフト・レジスタが含まれることが可能である。また、第1のクロック
および第2のクロックとは独立の第3のクロックによってクロックされるホスト
・コンピュータ、およびホスト・コンピュータとラッチの間に結合され、ホスト
・コンピュータからのサンプリング・コマンドをラッチに通信してラッチによる
サンプリングを開始するインターフェース・ユニットも含まれることが可能であ
る。インターフェース・ユニットは、第2のクロックと同期にサンプリングを行
うコマンドをラッチに発行することができる。ラッチは、プログラム・カウンタ
からの一続きのプロセッサ命令内容をレジスタからシーケンスで受け取るように
時々、制御することが可能である。また、好ましくは、ただし、オプションとし
て、プログラム・カウンタ内の命令を実行するための条件が満たされていないと
き、レジスタを不能にする論理も含まれることが可能である。
【0012】 さらに別の態様によれば、本発明は、プロセッサがコンピュータ・プログラム
に関するソフトウェア・コードを実行する際、プロセッサを監視するための方法
に関わり、プロセッサは、第1のクロックによってクロックされ、前記第1のク
ロックによってやはりクロックされるプログラム・カウンタを含み、実行されな
い命令に関する命令内容を捕捉しないことを除き、非侵入式に第1のクロックと
同期してレジスタの中のプログラム・カウンタの命令内容を捕捉することと、第
1のクロックとは独立の第2のクロックに応答してレジスタ内容をサンプリング
することとを含む。そのような方法は、レジスタがサンプリングされている間、
レジスタを不能にすることをさらに含むことが可能である。サンプリングは、ラ
ッチの内容を受け取り、その内容をユーザ装置に通信するように動作可能に接続
されたシフト・レジスタにプログラム・カウンタ内容を渡すことを含むことが可
能である。好ましくは、シフト・レジスタは、JTAGポートにある。ユーザ装
置は、ホスト・コンピュータであることが可能であり、ホスト・コンピュータを
動作させて、捕捉されたプログラム・カウンタ命令内容の統計分析を生成するこ
とができる。オプションとして、方法は、第1のクロックおよび第2のクロック
とは独立の第3のクロックによってホスト・コンピュータをクロックすること、
およびホスト・コンピュータとラッチの間に結合されたインターフェース・ユニ
ットを使用して、ホスト・コンピュータからのサンプリング・コマンドをラッチ
に通信して、ラッチによるサンプリングを開始することをさらに含むことが可能
である。
【0013】 また、方法は、インターフェース・ユニットが、第2のクロックと同期してサ
ンプリングを行うコマンドをラッチに発行し、ラッチが、第2のクロックと第3
のクロックの差、および処理遅延に関連する遅延の後、応答することを含むこと
も可能である。方法は、プログラム・カウンタからの一続きのプロセッサ命令内
容をレジスタからシーケンスで受け取るように少なくとも時々、ラッチを制御す
ることを含むことが可能である。また、方法は、プログラム・カウンタ内の命令
を実行するための条件が満たされていないとき、レジスタを不能にすることを含
むことも可能である。
【0014】 さらに別の態様によれば、本発明は、プロセッサがコンピュータ・プログラム
に関するソフトウェア・コードを実行する際、プログラム・カウンタを有するプ
ロセッサを監視するための方法に関わり、プログラム・カウンタから、プロセッ
サによって実行された命令に関する情報を非侵入式に収集することと、プロセッ
サの動作とは非同期式に、収集された情報をサンプリングすることとを含む。こ
の方法は、JTAGポートにおけるシフト・レジスタを介してホスト・コンピュ
ータにサンプルを提供することをさらに含むことが可能であり、次に、プロセッ
サによって実行された命令の統計レコードを提供するようにホスト・コンピュー
タを動作させることが可能である。
【0015】 本発明は、添付の図面と合せて読むべき以下の詳細な説明からよりよく理解さ
れる。図面では、同様の参照番号が、同様の要素を指すものとする。アイテムは
、一定の縮尺で描いたものではない。
【0016】 (詳細な説明) 前述したとおり、プログラミングされたプロセッサの動作を監視し分析して、
目標プログラム・コードの中に設定または実装される様々なルーチンおよびプロ
セスを実行する際にプロセッサによって占有される時間の統計プロファイルを作
成することにより、コード最適化を可能にすることができる。この統計プロファ
イルを作成する1つのやり方は、プロセッサをランダムにサンプリングして、サ
ンプリング時間にプロセッサがどの命令を実行しているかを判定することである
。次に、その命令をプログラム・コードの中のその命令の場所に関連付け、タイ
ミング・プロファイルを作成することができる。好都合なことに、ほとんどのプ
ロセッサには、プログラム・カウンタ(PC)が含まれる。プログラム・カウン
タは、実行中の命令のアドレス(メモリ内の)を含むレジスタである。このレジ
スタの内容は、プログラムの各命令がメモリから取り出される直前に自動的に増
分されて、記憶された命令の逐次の実行を可能にする。プログラム制御下で、P
Cの内容をポインタ・レジスタの内容で変更または交換して、サブルーチン呼出
しおよびプログラム分岐を行うことも可能である。他の目的で一般に使用される
機構を適合させて、相当なオーバーヘッドを生じさせることなく、プログラム・
カウンタの統計サンプリングを可能にすることができる。この機構は、プロセッ
サ・チップに通常、組み込まれるいわゆるJTAGレジスタである。JTAGは
、ボードレベル試験のある問題に対する解決策を業界標準として確立し、普及さ
せるために1985年に会合を開いたエレクトロニクス業界および半導体業界に
おける200を超える会員の団体であるJoint Test Action
Groupの略語である。1990年の解決策は、IEEE Std.1149
〜1990、IEEE Standard Test Access Port
And Boundary−Scan Architectureになった。
すべてのJTAG(すなわち、IEEE Std.1149.1)対応の装置は
、試験命令および試験データを装置に逐次にロードすることができるようにし、
その後の試験結果を装置から逐次に読み取ることができるようにするレジスタを
含む。標準に適合するのに、構成要素は、ある基本的試験機能を有していなけれ
ばならないが、標準により、設計者は、自身の独自の要件を満たす試験機能を追
加できるようになる。
【0017】 次に、プログラム・カウンタ(PC)14を含む従来のシーケンサ12を有す
るDSP10などのプロセッサをブロック図で示す図1を参照する。レジスタ1
6が、マイクロプロセッサのコア・クロックの各「刻み」ごとにPC内容を収集
し、またレジスタ16に接続されたサンプラ(サンプル回路)18が、プロセッ
サのコア・クロックの動作とは非同期にレジスタ16の内容をサンプリングする
【0018】 より詳細には、レジスタ16が、バス17上でプログラム・カウンタ14の内
容をパラレル式に受け取る。クロック生成器19からのマイクロプロセッサ・コ
ア・クロック(CCLK)の各刻みごとに、ライン22上でDISABLE信号
がアサート(assert)されない限り、PC内容がレジスタ16の中にロー
ドされる。レジスタ16が読み取られる際(以下を参照)、内容が読み取られる
までレジスタの内容が変更されるのを防止するため、中止され、プロセッサによ
って実行されない命令に関して不能信号はアサートされる。中止される命令には
、プログラム・コードの中に存在するが、実行が条件付きであり、実行を可能に
するその条件が生じなかったときの命令が含まれる。
【0019】 サンプラ18は、第1のレジスタ、またはレジスタ16に接続されて、レジス
タの出力をバス26上でパラレル式に受け取るラッチ24を含む。サンプリング
・ラッチ24は、マイクロプロセッサ・コア・クロックCCLKとは別の独立し
て動作する試験クロック(TCLK)によってクッロクされる。ラッチ24は、
シフト・レジスタ28によってパラレル式に読み取られ、レジスタの内容が、ラ
イン32上にシリアル式にシフトアウトされることが可能である。シフト・レジ
スタ28は、JTAG EMUPCシフト・レジスタであることが可能である。
【0020】 TCLK信号は、ラッチ24をクロックしてプログラム・カウントを含むレジ
スタ16の内容を捕捉するだけでなく、ライン36上に現れるSAMPLE信号
で表されるとおり、PCがサンプリングされるとき、ライン22上でDISAB
LE信号を生成して(論理34を介して)レジスタ16を不能にすることも行う
。つまり、SAMPLE信号が提供されるとき、DISABLE信号が生成され
て、レジスタ16がCCLKクロックに応答するのを止めさせ、レジスタ16の
中で捕捉されるPC内容が、読み取ることができる前に変更されないことを確実
にするようにする。必要な場合、単にタイミング問題を解決し、プロファイル・
レジスタ16がラッチ24によってサンプリングされる前に不能にされることを
確実にするだけのために、必要のない可能性があり、当分野の技術の範囲内の設
計上の詳細と見なされるべき論理34が提供される。論理34は、入力としてT
CLK信号およびSAMPLE信号を受け取るものとして示しているが、TCL
K信号およびSAMPLE信号を必要な入力と見なしてはならない。
【0021】 図2を参照すると、プログラム・カウンタ捕捉レジスタ16の動作をよりよく
理解することができる。例として、任意の所与のクロック・サイクル中、第1の
命令が取り出され、直前の取り出された命令が復号化され、次の先行する命令が
、評価され、条件付きで実行されるパイプライン式プロセッサを考慮されたい。
一続きの6つの命令、A〜Fを想定する。命令A〜Cは、NOP(動作なし)命
令であり、命令Dは、Aにジャンプする命令であり、また命令EおよびFは、条
件が満たされず、したがって、遭遇したとき、実行されるべきではないものと想
定する条件付き命令COND1およびCOND2である。図2は、一続きのプロ
セッサ・クロック・サイクルのそれぞれに関して、取り出された命令のシーケン
スを行42に示し、復号化された命令のシーケンスを行44に示し、見かけでは
実行された命令のシーケンス46、ならびに命令EおよびFが中止されるために
もたらされるレジスタの内容のシーケンス48を示している。したがって、この
仮想の例では、時間の50%で、プロセッサが、命令Dを実行しているものと予
期されることが分かる。プロファイリング・レジスタ16の統計的に有効なサン
プリングが行われる場合、実際、命令Dが半分の時間、実行されていることが分
かる。これは、命令Dを効率的に実行すること、またはプログラム・コードを変
更して、別の命令、より高速に実行されるコードで元のコードを置き換えること
ができることに注意を向けるべきであるという結論に設計者を導くことになる。
【0022】 JTAG EMUPCレジスタ28からの出力は、プロセッサによって実行さ
れるすべての命令のシーケンスではない。そうではなく、出力のサンプリングで
あり、各プロセッサ・クロック・サイクルごとに複数のクロック・サイクルを必
要とする命令のシリアル・ビット・ストリームを提供する。
【0023】 任意の一まとまりの統計情報の有効性に関して重要なのは、収集されたサンプ
ルの数である。ランダムに収集されたサンプルの数が増大するにつれ、サンプル
から抽出される情報の正確さも高まる。このことは、デバッガが、サンプリング
をランダムに保ちながらも、可能な限り高速にサンプルを収集することを確実に
するのが望ましいことを示す。好ましくは、これは、プロセッサからサンプルの
妥当なサイズの「バースト」(例えば、32〜64サンプル)を収集することに
よって達せられる。
【0024】 図1の破線40の下の装置をオプションとして使用して、バースト・サンプリ
ングを可能にする、または別の仕方で、サンプリング動作のランダム性のより高
い信頼性を確実にすることができる。パーソナル・コンピュータまたはワークス
テーションなどのホスト・コンピュータ42が、通信リンクまたはバス44(例
えば、PCIまたはISAバス)を介してインサーキット・エミュレータ(IC
E)46にコマンドを発行し、このコマンドは、インサーキット・エミュレータ
46が、SAMPLE信号をライン36上で発行するようにさせるものである。
インサーキット・エミュレータは、ホスト・コンピュータとJTAGポートの間
でコマンド変換およびプロトコル変換を提供する従来の装置または回路である。
また、インサーキット・エミュレータは、本明細書でTCLKクロックとラベル
付けした、JTAGシフト・レジスタおよび他のポート構成要素によって使用さ
れるクロックを生成して、JTAGポートに供給する。ホストは、ICEおよび
サンプラ18によって使用されるTCLKクロックとは非同期して独自の内部ク
ロックで動作する。また、サンプラのTCLKクロックも、プロセッサ・クロッ
クCCLKに関して非同期であり、独立である。したがって、ホスト・システム
によるサンプリング・コマンドのアサートとSAMPLE信号のアサートの間で
本来的でランダムな遅延(クロック・サイクル間隔内)が存在する。
【0025】 ホストは、通常、ある間隔中、サンプリングを求め、ある間隔中、待ち、次に
ある間隔中、再びサンプリングを行い、これらの間隔のそれぞれは、1つまたは
複数の(必ずしも量が一様でない)プロセッサ・クロック・サイクルの継続時間
を有する。
【0026】 ICEを介してサンプリングされたプログラム・カウンタ内容をホストにフィ
ードバックすることができ、ホストが、任意の従来の統計分析ソフトウェアまた
はカスタムの統計分析ソフトウェアを実行して、サンプリングされたプログラム
・カウントの分布を計算し、かつ/または表示することが可能である。所望され
る場合、示していないが、各サンプルにタイムスタンプを押して、経過時間統計
を作成できるようにすることも可能である。
【0027】 したがって、本発明が、プログラムの実行のダイナミックスを変更することな
く、システムの速度を低下させることなく、またソース・レベルまたはマシン・
コード・レベルのどちらでもプログラム・コードに対する変更を全く必要とする
ことなく、デジタル信号プロセッサなどのプロセッサ上におけるプログラム命令
の実行を監視し、分析するための装置および方法を提供することが分かる。した
がって、プログラム・コードのパフォーマンスを分析するため、プログラム・コ
ードのコンパイルをやり直す、またはアセンブルをやり直す必要が全くない。ま
た、プログラムのどこに、区切り点を挿入することが有益である可能性があるか
を先験的に知っている必要もない。プログラム全体の動作が、統計的に監視され
、したがって、先験的仮定は、全く必要ない。命令利用が非侵入式に追跡される
【0028】 したがって、本発明のいくつかの実施形態を示したが、これらの実施形態は、
説明のために例としてだけ提示しており、限定するものではない。当分野の技術
者には、開示した実施形態の変形形態、ならびに全く新しい実施形態が容易に考
えられよう。そのような改変形態、変更形態、拡張形態、および追加形態は、本
発明の趣旨および範囲の中にあるものとされ、本明細書で示唆されるものである
。例えば、ホスト・コンピュータは、汎用コンピュータである必要はなく、例え
ば、専用試験システム、または限られた機能性の他の装置、またはハンドヘルド
・プログラマブル計算機であることが可能である。ラッチとして説明した要素は
、他の適切なタイプのレジスタであることが可能である。命令を1回に1つづつ
サンプリングすること、または一続きの複数の命令の連続でサンプリングするこ
とが可能である。サンプリングは、JTAGレジスタ以外の専用レジスタまたは
その他のレジスタを介して実行することも可能である。これらは、当分野の技術
者には考えられ、カバーされるものである本発明の主題の変形形態のいくつかに
過ぎない。したがって、本発明は、頭記の特許請求の範囲および等価内容によっ
てだけ限定されるものとする。
【図面の簡単な説明】
【図1】 本明細書で説明するとおり、ある部分はオプションであり、必要不可欠ではな
い本発明によるシステムを示すブロック図である。
【図2】 本発明によるサンプラが、プログラム・フローの中に条件付き命令が存在して
プログラム・カウンタ捕捉レジスタを動作させ、実際に実行された命令だけを捕
捉するようにする仕方を示す図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成14年3月27日(2002.3.27)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベラヴァンス,ロリ・エイ アメリカ合衆国マサチューセッツ州02760, ノース・アトレボロ,マウント・ホープ・ ストリート 726 ビー Fターム(参考) 5B042 GA38 GC16 HH20 HH30 MC05 MC12

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサがコンピュータ・プログラムに関するソフトウェ
    ア・コードを実行する際、前記プロセッサを監視するためのシステムであって、 前記プロセッサに動作可能に結合され、前記プロセッサによって実行される命
    令に関する情報を収集するレジスタと、 前記レジスタに動作可能に接続され、前記プロセッサの動作と非同期に前記レ
    ジスタの内容をサンプリングするサンプラとを含むシステム。
  2. 【請求項2】 前記サンプルを受け取り、前記プロセッサによって実行され
    た前記命令の統計レコードを提供するホスト・コンピュータをさらに含む請求項
    1に記載のシステム。
  3. 【請求項3】 プロセッサがコンピュータ・プログラムに関するソフトウェ
    ア・コードを実行する際、前記プロセッサを監視するためのシステムであって、 前記プロセッサに動作可能に結合され、前記プロセッサによって実行される命
    令に関する情報を収集するレジスタと、 前記レジスタに動作可能に接続され、前記プロセッサの動作と非同期に前記レ
    ジスタの内容をサンプリングするサンプラと、 前記レジスタの前記内容をサンプリングする前記サンプラの動作を開始するコ
    マンドを発行するホスト・コンピュータとを含むシステム。
  4. 【請求項4】 前記サンプルを受け取り、前記プロセッサによって実行され
    た前記命令の統計レコードを提供する前記ホスト・コンピュータをさらに含む請
    求項3に記載のシステム。
  5. 【請求項5】 プロセッサがコンピュータ・プログラムに関するソフトウェ
    ア・コードを実行する際、前記プロセッサを監視するためのシステムであって、 前記プロセッサが、第1のクロックによってクロックされ、前記第1のクロッ
    クによってやはりクロックされるプログラム・カウンタを含み、 前記プログラム・カウンタに動作可能に接続され、前記第1のクロックによっ
    てクロックされ、不能にされているとき以外、前記第1のクロックと同期に前記
    プログラム・カウンタの前記内容を受け取るレジスタと、 前記レジスタに動作可能に接続されて、前記第1のクロックとは独立の第2の
    クロックに応答して前記レジスタ内容をサンプリングするラッチとを含むシステ
    ム。
  6. 【請求項6】 前記レジスタが前記ラッチによってサンプリングされている
    間、前記レジスタを不能にするように適合された論理をさらに含む請求項5に記
    載のシステム。
  7. 【請求項7】 前記ラッチの前記内容を受け取り、前記内容をユーザ装置に
    通信するように動作可能に接続されたシフト・レジスタをさらに含む請求項5ま
    たは請求項6に記載のシステム。
  8. 【請求項8】 第1のクロックおよび第2のクロックとは独立の第3のクロ
    ックによってクロックされるホスト・コンピュータと、 前記ホスト・コンピュータと前記ラッチの間に結合され、前記ホスト・コンピ
    ュータからのサンプリング・コマンドを前記ラッチに通信して、前記ラッチによ
    るサンプリングを開始するように構成されたインターフェース・ユニットとをさ
    らに含む請求項7に記載のシステム。
  9. 【請求項9】 前記インターフェース・ユニットが、前記第2のクロックと
    非同期にサンプリングするコマンドを前記ラッチに発行する請求項8に記載のシ
    ステム。
  10. 【請求項10】 前記ラッチが、時々、前記プログラム・カウンタからの一
    続きのプロセッサ命令内容を前記レジスタからシーケンスで受け取るように制御
    される請求項7に記載のシステム。
  11. 【請求項11】 前記シフト・レジスタが、JTAGポートである請求項7
    に記載のシステム。
  12. 【請求項12】 プログラム・カウンタ内の命令を実行するための条件が満
    たされていないとき、前記レジスタを不能にする論理をさらに含む請求項5に記
    載のシステム。
  13. 【請求項13】 プロセッサがコンピュータ・プログラムに関するソフトウ
    ェア・コードを実行する際、前記プロセッサを監視するための方法であって、 前記プロセッサに動作可能に接続されたレジスタの中に、前記プロセッサによ
    って実行される命令に関する情報を収集することと、 前記プロセッサの動作と非同期に、前記レジスタの内容をサンプリングするこ
    ととを含む方法。
  14. 【請求項14】 前記サンプルを受け取り、前記プロセッサによって実行さ
    れた前記命令の統計レコードを提供するようにホスト・コンピュータを動作させ
    ることをさらに含む請求項13に記載の方法。
  15. 【請求項15】 プロセッサがコンピュータ・プログラムに関するソフトウ
    ェア・コードを実行する際、前記プロセッサを監視するための方法であって、 前記プロセッサに動作可能に接続されたレジスタの中で、前記プロセッサによ
    って実行される命令に関する情報を収集することと、 前記プロセッサの動作と非同期に、前記レジスタの前記内容をサンプリングす
    ることと、 前記レジスタの前記内容をサンプリングする前記サンプラの動作を開始するコ
    マンドを発行するようにホスト・コンピュータを動作させることとを含む方法。
  16. 【請求項16】 前記サンプルを受け取り、前記プロセッサによって実行さ
    れた前記命令の統計レコードを提供するように前記ホスト・コンピュータを動作
    させることをさらに含む請求項15に記載の方法。
  17. 【請求項17】 プロセッサがコンピュータ・プログラムに関するソフトウ
    ェア・コードを実行する際、前記プロセッサを監視するための方法であって、 前記プロセッサが、第1のクロックによってクロックされ、前記第1のクロッ
    クによってやはりクロックされるプログラム・カウンタを含み、 実行されない命令に関する命令内容を捕捉しないことを除き、非侵入式に第1
    のクロックと同期してレジスタの中で前記プログラム・カウンタの前記命令内容
    を捕捉することと、 前記第1のクロックとは独立の第2のクロックに応答して前記レジスタ内容を
    サンプリングすることとを含む方法。
  18. 【請求項18】 前記レジスタがサンプリングされている間、前記レジスタ
    を不能にすることをさらに含む請求項17に記載の方法。
  19. 【請求項19】 サンプリングすることが、前記ラッチの前記内容を受け取
    り、前記内容をユーザ装置に通信するように動作可能に接続されたシフト・レジ
    スタに前記プログラム・カウンタ内容を渡すことを含む請求項17または請求項
    18に記載の方法。
  20. 【請求項20】 前記シフト・レジスタが、JTAGポートである請求項1
    9に記載の方法。
  21. 【請求項21】 前記ユーザ装置が、ホスト・コンピュータであり、前記ホ
    スト・コンピュータが、捕捉されたプログラム・カウンタ命令内容の統計分析を
    生成するように動作させられる請求項19に記載の方法。
  22. 【請求項22】 前記第1のクロックおよび前記第2のクロックとは独立の
    第3のクロックによって前記ホスト・コンピュータをクロックすることと、 前記ホスト・コンピュータと前記ラッチの間で結合されたインターフェース・
    ユニットを使用し、前記ホスト・コンピュータから前記ラッチにサンプリング・
    コマンドを通信して、前記ラッチによるサンプリングを開始することとをさらに
    含む請求項19に記載の方法。
  23. 【請求項23】 前記インターフェース・ユニットが、前記第2のクロック
    と同期にサンプリングするコマンドを前記ラッチに発行する請求項22に記載の
    方法。
  24. 【請求項24】 前記ラッチが、少なくとも時々、前記プログラム・カウン
    タからの一続きのプロセッサ命令内容を前記レジスタからシーケンスで受け取る
    ように制御されることをさらに含む請求項17に記載の方法。
  25. 【請求項25】 プログラム・カウンタ内の命令を実行するための条件が満
    たされていないとき、前記レジスタを不能にすることをさらに含む請求項17に
    記載の方法。
  26. 【請求項26】 プロセッサがコンピュータ・プログラムに関するソフトウ
    ェア・コードを実行する際、プログラム・カウンタを有するプロセッサを監視す
    るための方法であって、 前記プログラム・カウンタから、前記プロセッサによって実行された命令に関
    する情報を非侵入式に収集することと、 前記プロセッサの動作と非同期に、前記収集された情報をサンプリングするこ
    ととを含む方法。
  27. 【請求項27】 JTAGポートにおけるシフト・レジスタを介して前記サ
    ンプルをホスト・コンピュータに提供することをさらに含む請求項26に記載の
    方法。
  28. 【請求項28】 前記ホスト・コンピュータが、前記プロセッサによって実
    行された命令の統計レコードを提供することをさらに含む請求項27に記載の方
    法。
JP2001577148A 2000-04-11 2001-04-11 非侵入式アプリケーション・コード・プロファイリングの方法および装置 Expired - Lifetime JP5356635B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US19619200P 2000-04-11 2000-04-11
US60/196,192 2000-04-11
PCT/US2001/011881 WO2001080012A2 (en) 2000-04-11 2001-04-11 Non-intrusive application code profiling method and apparatus

Publications (2)

Publication Number Publication Date
JP2003531436A true JP2003531436A (ja) 2003-10-21
JP5356635B2 JP5356635B2 (ja) 2013-12-04

Family

ID=22724399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001577148A Expired - Lifetime JP5356635B2 (ja) 2000-04-11 2001-04-11 非侵入式アプリケーション・コード・プロファイリングの方法および装置

Country Status (5)

Country Link
US (1) US6718286B2 (ja)
EP (1) EP1272934B1 (ja)
JP (1) JP5356635B2 (ja)
DE (1) DE60100901T2 (ja)
WO (1) WO2001080012A2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030083849A1 (en) * 2001-10-31 2003-05-01 Cabot Mason B. Statistical sampling process
US7394877B2 (en) * 2001-12-20 2008-07-01 Texas Instruments Incorporated Low-power packet detection using decimated correlation
DE10234469A1 (de) * 2002-07-29 2004-02-12 Siemens Ag Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät
WO2004046930A1 (fr) * 2002-11-15 2004-06-03 Stmicroelectronics S.A. Dispositif a liaison serie de surveillance d'un microprocesseur
FI5706U1 (fi) * 2002-11-21 2003-02-26 Patria New Technologies Oy JTAG-testilaitteisto ja -testausjärjestelmä
US7185215B2 (en) 2003-02-24 2007-02-27 International Business Machines Corporation Machine code builder derived power consumption reduction
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US6965978B2 (en) * 2003-05-15 2005-11-15 Microsoft Corporation Memory tracking tool
US7506241B2 (en) * 2003-10-16 2009-03-17 International Business Machines Corporation Method and apparatus for a self healing agent
US7318226B2 (en) * 2003-10-16 2008-01-08 International Business Machines Corporation Distributed autonomic solutions repository
US7404160B2 (en) * 2005-02-18 2008-07-22 Quickturn Design Systems Inc. Method and system for hardware based reporting of assertion information for emulation and hardware acceleration
US20080127102A1 (en) * 2006-09-14 2008-05-29 Glen J Anderson Technique to visually present memory location and usage during code execution
US7881906B2 (en) * 2008-02-15 2011-02-01 International Business Machines Corporation Method, system and computer program product for event-based sampling to monitor computer system performance
US7870438B2 (en) * 2008-02-15 2011-01-11 International Business Machines Corporation Method, system and computer program product for sampling computer system performance data
US7908532B2 (en) * 2008-02-16 2011-03-15 International Business Machines Corporation Automated system and processing for expedient diagnosis of broken shift registers latch chains
US8502822B2 (en) 2008-09-30 2013-08-06 Nintendo Co., Ltd. Method and apparatus for visualizing and interactively manipulating profile data
US9495279B2 (en) * 2008-09-30 2016-11-15 Nintendo Co., Ltd. Method and apparatus for efficient statistical profiling of video game and simulation software
JP5217870B2 (ja) * 2008-10-07 2013-06-19 富士通株式会社 プログラム性能測定装置、方法、プログラム、プログラム記録媒体
EP2712446A1 (en) * 2011-05-18 2014-04-02 Telefonaktiebolaget LM Ericsson (PUBL) Method and arrangement for enabling analysis of a computer program execution
US9274920B2 (en) 2012-09-28 2016-03-01 Dialog Semiconductor B.V. Code profiling in embedded ULE applications
US9122800B1 (en) * 2014-05-30 2015-09-01 Honeywell International Inc. System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor
US10289540B2 (en) * 2016-10-06 2019-05-14 International Business Machines Corporation Performing entropy-based dataflow analysis
US11106567B2 (en) 2019-01-24 2021-08-31 International Business Machines Corporation Combinatoric set completion through unique test case generation
US11099975B2 (en) 2019-01-24 2021-08-24 International Business Machines Corporation Test space analysis across multiple combinatoric models
US11263116B2 (en) 2019-01-24 2022-03-01 International Business Machines Corporation Champion test case generation
US11422924B2 (en) 2019-06-13 2022-08-23 International Business Machines Corporation Customizable test set selection using code flow trees
US11232020B2 (en) 2019-06-13 2022-01-25 International Business Machines Corporation Fault detection using breakpoint value-based fingerprints of failing regression test cases
US10990510B2 (en) * 2019-06-13 2021-04-27 International Business Machines Corporation Associating attribute seeds of regression test cases with breakpoint value-based fingerprints

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0240737A (ja) * 1988-07-29 1990-02-09 Nec Corp 使用率表示回路
JPH02202644A (ja) * 1989-02-01 1990-08-10 Hitachi Ltd トレーサ回路
JPH04233637A (ja) * 1990-07-13 1992-08-21 Internatl Business Mach Corp <Ibm> 命令サンプリング計測のための装置および方法
JPH0784827A (ja) * 1993-09-13 1995-03-31 Nec Corp トレース装置
JPH10240571A (ja) * 1997-02-21 1998-09-11 Nec Corp アドレストレース回路
JPH10254739A (ja) * 1997-03-10 1998-09-25 Digital Equip Corp <Dec> コンピュータ性能データを分析する方法
WO1998045784A1 (en) * 1997-04-08 1998-10-15 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
JPH11212834A (ja) * 1998-01-28 1999-08-06 Nec Corp 性能測定ツールの測定値表示方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2777496B2 (ja) 1991-02-28 1998-07-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法
US6314530B1 (en) 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6009270A (en) 1997-04-08 1999-12-28 Advanced Micro Devices, Inc. Trace synchronization in a processor
US6185732B1 (en) 1997-04-08 2001-02-06 Advanced Micro Devices, Inc. Software debug port for a microprocessor
US6094729A (en) 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6041406A (en) 1997-04-08 2000-03-21 Advanced Micro Devices, Inc. Parallel and serial debug port on a processor
US6167536A (en) 1997-04-08 2000-12-26 Advanced Micro Devices, Inc. Trace cache for a microprocessor-based device
US6142683A (en) 1997-04-08 2000-11-07 Advanced Micro Devices, Inc. Debug interface including data steering between a processor, an input/output port, and a trace logic
US6154856A (en) 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6148381A (en) 1997-04-08 2000-11-14 Advanced Micro Devices, Inc. Single-port trace buffer architecture with overflow reduction
US5978902A (en) 1997-04-08 1999-11-02 Advanced Micro Devices, Inc. Debug interface including operating system access of a serial/parallel debug port
US6189140B1 (en) 1997-04-08 2001-02-13 Advanced Micro Devices, Inc. Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0240737A (ja) * 1988-07-29 1990-02-09 Nec Corp 使用率表示回路
JPH02202644A (ja) * 1989-02-01 1990-08-10 Hitachi Ltd トレーサ回路
JPH04233637A (ja) * 1990-07-13 1992-08-21 Internatl Business Mach Corp <Ibm> 命令サンプリング計測のための装置および方法
JPH0784827A (ja) * 1993-09-13 1995-03-31 Nec Corp トレース装置
JPH10240571A (ja) * 1997-02-21 1998-09-11 Nec Corp アドレストレース回路
JPH10254739A (ja) * 1997-03-10 1998-09-25 Digital Equip Corp <Dec> コンピュータ性能データを分析する方法
WO1998045784A1 (en) * 1997-04-08 1998-10-15 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
JPH11212834A (ja) * 1998-01-28 1999-08-06 Nec Corp 性能測定ツールの測定値表示方式

Also Published As

Publication number Publication date
EP1272934A2 (en) 2003-01-08
EP1272934B1 (en) 2003-10-01
JP5356635B2 (ja) 2013-12-04
DE60100901D1 (de) 2003-11-06
WO2001080012A2 (en) 2001-10-25
US20020002442A1 (en) 2002-01-03
WO2001080012A3 (en) 2002-05-30
DE60100901T2 (de) 2004-08-19
US6718286B2 (en) 2004-04-06

Similar Documents

Publication Publication Date Title
JP5356635B2 (ja) 非侵入式アプリケーション・コード・プロファイリングの方法および装置
US6385742B1 (en) Microprocessor debugging mechanism employing scan interface
Krstic et al. Embedded software-based self-test for programmable core-based designs
US7870437B2 (en) Trace data timestamping
US6961872B2 (en) Microcomputer and debugging system
Thane et al. Using deterministic replay for debugging of distributed real-time systems
EP0189848A2 (en) Method and apparatus for software debugging
KR20020032936A (ko) 반도체 칩의 논리 기능 검증용 에뮬레이터 장치 및 방법
US20070011492A1 (en) Generation of trace data
Backasch et al. Runtime verification for multicore SoC with high-quality trace data
JP2007250010A (ja) 構成可能なプロセッサを設計するための自動プロセッサ生成システム及び生成方法
US20070079288A1 (en) System and method for capturing filtered execution history of executable program code
US8819496B2 (en) Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information
KR20150008428A (ko) 명령어 트레이스 기능을 갖춘 프로세서 디바이스
Atanassov et al. Using real hardware to create an accurate timing model for execution-time analysis
US6493841B1 (en) Method and apparatus for determining expected values during circuit design verification
CN108628637B (zh) 用于处理数据的装置和方法
Wolf et al. Execution cost interval refinement in static software analysis
US20060048011A1 (en) Performance profiling of microprocessor systems using debug hardware and performance monitor
Bose Performance test case generation for microprocessors
Du et al. FPGA-controlled PCBA power-on self-test using processor's debug features
JP4152659B2 (ja) データ処理システムおよび設計システム
Wahab et al. A novel lightweight hardware-assisted static instrumentation approach for ARM SoC using debug components
Park et al. On‐Chip Debug Architecture for Multicore Processor
US20050166103A1 (en) System, method, and apparatus for firmware code-coverage in complex system on chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110906

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120619

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130702

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: 20130731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130829

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5356635

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term