Deleted Added
sdiff udiff text old ( 13443:a111cb197897 ) new ( 13444:26f81be73cb7 )
full compact
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.

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

349 * iteration count.
350 * @param pc The unshifted branch PC.
351 * @param taken The predicted branch outcome.
352 * @param bi Pointer to information on the prediction
353 * recorded at prediction time.
354 */
355 void specLoopUpdate(Addr pc, bool taken, BranchInfo* bi);
356
357 const unsigned logSizeBiMP;
358 const unsigned logRatioBiModalHystEntries;
359 const unsigned logSizeTagTables;
360 const unsigned logSizeLoopPred;
361 const unsigned nHistoryTables;
362 const unsigned tagTableCounterBits;
363 const unsigned tagTableUBits;
364 const unsigned histBufferSize;
365 const unsigned minHist;
366 const unsigned maxHist;
367 const unsigned minTagWidth;
368 const unsigned loopTableAgeBits;
369 const unsigned loopTableConfidenceBits;
370 const unsigned loopTableTagBits;
371 const unsigned loopTableIterBits;
372
373 const uint8_t confidenceThreshold;
374 const uint16_t loopTagMask;
375 const uint16_t loopNumIterMask;
376
377 std::vector<bool> btablePrediction;
378 std::vector<bool> btableHysteresis;
379 TageEntry **gtable;
380 LoopEntry *ltable;
381
382 // Keep per-thread histories to
383 // support SMT.
384 struct ThreadHistory {

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

399
400 // Speculative folded histories.
401 FoldedHistory *computeIndices;
402 FoldedHistory *computeTags[2];
403 };
404
405 std::vector<ThreadHistory> threadHistory;
406
407 int tagWidths[15];
408 int tagTableSizes[15];
409 int *histLengths;
410 int *tableIndices;
411 int *tableTags;
412
413 int8_t loopUseCounter;
414 int8_t useAltPredForNewlyAllocated;
415 int tCounter;
416 int logTick;
417};
418
419#endif // __CPU_PRED_LTAGE