diff options
author | Rico Amslinger <rico.amslinger@informatik.uni-augsburg.de> | 2018-03-05 15:33:49 +0100 |
---|---|---|
committer | Rico Amslinger <rico.amslinger@informatik.uni-augsburg.de> | 2018-03-12 12:01:38 +0000 |
commit | 4cc9473c971650153d148b74ad67e50e54828a99 (patch) | |
tree | 24c156223affd14c11301679c3c436be9c49ec2e /configs/ruby/CntrlBase.py | |
parent | f1b7d0afe93497ef55e857cdd7ae9e168970bd65 (diff) | |
download | gem5-4cc9473c971650153d148b74ad67e50e54828a99.tar.xz |
mem-ruby: Fix RubyPrefetcher support in MESI_Two_Level
Only a small quantity of prefetches were issued, as the positive
feedback mechanism was not implemented. This commit adds a new
action po_observeHit, which notifies the RubyPrefetcher of
successful prefetches and resets the prefetch flag.
When a cache line was replaced by a prefetch, the wrong queue could
be stalled. This commit adds a new event PF_L1_Replacement, which
stalls the correct queue.
The behavior when receiving a prefetch or instruction fetch while
in PF_IS_I (prefetch caused GETs, but got invalidated before the
response was received) was undefined. This was changed to drop the
prefetch request or change the state to non-prefetch, respectively.
This behavior is analogous to IS_I (non-prefetch caused GETs, but
got invalidated before the response was received) and the data case,
respectively.
In my local branch a major (20+%) performance increase can be
observed in SPEC2006 gobmk and leslie3d when enabling the
prefetcher. Some other benchmarks like bwaves, GemsFDTD, sphinx and
wrf show smaller (~10%) performance increases. Unfortunately, the
performance in most other SPEC benchmarks is still poor, most likely
as the prefetcher does not detect strides fast/often enough. In
order to push the change timely (most benchmarks have runtimes in
the order of days on my machine even with the smallest parameters)
after checkout, I have only run gobmk with the base repository
+ this commit. The results match those of my local branch.
Change-Id: I9903a2fcd02060ea5e619b409f31f7d6fac47ae8
Reviewed-on: https://gem5-review.googlesource.com/8801
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Swapnil Haria <swapnilster@gmail.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'configs/ruby/CntrlBase.py')
0 files changed, 0 insertions, 0 deletions