gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::CacheAccessor Struct Referenceabstract

Provides generic cache lookup functions. More...

#include <cache_probe_arg.hh>

Inheritance diagram for gem5::CacheAccessor:
gem5::BaseCache::CacheAccessorImpl gem5::ruby::RubyPrefetcherProxy

Public Member Functions

virtual bool inCache (Addr addr, bool is_secure) const =0
 Determine if address is in cache.
 
virtual bool hasBeenPrefetched (Addr addr, bool is_secure) const =0
 Determine if address has been prefetched.
 
virtual bool hasBeenPrefetched (Addr addr, bool is_secure, RequestorID requestor) const =0
 Determine if address has been prefetched by the requestor.
 
virtual bool inMissQueue (Addr addr, bool is_secure) const =0
 Determine if address is in cache miss queue.
 
virtual bool coalesce () const =0
 Determine if cache is coalescing writes.
 

Detailed Description

Provides generic cache lookup functions.

A cache may provide a CacheAccessor object to other components that need to perform a lookup outside the normal cache control flow. Currently this is used by prefetchers that perform lookups when notified by cache events.

Definition at line 54 of file cache_probe_arg.hh.

Member Function Documentation

◆ coalesce()

virtual bool gem5::CacheAccessor::coalesce ( ) const
pure virtual

Determine if cache is coalescing writes.

Implemented in gem5::BaseCache::CacheAccessorImpl, and gem5::ruby::RubyPrefetcherProxy.

Referenced by gem5::prefetch::Base::probeNotify().

◆ hasBeenPrefetched() [1/2]

virtual bool gem5::CacheAccessor::hasBeenPrefetched ( Addr addr,
bool is_secure ) const
pure virtual

Determine if address has been prefetched.

Implemented in gem5::BaseCache::CacheAccessorImpl, and gem5::ruby::RubyPrefetcherProxy.

Referenced by gem5::prefetch::Queued::notify(), and gem5::prefetch::Base::probeNotify().

◆ hasBeenPrefetched() [2/2]

virtual bool gem5::CacheAccessor::hasBeenPrefetched ( Addr addr,
bool is_secure,
RequestorID requestor ) const
pure virtual

Determine if address has been prefetched by the requestor.

Implemented in gem5::BaseCache::CacheAccessorImpl, and gem5::ruby::RubyPrefetcherProxy.

◆ inCache()

virtual bool gem5::CacheAccessor::inCache ( Addr addr,
bool is_secure ) const
pure virtual

◆ inMissQueue()

virtual bool gem5::CacheAccessor::inMissQueue ( Addr addr,
bool is_secure ) const
pure virtual

The documentation for this struct was generated from the following file:

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0