Improve frontend branch prediction
- Put correctness responsibility on Frontend, not IBuf, for improved separation of concerns. Frontend must detect case that the BTB predicts a taken branch in the middle of an instruction. - Pass BTB information down pipeline unconditionally, fixing case that screws up the branch history when the BTB misses and the instruction is misaligned. - Remove jumpInFrontend option; it's now unconditional. - Default to one-bit counters in the BHT. For tiny BHTs like these, it's more resource efficient to have a larger index space than to have hysteresis.
This commit is contained in:
		| @@ -33,7 +33,6 @@ trait CoreParams { | ||||
|   val nL2TLBEntries: Int | ||||
|   val mtvecInit: Option[BigInt] | ||||
|   val mtvecWritable: Boolean | ||||
|   val jumpInFrontend: Boolean | ||||
|   val tileControlAddr: Option[BigInt] | ||||
|  | ||||
|   def instBytes: Int = instBits / 8 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user