Interface SnoopController<E,A>
-
- Type Parameters:
E
- the entry type.A
- the address type.
- All Known Implementing Classes:
CacheLine
,CacheSet
,CacheUnit
,RegisterMapping
public interface SnoopController<E,A>
SnoopController
is an interface of a snoopy cache unit.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ru.ispras.fortress.util.Pair<E,java.lang.Boolean>
snoopEvict(A address, ru.ispras.fortress.data.types.bitvector.BitVector oldEntry)
Snoops an evict transaction from another cache unit.ru.ispras.fortress.util.Pair<E,java.lang.Boolean>
snoopRead(A address, ru.ispras.fortress.data.types.bitvector.BitVector oldEntry, boolean invalidate)
Snoops a read transaction from another cache unit.ru.ispras.fortress.util.Pair<E,java.lang.Boolean>
snoopWrite(A address, ru.ispras.fortress.data.types.bitvector.BitVector newEntry)
Snoops a write transaction from another cache unit.
-
-
-
Method Detail
-
snoopRead
ru.ispras.fortress.util.Pair<E,java.lang.Boolean> snoopRead(A address, ru.ispras.fortress.data.types.bitvector.BitVector oldEntry, boolean invalidate)
Snoops a read transaction from another cache unit.- Parameters:
address
- the address used in the transaction.oldEntry
- the entry in the cache ornull
.invalidate
- the invalidation flag.- Returns:
- the local entry w/ the dirty bit or
null
.
-
snoopWrite
ru.ispras.fortress.util.Pair<E,java.lang.Boolean> snoopWrite(A address, ru.ispras.fortress.data.types.bitvector.BitVector newEntry)
Snoops a write transaction from another cache unit.- Parameters:
address
- the address used in the transaction.newEntry
- the updated entry ornull
.- Returns:
- the local entry w/ the dirty bit or
null
.
-
snoopEvict
ru.ispras.fortress.util.Pair<E,java.lang.Boolean> snoopEvict(A address, ru.ispras.fortress.data.types.bitvector.BitVector oldEntry)
Snoops an evict transaction from another cache unit.- Parameters:
address
- the address used in the transaction.oldEntry
- the entry being evicted.- Returns:
- the local entry w/ the dirty bit or
null
.
-
-