Skip to content

Commit c7260e7

Browse files
committed
mem: rename MemCtrl to HeteroMemCtrl
Change-Id: I5203c7c45edaa5ce2bc8f7d62cea8abe28605696
1 parent fac8020 commit c7260e7

File tree

8 files changed

+48
-48
lines changed

8 files changed

+48
-48
lines changed

configs/common/MemConfig.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def config_mem(options, system):
235235
# Create a controller if not sharing a channel with DRAM
236236
# in which case the controller has already been created
237237
if not opt_hybrid_channel:
238-
mem_ctrl = m5.objects.MemCtrl()
238+
mem_ctrl = m5.objects.HeteroMemCtrl()
239239
mem_ctrl.nvm = nvm_intf
240240

241241
mem_ctrls.append(mem_ctrl)

configs/dram/lat_mem_rd.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119

120120
# the following assumes that we are using the native DRAM
121121
# controller, check to be sure
122-
if isinstance(ctrl, m5.objects.MemCtrl):
122+
if isinstance(ctrl, m5.objects.HeteroMemCtrl):
123123
# make the DRAM refresh interval sufficiently infinite to avoid
124124
# latency spikes
125125
ctrl.tREFI = '100s'

configs/nvm/sweep_hybrid.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@
117117

118118
# the following assumes that we are using the native controller
119119
# with NVM and DRAM interfaces, check to be sure
120-
if not isinstance(system.mem_ctrls[0], m5.objects.MemCtrl):
121-
fatal("This script assumes the controller is a MemCtrl subclass")
120+
if not isinstance(system.mem_ctrls[0], m5.objects.HeteroMemCtrl):
121+
fatal("This script assumes the controller is a HeteroMemCtrl subclass")
122122
if not isinstance(system.mem_ctrls[0].dram, m5.objects.DRAMInterface):
123123
fatal("This script assumes the first memory is a DRAMInterface subclass")
124124
if not isinstance(system.mem_ctrls[0].nvm, m5.objects.NVMInterface):

configs/ruby/GPU_VIPER.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ def construct_gpudirs(options, system, ruby_system, network):
523523
int(math.log(options.dgpu_num_dirs, 2)), options.cacheline_size,
524524
xor_low_bit)
525525
if issubclass(mem_type, DRAMInterface):
526-
mem_ctrl = m5.objects.MemCtrl(dram = dram_intf)
526+
mem_ctrl = m5.objects.HeteroMemCtrl(dram = dram_intf)
527527
else:
528528
mem_ctrl = dram_intf
529529

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@
4343
from m5.objects.SimpleMemCtrl import *
4444

4545

46-
# MemCtrl controls a dram and an nvm interface
46+
# HeteroMemCtrl controls a dram and an nvm interface
4747
# Both memory interfaces share the data and command bus
48-
class MemCtrl(SimpleMemCtrl):
49-
type = 'MemCtrl'
50-
cxx_header = "mem/mem_ctrl.hh"
51-
cxx_class = 'gem5::memory::MemCtrl'
48+
class HeteroMemCtrl(SimpleMemCtrl):
49+
type = 'HeteroMemCtrl'
50+
cxx_header = "mem/hetero_mem_ctrl.hh"
51+
cxx_class = 'gem5::memory::HeteroMemCtrl'
5252

5353
# Interface to nvm memory media
54-
# The dram interface `dram` used by MemCtrl is defined in
54+
# The dram interface `dram` used by HeteroMemCtrl is defined in
5555
# the SimpleMemCtrl
5656
nvm = Param.NVMInterface("NVM memory interface to use")

src/mem/SConscript

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ SimObject('SysBridge.py', sim_objects=['SysBridge'])
5050
DebugFlag('SysBridge')
5151
SimObject('SimpleMemCtrl.py', sim_objects=['SimpleMemCtrl'],
5252
enums=['MemSched'])
53-
SimObject('MemCtrl.py', sim_objects=['MemCtrl'])
53+
SimObject('HeteroMemCtrl.py', sim_objects=['HeteroMemCtrl'])
5454
SimObject('MemInterface.py', sim_objects=['MemInterface'], enums=['AddrMap'])
5555
SimObject('DRAMInterface.py', sim_objects=['DRAMInterface'],
5656
enums=['PageManage'])
@@ -76,7 +76,7 @@ Source('drampower.cc')
7676
Source('external_master.cc')
7777
Source('external_slave.cc')
7878
Source('simple_mem_ctrl.cc')
79-
Source('mem_ctrl.cc')
79+
Source('hetero_mem_ctrl.cc')
8080
Source('mem_interface.cc')
8181
Source('dram_interface.cc')
8282
Source('nvm_interface.cc')
Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3939
*/
4040

41-
#include "mem/mem_ctrl.hh"
41+
#include "mem/hetero_mem_ctrl.hh"
4242

4343
#include "base/trace.hh"
4444
#include "debug/DRAM.hh"
@@ -57,7 +57,7 @@ namespace gem5
5757
namespace memory
5858
{
5959

60-
MemCtrl::MemCtrl(const MemCtrlParams &p) :
60+
HeteroMemCtrl::HeteroMemCtrl(const HeteroMemCtrlParams &p) :
6161
SimpleMemCtrl(p),
6262
nvm(p.nvm)
6363
{
@@ -66,9 +66,9 @@ MemCtrl::MemCtrl(const MemCtrlParams &p) :
6666
writeQueue.resize(p.qos_priorities);
6767

6868
fatal_if(dynamic_cast<DRAMInterface*>(dram) == nullptr,
69-
"MemCtrl's dram interface must be of type DRAMInterface.\n");
69+
"HeteroMemCtrl's dram interface must be of type DRAMInterface.\n");
7070
fatal_if(dynamic_cast<NVMInterface*>(nvm) == nullptr,
71-
"MemCtrl's nvm interface must be of type NVMInterface.\n");
71+
"HeteroMemCtrl's nvm interface must be of type NVMInterface.\n");
7272

7373
// hook up interfaces to the controller
7474
dram->setCtrl(this, commandWindow);
@@ -88,7 +88,7 @@ MemCtrl::MemCtrl(const MemCtrlParams &p) :
8888
}
8989

9090
Tick
91-
MemCtrl::recvAtomic(PacketPtr pkt)
91+
HeteroMemCtrl::recvAtomic(PacketPtr pkt)
9292
{
9393
Tick latency = 0;
9494

@@ -104,7 +104,7 @@ MemCtrl::recvAtomic(PacketPtr pkt)
104104
}
105105

106106
bool
107-
MemCtrl::recvTimingReq(PacketPtr pkt)
107+
HeteroMemCtrl::recvTimingReq(PacketPtr pkt)
108108
{
109109
// This is where we enter from the outside world
110110
DPRINTF(MemCtrl, "recvTimingReq: request %s addr %#x size %d\n",
@@ -193,7 +193,7 @@ MemCtrl::recvTimingReq(PacketPtr pkt)
193193
}
194194

195195
void
196-
MemCtrl::processRespondEvent(MemInterface* mem_intr,
196+
HeteroMemCtrl::processRespondEvent(MemInterface* mem_intr,
197197
MemPacketQueue& queue,
198198
EventFunctionWrapper& resp_event)
199199
{
@@ -208,7 +208,7 @@ MemCtrl::processRespondEvent(MemInterface* mem_intr,
208208
}
209209

210210
MemPacketQueue::iterator
211-
MemCtrl::chooseNext(MemPacketQueue& queue, Tick extra_col_delay,
211+
HeteroMemCtrl::chooseNext(MemPacketQueue& queue, Tick extra_col_delay,
212212
MemInterface* mem_int)
213213
{
214214
// This method does the arbitration between requests.
@@ -246,7 +246,7 @@ MemCtrl::chooseNext(MemPacketQueue& queue, Tick extra_col_delay,
246246
}
247247

248248
std::pair<MemPacketQueue::iterator, Tick>
249-
MemCtrl::chooseNextFRFCFS(MemPacketQueue& queue, Tick extra_col_delay,
249+
HeteroMemCtrl::chooseNextFRFCFS(MemPacketQueue& queue, Tick extra_col_delay,
250250
MemInterface* mem_intr)
251251
{
252252

@@ -274,9 +274,9 @@ MemCtrl::chooseNextFRFCFS(MemPacketQueue& queue, Tick extra_col_delay,
274274

275275

276276
Tick
277-
MemCtrl::doBurstAccess(MemPacket* mem_pkt, MemInterface* mem_intr)
277+
HeteroMemCtrl::doBurstAccess(MemPacket* mem_pkt, MemInterface* mem_intr)
278278
{
279-
// mem_intr will be dram by default in MemCtrl
279+
// mem_intr will be dram by default in HeteroMemCtrl
280280

281281
// When was command issued?
282282
Tick cmd_at;
@@ -296,9 +296,9 @@ MemCtrl::doBurstAccess(MemPacket* mem_pkt, MemInterface* mem_intr)
296296
}
297297

298298
bool
299-
MemCtrl::memBusy(MemInterface* mem_intr) {
299+
HeteroMemCtrl::memBusy(MemInterface* mem_intr) {
300300

301-
// mem_intr in case of MemCtrl will always be dram
301+
// mem_intr in case of HeteroMemCtrl will always be dram
302302

303303
// check ranks for refresh/wakeup - uses busStateNext, so done after
304304
// turnaround decisions
@@ -324,41 +324,41 @@ MemCtrl::memBusy(MemInterface* mem_intr) {
324324
}
325325

326326
void
327-
MemCtrl::nonDetermReads(MemInterface* mem_intr)
327+
HeteroMemCtrl::nonDetermReads(MemInterface* mem_intr)
328328
{
329329
// mem_intr by default points to dram in case
330-
// of MemCtrl, therefore, calling nonDetermReads
330+
// of HeteroMemCtrl, therefore, calling nonDetermReads
331331
// from SimpleMemCtrl using nvm interace
332332
SimpleMemCtrl::nonDetermReads(nvm);
333333
}
334334

335335
bool
336-
MemCtrl::nvmWriteBlock(MemInterface* mem_intr)
336+
HeteroMemCtrl::nvmWriteBlock(MemInterface* mem_intr)
337337
{
338338
// mem_intr by default points to dram in case
339-
// of MemCtrl, therefore, calling nvmWriteBlock
339+
// of HeteroMemCtrl, therefore, calling nvmWriteBlock
340340
// from SimpleMemCtrl using nvm interface
341341
return SimpleMemCtrl::nvmWriteBlock(nvm);
342342
}
343343

344344
Tick
345-
MemCtrl::minReadToWriteDataGap()
345+
HeteroMemCtrl::minReadToWriteDataGap()
346346
{
347347
return std::min(dram->minReadToWriteDataGap(),
348348
nvm->minReadToWriteDataGap());
349349
}
350350

351351
Tick
352-
MemCtrl::minWriteToReadDataGap()
352+
HeteroMemCtrl::minWriteToReadDataGap()
353353
{
354354
return std::min(dram->minWriteToReadDataGap(),
355355
nvm->minWriteToReadDataGap());
356356
}
357357

358358
Addr
359-
MemCtrl::burstAlign(Addr addr, MemInterface* mem_intr) const
359+
HeteroMemCtrl::burstAlign(Addr addr, MemInterface* mem_intr) const
360360
{
361-
// mem_intr will point to dram interface in MemCtrl
361+
// mem_intr will point to dram interface in HeteroMemCtrl
362362
if (mem_intr->getAddrRange().contains(addr)) {
363363
return (addr & ~(Addr(mem_intr->bytesPerBurst() - 1)));
364364
} else {
@@ -368,9 +368,9 @@ MemCtrl::burstAlign(Addr addr, MemInterface* mem_intr) const
368368
}
369369

370370
bool
371-
MemCtrl::pktSizeCheck(MemPacket* mem_pkt, MemInterface* mem_intr) const
371+
HeteroMemCtrl::pktSizeCheck(MemPacket* mem_pkt, MemInterface* mem_intr) const
372372
{
373-
// mem_intr will point to dram interface in MemCtrl
373+
// mem_intr will point to dram interface in HeteroMemCtrl
374374
if (mem_pkt->isDram()) {
375375
return (mem_pkt->size <= mem_intr->bytesPerBurst());
376376
} else {
@@ -379,7 +379,7 @@ MemCtrl::pktSizeCheck(MemPacket* mem_pkt, MemInterface* mem_intr) const
379379
}
380380

381381
void
382-
MemCtrl::recvFunctional(PacketPtr pkt)
382+
HeteroMemCtrl::recvFunctional(PacketPtr pkt)
383383
{
384384
bool found;
385385

@@ -395,7 +395,7 @@ MemCtrl::recvFunctional(PacketPtr pkt)
395395
}
396396

397397
bool
398-
MemCtrl::allIntfDrained() const
398+
HeteroMemCtrl::allIntfDrained() const
399399
{
400400
// ensure dram is in power down and refresh IDLE states
401401
bool dram_drained = dram->allRanksDrained();
@@ -406,7 +406,7 @@ MemCtrl::allIntfDrained() const
406406
}
407407

408408
DrainState
409-
MemCtrl::drain()
409+
HeteroMemCtrl::drain()
410410
{
411411
// if there is anything in any of our internal queues, keep track
412412
// of that as well
@@ -432,7 +432,7 @@ MemCtrl::drain()
432432
}
433433

434434
void
435-
MemCtrl::drainResume()
435+
HeteroMemCtrl::drainResume()
436436
{
437437
if (!isTimingMode && system()->isTimingMode()) {
438438
// if we switched to timing mode, kick things into action,
@@ -450,7 +450,7 @@ MemCtrl::drainResume()
450450
}
451451

452452
AddrRangeList
453-
MemCtrl::getAddrRanges()
453+
HeteroMemCtrl::getAddrRanges()
454454
{
455455
AddrRangeList ranges;
456456
ranges.push_back(dram->getAddrRange());
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,21 @@
4040

4141
/**
4242
* @file
43-
* MemCtrl declaration
43+
* HeteroMemCtrl declaration
4444
*/
4545

46-
#ifndef __MEM_CTRL_HH__
47-
#define __MEM_CTRL_HH__
46+
#ifndef __HETERO_MEM_CTRL_HH__
47+
#define __HETERO_MEM_CTRL_HH__
4848

4949
#include "mem/simple_mem_ctrl.hh"
50-
#include "params/MemCtrl.hh"
50+
#include "params/HeteroMemCtrl.hh"
5151

5252
namespace gem5
5353
{
5454

5555
namespace memory
5656
{
57-
class MemCtrl : public SimpleMemCtrl
57+
class HeteroMemCtrl : public SimpleMemCtrl
5858
{
5959
private:
6060

@@ -120,7 +120,7 @@ class MemCtrl : public SimpleMemCtrl
120120

121121
public:
122122

123-
MemCtrl(const MemCtrlParams &p);
123+
HeteroMemCtrl(const HeteroMemCtrlParams &p);
124124

125125
bool allIntfDrained() const override;
126126
DrainState drain() override;
@@ -137,4 +137,4 @@ class MemCtrl : public SimpleMemCtrl
137137
} // namespace memory
138138
} // namespace gem5
139139

140-
#endif //__MEM_CTRL_HH__
140+
#endif //__HETERO_MEM_CTRL_HH__

0 commit comments

Comments
 (0)