JP4825357B2 - Simulation method, program for causing computer to execute the method, and recording medium recording the program - Google Patents

Simulation method, program for causing computer to execute the method, and recording medium recording the program Download PDF

Info

Publication number
JP4825357B2
JP4825357B2 JP2001107212A JP2001107212A JP4825357B2 JP 4825357 B2 JP4825357 B2 JP 4825357B2 JP 2001107212 A JP2001107212 A JP 2001107212A JP 2001107212 A JP2001107212 A JP 2001107212A JP 4825357 B2 JP4825357 B2 JP 4825357B2
Authority
JP
Japan
Prior art keywords
instruction
exception
vliw
storage location
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.)
Expired - Fee Related
Application number
JP2001107212A
Other languages
Japanese (ja)
Other versions
JP2002304292A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001107212A priority Critical patent/JP4825357B2/en
Publication of JP2002304292A publication Critical patent/JP2002304292A/en
Application granted granted Critical
Publication of JP4825357B2 publication Critical patent/JP4825357B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、VLIW(Very Long Instruction Word)型のアーキテクチャを有するマイクロプロセッサの命令動作をシミュレーションする方法、およびその方法をコンピュータに実行させるプログラムに関する。
【0002】
VLIW型アーキテクチャを有するマイクロプロセッサ(以下、VLIWプロセッサとする)は、一つのVLIW命令に含まれる複数の命令(以下、VLIW命令に含まれる個々の命令を、VLIW命令と区別するため、基本命令とする)を並列に実行する。つまり、たとえば図10に示すように、VLIW命令1が4個の基本命令11,12,13,14で構成されている場合には、同一のVLIW命令1内の4個の基本命令11,12,13,14はVLIWプロセッサにより同時に処理されることになる。
【0003】
同一のVLIW命令中に、同一リソースに対してデータを書き込む基本命令(便宜上、基本命令I1とする)と、それと同一リソースからデータを読み出すという内容の基本命令(便宜上、基本命令I2とする)が含まれている場合がある。この場合、基本命令I2で読み出すデータは基本命令I1で書き込む前のデータである。したがって、VLIWプロセッサの命令動作をシミュレーションする場合には、そのようなデータの取り扱いに注意を要する。また、VLIWプロセッサの命令動作をシミュレーションしているときに例外が発生した場合にも注意を要する。
【0004】
【従来の技術】
従来、ワークステーションなどのコンピュータを用いて通常のプロセッサの命令動作をシミュレーションする場合には、命令を一つずつ逐次的に動作させる。ここで、通常のプロセッサとは、VLIW型アーキテクチャを採用していないマイクロプロセッサのことである。図11は、通常のプロセッサの命令動作をシミュレーションする方法をコンピュータに実行させるプログラムのフローチャートであり、図12は、そのシミュレーション実行時にコンピュータに展開されるデータの構造を示す模式図である。
【0005】
通常のプロセッサの命令動作をシミュレーションする場合、図11に示すように、命令を読み出し(ステップS111)、それをデコードし(ステップS112)、命令種別の判別をおこない(ステップS113)、その判別結果に対応する命令動作をおこない(ステップS114−1〜S114−4)、例外発生の有無を判別し(ステップS115−1〜S115−4)、例外発生なしの場合(ステップS115−1〜S115−4:No)には結果の書き込みをおこない(ステップS116−1〜S116−4)、つぎの命令の動作に移行して同様の処理をおこなう。
【0006】
一方、例外発生ありの場合(ステップS115−1〜S115−4:Yes)には例外動作をおこない(ステップS117−1〜S117−4)、つぎの命令の動作に移行する。このように、個々の命令に対して命令の読み出し動作、演算動作および演算結果の書き込み動作という一連の動作を逐次的におこなう。これはスーパスカラプロセッサなどのように、ハードウエアで並列処理をおこなう構成のプロセッサにおいても同様である。
【0007】
このときシミュレーションプログラムを実行しているコンピュータでは、図12に示すように、レジスタ値保存テーブル21およびメモリ値保存テーブル22の領域が確保される。つまり、演算に必要なレジスタ値やメモリ値はそれぞれレジスタ値保存テーブル21またはメモリ値保存テーブル22から読み出される。そして、演算の結果得られたレジスタ値やメモリ値は、結果の書き込みステップにおいてそれぞれレジスタ値保存テーブル21またはメモリ値保存テーブル22に書き込まれる。また、プログラムカウンタ(PC)の値を保持するプログラムカウンタ値保存テーブル23の領域も確保される。
【0008】
【発明が解決しようとする課題】
上述したシミュレーション方法は通常のプロセッサ用の方法であるが、現段階ではVLIWプロセッサ用のシミュレーション方法が確立されていないため、通常のプロセッサ用のシミュレーション方法を利用してVLIWプロセッサのシミュレーションをおこなう必要がある。しかしながら、その場合にはつぎの3つの問題点がある。
【0009】
第1の問題点は、同一VLIW命令中に同一リソースに対してデータを読み出す基本命令とデータを書き込む基本命令とがある場合の動作である。そのような場合、実際のVLIWプロセッサによる処理では、データ読み出し命令で読み出されるデータは、データ書き込み命令で書き込まれる前のデータである。それに対して、同一VLIW命令中の基本命令を逐次的に実行する方法では、データを読み出す前に、そのデータが同一VLIW命令中の書き込み命令によって既に書き換えられてしまうことがある。
【0010】
第2の問題点は、VLIW命令の実行中にある基本命令で例外が発生した場合の動作である。実際のVLIWプロセッサによる処理では、VLIW命令内の例外が発生していない基本命令については、その実行結果の書き込みが禁止される場合がある。それに対して、基本命令の逐次的な実行方法では、ある基本命令の実行中に例外が検出されても、そのときには既に同一VLIW命令内の別の基本命令の実行が終了しており、その結果が書き込まれていることがある。
【0011】
第3の問題点は、2以上の基本命令の実行結果を同一のリソースに書き込む場合である。そのような場合、実際のVLIWプロセッサによる処理では、実行結果の書き込みが抑止されるか、または同一のリソースに対して複数の命令の実行結果を書き込むことが許される場合には、複数のデータをマージして一つの書き込みがおこなわれる。それに対して、基本命令の逐次的な実行方法では、前に実行した命令の演算結果が、後に実行した命令の演算結果により上書きされてしまうため、後の結果のみが残ることになる。
【0012】
したがって、通常のプロセッサ用のシミュレーション方法、すなわち命令を一つずつ逐次的に実行する方法を利用してVLIWプロセッサのシミュレーションをおこなうためには、上述した問題点を解決する必要がある。
【0013】
本発明は、上記問題点に鑑みてなされたものであって、命令を一つずつ逐次的に実行するシミュレーション方法を利用してVLIWプロセッサのシミュレーションをおこなうことが可能なシミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明は、図1に示すように、VLIW命令を一つずつ読み出し、実行対象であるVLIW命令に含まれるすべての基本命令に対して演算動作をおこない、その演算結果を、本来の保管場所であるリソースデータ保管場所31とは別の一時保管場所32に一時的に記憶し、すべての基本命令の演算結果が一時保管場所32に記憶された後に、一時保管場所32からすべての演算結果を読み出してリソースデータ保管場所31に書き込むという一連の動作をVLIW命令ごとにおこなうことを特徴とする。
【0015】
VLIW命令中のある基本命令の演算動作中に例外が発生した場合には、そのVLIW命令中のすべての基本命令の演算結果を一時保管場所32から破棄し、リソースデータ保管場所31への書き込みを禁止する構成となっていてもよい。
【0016】
また、同一VLIW命令に含まれる2以上の基本命令の演算結果をマージしてリソースデータ保管場所31に記憶する必要がある場合には、図2に示すように、一時保管場所32に別々に記憶された対応する演算結果を読み出し、それらをマージしてからリソースデータ保管場所31に書き込むようになっているとよい。
【0017】
この発明によれば、実行対象であるVLIW命令に含まれるすべての基本命令の演算結果は一時保管場所32に記憶され、すべての演算結果の記憶が終了した後に、それら演算結果が一時保管場所32から読み出されてリソースデータ保管場所31に書き込まれるため、同一VLIW命令中に同一リソースに対してデータを読み出す基本命令とデータを書き込む基本命令とがある場合でも、データ読み出し命令では、データ書き込み命令で書き込まれる前のデータが読み出される。また、同一VLIW命令中の2以上の基本命令の演算結果がマージされて同一のリソースに書き込まれる。さらに、ある基本命令の演算動作中に例外が発生した場合、その基本命令を含むVLIW命令中の他の基本命令の演算結果が書き込まれるのが防止される。
【0018】
【発明の実施の形態】
以下に、本発明の実施の形態にかかるシミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体について図面を参照しつつ詳細に説明する。
【0019】
(実施の形態1)
図3は、本発明の実施の形態1にかかるシミュレーション方法をコンピュータに実行させるプログラムのフローチャートである。また、図4は、そのシミュレーション実行時にコンピュータに展開されるデータの構造の要部を示す模式図である。
【0020】
ワークステーション等のコンピュータを用いて、VLIWプロセッサのシミュレーションが開始されると、まず、シミュレーション対象の一つのVLIW命令に含まれるすべての基本命令、すなわち同時に並列に処理される全基本命令をメモリ値保存テーブル42等から読み出す(ステップS31)。読み出した命令情報は実行命令情報保存テーブル44に格納される。一つのVLIW命令に含まれるすべての基本命令が読み出されると(ステップS32:Yes)、シミュレーション対象となる一つのVLIW命令に含まれるすべての基本命令の情報が実行命令情報保存テーブル44に格納されることになる。
【0021】
つづいて、実行命令情報保存テーブル44から一つの基本命令の情報を読み出し、その基本命令をデコードする(ステップS33)。そして、命令種別の判別をおこない(ステップS34)、その判別結果に対応して、演算処理、読み出し処理、書き込み処理または分岐処理などの命令動作をおこなう(ステップS35−1〜S35−4)。その際、命令の実行に使用するリソース値を、レジスタに保持された値の場合にはレジスタ値保存テーブル41から、またメモリに記憶された値の場合にはメモリ値保存テーブル42からそれぞれ読み出す。レジスタ値保存テーブル41およびメモリ値保存テーブル42は、図1に示すリソースデータ保管場所31に相当する。
【0022】
命令の実行中、プログラムカウンタの値はプログラムカウンタ値保存テーブル43により保持される。実行中の命令が分岐命令の場合には、分岐先のアドレスは書き込みプログラムカウンタ値テーブル47に格納される。分岐命令の実行の結果、指定されたアドレスに分岐する場合には、書き込みプログラムカウンタ値テーブル47に格納された値がプログラムカウンタ値保存テーブル43に保持されることになる。
【0023】
基本命令の実行後、その結果を保存する際には、レジスタ値保存テーブル41またはメモリ値保存テーブル42に直接書き込まず、レジスタに書き込む値の場合には書き込みレジスタデータテーブル45に、またメモリに書き込む値の場合には書き込みメモリデータテーブル46にそれぞれ一旦書き込む(登録する)(ステップS36−1〜S36−4)。書き込みレジスタデータテーブル45および書き込みメモリデータテーブル46は、図1に示す一時保管場所32に相当する。このように実行命令情報保存テーブル44から基本命令の情報を読み出し、デコードして命令を実行し、その結果を書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に一旦書き込むという一連の動作を、同一VLIW命令中に含まれるすべての基本命令についておこなう。
【0024】
すべての基本命令について実行結果を書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に書き込んだら(ステップS37:Yes)、結果書き込み処理をおこなう(ステップS38)。結果書き込み処理では、書き込みレジスタデータテーブル45の保持データをレジスタ値保存テーブル41に書き込み、また書き込みメモリデータテーブル46の保持データをメモリ値保存テーブル42に書き込む。以上の動作をすべてのVLIW命令についておこなう。
【0025】
図5は、結果書き込み処理の一例を示すフローチャートである。結果書き込み処理が開始されると、まず書き込みの済んでいない命令があるか否かを判別し(ステップS51)、なければ(ステップS51:なし)結果書き込み処理を終了する。書き込みの未処理の命令があれば(ステップS51:あり)、実行命令情報保存テーブル44から未処理の命令を取り出し(ステップS52)、その命令の実行結果の格納場所を示す書き込み(登録)データへのポインタ48を取り出す(ステップS53)。
【0026】
そして、レジスタ値保存テーブル41またはメモリ値保存テーブル42に書き込むべきデータがある場合には(ステップS54:あり)、書き込みデータへのポインタ48に基づいて、書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46からデータを取り出し、それをレジスタ値保存テーブル41およびメモリ値保存テーブル42のうちの対応する方のテーブルに書き込む(ステップS55)。そして、ステップS52に戻る。ステップS54で、レジスタ値保存テーブル41またはメモリ値保存テーブル42に書き込むべきデータがない場合(ステップS54:なし)には、ステップS51に戻り、結果書き込み処理が終了するまでそれ以降の処理を繰り返す。
【0027】
ここで、結果書き込み処理においてマージをおこなう例について説明する。たとえば、命令ニーモニックが「Sethi #0x1000、Rd」で表され、その命令動作が、「0x1000をRdで表されるレジスタ番号の上位ビットに書き込む」という命令と、命令ニーモニックが「Setlo #8888、Rd」で表され、その命令動作が、「8888をRdで表されるレジスタ番号の下位ビットに書き込む」という命令が同一のVLIW命令に含まれる場合にマージが発生する。この場合には、書き込みレジスタデータテーブル45に一時的に保持された「0x1000」と「8888」を読み出して、それらをマージした値「0x10008888」をレジスタ値保存テーブル41のRdに書き込むことになる。
【0028】
上述したシミュレーション方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フロッピーディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、上記記録媒体を介して、インターネットなどのネットワークを介して配布することができる。
【0029】
つぎに、上述したシミュレーション方法を実行するコンピュータのハードウエア構成について説明する。図6は、そのハードウエア構成を示すブロック図である。このコンピュータは、たとえばCPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、FDD(フロッピーディスクドライブ)106と、ディスプレイ108と、通信インターフェイス(I/F)109と、キーボード111と、マウス等(種々のポインティング・デバイスを含む)112と、スキャナ113と、プリンタ114と、CD−ROMドライブ(DVDドライブを含む)116とがバス100を介して相互に接続された構成となっている。
【0030】
CPU101は装置全体の制御をおこなうとともに、VLIWプロセッサの代わりにVLIW命令を実行する。ROM102はブートプログラム等を記億している。RAM103はCPU101のワークエリアとして使用される。このRAM103に、上述したレジスタ値保存テーブル41、メモリ値保存テーブル42、プログラムカウンタ値保存テーブル43、実行命令情報保存テーブル44、書き込みレジスタデータテーブル45、書き込みメモリデータテーブル46および書き込みプログラムカウンタ値テーブル47が展開される。
【0031】
HDD(ハードディスクドライブ)104は、CPU101の制御にしたがってHD(ハードディスク)105に対するデータの書き込みおよび読み出しを制御する。FDD(フロッピーディスクドライブ)106は、CPU101の制御にしたがって、着脱可能な記録媒体であるFD(フロッピーディスク)107に対するデータの書き込みおよび読み出しを制御する。
【0032】
ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報等のデータに関するウインドウ(ブラウザ)を表示する。通信インターフェイス(I/F)109は、有線または無線の通信回線110を介してネットワーク150に接続され、ネットワーク150と内部とのインターフェイスを司る。キーボード111は、文字、数値、各種指示等の入力のための複数のキーを備える。マウス等112は、カーソルの移動や範囲選択、あるいはウインドウの移動やサイズの変更、アイコンの選択、移動等をおこなうのに使用される。
【0033】
スキャナ113は画像を光学的に読み取るための装置である。プリンタ114は、ウインドウに表示された内容等を印刷する。CD−ROMドライブ116は、着脱可能な記録媒体であるCD−ROM(DVDを含む)115に対するデータの読み出しを制御する。
【0034】
上述した実施の形態1によれば、実行対象であるVLIW命令に含まれるすべての基本命令の演算結果は一時保管場所32である書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に記憶され、すべての演算結果の記憶が終了した後に、それら演算結果が書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46から読み出されて本来のリソースデータ保管場所31であるレジスタ値保存テーブル41またはメモリ値保存テーブル42に書き込まれるため、同一VLIW命令中に同一リソースに対してデータを読み出す基本命令とデータを書き込む基本命令とがある場合でも、データ読み出し命令では、データ書き込み命令で書き込まれる前のデータを読み出すことができる。
【0035】
また、同一VLIW命令中の2以上の基本命令の演算結果をマージして同一のリソースに書き込むことができる。したがって、命令を一つずつ逐次的に実行するシミュレーション方法を利用してVLIWプロセッサのシミュレーションを正しくおこなうことができる。
【0036】
(実施の形態2)
実施の形態2にかかるシミュレーション方法は、実施の形態1の方法において、例外発生時に例外処理をおこなうようにしたものである。図7は、本発明の実施の形態2にかかるシミュレーション方法をコンピュータに実行させるプログラムのフローチャートであり、図8は、そのシミュレーション実行時にコンピュータに展開されるデータの構造の要部を示す模式図である。
【0037】
実施の形態2にかかるシミュレーション方法においては、一つのVLIW命令内のすべての基本命令について実行結果を書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に一旦保持するまでの処理(ステップS71〜S77)は、実施の形態1の図3に関連して説明したステップS31〜S37までと同じである。したがって、ステップS71〜S77の説明は、実施の形態1の中の説明においてS31〜S37をS71〜S77に読み替えたものとし、重複する説明を省略する。
【0038】
ただし、基本命令ごとに命令動作をおこなうステップS75−1〜75−4において、ある基本命令の実行中に例外が発生した場合には、その基本命令に関しては書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46へのデータ書き込みをおこなわずに、例外発生フラグ49に「1」を書き込む。例外発生フラグ49の領域は、符号41〜47で示す各種テーブルの領域とともにRAM103に確保される。実行中に例外が発生しなかった基本命令については、実施の形態1と同様に、実行結果を書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に一旦書き込む(ステップS76−1〜S76−4)。
【0039】
そして、すべての基本命令について実行結果を書き込みレジスタデータテーブル45または書き込みメモリデータテーブル46に書き込んだら(ステップS77:Yes)、例外発生フラグ49を確認する(ステップS78)。確認した結果、例外発生フラグ49の値が「0」であれば(ステップS78:No)、例外が発生していないことを意味するので、実施の形態1と同様に結果書き込み処理をおこない(ステップS79)、つぎのVLIW命令のシミュレーションに進む。結果書き込み処理の内容は図5に関連して説明したとおりである。
【0040】
例外発生フラグ49を確認した結果、例外発生フラグ49の値が「1」であれば(ステップS78:Yes)、VLIW命令内のいずれかの基本命令で例外が発生したことを意味する。したがって、この場合には、ステップS79の結果書き込み処理をおこなわずに例外処理をおこない(ステップS80)、つぎのVLIW命令のシミュレーションに進む。
【0041】
図9は、例外処理の一例を示すフローチャートである。例外処理が開始されると、まず発生した例外の種類を調べる(ステップS91)。そして、調べた結果を例外情報としてレジスタ値保存テーブル41に書き込む(ステップS92−1〜S92−4)。つづいて、発生した例外の種別を調べ(ステップS93)、発生した例外が正確な例外である場合(ステップS94:VLIW命令中の例外発生命令以外の命令を未実行にする種類の例外の場合)には、実行結果の一時保管場所32である書き込みレジスタデータテーブル45および書き込みメモリデータテーブル46に保持されているデータを破棄する(ステップS95)。
【0042】
つまり、例外が発生したVLIW命令は未実行となる。一方、ステップS93で発生した例外の種別を調べた結果、発生した例外が不正確な例外である場合(ステップS94:VLIW命令中の例外発生命令以外の命令を実行完了にする種類の例外の場合)には、例外が発生しなかった基本命令の実行結果について結果書き込み処理をおこなう(ステップS96)。この結果書き込み処理の内容は図5に関連して説明したとおりである。
【0043】
ここで、正確な例外とは、例外が発生した命令よりも前の命令についてはすべての命令が完了し、例外が発生した命令よりも後の命令についてはすべて実行していないことを保証する例外のことである。VLIW命令の場合には、例外が発生した命令を含むVLIW命令は未実行となる。一方、不正確な例外とは、例外が発生した命令よりも後の命令でも、例外の検出よりも前に実行が完了していることがあり得る例外のことである。
【0044】
たとえば、例外を検出するのに時間がかかるような命令で例外が発生し、かつそれよりも後続の命令の実行時間が短い場合、例外検出前に後続の命令の実行が終了してしまい、その実行結果が書き込まれている可能性があり、このような場合に不正確な例外となる。ただし、不正確な例外であっても、例外が発生していない命令の実行時間が長すぎると、実行結果が書き込まれないことがある。
【0045】
なお、実施の形態2のシミュレーション方法は、あらかじめ用意されたプログラムをコンピュータで実行することにより実現することができること、そのプログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されること、またそのプログラムがネットワークを介して配布することができることなどは、実施の形態1と同様である。
【0046】
上述した実施の形態2によれば、実施の形態1と同様に、同一VLIW命令中に同一リソースに対してデータを読み出す基本命令とデータを書き込む基本命令とがある場合でも、データ読み出し命令では、データ書き込み命令で書き込まれる前のデータを読み出すことができること、同一VLIW命令中の2以上の基本命令の演算結果をマージして同一のリソースに書き込むことができることのほかに、例外発生時にも正しく対処することができる。したがって、命令を一つずつ逐次的に実行するシミュレーション方法を利用してVLIWプロセッサのシミュレーションを正しくおこなうことができる。
【0047】
以上において本発明は、上述した各実施の形態に限らず、種々変更することが可能である。
【0048】
【発明の効果】
本発明によれば、実行対象であるVLIW命令に含まれるすべての基本命令の演算結果は一時保管場所に記憶され、すべての演算結果の記憶が終了した後に、それら演算結果が一時保管場所から読み出されて本来の保管場所に書き込まれるため、上述した命令を一つずつ逐次的に実行するシミュレーション方法を利用してVLIWプロセッサのシミュレーションをおこなう際に生じる不具合を解消することができるので、VLIWプロセッサのシミュレーションを正しくおこなうことができる。
【図面の簡単な説明】
【図1】本発明にかかるシミュレーション方法を実行する際のデータ構造およびデータの流れを模式的に示す原理図である。
【図2】本発明にかかるシミュレーション方法を実行した結果、データのマージをおこなう場合のデータ構造およびデータの流れを模式的に示す原理図である。
【図3】本発明の実施の形態1にかかるシミュレーション方法をコンピュータに実行させるプログラムのフローチャートである。
【図4】本発明の実施の形態1にかかるシミュレーション方法をコンピュータに実行させる際にコンピュータに展開されるデータの構造の要部を示す模式図である。
【図5】図3に示すシミュレーション方法における結果書き込み処理の一例を示すフローチャートである。
【図6】本発明にかかるシミュレーション方法の実行に供せられるコンピュータのハードウエア構成を示すブロック図である。
【図7】本発明の実施の形態2にかかるシミュレーション方法をコンピュータに実行させるプログラムのフローチャートである。
【図8】本発明の実施の形態2にかかるシミュレーション方法をコンピュータに実行させる際にコンピュータに展開されるデータの構造の要部を示す模式図である。
【図9】図7に示すシミュレーション方法における例外処理の一例を示すフローチャートである。
【図10】VLIW命令の構成の一例を示す概念図である。
【図11】通常のプロセッサの命令動作をシミュレーションする方法をコンピュータに実行させるプログラムのフローチャートである。
【図12】通常のプロセッサの命令動作をシミュレーションする方法を実行する際のデータ構造を示す模式図である。
【符号の説明】
31 リソースデータ保管場所
32 一時保管場所
41 レジスタ値保存テーブル
42 メモリ値保存テーブル
45 書き込みレジスタデータテーブル
46 書き込みメモリデータテーブル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for simulating instruction operation of a microprocessor having a VLIW (Very Long Instruction Word) type architecture, and a program for causing a computer to execute the method.
[0002]
A microprocessor having a VLIW type architecture (hereinafter referred to as a VLIW processor) includes a plurality of instructions included in one VLIW instruction (hereinafter referred to as a VLIW instruction in order to distinguish individual instructions included in a VLIW instruction from a VLIW instruction). Execute) in parallel. That is, for example, as shown in FIG. 10, when the VLIW instruction 1 is composed of four basic instructions 11, 12, 13, and 14, the four basic instructions 11 and 12 in the same VLIW instruction 1 are used. , 13, 14 are processed simultaneously by the VLIW processor.
[0003]
In the same VLIW instruction, there are a basic instruction for writing data to the same resource (for convenience, the basic instruction I1) and a basic instruction for reading data from the same resource (for convenience, the basic instruction I2). May be included. In this case, the data read by the basic instruction I2 is data before being written by the basic instruction I1. Therefore, when simulating the instruction operation of the VLIW processor, care must be taken in handling such data. Care should also be taken when an exception occurs while simulating the instruction operation of the VLIW processor.
[0004]
[Prior art]
Conventionally, when a normal processor instruction operation is simulated using a computer such as a workstation, the instructions are sequentially operated one by one. Here, a normal processor is a microprocessor that does not employ a VLIW architecture. FIG. 11 is a flowchart of a program that causes a computer to execute a method for simulating an instruction operation of a normal processor. FIG. 12 is a schematic diagram illustrating a structure of data developed in the computer when the simulation is executed.
[0005]
When simulating a normal processor instruction operation, as shown in FIG. 11, the instruction is read (step S111), decoded (step S112), and the instruction type is determined (step S113). The corresponding instruction operation is performed (steps S114-1 to S114-4), the presence or absence of an exception is determined (steps S115-1 to S115-4), and if no exception occurs (steps S115-1 to S115-4: In No), the result is written (steps S116-1 to S116-4), and the process proceeds to the operation of the next instruction to perform the same processing.
[0006]
On the other hand, if an exception has occurred (steps S115-1 to S115-4: Yes), an exception operation is performed (steps S117-1 to S117-4), and the operation proceeds to the next instruction operation. In this way, a series of operations such as an instruction read operation, an operation operation, and an operation result write operation are sequentially performed for each instruction. The same applies to a processor configured to perform parallel processing by hardware, such as a superscalar processor.
[0007]
At this time, in the computer executing the simulation program, areas of the register value storage table 21 and the memory value storage table 22 are secured as shown in FIG. That is, the register value and the memory value necessary for the calculation are read from the register value storage table 21 or the memory value storage table 22, respectively. Then, the register value and the memory value obtained as a result of the calculation are written in the register value storage table 21 or the memory value storage table 22 in the result writing step, respectively. An area of the program counter value storage table 23 that holds the value of the program counter (PC) is also secured.
[0008]
[Problems to be solved by the invention]
Although the above-described simulation method is a method for a normal processor, since a simulation method for a VLIW processor has not been established at this stage, it is necessary to perform a simulation of the VLIW processor using a simulation method for a normal processor. is there. However, in that case, there are the following three problems.
[0009]
The first problem is the operation when there are a basic instruction for reading data and a basic instruction for writing data in the same resource in the same VLIW instruction. In such a case, in the actual processing by the VLIW processor, the data read by the data read command is the data before being written by the data write command. In contrast, in the method of sequentially executing basic instructions in the same VLIW instruction, the data may already be rewritten by a write instruction in the same VLIW instruction before the data is read.
[0010]
The second problem is the operation when an exception occurs in a basic instruction during execution of the VLIW instruction. In actual processing by the VLIW processor, writing of the execution result of a basic instruction in which no exception has occurred in the VLIW instruction may be prohibited. On the other hand, in the sequential execution method of the basic instruction, even if an exception is detected during execution of a certain basic instruction, the execution of another basic instruction in the same VLIW instruction has already ended, and as a result May have been written.
[0011]
The third problem is when writing the execution results of two or more basic instructions in the same resource. In such a case, in the processing by the actual VLIW processor, writing of execution results is suppressed, or when writing execution results of multiple instructions to the same resource is permitted, multiple data are stored. Merge to create a single write. On the other hand, in the sequential execution method of the basic instruction, the operation result of the previously executed instruction is overwritten by the operation result of the instruction executed later, so that only the subsequent result remains.
[0012]
Therefore, in order to simulate a VLIW processor using a normal processor simulation method, that is, a method of sequentially executing instructions one by one, it is necessary to solve the above-described problems.
[0013]
The present invention has been made in view of the above problems, and is a simulation method capable of simulating a VLIW processor using a simulation method that sequentially executes instructions one by one, and the method is a computer. An object of the present invention is to provide a program to be executed and a recording medium on which the program is recorded.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, the present invention reads VLIW instructions one by one as shown in FIG. 1 and performs arithmetic operations on all basic instructions included in the VLIW instruction to be executed. Is temporarily stored in a temporary storage location 32 that is different from the resource data storage location 31 that is the original storage location, and after the calculation results of all the basic instructions are stored in the temporary storage location 32, the temporary storage location 32 is stored. A series of operations of reading all calculation results from and writing them to the resource data storage location 31 is performed for each VLIW instruction.
[0015]
If an exception occurs during the operation of a basic instruction in a VLIW instruction, the operation results of all the basic instructions in the VLIW instruction are discarded from the temporary storage location 32 and written to the resource data storage location 31. The configuration may be prohibited.
[0016]
If it is necessary to merge the operation results of two or more basic instructions included in the same VLIW instruction and store them in the resource data storage location 31, they are stored separately in the temporary storage location 32 as shown in FIG. The corresponding calculation results may be read out and merged before being written into the resource data storage location 31.
[0017]
According to the present invention, the operation results of all basic instructions included in the VLIW instruction to be executed are stored in the temporary storage location 32, and after storing all the operation results, the operation results are stored in the temporary storage location 32. Since the data read command is written in the resource data storage location 31, even if there are a basic command for reading data and a basic command for writing data to the same resource in the same VLIW command, The data before being written in is read out. In addition, the operation results of two or more basic instructions in the same VLIW instruction are merged and written to the same resource. Furthermore, when an exception occurs during the operation of a certain basic instruction, it is prevented that the operation result of another basic instruction in the VLIW instruction including that basic instruction is written.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a simulation method according to an embodiment of the present invention, a program for causing the computer to execute the method, and a recording medium on which the program is recorded will be described in detail with reference to the drawings.
[0019]
(Embodiment 1)
FIG. 3 is a flowchart of a program that causes a computer to execute the simulation method according to the first embodiment of the present invention. FIG. 4 is a schematic diagram showing the main part of the data structure developed in the computer when the simulation is executed.
[0020]
When simulation of a VLIW processor is started using a computer such as a workstation, first, all basic instructions included in one VLIW instruction to be simulated, that is, all basic instructions that are simultaneously processed in parallel, are stored in memory values. Read from the table 42 or the like (step S31). The read instruction information is stored in the execution instruction information storage table 44. When all the basic instructions included in one VLIW instruction are read (step S32: Yes), information on all the basic instructions included in one VLIW instruction to be simulated is stored in the execution instruction information storage table 44. It will be.
[0021]
Subsequently, information on one basic instruction is read from the execution instruction information storage table 44, and the basic instruction is decoded (step S33). Then, the instruction type is determined (step S34), and instruction operations such as arithmetic processing, read processing, write processing, or branch processing are performed corresponding to the determination result (steps S35-1 to S35-4). At this time, the resource value used for execution of the instruction is read from the register value storage table 41 in the case of a value held in the register, and from the memory value storage table 42 in the case of a value stored in the memory. The register value storage table 41 and the memory value storage table 42 correspond to the resource data storage location 31 shown in FIG.
[0022]
During the execution of the instruction, the value of the program counter is held by the program counter value storage table 43. When the instruction being executed is a branch instruction, the branch destination address is stored in the write program counter value table 47. When branching to a specified address as a result of execution of the branch instruction, the value stored in the write program counter value table 47 is held in the program counter value storage table 43.
[0023]
When saving the result after execution of the basic instruction, the result is not written directly to the register value saving table 41 or the memory value saving table 42, but in the case of a value to be written to the register, it is written to the writing register data table 45 or to the memory. If it is a value, it is once written (registered) in the write memory data table 46 (steps S36-1 to S36-4). The write register data table 45 and the write memory data table 46 correspond to the temporary storage location 32 shown in FIG. In this way, a series of operations of reading the basic instruction information from the execution instruction information storage table 44, decoding and executing the instruction, and temporarily writing the result into the write register data table 45 or the write memory data table 46 is performed in the same VLIW. This is done for all basic instructions contained in the instruction.
[0024]
When the execution results for all the basic instructions are written into the write register data table 45 or the write memory data table 46 (step S37: Yes), the result writing process is performed (step S38). In the result writing process, the data held in the write register data table 45 is written into the register value storage table 41, and the data held in the write memory data table 46 is written into the memory value storage table. The above operation is performed for all VLIW instructions.
[0025]
FIG. 5 is a flowchart illustrating an example of the result writing process. When the result writing process is started, it is first determined whether or not there is an instruction that has not been written (step S51), and if not (step S51: none), the result writing process is terminated. If there is an unprocessed instruction to be written (step S51: present), an unprocessed instruction is extracted from the execution instruction information storage table 44 (step S52), and written (registered) data indicating the storage location of the execution result of the instruction. Is taken out (step S53).
[0026]
If there is data to be written to the register value storage table 41 or the memory value storage table 42 (step S54: present), the write register data table 45 or the write memory data table 46 is based on the pointer 48 to the write data. The data is extracted from the data, and is written in the corresponding one of the register value storage table 41 and the memory value storage table 42 (step S55). Then, the process returns to step S52. If there is no data to be written in the register value storage table 41 or the memory value storage table 42 in step S54 (step S54: None), the process returns to step S51, and the subsequent processing is repeated until the result writing processing is completed.
[0027]
Here, an example in which merging is performed in the result writing process will be described. For example, the instruction mnemonic is represented by “Seti # 0x1000, Rd”, and the instruction operation is an instruction “write 0x1000 to the upper bits of the register number represented by Rd” and the instruction mnemonic is “Setlo # 8888, Rd”. When the instruction “write 8888 to the lower bits of the register number represented by Rd” is included in the same VLIW instruction, the instruction operation is merged. In this case, “0x1000” and “8888” temporarily stored in the write register data table 45 are read, and a value “0x10008888” obtained by merging them is written to Rd of the register value storage table 41.
[0028]
The simulation method described above can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, floppy disk, CD-ROM, MO, or DVD, and is executed by being read from the recording medium by the computer. The program can be distributed via the recording medium and a network such as the Internet.
[0029]
Next, a hardware configuration of a computer that executes the above-described simulation method will be described. FIG. 6 is a block diagram showing the hardware configuration. The computer includes, for example, a CPU 101, a ROM 102, a RAM 103, an HDD (hard disk drive) 104, an FDD (floppy disk drive) 106, a display 108, a communication interface (I / F) 109, a keyboard 111, and a mouse. Etc. (including various pointing devices) 112, a scanner 113, a printer 114, and a CD-ROM drive (including a DVD drive) 116 are connected to each other via a bus 100.
[0030]
The CPU 101 controls the entire apparatus and executes a VLIW instruction instead of the VLIW processor. The ROM 102 stores a boot program and the like. The RAM 103 is used as a work area for the CPU 101. In the RAM 103, the above-described register value storage table 41, memory value storage table 42, program counter value storage table 43, execution instruction information storage table 44, write register data table 45, write memory data table 46, and write program counter value table 47 Is expanded.
[0031]
The HDD (hard disk drive) 104 controls writing and reading of data to and from the HD (hard disk) 105 according to the control of the CPU 101. An FDD (floppy disk drive) 106 controls writing and reading of data with respect to an FD (floppy disk) 107 which is a detachable recording medium according to the control of the CPU 101.
[0032]
The display 108 displays a window (browser) regarding data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. A communication interface (I / F) 109 is connected to the network 150 via a wired or wireless communication line 110 and serves as an interface between the network 150 and the inside. The keyboard 111 includes a plurality of keys for inputting characters, numerical values, various instructions, and the like. The mouse 112 or the like is used to move a cursor, select a range, move a window, change its size, select an icon, move, and the like.
[0033]
The scanner 113 is a device for optically reading an image. The printer 114 prints the contents displayed in the window. The CD-ROM drive 116 controls reading of data from a CD-ROM (including DVD) 115 which is a detachable recording medium.
[0034]
According to the first embodiment described above, the operation results of all the basic instructions included in the VLIW instruction to be executed are stored in the write register data table 45 or the write memory data table 46 which is the temporary storage location 32, and all the After storing the operation results, the operation results are read from the write register data table 45 or the write memory data table 46 and stored in the register value storage table 41 or the memory value storage table 42 which is the original resource data storage location 31. Since data is written, even if there are a basic command for reading data from the same resource and a basic command for writing data in the same VLIW command, the data read command can read data before being written by the data write command. .
[0035]
In addition, the operation results of two or more basic instructions in the same VLIW instruction can be merged and written to the same resource. Therefore, the simulation of the VLIW processor can be correctly performed using a simulation method that sequentially executes instructions one by one.
[0036]
(Embodiment 2)
The simulation method according to the second embodiment is such that exception processing is performed when an exception occurs in the method of the first embodiment. FIG. 7 is a flowchart of a program that causes a computer to execute the simulation method according to the second embodiment of the present invention, and FIG. 8 is a schematic diagram showing the main part of the structure of data developed in the computer when the simulation is executed. is there.
[0037]
In the simulation method according to the second embodiment, the processing (steps S71 to S77) until the execution results are temporarily stored in the write register data table 45 or the write memory data table 46 for all the basic instructions in one VLIW instruction is executed. This is the same as steps S31 to S37 described in relation to FIG. 3 of the first embodiment. Therefore, in the description of steps S71 to S77, it is assumed that S31 to S37 are replaced with S71 to S77 in the description in the first embodiment, and redundant description is omitted.
[0038]
However, if an exception occurs during execution of a certain basic instruction in steps S75-1 to S75-4 in which the instruction operation is performed for each basic instruction, the write register data table 45 or the write memory data table is related to the basic instruction. “1” is written to the exception occurrence flag 49 without writing data to 46. The area of the exception occurrence flag 49 is secured in the RAM 103 together with areas of various tables indicated by reference numerals 41 to 47. As for the basic instruction for which no exception has occurred during execution, the execution result is temporarily written in the write register data table 45 or the write memory data table 46 as in the first embodiment (steps S76-1 to S76-4).
[0039]
When the execution results for all the basic instructions are written into the write register data table 45 or the write memory data table 46 (step S77: Yes), the exception occurrence flag 49 is checked (step S78). As a result of checking, if the value of the exception occurrence flag 49 is “0” (step S78: No), it means that no exception has occurred, so the result writing process is performed as in the first embodiment (step In step S79, the process proceeds to the next VLIW instruction simulation. The contents of the result writing process are as described with reference to FIG.
[0040]
As a result of checking the exception occurrence flag 49, if the value of the exception occurrence flag 49 is “1” (step S78: Yes), it means that an exception has occurred in any of the basic instructions in the VLIW instruction. Therefore, in this case, exception processing is performed without performing the result writing process in step S79 (step S80), and the process proceeds to the next VLIW instruction simulation.
[0041]
FIG. 9 is a flowchart illustrating an example of exception processing. When exception processing is started, the type of exception that has occurred is first examined (step S91). Then, the checked result is written as exception information in the register value storage table 41 (steps S92-1 to S92-4). Subsequently, the type of the exception that has occurred is checked (step S93). If the exception that has occurred is an exact exception (step S94: an exception that does not execute an instruction other than the exception generation instruction in the VLIW instruction) In this case, the data held in the write register data table 45 and the write memory data table 46, which are temporary storage locations 32 of the execution results, are discarded (step S95).
[0042]
That is, the VLIW instruction in which an exception has occurred is not executed. On the other hand, as a result of examining the type of the exception that occurred in step S93, if the exception that has occurred is an inexact exception (step S94: an exception of a type that completes execution of an instruction other than the exception occurrence instruction in the VLIW instruction) ), A result writing process is performed for the execution result of the basic instruction in which no exception has occurred (step S96). The contents of the result writing process are as described with reference to FIG.
[0043]
Here, an exact exception is an exception that guarantees that all instructions are completed for the instruction before the instruction in which the exception occurred, and that all instructions after the instruction in which the exception occurred are not executed. That is. In the case of the VLIW instruction, the VLIW instruction including the instruction in which the exception has occurred is not executed. On the other hand, an inexact exception is an exception that can be executed before an exception is detected even in an instruction after the instruction in which the exception occurred.
[0044]
For example, if an exception occurs in an instruction that takes a long time to detect an exception, and the execution time of the subsequent instruction is shorter than that, the execution of the subsequent instruction is terminated before the exception is detected. The execution result may have been written, and in such a case, an inexact exception occurs. However, even if an exception is inaccurate, if the execution time of an instruction in which no exception has occurred is too long, the execution result may not be written.
[0045]
Note that the simulation method of the second embodiment can be realized by executing a program prepared in advance by a computer, and the program is recorded on a computer-readable recording medium and read from the recording medium by the computer. This is the same as in the first embodiment in that the program is executed and the program can be distributed via the network.
[0046]
According to the second embodiment described above, as in the first embodiment, even when there are a basic instruction for reading data and a basic instruction for writing data to the same resource in the same VLIW instruction, In addition to being able to read data prior to being written by a data write instruction, merging the results of two or more basic instructions in the same VLIW instruction, and writing them to the same resource, it also handles correctly when an exception occurs can do. Therefore, the simulation of the VLIW processor can be correctly performed using a simulation method that sequentially executes instructions one by one.
[0047]
In the above, this invention is not restricted to each embodiment mentioned above, A various change is possible.
[0048]
【The invention's effect】
According to the present invention, the operation results of all basic instructions included in the VLIW instruction to be executed are stored in the temporary storage location, and after storing all the operation results, the operation results are read from the temporary storage location. Since it is issued and written in the original storage location, it is possible to eliminate a problem that occurs when a VLIW processor is simulated using a simulation method that sequentially executes the above-described instructions one by one. Can be simulated correctly.
[Brief description of the drawings]
FIG. 1 is a principle diagram schematically showing a data structure and a data flow when a simulation method according to the present invention is executed.
FIG. 2 is a principle diagram schematically showing a data structure and a data flow when data is merged as a result of executing a simulation method according to the present invention.
FIG. 3 is a flowchart of a program that causes a computer to execute the simulation method according to the first embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating a main part of a data structure developed in a computer when the computer executes the simulation method according to the first embodiment of the present invention;
FIG. 5 is a flowchart showing an example of a result writing process in the simulation method shown in FIG. 3;
FIG. 6 is a block diagram showing a hardware configuration of a computer used for executing a simulation method according to the present invention.
FIG. 7 is a flowchart of a program that causes a computer to execute the simulation method according to the second embodiment of the present invention;
FIG. 8 is a schematic diagram illustrating a main part of a data structure developed in a computer when the computer executes the simulation method according to the second embodiment of the present invention;
FIG. 9 is a flowchart showing an example of exception processing in the simulation method shown in FIG. 7;
FIG. 10 is a conceptual diagram illustrating an example of a configuration of a VLIW instruction.
FIG. 11 is a flowchart of a program that causes a computer to execute a method of simulating an instruction operation of a normal processor.
FIG. 12 is a schematic diagram showing a data structure when executing a method for simulating an instruction operation of a normal processor;
[Explanation of symbols]
31 Resource data storage location
32 Temporary storage location
41 Register value storage table
42 Memory value storage table
45 Write register data table
46 Write memory data table

Claims (4)

同一リソースに対するデータ読み出し命令とデータ書き込み命令とを含むVLIW命令の中の複数の命令を並列に実行するプロセッサの命令動作をシミュレーションするにあたり、
前記VLIW命令を記憶場所から読み出す工程と、
読み出した前記VLIW命令に含まれる各命令をデコードする工程と、
デコードした各命令に対応する演算動作をおこない、その演算結果を第1の保管場所に記憶する工程と、
前記VLIW命令中のいずれの命令に対する演算動作中にも例外が発生していない場合、デコードした前記各命令の演算結果の前記第1の保管場所への保管が終了した後、前記第1の保管場所に記憶された前記各命令の演算結果を第2の保管場所であるリソースデータ保管場所に書き込む工程と、
前記VLIW命令中のある命令に対する演算動作中に例外が発生した場合、その命令を含むVLIW命令のすべての命令についての演算結果を前記第2の保管場所に書き込むことを禁止する工程と、
前記例外が、前記VLIW命令中の前記例外を発生した命令以外の命令を未実行にする第1の種類の例外であるか、前記VLIW命令中の前記例外を発生した命令以外の命令を実行完了にする第2の種類の例外であるか、を判断する工程と、
前記例外が前記第1の種類の例外である場合、前記第1の保管場所に保持されているデータを破棄する工程と、
前記例外が、前記第2の種類の例外である場合、前記VLIW命令のうち前記例外を発生した命令以外の命令の演算結果を、前記第1の保管場所から前記第2の保管場所に書き込む工程と、
を含んだことを特徴とするシミュレーション方法。
In simulating the instruction operation of a processor that executes a plurality of instructions in a VLIW instruction including a data read instruction and a data write instruction for the same resource in parallel,
Reading the VLIW instruction from a memory location;
Decoding each instruction included in the read VLIW instruction;
Performing a calculation operation corresponding to each decoded instruction and storing the calculation result in a first storage location;
If no exception has occurred during the arithmetic operation for any instruction in the VLIW instruction, the storage of the decoded operation result of each instruction to the first storage location is completed, and then the first storage is performed. Writing the operation result of each instruction stored in a location to a resource data storage location which is a second storage location;
Prohibiting writing operation results for all instructions of the VLIW instruction including the instruction to the second storage location when an exception occurs during an operation for an instruction in the VLIW instruction;
The exception is a first type exception that causes an instruction other than the instruction that generated the exception in the VLIW instruction to be unexecuted, or an instruction other than the instruction that generated the exception in the VLIW instruction has been executed. Determining whether it is a second type of exception,
If the exception is the first type of exception, discarding data held in the first storage location;
When the exception is the second type exception, a step of writing an operation result of an instruction other than the instruction that generated the exception among the VLIW instructions from the first storage location to the second storage location. When,
The simulation method characterized by including.
前記VLIW命令に含まれる複数の命令のデータ書き込み先が同一リソースの別フィールドである場合、前記第1の保管場所から対応する演算結果を読み出し、それらをマージして前記第2の保管場所に書き込むことを特徴とする請求項1に記載のシミュレーション方法。  When the data write destinations of a plurality of instructions included in the VLIW instruction are different fields of the same resource, the corresponding calculation results are read from the first storage location, merged and written to the second storage location The simulation method according to claim 1, wherein: 前記請求項1または2に記載されたシミュレーション方法をコンピュータに実行させるプログラム。A program for causing a computer to execute the simulation method according to claim 1 or 2 . 前記請求項に記載されたプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 3 is recorded.
JP2001107212A 2001-04-05 2001-04-05 Simulation method, program for causing computer to execute the method, and recording medium recording the program Expired - Fee Related JP4825357B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001107212A JP4825357B2 (en) 2001-04-05 2001-04-05 Simulation method, program for causing computer to execute the method, and recording medium recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001107212A JP4825357B2 (en) 2001-04-05 2001-04-05 Simulation method, program for causing computer to execute the method, and recording medium recording the program

Publications (2)

Publication Number Publication Date
JP2002304292A JP2002304292A (en) 2002-10-18
JP4825357B2 true JP4825357B2 (en) 2011-11-30

Family

ID=18959567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001107212A Expired - Fee Related JP4825357B2 (en) 2001-04-05 2001-04-05 Simulation method, program for causing computer to execute the method, and recording medium recording the program

Country Status (1)

Country Link
JP (1) JP4825357B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4820654B2 (en) * 2006-02-06 2011-11-24 富士通セミコンダクター株式会社 Cycle simulation method, cycle simulation program, recording medium recording the program, and cycle simulator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197609A (en) * 1992-01-21 1993-08-06 Nec Corp Store buffer managing system
JP2883488B2 (en) * 1992-02-26 1999-04-19 株式会社東芝 Instruction processing unit
JPH1124957A (en) * 1997-06-30 1999-01-29 Fujitsu Ltd Simulation method and computer system
JPH11119997A (en) * 1997-10-17 1999-04-30 Fujitsu Ltd Liw instruction execution method, scalar processor and liw processor
US6405300B1 (en) * 1999-03-22 2002-06-11 Sun Microsystems, Inc. Combining results of selectively executed remaining sub-instructions with that of emulated sub-instruction causing exception in VLIW processor

Also Published As

Publication number Publication date
JP2002304292A (en) 2002-10-18

Similar Documents

Publication Publication Date Title
US7512913B2 (en) Designing apparatus, designing method, and program thereof
US20120185669A1 (en) Program inspection method and non-transitory, computer readable storage medium storing inspection program
JP2006195898A (en) Signal propagation path drawing device, drawing method therefor and program
JP4825357B2 (en) Simulation method, program for causing computer to execute the method, and recording medium recording the program
JP2006201980A (en) Coverage evaluation device, coverage evaluation method, coverage evaluation program and recording medium
US20210365252A1 (en) Instruction translation support method and information processing apparatus
JP4820654B2 (en) Cycle simulation method, cycle simulation program, recording medium recording the program, and cycle simulator
US8332204B2 (en) Instruction check program, instruction check apparatus, and I/O simulator
JP5702265B2 (en) Program automatic generation apparatus and program automatic generation method
JP5321286B2 (en) Program model checking method, program model checking program
JP5799589B2 (en) Verification method and verification program
JP2005352670A (en) Simulation device and inspection device
JP3910831B2 (en) Program development support device, recording medium, and program
JP2001350801A (en) Method for processing data and device for the same
JP2785606B2 (en) Debugger for pipelined computer programs
JP2004302669A (en) Object display device
JP2004326237A (en) Test case creation device, test case creation method, test case, and test method
JP3705263B2 (en) Sequencer
JP2004145670A (en) Method and device for generating test bench, and computer program
JPH05250221A (en) Simulator execution system
JP2003228492A (en) Computer simulation program, verification method for model of processor, and computer simulation method
JP4802130B2 (en) Drawing creation program, drawing creation apparatus, and drawing creation method
JPS61143855A (en) Program test system
JPH1049213A (en) Device and method for annotating and naming cad/cam/cae tool
JP2008262479A (en) Image verification device and image verification method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees