1 #ifndef __ALPHA_SIMPLE_PARAMS_HH__
2 #define __ALPHA_SIMPLE_PARAMS_HH__
4 #include "cpu/beta_cpu/full_cpu.hh"
10 class FunctionalMemory;
15 * This file defines the parameters that will be used for the AlphaFullCPU.
16 * This must be defined externally so that the Impl can have a params class
17 * defined that it can pass to all of the individual stages.
20 class AlphaSimpleParams : public BaseFullCPU::Params
24 AlphaITB *itb; AlphaDTB *dtb;
26 std::vector<Process *> workload;
31 FunctionalMemory *mem;
36 MemInterface *icacheInterface;
37 MemInterface *dcacheInterface;
42 unsigned decodeToFetchDelay;
43 unsigned renameToFetchDelay;
44 unsigned iewToFetchDelay;
45 unsigned commitToFetchDelay;
51 unsigned renameToDecodeDelay;
52 unsigned iewToDecodeDelay;
53 unsigned commitToDecodeDelay;
54 unsigned fetchToDecodeDelay;
60 unsigned iewToRenameDelay;
61 unsigned commitToRenameDelay;
62 unsigned decodeToRenameDelay;
68 unsigned commitToIEWDelay;
69 unsigned renameToIEWDelay;
70 unsigned issueToExecuteDelay;
72 unsigned executeWidth;
73 unsigned executeIntWidth;
74 unsigned executeFloatWidth;
75 unsigned executeBranchWidth;
76 unsigned executeMemoryWidth;
81 unsigned iewToCommitDelay;
82 unsigned renameToROBDelay;
87 // Branch predictor (BP & BTB)
90 unsigned localPredictorSize;
91 unsigned localPredictorCtrBits;
94 unsigned local_predictor_size;
95 unsigned local_ctr_bits;
96 unsigned local_history_table_size;
97 unsigned local_history_bits;
98 unsigned global_predictor_size;
99 unsigned global_ctr_bits;
100 unsigned global_history_bits;
101 unsigned choice_predictor_size;
102 unsigned choice_ctr_bits;
124 unsigned numPhysIntRegs;
125 unsigned numPhysFloatRegs;
126 unsigned numIQEntries;
127 unsigned numROBEntries;
129 // Probably can get this from somewhere.
130 unsigned instShiftAmt;