uncore

ManagerMetadata

class ManagerMetadata extends CoherenceMetadata

Stores manager-side information about the status of a cache block, including whether it has any known sharers.

Its API can be used to create uncore.Probe and uncore.Grant messages.

Linear Supertypes
CoherenceMetadata, Bundle, Aggregate, Data, Node, nameable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ManagerMetadata
  2. CoherenceMetadata
  3. Bundle
  4. Aggregate
  5. Data
  6. Node
  7. nameable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ManagerMetadata()

Value Members

  1. def !=(rhs: ManagerMetadata): Bool

  2. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  3. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  4. def ##[T <: Data](right: T): ManagerMetadata.this.type

    Definition Classes
    Data
  5. def ##(b: Node): Node

    Definition Classes
    Node
  6. final def ##(): Int

    Definition Classes
    AnyRef → Any
  7. def +(other: Bundle): Bundle

    Definition Classes
    Bundle
  8. def :=(that: Data): Unit

    Definition Classes
    Data
  9. def <>(src: Node): Unit

    Definition Classes
    Bundle → Node
  10. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  12. def ===(rhs: ManagerMetadata): Bool

    Metadata equality

  13. def ===[T <: Data](right: T): Bool

    Definition Classes
    Data
  14. def W0Wtransform(): Unit

    Definition Classes
    Node
  15. def ^^(src: Node): Unit

    Definition Classes
    Node
  16. val _id: Int

    Definition Classes
    Node
  17. def _isComplementOf(x: Node): Boolean

    Definition Classes
    Node
  18. def addConsumers(): Unit

    Definition Classes
    Node
  19. def apply(name: String): Data

    Definition Classes
    Bundle → Data
  20. def asDirectionless(): ManagerMetadata.this.type

    Definition Classes
    Bundle → Data
  21. def asInput(): ManagerMetadata.this.type

    Definition Classes
    Bundle → Data
  22. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  23. def asOutput(): ManagerMetadata.this.type

    Definition Classes
    Bundle → Data
  24. def assign(src: Node): Unit

    Definition Classes
    Node
  25. def canCSE: Boolean

    Definition Classes
    Node
  26. lazy val chiselName: String

    Definition Classes
    Node
  27. var clock: Clock

    Definition Classes
    Node
  28. def clone(): ManagerMetadata.this.type

    Definition Classes
    Data → AnyRef
  29. var cntrIdx: Int

    Definition Classes
    Node
  30. val co: CoherencePolicy

    Definition Classes
    CoherenceMetadata
  31. def colonEquals(src: Bundle): Unit

    Attributes
    protected
    Definition Classes
    Bundle → Data
  32. def colonEquals[T <: Data](that: Iterable[T]): Unit

    Attributes
    protected
    Definition Classes
    Data
  33. def colonEquals(that: Bits): Unit

    Attributes
    protected
    Definition Classes
    Data
  34. var comp: proc

    Definition Classes
    Data
  35. var component: Module

    Definition Classes
    Node
  36. def componentOf: Module

    Definition Classes
    Node
  37. val consumers: LinkedHashSet[Node]

    Definition Classes
    Node
  38. def contains(name: String): Boolean

    Definition Classes
    Bundle
  39. def dblLitValue: Double

    Definition Classes
    Node
  40. var depth: Int

    Definition Classes
    Node
  41. var driveRand: Boolean

    Definition Classes
    Node
  42. lazy val elements: LinkedHashMap[String, Data]

    Definition Classes
    Bundle
  43. lazy val emitIndex: Int

    Definition Classes
    Node
  44. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  45. def equals(that: Any): Boolean

    Definition Classes
    Node → AnyRef → Any
  46. def equalsForCSE(x: Node): Boolean

    Definition Classes
    Node
  47. def extract(b: Bundle): List[Node]

    Definition Classes
    Node
  48. def extract(widths: Array[Int]): List[UInt]

    Definition Classes
    Node
  49. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. def flatten: Array[(String, Bits)]

    Definition Classes
    Bundle → Data
  51. def flip(): ManagerMetadata.this.type

    Definition Classes
    Bundle → Data
  52. def floLitValue: Float

    Definition Classes
    Node
  53. def forceMatchingWidths: Unit

    Definition Classes
    Node
  54. def fromBits(b: Bits): ManagerMetadata.this.type

    Definition Classes
    Data
  55. def fromMap(elemmap: Map[String, Data]): ManagerMetadata.this.type

    Definition Classes
    Bundle
  56. def fromNode(n: Node): ManagerMetadata.this.type

    Definition Classes
    Data
  57. def full(dummy: Int = 0): UInt

    Converts the directory info into an N-hot sharer bitvector (i.

    Converts the directory info into an N-hot sharer bitvector (i.e. full representation)

  58. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  59. def getLit: Literal

    Definition Classes
    Node
  60. def getNode: Node

    Definition Classes
    Node
  61. def getWidth(): Int

    Definition Classes
    Bundle → Aggregate → Node
  62. def getWidthW(): Width

    Definition Classes
    Node
  63. def hashCode(): Int

    Definition Classes
    Node → AnyRef → Any
  64. def hashCodeForCSE: Int

    Definition Classes
    Node
  65. val id: String

    Definition Classes
    CoherenceMetadata
  66. def illegalAssignment(that: Any): Unit

    Attributes
    protected
    Definition Classes
    Data
  67. def infer: Boolean

    Definition Classes
    Node
  68. var inferWidth: (⇒ Node) ⇒ Width

    Definition Classes
    Node
  69. def init(n: String, w: Int, ins: Node*): Node

    Definition Classes
    Node
  70. def init(n: String, widthFunc: (⇒ Node) ⇒ Width, ins: Node*): Node

    Definition Classes
    Node
  71. def initOf(n: String, widthfunc: (⇒ Node) ⇒ Width, ins: Iterable[Node]): Node

    Definition Classes
    Node
  72. val inputs: ArrayBuffer[Node]

    Definition Classes
    Node
  73. def isByValue: Boolean

    Definition Classes
    Node
  74. def isDirectionless: Boolean

    Definition Classes
    Bundle → Data
  75. lazy val isInObject: Boolean

    Definition Classes
    Node
  76. lazy val isInVCD: Boolean

    Definition Classes
    Node
  77. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  78. def isIo: Boolean

    Definition Classes
    Node
  79. def isIo_=(isIo: Boolean): Unit

    Definition Classes
    Node
  80. def isKnownWidth: Boolean

    Definition Classes
    Node
  81. final def isLit: Boolean

    Definition Classes
    Node
  82. def isReg: Boolean

    Definition Classes
    Node
  83. def isTopLevelIO: Boolean

    Definition Classes
    Node
  84. var isTypeNode: Boolean

    Definition Classes
    Node
  85. def isUsedByClockHi: Boolean

    Definition Classes
    Node
  86. var isWidthWalked: Boolean

    Definition Classes
    Node
  87. val line: StackTraceElement

    Definition Classes
    Node
  88. def litOf: Literal

    Definition Classes
    Node
  89. def litValue(default: BigInt): BigInt

    Definition Classes
    Node
  90. def makeGrant(pri: AcquireFromSrc, sec: SecondaryMissInfo, manager_xact_id: UInt, data: UInt): GrantToDst

    Construct an uncore.GrantToDst to respond to an uncore.Acquire with some overrides

    Construct an uncore.GrantToDst to respond to an uncore.Acquire with some overrides

    Used to respond to secondary misses merged into this transaction. May contain single or multiple beats of data.

    pri

    Primary miss's Acquire message, used to get g_type and dst

    sec

    Secondary miss info, used to get beat and client_xact_id

    manager_xact_id

    manager's transaction id

    data

    data being refilled to the original requestor

  91. def makeGrant(acq: AcquireFromSrc, manager_xact_id: UInt, addr_beat: UInt = UInt(0), data: UInt = UInt(0)): GrantToDst

    Construct an appropriate uncore.GrantToDst to respond to an uncore.Acquire

    Construct an appropriate uncore.GrantToDst to respond to an uncore.Acquire

    May contain single or multiple beats of data, or just be a permissions upgrade.

    acq

    Acquire message being responded to by this Grant

    manager_xact_id

    manager's transaction id

    addr_beat

    beat id of the data

    data

    data being refilled to the original requestor

  92. def makeGrant(rel: ReleaseFromSrc, manager_xact_id: UInt): GrantToDst

    Construct an appropriate uncore.GrantToDst to acknowledge an uncore.Release

    Construct an appropriate uncore.GrantToDst to acknowledge an uncore.Release

    rel

    Release message being acknowledged by this Grant

    manager_xact_id

    manager's transaction id

  93. def makeProbe(dst: UInt, op_code: UInt, addr_block: UInt): ProbeToDst

    Construct an appropriate uncore.ProbeToDst for a given mem op

    Construct an appropriate uncore.ProbeToDst for a given mem op

    dst

    Destination client id for this Probe

    op_code

    memory operation triggering this Probe

    addr_block

    address of the cache block being probed

  94. def makeProbe(dst: UInt, acq: Acquire): ProbeToDst

    Construct an appropriate uncore.ProbeToDst for a given uncore.Acquire

    Construct an appropriate uncore.ProbeToDst for a given uncore.Acquire

    dst

    Destination client id for this Probe

    acq

    Acquire message triggering this Probe

  95. def makeProbeForVoluntaryWriteback(dst: UInt, addr_block: UInt): ProbeToDst

    Construct an appropriate uncore.ProbeToDst for an eviction

    Construct an appropriate uncore.ProbeToDst for an eviction

    dst

    Destination client id for this Probe

    addr_block

    address of the cache block being probed prior to eviction

  96. def matchWidth(w: Width): Node

    Definition Classes
    Node
  97. def maybeFlatten: Seq[Node]

    Definition Classes
    Node
  98. var modified: Boolean

    Definition Classes
    Node
  99. var name: String

    Definition Classes
    nameable
  100. var nameHolder: nameable

    Definition Classes
    Node
  101. def nameIt(path: String, isNamingIo: Boolean): Unit

    Definition Classes
    Bundle → Data → Node
  102. var named: Boolean

    Definition Classes
    nameable
  103. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  104. def needWidth(): Int

    Definition Classes
    Node
  105. final def notify(): Unit

    Definition Classes
    AnyRef
  106. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  107. def onGrant(outgoing: GrantToDst): ManagerMetadata

    New metadata after sending a uncore.GrantToDst

    New metadata after sending a uncore.GrantToDst

    outgoing

    the outgoing uncore.GrantToDst

  108. def onRelease(incoming: ReleaseFromSrc): ManagerMetadata

    New metadata after receiving a uncore.ReleaseFromSrc

    New metadata after receiving a uncore.ReleaseFromSrc

    incoming

    the incoming uncore.ReleaseFromSrc

  109. def params: Parameters

    Definition Classes
    Data
  110. var parents: LinkedHashSet[Node]

    Definition Classes
    Node
  111. def printTree(writer: PrintStream, depth: Int, indent: String): Unit

    Definition Classes
    Node
  112. var prune: Boolean

    Definition Classes
    Node
  113. def removeTypeNodes(): Unit

    Definition Classes
    Bundle → Node
  114. def replaceTree(newNode: Node): Unit

    Definition Classes
    Node
  115. def requiresProbes(op_code: UInt): Bool

    Does this memory op require Probes to be sent

  116. def requiresProbes(acq: Acquire): Bool

    Does this uncore.Acquire require Probes to be sent

  117. def requiresProbesOnVoluntaryWriteback(dummy: Int = 0): Bool

    Does an eviction require Probes to be sent

  118. def review(): Unit

    Definition Classes
    Node
  119. var sccIndex: Int

    Definition Classes
    Node
  120. var sccLowlink: Int

    Definition Classes
    Node
  121. def setIsTypeNode: Unit

    Definition Classes
    Bundle → Data
  122. def setName(n: String): Unit

    Definition Classes
    Node
  123. def setWidth(w: Int): Unit

    Definition Classes
    Node
  124. val sharers: UInt

    The directory information for this block

  125. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  126. def toBits(): UInt

    Definition Classes
    Node
  127. def toBool(): Bool

    Definition Classes
    Data
  128. lazy val toNode: Node

    Definition Classes
    Data → Node
  129. def toString(): String

    Definition Classes
    Bundle → AnyRef → Any
  130. def usesInClockHi(i: Node): Boolean

    Definition Classes
    Node
  131. val view: Seq[String]

    Definition Classes
    Bundle
  132. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  133. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  134. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  135. var width_: Width

    Definition Classes
    Node

Inherited from CoherenceMetadata

Inherited from Bundle

Inherited from Aggregate

Inherited from Data

Inherited from Node

Inherited from nameable

Inherited from AnyRef

Inherited from Any

Ungrouped