Go to the documentation of this file.
36 #include "params/BloomFilterBulk.hh"
41 namespace bloom_filter
48 (std::numeric_limits<Addr>::digits -
offsetBits),
49 "Sectors need more bits than available");
90 (part1 << 14) | (part2 << 13) | (part3 << 12) | (part4 << 11) |
91 (part5 << 9) | (part6 << 8) | (part7 << 7) | (part8 << 6) |
92 (part9 << 4) | (part10 << 1) | (part11);
95 Addr remaining_bits =
bits(
addr, std::numeric_limits<Addr>::digits - 1,
97 result = result | remaining_bits;
const int numHashes
Number of hashes.
std::vector< SatCounter8 > filter
The filter itself.
const unsigned offsetBits
Number of LSB bits to ignore from the the addresses.
static constexpr std::enable_if_t< std::is_integral_v< T >, int > floorLog2(T x)
const int sectorBits
Number of bits used per sector.
Bulk(const BloomFilterBulkParams &p)
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
The MultiBitSel Bloom Filter associates an address to multiple entries through the use of multiple ha...
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Addr permute(Addr addr) const
Permutes the address to generate its signature.
int hash(Addr addr, int hash_number) const override
Apply the selected the hash functions to an address.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Generated on Sun Jul 30 2023 01:56:51 for gem5 by doxygen 1.8.17