dram_ctrl.hh (11676:8a882e297eb2) | dram_ctrl.hh (11677:beaf1afe2f83) |
---|---|
1/* 2 * Copyright (c) 2012-2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 42 unchanged lines hidden (view full) --- 51 52#ifndef __MEM_DRAM_CTRL_HH__ 53#define __MEM_DRAM_CTRL_HH__ 54 55#include <deque> 56#include <string> 57#include <unordered_set> 58 | 1/* 2 * Copyright (c) 2012-2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 42 unchanged lines hidden (view full) --- 51 52#ifndef __MEM_DRAM_CTRL_HH__ 53#define __MEM_DRAM_CTRL_HH__ 54 55#include <deque> 56#include <string> 57#include <unordered_set> 58 |
59#include "base/callback.hh" |
|
59#include "base/statistics.hh" 60#include "enums/AddrMap.hh" 61#include "enums/MemSched.hh" 62#include "enums/PageManage.hh" 63#include "mem/abstract_mem.hh" 64#include "mem/qport.hh" 65#include "params/DRAMCtrl.hh" 66#include "sim/eventq.hh" --- 337 unchanged lines hidden (view full) --- 404 */ 405 void flushCmdList(); 406 407 /* 408 * Function to register Stats 409 */ 410 void regStats(); 411 | 60#include "base/statistics.hh" 61#include "enums/AddrMap.hh" 62#include "enums/MemSched.hh" 63#include "enums/PageManage.hh" 64#include "mem/abstract_mem.hh" 65#include "mem/qport.hh" 66#include "params/DRAMCtrl.hh" 67#include "sim/eventq.hh" --- 337 unchanged lines hidden (view full) --- 405 */ 406 void flushCmdList(); 407 408 /* 409 * Function to register Stats 410 */ 411 void regStats(); 412 |
413 /** 414 * Computes stats just prior to dump event 415 */ 416 void computeStats(); 417 |
|
412 void processActivateEvent(); 413 EventWrapper<Rank, &Rank::processActivateEvent> 414 activateEvent; 415 416 void processPrechargeEvent(); 417 EventWrapper<Rank, &Rank::processPrechargeEvent> 418 prechargeEvent; 419 420 void processRefreshEvent(); 421 EventWrapper<Rank, &Rank::processRefreshEvent> 422 refreshEvent; 423 424 void processPowerEvent(); 425 EventWrapper<Rank, &Rank::processPowerEvent> 426 powerEvent; 427 428 }; 429 | 418 void processActivateEvent(); 419 EventWrapper<Rank, &Rank::processActivateEvent> 420 activateEvent; 421 422 void processPrechargeEvent(); 423 EventWrapper<Rank, &Rank::processPrechargeEvent> 424 prechargeEvent; 425 426 void processRefreshEvent(); 427 EventWrapper<Rank, &Rank::processRefreshEvent> 428 refreshEvent; 429 430 void processPowerEvent(); 431 EventWrapper<Rank, &Rank::processPowerEvent> 432 powerEvent; 433 434 }; 435 |
436 // define the process to compute stats on simulation exit 437 // defined per rank as the per rank stats are based on state 438 // transition and periodically updated, requiring re-sync at 439 // exit. 440 class RankDumpCallback : public Callback 441 { 442 Rank *ranks; 443 public: 444 RankDumpCallback(Rank *r) : ranks(r) {} 445 virtual void process() { ranks->computeStats(); }; 446 }; 447 |
|
430 /** 431 * A burst helper helps organize and manage a packet that is larger than 432 * the DRAM burst size. A system packet that is larger than the burst size 433 * is split into multiple DRAM packets and all those DRAM packets point to 434 * a single burst helper such that we know when the whole packet is served. 435 */ 436 class BurstHelper { 437 --- 507 unchanged lines hidden --- | 448 /** 449 * A burst helper helps organize and manage a packet that is larger than 450 * the DRAM burst size. A system packet that is larger than the burst size 451 * is split into multiple DRAM packets and all those DRAM packets point to 452 * a single burst helper such that we know when the whole packet is served. 453 */ 454 class BurstHelper { 455 --- 507 unchanged lines hidden --- |