JP2012190137A - エミュレータ装置 - Google Patents
エミュレータ装置 Download PDFInfo
- Publication number
- JP2012190137A JP2012190137A JP2011051538A JP2011051538A JP2012190137A JP 2012190137 A JP2012190137 A JP 2012190137A JP 2011051538 A JP2011051538 A JP 2011051538A JP 2011051538 A JP2011051538 A JP 2011051538A JP 2012190137 A JP2012190137 A JP 2012190137A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- trace
- branch instruction
- instruction
- address
- 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
- Debugging And Monitoring (AREA)
Abstract
【解決手段】プログラムの実行前、命令コード解析回路70に分岐トレースの対象外とする分岐命令の種類を設定する。マイクロプロセッサによるプログラムの実行開始後、マイクロプロセッサの実行する命令コードが、設定した種類の分岐命令と一致した場合、トレースデータ生成回路30には分岐命令トレースデータ生成信号205が出力されず、トレースデータ202が生成されない。その結果、トレース対象外とした分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリ50への格納が禁止される。
【選択図】図1
Description
を備えたことを特徴とする。
をさらに備えた構成とすることができる。
をさらに備えた構成とすることができる。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るエミュレータ装置(オンチップ・エミュレータ)の構成を示すブロック図である。図1に示すエミュレータ装置1において、CPU10は、エミュレータ装置1全体の制御を司る中央処理装置である。CPU10は、例えば、実行すべき命令(プログラム)が格納されたプログラムメモリ60をアクセスして、そのプログラムをフェッチ、デコード、または実行する。具体的には、CPU10がアドレス201を出力すると、そのアドレス201に対応した命令コード206がプログラムメモリ60から出力される。そして、CPU10は、その命令コード206を実行する。
図2は、本発明の第2の実施形態に係るエミュレータ装置(オンチップ・エミュレータ)の構成を示すブロック図である。なお、図2に示すエミュレータ装置2において、図1に示す第1の実施形態に係るエミュレータ装置と同一の構成要素には同一の符号を付して、ここではそれらの説明を適宜、省略する。
図3は、本発明の第3の実施形態に係るエミュレータ装置(オンチップ・エミュレータ)の構成を示すブロック図である。なお、図3に示すエミュレータ装置3において、図1に示す第1の実施形態に係るエミュレータ装置及び図2に示す第2の実施形態に係るエミュレータ装置と同一の構成要素には同一の符号を付して、ここではそれらの説明を適宜、省略する。
10 CPU
30 トレースデータ生成回路
40 トレースメモリ書き込み制御回路
50 トレースメモリ
60 プログラムメモリ
70 命令コード解析回路
80 分岐アドレス比較回路
90 プログラムアドレス解析回路
201 アドレス
202 トレースデータ
203 分岐タイミング信号
204 分岐命令実行タイミング信号
205 分岐命令トレースデータ生成信号
206 命令コード
207 書き込み制御信号
208 命令コード一致信号
209 アドレス比較信号
210 条件成立信号
211 アドレス解析信号
Claims (5)
- マイクロプロセッサによるプログラムの実行履歴に対するトレース機能を有し、マイクロプロセッサを実装した状態でプログラムのデバッグを行うエミュレータ装置であって、
分岐トレースの対象外とする分岐命令の種類を選択指定する指定手段と、
前記マイクロプロセッサの実行する命令コードの示す分岐命令が、前記選択指定した種類の分岐命令と一致するか否かを判定する判定手段と、
前記判定手段により、前記命令コードの示す分岐命令と前記選択指定した分岐命令とが一致したと判定された場合、該選択指定した分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、
を備えたエミュレータ装置。 - 前記分岐命令のうち条件分岐命令を分岐トレースの対象外として選択指定する指定手段と、
既に実行された条件分岐命令の分岐元アドレスと、現在の条件分岐命令の分岐元アドレスとを比較する比較手段と、
前記比較の結果、前記分岐元アドレスが一致した場合、前記条件分岐命令の実行回数の制限をもとに、前記分岐トレースの対象外とした条件分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、
をさらに備えた請求項1記載のエミュレータ装置。 - 前記分岐トレースの対象外とした条件分岐命令について1回目のループ実行に限り、該条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリに書き込み、該条件分岐命令と同じ条件分岐命令が再度、実行された場合には、該条件分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止することを特徴とする請求項2記載のエミュレータ装置。
- 前記マイクロプロセッサがプログラムを実行する際に出力するプログラムアドレスと、分岐トレースの対象外とする分岐命令を置いた特定のプログラムアドレスとが一致するか否かを判定する判定手段と、
前記判定結果に応じて、前記特定のプログラムアドレスに置いた分岐命令のトレースの有効又は無効を選択する選択手段と、
をさらに備えた請求項3記載のエミュレータ装置。 - 前記選択手段が前記特定のプログラムアドレスに置いた分岐命令のトレースを有効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスがトレースメモリに格納され、前記分岐命令のトレースを無効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納が禁止されることを特徴とする請求項4記載のエミュレータ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011051538A JP5722086B2 (ja) | 2011-03-09 | 2011-03-09 | エミュレータ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011051538A JP5722086B2 (ja) | 2011-03-09 | 2011-03-09 | エミュレータ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012190137A true JP2012190137A (ja) | 2012-10-04 |
| JP5722086B2 JP5722086B2 (ja) | 2015-05-20 |
Family
ID=47083247
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011051538A Expired - Fee Related JP5722086B2 (ja) | 2011-03-09 | 2011-03-09 | エミュレータ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5722086B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102851374B1 (ko) | 2016-11-15 | 2025-08-26 | 삼성전자주식회사 | 트레이스 데이터를 생성하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63113743A (ja) * | 1986-10-31 | 1988-05-18 | Toshiba Corp | 計算機ハ−ドウエアデバツギング方式 |
| JPH05100902A (ja) * | 1991-10-09 | 1993-04-23 | Oki Electric Ind Co Ltd | デバツグ支援機構 |
| JPH1173344A (ja) * | 1997-08-29 | 1999-03-16 | Hitachi Ltd | エミュレータ |
| JPH11306044A (ja) * | 1998-04-22 | 1999-11-05 | Hitachi Ltd | データプロセッサ |
| JP2001005689A (ja) * | 1999-06-23 | 2001-01-12 | Nec Ibaraki Ltd | トレース採取回路 |
-
2011
- 2011-03-09 JP JP2011051538A patent/JP5722086B2/ja not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63113743A (ja) * | 1986-10-31 | 1988-05-18 | Toshiba Corp | 計算機ハ−ドウエアデバツギング方式 |
| JPH05100902A (ja) * | 1991-10-09 | 1993-04-23 | Oki Electric Ind Co Ltd | デバツグ支援機構 |
| JPH1173344A (ja) * | 1997-08-29 | 1999-03-16 | Hitachi Ltd | エミュレータ |
| JPH11306044A (ja) * | 1998-04-22 | 1999-11-05 | Hitachi Ltd | データプロセッサ |
| JP2001005689A (ja) * | 1999-06-23 | 2001-01-12 | Nec Ibaraki Ltd | トレース採取回路 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5722086B2 (ja) | 2015-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9003376B2 (en) | Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems | |
| US8261047B2 (en) | Qualification of conditional debug instructions based on address | |
| US8930657B2 (en) | Method and apparatus for realtime detection of heap memory corruption by buffer overruns | |
| US8261130B2 (en) | Program code trace signature | |
| JP5904993B2 (ja) | マルチスレッド・コードをデバッグする方法、システム、及びコンピュータ・プログラム | |
| US7689867B2 (en) | Multiprocessor breakpoint | |
| US10445494B2 (en) | Attack protection for valid gadget control transfers | |
| US8612944B2 (en) | Code evaluation for in-order processing | |
| TWI461908B (zh) | 於即時指令追蹤紀錄中之除錯動作的選擇性紀錄技術 | |
| CN102063286B (zh) | 程序流控制 | |
| JP2016207231A (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
| JP2013058217A (ja) | プロセッサ命令セット動作モードを比較するデバッグ回路 | |
| JP6073392B2 (ja) | 命令としてデータ値を評価するシステムおよび方法 | |
| US11461220B2 (en) | Techniques to identify improper information in call stacks | |
| JP5722086B2 (ja) | エミュレータ装置 | |
| US9395962B2 (en) | Apparatus and method for executing external operations in prologue or epilogue of a software-pipelined loop | |
| WO2022235265A1 (en) | Debug channel for communication between a processor and an external debug host | |
| US20140298106A1 (en) | Identifying and tagging breakpoint instructions for facilitation of software debug | |
| US20140013312A1 (en) | Source level debugging apparatus and method for a reconfigurable processor | |
| US8726244B2 (en) | Software breakpoint handling by eliminating instruction replacement and execution under certain conditions | |
| US9600284B2 (en) | Computer program instruction analysis | |
| US20140344543A1 (en) | Method and system for memory access protection | |
| CN106021041B (zh) | 基于有限状态机的多周期非流水线cpu调试方法 | |
| JP2006330778A (ja) | データトレース装置及びプログラムデバッグ装置 | |
| JP5993687B2 (ja) | ワンチッププロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140305 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141126 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150202 |
|
| 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: 20150224 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150325 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5722086 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |