- java.lang.Object
-
- ru.ispras.microtesk.mmu.model.sim.CacheUnit<E,A>
-
- ru.ispras.microtesk.mmu.model.sim.RegisterMapping<E,A>
-
- Type Parameters:
E
- the entry type.A
- the address type.
- All Implemented Interfaces:
Buffer<E,A>
,BufferObserver
,ReplaceableBuffer<E,A>
,SnoopController<E,A>
,ModelStateManager
public abstract class RegisterMapping<E extends Struct<?>,A extends Address<?>> extends CacheUnit<E,A>
RegisterMapping
implements a register-mapped buffer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ru.ispras.microtesk.mmu.model.sim.CacheUnit
CacheUnit.Proxy
-
-
Constructor Summary
Constructors Constructor Description RegisterMapping(Struct<E> entryCreator, Address<A> addressCreator, java.lang.String name, java.math.BigInteger length, int associativity, CachePolicy policy, Indexer<A> indexer, Matcher<E,A> matcher)
Constructs a register-mapped buffer of the given length and associativity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CacheSet<E,A>
newSet(ru.ispras.fortress.data.types.bitvector.BitVector index)
Creates a new set (can be overridden in a subclass).void
resetState()
Resets the state of the buffer.void
setUseTempState(boolean value)
-
Methods inherited from class ru.ispras.microtesk.mmu.model.sim.CacheUnit
addNeighbor, allocEntry, evictEntry, getNext, isHit, isHit, readEntry, readEntry, seeEntry, snoopEvict, snoopRead, snoopWrite, toString, writeEntry, writeEntry, writeEntry
-
-
-
-
Constructor Detail
-
RegisterMapping
public RegisterMapping(Struct<E> entryCreator, Address<A> addressCreator, java.lang.String name, java.math.BigInteger length, int associativity, CachePolicy policy, Indexer<A> indexer, Matcher<E,A> matcher)
Constructs a register-mapped buffer of the given length and associativity.- Parameters:
entryCreator
- the entry creator.addressCreator
- the address creator.name
- the name of the register file mapped to the buffer.length
- the number of sets in the buffer.associativity
- the number of lines in each set.policy
- the cache policy.indexer
- the set indexer.matcher
- the line matcher.
-
-
Method Detail
-
newSet
protected CacheSet<E,A> newSet(ru.ispras.fortress.data.types.bitvector.BitVector index)
Description copied from class:CacheUnit
Creates a new set (can be overridden in a subclass).
-
setUseTempState
public void setUseTempState(boolean value)
- Specified by:
setUseTempState
in interfaceModelStateManager
- Overrides:
setUseTempState
in classCacheUnit<E extends Struct<?>,A extends Address<?>>
-
resetState
public void resetState()
Description copied from interface:Buffer
Resets the state of the buffer.- Specified by:
resetState
in interfaceBuffer<E extends Struct<?>,A extends Address<?>>
- Specified by:
resetState
in interfaceModelStateManager
- Overrides:
resetState
in classCacheUnit<E extends Struct<?>,A extends Address<?>>
-
-