summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/gpu-cache.h
diff options
context:
space:
mode:
authorJRPAN <[email protected]>2021-05-17 17:35:53 -0400
committerJRPAN <[email protected]>2021-05-18 19:54:57 -0400
commita2b1b1c2839fe3fc05a0cae126204120fab00f62 (patch)
tree5d4fb54cc9be41745fb2a698351fb1d01a288704 /src/gpgpu-sim/gpu-cache.h
parentf7833519471ce92619bd1e4807ec07eb55aed76e (diff)
adaptive cache - update
Diffstat (limited to 'src/gpgpu-sim/gpu-cache.h')
-rw-r--r--src/gpgpu-sim/gpu-cache.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gpgpu-sim/gpu-cache.h b/src/gpgpu-sim/gpu-cache.h
index ccc935b..0162b6c 100644
--- a/src/gpgpu-sim/gpu-cache.h
+++ b/src/gpgpu-sim/gpu-cache.h
@@ -616,6 +616,8 @@ class cache_config {
m_atom_sz = (m_cache_type == SECTOR) ? SECTOR_SIZE : m_line_sz;
m_sector_sz_log2 = LOGB2(SECTOR_SIZE);
original_m_assoc = m_assoc;
+ original_sz = m_nset * original_m_assoc * m_line_sz;
+
// For more details about difference between FETCH_ON_WRITE and WRITE
// VALIDAE policies Read: Jouppi, Norman P. "Cache write policies and
@@ -710,6 +712,14 @@ class cache_config {
assert(m_valid);
return MAX_DEFAULT_CACHE_SIZE_MULTIBLIER * original_m_assoc;
}
+ unsigned get_original_assoc() const {
+ assert(m_valid);
+ return original_m_assoc;
+ }
+ unsigned get_original_sz() const {
+ assert(m_valid);
+ return original_sz;
+ }
void print(FILE *fp) const {
fprintf(fp, "Size = %d B (%d Set x %d-way x %d byte line)\n",
m_line_sz * m_nset * m_assoc, m_nset, m_assoc, m_line_sz);
@@ -777,6 +787,7 @@ class cache_config {
unsigned m_atom_sz;
unsigned m_sector_sz_log2;
unsigned original_m_assoc;
+ unsigned original_sz;
bool m_is_streaming;
enum replacement_policy_t m_replacement_policy; // 'L' = LRU, 'F' = FIFO