Hi Eliot, gem5 splits the memory system modeling into two parts: 1) the memory controller and 2) the memory interface. The memory interface can be a DRAMInterface or NVMInterface and provides many parameters that are configured to achieve a specific memory device model (e.g., DDR4, GDDR5). The available configuration parameters and their values for different devices can be found in src/mem/DRAMInterface.py (this file provides definitions of different timing parameters).
The memory controller usually is agnostic to the actual timing parameters used by a memory interface and relies on a fixed interface to talk to the device. However, we currently have three types of memory controllers in gem5: MemCtrl (which can be used with a single memory interface of any type), HeteroMemCtrl (which can be used with two memory interfaces at the same time, a DRAM and an NVM interface), and HBMCtrl (which is used with two HBM2 interfaces, where each interface is modeling a pseudo channel). Some references that might be helpful to understand gem5's memory system model include: - gem5 workshop presentation should help explain the NVM model of gem5: https://www.gem5.org/2020/05/27/memory-controller.html (Also, one of the videos in this presentation discusses the refactorization of the original mem controller into mem controller and memory interface). - Minutes 37-52 of this gem5 bootcamp presentation: https://www.youtube.com/live/hciJ9rguats?feature=share - The original gem5 memory controller model paper: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6844484 -Ayaz On Thu, Mar 9, 2023 at 2:12 PM Eliot Moss via gem5-users < gem5-users@gem5.org> wrote: > On 3/9/2023 3:01 PM, Eliot Moss via gem5-users wrote: > > Dear gem5'ers - In my current simulation work it would be helpful to > > understand better DRAM and NVM configuration. How do I determine, and > how do > > I set, the number of channels, interleaving, etc.? I'm far from being an > > expert in memory devices / boards, so something that starts more from > > fundamentals would be helpful (channels, ranks, banks, devices, etc.). > > Ok, in terms of the usual meaning of the concepts, I have found a > number of resources on the web. However, that still leaves a gap > as to how to configure things in gem5 :-) ... I'm hoping someone > can enlighten me or points me to resources that can :-) ... > > Thanks - EM > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org