gem5.components.cachehierarchies.chi.nodes.abstract_node module

class gem5.components.cachehierarchies.chi.nodes.abstract_node.AbstractNode(network: RubyNetwork, cache_line_size: int)

Bases: CHI_Cache_Controller

A node is the abstract unit for caches in the CHI protocol.

You can extend the AbstractNode to create caches (private or shared) and directories with or without data caches.

abstract = False
connectQueues(network: RubyNetwork)

Connect all of the queues for this controller. This may be extended in subclasses.

cxx_exports = []
cxx_extra_bases = []
cxx_param_exports = []
cxx_template_params = []
getBlockSizeBits()
classmethod versionCount()
class gem5.components.cachehierarchies.chi.nodes.abstract_node.OrderedTriggerMessageBuffer(**kwargs)

Bases: TriggerMessageBuffer

abstract = False
cxx_exports = []
cxx_extra_bases = []
cxx_param_exports = []
cxx_template_params = []
class gem5.components.cachehierarchies.chi.nodes.abstract_node.TriggerMessageBuffer(**kwargs)

Bases: MessageBuffer

MessageBuffer for triggering internal controller events. These buffers should not be affected by the Ruby tester randomization and allow poping messages enqueued in the same cycle.

abstract = False
cxx_exports = []
cxx_extra_bases = []
cxx_param_exports = []
cxx_template_params = []