Otawa
0.10
|
This class represents a stage in a pipeline. More...
#include <otawa/hard/Processor.h>
Public Types | |
enum | type_t { NONE = 0, FETCH, LAZY, EXEC, COMMIT, DECOMP } |
typedef enum otawa::hard::Stage::type_t | type_t |
Public Member Functions | |
Stage (type_t _type=NONE) | |
virtual | ~Stage (void) |
type_t | getType (void) const |
const Table< FunctionalUnit * > & | getFUs (void) const |
const Table< Dispatch * > & | getDispatch (void) const |
bool | isOrdered (void) const |
template<class T > | |
T | select (Inst *inst, const T table[]) const |
template<class T > | |
T | select (Inst::kind_t kind, const T table[]) const |
elm::String | getName (void) const |
int | getLatency (void) const |
int | getWidth (void) const |
bool | isBranch (void) const |
bool | isMem (void) const |
Protected Attributes | |
string | name |
int | latency |
int | width |
bool | branch |
bool | mem |
Private Member Functions | |
SERIALIZABLE (otawa::hard::Stage, BASE(otawa::hard::PipelineUnit)&FIELD(type)&FIELD(fus)&FIELD(dispatch)&FIELD(ordered)) | |
Private Attributes | |
type_t | type |
AllocatedTable< FunctionalUnit * > | fus |
AllocatedTable< Dispatch * > | dispatch |
bool | ordered |
Friends | |
class | StageBuilder |
This class represents a stage in a pipeline.
The stages have a type:
The stages are described by the following attributes:
typedef enum otawa::hard::Stage::type_t otawa::hard::Stage::type_t |
|
inlinevirtual |
Referenced by otawa::ParExeProc::ParExeProc().
|
inline |
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References name.
Referenced by otawa::ParExeProc::ParExeProc().
|
inline |
References otawa::type().
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References width().
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References otawa::sem::branch().
|
inlineinherited |
|
inline |
|
inline |
References otawa::Inst::kind().
|
inline |
|
private |
|
friend |
|
protectedinherited |
|
private |
Referenced by otawa::hard::StageBuilder::complete().
|
private |
Referenced by otawa::hard::StageBuilder::complete().
|
protectedinherited |
Referenced by otawa::hard::FunctionalUnitBuilder::latency(), and otawa::hard::StageBuilder::latency().
|
protectedinherited |
|
protectedinherited |
|
private |
Referenced by otawa::hard::StageBuilder::ordered().
|
private |
Referenced by otawa::hard::StageBuilder::type().
|
protectedinherited |
Referenced by otawa::hard::FunctionalUnitBuilder::width(), and otawa::hard::StageBuilder::width().