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

instruction cache and FENCE.I #25

Open
andres-erbsen opened this issue Feb 14, 2019 · 0 comments
Open

instruction cache and FENCE.I #25

andres-erbsen opened this issue Feb 14, 2019 · 0 comments

Comments

@andres-erbsen
Copy link

andres-erbsen commented Feb 14, 2019

It would be great if trying to execute an instruction from an address that was written to after the last FENCE.I instruction was executed was undefined behavior. I am requesting this because I realized that the kami case study cpu does not satisfy this specification because writes to instruction memory are not reflected in instruction execution (and FENCE.I happens to be not supported). As this processor is roughly microcontroller-class, uses a very simple traditional RISC pipeline, and does not do anything funny with memory coherence, perhaps we can avoid the discussion of the more general weak memory tarpit.

However, if I understand correctly, this is the first instance of specifying something as undefined behavior in this repository, so we will figure out a way to do that. Naive suggestion: set a "bad" bit in the processor state and refuse all further instructions?

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

1 participant