summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/dram.cc
diff options
context:
space:
mode:
authorMahmoud <[email protected]>2017-10-25 13:15:44 -0400
committerMahmoud <[email protected]>2017-10-25 13:15:44 -0400
commit50b7ac49a78948f61fa685d717de90feaa277b9b (patch)
tree668375bfa2f2427a850fa7e691d5ceae347a6491 /src/gpgpu-sim/dram.cc
parent07b375cc0c0da2b8a8ca7263f11ecca8ebaf8fe9 (diff)
The commits includes:
1- REEAD/WERITE buffer for DRAM 2- Fixing FETCH_ON_WRITE cahce policy bug
Diffstat (limited to 'src/gpgpu-sim/dram.cc')
-rw-r--r--src/gpgpu-sim/dram.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gpgpu-sim/dram.cc b/src/gpgpu-sim/dram.cc
index 5c1ddab..7ed7b6f 100644
--- a/src/gpgpu-sim/dram.cc
+++ b/src/gpgpu-sim/dram.cc
@@ -149,11 +149,18 @@ dram_t::dram_t( unsigned int partition_id, const struct memory_config *config, m
}
-bool dram_t::full() const
+bool dram_t::full(bool is_write) const
{
if(m_config->scheduler_type == DRAM_FRFCFS){
if(m_config->gpgpu_frfcfs_dram_sched_queue_size == 0 ) return false;
- return m_frfcfs_scheduler->num_pending() >= m_config->gpgpu_frfcfs_dram_sched_queue_size;
+ if(m_config->seperate_write_queue_enabled){
+ if(is_write)
+ return m_frfcfs_scheduler->num_write_pending() >= m_config->gpgpu_frfcfs_dram_write_queue_size;
+ else
+ return m_frfcfs_scheduler->num_pending() >= m_config->gpgpu_frfcfs_dram_sched_queue_size;
+ }
+ else
+ return m_frfcfs_scheduler->num_pending() >= m_config->gpgpu_frfcfs_dram_sched_queue_size;
}
else return mrqq->full();
}