Otawa
0.10
|
A functional unit is specialized in the computation of some kinds of instructions. More...
#include <otawa/hard/Processor.h>
Public Member Functions | |
FunctionalUnit (void) | |
virtual | ~FunctionalUnit (void) |
bool | isPipelined (void) 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::FunctionalUnit, BASE(otawa::hard::PipelineUnit)&FIELD(pipelined)) | |
Private Attributes | |
bool | pipelined |
Friends | |
class | FunctionalUnitBuilder |
A functional unit is specialized in the computation of some kinds of instructions.
They are contained in a stage (otawa::hard::Stage) of type EXEC. The selection of a functional unit is performed thanks to the otawa::hard::Dispatch objects provided in the execution stage.
A functional unit is defined by:
|
inline |
|
inlinevirtual |
|
inlineinherited |
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References name.
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References width().
Referenced by otawa::ParExeProc::ParExeProc().
|
inlineinherited |
References otawa::sem::branch().
|
inlineinherited |
|
inline |
Referenced by otawa::ParExeProc::ParExeProc().
|
private |
|
friend |
|
protectedinherited |
|
protectedinherited |
Referenced by otawa::hard::FunctionalUnitBuilder::latency(), and otawa::hard::StageBuilder::latency().
|
protectedinherited |
|
protectedinherited |
|
private |
Referenced by otawa::hard::FunctionalUnitBuilder::pipelined().
|
protectedinherited |
Referenced by otawa::hard::FunctionalUnitBuilder::width(), and otawa::hard::StageBuilder::width().