Prefetcher.py revision 8831
15086Sgblack@eecs.umich.edufrom m5.SimObject import SimObject
25086Sgblack@eecs.umich.edufrom m5.params import *
35086Sgblack@eecs.umich.educlass BasePrefetcher(SimObject):
45086Sgblack@eecs.umich.edu    type = 'BasePrefetcher'
55086Sgblack@eecs.umich.edu    abstract = True
65086Sgblack@eecs.umich.edu    size = Param.Int(100,
75086Sgblack@eecs.umich.edu         "Number of entries in the hardware prefetch queue")
85086Sgblack@eecs.umich.edu    cross_pages = Param.Bool(False,
95086Sgblack@eecs.umich.edu         "Allow prefetches to cross virtual page boundaries")
105086Sgblack@eecs.umich.edu    serial_squash = Param.Bool(False,
115086Sgblack@eecs.umich.edu         "Squash prefetches with a later time on a subsequent miss")
125086Sgblack@eecs.umich.edu    degree = Param.Int(1,
135086Sgblack@eecs.umich.edu         "Degree of the prefetch depth")
145086Sgblack@eecs.umich.edu    latency = Param.Latency('10t',
155086Sgblack@eecs.umich.edu         "Latency of the prefetcher")
165086Sgblack@eecs.umich.edu    use_cpu_id = Param.Bool(True,
175086Sgblack@eecs.umich.edu         "Use the CPU ID to separate calculations of prefetches")
185086Sgblack@eecs.umich.edu    data_accesses_only = Param.Bool(False,
195086Sgblack@eecs.umich.edu         "Only prefetch on data not on instruction accesses")
205086Sgblack@eecs.umich.edu
215086Sgblack@eecs.umich.educlass GHBPrefetcher(BasePrefetcher):
225086Sgblack@eecs.umich.edu    type = 'GHBPrefetcher'
235086Sgblack@eecs.umich.edu    cxx_class = 'GHBPrefetcher'
245086Sgblack@eecs.umich.edu
255086Sgblack@eecs.umich.educlass StridePrefetcher(BasePrefetcher):
265086Sgblack@eecs.umich.edu    type = 'StridePrefetcher'
275086Sgblack@eecs.umich.edu    cxx_class = 'StridePrefetcher'
285086Sgblack@eecs.umich.edu
295086Sgblack@eecs.umich.educlass TaggedPrefetcher(BasePrefetcher):
305086Sgblack@eecs.umich.edu    type = 'TaggedPrefetcher'
3111793Sbrandon.potter@amd.com    cxx_class = 'TaggedPrefetcher'
3211793Sbrandon.potter@amd.com
335086Sgblack@eecs.umich.edu
345086Sgblack@eecs.umich.edu
355086Sgblack@eecs.umich.edu
365086Sgblack@eecs.umich.edu