gem5  v22.0.0.2
Public Member Functions | Public Attributes | List of all members
gem5::branch_prediction::MultiperspectivePerceptron::ThreadData Struct Reference

History data is kept for each thread. More...

#include <multiperspective_perceptron.hh>

Public Member Functions

 ThreadData (int num_filter, int n_local_histories, int local_history_length, int assoc, const std::vector< std::vector< int >> &blurrypath_bits, int path_length, int ghist_length, int block_size, const std::vector< std::vector< std::vector< bool >>> &acyclic_bits, const std::vector< int > &modhist_indices, const std::vector< int > &modhist_lengths, const std::vector< int > &modpath_indices, const std::vector< int > &modpath_lengths, const std::vector< int > &table_sizes, int n_sign_bits)
 
void updateAcyclic (bool hashed_taken, unsigned int hpc)
 
void insertRecency (unsigned int pc, int assoc)
 

Public Attributes

std::vector< FilterEntryfilterTable
 
std::vector< std::vector< bool > > acyclic_histories
 
std::vector< std::vector< unsigned int > > acyclic2_histories
 
std::vector< std::vector< unsigned int > > blurrypath_histories
 
std::vector< unsigned int > ghist_words
 
std::vector< std::vector< unsigned short int > > modpath_histories
 
std::vector< std::vector< bool > > mod_histories
 
std::vector< unsigned short int > path_history
 
std::vector< unsigned int > imli_counter
 
LocalHistories localHistories
 
std::vector< unsigned int short > recency_stack
 
bool last_ghist_bit
 
int occupancy
 
std::vector< int > mpreds
 
std::vector< std::vector< short int > > tables
 
std::vector< std::vector< std::array< bool, 2 > > > sign_bits
 

Detailed Description

History data is kept for each thread.

Definition at line 298 of file multiperspective_perceptron.hh.

Constructor & Destructor Documentation

◆ ThreadData()

gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::ThreadData ( int  num_filter,
int  n_local_histories,
int  local_history_length,
int  assoc,
const std::vector< std::vector< int >> &  blurrypath_bits,
int  path_length,
int  ghist_length,
int  block_size,
const std::vector< std::vector< std::vector< bool >>> &  acyclic_bits,
const std::vector< int > &  modhist_indices,
const std::vector< int > &  modhist_lengths,
const std::vector< int > &  modpath_indices,
const std::vector< int > &  modpath_lengths,
const std::vector< int > &  table_sizes,
int  n_sign_bits 
)

Member Function Documentation

◆ insertRecency()

void gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::insertRecency ( unsigned int  pc,
int  assoc 
)
inline

◆ updateAcyclic()

void gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::updateAcyclic ( bool  hashed_taken,
unsigned int  hpc 
)
inline

Member Data Documentation

◆ acyclic2_histories

std::vector<std::vector<unsigned int> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::acyclic2_histories

Definition at line 313 of file multiperspective_perceptron.hh.

Referenced by ThreadData(), and updateAcyclic().

◆ acyclic_histories

std::vector<std::vector<bool> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::acyclic_histories

Definition at line 312 of file multiperspective_perceptron.hh.

Referenced by ThreadData(), and updateAcyclic().

◆ blurrypath_histories

std::vector<std::vector<unsigned int> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::blurrypath_histories

Definition at line 324 of file multiperspective_perceptron.hh.

Referenced by ThreadData().

◆ filterTable

std::vector<FilterEntry> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::filterTable

Definition at line 311 of file multiperspective_perceptron.hh.

◆ ghist_words

std::vector<unsigned int> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::ghist_words

Definition at line 325 of file multiperspective_perceptron.hh.

◆ imli_counter

std::vector<unsigned int> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::imli_counter

Definition at line 329 of file multiperspective_perceptron.hh.

◆ last_ghist_bit

bool gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::last_ghist_bit

Definition at line 352 of file multiperspective_perceptron.hh.

◆ localHistories

LocalHistories gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::localHistories

Definition at line 330 of file multiperspective_perceptron.hh.

◆ mod_histories

std::vector<std::vector<bool> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::mod_histories

Definition at line 327 of file multiperspective_perceptron.hh.

Referenced by ThreadData().

◆ modpath_histories

std::vector<std::vector<unsigned short int> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::modpath_histories

Definition at line 326 of file multiperspective_perceptron.hh.

Referenced by ThreadData().

◆ mpreds

std::vector<int> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::mpreds

Definition at line 355 of file multiperspective_perceptron.hh.

Referenced by ThreadData().

◆ occupancy

int gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::occupancy

Definition at line 353 of file multiperspective_perceptron.hh.

◆ path_history

std::vector<unsigned short int> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::path_history

Definition at line 328 of file multiperspective_perceptron.hh.

◆ recency_stack

std::vector<unsigned int short> gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::recency_stack

Definition at line 331 of file multiperspective_perceptron.hh.

Referenced by insertRecency().

◆ sign_bits

std::vector<std::vector<std::array<bool, 2> > > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::sign_bits

Definition at line 357 of file multiperspective_perceptron.hh.

Referenced by ThreadData().

◆ tables

std::vector<std::vector<short int> > gem5::branch_prediction::MultiperspectivePerceptron::ThreadData::tables

Definition at line 356 of file multiperspective_perceptron.hh.

Referenced by ThreadData().


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

Generated on Thu Jul 28 2022 13:33:26 for gem5 by doxygen 1.8.17