1/* 2 * Copyright (c) 2012-2014, TU Delft 3 * Copyright (c) 2012-2014, TU Eindhoven 4 * Copyright (c) 2012-2014, TU Kaiserslautern 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are --- 32 unchanged lines hidden (view full) --- 41#include "MemorySpecification.h" 42#include "CommandAnalysis.h" 43 44namespace Data { 45class MemoryPowerModel { 46 public: 47 // Calculate energy and average power consumption for the given memory 48 // command trace |
49 void power_calc(const MemorySpecification& memSpec, 50 const CommandAnalysis& c, 51 int term); |
52 53 // Used to calculate self-refresh active energy 54 static double engy_sref(double idd6, 55 double idd3n, 56 double idd5, 57 double vdd, 58 double sref_cycles, 59 double sref_ref_act_cycles, --- 80 unchanged lines hidden (view full) --- 140 double TermRD_power; // Read Termination in idle rank (in dual-rank systems) 141 double TermWR_power; // Write Termination in idle rank (in dual-rank systems) 142 143 // Average Power 144 double average_power; 145 }; 146 147 // Print the power and energy |
148 void power_print(const MemorySpecification& memSpec, |
149 int term, |
150 const CommandAnalysis& c) const; |
151 152 // To derive IO and Termination Power measures using DRAM specification |
153 void io_term_power(const MemorySpecification& memSpec); |
154 155 Energy energy; 156 Power power; 157 158 private: 159 double calcIoTermEnergy(int64_t cycles, double period, double power, int64_t numBits) const; 160}; 161 --- 15 unchanged lines hidden --- |