Difference between revisions of "Branch Predictor I/F"

From Vlsiwiki
Jump to: navigation, search
Line 1: Line 1:
 +
[[Ratrob#Branch Predictor]]
 +
 
===Branch Predictor===
 
===Branch Predictor===
 
*<b>BPredRecoveryType </b>     
 
*<b>BPredRecoveryType </b>     

Revision as of 01:10, 18 May 2009

Ratrob#Branch Predictor

Branch Predictor

  • BPredRecoveryType
BoolType miss (1 bits)

The miss flag (indicates whether the prediction made by the Branch Predictor was incorrect (asserted). Assertion of this flag indicates that the prediction was incorrect. If unasserted, the values in this interface are undefined. The value is copied from the B_Unit (Bunit_Br_DoneType miss field).

BoolType taken (1 bits)

The taken flag indicates, when the Branch instruction is actually executed, the result of the branch condition. If taken is asserted, the executed branch instruction indicated that the branch should have been taken; if unasserted, the branch should not have been taken. (e.g. Br Taken = 1; Br Not Taken = 0);

The value is copied from the B_Unit (Bunit_Br_DoneType taken field).

AddrType target_PC (32 bits)

The target_PC is the branch target address calculated by the FU when the branch instruction is executed. The value is copied from the B_Unit (Bunit_Br_DoneType target_PC field).

AddrType addrs (32 bits)

The addrs field is the PC address of the branch instruction associated with this transaction. The value is exacted from the instruction’s ROB entry.

BPredStateType state (9 bits)

• BoolType taken (1 bit) • OBPPtrType obp_ptr (8 bits)

  • Status Flag

OUTPUT

BoolType rr_empty (1 bits)

The rr_empty flag is asserted when the ROB is empty and informs the Branch Predictor that there are no instructions in flight.