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

n64: implement rsp vu pipeline timings #1157

Merged
merged 1 commit into from
Jul 23, 2023

Conversation

invertego
Copy link
Contributor

Implement vector unit (VU) timing including dual issue with the SU. Tested against real hardware with a random instruction stream generator.

Known limitations:

  • Invalid/missing instruction timings not implemented.
  • CFC2/CTC2 dual issue restrictions not implemented.
  • Some corner-case dual issue restrictions (e.g. LTV + VNOP) not implemented. On real hardware, VU instructions with a DE operand are sometimes prevented from dual issuing with vector loads under seemingly erroneous conditions.

Implement vector unit (VU) timing including dual issue with the SU.
Tested against real hardware with a random instruction stream generator.

Known limitations:
- Invalid/missing instruction timings not implemented.
- CFC2/CTC2 dual issue restrictions not implemented.
- Some corner-case dual issue restrictions (e.g. LTV + VNOP) not implemented.
  On real hardware, VU instructions with a DE operand are sometimes prevented
  from dual issuing with vector loads under seemingly erroneous conditions.
@LukeUsher
Copy link
Member

What do you think of opening an issue to track the remaining limitations? Even if the issue just states that more research is required ?

@invertego
Copy link
Contributor Author

That's fine. I don't expect any future changes to substantially impact timing as a whole (barring undiscovered bugs).

@LukeUsher LukeUsher merged commit 631b0f6 into ares-emulator:master Jul 23, 2023
9 checks passed
@invertego invertego deleted the rsp_vu_pipeline branch July 26, 2023 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants