Processor Class Reference
#include <processor.h>
Public Member Functions | |
Processor (ArchComponent &c) | |
virtual | ~Processor () |
CString | getType () const |
void | setType (const CString &t) |
CSize | getTimewheelSize () const |
void | setTimewheelSize (const CSize sz) |
CSize | getOccupiedTimeSlice () const |
void | setOccupiedTimeSlice (const CSize sz) |
CSize | getReservedTimeSlice () const |
bool | reserveTimeSlice (CSize sz) |
bool | releaseTimeSlice () |
CSize | availableTimewheelSize () const |
StaticOrderSchedule & | getSchedule () |
void | setSchedule (StaticOrderSchedule &s) |
bool | bindActor (TimedSDFactor *a) |
bool | unbindActor (TimedSDFactor *a) |
CompBindings * | getActorBindings () |
Private Attributes | |
CString | type |
CSize | wheelSize |
CSize | occupiedTimeSlice |
CSize | reservedTimeSlice |
StaticOrderSchedule | schedule |
CompBindings * | actorBindings |
Detailed Description
Processor Container for processor.
Constructor & Destructor Documentation
Processor::Processor | ( | ArchComponent & | c | ) |
Processor () Constructor.
References actorBindings, occupiedTimeSlice, reservedTimeSlice, and wheelSize.
virtual Processor::~Processor | ( | ) | [inline, virtual] |
References actorBindings.
Member Function Documentation
CSize Processor::availableTimewheelSize | ( | ) | const |
availableTimewheelSize () The function returns the available timewheel size.
References occupiedTimeSlice, reservedTimeSlice, and wheelSize.
Referenced by LoadBalanceBinding::allocateResources(), LoadBalanceBinding::changeSlotAllocation(), LoadBalanceBinding::minimizeTimeSlices(), outputSystemUsage(), reserveTimeSlice(), and LoadBalanceBinding::reserveTimeSlices().
bool Processor::bindActor | ( | TimedSDFactor * | a | ) |
bindActor () The function tries to bind an actor to the processor. On success, it returns true and adss a binding of the actor to the resource. On failure, it returns false and it does not change the bindings to the processor.
References actorBindings, CompBindings::bind(), TimedSDFactor::getProcessor(), and getType().
Referenced by LoadBalanceBinding::allocateResources(), and setMappingProcessor().
CompBindings* Processor::getActorBindings | ( | ) | [inline] |
CSize Processor::getOccupiedTimeSlice | ( | ) | const |
getOccupiedTimeSlice () The function returns the size of the time slice occupied by other reservations (i.e. this part of the wheel is not available).
References occupiedTimeSlice.
Referenced by SDFconvertToHTML::convertPlatformUsage().
CSize Processor::getReservedTimeSlice | ( | ) | const |
getReservedTimeSlice () The function returns the size of the time slice reserved for the SDF graph.
References reservedTimeSlice.
Referenced by LoadBalanceBinding::changeSlotAllocation(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::computeScheduleExtensions(), SDFconvertToHTML::convertPlatformMapping(), SDFconvertToHTML::convertPlatformUsage(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::extractActorMapping(), LoadBalanceBinding::minimizeTimeSlices(), LoadBalanceBinding::optimizeTimeSlices(), reserveTimeSlice(), LoadBalanceBinding::reserveTimeSlices(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::traceMessagesPeriodic(), and SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::traceMessagesTransient().
StaticOrderSchedule& Processor::getSchedule | ( | ) | [inline] |
References schedule.
Referenced by LoadBalanceBinding::constructStaticOrderSchedules(), SDFconvertToHTML::convertPlatformMapping(), BindingAwareSDFG::extractActorMapping(), Binding::minimizeStaticOrderSchedules(), LoadBalanceBinding::moveActorBinding(), and LoadBalanceBinding::reconstructStaticOrderSchedules().
CSize Processor::getTimewheelSize | ( | ) | const |
getTimewheelSize () The function returns the size of the TDMA timewheel.
References wheelSize.
Referenced by SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::computeScheduleExtensions(), SDFconvertToHTML::convertPlatformGraph(), SDFconvertToHTML::convertPlatformMapping(), SDFconvertToHTML::convertPlatformUsage(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::extractActorMapping(), LoadBalanceBinding::minimizeTimeSlices(), LoadBalanceBinding::optimizeTimeSlices(), outputSystemUsage(), LoadBalanceBinding::reserveTimeSlices(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::traceMessagesPeriodic(), and SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::traceMessagesTransient().
CString Processor::getType | ( | ) | const [inline] |
References type.
Referenced by LoadBalanceBinding::actorLoadOnTile(), bindActor(), SDFconvertToHTML::convertPlatformGraph(), BindingAwareSDFG::createMappedActorMPFlow(), BindingAwareSDFG::createMappedActorNSoC(), LoadBalanceBinding::sortTilesOnCommunicationOverhead(), and LoadBalanceBinding::sortTilesOnLoad().
bool Processor::releaseTimeSlice | ( | ) |
releaseTimeSlice () The function removes the time slice reservation.
References reservedTimeSlice.
Referenced by LoadBalanceBinding::changeSlotAllocation(), LoadBalanceBinding::releaseResources(), and LoadBalanceBinding::releaseTimeSlices().
bool Processor::reserveTimeSlice | ( | CSize | sz | ) |
reserveTimeSlice () The function tries to reserve a timeslice on the timewheel.
References availableTimewheelSize(), getReservedTimeSlice(), and reservedTimeSlice.
Referenced by LoadBalanceBinding::changeSlotAllocation(), LoadBalanceBinding::minimizeTimeSlices(), LoadBalanceBinding::optimizeTimeSlices(), LoadBalanceBinding::reserveTimeSlices(), and setMappingProcessor().
void Processor::setOccupiedTimeSlice | ( | const CSize | sz | ) |
getOccupiedTimeSlice () The function sets the size of the time slice occupied by other reservations (i.e. this part of the wheel is not available).
References occupiedTimeSlice, and wheelSize.
Referenced by setUsagePlatformGraph().
void Processor::setSchedule | ( | StaticOrderSchedule & | s | ) | [inline] |
References schedule.
Referenced by LoadBalanceBinding::constructStaticOrderSchedules(), LoadBalanceBinding::reconstructStaticOrderSchedules(), and setMappingProcessor().
void Processor::setTimewheelSize | ( | const CSize | sz | ) |
setTimewheelSize () The function sets the size of the TDMA timewheel. The reserved slice is lost.
References occupiedTimeSlice, reservedTimeSlice, and wheelSize.
Referenced by constructPlatformGraph().
void Processor::setType | ( | const CString & | t | ) | [inline] |
References type.
Referenced by constructPlatformGraph().
bool Processor::unbindActor | ( | TimedSDFactor * | a | ) |
unbindActor () The function removes the binding of the actor to the processor.
References actorBindings, and CompBindings::unbind().
Referenced by LoadBalanceBinding::releaseResources().
Member Data Documentation
CompBindings* Processor::actorBindings [private] |
Referenced by bindActor(), Processor(), unbindActor(), and ~Processor().
CSize Processor::occupiedTimeSlice [private] |
Referenced by availableTimewheelSize(), getOccupiedTimeSlice(), Processor(), setOccupiedTimeSlice(), and setTimewheelSize().
CSize Processor::reservedTimeSlice [private] |
Referenced by availableTimewheelSize(), getReservedTimeSlice(), Processor(), releaseTimeSlice(), reserveTimeSlice(), and setTimewheelSize().
StaticOrderSchedule Processor::schedule [private] |
Referenced by getSchedule(), and setSchedule().
CString Processor::type [private] |
CSize Processor::wheelSize [private] |
Referenced by availableTimewheelSize(), getTimewheelSize(), Processor(), setOccupiedTimeSlice(), and setTimewheelSize().
The documentation for this class was generated from the following files: