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.Objectpublic 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.