riscv-perf-model icon indicating copy to clipboard operation
riscv-perf-model copied to clipboard

Prefetcher API

Open rajatbhatia1 opened this issue 1 year ago • 1 comments

Initial version of prefetcher API

This API proposes to separate the prefetcher interface (defined in PrefetcherIF.hpp) with actual implementation of prefetch engine (defined in PrefetchEngineIF.hpp). This approach allows the model to rapidly customize the prefetchers with multiple prefetch policies
e.g. We can create stride prefetch engine and use the same engine in L2 Prefetcher as well as L3 prefetcher.

Prefetchers that depend on external (to prefetcher) state can optionally create an Update Object deriving it from PrefetcherStateUpdateType and pass the updates to the prefetcher.

NextLinePrefetchEngine is an example implementation of PrefetchEngineIF
DataPrefetcher is an example implementation of a simple prefetcher utilizing the above engine

The files have been compile tested.
Unit testing, LSU integration is TBD and will be done after review and possible changes.

rajatbhatia1 avatar Jul 16 '24 23:07 rajatbhatia1

Hey @rajatbhatia1 where are you on this work?

klingaard avatar Sep 29 '24 14:09 klingaard

I'm going to close this PR for now until @rajatbhatia1 has more updates for us to look at.

klingaard avatar Nov 10 '24 19:11 klingaard