Go to the documentation of this file.
34 #ifndef TTA_MEMORY_SYSTEM_HH
35 #define TTA_MEMORY_SYSTEM_HH
40 #include <boost/shared_ptr.hpp>
92 typedef std::map<const TTAMachine::AddressSpace*, MemoryPtr>
MemoryMap;
MemoryContainer sharedMemories_
All memories shared between multiple cores.
void addAddressSpace(const TTAMachine::AddressSpace &as, MemoryPtr mem, bool shared=true)
TTAMachine::Machine * machine
the architecture definition of the estimated processor
void fillAllMemoriesWithZero()
const TTAMachine::Machine * machine_
Machine in which MemorySystem belongs to.
MemorySystem(const TTAMachine::Machine &machine)
const MemoryPtr memoryConst(const TTAMachine::AddressSpace &as) const
boost::shared_ptr< Memory > MemoryPtr
void advanceClockOfLocalMemories()
unsigned int memoryCount() const
void advanceClockOfSharedMemories()
void deleteSharedMemories()
MemoryContainer localMemories_
All private/local memories used by a single core only.
void shareMemoriesWith(MemorySystem &other)
bool hasMemory(const TCEString &aSpaceName) const
std::vector< MemoryPtr > MemoryContainer
Container for memory instances for faster traversal.
MemoryContainer replacedSharedMemories_
Shared memories which have been replaced with a shared memory from another core. Just for garbage rem...
MemoryContainer memoryList_
List of all the memories for faster traversal.
std::map< const TTAMachine::AddressSpace *, MemoryPtr > MemoryMap
Maps address spaces to memory instances.
MemoryPtr memory(const TTAMachine::AddressSpace &as)
MemoryMap memories_
Contains all memories indexed by AddressSpaces.
MemorySystem & operator=(const MemorySystem &)
Assignment not allowed.
const TTAMachine::AddressSpace & addressSpace(unsigned int i)