diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2013-11-01 11:56:26 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2013-11-01 11:56:26 -0400 |
commit | bb572663cf1ba802492743f1196eb9eac4c20bea (patch) | |
tree | 7ff2e2901957bbdeb1b64c9aca453255706d22a9 /src/mem/SimpleDRAM.py | |
parent | da6fd72f62578d0a981de8bb37dfb803d6c13f8a (diff) | |
download | gem5-bb572663cf1ba802492743f1196eb9eac4c20bea.tar.xz |
mem: Add a simple adaptive version of the open-page policy
This patch adds a basic adaptive version of the open-page policy that
guides the decision to keep open or close by looking at the contents
of the controller queues. If no row hits are found, and bank conflicts
are present, then the row is closed by means of an auto
precharge. This is a well-known technique that should improve
performance in most use-cases.
Diffstat (limited to 'src/mem/SimpleDRAM.py')
-rw-r--r-- | src/mem/SimpleDRAM.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/SimpleDRAM.py b/src/mem/SimpleDRAM.py index c450f8992..b16aa6003 100644 --- a/src/mem/SimpleDRAM.py +++ b/src/mem/SimpleDRAM.py @@ -53,8 +53,8 @@ class MemSched(Enum): vals = ['fcfs', 'frfcfs'] # open row. For a closed-page policy, CoRaBaCh maximises parallelism. class AddrMap(Enum): vals = ['RaBaChCo', 'RaBaCoCh', 'CoRaBaCh'] -# Enum for the page policy, either open or close. -class PageManage(Enum): vals = ['open', 'close'] +# Enum for the page policy, either open, open_adaptive or close. +class PageManage(Enum): vals = ['open', 'open_adaptive', 'close'] # SimpleDRAM is a single-channel single-ported DRAM controller model # that aims to model the most important system-level performance |