JPS62282333A - 命令再配置プログラム作成方式 - Google Patents

命令再配置プログラム作成方式

Info

Publication number
JPS62282333A
JPS62282333A JP12470586A JP12470586A JPS62282333A JP S62282333 A JPS62282333 A JP S62282333A JP 12470586 A JP12470586 A JP 12470586A JP 12470586 A JP12470586 A JP 12470586A JP S62282333 A JPS62282333 A JP S62282333A
Authority
JP
Japan
Prior art keywords
instruction
time
program
execution
execution time
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
JP12470586A
Other languages
English (en)
Inventor
Makoto Tajo
誠 田場
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP12470586A priority Critical patent/JPS62282333A/ja
Publication of JPS62282333A publication Critical patent/JPS62282333A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 3、発明の詳細な説明 〔産業上の利用分野〕 本発明は情報処理装置の命令再配置グロダラム作成方式
、特に情報処理装置用プログラムのコンパイラ(翻訳プ
ログラム)による目的プログラムへの自動翻訳に用いる
命令再配置プログラム作成方式に関する。
〔従来の技術〕
従来のコンノQイラにおける最適化はハードウェアでの
実行時間の遅い乗算命令を加算命令に変換すること1局
部的に定数と見なせる数による除算を乗算で行うこと、
一つの演算式内または複数の演算式に共通な演算項の演
算を1回の実行で済ますことなどにより、実行すべき命
令数を少なくすることや、実行時間の短い命令を使用す
ることが行なわれておシ、高度な・ぐイブライン制御機
能をもつハードウェアに対応する最適化は少なかった。
〔発明が解決しようとする問題点〕
上述した従来のコン・ぐイラでは高度にノやイブライン
化されたハードウェアに対する考慮が十分でないので、
先行する命令によって更新されるレノスタを後続命令が
参照する時に、先行する演算結果が確定するまで後続命
令の実行が開始できないいわゆるレノスタ確定待が生じ
、高度なパイプライン制御機能を有するハードウェアの
性能を十分に引き出すことができないという問題点があ
る。
〔問題点を解決するための手段〕
本発明の命令再配置プログラム作成方式は、各命令毎の
実行時間を示す命令実行時間テーブルの保持部と、リソ
ースを更新する更新命令に対応して後続命令が前記更新
命令により更新されたリソースを参照するとき参照命令
が待たされる時間を示す確定待時間テーブルの保持部と
、処理対象のプログラムの命令列の各命令毎にその実行
時間と確定待時間とを前記命令実行時間テーブルと確定
待時間テーブルより求めて付与する命令実行時間・確定
待時間付与手段と、確定待時間の合計がOでないとき対
象プログラムの意味を保存した状態で対象プログラムの
命令の入替えを行い且つ対象プログラムの意味を保存し
た状態で実行時の確定待時間が最小となるまで前記確定
待関係を生じさせている更新命令および参照命令の繰上
げまたは繰り下げを行う命令繰上げ繰下げ手段を含んで
構成される。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック構成図、第2図は
ソースプログラムの例の説明図、第3図は第2図のソー
スプログラムを従来のコンパイル技術で翻訳した例を示
す図である。
第1図において、命令実行時間・確定待時間付与装#1
は従来のコン・ぐイル技術で翻訳した結果の命令列の各
命令毎の実行時間と確定待時間を命令実行時間テーブル
と確定待時間テーブルを使用して求め、その時間を各命
令毎に付与する装置であり、命令実行時間テーブル保持
部2および確定待時間テーブル保持部3は命令実行時間
・確定待時間付与装置1で使用されるー/命令実行時間
テーブルおよび確定待時間テーブルをそれぞれ保持する
部分であり9本実施例のように、命令実行時間・確定待
時間付与装置1とそれぞれ独立に設けられていてもよい
し、命令実行時間・確定待時間付与装置1内に設けられ
る構成であってもよい。ここで命令実行時間テーブルは
第4図(a)に示すような各命令毎の実行時間のテーブ
ルであり、また確定待時間テーブルは第4図(b)に示
すようリソースを更新する更新命令に対応して後続命令
か前記更新命令で更新された1ノソースを参照するとき
参照命令が待たされる時間を示すテーブルである。また
それぞれのテーブルの内容は使用する処理装置対応に任
意に設定可能である。
命令繰上げ繰下げ装置4・は命令実行時間・確定待時間
付与装#1で各命令毎の命令実行時間と確定待時間が付
与されたプログラムの確定待時間の合計がOでな2とき
に、プログラムの意味を保存した状態で、対象プログラ
ムの命令列を入れ替えながら、確定待関係を生じている
更新命令と参照命令の内、更新命令はプログラム内での
繰り上げを、参照命令はプログラム内での繰り下げを確
定待時間が最小となるまで行う装置である。L1〜L5
は信号線である。
従来のコン・ぐイル技術で翻訳した結果の第3図に示す
ような命令列は信号線L1を通して命令実行時間・確定
待時間付与装置1に送られ、命令実行時間テーブル保持
部2および確定待時間テーブル保持部・3内の第4図(
、) (b)に示すようなテーブルを使用して求められ
る各命令毎の実行時間と確定待時間がそれぞれ各命令毎
に付与され2本実施例で用いられる第5図に示すような
命令列の原型が求まる。命令列の原型はループ当りの確
定待時間の合計が31クロツクであるので、命令の繰上
げ繰下げ要求と共に、信号線L4を通して命令繰上げ繰
下げ装置4へ送出される。ここで仮に命令列の原型のル
ープ当りの確定待時間がOである場合は、すでに命令列
が最適化しているだめ、命令の繰上げ繰下げ要求は送出
されず、命令列の原型が命令繰上げ繰下げ装置4をその
まま通過して、最適化した命令列の結果として信号線L
5に現われる。
さて本実施例における命令並べ替えの第1ステツプはロ
ード命令の繰シ上げから始まる。第5図の命令列におい
て、ロード命令に着目し、ロード先のレジスタがオ滅ラ
ンドとして使用されている命令ニ到達するか、ルーズの
先頭または他の同様なロード命令に到達するまでロード
命令を繰シ上げる。すなわち命令番号3のLS4のロー
ド命令はループ先頭なのでこのままとなシ、命令番号8
のLS4 命令はS2ヘロードする命令であるから、命
令番号7.6,5.4の命令へと頭次命令をさかのぼっ
てS2をオペランドとして使用しているかを調べ。
そうでなければこのLS4命令と入れ替える。こうして
命令番号8のLS4は命令番号3のLS4の次まで繰シ
上げられる。同様にして命令番号13のLS4は命令番
号8のLS4の次まで繰シ上げられる。
また第5図の命令番号9のMg2は、確定待関係を生じ
させている更新命令であるが、直前のロード命令(LS
4)が更新命令(Mg2)のオペランドS2の更新を行
っているために、目的とする更新命令(Mg2)の繰シ
上げが実施できない。(プログラムの意味が保存できな
贋。) 以上の理由により1本実施例における命令並べ替えの第
1ステツグは、更新命令の繰り上げの実施の妨げとなっ
ているロード命令の繰シ上げから始まる。
ここで命令番号を付与し直して前記の繰シ上げの結果を
第6図に示す。
命令並べ替えの第2ステツプは第6図における確定待の
僅少化である。確定待時間のある命令に着目し、その確
定待となるリソースを更新する命令の繰上げ、または確
定待をする命令の繰シ下げを行う。この方法は確定待時
間がOでない命令をサーチし、この参照命令が参照する
。リソースを更新する命令を調べ、この更新命令の直前
の命令が更新命令のオ被ランドを更新していなくて、且
つこの更新命令が直前の命令のオペランドを更新しなけ
れば、更新命令と直前の命令を入れ替えた時の確定待時
間の変化を調べ、入れ替時の方が確定待時間が小さけれ
ばこの更新命令と直前の命令を入れ替えることにより達
成される。
すなわち、第6図の例では、確定待サーチにより、命令
番号7のAS4において確定待があることが見付かシ、
その更新命令である命令番号6のMg2の繰り上げが試
みられる。命令番号6よシ以前の命令番号5,4が上記
条件を満足するので、命令番号6のMg2は命令番号3
のLS4の直後に置かれる。同様の操作が繰り返えされ
て、命令の入れ替えが起る様子を第7図に示す。
最終的に得られる命令列は第8図となシ、この命令の入
れ替えにより2例えば第7図の命令番号9のAS4 (
命令番号8の更新命令MS4の参照命令)は第8図の命
令番号14の位置に移動し、参照命令の繰り下げが行わ
れたことになる。この時第8図の命令番号14のAS4
に対応する更新命令MS4は第8図の命令番号11に位
置している。従ってこの命令番号11の更新命令MS4
と対応する命令空が生じたことになシ、更新命令MS4
の演算結果がレジスタS1に確定するまでに必要な2ク
ロック分の時間が保障される。
すなわち命令番号14のAS4の実行では、オペランド
として使用するレジスタS1の値はすでに確定している
ので、いわゆるレジスタ確定待なしで演算を開始できる
ようになる。
この結果従来技術のコンツクイルでは、当初の第5図の
確定待時間31クロツクが、11クロツクに減少し1ル
ープ当りの総実行時間は39 + 31=70クロツク
から39+11=50クロツクへと約3割減少する。
〔発明の効果〕
以上説明したように1本発明は処理対象プログラムの命
令列を命令実行時間テーブルと確定待時間テーブルを使
用して並べかえることにより、実行時の確定待時間を僅
少化した実行速度の速いプログラムを作成できる効果が
ある。
以下余白
【図面の簡単な説明】
第1図は本発明の一実施例のブロック構成図。 第2図はソースプログラムの一11F11の説明図、第
3図は従来のコンパイル技術によるコンパイル結果の一
例を示す図、第4図(a) (b)は命令実行時間テー
シ゛ルと確定待時間テーブルの一例を示す図、第5図は
命令並べ替え前の実行時間と確定待時間を示す図、第6
図はロード命令並べ替え後の状態を示す図、第7図は命
令並べ替えの経過を示す図、第8図は命令並べ替え後の
実行時間と確定待時間を示す図である。 1、・・・命令実行時間・確定待時間付与装置、2・・
・命令実行時間テーブル保持部、3・・・確定待時間テ
ーブル保持部、4・・・命令繰上げまたは繰下げ装置。 第1図 第2図 Do  ?  M= 1,120 X(M)=    tJ(M)       +R*(
Z(M)    +R*Y(M))+ T*(U(M 
+ 3)  +R本(u(M+z)+R*u(M+t)
)+1本(U(M+6)  +R*(u(M+s)+R
*u(M+、+))))7  C0NTINuE 第3図 L      LGIP  、    G13. 42
       LGIz       G2.  12
G3      LS4       St、    
552(86)       R4XS4      
 Sl、   4012(85,XS)     Y5
    AS4     Sl、    o(st、x
s)   Z6      XS4       Sl
、   552(86)       R7AS4  
   St、  4004(84,XS)   tJ8
      LS4      52.   552(
ELS)       Re    XS4     
Sz、  40011(B嶋XS)   Ulo   
  AS4       R2,4012(84,XS
)    Ull     XS4       R2
,552(86)       R12AS4    
   R2,4016(R4,XS)    Ull 
     LS4        R3,552(8a
)        R14XS4   R3,4020
(R4,XS)  U15      AS4    
   R3,4024(84,XS)    Ull 
     XS4      R3,552(86) 
      Ft17      AS4      
 R3,4028(84,XS)     tJ18 
     XS4       R3,512(86)
       Tlo      ASSa     
  R3,522OXS4       R2,512
(86)       T21      ASSa 
      Sz、   5122     5TS4
      St、      8(85,XS)  
  X23      AGIP       G13
. 424      8GCTRGz、   −78
第4図 第6図

Claims (1)

    【特許請求の範囲】
  1. 1、各命令毎の実行時間を示す命令実行時間テーブルの
    保持部と、リソースを更新する更新命令に対応して後続
    命令が前記更新命令により更新されたリソースを参照す
    るとき参照命令が待たされる時間を示す確定待時間テー
    ブルの保持部と、処理対象のプログラムの命令列の各命
    令毎にその実行時間と確定待時間とを前記命令実行時間
    テーブルと確定待時間テーブルにより求めて付与する命
    令実行時間/確定待時間付与手段と、確定待時間の合計
    が0でないとき対象プログラムの意味を保存した状態で
    対象プログラムの命令の入替えを行い且つ対象プログラ
    ムの意味を保存させた状態で実行時の確定待時間が最小
    となるまで前記確定待関係を生じさせている更新命令お
    よび参照命令の繰り上げまたは繰り下げを行う命令繰上
    げ繰下げ手段を含むことを特徴とする命令再配置プログ
    ラム作成方式。
JP12470586A 1986-05-31 1986-05-31 命令再配置プログラム作成方式 Pending JPS62282333A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12470586A JPS62282333A (ja) 1986-05-31 1986-05-31 命令再配置プログラム作成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12470586A JPS62282333A (ja) 1986-05-31 1986-05-31 命令再配置プログラム作成方式

Publications (1)

Publication Number Publication Date
JPS62282333A true JPS62282333A (ja) 1987-12-08

Family

ID=14892058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12470586A Pending JPS62282333A (ja) 1986-05-31 1986-05-31 命令再配置プログラム作成方式

Country Status (1)

Country Link
JP (1) JPS62282333A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5042608A (en) * 1988-09-05 1991-08-27 Honda Giken Kogyo Kabushiki Kaisha Front-wheel-drive motorcycle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5617439A (en) * 1979-07-20 1981-02-19 Fujitsu Ltd Instruction scheduling processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5617439A (en) * 1979-07-20 1981-02-19 Fujitsu Ltd Instruction scheduling processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5042608A (en) * 1988-09-05 1991-08-27 Honda Giken Kogyo Kabushiki Kaisha Front-wheel-drive motorcycle

Similar Documents

Publication Publication Date Title
JPS62282333A (ja) 命令再配置プログラム作成方式
JPH01118931A (ja) プログラム変換方式
JPS6362639A (ja) 加工順序制御式外形加工機
JP2753555B2 (ja) プログラマブル・コントローラ
JPS62169243A (ja) プログラムロ−ド方式
JPS62274343A (ja) 型変換選択方式
JPH0421028A (ja) レジスタ管理方法
JPH01120631A (ja) 分割コンパイル方式の実行用データ管理方式
JPH0679283B2 (ja) 中断処理制御方法
JPS63157234A (ja) プログラム修正方式
JPH0610767B2 (ja) ロボット言語実行方法
JPS6358565A (ja) 処理内容変更装置
JPS6220007A (ja) 数値制御装置の命令追加方式
JPH02211540A (ja) コンパイル制御方式
JPH01267731A (ja) セグメントオーバレイプログラムの作成方式
JPS6232557A (ja) 通信プロトコ−ル変換装置
JPH04153732A (ja) ソース修正装置
JPH04102925A (ja) 計算機プログラムの作成・実行方式
JP2003271207A (ja) プログラムの実行方式及びプログラム開発支援装置
JPH0390931A (ja) Rom化プログラムの生成方法
JPH04348438A (ja) 利用権管理方式
JPH0619721A (ja) 機械語翻訳最適化方式
JPH05150999A (ja) コンピユータ言語の構造化処理方式
JPS63184136A (ja) 最適化処理方式
JPS62105240A (ja) 共通式の最適化処理に対するレジスタ割当て方式