Otawa
0.10
|
#include <otawa/exegraph/Microprocessor.h>
Classes | |
class | PipelineIterator |
class | QueueIterator |
Public Member Functions | |
Microprocessor (void) | |
Build an empty microprocessor. More... | |
Microprocessor (const hard::Processor *proc) | |
Build a microprocessor for ExeGraph from the abstract definition provided by OTAWA. More... | |
PipelineStage< N > * | addPipelineStage (typename PipelineStage< N >::pipeline_info_t &info) |
Queue< N > * | addQueue (elm::String name, int size) |
void | dump (elm::io::Output &out_stream) |
Dump the description of the microprocessor. More... | |
int | getPipelineStageIndex () |
void | setOperandReadingStage (PipelineStage< N > *stage) |
void | setOperandProducingStage (PipelineStage< N > *stage) |
PipelineStage< N > * | operandReadingStage (void) |
PipelineStage< N > * | operandProducingStage (void) |
bool | isLastStage (PipelineStage< N > *stage) |
Private Attributes | |
elm::genstruct::Vector< Queue < N > * > | _queues |
elm::genstruct::Vector < PipelineStage< N > * > | _pipeline |
int | _pipeline_stage_index |
PipelineStage< N > * | _operand_reading_stage |
PipelineStage< N > * | _operand_producing_stage |
otawa::Microprocessor< N >::Microprocessor | ( | void | ) |
Build an empty microprocessor.
otawa::Microprocessor< N >::Microprocessor | ( | const hard::Processor * | proc | ) |
Build a microprocessor for ExeGraph from the abstract definition provided by OTAWA.
proc | OTAWA abstract processor definition. |
References elm::genstruct::Vector< T >::add(), otawa::Microprocessor< N >::addPipelineStage(), otawa::Microprocessor< N >::addQueue(), otawa::hard::Stage::COMMIT, otawa::PipelineStage< N >::pipeline_info_t::destination_queue, otawa::hard::Stage::EXEC, otawa::hard::Stage::FETCH, otawa::hard::Processor::getQueues(), otawa::hard::Processor::getStages(), otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::is_pipelined, otawa::hard::Stage::LAZY, otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::max_latency, otawa::PipelineStage< N >::pipeline_info_t::max_latency, otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::min_latency, otawa::PipelineStage< N >::pipeline_info_t::min_latency, otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::name, otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::order_policy, otawa::PipelineStage< N >::pipeline_info_t::order_policy, otawa::Microprocessor< N >::setOperandProducingStage(), otawa::Microprocessor< N >::setOperandReadingStage(), otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::short_name, otawa::PipelineStage< N >::pipeline_info_t::source_queue, otawa::PipelineStage< N >::pipeline_info_t::stage_category, otawa::PipelineStage< N >::pipeline_info_t::stage_name, otawa::PipelineStage< N >::pipeline_info_t::stage_short_name, otawa::PipelineStage< N >::pipeline_info_t::stage_width, and otawa::PipelineStage< N >::FunctionalUnit::fu_info_t::width.
|
inline |
Referenced by otawa::Microprocessor< N >::Microprocessor().
|
inline |
References otawa::PipelineStage< N >::name().
Referenced by otawa::Microprocessor< N >::Microprocessor().
void otawa::Microprocessor< N >::dump | ( | elm::io::Output & | out_stream | ) |
Dump the description of the microprocessor.
out_stream | Used output stream. |
References otawa::INST_CATEGORY_NUMBER.
|
inline |
Referenced by otawa::PipelineStage< N >::PipelineStage().
|
inline |
|
inline |
Referenced by otawa::ExeGraph< N >::build(), and otawa::ParamExeGraph::ParamExeGraph().
|
inline |
Referenced by otawa::ExeGraph< N >::build().
|
inline |
Referenced by otawa::Microprocessor< N >::Microprocessor().
|
inline |
Referenced by otawa::Microprocessor< N >::Microprocessor().
|
private |
|
private |
|
private |
|
private |
|
private |