WO1985002280A1 - Method of controlling branching - Google Patents

Method of controlling branching Download PDF

Info

Publication number
WO1985002280A1
WO1985002280A1 PCT/JP1984/000536 JP8400536W WO8502280A1 WO 1985002280 A1 WO1985002280 A1 WO 1985002280A1 JP 8400536 W JP8400536 W JP 8400536W WO 8502280 A1 WO8502280 A1 WO 8502280A1
Authority
WO
WIPO (PCT)
Prior art keywords
branch
instruction
address
stage
processing unit
Prior art date
Application number
PCT/JP1984/000536
Other languages
English (en)
French (fr)
Inventor
Katsumi Onishi
Yuto Ono
Original Assignee
Fujitsu Limited
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 Limited filed Critical Fujitsu Limited
Priority to DE8484904163T priority Critical patent/DE3485124D1/de
Priority to KR1019850700123A priority patent/KR900002603B1/ko
Priority to BR8407172A priority patent/BR8407172A/pt
Publication of WO1985002280A1 publication Critical patent/WO1985002280A1/ja

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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

Definitions

  • the present invention provides a branch control method, particularly a pipeline control data processing device, in which a branch destination address is generated early when a branch instruction is executed, so that a cancel at the time of successful branch is performed. This is related to a branch control method that reduces the amount of processing.o
  • an index high branch (hereinafter referred to as “branch”) related to the present invention is used.
  • the BXH and BXLE instructions are as shown in Fig. 1.
  • 3 ⁇ 4Register storage (RS) type instructions15, 0P is the operation code section
  • Rl, R3, B3 are the registers. This is the data specification section.
  • the contents of the general-purpose register indicated by R1 are the first operand
  • the contents of the general-purpose register indicated by R3 are the third operand
  • the contents of the general-purpose register indicated by B2 are D2. Take the second operand with the value added.
  • the BXH instruction adds the increment of the third operand to the first operand (hereinafter referred to as an index), and if the result is greater than the number of comparisons determined by R3, the second operator. It is an instruction to branch to the address indicated by the command. Then, whether or not the branch is taken, the content of the first operand is updated to the value obtained by adding the increment.
  • the increment is', the contents of the general-purpose register specified by R3 as described above (third operand)]), and the comparison number is in the odd-numbered general-purpose register] ?, R3 Indicates an even register, the general-purpose register indicated by R 3 + 1 When R3 indicates an odd-numbered register, the contents of the general-purpose register indicated by R3 are themselves.
  • the first operand may be a general-purpose register with the same number of comparisons, in which case the first value before adding the increment is used as the number of comparisons.
  • the BXLE instruction is the same as the BXH instruction except that the condition for branching is reversed, that is, the branch is taken when the index is smaller or equal.
  • p1 stage Decodes instructions and reads general-purpose registers.
  • P2 stage Operate address calculation and send buffer memory access request.
  • P3 stage Performs logical address real address conversion using the address conversion buffer.
  • P4 stage Perform buffer memory access
  • p5 stage Perform operation
  • P6 stage Writes the operation result to a general-purpose register.
  • the execution of instructions by the pipeline is generally performed by expanding one instruction into one or more flows.
  • the conventional configuration for performing the processing operation as shown in FIG. 2 is slightly different from the configuration in the present invention shown in FIG. 6 described later in details, but has the same aspect in the main part. You may think that it is.
  • the configuration is briefly described. Stages P 1 and P 6 shown in FIG. 6 are the same as the above-mentioned stages.], Stages II, 12 and
  • I I stage 'Send the generated branch destination address to the address conversion buffer.
  • Stage 2 Address conversion Converts the logical address to the completed address using the buffer.
  • P1 stage It's a buffer memory! ) Read the instruction, decode it, and read the operand from the register. Note that the address conversion buffer may be old if it is provided as a part of the cache memory 16 or 20 or in the preceding stage thereof, but is not shown.
  • the instruction address register (hereinafter referred to as IAR) 11 is set to the address of the instruction to be executed.
  • the corresponding instruction word is read out through the effective address register (hereinafter referred to as EAR) 15 and the cache memory 16 and stored in the instruction word register (hereinafter referred to as IWR) 17. Be cut.
  • the IWR 17 generally has a multi-stage shift register configuration] ?, and a plurality of instructions that will be processed in the future by the pipeline described above are sequentially prefetched. Stored.
  • the bridged instruction is extracted via the selector 18 and enters the pipeline shown in the above stages P1 and P6. That is, the operation and code parts (OP parts) in the instruction word are the registers 28,
  • the address of the operand corresponding to the instruction is calculated via the adder 4, and the corresponding operand is read out by the cache memory 20, and the operation is performed. Supplied to circuit 9. Then, the operation result is set to one of the general-purpose registers 22 via the register 10. During this time, if the instruction led to the pipeline is a branch instruction, the branch decision circuit shown
  • reference numerals 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12 shown in FIGS. 2 to 4 denote components having the same reference numerals shown in FIG. 6, respectively. I think it is supported o
  • the results are sent to the pipeline, and the P3 cycle operand door register (hereinafter referred to as P30AR) 5 in the P3 stage and the P4 cycle in the P4 stage Operand dress register (hereinafter referred to as P40AR) 6 And, in the P 5 stage, opera down Dorejisu data # 2 (hereinafter referred to as 2 R) 8 on the back Tsu to me.
  • the number of comparisons which is the value of the general-purpose register represented by R 3 +1 or R 3
  • the branch instruction fetch pipeline is a branch instruction fetch pipeline
  • the instruction is preempted]), and the third flow of the unsuccessful instruction is from the P1 stage to the P2 stage. , The branch instruction can be taken into the stage at P 1]. However, three flows will flow before the success of the branch is determined. If the branch conditions are determined and the branch is unsuccessful, the 4th koto flow enters the P1 stage. Cancels instruction processing] and cancels the branch destination instruction so that it is taken into the P1 stage.
  • the present invention makes it possible to quickly determine branch conditions in a data processing device that processes BXH and BXLE instructions with a pipeline, and to reduce invalid flows in a pipeline.
  • the purpose is to provide a method to speed up the BXH and BXLE instructions.
  • a method for performing an operation for determining a branch condition in time to fetch a branch destination instruction by using an adder for address calculation has the advantage that the BXH and BXLE instructions can be processed at high speed.
  • FIG. 1 is a diagram showing an instruction format of a branch instruction related to the present invention.
  • Fig. 2 is a diagram schematically showing the operation when the above-mentioned branch instruction is executed by the conventional method.
  • FIG. 3 is a diagram schematically showing one embodiment of the present invention
  • FIG. 4 is a diagram schematically showing another embodiment of the present invention
  • FIG. 5 is a diagram showing the effects of the embodiment of FIG. Figure explaining the example
  • FIG. 6 shows an overall configuration diagram of an essential part of one embodiment of the present invention.
  • FIG. 3 is a diagram schematically showing one embodiment of the present invention.
  • FIG. 4 is a diagram schematically showing another embodiment of the present invention]
  • FIG. 5 is a diagram for explaining an example of the effect of the embodiment of FIG.
  • the components shown in FIG. 3 and FIG. 4 are the components in the configuration diagram shown in FIG.
  • the branch destination address is first obtained in the P2 stage of the first flow, and the number of comparisons is calculated in addition to the addition of the index of the first operand and the increment.
  • the processing using the operation unit executed in the P5 stage of the first flow is performed.
  • the value of the general-purpose register indicated by B2 is set to BR1, and the value of D2 is set to BR1.
  • Set to DR3 (XR2 is often used), add BR1 and DR3 with a 3-input adder 4 to generate a branch destination address, and set it to IAR11 in the P3 stage.
  • the branch instruction is taken! ) Start the delivery pie line.
  • the branch destination instruction fetch]? Timing (this is equivalent to the sII stage)], proceeds to stage 1,2,13, and the instruction is fetched at stage P1], and the normal instruction pipeline is executed. You can enter.
  • the value of the general-purpose register indicated by R1 is set to BR1, and the value of the general-purpose register indicated by R3 is set to: XR2.
  • the BR 1 and the XR 2 are added by the 3-input adder 4 (that is, the address generation circuit described above), and the sum of the first operand and the increment is calculated as follows:
  • the P30AR5 of the P3 stage is set to 2R8 in the P5 stage through the P40AR6 of the P4 stage, and the P30AR5 is set in the arithmetic unit adder 9 in the P5 stage.
  • the first timing of 6 stages it is set to RR10.
  • the number of comparisons which is the value of the general-purpose register indicated by R3 + 1 or R3, is set in XR2, and the value is set in the second flow.
  • the subtraction of XR 2 from the cut WAR 1 2 is performed by the 3-input adder 4 (that is, a comparison operation is performed), and the result of the subtraction is obtained.
  • the magnitude relationship between the value of WAR 12 and the value of XR 2 And make a branch decision.
  • FIG. 3 there is a point where the branch destination address is first obtained in the first flow, and where the address generation circuit is used for the comparison operation.
  • the number of processing cycles for successful branching is four, but the number of processing cycles for unsuccessful branching is three, and the difference is smaller than in the conventional method.]) Since it becomes simple, the performance as a whole can be improved.
  • this embodiment utilizes the fact that the adder of the address generation circuit is a three-input adder, and adds the index of the first operand to the increment and the number of comparisons for the added value. The subtraction is performed at the same time to determine the magnitude relationship between the added value and the number of comparisons, and the branch condition is determined.
  • FIG. 4—1 to 4 and 7 to 11 are the same as those described in FIG.
  • the value of the general-purpose register indicated by B2 is set to BR1
  • the value of D2 is set to DR. 3
  • add BR 1, DR 3, and 3 ⁇ 43 input adder 4 ⁇ to generate a front-end address
  • the branch pier starts n).
  • the branch pipeline instruction is taken out), and the pi-plan is determined based on the timing of the p2 stage of the first flow (this is equivalent to the II stage).
  • the instruction is fetched at the P1 stage, and you can enter the normal instruction pipeline.
  • the value of the general-purpose register indicated by R1 is set to BR1, and the value of the general-purpose register indicated by R3 is set to XR2. And the value of the general-purpose register indicated by R 3 or R 3 + 1. Is set to DR3.
  • the branch instruction is fetched.]
  • the output pi-line is in stage 12)), and the branch instruction is fetched]). 13 steps: Wait for one cycle before the stage. Although required, the P1 stage can be entered immediately when the branch instruction is read.
  • the processing cycle for a successful branch is 4 cycles, but the processing cycle for a non-successful branch is 2 cycles.
  • the branching instruction will be fetched.] After the pi-line is started, even if the branch is successful, the processing cycle will occur. 3 cycles)), and the performance can be improved.
  • n is the branch instruction, which is expanded into two flows and executed as described in FIG. O
  • the II-2 instruction can "wait” at the P4 stage, and In one instruction, "wait” can be performed in the P3 stage.In the first flow of the branch instruction of n, the "wait” is performed in the P2 stage and in the second flow, in the P1 stage. Occurs.
  • FIG. 6 shows an overall configuration diagram of a main part of an embodiment of the present invention which performs the processing operation described with reference to FIGS. 3 and 4 described above.
  • the instruction buffer ⁇ switch control section (IFC)]
  • IFC instruction fetch constant register
  • This bit is set to "0" and the fixed value "8" is set to IFR13 after the first instruction is read.
  • the adder 14 adds the contents of the IAR 11 and the contents of the IFKR 13 to generate an effective address, which is added to the effective address register (EAR) 15.
  • Set c The address conversion buffer (not shown) and the cache memory (1) 16 are accessed based on the contents of EAR 15 and the instruction is executed. Instructions are sequentially prefetched and latched in the word register (IWR) 17.
  • stage P1 One instruction is extracted at stage P1.
  • stage P2 (i) the OP section of the instruction is set in register 28, and (ii) the operand * address of the instruction is calculated by adder 4. .
  • stage P3 and P.4 each operand value can be set in registers 21, 7, and 8, and the operation circuit in stage D and stage P5. 9 is calculated.
  • the calculation result is obtained in step P6.
  • the age and address are also shifted to the registers 6, 2 3 and 24, and at the stage P6
  • the contents of the instruction address register ( ⁇ ) 26 are determined by the adder 27 and the instruction length generation circuit (ILC) 25. Will be updated.
  • the content of the instruction address register ( ⁇ ) 26 is a form that holds the address of the oldest instruction among the instructions being processed by the pipeline.
  • the branch determination circuit 33 at the lower center of the figure is Perform “branch decision” shown in Fig. 4.
  • FIGS. 3 and 4 the first flow, the second flow, and the third flow are described in correspondence with the branch instruction, because the configuration shown in FIG. Means that they are used according to multiple streams. That is, for example, when explained in correspondence with FIG. 3, the adder 4 shown in FIG.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

明 細 書
発明の名称
ブランチ制御方式
技術分野
本発明は、 ブラ ンチ制御方式、 特にパイ ブラ イ ン 制御のデータ処理装置において、 分岐命令を実行す る場合においてブラ ンチ先ァ ドレスを早期に発生す るよ うにして、 分岐成功時における取消し処理量を 少¾ くするよ う にしたブラ ンチ制御方式に関するも のである o
背景技術
最近の、. 大型の計算機システムにおいては、 パイ ブライ ンによ っ て、 データを高速に処理するのが一 般的に i?つつある。
この場合、 通常のシ ーケ ン. シ ャ ルに流れる命令に ついては、 パイ ブライ ンの特性を生かした高速処理 を行う ことができるが、 分岐命令については、 分岐 条件が決定した時点において、 既にパイ ブラ イ ンに 取]?込まれている後続命令は無効とる!)、 ロ スサイ クルと る問題がある。 特に、 最近一般化しつつる るデータ処理技術である、 データベースを構築して、 データ処理を行う場合と力 オ ン ラ イ ンでデータ処 理を行う場合には、 該データ処理を行う プ ロ グラ ム の中で、 分岐命令が実行される比率が大き く、 上記 パイ ブラ イ ン中に発生する ロ スサイ クルが目立つよ うに つてお]?、 このロ スサイ クルを少 くするパ イ ブライ ン処理方式が要望されていた。
パイ ブラ イ ンで命令の実行を行うデー タ処理シス テム において、 本発明に関違する指標高分岐 (以下
B XHという ) 命令、 或いは指標低等分岐 下 BXLE という ) 命令を実行する場合の従来方式の 動作について説明する。
上記の BXH命令, BXLE命令は第 1図に示す よう ¾レジス タ · ス ト レージ ( RS ) 形式の命令で あ 15、 0 Pはオペレーシ ョ ンコー ド部、 R l , R 3, B 3はレジス タ指定部である。 R 1で示される汎用 レジス タ の内容が第 1オペ ラ ン ド, R 3て示される 汎用レジス タ の内容が第 3オペ ラ ン ド, B 2で示さ れる汎用レジス タ の内容に D 2の値を'加えたものカ 第 2オペラ ン ドとるる。
BXH命令は、 上記第 1オペ ラ ン ド (以下指標と 称する ) に、 上記第 3オペラ ン ドの増分を加え、 そ の結果が R 3部によって決まる比較数よ 大きい らば、 第 2オペ ラ ン ドが示すア ドレスに分岐する命 令であ'る。 そして、 分岐が成立しても、 しなくても 第 1オペラ ン ドの内容は、 増分を加えた値に更新さ れる。 増分は'、 前述のよ うに R 3で指定される汎用 レ ジス タ の内容 ( 第 3オペラ ン ド ) であ ])、 比較数 は奇数番号の汎用レジス タ の中にあ ]?、 R 3が偶数 レ ジス タを示す時は、 R 3 + 1で示される汎用レジ ス タ の内容と ])、 R 3が奇数レ ジス タを示す時は、 R 3で示される汎用レジス タ の内容それ自身と る。 第 1 オペラ ン ド と、 比較数が同一の汎用レ ジス タ であっても よ く、 その時は増分を加える前の初めの 値が比較数として使用される。
BXLE 命令は、 分岐の成立条件が逆であること, 即ち指標が比較教ょ D小さいか等しいと きに分岐す るものであることを除き、 上記 BXH命令と同じで ある o
上記、 BXH命令, BXLE.命令を実行する時の 従来方式によるパイブラ イ ン動作を、 第 2図に示し た模式図に .よ って説日月する。 この図に いて、 P1, P 2, P 3, P 4, P 5, P6 はパ イ ブ ラ イ ンの各ステ一 ジを示し、 一般的 動作は以下の通])である。
即ち :
p 1ステー ジ : 命令のデコ一 ド及び汎用レ ジス タ の 読出しを行う,
P2ステー ジ : オペ ラ ン ドア ド レ ス計算、 及びバ ッ フ ァ メ モ リ ア ク セス要求の発信を行う,
P3ステー ジ : ァ ド レ ス変換バ ッ フ ァに'よる論理ァ ド レ ス 実ァ ド レ ス変換を行う,
P4ステー ジ : バッ フ ァ メ モリ ア ク セスを行う, p 5ステー ジ : 演算を行う,
P6ス.テー ジ : 演算結果の汎用レ ジス タ への書き込 みを行う,
OMPI
ノ である。 そして、 パイブラ イ ンによる命令の実行は、 一般には 1つの命令が 1又は複数のフ ローに展開さ れて行われる。
お当該第 2図図示の如き処理動作を行 ¾う従来 の構成は、 後述する第 6図図示の本発明における構 成と _は細部において多少異 るが、 要部において同 じ態様をも っているものと考えてよい。 こ こで当該 構成について大.略の説明を行なっておく。 第 6図図 示のステージ P 1 いし P 6 は上述の各ステージと 同じものであ ]?、 第 6図図示のステージ I I, 1 2,
I 3 は命令取!) 出しパイ ブラ イ ンのステージであ ]?、 各ステー ジでの動作は : . '
I Iス テージ :'生成されたブラ ンチ先ァ ド レスをァ ドレス変換バ ッ フ ァ に送る,
ェ 2ステー ジ : ア ド レス変換ノく ッ フ ァ に よ っ て、 論 理ァ ドレスか ら実了 ド レスに変換する。
1 3ステー ジ : 上記実ァ ド レスに よ っ てパ ク フ ァ メ モ リをア ク セ スする,
P 1ステー ジ : バ ッ フ ァ メ モ リ よ !)命令を読み出し、 デコ一 ドし、 オペラ ン ドをレ ジス タか ら読出す, である。 尚、 ア ド レス変換バ ッ フ ァはキ ャ ッ シュ メ モ リ 1 6又は 2 0 の一部として、 又はその前段に設 けてあると老えてよいが図示省略してある。
図示命令ア ドレス レジス タ (以下 I A R という ) 1 1 に、 これから実行する命令のア ドレスがセ ッ ト
OMPI IPO" され、 実効ア ド レス レジス タ ( 以下 EAR という ) 1 5 , キ ヤ ッ シ ュ メ モ リ 1 6 をへて該当する命令語 が読出され、 命令語レジス タ (以下 IWR という ) 1 7 にセ ッ ト される。 該 IWR 1 7は一般に複数段 のシ フ ト レ ジス タ構成をも っ て ]?、 上述のパイ プ ラィ ンにて将来処理されるであろう複数の命令が順 次プリ フ エ ッ チされて格納される。
ブリ フ ヱ ツ チされた命令はセ レク タ 1 8 を介して 抽出され、 上記ス テー ジ P 1 いし P 6 に示すパイ ブライ ンに入ってゆく。 即ち、 命令語中のオペレー シ ヨ ン , コー ド部 ( OP 部 ) は、 レ ジス タ 2 8 ,
• .2 9 ··· 3 2 と各ステー ジの進行につれてシ フ 卜 され
てゆ く。 また加算器 4を介して当該命令に対応する オペ ラ ン ドのア ド レスが計算され、 キ ャ ッ シ ュ ' メ モ リ 2 0 によ って該当するオペ ラ ン ドが読出され、 演算回路 9へ供給される。 そして演算結果はレ ジス タ 1 0 を経由して汎用レジス タ の 1つ 2 2 にセ ッ ト される。 この間、 パイ ブラ イ ンに導びかれた命令が 分岐命令であった場合には、 図示ブ ラ ンチ決定回路
3 3が分岐成功か不成功かを決定する よ う に動作す る O
以下第 2図ないし第 4図に示す符号 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12は夫々第 6 図に示す同 じ符号をもつ各構成単位に対応していると考えてよ い o
ΟΜΡΙ
ル WIPO ^ 従来上述の如き各ステージの機能を用いて、 上記 ブラ ンチ命令を実行する場合、 第 2図図示の如く、 該命令の第 1 フ ローの P 2 ステージにおいて、 該ム ロ卩 令の で示される汎用レジス タ の内容をベース レ ジス タ (以下 B Rという ) 1 に、 R 3 で示される汎 用レジス タ の内容をィ ンデ ッ ク ス レジス タ 下 XRという ) 2にセッ トし、 3入力加算器 4を用い て ( この BR 1, XR 1, 及び後述の DR 3 と、 3入 力加算器 4がア ド レス生成回路を構成する ) 、 第 1 才 ぺラン ドと増分との加算を行い、 その結果をパイブ ライ ンに流して、 P 3ステージにおける P 3 サイ ク ルオペラ ン ドア ド'レ ス レ ジス タ (以下 P 3 0 AR と いう ) 5から、 P 4 ステージにおける P 4サイ クル オペ ラ ン ドア ド レ ス レジス タ (以下 P 4 0 AR とい う ) 6 を通して、 P 5 ステージにおいて、 オペラ ン ドレジス タ # 2 ( 以下 2 Rという ) 8 にセ ッ 卜する。 同時に、 オペラ ン ドレジス タ # 1 (以下 1 Rという) 7に、 R 3 + 1 又は R 3で示される汎用レ ジス タ の 値である比較数をセ ッ 卜 し、 演算部加算器 9におい て比較演算を行い ( この 1 7 , 2 R 8 , 演算部加 算器 9が演算部を構成する )、 1 と 2 Rの値の大 小関係を示す信号 (即ち、 1 R= 2 R, 1 R> 2 R, 1 R< 2 R を示す信号) を出力すると共に、 2 Rの 値をリ ザル ト レ ジス タ ( RR ) 1 0 にセ ッ トする。 該 1 Rと 2 Rとの大小関係を示す信号によ !)、 ブラ
O PI ンチの決定を行う。
従来方式の場合には、 上記比較演算を P 5ステー ジで行っている o
次に、 第 2 フ ローの P 2ステージに いて、 上記 命令の B 2で示される汎用レ ジス タ の値を BR 1 に セ ジ ト し、 D 2 の値をディ ス プ レイ ス メ ン ト レ ジス タ (以下 DRという ) 3にセ ッ ト し、 第 1 フ ローで 使用した 3入力加算器 4によ !) ブランチ先了-..ド レ ス を生成し、 P 3ス テージにおいて、 命令了 ドレス レ ジス タ ( 以下 I'AR という ) 1 1 にセ ッ トすると同 時に、 P 2 ス テージにおけるア ド レ ス生成時に、 ブ ラ ンチ先命合の読み出し要求を出す。 これによ ]?命' 令取 D出しパイ ブラ イ ン 〔 1 1, 1 2, 1 3, P l 〕
に起動がかけられ、 この場合にはブ ラ ン チ先命令の 取]?出しが行 ¾われることになる。
当該ブラ ン チ先命令取 出しパイブラ ィ ンは、
I I, 1 2, 1 3と進み、 P 1 で命令が取 ]? 出され、 ブラ ンチ成功であればこのと き、 通常の命令パイ プ ラ イ ンに入ることができる。
第 1 才ペラ ン ドの指標値に増分が加算された値の 汎用レ ジス タ R 1への書き込みは、 第 2 フ ロ ーの
P 6ステー ジの終わ!)の タ イ ミ ン グにおいて、 RR1
0 から R 1で示される汎用レ ジス タに対して行われ る O
従来方式においては、 第 2図から明らかな如く、
OMPI■ WIPO j 上記ブラ ンチ命令に続く ブ ラ ンチ不成功側の命令に ついても命令の先取])が行 われてお i 不成功側 の命令の第 3 フ ロ ー目が P 1ステージから P 2 ステ —ジに移る時に、 ブラ ンチ先命令を P 1 にステージ に取]?込むことができる。 しかし、 ブラ ンチ成功が 決定される迄に、 3 フ ロ ー分の命令が流れることに ¾る。 そしてブラ ンチ条件が決定された時にブラン チ不成功であれば箏 4 フ ロ ー目を P 1 ステージに入 れるが、 ブラ ンチ成功であれば、 既に流れている上 記 3 フ ロ ー分の命令の処理を取 ]?消してブラ ンチ先 命令を P 1 ステージに取込むよ うにされることとな 0 · *
以上の説明から明らかな如く、 従来方式において、
B XH命令、 B X L E 命令 ¾実行した時は、 ブラ ン チ成功時には 5 サ イ クル、 不成功時には 2 サイ クル かかることに ]?、 両者の差異が大き く、 しかもブ ランチ成功時にはパイブラィ ンにおいて、 前述の 3 フ ロ ー分の処理を取 消さなければ ¾ ら ¾い問題が
¾つた。
成功時と不成功時のサイ クル数が異 ることは、 それ以降の命令の組立て方、 即ちプ ロ グ ラ ム の作成 を複雑にし、 また取])消されるフ ローが多いことは 取消しのための処理(例えばバッ フ ァ メ モ リ ゃ主メ モ リ への取消し依頼) が複雑, 多量にな ])、 いずれ も実用上大きな問題と ¾る。 発明の開示
本発明は上記従来の欠点に鑑み、 BXH 命令, BXLE命令をパイ ブライ ンで処理するデータ処理 装置において、 ブラ ンチ条件の決定を早く行い、 パ ィ プラ イ ンにおける無効フ ロ ーを少な く して、 上記
BXH命令, BXLE 命令の高速化を行う方式を提 供することを目的とするものである。
そしてこの目的は、 本発明によれば、 ア ド レ ス計 算用の加算器を利用して分岐先命令の取 ]3 出しに間 に合う よ うに分岐条件を決定する演算を行う方式を 提供するこ と に よ っ て達成され、 BXH 命令, BXLE 命令を高速に.処理できる利点がある σ
図面の簡単な説明
第 1 図は本発明に関違する分岐命令の命令形式を 示した図,
第 2図は従来方式によ っ て、 上記分岐命令を実行 する場合の動作を模式的に示した図,
第 3図は本発明の一実施例を模式的に示した図, 第 4図は本発明の他の実施例を模式的に示した図, 第 5図は第 4図の実施例における効果の例を説明 する図,
第 6図は本発明における一実施例要部全体構成図 を示す。
発明を実施するための最良の形態
第 3図は本発明の一実施例を模式的に示した図で
O PI あ ])、 第 4図は本発明の他の実施例を模式的に示し た図であ ])、 第 5図は第 4図の実施例における効果 の一例を説明する図であるが、 上記第 3 図や第 4図 に示す各構成要素は、 第 6図に示す構成図中の構成 要素である。
第 3図の実施例の主旨を要約すると、 第 1 フ ロ ー の P 2 ステージにおいて分岐先ァ ドレスを先ず求め、 かつ第 1オペラ ン ドの指標と増分との加算のみでは く、 比較数との比較演算についても、 前述のア ド レス生成回路 ¾用い、 第 1 フ ロ ーの P 5ス テージに .、て実行される演算部を用いる処理よ ])早く、 ブ ランチの決定を行う よ うにしたものである。
第 3図において、 1〜 6, 8〜; L 1ほ第 2図で説 明したものと同じものであ!)、 1 2はワークァ ドレ ス レ ジス タ ( 以下 WAR という ) である。
図においては、 先ず、 前述のブラ ンチ命令の第 1 フ ロ ーの P 2ス テージにおいて、. B 2 で示される汎 用レジス タの値を BR 1 にセ ッ ト し、 D 2 の値を DR 3 にセッ ト し(XR2は用い ¾い)、 BR 1 と DR 3 とを 3入力加算器 4で加算して、 ブラ ンチ先 ァ ド レスを生成し、 P 3 ステージにおいて、 IAR 1 1 にセッ トすると同時に、 P 2 ステージにおける ア ドレス生成時に、 ブラ ンチ先命令取!) 出しパイ ブ ラ イ ンに起動をかける。 この結果、 ブラ ンチ先命令 取]? 出しパイ ブラ イ ンは、 上記第 1 フ ロ ーの P 2ス テージ ( これ力 s I I ステージに相当する ) のタ イ ミ ングよ ]?、 1 2, 1 3 ステージと進み、 P 1 ステー ジで命令が取 ]? 出され、 通常の命令パイ ブラ イ ンに 入ることができ る。
次に、 第 2 フ ロ ーの P 2 ステージにおいて、 R 1 で示される汎用レジスタの値を B R 1 にセ ッ 卜 し、 R 3で示される汎用レジス タ の値を : XR 2 にセ ッ ト し (DR 3は用い い )、 該 B R 1 と XR 2 とを 3 入力加算器 4 ( 即ち、 前述のア ド レ ス生成回路) て 加算し、 第 1 オペラ ン ドと増分の加算値として、
P 30 AR 5 と WAR 12.にセ ッ ト し、 ノ ィ プラ イ ン に流す o
パイ プラ イ ンにおいては.、 P 3 ステー ジの前記 P30AR 5 から、 P 4 ステー ジの P40AR 6 を通 して、 P 5ステージにおいて 2 R 8 にセ ッ 卜 され、 演算部加算器 9 を通して P 6ステージの最初のタ イ ミ ングにおいて、 RR 1 0 にセ ッ 卜 される。
次の第 3 フ ロ ーの P 2ステージにおいて、 XR 2 に R 3 + 1, 又は R 3で示される汎用レジス タ の値で ある比較数をセ ッ 卜 し、 上記第 2 フ ロ ーでセ ッ 卜さ れた WAR 1 2から XR 2 の減算を 3入力加算器 4 で 行い ( 即ち、 比較演算を行い ) 、 該減算結果よ ]9 WAR 1 2の値と XR 2の値との大小関係を求め、 ブラ ンチの決定を行う。
この時、 ブラ ンチ先命令取!) 出しパイ ブラ イ ンは 13 ステージで、 ブランチ先命令を取]? 出した所で あ!)、 ブラ ンチ成功時には、 直ちに P1ステージに 入ることができ る。
又、 第 1オペラ ン ドの指標値に増分が加算された 値( 第 2フ ロ ーの P6 ステー ジにおいて、 1 0 にセ ッ 卜 されている ) の汎用レジス タ R1 への書き 込みは、 第 3 フ ロ ーの P6 ステージの終わ ])のタ イ ミ ングにおいて、 HR 1 0から R 1で示される汎用 レジス タに対して行われる。
第 3図においては、 第 1 フ ローで分岐先ア ド レ ス を先ず求めていること、 及び上記比較演算にァ ドレ ス生成回路を使用している所にボイ ン 卜がある。
この よ う _¾演算方式を採るこ とによ ]?、 ブ ラ ンチ 条件決定迄に、 ブラ ンチ不成功側の命令が 1 フ ロ ー しか流れず、 ブ ラ ンチ成功時の該フ ローの取 ] 3消し 等の制御が簡単に ¾る。
又、 ブラ ンチ成功時の処理サイ クルは 4サイ クル とるるが、 ブラ ンチ不成功時の処理サイ クルが 3サ ィ クルで、 その差が従来方式に比較して少なく ])、 ij御が簡単になるので、 全体としての性能の向上を 図ることができる。
次に、 第 4図において、 本発明の他の実施例を説 明する。
第 4図の実施例の主旨を要約すると、 第 1 フ ロ ー で分岐先ァ ド レ スを求めるのは第 3図の例と同じで
O PI あるが本実施例はァ ド レス生成回路の加算器が、 3 入力加算器であることを利用して、 第 1 オペ ラ ン ド の指標と増分との加算と、 該加算値に対する比較数 の減算とを同時に行って、 上記加算値と比較数との 大小関係を求め、 ブラ ンチ条件の決定をよ ]?早く行 う よ うにしたものである。
第 4図—において、 1〜 4 , 7〜 1 1 は第 2図で説 明したものと同じものである。
第 4図においては、 前述のブ ラ ンチ命令の第 1 フ ローの P 2ス テージにおいて、 B 2で示される汎用 レ ジス タ の値を BR 1 にセ ッ ト し、 D 2 の値を DR 3 にセ ッ 卜 し、 B R 1 と DR 3 と ¾ 3入力加算器 4· で加算し、 フ' ラ ンチ先ア ド レ スを生成し、 P 3 ステ ージにおいて、 IAR 1 1 に セ ッ 卜する。 また、 P 2 ステージにおけるア ド レス生成時に、 ブラ ンチ先口 n 令取])出しパイ ブラ イ ンに起動をかける。 この結果、 ブラ ンチ先命令取])出しパイ プラ イ ンは、 上記第 1 フ ロ ーの p 2 ステー ジの タ イ ミ ング ( これは I Iス テージに相当 ) から、 1 2, 1 3 ス テージと進み、 P 1ス テージで命令が取 ] 出され、 通常の命令パイ ブラ イ ンに入る こ とができ る。
次に、 第 2 フ ローの P 2ステージにおいて、 R 1 で示される汎用レ ジス タ の値を BR 1 にセ ッ トし、 R 3で示される汎用レジス タ の値を XR 2にセ ッ ト し、 R 3 又は R 3 + 1 で示される汎用レ ジス タ の値 である比較数を DR3にセッ トする。
そして、 「BR 1+XR 2+ ( DR 3の 2の補数)」 ¾る演算を、 ア ド レス生成回路で行う ことによ!)、 第 1オペラ ン ドの指標と増分の加算値と比較数との 大小関係を、 P 2 ステージの 1演算サイ クルで求め ることができ、 直ちにブラ ンチの決定を行う ことが できる。
この時、 ブラ ンチ先命令取 ]?出しパイ ブラ イ ンは 1 2ステージであ ])、 ブラ ンチ先命令が取])出され る 13ステ一:ジ迄に、 1サイ クル分の待ちが必要で あるが、 ブラ ンチ命令が読み出された時には、 直ち に P 1ステージに入ることができ る。
同じ第 2 フ ロ ーの P 5ステージにおいて、 · 1で 示される汎用レジスタの値と、 R 3 で示される汎用 レジス.タの値を、 それぞれ 1 R 7 , 2 R 8にセ ッ ト し、 演算部加算器 9を用いて加算し、 その結果を P 6ステージの初めのタ イ ミ ングにおいて RR 1 0 にセ ッ ト し、 P 6ステージの終わ ])のタ イ ミ ングに おいて、 HR 1 0から R1 で示される汎用レジスタ にセ ッ トするこ とによ ])、 第 1オペラ ン ドの指標値 に増分が加算された値の汎用レジスタ R1 への書き 込みを行う ことができる。
図示においては、 第 1オペラ ン ドの指標と増分の 加算と、 該加算結果に対する比較数の減算とを、 了 ド レ ス生成回路の 3入力加算器で、 一度に行いブラ
ΟΜΡΙ
wrpo ンチの決定条件を得ている所にボイ ン 卜がある。 このよ う 方式を採ることによ 、 ブ ラ ンチ決定 迄に、 ブラ ンチ不成功側の-.命令が 1 フ ローしか流れ ず、 ブラ ンチ成功時の該フ ローの取 消し等の制御 が簡単に ¾る。
又、 この場合は、 ブラ ン チ成功時の処理サイ クル は 4 サ イ ク ルと るが、 ブ ラ ンチ不成功時の処理サ ィ クルが 2 サ イ クル と る。
又、 パイ ブラ イ ンが他の条件によ ]? 「待ち」 がで きた場合、 ブラ ンチ先命令の取 ]?出しパイ ブラ イ ン が起動された後では、 ブラ ンチ成功時にも処理サイ クルが 3 サ イ ク ルとな ])、 性能の向上を図ることが できる。
この場合の例を、 第 5図の—タ イ ム チ ャ ー ト で説明 する。 .
第 5図において、 nが当該ブ ラ ンチ命令であって、 第 4図で説明しているよ う に、 2つのフ ローに展開 されて実行される o
そして、 例えば n - 3 の命令において、 P 5 ステ ージが 2サイ ク ル必要とする命令であったとすると、 II - 2命令では、 P 4 ステ ー ジで 「待ち」 がで き、 n - 1命令では、 P 3 ステージで 「待ち」 ができ、 nの当該ブラ ン チ命令の第 1 フ ロ ーでは、 P 2 ステ ー ジで、 第 2 フ ロ ーでは、 P 1 ステー ジで 「待ち」 が発生する。
OMPI WIPO
? , この結果、 当該ブラ ンチ命令 nに いて、 ブラ ン チの決定が行われた時( 即ち、 第 2 フ ロ ーの P 2 ス テージ )、 ブラ ンチ先命令取 1)出しパイ ブラ イ ンは
1 3ステージにあ ])、 ブラ ンチ成功時には、 直ちに P 1 ステージに入る こ とができ、 該ブラ ンチ命令の 見掛け上の処理サイ クルは 3サイ クルと ることが 分かる。
これは、 第 4図において説明した、 ブ ラ ンチ決定 時に未だブラ ンチ先命令の取])出しが終わってい い( 即ち、 I 2 ステージにいる ) という、 命令取]) 出しパイブラ イ ンにおける遅れを、 上記通営のパイ プラ イ ンにおいて発生した 「待ち」 で吸収された結 杲の効果である。 - 第 6図は上記第 3図や第 4図を参照して説明した 処理動作を行 う本発明の一実施例要部全体構成図 を示して^、る。
図示左端に示す 3 4は、 命令フ : ^ ツ チ制御部 (I F C ) であ ])、 最初の命令読み出し時に、 命令フエ ツ チ . コ ンス タ ン ト · レジス タ ( I FKR ) 1 3 に " 0 " をセッ トし、 最初の命令の読み出し以降においては 固定値 " 8 " を I F R 1 3 にセ ッ トする。 最初の 口 π令のときには、 図示し いサー ビス ' プロセッ サ から、 図示左端と右端との 2つの各命令ア ド レス · レジス タ ( I A R (I) ) 1 1 と ( I A R (H) ) 2 6 とに プ ロ グ ラ ム の先頭ア ドレスがセ ッ トされる。 そして 加算器 1 4は、 I AR 1 1 の内容と I FKR 1 3の 内容とを加算して実効ア ド レスを生成し、. これを実 効ア ド レス · レ ジス タ ( E A R ) 1 5 に セ ッ トする c EAR 1 5の内容にも とづいてァ ド レス変換バ ッ フ. ァ ( 図示せず) 及びキ ヤ ッ シ ュ · メ モ リ (1) 1 6がァ クセスされ、 命令語レ ジス タ ( IWR ) 1 7に順次 命令がプ リ フ : ツ チされて く る。
ステー ジ P 1 において 1 つの命令が抽出される。 ステージ P 2において(i)当該命令の O P部はレ ジス タ 2 8にセ 'ッ 卜 され、 (ii)当該命令のオペ ラ ン ド * ァ ドレスが加算器 4·によ っ て計算される。 そして、 ス テー ジ P 3, P.4 をへて、 各オペ ラ ン ド値がレ ジス タ 2 1 , 7 , 8 に セ ッ ト可能 状態と ¾ D、 ス テー ジ P 5において演弇回路 9 にて演算される。 ステ一 ジ P 6にて演算結果が得られる。
上記ステー ジ P 3, P 4, P 5, P 6 の間、 才ペラ ン ド , ア ド レス も レ ジス タ 6, 2 3, 24 と シ フ ト さ れてゆき、 上記ステージ P 6 において当該命令力 、' イ ブラ イ ンから脱出される と きに、 命令ア ド レス · レジ ス タ (Π) 2 6 の内容が加算器 2 7、 命令長生成回 路 ( ILC ) 2 5 に よ っ て更新される。 即ち命令ア ド レス · レ ジス タ (Π) 2 6の内容は、 当該パ イ ブラ イ ン にて処理されつつある命令の中の最も古い命令につ いてそのア ド レスを保持する形と ¾る。 そして、 図 示中央下部のブラ ンチ決定回路 3 3 は、 第 3 図や第 4図に示す 「ブラ ンチ決定」 を行なう。 また第 3図 や第 4図において、 分岐命令に対応して第 1 フ ロ ー や第 2 フ ロ ーや第 3 フ ローと述べているのは、 第 6 図図示の構成を、 時分割的に複数の流れにしたがう 形で使用していることを意味している。 即ち、 例え ば第 3図に対応して説明すると、 第 6図図示の加算 器 4は、 第.1 フ ロ ーのステージ P 2において I AR
1 1 の内容決定のために使用されると共に、 第 2 フ ロ ーのステージ P 2 においても指標値の更新のため に使用され、 更に第 3 フ ローのステージ P 2におい ても ブラ ンチ決定のために使闱される。
尚、 以上の説明は BXH, B XLE につい 行な つたが、 これ以外の分岐命令であっても、 分岐先ァ ドレスの計算と分岐条件の判定と、 さらに何らかの' 演算処理との 3つの演算が必要 分岐命令について は、 本発明が適用可能である。

Claims

請 求 の 範 囲
(1) 指標に増分を加算し、 その結果と比較数との比 較を行い、 比較数よ ])大きいか、 小さいか或いは等 しいかによ って、 指定ア ド レスに分岐する分岐命令 を、 パ イ ブラ.イ ンで処理するデータ処理装置におい て、 分岐先命令の取 ]9出しに間に合う よ うに分岐条 件を決定十る演算を行う ことを特徵とするブラ ンチ ro'j御 式。
(2) 上記パイ ブライ ンで処理するデータ処理装置は
複数ステー ジ分の処理にてア ド レ ス生成を行 ¾う命
令取!) 出し処理部と、 複数ステージ分の処理にて命
令実行 ¾行¾う命今実行処理部とをそ え、 上記分
岐命令が上記命令実行処理部に導入されると、 上記
命令取 ]?出し処理部は当該分岐が不成功と ¾つた場
合の後続命令を順次フ ェ チすると共に当該分岐が
成功した場合の分岐先側の命令を順次フ ェ ッ チする
よう構成され、 上記分岐条件の決定時に分岐が成功
した場合には、 上記分岐先側の命令を上記命令実行
処理部に導入してゆき、 それまでの間に実行された
上記不成功側の後続命令に対応した処理を無効化す
るよ うに構成されることを特徵とする特許請求の範
囲第 (1)項記载のブランチ制御方式。
(3) 上記分岐条件を決定する演算を行うのに、 上記
命令取 ]9出し処理部内のァ ド レ ス生成回路を用いて
上記指標に増分を加算する演算を行い、 その結果と 一 OMH ,
WIPO i ¾ j 上記比較数との比較演算を行つて分岐条件を決定す ることを特徵とする特許請求の範囲第 (2)項記載のブ ラ ンチ制御方式。
(4) 上記分岐条件を決定する演算を行うのに、 上記 命令取 出し処理部内のァ ドレス生成回路の 3入力加 算器を用い、 その 1つの入力に上記指標を与え、 他 の入力に上記増分を与え、 第 3の入力に比較数の 2 の補数を与えて、 3入力加算を行って分岐条件を決 定することを特徵とする特許請求の範囲第 (2)項記載 のブラ ンチ制御方式。
(5) 上記命令実行処理部は、 分岐命令が導入された 際に、 当 '該命令実行処理部の少 く と ¾先頭ステー ジの次のステージにおいて分岐先命令のァ ド レ スを 決定して、 上記命令取])出し処理部における当該分 岐先命令の取 出しを起動せしめると共に、 当該命 令取 D出し処理部から分岐先命令が利用可能に抽出 されるまでの'間に分岐条件を決定するよ う構成 れ ることを特徵とする特許請求の範囲第 (2)項記载のブ ラ ンチ制御方式。
(6) オペラ ン ドデータ用の演算器とは別にア ド レス 計算用演算器を具えたパィ プ ラ イ ン処理部によ ])、 命令を複数のフ π—に展開して処理するデータ処理 装置において、 分岐先ア ド レスの計算と、 分岐条件 の判定と、 才ペ ラ ン-ドデー タ の更新との 3つの演算 を必要とする分岐命令を処理するに際し、 第 1 の フ ローにおいて上記ァ ドレス計算用演算器によ って分 岐先ア ドレスを計算し、 第 2 フ ロ ー以降において、 上記ァ ドレス計算用演算器によ って分岐条件の判定 を行るう ことを特徵とするブラ ンチ制御方式。
O PI
PCT/JP1984/000536 1983-11-16 1984-11-08 Method of controlling branching WO1985002280A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE8484904163T DE3485124D1 (de) 1983-11-16 1984-11-08 Regelungsverfahren der verzweigung.
KR1019850700123A KR900002603B1 (ko) 1983-11-16 1984-11-08 브랜치(branch)제어방식
BR8407172A BR8407172A (pt) 1983-11-16 1984-11-08 Sistema de controle de bifurcacao

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP58215196A JPS60107141A (ja) 1983-11-16 1983-11-16 プランチ制御方式
JP58/215196 1983-11-16

Publications (1)

Publication Number Publication Date
WO1985002280A1 true WO1985002280A1 (en) 1985-05-23

Family

ID=16668273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1984/000536 WO1985002280A1 (en) 1983-11-16 1984-11-08 Method of controlling branching

Country Status (7)

Country Link
US (1) US4977496A (ja)
EP (1) EP0162929B1 (ja)
JP (1) JPS60107141A (ja)
AU (1) AU556196B2 (ja)
BR (1) BR8407172A (ja)
DE (1) DE3485124D1 (ja)
WO (1) WO1985002280A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502725B2 (en) 2004-04-29 2009-03-10 International Business Machines Corporation Method, system and computer program product for register management in a simulation environment

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914579A (en) * 1988-02-17 1990-04-03 International Business Machines Corporation Apparatus for branch prediction for computer instructions
CA2006732C (en) * 1988-12-27 1994-05-03 Tsuyoshi Mori Control system for fetching an instruction
EP0450658B1 (en) * 1990-04-06 2001-08-01 Nec Corporation Parallel pipelined instruction processing system for very long instruction word
JP2875909B2 (ja) * 1991-07-12 1999-03-31 三菱電機株式会社 並列演算処理装置
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
GB2294140B (en) * 1992-05-29 1996-11-27 Toshiba Kk Data processing apparatus
GB2267419B (en) * 1992-05-29 1996-11-27 Toshiba Kk Data processing apparatus
US5313634A (en) * 1992-07-28 1994-05-17 International Business Machines Corporation Computer system branch prediction of subroutine returns

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5585956A (en) * 1978-12-21 1980-06-28 Hitachi Ltd Information processor
JPS57755A (en) * 1980-06-02 1982-01-05 Hitachi Ltd Information processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
GB1527289A (en) * 1976-08-17 1978-10-04 Int Computers Ltd Data processing systems
JPS6029126B2 (ja) * 1977-01-14 1985-07-09 株式会社日立製作所 デ−タ処理装置
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4430711A (en) * 1980-05-30 1984-02-07 Signetics Corporation Central processing unit
US4373180A (en) * 1980-07-09 1983-02-08 Sperry Corporation Microprogrammed control system capable of pipelining even when executing a conditional branch instruction
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4435756A (en) * 1981-12-03 1984-03-06 Burroughs Corporation Branch predicting computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5585956A (en) * 1978-12-21 1980-06-28 Hitachi Ltd Information processor
JPS57755A (en) * 1980-06-02 1982-01-05 Hitachi Ltd Information processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0162929A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502725B2 (en) 2004-04-29 2009-03-10 International Business Machines Corporation Method, system and computer program product for register management in a simulation environment
US7720669B2 (en) 2004-04-29 2010-05-18 International Business Machines Corporation Method, system and computer program product for register management in a simulation environment

Also Published As

Publication number Publication date
DE3485124D1 (de) 1991-10-31
EP0162929A4 (en) 1988-11-02
EP0162929B1 (en) 1991-09-25
AU3612684A (en) 1985-06-03
EP0162929A1 (en) 1985-12-04
BR8407172A (pt) 1985-10-08
JPS60107141A (ja) 1985-06-12
AU556196B2 (en) 1986-10-23
US4977496A (en) 1990-12-11

Similar Documents

Publication Publication Date Title
US7624253B2 (en) Determining register availability for register renaming
US7836287B2 (en) Reducing the fetch time of target instructions of a predicted taken branch instruction
EP1157329B1 (en) Methods and apparatus for branch prediction using hybrid history with index sharing
US6898699B2 (en) Return address stack including speculative return address buffer with back pointers
KR100237985B1 (ko) 추론적 로드 명령을 실행하는 프로세서, 그 방법 및 데이터 처리 시스템
JP3093639B2 (ja) プロセッサ内の資源割当て追跡方法及びそのシステム
JP3151444B2 (ja) ロード命令を処理する方法及びスーパースカラ・プロセッサ
KR100404257B1 (ko) 파이프라인 프로세서 아키텍처, 모든 인라인 및 분기인스트럭션을 정확한 구조적인 시퀀스로 프로세서파이프라인에 제공하는 시스템, 및 분기 처리 유닛
JP2839075B2 (ja) 処理システムを動作させる方法及び処理システム
US20140052972A1 (en) Meta predictor restoration upon detecting misprediction
JP3486690B2 (ja) パイプライン方式プロセッサ
WO1985002280A1 (en) Method of controlling branching
JP3177194B2 (ja) 命令データを位置合せするための方法および装置
JPS58189739A (ja) デ−タ処理システム
JP3207124B2 (ja) カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置
WO1985002279A1 (en) Method of controlling pipeline
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
JP3182741B2 (ja) 分散命令完了方法及びプロセッサ
JP3469469B2 (ja) 情報処理装置
US7234043B2 (en) Decoding predication instructions within a superscaler data processing system
JP3534987B2 (ja) 情報処理装置
EP1050805B1 (en) Transfer of guard values in a computer system
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
JP3707729B2 (ja) アドレス生成インターロック検出方法およびシステム
JP3082944B2 (ja) パイプライン処理装置

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU BR KR US

AL Designated countries for regional patents

Designated state(s): DE FR GB

WWE Wipo information: entry into national phase

Ref document number: 1984904163

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1984904163

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1984904163

Country of ref document: EP