cpu: Restructure RAS

The return address stack (RAS) is restructured to be a separate SimObject.
This enables disabling the RAS and better separation of the functionality.
Furthermore, easier statistics and debugging.

Change-Id: I8aacf7d4c8e308165d0e7e15bc5a5d0df77f8192
Signed-off-by: David Schall <david.schall@ed.ac.uk>
This commit is contained in:
David Schall
2023-09-05 08:01:13 +00:00
parent 59f96deb0f
commit 5387e67114
10 changed files with 508 additions and 172 deletions

View File

@@ -96,7 +96,7 @@ class U74FUPool(MinorFUPool):
class U74BP(TournamentBP):
btb = SimpleBTB(numEntries=32)
RASSize = 12
ras = ReturnAddrStack(numEntries=12)
localHistoryTableSize = 4096 # is 3.6 KiB but gem5 requires power of 2
localPredictorSize = 16384
globalPredictorSize = 16384