-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2000/
-----------------------------------------------------------

(Updated Oct. 8, 2013, 1:42 p.m.)


Review request for Default.


Changes
-------

1) Commented some more
2) Undid the attempt to pass lower bits to lower level caches
3) Made parameters const


Repository: gem5


Description
-------

Extends the classic prefetcher.

This patch, originally started by Amin Farmahini, extends the classic 
prefetcher to work on non-block aligned addresses.  Because the existing 
prefetchers in gem5 mask off the lower address bits of cache accesses, many 
predictable strides fail to be detected.  For example, if a load were to stride 
by 48 bytes, with 64 byte cachelines, the current stride based prefetcher would 
see an access pattern of 0, 64, 64, 128, 192.... Thus not detecting a constant 
stride pattern.  This patch fixes this, by training the prefetcher on access 
and not masking off the lower address bits.

It also adds the following configuration options:  1) Training/prefetching only 
on cache misses, 2) Training/prefetching only on data acceses, 3) Optionally 
tagging prefetches with a PC address.  #3 allows prefetchers to train off of 
prefetch requests in systems with multiple cache levels and PC-based prefetchers
present at multiple levels.  It also effectively allows a pipelining of 
prefetch requests (like in POWER4) across multiple levels of cache hierarchy.

Improves performance on my gem5 configuration by 4.3% for SPECINT and 4.7%  for 
SPECFP (geomean).


Diffs (updated)
-----

  src/mem/cache/prefetch/stride.cc 8bddb3879c16 
  src/mem/cache/prefetch/base.cc 8bddb3879c16 
  src/mem/cache/prefetch/base.hh 8bddb3879c16 
  src/mem/cache/prefetch/Prefetcher.py 8bddb3879c16 
  src/mem/cache/cache_impl.hh 8bddb3879c16 
  src/mem/request.hh 8bddb3879c16 

Diff: http://reviews.gem5.org/r/2000/diff/


Testing
-------

Benchmarked SPEC2006 simpoints, will post on the dev mailing list with more 
detailed results.


Thanks,

Mitch Hayenga

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to