public final class MemoryStorage extends java.lang.Object implements MemoryDevice
MemoryStorage
implements a memory storage.Constructor and Description |
---|
MemoryStorage(java.math.BigInteger regionCount,
int regionBitSize) |
MemoryStorage(long regionCount,
int regionBitSize) |
MemoryStorage(MemoryStorage other) |
Modifier and Type | Method and Description |
---|---|
static int |
calculateAddressSize(java.math.BigInteger regionCount) |
int |
getAddressBitSize()
Returns the size of address used to perform an access to the memory device.
|
int |
getDataBitSize()
Returns the size of data unit that can be read or written from
the memory device at once.
|
java.lang.String |
getId() |
int |
getRegionBitSize() |
java.math.BigInteger |
getRegionCount() |
boolean |
isAddressCheckNeeded() |
boolean |
isInitialized(ru.ispras.fortress.data.types.bitvector.BitVector address)
Checks whether the specified address location has been initialized.
|
boolean |
isInitialized(int address) |
boolean |
isInitialized(long address) |
boolean |
isReadOnly() |
ru.ispras.fortress.data.types.bitvector.BitVector |
load(ru.ispras.fortress.data.types.bitvector.BitVector address)
Loads data from the given address.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
read(java.math.BigInteger address) |
ru.ispras.fortress.data.types.bitvector.BitVector |
read(ru.ispras.fortress.data.types.bitvector.BitVector address) |
ru.ispras.fortress.data.types.bitvector.BitVector |
read(int address) |
ru.ispras.fortress.data.types.bitvector.BitVector |
read(long address) |
void |
reset() |
void |
store(ru.ispras.fortress.data.types.bitvector.BitVector address,
ru.ispras.fortress.data.types.bitvector.BitVector data)
Stores the specified data at the given address.
|
java.lang.String |
toString() |
void |
write(java.math.BigInteger address,
ru.ispras.fortress.data.types.bitvector.BitVector data) |
void |
write(ru.ispras.fortress.data.types.bitvector.BitVector address,
ru.ispras.fortress.data.types.bitvector.BitVector data) |
void |
write(int address,
ru.ispras.fortress.data.types.bitvector.BitVector data) |
void |
write(long address,
ru.ispras.fortress.data.types.bitvector.BitVector data) |
public MemoryStorage(long regionCount, int regionBitSize)
public MemoryStorage(java.math.BigInteger regionCount, int regionBitSize)
public MemoryStorage(MemoryStorage other)
public int getAddressBitSize()
MemoryDevice
getAddressBitSize
in interface MemoryDevice
public int getDataBitSize()
MemoryDevice
getDataBitSize
in interface MemoryDevice
public ru.ispras.fortress.data.types.bitvector.BitVector load(ru.ispras.fortress.data.types.bitvector.BitVector address)
MemoryDevice
load
in interface MemoryDevice
address
- Load address.MemoryDevice.getDataBitSize()
.public void store(ru.ispras.fortress.data.types.bitvector.BitVector address, ru.ispras.fortress.data.types.bitvector.BitVector data)
MemoryDevice
store
in interface MemoryDevice
address
- Store address.data
- Data of size equal to returned by MemoryDevice.getDataBitSize()
.public static int calculateAddressSize(java.math.BigInteger regionCount)
public java.lang.String getId()
public boolean isReadOnly()
public boolean isAddressCheckNeeded()
public java.math.BigInteger getRegionCount()
public int getRegionBitSize()
public boolean isInitialized(int address)
public boolean isInitialized(long address)
public boolean isInitialized(ru.ispras.fortress.data.types.bitvector.BitVector address)
MemoryDevice
isInitialized
in interface MemoryDevice
address
- Address to be checked.true
is the address location is initialized or false
otherwise.public ru.ispras.fortress.data.types.bitvector.BitVector read(int address)
public ru.ispras.fortress.data.types.bitvector.BitVector read(long address)
public ru.ispras.fortress.data.types.bitvector.BitVector read(java.math.BigInteger address)
public ru.ispras.fortress.data.types.bitvector.BitVector read(ru.ispras.fortress.data.types.bitvector.BitVector address)
public void write(int address, ru.ispras.fortress.data.types.bitvector.BitVector data)
public void write(long address, ru.ispras.fortress.data.types.bitvector.BitVector data)
public void write(java.math.BigInteger address, ru.ispras.fortress.data.types.bitvector.BitVector data)
public void write(ru.ispras.fortress.data.types.bitvector.BitVector address, ru.ispras.fortress.data.types.bitvector.BitVector data)
public void reset()
public java.lang.String toString()
toString
in class java.lang.Object