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 logRatioBiModalHystEntries; |
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; |
365 const unsigned pathHistBits; |
366 const unsigned loopTableAgeBits; 367 const unsigned loopTableConfidenceBits; 368 const unsigned loopTableTagBits; 369 const unsigned loopTableIterBits; |
370 const unsigned logLoopTableAssoc; |
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 |
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 |
408 int *histLengths; 409 int *tableIndices; 410 int *tableTags; 411 412 int8_t loopUseCounter; 413 int8_t useAltPredForNewlyAllocated; |
414 uint64_t tCounter; 415 uint64_t logUResetPeriod; 416 unsigned useAltOnNaBits; 417 unsigned withLoopBits; |
418}; 419 420#endif // __CPU_PRED_LTAGE |