ltage.hh (13420:5cb2b90e1cb5) ltage.hh (13442:5314c50529a5)
1/*
2 * Copyright (c) 2014 The University of Wisconsin
3 *
4 * Copyright (c) 2006 INRIA (Institut National de Recherche en
5 * Informatique et en Automatique / French National Research Institute
6 * for Computer Science and Applied Mathematics)
7 *
8 * All rights reserved.

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

130 {
131 int pathHist;
132 int ptGhist;
133 int hitBank;
134 int hitBankIndex;
135 int altBank;
136 int altBankIndex;
137 int bimodalIndex;
1/*
2 * Copyright (c) 2014 The University of Wisconsin
3 *
4 * Copyright (c) 2006 INRIA (Institut National de Recherche en
5 * Informatique et en Automatique / French National Research Institute
6 * for Computer Science and Applied Mathematics)
7 *
8 * All rights reserved.

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

130 {
131 int pathHist;
132 int ptGhist;
133 int hitBank;
134 int hitBankIndex;
135 int altBank;
136 int altBankIndex;
137 int bimodalIndex;
138 int loopTag;
138 uint16_t loopTag;
139 uint16_t currentIter;
140
141 bool tagePred;
142 bool altTaken;
143 bool loopPred;
144 bool loopPredValid;
145 int loopIndex;
146 int loopHit;

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

233 * branch outcome.
234 * @param ctr Reference to counter to update.
235 * @param taken Actual branch outcome.
236 * @param nbits Counter width.
237 */
238 void ctrUpdate(int8_t & ctr, bool taken, int nbits);
239
240 /**
139 uint16_t currentIter;
140
141 bool tagePred;
142 bool altTaken;
143 bool loopPred;
144 bool loopPredValid;
145 int loopIndex;
146 int loopHit;

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

233 * branch outcome.
234 * @param ctr Reference to counter to update.
235 * @param taken Actual branch outcome.
236 * @param nbits Counter width.
237 */
238 void ctrUpdate(int8_t & ctr, bool taken, int nbits);
239
240 /**
241 * Updates an unsigned counter based on up/down parameter
242 * @param ctr Reference to counter to update.
243 * @param up Boolean indicating if the counter is incremented/decremented
244 * If true it is incremented, if false it is decremented
245 * @param nbits Counter width.
246 */
247 void unsignedCtrUpdate(uint8_t & ctr, bool up, unsigned nbits);
248
249 /**
241 * Get a branch prediction from the bimodal
242 * predictor.
243 * @param pc The unshifted branch PC.
244 * @param bi Pointer to information on the
245 * prediction.
246 */
247 bool getBimodePred(Addr pc, BranchInfo* bi) const;
248

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

350 const unsigned logSizeTagTables;
351 const unsigned logSizeLoopPred;
352 const unsigned nHistoryTables;
353 const unsigned tagTableCounterBits;
354 const unsigned histBufferSize;
355 const unsigned minHist;
356 const unsigned maxHist;
357 const unsigned minTagWidth;
250 * Get a branch prediction from the bimodal
251 * predictor.
252 * @param pc The unshifted branch PC.
253 * @param bi Pointer to information on the
254 * prediction.
255 */
256 bool getBimodePred(Addr pc, BranchInfo* bi) const;
257

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

359 const unsigned logSizeTagTables;
360 const unsigned logSizeLoopPred;
361 const unsigned nHistoryTables;
362 const unsigned tagTableCounterBits;
363 const unsigned histBufferSize;
364 const unsigned minHist;
365 const unsigned maxHist;
366 const unsigned minTagWidth;
367 const unsigned loopTableAgeBits;
368 const unsigned loopTableConfidenceBits;
369 const unsigned loopTableTagBits;
370 const unsigned loopTableIterBits;
358
371
372 const uint8_t confidenceThreshold;
373 const uint16_t loopTagMask;
374 const uint16_t loopNumIterMask;
375
359 std::vector<bool> btablePrediction;
360 std::vector<bool> btableHysteresis;
361 TageEntry **gtable;
362 LoopEntry *ltable;
363
364 // Keep per-thread histories to
365 // support SMT.
366 struct ThreadHistory {

--- 35 unchanged lines hidden ---
376 std::vector<bool> btablePrediction;
377 std::vector<bool> btableHysteresis;
378 TageEntry **gtable;
379 LoopEntry *ltable;
380
381 // Keep per-thread histories to
382 // support SMT.
383 struct ThreadHistory {

--- 35 unchanged lines hidden ---