JPS5854449A - Shortening system for branch instruction - Google Patents

Shortening system for branch instruction

Info

Publication number
JPS5854449A
JPS5854449A JP15328581A JP15328581A JPS5854449A JP S5854449 A JPS5854449 A JP S5854449A JP 15328581 A JP15328581 A JP 15328581A JP 15328581 A JP15328581 A JP 15328581A JP S5854449 A JPS5854449 A JP S5854449A
Authority
JP
Japan
Prior art keywords
address
branch instruction
label
entry
branch
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
JP15328581A
Other languages
Japanese (ja)
Inventor
Hideaki Tazaki
田崎 英明
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 JP15328581A priority Critical patent/JPS5854449A/en
Publication of JPS5854449A publication Critical patent/JPS5854449A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions

Abstract

PURPOSE:To minimize the memory in a table required for shortening a branch instruction as possible by setting up a new entry on an idle entry or an entry of which address distance exceeds its tolerance. CONSTITUTION:When a label L1 of an addess to which a branch instruction is to be jumped is not yet recorded in a label table, the address (a) of the branch istruction is recorded and left in the label table. If the definition of the label L1 is found at an address (c) and the difference between the address (c) and the address (a) of the branch instruction satisfies (c-a)<=127, an operation converting the branch instruction into a short type one is performed and the flag pit of an entry in which the address of the branch instruction is recorded is turned to ''0''. An entry having the flag pit ''0'' and an entry in which the difference between definition address or a reference address and a present value of an address counter exceeds 128 are idle entries.

Description

【発明の詳細な説明】 本発明は、命令カウンタ相対の分岐命令にシ冒−トタイ
プの分岐命令が含まれる計算機システムにおいて、プロ
ゲラにング言語の!&埋プpセッサにおけるオブジェク
ト・プログラム中の分岐命令を鋏シ嘗−トタイプの分岐
命令で置換し、命令サイズの短縮化を図るための処理方
式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention provides a computer system in which a branch instruction relative to an instruction counter includes a script type branch instruction. The present invention relates to a processing method for replacing a branch instruction in an object program in a processor with a scissors type branch instruction to reduce the instruction size.

分岐命令には、現アドレスから分岐先アドレスまでの距
離が比較的短い一定値IC111ilされているシW−
Fタイプのものと、その制限のないロングタイプのもの
とがある。通常、コンパイル4611時のオブジェクF
・プログラム中の分岐命令としては、第一次的にはすべ
てロングタイプの分岐命令が使用される。しかし1分岐
命令がプログラム中に現われる頻度は比較的高いために
、可能な限り命令サイズが小さく奥行時間が速いシ璽−
トタイプ分岐命令を使用することが、メ%9容量の節約
とオブジェクドブ冒グラムの高速化のために望まれる。
A branch instruction has a fixed value IC111il which is a relatively short distance from the current address to the branch destination address.
There are F type and long type without such restrictions. Normally, the object F at the time of compilation 4611
・Long-type branch instructions are primarily used as branch instructions in a program. However, since the frequency of single branch instructions appearing in a program is relatively high, the instruction size is as small as possible and the depth time is fast.
It is desirable to use type branch instructions to save space and speed up object programming.

このため、従来から窒ングタイプの分岐命令なシ欝−ト
タイプの分岐命令に置換するJ611カ行なわれていた
For this reason, J611 has conventionally been carried out to replace the Nitting type branch instruction with a halt type branch instruction.

従来性われていた分岐命令のシ冒−トタイプ化技法には
いくつかの方法が知られているが、どの方法をとっても
分岐先のアドレスを格納しておくために大きなテーブル
が必要であり、短縮化を実現するためには十分なメモリ
サイズがなければならないという欠点があうた。
Several methods are known for conventional sheet typing techniques for branch instructions, but all of them require a large table to store the branch destination address, making it difficult to shorten the table. The drawback was that sufficient memory size was required to achieve this.

本発−の目的は、オブジェクト・プログラム中に含まれ
る分岐命令をシ1−トタイプの命令に変換する処理に使
用されるテーブルのサイズを必要最小限ですむよ5に制
限するテーブル制御方式を提供するととkある。
The purpose of this development is to provide a table control method that limits the size of the table used in the process of converting branch instructions included in an object program to sheet type instructions to the minimum necessary size of 5. Then there is k.

そのため9本発明は、シ璽−トタイプの分岐命令を有す
る計算機システムにおいて、アドレス・カウンタの指示
にしたがいオブジェクト・プログラムを順次読取り、ラ
ベルの定義および分岐命令を検出する手段と、各エント
リが、ラベル、#ラベルの定義位置のアドレス、該ラベ
ルを参照している分岐命令位置のアドレス、および短縮
化処理の済・未v!によりエントリの無効・有効を表示
するフラグからなるとともに前記検出手段の出力データ
が登録される複数のエントリで構成されているツペルー
テーブル手段と、該2ベル・テーブルの探索および更新
を行なうテーブル管理手段と。
Therefore, the present invention provides a means for sequentially reading an object program according to the instructions of an address counter and detecting a label definition and a branch instruction in a computer system having a sheet type branch instruction, , #The address of the label definition position, the address of the branch instruction position referencing the label, and whether the shortening process has been completed or not v! 2-bell table means comprising a flag indicating invalidity/validity of an entry and a plurality of entries in which output data of the detection means is registered; and table management for searching and updating the two-bell table. With means.

ツヘル拳テーブル中に登録されているアドレスとアト1
゛レス・カウンタの現在値との差を計算し、その差がシ
曽−トタイプ分岐命令の許容最大飛び欠相対アドレス範
囲内にあるか否かを判定する判定手段と、諌判定結果に
基づいてシ曹−トタイプ分岐命令の置換部層を行なう置
換手段とをそなえ。
Addresses and addresses registered in the Tsherken table
a determination means for calculating the difference between the current value of the address counter and determining whether the difference is within the maximum permissible intermittent relative address range for a branch type branch instruction; and replacement means for performing a replacement section layer for a code type branch instruction.

前記ラベル・テーブルのエントリ数は、シ璽−トタイプ
分岐命令の許容最大飛び欠相対アドレス値を最小命令サ
イズで除した値Kfiば等しく定め。
The number of entries in the label table is determined to be equal to the value Kfi obtained by dividing the maximum permissible intermittent relative address value of a sheet type branch instruction by the minimum instruction size.

更に前記テーブル管理手段は、新エントリが前記フラグ
が無効表示となうているエントリ、あるいはすでにアド
レス距離が許容範囲外となっているエントリの位置に設
定されるよう連続的にテーブル制御を行なうことを特徴
とするものである。
Further, the table management means continuously controls the table so that a new entry is set at the position of an entry for which the flag is displayed as invalid, or an entry whose address distance is already outside the allowable range. It is characterized by:

次に2本発明を痰論例にしたがって詳述する。Next, two aspects of the present invention will be explained in detail using a sputum theory example.

以下は2本発明を;ンパイツのオブジェクト−プログツ
五最適化の一部として実施した場合についてのものであ
る。
The following is a case in which the present invention is implemented as part of an object-program optimization process.

ここで用いられるシ璽−トタイプの分岐命令の相対アド
レス範囲は−128〜+127(バイトアドレス)であ
るものとする。
It is assumed that the relative address range of the sheet type branch instruction used here is -128 to +127 (byte address).

JIIIIIX、ψ)、−)は2本発明の1実施例の説
明図である。
JIIIIIIX, ψ), -) are two explanatory diagrams of one embodiment of the present invention.

第1図(Φにおいて、lはオブジェクト・プログラム、
2はアドレス・カウンタ、3はラベル・テーブル、4は
空きエントリ・ポインタを示す。アドレス・カウンタ2
はオブジェクト・プログラム1の処理をどこまで行なっ
たかを示すポインタであり、また空きエントリ・ポイン
タ4はラベル自テーブル3の空きエントリを示すポイン
タである。
Figure 1 (in Φ, l is an object program,
2 is an address counter, 3 is a label table, and 4 is a free entry pointer. address counter 2
is a pointer indicating how far the object program 1 has been processed, and free entry pointer 4 is a pointer indicating a free entry in the label own table 3.

テーブル3へのアドレス登録は、空きエントリ・ポイン
タ4の指すエントリに行なわれる。2ベル・テーブル3
の各エントリは、オブジェクト−プログラム1中kpm
われるラベルと、−)ベルが定義されている位置のアド
レスと、該ラベルを参照している分岐命令の位置のアド
レスと、アドレスを格納する項目が空ぎエントリか否か
を示すフラグビットとkよって構成されている。フラグ
ビットは、@01のとき9鎗エントリを、°1”のとき
有効エントリを示す。
Address registration in table 3 is performed in the entry pointed to by free entry pointer 4. 2 bell table 3
Each entry in kpm in object-program 1
-) the address of the location where the bell is defined, the address of the location of the branch instruction that refers to the label, and a flag bit indicating whether the item storing the address is a free entry or not. Therefore, it is configured. The flag bit indicates a 9-ring entry when it is @01, and a valid entry when it is 01''.

$111111)は、動作の初期設定状態を示し、アド
レス・カウンタ2はオブジェクト・プログラム1の先願
位置を指し、空きエントリポインタ4もうベル・テーブ
ル3の先頭位置を指している。第1図向は、ブーグラム
1のアドレスaで2ペルL1への分岐命令を検出し、ア
ドレスbでラベル3の定義を検出して、各各のデータを
ラベル・テーブル3に登録した状態を示す。
$111111) indicates the initial setting state of the operation, the address counter 2 points to the earlier application position of the object program 1, and the empty entry pointer 4 points to the head position of the bell table 3. The first diagram shows a state in which a branch instruction to 2pel L1 is detected at address a of boogram 1, a definition of label 3 is detected at address b, and each data is registered in label table 3. .

この場合のように1分岐命令の飛び先ラベルL1かいま
だラベル・テーブル中に登録されていないときKは、ラ
ベルL1のアドレスが不明なので。
As in this case, when the jump destination label L1 of the 1-branch instruction is not yet registered in the label table, K is because the address of label L1 is unknown.

飛び先アドレスまでの距離が算出できず、この分岐命令
をシ冒−トタイプ化できるかどうかはまだわからない状
態にある。したがって、この分岐命令のアドレスaは、
ラベルテーブル中に登録して残しておかれる。
The distance to the destination address cannot be calculated, and it is not yet known whether this branch instruction can be converted into a blank type. Therefore, address a of this branch instruction is
It is registered and left in the label table.

第111(C)は、アドレスdまで躯埋が進んだ状態を
示す、このとき、アドレスCでラベルL1の定義を見出
しており、第1m(6)で登録されていたLlへの分岐
命令に対してそのアト−レスaとの差C−a≦127が
成り立つか否かを判定する。これが成す立ツ場合には、
シ璽−トタイプの分岐命令に変換する操作を行なうとと
もに、この分岐命令のアドレスが登録されていたエント
リのフラグビットを無効表示にして、以降の処理のため
に使用可能な空きエントリとする。
No. 111 (C) shows a state in which the construction has progressed to address d. At this time, the definition of label L1 is found at address C, and the branch instruction to Ll registered at No. 1 m (6) is executed. On the other hand, it is determined whether or not the difference C-a≦127 with that address a holds true. If this holds true,
At the same time, the flag bit of the entry in which the address of this branch instruction was registered is displayed as invalid, thereby making it a free entry that can be used for subsequent processing.

次に、アドレスdKある分岐命令に対しては。Next, for a branch instruction with address dK.

その参照ラベルL2がアドレスbですでにテーブルに登
録されているので、そのアドレスbとアドレス・カウン
タの値dとの差d−b≦128を判定し、これが成り立
てば1分岐命令のシ謬−トタイプ化を行なう。そしてこ
の場合にはアドレスdの登録は行なわれない。
Since the reference label L2 is already registered in the table at address b, it is determined that the difference between address b and the value d of the address counter is d-b≦128, and if this holds true, the error of the 1-branch instruction is detected. type. In this case, address d is not registered.

上記のような地理を続けて行く途中で空きエントリ・ポ
インタがラベル・テーブルの終りまでくれば1次に再び
ラベル・テーブルの先1jk戻るよ5に制御される。空
きエントリの探索は、9鯉エントリを示すフラグビット
@O”をもつものと。
When the free entry pointer reaches the end of the label table while continuing the geography as described above, control is performed as shown in step 5 to return 1jk beyond the label table. Search for empty entries with flag bit @O'' indicating 9 carp entries.

フラグビットが@l”であうても定義アドレスあるいは
参照アドレスと現在のアドレスカウンタの値との差が1
28を越えているものとを調べればよい、何故ならば、
フラグビットが@O”であるということは、初期設定の
未使用状態あるいはシ冒−トタイプ化処理済のエントリ
であることを示し。
Even if the flag bit is @l”, the difference between the defined address or reference address and the current address counter value is 1.
All you have to do is look up those over 28, because
The fact that the flag bit is @O'' indicates that the entry is in an initialized unused state or that the entry has been converted into a blank type.

また現在のアドレス・カクンタ値との差が128以上離
れたアドレスにあるラベルの定義あるいは分岐命令は、
シ冒−トタイプ分岐命令の条件からすでに外れるからで
ある。
In addition, label definitions or branch instructions located at addresses that are 128 or more apart from the current address kakunta value are
This is because the conditions for a blank type branch instruction have already been violated.

したが、て、ラベルチーペル3の中には、アドレスカウ
ンタの値との差が128を越えないアドレスをもつ分岐
命令またはラベルの定義のエントリだけを保持すればよ
いととになる。対象となる計算機における最小サイズの
命令のバイトをm、また最小サイズの分岐命令のバイト
数を露とすれば。
Therefore, in the label team 3, only entries for branch instructions or label definitions having addresses whose difference from the value of the address counter does not exceed 128 need to be held. Let m be the byte of the minimum size instruction in the target computer, and let be the number of bytes of the minimum size branch instruction.

テーブルのエントリ数の上限は次式で与えられる。The upper limit of the number of entries in the table is given by the following equation.

12$ +127 tn        n これは、もっとも多くのエントリ数を必要とする場合は
−128〜+127の範囲にラベル定義と分岐命令とが
半々に存在し、しかもそれらの関に結合が起きていない
とぎであり、またシ冒−トタイプ分岐命令の制限された
一定のバイトアドレス領域内にもっとも多くの命令が詰
め込まれるのは最小サイズの命令が連続している場合で
あることによっている。
12$ +127 tn n This is because when the largest number of entries is required, there are half label definitions and half branch instructions in the range -128 to +127, and there is no coupling between these functions. This is because the largest number of instructions can be packed into the limited fixed byte address area of a branch type branch instruction when the minimum size instructions are consecutive.

本実施例では、mxll=3(バイト)なので127エ
ントリあれば十分である。
In this embodiment, since mxll=3 (bytes), 127 entries are sufficient.

第2図は、上述した実施例方式の概略的機能関連図であ
る。
FIG. 2 is a schematic functional relationship diagram of the above-described embodiment system.

図において、アドレスカウンタ2の指示にしたがって、
オブジェクト・プログ2ム読敞り・検出部5でオブジェ
クト・プμグラムの読堆りが行なわれ、定義ラベルと1
分岐命令およびその参照ラベルとが続出される。読み出
されたラベルについて、ラベル・テーブル探索部6でラ
ベル・テーブルの探索が行なわれる。同一ラベルが見出
された場合には、アドレス距離計算・判定部7で現在の
アドレス値との距離を計算され、それがシ諺−トタイプ
分岐命令に許容される所定の範囲内にあれば、シ謬−ト
タイプ分岐命令置換処理部8で対象となっているpング
タイプ分岐命令をシ冒−トタイプ分岐命令に置換する。
In the figure, according to the instructions of address counter 2,
The object/program 2 reading/detection section 5 reads the object/program 2 and records the definition label and 1.
Branch instructions and their reference labels are issued one after another. The label table search unit 6 searches the label table for the read label. If the same label is found, the address distance calculation/judgment unit 7 calculates the distance from the current address value, and if the distance is within a predetermined range allowed for a proverbial type branch instruction, A sheet type branch instruction replacement processing unit 8 replaces the target png type branch instruction with a sheet type branch instruction.

他方、6のラベル・テーブル探索において同一ラベルを
見出せなかった場合には、ラベル・テープル登録部9で
ラベル・テーブルへの登録処理が行なわれる。
On the other hand, if the same label is not found in the label table search in step 6, the label table registration section 9 performs registration processing in the label table.

との登録処理は、該ラベルが分岐命令に先行する定義ラ
ベルである場合に、第1図(φに示すラベル・テーブル
3のラベルおよび定義アドレス欄にラベルとアドレスと
を記入して、後に出現するであろう分岐命令のために#
ラベルが待機状11にあることを表示し、また酸ラベル
が定義ラベルに先行する分岐命令の参照ラベルである場
合#Icは、腋ラベルとアドレスとをラベル・テーブル
3のラベルおよび参照アドレス欄に記入し、骸分岐命令
が後に出現するであろう定義ラベルのために待機状態に
あることを表示するものである。登鎌J611と同時に
そのエントリのフラグ・ビットを11@にセットし、誼
エントリのデータは有効であって破壊し【はならないこ
とを表示する。
If the label is a definition label that precedes a branch instruction, the registration process is to enter the label and address in the label and definition address fields of label table 3 shown in Figure 1 (φ), For branch instructions that would do #
Indicates that the label is in the waiting list 11, and if the acid label is a reference label of a branch instruction that precedes the definition label, #Ic stores the armpit label and address in the label and reference address column of label table 3. This indicates that the skeleton branch instruction is waiting for a definition label that will appear later. At the same time as entry J611, the flag bit of the entry is set to 11@, indicating that the data in the entry is valid and must not be destroyed.

更に、1のアドレス距離計算によってシ、−トタイプ分
岐命令の使用可能条件の範囲外であることがわかった場
合には、ラベル・テーブルエントリ無効化wastoで
誼ラベルに関連する二ンFすのフラグを空き(無効)表
示“0”にリセットする。フラグ@0”をもつエントリ
は、空きエントリ拳ポインタ4によってポインタ指示さ
れかつデータ記入要求が生じたとき、に、空きエントリ
として新らしいデータのために使用される。
In addition, if the address distance calculation in step 1 shows that the address is outside the range of usable conditions for sheet type branch instructions, the label table entry invalidation is performed to set the two F flags related to the lost label. Reset the empty (invalid) display to "0". The entry with the flag @0'' is pointed to by the free entry pointer 4 and is used as a free entry for new data when a data entry request occurs.

gaa!ilは、ラベル−テーブル3の空きエントリ位
置を指示するためのポインタ制御機構の実施例を示す。
Gaa! il shows an embodiment of a pointer control mechanism for pointing to a vacant entry position in the label table 3.

図においC,空きエントリ・ポインタ4は、その内容を
+1回路11によって1ずつ歩道されるととkよってラ
ベル−テーブルを順次的にスキャンし、空きエントリが
検出されたとき+1回路の機能を停止させるものである
。+1回路11が動作を停止される場合は、ラベル・テ
ーブル3中のエントリのアドレス欄12または13の値
が、アドレス・カウンタ2の現在値に対して1機能ブロ
ック15または16に示す条件を満たさないとき。
In the figure C, the free entry pointer 4 scans the label table sequentially when its contents are passed one by one by the +1 circuit 11, and when a free entry is detected, the function of the +1 circuit is stopped. It is something that makes you When the +1 circuit 11 is stopped from operating, the value in the address column 12 or 13 of the entry in the label table 3 satisfies the condition shown in the 1 function block 15 or 16 for the current value of the address counter 2. When there isn't.

あるいはフラグ14が空き(無効)エントリ表示@O”
を示しているときであり、これらの場合に不動作となる
よ50R回路17を介して制御される。この空ぎエント
リ・ポインタ動作は、ラベル・テーブルに新エントリの
設定が必要と4なるととに起動される。
Or flag 14 is empty (invalid) entry display @O”
In these cases, it is controlled via the 50R circuit 17 to be inactive. This free entry pointer operation is activated whenever a new entry needs to be set in the label table.

このよ5に、ラベル・テーブルは新スペースが必要とな
る都度不要になりたデータを次々と追い出すととによっ
て必要最小限の大きさで十分機能を果すことができる。
In this way, the label table can function satisfactorily with the minimum necessary size by sequentially purging unnecessary data each time new space is needed.

第411は、上述した実施例のための最適化プログラム
で用いるラベル・テーブルの管理モジ^−ルのフ■−図
である。このモジ暴−ルは、ラベル・テーブルの初期設
定と、ラベル定義アドレスの登鎌と、ラベルを飛び先と
して参照している分岐命令のアドレス、登録との各ルー
チンで構成され。
No. 411 is a flow diagram of a label table management module used in the optimization program for the embodiment described above. This module consists of routines for initializing a label table, registering a label definition address, and registering the address of a branch instruction that refers to a label as a jump destination.

オブジェクト・プログラム中9ラベル定義および分岐命
令を検出してそれらのアドレスをテーブルに登鎌する躯
瑠と分岐命令のシ璽−トタイグ化とを行なう。
9 label definitions and branch instructions in the object program are detected and their addresses are registered in the table, and the branch instructions are formatted.

以上1本発@について説明したよ5に、本発明によれば
6分岐命令のシ曹−トタイプ化処11に便用するテーブ
ルのエントリ数を必要最小限にすることができるので、
メモリサイズを小さく設計することが可能となる。
5. As explained above about the single issue, according to the present invention, the number of entries in the table used for the 6-branch instruction code typing process 11 can be minimized.
It becomes possible to design a small memory size.

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

第1図(φ乃至<C)は本発明の詳細な説明図、第2図
は本実施例の機態関連図、第3図は本実施例における空
きエントリポインタ制御部の構成図、第4図は本実施例
のための処理ルーチンのフロー図である。 図中、1はオブジェクト・プログラム、2はアドレス−
カウンタ、3はラベル・テーブル、4は空きエントリ・
ポインタを示す。 特許出願人 富士通株式会社 代理人弁理士 森 1)   寛 (a) (b) 才 3 目 [
FIG. 1 (φ to <C) is a detailed explanatory diagram of the present invention, FIG. 2 is a mechanical diagram of this embodiment, FIG. 3 is a configuration diagram of the empty entry pointer control unit in this embodiment, and FIG. The figure is a flow diagram of a processing routine for this embodiment. In the figure, 1 is an object program and 2 is an address.
counter, 3 is the label table, 4 is the empty entry
Indicates a pointer. Patent applicant Fujitsu Ltd. Representative Patent Attorney Mori 1) Hiroshi (a) (b) Sai 3 [

Claims (1)

【特許請求の範囲】[Claims] シ1−トタイプの分岐命令を有する計算機システムにお
いて、アドレス・カウンタの指示にしたがいオブジェク
ト・プ3グッムを順次読取り、ラベルの定義および分岐
命令を検出する手段と、各エントリが、ラベル、皺ツペ
ルの定義位置のアドレス、鋏ツベルを参照している分岐
命令位置のアドレス、および短縮化II&唾の済・未済
によりエントリの無効・有効を表示するフラグからなる
とともに前記検出手段の出力データが登録される複数の
エントリで構成されているラベル・テーブル手段と、該
ラベル・テーブルの探索および更新を行なうテーブル管
理手段と、I)ベル・テーブル中に登録されているアド
レスとアドレス・カウンタの現在値との差を計算し、そ
の差がシ冒−トタイプ分岐命令の許容最大飛び欠相対ア
ドレス範囲内にあるか否かを判定する判定手段と、該判
定結果に基づいてシ曹−トタイプ分岐命令の置換J6種
を行なう置換手段とをそなえ、前記ラベル・テーブルの
エントリ数は、シ謬−トメイプ分岐命令の許容最大飛び
欠相対アドレス値を最小命令サイズで除した値Kfiぼ
等しく定め、更に前記テーブル管理手段は、新エン)9
が前記フラグが無効表示となっているエントリ、あるい
はすでにアドレス距離が許容範囲外となっているエント
リの位置に設定されるよう連続的にテーブル制御を行な
うことを特徴とする分岐命令短縮化II&垣方式。
In a computer system having sheet-type branch instructions, there is provided means for sequentially reading object programs according to instructions from an address counter and detecting label definitions and branch instructions; It consists of the address of the definition position, the address of the branch instruction position referring to the scissor tube, and a flag indicating whether the entry is invalid or valid depending on the shortening II and completion/uncompletion of the entry, and the output data of the detection means is registered. A label table means consisting of a plurality of entries; a table management means for searching and updating the label table; Judgment means for calculating the difference and determining whether the difference is within the allowable maximum discontinuous relative address range of a sheet type branch instruction, and replacement of the sheet type branch instruction based on the determination result J6 the number of entries in the label table is determined to be approximately equal to the value Kfi obtained by dividing the maximum permissible intermittent relative address value of an error mapped branch instruction by the minimum instruction size; 9)
The branch instruction shortening II & hedge is characterized in that table control is continuously performed so that the flag is set at the position of an entry whose address distance is already outside the permissible range. method.
JP15328581A 1981-09-28 1981-09-28 Shortening system for branch instruction Pending JPS5854449A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15328581A JPS5854449A (en) 1981-09-28 1981-09-28 Shortening system for branch instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15328581A JPS5854449A (en) 1981-09-28 1981-09-28 Shortening system for branch instruction

Publications (1)

Publication Number Publication Date
JPS5854449A true JPS5854449A (en) 1983-03-31

Family

ID=15559125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15328581A Pending JPS5854449A (en) 1981-09-28 1981-09-28 Shortening system for branch instruction

Country Status (1)

Country Link
JP (1) JPS5854449A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61110240A (en) * 1984-10-31 1986-05-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Optimization compiler
JPS6247748A (en) * 1985-08-27 1987-03-02 Oki Electric Ind Co Ltd Assembling device
JPS63317846A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317852A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317845A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317847A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317848A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317851A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317850A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317843A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317853A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317849A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317844A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPH01233622A (en) * 1988-03-15 1989-09-19 Kobe Nippon Denki Software Kk Machine language branching instruction generation processing system
JP2014010661A (en) * 2012-06-29 2014-01-20 Fujitsu Ltd Program, method and device for branch address management

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61110240A (en) * 1984-10-31 1986-05-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Optimization compiler
JPS6247748A (en) * 1985-08-27 1987-03-02 Oki Electric Ind Co Ltd Assembling device
JPS63317853A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317849A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317845A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317847A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317848A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317851A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317850A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317843A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317846A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317852A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPS63317844A (en) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd Analyzing device for program contents
JPH0820969B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH0820970B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH0820973B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH0820968B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH0820972B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH0820971B2 (en) * 1987-06-20 1996-03-04 富士通テン株式会社 Program content analyzer
JPH01233622A (en) * 1988-03-15 1989-09-19 Kobe Nippon Denki Software Kk Machine language branching instruction generation processing system
JP2014010661A (en) * 2012-06-29 2014-01-20 Fujitsu Ltd Program, method and device for branch address management
US9417872B2 (en) 2012-06-29 2016-08-16 Fujitsu Limited Recording medium storing address management program, address management method, and apparatus

Similar Documents

Publication Publication Date Title
EP0135844B1 (en) A data processor with a branch target instruction storage
JPS5854449A (en) Shortening system for branch instruction
CN102906716B (en) Promote the method for the management of the system storage of computing environment
US7032229B1 (en) Automatic tracking of user progress in a software application
KR100309615B1 (en) High Speed Programmable Logic Controllers (PLC)
CN102236541A (en) Preload instruction control
KR100368166B1 (en) Methods for renaming stack references in a computer processing system
CN111208933B (en) Method, device, equipment and storage medium for data access
EP0321793A2 (en) Apparatus for forcing a reload from main memory upon cache memory error
US6052530A (en) Dynamic translation system and method for optimally translating computer code
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPS60243795A (en) Alteration program setting system for electronic register
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US4648033A (en) Look-aside buffer LRU marker controller
JPH077356B2 (en) Pipelined microprocessor
CN102197381A (en) Data processing circuit with cache and interface for a detachable device
US5012410A (en) Data processor with instruction cache memory
EP0187713A2 (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
EP0153109A2 (en) Cache coherence system
US20040049511A1 (en) Method for acquiring and monitoring hardware data of computer system
GB2037466A (en) Computer with cache memory
JP2540959B2 (en) Information processing device
CA1204216A (en) Digital data processing system with vertical and horizontal microcode control
CA1174767A (en) Processor with means to address operands in microinstructions
JPH05334194A (en) Information processor