mem-cache: Add multi-prefetcher adaptor
authorAndreas Sandberg <andreas.sandberg@arm.com>
Tue, 12 Apr 2016 14:10:13 +0000 (09:10 -0500)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 20 May 2019 13:06:00 +0000 (13:06 +0000)
commitb4c472945a6313e1ae1f4ba01477360c372dea6b
tree50301b52f72f4a79e9e28b48b2a3fd1fe12ee076
parent526a2fb619f5e5c2c2a7f19498a737571df189b7
mem-cache: Add multi-prefetcher adaptor

This patch adds a meta-prefetcher that enables gem5's cache models to
connect to multiple prefetchers. Sub-prefetchers still use the
probes-based interface and training can be controlled
independently. However, when the cache requests a prefetch packet, the
adaptor traverses the priority list of prefetchers and uses the first
prefetcher that is able to generate a prefetch.

Kudos to Mitch Hayenga for the original version of this patch.

Change-Id: I25569a834997e5404c7183ec995d212912c5dcdf
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18868
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/cache/prefetch/Prefetcher.py
src/mem/cache/prefetch/SConscript
src/mem/cache/prefetch/base.hh
src/mem/cache/prefetch/multi.cc [new file with mode: 0644]
src/mem/cache/prefetch/multi.hh [new file with mode: 0644]