changeset 6da4081bcbb4 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=6da4081bcbb4
description:
        mem: Schedule time for DRAM event taking tRAS into account

        This patch changes the time the controller is woken up to take the
        next scheduling decisions. tRAS is now handled in estimateLatency and
        doDRAMAccess and we do not need to worry about it at scheduling
        time. The earliest we need to wake up is to do a pre-charge, row
        access and column access before the bus becomes free for use.

diffstat:

 src/mem/simple_dram.cc |  9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diffs (20 lines):

diff -r 44cd6322f5d4 -r 6da4081bcbb4 src/mem/simple_dram.cc
--- a/src/mem/simple_dram.cc    Fri Nov 01 11:56:16 2013 -0400
+++ b/src/mem/simple_dram.cc    Fri Nov 01 11:56:17 2013 -0400
@@ -1135,12 +1135,11 @@
 
     // The absolute soonest you have to start thinking about the
     // next request is the longest access time that can occur before
-    // busBusyUntil. Assuming you need to meet tRAS, then precharge,
-    // open a new row, and access, it is ~4*tRCD.
+    // busBusyUntil. Assuming you need to precharge,
+    // open a new row, and access, it is tRP + tRCD + tCL
 
-
-    Tick newTime = (busBusyUntil > 4 * tRCD) ?
-                   std::max(busBusyUntil - 4 * tRCD, curTick()) :
+    Tick newTime = (busBusyUntil > tRP + tRCD + tCL ) ?
+                   std::max(busBusyUntil - (tRP + tRCD + tCL) , curTick()) :
                    curTick();
 
     if (!nextReqEvent.scheduled() && !stopReads){
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to