riscv-perf-model
riscv-perf-model copied to clipboard
Prefetcher API
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.
Hey @rajatbhatia1 where are you on this work?
I'm going to close this PR for now until @rajatbhatia1 has more updates for us to look at.