45#ifndef __CPU_PRED_TAGE_SC_L_64KB_HH__
46#define __CPU_PRED_TAGE_SC_L_64KB_HH__
49#include "params/TAGE_SC_L_64KB.hh"
50#include "params/TAGE_SC_L_64KB_StatisticalCorrector.hh"
51#include "params/TAGE_SC_L_TAGE_64KB.hh"
121 const TAGE_SC_L_64KB_StatisticalCorrectorParams &
p);
124 int altBank)
const override;
132 Addr target, int64_t phist)
override;
StatisticalCorrector(const StatisticalCorrectorParams &p)
void scRecordHistState(Addr branch_pc, BranchInfo *bi) override
std::vector< int8_t > * sgehl
SCThreadHistory * makeThreadHistory() override
bool scRestoreHistState(BranchInfo *bi) override
std::vector< int8_t > wim
std::vector< int8_t > * imgehl
std::vector< int8_t > * pgehl
int gIndexLogsSubstr(int nbr, int i) override
std::vector< int8_t > * tgehl
void gUpdates(ThreadID tid, Addr pc, bool taken, BranchInfo *bi) override
void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, Addr target, int64_t phist) override
int gPredictions(ThreadID tid, Addr branch_pc, BranchInfo *bi, int &lsum) override
const unsigned numEntriesSecondLocalHistories
const unsigned numEntriesThirdLocalHistories
unsigned getIndBiasBank(Addr branch_pc, BranchInfo *bi, int hitBank, int altBank) const override
TAGE_SC_L_64KB_StatisticalCorrector(const TAGE_SC_L_64KB_StatisticalCorrectorParams &p)
TAGE_SC_L_64KB(const TAGE_SC_L_64KBParams ¶ms)
void handleTAGEUpdate(Addr branch_pc, bool taken, TAGEBase::BranchInfo *bi) override
Handles the update of the TAGE entries.
TAGE_SC_L_TAGE_64KB(const TAGE_SC_L_TAGE_64KBParams &p)
uint16_t gtag(ThreadID tid, Addr pc, int bank) const override
Computes the partial tag of a tagged table.
int gindex_ext(int index, int bank) const override
void handleAllocAndUReset(bool alloc, bool taken, TAGEBase::BranchInfo *bi, int nrand) override
Handles Allocation and U bits reset on an update.
TAGE_SC_L_TAGE(const TAGE_SC_L_TAGEParams &p)
TAGE_SC_L(const TAGE_SC_LParams ¶ms)
const Params & params() const
Copyright (c) 2024 Arm Limited All rights reserved.
int16_t ThreadID
Thread index/ID type.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
RefCountingPtr< StaticInst > StaticInstPtr
SCThreadHistory(unsigned instShiftAmt)
const unsigned instShiftAmt
SC_64KB_ThreadHistory(unsigned instShiftAmt)
std::vector< int64_t > imHist