JPH06131196A - 最適化処理方式 - Google Patents

最適化処理方式

Info

Publication number
JPH06131196A
JPH06131196A JP28261292A JP28261292A JPH06131196A JP H06131196 A JPH06131196 A JP H06131196A JP 28261292 A JP28261292 A JP 28261292A JP 28261292 A JP28261292 A JP 28261292A JP H06131196 A JPH06131196 A JP H06131196A
Authority
JP
Japan
Prior art keywords
instruction
code
instruction operand
operand
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP28261292A
Other languages
English (en)
Inventor
Hideki Shinohara
英樹 篠原
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP28261292A priority Critical patent/JPH06131196A/ja
Publication of JPH06131196A publication Critical patent/JPH06131196A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】コンパルシステムによって出力されたアセンブ
ラコードを、実行形式ファイルに互換性のある他のハー
ドウェアに対応した最適のコードに変換して、実行時の
性能の向上をはかる。 【構成】各ハードウェア(CPU)に依存するコード対
して最適な命令を対応させた命令オペランド変換テーブ
ル8を準備する。命令オペランド解析手段2で、入力ア
センブラコードの1行1行を命令オペランド変換テーブ
ル8を参照して、使用するCPUに最適コードであるか
を判断し、最適でないと判断したコードを命令オペラン
ド変換手段3により、命令オペランド変換テーブル8を
参照して最適コードに変換する。命令オペランド生成手
段4により変換に付随して必要となる命令コードを生成
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は最適化処理方式、特にコ
ンパイルシステムによって出力されたアセンブラコード
を、使用するハードウェアに対応した最適のコード変換
を行なう最適化処理方式に関する。
【0002】
【従来の技術】従来、各ハードウェアに依存した最適化
処理は、個々のコンパイルシステンムに内蔵されてい
る。従って実行形式ファイルに互換性のある他のハード
ウェア上のコンパイルシステムによって生成された実行
形式ファイルを実行したときは、そのハードウェアの性
能を充分に引き出すことができなく、実行時の性能を向
上させるためには、新規にコンパイルシステムを構築
し、最適化を行なうようにしている。
【0003】
【発明が解決しようとする課題】従来、コンパイルシス
テムによって中間的に出力されるアセンブラコードは、
そのハードウェアに最適化され、そのハードウェアでの
み有効である。そのため実行形式ファイルに互換性のあ
る他のハードウェア上で、上述のアセンブラコードから
生成した実行形式ファイルを実行しても、ハードウェア
の特性が異なるため、実行時の性能は低下してしまう。
従って個々のハードウェアに対し、個々のコンパイルシ
ステムを構築する必要がある。しかしそのためには多大
な工数と費用がかかり即座に性能を向上することができ
ないという欠点がある。また、ハードウェア種別ごとに
コンパイルシステムが必要なため、それらのコンパイル
システムに対する保守にも多大な工数がかかるという欠
点がある。
【0004】
【課題を解決するための手段】本発明の最適化処理法式
は、コンパイルシステムによって出力されたアセンブラ
コードを、使用するハードウェアに対応した最適のコー
ドに変換処理を行なう最適化処理方式において、使用す
るハードウェアの種別を示す情報を格納したハードウェ
ア情報ファイルと、ハードウェアの種別ごとにそのハー
ドウェアで最適とされる命令または関数呼出し命令を意
味するオペランドを格納した命令オペランド変換テーブ
ルと、入力したアセンブラコードを前記命令オペランド
変換テーブルを参照して使用するハードウェアの種別に
対して最適か否かを解析する命令オペランド解析手段
と、この命令オペランド解析手段で最適でないと判断さ
れた命令およびオペランドを前記命令オペランド変換テ
ーブルを参照して使用するハードウェアに対して最適の
コードに変換する命令オペランド変換手段と、この命令
オペランド変換手段による変換に付随して必要となる命
令コードを生成する命令オペランド生成手段と、前記命
令オペレーション解析手段から渡された変換の必要のな
いコード,命令オペランド変換手段で変換された最適コ
ード,および命令オペランド生成手段で生成されたコー
ドを出力する命令オペランド出力手段とを有することに
より構成される。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】図1は本発明の一実施例の構成図である。
図1の実施例は入力アセンブラコード1、命令オペラン
ド解析手段2、命令オペランド変換手段3、命令オペラ
ンド生成手段4、命令オペランド出力手段5、出力アセ
ンブラコード6、ハードウェア情報ファイル7、および
命令オペランド変換テーブル8を有して構成される。
【0007】以上の構成において、まず、命令オペラン
ド解析手段2は、現在使用してるハードウェア種別を認
識するためにハードウェア情報ファイル7からハードウ
ェア種別を入力する。その後、入力アセンブラコード1
を一行ごとに入力する。次に命令オペランド変換テーブ
ル8を参照し、入力されたアセンブラコードが最適であ
るかを判断する。
【0008】入力されたアサンブラコードが最適である
かどうかを判定するための方法は以下のとうりである。
図2はハードウェア情報ファイル7に格納されているハ
ードウェア種別の内容例を示す図で、ここではハードウ
ェア種別を図に示されているCPU−Cとする。図3は
命令オペランド変換テーブル8の内容例を示す図で、各
CPUに依存するコードに対して最適な命令を対応させ
てある。図中、最上部がハードウェア種別を表し、その
各々の下部にあるードのうちコロンの左側が、そのハー
ドウェア種別において最適とされるコードであり、コロ
ンの右側が命令かオペランドとして呼出される関数命令
かを意味する。ここで命令オペランド変換テーブル8に
CPU−A、CPU−BおよびCPU−Cに関する情報
が格納されていて、命令オペランド変換テーブル8のC
PU−Cの部分に入力された命令およびオペランドがな
く、CPU−AあるいはCPU−Bの部分に入力された
命令オペランドが存在すれば、それはCPU−Aあるい
はCPU−B用の最適コードであり、CPU−Cの最適
コ−ドではないと判断できる。入力アセンブラコードが
最適コードであった場合は、直ちに命令オペランド出力
手段を呼出す。入力されたアセンブラコードが最適コー
ドでなかった場合には、命令オペランド変換手段3を呼
出し、その後、命令オペランド出力手段5を呼出す。
【0009】命令オペランド変換手段3は、入力された
アセンブラコードをハードウェア情報ファイル7で示さ
れたハードウェア情報ファイル7に示されたハードウェ
ア用の最適なコードに変換する。ハードウェア情報ファ
イル7に格納されているハードウェア種別がCPU−C
の場合、命令オペランド変換テーブル8を参照し、命令
オペランド解析手段2で解析されたコードに対して、C
PU−Cでの最適コードを検索し、入力されたアセンブ
ラコードをCPU−Cでの最適コードに置換する。そし
て、そのコード変換にともない前処理・後処理が必要か
をチェックし、前処理・後処理が必要となる場合には命
令には、命令オペランド生成手段4を呼出す。前処理が
必要な場合の例として、入力されたアセンブラコード
が、 fsin. &0x3f800000, %fp1 の場合とすると、この命令は即値0x3f800000に対する正
弦を求め、結果をfP1 レジスタに返すハードウェア命令
である。ここで、この命令に対するCPU−Cでの最適
な命令が図3に示すように、 jsr fssin だとする。これは、fp0 レジスタの値を入力し、正弦を
求め、結果をfp0 レジスタに返す関数呼出し命令であ
る。この変換では、前処理として最適コードで使用する
レジスタfp0 のセーブと、入力されたアセンブラコード
中の即値0x3f800000をfp0 に格納することが必要であ
り、 後処理としては、関数呼出しから戻ったときにfp0
の値をfp1 に格納し、前処理でセーブしたfp0 の値を再
びfp0 に格納する必要がある。
【0010】命令オペランド生成手段4は、命令オペラ
ンド変換手段3で行われたコードによって発生する命令
オペランド変換手段3の前処理用コードの生成と後処理
用コードの生成を行う。
【0011】命令オペランド出力手段5は、入力アセン
ブラコード1、あるいは命令オペランド変換手段3で変
換されたコード、あるいは命令オペランド生成手段4で
生成されたコードを、出力アセンブラコード6へ出力す
る。
【0012】図4は、入力アセンブラコード1の一例を
示す図で、図5は図1の実施例で、図4の入力アセンブ
ラコード1を、図2および図3にし示したハードウェア
種別および命令オペランド変換テーブルによって、最適
なコードに変換した出力アセンブラコード6を示してい
る。図5のLINE25〜27は、図4のLINE32
での命令を図5のLINE38の関数呼出し命令に変換
するための前処理として、オペランド生成手段4で作ら
れた関数呼出し命令の定義およびセーブエリアの設定命
令であり、図5のLINE36,37は同じく前処理
を、LINE39,40は後処理を示している。
【0013】
【発明の効果】以上説明したように本発明は、既存のコ
ンパイルシステムが出力するアセンブラコードのなか
の、ハードウェアに依存し性能低下を引起こす命令を最
適な命令列に変換することにより、新規にハードウェア
に依存したコンパイルシステムを構築する必要がなくな
るという効果かがある。そして、ハードウェァ種別ごと
の命令オペランド変換テーブルを作成するだけでよいの
で、複数のコンパイルシステムに対し、短期間にかつ安
価に性能を向上することができるという効果がある。ま
た、新たにコンパイルシステムを構築する場合に比べて
構造が単純なので、保守も容易に行えるという効果があ
る。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】図1の実施例のハードウェア情報ファイルの内
容例を示す図である。
【図3】図1の実施例の命令オペランド変換テーブルの
内容例を示す図である。
【図4】図1の実施例の入力アセンブラコードの内容例
を示す図である。
【図5】図1の実施例の出力アセンブラコードの内容例
を示す図である。
【符号の説明】
1 入力アセンブラコード 2 命令オペランド解析手段 3 命令オペランド変換手段 4 命令オペランド生成手段 5 命令オペランド出力手段 6 出力アセンブラコード 7 ハードウェア情報ファイル 8 命令オペランド変換テーブル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパイルシステムによって出力された
    アセンブラコードを、使用するハードウェアに対応した
    最適のコードに変換処理を行なう最適化処理方式におい
    て、使用するハードウェアの種別を示す情報を格納した
    ハードウェア情報ファイルと、ハードウェアの種別ごと
    にそのハードウェアで最適とされる命令または関数呼出
    し命令を意味するオペランドを格納した命令オペランド
    変換テーブルと、入力したアセンブラコードを前記命令
    オペランド変換テーブルを参照して使用するハードウェ
    アの種別に対して最適か否かを解析する命令オペランド
    解析手段と、この命令オペランド解析手段で最適でない
    と判断された命令およびオペランドを前記命令オペラン
    ド変換テーブルを参照して使用するハードウェアに対し
    て最適のコードに変換する命令オペランド変換手段と、
    この命令オペランド変換手段による変換に付随して必要
    となる命令コードを生成する命令オペランド生成手段
    と、前記命令オペレーション解析手段から渡された変換
    の必要のないコード,命令オペランド変換手段で変換さ
    れた最適コード,および命令オペランド生成手段で生成
    されたコードを出力する命令オペランド出力手段とを有
    することを特徴とする最適化処理方式。
JP28261292A 1992-10-21 1992-10-21 最適化処理方式 Withdrawn JPH06131196A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28261292A JPH06131196A (ja) 1992-10-21 1992-10-21 最適化処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28261292A JPH06131196A (ja) 1992-10-21 1992-10-21 最適化処理方式

Publications (1)

Publication Number Publication Date
JPH06131196A true JPH06131196A (ja) 1994-05-13

Family

ID=17654787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28261292A Withdrawn JPH06131196A (ja) 1992-10-21 1992-10-21 最適化処理方式

Country Status (1)

Country Link
JP (1) JPH06131196A (ja)

Similar Documents

Publication Publication Date Title
US6253371B1 (en) Method for supporting parallelization of source program
JPH11306026A (ja) コード最適化装置、コード最適化方法、及び、コード最適化プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH07219758A (ja) 仕様書生成方法
JPH06131196A (ja) 最適化処理方式
JPH01118931A (ja) プログラム変換方式
US8108828B2 (en) System for generating optimized computer data field conversion routines
JP2659264B2 (ja) コマンドオプション指定処理装置
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
JP3018783B2 (ja) コンパイル方式
JPH0317136B2 (ja)
JPH0370039A (ja) 関数値の不可避的な誤差に対する影響度出力方式
JPH06214777A (ja) プログラム開発方法及び装置
JPH05224943A (ja) 原始プログラム変換装置
JPH0695307B2 (ja) 言語処理プリプロセッサ
JPH0383140A (ja) 算術式展開方式
JPH01116829A (ja) プログラムの翻訳方式
JPH03161836A (ja) 最適オブジェクトプログラム生成方式
KR970056415A (ko) 에이티엠(atm) 프로세서를 위한 최적 명령 수순 선택 방법
JPH08221276A (ja) コンパイラ
JPH05324344A (ja) 関数呼出し時の引数処理最適化方法
JPH04338841A (ja) デバッガ装置
JPH02207343A (ja) デバッグ装置
JPH0580998A (ja) 翻訳処理方式
JPH0588908A (ja) クロスコンパイラのオブジエクト出力方式

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104