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

Fetch buffer passes regression! #1059

Merged
merged 2 commits into from
Nov 8, 2024

Conversation

jordancarlin
Copy link
Member

@jordancarlin jordancarlin commented Nov 4, 2024

Update hazards and reset value so fetch_buffer passes regression.

@davidharrishmc
Copy link
Contributor

davidharrishmc commented Nov 4, 2024 via email

@jordancarlin
Copy link
Member Author

It is also updating the fetch buffer branch with all of the changes from the main branch, so yes. If you'd rather I can do that as a separate PR.

The actual changes are all in the last commit if you want to look at them.

@davidharrishmc
Copy link
Contributor

Let's do a review at the research group meeting.

@jordancarlin
Copy link
Member Author

Sounds good. I will open another PR in the meantime to update the fetch_buffer branch so this is easier to review.

@jordancarlin jordancarlin marked this pull request as draft November 6, 2024 23:01
@rosethompson
Copy link
Contributor

I don't think I can make it to your review later today, but I have some comments about the fetch buffer.

  1. I like very simple design of the fetch buffer and how it decouples the fetch stage stalls from the rest of the pipeline.
  2. Is there a way to simplify the spill logic? Specifically it looks like the spills are unchanged so a 4 byte spill across two cache lines will still cause a spill delay. Are we still paying the extra cycle of latency? If so how difficult will it be to move the spill logic after the fetch buffer so it can absorb the cycle?
    I am very pleased with the simplicity of the design.

@jordancarlin
Copy link
Member Author

Thanks @rosethompson.

The goal is definitely to modify the spill logic. We wanted to get the minimal viable version working first and then begin optimizing from there. Right now there is no performance benefit from the fetch buffer. Avoiding the latency for spills if the second instruction is already in the buffer is one of the big optimizations we want to make. Several other stalls can also probably be eliminated.

@rosethompson
Copy link
Contributor

I thought that might be the case. I approve of these changes and I look forward to the future!

@jordancarlin jordancarlin marked this pull request as ready for review November 8, 2024 00:43
@davidharrishmc davidharrishmc merged commit 98a89d7 into openhwgroup:fetch_buffer Nov 8, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants