JPS60241136A - Data processor - Google Patents

Data processor

Info

Publication number
JPS60241136A
JPS60241136A JP9639084A JP9639084A JPS60241136A JP S60241136 A JPS60241136 A JP S60241136A JP 9639084 A JP9639084 A JP 9639084A JP 9639084 A JP9639084 A JP 9639084A JP S60241136 A JPS60241136 A JP S60241136A
Authority
JP
Japan
Prior art keywords
instruction
address
instructions
remaining
buffer
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
JP9639084A
Other languages
Japanese (ja)
Inventor
Hakuro Mori
森 伯郎
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9639084A priority Critical patent/JPS60241136A/en
Publication of JPS60241136A publication Critical patent/JPS60241136A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To improve both the versatility and the processing speed of a data processor by holding the upper and lower addresses of an instruction remaining within an instruction buffer and using the remaining instruction for processing as long as a branching destination address exists within said upper and lower addresses. CONSTITUTION:A data processor 2 connected to a main memory 1 includes upper and lower limit address registers 8 and 9 of a remaining instruction within an instruction buffer 4, a lower limit address incrementer 10, an address comparator 11 and a control circuit 12 in addition to the instruction buffers 3 and 4, an address register 5, an address adder 6 and an address incrementer 7. The branching destination address calculated by the adder 6 is compared with the addresses of registers 8 and 9 respectively. Then the presence or absence of the branching is checked for a remaining instruction within the buffer 4. If the branching is possible, the circuit 12 controls the suppression of an instruction read request given to the main memory 1.

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は分岐命令を利用して同じ命令シーケンスを繰り
返し実行する場合の命令先取り制御機能を有するデータ
処理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a data processing device having an instruction prefetch control function when repeatedly executing the same instruction sequence using a branch instruction.

〔従来技術〕[Prior art]

第1図は従来の命令の先取り制御を行うための命令バッ
ファを有するデータ処理装置を示す。図に於いてlは主
記憶装置であり命令とデータが格納されている。コはデ
ータ処理装置で主記憶装置/に接続される。3は命令レ
ジスタ、ダは命令バッファで複数個の命令を格納するこ
とが可能な構成がとられる。Sは命令アドレスレジスタ
で読み出す命令のアドレスを保持する。6はアドレスア
ダーで分岐先命令アドレスあるいはオペランドアドレス
の計算に使用される。7はアドレスインクリメンタで命
令ア゛ドレスのインクリメントに使用される。データ処
理装置コの起動はスタートアドレスを命令アドレスレジ
スタ5に設定することによりなされる。起動されたデー
タ処理装置λは主記憶装置lに命令アドレスレジスタ5
のアドレスを送り命令の読み出しを要求する。主記憶装
置lから読み出された命令は命令バッファψを経由し’
c f6令レジスタ3に読み出され処理される゛。命令
バッフアダは主記憶装置lからの命令の読み出しが他の
装置との競合等により待たされる場合にも効率よく命令
レジスタ3へ命令を供給する目的で設けられる。分岐命
令が命令レジスタ3でデコードされるとアドレスアダー
6に:より分岐先アドレスが計算され命令アドレスレジ
スタ5に分岐先命令アドレスがセットされ主記憶装@i
から命令バッフアダを経由して命令レジスタ3に分岐先
の命令が読み出されるが主記憶装置lから読み出しには
多くの時間を必要とするのが通常である。分岐先命令の
命令レジスタ3への供給が遅れると、データ処理装置コ
において命令処理に待ちが生ずることになりデータ処理
装置コの効率的な動作が阻害される。同じ命令シーケン
スを繰り返し実行する場合、第2図に示す様に分岐命令
を利用し1分岐先アドレスを前に実行した所定の命令ア
ドレスにもどしループを作ることによりなされるのが通
常である。この様な分岐命令によるループ処されている
一連の命令を実行する場合上述したデータ処理装置λで
は前記ループにされている一連の命令を全て読み出すこ
と、分岐先命令の読み出し時間遅れ、オペランド読み出
しと命令読み出しとの競合により命令処理に於ける待ち
が増大し性能の低下をきたすという欠点があった。この
欠点を改善するため次の様な対処策がとられている。第
3図に示すようにプログラムでループが指定された場合
、このブレグラムをコンパイルするトキニ、コンパイラ
がループの有無を調ベループ内に含まれる命令の種類1
組合せ、順序により別の新しい命令コードに変換し実行
処理する方法がこれである。なお、この第3図は、第2
図に示されている命令lないし命令mのシーケンスにつ
いて、その命令の穐類1組合せ、順序に依存して別異の
新らしい命令コードをもった新設命令lないし新設命令
tに変換されることを示すものである。
FIG. 1 shows a conventional data processing device having an instruction buffer for performing prefetch control of instructions. In the figure, l is a main memory device in which instructions and data are stored. A data processing device is connected to the main memory. 3 is an instruction register, and DA is an instruction buffer, which is configured to be able to store a plurality of instructions. S is an instruction address register that holds the address of the instruction to be read. 6 is an address adder used to calculate a branch destination instruction address or operand address. 7 is an address incrementer used to increment the instruction address. The data processing device is started by setting a start address in the instruction address register 5. The activated data processing device λ stores an instruction address register 5 in the main memory l.
Send the address to request reading of the command. Instructions read from the main memory l are passed through the instruction buffer ψ'
C It is read out to the f6 instruction register 3 and processed. The instruction buffer adder is provided for the purpose of efficiently supplying instructions to the instruction register 3 even when the reading of instructions from the main memory device 1 is delayed due to a conflict with another device or the like. When the branch instruction is decoded by the instruction register 3, the branch destination address is calculated by the address adder 6, the branch destination instruction address is set in the instruction address register 5, and the branch destination address is stored in the main memory @i.
The branch destination instruction is read from the main memory 1 into the instruction register 3 via the instruction buffer adder, but it usually takes a long time to read it from the main memory 1. If the supply of the branch destination instruction to the instruction register 3 is delayed, the data processing device will have to wait for the instruction processing, which will impede the efficient operation of the data processing device. When the same instruction sequence is repeatedly executed, it is usually done by creating a loop using a branch instruction to return one branch destination address to the previously executed predetermined instruction address, as shown in FIG. When executing a series of instructions looped by such a branch instruction, the data processing device λ described above must read all the looped instructions, delay the readout time of the branch destination instruction, and read the operands. There is a drawback that the waiting time during instruction processing increases due to competition with instruction reading, resulting in a decrease in performance. In order to improve this drawback, the following countermeasures have been taken. As shown in Figure 3, when a loop is specified in a program, the compiler checks whether a loop exists or not when compiling this program. Type 1 of instructions included in the loop
This is a method of converting and executing new instruction codes by combining and ordering them. Note that this figure 3 is similar to the figure 2.
The sequence of instructions l to m shown in the figure is converted into new instructions l to new instructions t with different new instruction codes depending on the combination and order of the instructions. This shows that.

しかしながら、この方法に於いても処理可能なプログラ
ムの対象が限られること、および、ループに含まれる命
令の種類1組合せ、−順序が限定され、汎用性に欠ける
という欠点がある。
However, even in this method, there are disadvantages in that the program targets that can be processed are limited, and the combinations and orders of instructions included in the loop are limited, resulting in a lack of versatility.

上記の方法で命令の任意の種類2組合せ、順序を含むル
ープの実行を全て可能にするためには。
In order to make it possible to execute any kind of loops including any two combinations and orders of instructions in the above method.

膨大な新しい命令コードの割付けを必要とし、さらにそ
れぞれの命令コードを処理実行出来るファームウェアあ
るいはハードウェアを構築することが必要になり、現在
では、限定されたプログラム言語において使用頻度の高
い命令の種類1組合せと順序についてのみ選択的に処理
可能なものとされているだけである。
It is necessary to allocate a huge number of new instruction codes, and it is also necessary to build firmware or hardware that can process and execute each instruction code.Currently, only the most frequently used instruction types in a limited number of programming languages are used. Only combinations and orders can be selectively processed.

〔発明の概要〕[Summary of the invention]

本発明は、上述した従来装置および方法のもつ前記欠点
を除去するためになされたものであって。
The present invention has been made to eliminate the drawbacks of the prior art devices and methods described above.

その目的は、ループにされている同じ命令シーケンスを
繰り返し実行処理する場合に、当該ループに含まれる命
令の種類2組合せ、順序に依存することなく、汎用性に
富み、しかもその処理速度を向上させたデータ処理装置
を提供することにある。
Its purpose is to provide versatility and improve processing speed when repeatedly executing the same instruction sequence in a loop, without depending on the combination or order of the two types of instructions included in the loop. The object of the present invention is to provide a data processing device with improved performance.

〔発明の実施例〕[Embodiments of the invention]

以下、第参図を参照しながら、本発明の実施例であるデ
ータ処理装置の構成・動作について説明する。この第弘
図において、/ないし7は、それぞれに、第1図におい
て同一符号をもって示されているものと同一または相当
のものであるから、それらについての詳細な説明は省略
する。ざは上限アドレスレジスタで福令バッフアダに残
存している命令の上限アドレスを示す。上限アドレスレ
ジスタtは命令アドレスレジスタ!で要求された命令が
命令バッファ弘に読み出されたときにその命令のアドレ
スが命令アドレスレジスタ!より上限アドレスレジスタ
Sに転送されその時点のバッファ内に残存する最も先行
した命令のアドレスとなる。9は下限アドレスレジスタ
で命令バッフアダに残存している命令の下限アドレスを
保持する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The configuration and operation of a data processing apparatus according to an embodiment of the present invention will be described below with reference to the drawings. In this figure, / to 7 are respectively the same as or equivalent to those shown with the same reference numerals in FIG. 1, so a detailed explanation thereof will be omitted. The upper limit address register indicates the upper limit address of instructions remaining in the buffer adder. Upper limit address register t is an instruction address register! When the requested instruction is read into the instruction buffer, the address of that instruction is stored in the instruction address register! The address is then transferred to the upper limit address register S and becomes the address of the most preceding instruction remaining in the buffer at that time. A lower limit address register 9 holds the lower limit address of the instructions remaining in the instruction buffer adder.

ioは下限アドレスインクリメンタであり命令バッファ
tに読み出された命令が命令バッフアダをラップして、
上書きされて格納される毎に下限アドレスレジスタ10
のアドレスをインクリメントし命令バッフアダに残存す
る命令の下限グrレスを生成する。//はアドレス比較
回路であり、命令レジスタ3に分岐命令が読み出された
ときアドレスアダー6で計算された分岐先アドレスが上
限アドレスレジスタSが保持する命令バッフアダに残存
する命令の上限アドレスに等しいか又は小さく、かつ下
限アドレスレジスタ9が保持する命令バッフアダに残存
する命令の下限アドレスよりも大きいか又は等しいかを
比較し分岐命令の命令バッフアダに残存する命令間の分
岐の有無を検出する。12は制御回路であり命令レジス
タ3に分岐命令が読み出されアドレスアダー6で計算さ
れた分岐先アドレスが命令バッファ弘に残存する命令間
に分岐することがアドレス比較回路1/で検知されたと
き、主記憶装置lへの命令読み出しリクエスト抑止制御
、命令バッフアダの状態制御、命令レジスタ、7への命
令読み出し制御等を行う。
io is a lower limit address incrementer, and the instruction read into the instruction buffer t wraps the instruction buffer adder,
Each time it is overwritten and stored, the lower limit address register 10
, and generates the lower limit address of the instructions remaining in the instruction buffer adder. // is an address comparison circuit, and when a branch instruction is read into the instruction register 3, the branch destination address calculated by the address adder 6 is equal to the upper limit address of the instruction remaining in the instruction buffer adder held by the upper limit address register S. is smaller than the lower limit address and is larger than or equal to the lower limit address of the instruction remaining in the instruction buffer adder held by the lower limit address register 9 to detect whether there is a branch between the instructions remaining in the instruction buffer adder of the branch instruction. 12 is a control circuit, and when a branch instruction is read into the instruction register 3 and the address comparison circuit 1/ detects that the branch destination address calculated by the address adder 6 branches between the instructions remaining in the instruction buffer. , performs instruction read request suppression control to the main memory device 1, state control of the instruction buffer adder, instruction read control to the instruction register 7, and the like.

第V図に下したデータ処理装置コに於いて第2図の命令
シーケンスでm=3.の場合で命令バッファ弘の容量が
6命令である場合を例にとって。
In the data processing device shown in FIG. V, m=3. As an example, assume that the capacity of the instruction buffer is 6 instructions.

その動作を説明する。いま、命令アドレスレジスタ3に
アドレスkを指定してプログラム処理が起動されたもの
とすると、起動されたデータ処理装置コは命令アドレス
レジスタ!よりアドレスkを主記憶装置lに送り命貨読
み出しのリクエストを送出し読み出された命令Oを命令
ノ(ラフアダのOに格納する。そして命令Oが命令)(
ラフアダに格納されるタイミングで命令アドレスレジス
タSのアドレスを上1賓アドレスレジスタざと下限アド
レスレジスタ9に転送し、これらを初期化する。同時に
次の命令の読み出し要求のため命令アドレスレジスタj
のアドレスをアドレスインクリメンタ7に送り 1−そ
の結果を命令アドレスレジスタ左にもどすとともに命令
読み出しのリクエストを主記憶装置lに送出する。次に
読み出された命令lは命令バッフアダのlに格納される
。命令/が命令バッフアダに格納されるタイミング命令
アドレスレジスタ!のアドレスを上限アドレスレジスタ
gにのみ転送する。同時に命令アドレスレジスタ3の十
lとリクエストの送出が行なわれ命令)くラフアダに空
きがある限りこの動作が繰り返さiする。
Let's explain its operation. Now, if we assume that program processing is started by specifying address k in the instruction address register 3, the started data processing device is the instruction address register! sends the address k to the main memory device l, sends a request to read the command, and stores the read instruction O in the instruction no.
At the timing when the instruction address register S is stored in the rough adder, the address of the instruction address register S is transferred from the upper limit address register to the lower limit address register 9, and these are initialized. At the same time, instruction address register j is requested to read the next instruction.
Sends the address of 1 to the address incrementer 7, returns the result to the left of the instruction address register, and sends an instruction read request to the main memory l. The next read instruction l is stored in l of the instruction buffer adder. Timing instruction address register where instruction / is stored in instruction buffer adder! The address of is transferred only to the upper limit address register g. At the same time, a request is sent to the instruction address register 3, and this operation is repeated as long as there is space in the instruction address register 3.

また命令バッフアダに命令が格納されると順次命令レジ
スタ3に命令の読み出しがファーストイン・ファースト
・アウトで行なわれる。下限アドレスレジスタ9は命令
が命令バッファ弘を1巡して1日命令の上に新命令が格
納されるようになった時点から+7する動作が始まる。
Further, when instructions are stored in the instruction buffer adder, the instructions are sequentially read out from the instruction register 3 in a first-in first-out manner. The operation of increasing the lower limit address register 9 by 7 starts from the time when the instruction has made one cycle through the instruction buffer and a new instruction is stored above the 1st instruction.

いま、命令バッファ弘の容量をAm令とし命令6まで命
令バッフアダに読み出され命令3の分岐命令が命令レジ
スタ3でデコード処理されている場合はアドレスアダー
6の計算アドレス値はに+ /、上限アドレスレジスタ
Sのアドレス値はに+4、下限アドレスレジスタ左のア
ドレス値はに+/となる。このときアドレス比較器//
において命令バッフアダの残存命令間での分岐条件が検
出され、主記憶装置lへの命令リクエストの抑止と命令
バッファりに残存している分岐先命令の命令レジスタ3
への供給が主記憶装置lから命令を読み出すことなしに
行なう制御がなされる。この状態は分岐命令の分岐条件
が成立しループが続く限り継続する。
Now, if the capacity of the instruction buffer Hiroshi is set to Am instructions, and up to instruction 6 is read to the instruction buffer adder and the branch instruction of instruction 3 is decoded in the instruction register 3, the calculated address value of address adder 6 is + /, upper limit The address value of the address register S is +4, and the address value of the left side of the lower limit address register is +/. At this time, the address comparator //
A branch condition between the remaining instructions in the instruction buffer adder is detected, and the instruction request to the main memory 1 is suppressed and the instruction register 3 of the branch target instruction remaining in the instruction buffer is
Control is performed such that instructions are supplied to the main memory 1 without reading them from the main memory 1. This state continues as long as the branch condition of the branch instruction is satisfied and the loop continues.

このようにして分岐先命令の読み出し遅延が解消される
とともにループを構成する命令の読み出しリクエストの
主記憶装置lへの送出も必要なくなりオペランドの主記
憶装置lへのアクセス競合によるオペランドの読み出し
遅延も解消出来、ループを構成する命令シーケンスの高
速動作が達成出来る。またこの動作がループを構成する
命令シーケンスの命令の特定の種類1組合せ、順序によ
らないのは明らかである。この実施例では命令ノ(ラフ
アダの容量を6命令としたがこの容量を多くとることに
よりループを構成する命令が多い場合にも同様の効果が
期特出来る。またこの実施例では命令ス)IJ−ムが1
つの場合について説明したが命令ストリームが複数にな
る場合にも同様な効果が期特出来る。
In this way, read delays for branch destination instructions are eliminated, and there is no longer a need to send read requests for instructions forming the loop to the main memory L, and operand read delays due to contention for accessing the operands to the main memory L are eliminated. It is possible to solve this problem and achieve high-speed operation of the instruction sequences that make up the loop. It is also clear that this operation does not depend on any particular combination or order of the instructions in the instruction sequence forming the loop. In this embodiment, the capacity of the instruction (rough adder) is set to 6 instructions, but by increasing this capacity, the same effect can be obtained even when there are many instructions forming a loop.Also, in this embodiment, the instruction number IJ -mu is 1
Although one case has been described, a similar effect can be expected even when there are multiple instruction streams.

〔発明の効果〕〔Effect of the invention〕

以上説明されたように1本発明によれば、主記憶装置か
ら先行フェッチされる複数個の命令を命令バッファに保
持し、その中に残存する命令の上限アドレスおよび下限
アドレスを保持するように構成されており、前記命令バ
ッファ内に残存する分岐命令のアドレスと前記上限アド
レスおよび下限アドレスとの間に所定の関係が保たれて
いる間は、主記憶装置からの命令のフェッチが行われる
ことはなく、また、命令の種類1組合せ、順序に依存す
ることもなく、汎用性に富み、しかも処理速度の向上さ
れたデータ処理装置が提供されるものである。
As explained above, according to the present invention, a plurality of instructions fetched in advance from the main memory are held in an instruction buffer, and upper and lower limit addresses of remaining instructions are held in the instruction buffer. and while a predetermined relationship is maintained between the address of the branch instruction remaining in the instruction buffer and the upper and lower limit addresses, no instruction is fetched from the main memory. Furthermore, there is provided a data processing device that is highly versatile and has improved processing speed without depending on a single combination of instruction types or order.

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

第1図は従来の命令バッファを有するデータ処理装置の
構成例を示すブロック図、第1図は本発明の対象となっ
たループを構成する命令シーケンスの1例を示すフロー
チャート図、第3図は従来のループを構成する命令シー
ケンスに対する高速処理の方法を例示するフローチャー
ト図、第ダ図は本発明の実施例1(よるデータ処理装置
の構成を示すブロック図である。 図中、/は主記憶装置、コはデータ処理装置。 、?は命令レジスタ、≠は命令バッファ、jは命令アド
レスレジスタ、6はアドレスアダー、りはアドレスイン
クリメンタ、ざは上限アドレスレジスタ、9は下限アド
レスレジスタ、lOは下限アドレスインクリメンタ、/
/はアドレス比較回路、/λは制御回路である。 なお、各図中、同一符号は同−又は相当部分を示す。 兇11 篤2図 ん3図
FIG. 1 is a block diagram showing an example of the configuration of a data processing device having a conventional instruction buffer, FIG. A flowchart diagram illustrating a conventional high-speed processing method for an instruction sequence constituting a loop. FIG. , ? is the instruction register, ≠ is the instruction buffer, j is the instruction address register, 6 is the address adder, ri is the address incrementer, za is the upper limit address register, 9 is the lower limit address register, and lO is the data processing device. Lower limit address incrementer, /
/ is an address comparison circuit, and /λ is a control circuit. In each figure, the same reference numerals indicate the same or corresponding parts.兇11 Atsushi 2 and 3

Claims (1)

【特許請求の範囲】[Claims] 先行命令フェッチのために複数個の命令を保持すること
が可能な命令バッファを有するデータ処理装置に於いて
、前記命令バッファ内に残存している命令の上限アドレ
スおよび下限アドレスをそれぞれに保持する上限アドレ
スレジスタおよび下限アドレスレジスタと1分岐命令の
分岐先アドレスが前記命令バッファ内に残存している命
令のアドレスに一致するか否かを調べる比較回路とを有
し、前記一致が成立したときには、主記憶装置からの命
令の読み出しを抑止し、残存命令間での分岐が可能であ
るかぎりは、前記主記憶装置からの命令を7エツチする
ことなしに前記命令バッファ内の残存命令を使用して命
令の実行を可能とするデータ処理装置。
In a data processing device having an instruction buffer capable of holding a plurality of instructions for fetching preceding instructions, an upper limit for holding the upper and lower limit addresses of the instructions remaining in the instruction buffer, respectively. It has an address register, a lower limit address register, and a comparison circuit that checks whether the branch destination address of the 1-branch instruction matches the address of the instruction remaining in the instruction buffer, and when the match is established, the main As long as reading of instructions from the storage device is inhibited and branching between remaining instructions is possible, instructions are read using the remaining instructions in the instruction buffer without fetching instructions from the main storage device. A data processing device that enables the execution of
JP9639084A 1984-05-16 1984-05-16 Data processor Pending JPS60241136A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9639084A JPS60241136A (en) 1984-05-16 1984-05-16 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9639084A JPS60241136A (en) 1984-05-16 1984-05-16 Data processor

Publications (1)

Publication Number Publication Date
JPS60241136A true JPS60241136A (en) 1985-11-30

Family

ID=14163627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9639084A Pending JPS60241136A (en) 1984-05-16 1984-05-16 Data processor

Country Status (1)

Country Link
JP (1) JPS60241136A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6349844A (en) * 1986-08-18 1988-03-02 Nec Corp Instruction prefetching device
JPS63141132A (en) * 1986-12-03 1988-06-13 Nec Corp Instruction prefetching device
JPH01239639A (en) * 1988-01-25 1989-09-25 Otto Muller Circuit apparatus and control for instruction buffer memory in data processor
JP2020107306A (en) * 2018-12-27 2020-07-09 グラフコアー リミテッドGraphcore Limited Instruction cache in multi-thread processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6349844A (en) * 1986-08-18 1988-03-02 Nec Corp Instruction prefetching device
JPS63141132A (en) * 1986-12-03 1988-06-13 Nec Corp Instruction prefetching device
JPH01239639A (en) * 1988-01-25 1989-09-25 Otto Muller Circuit apparatus and control for instruction buffer memory in data processor
JP2020107306A (en) * 2018-12-27 2020-07-09 グラフコアー リミテッドGraphcore Limited Instruction cache in multi-thread processor
US11567768B2 (en) 2018-12-27 2023-01-31 Graphcore Limited Repeat instruction for loading and/or executing code in a claimable repeat cache a specified number of times

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5127091A (en) System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
FI90804C (en) Controller for a data processor comprising an interrupt service utilizing redirection of advance search of instructions
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
US5353418A (en) System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
US4775927A (en) Processor including fetch operation for branch instruction with control tag
JPH02224025A (en) Programmable computer and compiling thereof
US4677547A (en) Vector processor
US5642500A (en) Method and apparatus for controlling instruction in pipeline processor
US4287561A (en) Address formulation interlock mechanism
JP2742374B2 (en) Method and system for improving instruction dispatch efficiency in a superscalar processor system
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US5237702A (en) System for prefetching vector data based on the status of the vector registers
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS60241136A (en) Data processor
US5590293A (en) Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
JP2620505B2 (en) Method and system for improving the synchronization efficiency of a superscalar processor system
JPH0512751B2 (en)
JP2668987B2 (en) Data processing device
JP3017866B2 (en) Interrupt processing method
JP2591325B2 (en) Branch control device
JP2771373B2 (en) Instruction prefetch device
JP3668643B2 (en) Information processing device