JPH07210397A - プログラム変換方法およびそれを用いたプログラム実行方法 - Google Patents

プログラム変換方法およびそれを用いたプログラム実行方法

Info

Publication number
JPH07210397A
JPH07210397A JP150994A JP150994A JPH07210397A JP H07210397 A JPH07210397 A JP H07210397A JP 150994 A JP150994 A JP 150994A JP 150994 A JP150994 A JP 150994A JP H07210397 A JPH07210397 A JP H07210397A
Authority
JP
Japan
Prior art keywords
instruction
conversion
program
sequence
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP150994A
Other languages
English (en)
Inventor
Asako Sekine
麻子 関根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP150994A priority Critical patent/JPH07210397A/ja
Publication of JPH07210397A publication Critical patent/JPH07210397A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】プログラムを解析することなく、第1のプログ
ラム中の命令列を第2の命令セットの命令列に変換する
プログラム変換および実行方法を提供する。 【構成】プログラム変換アプリケーション113中のプ
ログラム変換部115は第一のプログラム111の入力
を受け、命令変換情報テーブル117を使って、第一の
プログラム中の命令列に対応する変換命令ルーチンを指
定する変換命令ルーチン番号を獲得し、獲得した変換命
令ルーチン番号に応じて、変換命令ルーチンファイル1
19を使って、第一のプログラム中の命令列を第二の命
令セットの命令列に変換する。 【効果】第一のプログラムの一命令あたりに実行する第
二の命令セットの命令数を減少させることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、第一の命令セットを有
する第一のプロセッサ用に表された第一のプログラム中
の命令列を、異なる第二の命令セットを有する第二のプ
ロセッサ用の命令列に変換するプログラム変換方法およ
びそれを用いたプログラム実行方法に関する。
【0002】
【従来の技術】近年、コンピュータ技術の進歩により、
プロセッサは急速に変化してきている。このため、以前
のプロセッサ用に表されたプログラムが、新しいプロセ
ッサで実行できない事態が生じる。第一のプロセッサを
有する第一のプロセッサ用に表されたプログラムを異な
る第二の命令セットを有する第二のプロセッサで実行す
るためには、第一のプロセッサ用に表されたプログラム
中の命令列を異なる第二のプロセッサ用の命令列に変換
し、第二のプロセッサで実行する方法が有効である。
【0003】例えば、プロシーディング オブ ザ 1
992 エイシーエム インタナショナルコンファレン
ス オン スーパーコンピューティング(Proceeding of
the1992 ACM International Conference on Supercomp
uting(ICS '92),p198〜p215)(公知
例1)では、プログラム実行以前にプログラム解析を行
い、第一のプログラム中の命令列を用意した第二の命令
セットの命令列に変換できる場合は、対応する第二の命
令セットの命令列を実行する命令を埋め込んだプログラ
ムに変換する。そして、第一のプロセッサを模擬するイ
ンタプリタを用意した第二のプロセッサで、変換された
プログラムを実行する。
【0004】ここで、このインタプリタは第二の命令セ
ットの命令列で表されている。その際、対応する第二の
命令セットの命令列がない第一のプログラムの命令列は
インタプリタで実行し、対応する第二の命令セットの命
令列がある第一のプログラムの命令列は対応する第二の
命令セットの命令列を実行する。
【0005】また、特開平2−5139 号公報(公知例2)
では、第一のプログラムの命令フローをグラフ解析し、
第二の命令セットの命令フローに変換し、第二のプロセ
ッサで第一のプログラムをシミュレートしている。
【0006】この方法では、プログラム変換過程でグラ
フ解析により後続の命令が条件コードを使用するかどう
かを検出し、条件コード設定が不要な命令の条件コード
設定処理を省略する。その結果、第一のプログラムの命
令を1命令毎に第二の命令セットの命令列に変換する場
合よりも、第一のプログラムの1命令あたりに実行する
第二の命令セットの命令数が減少し、処理性能が向上す
る。
【0007】また、特開平2−5140 号公報(公知例3)
では、第一のプログラム中のメモリ更新命令を調べて、
その命令が第一のプログラム中の後続命令を変更するか
どうかを判別し、プログラム実行中に命令が変更された
場合に、変更前の命令に応じて変換された第二の命令セ
ットの命令列を実行されることを防止する。
【0008】なお、本願明細書においては、「命令列」
を、単数あるいは連続した複数命令を示す用語として使
用する。
【0009】
【発明が解決しようとする課題】公知例1では、第一の
プログラムを解析し、第一のプログラム中の命令列が対
応する第二の命令セットの命令列に変換できる場合は、
対応する第二の命令セットの命令列を実行する命令を埋
め込んでいるが、実行以前にプログラム解析が必要であ
る。
【0010】また、公知例2では、第一のプログラムの
命令フローを解析し、第二のプログラムから不要な処理
を行う命令列を省略することにより実行する命令数を減
少させ、処理性能を向上している。しかし、この場合
も、プログラム解析が必要になる。このように、公知例
1および公知例2とともに、プログラム解析を必要と
し、そのプログラム解析方法は複雑である。
【0011】本発明の第一の目的は、第一の命令セット
を有するプロセッサ用に表された第一のプログラム中の
命令列を異なる第二の命令セットを有する第二のプロセ
ッサ用の命令列に変換するプログラム変換方法で、プロ
グラムを解析することなく、第一のプログラムの命令を
1命令毎に第二の命令セットの命令列に変換する場合よ
りも、第一のプログラムの1命令あたりに実行する第二
の命令セットの命令数を減少させるプログラム変換方法
を提供することにある。
【0012】また、公知例3では、第一のプログラム中
のメモリ更新命令を調べることにより、プログラム実行
中に命令が変更された場合に、変更前の命令に応じて変
換された第二の命令セットの命令列が実行されることを
防止しているが、この方法では、メモリ更新命令の調査
が必要になる。
【0013】本発明の第二の目的は、第一の命令セット
を有する第一のプロセッサ用に表された第一のプログラ
ム中の命令列を、異なる第二の命令セットを有する第二
のプロセッサ用の命令列に変換し、第二のプロセッサで
実行するプログラム実行方法で、プログラム中の命令を
調査することなく、プログラム実行中に命令が変換され
た場合、変更前の命令に応じて変換された第二の命令セ
ットの命令列が実行されることを防止するプログラム実
行方法を提供することにある。
【0014】
【課題を解決するための手段】前記第一の目的を達成す
るために、本発明のプログラム変換方法では、第一の命
令セットの命令列に対応する変換命令ルーチンと呼ぶ第
二の命令セットの命令列を指定する変換命令ルーチン番
号を有する命令変換情報テーブルを使って、第一のプロ
グラム中の命令列に対応する変換命令ルーチンを指定す
る変換命令ルーチン番号を獲得するステップと、前記変
換命令ルーチンを複数個有する変換命令ルーチンファイ
ルを使って、第一のプログラム中の命令列を第二の命令
セットの命令列に変換するステップとを有し、プログラ
ム変換部が、前記変換命令ルーチン番号に応じて、前記
変換ステップを行う。
【0015】また、上記第二の目的を達成するために、
本発明のプログラム実行方法では、前記命令変換情報テ
ーブルを使って、第一のプログラム中の命令列に対応す
る変換命令ルーチンを指定する変換命令ルーチン番号を
獲得するステップと、前記変換命令ルーチンファイルを
使って、第一のプログラム中の命令列を第二の命令セッ
トの命令列に変換するステップと、変換された命令列を
第二のプロセッサで実行するステップとを有し、前記実
行ステップを、第一のプログラム中の命令列が前記プロ
グラム変換方法により第二の命令セットの命令列に変換
される毎に行う。
【0016】
【作用】本発明のプログラム変換方法では、命令変換情
報テーブルを使って、第一のプログラム中の命令列に対
応する変換命令ルーチンを指定する変換命令ルーチン番
号を獲得し、獲得した変換命令ルーチン番号に応じて、
変換命令ルーチンファイルを使って、第一のプログラム
中の命令列を第2の命令セットの命令列に変換する。前
記変換命令ルーチンは、第一のプログラム中の命令列が
複数命令からなる命令列の場合、不要な処理の命令列の
削除、あるいは、第二の命令セットにおける高機能命令
の使用が可能になる。
【0017】以上より、第一の命令セットを有する第一
のプロセッサ用に表された第一のプログラム中の命令列
を異なる第二の命令セットを有する第二のプロセッサ用
の命令列に変換するプログラム変換方法で、プログラム
を解析することなく、第1のプログラム中の命令を1命
令毎に第二の命令セットの命令列に変換する場合より
も、第一のプログラムの1命令あたりに実行する第二の
命令セットの命令数を減少させることが可能になる。
【0018】また、本発明のプログラム実行方法では、
命令変換情報テーブルを使って、第一のプログラム中の
命令列に対応する変換命令ルーチンを指定する変換命令
ルーチン番号を獲得し、変換命令ルーチンファイルを使
って、第一のプログラム中の命令列が前記プログラム変
換方法により第二の命令セットの命令列に変換される毎
に、変換された命令列を第二のプロセッサで実行する。
また、変換命令ルーチンファイル中に、メモリ更新命令
の後にさらに命令が続くような命令列の変換命令ルーチ
ンを備えなければ、メモリ更新命令が命令を変更した場
合もプログラム実行には影響を与えない。
【0019】以上より、第一の命令セットを有する第一
のプロセッサ用に表された第一のプログラムの命令列を
異なる第二の命令セットを有する第二のプロセッサ用の
命令列に変換し、第二のプロセッサで実行するプログラ
ム実行方法において、プログラム中の命令を調査するこ
となく、プログラム実行中に命令が変更された場合、変
更前の命令に応じて変換された第二の命令セットの命令
列が実行されることを防止することが可能になる。
【0020】
【実施例】まず、第一の実施例として、プログラム変換
方法を説明する。第一の実施例の特徴は、命令順序や変
換命令ルーチン番号等の情報を命令変換情報テーブルか
ら得ることにより、プログラムを解析することなく、第
一のプログラム中の命令列を第二の命令セットの命令列
に変換することにある。
【0021】図1は、本発明の一実施例のプログラム変
換システムの概要を示すブロック図である。図1で、1
01はプログラム変換システムへの入力、103はプロ
グラム変換システムのCPU、105はプログラム変換
システムのメモリを示す。
【0022】プログラム変換システムは、第一の命令セ
ットを有する第一のプロセッサ用に表された第一のプロ
グラム111を入力とする。
【0023】また、メモリは、第一のプログラム中の命
令列を第二の命令セットの命令列に変換するために、プ
ログラム変換アプリケーション113を備える。プログ
ラム変換アプリケーションは、第一のプログラム中の命
令列を第二の命令セットの命令列に変換する処理を行う
プログラム変換部115と、第一の命令セットの命令列
に対応する変換命令ルーチンと呼ぶ第二の命令セットの
命令列を指定する変換命令ルーチン番号を有する命令変
換情報テーブル117と、変換命令ルーチンを複数個有
する変換命令ルーチンファイル119を有する。
【0024】プログラム変換部115は、第一のプログ
ラム111から命令列を取り出し、命令変換情報テーブ
ルと変換命令ルーチンファイルを使って、対応する第二
の命令セットの命令に変換し、変換された命令列121
をメモリ内に格納する。
【0025】図2は、第一のプログラム例を示す図であ
る。第一のプログラム例131において、命令TMは比
較命令であり、比較結果に基づいて条件コードを設定す
る。また、命令BCは条件分岐命令であり、分岐条件が
成立する場合は指定されたアドレスに分岐し、不成立の
場合は後続命令(この例では命令L)を実行する。
【0026】入力となる第一のプログラム中の命令は、
アセンブラコードのように各命令が識別可能な場合は、
命令番号を命令識別子として各命令に付けておく。な
お、オブジェクトコードのように各命令が識別不可能な
場合は、アドレスを付け、命令の先頭アドレスで各命令
を識別してもよい。以下、第一のプログラムとして、各
命令に命令番号を付けたプログラムを取り上げることに
する。
【0027】第一のプログラム中の命令列を第二の命令
セットの命令列に変換するために、プログラム変換アプ
リケーションは、プログラム変換部以外に、命令変換情
報テーブルおよび変換命令ルーチンファイルを保持す
る。
【0028】図3は、命令変換情報テーブルの例の一部
である。本発明のプログラム変換方法における命令変換
情報テーブルは、対応する変換命令ルーチンを有してい
る第一の命令セットの命令の並びを示す命令順序と、そ
の命令順序に更に命令が続いた命令順序の有無を示す後
続命令の可能性と、その命令順序に対応する変換命令ル
ーチンを指定する変換命令ルーチン番号と、その命令順
序に現われる第一の命令セットの命令数を示す被変換命
令数を情報としてテーブル形式131で定義している。
第一のプログラムの命令にアドレスを付け、命令の先頭
アドレスで各命令を識別している場合は、被変換命令数
に替わるものとして、その命令順序の占めるバイト数等
を与えることも可能である。また、変換命令ルーチンフ
ァイルは、第一の命令セットの命令列に対応する変換命
令ルーチンを複数個有し、各々の変換命令ルーチンは変
換命令ルーチン番号で指定することができる。
【0029】ここでは、命令順序として、〔AR r
1,r2〕,〔TM 10(r2),0x55〕,〔TM
10(r2),0x55−BC 0x5,10(r2,r
3)〕,〔L r3,10(r1)〕を定義している。こ
のとき、AR,TM,BC,Lは、命令のニーモニック
であり、〔TM 10(r2),0x55−BC 0x
5,10(r2,r3)〕は「命令〔TM 10(r2),
0x55〕のあとに命令〔BC 0x5,10(r2,
r3)〕が続く」命令順序を示す。
【0030】図2の命令変換情報テーブルにおいて、命
令〔TM 10(r2),0x55〕は、更に命令が続い
た命令順序がある可能性を有しており、命令〔TM10
(r2),0x55〕に対応する変換命令ルーチン番号は
ルーチン2であり、被変換命令数は1である。また、命
令列〔TM 10(r2),0x55−BC0x5,10
(r2,r3)〕は、更に命令が続いた命令順序がある可
能性はなく、対応する変換命令ルーチン番号は21であ
り、被変換命令数は2である。
【0031】図4は、変換命令ルーチンファイルの例の
一部である。本発明のプログラム変換方法における変換
命令ルーチンファイルは、第一の命令セットの命令列に
対応する変換命令ルーチンを有している。ここでは、命
令順序として、図3における命令〔TM 10(r2),
0x55〕に対応する変換命令ルーチン番号2の変換命
令ルーチン135と、命令〔TM 10(r2),0x5
5−BC 0x5,10(r2,r3)〕、に対応する変
換命令ルーチン番号21の変換命令ルーチン137を示
している。
【0032】図5は、第一の実施例のプログラム変換処
理を示すフローチャートである。
【0033】最初に、ステップ(以下Sと記す)301
で変換対象命令番号を1にする。次に、S303で変換
対象命令番号がプログラム変換処理を終了する変換終了
番号に等しいか否かを判定し、等しい場合は、プログラ
ム変換処理を終了し、等しくない場合は、S305以降
の命令変換ルーチン番号獲得処理及び変換処理を実行す
る。
【0034】プログラム変換部は、S305において、
第一のプログラムから「変換対象命令番号が指定する命
令」を取り出し、変換対象命令列とする。次に、S30
7において、変換命令情報テーブルで変換対象命令列を
検索し、命令変換情報テーブルに変換対象命令列がある
場合にはS309に、ない場合にはS317に進む。S
309では、変換対象命令列に対応する変換命令ルーチ
ン番号と被変換命令数を変換命令情報テーブルから得
る。そして、S311で、変換対象命令列に後続命令の
可能性があるか否かを変換情報テーブルを使って判定
し、後続命令の可能性がある場合はS313に、ない場
合はS317に進む。S313において、変換対象命令
番号に1を足した値が変換終了番号に等しくない場合は
S315に進み、等しい場合はS321に進む。S31
5においては、「変換対象命令列に次命令を付加した命
令列」を変換対象命令列とし、S307に進み、S30
7以降の処理を行う。
【0035】S307で、命令変換情報テーブルに変換
対象命令列がない場合、あるいは、S311において、
更に命令が続いた命令順序がある可能性がない場合に
は、S317に進むが、S317では、変換命令ルーチ
ン番号の指定する変換命令ルーチンを変換命令ルーチン
ファイルから取り出し、第二の命令セットの命令列に変
換する。そして、S319において、「変換対象命令番
号に被変換命令数を足した値」を変換対象命令番号と
し、S303に進み、S303以降の処理を行う。
【0036】S313で、変換対象命令番号に1を足し
た値が変換終了番号に等しい場合は、S321に進む
が、S321では、変換命令ルーチン番号の指定する変
換命令ルーチンを変換命令ルーチンファイルから取り出
し、第二の命令セットの命令列に変換し、プログラム変
換処理を終了する。
【0037】前記プログラム変換方法について、図2で
示した第一のプログラム例中の〔TM 10(r2),0
x55〕と〔BC 0x5,10(r2,r3)〕の命令
列を用いて説明する。
【0038】本発明のプログラム変換方法の説明にあた
り、現在の変換対象命令番号は5であるとし、変換終了
番号は100であるとする。また、命令〔TM 10
(r2),0x55〕は条件コードに3を設定し、命令
〔BC 0x5,10(r2,r3)〕は分岐条件が成立
する命令であるとする。また、命令変換情報テーブルは
図3で示した命令変換情報テーブルを、変換命令ルーチ
ンファイルは図4で示した変換命令ルーチンファイルを
使用する。
【0039】本発明のプログラム変換処理を示す図5の
S303で、現在の変換対象命令番号は5であり、変換
終了番号100とは等しくないため、S305に進む。
【0040】S305で、命令〔TM 10(r2),0
x55〕を変換対象命令列とし、S307で、図3で示
した命令変換情報テーブルで命令〔TM 10(r2),
0x55〕が命令順序としてあるため、S309に進
む。S309において、変換命令ルーチン番号2と被変
換命令数1を変換命令情報テーブルから得る。そして、
S311で、命令〔TM 10(r2),0x55〕は更
に命令が続いた命令順序がある可能性があるので、S3
13に進む。S313において、変換対象命令番号5に
1を足した6が変換終了番号100に等しくないので、
S315に進む。S315で、「変換対象命令列〔TM
10(r2),0x55〕と次命令〔BC 0x5,1
0(r2,r3)〕を続けた命令列」を変換対象命令列と
する。
【0041】次に、S307で、図3で示した命令変換
情報テーブルで命令列〔TM10(r2),0x55−B
C 0x5,10(r2,r3)〕が命令順序としてある
ため、S309に進む。S309で、変換命令ルーチン
番号21と被変換命令数2を変換命令情報テーブルから
得る。そして、S311で、命令列〔TM10(r2),
0x55−BC 0x5,10(r2,r3)〕は更に命
令が続いた命令順序がある可能性がないので、S317
に進む。
【0042】S317で、変換命令ルーチン番号21の
指定する変換命令ルーチンを図4で示した変換命令ルー
チンファイルから取り出し、第二の命令セットの命令列
に変換する。そして、S319に進み、変換対象命令番
号5に被変換命令数2を足した7を変換対象命令番号と
し、S303に進み、変換対象命令番号7以降の命令の
変換命令ルーチン番号獲得処理及び変換処理を行う。
【0043】図6は図2に示したプログラムにおける
〔TM 10(r2),0x55〕と〔BC 0x5,1
0(r2,r3)〕の命令列を、プログラム解析を行わ
ず、プログラム中の1命令毎に第二の命令セットの命令
列に変換した場合の命令列例141を示す。また図7は
本発明のプログラム変換方法で第二の命令セットの命令
列に変換した場合の命令列例143を示す。
【0044】図6及び図7において、アスタリスク*を
付けた命令は、命令〔TM10(r2),0x55〕が条
件コード3を設定し、命令〔BC 0x5,10(r
2,r3)〕が成立分岐をする場合に実行する命令であ
ることを示す。1命令毎に変換した場合、実行する命令
が16命令であったのに対し、本発明のプログラム変換
方法により変換した場合は、実行する命令が13命令に
なり、本発明のプログラム変換方法により、第一のプロ
グラムの1命令あたりに実行する第二の命令セットの命
令数が減少したことが分かる。
【0045】1命令毎に変換した場合は、命令〔TM
10(r2),0x55〕の比較処理の結果として条件コ
ードを設定し、命令〔BC 0x5,10(r2,r
3)〕の分岐判定処理として設定された条件コードを分
岐条件に照らしあわせた後、分岐処理を行っている。そ
れに対し、2命令をまとめて変換した場合は、比較処理
と分岐判定処理を第二の命令セットの高機能命令を用い
て同時に行っている。このように、第一のプログラム中
の複数命令をまとめて第二の命令セットの命令列に変換
すると、第一のプログラムの1命令あたりに実行する第
二の命令セットの命令数を減少させることができる。
【0046】次に、第二の実施例として、プログラム実
行方法を説明する。第二の実施例の特徴は、先述したプ
ログラム変換方法をプログラム実行方法に利用すること
により、第一のプログラムの命令列を第二の命令セット
の命令列に変換する毎に変換された命令列を実行するこ
とにある。
【0047】図8のブロック図を用いて、本プログラム
実行システムの概要を説明する。図8において、151
はプログラム実行システムへの入力、153はプログラ
ム実行システムのCPU、155はプログラム実行シス
テムのメモリ、157はプログラム実行システムの出力
を保持する磁気メモリを示す。
【0048】プログラム実行システムは、第一の命令セ
ットを有する第一のプロセッサ用に表された第一のプロ
グラム161を入力とする。
【0049】また、メモリは、第一のプログラム中の命
令列を第二の命令セットの命令列に変換するために、プ
ログラム変換アプリケーション163を備える。プログ
ラム変換アプリケーションは、第一のプログラム中の命
令列を第二の命令セットの命令列に変換する処理を行う
プログラム変換部165と、第一の命令セットの命令列
に対応する変換命令ルーチンと呼ぶ第二の命令セットの
命令列を指定する変換命令ルーチン番号を有する命令変
換情報テーブル167と、変換命令ルーチンを複数個有
する変換命令ルーチンファイル169を有する。
【0050】プログラム変換部165は、第一のプログ
ラム161から命令列を取り出し、命令変換情報テーブ
ルと変換命令ルーチンファイルを使って、対応する第二
の命令セットの命令に変換し、変換された命令列171
をメモリ内に格納し、CPU153が変換された命令列
を実行し、プログラム実行結果173を出力する。
【0051】入力となる第一のプログラムには、実施例
1と同様に、各命令に命令番号を付けておく。
【0052】ここで、本発明のプログラム実行方法にお
ける命令変換情報テーブル及び変換命令ルーチンファイ
ルは、プログラム実行方法における命令変換情報テーブ
ル及び変換命令ルーチンファイルと同様の構成及び内容
である。但し、第二の目的を達成するために、命令変換
情報テーブルの情報である命令順序として、メモリ更新
命令の後にさらに命令が続いた命令順序は指定しない。
【0053】図9は、本実施例のプログラム実行処理を
示すフローチャートである。
【0054】最初に、S351で変換対象命令番号を1
にする。次に、S353で変換対象命令番号がプログラ
ム変換処理を終了する変換終了番号に等しいか否かを判
定し、等しい場合は、プログラム変換処理を終了し、等
しくない場合は、S355以降の命令変換ルーチン番号
獲得処理,変換処理及び実行処理を実行する。
【0055】プログラム変換部は、S355において、
第一のプログラムから「変換対象命令番号が指定する命
令」を取り出し、変換対象命令列とする。次に、S35
7において、変換命令情報テーブルで変換対象命令列を
検索し、命令変換情報テーブルに変換対象命令列がある
場合にはS359に、ない場合にはS367に進む。S
359では、変換対象命令列に対応する変換命令ルーチ
ン番号と被変換命令数を変換命令情報テーブルから得
る。そして、S361で、変換対象命令列に後続命令の
可能性があるか否かを変換情報テーブルを使って判定
し、後続命令の可能性がある場合はS363に、ない場
合はS367に進む。S363で、変換対象命令番号に
1を足した値が変換終了番号に等しくない場合はS36
5に進み、等しい場合はS373に進む。S365で
は、「変換対象命令列に次命令を付加した命令列」を変
換対象命令列とし、S357に進み、S357以降の処
理を行う。
【0056】S327で、命令変換情報テーブルに変換
対象命令列がない場合、あるいは、S361で、後続命
令の可能性がない場合には、S367に進むが、S36
7では、変換命令ルーチン番号の指定する変換命令ルー
チンを変換命令ルーチンファイルから取り出し、第二の
命令セットの命令列に変換し、変換された命令列をメモ
リに格納する。S369で、プログラム実行部は、変換
された命令列をメモリから取り出し実行する。そして、
S371で、「変換対象命令番号に被変換命令数を足し
た値」を変換対象命令番号とし、S353に進み、S3
53以降の処理を行う。
【0057】S363で、変換対象命令番号に1を足し
た値が変換終了番号に等しい場合は、S373に進む
が、S373では、変換命令ルーチン番号の指定する変
換命令ルーチンを変換命令ルーチンファイルから取り出
し、第二の命令セットの命令列に変換する。S375
で、プログラム実行部は、変換された命令列を実行し、
プログラム変換処理を終了する。
【0058】
【発明の効果】本発明のプログラム変換方法によれば、
第一の命令セットを有する第一のプロセッサ用に表され
た第一のプログラム中の命令列を、異なる第二の命令セ
ットを有する第二のプロセッサ用の命令列に変換するプ
ログラム変換方法において、プログラムを解析すること
なく、第一のプログラムの命令を1命令毎に第二の命令
セットの命令列に変換する場合よりも、第一のプログラ
ムの1命令あたりに実行する第二の命令セットの命令数
を減少させることが可能になる。従って、複雑なプログ
ラム解析方法を必要とすることなく、第二のプロセッサ
において、高速に第一のプログラムを実行することがで
きる。
【0059】また、本発明のプログラム実行方法によれ
ば、第一の命令セットを有する第一のプロセッサ用の第
一のプログラムを、異なる第二の命令セットを有する第
二のプロセッサ用の命令列に変換し、第二のプロセッサ
で実行するプログラム実行方法において、プログラムの
命令を調査することなく、プログラム実行中に命令が変
換された場合、変更前の命令に応じて変換された第二の
命令セットの命令列が実行されることを防止することが
可能になる。
【図面の簡単な説明】
【図1】本発明の第一の実施例のプログラム変換システ
ムの概要を示すブロック図。
【図2】第一のプログラム例を示す説明図。
【図3】命令変換情報テーブル例を示す説明図。
【図4】変換命令ルーチンファイル例を示す説明図。
【図5】第一の実施例のプログラム変換処理を示すフロ
ーチャート。
【図6】1命令毎に変換した場合の命令列例を示す説明
図。
【図7】本発明のプログラム変換方法で変換した場合の
命令列例を示す説明図。
【図8】第二の実施例のプログラム実行システムの概要
を示すブロック図。
【図9】第二の実施例のプログラム実行処理を示すフロ
ーチャート。
【符号の説明】
101…プログラム変換システムへの入力、103…プ
ログラム変換システムのCPU、105…プログラム変
換システムのメモリ、111…第1のプログラム、11
3…プログラム変換アプリケーション、115…プログ
ラム変換部、117…命令変換情報テーブル、119…
変換命令ルーチンファイル、121…変換された命令
列。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】第1の命令セットを有する第1のプロセッ
    サ用に表された第一のプログラム中の命令列を、異なる
    第2の命令セットを有する第二のプロセッサ用の命令列
    に変換するプログラム変換方法において、 前記第一の命令セットの命令列に対応する変換命令ルー
    チンと呼ぶ前記第二の命令セットの命令列を指定する変
    換命令ルーチン番号を有する命令変換情報テーブルを使
    って、前記第1のプログラム中の命令列に対応する変換
    命令ルーチンを指定する変換命令ルーチン番号を獲得す
    るステップと、前記変換命令ルーチンを複数個有する変
    換命令ルーチンファイルを使って、前記第一のプログラ
    ム中の命令列を前記第二の命令セットの命令列に変換す
    るステップとを有し、プログラム変換部が前記変換命令
    ルーチン番号に応じて、前記変換ステップを行うことを
    特徴とするプログラム変換方法。
  2. 【請求項2】第1の命令セットを有する第1のプロセッ
    サ用に表された第1のプログラム中の命令列を、異なる
    第2の命令セットを有する第2のプロセッサ用の命令列
    に変換し、第2のプロセッサで実行するプログラム実行
    方法において、 前記第1の命令セットの命令列に対応する変換命令ルー
    チンと呼ぶ前記第2の命令セットの命令列を指定する変
    換命令ルーチン番号を有する命令変換情報テーブルを使
    って、第1のプログラム中の命令列に対応する変換命令
    ルーチンを指定する変換命令ルーチン番号を獲得するス
    テップと、前記変換命令ルーチンを複数個有する変換命
    令ルーチンファイルを使って、第1のプログラム中の命
    令列を第2の命令セットの命令列に変換するステップ
    と、変換された命令列を第2のプロセッサで実行するス
    テップとを有し、第1のプログラム中の命令列が、第2
    の命令セットの命令列に変換される毎に前記実行ステッ
    プを行うことを特徴とするプログラム実行方法。
JP150994A 1994-01-12 1994-01-12 プログラム変換方法およびそれを用いたプログラム実行方法 Pending JPH07210397A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP150994A JPH07210397A (ja) 1994-01-12 1994-01-12 プログラム変換方法およびそれを用いたプログラム実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP150994A JPH07210397A (ja) 1994-01-12 1994-01-12 プログラム変換方法およびそれを用いたプログラム実行方法

Publications (1)

Publication Number Publication Date
JPH07210397A true JPH07210397A (ja) 1995-08-11

Family

ID=11503459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP150994A Pending JPH07210397A (ja) 1994-01-12 1994-01-12 プログラム変換方法およびそれを用いたプログラム実行方法

Country Status (1)

Country Link
JP (1) JPH07210397A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502516A (ja) * 1996-12-31 2002-01-22 ユニシス・コーポレイション 変換後命令を使用する選択的エミュレーションインタープリテーション
US7299460B2 (en) 2003-05-29 2007-11-20 Nec Corporation Method and computer program for converting an assembly language program for one processor to another
JP2018028777A (ja) * 2016-08-17 2018-02-22 Necプラットフォームズ株式会社 エミュレーション装置、エミュレーション方法、及び、エミュレーションプログラム
US11556317B2 (en) 2020-05-22 2023-01-17 Fujitsu Limited Instruction translation support method and information processing apparatus
US11635947B2 (en) 2020-05-22 2023-04-25 Fujitsu Limited Instruction translation support method and information processing apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502516A (ja) * 1996-12-31 2002-01-22 ユニシス・コーポレイション 変換後命令を使用する選択的エミュレーションインタープリテーション
US7299460B2 (en) 2003-05-29 2007-11-20 Nec Corporation Method and computer program for converting an assembly language program for one processor to another
JP2018028777A (ja) * 2016-08-17 2018-02-22 Necプラットフォームズ株式会社 エミュレーション装置、エミュレーション方法、及び、エミュレーションプログラム
US10268462B2 (en) 2016-08-17 2019-04-23 Nec Platforms, Ltd. Emulation device, emulation method, and recording medium storing emulation program
US11556317B2 (en) 2020-05-22 2023-01-17 Fujitsu Limited Instruction translation support method and information processing apparatus
US11635947B2 (en) 2020-05-22 2023-04-25 Fujitsu Limited Instruction translation support method and information processing apparatus

Similar Documents

Publication Publication Date Title
US5946488A (en) Method for selectively and incrementally displaying the results of preprocessing
US20080295080A1 (en) Program Maintenance Support Device, Program Maintenance Supporting Method, and Program for the Same
JPH08234975A (ja) プログラム生成装置および方法
CN113408597B (zh) 一种基于两阶段框架的Java方法名推荐方法
JPH07210397A (ja) プログラム変換方法およびそれを用いたプログラム実行方法
JP3418544B2 (ja) プログラムのテストデータ自動生成装置
JP3318051B2 (ja) 翻訳処理方法
JPH0667871A (ja) プログラム自動更新方式
US20140173572A1 (en) Constraint derivation in context following for use with object code insertion
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
JP3166699B2 (ja) オブジェクト指向プログラム設計支援装置、方法および記録媒体
JPH0411888B2 (ja)
JPH04239338A (ja) マイクロプログラム網羅率測定方式
JPH0362227A (ja) 高速再翻訳処理方式
McIsaac Combining ALGOL statement analysis with validity checking
JP3208300B2 (ja) プログラム中の物理実体の使用形式抽出方法および関連抽出方法
JPH07122880B2 (ja) 文字列検索方式
JP3087699B2 (ja) 定型情報簡易入力システム及び定型情報簡易入力方法
JP3192686B2 (ja) 自然言語処理システム
JPH05334391A (ja) 制御回路生成装置
JP2002055854A (ja) 計算機プログラム計測装置
JPH0553782A (ja) 特定部分の動的特性解析情報取得方式
JPH04241672A (ja) 文字列検索方式
JPH10207738A (ja) 言語処理システム
JPH10171656A (ja) スクリプト言語処理装置