BL/2 is the time in this case. BL is the burst length in beats and in DDR
each side of the clock is used so the burst takes BL/2 cycles.

We have to multiply by the number of devices since each device bursts out
its portion of the data on each beat.


On Fri, Jul 26, 2013 at 11:05 AM, Hassan, Ahmad <[email protected]>wrote:

>  Hi Paul,****
>
> ** **
>
> In DRAMSim2, burstEnergy is only the aggregate of current:****
>
> ** **
>
> burstEnergy[rank] += (IDD4R - IDD3N) * BL/2 * NUM_DEVICES;****
>
> ** **
>
> We know the voltage. But the above equation doesn’t multiply the current
> with the time  (# of cycles taken by read/write  command  *  time of one
> cycle). In order to calculate the energy, what variables in DRAMSim2
> specify how many cycles were consumed by that read or write operation?****
>
> ** **
>
> Second, In the above equation, as per my understanding, NUM_DEVICES means
> the number of DRAM chips in one DIMM. But I don’t understand what is the
> purpose of BL/2 in that equation.****
>
> ** **
>
> Thanks for the help.****
>
> ** **
>
> Kind Regards, Ahmad****
>
> ** **
>
> *From:* Paul Rosenfeld [mailto:[email protected]]
> *Sent:* 26 July 2013 15:40
> *To:* Hassan, Ahmad
> *Cc:* [email protected]
> *Subject:* Re: [marss86-devel] DRAM read/write energy****
>
> ** **
>
> Sorry, let me amend the second part of the answer. The *energy values are
> current multiplied by time which yields coulombs. So in printStats() we
> multiply the coulombs by voltage to get joules and divide by time to get
> watts. ****
>
>
> In other words the final expression printed in printStats() ends up being
> (sum(current * time piece) * voltage)/total time   which ends up yielding
> average power. However, the numerator of this formula is in fact energy. *
> ***
>
> ** **
>
> My second suggestion stands, though. You can just remove the division by
> elapsedCycles and you will get energy. ****
>
> ** **
>
> On Fri, Jul 26, 2013 at 10:25 AM, Paul Rosenfeld <[email protected]>
> wrote:****
>
> In the future, could you please refrain from sending questions purely
> about DRAMSim2 to the marss list? I don't want to hijack their list for
> unrelated questions. ****
>
> ** **
>
> The best way to get a question through is just to email dramninjas [at]
> gmail   or post an issue on github. I don't get a lot of time these days to
> field DRAMSim2 questions, but I will do my best to get to them eventually.
> ****
>
> ** **
>
> Computing the power on a per-transaction business is a bit tricky as there
> are a lot of energy components that aren't tied to any particular
> transaction (background/refresh). However, if, from these statistics, you
> wanted to get the total energy, you'd just sum all of the watts numbers and
> multiply by the length of the epoch in seconds. This would give you total
> energy. ****
>
> ** **
>
> You're right that burstEnergy (and the other *Energy) fields are poorly
> named since they are in fact current, but all you have to do to convert
> them to energy is to multiply by Vdd. So if you wanted joules instead of
> watts, you could change these lines:
> https://github.com/dramninjasUMD/DRAMSim2/blob/master/MemoryController.cpp#L866
> and just remove the division by elapsedCycles .****
>
> ** **
>
> On Thu, Jul 25, 2013 at 11:10 AM, Hassan, Ahmad <[email protected]>
> wrote:****
>
>    ****
>
> Hi,****
>
>  ****
>
> Please can someone describe how to measure energy for one read or write
> access (64Bytes) for DDR3 DRAM?****
>
>  ****
>
> DRAMSim2 only reports power and I couldn’t figure out how to get the
> energy of one read or write operation (64 Bytes) from that.****
>
>  ****
>
> I created the trace file with just one entry: ****
>
> 0x1FF96FC0 WRITE   20****
>
>  ****
>
> When I run DRAMsim2, it gives the following statistics but I couldn’t find
> out how to measure energy for that write operation (64bytes)****
>
>  ****
>
> == Power Data for Rank        1****
>
>    Average Power (watts)     : 0.085****
>
>      -Background (watts)     : 0.076****
>
>      -Act/Pre    (watts)     : 0.001****
>
>      -Burst      (watts)     : 0.001****
>
>      -Refresh    (watts)     : 0.008****
>
>  ****
>
> I can see an attribute burstEnergy in MemoryController.cpp but it is not
> the energy, it is the accumulated current.****
>
>  ****
>
> Thanks for the help****
>
>  ****
>
> Cheers. ****
>
> ** **
>
> _______________________________________________
> http://www.marss86.org
> Marss86-Devel mailing list
> [email protected]
> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel****
>
>  ** **
>
> ** **
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to