Difference between revisions of "Ratrob"

From Vlsiwiki
Jump to: navigation, search
 
(145 intermediate revisions by the same user not shown)
Line 1: Line 1:
                  THIS PAGE IS UNDER CONSTUCTION
+
THIS PAGE IS UNDER CONSTUCTION
  
 +
==Fetch Engine==
 +
===[[Branch Predictor I/F]]===
 +
*<b> <u>BPredRecoveryType </u></b>    <span style="color:Blue"> <i> OUTPUT </i></span>
  
'''BPredRecoveryType''' OUTPUT
+
:{| height=”50”
+
|width=150pt |<i> '''BoolType''' </i>
BoolType miss (1 bit)
+
|width=100pt | <span style="color:Crimson"> <b>miss </b></span>
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.
+
|width=100pt | (1 bits)
The value is copied from the B_Unit (Bunit_Br_DoneType miss field).
+
|-
BoolType taken (1 bit)
+
|width=150pt |<i> '''BoolType''' </i>
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);
+
|width=100pt | <span style="color:Crimson"> <b> taken </b></span>
The value is copied from the B_Unit (Bunit_Br_DoneType taken field).
+
|width=100pt | (1 bits)
 AddrType target_PC (32 bits)
+
|-
The target_PC is the branch target address calculated by the FU when the branch instruction is executed.
+
|width=150pt |<i> '''AddrType''' </i>
The value is copied from the B_Unit (Bunit_Br_DoneType target_PC field).
+
|width=100pt | <span style="color:Crimson"> <b> target_PC </b></span>
 AddrType addrs (32 bits)
+
|width=100pt | (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.
+
|width=150pt |<i> '''AddrType''' </i>
BPredStateType stat
+
|width=100pt | <span style="color:Crimson"> <b> addrs </b></span>
 +
|width=100pt | (32 bits)
 +
|-
 +
|width=150pt |<i> '''BPredStateType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> state </b></span>
 +
|width=100pt | (9 bits)
 +
|}
 +
 
 +
*<b> <u>Status Flag</u> </b>    <span style="color:Blue"> <i> OUTPUT </i></span>
 +
:{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> rr_empty </b></span>
 +
|width=100pt | (1 bits)
 +
|}
 +
 
 +
===[[Crack I/F]]===
 +
 
 +
*<b> DInst_CRType </b>    <span style="color:Blue"> <i> INPUT </i></span>
 +
:{| height=”50”
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> valid </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> slow </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''OPType'''</i>
 +
|width=100pt | <span style="color:Crimson"> <b> op </b></span>
 +
|width=100pt | 10 bits)
 +
|-
 +
|width=150pt |<i> '''IMMType'''</i>
 +
|width=100pt | <span style="color:Crimson"> <b> imm </b></span>
 +
|width=100pt | (32 bits)
 +
 
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> expop </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> cexc </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> aexc_clear </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> icc </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> useY </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BPredStateType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> state </b></span>
 +
|width=100pt | (9 bits)
 +
|-
 +
|width=150pt |<i> ''' ClusterIdType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> id </b></span>
 +
|width=100pt | (3 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> ldest </b></span>
 +
|width=100pt | (7 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> lsrc1</b></span>
 +
|width=100pt | (7 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> lsrc2</b></span>
 +
|width=100pt | (7 bits)
 +
|}
 +
*<b> Status Flag </b>    <span style="color:Blue"> <i> INPUT </i></span>
 +
:{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> sched_busy </b></span>
 +
|width=100pt | (1 bits)
 +
|}
 +
*<b> Status Flag </b>    <span style="color:Blue"> <i> OUTPUT </i></span>
 +
:{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> rr_clear </b></span>
 +
|width=100pt | (1 bits)
 +
|}

Latest revision as of 01:13, 18 May 2009

THIS PAGE IS UNDER CONSTUCTION

Fetch Engine

Branch Predictor I/F

  • BPredRecoveryType OUTPUT
BoolType miss (1 bits)
BoolType taken (1 bits)
AddrType target_PC (32 bits)
AddrType addrs (32 bits)
BPredStateType state (9 bits)
  • Status Flag OUTPUT
BoolType rr_empty (1 bits)

Crack I/F

  • DInst_CRType INPUT
BoolType valid (1 bits)
BoolType slow (1 bits)
OPType op 10 bits)
IMMType imm (32 bits)
BoolType expop (1 bits)
BoolType cexc (1 bits)
BoolType aexc_clear (1 bits)
BoolType icc (1 bits)
BoolType useY (1 bits)
BPredStateType state (9 bits)
ClusterIdType id (3 bits)
LRegType ldest (7 bits)
LRegType lsrc1 (7 bits)
LRegType lsrc2 (7 bits)
  • Status Flag INPUT
BoolType sched_busy (1 bits)
  • Status Flag OUTPUT
BoolType rr_clear (1 bits)