|
SST
7.1.0
StructuralSimulationToolkit
|
Simplified, generic interface to Memory models. More...
#include <simpleMem.h>
Data Structures | |
| class | Handler |
| Event Handler class with user-data argument. More... | |
| class | Handler< classT, void > |
| Event Handler class without user-data. More... | |
| class | HandlerBase |
| Functor classes for Clock handling. More... | |
| class | Request |
| Represents both memory requests and responses. More... | |
Public Types | |
| typedef uint64_t | Addr |
| All Addresses can be 64-bit. | |
Public Member Functions | |
| SimpleMem (SST::Component *comp, Params &UNUSED(params)) | |
| Constructor, designed to be used via 'loadSubComponent'. More... | |
| virtual bool | initialize (const std::string &linkName, HandlerBase *handler=NULL)=0 |
| Second half of building the interface. More... | |
| virtual void | sendInitData (Request *req)=0 |
| Sends a memory-based request during the init() phase. | |
| virtual void | sendInitData (SST::Event *ev) |
| Sends a generic Event during the init() phase (Mostly acts as a passthrough) More... | |
| virtual SST::Event * | recvInitData () |
| Receive any data during the init() phase. More... | |
| virtual SST::Link * | getLink (void) const =0 |
| Returns a handle to the underlying SST::Link. | |
| virtual void | sendRequest (Request *req)=0 |
| Send a Request to the other side of the link. | |
| virtual Request * | recvResponse (void)=0 |
| Receive a Request response from the side of the link. More... | |
Public Member Functions inherited from SST::SubComponent | |
| SubComponent (Component *parent) | |
| virtual void | init (unsigned int UNUSED(phase)) override |
| Used during the init phase. More... | |
| virtual void | setup () override |
| Called after all components have been constructed and inialization has completed, but before simulation time has begun. More... | |
| virtual void | finish () override |
| Called after simulation completes, but before objects are destroyed. More... | |
Public Member Functions inherited from SST::BaseComponent | |
| ComponentId_t | getId () const |
| Returns unique component ID. | |
| virtual void | emergencyShutdown (void) |
| Called when SIGINT or SIGTERM has been seen. More... | |
| const std::string & | getName () const |
| Returns component Name. | |
| virtual bool | Status () |
| Currently unused function. | |
| virtual void | printStatus (Output &UNUSED(out)) |
| Called by the Simulation to request that the component print it's current status. More... | |
| bool | isPortConnected (const std::string &name) const |
| Determine if a port name is connected to any links. | |
| Link * | configureLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL) |
| Configure a Link. More... | |
| Link * | configureLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL) |
| Configure a Link. More... | |
| Link * | configureLink (std::string name, Event::HandlerBase *handler=NULL) |
| Configure a Link. More... | |
| Link * | configureSelfLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL) |
| Configure a SelfLink (Loopback link) More... | |
| Link * | configureSelfLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL) |
| Configure a SelfLink (Loopback link) More... | |
| Link * | configureSelfLink (std::string name, Event::HandlerBase *handler=NULL) |
| Configure a SelfLink (Loopback link) More... | |
| TimeConverter * | registerClock (std::string freq, Clock::HandlerBase *handler, bool regAll=true) |
| Registers a clock for this component. More... | |
| TimeConverter * | registerClock (const UnitAlgebra &freq, Clock::HandlerBase *handler, bool regAll=true) |
| void | unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler) |
| Removes a clock handler from the component. | |
| Cycle_t | reregisterClock (TimeConverter *freq, Clock::HandlerBase *handler) |
| Reactivates an existing Clock and Handler. More... | |
| Cycle_t | getNextClockCycle (TimeConverter *freq) |
| Returns the next Cycle that the TimeConverter would fire. | |
| TimeConverter * | registerOneShot (std::string timeDelay, OneShot::HandlerBase *handler) |
| Registers a OneShot event for this component. More... | |
| TimeConverter * | registerOneShot (const UnitAlgebra &timeDelay, OneShot::HandlerBase *handler) |
| TimeConverter * | registerTimeBase (std::string base, bool regAll=true) |
| Registers a default time base for the component and optionally sets the the component's links to that timebase. More... | |
| TimeConverter * | getTimeConverter (const std::string &base) |
| TimeConverter * | getTimeConverter (const UnitAlgebra &base) |
| SimTime_t | getCurrentSimTime (TimeConverter *tc) const |
| return the time since the simulation began in units specified by the parameter. More... | |
| SimTime_t | getCurrentSimTime () const |
| return the time since the simulation began in the default timebase | |
| SimTime_t | getCurrentSimTime (std::string base) |
| return the time since the simulation began in timebase specified More... | |
| SimTime_t | getCurrentSimTimeNano () const |
| Utility function to return the time since the simulation began in nanoseconds. | |
| SimTime_t | getCurrentSimTimeMicro () const |
| Utility function to return the time since the simulation began in microseconds. | |
| SimTime_t | getCurrentSimTimeMilli () const |
| Utility function to return the time since the simulation began in milliseconds. | |
| template<typename T > | |
| Statistic< T > * | registerStatistic (std::string statName, std::string statSubId="") |
| Registers a statistic. More... | |
| template<typename T > | |
| Statistic< T > * | registerStatistic (const char *statName, const char *statSubId="") |
| Module * | loadModule (std::string type, Params ¶ms) |
| Loads a module from an element Library. More... | |
| Module * | loadModuleWithComponent (std::string type, Component *comp, Params ¶ms) |
| Loads a module from an element Library. More... | |
| SubComponent * | loadSubComponent (std::string type, Component *comp, Params ¶ms) |
| Loads a SubComponent from an element Library. More... | |
| SubComponent * | loadNamedSubComponent (std::string name) |
| SubComponent * | loadNamedSubComponent (std::string name, Params ¶ms) |
| SubComponentSlotInfo * | getSubComponentSlotInfo (std::string name, bool fatalOnEmptyIndex=false) |
| const std::vector< double > & | getCoordinates () const |
| Retrieve the X,Y,Z coordinates of this component. | |
Additional Inherited Members | |
Protected Member Functions inherited from SST::SubComponent | |
| Component * | getTrueComponent () const final override |
| BaseComponent * | getStatisticOwner () const final override |
| Returns self if Component If sub-component, returns self if a "modern" subcomponent otherwise, return base component. | |
| SubComponent * | loadSubComponent (std::string type, Params ¶ms) |
| virtual bool | doesComponentInfoStatisticExist (const std::string &statisticName) const final override |
Protected Member Functions inherited from SST::BaseComponent | |
| void | setDefaultTimeBase (TimeConverter *tc) |
| Manually set the default detaulTimeBase. | |
| Link * | selfLink (std::string name, Event::HandlerBase *handler=NULL) |
| Creates a new selfLink. | |
| SharedRegion * | getLocalSharedRegion (const std::string &key, size_t size) |
| Find a lookup table. | |
| SharedRegion * | getGlobalSharedRegion (const std::string &key, size_t size, SharedRegionMerger *merger=NULL) |
| Simulation * | getSimulation () const |
| uint8_t | getComponentInfoStatisticEnableLevel (const std::string &statisticName) const |
| std::string | getComponentInfoStatisticUnits (const std::string &statisticName) const |
Protected Attributes inherited from SST::SubComponent | |
| Component *const | parent |
Protected Attributes inherited from SST::BaseComponent | |
| TimeConverter * | defaultTimeBase |
| Timebase used if no other timebase is specified for calls like BaseComponent::getCurrentSimTime(). More... | |
| ComponentInfo * | my_info |
| Simulation * | sim |
| ComponentInfo * | currentlyLoadingSubComponent |
Simplified, generic interface to Memory models.
|
inline |
Constructor, designed to be used via 'loadSubComponent'.
References initialize(), and sendInitData().
|
pure virtual |
Second half of building the interface.
Intialize with link name name, and handler, if any
Referenced by SimpleMem().
|
inlinevirtual |
Receive any data during the init() phase.
References getLink(), SST::Link::recvInitData(), recvResponse(), and sendRequest().
|
pure virtual |
Receive a Request response from the side of the link.
Use this method for polling-based applications. Register a handler for push-based notification of responses.
Referenced by recvInitData().
|
inlinevirtual |
Sends a generic Event during the init() phase (Mostly acts as a passthrough)
References getLink(), and SST::Link::sendInitData().