60#ifndef __CPU_PRED_TAGE_HH__
61#define __CPU_PRED_TAGE_HH__
68#include "params/TAGE.hh"
73namespace branch_prediction
104 Addr target,
void * &bp_history)
override;
106 void * &bp_history,
bool squashed,
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Basically a wrapper class to hold both the branch predictor and the BTB.
TAGE(const TAGEParams ¶ms)
bool lookup(ThreadID tid, Addr pc, void *&bp_history) override
Looks up a given conditional branch PC of in the BP to see if it is taken or not taken.
void updateHistories(ThreadID tid, Addr pc, bool uncond, bool taken, Addr target, void *&bp_history) override
Ones done with the prediction this function updates the path and global history.
virtual bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b)
virtual void squash(ThreadID tid, void *&bp_history) override
void update(ThreadID tid, Addr pc, bool taken, void *&bp_history, bool squashed, const StaticInstPtr &inst, Addr target) override
Updates the BP with taken/not taken information.
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.
TAGEBase::BranchInfo * tageBranchInfo
TageBranchInfo(TAGEBase &tage)
virtual ~TageBranchInfo()