(57)【要約】【課題】  マイクロプロセッサの並列シミュレーションシステムを高速化・効率化する。【解決手段】  本発明は（１）評価対象システムの全命令列が命令シミュレーションにかけられ、（２）その結果から部分命令列への分割点を決定し、（３）各部分命令列のスケジューリングシミュレーションの初期値として各分割点でのマイクロプロセッサの論理的状態、及び仮想的な内部状態が与えられ、（４）上記（３）の初期値を利用して、各部分命令列のスケジューリングシミュレーションが、複数のシミュレーションノードの個々毎に行われる、並列シミュレーションシステムである。該システムでは、部分命令列につき、シミュレーションノードがその部分命令列の最後の命令からさらに一定数の命令列のスケジューリングシミュレーションを後続して行う。その時点の状態を後続する部分命令列を担うシミュレーションノードに伝送し、シミュレーションの正当性の検証に利用する。【選択図】図１
2005149078.tif 000002
【特許請求の範囲】
【請求項１】
（１）計算機である複数のシミュレーションノードが、所定のネットワークで接続され、
（２）評価対象システムの全命令列が事前に命令シミュレーションにかけられ、
（３）命令シミュレーションの結果から、部分命令列への分割点が決定され、
（４）各部分命令列のスケジューリングシミュレーションの初期値として、各分割点でのマイクロプロセッサの論理的状態、および仮想的な内部状態が与えられ、
（５）上記（４）の初期値を利用して、各部分命令列のスケジューリングシミュレーションが、複数のシミュレーションノードの個々毎に行われる、
マイクロプロセッサのための並列シミュレーションシステムにおいて、
・第１の部分命令列につき、スケジューリングシミュレーションを行なう第１のシミュレーションノードが、その部分命令列の最後の命令から、さらに一定数（ｋ）の命令列のスケジューリングシミュレーションを後続して行ない、
・上記の継続して行なわれた一定数の命令列のスケジューリングシミュレーションを終えた時点での第１のシミュレーションノードでの第１の命令スケジューリング機構の状態が、上記第１の部分命令列に後続する第２の部分命令列につきスケジューリングシミュレーションを行なう第２のシミュレーションノードに、伝送され、
・上記第２のシミュレーションノードが第２の部分命令列の先頭から上記一定数までの命令列のスケジューリングシミュレーションを行ない、その時点での第２の命令スケジューリング機構の状態が保存され、
・第２の命令シミュレーションノードは、上記第１の命令スケジューリング機構の状態と上記第２の命令スケジューリング機構の状態とを比較して、自ノードで実施されるスケジューリングシミュレーションの正当性を検証する、
マイクロプロセッサのための並列シミュレーションシステム。
【請求項２】
第２の命令シミュレーションノードが、上記第１の命令スケジューリング機構の状態と上記第２の命令スケジューリング機構の状態とを比較して、不一致発生の場合、
第１のシミュレーションノードが、更に後続の命令列につき、第２の部分命令列の最後まで及びそこから後続する上記一定数分の命令列まで、スケジューリングシミュレーションを行ない、
その時点での第１のシミュレーションノードでの第３の命令スケジューリング機構の状態が、上記第２の部分命令列に後続する第３の部分命令列につきスケジューリングシミュレーションを行なう第３のシミュレーションノードに、伝送される、
請求項１に記載の、マイクロプロセッサのための並列シミュレーションシステム。
【請求項３】
第２の命令シミュレーションノードが、上記第１の命令スケジューリング機構の状態と上記第２の命令スケジューリング機構の状態とを比較して、不一致発生の場合、
第２のシミュレーションノードが、第２の命令スケジューリング機構の状態を第１の命令スケジューリング機構の状態と置き換え、その上で、第２の部分命令列の最後の命令まで及びそこから後続する上記一定数の命令列まで、スケジューリングシミュレーションを再び行う、
請求項１に記載の、マイクロプロセッサのための並列シミュレーションシステム。
【請求項４】
命令シミュレーションの結果から部分命令列への分割点を決定する際に、
命令スケジューリング機構への命令投入が滞る事象が生じる命令を分割点の候補とする、
請求項１乃至請求項３のうちのいずれか一つに記載の、マイクロプロセッサのための並列シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサの並列シミュレーションシステムに関する。
【背景技術】
【０００２】
ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）を含むシステムを開発する際、一部の工程においてターゲットとなるＳＯＣの完成以前にソフトウェアを含めたシステム全体の性能評価や動作検証を行わなければならない場合がある。また、精度良く性能評価や動作検証を行おうとする場合には、ハードウェア機構の挙動をクロックレベルで忠実に再現するＣＡ（Ｃｙｃｌｅ  Ａｃｃｕｒａｔｅ）なシミュレーションを行う必要がある。
【０００３】
一方、ＣＡＳ（Ｃｙｃｌｅ  Ａｃｃｕｒａｔｅ  Ｓｉｍｕｌａｔｉｏｎ）におけるシミュレーション実行速度は、対象となるマイクロプロセッサが高性能である場合、１ＣＰＵのシミュレーションプラットフォームを用いると、実際の５０００倍〜１００００倍程度の実行時間が必要となることがある。そのため、シミュレータの高速化について様々な研究がなされている。
【０００４】
ところで、一般的に長大なシミュレーションを短時間で終了させるための手法として、何らかの基準でシミュレーション全体をいくつかの部分に分割し、複数台の計算機（シミュレーションノード）を用いてそれら複数の部分シミュレーションの実施を並列化する、というものが考えられる。しかし、ＳＯＣをＣＡレベルでシミュレートする場合、空間的な分割による（例えば、ＳＯＣを構成要素毎に分割することによる）複数部分のシミュレーションの並列化では、構成要素間の通信のオーバーヘッドが大きくなってしまう。このとき、シミュレーション高速化の効果を得ることは困難である。
【０００５】
また、時間的な分割（例えば、適当な命令数毎にシミュレーションを分割すること）を行う場合、時間方向の連続性を確保することが困難である。いきおい、シミュレーション結果に正確性を担保することが著しく難しい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記のようなマイクロプロセッサのＣＡＳを時間的に分割しつつも、高速かつ正確なシミュレーションを実施する並列シミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は上記の目的を達成するためになされたものである。本発明に係るマイクロプロセッサのための並列シミュレーションシステムは、
（１）計算機である複数のシミュレーションノードが、所定のネットワークで接続され、
（２）評価対象システムの全命令列が事前に命令シミュレーションにかけられ、
（３）命令シミュレーションの結果から、部分命令列への分割点を決定し、
（４）各部分命令列のスケジューリングシミュレーションの初期値として、各分割点でのマイクロプロセッサの論理的状態、および仮想的な内部状態が与えられ、
（５）上記（４）の初期値を利用して、各部分命令列のスケジューリングシミュレーションが、複数のシミュレーションノードの個々毎に行われる、
マイクロプロセッサのための並列シミュレーションシステムである。その並列シミュレーションシステムにおいて、
・第１の部分命令列につき、スケジューリングシミュレーションを行なう第１のシミュレーションノードが、その部分命令列の最後の命令から、さらに一定数（ｋ）の命令列のスケジューリングシミュレーションを後続して行ない、
・上記の継続して行なわれた一定数の命令列のスケジューリングシミュレーションを終えた時点での第１のシミュレーションノードでの第１の命令スケジューリング機構の状態が、上記第１の部分命令列に後続する第２の部分命令列につきスケジューリングシミュレーションを行なう第２のシミュレーションノードに、伝送され、
・上記第２のシミュレーションノードが第２の部分命令列の先頭から上記一定数までの命令列のスケジューリングシミュレーションを行ない、その時点での第２の命令スケジューリング機構の状態が保存され、
・第２の命令シミュレーションノードは、上記第１の命令スケジューリング機構の状態と上記第２の命令スケジューリング機構の状態とを比較して、自ノードで実施されるスケジューリングシミュレーションの正当性を検証する。
【発明の効果】
【０００８】
本発明の利用により、マイクロプロセッサの並列シミュレーションシステムを、シミュレーションノードの個数に応じて、高速化・効率化できる。
【発明を実施するための最良の形態】
【０００９】
以下において、図面を参照しつつ、本発明に係る好適な実施の形態を説明する。
【００１０】
図６は、本発明の好適な実施の形態に係る並列シミュレーションシステム２が稼動する、ハードウエア構成の概略図を示す。図６では、複数のコンピュータ４がＬＡＮ６を介して相互に接続される。コンピュータ４は、通常のワークステーションやパーソナルコンピュータであればよい。後で説明するように、これらの個々のコンピュータ４が、時間的に分割された（マイクロプロセッサの）ＣＡＳの（特にスケジューリングシミュレーションの）夫々をシミュレートするシミュレーションノードである。
【００１１】
まず、本明細書では、ＣＡＳを
（ａ）命令の論理的挙動をシミュレートする「命令シミュレーション」と、
（ｂ）命令スケジューリング機構をシミュレートする「スケジューリングシミュレーション」と
に分ける。ここで、前者（ａ）は後者の１／１００程度の時間コストで実行可能であることが、当業者には明白である。よって、後者（ｂ）を並列実行することによりシミュレーション全体を高速化することができる。
【００１２】
本発明の好適な実施の形態に係る並列シミュレーションシステムでは、ＣＡＳのスケジューリングシミュレーションを並列化する。つまり、シミュレートされる命令列を時間方向に分割していくつかの部分命令列を得て、各々の部分命令列に関する命令スケジューリングを並列実行する。以下に、その並列シミュレーションシステムにおけるスケジューリングシミュレーションの処理の流れを説明する。
【００１３】
≪スケジューリングシミュレーションの処理の流れ≫
≪１≫予め、（ＳＯＣを含む）性能検証対象システムについて「命令シミュレーション」を行う。その結果、実行（シミュレート）された命令の総数をＮとし、実行された命令の列をＩ（１），Ｉ（２），・・・Ｉ（Ｎ）としたとき、それら命令の列が、以下のような複数の（ここでは、ｐ個の）部分命令列{Ｓ（１），Ｓ（２），．．．，Ｓ（ｐ）}に分割される。
【００１４】
Ｓ（１）＝｛Ｉ（ｓ１＝１），．．．，Ｉ（ｔ１）｝，
Ｓ（２）＝｛Ｉ（ｓ２＝ｔ１＋１），．．．，Ｉ（ｔ２）｝，
・
・
Ｓ（ｐ−１）＝｛Ｉ（ｓｐ−１＝ｔｐ−２＋１），．．．，Ｉ（ｔｐ−１）｝，
Ｓ（ｐ）＝｛Ｉ（ｓｐ＝ｔｐ−１＋１），．．．，Ｉ（ｔｐ＝Ｎ）｝
【００１５】
上記の分割数ｐおよび個々の分割点ｔｉ（１≦ｉ≦ｐ−１）を定める方法については、後で説明する（≪命令列の分割法≫）。また、上記の「命令シミュレーション」、及び部分命令列への分割は、どのコンピュータで行なってもよく、例えば、図６においては、一つのシミュレーションノードＰ１で行なえばよい。
【００１６】
≪２≫次に、ｐ個の部分命令列Ｓ（１），Ｓ（２），．．．Ｓ（ｐ）に対する「スケジューリングシミュレーション」が、Ｐ（≦ｐ）個のシミュレーションノードにより並列に実行される（図６参照）。
【００１７】
部分命令列Ｓ（ｉ）＝｛Ｉ（ｓｉ），．．．，Ｉ（ｔｉ）｝を担当するシミュレーションノードは、Ｉ（ｓｉ）の実行開始時点でのマイクロプロセッサの論理的状態Ａ（ｉ）をまず獲得する。ここで、「マイクロプロセッサの論理的状態Ａ（ｉ）」は、Ｉ（ｉ）まで命令（シミュレーション）を進めてきたときのマイクロプロセッサに係るレジスタやメモリなどの値である。この論理状態の獲得は、次の２つの手順のうちの何れかで得ることを想定しており、何れの手順でもよい。
（手順１）：上記≪１≫の命令シミュレーションにおいて、個々の部分命令列Ｓ（ｉ）の最後の命令Ｉ（ｔｉ）を実行した時点で、論理的状態をＡ（ｉ）を保存する。
（手順２）：Ｓ（ｉ）のスケジューリングシミュレーションに先だって、それに先行する全ての命令Ｉ（１）からＩ（ｔｉ−１）に関する命令シミュレーションを行い、論理的状態Ａ（ｉ）を得る。
【００１８】
マイクロプロセッサの論理的状態を、獲得されたＡ（ｉ）とし、更に命令スケジューリング機構の状態を仮想的な初期状態とした上で、部分命令列の命令スケジューリングを
・Ｉ（ｓｉ）から、Ｉ（ｔｉ）を超えて、Ｉ（ｔｉ＋ｋ）まで、
行う。この「仮想的な初期状態」は、例えば、命令パイプラインに全く命令が存在しない状態であればよい。
【００１９】
ここで、上記の「ｋ」は、命令スケジューリングの正当性を検証するために、Ｓ（ｉ）を担当するシミュレーションノードとＳ（ｉ＋１）を担当するシミュレーションノードとで、重複してスケジューリングシミュレーションする部分命令列の長さ（定数）である。
【００２０】
図１にて、
・Ｓ（１）を担当するシミュレーションノードとＳ（２）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子、
・Ｓ（２）を担当するシミュレーションノードとＳ（３）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子、及び、
・Ｓ（３）を担当するシミュレーションノードとＳ（４）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子を
模式的に示す。
図２では、Ｓ（１）及び重複部分を担当するシミュレーションノードが（例えば）Ｐ１であり、Ｓ（２）及び重複部分を担当するシミュレーションノードが（例えば）Ｐ２であり、Ｓ（３）及び重複部分を担当するシミュレーションノードが（例えば）Ｐ３であり、Ｓ（４）及び重複部分を担当するシミュレーションノードが（例えば）Ｐ４であることを、模式的に示す。
【００２１】
≪３≫部分命令列Ｓ（ｉ−１）（ｉ＞２）を担当するシミュレーションノードは、担当する最後の命令Ｉ（ｔｉ−１＋ｋ）が命令スケジューリング機構に投入された時点における「命令スケジューリング機構の状態Ｍ（ｔｉ−１＋ｋ）」を、部分命令列Ｓ（ｉ）を担当するシミュレーションノードにＬＡＮ６を介して伝達する（図３の（ア））。（正確に言うと、下記で説明するように、Ｓ（ｉ−２）を担当するシミュレーションノードから伝達された状態Ｍ（ｔｉ−２＋ｋ）とＭ’（ｓｉ−１＋ｋ−１）との比較処理及びそれに条件付で付随する処理が完了してから伝達する。）
【００２２】
Ｓ（ｉ）を担当するシミュレーションノードは、そのスケジューリングシミュレーションの過程において、命令Ｉ（ｓｉ＋ｋ−１）＝Ｉ（ｔｉ−１＋ｋ）が命令スケジューリング機構に投入された時点における命令スケジューリング機構の状態Ｍ’（ｓｉ＋ｋ−１）を保存しておき、上記のＳ（ｉ−１）を担当するシミュレーションノードから伝達されてきた命令スケジューリング機構の状態Ｍ（ｔｉ−１＋ｋ）と比較する（図３の（イ））。
【００２３】
≪４≫上記≪３≫における命令スケジューリング機構の状態比較が一致すれば、Ｓ（ｉ）に関するスケジューリングシミュレーションは正当、ということになる。よって、Ｉ（ｓｉ＋ｋ−１）が命令スケジューリング機構に投入された以降の挙動（例えば実行クロック数など）をスケジューリングシミュレーションの部分結果とし、Ｓ（ｉ）を担当するシミュレーションノードは、状態Ｍ（ｔｉ＋ｋ）をＳ（ｉ＋１）を担当するシミュレーションノードにＬＡＮ６を介して伝達する（図３の（ウ））。
【００２４】
仮に一致しなければ、Ｓ（ｉ）を担当するシミュレーションノードは、Ｓ（ｉ−１）を担当するノードから伝達された命令スケジューリング機構の状態Ｍ（ｔｉ−１＋ｋ）を初期状態として、Ｉ（ｓｉ＋ｋ−１）以降のスケジューリングシミュレーションを再度行う。そして、その再実行結果を部分結果とし、再実行により得られる状態Ｍ（ｔｉ＋ｋ）をＳ（ｉ＋１）を担当するシミュレーションノードにＬＡＮ６を介して伝達する。
【００２５】
≪５≫上記の≪３≫と≪４≫とにおける命令スケジューリング機構の状態伝達の処理は、最初と最後の部分命令列Ｓ（１）およびＳ（ｐ）を担当するシミュレーションノードでは、例外的なものとなる。
【００２６】
即ち、Ｓ（１）を担当するシミュレーションノードは、他のシミュレーションノードからの状態伝達を受け取らない。つまり、ここでのスケジューリングシミュレーションは無条件に正当であり、他のシミュレーションノードからの状態伝達を待たずにＭ（ｔ１＋ｋ）をＳ（２）を担当するシミュレーションノードヘ伝達する（図１のＩ（ｔ１）、Ｉ（ｔ１＋ｋ）部分参照）。
【００２７】
一方、Ｓ（ｐ）を担当するシミュレーションノードは、他のシミュレーションノードヘの状態伝達を行わない。よって、状態Ｍ（ｔｐ−１＋ｋ）と状態Ｍ’（ｓｐ＋ｋ−１）と比較し、一致すれば、正当な結果が得られたとして、全体のスケジューリングシミュレーションを完了する。仮に一致しなければ、Ｓ（ｐ）を担当するシミュレーションノードは、状態Ｍ（ｔｐ−１＋ｋ）を初期状態として、Ｉ（ｓｐ＋ｋ−１）以降のスケジューリングシミュレーションを再度行い正当な結果を得て、全体のスケジューリングシミュレーションを完了する。
【００２８】
≪６≫以上により、スケジューリングシミュレーションの処理が完了する。
【００２９】
≪命令列の分割法≫
部分命令列を作成するための命令列分割数ｐは、任意に決定され得る。スケジューリングシミュレーションを並列実行するシミュレーションノード数Ｐに対して、ｐ≧Ｐであることが望ましい。更に、シミュレーションノードに対する負荷の均衡のために、ｐがＰの定数倍であることが望ましい。
【００３０】
また、ｐ＝ｃＰとしたとき、定数ｃの値を小さくして状態不一致（即ち、≪スケジューリングシミュレーションの処理の流れ≫の≪３≫における、命令スケジューリング機構の状態比較の不一致）の生起数を小さくする第１の方法と、ｃを大きくして状態不一致が生じた場合の再実行時間を小さくする第２の方法とが想定され得る。何れかを選択するのか若しくはそれらに近いものを選択するのかは、シミュレーション対象のマイクロプロセッサの構造やノード数ｐなどに応じて適宜に決定され得る。
【００３１】
また、予め部分命令列の長さや分割点の選択方法を定めておき、命令列全体を先頭から手繰りつつ上記の条件に合致した位置で分割する、というような分割法も採用できる。このときは、命令列全体の命令総数Ｎが判明する前に、どんどん分割していくことになる。
【００３２】
前にも説明したように、部分命令列の分割点ｔｉは、シミュレーションノードへの負荷均衡の観点から、部分命令列の長さｔｉ−ｓｉ＋１がほぼ一定になるように定められることが望ましい。一方、スケジューリング機構の状態比較での状態不一致の確率を小さくするために、不一致が生じにくい分割点を選ぶことができる。例えば、命令キャッシュミスや分岐予測ミスのように、命令スケジューリング機構への命令投入が滞る事象が生じる命令を分割点に選べば、相当の重複実行によって不一致が生じにくくなることが容易に想像できる。けだし、各部分命令列のスケジューリングシミュレーションの仮想的な内部状態の初期値は、分岐予測ミス発生時の内部状態と略類似のもの（例えば、パイプラインが空、など）であるからである。このような分割点は、命令シミュレーションを行うことのみによって、高い確度・信頼度で発見することができる。
【００３３】
また、重複実行する部分命令列の長さ「ｋ」を大きくすると、スケジューリング機構の状態比較での状態不一致が生じにくくなり、小さくすると重複実行による時間損失が小さくなる。したがって、シミュレーション対象のマイクロプロセッサの構造、ノード数Ｐ、分割数ｐ、分割点の選択方法などに応じて、長さ「ｋ」を適切に設定することができる。
【００３４】
≪命令スケジューリング機構の状態比較での状態不一致発生時の、別の処理について≫
上記では、命令スケジューリング機構の状態比較での状態不一致発生時には、Ｓ（ｉ）を担当するシミュレーションノードが、Ｓ（ｉ−１）を担当するシミュレーションノードから伝達された命令スケジューリング機構の状態Ｍ（ｔｉ−１＋ｋ）を再度の初期状態として、Ｉ（ｓｉ＋ｋ−１）以降のスケジューリングシミュレーションを再び行っている。このような不一致発生時には、Ｓ（ｉ−１）を担当するシミュレーションノードが、そのままＩ（ｔｉ−１＋ｋ）＝Ｉ（ｓｉ＋ｋ−１）以降Ｉ（ｔｉ＋ｋ）までのスケジューリングシミュレーションを行ない、得られる状態Ｍ（ｔｉ＋ｋ）をＳ（ｉ＋１）を担当するシミュレーションノードにＬＡＮ６を介して伝達する、という処理手順であってもよい。
【００３５】
図４では、Ｓ（２）を担当するシミュレーションノードＰ２が、状態Ｍ（ｔ２＋ｋ）と状態Ｍ’（ｓ３＋ｋ−１）との比較での不一致発生後、そのままＩ（ｔ２＋ｋ）＝Ｉ（ｓ３＋ｋ−１）以降Ｉ（ｔ３＋ｋ）までのスケジューリングシミュレーションを行ない、状態状態Ｍ（ｔ３＋ｋ）を得ていることを、（Ａ）の点線部分で模式的に示している。
【００３６】
図５では、ある命令スケジューリングシミュレーションシステムにおいて、シミュレーションノードが４個（Ｐ１，Ｐ２，Ｐ３，Ｐ４）備わり、命令列が１６分割され、各シミュレーションノードにそのうちの４分割ずつ割り当てられることを、模式的に示す。最上部の命令列を示す直線にて、例えば（１）が付される分割は、Ｐ１に割り当てられることを示している。ここで、上記の図４における、状態不一致発生時の処理手順を利用するならば、例えば、シミュレーションノードＰ３での分割で不一致が生じた場合、シミュレーションノードＰ２でその分割分を継続して実施することになる。よって、全体の処理時間を概観すれば、Ｐ１，Ｐ３及びＰ４は、４分割分の処理で完結するが、Ｐ２のみ一つの分割分、処理が長くなる。図５ではそれは点線矢印（Ｂ）で示される。表現を換えると、シミュレーションノード数に比べて、命令列の分割を相当数に多くすれば、上記状態不一致が発生しても全体の処理時間はあまり延長されない、ということになる。
【図面の簡単な説明】
【００３７】
【図１】部分命令列Ｓ（１）を担当するシミュレーションノードと部分命令列Ｓ（２）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子、部分命令列Ｓ（２）を担当するシミュレーションノードと部分命令列Ｓ（３）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子、及び、部分命令列Ｓ（３）を担当するシミュレーションノードと部分命令列Ｓ（４）を担当するシミュレーションノードとで重複してスケジューリングシミュレーションする様子を模式的に示す。
【図２】部分命令列Ｓ（１）及び重複部分を担当するシミュレーションノードがＰ１であり、部分命令列Ｓ（２）及び重複部分を担当するシミュレーションノードがＰ２であり、部分命令列Ｓ（３）及び重複部分を担当するシミュレーションノードがＰ３であり、部分命令列Ｓ（４）及び重複部分を担当するシミュレーションノードがＰ４であることを、模式的に示す。
【図３】一つのシミュレーションノードにおける命令スケジューリング機構の状態が、他のシミュレーションノードに伝達されそこでの状態と比較される処理が、順次実施されていく様子を模式的に示す。
【図４】部分命令列Ｓ（２）を担当するシミュレーションノードＰ２が、状態Ｍ（ｔ２＋ｋ）と状態Ｍ’（ｓ３＋ｋ−１）との比較での不一致発生後、そのままＩ（ｔ２＋ｋ）＝Ｉ（ｓ３＋ｋ−１）以降Ｉ（ｔ３＋ｋ）までのスケジューリングシミュレーションを行ない、状態Ｍ（ｔ３＋ｋ）を得ていることを、点線部分で模式的に示す。
【図５】ある命令スケジューリングシミュレーションシステムにおいて、シミュレーションノードが４個（Ｐ１，Ｐ２，Ｐ３，Ｐ４）備わり、命令列が３２分割され、各シミュレーションノードにそのうちの４分割ずつ割り当てられることを、模式的に示す。
【図６】本発明の好適な実施の形態に係る並列シミュレーションシステムが稼動する、ハードウエア構成の概略図である。
【符号の説明】
【００３８】
２  並列シミュレーションシステム、  ４  コンピュータ、  ６  ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）。
【図１】
2005149078.tif 000003
【図２】
2005149078.tif 000004
【図３】
2005149078.tif 000005
【図４】
2005149078.tif 000006
【図５】
2005149078.tif 000007
【図６】
2005149078.tif 000008