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"
56namespace branch_prediction
118 const TAGE_SC_L_64KB_StatisticalCorrectorParams &
p);
121 int altBank)
const override;
124 int & lsum, int64_t phist)
override;
132 int64_t phist)
override;
void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, BranchInfo *tage_bi, Addr corrTarget) override
void gUpdates(ThreadID tid, Addr pc, bool taken, BranchInfo *bi, int64_t phist) override
std::vector< int8_t > * sgehl
SCThreadHistory * makeThreadHistory() 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
int gPredictions(ThreadID tid, Addr branch_pc, BranchInfo *bi, int &lsum, int64_t phist) 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.
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.
std::vector< int64_t > imHist