cpu: Restructure BTB
- A new abstract BTB class is created to enable different BTB implementations. The new BTB class gets its own parameter and stats. - An enum is added to differentiate branch instruction types. This enum is used to enhance statistics and BPU management. - The existing BTB is moved into `simple_btb` as default. - An additional function is added to store the static instruction in the BTB. This function is used for the decoupled front-end. - Update configs to match new BTB parameters. Change-Id: I99b29a19a1b57e59ea2b188ed7d62a8b79426529 Signed-off-by: David Schall <david.schall@ed.ac.uk>
This commit is contained in:
@@ -95,7 +95,7 @@ class U74FUPool(MinorFUPool):
|
||||
|
||||
|
||||
class U74BP(TournamentBP):
|
||||
BTBEntries = 32
|
||||
btb = SimpleBTB(numEntries=32)
|
||||
RASSize = 12
|
||||
localHistoryTableSize = 4096 # is 3.6 KiB but gem5 requires power of 2
|
||||
localPredictorSize = 16384
|
||||
|
||||
Reference in New Issue
Block a user