Go to the documentation of this file.
57 Memory(start, end, MAUSize, littleEndian),
58 start_(start), end_(end), MAUSize_(MAUSize),
59 MAUSize3_(MAUSize_ * 3), MAUSize2_(MAUSize_ * 2) {
65 if (
MAUSize_ >=
static_cast<Word
>(std::numeric_limits<Word>::digits)) {
160 const Word index = address -
start_;
175 const Word index = address -
start_;
190 const Word index = address -
start_;
207 const Word index = address -
start_;
237 const Word index = address -
start_;
252 const Word index = address -
start_;
267 const Word index = address -
start_;
284 const Word index = address -
start_;
void fastWrite2MAUsBE(ULongWord address, ULongWord data)
Word MAUSize_
Size of the minimum adressable unit.
void fastRead4MAUsBE(ULongWord address, ULongWord &data)
virtual void fillWithZeros()
void fastWrite4MAUsLE(ULongWord address, ULongWord data)
void fastReadMAU(ULongWord address, ULongWord &data)
void write(ULongWord address, Memory::MAU data) override
void fastWrite4MAUsBE(ULongWord address, ULongWord data)
Word start_
Starting point of the address space.
ValueType readData(IndexType index)
void fastWrite2MAUsLE(ULongWord address, ULongWord data)
void fastRead4MAUsLE(ULongWord address, ULongWord &data)
Memory::MAU read(ULongWord address) override
MinimumAddressableUnit MAU
void fastWriteMAU(ULongWord address, ULongWord data)
virtual void advanceClock()
Word end_
End point of the address space.
void writeBE(ULongWord address, int count, ULongWord data) override
MemoryContents * data_
Contains MAUs of the memory model, that is, the actual data of the memory.
void writeData(IndexType index, const ValueType &data)
virtual void writeBE(ULongWord address, int size, ULongWord data)
Word mask_
Mask bit pattern for unpacking IntWord to MAUs.
Word MAUSize3_
precalculated MAUSize_ * 3
void fastRead2MAUsBE(ULongWord address, ULongWord &data)
virtual ~DirectAccessMemory()
DirectAccessMemory(ULongWord start, ULongWord end, Word MAUSize, bool littleEndian)
void fastRead2MAUsLE(ULongWord address, ULongWord &data)
Word MAUSize2_
precalculated MAUSize_ * 2