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

improve XBurst performance by tuning interlocks/hazards #130

Closed

Conversation

SiarheiVolkau
Copy link

The MIPS32r1 uses automaton for R4000 CPU located in 4k.md, however XBurst has different architecture and 4k interlock definitions aren't fit well.

The patch for GCC compiler changes the interlocks to be close to XBurst core interlocks.
However, the patch doesn't change anything for MIPS32r2 XBurst cores as the MIPS32r2 uses 74K core automaton defined in 74k.md and I have no such hardware to test the patch on.

The rough performance improvement is 2.5%, tested on fceux only (not the whole system).

The internal XBurst architecture isn't known. There is only information
about interlock cycles in the programming manuals so the numbers are
figured by testing execution speed of asm patterns which reflect to
specific interlocks.
    
The patch doesn't change MIPS32r2 automaton which corresponds to 74k.md.

Signed-off-by: Siarhei Volkau <[email protected]>
@SiarheiVolkau
Copy link
Author

I found that it is not good enough and getting code worse sometimes.
Will investigate deeper and reopen it later.

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.

1 participant