34#ifndef TTA_DIRECT_ACCESS_MEMORY_HH
35#define TTA_DIRECT_ACCESS_MEMORY_HH
60 Word
MAUSize,
bool littleEndian);
Memory::MAU read(ULongWord address) override
DirectAccessMemory & operator=(const DirectAccessMemory &)
Assignment not allowed.
void fastRead4MAUsBE(ULongWord address, ULongWord &data)
void writeBE(ULongWord address, int count, ULongWord data) override
Word MAUSize_
Size of the minimum adressable unit.
void fastWrite2MAUsBE(ULongWord address, ULongWord data)
void fastWrite4MAUsBE(ULongWord address, ULongWord data)
void fastWriteMAU(ULongWord address, ULongWord data)
DirectAccessMemory(const DirectAccessMemory &)
Copying not allowed.
void fastRead2MAUsLE(ULongWord address, ULongWord &data)
Word start_
Starting point of the address space.
virtual void fillWithZeros()
virtual ~DirectAccessMemory()
Word end_
End point of the address space.
Word mask_
Mask bit pattern for unpacking IntWord to MAUs.
Word MAUSize2_
precalculated MAUSize_ * 2
void fastRead2MAUsBE(ULongWord address, ULongWord &data)
void fastWrite4MAUsLE(ULongWord address, ULongWord data)
void fastReadMAU(ULongWord address, ULongWord &data)
void fastRead4MAUsLE(ULongWord address, ULongWord &data)
void write(ULongWord address, Memory::MAU data) override
Word wordSize_
Size of the natural word as MAUs.
void fastWrite2MAUsLE(ULongWord address, ULongWord data)
MemoryContents * data_
Contains MAUs of the memory model, that is, the actual data of the memory.
Word MAUSize3_
precalculated MAUSize_ * 3
virtual void advanceClock()
virtual void write(ULongWord address, MAU data)=0
virtual Memory::MAU read(ULongWord address)=0
virtual ULongWord MAUSize()
virtual ULongWord start()
MinimumAddressableUnit MAU