O3CPU.py (13562:8fe39a3fc056) | O3CPU.py (13563:68c171235dc5) |
---|---|
1# Copyright (c) 2016, 2019 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 --- 40 unchanged lines hidden (view full) --- 49from BranchPredictor import * 50 51class FetchPolicy(ScopedEnum): 52 vals = [ 'SingleThread', 'RoundRobin', 'Branch', 'IQCount', 'LSQCount' ] 53 54class SMTQueuePolicy(ScopedEnum): 55 vals = [ 'Dynamic', 'Partitioned', 'Threshold' ] 56 | 1# Copyright (c) 2016, 2019 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 --- 40 unchanged lines hidden (view full) --- 49from BranchPredictor import * 50 51class FetchPolicy(ScopedEnum): 52 vals = [ 'SingleThread', 'RoundRobin', 'Branch', 'IQCount', 'LSQCount' ] 53 54class SMTQueuePolicy(ScopedEnum): 55 vals = [ 'Dynamic', 'Partitioned', 'Threshold' ] 56 |
57class CommitPolicy(ScopedEnum): 58 vals = [ 'Aggressive', 'RoundRobin', 'OldestReady' ] 59 |
|
57class DerivO3CPU(BaseCPU): 58 type = 'DerivO3CPU' 59 cxx_header = 'cpu/o3/deriv.hh' 60 61 @classmethod 62 def memory_mode(cls): 63 return 'timing' 64 --- 93 unchanged lines hidden (view full) --- 158 "SMT LSQ Sharing Policy") 159 smtLSQThreshold = Param.Int(100, "SMT LSQ Threshold Sharing Parameter") 160 smtIQPolicy = Param.SMTQueuePolicy('Partitioned', 161 "SMT IQ Sharing Policy") 162 smtIQThreshold = Param.Int(100, "SMT IQ Threshold Sharing Parameter") 163 smtROBPolicy = Param.SMTQueuePolicy('Partitioned', 164 "SMT ROB Sharing Policy") 165 smtROBThreshold = Param.Int(100, "SMT ROB Threshold Sharing Parameter") | 60class DerivO3CPU(BaseCPU): 61 type = 'DerivO3CPU' 62 cxx_header = 'cpu/o3/deriv.hh' 63 64 @classmethod 65 def memory_mode(cls): 66 return 'timing' 67 --- 93 unchanged lines hidden (view full) --- 161 "SMT LSQ Sharing Policy") 162 smtLSQThreshold = Param.Int(100, "SMT LSQ Threshold Sharing Parameter") 163 smtIQPolicy = Param.SMTQueuePolicy('Partitioned', 164 "SMT IQ Sharing Policy") 165 smtIQThreshold = Param.Int(100, "SMT IQ Threshold Sharing Parameter") 166 smtROBPolicy = Param.SMTQueuePolicy('Partitioned', 167 "SMT ROB Sharing Policy") 168 smtROBThreshold = Param.Int(100, "SMT ROB Threshold Sharing Parameter") |
166 smtCommitPolicy = Param.String('RoundRobin', "SMT Commit Policy") | 169 smtCommitPolicy = Param.CommitPolicy('RoundRobin', "SMT Commit Policy") |
167 168 branchPred = Param.BranchPredictor(TournamentBP(numThreads = 169 Parent.numThreads), 170 "Branch Predictor") 171 needsTSO = Param.Bool(buildEnv['TARGET_ISA'] == 'x86', 172 "Enable TSO Memory model") 173 174 def addCheckerCpu(self): --- 14 unchanged lines hidden --- | 170 171 branchPred = Param.BranchPredictor(TournamentBP(numThreads = 172 Parent.numThreads), 173 "Branch Predictor") 174 needsTSO = Param.Bool(buildEnv['TARGET_ISA'] == 'x86', 175 "Enable TSO Memory model") 176 177 def addCheckerCpu(self): --- 14 unchanged lines hidden --- |