JP2012088887A - トレースデータ取得装置、トレースデータ取得装置のトレースデータ取得方法およびデバッグシステム - Google Patents
トレースデータ取得装置、トレースデータ取得装置のトレースデータ取得方法およびデバッグシステム Download PDFInfo
- Publication number
- JP2012088887A JP2012088887A JP2010234342A JP2010234342A JP2012088887A JP 2012088887 A JP2012088887 A JP 2012088887A JP 2010234342 A JP2010234342 A JP 2010234342A JP 2010234342 A JP2010234342 A JP 2010234342A JP 2012088887 A JP2012088887 A JP 2012088887A
- Authority
- JP
- Japan
- Prior art keywords
- trace data
- input
- trace
- unit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【解決手段】トレースデータ入出力状況分析部140は、トレースデータバッファ120の空き容量102に基づいて、トレースデータ101の種類を優先度の高い順に選択する。トレースデータ取捨選択部110は、LSIのトレース信号発生源からトレースデータ101を入力し、入力したトレースデータ101が選択種類のトレースデータ101であるか否かを判定する。トレースデータ101が選択種類のトレースデータ101である場合、トレースデータ取捨選択部110はトレースデータ101をトレースデータバッファ120に記憶する。トレースデータ101が選択種類のトレースデータ101でない場合、トレースデータ取捨選択部110はトレースデータ101を破棄する。
【選択図】図2
Description
その一つの手法として、LSI内部の信号をトレースしてトレースデータをLSI内部のトレースメモリに保存した後、LSIの動作を停止させ、トレースメモリからトレースデータを外部装置等に吸い出す作業を行っていた。
しかし、トレースメモリの容量には限界があるため、被試験プログラムの全てのトレースデータを途切れなく取得することができない。そこで、被試験プログラムを分割し、分割された被試験プログラム毎にトレースデータを取得していた。
種類が異なる複数のデータであって種類毎に優先度が定められた複数のデータそれぞれをトレースデータとして入力するトレースデータ入力部と、
トレースデータを記憶するトレースデータ記憶部と、
前記トレースデータ記憶部の空き容量に基づいて、前記トレースデータ記憶部に記憶するトレースデータの種類を選択種類として優先度の高い順に1種類以上選択するトレースデータ種類選択部と、
前記トレースデータ入力部がトレースデータを入力した場合、前記トレースデータ入力部にトレースデータとして入力された入力データが前記トレースデータ種類選択部により選択された選択種類のトレースデータであるか否かを判定するトレースデータ種類判定部とを備え、
前記トレースデータ記憶部は、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを記憶する。
LSI(Large Scale Integration)内で、バッファの空き容量に応じて取得対象のトレースデータの種類を選択し、選択した種類のトレースデータを取得する形態について説明する。
但し、LSIは、トレースデータを取得する対象装置の一例である。例えば、LSIの代わりにパーソナルコンピュータやサーバ装置などの計算機を対象にして、計算機の内部または外部でトレースデータを取得しても構わない。
デバッグシステム200の構成について、図1に基づいて説明する。
また、LSI210は、複数のトレース信号発生源211を備える。トレース信号発生源211とは、トレース対象のデータ(トレースデータ)を表すトレース信号を発生(入出力)するハードウェア(例えば、回路)またはソフトウェアのことである。CPU219、内部バス212、外部出力インタフェース213、内部メモリ214をトレース信号発生源211にしてもよい。
但し、外部出力インタフェース213の障害等によりトレースデータ101をデバッグ装置220に出力できない場合、LSIトレースデータ取得装置100はLSI210の内部メモリ214にトレースデータ101を出力する。
実施の形態1において、利用者は、トレースデータ101の種類毎に優先度(重要度)を予め定め、定めた優先度に関する情報(後述する選択方法情報103A)をLSIトレースデータ取得装置100に設定しておくものとする。
実施の形態1におけるLSIトレースデータ取得装置100の機能構成について、図2に基づいて説明する。
以下、選択種類を示す情報を「選択種類情報103B」という。
トレースデータ取捨選択部110は、トレースデータ101を入力した場合、入力したトレースデータ(入力データ)がトレースデータ入出力状況分析部140により選択された選択種類のトレースデータ101であるか否かを判定する。
トレースデータ入出力状況分析部140は、トレースデータバッファ120の空き容量102が大きいほど多くのトレースデータ101の種類を選択種類として選択する。また、トレースデータ入出力状況分析部140は、トレースデータバッファ120の空き容量102が小さいほど少ないトレースデータ101の種類を選択種類として選択する。
トレースデータ入出力状況分析部140は、トレースデータバッファ120の空き容量102と所定の容量閾値とを比較する。トレースデータバッファ120の空き容量102が容量閾値より大きい場合、トレースデータ入出力状況分析部140は、トレースデータ101の選択種類を所定の第1の選択種類数だけ選択する。また、トレースデータバッファ120の空き容量102が容量閾値より小さい場合、トレースデータ入出力状況分析部140は、トレースデータ101の選択種類を第1の選択種類数より少ない所定の第2の選択種類数だけ選択する。
選択方法情報103Aは、トレースデータ入出力状況分析部140にトレースデータ101の種類を選択させる選択条件を示す情報である。
例えば、LSIトレースデータ取得装置100はCPUやメモリを備える。また、「〜部」として説明する機能を実行するプログラムはメモリに記憶され、CPUにより読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
実施の形態1におけるトレースデータ取得方法の処理の流れについて、図3に基づいて説明する。
S110の後、S120に進む。
選択種類情報103Bは、トレースデータ101の種類を1種類以上示す情報である。
以下、選択種類情報103Bに示されるトレースデータ101の種類を「選択種類」という。
そして、トレースデータ取捨選択部110は、S110で入力したトレースデータ101が選択種類情報103Bに示される選択種類と同じ種類のトレースデータ101であるか否かを判定する。
この場合、トレースデータ取捨選択部110は、トレースデータ101に設定されているデータ種類と選択種類情報103Bに示されている選択種類とを比較して判定を行う。
S110で入力したトレースデータ101が選択種類情報103Bに示される選択種類と同じ種類のトレースデータ101でない場合(NO)、トレースデータ取捨選択部110はS110で入力したトレースデータ101を破棄し、処理はS110に戻る。
S130の後、S140に進む。
そして、トレースデータ逐次出力部130は、取得したトレースデータ101をLSI210の内部バス212と外部出力インタフェース213とを介してデバッグ装置220に出力する。但し、外部出力インタフェース213の障害等のためトレースデータ101をデバッグ装置220に出力できない場合、トレースデータ逐次出力部130はトレースデータ101をLSI210の内部メモリ214に退避する。
S140の後、S110に戻る。
このため、全てのトレースデータ101をトレースデータバッファ120に保存してしまうと、トレースデータバッファ120の空き容量が無くなり、重要なトレースデータ101を保存できなくなってしまう。
そして、トレースデータ取捨選択部110は、トレースデータ入出力状況分析部140により選択された選択種類のトレースデータ101だけをトレースデータバッファ120に保存する(S120、S130)。
実施の形態1におけるトレースデータ入出力状況分析部140のトレースデータ入出力状況分析処理について、図4に基づいて説明する。
選択方法情報103Aは、トレースデータ101の種類を選択する選択条件を示す情報である。選択方法情報103Aは、利用者によって、トレースデータ制御レジスタ141またはLSIトレースデータ取得装置100のメモリに予め設定されているものとする。
また例えば、選択方法情報103Aは、トレースデータ101の種類毎に優先度を示す。さらに、選択方法情報103Aは、トレースデータバッファ120の空き容量102と容量閾値との大小関係に対応付けて、選択すべきトレースデータ101の種類の数を示す。
空き容量を示す情報とは、空き容量のサイズや空き容量の割合などを意味する。実施の形態1において、空き容量を示す情報を「空き容量102」という。
S220の後、S230に進む。
トレースデータバッファ120の空き容量102に基づいてトレースデータ101の種類を選択することにより、トレースデータバッファ120の空き容量102が少なくなっても、重要なトレースデータ101を保存することができる。
S230の詳細については後述する。
S230の後、S240に進む。
S240の後、S220に戻る。
トレースデータ入出力状況分析処理(図4参照)で実行するトレースデータ種類選択処理(S230)の一例について、図5に基づいて説明する。
また、コマンド信号101A、アドレス信号101B、データ信号101Cの順で優先度(重要度)が高いものとする。
トレースデータ逐次出力部130は、トレースデータバッファ120からトレースデータ101を記憶順に取得し、取得したトレースデータ101を出力する。
トレースデータバッファ120の空き容量102とは、トレースデータバッファ120の空き領域のサイズまたは割合を意味する。
空き容量102が容量閾値(大)より大きい場合、トレースデータ入出力状況分析部140は、全てのトレースデータ101の種類を選択する。
空き容量102が容量閾値(大)より小さく容量閾値(小)より大きい場合、トレースデータ入出力状況分析部140は、優先度が高い種類から順に2つの種類(コマンド信号101A、アドレス信号101B)を選択する。
空き容量102が容量閾値(小)より小さい場合、トレースデータ入出力状況分析部140は、優先度が最も高い種類(コマンド信号101A)を選択する。
図5で説明したトレースデータ種類選択処理(S230)のフローチャートについて、図6に基づいて説明する。
空き容量102が容量閾値(大)以上の場合(YES)、S232に進む。
空き容量102が容量閾値(大)未満の場合(NO)、S233に進む。
S232により、トレースデータ選択処理(S230)は終了する。
空き容量102が容量閾値(小)以上の場合(YES)、S234に進む。
空き容量102が容量閾値(小)未満の場合(NO)、S235に進む。
S234により、トレースデータ選択処理(S230)は終了する。
S235により、トレースデータ選択処理(S230)は終了する。
例えば、トレースデータバッファ120の空き容量102と比較する容量閾値の数は、2つではなく、1つ又は3つ以上であってもよい。
また、トレースデータ101の種類は、3種類ではなく、2種類又は4種類以上であってもよい。
実施の形態1において、空き容量102と容量閾値とを比較することは、利用領域の容量と容量閾値とを比較することに等しい(但し、大小関係は逆転する)。
トレースデータ取捨選択部110は、トレースデータ101を取捨選択する。
トレースデータバッファ120は、トレースデータ101を一時的に保存する。
トレースデータ入出力状況分析部140は、トレースデータ101の入出力状況(空き容量102)を分析する。そして、トレースデータ入出力状況分析部140は、トレースデータバッファ120の残容量(空き容量102)に応じて、トレースデータ取捨選択部110を動的に制御する。
トレースデータ逐次出力部130は、トレースデータバッファ120に保存されているトレースデータ101をトレースデータバッファ120から外部に逐次出力する。
実施の形態1では、トレースデータバッファ120の入出力状況(空き容量102)を分析することにより、トレースデータ101を適切に取捨選択している。
つまり、トレースデータ101を逐次出力できるデータ量が多いときは多くのトレース信号(トレースデータ101)を取得している。また、トレースデータ101を逐次出力できるデータ量が少ないときは優先度の高い限られたトレース信号のみを選択している。
これにより、LSI210の動作を止めることなく、トレースデータ101を取得することができる。さらに、適切な容量閾値を設定することにより、トレースデータバッファ120の記憶容量を最小限に抑えることができる。つまり、トレースデータバッファ120の記憶容量を削減することができる。
性能モニタのカウント値を読み出すには性能モニタにアクセスする必要がある。しかし、LSI210のCPUを用いて性能モニタにアクセスする場合、性能モニタにアクセスし、性能モニタからカウント値を読み出すためのコードをLSI210のプログラムソースに追加する必要がある。また、LSI210のデバッグやLSI210の性能測定のために性能モニタにアクセスする場合、LSI210のCPUが性能モニタにアクセスすることにより、LSI210の使用環境に影響を与える可能性がある。
実施の形態1では、性能モニタをトレース信号発生源211としてLSIトレースデータ取得装置100に接続すれば、性能モニタのカウント値(トレースデータ101の一例)をLSIトレースデータ取得装置100で取得することができる。つまり、LSI210のプログラムソースにコードを追加する必要がなく、LSI210の使用環境に影響を与えない。
トレースデータバッファ120により多くの種類のトレースデータ101を保存するために、トレースデータ101を圧縮してトレースデータバッファ120に保存する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
実施の形態2におけるLSIトレースデータ取得装置100の機能構成について、図7に基づいて説明する。
実施の形態2におけるトレースデータ取得方法の処理の流れについて、図8に基づいて説明する。
S110の後、S120に進む。
入力したトレースデータ101が選択種類のトレースデータ101である場合(YES)、S131に進む。
入力したトレースデータ101が選択種類のトレースデータ101でない場合(NO)、S110に戻る。
トレースデータ101を圧縮することにより、トレースデータ101のデータサイズを小さくし、トレースデータバッファ120の空き容量102を増やすことができる。
トレースデータバッファ120の空き容量102が増えた場合、実施の形態1で説明したように(図4から図6参照)、トレースデータ入出力状況分析部140により選択されるトレースデータ101の種類が増える。つまり、より多くの種類のトレースデータ101をトレースデータバッファ120に保存することができる。
ランレングス符号化方式では、前回と同じデータが入力された場合にはデータを出力はせず、同じデータが入力された回数をカウントする。また、前回と異なるデータが入力された場合、入力されたデータと前回までのカウント回数とを合わせて出力する。これにより、出力データ量を削減することができる。
このランレングス符号化方式は、トレースデータ101の変化が少ない場合に特に有効である。
S132の後、S141に進む。
S141の後、S110に戻る。
圧縮回路150は、トレースデータ取捨選択部110から発生したトレースデータ101を圧縮する。
トレースデータ取捨選択部110で選択したトレース信号(トレースデータ101)を圧縮回路150により圧縮することにより、トレース信号のトレースデータ量を削減し、より多くのトレース信号を取得することができる。
複数の圧縮回路を備えることにより、より多くの種類のトレースデータ101をトレースデータバッファ120に保存する形態について説明する。
以下、実施の形態1、2と異なる事項について主に説明する。説明を省略する事項については実施の形態1、2と同様である。
実施の形態3におけるLSIトレースデータ取得装置100の機能構成について、図9に基づいて説明する。
以下、選択した入力データ(圧縮データ104)を出力した圧縮回路150を「選択回路105B」という。
圧縮条件情報105Aは、圧縮回路分析部152に圧縮データ104を選択させる選択条件を示す情報である。
実施の形態3におけるトレースデータ取得方法の処理の流れについて、図10に基づいて説明する。
S110の後、S120に進む。
入力したトレースデータ101が選択種類のトレースデータ101である場合(YES)、S133に進む。
入力したトレースデータ101が選択種類のトレースデータ101でない場合(NO)、S110に戻る。
したがって、あるトレースデータ101を他の圧縮方式よりも高い圧縮率で圧縮する圧縮方式が別のトレースデータ101を他の圧縮方式よりも高い圧縮率で圧縮できるとは限らない。
そのため、トレースデータ101を異なる圧縮方式で圧縮する複数の圧縮回路150を備えることにより、トレースデータ101をより高い圧縮率で圧縮することができる。
圧縮回路分析部152は、圧縮条件情報105Aに基づいて、複数の圧縮回路150のうちいずれかの圧縮回路150を選択し、選択した圧縮回路150を示す情報を圧縮回路選択部151に入力する。
実施の形態3において、選択した圧縮回路150を「選択回路105B」という。
この場合、圧縮回路分析部152は、複数の圧縮回路150により生成された複数の圧縮データ104のうちデータサイズが最も小さい圧縮データ104を特定し、特定した圧縮データ104を生成した圧縮回路150を選択回路105Bとして選択する。
この場合、圧縮回路分析部152は、圧縮条件情報105Aに指定された圧縮回路150を選択回路105Bとして選択する。
そして、圧縮回路選択部151は、複数の圧縮データ104のうち選択回路105Bから入力した圧縮データ104と、選択回路105Bの圧縮方式を示す識別情報とをトレースデータバッファ120に保存する。
S135の後、S141に進む。
S141の後、S110に戻る。
複数の圧縮回路150は、トレースデータ101を異なる圧縮方式で圧縮する。
圧縮回路選択部151は、圧縮回路150の一つを選択し、選択した圧縮回路150により圧縮されたトレースデータ101をトレースデータバッファ120へ保存する。
圧縮回路制御レジスタ153は、圧縮回路150を選択するために用いる情報を与える。
これにより、単一の圧縮方式でトレースデータ101を圧縮するよりもトレースデータ量を削減し、より多くのトレースデータ101を取得することができる。
所定のイベントが発生した場合にのみトレースデータ101を保存する形態について説明する。
以下、実施の形態1〜3と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜3と同様である。
実施の形態4におけるLSIトレースデータ取得装置100の機能構成について、図11に基づいて説明する。
イベント情報106は、イベント監視部160に判定させるイベントを示す情報である。
実施の形態4におけるトレースデータ取得方法の処理の流れについて、図12に基づいて説明する。
S110の後、S120に進む。
入力したトレースデータ101が選択種類のトレースデータ101である場合(YES)、S121に進む。
入力したトレースデータ101が選択種類のトレースデータ101でない場合(NO)、S110に戻る。
実施の形態4において、イベントを示す信号をイベント発生刺激信号という。また、LSI210にイベントが発生した場合、イベントを発生または検出したLSI210の回路がイベント発生刺激信号を出力する。
また、イベント監視部160は、入力したイベント発生刺激信号に示されるイベントがイベント情報106に示される対象イベントであるか否かを判定する。
但し、イベント監視部160は、その他の判定条件に従って判定しても構わない。例えば、対象イベントのイベント発生刺激信号を入力してから所定の経過時間が経過していない場合、イベント監視部160は、対象イベントが既に発生していると判定してもよい。また、イベント監視部160は、対象イベントのイベント発生刺激信号を入力してから他のイベント発生刺激信号を入力するまで、対象イベントが既に発生していると判定してもよい。
イベント情報106に示される対象イベントが発生していない場合(NO)、イベント監視部160はトレースデータ101を破棄し、処理はS110に戻る。
S136の後、S140に進む。
S140の後、S110に戻る。
イベント監視部160は、規定のイベントが発生したときのみ、トレースデータ取捨選択部110から発生したトレースデータ101をトレースデータバッファ120へ保存する。
イベント制御レジスタ161は、トレースデータ101をトレースデータバッファ120へ保存するためのイベントを制御する。
この場合、圧縮回路150はトレースデータ101を圧縮して得られた圧縮データ104をイベント監視部160に入力し、イベント監視部160は圧縮回路150から入力した圧縮データ104をトレースデータバッファ120に保存する。
この場合、圧縮回路選択部151は選択回路105Bから出力された圧縮データ104と選択回路105Bの圧縮方式を示す識別情報とをイベント監視部160に入力する。そして、イベント監視部160は圧縮回路選択部151から入力した圧縮データ104と圧縮方式の識別情報とをトレースデータバッファ120に保存する。
トレースデータバッファ120に保存するトレースデータ101の種類を、トレースデータバッファ120に入力(保存)したトレースデータ101の入力量と、トレースデータバッファ120から出力したトレースデータ101の出力量とに基づいて選択する形態について説明する。
以下、実施の形態1〜4と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜4と同様である。
実施の形態5におけるLSIトレースデータ取得装置100の機能構成について、図13に基づいて説明する。
トレースデータ入出力状況分析部140は、算出したトレースデータ入出力差と所定の入出力差閾値とを比較する。
トレースデータ入出力差が入出力差閾値より大きい場合、トレースデータ入出力状況分析部140は、トレースデータ101の選択種類を所定の第1の選択種類数だけ選択する。
トレースデータ入出力差が入出力差閾値より小さい場合、トレースデータ入出力状況分析部140は、トレースデータ101の選択種類を第1の選択種類数より多い所定の第2の選択種類数だけ選択する。
実施の形態5におけるトレースデータ取得方法の処理の流れについて、図14に基づいて説明する。
S110の後、S120に進む。
入力したトレースデータ101が選択種類のトレースデータ101である場合(YES)、S137に進む。
入力したトレースデータ101が選択種類のトレースデータ101でない場合(NO)、S110に戻る。
S137の後、S138に進む。
トレースデータ101の総入力量とは、それまでにトレースデータバッファ120に記憶したトレースデータ101の合計サイズのことである。「それまで」とは、例えば、LSI210(またはLSIトレースデータ取得装置100)を起動してから算出を行うときまでである。
トレースデータ101の最大入力量とは、それまでにトレースデータバッファ120に記憶したトレースデータ101のうち最も大きいトレースデータ101のデータサイズのことである。
トレースデータ101の今回の入力量とは、S137でトレースデータバッファ120に今回記憶したトレースデータ101のデータサイズのことである。
トレースデータ101の平均入力量とは、それまでにトレースデータバッファ120に記憶したトレースデータ101の単位時間当たりのデータサイズのことである。
そして、出力トレースデータ監視部171は、トレースデータバッファ120からトレースデータ逐次出力部130に出力したトレースデータ101の出力量を算出する。
トレースデータ101の総出力量とは、それまでにトレースデータバッファ120から出力したトレースデータ101の合計サイズのことである。「それまで」とは、例えば、LSI210(またはLSIトレースデータ取得装置100)を起動してから算出を行うときまでである。
トレースデータ101の最大出力量とは、それまでにトレースデータバッファ120から出力したトレースデータ101のうち最も大きいトレースデータ101のデータサイズのことである。
トレースデータ101の今回の出力量とは、トレースデータバッファ120から今回出力したトレースデータ101のデータサイズのことである。
トレースデータ101の平均出力量とは、それまでにトレースデータバッファ120から出力したトレースデータ101の単位時間当たりのデータサイズのことである。
トレースデータ101の出力可能量とは、トレースデータ逐次出力部130が単位時間当たりに出力できるトレースデータ101のデータサイズのことである。
S142の後、S110に戻る。
実施の形態5におけるトレースデータ入出力状況分析部140のトレースデータ入出力状況分析処理について、図15に基づいて説明する。
実施の形態5において、選択方法情報103Aは、トレースデータ101の入出力量おに基づいたトレースデータ101の選択条件を示す。
S210の後、S220に進む。
S220の後、S221に進む。
入力量情報107Aは入力トレースデータ監視部170により算出されたトレースデータ101の入力量を示す情報であり、出力量情報107Bは出力トレースデータ監視部171により算出されたトレースデータ101の出力量を示す情報である。
S221の後、S230Bに進む。
S230Bの具体例について後述する。
S230Bの後、S240に進む。
S240の後、S220に戻る。
実施の形態5におけるトレースデータ入出力状況分析部140のトレースデータ種類選択処理(S230B)の一例について、図16に基づいて説明する。
空き容量102が容量閾値以上の場合(YES)、S232Bに進む。
空き容量102が容量閾値未満の場合(NO)、S235Bに進む。
トレースデータ入出力状況分析部140は、算出したトレースデータ入出力差と選択方法情報103Aに示される入出力差閾値(小)とを大小比較する。
トレースデータ入出力差が入出力差閾値(小)以下の場合(YES)、つまり、トレースデータ101の平均入力量とトレースデータ101の平均出力量との差が小さい場合、S233Bに進む。
トレースデータ入出力差が入出力差閾値(小)より大きい場合(NO)、つまり、トレースデータ101の平均入力量とトレースデータ101の平均出力量との差が小さくない場合、S234Bに進む。
例えば、現在の選択種類が優先度が最も高いコマンド信号だけである場合、トレースデータ入出力状況分析部140は、優先度が二番目に高いアドレス信号を追加で選択する。この場合、選択種類はコマンド信号とアドレス信号との二種類になる。
S233Bにより、トレースデータ種類選択処理(S230B)は終了する。
トレースデータ入出力差が入出力差閾値(大)以下の場合(YES)、つまり、トレースデータ101の平均入力量とトレースデータ101の平均出力量との差が小さくも大きくもなく中程度の場合、トレースデータ入出力状況分析部140は選択種類を変更せず、トレースデータ種類選択処理(S230B)は終了する。
トレースデータ入出力差が入出力差閾値(大)より大きいの場合(NO)、つまり、トレースデータ101の平均入力量とトレースデータ101の平均出力量との差が大きい場合、S235Bに進む。
例えば、現在の選択種類が全ての種類(コマンド信号、アドレス信号、データ信号)である場合、トレースデータ入出力状況分析部140は、優先度が最も低いデータ信号を選択種類から除外する。この場合、選択種類はコマンド信号とアドレス信号との二種類になる。
S235Bにより、トレースデータ種類選択処理(S230B)は終了する。
また、トレースデータ入出力状況分析部140は、トレースデータ101の出力量を使わずに、トレースデータ101の入力量に基づいてトレースデータ101の種類を選択してもよい。
また、トレースデータ入出力状況分析部140は、トレースデータ101の入力量を使わずに、トレースデータ101の出力量に基づいてトレースデータ101の種類を選択してもよい。
入力トレースデータ監視部170は、トレースデータ取捨選択部110からトレースデータバッファ120へ入力されるトレースデータ101を監視する。
出力トレースデータ監視部171は、トレースデータバッファ120から出力されるトレースデータ101を監視する。
この場合、圧縮回路150はトレースデータ101を圧縮して得られた圧縮データ104を入力トレースデータ監視部170に入力し、入力トレースデータ監視部170は圧縮回路150から入力した圧縮データ104をトレースデータバッファ120に保存する。
入力トレースデータ監視部170は圧縮データ104の入力量を算出し、出力トレースデータ監視部171は圧縮データ104の出力量を算出する。
この場合、圧縮回路選択部151は選択回路105Bから出力された圧縮データ104と選択回路105Bの圧縮方式を示す識別情報とを入力トレースデータ監視部170に入力する。そして、入力トレースデータ監視部170は圧縮回路選択部151から入力した圧縮データ104と圧縮方式の識別情報とをトレースデータバッファ120に保存する。
入力トレースデータ監視部170は圧縮データ104(と圧縮方式の識別情報)の入力量を算出し、出力トレースデータ監視部171は圧縮データ104(と圧縮方式の識別情報)の出力量を算出する。
この場合、入力トレースデータ監視部170はイベント監視部160からトレースデータ101(または圧縮データ104)を入力し、入力したトレースデータ101(または圧縮データ104)をトレースデータバッファ120に保存する。
トレースデータ101を所定の出力先に出力する形態について説明する。
以下、実施の形態1〜5と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜5と同様である。
実施の形態6におけるLSIトレースデータ取得装置100の機能構成について、図17に基づいて説明する。
出力先情報108は、トレースデータ101を出力する出力先を示す情報である。
例えば、外部出力インタフェース213に障害が発生した場合、利用者は、出力先情報108に内部メモリ214を指定する。これにより、トレースデータ101をトレースデータバッファ120から内部メモリ214へ退避することができる。
また、不揮発性のメモリを内部メモリ214として利用すれば、電源が落ちてもデータが消失せず、エラーの対処が可能になる。
また、逐次出力制御レジスタ131にパスワードなどのセキュリティ情報が設定されていない場合に、トレースデータ101をLSI210の外部へ出力しないように制限してもよい。また、トレースデータ逐次出力部130はトレースデータ101を暗号化して出力してもよい。それにより、LSI210のトレースデータ101を不正に取得しようとする攻撃からトレースデータ101を守り、LSI210の内部の処理情報を隠蔽することができる。
また、LSIトレースデータ取得装置100は、実施の形態4と同様に、特定のイベントが発生した場合にのみトレースデータ101を取得しても構わない。
また、LSIトレースデータ取得装置100は、実施の形態5と同様に、トレースデータ101の入出力量に基づいてトレースデータ101の選択種類を決定しても構わない。
LSI210内のLSIトレースデータ取得装置100からトレースデータ101を取得し、取得したトレースデータ101に基づいてLSI210をデバッグするデバッグ装置220について説明する。
実施の形態7におけるデバッグ装置220の機能構成について、図18に基づいて説明する。
データストレージ223は、新たなトレースデータ101を記憶する記憶領域が不足した場合に過去のトレースデータ101が記憶されている記憶領域に新たなトレースデータ101を上書きする。
データストレージ223は、入力データ凍結部222に入力データ凍結通知229が入力された場合、トレースデータ復元部221に入力された新たなトレースデータ101を記憶しない。
デバッグ部224は、トレースデータ101に基づく利用者の指示をキーボードやマウスなどの入力装置から入力し、利用者の指示に従ってデバッグ処理を行う。
デバッグ装置220の「〜部」として説明する構成は「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明する構成は、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。「〜部」として説明する機能を実行するプログラムはメモリに記憶され、CPUにより読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
デバッグ装置220が実行するトレースデータ保存方法の処理の流れについて、図19に基づいて説明する。
トレースデータ101は、圧縮された圧縮データであっても暗号化された暗号化データであっても構わない。但し、圧縮方式または暗号化方式が決まっていない場合、LSIトレースデータ取得装置100は、圧縮方式または暗号化方式を示す識別情報をトレースデータ101と共にデバッグ装置220へ出力するものとする。例えば、実施の形態3のLSIトレースデータ取得装置100は圧縮方式を示す識別情報をトレースデータ101と共にデバッグ装置220へ出力する。
S310の後、S320に進む。
S320の後、S330に進む。
例えば、トレースデータ101が圧縮されている場合、トレースデータ復元部221は、トレースデータ101の圧縮方式を圧縮方式の識別情報に基づいて判定し、判定した圧縮方式に対応する解凍方式でトレースデータ101を解凍する。また、トレースデータ101が暗号化されている場合、トレースデータ復元部221は、トレースデータ101の暗号化方式を暗号化方式の識別情報に基づいて判定し、判定した暗号化方式に対応する復号方式でトレースデータ101を復号する。
但し、トレースデータ101が圧縮も暗号化もされていない場合、S330の復元処理は不要である。
S330の後、S340に進む。
また、入力データ凍結部222は、入力データ凍結通知229が入力されたか否かを判定する。
入力データ凍結通知229は、トレースデータ101が記憶されているデータストレージ223の記憶領域を新たなトレースデータ101で上書きすることを禁止する命令である。入力データ凍結通知229は利用者によってデバッグ装置220に入力され、または、LSI210から通知(入力)される。
入力データ凍結通知229が入力された場合(YES)、入力データ凍結部222はトレースデータ101を破棄し、トレースデータ保存方法の処理は終了する。
入力データ凍結通知229が入力されていない場合(NO)、S350に進む。
データストレージ223は、新たなトレースデータ101を記憶する記憶領域が不足した場合に過去のトレースデータ101が記憶されている記憶領域に新たなトレースデータ101を上書きする。このようにデータを循環式に記憶する記憶装置をリングバッファという。
S350により、トレースデータ保存方法の処理は終了する。
トレースデータ復元部221は、トレースデータ101をデバッグなどに利用可能な情報に復元する。
データストレージ223は、復元されたデータを保存する。
入力データ凍結部222は、データストレージ223へのデータの保存を停止させる。
Claims (12)
- 種類が異なる複数のデータであって種類毎に優先度が定められた複数のデータそれぞれをトレースデータとして入力するトレースデータ入力部と、
トレースデータを記憶するトレースデータ記憶部と、
前記トレースデータ記憶部の空き容量に基づいて、前記トレースデータ記憶部に記憶するトレースデータの種類を選択種類として優先度の高い順に1種類以上選択するトレースデータ種類選択部と、
前記トレースデータ入力部がトレースデータを入力した場合、前記トレースデータ入力部にトレースデータとして入力された入力データが前記トレースデータ種類選択部により選択された選択種類のトレースデータであるか否かを判定するトレースデータ種類判定部とを備え、
前記トレースデータ記憶部は、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを記憶する
ことを特徴とするトレースデータ取得装置。 - 前記トレースデータ種類選択部は、前記トレースデータ記憶部の空き容量が大きいほど多くのトレースデータの種類を選択種類として選択し、前記トレースデータ記憶部の空き容量が小さいほど少ないトレースデータの種類を選択種類として選択する
ことを特徴とする請求項1記載のトレースデータ取得装置。 - 前記トレースデータ種類選択部は、前記トレースデータ記憶部の空き容量と所定の容量閾値とを比較し、前記トレースデータ記憶部の空き容量が前記容量閾値より大きい場合、トレースデータの選択種類を所定の第1の選択種類数だけ選択し、前記トレースデータ記憶部の空き容量が前記容量閾値より小さい場合、トレースデータの選択種類を前記第1の選択種類数より少ない所定の第2の選択種類数だけ選択する
ことを特徴とする請求項1記載のトレースデータ取得装置。 - 前記トレースデータ取得装置は、さらに、
前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを圧縮するトレースデータ圧縮部を備え、
前記トレースデータ記憶部は、前記トレースデータ圧縮部により圧縮された入力データを記憶する
ことを特徴とする請求項1から請求項3いずれかに記載のトレースデータ取得装置。 - 前記トレースデータ取得装置は、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを異なる圧縮方式で圧縮する複数のトレースデータ圧縮部を備え、
前記トレースデータ取得装置は、さらに、
複数のトレースデータ圧縮部により圧縮して得られた複数の入力データのうちいずれかの入力データを選択する圧縮データ選択部を備え、
前記トレースデータ記憶部は、前記圧縮データ選択部により選択された入力データを記憶する
ことを特徴とする請求項4記載のトレースデータ取得装置。 - 前記トレースデータ取得装置は、さらに、
所定のイベントが発生したか否かを判定するイベント判定部を備え、
前記トレースデータ記憶部は、前記イベント判定部により所定のイベントが発生したと判定され、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを記憶する
ことを特徴とする請求項1から請求項5いずれかに記載のトレースデータ取得装置。 - 前記トレースデータ取得装置は、さらに、
前記トレースデータ記憶部に記憶されたトレースデータを所定の出力先へ出力するトレースデータ出力部を備える
ことを特徴とする請求項1から請求項6いずれかに記載のトレースデータ取得装置。 - 種類が異なる複数のデータであって種類毎に優先度が定められた複数のデータそれぞれをトレースデータとして入力するトレースデータ入力部と、
トレースデータを記憶するトレースデータ記憶部と、
前記トレースデータ記憶部に記憶されたトレースデータの記憶量に基づいて、前記トレースデータ記憶部に記憶するトレースデータの種類を選択種類として優先度の高い順に1種類以上選択するトレースデータ種類選択部と、
前記トレースデータ入力部がトレースデータを入力した場合、前記トレースデータ入力部にトレースデータとして入力された入力データが前記トレースデータ種類選択部により選択された選択種類のトレースデータであるか否かを判定するトレースデータ種類判定部とを備え、
前記トレースデータ記憶部は、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを記憶する
ことを特徴とするトレースデータ取得装置。 - 前記トレースデータ取得装置は、さらに、
前記トレースデータ記憶部に記憶されたトレースデータを前記トレースデータ記憶部から出力するトレースデータ出力部を備え、
前記トレースデータ種類選択部は、前記トレースデータ記憶部に記憶されたトレースデータの記憶量と前記トレースデータ記憶部から出力されたトレースデータの出力量とに基づいて、前記トレースデータ記憶部に記憶するトレースデータの種類を選択種類として優先度の高い順に1種類以上選択する
ことを特徴とする請求項8記載のトレースデータ取得装置。 - 前記トレースデータ種類選択部は、前記トレースデータの記憶量から前記トレースデータの出力量を差し引いた値をトレースデータ入出力差として算出し、算出したトレースデータ入出力差と所定の入出力差閾値とを比較し、トレースデータ入出力差が入出力差閾値より大きい場合、トレースデータの選択種類を所定の第1の選択種類数だけ選択し、トレースデータ入出力差が入出力差閾値より小さい場合、トレースデータの選択種類を前記第1の選択種類数より多い所定の第2の選択種類数だけ選択する
ことを特徴とする請求項9記載のトレースデータ取得装置。 - トレースデータ入力部が、種類が異なる複数のデータであって種類毎に優先度が定められた複数のデータそれぞれをトレースデータとして入力し、
トレースデータ種類選択部が、トレースデータ記憶部の空き容量に基づいて、前記トレースデータ記憶部に記憶するトレースデータの種類を選択種類として優先度の高い順に1種類以上選択し、
トレースデータ種類判定部が、前記トレースデータ入力部がトレースデータを入力した場合、前記トレースデータ入力部にトレースデータとして入力された入力データが前記トレースデータ種類選択部により選択された選択種類のトレースデータであるか否かを判定し、
前記トレースデータ記憶部が、前記トレースデータ種類判定部により前記入力データが前記選択種類のトレースデータであると判定された場合に前記入力データを記憶する
ことを特徴とするトレースデータ取得装置のトレースデータ取得方法。 - 請求項1から請求項10いずれかに記載のトレースデータ取得装置を設けたLSI(Large Scale Integration)と、
前記LSIに接続するデバッグ装置とを備え、
前記デバッグ装置は、
前記トレースデータ取得装置から前記トレースデータ記憶部に記憶されたトレースデータを入力するデバッグ入力部と、
トレースデータを記憶する記憶領域を有するデバッグ記憶部であって、新たなトレースデータを記憶する記憶領域が不足した場合に過去のトレースデータが記憶されている記憶領域に新たなトレースデータを上書きするデバッグ記憶部と、
前記デバッグ記憶部に記憶されているトレースデータの保存を指定するトレースデータ保存命令を入力する保存命令入力部とを備え、
前記デバッグ装置の前記デバッグ記憶部は、前記保存命令入力部に保存命令が入力された場合、前記デバッグ入力部に入力された新たなトレースデータを記憶しない
ことを特徴するデバッグシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010234342A JP5606261B2 (ja) | 2010-10-19 | 2010-10-19 | デバッグシステムおよびデバッグシステムのトレースデータ取得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010234342A JP5606261B2 (ja) | 2010-10-19 | 2010-10-19 | デバッグシステムおよびデバッグシステムのトレースデータ取得方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012088887A true JP2012088887A (ja) | 2012-05-10 |
JP5606261B2 JP5606261B2 (ja) | 2014-10-15 |
Family
ID=46260453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010234342A Expired - Fee Related JP5606261B2 (ja) | 2010-10-19 | 2010-10-19 | デバッグシステムおよびデバッグシステムのトレースデータ取得方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5606261B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014211813A (ja) * | 2013-04-19 | 2014-11-13 | 三菱電機株式会社 | トレース収集回路及びトレース収集方法 |
JP2015225574A (ja) * | 2014-05-29 | 2015-12-14 | 株式会社リコー | 制御装置、制御方法及びプログラム |
JP2017503233A (ja) * | 2013-12-12 | 2017-01-26 | インテル コーポレイション | 競合状態を検出する技法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922210B2 (en) | 2019-02-25 | 2021-02-16 | Microsoft Technology Licensing, Llc | Automatic software behavior identification using execution record |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010816A (ja) * | 1998-06-23 | 2000-01-14 | Fujitsu Ltd | デバッグ用トレース装置 |
JP2004327015A (ja) * | 2003-04-10 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 集積回路、光ディスク装置および信号モニタ方法 |
JP2009087343A (ja) * | 2007-09-28 | 2009-04-23 | Arm Ltd | データ処理装置用のトレースストリームを発生するための技術 |
-
2010
- 2010-10-19 JP JP2010234342A patent/JP5606261B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010816A (ja) * | 1998-06-23 | 2000-01-14 | Fujitsu Ltd | デバッグ用トレース装置 |
JP2004327015A (ja) * | 2003-04-10 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 集積回路、光ディスク装置および信号モニタ方法 |
JP2009087343A (ja) * | 2007-09-28 | 2009-04-23 | Arm Ltd | データ処理装置用のトレースストリームを発生するための技術 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014211813A (ja) * | 2013-04-19 | 2014-11-13 | 三菱電機株式会社 | トレース収集回路及びトレース収集方法 |
JP2017503233A (ja) * | 2013-12-12 | 2017-01-26 | インテル コーポレイション | 競合状態を検出する技法 |
JP2015225574A (ja) * | 2014-05-29 | 2015-12-14 | 株式会社リコー | 制御装置、制御方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5606261B2 (ja) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5571847B2 (ja) | 複数の制御システムの異常を検知する異常検知システム | |
US10558545B2 (en) | Multiple modeling paradigm for predictive analytics | |
US8930736B2 (en) | Inferred electrical power consumption of computing devices | |
US9658832B2 (en) | Multi-factor entropy sourcing for random number generators | |
CN105512027B (zh) | 进程状态监控方法和装置 | |
CN109923494B (zh) | 可编程时钟监测器 | |
JP5606261B2 (ja) | デバッグシステムおよびデバッグシステムのトレースデータ取得方法 | |
US11507484B2 (en) | Ethod and computer storage node of shared storage system for abnormal behavior detection/analysis | |
US20170351461A1 (en) | Non-transitory computer-readable storage medium, and data compressing device | |
US8560741B2 (en) | Data processing system comprising a monitor | |
US11422916B2 (en) | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle | |
US10831383B2 (en) | Command line voting using hashing | |
US10489601B2 (en) | Encrypted extended system event log | |
TW201346533A (zh) | 透過二進制轉譯之暫存器錯誤保護技術 | |
KR20170093121A (ko) | 컴퓨팅 디바이스에서의 동기화 | |
US20210010950A1 (en) | Inspection device, inspection method, and computer readable medium | |
US20220253337A1 (en) | Hardware-based predictive fault detection and analysis | |
TWI630478B (zh) | 監控一電子元件溫度的方法及裝置 | |
JP6896035B2 (ja) | 監視システム、監視SaaS提供装置、管理装置、及びプログラム | |
US9606850B2 (en) | Apparatus and method for tracing exceptions | |
US20210373866A1 (en) | Bottleneck detection device and computer readable medium | |
US10063348B2 (en) | Retransmission data processing device, retransmission data communication device, retransmission data communication system, retransmission data processing method, retransmission data communication method, and non-transitory computer readable medium for detecting abnormality by comparing retransmission data to transmission data | |
US11681598B2 (en) | Method and apparatus to facilitate low latency fault mitigation, QoS management and debug of a processing pipeline | |
CN115373923A (zh) | 一种0x7c错误定位方法、装置及介质 | |
JP2021064414A (ja) | システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140710 |
|
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: 20140729 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140826 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5606261 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 |
|
LAPS | Cancellation because of no payment of annual fees |