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