mem: Support any number of master-IDs in stride prefetcher
authorStephan Diestelhorst <stephan.diestelhorst@arm.com>
Fri, 27 Mar 2015 08:56:03 +0000 (04:56 -0400)
committerStephan Diestelhorst <stephan.diestelhorst@arm.com>
Fri, 27 Mar 2015 08:56:03 +0000 (04:56 -0400)
commitcb8856f58059df962652243a9a9c7549571d79fa
tree617812866f12e8b0d89d27c00754689d22e355d3
parent0197e580e5761cba7c1f643aa9d85d5465964106
mem: Support any number of master-IDs in stride prefetcher

The stride prefetcher had a hardcoded number of contexts (i.e. master-IDs)
that it could handle. Since master IDs need to be unique per system, and
every core, cache etc. requires a separate master port, a static limit on
these does not make much sense.

Instead, this patch adds a small hash map that will map all master IDs to
the right prefetch state and dynamically allocates new state for new master
IDs.
src/mem/cache/prefetch/stride.cc
src/mem/cache/prefetch/stride.hh