JP2819668B2 - Instruction optimization method - Google Patents

Instruction optimization method

Info

Publication number
JP2819668B2
JP2819668B2 JP23906889A JP23906889A JP2819668B2 JP 2819668 B2 JP2819668 B2 JP 2819668B2 JP 23906889 A JP23906889 A JP 23906889A JP 23906889 A JP23906889 A JP 23906889A JP 2819668 B2 JP2819668 B2 JP 2819668B2
Authority
JP
Japan
Prior art keywords
instruction
load
load instruction
output
intermediate text
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.)
Expired - Lifetime
Application number
JP23906889A
Other languages
Japanese (ja)
Other versions
JPH03100830A (en
Inventor
光司 福田
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 JP23906889A priority Critical patent/JP2819668B2/en
Publication of JPH03100830A publication Critical patent/JPH03100830A/en
Application granted granted Critical
Publication of JP2819668B2 publication Critical patent/JP2819668B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータキャッシュを持つ中央処理装置(以
下、CPUと略記する)のオブジェクトプログラムを生成
するコンパイラに関し、特にコンパイラのデータ接近フ
ェーズにおける命令の最適化方式に関する。
Description: BACKGROUND OF THE INVENTION The present invention relates to a compiler for generating an object program for a central processing unit (hereinafter abbreviated as CPU) having a data cache. Regarding the optimization method.

〔従来の技術〕[Conventional technology]

従来、この種の命令の最適化方式では、データキャッ
シュのヒット率については考慮されていなかった。
Conventionally, in this type of instruction optimization method, the hit ratio of the data cache has not been considered.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述した従来の命令の最適化方式では、データキャッ
シュのヒット率については考慮されていなかったので、
データキャッシュのフラッシュが頻発した場合にはプロ
グラムの実行時間がかかるという欠点がある。
In the conventional instruction optimization method described above, the hit ratio of the data cache was not taken into account, so
When the data cache is frequently flushed, there is a disadvantage that the program execution time is required.

本発明の目的は、上述の点に鑑み、データキャッシュ
のヒット率を高めるようにロード命令をオペランドのア
ドレス順にソートすることにより、テーブルキャッシュ
のフラッシュの発生を抑制してプログラムの実行時間を
短縮するようにした命令の最適化方式を提供することに
ある。
SUMMARY OF THE INVENTION In view of the above, it is an object of the present invention to sort load instructions in the order of operand addresses so as to increase the data cache hit rate, thereby suppressing the occurrence of a table cache flush and shortening the program execution time. An object of the present invention is to provide an instruction optimization method as described above.

〔課題を解決するための手段〕[Means for solving the problem]

本発明の命令の最適化方式は、データキャッシュを持
つCPUのオブジェクトプログラムを生成するコンパイラ
のデータ接近フェーズにおいて、入力中間テキストから
命令を入力してロード命令とそれ以外の命令とに振り分
ける命令振分け手段と、この命令振分け手段により振り
分けられたロード命令を解析してロード命令スタック手
段に渡すロード命令解析手段と、このロード命令解析手
段から渡されたロード命令をロード命令スタック域にス
タックし、このときすでに前記ロード命令スタック域に
退避されているロード命令があればロード命令交換手段
を呼び出す前記ロード命令スタック手段と、このロード
命令スタック手段から呼び出されたときに前記ロード命
令スタック域にスタックされたロード命令をオペランド
のアドレス順にソートするロード命令交換手段と、前記
命令振分け手段により振り分けられたロード命令以外の
命令が、データキャッシュを変化させない命令である場
合にはその命令をそのまま出力中間テキストに出力し、
データキャッシュをフラッシュさせる命令である場合に
はロード命令出力手段を呼び出して前記ロード命令スタ
ック域の全てのロード命令をソートされている順に前記
出力中間テキストに出力した後にデータキャッシュをフ
ラッシュさせる命令を前記出力中間テキストに出力し、
前記ロード命令スタック域のロード命令によりメモリの
内容を転記されるレジスタを参照する参照命令である場
合には前記ロード命令出力手段を呼び出してその参照命
令で参照されたオペランドのアドレスより小さなアドレ
スのオペランドをレジスタに転記するロード命令を全て
前記ロード命令スタック域からソートされている順に前
記出力中間テキストに出力した後に前記参照命令を前記
出力中間テキストに出力する他命令解析手段と、この他
命令解析手段から呼び出されたときに前記ロード命令ス
タック域にスタックされたロード命令をソートされてい
る順に前記出力中間テキストに出力する前記ロード命令
出力手段とを有する。
An instruction optimizing method according to the present invention is an instruction allocating means for inputting an instruction from an input intermediate text and allocating the instruction to a load instruction and other instructions in a data approach phase of a compiler for generating an object program of a CPU having a data cache. And a load instruction analyzing means for analyzing the load instruction distributed by the instruction distributing means and passing it to the load instruction stack means, and stacking the load instruction passed from the load instruction analyzing means in a load instruction stack area. The load instruction stack means for calling a load instruction exchange means if there is a load instruction already saved in the load instruction stack area; and a load stacked in the load instruction stack area when called from the load instruction stack means. Sort instructions by operand address A load instruction exchange means that the instruction other than the load instruction which is distributed by the instruction distributing unit, when an instruction which does not change the data cache outputs the instruction directly to output intermediate text,
If the instruction is to flush the data cache, the load instruction output means is called to output all load instructions in the load instruction stack area to the output intermediate text in the sorted order, and then execute the instruction to flush the data cache. Output to intermediate text,
If the reference instruction refers to a register to which the contents of the memory are transcribed by the load instruction in the load instruction stack area, the load instruction output means is called to operate the operand having an address smaller than the address of the operand referred to by the reference instruction. Other instruction analyzing means for outputting the reference instruction to the output intermediate text after outputting all the load instructions for transcribing to the register to the output intermediate text in the order sorted from the load instruction stack area, and the other instruction analyzing means The load instruction output means for outputting the load instructions stacked in the load instruction stack area to the output intermediate text in the sorted order when called from the load instruction stack area.

〔作用〕[Action]

本発明の命令の最適化方式では、命令振分け手段が入
力中間テキストから命令を入力してロード命令とそれ以
外の命令とに振り分け、ロード命令解析手段が命令振分
け手段により振り分けられたロード命令を解析してロー
ド命令スタック手段に渡し、ロード命令スタック手段が
ロード命令解析手段から渡されたロード命令をロード命
令スタック域にスタックし、このときすでにロード命令
スタック域に退避されているロード命令があればロード
命令交換手段を呼び出し、ロード命令交換手段がロード
命令スタック手段から呼び出されたときにロード命令ス
タック域にスタックされたロード命令をオペランドのア
ドレス順にソートし、他命令解析手段が命令振分け手段
により振り分けられたロード命令以外の命令が、データ
キャッシュを変化させない命令である場合にはその命令
をそのまま出力中間テキストに出力し、データキャッシ
ュをフラッシュさせる命令である場合にはロード命令出
力手段を呼び出してロード命令スタック域の全てのロー
ド命令をソートされている順に出力中間テキストに出力
した後にデータキャッシュをフラッシュさせる命令を出
力中間テキストに出力し、ロード命令スタック域のロー
ド命令によりメモリの転記されるレジスタを参照する参
照命令である場合にはロード命令出力手段を呼び出して
その参照命令で参照されたオペランドのアドレスより小
さなアドレスのオペランドをレジスタに転記するロード
命令を全てロード命令スタック域からソートされている
順に出力中間テキストに出力した後に参照命令を出力中
間テキストに出力し、ロード命令出力手段が他命令解析
手段から呼び出されたときにロード命令スタック域にス
タックされたロード命令をソートされている順に出力中
間テキストに出力する。
In the instruction optimizing method of the present invention, the instruction distributing means inputs instructions from the input intermediate text and distributes them to load instructions and other instructions, and the load instruction analyzing means analyzes the load instructions distributed by the instruction distributing means. To the load instruction stack means, and the load instruction stack means stacks the load instruction passed from the load instruction analysis means on the load instruction stack area. If there is a load instruction already saved in the load instruction stack area at this time, The load instruction exchange means is called, and when the load instruction exchange means is called from the load instruction stack means, the load instructions stacked in the load instruction stack area are sorted in the order of operand addresses, and the other instruction analysis means is distributed by the instruction distribution means. An instruction other than the load instruction If there is no instruction, the instruction is output to the output intermediate text as it is, and if it is an instruction to flush the data cache, the load instruction output means is called to sort all the load instructions in the load instruction stack area. An instruction for flushing the data cache after sequentially outputting to the output intermediate text is output to the output intermediate text. If the reference instruction refers to a register to be transferred to the memory by a load instruction in the load instruction stack area, a load instruction output means Is called and the operand of the address smaller than the address of the operand referred to by the reference instruction is transferred to the register.All load instructions are output from the load instruction stack area to the output intermediate text in the order in which they are sorted, and then the reference instruction is output. And load instruction output Stage is output to the output intermediate text in the order in which they are sorted load instructions that are stacked in the load instruction stack area when called from another instruction analysis means.

〔実施例〕〔Example〕

次に、本発明について図面を参照して詳細に説明す
る。
Next, the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例を係る命令の最適化方式
が適用されたコンパイラのデータ接近フェーズの構成を
示すブロック図である。このデータ接近フェーズは、入
力中間テキスト1から命令を入力してロード命令とそれ
以外の命令とに振り分ける命令振分け手段2と、命令振
分け手段2により振り分けられたロード命令を解析する
ロード命令解析手段3と、命令振分け手段2により振り
分けられたロード命令以外の命令を解析し出力中間テキ
スト5に出力する他命令解析手段4と、ロード命令解析
手段3からの指示によりロード命令をロード命令スタッ
ク域9にスタックするロード命令スタック手段6と、ロ
ード命令スタック手段6からの指示によりロード命令ス
タック域9にスタックされたロード命令をオペランドの
アドレス順にソートするロード命令交換手段7と、他命
令解析手段4からの指示によりロード命令スタック域9
にスタックされたロード命令をソートされている順に出
力中間テキスト5に出力するロード命令出力手段8とを
含んで構成されている。
FIG. 1 is a block diagram showing a configuration of a data approach phase of a compiler to which an instruction optimization method according to an embodiment of the present invention is applied. The data approach phase includes an instruction distributing means 2 for inputting an instruction from the input intermediate text 1 and distributing the instruction to a load instruction and other instructions, and a load instruction analyzing means 3 for analyzing the load instruction distributed by the instruction distributing means 2. And other instruction analyzing means 4 for analyzing an instruction other than the load instruction distributed by the instruction distributing means 2 and outputting it to the output intermediate text 5, and loading the load instruction into the load instruction stack area 9 according to the instruction from the load instruction analyzing means 3. Load instruction stack means 6 for stacking, load instruction exchange means 7 for sorting load instructions stacked in the load instruction stack area 9 in accordance with instructions from the load instruction stack area 6 in the order of operand addresses, and other instruction analysis means 4. Load instruction stack area 9 by instruction
And a load instruction output means 8 for outputting the load instructions stacked on the output intermediate text 5 in the sorted order.

入力中間テキスト1は、データ接近フェーズの前段の
コード生成フェーズ(図示せず)が出力した中間テキス
トであり、ソースプログラムに応じた機械語命令が中間
テキストの形式で入っているものである。
The input intermediate text 1 is an intermediate text output by a code generation phase (not shown) preceding the data approach phase, and contains machine language instructions corresponding to a source program in the form of an intermediate text.

ロード命令スタック域9は、中間テキストをそのまま
の形式で複数個退避可能な領域である。
The load instruction stack area 9 is an area where a plurality of intermediate texts can be saved as they are.

次に、このように構成された本実施例の命令の最適化
方式の動作について説明する。
Next, the operation of the instruction optimizing method of the present embodiment configured as described above will be described.

命令振分け手段2は、入力中間テキスト1から入力さ
れオペランドのアドレスが解決した(これはデータ接近
フェーズの既存技術で解決する)1つの機械語命令をロ
ード命令とそうでない命令とに分類する。ここでいうロ
ード命令とは、メモリの内容をレジスタに転記する命令
でかつオペランドのアドレスが翻訳時に静的に求められ
る(インデックスレジスタによる修飾や内容が動的に変
化するベースレジスタを持たない)ものを指す。命令振
分け手段2は、ロード命令をロード命令解析手段3に渡
し、ロード命令以外の命令を他命令解析手段4に渡す。
The instruction distributing means 2 classifies one machine language instruction input from the input intermediate text 1 whose operand address is resolved (this is resolved by the existing technique of the data approach phase) into a load instruction and an instruction that is not. A load instruction here is an instruction to transfer the contents of memory to a register, and the address of the operand is obtained statically at the time of translation (there is no modification by the index register or a base register whose contents change dynamically). Point to. The instruction distribution unit 2 passes the load instruction to the load instruction analysis unit 3 and passes instructions other than the load instruction to the other instruction analysis unit 4.

ロード命令解析手段3は、命令振分け手段2から渡さ
れたロード命令を解析し、ロード命令スタック手段6に
渡す。具体的には、ロード命令解析手段3は、ロード命
令の解析処理において、命令とオペランドとの関係を解
析し、論理レジスタから物理レジスタへの変換やデータ
接近の動作に必要なオブジェクトを生成する(なお、他
命令解析手段4においても同様の処理が行われるが、一
般的な処理なので明記しない)。
The load instruction analysis unit 3 analyzes the load instruction passed from the instruction distribution unit 2 and passes it to the load instruction stack unit 6. Specifically, in the load instruction analysis processing, the load instruction analysis unit 3 analyzes the relationship between the instruction and the operand, and generates an object necessary for the operation of converting a logical register into a physical register and accessing data ( The same processing is performed in the other instruction analysis means 4, but it is a general processing and will not be described).

ロード命令スタック手段6は、ロード命令解析手段3
から渡されたロード命令をロード命令スタック域9にス
タックする。この際、すでにロード命令スタック域9に
退避されているロード命令が有る場合には、ロード命令
スタック手段6は、ロード命令交換手段7を呼び出す。
The load instruction stacking means 6 includes the load instruction analyzing means 3
Is stacked in the load instruction stack area 9. At this time, if there is a load instruction already saved in the load instruction stack area 9, the load instruction stack means 6 calls the load instruction exchange means 7.

ロード命令交換手段7は、ロード命令スタック域9に
スタックされているロード命令をオペランドのアドレス
が小さい順にソートする。
The load instruction exchange means 7 sorts the load instructions stacked in the load instruction stack area 9 in ascending order of operand addresses.

一方、他命令解析手段4は、命令振分け手段2から渡
されたロード命令以外の命令を、分岐命令等のデータキ
ャッシュを変化させない命令と、インデックスレジスタ
による修飾や内容が動的に変化するベースレジスタを持
つ広義のロード命令等のデータキャッシュをフラッシュ
させる命令と、ロード命令スタック域9のロード命令に
よりメモリの内容を転記されるレジスタを参照する参照
命令とに分類する。
On the other hand, the other-instruction analysis unit 4 converts an instruction other than the load instruction passed from the instruction distribution unit 2 into an instruction that does not change the data cache, such as a branch instruction, and a base register that is modified by an index register or whose contents change dynamically. And a reference instruction which refers to a register to which the contents of the memory are transcribed by the load instruction in the load instruction stack area 9, such as a load instruction in a broad sense having the following.

データキャッシュを変化させない命令がきた場合に
は、他命令解析手段4は、その命令をそのまま出力中間
テキスト5に出力する。
When an instruction that does not change the data cache comes, the other instruction analysis means 4 outputs the instruction to the output intermediate text 5 as it is.

また、データキャッシュをフラッシュさせる命令がき
た場合には、他命令解析手段4は、ロード命令出力手段
8を呼び出す。ロード命令出力手段8は、ロード命令ス
タック域9の全てのロード命令をソートされている順に
出力中間テキスト5に出力する。この後、他命令解析手
段4は、データキャッシュをフラッシュさせる命令を出
力中間テキスト5に出力する。
Further, when an instruction to flush the data cache comes, the other instruction analysis unit 4 calls the load instruction output unit 8. The load instruction output means 8 outputs all load instructions in the load instruction stack area 9 to the output intermediate text 5 in the sorted order. Thereafter, the other-instruction analyzing unit 4 outputs an instruction to flush the data cache to the output intermediate text 5.

さらに、ロード命令スタック域9のロード命令により
メモリの内容を転記されるレジスタを参照する参照命令
がきた場合には、他命令解析手段4は、ロード命令出力
手段8を呼び出す。ロード命令出力手段8は、その参照
命令で参照されたオペランドのアドレスより小さなアド
レスのオペランドをレジスタに転記するロード命令を全
てロード命令スタック域9からソートされている順に出
力中間テキスト5に出力する。この後、他命令解析手段
4は、ロード命令によりメモリの内容を転記されるレジ
スタを参照する参照命令を出力中間テキスト5に出力す
る。
Further, when a load instruction in the load instruction stack area 9 causes a reference instruction to refer to a register to which the contents of the memory are to be transferred, the other instruction analysis means 4 calls the load instruction output means 8. The load instruction output means 8 outputs to the output intermediate text 5 all load instructions which transfer an operand having an address smaller than the address of the operand referred to by the reference instruction to the register in the order in which the load instructions are sorted from the load instruction stack area 9. Thereafter, the other-instruction analyzer 4 outputs a reference instruction to the output intermediate text 5 that refers to the register to which the contents of the memory are transcribed by the load instruction.

次に、本実施例の命令の最適化方式の動作について、
第2図を参照しながら具体的に説明する。
Next, regarding the operation of the instruction optimization method of the present embodiment,
This will be specifically described with reference to FIG.

第2図の入力中間テキスト1には、3つの機械語命令
テキスト11,12および13がこの順番で入っているものと
する(オペランドのアドレスが解決された形で書かれて
いるが、実際はこの解決もデータ接近フェーズ内で行わ
れる)。データ接近フェーズは、本実施例の命令の最適
化方式の適用の結果、3つの機械語命令テキスト12,11
および13をこの順に並び変えて出力中間テキスト5に出
力する。
It is assumed that the input intermediate text 1 in FIG. 2 contains three machine language instruction texts 11, 12, and 13 in this order (the addresses of the operands are written in a resolved form. Resolution is also performed during the data approach phase). The data approach phase includes three machine language instruction texts 12 and 11 as a result of applying the instruction optimization method of the present embodiment.
And 13 are rearranged in this order and output to the output intermediate text 5.

これにより、プログラムの実行時に、ロード命令12で
ベースレジスタBR0の相対100番地のオペランドへのアク
セス時にCPUのデータキャッシュにベースレジスタBR0の
相対100番地からのデータが入り、次のロード命令11で
ベースレジスタBR0の相対110番地のオペランドへのアク
セス時にデータキャッシュに格納されたデータにヒット
する。この結果、ロード命令11がロード命令12に先行し
たままの場合に比べて、データキャッシュのフラッシュ
が抑制され、プログラムがより高速に処理されることに
なる。
As a result, at the time of execution of the program, when the load instruction 12 accesses the operand at the relative address of the base register BR0 at 100, the data from the relative address of the base register BR0 enters the data cache of the CPU, and the base at the next load instruction 11 Hits data stored in the data cache when accessing the operand at relative address 110 of register BR0. As a result, the flushing of the data cache is suppressed and the program is processed at a higher speed than in the case where the load instruction 11 remains preceding the load instruction 12.

〔発明の効果〕 以上説明したように本発明は、命令振分け手段,ロー
ド命令解析手段,他命令解析手段,ロード命令スタック
手段,ロード命令交換手段およびロード命令出力手段を
設けて、データキャッシュに格納されたデータが連続的
にヒットするようにロード命令をオペランドのアドレス
順に並び換えることにより、データキャッシュのフラッ
シュを抑制してプログラムの実行時間を短縮することが
できるという効果がある。
[Effects of the Invention] As described above, the present invention is provided with instruction distribution means, load instruction analysis means, other instruction analysis means, load instruction stack means, load instruction exchange means and load instruction output means, and stores them in a data cache. By rearranging the load instructions in the order of the addresses of the operands so that the extracted data hits continuously, there is an effect that the flush of the data cache can be suppressed and the execution time of the program can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例に係る命令の最適化方式が適
用されデータ接近フェーズの構成を示すブロック図、 第2図は本実施例の命令の最適化方式の適用結果の一例
を示す図である。 図において、 1……入力中間テキスト、2……命令振分け手段、3…
…ロード命令解析手段、4……他命令解析手段、5……
出力中間テキスト、6……ロード命令スタック手段、 7……ロード命令交換手段、8……ロード命令出力手
段、9……ロード命令スタック域、11……ロード命令、
12……ロード命令、13……参照命令である。
FIG. 1 is a block diagram showing a configuration of a data approach phase to which an instruction optimization method according to an embodiment of the present invention is applied, and FIG. 2 shows an example of an application result of the instruction optimization method of the present embodiment. FIG. In the figure, 1 ... input intermediate text, 2 ... command distribution means, 3 ...
... Load instruction analysis means, 4 ... Other instruction analysis means, 5 ...
Output intermediate text, 6: load instruction stack means, 7: load instruction exchange means, 8: load instruction output means, 9: load instruction stack area, 11: load instruction,
12 ... load instruction, 13 ... reference instruction.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】データキャッシュを持つCPUのオブジェク
トプログラムを生成するコンパイラのデータ接近フェー
ズにおいて、 入力中間テキストから命令を入力してロード命令とそれ
以外の命令とに振り分ける命令振分け手段と、 この命令振分け手段により振り分けられたロード命令を
解析してロード命令スタック手段に渡すロード命令解析
手段と、 このロード命令解析手段から渡されたロード命令をロー
ド命令スタック域にスタックし、このときすでに前記ロ
ード命令スタック域に退避されているロード命令があれ
ばロード命令交換手段を呼び出す前記ロード命令スタッ
ク手段と、 このロード命令スタック手段から呼び出されたときに前
記ロード命令スタック域にスタックされたロード命令を
オペランドのアドレス順にソートするロード命令交換手
段と、 前記命令振分け手段により振り分けられたロード命令以
外の命令が、データキャッシュを変化させない命令であ
る場合にはその命令をそのまま出力中間テキストに出力
し、データキャッシュをフラッシュさせる命令である場
合にはロード命令出力手段を呼び出して前記ロード命令
スタック域の全てのロード命令をソートされている順に
前記出力中間テキストに出力した後にデータキャッシュ
をフラッシュさせる命令を前記出力中間テキストに出力
し、前記ロード命令スタック域のロード命令によりメモ
リの内容を転記されるレジスタを参照する参照命令であ
る場合には前記ロード命令出力手段を呼び出してその参
照命令で参照されたオペランドのアドレスより小さなア
ドレスのオペランドをレジスタに転記するロード命令を
全て前記ロード命令スタック域からソートされている順
に前記出力中間テキストに出力した後に前記参照命令を
前記出力中間テキストに出力する他命令解析手段と、 この他命令解析手段から呼び出されたときに前記ロード
命令スタック域にスタックされたロード命令をソートさ
れている順に前記出力中間テキストに出力する前記ロー
ド命令出力手段と を有することを特徴とする命令の最適化方式。
1. An instruction distributing means for inputting an instruction from an input intermediate text and distributing the instruction into a load instruction and other instructions in a data approach phase of a compiler which generates an object program of a CPU having a data cache. Load instruction analysis means for analyzing the load instruction distributed by the means and passing the load instruction to the load instruction stack means; and stacking the load instruction passed from the load instruction analysis means in a load instruction stack area. The load instruction stack means for calling the load instruction exchange means if there is a load instruction saved in the area, and the load instruction stacked in the load instruction stack area when called from the load instruction stack means, and the operand address. Load instruction to sort in order When an instruction other than a load instruction distributed by the exchange unit and the instruction distribution unit is an instruction that does not change the data cache, the instruction is to output the instruction as it is to the output intermediate text and flush the data cache. The load instruction output means is called to output all load instructions in the load instruction stack area to the output intermediate text in the sorted order, and then output an instruction to flush the data cache to the output intermediate text. If the reference instruction refers to a register to which the contents of the memory are transcribed by the load instruction in the instruction stack area, the load instruction output means is called, and an operand having an address smaller than the address of the operand referred to by the reference instruction is registered. All load instructions to be posted to Another instruction analyzing means for outputting the reference instruction to the output intermediate text after outputting to the output intermediate text in the order sorted from the load instruction stack area, and the load instruction when called from the other instruction analyzing means And a load instruction output unit that outputs the load instructions stacked in the stack area to the output intermediate text in the sorted order.
JP23906889A 1989-09-14 1989-09-14 Instruction optimization method Expired - Lifetime JP2819668B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23906889A JP2819668B2 (en) 1989-09-14 1989-09-14 Instruction optimization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23906889A JP2819668B2 (en) 1989-09-14 1989-09-14 Instruction optimization method

Publications (2)

Publication Number Publication Date
JPH03100830A JPH03100830A (en) 1991-04-25
JP2819668B2 true JP2819668B2 (en) 1998-10-30

Family

ID=17039380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23906889A Expired - Lifetime JP2819668B2 (en) 1989-09-14 1989-09-14 Instruction optimization method

Country Status (1)

Country Link
JP (1) JP2819668B2 (en)

Also Published As

Publication number Publication date
JPH03100830A (en) 1991-04-25

Similar Documents

Publication Publication Date Title
JP3180075B2 (en) Apparatus and method for dynamic conversion between different instruction codes
US20080133890A1 (en) Dynamic recalculation of resource vector at issue queue for steering of dependent instructions
US7949848B2 (en) Data processing apparatus, method and computer program product for reducing memory usage of an object oriented program
JPH04503416A (en) dataflow multiprocessor system
JPS60176143A (en) Program calling apparatus
CN100362474C (en) Time-multiplexed speculative multi-threading to support single-threaded applications
JPH03291726A (en) Method of minimizing interruption of pipeline treatment of hardware by using software-scheduling technique during compile
JP3246438B2 (en) Variable target compilation processing method, its processing device, storage medium for its program, and storage medium for conversion table
JP2819668B2 (en) Instruction optimization method
JP3318051B2 (en) Translation processing method
JP2591212B2 (en) High-speed interrupt processing device
CN112114817A (en) COBOL language-based data dictionary field information acquisition method and device
JP2000122876A (en) Information processor
US3660825A (en) Electronic computer
JP2000020318A (en) Device for reducing memory access instruction and storage medium
EP0862111B1 (en) Dynamic conversion between different instruction codes by recombination of instruction elements
US20050076172A1 (en) Architecture for static frames in a stack machine for an embedded device
JP2727023B2 (en) Information processing device
JPS62182843A (en) Fast compiling/linking system
JPH04167134A (en) Bit transcription system
JPH0128414B2 (en)
JP2013127703A (en) Method and program for generating load module
JP2509981B2 (en) Virtual storage controller
JPH03109642A (en) Compiling device
KR830000821B1 (en) Data processing systems

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20070828

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090828

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090828

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20100828

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100828

Year of fee payment: 12