BranchPredictor.py (11429:cf5af0cc3be4) BranchPredictor.py (11433:72b075cdc336)
1# Copyright (c) 2012 Mark D. Hill and David A. Wood
2# Copyright (c) 2015 The University of Wisconsin
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

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

37 abstract = True
38
39 numThreads = Param.Unsigned(1, "Number of threads")
40 BTBEntries = Param.Unsigned(4096, "Number of BTB entries")
41 BTBTagSize = Param.Unsigned(16, "Size of the BTB tags, in bits")
42 RASSize = Param.Unsigned(16, "RAS size")
43 instShiftAmt = Param.Unsigned(2, "Number of bits to shift instructions by")
44
1# Copyright (c) 2012 Mark D. Hill and David A. Wood
2# Copyright (c) 2015 The University of Wisconsin
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

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

37 abstract = True
38
39 numThreads = Param.Unsigned(1, "Number of threads")
40 BTBEntries = Param.Unsigned(4096, "Number of BTB entries")
41 BTBTagSize = Param.Unsigned(16, "Size of the BTB tags, in bits")
42 RASSize = Param.Unsigned(16, "RAS size")
43 instShiftAmt = Param.Unsigned(2, "Number of bits to shift instructions by")
44
45 useIndirect = Param.Bool(True, "Use indirect branch predictor")
46 indirectHashGHR = Param.Bool(True, "Hash branch predictor GHR")
47 indirectHashTargets = Param.Bool(True, "Hash path history targets")
48 indirectSets = Param.Unsigned(256, "Cache sets for indirect predictor")
49 indirectWays = Param.Unsigned(2, "Ways for indirect predictor")
50 indirectTagSize = Param.Unsigned(16, "Indirect target cache tag bits")
51 indirectPathLength = Param.Unsigned(3,
52 "Previous indirect targets to use for path history")
45
53
54
55
46class LocalBP(BranchPredictor):
47 type = 'LocalBP'
48 cxx_class = 'LocalBP'
49 cxx_header = "cpu/pred/2bit_local.hh"
50
51 localPredictorSize = Param.Unsigned(2048, "Size of local predictor")
52 localCtrBits = Param.Unsigned(2, "Bits per counter")
53

--- 25 unchanged lines hidden ---
56class LocalBP(BranchPredictor):
57 type = 'LocalBP'
58 cxx_class = 'LocalBP'
59 cxx_header = "cpu/pred/2bit_local.hh"
60
61 localPredictorSize = Param.Unsigned(2048, "Size of local predictor")
62 localCtrBits = Param.Unsigned(2, "Bits per counter")
63

--- 25 unchanged lines hidden ---