Support for classic prefetchers in Ruby (#502)

This patch adds supports for using the "classic" prefetchers with ruby
cache controllers.

This pull request includes a few commits making the changes in this
order:
- Refactor decouples the classic cache and prefetchers interfaces
- Extras probes for later integration with ruby
- General ruby-side support
- Adds support for the CHI protocol

Commit [mem-ruby: support prefetcher in CHI
protocol](2bdb65653b)
may be used as example on how to add support for other protocols.

JIRA issues that may be related to this pull request:
    https://gem5.atlassian.net/browse/GEM5-457
    https://gem5.atlassian.net/browse/GEM5-1112
This commit is contained in:
Jason Lowe-Power
2023-11-30 10:24:29 -08:00
committed by GitHub
54 changed files with 918 additions and 233 deletions

View File

@@ -63,6 +63,7 @@ python_class_map = {
"MessageBuffer": "MessageBuffer",
"DMASequencer": "DMASequencer",
"RubyPrefetcher": "RubyPrefetcher",
"prefetch::Base": "BasePrefetcher",
"Cycles": "Cycles",
"Addr": "Addr",
}