From 305c5ea8fed5bca224377c1bdd8c726fac0f926f Mon Sep 17 00:00:00 2001 From: Davit Grigoryan Date: Tue, 14 Apr 2026 03:06:42 +0000 Subject: create separate scoreboard for I-Buf's second slot; fix other minor issues --- src/gpgpu-sim/scoreboard.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/gpgpu-sim/scoreboard.h') diff --git a/src/gpgpu-sim/scoreboard.h b/src/gpgpu-sim/scoreboard.h index 1fe0923..9bf51e6 100644 --- a/src/gpgpu-sim/scoreboard.h +++ b/src/gpgpu-sim/scoreboard.h @@ -50,6 +50,12 @@ class Scoreboard { void printContents() const; const bool islongop(unsigned warp_id, unsigned regnum); + // Secondary scoreboard for intra-warp co-issue (split-level tracking) + void reserveRegisterSecondary(unsigned wid, unsigned regnum); + void releaseRegisterSecondary(unsigned wid, unsigned regnum); + bool checkCollisionSecondary(unsigned wid, const inst_t *inst) const; + void clearSecondary(unsigned wid); + private: void reserveRegister(unsigned wid, unsigned regnum); int get_sid() const { return m_sid; } @@ -62,6 +68,9 @@ class Scoreboard { // Register that depend on a long operation (global, local or tex memory) std::vector > longopregs; + // Secondary path register tracking (for I-Buffer half 1, intra-warp co-issue) + std::vector > sec_reg_table; + class gpgpu_t *m_gpu; }; -- cgit v1.3