Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPrefetch: move PMP check to s2 for timing #3236

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ngc7331
Copy link
Member

@ngc7331 ngc7331 commented Jul 18, 2024

Eliminates critical path:
itlb -> s1_req_paddr -> pmp -> s2_pmpExcp

However, this might introduce another critical path:
s2_req_paddr -> pmp -> s2_pmpExcp -> toMSHRArbiter.io.in(i).valid -> toMSHRArbiter.io.out.bits.blkPaddr -> mshr.io.lookUps(1).hit -> prefetchDemux.io.in.valid -> mshr

We might either:

  • send miss request in prefetch s3
  • parallel pmp checks and mshr paddr comparisons, then select valid miss request

@ngc7331 ngc7331 added the timing Fix bad timing label Jul 18, 2024
@XiangShanRobot
Copy link

[Generated by IPC robot]
commit: 9ad3375

commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
9ad3375 1.754 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.334 1.343 3.164 2.496 2.390 2.863

master branch:

commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
6979864
61f6ab5 1.754 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.339 1.343 3.164 2.496 2.390 2.863
7965606 1.754 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.334 1.343 3.164 2.496 2.390 2.863
06e334e 1.760 0.459 1.992 1.158 2.922 2.484 2.286 0.926 1.339 1.343 3.164 2.496 2.390 2.863
b9e793f 1.760 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.339 1.343 3.164 2.496 2.390 2.863
87504f2 1.760 0.459 1.992 1.158 2.922 2.484 2.286 0.926 1.339 1.343 3.164 2.496 2.390 2.863
1a5af82 1.754 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.334 1.343 3.164 2.496 2.390 2.863
3d4459f 1.754 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.351 1.343 3.164 2.496 2.390 2.863
477cff6 1.755 0.459 1.992 1.158 2.922 2.484 2.286 0.926 1.334 1.343 3.164 2.496 2.390 2.863
37080bd 1.760 0.459 1.994 1.158 2.922 2.484 2.286 0.926 1.334 1.343 3.164 2.496 2.390 2.863

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
timing Fix bad timing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants