Otawa  0.10
otawa::hard::Processor Class Reference

Description of a processor pipeline. More...

#include <otawa/hard/Processor.h>

Public Member Functions

 Processor (void)
 
virtual ~Processor (void)
 
elm::String getArch (void) const
 
elm::String getModel (void) const
 
elm::String getBuilder (void) const
 
const Table< Stage * > & getStages (void) const
 
const Table< Queue * > & getQueues (void) const
 
t::uint64 getFrequency (void) const
 

Static Public Member Functions

static Processorload (const elm::system::Path &path) throw (LoadException)
 Load a processor descriptor from the given file. More...
 
static Processorload (xom::Element *element) throw (LoadException)
 Load a processor description from an XML element. More...
 

Static Public Attributes

static const Processor null
 

Private Member Functions

FIELD (builder)&FIELD(stages)&FIELD(queues)&FIELD(frequency))
 

Private Attributes

elm::String arch
 
elm::String model
 
elm::String builder
 
AllocatedTable< Stage * > stages
 
AllocatedTable< Queue * > queues
 
t::uint64 frequency
 

Friends

class ProcessorBuilder
 

Detailed Description

Description of a processor pipeline.

A pipeline is viewed as a collection of stages (otawa::hard::Stage) separated by instructions queues (otawa::hard::Queue).

Constructor & Destructor Documentation

otawa::hard::Processor::Processor ( void  )
inline
virtual otawa::hard::Processor::~Processor ( void  )
inlinevirtual

Member Function Documentation

& otawa::hard::Processor::FIELD ( builder  )
private
elm::String otawa::hard::Processor::getArch ( void  ) const
inline
elm::String otawa::hard::Processor::getBuilder ( void  ) const
inline
t::uint64 otawa::hard::Processor::getFrequency ( void  ) const
inline
elm::String otawa::hard::Processor::getModel ( void  ) const
inline
const Table<Queue *>& otawa::hard::Processor::getQueues ( void  ) const
inline
const Table<Stage *>& otawa::hard::Processor::getStages ( void  ) const
inline
hard::Processor * otawa::hard::Processor::load ( const elm::system::Path &  path)
throw (LoadException
)
static

Load a processor descriptor from the given file.

Parameters
pathPath to the file.
Exceptions
LoadExceptionThrown if an error is found.

References cerr, elm::serial2::XOMUnserializer::flush(), and elm::MessageException::message().

Referenced by otawa::hard::Platform::loadProcessor().

hard::Processor * otawa::hard::Processor::load ( xom::Element element)
throw (LoadException
)
static

Load a processor description from an XML element.

Parameters
elementXML element to load from.
Exceptions
LoadExceptionThrown if an error is found.

References elm::serial2::XOMUnserializer::flush(), and elm::Exception::message().

Friends And Related Function Documentation

friend class ProcessorBuilder
friend

Member Data Documentation

elm::String otawa::hard::Processor::arch
private
elm::String otawa::hard::Processor::builder
private
t::uint64 otawa::hard::Processor::frequency
private
elm::String otawa::hard::Processor::model
private
const Processor otawa::hard::Processor::null
static
AllocatedTable<Queue *> otawa::hard::Processor::queues
private
AllocatedTable<Stage *> otawa::hard::Processor::stages
private

The documentation for this class was generated from the following files: