MemoryPowerModel.h (10428:0caf62b57dfd) MemoryPowerModel.h (11555:2efa95cf8504)
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
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(MemorySpecification memSpec,
50 const CommandAnalysis& counters,
51 int term);
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
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(MemorySpecification memSpec,
148 void power_print(const MemorySpecification& memSpec,
149 int term,
149 int term,
150 const CommandAnalysis& counters) const;
150 const CommandAnalysis& c) const;
151
152 // To derive IO and Termination Power measures using DRAM specification
151
152 // To derive IO and Termination Power measures using DRAM specification
153 void io_term_power(MemorySpecification memSpec);
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 ---
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 ---