generated from riscv/docs-spec-template
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Misc spec feedback #7
Comments
|
|
|
|
Everything else looks good to me. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Reading through the spec doc (here), a few issues came to mind:
I think we should remove example formulas for events we suspect an implementation may opt to use from the tables and event files. We can add non-normative text if we believe these formula methods should be broadcast.
I find the RETIRE and SPEC groups confusing, since there are RET and SPEC events in many groups. What if we moved the events in the RETIRE and SPEC groups into GEN? Or preferably GENERAL?
The PKI/MPKI metrics aren't clear on the order of operations. For instance, CTRL_FLOW.PKI has the following formula:
It should read:
I'd add the FLUSH.* events to GENERAL as well. They aren't really CTRL_FLOW events.
Our CACHE.* events count load/store instructions. But some instructions perform multiple accesses, and we don't have any way to count all accesses. I would recommend moving to the following:
This way the CACHE events are from the perspective of the associated cache, which knows nothing about instructions or retirement, while the load/store instruction events are part of the INST events. These new INST events could go in a new LOAD_STORE group.
Actually, if we do this then, for consistency, we should probably name the CTRL_FLOW events INST.CTRL_FLOW too. So that all events that count instructions are INST.* events.
Shouldn't CACHE.SNOOP.REMOTE_REQ_LOCAL_HITM be per cache level?
I think we should include TLB.L*.CODE*.RET events. They are more costly to implement, but useful. Akin to Intel's FRONTEND_RETIRED.
Problem with the formula for TOPDOWN.BACKEND_BOUND.MEMORY_BOUND.DATA_BOUND.L2_BOUND.RATE:
The text was updated successfully, but these errors were encountered: