diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-03-09 15:47:33 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-09-07 11:19:04 +0000 |
commit | 8fee83d1ff0abf23226138c36a995dfe3ce70516 (patch) | |
tree | c0293d1921ef60c95e4ed24575195845b6954e13 /src/mem/cache/tags/base_set_assoc.hh | |
parent | 606b1b46f5ff382b0d9f35d515f137071785aeab (diff) | |
download | gem5-8fee83d1ff0abf23226138c36a995dfe3ce70516.tar.xz |
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>
Diffstat (limited to 'src/mem/cache/tags/base_set_assoc.hh')
-rw-r--r-- | src/mem/cache/tags/base_set_assoc.hh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/cache/tags/base_set_assoc.hh b/src/mem/cache/tags/base_set_assoc.hh index 61a16584f..8e4657fc1 100644 --- a/src/mem/cache/tags/base_set_assoc.hh +++ b/src/mem/cache/tags/base_set_assoc.hh @@ -183,9 +183,9 @@ class BaseSetAssoc : public BaseTags /** * Finds the given address in the cache, do not update replacement data. * i.e. This is a no-side-effect find of a block. + * * @param addr The address to find. * @param is_secure True if the target memory space is secure. - * @param asid The address space ID. * @return Pointer to the cache block if found. */ CacheBlk* findBlock(Addr addr, bool is_secure) const override; @@ -237,7 +237,7 @@ class BaseSetAssoc : public BaseTags * @param addr The addr to a find possible locations for. * @return The possible locations. */ - const std::vector<CacheBlk*> getPossibleLocations(Addr addr) const + virtual const std::vector<CacheBlk*> getPossibleLocations(Addr addr) const { return sets[extractSet(addr)].blks; } |