diff options
Diffstat (limited to 'ext/drampower/src/libdrampower/LibDRAMPower.h')
-rw-r--r-- | ext/drampower/src/libdrampower/LibDRAMPower.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/ext/drampower/src/libdrampower/LibDRAMPower.h b/ext/drampower/src/libdrampower/LibDRAMPower.h index 4d9ccefe5..46e14bdd3 100644 --- a/ext/drampower/src/libdrampower/LibDRAMPower.h +++ b/ext/drampower/src/libdrampower/LibDRAMPower.h @@ -31,7 +31,11 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * Authors: Matthias Jung, Omar Naji + * Authors: Matthias Jung + * Omar Naji + * Subash Kannoth + * Éder F. Zulian + * Felipe S. Prado * */ @@ -44,35 +48,42 @@ #include "CommandAnalysis.h" #include "MemoryPowerModel.h" #include "MemCommand.h" +#include "MemBankWiseParams.h" + class libDRAMPower { public: libDRAMPower(const Data::MemorySpecification& memSpec, bool includeIoAndTermination); + libDRAMPower(const Data::MemorySpecification& memSpec, bool includeIoAndTermination,const Data::MemBankWiseParams& bwPowerParams); ~libDRAMPower(); void doCommand(Data::MemCommand::cmds type, int bank, int64_t timestamp); - void updateCounters(bool lastUpdate); - - void clearCounters(int64_t timestamp); - - void clearState(); - void calcEnergy(); + void calcWindowEnergy(int64_t timestamp); + const Data::MemoryPowerModel::Energy& getEnergy() const; const Data::MemoryPowerModel::Power& getPower() const; // list of all commands std::vector<Data::MemCommand> cmdList; private: + void updateCounters(bool lastUpdate, int64_t timestamp = 0); + + void clearCounters(int64_t timestamp); + + void clearState(); + Data::MemorySpecification memSpec; public: Data::CommandAnalysis counters; private: bool includeIoAndTermination; + bool bankwiseMode; + Data:: MemBankWiseParams bwPowerParams; // Object of MemoryPowerModel which contains the results // Energies(pJ) stored in energy, Powers(mW) stored in power. Number of // each command stored in timings. |