CN1410884B - Guess execution command cancel device combined with exception treatment - Google Patents

Guess execution command cancel device combined with exception treatment Download PDF

Info

Publication number
CN1410884B
CN1410884B CN 01141496 CN01141496A CN1410884B CN 1410884 B CN1410884 B CN 1410884B CN 01141496 CN01141496 CN 01141496 CN 01141496 A CN01141496 A CN 01141496A CN 1410884 B CN1410884 B CN 1410884B
Authority
CN
China
Prior art keywords
transfer instruction
instruction
exception
execution command
cancellation
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
CN 01141496
Other languages
Chinese (zh)
Other versions
CN1410884A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 01141496 priority Critical patent/CN1410884B/en
Publication of CN1410884A publication Critical patent/CN1410884A/en
Application granted granted Critical
Publication of CN1410884B publication Critical patent/CN1410884B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

The device includes the general purpose register and its mapper, the floating point register and its mapper and the assembly for executing the jump instruction, which writes the result back to the operation queue, based on the jump condition to carry out the judgement. The interruption handling with accuracy is adopted in the invention so as to guarantee the accuracy of the site recovery. Combining the branching error with the interruption handling as well as reducing the logic complexity are good for realizing and increasing the primary frequency. Comparing with the mechanism for canceling instruction of other processor, the invention possesses the features of the simple structure and the accuracy of the site recovery.

Description

Handle the conjecture execution command cancellation device that combines with exception
Technical field
The present invention relates to micro-processor architecture, particularly a kind of conjecture execution command cancellation device that combines with the exception processing.
Background technology
Current various microprocessor is generally taked following two kinds of schemes in the solution branch transition:
(1) time-out is got finger, comes out up to branch outcome.This way can take to add the method that postpones groove usually in order to reduce delay, but whether success generally all can cause certain delay no matter shift.As: the R4000 microprocessor of MIPS, see Joe Heinrich, MIPS R4000 MicroprocessorUser ' s manual, MIPS Technology, Inc..
(2) take to a certain degree conjecture, before branch outcome is come out, just get finger by the address of conjecture.This method does not cause time-delay when conjecture is correct, but when conjecture is wrong, will cancels the instruction of having got into and get finger again, thereby causes the streamline cutout, has increased time-delay.As: microprocessors such as the R10000 of MIPS, see Kenneth C.Yeager, The Mips R10000Superscalar Microprocessor, IEEE Micro 1996 Apr.
Second kind of scheme is the current popular scheme, adopted by most of microprocessors, and the dynamic dispatching technology of common and streamline combines.Two key problems are arranged in this scheme: the one, improve the conjecture accuracy, thereby reduce to cancel the probability of instruction.The 2nd, take effectively instruction cancellation mechanism, thus the influence that streamline is caused when reducing to guess wrong.
In current processor, the streamline that brings for fear of sequential firing blocks (because branch instruction will wait operand to be ready to just emission usually), and dynamic emission is taked in the meeting that has, as: the MIPS R10000 microprocessor of SGI/MIPS company.In R10000, branch instruction still can dynamically be launched, but thus when the wrong cancellation instruction of conjecture, has brought some problems:
(1) R10000 backups to optional address and each register in branch's storehouse (branch stack) when running into branch instruction, and in order to recovery later on, this way is brought the complicacy of steering logic and design inevitably; As shown in Figure 1, find transfer instruction, the mapping table of register and relevant control bit are saved in shift in the stack when when decoding.When prediction error, just from shift stack, recover these information.But some Cache operation is expendable.
(2) this cancellation mechanism of R10000 may be brought some spinoffs (side effects), as: the state of the Cache that nonuniformity Cache operation (non-coherent cached operations) brings and the variation of data are expendable, recover on-the-spot out of true thereby make, therefore to lean in accordance with some standards and reduce this situation, see Joe Heinrich, MIPS R10000 MicroprocessorUser ' s manual, MIPS Technology, Inc..
Summary of the invention
The purpose of this invention is to provide a kind of conjecture execution command cancellation device that combines with the exception processing, branch's mistake as a kind of special Interrupt Process, as prediction error takes place, has then been put a kind of special interruption, notify each parts to recover site disposal.
For achieving the above object, a kind of conjecture execution command cancellation device that combines with the exception processing, comprising: general-purpose register and mapping table thereof, flating point register and mapping table thereof is characterized in that also comprising:
Operation queue sends control signal;
Carry out the parts of transfer instruction, it is judged according to jump condition, and the result is write back to operation queue;
When decoding, find transfer instruction, do not do individual processing; When prediction error, produce a special interruption according to the processing mode of interrupting, instruct cancellation and scene to recover.
The Interrupt Process that the present invention adopts has accuracy, has guaranteed the accuracy of on-the-spot recovery; Because branch's mistake and Interrupt Process are combined, reduce the complexity of logic again simultaneously, be more conducive to realize and improve dominant frequency.Compare with the instruction cancellation mechanism of other processor, the present invention has the accurate characteristics in scene simple in structure.
Description of drawings
Fig. 1 is that structural drawing recovers in prior art branch.
Fig. 2 is that structural drawing recovers in branch of the present invention.
The working of an invention mode
Transfer instruction is carried out by ALU (arithmetic and logic unit) or floating-point FALU (floating point unit), and information such as shifting success or not write back to operation queue, whether result's decision of carrying out according to transfer instruction again when transfer instruction finishes cancels the follow-up operation of having guessed execution.Therefore when emission, need not wait for that operand is ready to.If the required operand of transfer instruction is not ready for, wait at reservation station as normal operations.When ALU or FALU executive condition transfer instruction, judge, and the result is write back to operation queue (for conditional branch instruction, the result is that 1 expression is shifted successfully) according to jump condition.The transfer instruction JR of goal displacement address in register, JALR etc. utilize the reservation station of ALU to wait for required destination address also by ALU.
When the jump condition of conditional transfer was determined, the operation of back may be transmitted into functional part and carry out, and the operation that has may write back.If transfer instruction is guessed wrong, the instruction after we have utilized cancellation logic that exception handles to the transfer instruction of guessing wrong is dexterously cancelled.Promptly when transfer instruction writes back, to form the ex (ex=1 represents to make an exception) of exception vector and write operation formation corresponding entry and excode (when the ex=1 according to the result, excode represents the reason that makes an exception) territory, transfer instruction is guessed wrong as a kind of special exception, the path that utilizes exception to handle when transfer instruction finishes notifies each functional part cancellation the current operation of carrying out, and cancels the instruction that get into the back.Thereby solved instruction cancellation problem.Fig. 2 provides a specific embodiment, finds transfer instruction when decoding, does not do individual processing; When prediction error, produce a special interruption according to the processing mode of interrupting, instruct cancellation and scene to recover.Because it is accurate interrupting,, recovered the logic of interrupting (in this example, represent to have interruption to take place, represent that with Excode=111111 this interruption is caused by transfer) simultaneously with EX=1 so all scenes all are accurate.

Claims (3)

1. a conjecture execution command of handling to combine with exception is cancelled device, and comprising: general-purpose register and mapping table thereof, flating point register and mapping table thereof is characterized in that also comprising:
Operation queue sends control signal;
Carry out the parts of transfer instruction, it is judged according to jump condition, and the result is write back to operation queue;
When decoding, find transfer instruction, do not do individual processing; When prediction error, produce a special interruption according to the processing mode of interrupting, instruct cancellation and scene to recover.
2. device according to claim 1 is characterized in that described transfer instruction parts comprise arithmetic and logic unit and floating point unit.
3. device according to claim 1 is characterized in that when transfer instruction finishes, and the path that utilizes exception to handle notifies each functional part cancellation the current operation of carrying out, and cancels the instruction that get into the back.
CN 01141496 2001-09-27 2001-09-27 Guess execution command cancel device combined with exception treatment Expired - Lifetime CN1410884B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01141496 CN1410884B (en) 2001-09-27 2001-09-27 Guess execution command cancel device combined with exception treatment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01141496 CN1410884B (en) 2001-09-27 2001-09-27 Guess execution command cancel device combined with exception treatment

Publications (2)

Publication Number Publication Date
CN1410884A CN1410884A (en) 2003-04-16
CN1410884B true CN1410884B (en) 2010-04-14

Family

ID=4676219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01141496 Expired - Lifetime CN1410884B (en) 2001-09-27 2001-09-27 Guess execution command cancel device combined with exception treatment

Country Status (1)

Country Link
CN (1) CN1410884B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254693B2 (en) * 2004-12-02 2007-08-07 International Business Machines Corporation Selectively prohibiting speculative execution of conditional branch type based on instruction bit
CN114755967B (en) * 2022-06-16 2022-09-16 合肥安迅精密技术有限公司 Chip mounter interlocking protection control method and system

Also Published As

Publication number Publication date
CN1410884A (en) 2003-04-16

Similar Documents

Publication Publication Date Title
EP0888584B1 (en) Central processing unit having an x86 and dsp core and including a dsp function decoder which maps x86 instructions to dsp instructions
US7685410B2 (en) Redirect recovery cache that receives branch misprediction redirects and caches instructions to be dispatched in response to the redirects
JP2640454B2 (en) Digital instruction processor controller and method for executing a branch in one cycle
US6697932B1 (en) System and method for early resolution of low confidence branches and safe data cache accesses
US5634103A (en) Method and system for minimizing branch misprediction penalties within a processor
US5442757A (en) Computer processor with distributed pipeline control that allows functional units to complete operations out of order while maintaining precise interrupts
US4654785A (en) Information processing system
US8464033B2 (en) Setting a flag bit to defer event handling to one of multiple safe points in an instruction stream
JPWO2008029450A1 (en) Information processing apparatus having branch prediction miss recovery mechanism
EP0381471A3 (en) Method and apparatus for preprocessing multiple instructions in a pipeline processor
KR101081674B1 (en) A system and method for using a working global history register
CN108182082A (en) A kind of double transmited processor scoreboard circuits of stream treatment
JP4009248B2 (en) Branch prediction apparatus and branch prediction method
US7017026B2 (en) Generating lookahead tracked register value based on arithmetic operation indication
US11645078B2 (en) Detecting a dynamic control flow re-convergence point for conditional branches in hardware
US7000226B2 (en) Exception masking in binary translation
CN1410884B (en) Guess execution command cancel device combined with exception treatment
EP1323033B1 (en) A pipelined microprocessor and a method relating thereto
US5903918A (en) Program counter age bits
CN1326037C (en) Method and device for correcting internal call or return stack in microprocessor
US6763449B1 (en) Operation-processing apparatus
JP2001236225A (en) Arithmetic unit and branch predicting method and information processor
CN109614146B (en) Local jump instruction fetch method and device
US20040230781A1 (en) Method and system for predicting the execution of conditional instructions in a processor
JPS62267869A (en) Processing system at time of arithmetic exception of vector processor

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20100414

CX01 Expiry of patent term