diff options
Diffstat (limited to 'src/gpgpu-sim/scoreboard.h')
| -rw-r--r-- | src/gpgpu-sim/scoreboard.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/gpgpu-sim/scoreboard.h b/src/gpgpu-sim/scoreboard.h index 4e1c154..1b7235d 100644 --- a/src/gpgpu-sim/scoreboard.h +++ b/src/gpgpu-sim/scoreboard.h @@ -20,22 +20,21 @@ class Scoreboard { public: Scoreboard( unsigned sid, unsigned n_warps ); - void printContents(); - - void reserveRegisters(unsigned wid, const inst_t *inst); + void reserveRegisters(const warp_inst_t *inst); void releaseRegisters(const warp_inst_t *inst); + void releaseRegister(unsigned wid, unsigned regnum); - bool checkCollision(unsigned wid, const inst_t *inst); + bool checkCollision(unsigned wid, const inst_t *inst) const; bool pendingWrites(unsigned wid) const; + void printContents() const; private: void reserveRegister(unsigned wid, unsigned regnum); - void releaseRegister(unsigned wid, unsigned regnum); unsigned m_sid; // keeps track of pending writes to registers - // indexed by warp id - std::vector< std::set<int> > reg_table; + // indexed by warp id, reg_id => pending write count + std::vector< std::set<unsigned> > reg_table; }; |
