JP2002108611A - プログラム変換装置およびプログラム変換方法 - Google Patents

プログラム変換装置およびプログラム変換方法

Info

Publication number
JP2002108611A
JP2002108611A JP2000296105A JP2000296105A JP2002108611A JP 2002108611 A JP2002108611 A JP 2002108611A JP 2000296105 A JP2000296105 A JP 2000296105A JP 2000296105 A JP2000296105 A JP 2000296105A JP 2002108611 A JP2002108611 A JP 2002108611A
Authority
JP
Japan
Prior art keywords
instruction group
program
instruction
group
main processor
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
JP2000296105A
Other languages
English (en)
Other versions
JP2002108611A5 (ja
Inventor
Hitoshi Takahashi
均 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000296105A priority Critical patent/JP2002108611A/ja
Publication of JP2002108611A publication Critical patent/JP2002108611A/ja
Publication of JP2002108611A5 publication Critical patent/JP2002108611A5/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プログラムを効率よく変換する。 【解決手段】 記憶手段1は、所定の関連を有する少な
くとも1以上の命令から構成される第1のプロセッサ用
の第1の命令群と、それに対応する第2のプロセッサ用
の第2の命令群とを関連付けて記憶している。読み込み
手段2は、外部から第1のプログラムを読み込む。第1
の命令群抽出手段3は、読み込み手段2によって読み込
まれた第1のプログラムに含まれている第1の命令群を
抽出する。第2の命令群取得手段4は、第1の命令群抽
出手段3によって抽出された第1の命令群に対応する第
2の命令群を記憶手段1から取得する。置換手段5は、
第2の命令群取得手段4によって取得された第2の命令
群によって第1の命令群を置換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム変換装置
およびプログラム変換方法に関し、特に、第1のメイン
プロセッサ用の第1のプログラムを第2のメインプロセ
ッサ用の第2のプログラムに変換するプログラム変換装
置およびプログラム変換方法に関する。
【0002】
【従来の技術】近年、CPU(Central Processing Uni
t)等のメインプロセッサを使用した電気機器が市場に
多く出回っている。
【0003】このようなメインプロセッサを用いて電気
機器を制御する場合には、プログラムが必要であり、こ
のプログラムの開発に費やすコストは、製品全体のコス
トに比較しても大きなウエイトを占める場合が多い。
【0004】ところで、メインプロセッサがバージョン
アップされたような場合には、前述のようなプログラム
もバージョンアップするか、または、新たに作り直す必
要が生じる。
【0005】従来において、前者のバージョンアップを
行う場合であって、プログラムが機械語で記述されてい
る場合には、(1)プログラムをC言語などの高級言語
に翻訳した後、コンパイル処理を施して新たなバージョ
ンのメインプロセッサに対応する機械語を生成するか、
(2)機械語を1命令ずつ対応する命令に変換する方法
が用いられていた。
【0006】
【発明が解決しようとする課題】しかしながら、(1)
の方法では、高級言語によって新たにプログラムを作成
しなおす必要があり、新規にプログラムを作成する場合
に近いコストを要するという問題点があった。
【0007】また、(2)の方法では、変換の前後のメ
インプロセッサで命令体系が1対1に対応している場合
には問題ないが、そうでない場合には、命令によって実
行される内容のみならずフラグ変化等まで忠実に変化す
る必要があるので、これらを手当てするための補助的な
命令群の付加により、もとのプログラムに比較して命令
数が著しく増加することが多かった。そのため、プログ
ラムの実行効率が低下するとともに、プログラムを格納
するためのメモリを余分に消費してしまうという問題点
があった。
【0008】本発明はこのような点に鑑みてなされたも
のであり、機械語で記述されたプログラムを効率よく変
換することが可能なプログラム変換装置およびプログラ
ム変換方法を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明では上記課題を解
決するために、図1に示す、第1のメインプロセッサ用
の第1のプログラムを第2のメインプロセッサ用の第2
のプログラムに変換するプログラム変換装置において、
所定の関連を有する少なくとも1以上の命令から構成さ
れる第1のプロセッサ用の第1の命令群と、それに対応
する第2のプロセッサ用の第2の命令群とを関連付けて
記憶する記憶手段1と、第1のプログラムを読み込む読
み込み手段2と、読み込み手段2によって読み込まれた
第1のプログラムに含まれている第1の命令群を抽出す
る第1の命令群抽出手段3と、第1の命令群抽出手段3
によって抽出された第1の命令群に対応する第2の命令
群を記憶手段1から取得する第2の命令群取得手段4
と、第2の命令群取得手段4によって取得された第2の
命令群によって第1の命令群を置換する置換手段5とを
有することを特徴とするプログラム変換装置が提供され
る。
【0010】ここで、記憶手段1は、例えば、目的とな
る演算を実行する等の所定の関連を有する少なくとも1
以上の命令から構成される第1のプロセッサ用の第1の
命令群と、それに対応する第2のプロセッサ用の第2の
命令群とを関連付けて記憶する。読み込み手段2は、外
部から変換の対象となる第1のプログラムを読み込む。
第1の命令群抽出手段3は、読み込み手段2によって読
み込まれた第1のプログラムに含まれている所定の関連
を有する第1の命令群を抽出する。第2の命令群取得手
段4は、第1の命令群抽出手段3によって抽出された第
1の命令群に対応する第2の命令群を記憶手段1から取
得する。置換手段5は、第2の命令群取得手段4によっ
て取得された第2の命令群によって第1の命令群を置換
する。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明のプログラム変換
装置の動作原理を説明する原理図である。この図に示す
ように、本発明のプログラム変換装置は、記憶手段1、
読み込み手段2、第1の命令群抽出手段3、第2の命令
群取得手段4、および、置換手段5によって構成されて
いる。
【0012】記憶手段1は、所定の関連を有する少なく
とも1以上の命令から構成される第1のプロセッサ用の
第1の命令群と、それに対応する第2のプロセッサ用の
第2の命令群とを関連付けて記憶する。ここで、第1の
メインプロセッサは、例えば、CISC(Complex Inst
ruction Set Computer)であり、また、第2のメインプ
ロセッサは、例えば、RISC(Reduced Instruction
Set Computer)である。
【0013】読み込み手段2は、変換の対象となる第1
のプログラムを読み込む。第1の命令群抽出手段3は、
読み込み手段2によって読み込まれた第1のプログラム
に含まれている第1の命令群を抽出する。
【0014】第2の命令群取得手段4は、第1の命令群
抽出手段3によって抽出された第1の命令群に対応する
第2の命令群を記憶手段1から取得する。置換手段5
は、第2の命令群取得手段4によって取得された第2の
命令群によって第1の命令群を置換する。
【0015】次に、以上の原理図の動作について説明す
る。読み込み手段2は、変換対象となる第1のプログラ
ムを読み込む。第1の命令群抽出手段3は、読み込み手
段2によって読み込まれた第1のプログラムから、所定
の関係を有する1つ以上の命令からなる命令群を抽出す
る。このような命令群としては、例えば、アキュムレー
タとレジスタの間の演算命令およびアキュムレータとレ
ジスタの間の代入命令からなる命令群がある。具体例と
して、レジスタR1とレジスタR2に格納された値を合
計し、結果をレジスタR3に代入する命令群は、以下の
ように記述される。ここで、MOV A,RはAからR
への代入命令を示し、ADD A,Rは、AとRとの加
算命令を示す。また、Aはアキュムレータである。
【0016】MOV A,R1 ADD A,R2 MOV R3,A 第1の命令群抽出手段3は、以上のような命令群を抽出
し、第2の命令群取得手段4に供給する。
【0017】第2の命令群取得手段4は、第1の命令群
抽出手段3から供給された命令群に対応する第2の命令
群を記憶手段1から取得する。いまの例では、以上に示
す第1の命令群に対応する第2の命令群として、以下に
示す命令群が記憶手段1から取得されることになる。
【0018】ADD R1,R2,R3 ここで、以上の命令は、レジスタR1とレジスタR2の
内容を加算し、レジスタR3に格納する機能を有する第
2のプロセッサ用の命令である。なお、このような複数
の命令をまとめた機能を有する命令は、第2のプロセッ
サのみが有するものとする。
【0019】置換手段5は、読み込み手段2によって読
み込まれた第1のプログラムに含まれている第1の命令
群を、第2の命令群取得手段4から供給された第2の命
令群によって置換する。いまの例では、第1の命令群で
あるMOV A,R1、ADD A,R2、MOV R
3,Aが第2の命令群であるADD R1,R2,R3
に置換されることになる。
【0020】以上に説明したように、本発明のプログラ
ム変換装置によれば、所定の関連を有する少なくとも1
つ以上の命令から構成される第1のプロセッサ用の第1
の命令群を、それに対応する第2のプロセッサ用の第2
の命令群に置換するようにしたので、命令群単位で変換
を行うことにより、プログラムを効率良く変換すること
が可能となる。
【0021】次に、本発明の実施の形態について説明す
る。図2は、本発明の実施の形態の構成例を示す図であ
る。この図に示すように、本発明のプログラム変換装置
10は、CPU(Central Processing Unit)10a、
ROM(Read Only Memory)10b、RAM(Random A
ccess Memory)10c、HDD(Hard Disk Drive)1
0d、GB(Graphics Board)10e、I/F(Interf
ace)10f、および、バス10gによって構成されて
おり、その外部には表示装置11および入力装置12が
接続されている。
【0022】ここで、CPU10aは、HDD10dに
格納されたプログラムに従って装置の各部を制御すると
ともに、各種演算処理を実行する。ROM10bは、C
PU10aが実行する基本的なプログラムやデータを格
納している。
【0023】RAM10cは、CPU10aが実行対象
とするプログラムや、演算対象とするデータを一時的に
格納する。HDD10dは、CPU10aが実行対象と
するプログラムや、変換の対象のプログラムおよび変換
後のプログラムを格納する。
【0024】GB10eは、CPU10aから供給され
た描画命令に従って描画処理を実行し、得られた画像デ
ータを映像信号に変換して出力する。I/F10fは、
入力装置12からのデータの表現形式を変換する。
【0025】バス10gは、CPU10a、ROM10
b、RAM10c、HDD10d、GB10e、およ
び、I/F10fを相互に接続し、これらの間でデータ
の授受を可能とする。
【0026】表示装置11は、例えば、CRT(Cathod
e Ray Tube)モニタによって構成されており、GB10
eから出力された映像信号を表示する。入力装置12
は、例えば、キーボードやマウスによって構成されてお
り、情報を入力する際に操作される。
【0027】ところで、HDD10dには、図3〜5に
示す、テーブルが格納されている。ここで、図3は、命
令動作状況テーブルであり、各命令において変化するフ
ラグの種類または参照されるフラグの種類を示してい
る。例えば、ワード単位の代入命令である「movw」
は、レジスタからアキュムレータにデータを代入し
(a,rwi)、変化するフラグは、ネガティブフラグ
「N」およびゼロフラグ「Z」である。また、ワード単
位の比較命令である「cmpw」は、アキュムレータに
格納されているデータと所定の値とを比較し(a,#i
mm)、変化するフラグは、ネガティブフラグ「N」、
ゼロフラグ「Z」、オーバーフローフラグ「V」、およ
び、キャリーフラグ「C」である。更に、非ゼロでの分
岐命令「bne」は、ゼロフラグ「Z」を参照する。
【0028】図4は、命令群対応テーブルであり、変換
前のプログラム(以下、変換前プログラムと称する。)
と、変換後のプログラム(以下、変換後プログラムと称
する。)の命令群同士の対応関係を示している。この例
では、変換前プログラムにおいて、レジスタrwxから
アキュムレータaにデータを代入し(movw a,r
wx)、レジスタrwyの値をアキュムレータaに加算
し(addw a,rwy)、アキュムレータaの内容
をレジスタrwzに代入する一連の手続きを記述した命
令群が、変換後プログラムではレジスタrwxとレジス
タrwyのデータを加算し、レジスタrwzに格納する
1命令(add rwx,rwy,rwz)に対応して
いることが示されている。なお、x,y,zは、レジス
タ番号に対応する任意の自然数(1,2,・・・)を示
している。
【0029】図5も命令群対応テーブルであり、この例
では、変換前プログラムの命令群が変換後プログラムの
複数の命令群に対応付けられている。具体的には、レジ
スタrwxからレジスタrwyへワード単位でデータを
代入する命令である「movw rwx,rwy」が、
レジスタrxからレジスタryへの代入命令である「m
ov rx,ry」とレジスタrx同士の論理積を演算
する「and rx,rx」に対応付けられており、ま
た、同様に、レジスタrxからレジスタryへの代入命
令である「mov rx,ry」にも対応付けられてい
る。ここで、上段の命令群においてレジスタrx同士の
論理積を演算しているのは、変換前プログラムでは代入
命令が実行されるとネガティブフラグ「N」およびゼロ
フラグ「Z」が変化し、変換後プログラムでは変化しな
いので、これらのフラグを手当するためである。
【0030】なお、HDD10dは、これ以外にも、従
来のプログラム変換装置と同様に、変換前プログラムと
変換後プログラムの命令の1対1の対応関係を示すテー
ブルを有している。
【0031】次に、以上の実施の形態の動作について説
明する。いま、図6に示す変換前プログラムがHDD1
0dに対して格納されているとする。このような状態に
おいて、変換前プログラムを変換後プログラムに変換す
る処理を開始する指示を入力装置12から入力したとす
ると、CPU10aは、変換を実行する手順が記述され
たアプリケーションプログラムをHDD10dから読み
込み、RAM10c上に展開する。
【0032】アプリケーションプログラムが実行される
と、CPU10aは、HDD10dから変換前プログラ
ムを読み出してRAM10c上に格納する。ここで、図
6に示す変換前プログラムでは、1行目において、レジ
スタrw1の内容をアキュムレータaに代入し(mov
w a,rw1)、2行目ではレジスタrw2の内容を
アキュムレータaに加算し(addw a,rw2)、
3行目ではアキュムレータaの内容をレジスタrw3に
代入し(movw rw3,a)、4行目ではレジスタ
rw3の内容をレジスタrw0に代入し(movwrw
0,rw3)、5行目ではレジスタrw0と値0とを比
較し(cmpw rw0,#0)、6行目では5行目の
比較結果が0でない場合には「loop」に分岐し(b
ne loop)、7行目ではもとの処理に復帰してい
る(ret)。
【0033】このような変換前プログラムを読み込んだ
CPU10aは、HDD10dに格納されている命令群
対応テーブルを参照し、該当する命令群が存在しないか
チェックする。図6に示す例では、1行目〜3行目に記
述された命令群は、図4に示す命令群に対応している
(x=1,y=2,z=3の場合対応している)ので、
これらが命令群として検出され、図7の1行目に示す1
命令(add r1,r2,r3)に変換される。
【0034】1〜3行目の変換が終了したので、次に、
CPU10aは、4行目以降の命令についてチェックす
る。4行目以降には、命令群は存在していないので、C
PU10aは、4行目の代入命令についてチェックし、
この命令は図5に示す命令群対応テーブルに該当(x=
0,y=3の場合に該当)するので、変換の候補として
図5の右側に示す2つの命令群を特定する。
【0035】ここで、前述のように、図5の右側の上段
に示す命令群は、論理積命令によってフラグの手当をし
ており、これは、これ以降にフラグを参照する命令が存
在する場合に意味を有するものである。従って、フラグ
が参照されない場合には下段の命令群が選択される。
【0036】図6の例では、フラグを参照する命令は、
6行目の分岐命令「bne」であり、この命令ではゼロ
フラグ「Z」のみが参照されるが、これは直前の比較命
令「cmpw」の結果をチェックするためのものである
ので、それ以前におけるゼロフラグの変化は参照されな
い。従って、CPU10aは、図5の右側の下段に示す
命令群を選択し、変換を実行する。その結果、図6の4
行目は、図7の2行目に示す代入命令(mov r0,
r3)に変換されることになる。なお、各命令が参照す
るフラグの種類は、図3に示す命令動作状況テーブルを
参照することで特定できる。
【0037】続く5〜7行目の命令群は、該当する命令
群が存在しないことから、CPU10aは、図示せぬ命
令の1対1の対応関係を示すテーブルを参照して命令毎
に変換を行う。その結果、図6に示す5〜7行目は、図
7に示す3〜5行目のように変換されることになる。
【0038】ところで、従来の変換方法の場合では、命
令同士の1対1の変換が基本であり、フラグに対する手
当をする場合にはフラグ手当用の命令を付加して変換し
ていた。図8は、従来の変換方法によって、図6に示す
プログラムを変換した結果である。この例では、図6の
1行目の代入命令(movw a,rw1)は、対応す
る代入命令(mov r12,r1)とフラグを手当す
るための論理積命令(and r12,r12)に変換
されている。同様にして、図6の3行目および4行目の
代入命令も図8の4行目〜7行目に示すように、対応す
る代入命令と論理積命令とに変換されている。なお、そ
れ以降の命令は、図7の場合と同様である。
【0039】図7および図8の比較から分かるように、
本実施の形態では、一定の関連性を有する命令群を1つ
の変換単位として変換を行うようにしたので、変換後プ
ログラムでは統括的に表現可能な命令(例えば、add
rx,ry,rz)を有効に利用することにより、プ
ログラムのステップ数と実行速度を向上させることが可
能となる。
【0040】また、フラグの手当が必要な命令に関して
は、変換後の命令群として(1)フラグを手当する命令
群と、(2)フラグを手当しない命令群とを準備してお
き、対象となる命令以降にフラグを参照する命令(例え
ば、「bne」)が存在し、その命令の直前にフラグを
変化させる命令(例えば、「cmpw」)が存在する場
合には、それ以外のフラグは参照されないので、フラグ
の手当は不要であるとして(2)の命令群を選択する。
一方、それ以外の場合には(1)の命令群を選択する。
このようにすることで、フラグに対する不要な手当を省
略し、プログラムのステップ数を削減することが可能と
なり、その結果として、プログラムの実行速度を向上さ
せることが可能となる。
【0041】なお、以上の実施の形態では、フラグの手
当の有無に応じて、命令群を選択するようにしたが、フ
ラグの手当を行う命令群のみを準備しておき、変換した
後から必要に応じてフラグの手当を行う命令のみを削除
するようにしてもよい。このような方法でも、前述の場
合と同様の効果を期待することができる。
【0042】次に、図9を参照して、本発明の実施の形
態において実行される処理の一例について説明する。こ
のフローチャートが開始されると、以下の処理が実行さ
れることになる。 [S10]CPU10aは、HDD10dに格納されて
いる変換前プログラムを読み込み、RAM10cに格納
する。
【0043】[S11]CPU10aは、所定数(1以
上)の命令からなる命令群を変換前プログラムより抽出
する。 [S12]CPU10aは、HDD10dに格納されて
いる命令群対応テーブルを参照する。
【0044】[S13]CPU10aは、命令群対応テ
ーブルにステップS11において抽出した命令群が存在
するか否かを判定し、存在しない場合にはステップS1
4に進み、それ以外の場合にはステップS15に進む。 [S14]CPU10aは、命令を1対1の変換により
変換後プログラムに変換する。
【0045】[S15]CPU10aは、命令群がフラ
グを変化させるフラグ変化命令に該当するか否かを判定
し、該当する場合にはステップS17に進み、それ以外
の場合にはステップS16に進む。
【0046】なお、図4に示す命令群は、命令「mov
w」を含みフラグを変化させるが、これはフラグ変化命
令からは除外する。 [S16]CPU10aは、命令群対応テーブルを参照
し、命令群単位で変換を行い、ステップS20に進む。
【0047】[S17]CPU10aは、変換の対象と
なっている命令以降に、フラグを参照する命令が存在
し、その直前にフラグを変化させる命令がペア(フラグ
参照ペア)として存在するか否かを判定する。そして、
フラグ参照ペアが存在する場合にはステップS18に進
み、それ以外の場合にはステップS19に進む。 [S18]CPU10aは、フラグを考慮せずに変換を
行う。具体的には、図5の右側の下段の命令群を用いて
変換を行う。
【0048】[S19]CPU10aは、フラグを考慮
して変換を行う。具体的には、図5の右側の上段の命令
群を用いて変換を行う。 [S20]CPU10aは、変換前プログラムに未処理
の命令が存在するか否かを判定し、存在する場合にはス
テップS11に戻って同様の処理を繰り返し、それ以外
の場合にはステップS21に進む。 [S21]CPU10aは、変換後プログラムを、例え
ば、HDD10dに対して出力する。
【0049】以上の処理によれば、本発明の実施の形態
における機能を提供することが可能となる。なお、以上
の実施の形態では、代入命令と加算命令のみを例に挙げ
て説明したが、本発明はこのような場合のみに限定され
るものではなく、他の命令に対しても適用可能であるこ
とはいうまでもない。
【0050】最後に、上記の処理機能は、コンピュータ
によって実現することができる。その場合、プログラム
変換装置が有すべき機能の処理内容は、コンピュータで
読み取り可能な記録媒体に記録されたプログラムに記述
されており、このプログラムをコンピュータで実行する
ことにより、上記処理がコンピュータで実現される。コ
ンピュータで読み取り可能な記録媒体としては、磁気記
録装置や半導体メモリ等がある。市場へ流通させる場合
には、CD−ROM(Compact Disk Read OnlyMemory)や
フロッピー(登録商標)ディスク等の可搬型記録媒体に
プログラムを格納して流通させたり、ネットワークを介
して接続されたコンピュータの記憶装置に格納してお
き、ネットワークを通じて他のコンピュータに転送する
こともできる。コンピュータで実行する際には、コンピ
ュータ内のハードディスク装置等にプログラムを格納し
ておき、メインメモリにロードして実行する。
【0051】(付記1) 第1のメインプロセッサ用の
第1のプログラムを第2のメインプロセッサ用の第2の
プログラムに変換するプログラム変換装置において、所
定の関連を有する少なくとも1以上の命令から構成され
る前記第1のメインプロセッサ用の第1の命令群と、そ
れに対応する前記第2のメインプロセッサ用の第2の命
令群とを関連付けて記憶する記憶手段と、前記第1のプ
ログラムを読み込む読み込み手段と、前記読み込み手段
によって読み込まれた前記第1のプログラムに含まれて
いる前記第1の命令群を抽出する第1の命令群抽出手段
と、前記第1の命令群抽出手段によって抽出された前記
第1の命令群に対応する前記第2の命令群を前記記憶手
段から取得する第2の命令群取得手段と、前記第2の命
令群取得手段によって取得された前記第2の命令群によ
って前記第1の命令群を置換する置換手段と、を有する
ことを特徴とするプログラム変換装置。
【0052】(付記2) 前記第1のメインプロセッサ
はCISC型であり、前記第2のメインプロセッサはR
ISC型であることを特徴とする付記1記載のプログラ
ム変換装置。
【0053】(付記3) 前記第1の命令群は、アキュ
ムレータとレジスタの間の演算命令およびレジスタと前
記アキュムレータの間の代入命令からなり、前記第2の
命令群は、レジスタ同士の直接の演算命令からなる、こ
とを特徴とする付記1記載のプログラム変換装置。
【0054】(付記4) 前記記憶手段は、1つの前記
第1の命令群に対して、複数の前記第2の命令群を対応
付けて記憶しており、前記第1の命令群抽出手段によっ
て抽出された前記第1の命令群の前または後に配置され
た特定の命令群を検出する特定命令群検出手段と、前記
特定命令群検出手段による前記特定命令群の検出の有無
に応じて、前記記憶手段に記憶されている複数の前記第
2の命令群のうち、該当するものを選択して前記置換手
段に供給する選択手段と、を更に有することを特徴とす
る付記1記載のプログラム変換装置。
【0055】(付記5) 前記第1の命令群抽出手段に
よって抽出された前記第1の命令群の前または後に配置
された特定の命令群を検出する特定命令群検出手段と、
前記特定命令群検出手段による前記特定命令群の検出の
有無に応じて、前記置換手段によって置換された命令群
の一部を削除する削除手段と、を更に有することを特徴
とする付記1記載のプログラム変換装置。
【0056】(付記6) 第1のメインプロセッサ用の
第1のプログラムを第2のメインプロセッサ用の第2の
プログラムに変換するプログラム変換方法において、所
定の関連を有する少なくとも1以上の命令から構成され
る前記第1のメインプロセッサ用の第1の命令群と、そ
れに対応する前記第2のメインプロセッサ用の第2の命
令群とを関連付けて記憶する記憶ステップと、前記第1
のプログラムを読み込む読み込みステップと、前記読み
込みステップによって読み込まれた前記第1のプログラ
ムに含まれている前記第1の命令群を抽出する第1の命
令群抽出ステップと、前記第1の命令群抽出ステップに
よって抽出された前記第1の命令群に対応する前記第2
の命令群を前記記憶ステップから取得する第2の命令群
取得ステップと、前記第2の命令群取得ステップによっ
て取得された前記第2の命令群によって前記第1の命令
群を置換する置換ステップと、を有することを特徴とす
るプログラム変換方法。
【0057】(付記7) 第1のメインプロセッサ用の
第1のプログラムを第2のメインプロセッサ用の第2の
プログラムに変換する処理をコンピュータに機能させる
プログラムを記録したコンピュータ読み取り可能な記録
媒体において、コンピュータを、所定の関連を有する少
なくとも1以上の命令から構成される前記第1のメイン
プロセッサ用の第1の命令群と、それに対応する前記第
2のメインプロセッサ用の第2の命令群とを関連付けて
記憶する記憶手段、前記第1のプログラムを読み込む読
み込み手段、前記読み込み手段によって読み込まれた前
記第1のプログラムに含まれている前記第1の命令群を
抽出する第1の命令群抽出手段、前記第1の命令群抽出
手段によって抽出された前記第1の命令群に対応する前
記第2の命令群を前記記憶手段から取得する第2の命令
群取得手段、前記第2の命令群取得手段によって取得さ
れた前記第2の命令群によって前記第1の命令群を置換
する置換手段、として機能させるプログラムを記録した
コンピュータ読み取り可能な記録媒体。
【0058】
【発明の効果】以上説明したように本発明では、第1の
メインプロセッサ用の第1のプログラムから、所定の関
連を有する複数の命令から構成される第1の命令群を抽
出し、抽出した第1の命令群に対応する第2の命令群を
取得し、取得した第2の命令群によって第1のプログラ
ムを変換するようにしたので、命令群単位で変換を行う
ことにより、第2のメインプロセッサでは統合された命
令が存在するような場合には、これを活用することがで
きるので、実行効率の高いプログラムを生成することが
可能となる。
【図面の簡単な説明】
【図1】本発明の動作原理を説明する原理図である。
【図2】本発明の実施の形態の構成例を示す図である。
【図3】各命令において変化するフラグの種類または参
照されるフラグの種類を示す命令動作状況テーブルの一
例を示す図である。
【図4】変換前プログラムと、変換後プログラムの命令
群同士の対応関係を示す命令群対応テーブルの一例を示
す図である。
【図5】変換前プログラムと、変換後プログラムの命令
群同士の対応関係を示す命令群対応テーブルの他の一例
を示す図である。
【図6】変換前プログラムの一例を示す図である。
【図7】図6に示す変換前プログラムを本実施の形態に
よって変換した場合に得られる変換後プログラムの一例
を示す図である。
【図8】図6に示す変換前プログラムを従来の方法によ
って変換した場合に得られる変換後プログラムの一例を
示す図である。
【図9】図2に示す本実施の形態において実行される処
理の一例を示す図である。
【符号の説明】
1 記憶手段 2 読み込み手段 3 第1の命令群抽出手段 4 第2の命令群取得手段 5 置換手段 10 プログラム変換装置 10a CPU 10b ROM 10c RAM 10d HDD 10e GB 10f I/F 10g バス 11 表示装置 12 入力装置

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1のメインプロセッサ用の第1のプロ
    グラムを第2のメインプロセッサ用の第2のプログラム
    に変換するプログラム変換装置において、 所定の関連を有する少なくとも1以上の命令から構成さ
    れる前記第1のメインプロセッサ用の第1の命令群と、
    それに対応する前記第2のメインプロセッサ用の第2の
    命令群とを関連付けて記憶する記憶手段と、 前記第1のプログラムを読み込む読み込み手段と、 前記読み込み手段によって読み込まれた前記第1のプロ
    グラムに含まれている前記第1の命令群を抽出する第1
    の命令群抽出手段と、 前記第1の命令群抽出手段によって抽出された前記第1
    の命令群に対応する前記第2の命令群を前記記憶手段か
    ら取得する第2の命令群取得手段と、 前記第2の命令群取得手段によって取得された前記第2
    の命令群によって前記第1の命令群を置換する置換手段
    と、 を有することを特徴とするプログラム変換装置。
  2. 【請求項2】 前記第1の命令群は、アキュムレータと
    レジスタの間の演算命令およびレジスタと前記アキュム
    レータの間の代入命令からなり、 前記第2の命令群は、レジスタ同士の直接の演算命令か
    らなる、 ことを特徴とする請求項1記載のプログラム変換装置。
  3. 【請求項3】 前記記憶手段は、1つの前記第1の命令
    群に対して、複数の前記第2の命令群を対応付けて記憶
    しており、 前記第1の命令群抽出手段によって抽出された前記第1
    の命令群の前または後に配置された特定の命令群を検出
    する特定命令群検出手段と、 前記特定命令群検出手段による前記特定命令群の検出の
    有無に応じて、前記記憶手段に記憶されている複数の前
    記第2の命令群のうち、該当するものを選択して前記置
    換手段に供給する選択手段と、 を更に有することを特徴とする請求項1記載のプログラ
    ム変換装置。
  4. 【請求項4】 前記第1の命令群抽出手段によって抽出
    された前記第1の命令群の前または後に配置された特定
    の命令群を検出する特定命令群検出手段と、 前記特定命令群検出手段による前記特定命令群の検出の
    有無に応じて、前記置換手段によって置換された命令群
    の一部を削除する削除手段と、 を更に有することを特徴とする請求項1記載のプログラ
    ム変換装置。
  5. 【請求項5】 第1のメインプロセッサ用の第1のプロ
    グラムを第2のメインプロセッサ用の第2のプログラム
    に変換するプログラム変換方法において、 所定の関連を有する少なくとも1以上の命令から構成さ
    れる前記第1のメインプロセッサ用の第1の命令群と、
    それに対応する前記第2のメインプロセッサ用の第2の
    命令群とを関連付けて記憶する記憶ステップと、 前記第1のプログラムを読み込む読み込みステップと、 前記読み込みステップによって読み込まれた前記第1の
    プログラムに含まれている前記第1の命令群を抽出する
    第1の命令群抽出ステップと、 前記第1の命令群抽出ステップによって抽出された前記
    第1の命令群に対応する前記第2の命令群を前記記憶ス
    テップから取得する第2の命令群取得ステップと、 前記第2の命令群取得ステップによって取得された前記
    第2の命令群によって前記第1の命令群を置換する置換
    ステップと、 を有することを特徴とするプログラム変換方法。
JP2000296105A 2000-09-28 2000-09-28 プログラム変換装置およびプログラム変換方法 Pending JP2002108611A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000296105A JP2002108611A (ja) 2000-09-28 2000-09-28 プログラム変換装置およびプログラム変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000296105A JP2002108611A (ja) 2000-09-28 2000-09-28 プログラム変換装置およびプログラム変換方法

Publications (2)

Publication Number Publication Date
JP2002108611A true JP2002108611A (ja) 2002-04-12
JP2002108611A5 JP2002108611A5 (ja) 2004-12-09

Family

ID=18778430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000296105A Pending JP2002108611A (ja) 2000-09-28 2000-09-28 プログラム変換装置およびプログラム変換方法

Country Status (1)

Country Link
JP (1) JP2002108611A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084085A (ja) * 2011-10-07 2013-05-09 Mitsubishi Electric Corp プログラム再利用システムおよびプログラム再利用方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084085A (ja) * 2011-10-07 2013-05-09 Mitsubishi Electric Corp プログラム再利用システムおよびプログラム再利用方法

Similar Documents

Publication Publication Date Title
JP4130713B2 (ja) プログラム変換装置
JP4699580B2 (ja) データ処理システムの配列の静的初期化方法、データ処理方法、並びにデータ処理システム及びその制御手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP3123047B2 (ja) マイクロプロセッサ
EP1049011A2 (en) Method and apparatus for handling exceptions as normal control flow
KR100456023B1 (ko) 절차 지향 프로그램을 컴포넌트 기반의 시스템으로래핑하기 위한 방법 및 그 장치
US7395199B2 (en) Emulating the operation of a video graphics adapter
CN106462426A (zh) 用于图形处理单元的组合计算任务
JPH03229352A (ja) プログラム変更方法
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JP3318051B2 (ja) 翻訳処理方法
JP2002108611A (ja) プログラム変換装置およびプログラム変換方法
JPS62226231A (ja) プロセツサ
US11635947B2 (en) Instruction translation support method and information processing apparatus
US5724559A (en) Method for displaying ISPF panels in a VM non-ISPF environment
JP2000122876A (ja) 情報処理装置
JPH0754467B2 (ja) データ処理装置
US5930505A (en) Method for storing a program into an auxiliary memory
CN109857380A (zh) 一种工作流文件编译方法及装置
JPH0667871A (ja) プログラム自動更新方式
WO2021024791A1 (ja) 設計支援システム及び設計支援方法
Druseikis The design of transportable interpreters.
JP2623106B2 (ja) コンピュータ・システム
Sumimoto et al. An Automatic MPI ABI Translation Library Builder to Enable MPI Application Binary Portability
JP3765148B2 (ja) 機能メモリ
JP3029812B2 (ja) 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061212