ChampSim
O3_CPU::module_model< B_FLAG, T_FLAG > Struct Template Referencefinal

#include <ooo_cpu.h>

Inheritance diagram for O3_CPU::module_model< B_FLAG, T_FLAG >:
[legend]
Collaboration diagram for O3_CPU::module_model< B_FLAG, T_FLAG >:
[legend]

Public Member Functions

 module_model (O3_CPU *core)
 
void impl_initialize_branch_predictor ()
 
void impl_last_branch_result (uint64_t ip, uint64_t target, uint8_t taken, uint8_t branch_type)
 
uint8_t impl_predict_branch (uint64_t ip)
 
void impl_initialize_btb ()
 
void impl_update_btb (uint64_t ip, uint64_t predicted_target, uint8_t taken, uint8_t branch_type)
 
std::pair< uint64_t, uint8_t > impl_btb_prediction (uint64_t ip)
 
- Public Member Functions inherited from O3_CPU::module_concept
virtual ~module_concept ()=default
 

Public Attributes

O3_CPUintern_
 

Constructor & Destructor Documentation

◆ module_model()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
O3_CPU::module_model< B_FLAG, T_FLAG >::module_model ( O3_CPU core)
inlineexplicit

Member Function Documentation

◆ impl_btb_prediction()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
std::pair<uint64_t, uint8_t> O3_CPU::module_model< B_FLAG, T_FLAG >::impl_btb_prediction ( uint64_t  ip)
virtual

◆ impl_initialize_branch_predictor()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
void O3_CPU::module_model< B_FLAG, T_FLAG >::impl_initialize_branch_predictor ( )
virtual

◆ impl_initialize_btb()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
void O3_CPU::module_model< B_FLAG, T_FLAG >::impl_initialize_btb ( )
virtual

◆ impl_last_branch_result()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
void O3_CPU::module_model< B_FLAG, T_FLAG >::impl_last_branch_result ( uint64_t  ip,
uint64_t  target,
uint8_t  taken,
uint8_t  branch_type 
)
virtual

◆ impl_predict_branch()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
uint8_t O3_CPU::module_model< B_FLAG, T_FLAG >::impl_predict_branch ( uint64_t  ip)
virtual

◆ impl_update_btb()

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
void O3_CPU::module_model< B_FLAG, T_FLAG >::impl_update_btb ( uint64_t  ip,
uint64_t  predicted_target,
uint8_t  taken,
uint8_t  branch_type 
)
virtual

Member Data Documentation

◆ intern_

template<unsigned long long B_FLAG, unsigned long long T_FLAG>
O3_CPU* O3_CPU::module_model< B_FLAG, T_FLAG >::intern_

The documentation for this struct was generated from the following file: