summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2019-08-01 10:21:15 +0200
committerDaniel Carvalho <odanrc@yahoo.com.br>2019-09-12 19:40:58 +0000
commit8f0efe340bcac14b45f6f781c068f67811b3c273 (patch)
tree174319520093336b7bd565bef0cf8869fe148e1a
parent28c8fa04540837f25f7f8cf6d924c177176b8962 (diff)
downloadgem5-8f0efe340bcac14b45f6f781c068f67811b3c273.tar.xz
mem-cache: Fix BDI size calculation
The bitmask field indicates to which base a delta refers, and in the original paper it is fixed and proportional to the highest number of bases allowed in the compressed data. Change-Id: I271bf2e19e0765de52b933eaf6d4fcc2ce25d185 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19748 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
-rw-r--r--src/mem/cache/compressors/bdi.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mem/cache/compressors/bdi.cc b/src/mem/cache/compressors/bdi.cc
index e29179fc0..a8068c614 100644
--- a/src/mem/cache/compressors/bdi.cc
+++ b/src/mem/cache/compressors/bdi.cc
@@ -166,7 +166,7 @@ BDI::BDICompDataBaseDelta<TB, TD>::calculateCompressedSize()
std::size_t size = encodingBits;
// Number of bits used by BitMask
- size += bitMask.size()*std::ceil(std::log2(bases.size()));
+ size += bitMask.size()*std::ceil(std::log2(maxNumBases));
// Number of bits used by Bases. bases[0] is implicit in a hardware
// implementation, therefore its size is 0