JP2010086047A - シミュレーション装置及びシミュレーション方法 - Google Patents
シミュレーション装置及びシミュレーション方法 Download PDFInfo
- Publication number
- JP2010086047A JP2010086047A JP2008251341A JP2008251341A JP2010086047A JP 2010086047 A JP2010086047 A JP 2010086047A JP 2008251341 A JP2008251341 A JP 2008251341A JP 2008251341 A JP2008251341 A JP 2008251341A JP 2010086047 A JP2010086047 A JP 2010086047A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- execution machine
- cycle number
- execution
- 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
Abstract
【解決手段】格納部32には、複数の命令の種類と、その各々に対して、データハザードが発生していないときの第1実行マシンサイクル数と、データハザードが発生しているときの第2実行マシンサイクル数と、が格納されている。命令によりレジスタに値が書き込まれた場合、生成部21は、命令に対する第1、2実行マシンサイクル数に基づいて読み出し禁止期間を生成する。生成部21は、レジスタを識別するレジスタ識別子と、レジスタライトアクセス時間と読み出し禁止期間とを記録部31に格納する。算出部22は、レジスタがデータハザードの対象になっている場合、レジスタライトアクセス時間、読み出し禁止期間、命令に対する第2実行マシンサイクル数に基づいて実行マシンサイクル数を算出する。
【選択図】図5
Description
図3は、本発明の実施形態によるシミュレーション装置4の構成を示している。本発明の実施形態によるシミュレーション装置4は、汎用コンピュータ(パーソナルコンピュータ、EWS(エンジニアリングワークステーション))上でパイプライン構造を持つマイクロコンピュータのシミュレーションを行うものである。
図6は、シミュレーションエンジン部7の動作を示すフローチャートである。
以上の説明により、本発明の実施形態によるシミュレーション装置4では、プロセッサの動作を模擬する際、命令実行部10は、プロセッサ上で実行可能な命令が与えられ、命令に応じた処理を実行する。実行マシンサイクル数情報格納部32には、複数の命令の種類と、複数の命令の各々に対して、データハザードが発生していないときに実行される第1実行マシンサイクル数と、データハザードが発生しているときに実行される第2実行マシンサイクル数と、が格納されている。命令によりレジスタに値が書き込まれた場合、レジスタライトアクセス情報生成部21は、命令に対する第1、2実行マシンサイクル数を実行マシンサイクル数情報格納部32から読み出し、それらに基づいて、読み出し禁止期間としてパイプライン・ストール・サイクル数を生成する。レジスタライトアクセス情報生成部21は、レジスタを識別するレジスタ識別子と、レジスタに値が書き込まれたときのレジスタライトアクセス時間と、パイプライン・ストール・サイクル数とをレジスタライトアクセス情報記憶部31に格納する。データハザード検出兼実行マシンサイクル数算出部22は、レジスタがデータハザードの対象になっている場合、レジスタライトアクセス情報記憶部31に格納されたレジスタライトアクセス時間及びパイプライン・ストール・サイクル数と、命令に対する第2実行マシンサイクル数と、に基づいて実行マシンサイクル数を算出する。
2 入力装置、
3 出力装置、
4 シミュレーション装置、
5 ユーザインターフェース部、
6 命令データ格納部、
7 シミュレーションエンジン部(シミュレーションプログラム)、
10 命令実行部、
11 命令処理部、
13 実行サイクル数計測部、
21 レジスタライトアクセス情報生成部、
22 データハザード検出兼実行マシンサイクル数算出部、
31 レジスタライトアクセス情報記憶部、
32 実行マシンサイクル数情報格納部、
60 実行結果、
Claims (13)
- プロセッサの動作を模擬するシミュレーション装置であって、
前記プロセッサ上で実行可能な命令が与えられ、前記命令に応じた処理を実行する命令実行部と、
複数の命令の種類と、複数の命令の各々に対して、データハザードが発生していないときに実行される第1実行マシンサイクル数と、前記データハザードが発生しているときに実行される第2実行マシンサイクル数と、が格納された格納部と、
記録部と、
前記命令によりレジスタに値が書き込まれた場合、前記命令に対する前記第1、2実行マシンサイクル数を前記格納部から読み出し、それらに基づいて、読み出し禁止期間としてパイプライン・ストール・サイクル数を生成し、前記レジスタを識別するレジスタ識別子と、前記レジスタに値が書き込まれたときのレジスタライトアクセス時間と、前記パイプライン・ストール・サイクル数とを前記記録部に格納する生成部と、
前記レジスタが前記データハザードの対象になっている場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数と、前記命令に対する前記第2実行マシンサイクル数と、に基づいて実行マシンサイクル数を算出する算出部と、
を具備するシミュレーション装置。 - 前記第2実行マシンサイクル数は、前記第1実行マシンサイクル数と同じかそれよりも大きく、
前記生成部は、前記命令に対する前記第2実行マシンサイクル数から、前記命令に対する前記第1実行マシンサイクル数を減算して、前記パイプライン・ストール・サイクル数を生成する、
請求項1に記載のシミュレーション装置。 - 前記算出部は、前記パイプライン・ストール・サイクル数が0よりも大きい場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数と、前記命令に対する前記第2実行マシンサイクル数と、に基づいて前記実行マシンサイクル数を算出する、
請求項2に記載のシミュレーション装置。 - 前記算出部は、前記レジスタが前記データハザードの対象になっている場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数に基づいて実行待ちサイクル数を生成し、前記命令に対する前記第2実行マシンサイクル数に前記実行待ちサイクル数を加算して前記実行マシンサイクル数を生成する、
請求項1〜3のいずれかに記載のシミュレーション装置。 - 前記算出部は、前記レジスタが前記データハザードの対象になっている場合、前記レジスタライトアクセス時間を表すサイクル数と前記パイプライン・ストール・サイクル数とを加算して前記実行待ちサイクル数を生成し、前記命令に対する前記第2実行マシンサイクル数に前記実行待ちサイクル数を加算して前記実行マシンサイクル数を生成する、
請求項4に記載のシミュレーション装置。 - 前記命令実行部は、前記レジスタが前記データハザードの対象になっている場合、前記データハザードが発生した旨を表すデータハザード有り情報と、前記実行マシンサイクル数と、を含む実行結果を出力する、
請求項1〜5のいずれかに記載のシミュレーション装置。 - プロセッサの動作をコンピュータを用いて模擬するシミュレーション方法であって、
前記プロセッサ上で実行可能な命令が与えられ、前記命令に応じた処理を実行するステップと、
前記命令によりレジスタに値が書き込まれた場合、複数の命令の種類と、複数の命令の各々に対して、データハザードが発生していないときに実行される第1実行マシンサイクル数と、前記データハザードが発生しているときに実行される第2実行マシンサイクル数と、が格納された格納部を参照して、前記命令に対する前記第1、2実行マシンサイクル数を前記格納部から読み出すステップと、
前記第1、2実行マシンサイクル数に基づいて、読み出し禁止期間としてパイプライン・ストール・サイクル数を生成するステップと、
前記レジスタを識別するレジスタ識別子と、前記レジスタに値が書き込まれたときのレジスタライトアクセス時間と、前記パイプライン・ストール・サイクル数とを記録部に格納するステップと、
前記レジスタが前記データハザードの対象になっている場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数と、前記命令に対する前記第2実行マシンサイクル数と、に基づいて実行マシンサイクル数を算出するステップと、
を具備するシミュレーション方法。 - 前記第2実行マシンサイクル数は、前記第1実行マシンサイクル数と同じかそれよりも大きく、
前記パイプライン・ストール・サイクル数を生成するステップは、前記命令に対する前記第2実行マシンサイクル数から、前記命令に対する前記第1実行マシンサイクル数を減算して、前記パイプライン・ストール・サイクル数を生成する、
請求項7に記載のシミュレーション方法。 - 前記実行マシンサイクル数を算出するステップは、前記パイプライン・ストール・サイクル数が0よりも大きい場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数と、前記命令に対する前記第2実行マシンサイクル数と、に基づいて前記実行マシンサイクル数を算出する、
請求項8に記載のシミュレーション方法。 - 前記実行マシンサイクル数を算出するステップは、前記レジスタが前記データハザードの対象になっている場合、
前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数に基づいて実行待ちサイクル数を生成するステップと、
前記命令に対する前記第2実行マシンサイクル数に前記実行待ちサイクル数を加算して前記実行マシンサイクル数を生成するステップと、
を更に含む請求項7〜9のいずれかに記載のシミュレーション方法。 - 前記実行待ちサイクル数を生成するステップは、
前記レジスタが前記データハザードの対象になっている場合、前記レジスタライトアクセス時間を表すサイクル数と前記パイプライン・ストール・サイクル数とを加算して前記実行待ちサイクル数を生成する、
請求項10に記載のシミュレーション方法。 - 前記レジスタが前記データハザードの対象になっている場合、前記データハザードが発生した旨を表すデータハザード有り情報と、前記実行マシンサイクル数と、を含む実行結果を出力するステップ、
を更に具備する請求項7〜11のいずれかに記載のシミュレーション方法。 - 請求項7〜12のいずれかに記載のシミュレーション方法の各ステップをコンピュータに実行させるコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251341A JP5116624B2 (ja) | 2008-09-29 | 2008-09-29 | シミュレーション装置及びシミュレーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251341A JP5116624B2 (ja) | 2008-09-29 | 2008-09-29 | シミュレーション装置及びシミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086047A true JP2010086047A (ja) | 2010-04-15 |
JP5116624B2 JP5116624B2 (ja) | 2013-01-09 |
Family
ID=42249993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008251341A Expired - Fee Related JP5116624B2 (ja) | 2008-09-29 | 2008-09-29 | シミュレーション装置及びシミュレーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5116624B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084178A (ja) * | 2011-10-12 | 2013-05-09 | Fujitsu Ltd | シミュレーション装置,方法,およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149489A (ja) * | 1997-11-17 | 1999-06-02 | Toshiba Corp | シミュレーション装置 |
JPH11238001A (ja) * | 1998-02-19 | 1999-08-31 | Fujitsu Ltd | プロセッサのシミュレータ及びシミュレーション方法 |
JP2001290857A (ja) * | 2000-04-06 | 2001-10-19 | Matsushita Electric Ind Co Ltd | タイミングシミュレータ |
JP2003323463A (ja) * | 2002-04-26 | 2003-11-14 | Toshiba Corp | システムlsi開発環境生成方法及びそのプログラム |
-
2008
- 2008-09-29 JP JP2008251341A patent/JP5116624B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149489A (ja) * | 1997-11-17 | 1999-06-02 | Toshiba Corp | シミュレーション装置 |
JPH11238001A (ja) * | 1998-02-19 | 1999-08-31 | Fujitsu Ltd | プロセッサのシミュレータ及びシミュレーション方法 |
JP2001290857A (ja) * | 2000-04-06 | 2001-10-19 | Matsushita Electric Ind Co Ltd | タイミングシミュレータ |
JP2003323463A (ja) * | 2002-04-26 | 2003-11-14 | Toshiba Corp | システムlsi開発環境生成方法及びそのプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084178A (ja) * | 2011-10-12 | 2013-05-09 | Fujitsu Ltd | シミュレーション装置,方法,およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5116624B2 (ja) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Henderson et al. | Decaf: A platform-neutral whole-system dynamic binary analysis platform | |
Nahir et al. | Bridging pre-silicon verification and post-silicon validation | |
JP2006350686A (ja) | 命令セット・シミュレータ生成装置及びシミュレータ生成方法 | |
JP2008176453A (ja) | シミュレーション装置 | |
Dick et al. | Measurement and Rating of Software-induced Energy Consumption of Desktop PCs and Servers. | |
US10824426B2 (en) | Generating and verifying hardware instruction traces including memory data contents | |
Koliaï et al. | Quantifying performance bottleneck cost through differential analysis | |
Wang et al. | An approach to improve accuracy of source-level TLMs of embedded software | |
JP2014053010A (ja) | 混合モードプログラムのソースコードエラー位置検出装置及び方法 | |
JP5514211B2 (ja) | 分岐オーバーライドを用いたプロセッサ実行のシミュレーション | |
Wang et al. | Specification and verification of side-channel security for open-source processors via leakage contracts | |
Weaver et al. | Are cycle accurate simulations a waste of time | |
Tollec et al. | Exploration of fault effects on formal RISC-V microarchitecture models | |
Kodakara et al. | Extracting effective functional tests from commercial programs | |
JP5116624B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
Wagstaff et al. | Automated ISA branch coverage analysis and test case generation for retargetable instruction set simulators | |
Duran et al. | Simulation and formal: The best of both domains for instruction set verification of risc-v based processors | |
Mihajlović et al. | Dynamically instrumenting the QEMU emulator for Linux process trace generation with the GDB debugger | |
US20110239197A1 (en) | Instance-based field affinity optimization | |
US20110218794A1 (en) | Concretization of abstracted traces | |
US20070089102A1 (en) | System and method for analyzing software performance without requiring hardware | |
JP2008146426A (ja) | 模擬ソースプログラム生成プログラム及び装置、並びに情報処理方法 | |
Letychevskyi et al. | Fuzz Testing Technique and its Use in Cybersecurity Tasks | |
Li et al. | BTBench: A Benchmark for Comprehensive Binary Translation Performance Evaluation | |
JP3688479B2 (ja) | 故障シミュレーション装置、故障シミュレーション方法及びそのシミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120907 |
|
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: 20120926 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121016 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |