mem: Allow tagged prefetching for instruction fetches on stride prefetcher (prefetcher patch #2)
Review Request #2001 - Created Sept. 6, 2013 and submitted
| Information | |
|---|---|
| Mitch Hayenga | |
| gem5 | |
| Reviewers | |
| Default | |
Allow forcing tagged prefetches for IFETCH requests given to stride prefetchers. For systems with a tightly coupled L2, a stride-based prefetcher may observe access requests from both instruction and data L1 caches. However, the PC address of an instruction miss gives no relevant training information to the stride based prefetcher(there is no stride to train). In theses cases, its better if the L2 stride prefetcher simply reverted back to a simple N-block ahead prefetcher. This patch enables this option. Note: This patch relies upon the earlier patch submitted in review request #2000. Negligibly improves performance on SPEC, but SPEC isn't an instruction footprint heavy suite.
Issue Summary
3
3
0
0
| Description | From | Last Updated | Status |
|---|---|---|---|
| const even? | Andreas Hansson | Sept. 12, 2013, 12:50 p.m. | Open |
| Move new_addr = data_ddr outside the for loop perhaps and just add += blkSize for each iteration? | Andreas Hansson | Sept. 12, 2013, 12:50 p.m. | Open |
| What is this expression doing? | Andreas Hansson | Sept. 12, 2013, 12:50 p.m. | Open |
Posted (Sept. 12, 2013, 12:50 p.m.)
-
src/mem/cache/prefetch/stride.hh (Diff revision 2) -
const even?
-
src/mem/cache/prefetch/stride.cc (Diff revision 2) -
Move new_addr = data_ddr outside the for loop perhaps and just add += blkSize for each iteration?
-
src/mem/cache/prefetch/stride.cc (Diff revision 2) -
What is this expression doing?
seems fine... would like to see andreas' comments addressed.. othrewise happy
