Otawa
0.10
|
This class contains all information about the Branch History Predictor, that is,. More...
#include <otawa/hard/BHT.h>
Public Types | |
enum | replace_policy_t { NONE = 0, OTHER = 1, LRU = 2, RANDOM = 3, FIFO = 4, PLRU = 5 } |
typedef enum otawa::hard::PureCache::replace_policy_t | replace_policy_t |
Public Member Functions | |
BHT (void) | |
virtual | ~BHT (void) |
void | setCondPenalty (int time) |
void | setIndirectPenalty (int time) |
void | setCondIndirectPenalty (int time) |
void | setDefaultPrediction (int def) |
int | getCondPenalty (void) const |
int | getIndirectPenalty (void) const |
int | getCondIndirectPenalty (void) const |
int | getDefaultPrediction (void) const |
ot::size | cacheSize (void) const |
ot::size | blockSize (void) const |
int | wayCount (void) const |
int | rowCount (void) const |
int | blockCount (void) const |
replace_policy_t | replacementPolicy (void) const |
int | blockBits (void) const |
int | rowBits (void) const |
int | tagBits (void) const |
int | wayBits (void) const |
ot::mask | blockMask (void) const |
ot::mask | lineMask (void) const |
ot::mask | tagMask (void) const |
ot::mask | offset (address_t addr) const |
ot::mask | line (address_t addr) const |
ot::mask | tag (address_t addr) const |
ot::mask | block (address_t addr) const |
void | setBlockBits (int block_bits) |
void | setRowBits (int set_bits) |
Set the row count as a number of bits. More... | |
void | setWayBits (int way_bits) |
Set the way count as a number of bits. More... | |
void | setReplacePolicy (replace_policy_t replace) |
Set the replace policy of the cache. More... | |
Public Attributes | |
int | block_bits |
int | row_bits |
int | way_bits |
replace_policy_t | replace |
Private Member Functions | |
SERIALIZABLE (BHT, ELM_BASE(PureCache)&DFIELD(cond_penalty, 10)&DFIELD(indirect_penalty, 10)&DFIELD(cond_indirect_penalty, 10)&) | |
Private Attributes | |
int | cond_penalty |
int | indirect_penalty |
int | cond_indirect_penalty |
int | def_predict |
This class contains all information about the Branch History Predictor, that is,.
|
inherited |
|
inherited |
|
inline |
|
inlinevirtual |
References otawa::hard::PureCache::blockBits(), and otawa::Address::offset().
|
inlineinherited |
References otawa::hard::PureCache::block_bits.
Referenced by otawa::hard::PureCache::block(), otawa::hard::PureCache::blockSize(), otawa::hard::PureCache::cacheSize(), otawa::hard::PureCache::line(), otawa::hard::PureCache::lineMask(), otawa::hard::PureCache::tag(), and otawa::hard::PureCache::tagBits().
|
inlineinherited |
References otawa::hard::PureCache::row_bits, and otawa::hard::PureCache::way_bits.
|
inlineinherited |
References otawa::hard::PureCache::blockSize().
Referenced by otawa::hard::PureCache::offset(), and otawa::hard::PureCache::tagMask().
|
inlineinherited |
References otawa::hard::PureCache::blockBits().
Referenced by otawa::hard::PureCache::blockMask().
|
inlineinherited |
|
inline |
References cond_indirect_penalty.
|
inline |
References cond_penalty.
Referenced by otawa::etime::StandardEventBuilder::handleVariableBranchPred(), and otawa::etime::StandardEventBuilder::processBB().
|
inline |
References def_predict.
|
inline |
References indirect_penalty.
|
inlineinherited |
References otawa::hard::PureCache::blockBits(), and otawa::hard::PureCache::rowCount().
Referenced by otawa::hard::PureCache::line(), and otawa::hard::PureCache::tagMask().
References otawa::hard::PureCache::blockMask(), and otawa::Address::offset().
|
inlineinherited |
References otawa::hard::PureCache::replace.
|
inlineinherited |
|
inlineinherited |
References otawa::hard::PureCache::rowBits().
Referenced by otawa::hard::PureCache::lineMask().
|
private |
|
inherited |
|
inline |
References cond_indirect_penalty.
|
inline |
References cond_penalty.
|
inline |
References def_predict.
|
inline |
References indirect_penalty.
|
inherited |
Set the replace policy of the cache.
replace | Replace policy, one of OTHER, LRU, RANDOM, FIFO, PLRU. |
|
inherited |
Set the row count as a number of bits.
The actual row count is 1 << row_bits.
row_bits | Row count in bits. |
|
inherited |
Set the way count as a number of bits.
The actual way count is 1 << way_bits.
way_bits | Way count in bits. |
|
inlineinherited |
References otawa::hard::PureCache::blockBits(), and otawa::hard::PureCache::rowBits().
|
inlineinherited |
References otawa::hard::PureCache::blockMask(), and otawa::hard::PureCache::lineMask().
|
inlineinherited |
References otawa::hard::PureCache::way_bits.
Referenced by otawa::hard::PureCache::cacheSize(), and otawa::hard::PureCache::wayCount().
|
inlineinherited |
References otawa::hard::PureCache::wayBits().
|
inherited |
Referenced by otawa::hard::PureCache::blockBits().
|
private |
Referenced by getCondIndirectPenalty(), and setCondIndirectPenalty().
|
private |
Referenced by getCondPenalty(), and setCondPenalty().
|
private |
Referenced by getDefaultPrediction(), and setDefaultPrediction().
|
private |
Referenced by getIndirectPenalty(), and setIndirectPenalty().
|
inherited |
Referenced by otawa::hard::PureCache::replacementPolicy().
|
inherited |
Referenced by otawa::hard::PureCache::blockCount(), and otawa::hard::PureCache::rowBits().
|
inherited |
Referenced by otawa::hard::PureCache::blockCount(), and otawa::hard::PureCache::wayBits().