JPH1124957A - シミュレーション方法及び計算機システム - Google Patents

シミュレーション方法及び計算機システム

Info

Publication number
JPH1124957A
JPH1124957A JP9174581A JP17458197A JPH1124957A JP H1124957 A JPH1124957 A JP H1124957A JP 9174581 A JP9174581 A JP 9174581A JP 17458197 A JP17458197 A JP 17458197A JP H1124957 A JPH1124957 A JP H1124957A
Authority
JP
Japan
Prior art keywords
instruction
host
computer
operations
target
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.)
Withdrawn
Application number
JP9174581A
Other languages
English (en)
Inventor
Takayuki Hoshiya
隆之 星屋
Katsuto Minae
克仁 薬袋
Naoaki Maeda
直昭 前田
Masahiro Miyashita
雅裕 宮下
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 JP9174581A priority Critical patent/JPH1124957A/ja
Publication of JPH1124957A publication Critical patent/JPH1124957A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 本発明は、1命令で単一の操作を実行可能な
ホスト計算機が、LIW方式を採用したアーキテクチャ
の異なるターゲット計算機の動作を模擬できるシミュレ
ーション方法を提供することを目的とする。 【解決手段】 1命令で単一の操作を実行可能なホスト
計算機上で、1命令で複数の操作を実行可能なターゲッ
ト計算機の動作を模擬するシミュレーション方法におい
て、ターゲット計算機で実行可能なターゲット命令列を
ホスト計算機で実行可能な複数の操作に分割する分割ス
テップと、分割ステップにて分割された複数の操作を所
定の方法に基づいて変更し、ホスト計算機で実行可能な
ホスト命令列を生成するホスト命令生成ステップとを有
し、ホスト命令生成ステップにて生成されたホスト命令
列を実行することにより、ターゲット計算機の動作を模
擬することを特徴とする構成とした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホスト計算機上で
アーキテクチャの異なるターゲット計算機の動作を模擬
するシミュレーション方法に関する。近年、計算機シス
テムの開発サイクルが短くなっており、ハードウェアの
開発から出荷までの期間が短く、新規ハードウェア上で
動作するソフトウェアの開発期間の短縮が必要である。
このため、新規ハードウェア用のソフトウェアの開発
を、アーキテクチャの異なる既存のハードウェアのシミ
ュレータ上で行うことが要求されている。
【0002】また、新規ハードウェア上において、出荷
当初は、アプリケーションが少ないため、既存のアプリ
ケーションを新規ハードウェア上で動作させるためのシ
ミュレータが要求されている。また、これらのシミュレ
ータは、新規ハードウェア用のソフトウェアを既存のハ
ードウェアで開発する用途、及び既存のハードウェア用
のソフトウェアを新規ハードウェアで動作させるアプリ
ケーション開発の用途において、性能がネイティブ動作
に近いことが要求されている。
【0003】
【従来の技術】以下、従来技術の例を図13に基づいて
説明する。図13(a)に示すようなターゲット計算機
において、ロードモジュール10は、命令領域とデータ
領域を有し、ターゲット計算機は、ロードモジュール1
0内のターゲット命令に従って、CPUのレジスタやメ
モリ等の状態を示すファシリティ11を参照、及び更新
しながら動作している。
【0004】図13(b)に示すようなホスト計算機に
おいて、ターゲット計算機のロードモジュール10の動
作を模擬する場合、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のロードモジュール10に
対応するメモリイメージ1を有し、そのメモリイメージ
1にロードモジュール10の命令領域、及びデータ領域
を展開する。
【0005】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のファシリティ11に対応
するファシリティ2を有し、ファシリティ2は、ターゲ
ット計算機のファシリティ11内のデータをシミュレー
タ内の配列として、または、ホスト計算機のレジスタ上
に記憶する。また、ホスト計算機上で動作するシミュレ
ータは、ターゲット命令をホスト命令に変換する命令変
換制御部4を有し、命令変換制御部4は、メモリイメー
ジ1から、例えば、図13(c)に示すような実行すべ
きターゲット命令(加算命令)を判別し、そのターゲッ
ト命令に基づいて、例えば、図13(d)に示すような
ホスト命令を生成し、命令変換バッファ3に格納する。
尚、図13(c)に示すターゲット命令は、ターゲット
計算機上のレジスタR1とR2とを加算した結果をレジ
スタR3に格納する命令例である。また、図13(d)
に示すホスト命令は、R1、R2、R3を変数として実
現し、変数R1とR2をそれぞれレジスタr10とr1
1にロードし、レジスタr10とr11の加算結果をレ
ジスタr12に格納し、その加算結果に変数R3を書き
換える命令例である。
【0006】また、生成したホスト命令がメモリイメー
ジ1のデータ領域を参照、または、更新する場合、命令
変換制御部4は、メモリイメージ1に対応する領域を参
照、または、更新するホスト命令を生成し、命令変換バ
ッファ3に格納する。更に、生成したホスト命令がファ
シリティ2を参照、または、更新する場合、命令変換制
御部4は、ファシリティ2に対応する領域を参照、また
は、更新するホスト命令を生成し、命令変換バッファ3
に格納する。
【0007】1命令で単一の操作を実行可能なホスト計
算機が、例えば、図14(a)に示すような1命令で複
数の操作を同時実行可能なLIW(Long Inst
ruction Word)方式を採用したターゲット
計算機の動作を模擬する場合でも、上記図13(c)の
ようにターゲット命令に基づいてホスト命令を生成す
る。この場合、ターゲット計算機では、命令D内の操作
gの加算命令と操作hの加算命令を同時に実行すること
になるが、ホスト計算機では、操作g、操作hの順に実
行することになる。尚、図14(a)に示すターゲット
命令の操作gは、ターゲット計算機上のレジスタR1と
R2とを加算した結果をレジスタR3に格納する命令例
であり、操作hは、ターゲット計算機上のレジスタR4
とR5とを加算した結果をレジスタR6に格納する命令
例である。
【0008】ターゲット命令の実行結果とホスト命令の
実行結果は、共にレジスタR3が「11」に、レジスタ
R6が「5」に書き換えられる。従来技術では、ホスト
計算機上で動作するシミュレータは、ターゲット命令か
ら変換したホスト命令を命令変換バッファ3に保持して
いるため、同一のターゲット命令を再度参照する場合、
ターゲット命令を変換することなくホスト命令を実行で
き、同一の命令を繰り返すループ構造のターゲットプロ
グラムのシミュレーションで高速化を実現している。
【0009】
【発明が解決しようとする課題】しかしながら、1命令
で単一の操作を実行可能なホスト計算機が、LIW方式
を採用したターゲット計算機の動作を模擬する場合、ホ
スト計算機は、従来のシミュレーション方法では正確に
模擬できないことがある。第一にターゲット命令が図1
4(c)のような、例えば、命令列E内にターゲット計
算機上のレジスタR1とR2とを加算した結果にレジス
タR3を更新する操作jと、レジスタR3とR4とを加
算した結果にレジスタR5を更新する操作kで構成され
る場合である。
【0010】この場合、ターゲット計算機では、操作j
と操作kが同時に実行できるため、レジスタR1、R
2、R3、R4は、それぞれ図14(d)の実行前に示
すようなデータ「6」、「5」、「4」、「3」を参照
し、レジスタR1とR2の加算結果である「11」にレ
ジスタR3を更新し、レジスタR3とR4の加算結果で
ある「7」にレジスタR5を更新する。
【0011】ところが、ホスト計算機では、操作jと操
作kが同時に実行できないため、先にレジスタR1、R
2は、それぞれ図14(d)の実行前に示すようなデー
タ「6」、「5」を参照し、レジスタR1とR2の加算
結果である「11」にレジスタR3を更新し、次にR3
は、レジスタR1とR2の加算結果である「11」を参
照し、R4は、図14(d)の実行前に示すようなデー
タ「3」を参照し、レジスタR3とR4の加算結果であ
る「14」をレジスタR5に格納する。
【0012】このように、ターゲット計算機とホスト計
算機の加算結果が異なるため、1命令で単一の操作を実
行可能なホスト計算機が、LIW方式を採用したターゲ
ット計算機を模擬する場合、ホスト計算機は、従来のシ
ミュレーション方法ではターゲット計算機の動作を正確
に模擬できない。第二に第一にターゲット命令が図15
のような、例えば、命令列F内にターゲット計算機上の
レジスタR1とR2とを加算した結果にレジスタR3を
更新する操作lと、条件付の分岐命令である操作mで構
成される場合である。
【0013】この場合、ターゲット計算機では、操作l
と操作mが同時に実行できるため、レジスタR1、R2
の加算結果にレジスタR3を更新し、同時に実行前のフ
ラグ値「1」を参照し、分岐先に分岐する。尚、上記の
分岐命令は、フラグ値が「1」のとき分岐先に分岐し、
フラグ値が「0」のときは分岐しないものとする。とこ
ろが、ホスト計算機では、操作lと操作mが同時に実行
できないため、先にレジスタR1、R2の加算結果にレ
ジスタR3を更新し、更に、例えば、図15のように分
岐命令が参照するフラグ値を「0」に変更してしまう場
合がある。そのため、分岐命令が実行されないことがあ
る。
【0014】このように、ターゲット計算機とホスト計
算機の実行内容が異なることがあるため、1命令で単一
の操作を実行可能なホスト計算機が、LIW方式を採用
したターゲット計算機を検証する場合、ホスト計算機
は、従来のシミュレーション方法ではターゲット計算機
の動作を正確に模擬できない。本発明は、1命令で単一
の操作を実行可能なホスト計算機が、LIW方式を採用
したアーキテクチャの異なるターゲット計算機の動作を
正確に模擬できるシミュレーション方法を提供する。
【0015】
【課題を解決するための手段】そこで、上記課題を解決
するため、本発明は、請求項1に記載のように、1命令
で単一の操作を実行可能なホスト計算機上で、1命令で
複数の操作を実行可能なターゲット計算機の動作を模擬
するシミュレーション方法において、ターゲット計算機
で実行可能なターゲット命令列をホスト計算機で実行可
能な複数の操作に分割する分割ステップと、分割ステッ
プにて分割された複数の操作を所定の方法に基づいて変
更し、ホスト計算機で実行可能なホスト命令列を生成す
るホスト命令生成ステップとを有し、ホスト命令生成ス
テップにて生成されたホスト命令列を実行することによ
り、ターゲット計算機の動作を模擬することを特徴とす
るシミュレーション方法とする。
【0016】上記のシミュレーション方法では、1命令
で単一の操作を実行可能なホスト計算機上で、LIW方
式を採用したターゲット計算機の動作を模擬できるた
め、ターゲット計算機のソフトウェアをホスト計算機上
で開発することが可能となり、ターゲット計算機用のソ
フトウェアの開発期間の短縮が実現できる。また、本発
明は、請求項2記載のように、請求項1記載のシミュレ
ーション方法において、ホスト命令生成ステップは、分
割ステップにて分割された複数の操作が同一のファシリ
ティを参照、且つ更新しているかどうかを判定する判定
ステップと、判定ステップにて同一のファシリティを参
照、且つ更新していると判定したときに、該当する操作
対象のファシリティをワーク領域に格納するホスト命令
列を生成するワーク領域格納ステップと、操作が参照す
るファシリティをワーク領域にて格納しているファシリ
ティに変更する変更ステップとを有し、変更ステップに
て変更した操作に基づいて、ホスト計算機で実行可能な
ホスト命令列を生成することを特徴とするシミュレーシ
ョン方法とする。
【0017】ホスト命令生成ステップ実行中に、判定ス
テップにて更新されたファシリティを参照するような操
作が存在すると判定された場合でも、上記の方法でホス
ト命令列を生成することによって、参照するファシリテ
ィを予めワーク領域に格納でき、更に、ホスト計算機上
のホスト命令は、ワーク領域を参照するように変更する
ことで、分割ステップにて分割された複数の操作が同一
のファシリティを参照、且つ更新することがないように
ホスト命令を生成でき、LIW方式を採用したターゲッ
ト計算機上でターゲット命令を実行したときと同様の動
作を模擬することができる。
【0018】また、本発明は、請求項3記載のように、
請求項1記載のシミュレーション方法において、ホスト
命令生成ステップは、分割ステップにて分割された複数
の操作が同一のファシリティを参照、且つ更新している
かどうかを判定する判定ステップと、判定ステップにて
同一のファシリティを参照、且つ更新していると判定し
たときに、分割ステップにて分割された複数の操作をテ
ーブルに格納するテーブル格納ステップと、テーブルに
て格納されている操作の中から、更新するファシリティ
が他の操作から参照されることのない操作を検出する検
出ステップとを有し、検出ステップにて検出した操作に
基づいて、ホスト計算機で実行可能なホスト命令列を生
成することを特徴とするシミュレーション方法とする。
【0019】ホスト命令生成ステップ実行中に、判定ス
テップにて更新されたファシリティを参照するような操
作が存在すると判定された場合でも、上記の方法でホス
ト命令列を生成すると、検出ステップにて検出した操作
を更新されるファシリティを前もって保存するホスト命
令に変換するため、LIW方式を採用したターゲット計
算機上でターゲット命令を実行したときと同様の動作を
模擬することができる。
【0020】また、本発明は、請求項4記載のように、
請求項3記載のシミュレーション方法において、ホスト
命令生成ステップは、更に、検出ステップにて検出した
操作をテーブルから削除する検出操作削除ステップを有
し、テーブル内の操作がなくなるまで検出ステップと検
出操作削除ステップを繰り返すことを特徴とするシミュ
レーション方法とする。
【0021】上記の方法でホスト命令列を生成すると、
検出ステップにて検出した順に操作をホスト命令に変換
するため、操作が更新するファシリティを参照する操作
がないような順に操作を並べ替えてホスト命令に変換す
ることになり、ワーク領域に情報をコピーする必要がな
く、性能向上が期待できる。また、本発明は、請求項5
記載のように、請求項3または4記載のシミュレーショ
ン方法において、ホスト命令生成ステップは、更に、判
定ステップにて同一のファシリティを参照、且つ更新し
ていると判定し、更に、検出ステップにて更新するファ
シリティが他の操作から参照されることのない操作を検
出できない場合、判定ステップにて同一のファシリティ
を参照、且つ更新していると判定されたファシリティの
内、いずれか1つをワーク領域に格納するホスト命令列
を生成するワーク領域格納ステップと、操作が参照する
ファシリティをワーク領域にて格納しているファシリテ
ィに変更する変更ステップとを有し、変更ステップにて
変更した操作に基づいて、ホスト計算機で実行可能なホ
スト命令列を生成することを特徴とするシミュレーショ
ン方法とする。
【0022】上記の方法でホスト命令列を生成すると、
判定ステップにて更新されたファシリティを参照するよ
うな操作が存在すると判定された場合、且つ検出ステッ
プにて操作を検出できない場合でも、ホスト計算機は、
参照するファシリティを予めワーク領域に格納でき、更
に、ホスト計算機上のホスト命令は、ワーク領域を参照
するように変更することで、分割ステップにて分割され
た複数の操作が同一のファシリティを参照、且つ更新す
ることがないようなホスト命令を生成でき、LIW方式
を採用したターゲット計算機上でターゲット命令を実行
したときと同様の動作を模擬することができる。
【0023】また、本発明は、請求項6記載のように、
請求項1乃至5いずれか一項記載のシミュレーション方
法において、ホスト命令生成ステップは、分割ステップ
にて分割された複数の操作から条件分岐命令が存在する
ことを検出する分岐命令検出ステップと、分岐命令検出
ステップにて条件分岐命令を検出したときに、分岐条件
が成立するかどうかを判定し、その結果に基づいてフラ
グを設定するホスト命令列を生成する分岐フラグ設定ス
テップを有し、フラグ設定後、条件分岐命令以外の操作
についてホスト計算機で実行可能なホスト命令列を生成
し、最後に分岐フラグ設定ステップの結果に基づいて、
条件分岐命令のホスト命令列を生成することを特徴とす
るシミュレーション方法とする。
【0024】上記の方法でホスト命令を生成することに
よって、分岐命令を実行する前に、分岐命令以外の操作
の実行でフラグ値を変更された場合でも、先に分岐命令
検出ステップにおいて、分岐フラグの判定が終了してい
るので、分岐命令は正確に実行される。また、本発明
は、請求項7記載のように、1命令で複数の操作を実行
可能なターゲット計算機の動作を、1命令で単一の操作
を実行することにより模擬する計算機システムにおい
て、ターゲット計算機で実行可能なターゲット命令列を
計算機システムで実行可能な複数の操作に分割する分割
手段と、分割手段にて分割された複数の操作を所定の方
法に基づいて変更し、計算機システムで実行可能な命令
列を生成する命令生成手段とを有し、命令生成手段にて
生成された命令列を実行することにより、ターゲット計
算機の動作を模擬することを特徴とする計算機システム
とする。
【0025】上記の計算機システムでは、1命令で単一
の操作を実行可能な計算機システム上で、LIW方式を
採用したターゲット計算機の動作を模擬できるため、タ
ーゲット計算機のソフトウェアを計算機システム上で開
発することが可能となり、ターゲット計算機用のソフト
ウェアの開発期間の短縮が実現できる。また、本発明
は、請求項8記載のように、1命令で複数の操作を実行
可能なターゲット計算機の動作を模擬するための処理
を、1命令で単一の操作を実行可能な計算機に行わせる
プログラムを記憶した記憶媒体において、ターゲット計
算機で実行可能なターゲット命令列を該計算機で実行可
能な複数の操作に分割させる分割ステップと、分割ステ
ップにて分割された複数の操作を所定の方法に基づいて
変更し、該計算機で実行可能な命令列を生成させるホス
ト命令生成ステップとを有し、ホスト命令生成ステップ
にて生成された命令列を実行することにより、ターゲッ
ト計算機の動作を模擬させるプログラムを記憶したコン
ピュータ読み取り可能な記憶媒体とする。
【0026】上記の記憶媒体に記憶されているプログラ
ムは、1命令で単一の操作を実行可能な計算機システム
上で、LIW方式を採用したターゲット計算機の動作を
模擬させることができるため、ターゲット計算機のソフ
トウェアを該計算機システム上で開発することが可能と
なり、ターゲット計算機用のソフトウェアの開発期間の
短縮が実現できる。
【0027】
【発明の実施の形態】以下、1命令で単一の操作を実行
可能なホスト計算機が、LIW方式を採用したアーキテ
クチャの異なる、例えば、図13(a)に示すようなタ
ーゲット計算機の動作を模擬するシミュレーション方法
の実施例を図面に基づいて説明する。尚、図13(a)
に示すようなターゲット計算機において、ロードモジュ
ール10は、命令領域とデータ領域を有し、ターゲット
計算機は、ロードモジュール10内のターゲット命令に
従って、CPUのレジスタやメモリ等の状態を示すファ
シリティ11を参照、及び更新しながら動作している。
【0028】図16は、1命令で複数の操作を実行可能
なターゲット計算機の動作を、1命令で単一の操作を実
行することにより模擬する計算機システムの構成図を示
す。図16において、計算機システムは、CPUを含む
制御ユニット101、メモリユニット102、表示ユニ
ット103、入力ユニット104、CD−ROMドライ
ブユニット105を有している。これらの各ユニット
は、システムバスBを介して接続されている。
【0029】制御ユニット101は、ホスト命令生成ス
テップを実行する手段として、計算機全体を制御すると
共に、1命令で単一の操作を実行可能な計算機システム
上で、1命令で複数の操作を実行可能なターゲット計算
機の動作を模擬する処理を実行する。メモリユニット1
02は、RAM、ROM等のメモリを含み、制御ユニッ
ト101が実行すべきプログラム、処理の過程で得られ
た必要なデータ等を記憶する。
【0030】表示ユニット103は、CRTやLCD
(液晶表示パネル)等で構成され、計算機の使用者に対
してに対する各種情報を表示する。入力ユニット104
は、キーボード、マウス等で構成され、計算機システム
の使用者が計算機システムに情報を入力するために使用
される。CD−ROM200には、1命令で単一の操作
を実行可能なホスト計算機上で、1命令で複数の操作を
実行可能なターゲット計算機の動作を模擬する処理を記
述したプログラムが格納されている。
【0031】CD−ROMドライブユニット105にセ
ットされたCD−ROM200からプログラムがディス
クユニット106にインストールされる。そして、計算
機システムを立ち上げるときにディスクユニット106
から読み出されたプログラムがメモリユニット102に
格納される。この状態で、制御ユニット101(CP
U)は、メモリユニット102に格納されたプログラム
に従って、1命令で単一の操作を実行可能な計算機シス
テム上で、1命令で複数の操作を実行可能なターゲット
計算機の動作を模擬する処理を実行する。
【0032】尚、CD−ROM200にて1命令で単一
の操作を実行可能な計算機システム上で、1命令で複数
の操作を実行可能なターゲット計算機の動作を模擬する
処理を記述したプログラムを提供しているが、このプロ
グラムの記憶媒体は、これに限定されることなく、シス
テムを構成するコンピュータに応じて、フロッピーディ
スク等の磁気ディスク、光磁気ディスク、磁気テープ等
の他の記憶媒体を用いることも可能である。
【0033】上記、計算機システムの一つであるホスト
計算機において、ターゲット計算機の動作を模擬する本
発明の第一実施例を図1、図2、図3に基づいて説明す
る。図2は、1命令で単一の操作を実行可能なホスト計
算機上で動作するシミュレータの第一実施例の原理説明
図を示す。図2において、ホスト計算機上で動作するシ
ミュレータは、ターゲット計算機のロードモジュール1
0の動作を模擬する場合、ターゲット計算機上のロード
モジュール10に対応するメモリイメージ1を有し、そ
のメモリイメージ1にロードモジュール10と同様に命
令領域、及びデータ領域を展開し、命令領域には、LI
W方式の命令列として操作aと操作bで構成する命令A
と、操作cと操作dで構成する命令Bと、操作eと操作
fで構成する命令C等の命令列が格納されている。
【0034】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のファシリティ11に対応
するファシリティ2を有し、ファシリティ2は、ターゲ
ット計算機のファシリティ11内のデータである、例え
ば、レジスタ、メモリ内に格納されている情報を、シミ
ュレータ内の配列として、または、ホスト計算機のレジ
スタ上に記憶する。
【0035】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上で動作可能なターゲット命
令をホスト計算機で動作可能なホスト命令に変換する命
令変換制御部4と、ファシリティ、または、メモリイメ
ージ1内のデータを一時的に記憶するワーク領域5を有
し、命令変換制御部4は、メモリイメージ1から、例え
ば、図3に示すような実行すべきターゲット命令A(加
算命令)の操作aと操作bを判別し、そのターゲット命
令に基づいてホスト命令を生成し、そのホスト命令を命
令変換バッファ3に格納する。
【0036】上記、図2に示すようなホスト計算機上で
動作するシミュレータにおいて、命令変換制御部4が、
分割手段と命令生成手段に対応する。1命令で単一の操
作を実行可能なホスト計算機が、LIW方式を採用した
アーキテクチャの異なるターゲット計算機の動作を模擬
するときの処理を図1の処理フロー図に従って詳細に説
明する。尚、図1の斜線部は本実施例によって追加とな
る処理を示す。
【0037】例えば、図3(a)(b)に示すように、
ターゲット計算機上のレジスタR1の「6」とR2の
「5」の加算結果「11」をレジスタR3に格納する操
作aと、レジスタR3の「4」とR4の「3」の加算結
果「7」をレジスタR5に格納する操作bとを、同時に
実行するターゲット命令Aをホスト計算機上で模擬する
場合、命令変換制御部4は最初にメモリイメージ4から
ターゲット命令Aを読み出す(S1)。
【0038】命令変換制御部4は、読み出した命令Aを
ホスト計算機が実行可能な操作aと操作bに分割し(S
2)、各操作で参照、及び更新されるファシリティをデ
コードし、分割された二つの操作が同一のファシリティ
を参照、且つ更新しているかどうかを判定する(S
3)。尚、ホスト計算機上のシミュレータは、分割され
た二つの操作において、同一のファシリティを参照、且
つ更新する操作を検出できない、例えば、図14(a)
に示すようなターゲット命令に基づいてホスト命令を生
成する場合、ホスト計算機では、操作g、操作hの順に
実行することになる。図14(a)に示すターゲット命
令の操作gは、ターゲット計算機上のレジスタR1とR
2の加算結果にレジスタR3を更新する命令例であり、
操作hは、ターゲット計算機上のレジスタR4とR5の
加算結果にレジスタR6を更新する命令例である。
【0039】図3(a)、(b)において、操作aは、
レジスタR1とR2を参照してレジスタR3を更新し、
操作bは、レジスタR3とR4を参照してレジスタR5
を更新している。従って、命令変換制御部4は、レジス
タR3が操作aから更新され、且つ操作bに参照されて
いると判断する。この場合、上記図14(a)のように
操作a、操作bの順にホスト命令を生成すると、操作b
で参照しているレジスタR3のデータ「4」が操作aの
実行で「11」に更新されてしまうため、操作bによっ
て更新されるレジスタR5のデータが「14」となり、
二つの操作を同時に実行できるターゲット計算機の動作
を正確に模擬できない。
【0040】そこで、命令変換制御部4は、操作bで参
照するレジスタR3のデータ「4」をワーク領域5内の
領域wk1に複写するホスト命令を図3(c)のよう
に生成し、そのホスト命令を命令変換バッファ3に格納
する(S4)。レジスタR3をワーク領域5内の領域w
k1に複写するホスト命令を生成後、命令変換制御部4
は、操作aのホスト命令を図3(c)のように生成
し、更に、操作bが参照するレジスタR3をワーク領域
5内の領域wk1に変更し、ホスト命令を図3(c)
のように生成する(S5)。命令変換制御部4は、ホス
ト命令とを命令変換バッファ3に格納し(S6)、
次のターゲット命令の命令列Bに対して、ステップ1か
らステップ6の同様の処理を繰り返す。
【0041】このように生成したホスト計算機で実行可
能なホスト命令、、を実行すると、ホスト計算機
上のシミュレータは、最初にファシリティ2のレジスタ
R3のデータ「4」をロードし、そのデータ「4」を領
域wk1にストアする(図3(c))。次に、レジス
タR1のデータ「6」とレジスタR2のデータ「5」を
ロードして加算し、その加算結果「11」をレジスタR
3にストアする(図3(c))。最後に、先にストア
した領域wk1のデータ「4」とレジスタR4のデータ
「3」をロードして加算し、その加算結果「7」をレジ
スタR5にストアする(図3(c))。
【0042】このようにホスト命令を実行することによ
って、1命令で単一の操作を実行可能なホスト計算機
が、LIW方式を採用したアーキテクチャの異なるター
ゲット計算機の動作を正確に模擬することが可能とな
る。尚、本実施例では、1命令を2種類の操作で構成し
ているが、この操作数に限定されるものではない。ま
た、上記第一実施例における各処理と、本発明に係わる
各ステップとの関係は、以下の通りである。図1に示す
ステップ2が分割ステップに対応し、ステップ3からス
テップ6がホスト命令生成ステップに対応し、更に、ホ
スト命令生成ステップのステップ3が判定ステップに対
応し、ステップ4がワーク領域格納ステップに対応し、
ステップ5が変更ステップに対応する。
【0043】図16に示すような計算機システムの一つ
であるホスト計算機において、図13に示すようなター
ゲット計算機の動作を模擬する本発明の第二実施例を図
4、図5、図6に基づいて説明する。図5は、1命令で
単一の操作を実行可能なホスト計算機上で動作するシミ
ュレータの第二実施例の原理説明図を示す。
【0044】図5において、ホスト計算機上で動作する
シミュレータは、ターゲット計算機のロードモジュール
10の動作を模擬する場合、ターゲット計算機上のロー
ドモジュール10に対応するメモリイメージ1を有し、
そのメモリイメージ1にロードモジュール10と同様に
命令領域、及びデータ領域を展開し、命令領域には、L
IW方式の命令列として操作aと操作bで構成する命令
Aと、操作cと操作dで構成する命令Bと、操作eと操
作fで構成する命令C等の命令列が格納されている。
【0045】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のファシリティ11に対応
するファシリティ2を有し、ファシリティ2は、ターゲ
ット計算機のファシリティ11内のデータである、例え
ば、レジスタ、メモリ内に格納されている情報を、シミ
ュレータ内の配列として、または、ホスト計算機のレジ
スタ上に記憶する。
【0046】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上で動作可能なターゲット命
令をホスト計算機で動作可能なホスト命令に変換する命
令変換制御部4と、命令を構成する各操作が参照、及び
更新するファシリティを記憶するテーブル6と、所定の
基準に従って命令変換バッファ3に記述する操作の順序
を決定する順序決定手段7とを有し、命令変換制御部4
は、メモリイメージ1から、例えば、図6(a)に示す
ような実行すべきターゲット命令A(加算命令)の操作
aと操作bを判別し、そのターゲット命令に基づいてホ
スト命令を生成し、そのホスト命令を命令変換バッファ
3に格納する。
【0047】上記、図5に示すようなホスト計算機上で
動作するシミュレータにおいて、命令変換制御部4が、
分割手段とホスト命令生成手段に対応する。1命令で単
一の操作を実行可能なホスト計算機が、LIW方式を採
用したアーキテクチャの異なるターゲット計算機の動作
を模擬するときの処理を図4の処理フロー図に従って詳
細に説明する。尚、図4の斜線部は本実施例によって追
加となる処理を示す。
【0048】例えば、図6(a)(b)に示すように、
ターゲット計算機上のレジスタR1の「6」とR2の
「5」の加算結果「11」をレジスタR3に格納する操
作aと、レジスタR3の「4」とR4の「3」の加算結
果「7」をレジスタR5に格納する操作bとを、同時に
実行するターゲット命令Aをホスト計算機上で模擬する
場合、命令変換制御部4は最初にメモリイメージ4から
ターゲット命令Aを読み出す(S11)。
【0049】命令変換制御部4は、読み出した命令Aを
ホスト計算機が実行可能な操作aと操作bに分割し(S
12)、各操作で参照、及び更新されるファシリティを
デコードし、分割された二つの操作が同一のファシリテ
ィを参照、且つ更新しているかどうかを判定する(S1
3)。尚、ホスト計算機上のシミュレータは、分割され
た二つの操作において、同一のファシリティを参照、且
つ更新する操作を検出できない、例えば、図14(a)
に示すようなターゲット命令に基づいてホスト命令を生
成する場合、ホスト計算機では、操作g、操作hの順に
実行することになる。
【0050】図6(a)、(b)において、操作aは、
レジスタR1とR2を参照してレジスタR3を更新し、
操作bは、レジスタR3とR4を参照してレジスタR5
を更新している。従って、命令変換制御部4は、レジス
タR3が操作aから更新され、且つ操作bに参照されて
いると判断する。この場合、上記図14(a)のように
操作a、操作bの順にホスト命令を生成すると、操作b
で参照しているレジスタR3のデータ「4」が操作aの
実行で「11」に更新されてしまうため、操作bによっ
て更新されるレジスタR5のデータが「14」となり、
二つの操作を同時に実行できるターゲット計算機の動作
を正確に模擬できない。
【0051】そこで、命令変換制御部4は、命令A内の
各操作(操作a、操作b)毎に、参照、及び更新するフ
ァシリティのテーブルを、例えば、図6(c)のように
作成する(S14)。テーブル6が作成されると、順序
決定手段7は、前記テーブル6から更新するファシリテ
ィが他操作によって参照されない操作を検出する(S1
5)。例えば、図6(c)のような場合、順序決定手段
7は、操作aから順に、操作aが更新するレジスタR3
が操作bによって参照されているかどうかを検索する。
この場合、レジスタR3は、操作bによって参照されて
いるため、順序決定手段7は、操作aを検出しない。次
に順序決定手段7は、操作bが更新するレジスタR5が
操作aによって参照されているかどうかを検索する。こ
の場合、レジスタR3は、操作aによって参照されてい
ないため、順序決定手段7は、操作bを検出する。尚、
1命令内の操作が二つ以上の場合も同様の方法で順に検
索を実行し、条件に該当する操作を検出する。
【0052】順序決定手段7が操作bを検出後、命令変
換制御部4は、操作bをホスト計算機上で実行可能な、
例えば、図6(e)のようなホスト命令に変換し、そ
のホスト命令を命令変換バッファ16に格納し(S1
6)、更に、テーブル6内にホスト命令に変換されてい
ない操作があるかどうかを確認する(S17)。確認の
結果、図6(c)のテーブル内には、操作aがホスト命
令に変換されていないため(S17、YES)、命令変
換制御部4は、先に検出した操作bのファシリティを、
例えば、図6(d)のようにテーブル6から削除し(S
18)、順序決定手段7は、再度、テーブル6から更新
するファシリティが他操作によって参照されない操作を
検出する。
【0053】順序決定手段7は、残された操作aが更新
するレジスタR3が他の操作によって参照されることが
ないので操作aを検出する(S15)。順序決定手段7
が操作aを検出後、命令変換制御部4は、操作aをホス
ト計算機上で実行可能な、例えば、図6(e)のような
ホスト命令に変換し、そのホスト命令を命令変換バッ
ファ16に格納し(S16)、更に、テーブル6内にホ
スト命令に変換されていない操作があるかどうかを確認
する(S17)。
【0054】確認の結果、図6(c)のテーブル内に
は、ホスト命令に変換されていない操作がないため(S
17、NO)、命令変換制御部4は、次のターゲット命
令の命令列Bに対して、ステップ11からステップ18
の同様の処理を繰り返す。このように生成したホスト計
算機で実行可能なホスト命令、を実行すると、ホス
ト計算機上のシミュレータは、最初に、レジスタR3の
データ「4」とレジスタR4のデータ「3」をロードし
て加算し、その加算結果「7」をレジスタR3にストア
する(図6(c))。最後に、レジスタR1のデータ
「6」とレジスタR2のデータ「5」をロードして加算
し、その加算結果「11」をレジスタR3にストアする
(図6(c))。
【0055】このようにホスト命令を実行することによ
って、1命令で単一の操作を実行可能なホスト計算機
が、LIW方式を採用したアーキテクチャの異なるター
ゲット計算機の動作を正確に模擬することが可能とな
る。また、第二実施例の方法でホスト命令列を生成する
と、ステップ15にて検出した順に操作をホスト命令に
変換するため、更新されるファシリティを参照する操作
がないような順に操作を並べ替えてホスト命令に変換す
ることになり、ワーク領域に情報をコピーするホスト命
令を生成する必要がなく性能向上が期待できる。尚、本
実施例では、1命令を2種類の操作で構成しているが、
この操作数に限定されるものではない。
【0056】また、上記第一実施例における各処理と、
本発明に係わる各ステップとの関係は、以下の通りであ
る。図1に示すステップ12が分割ステップに対応し、
ステップ13からステップ18がホスト命令生成ステッ
プに対応し、更に、ホスト命令生成ステップのステップ
13が判定ステップに対応し、ステップ14がテーブル
格納ステップに対応し、ステップ15が検出ステップに
対応し、ステップ18が検索操作削除ステップに対応す
る。
【0057】図16に示すような計算機システムの一つ
であるホスト計算機において、図13に示すようなター
ゲット計算機の動作を模擬する本発明の第三実施例を図
7、図8、図9に基づいて説明する。図8は、1命令で
単一の操作を実行可能なホスト計算機上で動作するシミ
ュレータの第三実施例の原理説明図を示す。
【0058】図8において、ホスト計算機上で動作する
シミュレータは、ターゲット計算機のロードモジュール
10の動作を模擬する場合、ターゲット計算機上のロー
ドモジュール10に対応するメモリイメージ1を有し、
そのメモリイメージ1にロードモジュール10と同様に
命令領域、及びデータ領域を展開し、命令領域には、L
IW方式の命令列として操作aと操作bで構成する命令
Aと、操作cと操作dで構成する命令Bと、操作eと操
作fで構成する命令C等の命令列が格納されている。
【0059】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のファシリティ11に対応
するファシリティ2を有し、ファシリティ2は、ターゲ
ット計算機のファシリティ11内のデータである、例え
ば、レジスタ、メモリ内に格納されている情報を、シミ
ュレータ内の配列として、または、ホスト計算機のレジ
スタ上に記憶する。
【0060】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上で動作可能なターゲット命
令をホスト計算機で動作可能なホスト命令に変換する命
令変換制御部4と、ファシリティ2、または、メモリイ
メージ1内のデータを一時的に記憶するワーク領域5
と、命令を構成する各操作が参照、及び更新するファシ
リティを記憶するテーブル6と、所定の基準に従って命
令変換バッファ3に記述する操作の順序を決定する順序
決定手段7とを有し、命令変換制御部4は、メモリイメ
ージ1から、例えば、図9(a)に示すような実行すべ
きターゲット命令B(加算命令)の操作cと操作dを判
別し、そのターゲット命令に基づいてホスト命令を生成
し、そのホスト命令を命令変換バッファ3に格納する。
【0061】上記、図8に示すようなホスト計算機上で
動作するシミュレータにおいて、命令変換制御部4が、
分割手段とホスト命令生成手段に対応する。1命令で単
一の操作を実行可能なホスト計算機が、LIW方式を採
用したアーキテクチャの異なるターゲット計算機の動作
を模擬するときの処理を図7の処理フロー図に従って詳
細に説明する。尚、図7の斜線部は本実施例によって追
加となる処理を示す。
【0062】例えば、図9(a)(b)に示すように、
ターゲット計算機上のレジスタR1の「6」と「0」の
加算結果「6」をレジスタR2に格納する操作cと、レ
ジスタR2の「5」と「0」の加算結果「5」をレジス
タR1に格納する操作dとを、同時に実行するターゲッ
ト命令Bをホスト計算機上で模擬する場合、命令変換制
御部4は最初にメモリイメージ4からターゲット命令B
を読み出す(S11)。
【0063】命令変換制御部4は、読み出した命令Bを
ホスト計算機が実行可能な操作cと操作dに分割し(S
12)、各操作で参照、及び更新されるファシリティを
デコードし、分割された二つの操作が同一のファシリテ
ィを参照、且つ更新しているかどうかを判定する(S1
3)。尚、ホスト計算機上のシミュレータは、分割され
た二つの操作において、同一のファシリティを参照、且
つ更新する操作を検出できない、例えば、図14(a)
に示すようなターゲット命令に基づいてホスト命令を生
成する場合、ホスト計算機では、操作g、操作hの順に
実行することになる。
【0064】図9(a)、(b)において、操作cは、
レジスタR1を参照してレジスタR2を更新し、操作d
は、レジスタR2を参照してレジスタR1を更新してい
る。従って、命令変換制御部4は、レジスタR1が操作
cから参照され、且つ操作dに更新されていると判断
し、更に、レジスタR2が操作dから参照され、且つ操
作cに更新されていると判断する。
【0065】この場合、操作c、操作dの順にホスト命
令を生成すると、操作dで参照しているレジスタR2の
データ「5」が操作aの実行で「6」に更新されてしま
うため、操作dによって更新されるレジスタR1のデー
タが「6」となり、二つの操作を同時に実行できるター
ゲット計算機の動作を正確に模擬できない。そこで、命
令変換制御部4は、命令B内の各操作(操作c、操作
d)毎に、参照、及び更新するファシリティのテーブル
を、例えば、図9(c)のように作成する(S14)。
【0066】テーブル6が作成されると、順序決定手段
7は、前記テーブル6から更新するファシリティが他操
作によって参照されない操作を検出する(S15)。例
えば、図9(c)のような場合、順序決定手段7は、操
作cから順に、操作cが更新するレジスタR2が操作d
によって参照されているかどうかを検索する。この場
合、レジスタR2は、操作dによって参照されているた
め、順序決定手段7は、操作cを検出しない。次に順序
決定手段7は、操作dが更新するレジスタR1が操作c
によって参照されているかどうかを検索する。この場
合、レジスタR1は、操作cによって参照されているた
め、順序決定手段7は、操作dを検出しない。従って、
順序決定手段7は、前記テーブル6から、更新するファ
シリティが他操作によって参照されない操作を検出でき
ない(S15、NO)。尚、1命令内の操作が二つ以上
の場合も同様の方法で順に検索を実行し、条件に該当す
る操作を検出する。
【0067】更新するファシリティが他操作によって参
照されない操作を検出できない場合(S15、NO)、
命令変換制御部4は、操作cで参照するレジスタR1の
データ「6」と操作dで参照するレジスタR2のデータ
「5」の内、いずれか一つのファシリティをワーク領域
5内の領域wk1に複写する。命令変換制御部4は、例
えば、操作cで参照するレジスタR1のデータ「6」を
任意に選択し、ホスト命令を図9(e)のように生成
し、そのホスト命令を命令変換バッファ3に格納する
(S19)。
【0068】レジスタR1をワーク領域5内の領域wk
1に複写するホスト命令を生成後、テーブル6の操作c
が参照するレジスタR1を、図9(d)のようにワーク
領域5内の領域wk1に変更する(S20)。テーブル
6が変更されると、順序決定手段7は、前記テーブル6
から更新するファシリティが他操作によって参照されな
い操作を検出する(S15)。例えば、図9(d)のよ
うな場合、順序決定手段7は、操作cから順に、操作c
が更新するレジスタR2が操作dによって参照されてい
るかどうかを検索する。この場合、レジスタR2は、操
作dによって参照されているため、順序決定手段7は、
操作cを検出しない。次に順序決定手段7は、操作dが
更新するレジスタR1が操作cによって参照されている
かどうかを検索する。この場合、レジスタR1は、操作
cによって参照されていないため、順序決定手段7は、
操作dを検出する。
【0069】順序決定手段7が操作dを検出後、命令変
換制御部4は、操作dをホスト計算機上で実行可能な、
例えば、図9(e)のようなホスト命令に変換し、そ
のホスト命令を命令変換バッファ16に格納し(S1
6)、更に、テーブル6内にホスト命令に変換されてい
ない操作があるかどうかを確認する(S17)。確認の
結果、図9(d)のテーブル内には、操作cがホスト命
令に変換されていないため(S17、YES)、命令変
換制御部4は、先に検出した操作dのファシリティをテ
ーブル6から削除し(S18)、順序決定手段7は、再
度、テーブル6から更新するファシリティが他操作によ
って参照されない操作を検出する。
【0070】順序決定手段7は、残された操作cが更新
するレジスタR2が他の操作によって参照されることが
ないので操作cを検出する(S15)。順序決定手段7
が操作cを検出後、命令変換制御部4は、操作cをホス
ト計算機上で実行可能な、例えば、図9(e)のような
ホスト命令に変換し、そのホスト命令を命令変換バッ
ファ16に格納し(S16)、更に、テーブル6内にホ
スト命令に変換されていない操作があるかどうかを確認
する(S17)。
【0071】確認の結果、図9(d)のテーブル内に
は、ホスト命令に変換されていない操作がないため(S
17、NO)、命令変換制御部4は、次のターゲット命
令の命令列Cに対して、ステップ11からステップ20
の同様の処理を繰り返す。このように生成したホスト計
算機で実行可能なホスト命令、、を実行すると、
ホスト計算機上のシミュレータは、最初にファシリティ
2のレジスタR1のデータ「6」をロードし、そのデー
タ「6」を領域wk1にストアする(図9(e))。
次に、レジスタR2のデータ「5」とデータ「0」をロ
ードして加算し、その加算結果「5」をレジスタR1に
ストアする(図9(e))。最後に、先にストアした
領域wk1のデータ「6」とデータ「0」をロードして
加算し、その加算結果「6」をレジスタR2にストアす
る(図9(e))。
【0072】このようにホスト命令を実行することによ
って、1命令で単一の操作を実行可能なホスト計算機
が、LIW方式を採用したアーキテクチャの異なるター
ゲット計算機の動作を正確に模擬することが可能とな
る。尚、本実施例では、1命令を2種類の操作で構成し
ているが、この操作数に限定されるものではない。ま
た、上記第一実施例における各処理と、本発明に係わる
各ステップとの関係は、以下の通りである。図1に示す
ステップ12が分割ステップに対応し、ステップ13か
らステップ20がホスト命令生成ステップに対応し、更
に、ホスト命令生成ステップのステップ13が判定ステ
ップに対応し、ステップ14がテーブル格納ステップに
対応し、ステップ15が検出ステップに対応し、ステッ
プ18が検索操作削除ステップに対応し、ステップ19
がワーク領域格納ステップに対応し、ステップ20が変
更ステップに対応する。
【0073】図16に示すような計算機システムの一つ
であるホスト計算機において、図13に示すようなター
ゲット計算機の動作を模擬する本発明の第四実施例を図
10、図11、図12に基づいて説明する。図11は、
1命令で単一の操作を実行可能なホスト計算機上で動作
するシミュレータの第四実施例の原理説明図を示す。
【0074】図11において、ホスト計算機上で動作す
るシミュレータは、ターゲット計算機のロードモジュー
ル10の動作を模擬する場合、ターゲット計算機上のロ
ードモジュール10に対応するメモリイメージ1を有
し、そのメモリイメージ1にロードモジュール10と同
様に命令領域、及びデータ領域を展開し、命令領域に
は、LIW方式の命令列として操作aと操作bで構成す
る命令Aと、操作cと操作dで構成する命令Bと、操作
eと操作fで構成する命令C等の命令列が格納されてい
る。
【0075】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上のファシリティ11に対応
するファシリティ2を有し、ファシリティ2は、ターゲ
ット計算機のファシリティ11内のデータである、例え
ば、レジスタ、メモリ内に格納されている情報を、シミ
ュレータ内の配列として、または、ホスト計算機のレジ
スタ上に記憶する。
【0076】また、ホスト計算機上で動作するシミュレ
ータは、ターゲット計算機上で動作可能なターゲット命
令をホスト計算機で動作可能なホスト命令に変換する命
令変換制御部4と、分岐するかどうかの条件となるフラ
グを生成する分岐フラグ9と、そのフラグを確認して分
岐するかどうかを判定する分岐命令判定部8とを有し、
命令変換制御部4は、メモリイメージ1から、例えば、
図12に示すような実行すべきターゲット命令C(加算
命令と分岐命令)の操作eと操作fを判別し、そのター
ゲット命令に基づいてホスト命令を生成し、そのホスト
命令を命令変換バッファ3に格納する。
【0077】上記、図11に示すようなホスト計算機上
で動作するシミュレータにおいて、命令変換制御部4
が、分割手段とホスト命令生成手段に対応する。1命令
で単一の操作を実行可能なホスト計算機が、LIW方式
を採用したアーキテクチャの異なるターゲット計算機の
動作を模擬するときの処理を図10の処理フロー図に従
って詳細に説明する。尚、図10の斜線部は本実施例に
よって追加となる処理を示す。
【0078】例えば、図12に示すように、ターゲット
計算機上のレジスタR1とR2の加算結果をレジスタR
3に格納する操作eと、条件付きで分岐する操作fと
を、同時に実行するターゲット命令Cをホスト計算機上
で模擬する場合、命令変換制御部4は最初にメモリイメ
ージ4からターゲット命令Cを読み出す(S31)。命
令変換制御部4は、読み出した命令Cをホスト計算機が
実行可能な操作eと操作fに分割し(S32)、操作e
と操作f1命令で単一の操作を実行可能なホスト計算機
上で、1命令で複数の操作を実行可能なターゲット計算
機の動作を模擬するシミュレーション方法において、に
分岐命令が含まれているかどうかを判定する(S3
3)。
【0079】命令変換制御部4の判定の結果、分岐命令
が含まれていない場合(S33、NO)、命令変換制御
部4は、各操作をホスト計算機で実行可能なホスト命令
に変換し、そのホスト命令を命令変換バッファ3に格納
する(S34)。命令変換制御部4の判定の結果、分岐
命令が含まれていた場合(S33、YES)、命令変換
制御部4は、分岐命令判定部8が分岐条件が成立するか
どうかを判定するためのホスト命令を生成し(S3
5)、更に、分岐命令以外の操作をホスト計算機で実行
可能なホスト命令に変換し、そのホスト命令を命令変換
バッファ3に格納する(S36)。尚、図12におい
て、分岐フラグ9のフラグ値は、「1」のとき分岐命令
を実行し、「0」のときは分岐命令を実行しない。
【0080】分岐命令以外の操作のホスト命令を命令変
換バッファ3に格納後、分岐を模擬するホスト計算機で
実行可能なホスト命令を生成し、そのホスト命令を命令
変換バッファ3に格納する(S37)。ホスト計算機上
で動作するシミュレータは、次のターゲット命令の命令
列に対して、ステップ31からステップ37の同様の処
理を繰り返す。
【0081】上記のようなホスト命令を実行することに
よって、複数の操作の中に分岐命令が含まれていても、
1命令で単一の操作を実行可能なホスト計算機が、LI
W方式を採用したアーキテクチャの異なるターゲット計
算機の動作を正確に模擬することが可能となる。また、
上記の方法でホスト命令を生成することによって、分岐
命令を実行する前に、分岐命令以外の操作の実行でフラ
グ値を、例えば、図12のように「1」から「0」に変
更された場合でも、先に分岐命令判定部8において、分
岐フラグ9の判定が終了しているので、分岐命令は正確
に実行される。更に、第四実施例のシミュレーション方
法は、第一実施例、第二実施例、第三実施例の内、いず
れか一つのシミュレーション方法と併用することでより
効果的にターゲット計算機の動作を模擬することができ
る。尚、本実施例では、1命令を2種類の操作で構成し
ているが、この操作数に限定されるものではない。
【0082】また、上記第一実施例における各処理と、
本発明に係わる各ステップとの関係は、以下の通りであ
る。図1に示すステップ32が分割ステップに対応し、
ステップ33からステップ36がホスト命令生成ステッ
プに対応し、更に、ホスト命令生成ステップのステップ
33が分岐命令検出ステップに対応し、ステップ35ス
テップ37が分岐フラグ設定ステップに対応する。
【0083】尚、図1から図12において、メモリイメ
ージ1は、固定量のように記述されているが、シミュレ
ーションによって動的に確保するように構成してもよ
い。
【0084】
【発明の効果】上述の如く、本発明のシミュレーション
方法によれば、1命令で単一の操作を実行可能なホスト
計算機が、LIW方式を採用したアーキテクチャの異な
るターゲット計算機の動作を正確に模擬することが可能
となる。従って、ターゲット計算機のハードウェアを開
発中に、ターゲット計算機のソフトウェアをホスト計算
機上で開発することが可能となる。更に、ターゲット計
算機用のソフトウェアの開発期間の短縮が実現できる。
【図面の簡単な説明】
【図1】本発明の第一実施例のフロー図である。
【図2】第一実施例の原理説明図である。
【図3】本発明の第一実施例である。
【図4】本発明の第二実施例のフロー図である。
【図5】第二実施例の原理説明図である。
【図6】本発明の第二実施例である。
【図7】本発明の第三実施例のフロー図である。
【図8】第三実施例の原理説明図である。
【図9】本発明の第三実施例である。
【図10】本発明の第四実施例のフロー図である。
【図11】第四実施例の原理説明図である。
【図12】本発明の第四実施例である。
【図13】従来技術の例である。
【図14】従来技術の問題点である。
【図15】従来技術の問題点である。
【図16】計算機システムの構成図である。
【符号の説明】
1 メモリイメージ 2 ファシリティ 3 命令変換バッファ 4 命令変換制御部 5 ワーク領域 6 テーブル 7 操作変換順序決定手段 8 分岐命令判定部 9 分岐フラグ 10 ロードモジュール 11 ファシリティ 101 制御ユニット 102 メモリユニット 103 表示ユニット 104 入力ユニット 105 ドライブユニット 106 ディスクユニット 200 CD−ROM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 前田 直昭 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 宮下 雅裕 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】1命令で単一の操作を実行可能なホスト計
    算機上で、1命令で複数の操作を実行可能なターゲット
    計算機の動作を模擬するシミュレーション方法におい
    て、 ターゲット計算機で実行可能なターゲット命令列をホス
    ト計算機で実行可能な複数の操作に分割する分割ステッ
    プと、 分割ステップにて分割された複数の操作を所定の方法に
    基づいて変更し、ホスト計算機で実行可能なホスト命令
    列を生成するホスト命令生成ステップとを有し、 ホスト命令生成ステップにて生成されたホスト命令列を
    実行することにより、ターゲット計算機の動作を模擬す
    ることを特徴とするシミュレーション方法。
  2. 【請求項2】請求項1記載のシミュレーション方法にお
    いて、 ホスト命令生成ステップは、 分割ステップにて分割された複数の操作が同一のファシ
    リティを参照、且つ更新しているかどうかを判定する判
    定ステップと、 判定ステップにて同一のファシリティを参照、且つ更新
    していると判定したときに、該当する操作対象のファシ
    リティをワーク領域に格納するホスト命令列を生成する
    ワーク領域格納ステップと、 操作が参照するファシリティをワーク領域にて格納して
    いるファシリティに変更する変更ステップとを有し、 変更ステップにて変更した操作に基づいて、ホスト計算
    機で実行可能なホスト命令列を生成することを特徴とす
    るシミュレーション方法。
  3. 【請求項3】請求項1記載のシミュレーション方法にお
    いて、 ホスト命令生成ステップは、 分割ステップにて分割された複数の操作が同一のファシ
    リティを参照、且つ更新しているかどうかを判定する判
    定ステップと、 判定ステップにて同一のファシリティを参照、且つ更新
    していると判定したときに、分割ステップにて分割され
    た複数の操作をテーブルに格納するテーブル格納ステッ
    プと、 テーブルにて格納されている操作の中から、更新するフ
    ァシリティが他の操作から参照されることのない操作を
    検出する検出ステップとを有し、 検出ステップにて検出した操作に基づいて、ホスト計算
    機で実行可能なホスト命令列を生成することを特徴とす
    るシミュレーション方法。
  4. 【請求項4】請求項3記載のシミュレーション方法にお
    いて、 ホスト命令生成ステップは、更に、 検出ステップにて検出した操作をテーブルから削除する
    検出操作削除ステップとを有し、 テーブル内の操作がなくなるまで検出ステップと検出操
    作削除ステップを繰り返すことを特徴とするシミュレー
    ション方法。
  5. 【請求項5】請求項3または4記載のシミュレーション
    方法において、 ホスト命令生成ステップは、更に、 判定ステップにて同一のファシリティを参照、且つ更新
    していると判定し、更に、検出ステップにて更新するフ
    ァシリティが他の操作から参照されることのない操作を
    検出できない場合、 判定ステップにて同一のファシリティを参照、且つ更新
    していると判定されたファシリティの内、いずれか1つ
    をワーク領域に格納するホスト命令列を生成するワーク
    領域格納ステップと、 操作が参照するファシリティをワーク領域にて格納して
    いるファシリティに変更する変更ステップとを有し、 変更ステップにて変更した操作に基づいて、ホスト計算
    機で実行可能なホスト命令列を生成し、テーブル内の操
    作がなくなるまで検出ステップとワーク領域格納ステッ
    プと変更ステップを繰り返すことを特徴とするシミュレ
    ーション方法。
  6. 【請求項6】請求項1乃至5いずれか一項記載のシミュ
    レーション方法において、 ホスト命令生成ステップは、 分割ステップにて分割された複数の操作から条件分岐命
    令が存在することを検出する分岐命令検出ステップと、 分岐命令検出ステップにて条件分岐命令を検出したとき
    に、分岐条件が成立するかどうかを判定し、その結果に
    基づいてフラグを設定するホスト命令列を生成する分岐
    フラグ設定ステップを有し、 フラグ設定後、条件分岐命令以外の操作についてホスト
    計算機で実行可能なホスト命令列を生成し、最後に分岐
    フラグ設定ステップの結果に基づいて、条件分岐命令の
    ホスト命令列を生成することを特徴とするシミュレーシ
    ョン方法。
  7. 【請求項7】1命令で複数の操作を実行可能なターゲッ
    ト計算機の動作を、1命令で単一の操作を実行すること
    により模擬する計算機システムにおいて、 ターゲット計算機で実行可能なターゲット命令列を計算
    機システムで実行可能な複数の操作に分割する分割手段
    と、 分割手段にて分割された複数の操作を所定の方法に基づ
    いて変更し、計算機システムで実行可能な命令列を生成
    する命令生成手段とを有し、 命令生成手段にて生成された命令列を実行することによ
    り、ターゲット計算機の動作を模擬することを特徴とす
    る計算機システム。
  8. 【請求項8】1命令で複数の操作を実行可能なターゲッ
    ト計算機の動作を模擬するための処理を、1命令で単一
    の操作を実行可能な計算機に行わせるプログラムを記憶
    した記憶媒体において、 ターゲット計算機で実行可能なターゲット命令列を該計
    算機で実行可能な複数の操作に分割させる分割ステップ
    と、 分割ステップにて分割された複数の操作を所定の方法に
    基づいて変更し、該計算機で実行可能な命令列を生成さ
    せるホスト命令生成ステップとを有し、 ホスト命令生成ステップにて生成された命令列を実行す
    ることにより、ターゲット計算機の動作を模擬させるプ
    ログラムを記憶したコンピュータ読み取り可能な記憶媒
    体。
JP9174581A 1997-06-30 1997-06-30 シミュレーション方法及び計算機システム Withdrawn JPH1124957A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9174581A JPH1124957A (ja) 1997-06-30 1997-06-30 シミュレーション方法及び計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9174581A JPH1124957A (ja) 1997-06-30 1997-06-30 シミュレーション方法及び計算機システム

Publications (1)

Publication Number Publication Date
JPH1124957A true JPH1124957A (ja) 1999-01-29

Family

ID=15981066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9174581A Withdrawn JPH1124957A (ja) 1997-06-30 1997-06-30 シミュレーション方法及び計算機システム

Country Status (1)

Country Link
JP (1) JPH1124957A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304292A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304292A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Similar Documents

Publication Publication Date Title
US7322029B2 (en) Method and system for recovering program code in a computer system
US5467462A (en) Event driven logic simulator for partial simulation
US5603015A (en) Logic simulation apparatus for executing simulation of a circuit
JP2006114055A (ja) 画像表示システム
US7480901B2 (en) System and method for producing per-processor optimized executables
JPS5975347A (ja) 論理回路のシミユレ−シヨン装置
JPH06186956A (ja) コンパイルされたラスタ演算コードを生成するための方法および装置
US6473766B1 (en) Method and system for modifying text files for computer configuration
US7996824B2 (en) Benchmark synthesis using workload statistics
JPH1124957A (ja) シミュレーション方法及び計算機システム
JPH10320212A (ja) キャッシュ向け最適化方法
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
EP1187043A2 (en) Gate addressing system for logic simulation machine
JP2000020318A (ja) メモリアクセス命令削減装置および記録媒体
JP3324542B2 (ja) 仮想マシン
JP3137094B2 (ja) シミュレーション方法、シミュレーション装置及びその記録媒体
JPH06131215A (ja) ソフトウェア開発支援方法
Wiseman A note on compiling display file from a data structure
JPH07114460A (ja) データ処理システム
JP3090048B2 (ja) 標準プログラムの機能拡張方法及び方式
JP2990159B1 (ja) デバッガにおけるイベントの管理装置および方法
JP3089121B2 (ja) テスト命令列生成方法
JPH0695862A (ja) 命令列最適化支援装置
JPH1196047A (ja) プログラム開発支援装置及びプログラム開発支援方法
JPH11282693A (ja) Mcuシミュレーション装置、そのシミュレーション方法及びそのシミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907