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: Id119399248485e79a7b757200d4f52a01e628877
Change-Id: I7c545a3c6f2525e932a0c4f9d063d2b6932d3058
Change-Id: Ib4664b24db5194f524d7d5beb09f8749b4e6a9a6
Change-Id: I6d36ab621c338750f4a7ebd15ba0d5341e31c355
Change-Id: I7ebac0f572d437dec14cf77a600a1285186d1d91
Change-Id: I90803e8548f631dfbbaa5c555048035e193ac60b
Change-Id: I736a2eba11bf8e5e297b572fb47335152eb50729
Change-Id: I82a2a892aaae31df2c19d1cd0c56a87aa58fab64
Change-Id: I00d9fc7c81dcdd249155b7c40906824723e06e39
aa5ba89 to
0c754b4
Compare
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
Change-Id: Ic2fd119c7dd740ae1436a3a460fe246528aff96d
9e4c092 to
52c54e6
Compare
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
Change-Id: I7e633b2998effda18fe1870764651412452f1d87
Change-Id: I8fadef474b667efc21d954c3ee963ca6bd4f8162
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
Change-Id: Ia9e22fb1cafc9f404971a2e7fcdac3dca5f2d989
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
Summary by CodeRabbit
New Features
Improvements