Pair tage 2 taken#830
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a new two-block PairTAGE BTB/TAGE predictor and integrates it into DecoupledBPUWithBTB; introduces TimedBaseBTBPredictor::refreshPredictionMeta, side-effect-free BTB lookup APIs and const-correct helpers across BTB predictors, extends FetchTarget with PairTAGE fields, and adds FTQ const accessors. Changes
Sequence Diagram(s)sequenceDiagram
participant Fetch as Fetch Unit
participant DBPU as DecoupledBPUWithBTB
participant PT as PairTAGE
participant FTQ as FetchTargetQueue
participant Hist as History Tracker
Fetch->>DBPU: request prediction(startPC, history)
DBPU->>PT: putPCHistory(startPC, history)
PT->>PT: TAGE lookup -> build first-block FullBTBPrediction
PT-->>DBPU: first-block FullBTBPrediction (pairtageUsed, pairPhase)
DBPU->>FTQ: enqueue first FetchTarget (pairPhase)
alt PairTAGE enabled && phase allowed && second-block candidate
DBPU->>PT: refreshPredictionMeta(secondStartPC, history, pred)
PT->>PT: lookupNoSideEffect -> second-block prediction/meta
PT-->>DBPU: second-block info (pairtageSecondBlock)
DBPU->>FTQ: conditionally enqueue second FetchTarget
end
Note over DBPU,PT: On resolution
DBPU->>PT: trainFromActualPred(firstFetchTarget, optionalSecondPred)
PT->>Hist: specUpdateHist / recoverHist / doUpdateHist
sequenceDiagram
participant Caller as DecoupledBPU
participant Predictor as BTB Predictor
participant NoSE as NoSideEffect Lookup
participant Meta as FullBTBPrediction
Caller->>Predictor: refreshPredictionMeta(startAddr, history, pred)
Predictor->>NoSE: lookupNoSideEffect(...) / processEntriesNoSideEffect(...)
NoSE->>NoSE: tag match, select entries (no MRU/LRU/stats changes)
NoSE-->>Meta: populate hit_entries / per-PC preds
Meta-->>Caller: refreshed prediction metadata snapshot
Estimated code review effort🎯 4 (Complex) | ⏱️ ~70 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
1 similar comment
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
105484a to
becfce1
Compare
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
6b5465f to
59f9782
Compare
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
Change-Id: Ib124277cb25cd90e4a2d75ed089c18fbe1e56db2
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
Change-Id: I0aa0122de316356e918b7002710c3a44921ede35
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
Change-Id: I9cb025867777ca70a66d2048282cfabf76b4bb99
21b37aa to
3e56761
Compare
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
Change-Id: Id119399248485e79a7b757200d4f52a01e628877
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
Change-Id: I7c545a3c6f2525e932a0c4f9d063d2b6932d3058
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc15-spec06-0.8c |
Summary by CodeRabbit
New Features
Improvements