42#ifndef __CPU_PRED_TAGE_SC_L_8KB_HH__
43#define __CPU_PRED_TAGE_SC_L_8KB_HH__
46#include "params/TAGE_SC_L_8KB.hh"
47#include "params/TAGE_SC_L_8KB_StatisticalCorrector.hh"
48#include "params/TAGE_SC_L_TAGE_8KB.hh"
53namespace branch_prediction
97 const TAGE_SC_L_8KB_StatisticalCorrectorParams &
p);
100 int altBank)
const override;
112 int64_t phist)
override;
int gIndexLogsSubstr(int nbr, int i) override
std::vector< int8_t > * ggehl
TAGE_SC_L_8KB_StatisticalCorrector(const TAGE_SC_L_8KB_StatisticalCorrectorParams &p)
void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, BranchInfo *tage_bi, Addr corrTarget) override
unsigned getIndBiasBank(Addr branch_pc, BranchInfo *bi, int hitBank, int altBank) const override
SCThreadHistory * makeThreadHistory() override
int gPredictions(ThreadID tid, Addr branch_pc, BranchInfo *bi, int &lsum, int64_t phist) override
void gUpdates(ThreadID tid, Addr pc, bool taken, BranchInfo *bi, int64_t phist) override
TAGE_SC_L_8KB(const TAGE_SC_L_8KBParams ¶ms)
void handleAllocAndUReset(bool alloc, bool taken, TAGEBase::BranchInfo *bi, int nrand) override
Handles Allocation and U bits reset on an update.
uint16_t gtag(ThreadID tid, Addr pc, int bank) const override
Computes the partial tag of a tagged table.
TAGE_SC_L_TAGE_8KB(const TAGE_SC_L_TAGE_8KBParams &p)
void initFoldedHistories(ThreadHistory &history) override
Initialization of the folded histories.
int gindex_ext(int index, int bank) const override
void resetUctr(uint8_t &u) override
Algorithm for resetting a single U counter.
void handleTAGEUpdate(Addr branch_pc, bool taken, TAGEBase::BranchInfo *bi) override
Handles the update of the TAGE entries.
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria 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.