diff options
| author | Timothy G Rogers <[email protected]> | 2018-02-21 15:39:03 -0500 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2018-02-21 15:39:03 -0500 |
| commit | 4a94401a277342cfd0799863b1a07abc95f954c7 (patch) | |
| tree | 189adf02f534869654c7ebe5f5dd4c4838def3a3 /src/gpgpu-sim/dram_sched.h | |
| parent | 275e5813f4ef3ef92851d1a3752d1bffaabcdb50 (diff) | |
| parent | 6a2f9978b9325fb78e8af1be5d5aaf90814e08d7 (diff) | |
Merge pull request #6 from abdallm/dev-purdue-integration
HBM model + all Mahmoud's changes to the sim
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; }; |
