On 3/9/2023 5:44 PM, Ayaz Akram wrote:
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 <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 <https://www.youtube.com/live/hciJ9rguats?feature=share> - The original gem5 memory controller model paper: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6844484 <https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6844484>

-Ayaz

Wonderful!  thank you, Ayaz!  I had found the .py files, but the bigger
picture explanation and the presentation, etc., will be really helpful
as we try to set up a realistic configuration!

Best wishes - Eliot
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to