diff options
| author | tgrogers <[email protected]> | 2018-03-13 10:58:38 -0400 |
|---|---|---|
| committer | tgrogers <[email protected]> | 2018-03-13 10:58:38 -0400 |
| commit | 7545c4e2c5a41cecc57e9a4bf443995700260a32 (patch) | |
| tree | 1b6ea2b29dd27843dfe352ad55d3a3797d8c55e7 /src/gpgpu-sim/dram_sched.h | |
| parent | d4db0d28cca5fb9ce6496aa7a18859a97e1bd56d (diff) | |
| parent | cada77625208167216a874b0dcec2b2828bbf788 (diff) | |
Merging in latest - Merged in the Jenkinsfile to run all Mahmoud's new configs
Diffstat (limited to 'src/gpgpu-sim/dram_sched.h')
| -rw-r--r-- | src/gpgpu-sim/dram_sched.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gpgpu-sim/dram_sched.h b/src/gpgpu-sim/dram_sched.h index 3860f5b..63f5831 100644 --- a/src/gpgpu-sim/dram_sched.h +++ b/src/gpgpu-sim/dram_sched.h @@ -35,6 +35,11 @@ #include <list> #include <map> +enum memory_mode { + READ_MODE = 0, + WRITE_MODE +}; + class frfcfs_scheduler { public: frfcfs_scheduler( const memory_config *config, dram_t *dm, memory_stats_t *stats ); @@ -43,17 +48,24 @@ public: dram_req_t *schedule( unsigned bank, unsigned curr_row ); void print( FILE *fp ); unsigned num_pending() const { return m_num_pending;} + unsigned num_write_pending() const { return m_num_write_pending;} private: const memory_config *m_config; dram_t *m_dram; unsigned m_num_pending; + unsigned m_num_write_pending; std::list<dram_req_t*> *m_queue; std::map<unsigned,std::list<std::list<dram_req_t*>::iterator> > *m_bins; std::list<std::list<dram_req_t*>::iterator> **m_last_row; unsigned *curr_row_service_time; //one set of variables for each bank. unsigned *row_service_timestamp; //tracks when scheduler began servicing current row + std::list<dram_req_t*> *m_write_queue; + std::map<unsigned,std::list<std::list<dram_req_t*>::iterator> > *m_write_bins; + std::list<std::list<dram_req_t*>::iterator> **m_last_write_row; + + enum memory_mode m_mode; memory_stats_t *m_stats; }; |
