JP2002304292A - シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体 - Google Patents

シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Info

Publication number
JP2002304292A
JP2002304292A JP2001107212A JP2001107212A JP2002304292A JP 2002304292 A JP2002304292 A JP 2002304292A JP 2001107212 A JP2001107212 A JP 2001107212A JP 2001107212 A JP2001107212 A JP 2001107212A JP 2002304292 A JP2002304292 A JP 2002304292A
Authority
JP
Japan
Prior art keywords
instruction
vliw
data
program
instructions
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
Application number
JP2001107212A
Other languages
English (en)
Other versions
JP4825357B2 (ja
Inventor
Yasuki Nakamura
泰基 中村
Hideo Miyake
英雄 三宅
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/ja
Publication of JP2002304292A publication Critical patent/JP2002304292A/ja
Application granted granted Critical
Publication of JP4825357B2 publication Critical patent/JP4825357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 命令を一つずつ逐次的に実行するシミュレー
ション方法を利用してVLIWプロセッサのシミュレー
ションを正しくおこなうこと。 【解決手段】 VLIW命令を一つずつ読み出し、実行
対象であるVLIW命令に含まれるすべての基本命令に
対して演算動作をし(ステップS35)、演算結果を一
時保管場所である書き込みレジスタデータテーブル45
または書き込みメモリデータテーブル46に一時的に登
録し(ステップS36)、すべての基本命令の演算結果
が書き込みレジスタデータテーブル45または書き込み
メモリデータテーブル46に記憶された後、それらの一
時的な保管場所であるテーブル45,46からすべての
演算結果を読み出し、本来の保管場所であるレジスタ値
保存テーブル41またはメモリ値保存テーブル42に書
き込む(ステップS38)という一連の動作をVLIW
命令毎におこなう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、VLIW(Ver
y Long Instruction Word)型
のアーキテクチャを有するマイクロプロセッサの命令動
作をシミュレーションする方法、およびその方法をコン
ピュータに実行させるプログラムに関する。
【0002】VLIW型アーキテクチャを有するマイク
ロプロセッサ(以下、VLIWプロセッサとする)は、
一つのVLIW命令に含まれる複数の命令(以下、VL
IW命令に含まれる個々の命令を、VLIW命令と区別
するため、基本命令とする)を並列に実行する。つま
り、たとえば図10に示すように、VLIW命令1が4
個の基本命令11,12,13,14で構成されている
場合には、同一のVLIW命令1内の4個の基本命令1
1,12,13,14はVLIWプロセッサにより同時
に処理されることになる。
【0003】同一のVLIW命令中に、同一リソースに
対してデータを書き込む基本命令(便宜上、基本命令I
1とする)と、それと同一リソースからデータを読み出
すという内容の基本命令(便宜上、基本命令I2とす
る)が含まれている場合がある。この場合、基本命令I
2で読み出すデータは基本命令I1で書き込む前のデー
タである。したがって、VLIWプロセッサの命令動作
をシミュレーションする場合には、そのようなデータの
取り扱いに注意を要する。また、VLIWプロセッサの
命令動作をシミュレーションしているときに例外が発生
した場合にも注意を要する。
【0004】
【従来の技術】従来、ワークステーションなどのコンピ
ュータを用いて通常のプロセッサの命令動作をシミュレ
ーションする場合には、命令を一つずつ逐次的に動作さ
せる。ここで、通常のプロセッサとは、VLIW型アー
キテクチャを採用していないマイクロプロセッサのこと
である。図11は、通常のプロセッサの命令動作をシミ
ュレーションする方法をコンピュータに実行させるプロ
グラムのフローチャートであり、図12は、そのシミュ
レーション実行時にコンピュータに展開されるデータの
構造を示す模式図である。
【0005】通常のプロセッサの命令動作をシミュレー
ションする場合、図11に示すように、命令を読み出し
(ステップS111)、それをデコードし(ステップS
112)、命令種別の判別をおこない(ステップS11
3)、その判別結果に対応する命令動作をおこない(ス
テップS114−1〜S114−4)、例外発生の有無
を判別し(ステップS115−1〜S115−4)、例
外発生なしの場合(ステップS115−1〜S115−
4:No)には結果の書き込みをおこない(ステップS
116−1〜S116−4)、つぎの命令の動作に移行
して同様の処理をおこなう。
【0006】一方、例外発生ありの場合(ステップS1
15−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命令内
の例外が発生していない基本命令については、その実行
結果の書き込みが禁止される場合がある。それに対し
て、基本命令の逐次的な実行方法では、ある基本命令の
実行中に例外が検出されても、そのときには既に同一V
LIW命令内の別の基本命令の実行が終了しており、そ
の結果が書き込まれていることがある。
【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】この発明によれば、実行対象であるVLI
W命令に含まれるすべての基本命令の演算結果は一時保
管場所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)、結果書き込み処理をおこなう(ステップS3
8)。結果書き込み処理では、書き込みレジスタデータ
テーブル45の保持データをレジスタ値保存テーブル4
1に書き込み、また書き込みメモリデータテーブル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命令に含まれる場合にマージが発生す
る。この場合には、書き込みレジスタデータテーブル4
5に一時的に保持された「0x1000」と「888
8」を読み出して、それらをマージした値「0x100
08888」をレジスタ値保存テーブル41のRdに書
き込むことになる。
【0028】上述したシミュレーション方法は、あらか
じめ用意されたプログラムをパーソナル・コンピュータ
やワークステーション等のコンピュータで実行すること
により実現することができる。このプログラムは、ハー
ドディスク、フロッピー(登録商標)ディスク、CD−
ROM、MO、DVDなどのコンピュータで読み取り可
能な記録媒体に記録され、コンピュータによって記録媒
体から読み出されることによって実行される。またこの
プログラムは、上記記録媒体を介して、インターネット
などのネットワークを介して配布することができる。
【0029】つぎに、上述したシミュレーション方法を
実行するコンピュータのハードウエア構成について説明
する。図6は、そのハードウエア構成を示すブロック図
である。このコンピュータは、たとえばCPU101
と、ROM102と、RAM103と、HDD(ハード
ディスクドライブ)104と、FDD(フロッピーディ
スクドライブ)106と、ディスプレイ108と、通信
インターフェイス(I/F)109と、キーボード11
1と、マウス等(種々のポインティング・デバイスを含
む)112と、スキャナ113と、プリンタ114と、
CD−ROMドライブ(DVDドライブを含む)116
とがバス100を介して相互に接続された構成となって
いる。
【0030】CPU101は装置全体の制御をおこなう
とともに、VLIWプロセッサの代わりにVLIW命令
を実行する。ROM102はブートプログラム等を記億
している。RAM103はCPU101のワークエリア
として使用される。このRAM103に、上述したレジ
スタ値保存テーブル41、メモリ値保存テーブル42、
プログラムカウンタ値保存テーブル43、実行命令情報
保存テーブル44、書き込みレジスタデータテーブル4
5、書き込みメモリデータテーブル46および書き込み
プログラムカウンタ値テーブル47が展開される。
【0031】HDD(ハードディスクドライブ)104
は、CPU101の制御にしたがってHD(ハードディ
スク)105に対するデータの書き込みおよび読み出し
を制御する。FDD(フロッピーディスクドライブ)1
06は、CPU101の制御にしたがって、着脱可能な
記録媒体であるFD(フロッピーディスク)107に対
するデータの書き込みおよび読み出しを制御する。
【0032】ディスプレイ108は、カーソル、アイコ
ンあるいはツールボックスをはじめ、文書、画像、機能
情報等のデータに関するウインドウ(ブラウザ)を表示
する。通信インターフェイス(I/F)109は、有線
または無線の通信回線110を介してネットワーク15
0に接続され、ネットワーク150と内部とのインター
フェイスを司る。キーボード111は、文字、数値、各
種指示等の入力のための複数のキーを備える。マウス等
112は、カーソルの移動や範囲選択、あるいはウイン
ドウの移動やサイズの変更、アイコンの選択、移動等を
おこなうのに使用される。
【0033】スキャナ113は画像を光学的に読み取る
ための装置である。プリンタ114は、ウインドウに表
示された内容等を印刷する。CD−ROMドライブ11
6は、着脱可能な記録媒体である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〜S
37までと同じである。したがって、ステップS71〜
S77の説明は、実施の形態1の中の説明においてS3
1〜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」であれば(ステップS7
8:Yes)、VLIW命令内のいずれかの基本命令で
例外が発生したことを意味する。したがって、この場合
には、ステップS79の結果書き込み処理をおこなわず
に例外処理をおこない(ステップS80)、つぎのVL
IW命令のシミュレーションに進む。
【0041】図9は、例外処理の一例を示すフローチャ
ートである。例外処理が開始されると、まず発生した例
外の種類を調べる(ステップS91)。そして、調べた
結果を例外情報としてレジスタ値保存テーブル41に書
き込む(ステップS92−1〜S92−4)。つづい
て、発生した例外の種別を調べ(ステップS93)、発
生した例外が正確な例外である場合(ステップS94:
VLIW命令中の例外発生命令以外の命令を未実行にす
る種類の例外の場合)には、実行結果の一時保管場所3
2である書き込みレジスタデータテーブル45および書
き込みメモリデータテーブル46に保持されているデー
タを破棄する(ステップS95)。
【0042】つまり、例外が発生したVLIW命令は未
実行となる。一方、ステップS93で発生した例外の種
別を調べた結果、発生した例外が不正確な例外である場
合(ステップS94:VLIW命令中の例外発生命令以
外の命令を実行完了にする種類の例外の場合)には、例
外が発生しなかった基本命令の実行結果について結果書
き込み処理をおこなう(ステップS96)。この結果書
き込み処理の内容は図5に関連して説明したとおりであ
る。
【0043】ここで、正確な例外とは、例外が発生した
命令よりも前の命令についてはすべての命令が完了し、
例外が発生した命令よりも後の命令についてはすべて実
行していないことを保証する例外のことである。VLI
W命令の場合には、例外が発生した命令を含むVLIW
命令は未実行となる。一方、不正確な例外とは、例外が
発生した命令よりも後の命令でも、例外の検出よりも前
に実行が完了していることがあり得る例外のことであ
る。
【0044】たとえば、例外を検出するのに時間がかか
るような命令で例外が発生し、かつそれよりも後続の命
令の実行時間が短い場合、例外検出前に後続の命令の実
行が終了してしまい、その実行結果が書き込まれている
可能性があり、このような場合に不正確な例外となる。
ただし、不正確な例外であっても、例外が発生していな
い命令の実行時間が長すぎると、実行結果が書き込まれ
ないことがある。
【0045】なお、実施の形態2のシミュレーション方
法は、あらかじめ用意されたプログラムをコンピュータ
で実行することにより実現することができること、その
プログラムは、コンピュータで読み取り可能な記録媒体
に記録され、コンピュータによって記録媒体から読み出
されることによって実行されること、またそのプログラ
ムがネットワークを介して配布することができることな
どは、実施の形態1と同様である。
【0046】上述した実施の形態2によれば、実施の形
態1と同様に、同一VLIW命令中に同一リソースに対
してデータを読み出す基本命令とデータを書き込む基本
命令とがある場合でも、データ読み出し命令では、デー
タ書き込み命令で書き込まれる前のデータを読み出すこ
とができること、同一VLIW命令中の2以上の基本命
令の演算結果をマージして同一のリソースに書き込むこ
とができることのほかに、例外発生時にも正しく対処す
ることができる。したがって、命令を一つずつ逐次的に
実行するシミュレーション方法を利用してVLIWプロ
セッサのシミュレーションを正しくおこなうことができ
る。
【0047】以上において本発明は、上述した各実施の
形態に限らず、種々変更することが可能である。
【0048】
【発明の効果】本発明によれば、実行対象であるVLI
W命令に含まれるすべての基本命令の演算結果は一時保
管場所に記憶され、すべての演算結果の記憶が終了した
後に、それら演算結果が一時保管場所から読み出されて
本来の保管場所に書き込まれるため、上述した命令を一
つずつ逐次的に実行するシミュレーション方法を利用し
て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 書き込みメモリデータテーブル
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B033 AA14 BE05 FA02 FA21 FA22

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 VLIW命令に含まれる複数の命令を並
    列に実行するプロセッサの命令動作をシミュレーション
    するにあたり、 VLIW命令を記憶場所から読み出す工程と、 読み出した前記VLIW命令に含まれる命令をデコード
    する工程と、 デコードした各命令に対応する演算動作をおこない、そ
    の演算結果を保管場所に記憶する工程と、 デコードした前記命令の演算結果の第1の保管場所への
    保管が終了した後、第1の保管場所に記憶された前記演
    算結果を第2の保管場所であるリソースデータ保管場所
    に書き込む工程と、 を含んだことを特徴とするシミュレーション方法。
  2. 【請求項2】 一つのVLIW命令に含まれる複数の命
    令のデータ書き込み先が同一リソースの別フィールドで
    ある場合、前記一時保管場所から対応する演算結果を読
    み出し、それらをマージして第2の保管場所に書き込む
    ことを特徴とする請求項1に記載のシミュレーション方
    法。
  3. 【請求項3】 VLIW命令中のある命令に対する演算
    動作中に例外が発生した場合、その命令を含むVLIW
    命令のすべての命令について、演算結果を第2の保管場
    所に書き込むことを禁止することを特徴とする請求項1
    に記載のシミュレーション方法。
  4. 【請求項4】 前記請求項1〜3のいずれか一つに記載
    されたシミュレーション方法をコンピュータに実行させ
    るプログラム。
  5. 【請求項5】 前記請求項4に記載されたプログラムを
    記録したことを特徴とするコンピュータ読み取り可能な
    記録媒体。
JP2001107212A 2001-04-05 2001-04-05 シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体 Expired - Fee Related JP4825357B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001107212A JP4825357B2 (ja) 2001-04-05 2001-04-05 シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001107212A JP4825357B2 (ja) 2001-04-05 2001-04-05 シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Publications (2)

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

Family

ID=18959567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001107212A Expired - Fee Related JP4825357B2 (ja) 2001-04-05 2001-04-05 シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP4825357B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207158A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197609A (ja) * 1992-01-21 1993-08-06 Nec Corp ストアバッファ管理方式
JPH05241828A (ja) * 1992-02-26 1993-09-21 Toshiba Corp 命令処理装置
JPH1124957A (ja) * 1997-06-30 1999-01-29 Fujitsu Ltd シミュレーション方法及び計算機システム
JPH11119997A (ja) * 1997-10-17 1999-04-30 Fujitsu Ltd Liw命令実行方法、スカラプロセッサ及びliwプロセッサ
JP2000284964A (ja) * 1999-03-22 2000-10-13 Sun Microsyst Inc Vliwプロセッサにおける効率的なサブ命令エミュレーション

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197609A (ja) * 1992-01-21 1993-08-06 Nec Corp ストアバッファ管理方式
JPH05241828A (ja) * 1992-02-26 1993-09-21 Toshiba Corp 命令処理装置
JPH1124957A (ja) * 1997-06-30 1999-01-29 Fujitsu Ltd シミュレーション方法及び計算機システム
JPH11119997A (ja) * 1997-10-17 1999-04-30 Fujitsu Ltd Liw命令実行方法、スカラプロセッサ及びliwプロセッサ
JP2000284964A (ja) * 1999-03-22 2000-10-13 Sun Microsyst Inc Vliwプロセッサにおける効率的なサブ命令エミュレーション

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207158A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ

Also Published As

Publication number Publication date
JP4825357B2 (ja) 2011-11-30

Similar Documents

Publication Publication Date Title
JP2003173270A (ja) ソフトウェアデバッグ装置
JP2002304292A (ja) シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体
JP5321286B2 (ja) プログラムモデル検査方法、プログラムモデル検査プログラム
JP4678770B2 (ja) シーケンス図作成方法及びその装置
JPS63127333A (ja) 流れ図式プログラミング装置
JPH03179548A (ja) コマンド再実行処理方式
JP2007207158A (ja) サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ
JP5799589B2 (ja) 検証方法及び検証プログラム
JP3178001B2 (ja) データ処理装置
KR20080051326A (ko) 상용 구조해석 프로그램을 이용한 입출력 인터페이스 방법및 그 장치
JP2017199226A (ja) プログラム編集方法、プログラム開発支援装置及びプログラマブルコントローラ
JP2004118649A (ja) メニュー選択型試験プログラムツールの生成方法及び装置
JPH11203031A (ja) データ入力装置及びその制御方法及び記憶媒体
JP2004145670A (ja) テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム
JP3705263B2 (ja) シーケンサ
JP2001350801A (ja) データ処理方法及び装置
JP2016139203A (ja) 設計情報作成方法、設計情報作成装置及びプログラム
JPS62210572A (ja) 文書作成装置
JPH024288A (ja) イメージ処理装置及びそのフォントファイル管理方法
JP3394871B2 (ja) 情報処理装置および情報処理プログラムを記録した媒体
JPH11175114A (ja) プログラマブルコントローラ
JPH05224987A (ja) パイプライン処理方式コンピュータ用プログラムのデバッガ
JPS61143855A (ja) プログラムテスト方式
JP2018032445A (ja) 制御プログラム、制御方法及び制御装置
JPH05289712A (ja) 言語変換装置

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 Request for written amendment filed

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 Request for written amendment filed

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