Commit 348f8f4
authored
Tage1 align (#615)
* cpu-o3: align TAGE, use positon ^ tag for tag compare
now use position in 64byte, not sure use pos in 32byte?
Change-Id: Ie7f900e62d78859062c52f847ef6acf1c1392c1c
* cpu-o3: refactor tage allocate, add more comments
Change-Id: Iadf61c6e576840640a679c4136ce2c318129b6c2
* cpu-o3: tage: add basic bank confict
perf should decrease
* cpu-o3: tage: add bank conflict toggle and fine-grained stats
Add enableBankConflict parameter to control bank conflict simulation:
- Default: enabled for production, disabled for unit tests
- Prevents existing unit tests from breaking
Add fine-grained per-bank statistics (non-UNIT_TEST only):
- updateBankConflictPerBank: conflict count per bank
- updateAccessPerBank: update access count per bank
- predAccessPerBank: prediction access count per bank
Add comprehensive bank conflict unit test:
- Test 1: Same bank conflict detection (enabled)
- Test 2: Different bank no conflict
- Test 3: Disabled flag prevents conflict
Fix existing SetAssociativeConflictHandling test:
- Bug: entries with different positions used same tag
- Root cause: tag calculation includes position XOR (aligned with RTL in 3a23ab4)
- Fix: calculate separate tags for each position
Change-Id: I18f666274a77b11f8cc28f9ed5c0db2806e81d19
* cpu-o3: enableBankConflict = false as Default
about 0.3 score
waiting for better implement
Change-Id: Iba0f6e51e6a364fa65b2b794539b740aade0fe28
* cpu-o3: fix bug: when enableBankConflict=False, get right index
Change-Id: I27a1c24747ab22d96a2ab7fe637563215ca93a531 parent a9e0959 commit 348f8f4
File tree
6 files changed
+722
-39
lines changed- docs/Gem5_Docs/frontend
- src/cpu/pred
- btb
- test
6 files changed
+722
-39
lines changed
0 commit comments