public final class MemoryUnitedDependency
extends java.lang.Object
Constructor and Description |
---|
MemoryUnitedDependency(java.util.Map<MemoryDependency,java.lang.Integer> dependencies)
Constructs a united dependency.
|
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.Integer> |
getAddrEqualRelation(MmuAddressInstance address)
Returns the address-equal relation for the given address type.
|
java.util.Map<MmuAddressInstance,MemoryUnitedHazard> |
getAddrHazards()
Returns all united hazards over addresses.
|
java.util.Map<MmuBuffer,MemoryUnitedHazard> |
getDeviceHazards()
Returns all united hazards over devices.
|
java.util.Map<MmuBuffer,MemoryUnitedHazard> |
getDeviceHazards(MmuAddressInstance address)
Returns all united hazards over devices with the given address type.
|
MemoryUnitedHazard |
getHazard(MmuAddressInstance address)
Returns the united hazard for the given address.
|
MemoryUnitedHazard |
getHazard(MmuBuffer device)
Returns the united hazard for the given device.
|
java.util.Set<java.lang.Integer> |
getIndexEqualRelation(MmuBuffer device)
Returns the index-equal relation for the given device.
|
java.util.Set<java.lang.Integer> |
getRelation(MmuAddressInstance address,
MemoryHazard.Type hazardType)
Returns the set of execution indices for the given hazard type of the given address.
|
java.util.Set<java.lang.Integer> |
getRelation(MmuBuffer device,
MemoryHazard.Type hazardType)
Returns the set of execution indices for the given hazard type of the given device.
|
java.util.Set<java.lang.Integer> |
getTagEqualRelation(MmuBuffer device)
Returns the tag-equal relation for the given device.
|
java.util.Set<java.lang.Integer> |
getTagReplacedRelation(MmuBuffer device)
Returns the tag-replaced relation for the given device.
|
java.lang.String |
toString() |
public MemoryUnitedDependency(java.util.Map<MemoryDependency,java.lang.Integer> dependencies)
dependencies
- the non-empty set of dependencies to be united, which is represented as a
map with hazards as keys and execution indices as values.public MemoryUnitedHazard getHazard(MmuAddressInstance address)
address
- the address.public java.util.Map<MmuAddressInstance,MemoryUnitedHazard> getAddrHazards()
public MemoryUnitedHazard getHazard(MmuBuffer device)
device
- the device.public java.util.Map<MmuBuffer,MemoryUnitedHazard> getDeviceHazards()
public java.util.Map<MmuBuffer,MemoryUnitedHazard> getDeviceHazards(MmuAddressInstance address)
public java.util.Set<java.lang.Integer> getRelation(MmuAddressInstance address, MemoryHazard.Type hazardType)
hazardType
- the hazard type.public java.util.Set<java.lang.Integer> getRelation(MmuBuffer device, MemoryHazard.Type hazardType)
hazardType
- the hazard type.public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Set<java.lang.Integer> getAddrEqualRelation(MmuAddressInstance address)
Given an execution index j
and an address type a
, the address-equal relation
is a set of execution indices I
such that for each i
in I
,
i < j
and a.address(i) = a.address(j)
.
address
- the address type being used.public java.util.Set<java.lang.Integer> getIndexEqualRelation(MmuBuffer device)
Given an execution index j
and a device d
, the index-equal relation is a set
of execution indices I
such that for each i
in I
, i < j
and
d.index(i) = d.index(j)
.
device
- the device being accessed.public java.util.Set<java.lang.Integer> getTagEqualRelation(MmuBuffer device)
Given an execution index j
and a device d
, the tag-equal relation is a set
of execution indices I
such that for each i
in I
, i < j
and
d.index(i) = d.index(j) & d.tag(i) = d.tag(j)
.
If the device has children (so-called views), the tag-equal relation is supplemented with the children's relations.
device
- the device being accessed.public java.util.Set<java.lang.Integer> getTagReplacedRelation(MmuBuffer device)
Given an execution index j
and a device d
, the tag-replaced relation is a
set of execution indices I
such that |I| <= 1
and for each i
in
I
, i < j
and d.index(i) = d.index(j) & d.tag(j) = replaced(d, i)
.
device
- the device being accessed.