summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/dram_sched.cc
diff options
context:
space:
mode:
authorMahmoud <[email protected]>2017-09-12 18:53:26 -0400
committerMahmoud <[email protected]>2017-09-12 18:53:26 -0400
commitf678104dcc3e5c970b871244e18e38f97c0caaa5 (patch)
treedce9c77eace10f87b93b581e435cbe0c17907e02 /src/gpgpu-sim/dram_sched.cc
parentbff1764efb3e1dc91d61190ab61909ac345ec2f0 (diff)
Adding HBM model
Diffstat (limited to 'src/gpgpu-sim/dram_sched.cc')
-rw-r--r--src/gpgpu-sim/dram_sched.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gpgpu-sim/dram_sched.cc b/src/gpgpu-sim/dram_sched.cc
index 8303e86..008b5bb 100644
--- a/src/gpgpu-sim/dram_sched.cc
+++ b/src/gpgpu-sim/dram_sched.cc
@@ -78,6 +78,9 @@ void frfcfs_scheduler::data_collection(unsigned int bank)
dram_req_t *frfcfs_scheduler::schedule( unsigned bank, unsigned curr_row )
{
+ //row
+ bool rowhit = true;
+
if ( m_last_row[bank] == NULL ) {
if ( m_queue[bank].empty() )
return NULL;
@@ -89,11 +92,17 @@ dram_req_t *frfcfs_scheduler::schedule( unsigned bank, unsigned curr_row )
assert( bin_ptr != m_bins[bank].end() ); // where did the request go???
m_last_row[bank] = &(bin_ptr->second);
data_collection(bank);
+ rowhit = false;
} else {
m_last_row[bank] = &(bin_ptr->second);
-
+ rowhit = true;
}
}
+ //rowblp
+ m_dram->access_num++;
+ if(rowhit)
+ m_dram->hits_num++;
+
std::list<dram_req_t*>::iterator next = m_last_row[bank]->back();
dram_req_t *req = (*next);