Otawa
0.10
|
#include <otawa/exegraph/Microprocessor.h>
Classes | |
class | ExeNodeIterator |
class | FunctionalUnit |
struct | pipeline_info_t |
Public Types | |
enum | order_policy_t { NO_POLICY = 0, IN_ORDER = 1, OUT_OF_ORDER = 2, NUMBER_OF_POLICIES =3 } |
enum | pipeline_stage_category_t { NO_CATEGORY = 0, FETCH = 1, DECODE = 2, EXECUTE = 3, WRITE = 4, COMMIT =5, DELAY =6, NUMBER_OF_CATEGORIES =7 } |
typedef enum otawa::PipelineStage::order_policy_t | order_policy_t |
typedef enum otawa::PipelineStage::pipeline_stage_category_t | pipeline_stage_category_t |
typedef struct otawa::PipelineStage::pipeline_info_t | pipeline_info_t |
Public Member Functions | |
PipelineStage (pipeline_info_t &info, Microprocessor< N > *proc) | |
order_policy_t | orderPolicy (void) |
int | width (void) const |
elm::String | name (void) |
elm::String | shortName (void) |
pipeline_stage_category_t | category (void) |
elm::String | categoryString (void) |
elm::String | orderPolicyString (void) |
Queue< N > * | sourceQueue (void) |
Queue< N > * | destinationQueue (void) |
int | index (void) |
int | minLatency (void) |
int | maxLatency (void) |
FunctionalUnit * | addFunctionalUnit (typename PipelineStage< N >::FunctionalUnit::fu_info_t &fu_info) |
bool | usesFunctionalUnits (void) |
void | addNode (N *node) |
void | deleteNodes () |
int | numberOfNodes () |
N * | node (int index) |
elm::genstruct::Vector < FunctionalUnit * > & | getFUs (void) |
void | addBinding (Inst::kind_t kind, FunctionalUnit *fu) |
FunctionalUnit * | findFU (Inst::kind_t kind) |
Private Attributes | |
pipeline_info_t | _info |
bool | _uses_fus |
Vector< Pair< Inst::kind_t, FunctionalUnit * > > | bindings |
elm::genstruct::Vector < FunctionalUnit * > | fus |
int | _index |
Microprocessor< N > * | _processor |
elm::genstruct::Vector< N * > | _nodes |
StringBuffer | _category_name [NUMBER_OF_CATEGORIES] |
StringBuffer | _order_name [NUMBER_OF_POLICIES] |
typedef enum otawa::PipelineStage::order_policy_t otawa::PipelineStage< N >::order_policy_t |
typedef struct otawa::PipelineStage::pipeline_info_t otawa::PipelineStage< N >::pipeline_info_t |
typedef enum otawa::PipelineStage::pipeline_stage_category_t otawa::PipelineStage< N >::pipeline_stage_category_t |
enum otawa::PipelineStage::order_policy_t |
enum otawa::PipelineStage::pipeline_stage_category_t |
|
inline |
References otawa::PipelineStage< N >::_category_name, otawa::PipelineStage< N >::_index, otawa::PipelineStage< N >::_order_name, otawa::PipelineStage< N >::COMMIT, otawa::PipelineStage< N >::DECODE, otawa::PipelineStage< N >::DELAY, otawa::PipelineStage< N >::EXECUTE, otawa::PipelineStage< N >::FETCH, otawa::Microprocessor< N >::getPipelineStageIndex(), otawa::PipelineStage< N >::IN_ORDER, otawa::PipelineStage< N >::NO_CATEGORY, otawa::PipelineStage< N >::NO_POLICY, otawa::PipelineStage< N >::OUT_OF_ORDER, and otawa::PipelineStage< N >::WRITE.
Referenced by otawa::PipelineStage< N >::FunctionalUnit::FunctionalUnit().
|
inline |
PipelineStage< N >::FunctionalUnit * otawa::PipelineStage< N >::addFunctionalUnit | ( | typename PipelineStage< N >::FunctionalUnit::fu_info_t & | fu_info | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by otawa::ExeGraph< N >::build().
|
inline |
Referenced by otawa::ExeGraph< N >::ExeNode::ExeNode().
|
inline |
Referenced by otawa::ExeGraph< N >::ExeNode::ExeNode(), and otawa::LiExeNode::LiExeNode().
|
inline |
Referenced by otawa::Microprocessor< N >::addQueue().
|
inline |
Referenced by otawa::ParamExeGraph::initDelays().
|
inline |
Referenced by otawa::ParamExeGraph::analyzeContentions().
|
inline |
|
inline |
|
inline |
Referenced by otawa::ExeGraph< N >::ExeNode::ExeNode().
|
inline |
|
inline |
|
inline |
Referenced by otawa::ParamExeGraph::analyzeContentions(), and otawa::ExeGraph< N >::build().
|
private |
Referenced by otawa::PipelineStage< N >::PipelineStage().
|
private |
Referenced by otawa::PipelineStage< N >::PipelineStage().
|
private |
|
private |
|
private |
Referenced by otawa::PipelineStage< N >::PipelineStage().
|
private |
|
private |
|
private |
|
private |