トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 プログラム変換装置およびプログラム変換方法
【発明者】 【氏名】高橋 均

【要約】 【課題】プログラムを効率よく変換する。

【解決手段】記憶手段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の命令群を置換する。
【特許請求の範囲】
【請求項1】 第1のメインプロセッサ用の第1のプログラムを第2のメインプロセッサ用の第2のプログラムに変換するプログラム変換装置において、所定の関連を有する少なくとも1以上の命令から構成される前記第1のメインプロセッサ用の第1の命令群と、それに対応する前記第2のメインプロセッサ用の第2の命令群とを関連付けて記憶する記憶手段と、前記第1のプログラムを読み込む読み込み手段と、前記読み込み手段によって読み込まれた前記第1のプログラムに含まれている前記第1の命令群を抽出する第1の命令群抽出手段と、前記第1の命令群抽出手段によって抽出された前記第1の命令群に対応する前記第2の命令群を前記記憶手段から取得する第2の命令群取得手段と、前記第2の命令群取得手段によって取得された前記第2の命令群によって前記第1の命令群を置換する置換手段と、を有することを特徴とするプログラム変換装置。
【請求項2】 前記第1の命令群は、アキュムレータとレジスタの間の演算命令およびレジスタと前記アキュムレータの間の代入命令からなり、前記第2の命令群は、レジスタ同士の直接の演算命令からなる、ことを特徴とする請求項1記載のプログラム変換装置。
【請求項3】 前記記憶手段は、1つの前記第1の命令群に対して、複数の前記第2の命令群を対応付けて記憶しており、前記第1の命令群抽出手段によって抽出された前記第1の命令群の前または後に配置された特定の命令群を検出する特定命令群検出手段と、前記特定命令群検出手段による前記特定命令群の検出の有無に応じて、前記記憶手段に記憶されている複数の前記第2の命令群のうち、該当するものを選択して前記置換手段に供給する選択手段と、を更に有することを特徴とする請求項1記載のプログラム変換装置。
【請求項4】 前記第1の命令群抽出手段によって抽出された前記第1の命令群の前または後に配置された特定の命令群を検出する特定命令群検出手段と、前記特定命令群検出手段による前記特定命令群の検出の有無に応じて、前記置換手段によって置換された命令群の一部を削除する削除手段と、を更に有することを特徴とする請求項1記載のプログラム変換装置。
【請求項5】 第1のメインプロセッサ用の第1のプログラムを第2のメインプロセッサ用の第2のプログラムに変換するプログラム変換方法において、所定の関連を有する少なくとも1以上の命令から構成される前記第1のメインプロセッサ用の第1の命令群と、それに対応する前記第2のメインプロセッサ用の第2の命令群とを関連付けて記憶する記憶ステップと、前記第1のプログラムを読み込む読み込みステップと、前記読み込みステップによって読み込まれた前記第1のプログラムに含まれている前記第1の命令群を抽出する第1の命令群抽出ステップと、前記第1の命令群抽出ステップによって抽出された前記第1の命令群に対応する前記第2の命令群を前記記憶ステップから取得する第2の命令群取得ステップと、前記第2の命令群取得ステップによって取得された前記第2の命令群によって前記第1の命令群を置換する置換ステップと、を有することを特徴とするプログラム変換方法。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明はプログラム変換装置およびプログラム変換方法に関し、特に、第1のメインプロセッサ用の第1のプログラムを第2のメインプロセッサ用の第2のプログラムに変換するプログラム変換装置およびプログラム変換方法に関する。
【0002】
【従来の技術】近年、CPU(Central Processing Unit)等のメインプロセッサを使用した電気機器が市場に多く出回っている。
【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 Instruction 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,R1ADD A,R2MOV 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 R3,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 Access Memory)10c、HDD(Hard Disk Drive)10d、GB(Graphics Board)10e、I/F(Interface)10f、および、バス10gによって構成されており、その外部には表示装置11および入力装置12が接続されている。
【0022】ここで、CPU10aは、HDD10dに格納されたプログラムに従って装置の各部を制御するとともに、各種演算処理を実行する。ROM10bは、CPU10aが実行する基本的なプログラムやデータを格納している。
【0023】RAM10cは、CPU10aが実行対象とするプログラムや、演算対象とするデータを一時的に格納する。HDD10dは、CPU10aが実行対象とするプログラムや、変換の対象のプログラムおよび変換後のプログラムを格納する。
【0024】GB10eは、CPU10aから供給された描画命令に従って描画処理を実行し、得られた画像データを映像信号に変換して出力する。I/F10fは、入力装置12からのデータの表現形式を変換する。
【0025】バス10gは、CPU10a、ROM10b、RAM10c、HDD10d、GB10e、および、I/F10fを相互に接続し、これらの間でデータの授受を可能とする。
【0026】表示装置11は、例えば、CRT(Cathode Ray Tube)モニタによって構成されており、GB10eから出力された映像信号を表示する。入力装置12は、例えば、キーボードやマウスによって構成されており、情報を入力する際に操作される。
【0027】ところで、HDD10dには、図3〜5に示す、テーブルが格納されている。ここで、図3は、命令動作状況テーブルであり、各命令において変化するフラグの種類または参照されるフラグの種類を示している。例えば、ワード単位の代入命令である「movw」は、レジスタからアキュムレータにデータを代入し(a,rwi)、変化するフラグは、ネガティブフラグ「N」およびゼロフラグ「Z」である。また、ワード単位の比較命令である「cmpw」は、アキュムレータに格納されているデータと所定の値とを比較し(a,#imm)、変化するフラグは、ネガティブフラグ「N」、ゼロフラグ「Z」、オーバーフローフラグ「V」、および、キャリーフラグ「C」である。更に、非ゼロでの分岐命令「bne」は、ゼロフラグ「Z」を参照する。
【0028】図4は、命令群対応テーブルであり、変換前のプログラム(以下、変換前プログラムと称する。)と、変換後のプログラム(以下、変換後プログラムと称する。)の命令群同士の対応関係を示している。この例では、変換前プログラムにおいて、レジスタrwxからアキュムレータaにデータを代入し(movw a,rwx)、レジスタ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への代入命令である「mov rx,ry」とレジスタrx同士の論理積を演算する「and rx,rx」に対応付けられており、また、同様に、レジスタrxからレジスタryへの代入命令である「mov rx,ry」にも対応付けられている。ここで、上段の命令群においてレジスタrx同士の論理積を演算しているのは、変換前プログラムでは代入命令が実行されるとネガティブフラグ「N」およびゼロフラグ「Z」が変化し、変換後プログラムでは変化しないので、これらのフラグを手当するためである。
【0030】なお、HDD10dは、これ以外にも、従来のプログラム変換装置と同様に、変換前プログラムと変換後プログラムの命令の1対1の対応関係を示すテーブルを有している。
【0031】次に、以上の実施の形態の動作について説明する。いま、図6に示す変換前プログラムがHDD10dに対して格納されているとする。このような状態において、変換前プログラムを変換後プログラムに変換する処理を開始する指示を入力装置12から入力したとすると、CPU10aは、変換を実行する手順が記述されたアプリケーションプログラムをHDD10dから読み込み、RAM10c上に展開する。
【0032】アプリケーションプログラムが実行されると、CPU10aは、HDD10dから変換前プログラムを読み出してRAM10c上に格納する。ここで、図6に示す変換前プログラムでは、1行目において、レジスタrw1の内容をアキュムレータaに代入し(movw a,rw1)、2行目ではレジスタrw2の内容をアキュムレータaに加算し(addw a,rw2)、3行目ではアキュムレータaの内容をレジスタrw3に代入し(movw rw3,a)、4行目ではレジスタrw3の内容をレジスタrw0に代入し(movwrw0,rw3)、5行目ではレジスタrw0と値0とを比較し(cmpw rw0,#0)、6行目では5行目の比較結果が0でない場合には「loop」に分岐し(bne 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行目以降には、命令群は存在していないので、CPU10aは、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において抽出した命令群が存在するか否かを判定し、存在しない場合にはステップS14に進み、それ以外の場合にはステップS15に進む。
[S14]CPU10aは、命令を1対1の変換により変換後プログラムに変換する。
【0045】[S15]CPU10aは、命令群がフラグを変化させるフラグ変化命令に該当するか否かを判定し、該当する場合にはステップS17に進み、それ以外の場合にはステップS16に進む。
【0046】なお、図4に示す命令群は、命令「movw」を含みフラグを変化させるが、これはフラグ変化命令からは除外する。
[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のメインプロセッサはRISC型であることを特徴とする付記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のメインプロセッサでは統合された命令が存在するような場合には、これを活用することができるので、実行効率の高いプログラムを生成することが可能となる。
【出願人】 【識別番号】000005223
【氏名又は名称】富士通株式会社
【出願日】 平成12年9月28日(2000.9.28)
【代理人】 【識別番号】100092152
【弁理士】
【氏名又は名称】服部 毅巖
【公開番号】 特開2002−108611(P2002−108611A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−296105(P2000−296105)