mem: Make DRAM write queue draining more aggressive
authorAndreas Hansson <andreas.hansson@arm.com>
Sun, 23 Mar 2014 15:12:01 +0000 (11:12 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Sun, 23 Mar 2014 15:12:01 +0000 (11:12 -0400)
commit6557741311f28f718cc33f9abde36d7e51f3585c
treef5d77bce64a777801d40ef9901cff9b1c17c69c8
parent7d883df7e58b6e61ed93717f6fde251086d50153
mem: Make DRAM write queue draining more aggressive

This patch changes the triggering condition for the write draining
such that we grab the opportunity to issue writes if there are no
reads waiting (as opposed to waiting for the writes to reach the high
threshold). As a result, we potentially drain some of the writes in read
idle periods (if any).

A low threshold is added to be able to control how many write bursts
are kept in the memory controller queue (acting as on-chip storage).

The high and low thresholds are updated to sensible values for a 32/64
size write buffer. Note that the thresholds should be adjusted along
with the queue sizes.

This patch also adds some basic initialisation sanity checks and moves
part of the initialisation to the constructor.
src/mem/SimpleDRAM.py
src/mem/simple_dram.cc
src/mem/simple_dram.hh