gem5.components.cachehierarchies.chi.private_l1_private_l2_cache_hierarchy.html
gem5.components.cachehierarchies.chi.private_l1_private_l2_cache_hierarchy module¶
- class gem5.components.cachehierarchies.chi.private_l1_private_l2_cache_hierarchy.PrivateL1PrivateL2CacheHierarchy(l1i_size: str, l1i_assoc: int, l1d_size: str, l1d_assoc: int, l2_size: str, l2_assoc: int)¶
Bases:
AbstractRubyCacheHierarchy,AbstractTwoLevelCacheHierarchyA two level cache hierarchy based on CHI
This hierarchy has a split I/D L1 caches per CPU, a second level of caches (L2) which are private per CPU, a single directory (HNF), and as many memory controllers (SNF) as memory channels. The directory does not have an associated cache.
The network is a simple point-to-point between all of the controllers.
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- get_coherence_protocol()¶
Returns the coherence protocol used in the cache hierarchy.
- Returns:
The coherence protocol used in the cache hierarchy.
- 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.
- override_create = False¶