From 3f6874cb295695a225fca6825bfe24a4b97641fd Mon Sep 17 00:00:00 2001 From: Mitch Hayenga Date: Tue, 5 Apr 2016 11:44:27 -0500 Subject: cpu: Fix BTB threading oversight The extant BTB code doesn't hash on the thread id but does check the thread id for 'btb hits'. This results in 1-thread of a multi-threaded workload taking a BTB entry, and all other threads missing for the same branch missing. --- src/cpu/pred/bpred_unit.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/cpu/pred/bpred_unit.cc') diff --git a/src/cpu/pred/bpred_unit.cc b/src/cpu/pred/bpred_unit.cc index 8bb84f836..c38927c8d 100644 --- a/src/cpu/pred/bpred_unit.cc +++ b/src/cpu/pred/bpred_unit.cc @@ -59,7 +59,8 @@ BPredUnit::BPredUnit(const Params *params) predHist(numThreads), BTB(params->BTBEntries, params->BTBTagSize, - params->instShiftAmt), + params->instShiftAmt, + params->numThreads), RAS(numThreads), instShiftAmt(params->instShiftAmt) { -- cgit v1.2.3