Prefetcher.py (13416:d90887d0c889) | Prefetcher.py (13422:4ec52da74cd5) |
---|---|
1# Copyright (c) 2012, 2014 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 51 unchanged lines hidden (view full) --- 60 type = 'BasePrefetcher' 61 abstract = True 62 cxx_header = "mem/cache/prefetch/base.hh" 63 cxx_exports = [ 64 PyBindMethod("addEventProbe"), 65 ] 66 sys = Param.System(Parent.any, "System this prefetcher belongs to") 67 | 1# Copyright (c) 2012, 2014 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 51 unchanged lines hidden (view full) --- 60 type = 'BasePrefetcher' 61 abstract = True 62 cxx_header = "mem/cache/prefetch/base.hh" 63 cxx_exports = [ 64 PyBindMethod("addEventProbe"), 65 ] 66 sys = Param.System(Parent.any, "System this prefetcher belongs to") 67 |
68 # Get the block size from the parent (system) 69 block_size = Param.Int(Parent.cache_line_size, "Block size in bytes") 70 |
|
68 on_miss = Param.Bool(False, "Only notify prefetcher on misses") 69 on_read = Param.Bool(True, "Notify prefetcher on reads") 70 on_write = Param.Bool(True, "Notify prefetcher on writes") 71 on_data = Param.Bool(True, "Notify prefetcher on data accesses") 72 on_inst = Param.Bool(True, "Notify prefetcher on instruction accesses") 73 prefetch_on_access = Param.Bool(Parent.prefetch_on_access, 74 "Notify the hardware prefetcher on every access (not just misses)") 75 --- 28 unchanged lines hidden (view full) --- 104 105 tag_prefetch = Param.Bool(True, "Tag prefetch with PC of generating access") 106 107class StridePrefetcher(QueuedPrefetcher): 108 type = 'StridePrefetcher' 109 cxx_class = 'StridePrefetcher' 110 cxx_header = "mem/cache/prefetch/stride.hh" 111 | 71 on_miss = Param.Bool(False, "Only notify prefetcher on misses") 72 on_read = Param.Bool(True, "Notify prefetcher on reads") 73 on_write = Param.Bool(True, "Notify prefetcher on writes") 74 on_data = Param.Bool(True, "Notify prefetcher on data accesses") 75 on_inst = Param.Bool(True, "Notify prefetcher on instruction accesses") 76 prefetch_on_access = Param.Bool(Parent.prefetch_on_access, 77 "Notify the hardware prefetcher on every access (not just misses)") 78 --- 28 unchanged lines hidden (view full) --- 107 108 tag_prefetch = Param.Bool(True, "Tag prefetch with PC of generating access") 109 110class StridePrefetcher(QueuedPrefetcher): 111 type = 'StridePrefetcher' 112 cxx_class = 'StridePrefetcher' 113 cxx_header = "mem/cache/prefetch/stride.hh" 114 |
115 # Do not consult stride prefetcher on instruction accesses 116 on_inst = False 117 |
|
112 max_conf = Param.Int(7, "Maximum confidence level") 113 thresh_conf = Param.Int(4, "Threshold confidence level") 114 min_conf = Param.Int(0, "Minimum confidence level") 115 start_conf = Param.Int(4, "Starting confidence for new entries") 116 117 table_sets = Param.Int(16, "Number of sets in PC lookup table") 118 table_assoc = Param.Int(4, "Associativity of PC lookup table") 119 use_master_id = Param.Bool(True, "Use master id based history") 120 121 degree = Param.Int(4, "Number of prefetches to generate") 122 123class TaggedPrefetcher(QueuedPrefetcher): 124 type = 'TaggedPrefetcher' 125 cxx_class = 'TaggedPrefetcher' 126 cxx_header = "mem/cache/prefetch/tagged.hh" 127 128 degree = Param.Int(2, "Number of prefetches to generate") | 118 max_conf = Param.Int(7, "Maximum confidence level") 119 thresh_conf = Param.Int(4, "Threshold confidence level") 120 min_conf = Param.Int(0, "Minimum confidence level") 121 start_conf = Param.Int(4, "Starting confidence for new entries") 122 123 table_sets = Param.Int(16, "Number of sets in PC lookup table") 124 table_assoc = Param.Int(4, "Associativity of PC lookup table") 125 use_master_id = Param.Bool(True, "Use master id based history") 126 127 degree = Param.Int(4, "Number of prefetches to generate") 128 129class TaggedPrefetcher(QueuedPrefetcher): 130 type = 'TaggedPrefetcher' 131 cxx_class = 'TaggedPrefetcher' 132 cxx_header = "mem/cache/prefetch/tagged.hh" 133 134 degree = Param.Int(2, "Number of prefetches to generate") |