fetch2.hh (11567:560d7fbbddd1) fetch2.hh (12324:6142a2fec8d9)
1/*
2 * Copyright (c) 2013-2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

160
161 /** Blocked indication for report */
162 bool blocked;
163 };
164
165 std::vector<Fetch2ThreadInfo> fetchInfo;
166 ThreadID threadPriority;
167
1/*
2 * Copyright (c) 2013-2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

160
161 /** Blocked indication for report */
162 bool blocked;
163 };
164
165 std::vector<Fetch2ThreadInfo> fetchInfo;
166 ThreadID threadPriority;
167
168 /** Stats */
169 Stats::Scalar intInstructions;
170 Stats::Scalar fpInstructions;
171 Stats::Scalar vecInstructions;
172 Stats::Scalar loadInstructions;
173 Stats::Scalar storeInstructions;
174
168 protected:
169 /** Get a piece of data to work on from the inputBuffer, or 0 if there
170 * is no data. */
171 const ForwardLineData *getInput(ThreadID tid);
172
173 /** Pop an element off the input buffer, if there are any */
174 void popInput(ThreadID tid);
175

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

201 std::vector<InputBuffer<ForwardInstData>> &next_stage_input_buffer);
202
203 public:
204 /** Pass on input/buffer data to the output if you can */
205 void evaluate();
206
207 void minorTrace() const;
208
175 protected:
176 /** Get a piece of data to work on from the inputBuffer, or 0 if there
177 * is no data. */
178 const ForwardLineData *getInput(ThreadID tid);
179
180 /** Pop an element off the input buffer, if there are any */
181 void popInput(ThreadID tid);
182

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

208 std::vector<InputBuffer<ForwardInstData>> &next_stage_input_buffer);
209
210 public:
211 /** Pass on input/buffer data to the output if you can */
212 void evaluate();
213
214 void minorTrace() const;
215
216 void regStats();
217
209 /** Is this stage drained? For Fetch2, draining is initiated by
210 * Execute halting Fetch1 causing Fetch2 to naturally drain.
211 * Branch predictions are ignored by Fetch1 during halt */
212 bool isDrained();
213};
214
215}
216
217#endif /* __CPU_MINOR_FETCH2_HH__ */
218 /** Is this stage drained? For Fetch2, draining is initiated by
219 * Execute halting Fetch1 causing Fetch2 to naturally drain.
220 * Branch predictions are ignored by Fetch1 during halt */
221 bool isDrained();
222};
223
224}
225
226#endif /* __CPU_MINOR_FETCH2_HH__ */