ltage.hh (13443:a111cb197897) | ltage.hh (13444:26f81be73cb7) |
---|---|
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 | 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; | 357 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; | 358 const unsigned logSizeLoopPred; 359 const unsigned nHistoryTables; 360 const unsigned tagTableCounterBits; 361 const unsigned tagTableUBits; 362 const unsigned histBufferSize; 363 const unsigned minHist; 364 const unsigned maxHist; |
367 const unsigned minTagWidth; | 365 const unsigned pathHistBits; |
368 const unsigned loopTableAgeBits; 369 const unsigned loopTableConfidenceBits; 370 const unsigned loopTableTagBits; 371 const unsigned loopTableIterBits; | 366 const unsigned loopTableAgeBits; 367 const unsigned loopTableConfidenceBits; 368 const unsigned loopTableTagBits; 369 const unsigned loopTableIterBits; |
372 | 370 const unsigned logLoopTableAssoc; |
373 const uint8_t confidenceThreshold; 374 const uint16_t loopTagMask; 375 const uint16_t loopNumIterMask; 376 | 371 const uint8_t confidenceThreshold; 372 const uint16_t loopTagMask; 373 const uint16_t loopNumIterMask; 374 |
375 const std::vector<unsigned> tagTableTagWidths; 376 const std::vector<int> logTagTableSizes; 377 |
|
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 | 378 std::vector<bool> btablePrediction; 379 std::vector<bool> btableHysteresis; 380 TageEntry **gtable; 381 LoopEntry *ltable; 382 383 // Keep per-thread histories to 384 // support SMT. 385 struct ThreadHistory { --- 14 unchanged lines hidden (view full) --- 400 401 // Speculative folded histories. 402 FoldedHistory *computeIndices; 403 FoldedHistory *computeTags[2]; 404 }; 405 406 std::vector<ThreadHistory> threadHistory; 407 |
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; | 408 int *histLengths; 409 int *tableIndices; 410 int *tableTags; 411 412 int8_t loopUseCounter; 413 int8_t useAltPredForNewlyAllocated; |
415 int tCounter; 416 int logTick; | 414 uint64_t tCounter; 415 uint64_t logUResetPeriod; 416 unsigned useAltOnNaBits; 417 unsigned withLoopBits; |
417}; 418 419#endif // __CPU_PRED_LTAGE | 418}; 419 420#endif // __CPU_PRED_LTAGE |