mem-cache: Create Skewed Assoc placement policy
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Fri, 9 Mar 2018 14:47:33 +0000 (15:47 +0100)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Fri, 7 Sep 2018 11:19:04 +0000 (11:19 +0000)
commit8fee83d1ff0abf23226138c36a995dfe3ce70516
treec0293d1921ef60c95e4ed24575195845b6954e13
parent606b1b46f5ff382b0d9f35d515f137071785aeab
mem-cache: Create Skewed Assoc placement policy

Create a class that implements the skewed associative placement
policy. It uses the hash function and expansions of the skewing
functions described in "Skewed-Associative caches", by Seznec.

Only 8 skewing functions are implemented, and therefore if more
are needed a hash function will be recursively applied on top
of the output of one of these functions to generate different
values. This is not optimal, and if more functions are needed
it might be more effective to implement them.

Change-Id: Ibc77edffd8128114a8b200cec5d8deedfb5105cb
Reviewed-on: https://gem5-review.googlesource.com/8886
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
src/mem/cache/tags/SConscript
src/mem/cache/tags/Tags.py
src/mem/cache/tags/base_set_assoc.hh
src/mem/cache/tags/skewed_assoc.cc [new file with mode: 0644]
src/mem/cache/tags/skewed_assoc.hh [new file with mode: 0644]