JP5116624B2 - シミュレーション装置及びシミュレーション方法 - Google Patents
シミュレーション装置及びシミュレーション方法 Download PDFInfo
- Publication number
- JP5116624B2 JP5116624B2 JP2008251341A JP2008251341A JP5116624B2 JP 5116624 B2 JP5116624 B2 JP 5116624B2 JP 2008251341 A JP2008251341 A JP 2008251341A JP 2008251341 A JP2008251341 A JP 2008251341A JP 5116624 B2 JP5116624 B2 JP 5116624B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- cycles
- execution
- execution machine
- 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.)
- Expired - Fee Related
Links
Images
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実行マシンサイクル数に基づいて、読み出し禁止期間としてパイプライン・ストール・サイクル数を生成し、前記レジスタを識別するレジスタ識別子と、前記レジスタに値が書き込まれたときのレジスタライトアクセス時間と、前記パイプライン・ストール・サイクル数とを記録部に格納するステップと、
前記命令が実行されて前記レジスタの値が読み出され、かつ、前記レジスタが前記データハザードの対象になっている場合、前記記録部に格納された前記レジスタライトアクセス時間及び前記パイプライン・ストール・サイクル数と、前記命令に対する前記第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 JP2010086047A (ja) | 2010-04-15 |
| JP5116624B2 true 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) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5961971B2 (ja) * | 2011-10-12 | 2016-08-03 | 富士通株式会社 | シミュレーション装置,方法,およびプログラム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11149489A (ja) * | 1997-11-17 | 1999-06-02 | Toshiba Corp | シミュレーション装置 |
| JP3291238B2 (ja) * | 1998-02-19 | 2002-06-10 | 富士通株式会社 | プロセッサのシミュレータ及びシミュレーション方法 |
| JP2001290857A (ja) * | 2000-04-06 | 2001-10-19 | Matsushita Electric Ind Co Ltd | タイミングシミュレータ |
| JP4202673B2 (ja) * | 2002-04-26 | 2008-12-24 | 株式会社東芝 | システムlsi開発環境生成方法及びそのプログラム |
-
2008
- 2008-09-29 JP JP2008251341A patent/JP5116624B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010086047A (ja) | 2010-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6342129B2 (ja) | 混合モードプログラムのソースコードエラー位置検出装置及び方法 | |
| JP2008176453A (ja) | シミュレーション装置 | |
| JP2020522784A (ja) | メモリデータ内容を含むハードウェア命令トレースの生成及び検証 | |
| JP5514211B2 (ja) | 分岐オーバーライドを用いたプロセッサ実行のシミュレーション | |
| Kodakara et al. | Extracting effective functional tests from commercial programs | |
| Joannou et al. | Randomized testing of RISC-V CPUs using direct instruction injection | |
| Klemmer et al. | An exploration platform for microcoded RISC-V cores leveraging the one instruction set computer principle | |
| JP2006350686A (ja) | 命令セット・シミュレータ生成装置及びシミュレータ生成方法 | |
| Sharma et al. | Performance Evaluation of Real-Time Systems. | |
| CN102520984B (zh) | 目标软件在指定硬件环境中最差时间的计算方法 | |
| JP5116624B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
| US8756580B2 (en) | Instance-based field affinity optimization | |
| Dick et al. | Measurement and Rating of Software-induced Energy Consumption of Desktop PCs and Servers. | |
| Wagstaff et al. | Automated ISA branch coverage analysis and test case generation for retargetable instruction set simulators | |
| Wang et al. | An approach to improve accuracy of source-level TLMs of embedded software | |
| Letychevskyi et al. | Fuzz testing technique and its use in cybersecurity tasks | |
| Tovar et al. | Survey of RISC-V pipelines and testers | |
| Deligiannis et al. | Enhancing the effectiveness of STLs for GPUs via bounded model checking | |
| JP2004118518A (ja) | シミュレータ、そのシミュレータをコンピュータ読み取り可能に記録した記録媒体 | |
| Charvát et al. | Automatic formal correspondence checking of ISA and RTL microprocessor description | |
| Li et al. | BTBench: A Benchmark for Comprehensive Binary Translation Performance Evaluation | |
| Swierzy et al. | Teem: A cpu emulator for teaching transient execution attacks | |
| Qiu et al. | Nugget: Portable Program Snippets | |
| CN116340082B (zh) | 一种基于硬件虚拟化的riscv应用程序动态分析方法及装置 | |
| JP4983238B2 (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 |