gem5.components.memory.abstract_memory_system.html
gem5.components.memory.abstract_memory_system module¶
- class gem5.components.memory.abstract_memory_system.AbstractMemorySystem¶
Bases:
SubSystem
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- abstract get_mem_interfaces() List[MemInterface] ¶
Get all memory interfaces in this memory system. Useful when creating physical memory objects.
- abstract get_mem_ports() Sequence[Tuple[AddrRange, Port]] ¶
Get the ports to connect this memory system to the cache.
- abstract get_memory_controllers() List[MemCtrl] ¶
Get all of the memory controllers in this memory system.
- abstract get_size() int ¶
Returns the total size of the memory system.
- abstract get_uninterleaved_range() List[AddrRange] ¶
Returns the range of the memory system without interleaving. This is useful when other components in the system want to interleave the memory range different to how the memory has interleaved them.
- abstract incorporate_memory(board: AbstractBoard) None ¶
This function completes all of the necessary steps to add this memory system to the board.
- abstract set_memory_range(ranges: List[AddrRange]) None ¶
Set the total range for this memory system.
May pass multiple non-overlapping ranges. The total size of the ranges should match the size of the memory.
If this memory system is incompatible with the ranges, an exception will be raised.