Make non-speculative training optional.
Removing non-speculative training actually improves performance in CoreMark. While it's "safer", I guess this isn't required for BSC.
This commit is contained in:
@@ -453,7 +453,11 @@ module mkCore#(CoreId coreId)(Core);
|
||||
endinterface);
|
||||
aluExe[i] <- mkAluExePipeline(aluExeInput);
|
||||
// truly call fetch method to train branch predictor
|
||||
rule doFetchTrainBP(trainBPQ[i].notEmpty && trainBPQ[i].first.spec_bits == 0);
|
||||
Bool train_ready = True;
|
||||
`ifdef NO_SPEC_TRAINING
|
||||
train_ready = (trainBPQ[i].first.spec_bits == 0);
|
||||
`endif
|
||||
rule doFetchTrainBP(trainBPQ[i].notEmpty && train_ready);
|
||||
let train = trainBPQ[i].first.data;
|
||||
trainBPQ[i].deq;
|
||||
fetchStage.train_predictors(
|
||||
|
||||
Reference in New Issue
Block a user