gem5.components.cachehierarchies.abstract_cache_hierarchy.html
gem5.components.cachehierarchies.abstract_cache_hierarchy module¶
- class gem5.components.cachehierarchies.abstract_cache_hierarchy.AbstractCacheHierarchy¶
Bases:
SubSystem
- abstract = False¶
- add_root_child(*args, **kwargs)¶
This adds the LLC to the root node
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- generateDeviceTree(state)¶
- abstract get_coherence_protocol() CoherenceProtocol ¶
Returns the coherence protocol used in the cache hierarchy.
- Returns:
The coherence protocol used in the cache hierarchy.
- abstract incorporate_cache(board: AbstractBoard) None ¶
Incorporates the caches into a board.
Each specific hierarchy needs to implement this function and will be unique for each setup.
- Parameters:
board – The board in which the cache heirarchy is to be incorporated.
- abstract is_ruby() bool ¶
Specifies whether this cache hierarchy is using the Ruby memory system or not.
- Returns:
True
if the cache hierarchy is ruby. OtherwiseFalse
.
- traverse(node: CacheNode, visit: Callable[[CacheNode, int], None]) int ¶
Traverse the tree in post-order. Return the level of the current node passed as an argument. The method accepts a visit function to be called at each node
- Parameters:
node – starting node for traversal
visit – visiting function to be called at each node
- Returns:
level of the node passed as an argument
- class gem5.components.cachehierarchies.abstract_cache_hierarchy.CacheNode(name: str, cache: SimObject, next_level: CacheNode, hierarchy: AbstractCacheHierarchy)¶
Bases:
object
- add_child(name: str, cache: SimObject) CacheNode ¶
Add a child node to the current node provided a cache object and its name. Because of the intrinsic topology of caches, children will be one level higher than their parent in the hierarchy. This means the chain of insertions to the tree will be something like: l3.add_child(“l2”, l2).add_child(“l1”, l1)
- Parameters:
name – The name of the cache
cache – The cache SimObject
- Returns:
The new child node being generated
- generate_dtb_entry(state, level)¶