Skip to content

timing(L1PrefetchComponent): defer sent_vec updates to pf fire#6102

Open
zzQGyy wants to merge 1 commit into
kunminghu-v3from
kunminghu-v3-timing-l1_sent_vecV2
Open

timing(L1PrefetchComponent): defer sent_vec updates to pf fire#6102
zzQGyy wants to merge 1 commit into
kunminghu-v3from
kunminghu-v3-timing-l1_sent_vecV2

Conversation

@zzQGyy

@zzQGyy zzQGyy commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Register the selected prefetch candidate metadata at the s1 boundary
and use s1 valid signals to forward pending sent_vec updates during
new candidate generation.

Update the persistent sent_vec state only when the corresponding s1
prefetch request fires. This keeps downstream ready out of the s0
prefetch candidate path while still preventing duplicated requests
from the in-flight s1 entry.

This touches the L1, L2, and L3 prefetch issue paths in
L1PrefetchComponent. The L2/L3 s1 valid signals are declared with the
shared s1 metadata and assigned in their send stages to keep the
pipeline boundary explicit.

@github-actions github-actions Bot added the module: memory Memblock, DCache, TLB, Prefetcher, coupledL2, huancun label Jun 17, 2026
@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown

Emu - Performance Summary

Metadata

- SHA Run ID
Base 567d1da 28427226635
Current f4751f3 28442006596

IPC Report

Testcase Current Base Diff
GemsFDTD_49458 1.410787 1.416059 -0.37%
astar_rivers_8728 2.344727 2.344727 0.00%
bwaves_30350 1.049357 1.049061 0.03%
bzip2_liberty_739 7.623921 7.623921 0.00%
cactusADM_61235 4.204527 4.197214 0.17%
calculix_53456 5.476475 5.501071 -0.45%
dealII_13061 4.139013 4.139013 0.00%
gamess_gradient_36450 5.048741 5.048741 0.00%
gcc_s04_2772 2.383895 2.383895 0.00%
gobmk_nngs_453 0.854422 0.840360 1.67%
gromacs_2907 2.060921 2.060921 0.00%
h264ref_foreman.main_10053 4.694787 4.694787 0.00%
hmmer_nph3_33214 5.874012 5.874012 0.00%
lbm_31064 2.563745 2.563302 0.02%
legacy-astar 2.159413 2.159413 0.00%
legacy-gcc 1.524816 1.524816 0.00%
legacy-gromacs 3.102982 3.102982 0.00%
legacy-lbm 2.661758 2.661670 0.00%
legacy-mcf 1.206951 1.200648 0.52%
legacy-milc 1.739948 1.812416 -4.00%
legacy-namd 3.706124 3.707464 -0.04%
legacy-wrf 2.796553 2.796553 0.00%
legacy-xalancbmk 4.213415 4.221452 -0.19%
leslie3d_37552 2.104101 2.103707 0.02%
libquantum_81539 5.226886 5.223414 0.07%
mcf_6388 0.475407 0.475407 0.00%
milc_7124 2.532442 2.532442 0.00%
namd_75757 3.438192 3.448419 -0.30%
omnetpp_14042 0.899674 0.899674 0.00%
perlbench_splitmail_3995 4.315401 4.315401 0.00%
povray_8362 2.828389 2.828389 0.00%
sjeng_64284 2.176892 2.176892 0.00%
soplex_ref_10774 4.514631 4.531674 -0.38%
sphinx3_141036 3.982273 3.907718 1.91%
tonto_69015 4.240649 4.240649 0.00%
wrf_112496 3.033588 3.033588 0.00%
xalancbmk_9874 3.453985 3.451256 0.08%
zeusmp_45598 3.453042 3.447202 0.17%
GEOMEAN 2.7098132525757213 2.7106497316994935 -0.03%

@linjuanZ linjuanZ requested a review from ywlcode June 23, 2026 10:27
Register the selected prefetch candidate metadata at the s1 boundary
and use s1 valid signals to forward pending sent_vec updates during
new candidate generation.

Update the persistent sent_vec state only when the corresponding s1
prefetch request fires. This keeps downstream ready out of the s0
prefetch candidate path while still preventing duplicated requests
from the in-flight s1 entry.

This touches the L1, L2, and L3 prefetch issue paths in
L1PrefetchComponent. The L2/L3 s1 valid signals are declared with the
shared s1 metadata and assigned in their send stages to keep the
pipeline boundary explicit.

timing(L1PrefetchComponent): defer sent_vec updates to pf fire

Register the selected prefetch candidate metadata at the s1 boundary
and use s1 valid signals to forward pending sent_vec updates during
new candidate generation.

Update the persistent sent_vec state only when the corresponding s1
prefetch request fires. This keeps downstream ready out of the s0
prefetch candidate path while still preventing duplicated requests
from the in-flight s1 entry.

This touches the L1, L2, and L3 prefetch issue paths in
L1PrefetchComponent. The L2/L3 s1 valid signals are declared with the
shared s1 metadata and assigned in their send stages to keep the
pipeline boundary explicit.
@zzQGyy zzQGyy force-pushed the kunminghu-v3-timing-l1_sent_vecV2 branch from b5118f0 to f4751f3 Compare June 30, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module: memory Memblock, DCache, TLB, Prefetcher, coupledL2, huancun

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants