38#ifndef __MEM_CACHE_TAGS_PARTITIONING_POLICIES_WAY_HH__
39#define __MEM_CACHE_TAGS_PARTITIONING_POLICIES_WAY_HH__
41#include <unordered_map>
42#include <unordered_set>
44#include "debug/PartitionPolicy.hh"
47#include "params/WayPartitioningPolicy.hh"
52namespace partitioning_policy
70 const uint64_t partition_id)
const override;
92 std::unordered_map< uint64_t, std::unordered_set< unsigned > >
A Partitioning Policy is a cache partitioning mechanism that limits the cache block allocations in a ...
A WayPartitioningPolicy filters the cache blocks available to a memory requestor (identified via Part...
WayPartitioningPolicy(const WayPartitioningPolicyParams ¶ms)
std::unordered_map< uint64_t, std::unordered_set< unsigned > > partitionIdWays
Map of policied PartitionIDs and their associated cache ways.
void notifyRelease(const uint64_t partition_id) override
Empty implementation as block allocations do not vary with number of allocated blocks for this policy...
void filterByPartition(std::vector< ReplaceableEntry * > &entries, const uint64_t partition_id) const override
Filters the allocatable cache blocks for a memory request based on its PartitionID and policy allocat...
void notifyAcquire(const uint64_t partition_id) override
Empty implementation as block allocations do not vary with number of allocated blocks for this policy...
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.