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

Variations in the instructions executed step by step or executed all once #31

Closed
anasshamoon12002 opened this issue Mar 30, 2019 · 6 comments

Comments

@anasshamoon12002
Copy link

No description provided.

@anasshamoon12002
Copy link
Author

anasshamoon12002 commented Mar 30, 2019

I really appreciate your work regarding open source RISC V simulator, RIPES, but unfortunately, an issued is encountered that is to be addressed.

The step by step execution of the 'shifts' example shows variation compared to the program when run all at once.

Shift Example when run all at once

pic 2

Shift Example with step by step execution

pic 1

This issue is not only specific to this particular example, rather applies on all other examples as well.

For some help, you might check the pipeline chart in both of the cases.

This issue arised with the latest continuous release, on 30th Mar, 2019. I had the previous version, and that showed same number of cycle counts and instruction executed for both of the scenarios.

I hope to get that fixed.

@anasshamoon12002
Copy link
Author

@mortbopet

Kindly, check this issue as well.

Thank you

mortbopet added a commit that referenced this issue Mar 31, 2019
Run execution would not check for ecall::exit within the pipeline, and thus
would only stop when there were no more instructions to fetch and execute.
While execution is correct, this results in a bug where a discrepancy
between the cycles and instructions executed between stepping through the
program and running through the program, were different.
@mortbopet
Copy link
Owner

Let me know what you think! 👍

@anasshamoon12002
Copy link
Author

anasshamoon12002 commented Mar 31, 2019

@mortbopet

Great work, bro.

I wanted to know one thing, and after this, I would close this issue.

Is Data Forwarding/bypassing technique applied already in the architecture?

@mortbopet
Copy link
Owner

Yes, most of the multiplexers you see in the processor view are related to forwarding.

@anasshamoon12002
Copy link
Author

@mortbopet

Ok, Thank you.

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

No branches or pull requests

2 participants