gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Simulation of Hybrid Memory in Gem5

S.
Sadhana .
Thu, Sep 21, 2023 5:14 AM

I am using gem5 version 22.0. I want to simulate hybrid memory
comprising DRAM and NVM. I have written the code to simulate hybrid memory
using heterogeneous memory controller as:
system.mem_ctrl=HeteroMemCtrl()
system.mem_ctrl.dram = DDR3_1600_8x8()
system.mem_ctrl.dram.range = system.mem_ranges[0]
system.mem_ctrl.nvm=NVM_2400_1x64()
system.mem_ctrl.nvm.range =system.mem_ranges[1]
print(system.mem_ranges[0])
print(system.mem_ranges[1])
But I am getting the error as the memory address range for nvm memory
is overlapping, how can I assign continuous addressing to both memories?

[image: image.png]
Thanks and Regards,
Sadhana,
Research Scholar-NITK,
Dept. of Computer Science and Engineering
.

I am using gem5 version 22.0. I want to simulate hybrid memory comprising DRAM and NVM. I have written the code to simulate hybrid memory using heterogeneous memory controller as: system.mem_ctrl=HeteroMemCtrl() system.mem_ctrl.dram = DDR3_1600_8x8() system.mem_ctrl.dram.range = system.mem_ranges[0] system.mem_ctrl.nvm=NVM_2400_1x64() system.mem_ctrl.nvm.range =system.mem_ranges[1] print(system.mem_ranges[0]) print(system.mem_ranges[1]) But I am getting the error as the memory address range for nvm memory is overlapping, how can I assign continuous addressing to both memories? [image: image.png] Thanks and Regards, Sadhana, Research Scholar-NITK, Dept. of Computer Science and Engineering .
AA
Ayaz Akram
Thu, Sep 21, 2023 9:39 PM

Hi Sadhana,

In the screenshot you shared, the address ranges assigned to two memory
devices are overlapping (0:1073741824 and 0:2147483648). You should modify
the second range such that it does not start from 0 but starts from
1073741824 or some other address (such that the two ranges do not overlap).

-Ayaz

On Wed, Sep 20, 2023 at 10:16 PM Sadhana . via gem5-users <
gem5-users@gem5.org> wrote:

I am using gem5 version 22.0. I want to simulate hybrid memory
comprising DRAM and NVM. I have written the code to simulate hybrid memory
using heterogeneous memory controller as:
system.mem_ctrl=HeteroMemCtrl()
system.mem_ctrl.dram = DDR3_1600_8x8()
system.mem_ctrl.dram.range = system.mem_ranges[0]
system.mem_ctrl.nvm=NVM_2400_1x64()
system.mem_ctrl.nvm.range =system.mem_ranges[1]
print(system.mem_ranges[0])
print(system.mem_ranges[1])
But I am getting the error as the memory address range for nvm memory
is overlapping, how can I assign continuous addressing to both memories?

[image: image.png]
Thanks and Regards,
Sadhana,
Research Scholar-NITK,
Dept. of Computer Science and Engineering
.


gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org

Hi Sadhana, In the screenshot you shared, the address ranges assigned to two memory devices are overlapping (0:1073741824 and 0:2147483648). You should modify the second range such that it does not start from 0 but starts from 1073741824 or some other address (such that the two ranges do not overlap). -Ayaz On Wed, Sep 20, 2023 at 10:16 PM Sadhana . via gem5-users < gem5-users@gem5.org> wrote: > I am using gem5 version 22.0. I want to simulate hybrid memory > comprising DRAM and NVM. I have written the code to simulate hybrid memory > using heterogeneous memory controller as: > system.mem_ctrl=HeteroMemCtrl() > system.mem_ctrl.dram = DDR3_1600_8x8() > system.mem_ctrl.dram.range = system.mem_ranges[0] > system.mem_ctrl.nvm=NVM_2400_1x64() > system.mem_ctrl.nvm.range =system.mem_ranges[1] > print(system.mem_ranges[0]) > print(system.mem_ranges[1]) > But I am getting the error as the memory address range for nvm memory > is overlapping, how can I assign continuous addressing to both memories? > > > [image: image.png] > Thanks and Regards, > Sadhana, > Research Scholar-NITK, > Dept. of Computer Science and Engineering > . > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >