RubyPrefetcher.py (9363:e2616dc035ce) RubyPrefetcher.py (10466:73b7549d979e)
1# Copyright (c) 2012 Mark D. Hill and David A. Wood
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 13 unchanged lines hidden (view full) ---

22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Nilay Vaish
28
29from m5.SimObject import SimObject
1# Copyright (c) 2012 Mark D. Hill and David A. Wood
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 13 unchanged lines hidden (view full) ---

22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Nilay Vaish
28
29from m5.SimObject import SimObject
30from System import System
30from m5.params import *
31from m5.params import *
32from m5.proxy import *
31
32class Prefetcher(SimObject):
33 type = 'Prefetcher'
34 cxx_class = 'Prefetcher'
35 cxx_header = "mem/ruby/structures/Prefetcher.hh"
36
37 num_streams = Param.UInt32(4,
38 "Number of prefetch streams to be allocated")
39 pf_per_stream = Param.UInt32(1, "Number of prefetches per stream")
40 unit_filter = Param.UInt32(8,
41 "Number of entries in the unit filter array")
42 nonunit_filter = Param.UInt32(8,
43 "Number of entries in the non-unit filter array")
44 train_misses = Param.UInt32(4, "")
45 num_startup_pfs = Param.UInt32(1, "")
46 cross_page = Param.Bool(False, """True if prefetched address can be on a
47 page different from the observed address""")
33
34class Prefetcher(SimObject):
35 type = 'Prefetcher'
36 cxx_class = 'Prefetcher'
37 cxx_header = "mem/ruby/structures/Prefetcher.hh"
38
39 num_streams = Param.UInt32(4,
40 "Number of prefetch streams to be allocated")
41 pf_per_stream = Param.UInt32(1, "Number of prefetches per stream")
42 unit_filter = Param.UInt32(8,
43 "Number of entries in the unit filter array")
44 nonunit_filter = Param.UInt32(8,
45 "Number of entries in the non-unit filter array")
46 train_misses = Param.UInt32(4, "")
47 num_startup_pfs = Param.UInt32(1, "")
48 cross_page = Param.Bool(False, """True if prefetched address can be on a
49 page different from the observed address""")
50 sys = Param.System(Parent.any, "System this prefetcher belongs to")