Modifier and Type | Class and Description |
---|---|
static class |
MmuBuffer.Kind
Describes buffer type.
|
Constructor and Description |
---|
MmuBuffer(java.lang.String name,
MmuBuffer.Kind kind,
long ways,
long sets,
MmuAddressInstance address,
ru.ispras.fortress.expression.Node tagExpression,
ru.ispras.fortress.expression.Node indexExpression,
ru.ispras.fortress.expression.Node offsetExpression,
java.util.Collection<MmuBinding> matchBindings,
boolean replaceable,
MmuBuffer parent) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
MmuAddressInstance |
getAddress()
Returns the input parameter.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
getAddress(ru.ispras.fortress.data.types.bitvector.BitVector tag,
ru.ispras.fortress.data.types.bitvector.BitVector index,
ru.ispras.fortress.data.types.bitvector.BitVector offset)
Returns the address for the given tag, index and offset.
|
AddressView<ru.ispras.fortress.data.types.bitvector.BitVector> |
getAddressView()
Returns the address view.
|
java.util.List<MmuBuffer> |
getChildren() |
ru.ispras.fortress.data.types.bitvector.BitVector |
getIndex(ru.ispras.fortress.data.types.bitvector.BitVector address)
Returns the address index.
|
ru.ispras.fortress.expression.Node |
getIndexExpression()
Returns the index calculation function.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
getIndexMask() |
MmuBuffer.Kind |
getKind()
Returns buffer kind (whether it is stand-alone, mapped to memory/register).
|
java.util.Collection<MmuBinding> |
getMatchBindings() |
ru.ispras.fortress.data.types.bitvector.BitVector |
getOffset(ru.ispras.fortress.data.types.bitvector.BitVector address)
Returns the address offset.
|
ru.ispras.fortress.expression.Node |
getOffsetExpression()
Returns the offset calculation function.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
getOffsetMask() |
MmuBuffer |
getParent() |
long |
getSets()
Returns the number of sets.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
getTag(ru.ispras.fortress.data.types.bitvector.BitVector address)
Returns the address tag.
|
ru.ispras.fortress.expression.Node |
getTagExpression()
Returns the tag calculation function.
|
ru.ispras.fortress.data.types.bitvector.BitVector |
getTagMask() |
long |
getWays()
Returns the number of ways (associativity).
|
int |
hashCode() |
boolean |
isFake() |
boolean |
isParent() |
boolean |
isReplaceable()
Checks whether the buffer support data replacement.
|
boolean |
isView() |
protected void |
setMatchBindings(java.util.Collection<MmuBinding> matchBindings) |
java.lang.String |
toString() |
addField, addField, bindings, getBitSize, getBuffer, getFieldCount, getFields, getInstance, getName, setBuffer
public MmuBuffer(java.lang.String name, MmuBuffer.Kind kind, long ways, long sets, MmuAddressInstance address, ru.ispras.fortress.expression.Node tagExpression, ru.ispras.fortress.expression.Node indexExpression, ru.ispras.fortress.expression.Node offsetExpression, java.util.Collection<MmuBinding> matchBindings, boolean replaceable, MmuBuffer parent)
public final MmuBuffer.Kind getKind()
public final long getWays()
public final long getSets()
public final MmuAddressInstance getAddress()
public final ru.ispras.fortress.data.types.bitvector.BitVector getAddress(ru.ispras.fortress.data.types.bitvector.BitVector tag, ru.ispras.fortress.data.types.bitvector.BitVector index, ru.ispras.fortress.data.types.bitvector.BitVector offset)
tag
- the tag.index
- the index.offset
- the offset.public final ru.ispras.fortress.expression.Node getTagExpression()
public final ru.ispras.fortress.expression.Node getIndexExpression()
public final ru.ispras.fortress.expression.Node getOffsetExpression()
public final java.util.Collection<MmuBinding> getMatchBindings()
protected final void setMatchBindings(java.util.Collection<MmuBinding> matchBindings)
public final AddressView<ru.ispras.fortress.data.types.bitvector.BitVector> getAddressView()
public final ru.ispras.fortress.data.types.bitvector.BitVector getTag(ru.ispras.fortress.data.types.bitvector.BitVector address)
address
- the address.public final ru.ispras.fortress.data.types.bitvector.BitVector getIndex(ru.ispras.fortress.data.types.bitvector.BitVector address)
address
- the address.public final ru.ispras.fortress.data.types.bitvector.BitVector getOffset(ru.ispras.fortress.data.types.bitvector.BitVector address)
address
- the address.public final ru.ispras.fortress.data.types.bitvector.BitVector getTagMask()
public final ru.ispras.fortress.data.types.bitvector.BitVector getIndexMask()
public final ru.ispras.fortress.data.types.bitvector.BitVector getOffsetMask()
public final boolean isFake()
public final boolean isReplaceable()
true
if the buffer supports data replacement; false
otherwise.public final boolean isView()
public final MmuBuffer getParent()
public final boolean isParent()
public final java.util.List<MmuBuffer> getChildren()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object