JPH05225169A - モデル生成方法 - Google Patents

モデル生成方法

Info

Publication number
JPH05225169A
JPH05225169A JP2919592A JP2919592A JPH05225169A JP H05225169 A JPH05225169 A JP H05225169A JP 2919592 A JP2919592 A JP 2919592A JP 2919592 A JP2919592 A JP 2919592A JP H05225169 A JPH05225169 A JP H05225169A
Authority
JP
Japan
Prior art keywords
simulation
rule
expansion
display
model
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.)
Pending
Application number
JP2919592A
Other languages
English (en)
Inventor
Satoko Odawara
都子 小田原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2919592A priority Critical patent/JPH05225169A/ja
Publication of JPH05225169A publication Critical patent/JPH05225169A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【構成】ユーザ入力の計算機の構成(102)、命令セット
の属性群(103)、論理動作群(105)と結果表示規則群(10
6)を含む計算機の動作規則群(104)、展開法則群(107)を
解釈して、モデル生成処理部(111)がシミュレーション
実行用動作規則群(115)を生成する。これとシミュレー
ション実行用データ(108)をもとにシミュレータプログ
ラム(116)がシミュレーションを実行する。動作記述群
中の起動されたイベントの条件部が成立した場合、動作
部の表示メッセージ(118)を表示処理部(117)が処理して
VDT上に結果を表示、代入文を動作処理部(119)が実行し
てシミュレーション結果(142)として出力する。 【効果】モデル記述や変更に要する時間を短縮し、アー
キテクチャを限定せずに高位モデルでの評価を支援す
る。また、論理動作と表示動作の区別なく記述して、ユ
ーザが評価の目的に合わせた表示指定を簡潔に行うこと
ができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】計算機システムのシミュレーショ
ンのためのモデル生成方法に関し、特に計算機の動作を
条件式からなる条件部と代入式からなる動作部によって
構成される動作規則で表して行う、イベントドリブン方
式の計算機シミュレーションのためのモデル生成方法に
関する。
【0002】
【従来の技術】超高速プロセッサを実現するために、命
令を多重に処理するパイプライン方式が有効である。こ
のパイプラインの妥当性の検証や性能評価を行うために
評価用のシミュレータが必要となる。例えば、情報処理
学会第37回全国大会論文集 (1988年) 第121頁から122頁
「SIMP(単一命令流/多重命令パイプライン)方式のシ
ミュレーションによる評価」(公知例1)参照。
【0003】このシミュレータでは、パイプラインの機
能をサブステージと呼ばれる最小単位に分割し、分割さ
れたサブステージの集合によってステージ及びパイプラ
イン構成を表現している。各ステージにどのサブステー
ジを用意するかによって任意のパイプラインを構成す
る。
【0004】また、このシミュレータでは命令間のデー
タ依存と制御依存といった依存関係によるパイプライン
の乱れをシミュレータ中で表現している。例えば命令間
にデータ依存がある場合は、それらの命令のリンクをと
り先行命令のデータ書き込みが終了するまではオペラン
ドは供給されない。制御依存は分岐命令により生じ、こ
れがある場合、分岐命令が終了するまで次の命令ブロッ
クは供給されない。
【0005】また、パイプライン計算機に限らず、計算
機モデルを図形インターフェイスを利用して作成し、そ
のモデル上でシミュレーション結果のアニメーション表
示を行うことにより評価結果の視覚性を向上してモデル
作成のデバッグや性能評価の効率を向上することは有効
である。例えば、「A performance model of a fault-t
olerant distributed system for evaluating reliabil
ity mecahnisms」Proc. of CMG XVI international con
ference, 363〜376頁, 1985(公知例2)参照。
【0006】上記文献中では、結果のアニメーションを
行うシステムを用いて、モデルの性能評価を行ってい
る。この評価支援システムでは、システムが用意するラ
イブラリ中のノードやリソースなどの部品をウィンドウ
中に配置していくことでモデル作成を行う。ライブラリ
中の各部品は、トランザクションの発生や消滅、及びそ
の動き等、いくつかのアニメーション表示機能を備えて
いる。
【0007】
【発明が解決しようとする課題】上記従来技術(公知例
1)は、計算機モデルを概略レベルで表現して性能評価
を行うシステムである。ユーザが入力した概略レベルの
記述からシミュレーション実行用のモデル生成を行う。
しかし、モデル生成支援の対象は一つのアーキテクチャ
に特化したシステムであるため、この支援機能を用いて
他のアーキテクチャの計算機モデルを作成することは不
可能である。また、例えば新たに計算機に高速化方式を
導入した場合の性能評価を行うためには、モデル記述の
変更が複雑であった。従って、複数のアーキテクチャの
いくつかの計算機システムを評価比較するためには、モ
デル生成支援に頼らずにモデル全体を人手で記述した
り、追加記述する必要がある上に、シミュレータプログ
ラムの変更も必要なため、その記述量は非常に多くなっ
てしまう。
【0008】本発明の第一の目的は、ユーザが入力する
評価対象モデル作成、及び変更の際にアーキクチャを限
定せずに概略レベルでのモデル記述とシミュレーション
の実行を支援して、モデルの記述量を削減して評価の効
率を向上することにある。
【0009】また上記従来技術(公知例2)では、シミ
ュレーション実行中または終了後の結果表示は、部品の
種類ごとに決まった表示のみしか行えなかった。
【0010】本発明の第二の目的は、ユーザが評価対象
モデルの論理動作記述中に区別することなく表示動作記
述を記述して、同時に両方の動作を処理するシミュレー
ションを行うことにより、アニメーションによる結果の
表示の方法を指定する手段を提供し、同時にその指定の
効率を向上することにある。
【0011】
【課題を解決するための手段】上記第一の課題を達成す
るために、ユーザが指定した動作規則と命令セットの定
義とシミュレーション実行用モデル記述への展開法則を
入力し、シミュレーション実行用モデルを出力するモデ
ル生成処理部と、モデル生成処理部中に展開法則を知識
ベースとして扱う展開法則操作部を備える。
【0012】また上記第二の目的を達成するために、シ
ミュレータプログラム中には、論理動作処理部と表示メ
ッセージ処理部とを備える。
【0013】
【作用】モデル生成処理部は、ユーザが指定した命令セ
ットの定義と動作規則群とモデル展開規則を入力し、展
開法則に従い展開処理を行なうとともに、命令セット中
のすべての命令に対応が可能なシミュレーション実行用
モデル出力する。
【0014】展開法則操作部は、展開法則群入力時には
展開法則記述群を内部形式に変換して知識ベースに登録
する。また、モデル生成処理部のモデル生成処理時には
入力された動作規則群をシミュレーション実行用動作規
則に変換する際に適用する展開法則の選択と、その展開
の枠組みをモデル生成処理部に渡す処理を行う。
【0015】シミュレータプログラムでは、イベントド
リブン方式でシミュレーションを実行し、モデルの論理
的動作規則と表示動作規則とを区別なくイベントとして
扱う。
【0016】各イベントは条件部と動作部から構成さ
れ、条件部は条件式で表現する。動作部についてはシミ
ュレーションシステムが用意する代入演算子を用いて記
述した論理動作を行う代入文か、またはシミュレーショ
ンシステムが用意する表示演算子を用いて記述した表示
動作を行う表示メッセージ文を、その区別なく一つまた
は複数記述することができる。
【0017】シミュレータプログラムは、処理対象のイ
ベントの条件部の条件式を判定して、該条件部が成立し
た場合に限り動作部を実行する。動作部を実行する際に
各動作文が、代入演算子を含む場合には論理動作処理部
が該動作記述の代入文を実行し、表示演算子を含む場合
には表示メッセージ処理部が該動作記述の表示メッセー
ジを表示対象オブジェクトに発信して表示処理を実行す
る。
【0018】
【実施例】本発明の実施例の説明に先立ち、まず本発明
による計算機シミュレーション方法の全体システム構成
の概要を、図1の構成ブロック図を用いて説明する。
【0019】図1において、100はユーザのシミュレー
ションシステムへの入力、110は計算機システムのCPU、
130は計算機システムのメモリ、140はVDTターミナルへ
のアニメーション表示を含めたシミュレーションシステ
ムの出力を示す。まず、ユーザは評価対象の計算機モデ
ルの定義(101)を入力する。計算機モデルを定義するた
めには、計算機の構成(102)、命令セットの定義として
各命令に関する属性群(103)、計算機の動作規則群(104)
を与える。計算機の動作の記述では論理動作群(105)、
結果表示規則群(106)、展開法則群(107)を与える。該論
理動作群と該結果表示規則群は区別することなく評価対
象計算機の動作規則群として記述すればよい。また該動
作記述群は展開法則群(107)によりシミュレーション実
行用動作規則に展開される対象であってよい。以上を入
力して、まず、展開法則操作部(112)が展開法則(107)を
内部形式(114)に変換して知識ベース中(113)に登録す
る。次にシミュレーション用モデル生成処理部(111)が
知識ベース(113)を参照しながらモデルの生成処理を行
い、シミュレーション実行用モデルである動作規則群(1
15)を出力する。次にユーザが入力したシミュレーショ
ン実行用データ(108)と、作成したシミュレーション実
行用動作記述群(115)を入力してシミュレータプログラ
ム(116)がシミュレーションを実行する。該動作記述群
のイベントを起動して、該イベントの条件部が成立した
場合には、動作部の表示規則を表示処理部(117)が表示
メッセージ(118)として処理してVDT上に結果表示(141)
を行い、論理動作の場合には動作処理部(119)が代入文
を実行して(120)、シミュレーション結果(142)として出
力する。
【0020】本発明の第一の特徴は、シミュレーション
用モデル生成処理部(111)と展開法則操作部(112)を有す
ることにある。該展開操作部は、ユーザが指定した展開
法則(107)を知識ベース中にとりこみ、シミュレーショ
ンモデル生成部が使用可能な内部形式(114)に変換し、
さらに、シミュレーションモデル生成処理部がモデル生
成処理を行う際には、使用すべき変換法則を選択してそ
の変換法則の内部形式をシミュレーションモデル生成処
理部に渡して生成処理の支援を行う。知識ベースに登録
された展開規則群(114)は設計知識として保存可能であ
るので、その後は新たに計算機モデルを入力する場合で
もこれを利用して計算機モデルの動作規則群(104)を記
述することや、展開法則に若干の変更を加えてモデル生
成を行うことが可能である。
【0021】本発明の第二の特徴は、シミュレータプロ
グラム(116)に表示動作処理部(117)と論理動作処理部(1
19)を有することにある。該シミュレータプログラムが
順次処理対象のイベントを処理していき、該イベントの
動作部が代入演算子を用いて記述されていれば、表示動
作処理部(117)が起動されて代入文を実行する。表示演
算子を用いて記述されていれば、論理動作処理部(119)
が起動されて表示メッセージを表示対象オブジェクトに
対して送信して、VDTターミナル上への表示処理を行
う。
【0022】以下、本発明の一実施例を詳細に説明す
る。
【0023】図2は、評価対象の計算機モデルの例であ
る。以下、図2の計算機モデルの動作の概略を説明す
る。4つの演算器を持つ並列実行可能なモデルで、汎用
レジスタGPR(213)、浮動小数点レジスタFPR(214)、コン
ディションコードCC(215)、メモリD-cache(212)を備え
る。NIA(201)は次に計算機システムに投入される命令の
アドレスを示し、アドレス計算器AT-I(202)はNIA(201)
が示すアドレスをアドレス計算して、命令キャッシュI-
cache(203)から次に取りだされる命令を指す。NIA(201)
の値は、命令が取りだされるごとに更新される(216)。
命令キャッシュI-cacheから取り出された命令はアライ
ナALIGNER(204)に投入されて命令レジスタIR(205)への
振り分けが行なわれる。命令レジスタIRへ投入された命
令は順次デコーダDEC(206)でデコード処理され、次に命
令ごとに適切な演算器に渡されるために行き先を決める
スイッチswitch(207)に投入される。スイッチSWで振り
分けられた命令は命令キューIQ(208)中でキューイング
された後、該当する演算器中で演算が実行される。アド
レス生成器AG(209)ではアドレスの生成を行ない、結果
をアドレス計算器AT-D(211)がアドレス計算してメモリD
-cache(212)中のアドレスを求める。また、他の演算器A
LU(210)では命令の演算を実行して、実行終了時に汎用
レジスタGPR(213)や浮動小数点レジスタFPR(214)の読み
だし、または、書き込み処理を行ない命令の実行を終了
する。
【0024】以下、前後の命令間の待ちを検出する方法
を説明する。先行する命令が汎用レジスタGPR、浮動小
数点レジスタFPR、コンディションコードCC、メモリD-c
acheなどのリソースの一部、または全体を書き換える命
令であれば、書き込みが終了するまでは、後続する命令
は対象リソースからデータを読みだすことができない。
この様に、「先行する命令Aの書き込み対象と後続する
命令Bの読み出し対象が重複している場合に、先行する
命令Aの書き込みが終了するまで後続する命令Bが読み出
しを行うことができない状態」を「命令Bにとって読み
だし対象がリザーブされている状態」と呼ぶことにす
る。後続する命令Bは、先行する命令Aの書き込み処理が
終了した時に読み出しを行うことができるようになるの
で、この時点で「命令Bにとっての読みだし対象のリザ
ーブ状態は解除される」。
【0025】図2に示した計算機モデル上では、命令が
デコーダDEC(206)でデコードされた時点で書き込み対象
リソースを「リザーブ状態に設定」し、演算器での演算
が終了した時点で書き込み対象の「リザーブ状態を解
除」する。また、命令キューIQ(208)から演算器(209, 2
10)に遷移しようとしている命令が汎用レジスタGPR、浮
動小数点レジスタFPR、コンディションコードCC、メモ
リData-cacheなどのリソースを読みだす命令である場
合、当命令にとって対象リソースが「リザーブ状態に設
定」されているか否かを調べる。対象リソースが「リザ
ーブ状態」に設定されているならば、当命令は「リザー
ブ状態」が解除されるまで演算を開始することができず
に命令キューIQ(208)内で待ちを生じる。「リザーブ状
態」でないならば、当命令は待ちを生ずることなしに命
令キューIQ(208)から演算器(209, 210)に遷移し、演算
を実行する。
【0026】以上の動作をシミュレーションするため
に、モデル上では以下に説明するような構造を用意す
る。リソースごとに「当リソースへ書き込みを行う、す
なわち、当リソースの値を書き換える可能性のある命令
リスト」を保存する「リザーブリスト」を用意する。例
えば、命令がデコーダDECでデコードされた時点で書き
込み対象リソースのリザーブリストの当命令の命令番号
を登録し、演算器での演算を終了した時点で書き込み対
象リソースのリザーブリスト中の当命令の命令番号を削
除する。また、命令キューIQから演算器に遷移しようと
している命令が読み出しを行う命令である場合は、読み
だし対象のリソースを読みだすことが可能か否かを調べ
る。ここでは、読みだし対象リソースのリザーブリスト
中に自命令にとって先行する命令が登録されているか否
かを調べる。もし登録されている場合は、すべての先行
する命令が書き込み処理を終了するまで、すなわち、リ
ザーブリストから削除されるまでがその命令にとっての
「リザーブ状態」であり、その間は「待ち発生」のフラ
グ信号を設定して、待ちを生じることにする。これはシ
ミュレーション対象の計算機モデルにおけるコンフリク
トの定義に当たり、もしベースであるアーキテクチャや
実現方式を変えることによりコンフリクト発生とみなす
条件が変わる場合には、その条件をチェックして「リザ
ーブ状態」を検出し、「待ち発生」のフラグ信号を設定
することになる。
【0027】汎用レジスタや浮動小数点レジスタのよう
に、複数の要素からなり、部分的に値の書き換えや読み
出しが行われるリソースについては、対応する数のエン
トリを持つリザーブリストを用意する。またコンディシ
ョンコードのように全体の値の書き換えが行われるリソ
ースに対しては、1つのエントリを持つリザーブリスト
を用意すればよい。またメモリの様にデータの書き換え
や読みだしが部分的に行われるが、その境界や長さが一
定でない場合には、エントリが一つのリザーブリストを
用意する。メモリのいずれかの場所に書き込みを行う命
令と開始アドレスと終了アドレスのリスト、または、メ
モリのいずれかの場所に書き込みを行う命令と開始アド
レスと書き込み長のリストを登録していき、読みだしを
行うときにアドレスの重なりをチェックすればよい。ま
たは、メモリのいずれかでも書き込みを行う命令の番号
を登録していき、読み出しを行うときには評価対象の命
令列から開始アドレスと終了アドレスまたは書き込み長
を切り出して、重なりのチェックを行ってもよい。
【0028】図3は、図2の計算機モデル上で処理され
る命令セット属性定義(103)の例の一部である。ここで
は、各命令に対して定義すべき項目ごとにその内容を属
性として与え、命令属性テーブルの形式(220)で定義し
ている。また、テーブル内ではパラメタ化された数字で
データを与えて、さらに図4に示すような、パラメタ化
参照テーブル(221)で各々のパラメタ化された数字の意
味を定義する場合もある。例えば、命令属性テーブル(2
20)中の項目GRは汎用レジスタGPRを読みだすパターンの
タイプを指定している。命令LD、STは「1」、命令ADD
は「2」と指定されている。パラメタ化参照テーブル(2
21)中で、「GR」の「1」はオペランドのR1フィールド
部分で指定された汎用レジスタ番号を読みだし、「2」
はオペランドのR1フィールドとR2フィールド部分で指
定された汎用レジスタ番号を読みだすことを意味するこ
とを指定している 図5は、以上説明した計算機モデルの動作規則群(105)
の例の一部である。オペランドで使用されている汎用レ
ジスタの競合による待ちを検出するための動作規則群を
抜粋している。300は、上記待ちを検出するための動作
規則である。310は、上記待ちを検出するために必要な
情報であるところの、計算機モデルの構成要素ごとの状
態や動作を定義する動作規則の一部である。まず311か
ら313の動作記述中でで使用されている「each」で始ま
るeach構文の文法を311を例にして説明する。この構文
は多回数の繰り返しや、パラメタで回数が指定される繰
り返しを簡潔に記述するために使用される構文で、リス
ト中のインデックス文字列を指定された転換範囲の各要
素で置き換えたリストを生成する。each構文は4つの引
数を持つ。第1番目の引数をインデックスと呼び、この
例では「index1」という文字列である。第2番目の引
数は「in」という文字列でどの記述でも共通である。第
3の引数は展開範囲と呼び、この例では「(all 'G
W)」である。ここで、「(all 'GW)」は、図3の命
令セットの定義中で指定されている各命令のGWの属性の
全種類を指し、図3の例のでは(1 2)を意味する。
「(all 'GW)」の替わりに「(1 2)」と記述して
も等価である。第4の引数を展開本体と呼び、「ルール
1−<index1> if ... 」の部分である。
【0029】次に展開本体で記述されている動作規則の
意味について説明する。311の動作規則において、条件
部は「((汎用レジスタ書き込みタイプ DEC<n>中の命
令)= index1)」の部分、動作部は「(リザーブ化
DEC<n>中の命令 index1)」の部分である。動作規
則全体で「DEC<n>中の命令の汎用レジスタ書き込みタイ
プが index1で表されるものである場合に(以上条件
部)、DEC<n>中の命令が書き込みをする対象部分をリザ
ーブ化する(以上動作部)」動作を意味している。311
の動作規則では、デコーダDEC中の汎用レジスタへの書
き込みを行う命令が書き込みを行う対象リソースのリザ
ーブ化を行っている。312の動作規則では、演算器ALU中
の汎用レジスタへの書き込みを行う命令が書き込みを行
う対象リソースのリザーブ解除を行っている。313の動
作規則では、命令キューIQ中の汎用レジスタを読みだす
命令が読みだし対象リソースがリザーブ状態であるか否
かをチェックして、もしリザーブ状態である場合には汎
用レジスタコンフリクトが発生したことを表すフラグに
値1を設定している。314の動作規則では、汎用レジス
タコンフリクトが発生したことを表すフラグに値1が設
定されている間、命令キューIQ中の命令がビジーの状態
に設定している。315の動作規則では命令キューIQ中の
命令がビジーの状態に設されている間、命令キューIQか
ら演算器ALUへの命令の遷移を制御する信号を0に設定
している。316の動作規則では命令キューIQから演算器A
LUへの命令の遷移を制御する信号の値が1であれば、命
令キューIQから演算器ALUへの遷移処理を行っている。
【0030】この記述中では、コンフリクト発生とみな
す定義は不要で、「いつチェックを行なうか」「コンフ
リクト発生と見なされたときの動作はいかにすべきか」
についてを記述している。これらは展開法則の定義(10
7)の中で定義される。ここでは各々の構成要素であるオ
ブジェクトの状態や動作についての規則を記述するのみ
でよいので、記述は非常に見やすく、簡潔になってい
る。
【0031】図6は、展開法則(107)の例の一部であ
る。図5で使用されている展開法則を抜粋している。ま
ず展開法則定義の文法について説明する。展開法則定義
構文は、文字列「展開規則定義」から始まり、「展開規
則名」、「引数リスト」、「定義本体」の順に定義内容
を記述する。引数リストの要素数は、動作規則中の記述
の際の引数の数と一致しなければならない。定義内容の
本体にはeach構文の他、LISPプログラムを記述すること
ができる。
【0032】図6の例では、321は「リザーブ化」を定
義している。「リザーブ化」を、汎用レジスタの書き換
え対象部分のリザーブリストに命令番号を追加すること
で表現している。ここで、<要素名>の部分には、計算
機モデルの構成要素名を指定する。構成要素名はその構
成要素中で処理中の命令番号を値としてもっている。ま
た、consは第1引数を第2引数であるリストに追加する
処理を行う関数である。322は「リザーブ解除」を、323
は「リザーブチェック」を、324は「ビジー状態」を、3
25は「遷移実行」を定義している。
【0033】323の展開規則定義の「リザーブチェッ
ク」の部分では、読みだし対象リソースがリザーブ状態
であるか否かのチェックの方法を記述しているが、これ
はコンフリクトの定義でもある。「読みだし対象のリソ
ースについて、自命令より命令番号の小さい命令番号が
登録されていないか否かを調べる」意味の記述がされて
いる。もし、命令の追い越しを許すような計算機モデル
である場合には、「命令番号が小さい」ことがコンフリ
クト発生の条件でなく、「命令番号が小さく、かつ、追
い越し処理により先行していない」ことが条件となる。
また、データ線の本数の都合上、書き込みや読み込みな
どのリソースへのアクセス処理が一時刻で一つしか行な
えない計算機モデルを仮定する場合には、それをカウン
トする動作を各々書き込みや読みだしを行なう動作記述
中に書いておき、「そのカウンタが1より大きくない」
ことを条件に付け加えればよい。この様に各オブジェク
トの関係とそれらの状態から発生する全体の状態を検出
する方法を動作規則から分離した。各々のオブジェクト
の動作の定義記述(図5)とそれらの関係を記述した展
開法則の記述(図6)が簡潔になり、モデルの作成と変
更に要する時間を大幅に短縮することができるようにな
った。
【0034】図2から図6の計算機モデルを入力した場
合のシミュレーション用モデル生成処理部の出力となる
シミュレーション用動作規則群の一部を図7に示す。33
1(a)、(b)を例に、展開処理について説明する。ルール
1ー1(331(a))とルール1ー2(331(b))は、命令セット
で定義された命令の汎用レジスタへの書き込みパターン
のタイプに合わせて生成された動作記述である。ルール
1−1は書き込みがR1フィールドで指定された汎用レ
ジスタにのみ行なわれる場合のリザーブ化処理である。
ルール1−2は書き込みがR1フィールドとR2フィール
ドで指定された汎用レジスタに対して行なわれる場合の
リザーブ化処理である。それぞれに命令番号を登録して
いる。332はリザーブ状態の解除処理で331と同様であ
る。333はリザーブ状態をチェックする動作規則記述の
生成である。333(a)は、R1フィールドで指定された汎
用レジスタを読みだし対象とする場合である。R1フィ
ールドのリザーブリストについて、そこに登録されてい
る命令番号が自命令の番号より小さいか否かを調べてい
る。一つでも小さいものが存在すれば、この動作記述の
条件部は成立し、コンフリクト発生を示すフラグが設定
されることになる。333(b)はR1フィールドとR2フィー
ルドで指定された汎用レジスタを読みだし対象とする場
合である。R1フィールドとR2フィールドのリザーブリ
ストについて同様のチェックを行なっている。
【0035】図8は、展開法則操作部(112)の処理全体
を表すフローチャートである。まず、展開規則を一つづ
つ取り出す(401)。取り出した展開規則の名前が既に展
開規則テーブル(405)に登録されているものでないか否
かをチェックし、重なりがあれば警告して、そうでなけ
れば引き続き処理を続行する(402)。展開本体と引数を
取り出して(403)、展開規則名の元に設定して展開規則
名を展開規則テーブルに登録する(404)。
【0036】図9は、シミュレーション用モデル生成処
理部(111)の処理全体を表すフローチャートである。ま
ず、動作記述文を一つずつ取り出す(411)。each構文で
あれば(411)展開処理を行う(412)。動作規則の条件文ま
たは動作文を順に一つづつ取り出し(414)、each構文で
あれば(415)展開処理を行う(412)。次に取り出した条件
文または動作文が展開規則名から始まるリストであれば
(416)、展開規則をあてはめて展開処理を行わなければ
ならない(417)。展開規則の定義で指定された引数の個
数と合うかのチェック(418)、命令セット定義参照のチ
ェック(419)、each構文の展開(420)、を経て展開規則で
与えられた枠組みをあてはめ動作規則を表すリストを生
成する(421)。
【0037】図10を用いて、論理動作記述と表示動作
規則とが混在する動作規則の例(501)を説明する。501の
動作規則は、「シミュレーションクロックCKが立ち上が
ったときに、信号Aの値が1でかつ信号Bの値が1である
場合には(以上条件部)、ただちに、信号Cに値1を設
定する論理動作(以上動作部1)と、図面上の信号Cを
表す表示図形に色redの色を塗る表示動作を実行する
(以上動作部2)」動作を表す動作記述「動作A」であ
る。動作部1は代入演算子グループ(502)中の演算子
「値を設定」を使用して記述される論理動作規則記述で
ある。代入演算子「値を設定」に続いて、計算機モデル
の構成要素部品への値の設定を指示する記述がされてい
る。動作部2は表示演算子グループ(503)中の演算子
「色を塗る」を使用して記述される表示動作規則記述で
ある。表示演算子「色を塗る」に続いて、「色を塗る」
計算機モデルの構成要素部品名と色を引数として与えて
指定を行い、表示動作を指示する記述がされている。表
示部品に対する表示動作はいくつかのバリエーションが
あり、各々の動作に対応して表示演算子が用意されてい
る。表示する内容によって指定する項目が異なるため、
引数は表示演算子ごとに個別に定義されていて、その数
や順序は異なる。また、表示の対象となる表示部品は、
計算機モデルの構成要素か、または表示のためだけに図
面上に配置されている部品、例えばグラフを表示する部
品や状態を表示するランプのような部品であってもよ
い。
【0038】図11は、図10のイベントを処理するシ
ミュレータプログラム、論理動作処理プログラム、表示
動作処理プログラムの動きを表すフローチャートであ
る。モデルの構成要素であるオブジェクト(511)とし
て、その構成生要素に関する動作などの動作規則はオブ
ジェクトに関連付けされたメソッド(512)として生成さ
れている。シミュレーションが開始すると、起動される
べき動作規則記述がイベントホイール(513)の相当時刻
のスロットに登録される。まず、イベントホイール(51
3)の当該時刻のスロットにまだ処理すべきイベントがあ
ればイベントを1つ取り出し(514)、取り出したイベン
トの条件部の判定処理を行う(515)。条件部が成立した
場合には、その動作部から動作文を取り出し、動作部記
述演算子テーブルを参照して表示演算子による記述であ
るか、動作文が代入演算子による記述であるかを判定す
る(514)。表示演算子による記述ならば、表示動作処理
プログラム(519)が表示対象図形オブジェクトに表示メ
ッセージを送信し(518)、表示処理を実行する。動作文
が代入演算子による記述ならば論理動作処理プログラム
(521)により値の代入処理が実行される(520)。条件部が
不成立の場合は、次イベントを取り出し同様の処理を行
う。処理すべきイベントがなくなるまで以上のイベント
処理を行う。
【0039】表示の対象はモデルの構成部品であるオブ
ジェクトであってもよいし、統計情報を逐次表示するた
めの折れ線グラフや棒グラフ、円グラフなどのオブジェ
クトであってもよい。両者はモデルを作成する際に区別
されることなく図形として配置され、各々適切な動作規
則記述により動作が定義されているはずである。対象オ
ブジェクトがモデルの構成部品であるオブジェクトの場
合は、表示メッセージの動作はシミュレーションの途中
経過としてオブジェクトの値の表示を行なったり、オブ
ジェクトの状態により色を塗り替えたりするなどの指定
ができる。対象オブジェクトが統計情報を逐次表示する
ためのオブジェクトの場合には、モデルの状態から算出
した値を折れ線グラフの該当するポイントのXY座標とし
てデータを与えてグラフを逐次書き換えたり、全体の内
訳を計算したデータを各領域に与えて棒グラフや円グラ
フなどを書き換えたりするなどの動作が可能である。
【0040】また、シミュレーション終了時にオブジェ
クトとして生成されている折れ線グラフや棒グラフなど
の統計情報用の表示部品に対する表示データが存在する
場合には、同じ形式で記述された表示動作文を同様に処
理して表示動作を行なう。
【0041】
【発明の効果】本発明は、以上説明したように構成され
ているので、以下に記載するような効果がある。
【0042】アーキテクチャを限定せずに高位モデルで
の評価を支援し、さらにモデル変更の際には既作成の展
開規則や動作規則の定義を知識ベースとして利用するこ
とが可能であるので、シミュレーション用のモデル作
成、変更の記述量が少なくなり、時間を短縮することが
できる。
【0043】また、シミュレータプログラム中では論理
動作と表示動作の区別なく記述したイベントを実行する
ことができるので、ユーザが評価の目的に合わせて表示
動作をすることができる上に、表示の指定を簡潔に行う
ことができる。
【図面の簡単な説明】
【図1】本発明の全体システム構成図である。
【図2】評価対象の計算機モデルの例である。
【図3】命令セット入力例の一部である。
【図4】命令セット定義のため補助入力であるパラメタ
化参照テーブルの一部である。
【図5】図2の計算機モデルの動作規則群入力例の一部
である。
【図6】展開規則群入力例の一部である。
【図7】図3、図4、図5、図6の計算機モデルから生
成されるシミュレーション用動作規則群の一部である。
【図8】展開法則操作部の処理全体を表すフローチャー
トである。
【図9】シミュレーション用モデル生成処理部の処理全
体を表すフローチャートである。
【図10】論理動作記述と表示動作規則とが混在するイ
ベントの例である。
【図11】図9のイベントを処理するシミュレータプロ
グラム、論理動作処理部、表示動作処理部の動きを表す
フローチャートである。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】モデルの構成と動作規則と、モデル上で処
    理される各処理単位の定義を入力してシミュレーション
    を実行するシミュレーション方法において、動作規則か
    らシミュレーション用動作規則記述への展開方法を与え
    る展開法則を入力し、選択した展開法則に基づいて、シ
    ミュレーション実行用動作規則を展開してシミュレーシ
    ョン実行用動作規則を生成するモデル生成方法。
  2. 【請求項2】動作規則からシミュレーション用動作規則
    記述への展開方法の定義を与える展開法則と法則名を入
    力し、シミュレーション実行用動作規則生成時には、名
    前によって選択した展開法則に基づいて、シミュレーシ
    ョン実行用動作規則を展開する請求項1記載のモデル生
    成方法。
  3. 【請求項3】各処理単位の定義群からシミュレーション
    実行用動作規則記述への展開法則を入力し、シミュレー
    ション実行用動作規則生成時には、選択した展開法則に
    基づいて、各処理単位の定義対応にシミュレーション実
    行用動作規則を展開する請求項2記載のモデル生成方
    法。
  4. 【請求項4】モデルの各構成要素の動作を現わす動作規
    則群を入力し、動作記述展開法則に従って各構成要素ご
    とにすべての処理単位に対応可能なシミュレーション実
    行用動作規則を展開する請求項2記載のモデル生成方
    法。
  5. 【請求項5】図形で表した各構成要素をポインティング
    デバイスで指定し、各構成要素ごとの動作規則群と展開
    法則群を入力し、生成したシミュレーション実行用動作
    規則群と入力した構成要素の間に相互にポインタを持ち
    合う請求項4記載のシミュレーション方法。
  6. 【請求項6】動作展開処理部が展開法則に従ってシミュ
    レーション実行用の構成要素の論理動作規則と表示動作
    規則を展開し、シミュレーションの実行中には論理動作
    規則と表示動作規則を区別なく解釈して動作のシミュレ
    ーションと同時に表示を行う請求項4記載のシミュレー
    ション方法。
  7. 【請求項7】モデルの構成定義時にはモデルの構成要素
    部品と、シミュレーション実行中またはシミュレーショ
    ン実行後の統計を表示する部品とを配置し、シミュレー
    ション実行用動作規則生成時には動作展開処理部が展開
    法則に従ってシミュレーション実行用の構成要素の論理
    動作規則と状態表示動作規則と統計表示規則を生成し、
    シミュレーションの実行中には論理動作規則と状態表示
    動作規則と統計表示規則を区別なく解釈して論理動作の
    シミュレーションと同時に表示動作を行い、シミュレー
    ション終了時にも表示すべき統計結果があれば表示を行
    う請求項6記載のシミュレーション方法。
JP2919592A 1992-02-17 1992-02-17 モデル生成方法 Pending JPH05225169A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2919592A JPH05225169A (ja) 1992-02-17 1992-02-17 モデル生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2919592A JPH05225169A (ja) 1992-02-17 1992-02-17 モデル生成方法

Publications (1)

Publication Number Publication Date
JPH05225169A true JPH05225169A (ja) 1993-09-03

Family

ID=12269417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2919592A Pending JPH05225169A (ja) 1992-02-17 1992-02-17 モデル生成方法

Country Status (1)

Country Link
JP (1) JPH05225169A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207052A (ja) * 2006-02-03 2007-08-16 Hitachi Ltd シミュレーションモデルジェネレータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207052A (ja) * 2006-02-03 2007-08-16 Hitachi Ltd シミュレーションモデルジェネレータ

Similar Documents

Publication Publication Date Title
Ortego et al. SESC: SuperESCalar simulator
JP5613547B2 (ja) タスクベースの並列プログラミング言語
JP2003050715A (ja) コンパイラおよびデバッグ装置
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US11397608B2 (en) Multi-dimensional spreadsheet system enabling stack based programming using a virtual machine
JPS5975347A (ja) 論理回路のシミユレ−シヨン装置
US10379821B1 (en) Optimization tracing
US6438514B1 (en) Generation of a system model
US7676774B2 (en) System LSI verification system and system LSI verification method
US20040010781A1 (en) Parameter parsing system
US8041551B1 (en) Algorithm and architecture for multi-argument associative operations that minimizes the number of components using a latency of the components
JP3274036B2 (ja) プロセッサの動作モデルと論理検証用試験命令列の自動生成方法及び装置
JP2005063136A (ja) 半導体集積回路の設計装置、設計方法、及び設計プログラム
JPH05225169A (ja) モデル生成方法
JP6528433B2 (ja) 設計支援装置、および設計支援方法
JPH08286896A (ja) ソフトウェア開発方法及びソフトウェア開発システム
US20190102153A1 (en) Information processing apparatus, information processing method, and recording medium recording program
JP3295803B2 (ja) プロセッサ方式性能測定方式
JPH09237191A (ja) プログラミング支援装置、プログラミング支援方法、及びプログラミング支援プログラムを記録した媒体
Herceg et al. The Extensibility of an Interpreted Language Using Plugin Libraries
JPH0695862A (ja) 命令列最適化支援装置
JPH03135630A (ja) 命令スケジューリング方式
JP2004206699A (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP2001022808A (ja) 論理回路削減装置ならびに論理シミュレーション方法および装置
JP2982418B2 (ja) 機能シミュレーション装置