-
Notifications
You must be signed in to change notification settings - Fork 35
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
Again about Zicif #190
Comments
No, that is not the requirement. Since those stores are not atomic with respect to each other, it is incorrect to assume their overall effect is atomic. Whether they are on the same cache line is not relevant. If you want to atomically patch a 32-bit instruction, you need to meet three requirements:
(None of this affects the profiles discussion; it's just a usage scenario for Zicif.) |
Thanks so much for your reply. Could you please explain more about the usage cases of Zicif? |
The goal is to support atomic patching of 32-bit-wide instructions, e.g., replacing an expensive instruction with a NOP in some cases, or replacing a JAL with a JAL to a different location. Sorry, I don't have time to elaborate. |
thanks so much |
Hi,
In last issue link: #186, it seems to explain that:
The 2 16-bit part of one 32-bit instruction need to keep atomicity in the machine: ILEN = 32, XLEN =32, supporting 16-bit instruction.
I want to make sure that this requirement would constrain the following scenario?
Store A (low 16-bit part of 32-bit instruction)
Fence
Store B (high 16-bit part of 32-bit instruction)
If one hart can fetch B, it needs to fetch A? Especially, A and B are located in different cachelines.
Thanks so much
Wish for your reply.
The text was updated successfully, but these errors were encountered: