JPH1097431A - シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体 - Google Patents
シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体Info
- Publication number
- JPH1097431A JPH1097431A JP9198283A JP19828397A JPH1097431A JP H1097431 A JPH1097431 A JP H1097431A JP 9198283 A JP9198283 A JP 9198283A JP 19828397 A JP19828397 A JP 19828397A JP H1097431 A JPH1097431 A JP H1097431A
- Authority
- JP
- Japan
- Prior art keywords
- converted
- conversion
- software
- data
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 他の種類の情報処理装置にて動作するソフト
ウェアを実行する情報処理装置として用いられるシミュ
レーション装置において、シミュレーション動作に要す
る処理時間を大幅に低減できるようにする。 【解決手段】 変換元のソフトウェアを保持する変換元
ソフトウェア保持手段51と、変換元ソフトウェアを構
成する変換元プログラムデータのうちで先頭アドレスの
プログラムデータから分岐命令にかかるアドレスのプロ
グラムデータまでのプログラムブロックについて順次変
換済のソフトウェアを構成するプログラムデータに変換
するプログラムデータ変換処理手段52と、変換された
上記変換済のソフトウェアを保持する変換済ソフトウェ
ア保持手段53と、変換すべきプログラムデータが既に
変換済プログラムデータに変換されているか否かの識別
情報を対応するアドレス毎に登録する変換状態登録部5
4とをそなえるように構成する。
ウェアを実行する情報処理装置として用いられるシミュ
レーション装置において、シミュレーション動作に要す
る処理時間を大幅に低減できるようにする。 【解決手段】 変換元のソフトウェアを保持する変換元
ソフトウェア保持手段51と、変換元ソフトウェアを構
成する変換元プログラムデータのうちで先頭アドレスの
プログラムデータから分岐命令にかかるアドレスのプロ
グラムデータまでのプログラムブロックについて順次変
換済のソフトウェアを構成するプログラムデータに変換
するプログラムデータ変換処理手段52と、変換された
上記変換済のソフトウェアを保持する変換済ソフトウェ
ア保持手段53と、変換すべきプログラムデータが既に
変換済プログラムデータに変換されているか否かの識別
情報を対応するアドレス毎に登録する変換状態登録部5
4とをそなえるように構成する。
Description
【0001】
【発明の属する技術分野】本発明は、他の種類の情報処
理装置にて動作するソフトウェアを実行する情報処理装
置に用いて好適な、シミュレーション装置及び方法並び
にコンピュータ読取可能な記録媒体に関する。近年、情
報処理装置の処理速度は技術の進歩に伴い短期間で著し
く向上し、ある時点では最も処理速度が速いとされた情
報処理装置であっても、暫くすると新しく開発された他
の種類の情報処理装置に処理速度の点で追い越されると
いう状況が頻繁に生じている。
理装置にて動作するソフトウェアを実行する情報処理装
置に用いて好適な、シミュレーション装置及び方法並び
にコンピュータ読取可能な記録媒体に関する。近年、情
報処理装置の処理速度は技術の進歩に伴い短期間で著し
く向上し、ある時点では最も処理速度が速いとされた情
報処理装置であっても、暫くすると新しく開発された他
の種類の情報処理装置に処理速度の点で追い越されると
いう状況が頻繁に生じている。
【0002】即ち、利用者規模の大きい種類の情報処理
装置においては、ハードウェア開発に対して十分なコス
トを割くことができるため高性能な装置が次々と開発さ
れる一方、利用者規模の小さい種類の情報処理装置にお
いては、そこまでコストを割くことができないため高性
能な装置のハードウェア開発は困難である。
装置においては、ハードウェア開発に対して十分なコス
トを割くことができるため高性能な装置が次々と開発さ
れる一方、利用者規模の小さい種類の情報処理装置にお
いては、そこまでコストを割くことができないため高性
能な装置のハードウェア開発は困難である。
【0003】しかし、利用者規模の小さい種類の情報処
理装置の性能が向上しなくても、当該情報処理装置にて
動作するソフトウェアを、新しく開発された利用者規模
の大きい種類の情報処理装置にて動作させることができ
れば、当該情報処理装置の利用者は常に必要とする処理
能力を得ることができる。ここで、情報処理装置は内蔵
ソフトウェアにより所定の回路動作を行なうものである
が、一般に、情報処理装置は各装置毎に回路動作させる
ための命令データ(命令語又は命令語列)が異なるた
め、命令データの組み合わせからなるソフトウェアは、
そのまま異なる種類の情報処理装置にて動作させること
はできない。
理装置の性能が向上しなくても、当該情報処理装置にて
動作するソフトウェアを、新しく開発された利用者規模
の大きい種類の情報処理装置にて動作させることができ
れば、当該情報処理装置の利用者は常に必要とする処理
能力を得ることができる。ここで、情報処理装置は内蔵
ソフトウェアにより所定の回路動作を行なうものである
が、一般に、情報処理装置は各装置毎に回路動作させる
ための命令データ(命令語又は命令語列)が異なるた
め、命令データの組み合わせからなるソフトウェアは、
そのまま異なる種類の情報処理装置にて動作させること
はできない。
【0004】換言すれば、ある情報処理装置を動作させ
るためのプログラム(機械語)を、アーキテクチャの異
なる他の情報処理装置を動作させるために、そのまま用
いることはできない。
るためのプログラム(機械語)を、アーキテクチャの異
なる他の情報処理装置を動作させるために、そのまま用
いることはできない。
【0005】特に、ロードモジュールと呼ばれる直接回
路を動作させる命令データが組み合わせられたソフトウ
ェアのみが存在し、ソースプログラムと呼ばれる高級言
語で記述されたソフトウェアが存在しない場合において
は、異なる種類の情報処理装置へソフトウェアを移植す
ることは困難な作業となる。
路を動作させる命令データが組み合わせられたソフトウ
ェアのみが存在し、ソースプログラムと呼ばれる高級言
語で記述されたソフトウェアが存在しない場合において
は、異なる種類の情報処理装置へソフトウェアを移植す
ることは困難な作業となる。
【0006】このような課題を解決するため、ある種類
の情報処理装置を動作させる命令データからなる変換元
ソフトウェアを、その情報処理装置とは異なる種類の情
報処理装置を動作させる命令データからなる変換済ソフ
トウェアに変換し、変換された変換済ソフトウェアを実
行することにより変換元ソフトウェアと同等の処理を行
なう情報処理装置としてのシミュレーション装置が必要
とされている。
の情報処理装置を動作させる命令データからなる変換元
ソフトウェアを、その情報処理装置とは異なる種類の情
報処理装置を動作させる命令データからなる変換済ソフ
トウェアに変換し、変換された変換済ソフトウェアを実
行することにより変換元ソフトウェアと同等の処理を行
なう情報処理装置としてのシミュレーション装置が必要
とされている。
【0007】
【従来の技術】従来の技術について、(a)従来のシミ
ュレーション装置の構成、(b)従来のシミュレーショ
ン装置の処理の流れ、の順に説明する。
ュレーション装置の構成、(b)従来のシミュレーショ
ン装置の処理の流れ、の順に説明する。
【0008】尚、以下の説明において同一部分又は相当
部分については同一符号を付す。 (a)従来のシミュレーション装置の構成 図16は従来のシミュレーション装置の構成を示すブロ
ック図である。この図16に示すシミュレーション装置
100は、入力回路2,主記憶回路3及びプロセッサ回
路4をそなえて構成され、入力回路2から入力された旧
ソフトウェア(変換元ソフトウェア)の指示する処理を
自装置で実行可能な新ソフトウェア(変換済ソフトウェ
ア)の指示に変換して実行するものである。
部分については同一符号を付す。 (a)従来のシミュレーション装置の構成 図16は従来のシミュレーション装置の構成を示すブロ
ック図である。この図16に示すシミュレーション装置
100は、入力回路2,主記憶回路3及びプロセッサ回
路4をそなえて構成され、入力回路2から入力された旧
ソフトウェア(変換元ソフトウェア)の指示する処理を
自装置で実行可能な新ソフトウェア(変換済ソフトウェ
ア)の指示に変換して実行するものである。
【0009】ここで、入力回路2は、主記憶回路3に接
続され、旧ソフトウェアを主記憶回路3に入力する回路
である。また、主記憶回路3は、入力回路2から入力さ
れた旧ソフトウェアを保持するとともに、この旧ソフト
ウェアを新ソフトウェアに変換して実行させるソフトウ
ェア及びソフトウェアを実行する過程で割込が生じた場
合に割込処理を行なうソフトウェアを保持する回路であ
り、入力回路2及びプロセッサ回路4に接続されてい
る。
続され、旧ソフトウェアを主記憶回路3に入力する回路
である。また、主記憶回路3は、入力回路2から入力さ
れた旧ソフトウェアを保持するとともに、この旧ソフト
ウェアを新ソフトウェアに変換して実行させるソフトウ
ェア及びソフトウェアを実行する過程で割込が生じた場
合に割込処理を行なうソフトウェアを保持する回路であ
り、入力回路2及びプロセッサ回路4に接続されてい
る。
【0010】具体的には、主記憶回路3には、入力処理
プログラム域31,旧ソフトウェア域32,変換・実行
処理プログラム域34′及び割込処理プログラム域33
が設けられている。ここで、入力処理プログラム域31
は、入力回路2から入力された旧ソフトウェアを旧ソフ
トウェア域32に転送するソフトウェア(プログラム)
を保持するための領域である。
プログラム域31,旧ソフトウェア域32,変換・実行
処理プログラム域34′及び割込処理プログラム域33
が設けられている。ここで、入力処理プログラム域31
は、入力回路2から入力された旧ソフトウェアを旧ソフ
トウェア域32に転送するソフトウェア(プログラム)
を保持するための領域である。
【0011】また、旧ソフトウェア域32は、入力回路
2から入力された旧ソフトウェアを保持するための領域
である。さらに、変換・実行処理プログラム域34′
は、旧ソフトウェア域32に保持される旧ソフトウェア
における旧命令データ(変換元命令データ)を1語ずつ
新命令データ(変換済命令データ)に変換(デコード)
し、その新命令データの指示に従ってプロセッサ回路4
を動作させるソフトウェアを保持するための領域であ
る。
2から入力された旧ソフトウェアを保持するための領域
である。さらに、変換・実行処理プログラム域34′
は、旧ソフトウェア域32に保持される旧ソフトウェア
における旧命令データ(変換元命令データ)を1語ずつ
新命令データ(変換済命令データ)に変換(デコード)
し、その新命令データの指示に従ってプロセッサ回路4
を動作させるソフトウェアを保持するための領域であ
る。
【0012】また、割込処理プログラム域33は、ある
処理の過程で予定外の事象が生じた場合に、予定された
動作に割り込んでその事象を処理し、しかる後に予定さ
れた処理を行なえるようにするソフトウェアを保持する
ための領域である。そして、入力処理プログラム域3
1,変換・実行処理プログラム域34′及び割込処理プ
ログラム域33に保持されたソフトウェアは、それぞれ
プロセッサ回路4により実行されることにより、それぞ
れ入力処理部,変換・実行処理部及び割込処理部(それ
ぞれ図17に示す符号131,134及び133参照)
として機能するようになる。
処理の過程で予定外の事象が生じた場合に、予定された
動作に割り込んでその事象を処理し、しかる後に予定さ
れた処理を行なえるようにするソフトウェアを保持する
ための領域である。そして、入力処理プログラム域3
1,変換・実行処理プログラム域34′及び割込処理プ
ログラム域33に保持されたソフトウェアは、それぞれ
プロセッサ回路4により実行されることにより、それぞ
れ入力処理部,変換・実行処理部及び割込処理部(それ
ぞれ図17に示す符号131,134及び133参照)
として機能するようになる。
【0013】なお、図17は従来のシミュレーション装
置の構成を示す機能ブロック図である。この図17にお
いて、符号140は、入力回路2から入力された旧ソフ
トウェアの指示する処理を新ソフトウェアの指示に変換
して実行するシミュレーション実行部である。
置の構成を示す機能ブロック図である。この図17にお
いて、符号140は、入力回路2から入力された旧ソフ
トウェアの指示する処理を新ソフトウェアの指示に変換
して実行するシミュレーション実行部である。
【0014】また、プロセッサ回路4は、命令カウンタ
5及び汎用レジスタ6をそなえて構成され、命令カウン
タ5にて指定されるアドレスからソフトウェア(即ち、
入力処理プログラム域31,変換・実行処理プログラム
域34′及び割込処理プログラム域33に保持されたソ
フトウェア)を読み出し、そのソフトウェアの指示に従
ってシミュレーション装置100を動作させる回路であ
り、主記憶回路3に接続されている。
5及び汎用レジスタ6をそなえて構成され、命令カウン
タ5にて指定されるアドレスからソフトウェア(即ち、
入力処理プログラム域31,変換・実行処理プログラム
域34′及び割込処理プログラム域33に保持されたソ
フトウェア)を読み出し、そのソフトウェアの指示に従
ってシミュレーション装置100を動作させる回路であ
り、主記憶回路3に接続されている。
【0015】命令カウンタ5は、主記憶回路3の、次に
読み出される命令データの格納されているアドレスを保
持し、主記憶回路3から命令データが読み出される都
度、該命令データの命令データ長が加えられて更新され
る回路である。
読み出される命令データの格納されているアドレスを保
持し、主記憶回路3から命令データが読み出される都
度、該命令データの命令データ長が加えられて更新され
る回路である。
【0016】また、汎用レジスタ6は、各種の処理に必
要なデータや制御情報を保持するとともに、ソフトウェ
アにより指示された処理の過程で必要となるデータを一
時的に保持する回路である。そして、汎用レジスタ6に
は、読出アドレス域62及び制御情報域64が設けられ
ている。
要なデータや制御情報を保持するとともに、ソフトウェ
アにより指示された処理の過程で必要となるデータを一
時的に保持する回路である。そして、汎用レジスタ6に
は、読出アドレス域62及び制御情報域64が設けられ
ている。
【0017】読出アドレス域62は、旧ソフトウェア域
32の次に読み出される旧命令データの格納アドレスを
保持し、旧ソフトウェア域32から旧命令データが読み
出される度に該旧命令データの命令データ長を加えて更
新するための領域である。
32の次に読み出される旧命令データの格納アドレスを
保持し、旧ソフトウェア域32から旧命令データが読み
出される度に該旧命令データの命令データ長を加えて更
新するための領域である。
【0018】また、制御情報域64は、旧命令データの
指示する処理が実行された結果生じた状態コード(条件
コード)と、読み出された旧命令データの命令データ長
とを保持するための領域である。 (b)従来のシミュレーション装置の処理の流れ 図16及び図17に示す従来のシミュレーション装置1
00の処理の流れについて、図18を参照しながら説明
する。
指示する処理が実行された結果生じた状態コード(条件
コード)と、読み出された旧命令データの命令データ長
とを保持するための領域である。 (b)従来のシミュレーション装置の処理の流れ 図16及び図17に示す従来のシミュレーション装置1
00の処理の流れについて、図18を参照しながら説明
する。
【0019】シミュレーション装置100においては、
旧ソフトウェアが、入力回路2を介して主記憶回路3に
入力されると、まず、入力処理部131により、主記憶
回路3の旧ソフトウェア域32に格納される(ステップ
B01)。そして、入力処理部131により、旧ソフト
ウェア域32に格納された旧命令データの先頭アドレス
が、プロセッサ回路4内の汎用レジスタ6の読出アドレ
ス域62に設定される(ステップB02)。
旧ソフトウェアが、入力回路2を介して主記憶回路3に
入力されると、まず、入力処理部131により、主記憶
回路3の旧ソフトウェア域32に格納される(ステップ
B01)。そして、入力処理部131により、旧ソフト
ウェア域32に格納された旧命令データの先頭アドレス
が、プロセッサ回路4内の汎用レジスタ6の読出アドレ
ス域62に設定される(ステップB02)。
【0020】続いて、変換・実行処理部134により、
旧ソフトウェア域32の、上記読出アドレス域62に保
持される読出アドレスにて指定される領域から、旧命令
データが読み出され(ステップB03)、読み出された
旧命令データが1語ずつ変換(デコード)される(ステ
ップB04)。ここで、変換された旧命令データが終了
命令か否かが判断され(ステップB05)、終了命令の
場合には処理を終了し(ステップB05のYESルート
から“終了”)、終了命令でない場合には処理が続行さ
れる(ステップB05のNOルートからステップB0
6)。
旧ソフトウェア域32の、上記読出アドレス域62に保
持される読出アドレスにて指定される領域から、旧命令
データが読み出され(ステップB03)、読み出された
旧命令データが1語ずつ変換(デコード)される(ステ
ップB04)。ここで、変換された旧命令データが終了
命令か否かが判断され(ステップB05)、終了命令の
場合には処理を終了し(ステップB05のYESルート
から“終了”)、終了命令でない場合には処理が続行さ
れる(ステップB05のNOルートからステップB0
6)。
【0021】変換された旧命令データが終了命令でない
場合には、変換・実行処理部134により、プロセッサ
回路4内の汎用レジスタ6の制御情報域64に、当該旧
命令データの命令データ長がセットされるとともに、読
出アドレスに当該命令データ長が加えられて読出アドレ
ス域62に格納される(ステップB06)。その後、変
換・実行処理部134により、当該旧命令データの指示
する処理が1語ずつ実行される(ステップB07)。
場合には、変換・実行処理部134により、プロセッサ
回路4内の汎用レジスタ6の制御情報域64に、当該旧
命令データの命令データ長がセットされるとともに、読
出アドレスに当該命令データ長が加えられて読出アドレ
ス域62に格納される(ステップB06)。その後、変
換・実行処理部134により、当該旧命令データの指示
する処理が1語ずつ実行される(ステップB07)。
【0022】さらに、変換・実行処理部134により、
外部割込の有無(外部割込が検出されたか否か)がチェ
ックされ(ステップB08)、外部割込未検出の場合に
はステップB03に戻る。また、外部割込検出済の場合
には、割込処理部133により、外部割込に対する割込
処理が行われた後に(ステップB09)、ステップB0
3に戻る。
外部割込の有無(外部割込が検出されたか否か)がチェ
ックされ(ステップB08)、外部割込未検出の場合に
はステップB03に戻る。また、外部割込検出済の場合
には、割込処理部133により、外部割込に対する割込
処理が行われた後に(ステップB09)、ステップB0
3に戻る。
【0023】そして、終了命令が変換されるまで、上述
したステップB03〜ステップB09までの動作が順次
繰り返される。
したステップB03〜ステップB09までの動作が順次
繰り返される。
【0024】
【発明が解決しようとする課題】しかしながら、従来の
シミュレーション装置100においては、変換元命令デ
ータを1語ずつ変換済命令データに変換して、変換元命
令データ1語分の変換済命令データ(複数語分の命令デ
ータとなる場合もある)の指示する処理(シミュレーシ
ョン動作)を実行しているため、このような命令データ
の変換動作を頻繁に繰り返す場合(即ち、変換元ソフト
ウェアにおける変換元命令データの数が非常に多い場
合)には、シミュレーション動作に膨大な処理時間を要
するという課題がある。
シミュレーション装置100においては、変換元命令デ
ータを1語ずつ変換済命令データに変換して、変換元命
令データ1語分の変換済命令データ(複数語分の命令デ
ータとなる場合もある)の指示する処理(シミュレーシ
ョン動作)を実行しているため、このような命令データ
の変換動作を頻繁に繰り返す場合(即ち、変換元ソフト
ウェアにおける変換元命令データの数が非常に多い場
合)には、シミュレーション動作に膨大な処理時間を要
するという課題がある。
【0025】本発明は、このような課題に鑑み創案され
たもので、シミュレーション動作に要する処理時間を大
幅に低減できるようにした、シミュレーション装置及び
方法を提供することを目的とするとともに、更には、こ
のようなシミュレーション動作を行なうためのシミュレ
ーションプログラムが記録されたコンピュータ読取可能
な記録媒体を提供することを目的とする。
たもので、シミュレーション動作に要する処理時間を大
幅に低減できるようにした、シミュレーション装置及び
方法を提供することを目的とするとともに、更には、こ
のようなシミュレーション動作を行なうためのシミュレ
ーションプログラムが記録されたコンピュータ読取可能
な記録媒体を提供することを目的とする。
【0026】
【課題を解決するための手段】図1は本発明のシミュレ
ーション装置の構成を示す原理ブロック図であり、この
図1に示すシミュレーション装置1Aは、変換元ソフト
ウェア保持手段51,プログラムデータ変換処理手段5
2,変換済ソフトウェア保持手段53及び変換状態登録
部54をそなえて構成されている。
ーション装置の構成を示す原理ブロック図であり、この
図1に示すシミュレーション装置1Aは、変換元ソフト
ウェア保持手段51,プログラムデータ変換処理手段5
2,変換済ソフトウェア保持手段53及び変換状態登録
部54をそなえて構成されている。
【0027】ここで、変換元ソフトウェア保持手段51
は、変換元のソフトウェアを保持するものである。ま
た、プログラムデータ変換処理手段52は、変換元ソフ
トウェア保持手段51にて保持されている変換元ソフト
ウェアを構成する変換元プログラムデータのうちで、先
頭アドレスとして指定されるアドレスのプログラムデー
タから分岐命令にかかるアドレスのプログラムデータま
でのプログラムブロックについて、順次変換済のソフト
ウェアを構成するプログラムデータに変換するととも
に、上記変換された変換済ソフトウェアを実行すること
により、上記変換元ソフトウェアと同等の処理を行なう
ものである。
は、変換元のソフトウェアを保持するものである。ま
た、プログラムデータ変換処理手段52は、変換元ソフ
トウェア保持手段51にて保持されている変換元ソフト
ウェアを構成する変換元プログラムデータのうちで、先
頭アドレスとして指定されるアドレスのプログラムデー
タから分岐命令にかかるアドレスのプログラムデータま
でのプログラムブロックについて、順次変換済のソフト
ウェアを構成するプログラムデータに変換するととも
に、上記変換された変換済ソフトウェアを実行すること
により、上記変換元ソフトウェアと同等の処理を行なう
ものである。
【0028】ここで、プログラムデータ変換処理手段5
2は、判定部55,分岐実行部56及び分岐先変換部5
7をそなえている。判定部55は、上記変換された変換
済ソフトウェアの実行の際に、上記分岐命令について実
行するにあたって、分岐先のプログラムデータに対応す
る変換済プログラムデータが変換済ソフトウェア保持手
段53にて保持されているか否かを、変換状態登録部5
4を参照することにより判定するものである。
2は、判定部55,分岐実行部56及び分岐先変換部5
7をそなえている。判定部55は、上記変換された変換
済ソフトウェアの実行の際に、上記分岐命令について実
行するにあたって、分岐先のプログラムデータに対応す
る変換済プログラムデータが変換済ソフトウェア保持手
段53にて保持されているか否かを、変換状態登録部5
4を参照することにより判定するものである。
【0029】また、分岐実行部56は、上記分岐命令に
おける分岐先のプログラムデータに対応する変換済プロ
グラムデータが変換済ソフトウェア保持手段53にて保
持されていると判定された場合には、変換済ソフトウェ
ア保持手段53にて保持されているその変換済プログラ
ムデータに基づいて、上記分岐命令について実行するも
のである。
おける分岐先のプログラムデータに対応する変換済プロ
グラムデータが変換済ソフトウェア保持手段53にて保
持されていると判定された場合には、変換済ソフトウェ
ア保持手段53にて保持されているその変換済プログラ
ムデータに基づいて、上記分岐命令について実行するも
のである。
【0030】さらに、分岐先変換部57は、上記分岐命
令における分岐先のプログラムデータに対応する変換済
プログラムデータが変換済ソフトウェア保持手段53に
て保持されていないと判定された場合には、上記分岐先
のアドレスを上記先頭アドレスとして、上記変換元プロ
グラムデータを変換済プログラムデータに変換するもの
である。
令における分岐先のプログラムデータに対応する変換済
プログラムデータが変換済ソフトウェア保持手段53に
て保持されていないと判定された場合には、上記分岐先
のアドレスを上記先頭アドレスとして、上記変換元プロ
グラムデータを変換済プログラムデータに変換するもの
である。
【0031】ところで、変換済ソフトウェア保持手段5
3は、プログラムデータ変換処理手段52にて変換され
た上記変換済のソフトウェアを保持するものである。さ
らに、変換状態登録部54は、上記プログラムデータ変
換処理手段52にて変換すべきプログラムデータが、既
に変換済プログラムデータに変換されているか否かの識
別情報を、対応するアドレス毎に登録するものである
(請求項18)。
3は、プログラムデータ変換処理手段52にて変換され
た上記変換済のソフトウェアを保持するものである。さ
らに、変換状態登録部54は、上記プログラムデータ変
換処理手段52にて変換すべきプログラムデータが、既
に変換済プログラムデータに変換されているか否かの識
別情報を、対応するアドレス毎に登録するものである
(請求項18)。
【0032】このような構成により、本発明のシミュレ
ーション装置1Aにおいては、第1アーキテクチャのコ
ンピュータで動作する第1ソフトウェア(変換元ソフト
ウェア)を、上記第1のアーキテクチャとは異なる第2
アーキテクチャのコンピュータで動作させるシミュレー
ション動作が行なわれる。このときのシミュレーション
装置1Aの動作を、図2に示すフローチャートを用いて
更に説明する。
ーション装置1Aにおいては、第1アーキテクチャのコ
ンピュータで動作する第1ソフトウェア(変換元ソフト
ウェア)を、上記第1のアーキテクチャとは異なる第2
アーキテクチャのコンピュータで動作させるシミュレー
ション動作が行なわれる。このときのシミュレーション
装置1Aの動作を、図2に示すフローチャートを用いて
更に説明する。
【0033】まず、第1ソフトウェアのデータが、変換
元ソフトウェア保持手段51にて保持される(第1ソフ
トウェア保持ステップA01)。続いて、プログラムデ
ータ変換処理手段52により、第1ソフトウェアにおけ
るプログラムデータ(変換元ソフトウェアを構成する変
換元プログラムデータ)のうちで、先頭アドレスのプロ
グラムデータから分岐命令にかかるアドレスのプログラ
ムデータまでのプログラムブロックについて、順次第2
アーキテクチャのコンピュータで動作しうる第2ソフト
ウェア(変換済ソフトウェア)に変換される(変換ステ
ップA02)。
元ソフトウェア保持手段51にて保持される(第1ソフ
トウェア保持ステップA01)。続いて、プログラムデ
ータ変換処理手段52により、第1ソフトウェアにおけ
るプログラムデータ(変換元ソフトウェアを構成する変
換元プログラムデータ)のうちで、先頭アドレスのプロ
グラムデータから分岐命令にかかるアドレスのプログラ
ムデータまでのプログラムブロックについて、順次第2
アーキテクチャのコンピュータで動作しうる第2ソフト
ウェア(変換済ソフトウェア)に変換される(変換ステ
ップA02)。
【0034】さらに、変換ステップA02にて変換され
た第2ソフトウェアを構成するプログラムデータ(変換
済ソフトウェアを構成する変換済プログラムデータ)
が、変換済ソフトウェア保持手段53にて保持される
(第2ソフトウェア保持ステップA03)。このとき、
変換状態登録部54では、変換ステップA02にて変換
すべきプログラムデータが、既に第2ソフトウェアを構
成するプログラムデータに変換されているか否かが、対
応するアドレス毎に登録される(変換状態登録ステップ
A04)。
た第2ソフトウェアを構成するプログラムデータ(変換
済ソフトウェアを構成する変換済プログラムデータ)
が、変換済ソフトウェア保持手段53にて保持される
(第2ソフトウェア保持ステップA03)。このとき、
変換状態登録部54では、変換ステップA02にて変換
すべきプログラムデータが、既に第2ソフトウェアを構
成するプログラムデータに変換されているか否かが、対
応するアドレス毎に登録される(変換状態登録ステップ
A04)。
【0035】そして、プログラムデータ変換処理手段5
2により、変換ステップA02にて変換された第2ソフ
トウェアが実行される(実行ステップA05)。ここ
で、判定部75により、実行ステップA05における第
2ソフトウェアの実行の際に、上記分岐命令について実
行するにあたって(ステップA06のYESルート)、
分岐先のプログラムデータが第2ソフトウェアを構成す
るプログラムデータに変換されているか否かが、変換状
態登録ステップA04における登録結果を参照して判定
される(判定ステップA07)。
2により、変換ステップA02にて変換された第2ソフ
トウェアが実行される(実行ステップA05)。ここ
で、判定部75により、実行ステップA05における第
2ソフトウェアの実行の際に、上記分岐命令について実
行するにあたって(ステップA06のYESルート)、
分岐先のプログラムデータが第2ソフトウェアを構成す
るプログラムデータに変換されているか否かが、変換状
態登録ステップA04における登録結果を参照して判定
される(判定ステップA07)。
【0036】そして、判定ステップA07において、分
岐先のプログラムデータが第2ソフトウェアを構成する
プログラムデータに変換されていると判定された場合に
は(判定ステップA07の“変換済”ルート)、分岐実
行部56により、第2ソフトウェア保持ステップA03
にて保持されたその変換済プログラムデータに基づい
て、上記分岐命令が実行される(分岐実行ステップA0
8)。
岐先のプログラムデータが第2ソフトウェアを構成する
プログラムデータに変換されていると判定された場合に
は(判定ステップA07の“変換済”ルート)、分岐実
行部56により、第2ソフトウェア保持ステップA03
にて保持されたその変換済プログラムデータに基づい
て、上記分岐命令が実行される(分岐実行ステップA0
8)。
【0037】また、判定ステップA07において、分岐
先のプログラムデータが第2ソフトウェアを構成するプ
ログラムデータに変換されていないと判定された場合に
は(判定ステップA07の“未変換”ルート)、分岐先
変換部57により、上記分岐先のアドレスを上記先頭ア
ドレスとして、上記第1ソフトウェアのプログラムデー
タを第2ソフトウェアのプログラムデータに変換したの
ちに、プログラムデータ変換処理手段52により、上記
分岐命令が実行される(分岐先変換実行ステップA0
9,請求項20)。
先のプログラムデータが第2ソフトウェアを構成するプ
ログラムデータに変換されていないと判定された場合に
は(判定ステップA07の“未変換”ルート)、分岐先
変換部57により、上記分岐先のアドレスを上記先頭ア
ドレスとして、上記第1ソフトウェアのプログラムデー
タを第2ソフトウェアのプログラムデータに変換したの
ちに、プログラムデータ変換処理手段52により、上記
分岐命令が実行される(分岐先変換実行ステップA0
9,請求項20)。
【0038】即ち、本発明のシミュレーション装置1A
におけるシミュレーション方法は、上記第1ソフトウェ
アのプログラムデータを上記第2アーキテクチャのコン
ピュータで動作しうる第2ソフトウェアのプログラムデ
ータに変換する変換ステップと、該変換ステップにて変
換された上記第2ソフトウェアを構成するプログラムデ
ータを保持する第2ソフトウェア保持ステップと、該変
換ステップにて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録ステップと、該変
換状態登録ステップにおける登録結果を参照して、変換
対象となる第1ソフトウェアのプログラムデータが既に
第2ソフトウェアを構成するプログラムデータに変換さ
れているか否かを判定する判定ステップと、該判定ステ
ップにおいて、既に第2ソフトウェアを構成するプログ
ラムデータに変換されていると判定された場合には、該
第2ソフトウェア保持ステップにより保持されている該
第2ソフトウェアを構成するプログラムデータを実行
し、該判定ステップにおいて、該第2ソフトウェアを構
成するプログラムデータに変換されていないと判定され
た場合には、該変換ステップにて第2ソフトウェアを構
成するプログラムデータに変換した後、該第2ソフトウ
ェアを構成するプログラムデータを実行する実行ステッ
プとをそなえて構成されることになる(請求項19)。
におけるシミュレーション方法は、上記第1ソフトウェ
アのプログラムデータを上記第2アーキテクチャのコン
ピュータで動作しうる第2ソフトウェアのプログラムデ
ータに変換する変換ステップと、該変換ステップにて変
換された上記第2ソフトウェアを構成するプログラムデ
ータを保持する第2ソフトウェア保持ステップと、該変
換ステップにて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録ステップと、該変
換状態登録ステップにおける登録結果を参照して、変換
対象となる第1ソフトウェアのプログラムデータが既に
第2ソフトウェアを構成するプログラムデータに変換さ
れているか否かを判定する判定ステップと、該判定ステ
ップにおいて、既に第2ソフトウェアを構成するプログ
ラムデータに変換されていると判定された場合には、該
第2ソフトウェア保持ステップにより保持されている該
第2ソフトウェアを構成するプログラムデータを実行
し、該判定ステップにおいて、該第2ソフトウェアを構
成するプログラムデータに変換されていないと判定され
た場合には、該変換ステップにて第2ソフトウェアを構
成するプログラムデータに変換した後、該第2ソフトウ
ェアを構成するプログラムデータを実行する実行ステッ
プとをそなえて構成されることになる(請求項19)。
【0039】ところで、本発明において、上述した第1
ソフトウェア保持ステップA01,変換ステップA0
2,第2ソフトウェア保持ステップA03,変換状態登
録ステップA04,実行ステップA05,判定ステップ
A07,分岐実行ステップA08及び分岐先変換実行ス
テップA09に相当する機能は、第2アーキテクチャの
コンピュータにおけるディスク装置等の記録媒体(図示
せず)に記録されたシミュレーションプログラムをメモ
リ(RAM)に読み出し、そのシミュレーションプログ
ラムを起動してプロセッサ回路で実行することにより、
プロセッサ回路の動作として実現される。
ソフトウェア保持ステップA01,変換ステップA0
2,第2ソフトウェア保持ステップA03,変換状態登
録ステップA04,実行ステップA05,判定ステップ
A07,分岐実行ステップA08及び分岐先変換実行ス
テップA09に相当する機能は、第2アーキテクチャの
コンピュータにおけるディスク装置等の記録媒体(図示
せず)に記録されたシミュレーションプログラムをメモ
リ(RAM)に読み出し、そのシミュレーションプログ
ラムを起動してプロセッサ回路で実行することにより、
プロセッサ回路の動作として実現される。
【0040】ここで、シミュレーションプログラムは、
第1アーキテクチャのコンピュータで動作する第1ソフ
トウェアを、上記第1のアーキテクチャとは異なる第2
アーキテクチャのコンピュータでシミュレーション動作
させるものである。具体的には、シミュレーションプロ
グラムは、第1ソフトウェアのデータを保持する第1ソ
フトウェア保持機能(第1ソフトウェア保持ステップA
01がこの機能に相当する)、第1ソフトウェアにおけ
るプログラムデータのうちで先頭アドレスのプログラム
データから分岐命令にかかるアドレスのプログラムデー
タまでのプログラムブロックについて順次第2アーキテ
クチャのコンピュータで動作しうる第2ソフトウェアに
変換する変換機能(変換ステップA02がこの機能に相
当する)、変換機能にて変換された上記第2ソフトウェ
アを構成するプログラムデータを保持する第2ソフトウ
ェア保持機能(第2ソフトウェア保持ステップA03が
この機能に相当する)、変換機能にて変換すべきプログ
ラムデータが既に第2ソフトウェアを構成するプログラ
ムデータに変換されているか否かを対応するアドレス毎
に登録する変換状態登録機能(変換状態登録ステップA
04がこの機能に相当する)、変換機能にて上記変換さ
れた第2ソフトウェアを実行する実行機能(実行ステッ
プA05がこの機能に相当する)、実行機能における上
記第2ソフトウェアの実行の際に上記分岐命令について
実行するにあたって、分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いるか否かを変換状態登録機能における登録結果を参照
して判定する判定機能(判定ステップA07がこの機能
に相当する)、判定機能において分岐先のプログラムデ
ータが第2ソフトウェアを構成するプログラムデータに
変換されていると判定された場合には、第2ソフトウェ
ア保持機能にて保持されたその変換済プログラムデータ
に基づいて上記分岐命令について実行する分岐実行機能
(分岐実行ステップA08がこの機能に相当する)、及
び、判定機能において分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いないと判定された場合には、上記分岐先のアドレスを
上記先頭アドレスとして上記第1ソフトウェアのプログ
ラムデータを第2ソフトウェアのプログラムデータに変
換したのちに、上記分岐命令について実行する分岐先変
換実行機能(分岐先変換実行ステップA09がこの機能
に相当する)とを、コンピュータに実現させるためのも
のである(請求項22)。
第1アーキテクチャのコンピュータで動作する第1ソフ
トウェアを、上記第1のアーキテクチャとは異なる第2
アーキテクチャのコンピュータでシミュレーション動作
させるものである。具体的には、シミュレーションプロ
グラムは、第1ソフトウェアのデータを保持する第1ソ
フトウェア保持機能(第1ソフトウェア保持ステップA
01がこの機能に相当する)、第1ソフトウェアにおけ
るプログラムデータのうちで先頭アドレスのプログラム
データから分岐命令にかかるアドレスのプログラムデー
タまでのプログラムブロックについて順次第2アーキテ
クチャのコンピュータで動作しうる第2ソフトウェアに
変換する変換機能(変換ステップA02がこの機能に相
当する)、変換機能にて変換された上記第2ソフトウェ
アを構成するプログラムデータを保持する第2ソフトウ
ェア保持機能(第2ソフトウェア保持ステップA03が
この機能に相当する)、変換機能にて変換すべきプログ
ラムデータが既に第2ソフトウェアを構成するプログラ
ムデータに変換されているか否かを対応するアドレス毎
に登録する変換状態登録機能(変換状態登録ステップA
04がこの機能に相当する)、変換機能にて上記変換さ
れた第2ソフトウェアを実行する実行機能(実行ステッ
プA05がこの機能に相当する)、実行機能における上
記第2ソフトウェアの実行の際に上記分岐命令について
実行するにあたって、分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いるか否かを変換状態登録機能における登録結果を参照
して判定する判定機能(判定ステップA07がこの機能
に相当する)、判定機能において分岐先のプログラムデ
ータが第2ソフトウェアを構成するプログラムデータに
変換されていると判定された場合には、第2ソフトウェ
ア保持機能にて保持されたその変換済プログラムデータ
に基づいて上記分岐命令について実行する分岐実行機能
(分岐実行ステップA08がこの機能に相当する)、及
び、判定機能において分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いないと判定された場合には、上記分岐先のアドレスを
上記先頭アドレスとして上記第1ソフトウェアのプログ
ラムデータを第2ソフトウェアのプログラムデータに変
換したのちに、上記分岐命令について実行する分岐先変
換実行機能(分岐先変換実行ステップA09がこの機能
に相当する)とを、コンピュータに実現させるためのも
のである(請求項22)。
【0041】即ち、シミュレーションプログラムは、上
記第1ソフトウェアのプログラムデータを上記第2アー
キテクチャのコンピュータで動作しうる第2ソフトウェ
アのプログラムデータに変換する変換機能と、該変換機
能にて変換された上記第2ソフトウェアを構成するプロ
グラムデータを保持する第2ソフトウェア保持機能と、
該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録機能と、該変換状
態登録機能における登録結果を参照して、変換対象とな
る第1ソフトウェアのプログラムデータが既に第2ソフ
トウェアを構成するプログラムデータに変換されている
か否かを判定する判定機能と、該判定機能において、既
に第2ソフトウェアを構成するプログラムデータに変換
されていると判定された場合には、該第2ソフトウェア
保持機能により保持されている該第2ソフトウェアを構
成するプログラムデータを実行し、該判定機能におい
て、該第2ソフトウェアを構成するプログラムデータに
変換されていないと判定された場合には、該変換機能に
て第2ソフトウェアを構成するプログラムデータに変換
した後、該第2ソフトウェアを構成するプログラムデー
タを実行する実行機能とを、コンピュータに実現させる
ためのものである(請求項21)。
記第1ソフトウェアのプログラムデータを上記第2アー
キテクチャのコンピュータで動作しうる第2ソフトウェ
アのプログラムデータに変換する変換機能と、該変換機
能にて変換された上記第2ソフトウェアを構成するプロ
グラムデータを保持する第2ソフトウェア保持機能と、
該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録機能と、該変換状
態登録機能における登録結果を参照して、変換対象とな
る第1ソフトウェアのプログラムデータが既に第2ソフ
トウェアを構成するプログラムデータに変換されている
か否かを判定する判定機能と、該判定機能において、既
に第2ソフトウェアを構成するプログラムデータに変換
されていると判定された場合には、該第2ソフトウェア
保持機能により保持されている該第2ソフトウェアを構
成するプログラムデータを実行し、該判定機能におい
て、該第2ソフトウェアを構成するプログラムデータに
変換されていないと判定された場合には、該変換機能に
て第2ソフトウェアを構成するプログラムデータに変換
した後、該第2ソフトウェアを構成するプログラムデー
タを実行する実行機能とを、コンピュータに実現させる
ためのものである(請求項21)。
【0042】更に、本発明の原理について、図3を参照
しながら説明する。尚、従来例の説明において説明され
たと同一部分または相当部分については同一符号を付
し、本説明において新たに説明する部分については新し
い符号を付す。
しながら説明する。尚、従来例の説明において説明され
たと同一部分または相当部分については同一符号を付
し、本説明において新たに説明する部分については新し
い符号を付す。
【0043】図3において、1はシミュレーション装置
であり、2は入力回路であり、3は主記憶回路であり、
4A及び4Bはプロセッサ回路であり、21は入力処理
手段であり、22は変換元情報保持手段であり、23は
割込処理手段であり、24は変換処理手段であり、25
は変換済情報保持手段であり、26は一時保持手段であ
り、27は変換表示手段であり、28は排他表示手段で
あり、29は書込計数手段であり、41A及び41Bは
初期位置表示手段であり、42A及び42Bは読出位置
表示手段であり、43A及び43Bは書込位置表示手段
であり、44A及び44Bは制御情報保持手段であり、
50A及び50Bは命令計数手段である。
であり、2は入力回路であり、3は主記憶回路であり、
4A及び4Bはプロセッサ回路であり、21は入力処理
手段であり、22は変換元情報保持手段であり、23は
割込処理手段であり、24は変換処理手段であり、25
は変換済情報保持手段であり、26は一時保持手段であ
り、27は変換表示手段であり、28は排他表示手段で
あり、29は書込計数手段であり、41A及び41Bは
初期位置表示手段であり、42A及び42Bは読出位置
表示手段であり、43A及び43Bは書込位置表示手段
であり、44A及び44Bは制御情報保持手段であり、
50A及び50Bは命令計数手段である。
【0044】以下の説明において、同一機能を有する構
成要素については、例えば、プロセッサ回路4A及び4
Bを『プロセッサ回路4』として説明するように、符号
の英文字を省略して説明する。
成要素については、例えば、プロセッサ回路4A及び4
Bを『プロセッサ回路4』として説明するように、符号
の英文字を省略して説明する。
【0045】シミュレーション装置1は、入力回路2
と、主記憶回路3と、複数のプロセッサ回路(本説明で
は、プロセッサ回路4A及び4Bの2台とする)とから
構成され、入力回路2から入力された変換元ソフトウェ
アの指示する処理を変換済ソフトウェアの指示に変換し
て実行する装置である。
と、主記憶回路3と、複数のプロセッサ回路(本説明で
は、プロセッサ回路4A及び4Bの2台とする)とから
構成され、入力回路2から入力された変換元ソフトウェ
アの指示する処理を変換済ソフトウェアの指示に変換し
て実行する装置である。
【0046】入力処理手段21は、入力回路2から入力
された変換元ソフトウェアを変換元情報保持手段22に
転送する手段である。変換元情報保持手段22は、入力
回路2から入力され入力処理手段21により転送された
変換元ソフトウェアを保持する手段である。
された変換元ソフトウェアを変換元情報保持手段22に
転送する手段である。変換元情報保持手段22は、入力
回路2から入力され入力処理手段21により転送された
変換元ソフトウェアを保持する手段である。
【0047】割込処理手段23は、変換元ソフトウェア
が変換済ソフトウェアに変換され、変換済ソフトウェア
が実行される過程で予定外の事象が生じた場合に予定さ
れた動作に割り込んで該事象を処理し、しかる後に予定
された処理手順に戻す、割込処理を行なう手段である。
が変換済ソフトウェアに変換され、変換済ソフトウェア
が実行される過程で予定外の事象が生じた場合に予定さ
れた動作に割り込んで該事象を処理し、しかる後に予定
された処理手順に戻す、割込処理を行なう手段である。
【0048】変換処理手段24は、変換表示手段27に
処理対象となる変換元命令データが変換済であることが
表示されている場合には変換済情報保持手段の該変換元
命令データに対応する先頭アドレスから変換済命令デー
タの指定する処理が行われるよう処理を分岐し、変換表
示手段27に未変換であることが表示されている場合に
は変換元情報保持手段22から読み出された変換元命令
データを変換済命令データに変換して変換済情報保持手
段25に格納する手段であって、変換の過程で、 ・1ページ分の変換元命令データが変換済命令データに
変換された場合、 ・無条件に処理手順が変更されることが判明した場合、 ・予定外の事象が生じた場合、 に変換処理を終了させ、変換済命令データの指定する処
理が行われるよう処理を分岐する手段である。
処理対象となる変換元命令データが変換済であることが
表示されている場合には変換済情報保持手段の該変換元
命令データに対応する先頭アドレスから変換済命令デー
タの指定する処理が行われるよう処理を分岐し、変換表
示手段27に未変換であることが表示されている場合に
は変換元情報保持手段22から読み出された変換元命令
データを変換済命令データに変換して変換済情報保持手
段25に格納する手段であって、変換の過程で、 ・1ページ分の変換元命令データが変換済命令データに
変換された場合、 ・無条件に処理手順が変更されることが判明した場合、 ・予定外の事象が生じた場合、 に変換処理を終了させ、変換済命令データの指定する処
理が行われるよう処理を分岐する手段である。
【0049】変換済情報保持手段25は、変換処理手段
24により変換元命令データが変換されて生成された変
換済命令データが保持される手段である。一時保持手段
26は、変換元命令データが、実際の処理を指示する変
換元命令データの格納されているアドレスをオペランド
で指定する間接命令の場合、前記実際の処理を指示する
変換元命令データから変換・生成された変換済命令デー
タを一時的に保持する手段である。
24により変換元命令データが変換されて生成された変
換済命令データが保持される手段である。一時保持手段
26は、変換元命令データが、実際の処理を指示する変
換元命令データの格納されているアドレスをオペランド
で指定する間接命令の場合、前記実際の処理を指示する
変換元命令データから変換・生成された変換済命令デー
タを一時的に保持する手段である。
【0050】変換表示手段27は、変換元情報保持手段
22と同数のエントリを有し、初期状態で未変換を表示
し、変換元命令データが変換済命令データに変換されて
いる場合には、変換元命令データの保持される先頭アド
レスに対応するエントリに該変換元命令データが変換さ
れて生成される変換済命令データの先頭アドレスを表示
し、該変換元命令データが複数のエントリを専有する場
合には該変換元命令データが変換されて生成される変換
済命令データの先頭アドレスの表示されるエントリに続
くエントリにエントリ番号を表示する手段である。
22と同数のエントリを有し、初期状態で未変換を表示
し、変換元命令データが変換済命令データに変換されて
いる場合には、変換元命令データの保持される先頭アド
レスに対応するエントリに該変換元命令データが変換さ
れて生成される変換済命令データの先頭アドレスを表示
し、該変換元命令データが複数のエントリを専有する場
合には該変換元命令データが変換されて生成される変換
済命令データの先頭アドレスの表示されるエントリに続
くエントリにエントリ番号を表示する手段である。
【0051】排他表示手段28は、変換元情報保持手段
22を構成するページ毎に、該ページが排他的に専有さ
れているか否かをロック表示で表示し、該ページに格納
されている変換元命令データを変換して生成される変換
済命令データを保持する変換済情報保持手段25を構成
する複数のブロックの先頭ブロックのアドレスと最終ブ
ロックのアドレスとを保持する手段である。
22を構成するページ毎に、該ページが排他的に専有さ
れているか否かをロック表示で表示し、該ページに格納
されている変換元命令データを変換して生成される変換
済命令データを保持する変換済情報保持手段25を構成
する複数のブロックの先頭ブロックのアドレスと最終ブ
ロックのアドレスとを保持する手段である。
【0052】書込計数手段29は、変換済命令データの
指定する処理が行われる過程で、書込保護されている領
域への書込が指示された場合にその回数を計数する手段
である。初期位置表示手段41は、変換元情報保持手段
22の変換される変換元命令データの先頭アドレスを指
定し、変換済命令データの指定する処理が行われる過程
で、処理される変換済命令データに対応する変換元命令
データの先頭アドレスを指定する手段である。
指定する処理が行われる過程で、書込保護されている領
域への書込が指示された場合にその回数を計数する手段
である。初期位置表示手段41は、変換元情報保持手段
22の変換される変換元命令データの先頭アドレスを指
定し、変換済命令データの指定する処理が行われる過程
で、処理される変換済命令データに対応する変換元命令
データの先頭アドレスを指定する手段である。
【0053】読出位置表示手段42は、変換元情報保持
手段22の、次に読み出される変換元命令データの保持
されているアドレスを指定する手段である。書込位置表
示手段43は、変換済情報保持手段25の、次に読み出
される変換済命令データの保持されているアドレスを指
定する手段である。
手段22の、次に読み出される変換元命令データの保持
されているアドレスを指定する手段である。書込位置表
示手段43は、変換済情報保持手段25の、次に読み出
される変換済命令データの保持されているアドレスを指
定する手段である。
【0054】制御情報保持手段44は、変換元命令デー
タの命令データ長と、変換元命令データにより指示され
た処理が行われた結果得られた条件コードと、2進定数
‘0001000’とが保持される手段である。
タの命令データ長と、変換元命令データにより指示され
た処理が行われた結果得られた条件コードと、2進定数
‘0001000’とが保持される手段である。
【0055】命令計数手段50は、入力処理手段21と
割込処理手段23と変換処理手段24と変換済情報保持
手段25とから読み出される命令データの保持されてい
るアドレスを指定し、命令データが読み出されると該命
令データの命令データ長が加算されて更新される手段で
ある。
割込処理手段23と変換処理手段24と変換済情報保持
手段25とから読み出される命令データの保持されてい
るアドレスを指定し、命令データが読み出されると該命
令データの命令データ長が加算されて更新される手段で
ある。
【0056】次に、シミュレーションの処理の流れにつ
いて、(1)変換元ソフトウェアの読込み、(2)変換
元命令データの変換済命令データへの変換、(3)変換
済命令データの変換元命令データ単位の処理、の順に説
明する。 (1)変換元ソフトウェアの読込み 先ず、入力処理手段21により入力回路2を介して変換
元ソフトウェアが変換元情報保持手段22に設定され、
変換元命令データの先頭アドレスが初期位置表示手段4
1に設定される。
いて、(1)変換元ソフトウェアの読込み、(2)変換
元命令データの変換済命令データへの変換、(3)変換
済命令データの変換元命令データ単位の処理、の順に説
明する。 (1)変換元ソフトウェアの読込み 先ず、入力処理手段21により入力回路2を介して変換
元ソフトウェアが変換元情報保持手段22に設定され、
変換元命令データの先頭アドレスが初期位置表示手段4
1に設定される。
【0057】次に、初期位置表示手段41に設定された
変換元命令データの先頭アドレスが、変換処理手段24
により読出アドレスとして読出位置表示手段42に設定
される。次に、変換表示手段27の読出アドレスに対応
する領域が変換処理手段24により参照され、読出アド
レスが語境界に違反している場合には割込処理手段23
の語境界違反の割込処理を行なう先頭アドレスが初期位
置表示手段41に設定され、変換処理手段24の処理手
順の先頭の処理に戻り、読出アドレスが語境界に違反せ
ず、読出アドレスに対応する領域が未変換を表示してい
る場合には、変換元情報保持手段22に格納されている
(2)変換元命令データの変換済命令データへの変換が
開始され、読出アドレスが語境界に違反せず、読出アド
レスに対応する領域が変換済を表示している場合には、
初期位置表示手段41で先頭が指定される変換元命令デ
ータに対応する(3)変換済命令データの変換元命令デ
ータ単位の処理が行われる。 (2)変換元命令データの変換済命令データへの変換 変換元命令データの変換済命令データへの変換は、変換
元情報保持手段22の読出アドレスで指定されるページ
がロックされているか否かのチェックから始められる。
変換元命令データの先頭アドレスが、変換処理手段24
により読出アドレスとして読出位置表示手段42に設定
される。次に、変換表示手段27の読出アドレスに対応
する領域が変換処理手段24により参照され、読出アド
レスが語境界に違反している場合には割込処理手段23
の語境界違反の割込処理を行なう先頭アドレスが初期位
置表示手段41に設定され、変換処理手段24の処理手
順の先頭の処理に戻り、読出アドレスが語境界に違反せ
ず、読出アドレスに対応する領域が未変換を表示してい
る場合には、変換元情報保持手段22に格納されている
(2)変換元命令データの変換済命令データへの変換が
開始され、読出アドレスが語境界に違反せず、読出アド
レスに対応する領域が変換済を表示している場合には、
初期位置表示手段41で先頭が指定される変換元命令デ
ータに対応する(3)変換済命令データの変換元命令デ
ータ単位の処理が行われる。 (2)変換元命令データの変換済命令データへの変換 変換元命令データの変換済命令データへの変換は、変換
元情報保持手段22の読出アドレスで指定されるページ
がロックされているか否かのチェックから始められる。
【0058】変換処理手段24により、排他表示手段2
8の読出アドレスで指定されるページのロック表示が参
照され、該ページがロック状態にあることが表示されて
いる場合にはロックが解除されるまで待ち、ロックが解
除されると排他表示手段28の該ページに対応するロッ
ク表示にロックを設定する。
8の読出アドレスで指定されるページのロック表示が参
照され、該ページがロック状態にあることが表示されて
いる場合にはロックが解除されるまで待ち、ロックが解
除されると排他表示手段28の該ページに対応するロッ
ク表示にロックを設定する。
【0059】次に、変換処理手段24により排他表示手
段28が参照され、該ページに対応する最終ブロックの
残容量が読出アドレスで指定される変換元命令データを
変換して生成される変換済命令データを格納するに充分
か否かがチェックされる。
段28が参照され、該ページに対応する最終ブロックの
残容量が読出アドレスで指定される変換元命令データを
変換して生成される変換済命令データを格納するに充分
か否かがチェックされる。
【0060】残容量が変換済命令データを格納するに不
十分な場合には、該ページを構成する変換済情報保持手
段25のブロック数が算出され、該ブロック数が規定値
以下の場合には新ブロックが最終ブロックに関連付けら
れて追加され、排他表示手段28の最終ブロックと置き
換えられ、残容量が変換済命令データを格納するに不十
分で、該ページを構成する変換済情報保持手段25のブ
ロック数が規定値以上の場合には、一旦、ページを構成
するブロックの関連付けが解除(即ち、次ブロックアド
レス部が初期化)され、更に、変換表示手段27の該ペ
ージに対応する領域が初期化された後、新ブロックが該
ページに関連付けられ、排他表示手段28に登録され
る。
十分な場合には、該ページを構成する変換済情報保持手
段25のブロック数が算出され、該ブロック数が規定値
以下の場合には新ブロックが最終ブロックに関連付けら
れて追加され、排他表示手段28の最終ブロックと置き
換えられ、残容量が変換済命令データを格納するに不十
分で、該ページを構成する変換済情報保持手段25のブ
ロック数が規定値以上の場合には、一旦、ページを構成
するブロックの関連付けが解除(即ち、次ブロックアド
レス部が初期化)され、更に、変換表示手段27の該ペ
ージに対応する領域が初期化された後、新ブロックが該
ページに関連付けられ、排他表示手段28に登録され
る。
【0061】次に、変換処理手段24により変換元命令
データが変換され、変換済命令データが生成されて変換
済情報保持手段25の格納済命令データの後ろに格納さ
れる。変換元命令データが読出アドレスで指定される変
換元情報保持手段22から読み出されると、該変換元命
令データの命令データ長が制御情報保持手段44に設定
される。
データが変換され、変換済命令データが生成されて変換
済情報保持手段25の格納済命令データの後ろに格納さ
れる。変換元命令データが読出アドレスで指定される変
換元情報保持手段22から読み出されると、該変換元命
令データの命令データ長が制御情報保持手段44に設定
される。
【0062】次に、該変換元命令データが以下のどの範
疇に入る命令データかチェックされる。 (A)COMPARE AND SWAP命令のよう
に、処理の間に割込を受け付けず、COMPARE命令
とSWAP命令のように複数の単純な処理を指示する命
令の組合せであるアトミック命令の場合 変換処理手段24により変換済情報保持手段25の格納
済変換済命令データの後ろに、ロックが解除されるまで
待つ命令と、ロックを指示する命令と、複数の単純な処
理を指示する命令列と、ロックの解除を指示する命令と
が格納される。 (B)EXECUTE命令のように、実際の処理を指示
する命令データの格納されているアドレスがオペランド
で指定される命令の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、変換元命令
データのオペランドで指定される領域から変換元命令デ
ータを読出す命令と、該変換元命令データを変換済命令
データに変換して一時保持手段26に格納する命令と、
変換処理手段24の先頭への分岐を指示する(これは、
変換処理手段24の処理手順の先頭の処理に戻すこと、
即ち、次の変換元命令データの変換処理を行なうことを
意味する)命令と、変換済命令データの先頭への分岐を
指示する命令が格納される。 (C)条件付分岐命令の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、制御情報保
持手段44に保持される2進定数‘0001000’を
条件コードで指定された値だけ右シフトさせる命令と、
2進定数‘0001000’を条件コードで指定された
値だけ右シフトした結果と条件マスクと比較し一致した
場合に分岐を指示し、異なる場合に非分岐を指示する命
令データが格納される。 (D)(A)〜(C)以外の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、変換元命令
データを変換して生成された変換済命令データが格納さ
れる。
疇に入る命令データかチェックされる。 (A)COMPARE AND SWAP命令のよう
に、処理の間に割込を受け付けず、COMPARE命令
とSWAP命令のように複数の単純な処理を指示する命
令の組合せであるアトミック命令の場合 変換処理手段24により変換済情報保持手段25の格納
済変換済命令データの後ろに、ロックが解除されるまで
待つ命令と、ロックを指示する命令と、複数の単純な処
理を指示する命令列と、ロックの解除を指示する命令と
が格納される。 (B)EXECUTE命令のように、実際の処理を指示
する命令データの格納されているアドレスがオペランド
で指定される命令の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、変換元命令
データのオペランドで指定される領域から変換元命令デ
ータを読出す命令と、該変換元命令データを変換済命令
データに変換して一時保持手段26に格納する命令と、
変換処理手段24の先頭への分岐を指示する(これは、
変換処理手段24の処理手順の先頭の処理に戻すこと、
即ち、次の変換元命令データの変換処理を行なうことを
意味する)命令と、変換済命令データの先頭への分岐を
指示する命令が格納される。 (C)条件付分岐命令の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、制御情報保
持手段44に保持される2進定数‘0001000’を
条件コードで指定された値だけ右シフトさせる命令と、
2進定数‘0001000’を条件コードで指定された
値だけ右シフトした結果と条件マスクと比較し一致した
場合に分岐を指示し、異なる場合に非分岐を指示する命
令データが格納される。 (D)(A)〜(C)以外の場合 変換処理手段24により変換済情報保持手段25の格納
済(最終格納)変換済命令データの後ろに、変換元命令
データを変換して生成された変換済命令データが格納さ
れる。
【0063】次に、変換処理手段24により変換済情報
保持手段25の格納済変換済命令データの後ろに、外部
割込の有無をチェックし、外部割込が検出された場合に
変換処理手段24の先頭への分岐を指示する命令データ
が格納される。
保持手段25の格納済変換済命令データの後ろに、外部
割込の有無をチェックし、外部割込が検出された場合に
変換処理手段24の先頭への分岐を指示する命令データ
が格納される。
【0064】次に、書込位置表示手段43に格納されて
いる書込アドレスが変換表示手段27の読出アドレスに
対応する領域に格納され、続く領域に変換元命令データ
の語長に応じてエントリ番号がエントリ番号1から昇順
に格納され、書込アドレスが変換済命令データの語長分
更新されて書込位置表示手段43に格納される。
いる書込アドレスが変換表示手段27の読出アドレスに
対応する領域に格納され、続く領域に変換元命令データ
の語長に応じてエントリ番号がエントリ番号1から昇順
に格納され、書込アドレスが変換済命令データの語長分
更新されて書込位置表示手段43に格納される。
【0065】次に、変換された変換元命令データが無条
件分岐命令以外であった場合には、読出位置表示手段4
2に保持される読出アドレスが更新され、更新前の読出
アドレスと更新後の読出アドレスが同一ページに属する
アドレスの場合には更に変換表示手段27の更新後の読
出アドレスで指定される領域が参照され、該領域が未使
用を表示している場合には更に制御情報保持手段44の
ステップ指示子が参照される。
件分岐命令以外であった場合には、読出位置表示手段4
2に保持される読出アドレスが更新され、更新前の読出
アドレスと更新後の読出アドレスが同一ページに属する
アドレスの場合には更に変換表示手段27の更新後の読
出アドレスで指定される領域が参照され、該領域が未使
用を表示している場合には更に制御情報保持手段44の
ステップ指示子が参照される。
【0066】ステップ指示されていない場合には、変換
処理手段24により外部割込の有無がチェックされ、外
部割込が検出されなかった場合には読出位置表示手段4
2で示される読出アドレスが初期位置表示手段41に格
納され、(1)変換元ソフトウェアの読込み、に戻って
変換処理手段24により初期位置表示手段41に設定さ
れているアドレスが読出アドレスとして読出位置表示手
段42に設定され、処理が繰り返される。
処理手段24により外部割込の有無がチェックされ、外
部割込が検出されなかった場合には読出位置表示手段4
2で示される読出アドレスが初期位置表示手段41に格
納され、(1)変換元ソフトウェアの読込み、に戻って
変換処理手段24により初期位置表示手段41に設定さ
れているアドレスが読出アドレスとして読出位置表示手
段42に設定され、処理が繰り返される。
【0067】変換された変換元命令データが無条件分岐
命令であった場合、或いは、更新前の読出アドレスと更
新後の読出アドレスが異なるページに属する場合、或い
は、更新後の読出アドレスで指定される領域が使用済を
表示している場合、或いは、ステップ指示子がステップ
を指示している場合、或いは、外部割込が検出された場
合には変換処理手段24により変換済情報保持手段25
の格納済(最終格納)変換済命令データの後ろに、変換
処理手段24の先頭への分岐を指示する命令データが格
納され、排他表示手段28の初期位置表示手段41によ
り指定されるページのロック表示が解除され、変換済命
令データの処理が実行される。 (3)変換済命令データの変換元命令データ単位の処理 変換済命令データの変換元命令データ単位の処理は、変
換元命令データ1語を構成する一連の変換済命令データ
を実行し、書込保護割込が検出され書込保護の対象とな
っている領域が変換表示手段27により未変換と表示さ
れている場合には該領域に対応する変換済情報保持手段
25の領域に処理結果を格納し、該領域が変換表示手段
27により変換済と表示されている場合には、変換表示
手段27の該領域に対応する領域を初期化(未変換と)
して更に該領域に対応する変換済情報保持手段25の領
域に変換処理手段24の処理手順への分岐を指示する変
換済命令データを格納し、外部割込が検出されず、書込
アドレスが変換処理手段24の先頭アドレスを示してい
ない場合には(3)変換済ソフトウェアの実行、を先頭
から繰り返し、外部割込が検出されず、書込アドレスが
変換処理手段24の先頭アドレスを示している場合、或
いは外部割込が検出された場合には、割込処理手段23
の外部割り込み処理手順の先頭アドレスが初期位置表示
手段41に設定され、(1)変換元ソフトウェアの読込
み、変換処理手段24により初期位置表示手段41に設
定されているアドレスが読出アドレスとして読出位置表
示手段42に設定される処理に戻って繰り返される。
命令であった場合、或いは、更新前の読出アドレスと更
新後の読出アドレスが異なるページに属する場合、或い
は、更新後の読出アドレスで指定される領域が使用済を
表示している場合、或いは、ステップ指示子がステップ
を指示している場合、或いは、外部割込が検出された場
合には変換処理手段24により変換済情報保持手段25
の格納済(最終格納)変換済命令データの後ろに、変換
処理手段24の先頭への分岐を指示する命令データが格
納され、排他表示手段28の初期位置表示手段41によ
り指定されるページのロック表示が解除され、変換済命
令データの処理が実行される。 (3)変換済命令データの変換元命令データ単位の処理 変換済命令データの変換元命令データ単位の処理は、変
換元命令データ1語を構成する一連の変換済命令データ
を実行し、書込保護割込が検出され書込保護の対象とな
っている領域が変換表示手段27により未変換と表示さ
れている場合には該領域に対応する変換済情報保持手段
25の領域に処理結果を格納し、該領域が変換表示手段
27により変換済と表示されている場合には、変換表示
手段27の該領域に対応する領域を初期化(未変換と)
して更に該領域に対応する変換済情報保持手段25の領
域に変換処理手段24の処理手順への分岐を指示する変
換済命令データを格納し、外部割込が検出されず、書込
アドレスが変換処理手段24の先頭アドレスを示してい
ない場合には(3)変換済ソフトウェアの実行、を先頭
から繰り返し、外部割込が検出されず、書込アドレスが
変換処理手段24の先頭アドレスを示している場合、或
いは外部割込が検出された場合には、割込処理手段23
の外部割り込み処理手順の先頭アドレスが初期位置表示
手段41に設定され、(1)変換元ソフトウェアの読込
み、変換処理手段24により初期位置表示手段41に設
定されているアドレスが読出アドレスとして読出位置表
示手段42に設定される処理に戻って繰り返される。
【0068】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図4〜図15を参照しながら、(a)本発明の一実
施形態にかかるシミュレーション装置の構成に続き、
(b)本発明の一実施形態にかかるシミュレーション装
置の処理の流れについて説明する。
て、図4〜図15を参照しながら、(a)本発明の一実
施形態にかかるシミュレーション装置の構成に続き、
(b)本発明の一実施形態にかかるシミュレーション装
置の処理の流れについて説明する。
【0069】尚、従来例の説明及び本発明の原理につい
ての説明において説明されたと同一部分または相当部分
については同一符号を付し、本説明において新たに説明
される部分については新しい符号を付して説明する。 (a)本発明の一実施形態にかかるシミュレーション装
置の構成 図4は本発明の一実施形態にかかるシミュレーション装
置の構成を示すブロック図である。
ての説明において説明されたと同一部分または相当部分
については同一符号を付し、本説明において新たに説明
される部分については新しい符号を付して説明する。 (a)本発明の一実施形態にかかるシミュレーション装
置の構成 図4は本発明の一実施形態にかかるシミュレーション装
置の構成を示すブロック図である。
【0070】この図4に示すシミュレーション装置1
は、入力回路2,主記憶回路3及び複数のプロセッサ回
路4A,4Bをそなえて構成され、入力回路2から入力
されたあるアーキテクチャ(ハードウェア構成)のコン
ピュータで動作する旧ソフトウェア(変換元ソフトウェ
ア又は第1ソフトウェア)の指示する処理を、他のアー
キテクチャのコンピュータで動作しうる新ソフトウェア
(変換済ソフトウェア又は第2ソフトウェア)の指示に
変換して実行するものである。
は、入力回路2,主記憶回路3及び複数のプロセッサ回
路4A,4Bをそなえて構成され、入力回路2から入力
されたあるアーキテクチャ(ハードウェア構成)のコン
ピュータで動作する旧ソフトウェア(変換元ソフトウェ
ア又は第1ソフトウェア)の指示する処理を、他のアー
キテクチャのコンピュータで動作しうる新ソフトウェア
(変換済ソフトウェア又は第2ソフトウェア)の指示に
変換して実行するものである。
【0071】換言すれば、プロセッサ回路4A,4B
は、主記憶回路3にて記憶されている各種プログラムを
実行させることにより、入力回路2からの旧ソフトウェ
アを新ソフトウェアに変換して実行するようになってい
る。
は、主記憶回路3にて記憶されている各種プログラムを
実行させることにより、入力回路2からの旧ソフトウェ
アを新ソフトウェアに変換して実行するようになってい
る。
【0072】なお、以下の説明において、同一機能を有
する構成要素については、例えば、プロセッサ回路4A
及び4Bを『プロセッサ回路4』として説明するよう
に、符号の英文字を省略して説明する。
する構成要素については、例えば、プロセッサ回路4A
及び4Bを『プロセッサ回路4』として説明するよう
に、符号の英文字を省略して説明する。
【0073】ここで、入力回路2は、主記憶回路3に接
続され、旧ソフトウェアを主記憶回路3に入力する回路
であり、前述した従来よりのものと同様のものである。
また、主記憶回路3は、入力回路2から入力された旧ソ
フトウェアを保持し、この旧ソフトウェアを新ソフトウ
ェアに変換して実行させるソフトウェアを保持し、ソフ
トウェアを実行する過程で割込が生じた場合に割込処理
を行なうソフトウェアを保持し、旧ソフトウェアの新ソ
フトウェアへの変換状態を表示する情報を保持し、旧ソ
フトウェアの保持される領域と該旧ソフトウェアが変換
されて生成された新ソフトウェアを保持する領域の対応
と、その旧ソフトウェアを保持する領域の排他的な専有
状態を表示する情報を保持する回路であり、入力回路2
及びプロセッサ回路4A,4Bに接続されている。
続され、旧ソフトウェアを主記憶回路3に入力する回路
であり、前述した従来よりのものと同様のものである。
また、主記憶回路3は、入力回路2から入力された旧ソ
フトウェアを保持し、この旧ソフトウェアを新ソフトウ
ェアに変換して実行させるソフトウェアを保持し、ソフ
トウェアを実行する過程で割込が生じた場合に割込処理
を行なうソフトウェアを保持し、旧ソフトウェアの新ソ
フトウェアへの変換状態を表示する情報を保持し、旧ソ
フトウェアの保持される領域と該旧ソフトウェアが変換
されて生成された新ソフトウェアを保持する領域の対応
と、その旧ソフトウェアを保持する領域の排他的な専有
状態を表示する情報を保持する回路であり、入力回路2
及びプロセッサ回路4A,4Bに接続されている。
【0074】具体的には、主記憶回路3には、入力処理
プログラム域31,旧ソフトウェア域32,変換処理プ
ログラム域34,新ソフトウェア域35及び割込処理プ
ログラム域33が設けられるとともに、一時保持域3
6,変換表示域37,排他表示域38及び書込計数域3
9が設けられている。ここで、入力処理プログラム域3
1は、入力回路2から入力された旧ソフトウェアを、旧
ソフトウェア域32に転送するソフトウェア(プログラ
ム)を保持するための領域であり、前述した従来よりの
ものと同様のものである。
プログラム域31,旧ソフトウェア域32,変換処理プ
ログラム域34,新ソフトウェア域35及び割込処理プ
ログラム域33が設けられるとともに、一時保持域3
6,変換表示域37,排他表示域38及び書込計数域3
9が設けられている。ここで、入力処理プログラム域3
1は、入力回路2から入力された旧ソフトウェアを、旧
ソフトウェア域32に転送するソフトウェア(プログラ
ム)を保持するための領域であり、前述した従来よりの
ものと同様のものである。
【0075】また、旧ソフトウェア域32は、入力回路
2から入力された旧ソフトウェアを保持するための領域
であり、変換元ソフトウェア保持手段として機能するも
のである。なお、この旧ソフトウェア域32は、主記憶
回路3をページ単位に区分して設けられた領域である。
さらに、変換処理プログラム域34は、後述する変換表
示域37の、読出アドレスで指定されるアドレスに対応
する領域を参照して、旧ソフトウェア域32の、読出ア
ドレスで指定される領域に保持される旧命令データ(変
換元命令データ,変換元プログラムデータ又は第1ソフ
トウェアを構成するプログラムデータ)が新命令データ
(変換済命令データ,変換済プログラムデータ又は第2
ソフトウェアを構成するプログラムデータ)に変換され
ているか否かを判定し、変換済の場合には該新命令デー
タにて指定される処理を開始させ、一方、未変換である
場合にはその旧命令データを新命令データに変換した後
に新ソフトウェア域35に格納するようにプロセッサ回
路4を動作させるソフトウェアを保持するための領域で
ある。なお、命令データとは、命令語又は命令語列のこ
とをいう。
2から入力された旧ソフトウェアを保持するための領域
であり、変換元ソフトウェア保持手段として機能するも
のである。なお、この旧ソフトウェア域32は、主記憶
回路3をページ単位に区分して設けられた領域である。
さらに、変換処理プログラム域34は、後述する変換表
示域37の、読出アドレスで指定されるアドレスに対応
する領域を参照して、旧ソフトウェア域32の、読出ア
ドレスで指定される領域に保持される旧命令データ(変
換元命令データ,変換元プログラムデータ又は第1ソフ
トウェアを構成するプログラムデータ)が新命令データ
(変換済命令データ,変換済プログラムデータ又は第2
ソフトウェアを構成するプログラムデータ)に変換され
ているか否かを判定し、変換済の場合には該新命令デー
タにて指定される処理を開始させ、一方、未変換である
場合にはその旧命令データを新命令データに変換した後
に新ソフトウェア域35に格納するようにプロセッサ回
路4を動作させるソフトウェアを保持するための領域で
ある。なお、命令データとは、命令語又は命令語列のこ
とをいう。
【0076】換言すれば、変換処理プログラム域34
は、旧ソフトウェア域32にて保持されている旧ソフト
ウェアを構成する旧命令データのうちで、処理対象とな
る先頭アドレスの命令データから分岐命令にかかるアド
レスの命令データまでのプログラムブロックについて、
順次新ソフトウェアを構成する新命令後列に変換するよ
うにプロセッサ回路4を動作させるソフトウェアを保持
するための領域なのである。なお、ブロックの構成図を
図6に示す。
は、旧ソフトウェア域32にて保持されている旧ソフト
ウェアを構成する旧命令データのうちで、処理対象とな
る先頭アドレスの命令データから分岐命令にかかるアド
レスの命令データまでのプログラムブロックについて、
順次新ソフトウェアを構成する新命令後列に変換するよ
うにプロセッサ回路4を動作させるソフトウェアを保持
するための領域なのである。なお、ブロックの構成図を
図6に示す。
【0077】また、新ソフトウェア域35は、旧ソフト
ウェア域32に保持される旧ソフトウェアが変換されて
生成された新ソフトウェアを格納・保持するための領域
であり、変換済ソフトウェア保持手段として機能するも
のである。なお、この新ソフトウェア域35は、主記憶
回路3をブロック単位に区分して設けられた領域であ
る。
ウェア域32に保持される旧ソフトウェアが変換されて
生成された新ソフトウェアを格納・保持するための領域
であり、変換済ソフトウェア保持手段として機能するも
のである。なお、この新ソフトウェア域35は、主記憶
回路3をブロック単位に区分して設けられた領域であ
る。
【0078】そして、この新ソフトウェア域35は、実
行処理プログラム域35Aを含んでいる。この実行処理
プログラム域35Aは、変換された新ソフトウェアを実
行することにより、上記旧ソフトウェアと同等の処理を
行なうようにプロセッサ回路4を動作させるソフトウェ
アを保持するための領域である。さらに、割込処理プロ
グラム域33は、ある処理の過程で予定外の事象が生じ
た場合に、予定された動作に割り込んでその事象を処理
し、しかる後に予定された処理を行なえるようにするソ
フトウェアを保持するための領域であり、前述した従来
よりのものと同様のものである。
行処理プログラム域35Aを含んでいる。この実行処理
プログラム域35Aは、変換された新ソフトウェアを実
行することにより、上記旧ソフトウェアと同等の処理を
行なうようにプロセッサ回路4を動作させるソフトウェ
アを保持するための領域である。さらに、割込処理プロ
グラム域33は、ある処理の過程で予定外の事象が生じ
た場合に、予定された動作に割り込んでその事象を処理
し、しかる後に予定された処理を行なえるようにするソ
フトウェアを保持するための領域であり、前述した従来
よりのものと同様のものである。
【0079】そして、入力処理プログラム域31,変換
処理プログラム域34,実行処理プログラム域35A及
び割込処理プログラム域33に保持されたソフトウェア
は、それぞれプロセッサ回路4により実行されることに
より、それぞれ入力処理部,変換処理部,実行処理部及
び割込処理部(それぞれ図5に示す符号71,74,7
5及び73参照)として機能するようになる。
処理プログラム域34,実行処理プログラム域35A及
び割込処理プログラム域33に保持されたソフトウェア
は、それぞれプロセッサ回路4により実行されることに
より、それぞれ入力処理部,変換処理部,実行処理部及
び割込処理部(それぞれ図5に示す符号71,74,7
5及び73参照)として機能するようになる。
【0080】なお、図5は本発明の一実施形態にかかる
シミュレーション装置の構成を示す機能ブロック図であ
る。この図5において、符号70は、入力回路2から入
力された旧ソフトウェアの指示する処理を新ソフトウェ
アの指示に変換して実行するシミュレーション実行部で
ある。そして、変換処理部74及び実行処理部75によ
り、旧ソフトウェア域32にて保持されている旧ソフト
ウェアを構成する旧命令データのうちで、処理対象とな
る先頭アドレスの命令データから分岐命令にかかるアド
レスの命令データまでのプログラムブロックについて、
順次新ソフトウェアを構成する新命令データに変換する
とともに、上記変換された新ソフトウェアを実行するこ
とにより、上記旧ソフトウェアと同等の処理を行なうプ
ログラムデータ変換処理手段としての機能が実現される
のである。
シミュレーション装置の構成を示す機能ブロック図であ
る。この図5において、符号70は、入力回路2から入
力された旧ソフトウェアの指示する処理を新ソフトウェ
アの指示に変換して実行するシミュレーション実行部で
ある。そして、変換処理部74及び実行処理部75によ
り、旧ソフトウェア域32にて保持されている旧ソフト
ウェアを構成する旧命令データのうちで、処理対象とな
る先頭アドレスの命令データから分岐命令にかかるアド
レスの命令データまでのプログラムブロックについて、
順次新ソフトウェアを構成する新命令データに変換する
とともに、上記変換された新ソフトウェアを実行するこ
とにより、上記旧ソフトウェアと同等の処理を行なうプ
ログラムデータ変換処理手段としての機能が実現される
のである。
【0081】ここで、プログラムデータ変換処理手段
は、具体的には、上記変換された新ソフトウェアの実行
の際に、前述した分岐命令について実行するにあたっ
て、分岐先の旧命令データに対応する新命令データが新
ソフトウェア域35にて保持されているか否かを、後述
する変換表示域37を参照することにより判定する判定
部76(実行処理部75がこの判定部76をそなえてい
る)と、上記分岐命令における分岐先の旧命令データに
対応する新命令データが新ソフトウェア域35にて保持
されていると判定された場合には、新ソフトウェア域3
5にて保持されているその新命令データに基づいて、上
記分岐命令について実行する分岐実行部(実行処理部7
5がこの機能を有している)と、上記分岐命令における
分岐先の旧命令データに対応する新命令データが新ソフ
トウェア域35にて保持されていないと判定された場合
には、上記分岐先のアドレスを上記先頭アドレスとし
て、上記旧命令データを新命令データに変換する分岐先
変換部(変換処理部74がこの機能を有している)とを
そなえて構成されることになる。
は、具体的には、上記変換された新ソフトウェアの実行
の際に、前述した分岐命令について実行するにあたっ
て、分岐先の旧命令データに対応する新命令データが新
ソフトウェア域35にて保持されているか否かを、後述
する変換表示域37を参照することにより判定する判定
部76(実行処理部75がこの判定部76をそなえてい
る)と、上記分岐命令における分岐先の旧命令データに
対応する新命令データが新ソフトウェア域35にて保持
されていると判定された場合には、新ソフトウェア域3
5にて保持されているその新命令データに基づいて、上
記分岐命令について実行する分岐実行部(実行処理部7
5がこの機能を有している)と、上記分岐命令における
分岐先の旧命令データに対応する新命令データが新ソフ
トウェア域35にて保持されていないと判定された場合
には、上記分岐先のアドレスを上記先頭アドレスとし
て、上記旧命令データを新命令データに変換する分岐先
変換部(変換処理部74がこの機能を有している)とを
そなえて構成されることになる。
【0082】ところで、一時保持域36は、変換対象の
旧命令データがオペランドで実際の処理を指示する旧命
令データの旧ソフトウェア域32内のアドレスを指定す
る間接命令の場合に、前記実際の処理を指示する旧命令
データが変換・生成された新命令データを格納するため
の領域である。
旧命令データがオペランドで実際の処理を指示する旧命
令データの旧ソフトウェア域32内のアドレスを指定す
る間接命令の場合に、前記実際の処理を指示する旧命令
データが変換・生成された新命令データを格納するため
の領域である。
【0083】また、変換表示域37は、図7に示すよう
に、旧ソフトウェア域32と同数のエントリを有し、旧
命令データが新命令データに変換済であるか否かを旧ソ
フトウェア域32の旧命令データが保持される先頭のエ
ントリと対応するエントリで表示するための領域であ
る。そして、この変換表示域37では、未変換の場合に
は初期設定値が表示され、変換済の場合には旧命令デー
タの1語に対応する新命令データの格納先の先頭アドレ
スが表示されかつ続くエントリにはエントリ番号が表示
されるようになっている。
に、旧ソフトウェア域32と同数のエントリを有し、旧
命令データが新命令データに変換済であるか否かを旧ソ
フトウェア域32の旧命令データが保持される先頭のエ
ントリと対応するエントリで表示するための領域であ
る。そして、この変換表示域37では、未変換の場合に
は初期設定値が表示され、変換済の場合には旧命令デー
タの1語に対応する新命令データの格納先の先頭アドレ
スが表示されかつ続くエントリにはエントリ番号が表示
されるようになっている。
【0084】即ち、この変換表示域37は、前述したプ
ログラムデータ変換処理手段にて変換すべき旧命令デー
タが、既に新命令データに変換されているか否かの識別
情報を、対応するアドレス毎に登録するものであり、変
換状態登録部として機能するものである。
ログラムデータ変換処理手段にて変換すべき旧命令デー
タが、既に新命令データに変換されているか否かの識別
情報を、対応するアドレス毎に登録するものであり、変
換状態登録部として機能するものである。
【0085】さらに、排他表示域38は、図8に示すよ
うに、旧ソフトウェア域32を構成するページと新ソフ
トウェア域35を構成するブロックとの対応を、ページ
と先頭ブロック及び最終ブロックアドレスとで表示し、
そのページが排他的に専有されているか否かをロック表
示で表示するための領域である。
うに、旧ソフトウェア域32を構成するページと新ソフ
トウェア域35を構成するブロックとの対応を、ページ
と先頭ブロック及び最終ブロックアドレスとで表示し、
そのページが排他的に専有されているか否かをロック表
示で表示するための領域である。
【0086】また、書込計数域39は、書込保護違反の
検出回数を累積保持するための領域である。ところで、
プロセッサ回路4は、命令カウンタ5及び汎用レジスタ
6をそなえて構成され、命令カウンタ5にて指定される
アドレスから上述のごときソフトウェア(即ち、入力処
理プログラム域31,変換処理プログラム域34,実行
処理プログラム域35A及び割込処理プログラム域33
に保持されたソフトウェア)を読み出し、そのソフトウ
ェアの指示に従ってシミュレーション装置1を動作させ
る回路である。
検出回数を累積保持するための領域である。ところで、
プロセッサ回路4は、命令カウンタ5及び汎用レジスタ
6をそなえて構成され、命令カウンタ5にて指定される
アドレスから上述のごときソフトウェア(即ち、入力処
理プログラム域31,変換処理プログラム域34,実行
処理プログラム域35A及び割込処理プログラム域33
に保持されたソフトウェア)を読み出し、そのソフトウ
ェアの指示に従ってシミュレーション装置1を動作させ
る回路である。
【0087】命令カウンタ5は、主記憶回路3の、次に
読み出される命令データの格納されているアドレスを保
持し、主記憶回路3から命令データが読み出される都
度、該命令データの命令データ長が加えられて更新され
る回路であり、前述した従来よりのものと同様のもので
ある。
読み出される命令データの格納されているアドレスを保
持し、主記憶回路3から命令データが読み出される都
度、該命令データの命令データ長が加えられて更新され
る回路であり、前述した従来よりのものと同様のもので
ある。
【0088】また、汎用レジスタ6は、各種の処理に必
要なデータや制御情報を保持するとともに、ソフトウェ
アにより指示された処理の過程で必要となるデータを一
時的に保持する回路である。そして、本実施形態におい
ては、汎用レジスタ6には、初期アドレス域61,読出
アドレス域62,書込アドレス域63及び制御情報域6
4が設けられている。
要なデータや制御情報を保持するとともに、ソフトウェ
アにより指示された処理の過程で必要となるデータを一
時的に保持する回路である。そして、本実施形態におい
ては、汎用レジスタ6には、初期アドレス域61,読出
アドレス域62,書込アドレス域63及び制御情報域6
4が設けられている。
【0089】初期アドレス域61は、旧ソフトウェア
の、新命令データに変換される旧命令データの先頭アド
レスを保持するための領域である。
の、新命令データに変換される旧命令データの先頭アド
レスを保持するための領域である。
【0090】また、読出アドレス域62は、新命令デー
タに変換される旧命令データの旧ソフトウェア域32内
のアドレスを保持し、旧命令データが新命令データに変
換される度に該旧命令データの命令データ長を加えて更
新するための領域であり、前述した従来よりのものと同
様のものである。
タに変換される旧命令データの旧ソフトウェア域32内
のアドレスを保持し、旧命令データが新命令データに変
換される度に該旧命令データの命令データ長を加えて更
新するための領域であり、前述した従来よりのものと同
様のものである。
【0091】さらに、書込アドレス域63は、新ソフト
ウェア域35の、新命令データの書込み及び読出しに用
いられるアドレスを保持し、新命令データが書込まれ或
いは読み出される度に当該アドレスを更新するための領
域である。
ウェア域35の、新命令データの書込み及び読出しに用
いられるアドレスを保持し、新命令データが書込まれ或
いは読み出される度に当該アドレスを更新するための領
域である。
【0092】また、制御情報域64は、図9に示すよう
に、2進定数‘0001000’を設定し、旧命令デー
タの指定する処理を1語実行する毎に一旦処理を中断す
るステップ処理を指示するステップ指示子を設定し、旧
命令データの命令データ長を設定し、旧命令データで指
示された処理が実行された結果得られた条件コードを設
定するための領域であり、前述した従来よりのものと同
様のものである。 (b)本発明の一実施形態にかかるシミュレーション装
置の処理の流れ 上述の構成により、本発明の一実施形態にかかるシミュ
レーション装置1においては、あるアーキテクチャのコ
ンピュータで動作する旧ソフトウェアを、このアーキテ
クチャとは異なる他のアーキテクチャのコンピュータで
動作させるシミュレーション動作が行なわれる。
に、2進定数‘0001000’を設定し、旧命令デー
タの指定する処理を1語実行する毎に一旦処理を中断す
るステップ処理を指示するステップ指示子を設定し、旧
命令データの命令データ長を設定し、旧命令データで指
示された処理が実行された結果得られた条件コードを設
定するための領域であり、前述した従来よりのものと同
様のものである。 (b)本発明の一実施形態にかかるシミュレーション装
置の処理の流れ 上述の構成により、本発明の一実施形態にかかるシミュ
レーション装置1においては、あるアーキテクチャのコ
ンピュータで動作する旧ソフトウェアを、このアーキテ
クチャとは異なる他のアーキテクチャのコンピュータで
動作させるシミュレーション動作が行なわれる。
【0093】このときのシミュレーション装置1の動作
を、図2に示すフローチャートに即して説明する。ま
ず、入力回路2から入力された旧ソフトウェアのデータ
は、入力処理部71により、旧ソフトウェア域32にて
保持される(ステップA01)。続いて、変換処理部7
4により、旧ソフトウェアにおける旧命令データのうち
で、処理対象となる先頭アドレスの命令データから分岐
命令にかかるアドレスの命令データまでのプログラムブ
ロックについて、順次新ソフトウェアに変換される(ス
テップA02)。
を、図2に示すフローチャートに即して説明する。ま
ず、入力回路2から入力された旧ソフトウェアのデータ
は、入力処理部71により、旧ソフトウェア域32にて
保持される(ステップA01)。続いて、変換処理部7
4により、旧ソフトウェアにおける旧命令データのうち
で、処理対象となる先頭アドレスの命令データから分岐
命令にかかるアドレスの命令データまでのプログラムブ
ロックについて、順次新ソフトウェアに変換される(ス
テップA02)。
【0094】さらに、ステップA02にて変換された新
ソフトウェアを構成する新命令データは、新ソフトウェ
ア域35にて保持される(ステップA03)。このと
き、変換表示域37では、ステップA02にて変換すべ
き旧命令データが、既に新命令データに変換されている
か否かが、対応するアドレス毎に登録される(ステップ
A04)。
ソフトウェアを構成する新命令データは、新ソフトウェ
ア域35にて保持される(ステップA03)。このと
き、変換表示域37では、ステップA02にて変換すべ
き旧命令データが、既に新命令データに変換されている
か否かが、対応するアドレス毎に登録される(ステップ
A04)。
【0095】そして、実行処理部75により、ステップ
A02にて変換された新ソフトウェアが実行される(ス
テップA05)。ここで、ステップA05における新ソ
フトウェアの実行の際に、判定部75により、実行しよ
うとする新命令データが分岐命令か否かが判断される
(ステップA06)。
A02にて変換された新ソフトウェアが実行される(ス
テップA05)。ここで、ステップA05における新ソ
フトウェアの実行の際に、判定部75により、実行しよ
うとする新命令データが分岐命令か否かが判断される
(ステップA06)。
【0096】実行しようとする新命令データが分岐命令
である場合には(ステップA06のYESルート)、分
岐先の旧命令データが新命令データに変換されているか
否かが、ステップA04における登録結果を参照して判
定される(ステップA07)。そして、ステップA07
において、分岐先の旧命令データが新命令データに変換
されていると判定された場合には(ステップA07の
“変換済”ルート)、実行処理部75により、ステップ
A03にて保持されたその新命令データに基づいて、上
記分岐命令が実行される(ステップA08)。
である場合には(ステップA06のYESルート)、分
岐先の旧命令データが新命令データに変換されているか
否かが、ステップA04における登録結果を参照して判
定される(ステップA07)。そして、ステップA07
において、分岐先の旧命令データが新命令データに変換
されていると判定された場合には(ステップA07の
“変換済”ルート)、実行処理部75により、ステップ
A03にて保持されたその新命令データに基づいて、上
記分岐命令が実行される(ステップA08)。
【0097】また、ステップA07において、分岐先の
旧命令データが新命令データに変換されていないと判定
された場合には(ステップA07の“未変換”ルー
ト)、変換処理部74により、上記分岐先のアドレスを
上記先頭アドレスとして、上記旧命令データを新命令デ
ータに変換したのちに、実行処理部75により、上記分
岐命令が実行される(ステップA09)。
旧命令データが新命令データに変換されていないと判定
された場合には(ステップA07の“未変換”ルー
ト)、変換処理部74により、上記分岐先のアドレスを
上記先頭アドレスとして、上記旧命令データを新命令デ
ータに変換したのちに、実行処理部75により、上記分
岐命令が実行される(ステップA09)。
【0098】即ち、シミュレーション装置1におけるシ
ミュレーション方法は、上記第1ソフトウェアのプログ
ラムデータを上記第2アーキテクチャのコンピュータで
動作しうる第2ソフトウェアのプログラムデータに変換
する変換ステップと、該変換ステップにて変換された上
記第2ソフトウェアを構成するプログラムデータを保持
する第2ソフトウェア保持ステップと、該変換ステップ
にて変換すべきプログラムデータが、既に第2ソフトウ
ェアを構成するプログラムデータに変換されているか否
かを登録する変換状態登録ステップと、該変換状態登録
ステップにおける登録結果を参照して、変換対象となる
第1ソフトウェアのプログラムデータが既に第2ソフト
ウェアを構成するプログラムデータに変換されているか
否かを判定する判定ステップと、該判定ステップにおい
て、既に第2ソフトウェアを構成するプログラムデータ
に変換されていると判定された場合には、該第2ソフト
ウェア保持ステップにより保持されている該第2ソフト
ウェアを構成するプログラムデータを実行し、該判定ス
テップにおいて、該第2ソフトウェアを構成するプログ
ラムデータに変換されていないと判定された場合には、
該変換ステップにて第2ソフトウェアを構成するプログ
ラムデータに変換した後、該第2ソフトウェアを構成す
るプログラムデータを実行する実行ステップとをそなえ
て構成されることになる。
ミュレーション方法は、上記第1ソフトウェアのプログ
ラムデータを上記第2アーキテクチャのコンピュータで
動作しうる第2ソフトウェアのプログラムデータに変換
する変換ステップと、該変換ステップにて変換された上
記第2ソフトウェアを構成するプログラムデータを保持
する第2ソフトウェア保持ステップと、該変換ステップ
にて変換すべきプログラムデータが、既に第2ソフトウ
ェアを構成するプログラムデータに変換されているか否
かを登録する変換状態登録ステップと、該変換状態登録
ステップにおける登録結果を参照して、変換対象となる
第1ソフトウェアのプログラムデータが既に第2ソフト
ウェアを構成するプログラムデータに変換されているか
否かを判定する判定ステップと、該判定ステップにおい
て、既に第2ソフトウェアを構成するプログラムデータ
に変換されていると判定された場合には、該第2ソフト
ウェア保持ステップにより保持されている該第2ソフト
ウェアを構成するプログラムデータを実行し、該判定ス
テップにおいて、該第2ソフトウェアを構成するプログ
ラムデータに変換されていないと判定された場合には、
該変換ステップにて第2ソフトウェアを構成するプログ
ラムデータに変換した後、該第2ソフトウェアを構成す
るプログラムデータを実行する実行ステップとをそなえ
て構成されることになる。
【0099】ところで、本実施形態において、上述した
ステップA01〜ステップA09に相当する機能は、コ
ンピュータにおけるディスク装置等の記録媒体(図示せ
ず)に記録されたシミュレーションプログラムを主記憶
回路3に読み出し、そのシミュレーションプログラムを
起動してプロセッサ回路4A,4Bで実行することによ
り、プロセッサ回路4A,4Bの動作として実現され
る。
ステップA01〜ステップA09に相当する機能は、コ
ンピュータにおけるディスク装置等の記録媒体(図示せ
ず)に記録されたシミュレーションプログラムを主記憶
回路3に読み出し、そのシミュレーションプログラムを
起動してプロセッサ回路4A,4Bで実行することによ
り、プロセッサ回路4A,4Bの動作として実現され
る。
【0100】ここで、シミュレーションプログラムは、
あるアーキテクチャのコンピュータで動作する旧ソフト
ウェアを、他のアーキテクチャのコンピュータで動作す
る新ソフトウェアに変換して動作(シミュレーション動
作)させるためのものである。具体的には、シミュレー
ションプログラムは、旧ソフトウェアのデータを保持す
る旧ソフトウェア保持機能(ステップA01がこの機能
に相当する)、旧ソフトウェアにおける旧命令データの
うちで先頭アドレスの命令データから分岐命令にかかる
アドレスの命令データまでのプログラムブロックについ
て順次他のアーキテクチャのコンピュータで動作しうる
新ソフトウェアに変換する変換機能(ステップA02が
この機能に相当する)、変換機能にて変換された上記新
ソフトウェアを構成する新命令データを保持する新ソフ
トウェア保持機能(ステップA03がこの機能に相当す
る)、変換機能にて変換すべき旧命令データが既に新ソ
フトウェアを構成する新命令データに変換されているか
否かを対応するアドレス毎に登録する変換状態登録機能
(ステップA04がこの機能に相当する)、変換機能に
て上記変換された新ソフトウェアを実行する実行機能
(ステップA05がこの機能に相当する)、上記新ソフ
トウェアの実行の際に実行しようとする新命令データが
分岐命令か否かを判断する判断機能(ステップA06が
この機能に相当する)、実行機能における上記新ソフト
ウェアの実行の際に上記分岐命令について実行するにあ
たって、分岐先の旧命令データが新ソフトウェアを構成
する新命令データに変換されているか否かを変換状態登
録機能における登録結果を参照して判定する判定機能
(ステップA07がこの機能に相当する)、判定機能に
おいて分岐先の旧命令データが新ソフトウェアを構成す
る新命令データに変換されていると判定された場合に
は、新ソフトウェア保持機能にて保持されたその新命令
データに基づいて上記分岐命令について実行する分岐実
行機能(ステップA08がこの機能に相当する)、及
び、判定機能において分岐先の旧命令データが新ソフト
ウェアを構成する新命令データに変換されていないと判
定された場合には、上記分岐先のアドレスを上記先頭ア
ドレスとして上記旧ソフトウェアの旧命令データを新ソ
フトウェアの新命令データに変換したのちに、上記分岐
命令について実行する分岐先変換実行機能(ステップA
09がこの機能に相当する)とを、コンピュータに実現
させるためのものである。
あるアーキテクチャのコンピュータで動作する旧ソフト
ウェアを、他のアーキテクチャのコンピュータで動作す
る新ソフトウェアに変換して動作(シミュレーション動
作)させるためのものである。具体的には、シミュレー
ションプログラムは、旧ソフトウェアのデータを保持す
る旧ソフトウェア保持機能(ステップA01がこの機能
に相当する)、旧ソフトウェアにおける旧命令データの
うちで先頭アドレスの命令データから分岐命令にかかる
アドレスの命令データまでのプログラムブロックについ
て順次他のアーキテクチャのコンピュータで動作しうる
新ソフトウェアに変換する変換機能(ステップA02が
この機能に相当する)、変換機能にて変換された上記新
ソフトウェアを構成する新命令データを保持する新ソフ
トウェア保持機能(ステップA03がこの機能に相当す
る)、変換機能にて変換すべき旧命令データが既に新ソ
フトウェアを構成する新命令データに変換されているか
否かを対応するアドレス毎に登録する変換状態登録機能
(ステップA04がこの機能に相当する)、変換機能に
て上記変換された新ソフトウェアを実行する実行機能
(ステップA05がこの機能に相当する)、上記新ソフ
トウェアの実行の際に実行しようとする新命令データが
分岐命令か否かを判断する判断機能(ステップA06が
この機能に相当する)、実行機能における上記新ソフト
ウェアの実行の際に上記分岐命令について実行するにあ
たって、分岐先の旧命令データが新ソフトウェアを構成
する新命令データに変換されているか否かを変換状態登
録機能における登録結果を参照して判定する判定機能
(ステップA07がこの機能に相当する)、判定機能に
おいて分岐先の旧命令データが新ソフトウェアを構成す
る新命令データに変換されていると判定された場合に
は、新ソフトウェア保持機能にて保持されたその新命令
データに基づいて上記分岐命令について実行する分岐実
行機能(ステップA08がこの機能に相当する)、及
び、判定機能において分岐先の旧命令データが新ソフト
ウェアを構成する新命令データに変換されていないと判
定された場合には、上記分岐先のアドレスを上記先頭ア
ドレスとして上記旧ソフトウェアの旧命令データを新ソ
フトウェアの新命令データに変換したのちに、上記分岐
命令について実行する分岐先変換実行機能(ステップA
09がこの機能に相当する)とを、コンピュータに実現
させるためのものである。
【0101】即ち、シミュレーションプログラムは、上
記第1ソフトウェアのプログラムデータを上記第2アー
キテクチャのコンピュータで動作しうる第2ソフトウェ
アのプログラムデータに変換する変換機能と、該変換機
能にて変換された上記第2ソフトウェアを構成するプロ
グラムデータを保持する第2ソフトウェア保持機能と、
該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録機能と、該変換状
態登録機能における登録結果を参照して、変換対象とな
る第1ソフトウェアのプログラムデータが既に第2ソフ
トウェアを構成するプログラムデータに変換されている
か否かを判定する判定機能と、該判定機能において、既
に第2ソフトウェアを構成するプログラムデータに変換
されていると判定された場合には、該第2ソフトウェア
保持機能により保持されている該第2ソフトウェアを構
成するプログラムデータを実行し、該判定機能におい
て、該第2ソフトウェアを構成するプログラムデータに
変換されていないと判定された場合には、該変換機能に
て第2ソフトウェアを構成するプログラムデータに変換
した後、該第2ソフトウェアを構成するプログラムデー
タを実行する実行機能とを、コンピュータに実現させる
ためのものである。
記第1ソフトウェアのプログラムデータを上記第2アー
キテクチャのコンピュータで動作しうる第2ソフトウェ
アのプログラムデータに変換する変換機能と、該変換機
能にて変換された上記第2ソフトウェアを構成するプロ
グラムデータを保持する第2ソフトウェア保持機能と、
該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録機能と、該変換状
態登録機能における登録結果を参照して、変換対象とな
る第1ソフトウェアのプログラムデータが既に第2ソフ
トウェアを構成するプログラムデータに変換されている
か否かを判定する判定機能と、該判定機能において、既
に第2ソフトウェアを構成するプログラムデータに変換
されていると判定された場合には、該第2ソフトウェア
保持機能により保持されている該第2ソフトウェアを構
成するプログラムデータを実行し、該判定機能におい
て、該第2ソフトウェアを構成するプログラムデータに
変換されていないと判定された場合には、該変換機能に
て第2ソフトウェアを構成するプログラムデータに変換
した後、該第2ソフトウェアを構成するプログラムデー
タを実行する実行機能とを、コンピュータに実現させる
ためのものである。
【0102】なお、このシミュレーションプログラム
は、例えばCD−ROM等のコンピュータ読み取り可能
な記録媒体に記録されており、このコンピュータ読み取
り可能な記録媒体から他のアーキテクチャのコンピュー
タにおけるディスク装置等にインストールされて使用さ
れる。さらに、本発明のシミュレーション処理の流れに
ついて、プロセッサ回路4Aにより実行される場合を例
として、図10〜図15を参照しながら、詳細に説明す
る。
は、例えばCD−ROM等のコンピュータ読み取り可能
な記録媒体に記録されており、このコンピュータ読み取
り可能な記録媒体から他のアーキテクチャのコンピュー
タにおけるディスク装置等にインストールされて使用さ
れる。さらに、本発明のシミュレーション処理の流れに
ついて、プロセッサ回路4Aにより実行される場合を例
として、図10〜図15を参照しながら、詳細に説明す
る。
【0103】初期状態では、排他表示域38に旧ソフト
ウェア域32を構成するページと新ソフトウェア域35
のブロックとの対応が、該ページと先頭ブロックのアド
レスと最終ブロックのアドレスを対比させた形で表示さ
れている。
ウェア域32を構成するページと新ソフトウェア域35
のブロックとの対応が、該ページと先頭ブロックのアド
レスと最終ブロックのアドレスを対比させた形で表示さ
れている。
【0104】プロセッサ回路4Aを走行する入力処理部
71により、排他表示域38の、旧ソフトウェア域32
を構成する各ページが排他的に専有されているか否かを
表示するロック表示が初期状態(ロックが解除され、専
有されていないことを示す状態)に設定される(ステッ
プS01)。入力処理部71により、入力回路2を介し
て旧ソフトウェアが旧ソフトウェア域32に格納される
(ステップS02)。
71により、排他表示域38の、旧ソフトウェア域32
を構成する各ページが排他的に専有されているか否かを
表示するロック表示が初期状態(ロックが解除され、専
有されていないことを示す状態)に設定される(ステッ
プS01)。入力処理部71により、入力回路2を介し
て旧ソフトウェアが旧ソフトウェア域32に格納される
(ステップS02)。
【0105】入力処理部71により、旧ソフトウェア域
32に格納された旧ソフトウェアの中の、新ソフトウェ
アへの変換対象となる旧命令データの先頭アドレスが、
初期アドレスとして初期アドレス域61Aに設定される
(ステップS03)。プロセッサ回路4Aを走行する変
換処理部74により、初期アドレス域61Aから読み出
されたアドレスが、読出アドレスとして読出アドレス域
62Aに転送される(ステップS04)。
32に格納された旧ソフトウェアの中の、新ソフトウェ
アへの変換対象となる旧命令データの先頭アドレスが、
初期アドレスとして初期アドレス域61Aに設定される
(ステップS03)。プロセッサ回路4Aを走行する変
換処理部74により、初期アドレス域61Aから読み出
されたアドレスが、読出アドレスとして読出アドレス域
62Aに転送される(ステップS04)。
【0106】変換処理部74により、変換表示域37
の、読出アドレスに対応するアドレスで指定される領域
が参照される(ステップS05)。変換処理部74によ
り、読出アドレスに対応するアドレスが変換表示域37
の語境界に合致している場合には該読出アドレスが旧ソ
フトウェア域32の語境界に合致していると判断されて
ステップS08に進み、読出アドレスに対応するアドレ
スが変換表示域37の語境界に合致していない場合には
該読出アドレスが旧ソフトウェア域32の語境界に合致
していないと判断されてステップS07に進む(ステッ
プS06)。
の、読出アドレスに対応するアドレスで指定される領域
が参照される(ステップS05)。変換処理部74によ
り、読出アドレスに対応するアドレスが変換表示域37
の語境界に合致している場合には該読出アドレスが旧ソ
フトウェア域32の語境界に合致していると判断されて
ステップS08に進み、読出アドレスに対応するアドレ
スが変換表示域37の語境界に合致していない場合には
該読出アドレスが旧ソフトウェア域32の語境界に合致
していないと判断されてステップS07に進む(ステッ
プS06)。
【0107】変換処理部74により、割込処理部73の
語境界違反処理ソフトウェアの先頭アドレスが初期アド
レス域61Aに設定され、ステップS04に戻る(ステ
ップS07)。変換処理部74により、変換表示域37
の、読出アドレスに対応するアドレスで指定される領域
が参照され、旧ソフトウェア域32の該読出アドレスで
指定されるアドレスに格納されている旧命令データが新
命令データに変換されていない(即ち、未変換である)
ことを表示している場合には、該旧命令データの新命令
データへの変換処理のためステップS09に進み、該ア
ドレスに格納されている旧命令データが新命令データに
変換されている(即ち、変換済である)ことを表示して
いる場合には、初期アドレスで指定される旧命令データ
を先頭として対応する新命令データを実行するためステ
ップS40に進む(ステップS08)。
語境界違反処理ソフトウェアの先頭アドレスが初期アド
レス域61Aに設定され、ステップS04に戻る(ステ
ップS07)。変換処理部74により、変換表示域37
の、読出アドレスに対応するアドレスで指定される領域
が参照され、旧ソフトウェア域32の該読出アドレスで
指定されるアドレスに格納されている旧命令データが新
命令データに変換されていない(即ち、未変換である)
ことを表示している場合には、該旧命令データの新命令
データへの変換処理のためステップS09に進み、該ア
ドレスに格納されている旧命令データが新命令データに
変換されている(即ち、変換済である)ことを表示して
いる場合には、初期アドレスで指定される旧命令データ
を先頭として対応する新命令データを実行するためステ
ップS40に進む(ステップS08)。
【0108】変換処理部74により、旧ソフトウェア域
32の読出アドレスで指定されるページが他のプロセッ
サにより排他的に専有されているか否かをチェックする
ため、排他表示域38の読出アドレスで指定されるペー
ジのロック表示が参照され、排他的に専有されている
(即ち、ロック状態にある)場合にはロックが解除され
るまで待ってステップS11に進む(ステップS09〜
10)。
32の読出アドレスで指定されるページが他のプロセッ
サにより排他的に専有されているか否かをチェックする
ため、排他表示域38の読出アドレスで指定されるペー
ジのロック表示が参照され、排他的に専有されている
(即ち、ロック状態にある)場合にはロックが解除され
るまで待ってステップS11に進む(ステップS09〜
10)。
【0109】変換処理部74により、排他表示域38
の、読出アドレスで指定されるページに対応する領域の
ロック表示がロック状態に設定され、プロセッサ4Aに
より該ページが排他的に専有される(ステップS1
1)。変換処理部74により、排他表示域38の、読出
アドレスで指定されるページに対応する領域に保持され
ている、新ソフトウェア域35を構成する最終ブロック
のアドレスが読み出される(ステップS12)。
の、読出アドレスで指定されるページに対応する領域の
ロック表示がロック状態に設定され、プロセッサ4Aに
より該ページが排他的に専有される(ステップS1
1)。変換処理部74により、排他表示域38の、読出
アドレスで指定されるページに対応する領域に保持され
ている、新ソフトウェア域35を構成する最終ブロック
のアドレスが読み出される(ステップS12)。
【0110】変換処理部74により、該最終ブロックの
残容量部から新命令データを格納する事の出来る残りの
格納可能容量が読み取られる(ステップS13)。変換
処理部74により、旧ソフトウェア域32の、読出アド
レスで指定されるアドレスに保持される旧命令データを
新命令データに変換した場合に生成される容量が算出さ
れ、残容量部に表示されている新命令データを格納する
事の出来る残りの格納可能容量と比較される。
残容量部から新命令データを格納する事の出来る残りの
格納可能容量が読み取られる(ステップS13)。変換
処理部74により、旧ソフトウェア域32の、読出アド
レスで指定されるアドレスに保持される旧命令データを
新命令データに変換した場合に生成される容量が算出さ
れ、残容量部に表示されている新命令データを格納する
事の出来る残りの格納可能容量と比較される。
【0111】格納可能容量の方が生成される容量よりも
大きい場合には、格納領域が充分にあるのでステップS
19に進み、格納可能容量が生成される容量よりも少な
い場合には新ブロックを追加して格納可能容量を増加さ
せるためにステップS15に進む(ステップS14)。
変換処理部74により、格納済新命令データ(最終格納
の新命令データ)の後ろに変換処理部74の先頭への分
岐を指示する新命令データが格納され、先頭ブロックか
ら順に、次ブロックアドレス部が辿られて、読出アドレ
スで指定されるページに対応するブロック数が計数され
る(ステップS15)。
大きい場合には、格納領域が充分にあるのでステップS
19に進み、格納可能容量が生成される容量よりも少な
い場合には新ブロックを追加して格納可能容量を増加さ
せるためにステップS15に進む(ステップS14)。
変換処理部74により、格納済新命令データ(最終格納
の新命令データ)の後ろに変換処理部74の先頭への分
岐を指示する新命令データが格納され、先頭ブロックか
ら順に、次ブロックアドレス部が辿られて、読出アドレ
スで指定されるページに対応するブロック数が計数され
る(ステップS15)。
【0112】変換処理部74により、ブロック数が規定
値を越えた場合にはステップS17に進み、ブロック数
が規定値内にある場合にはステップS18に進む(ステ
ップS16)。変換処理部74により、該ページに対応
するブロックの次ブロックアドレスによる関連付けが解
除され、変換表示域37の、該ページに対応する全ての
領域が初期化される(ステップS17)。
値を越えた場合にはステップS17に進み、ブロック数
が規定値内にある場合にはステップS18に進む(ステ
ップS16)。変換処理部74により、該ページに対応
するブロックの次ブロックアドレスによる関連付けが解
除され、変換表示域37の、該ページに対応する全ての
領域が初期化される(ステップS17)。
【0113】変換処理部74により、新ブロックの先頭
アドレスが最終ブロックの次ブロックアドレス部に上書
きされ、更に該新ブロックの残り格納可能容量が残容量
部に書き込まれ、排他表示域38の、最終ブロックのア
ドレスが表示されている領域に新ブロックの先頭アドレ
スが上書きされる(ステップS18)。変換処理部74
により、旧ソフトウェア域32の読出アドレスで指定さ
れる領域から旧命令データが読み出されて解読され、新
ソフトウェア域35の、格納済新命令データの後ろに、
該旧命令データの命令データ長の制御情報域64Aへの
格納を指示し、読出アドレスに該命令データ長を加えて
読出アドレス域62Aに格納することを指示する新命令
データが格納される(ステップS19)。
アドレスが最終ブロックの次ブロックアドレス部に上書
きされ、更に該新ブロックの残り格納可能容量が残容量
部に書き込まれ、排他表示域38の、最終ブロックのア
ドレスが表示されている領域に新ブロックの先頭アドレ
スが上書きされる(ステップS18)。変換処理部74
により、旧ソフトウェア域32の読出アドレスで指定さ
れる領域から旧命令データが読み出されて解読され、新
ソフトウェア域35の、格納済新命令データの後ろに、
該旧命令データの命令データ長の制御情報域64Aへの
格納を指示し、読出アドレスに該命令データ長を加えて
読出アドレス域62Aに格納することを指示する新命令
データが格納される(ステップS19)。
【0114】該旧命令データが、複数の単純な処理を組
み合わせて指示する、いわゆるアトミック命令と呼ばれ
る複合命令の場合には、アトミック命令固有の命令列に
変換・生成するためステップS21に進み、アトミック
命令では無い場合にはステップS22に進む(ステップ
S20)。変換処理部74により、新ソフトウェア域3
5の、格納済新命令データの後ろにロックが解除される
まで待つことを指示する新命令データと、ロックするこ
とを指示する新命令データと、前記旧命令データの指示
する複数の単純な処理を組み合わせて処理する新命令デ
ータと、ロックの解除を指示する新命令データとが格納
されステップS27に進む(ステップS21)。
み合わせて指示する、いわゆるアトミック命令と呼ばれ
る複合命令の場合には、アトミック命令固有の命令列に
変換・生成するためステップS21に進み、アトミック
命令では無い場合にはステップS22に進む(ステップ
S20)。変換処理部74により、新ソフトウェア域3
5の、格納済新命令データの後ろにロックが解除される
まで待つことを指示する新命令データと、ロックするこ
とを指示する新命令データと、前記旧命令データの指示
する複数の単純な処理を組み合わせて処理する新命令デ
ータと、ロックの解除を指示する新命令データとが格納
されステップS27に進む(ステップS21)。
【0115】該旧命令データが、実際の処理を指示する
旧命令データの格納されているアドレスをオペランドで
指定する間接命令の場合には、間接命令固有の命令列に
変換・生成するためステップS23に進み、間接命令で
は無い場合にはステップS24に進む(ステップS2
2)。変換処理部74により、新ソフトウェア域35
の、格納済新命令データの後ろに、旧ソフトウェア域3
2の、旧命令データのオペランドで指定されるアドレス
から実際の処理を指示する旧命令データを読出すことを
指示する新命令データと、該旧命令データを新命令デー
タに変換して一時保持域36に格納する新命令データ
と、変換処理部74の先頭への分岐を指示する新命令デ
ータと、初期アドレス域61に保持される初期アドレス
で示されるアドレスへの分岐を指示する命令データとが
格納され、ステップS27に進む(ステップS23)。
旧命令データの格納されているアドレスをオペランドで
指定する間接命令の場合には、間接命令固有の命令列に
変換・生成するためステップS23に進み、間接命令で
は無い場合にはステップS24に進む(ステップS2
2)。変換処理部74により、新ソフトウェア域35
の、格納済新命令データの後ろに、旧ソフトウェア域3
2の、旧命令データのオペランドで指定されるアドレス
から実際の処理を指示する旧命令データを読出すことを
指示する新命令データと、該旧命令データを新命令デー
タに変換して一時保持域36に格納する新命令データ
と、変換処理部74の先頭への分岐を指示する新命令デ
ータと、初期アドレス域61に保持される初期アドレス
で示されるアドレスへの分岐を指示する命令データとが
格納され、ステップS27に進む(ステップS23)。
【0116】該旧命令データが、条件付分岐命令の場合
にはステップS25に進み、条件付分岐命令では無い場
合にはステップS26に進む(ステップS24)。変換
処理部74により、新ソフトウェア域35の、格納済新
命令データの後ろに、制御情報域64Aに保持される2
進定数‘0001000’を条件コードで指定された桁
数右にシフトさせることを指示する新命令データと、2
進定数‘0001000’を条件コードで指定された桁
数右にシフトさせた結果得られた値を条件マスクと比較
し、論理値が0で無い場合にオペランドで指定されるア
ドレスに分岐し、論理値が0となる場合に次のアドレス
に進む指示をする新命令データが格納され、ステップS
27に進む(ステップS25)。
にはステップS25に進み、条件付分岐命令では無い場
合にはステップS26に進む(ステップS24)。変換
処理部74により、新ソフトウェア域35の、格納済新
命令データの後ろに、制御情報域64Aに保持される2
進定数‘0001000’を条件コードで指定された桁
数右にシフトさせることを指示する新命令データと、2
進定数‘0001000’を条件コードで指定された桁
数右にシフトさせた結果得られた値を条件マスクと比較
し、論理値が0で無い場合にオペランドで指定されるア
ドレスに分岐し、論理値が0となる場合に次のアドレス
に進む指示をする新命令データが格納され、ステップS
27に進む(ステップS25)。
【0117】変換処理部74により、新ソフトウェア域
35の、格納済新命令データの後ろに、前記旧命令デー
タの指示する処理を行なう新命令データが格納され、ス
テップS27に進む(ステップS26)。変換処理部7
4により、新ソフトウェア域35の、格納済新命令デー
タの後ろに、外部割込の有無のチェックと、外部割込が
検出された場合に変換処理部74の先頭に分岐すること
を指示する新命令データが格納される(ステップS2
7)。
35の、格納済新命令データの後ろに、前記旧命令デー
タの指示する処理を行なう新命令データが格納され、ス
テップS27に進む(ステップS26)。変換処理部7
4により、新ソフトウェア域35の、格納済新命令デー
タの後ろに、外部割込の有無のチェックと、外部割込が
検出された場合に変換処理部74の先頭に分岐すること
を指示する新命令データが格納される(ステップS2
7)。
【0118】変換処理部74により、変換表示域37
の、旧ソフトウェア域32の読出アドレスで指定される
エントリに対応するエントリに書込アドレスが格納さ
れ、旧命令データの語長に応じて変換表示域37の該エ
ントリの後ろのエントリにエントリ番号が格納され、書
込アドレスに、新ソフトウェア域35に格納された新命
令データの語長が加えられ、書込アドレス域63Aに格
納される(ステップS28)。
の、旧ソフトウェア域32の読出アドレスで指定される
エントリに対応するエントリに書込アドレスが格納さ
れ、旧命令データの語長に応じて変換表示域37の該エ
ントリの後ろのエントリにエントリ番号が格納され、書
込アドレスに、新ソフトウェア域35に格納された新命
令データの語長が加えられ、書込アドレス域63Aに格
納される(ステップS28)。
【0119】旧ソフトウェア域32の、読出アドレスで
指定されるエントリから読み出された前記旧命令データ
が無条件分岐命令であったか否かチェックされ、無条件
分岐命令であった場合にはステップS38に進み、無条
件分岐命令では無かった場合にはステップS30に進む
(ステップS29)。変換処理部74により、読出アド
レスに該旧命令データの語長が加えられ、読出アドレス
域62Aに格納される(ステップS30)。
指定されるエントリから読み出された前記旧命令データ
が無条件分岐命令であったか否かチェックされ、無条件
分岐命令であった場合にはステップS38に進み、無条
件分岐命令では無かった場合にはステップS30に進む
(ステップS29)。変換処理部74により、読出アド
レスに該旧命令データの語長が加えられ、読出アドレス
域62Aに格納される(ステップS30)。
【0120】更新前の読出アドレスの属するページと更
新後の読出アドレスの属するページとが比較され、同一
ページである場合にはステップS32に進み、異なるペ
ージの場合にはステップS38に進む(ステップS3
1)。変換処理部74により、変換表示域37の、読出
アドレスに対応するアドレスで指定される領域が参照さ
れ、旧ソフトウェア域32の該読出アドレスで指定され
るアドレスに格納されている旧命令データが新命令デー
タに変換されていない(即ち、未変換である)ことを表
示している場合には、旧命令データの新命令データへの
変換を継続するためステップS34に進み、該アドレス
に格納されている旧命令データが新命令データに変換さ
れている(即ち、変換済である)ことを表示している場
合には、初期アドレスで指定される旧命令データを先頭
として対応する新命令データを実行するためステップS
38に進む(ステップS32〜S33)。
新後の読出アドレスの属するページとが比較され、同一
ページである場合にはステップS32に進み、異なるペ
ージの場合にはステップS38に進む(ステップS3
1)。変換処理部74により、変換表示域37の、読出
アドレスに対応するアドレスで指定される領域が参照さ
れ、旧ソフトウェア域32の該読出アドレスで指定され
るアドレスに格納されている旧命令データが新命令デー
タに変換されていない(即ち、未変換である)ことを表
示している場合には、旧命令データの新命令データへの
変換を継続するためステップS34に進み、該アドレス
に格納されている旧命令データが新命令データに変換さ
れている(即ち、変換済である)ことを表示している場
合には、初期アドレスで指定される旧命令データを先頭
として対応する新命令データを実行するためステップS
38に進む(ステップS32〜S33)。
【0121】変換処理部74により、制御情報域64A
のステップ指示子が参照される(ステップS34)。ス
テップ指示子がステップ動作を指示している場合にはス
テップS38に進み、ステップ動作を指示していない場
合にはステップS36に進む(ステップS35)。
のステップ指示子が参照される(ステップS34)。ス
テップ指示子がステップ動作を指示している場合にはス
テップS38に進み、ステップ動作を指示していない場
合にはステップS36に進む(ステップS35)。
【0122】変換処理部74により、外部割込が発生し
ているか否かがチェックされる(ステップS36)。外
部割込が検出された場合にはステップS38に進み、外
部割込が検出されなかった場合にはステップS04に戻
る(ステップS37)。変換処理部74により、新ソフ
トウェア域35の、書込アドレスで指定される領域に、
変換処理部74の先頭への分岐を指示する新命令データ
が格納される(ステップS38)。
ているか否かがチェックされる(ステップS36)。外
部割込が検出された場合にはステップS38に進み、外
部割込が検出されなかった場合にはステップS04に戻
る(ステップS37)。変換処理部74により、新ソフ
トウェア域35の、書込アドレスで指定される領域に、
変換処理部74の先頭への分岐を指示する新命令データ
が格納される(ステップS38)。
【0123】変換処理部74により、排他表示域38
の、初期アドレスで指定されるページに対応するロック
表示が非ロック状態に設定される(ステップS39)。
変換表示域37から、旧ソフトウェア域32の初期アド
レスで指定される領域に保持される旧命令データに対応
する、該旧命令データが変換・生成された新命令データ
の先頭アドレスが読み出され、書込アドレス域63Aに
設定される(ステップS40)。
の、初期アドレスで指定されるページに対応するロック
表示が非ロック状態に設定される(ステップS39)。
変換表示域37から、旧ソフトウェア域32の初期アド
レスで指定される領域に保持される旧命令データに対応
する、該旧命令データが変換・生成された新命令データ
の先頭アドレスが読み出され、書込アドレス域63Aに
設定される(ステップS40)。
【0124】書込アドレスを先頭とする新命令データ
が、新ソフトウェア域35から、旧命令データの単位で
順次読み出され、実行される(ステップS41)。ステ
ップS41の処理の過程で、前記新命令データの指定す
る格納先アドレスが書込保護の対象となっている場合に
は、書込保護割込が検出されステップS49に進み、書
込保護割込が検出されなかった場合にはステップS43
に進む(ステップS42)。
が、新ソフトウェア域35から、旧命令データの単位で
順次読み出され、実行される(ステップS41)。ステ
ップS41の処理の過程で、前記新命令データの指定す
る格納先アドレスが書込保護の対象となっている場合に
は、書込保護割込が検出されステップS49に進み、書
込保護割込が検出されなかった場合にはステップS43
に進む(ステップS42)。
【0125】変換表示域37の、前記格納先アドレスで
指定される領域に未変換が表示されている場合にはステ
ップS48に進み、変換済が表示されている場合にはス
テップS44に進む(ステップS43)。新ソフトウェ
ア域35の書込アドレスで指定される領域に、変換処理
部74の先頭アドレスへの分岐を指示する新命令データ
が格納され、変換表示域37の書込アドレスの格納され
ている領域が未変換に設定される(ステップS44)。
指定される領域に未変換が表示されている場合にはステ
ップS48に進み、変換済が表示されている場合にはス
テップS44に進む(ステップS43)。新ソフトウェ
ア域35の書込アドレスで指定される領域に、変換処理
部74の先頭アドレスへの分岐を指示する新命令データ
が格納され、変換表示域37の書込アドレスの格納され
ている領域が未変換に設定される(ステップS44)。
【0126】書込計数域39から、書込保護発生件数が
読み出され、書込保護発生件数が+1されて書込計数域
39に格納される(ステップS45)。書込保護発生件
数が基準値以上の場合にはステップS47に進み、基準
値未満の場合にはステップS48に進む(ステップS4
6)。即ち、書込保護発生件数が基準値以上の場合に
は、書込保護が解除され(ステップS47)、基準値未
満の場合には、新ソフトウェア域35の、書込アドレス
で指定される領域に処理結果が格納される(ステップS
48)。
読み出され、書込保護発生件数が+1されて書込計数域
39に格納される(ステップS45)。書込保護発生件
数が基準値以上の場合にはステップS47に進み、基準
値未満の場合にはステップS48に進む(ステップS4
6)。即ち、書込保護発生件数が基準値以上の場合に
は、書込保護が解除され(ステップS47)、基準値未
満の場合には、新ソフトウェア域35の、書込アドレス
で指定される領域に処理結果が格納される(ステップS
48)。
【0127】さらに、外部割込の有無がチェックされ、
外部割込が検出された場合にはステップS50に進み、
外部割込が検出されなかった場合にはステップS51に
進む(ステップS49)。即ち、外部割込が検出された
場合には、割込処理部73(つまり割込処理プログラ
ム)の先頭アドレスが初期アドレス域61Aに設定さ
れ、ステップS04に戻る(ステップS50)。
外部割込が検出された場合にはステップS50に進み、
外部割込が検出されなかった場合にはステップS51に
進む(ステップS49)。即ち、外部割込が検出された
場合には、割込処理部73(つまり割込処理プログラ
ム)の先頭アドレスが初期アドレス域61Aに設定さ
れ、ステップS04に戻る(ステップS50)。
【0128】また、外部割込が検出されなかった場合に
は、書込アドレスが変換処理部74の先頭アドレスを示
している場合にはステップ04に進み、変換処理部74
の先頭アドレスを示していない場合にはステップS41
に戻る(ステップS51)。このように本発明の一実施
形態にかかるシミュレーション装置1によれば、旧ソフ
トウェアを構成する旧命令データのうちで、先頭アドレ
スの旧命令データから分岐命令にかかるアドレスの旧命
令データまでのプログラムブロックについて、順次新ソ
フトウェアを構成する新命令データに変換するととも
に、上記変換された新ソフトウェアを実行することによ
り、旧命令データを1語ずつ新命令データに変換してそ
の新命令データの指示する処理を実行する必要がなくな
るので、シミュレーション動作に要する処理時間を大幅
に低減することができる。
は、書込アドレスが変換処理部74の先頭アドレスを示
している場合にはステップ04に進み、変換処理部74
の先頭アドレスを示していない場合にはステップS41
に戻る(ステップS51)。このように本発明の一実施
形態にかかるシミュレーション装置1によれば、旧ソフ
トウェアを構成する旧命令データのうちで、先頭アドレ
スの旧命令データから分岐命令にかかるアドレスの旧命
令データまでのプログラムブロックについて、順次新ソ
フトウェアを構成する新命令データに変換するととも
に、上記変換された新ソフトウェアを実行することによ
り、旧命令データを1語ずつ新命令データに変換してそ
の新命令データの指示する処理を実行する必要がなくな
るので、シミュレーション動作に要する処理時間を大幅
に低減することができる。
【0129】
【発明の効果】以上詳述したように、本発明(請求項1
〜22)によれば、変換元プログラムデータを1語ずつ
変換済プログラムデータに変換して当該変換済プログラ
ムデータの指示する処理を実行する必要がなくなるの
で、シミュレーション動作に要する処理時間を大幅に低
減することができる利点がある。
〜22)によれば、変換元プログラムデータを1語ずつ
変換済プログラムデータに変換して当該変換済プログラ
ムデータの指示する処理を実行する必要がなくなるの
で、シミュレーション動作に要する処理時間を大幅に低
減することができる利点がある。
【図1】本発明の原理ブロック図である。
【図2】本発明の原理を説明するためのフローチャート
である。
である。
【図3】本発明の原理ブロック図である。
【図4】本発明の一実施形態にかかるシミュレーション
装置の構成を示すブロック図である。
装置の構成を示すブロック図である。
【図5】本発明の一実施形態にかかるシミュレーション
装置の構成を示す機能ブロック図である。
装置の構成を示す機能ブロック図である。
【図6】ブロックの構成を示す図である。
【図7】変換表示域の構成を示す図である。
【図8】排他表示域の構成を示す図である。
【図9】制御情報域の構成を示す図である。
【図10】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第1のフローチャ
ートである。
ン装置における動作を説明するための第1のフローチャ
ートである。
【図11】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第2のフローチャ
ートである。
ン装置における動作を説明するための第2のフローチャ
ートである。
【図12】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第3のフローチャ
ートである。
ン装置における動作を説明するための第3のフローチャ
ートである。
【図13】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第4のフローチャ
ートである。
ン装置における動作を説明するための第4のフローチャ
ートである。
【図14】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第5のフローチャ
ートである。
ン装置における動作を説明するための第5のフローチャ
ートである。
【図15】本発明の一実施形態にかかるシミュレーショ
ン装置における動作を説明するための第6のフローチャ
ートである。
ン装置における動作を説明するための第6のフローチャ
ートである。
【図16】従来のシミュレーション装置の構成を示すブ
ロック図である。
ロック図である。
【図17】従来のシミュレーション装置の構成を示す機
能ブロック図である。
能ブロック図である。
【図18】従来のシミュレーション装置における動作を
説明するためのフローチャートである。
説明するためのフローチャートである。
1,1A シミュレーション装置 2 入力回路 3 主記憶回路 4,4A,4B プロセッサ回路 5,5A,5B 命令カウンタ 6,6A,6B 汎用レジスタ 21 入力処理手段 22 旧情報保持手段 23 割込処理手段 24 変換処理手段 25 新情報保持手段 26 一時保持手段 27 変換表示手段 28 排他表示手段 29 書込計数手段 31 入力処理プログラム域 32 旧ソフトウェア域 33 割込処理プログラム域 34 変換処理プログラム域 34′ 変換・実行処理プログラム域 35 新ソフトウェア域 35A 実行処理プログラム域 36 一時保持域 37 変換表示域 38 排他表示域 39 書込計数域 41A,41B 初期位置表示手段 42A,42B 読出位置表示手段 43A,43B 書込位置表示手段 44A,44B 制御情報保持手段 50A,50B 命令計数手段 51 変換元ソフトウェア保持手段 52 プログラムデータ変換処理手段 53 変換済ソフトウェア保持手段 54 変換状態登録部 55 判定部 56 分岐実行部 57 分岐先変換部 61A,61B 初期アドレス域 62,62A,62B 読出アドレス域 63A,63B 書込アドレス域 64,64A,64B, 制御情報域 70 シミュレーション実行部 71 入力処理部 73 割込処理部 74 変換処理部 75 実行処理部 76 判定部 100 シミュレーション装置 131 入力処理部 133 割込処理部 134 変換・実行処理部 140 シミュレーション実行部
Claims (22)
- 【請求項1】 変換元ソフトウェアを変換済ソフトウェ
アに変換して実行するシミュレーション装置であって、 該変換元ソフトウェアを保持する変換元情報保持手段
と、 該変換元ソフトウェアが変換済ソフトウェアに変換済の
場合に、該変換元情報保持手段における該変換元ソフト
ウェアを構成する変換元命令データの格納アドレスに対
応するアドレスに、該変換元命令データの変換された変
換済命令データの格納先先頭アドレスを表示する変換表
示手段と、 該変換元命令データの変換された変換済命令データから
構成される変換済ソフトウェアを保持する変換済情報保
持手段と、 該変換表示手段の変換元命令データの格納アドレスに対
応するアドレスを参照し、変換済命令データの格納先先
頭アドレスが表示されている場合には該変換済命令デー
タの指定する処理へ処理を分岐する変換処理手段とを有
することを特徴とする、シミュレーション装置。 - 【請求項2】 該変換表示手段が、初期状態で未変換を
表示し、 該変換処理手段が、 処理対象の変換元命令データの格納アドレスにより該変
換表示手段を参照し、未変換が表示されている場合には
該変換元命令データを変換済命令データに変換して該変
換済情報保持手段に格納するとともに、該変換表示手段
の該変換元命令データの格納アドレスに対応するアドレ
スに該変換済命令データの格納先先頭アドレスを格納す
ることを特徴とする、請求項1記載のシミュレーション
装置。 - 【請求項3】 該変換表示手段が、 該変換元情報保持手段と同数のエントリを有し、 該変換元命令データが該変換元情報保持手段の複数のエ
ントリを専有する場合、該変換元命令データの保持され
るエントリに対応するエントリに続くエントリに、エン
トリ番号を表示することを特徴とする、請求項1記載の
シミュレーション装置。 - 【請求項4】 該変換処理手段が、 該変換元命令データの読出アドレスに対応する該変換表
示手段のアドレスが語境界に違反していることを検出し
た場合、割込処理手段の語境界違反処理ソフトウェアを
変換済ソフトウェアに変換して該変換済情報保持手段に
格納することを特徴とする、請求項1記載のシミュレー
ション装置。 - 【請求項5】 該変換処理手段が、 該変換元情報保持手段から読み出された変換元命令デー
タが、次の読出アドレスで指定される該変換元情報保持
手段のアドレスに命令データが保持されていないことを
予想させる命令データである場合、該変換元命令データ
を変換した変換済命令データとともに、該変換済命令デ
ータに続けて、当該変換処理手段の処理手順の開始に戻
す命令を変換済命令データとして変換済情報保持手段に
格納し、 該変換済情報保持手段の先頭アドレスから変換済命令デ
ータの指定する処理が行われるように処理を分岐するこ
とを特徴とする、請求項1記載のシミュレーション装
置。 - 【請求項6】 該変換処理手段が、 該変換元情報保持手段からの変換元命令データの読出し
に用いられたアドレスと、次の変換元命令データの読出
しに用いられるアドレスとが異なるページに属するアド
レスである場合、 該変換済情報保持手段の最終格納の変換済命令データに
続けて、当該変換処理手段の処理手順の開始に戻す命令
を変換済命令データとして該変換済情報保持手段に格納
し、 該変換済情換保持手段の先頭アドレスから変換済命令デ
ータの指定する処理が行われるように処理を分岐するこ
とを特徴とする、請求項1記載のシミュレーション装
置。 - 【請求項7】 該変換処理手段が、 変換元命令データの変換済命令データへの変換の途中で
外部割り込みが検出された場合、該変換済情報保持手段
の最終格納の変換済命令データに続けて、当該変換処理
手段の処理手順の開始に戻す命令を変換済命令データと
して該変換済情報保持手段に格納し、 該変換済情報保持手段の先頭アドレスから変換済命令デ
ータの指定する処理が行われるように処理を分岐するこ
とを特徴とする、請求項1記載のシミュレーション装
置。 - 【請求項8】 該変換元情報保持手段が、複数のページ
に区分されて構成され、 該変換済情報保持手段が、複数の、次ブロックアドレス
で関連付けられたブロックに区分されて構成され、 前記ページ毎に、先頭ブロックのアドレスと最終ブロッ
クのアドレスとによりページとブロックの対応を表示す
る排他表示手段を有し、 該変換処理手段が、 該変換元情報保持手段から変換元命令データを読み出
し、該変換元命令データを変換済命令データに変換する
に先立って、該変換済命令データを格納するに必要な該
変換済情報保持手段の残容量を算出し、残容量が該変換
済命令データを格納するに不十分な場合には新ブロック
を最終ブロックに関連付けて接続し、最終ブロックのア
ドレスとして該新ブロックのアドレスを格納し、 しかる後に該変換元命令データを変換済命令データに変
換して該変換済情報保持手段に格納することを特徴とす
る、請求項1記載のシミュレーション装置。 - 【請求項9】 該変換処理手段が、 前記残容量が変換済命令データを格納するに不十分な場
合、前記ページに対応するブロック数を計数し、前記ブ
ロック数が予め設定されている値を越えない場合に新ブ
ロックを最終ブロックに関連付けて接続することを特徴
とする、請求項8記載のシミュレーション装置。 - 【請求項10】 複数のプロセッサ回路を有し、 該排他表示手段が、 前記ページ毎に該ページが排他的に専有されているか否
かをロック表示で表示することを特徴とする、請求項8
記載のシミュレーション装置。 - 【請求項11】 該変換処理手段が、 該変換元命令データが複数の単純な処理を組合せて指示
する複合命令の場合、 該変換元命令データを、ロックが解除されるまで待つ命
令と、ロックを指示する命令と、前記複数の単純な処理
を指示する複数の命令と、ロックの解除を指示する命令
とから成る変換済命令データに変換することを特徴とす
る、請求項1記載のシミュレーション装置。 - 【請求項12】 ステップ実行指示の有無を表示するス
テップ指示子を保持する制御情報保持手段を有し、 該変換処理手段が、 前記ステップ指示子によりステップ実行が指示されてい
る場合、変換元命令データ1語を変換済命令データに変
換する度に、該変換済情報保持手段の最終格納の変換済
命令データに続けて、当該変換処理手段の処理手順の開
始に戻す命令を変換済命令データとして該変換済情報保
持手段に格納するとともに、 該変換済情報保持手段の先頭アドレスから変換済命令デ
ータの指定する処理が行われるように処理を分岐するこ
とを特徴とする、請求項1記載のシミュレーション装
置。 - 【請求項13】 2進定数‘0001000’を保持す
る制御情報保持手段を有し、 該変換処理手段が、 該変換元命令データが条件付分岐命令であった場合、前
記2進定数を条件コードで指定されるビット数だけ右シ
フトさせる命令と、 前記条件コードで指定されるビット数だけ右シフトした
2進定数と条件マスクとを比較して論理値が0でない場
合、該変換元命令データのオペランドで指定するアドレ
スに保持される命令データへの分岐を指示する命令とを
変換済命令データとして生成することを特徴とする、請
求項1記載のシミュレーション装置。 - 【請求項14】 該変換元命令データから変換・生成さ
れた変換済命令データを一時的に保持する一時保持手段
を有し、 該変換処理手段が、 該変換元命令データが、実際の処理を指示する変換元命
令データの格納されているアドレスをオペランドで指定
する間接命令の場合、 前記実際の処理を指示する変換元命令データを前記オペ
ランドで指定されたアドレスから読み出す命令と、該変
換元命令データから変換された変換済命令データを該一
時保持手段に格納する命令と、当該変換処理手段の処理
手順の開始に戻す命令とを変換済命令データとして該変
換済情報保持手段に格納するとともに、 該変換済情報保持手段の先頭アドレスから変換済命令デ
ータの指定する処理が行われるように処理を分岐するこ
とを特徴とする、請求項1記載のシミュレーション装
置。 - 【請求項15】 該変換処理手段が、 処理対象となる変換元命令データが既に変換済命令デー
タへの変換がなされた変換元命令データの変更を指示す
る変換元命令データであるか否かを検出するために、該
変換表示手段の該変換元命令データのオペランドで格納
先として指定されたアドレスに対応する領域を参照し、 変換済が表示されている場合には前記変換済命令データ
に替えて、当該変換処理手段の処理手順の開始に戻す命
令を変換済命令データとして該変換済情報保持手段に格
納し、該変換表示手段の該変換元命令データの格納先ア
ドレスに対応するエントリを初期化して未変換を表示さ
せることを特徴とする、請求項1記載のシミュレーショ
ン装置。 - 【請求項16】 該変換処理手段が、 処理対象となる変換元命令データが既に変換済命令デー
タへの変換がなされた変換元命令データの変更を指示す
る変換元命令データであるか否かを検出するために、該
変換表示手段に変換済命令データの先頭アドレスを登録
する際に該アドレスに対して書込が発生した場合に書込
保護割り込みが発生するよう設定し、 該変換元命令データを変換済命令データに変換して該変
換済情報保持手段に格納する際に、書込保護違反割り込
みにより、既に変換済命令データへの変換がなされた変
換元命令データの変更を指示する変換元命令データの変
換済命令データへの変換指示であることを認識し、 前記書込保護違反割り込みが通知された場合に、前記変
換済命令データに替えて当該変換処理手段の処理手順の
開始に戻す命令を変換済命令データとして該変換済情報
保持手段に格納し、該変換表示手段の該変換元命令デー
タの格納先アドレスに対応するエントリを初期化して未
変換を表示させることを特徴とする、請求項1記載のシ
ミュレーション装置。 - 【請求項17】 書込保護割り込みの発生件数を計数す
る書込計数手段を有し、 該変換処理手段が、 該書込保護割り込みの発生件数があらかじめ定めた発生
件数を越えた場合、変換元命令データが格納を指示する
命令データであることを該変換元命令データを解読する
ことにより認識することを特徴とする、請求項16記載
のシミュレーション装置。 - 【請求項18】 変換元ソフトウェアを構成する変換元
プログラムデータのうちで、処理対象となる先頭アドレ
スのプログラムデータから分岐命令にかかるアドレスの
プログラムデータまでのプログラムブロックについて、
順次変換済のソフトウェアを構成するプログラムデータ
に変換するとともに、上記変換された変換済ソフトウェ
アを実行することにより、上記変換元ソフトウェアと同
等の処理を行なうプログラムデータ変換処理手段と、 該プログラムデータ変換処理手段にて変換された上記変
換済のソフトウェアを保持する変換済ソフトウェア保持
手段と、 上記プログラムデータ変換処理手段にて変換すべきプロ
グラムデータが、既に変換済プログラムデータに変換さ
れているか否かの識別情報を、対応するアドレス毎に登
録する変換状態登録部とをそなえ、 該プログラムデータ変換処理手段が、 上記変換された変換済ソフトウェアの実行の際に、上記
分岐命令について実行するにあたって、分岐先のプログ
ラムデータに対応する変換済プログラムデータが該変換
済ソフトウェア保持手段にて保持されているか否かを、
該変換状態登録部を参照することにより判定する判定部
と、 上記分岐命令における分岐先のプログラムデータに対応
する変換済プログラムデータが該変換済ソフトウェア保
持手段にて保持されていると判定された場合には、該変
換済ソフトウェア保持手段にて保持されている当該変換
済プログラムデータに基づいて、上記分岐命令について
実行する分岐実行部と、 上記分岐命令における分岐先のプログラムデータに対応
する変換済プログラムデータが該変換済ソフトウェア保
持手段にて保持されていないと判定された場合には、上
記分岐先のアドレスを上記先頭アドレスとして、上記変
換元プログラムデータを変換済プログラムデータに変換
する分岐先変換部とをそなえて構成されたことを特徴と
する、シミュレーション装置。 - 【請求項19】 第1アーキテクチャのコンピュータで
動作する第1ソフトウェアを、上記第1のアーキテクチ
ャとは異なる第2アーキテクチャのコンピュータでシミ
ュレーション動作させるためのシミュレーション方法で
あって、 上記第1ソフトウェアのプログラムデータを上記第2ア
ーキテクチャのコンピュータで動作しうる第2ソフトウ
ェアのプログラムデータに変換する変換ステップと、 該変換ステップにて変換された上記第2ソフトウェアを
構成するプログラムデータを保持する第2ソフトウェア
保持ステップと、 該変換ステップにて変換すべきプログラムデータが、既
に第2ソフトウェアを構成するプログラムデータに変換
されているか否かを登録する変換状態登録ステップと、 該変換状態登録ステップにおける登録結果を参照して、
変換対象となる第1ソフトウェアのプログラムデータが
既に第2ソフトウェアを構成するプログラムデータに変
換されているか否かを判定する判定ステップと、 該判定ステップにおいて、既に第2ソフトウェアを構成
するプログラムデータに変換されていると判定された場
合には、該第2ソフトウェア保持ステップにより保持さ
れている該第2ソフトウェアを構成するプログラムデー
タを実行し、該判定ステップにおいて、該第2ソフトウ
ェアを構成するプログラムデータに変換されていないと
判定された場合には、該変換ステップにて第2ソフトウ
ェアを構成するプログラムデータに変換した後、該第2
ソフトウェアを構成するプログラムデータを実行する実
行ステップとをそなえて構成されたことを特徴とする、
シミュレーション方法。 - 【請求項20】 第1アーキテクチャのコンピュータで
動作する第1ソフトウェアを、上記第1のアーキテクチ
ャとは異なる第2アーキテクチャのコンピュータでシミ
ュレーション動作させるためのシミュレーション方法で
あって、 上記第1ソフトウェアにおけるプログラムデータのうち
で、処理対象となる先頭アドレスのプログラムデータか
ら分岐命令にかかるアドレスのプログラムデータまでの
プログラムブロックについて、順次第2アーキテクチャ
のコンピュータで動作しうる第2ソフトウェアに変換す
る変換ステップと、 該変換ステップにて変換された上記第2ソフトウェアを
構成するプログラムデータを保持する第2ソフトウェア
保持ステップと、 該変換ステップにて変換すべきプログラムデータが、既
に第2ソフトウェアを構成するプログラムデータに変換
されているか否かを、対応するアドレス毎に登録する変
換状態登録ステップと、 該変換ステップにて上記変換された第2ソフトウェアを
実行する実行ステップとをそなえ、 該実行ステップにおける上記第2ソフトウェアの実行の
際に、上記分岐命令について実行するにあたって、分岐
先のプログラムデータが第2ソフトウェアを構成するプ
ログラムデータに変換されているか否かを、該変換状態
登録ステップにおける登録結果を参照して判定する判定
ステップと、 該判定ステップにおいて、分岐先のプログラムデータが
第2ソフトウェアを構成するプログラムデータに変換さ
れていると判定された場合には、該第2ソフトウェア保
持ステップにて保持された当該変換済プログラムデータ
に基づいて、上記分岐命令について実行する分岐実行ス
テップと、 該判定ステップにおいて、分岐先のプログラムデータが
第2ソフトウェアを構成するプログラムデータに変換さ
れていないと判定された場合には、上記分岐先のアドレ
スを上記先頭アドレスとして、上記第1ソフトウェアの
プログラムデータを第2ソフトウェアのプログラムデー
タに変換したのちに、上記分岐命令について実行する分
岐先変換実行ステップとをそなえて構成されたことを特
徴とする、シミュレーション方法。 - 【請求項21】 第1アーキテクチャのコンピュータで
動作する第1ソフトウェアを、上記第1のアーキテクチ
ャとは異なる第2アーキテクチャのコンピュータで実行
させるためのシミュレーションプログラムを記録したコ
ンピュータ読取可能な記録媒体であって、 上記第1ソフトウェアのプログラムデータを上記第2ア
ーキテクチャのコンピュータで動作しうる第2ソフトウ
ェアのプログラムデータに変換する変換機能と、 該変換機能にて変換された上記第2ソフトウェアを構成
するプログラムデータを保持する第2ソフトウェア保持
機能と、 該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを登録する変換状態登録機能と、 該変換状態登録機能における登録結果を参照して、変換
対象となる第1ソフトウェアのプログラムデータが既に
第2ソフトウェアを構成するプログラムデータに変換さ
れているか否かを判定する判定機能と、 該判定機能において、既に第2ソフトウェアを構成する
プログラムデータに変換されていると判定された場合に
は、該第2ソフトウェア保持機能により保持されている
該第2ソフトウェアを構成するプログラムデータを実行
し、該判定機能において、該第2ソフトウェアを構成す
るプログラムデータに変換されていないと判定された場
合には、該変換機能にて第2ソフトウェアを構成するプ
ログラムデータに変換した後、該第2ソフトウェアを構
成するプログラムデータを実行する実行機能とをコンピ
ュータに実現させるためのシミュレーションプログラム
が記録されたことを特徴とする、コンピュータ読取可能
な記録媒体。 - 【請求項22】 第1アーキテクチャのコンピュータで
動作する第1ソフトウェアを、上記第1のアーキテクチ
ャとは異なる第2アーキテクチャのコンピュータで実行
させるためのシミュレーションプログラムを記録したコ
ンピュータ読取可能な記録媒体であって、 上記第1ソフトウェアにおけるプログラムデータのうち
で、先頭アドレスのプログラムデータから分岐命令にか
かるアドレスのプログラムデータまでのプログラムブロ
ックについて、順次第2アーキテクチャのコンピュータ
で動作しうる第2ソフトウェアに変換する変換機能と、 該変換機能にて変換された上記第2ソフトウェアを構成
するプログラムデータを保持する第2ソフトウェア保持
機能と、 該変換機能にて変換すべきプログラムデータが、既に第
2ソフトウェアを構成するプログラムデータに変換され
ているか否かを、対応するアドレス毎に登録する変換状
態登録機能と、 該変換機能にて上記変換された第2ソフトウェアを実行
する実行機能と、 該実行機能における上記第2ソフトウェアの実行の際
に、上記分岐命令について実行するにあたって、分岐先
のプログラムデータが第2ソフトウェアを構成するプロ
グラムデータに変換されているか否かを、該変換状態登
録機能における登録結果を参照して判定する判定機能
と、 該判定機能において、分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いると判定された場合には、該第2ソフトウェア保持機
能にて保持された当該変換済プログラムデータに基づい
て、上記分岐命令について実行する分岐実行機能と、 該判定機能において、分岐先のプログラムデータが第2
ソフトウェアを構成するプログラムデータに変換されて
いないと判定された場合には、上記分岐先のアドレスを
上記先頭アドレスとして、上記第1ソフトウェアのプロ
グラムデータを第2ソフトウェアのプログラムデータに
変換したのちに、上記分岐命令について実行する分岐先
変換実行機能とをコンピュータに実現させるためのシミ
ュレーションプログラムが記録されたことを特徴とす
る、コンピュータ読取可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9198283A JPH1097431A (ja) | 1996-07-31 | 1997-07-24 | シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体 |
US08/902,334 US6031988A (en) | 1996-07-31 | 1997-07-29 | Simulation equipment and simulation method and computer readable recording medium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20195896 | 1996-07-31 | ||
JP8-201958 | 1996-07-31 | ||
JP9198283A JPH1097431A (ja) | 1996-07-31 | 1997-07-24 | シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1097431A true JPH1097431A (ja) | 1998-04-14 |
Family
ID=26510890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9198283A Withdrawn JPH1097431A (ja) | 1996-07-31 | 1997-07-24 | シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6031988A (ja) |
JP (1) | JPH1097431A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533578A (ja) * | 2005-03-11 | 2008-08-21 | トランジティブ リミテッド | プログラムコード変換中の実行制御 |
JP2011134315A (ja) * | 2009-12-23 | 2011-07-07 | Intel Corp | 部分的なエミュレーション環境におけるソース命令セットアーキテクチャ(isa)コードから、変換済みコードへの遷移 |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US10649746B2 (en) | 2011-09-30 | 2020-05-12 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US10725755B2 (en) | 2008-11-24 | 2020-07-28 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010039564A1 (en) * | 1997-10-20 | 2001-11-08 | Victor Hahn | Log on personal computer |
US6243668B1 (en) * | 1998-08-07 | 2001-06-05 | Hewlett-Packard Company | Instruction set interpreter which uses a register stack to efficiently map an application register state |
US6484309B2 (en) * | 1998-10-08 | 2002-11-19 | Intel Corporation | Enabling software designed for one operating system to operate on another operating system |
US6415436B1 (en) * | 1998-12-11 | 2002-07-02 | Hewlett-Packard Company | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler |
GB2361787A (en) * | 2000-03-30 | 2001-10-31 | Nintendo Co Ltd | Software embodied method for enabling programs to run on otherwise incompatible architectures |
US6675373B1 (en) * | 2000-09-07 | 2004-01-06 | Universal Conversion Technologies | Automatic generation of balancing logic for data conversion |
JP3808755B2 (ja) * | 2001-11-07 | 2006-08-16 | 富士通株式会社 | Jitコンパイラを備えた仮想計算機 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3942155A (en) * | 1973-12-03 | 1976-03-02 | International Business Machines Corporation | System for packing page frames with segments |
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
US4794522A (en) * | 1985-09-30 | 1988-12-27 | International Business Machines Corporation | Method for detecting modified object code in an emulator |
US5408622A (en) * | 1993-09-23 | 1995-04-18 | Apple Computer, Inc. | Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion |
US5751982A (en) * | 1995-03-31 | 1998-05-12 | Apple Computer, Inc. | Software emulation system with dynamic translation of emulated instructions for increased processing speed |
US5896522A (en) * | 1996-12-31 | 1999-04-20 | Unisys Corporation | Selective emulation interpretation using transformed instructions |
-
1997
- 1997-07-24 JP JP9198283A patent/JPH1097431A/ja not_active Withdrawn
- 1997-07-29 US US08/902,334 patent/US6031988A/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533578A (ja) * | 2005-03-11 | 2008-08-21 | トランジティブ リミテッド | プログラムコード変換中の実行制御 |
US8615749B2 (en) | 2005-03-11 | 2013-12-24 | International Business Machines Corporation | Execution control during program code conversion |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US10725755B2 (en) | 2008-11-24 | 2020-07-28 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
JP2011134315A (ja) * | 2009-12-23 | 2011-07-07 | Intel Corp | 部分的なエミュレーション環境におけるソース命令セットアーキテクチャ(isa)コードから、変換済みコードへの遷移 |
US10649746B2 (en) | 2011-09-30 | 2020-05-12 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
Also Published As
Publication number | Publication date |
---|---|
US6031988A (en) | 2000-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9003422B2 (en) | Microprocessor architecture having extendible logic | |
EP0730226B1 (en) | Hardware support for fast software emulation of unimplemented instructions | |
US3938100A (en) | Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques | |
JPH1097431A (ja) | シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体 | |
JP2937485B2 (ja) | スーパースカラプロセッサにおけるトラップを検出して実行する方法及び装置 | |
KR900003591B1 (ko) | 데이터 처리장치 | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
US4562538A (en) | Microprocessor having decision pointer to process restore position | |
US4541047A (en) | Pipelined data processing system | |
JPS5848147A (ja) | プログラム呼出し方式 | |
JP3202497B2 (ja) | 情報処理装置 | |
JP2669158B2 (ja) | データ処理装置 | |
JP3973129B2 (ja) | キャッシュメモリ装置及びそれを用いた中央演算処理装置 | |
JP3983482B2 (ja) | 高速ディスプレースメント付きpc相対分岐方式 | |
JP3170472B2 (ja) | レジスタ・リマップ構造を有する情報処理システム及び方法 | |
US8271766B2 (en) | Intentionally delaying execution of a copy instruction to achieve simultaneous execution with a subsequent, non-adjacent write instruction | |
JPS5991551A (ja) | 分岐先アドレス予測を行なう命令先取り装置 | |
EP0301707A2 (en) | Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system | |
AU627152B2 (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
JPH0793152A (ja) | マイクロプロセッサ制御装置 | |
JP2901573B2 (ja) | スーパースカラー方式の情報処理装置 | |
JP2004103012A (ja) | プロセッサの動作速度を向上させるキャッシュ構造及びキャッシュ管理方法を有するプロセッサ | |
JPS63251835A (ja) | ベクトル処理装置 | |
JPH07295802A (ja) | プログラムカード及びこれを用いた計算機 | |
JP2870405B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20041005 |