mirror of
https://github.com/allexanderbergmns/xh1-research.git
synced 2026-08-26 16:47:01 +00:00
38 lines
3.2 KiB
Markdown
38 lines
3.2 KiB
Markdown
The document contains several factual errors and a misstatement of RISC‑V specification requirements, which undermine its technical credibility. While the document is a research proposal and many design choices are acceptable, these errors must be corrected.
|
||
|
||
**Issues found:**
|
||
|
||
1. **Incorrect formula for interconnect utilization (Section 3.1)**:
|
||
The expression `U = (128 × I) / C` is mathematically wrong. If each core generates an invalidation every `C` cycles and the interconnect can sustain `I` invalidations per cycle, the correct utilization is `128 / (C × I)` (or `(128/C) / I`). The stated formula does not support the claimed saturation.
|
||
|
||
2. **False claim about failed SCs triggering invalidations (Section 3.1)**:
|
||
The text states that “every successful `SC` (and many failed ones) triggers a coherence invalidation”. In reality, failed `SC` instructions do **not** generate any coherence traffic; only a successful `SC` (or a normal store) invalidates other reservations. This misrepresents the coherence load.
|
||
|
||
3. **RISC‑V specification error regarding reservation state (Section 4.1)**:
|
||
The claim that “The pipeline must maintain the reservation state … across context switches and exceptions” contradicts the RISC‑V specification. The spec explicitly permits (and often recommends) clearing LR reservations on traps and context switches. The pipeline is not required to preserve the reservation across such events.
|
||
|
||
**Required fixes:**
|
||
|
||
- Correct the interconnect utilization formula to reflect the actual invalidation rate.
|
||
- Remove the incorrect statement that failed SCs trigger coherence invalidations; clarify that only a successful SC or a store invalidates reservations.
|
||
- Revise the pipeline section to state that the reservation may be cleared on traps/context switches, and that the pipeline must handle this invalidation, rather than asserting it must maintain the reservation.
|
||
|
||
Because these errors are substantive and could mislead the design, the document should be revised before acceptance.
|
||
|
||
```json
|
||
{
|
||
"verdict": "FAIL",
|
||
"confidence": "HIGH",
|
||
"issues": [
|
||
"In Section 3.1, the interconnect utilization formula U = (128 × I) / C is mathematically incorrect. The likely intended formula is U = 128 / (C × I). The given expression does not support the claim of saturation.",
|
||
"Section 3.1 incorrectly states that failed SC instructions trigger coherence invalidations. Only successful SCs (or normal stores) invalidate reservations; failed SCs generate no coherence traffic.",
|
||
"Section 4.1 asserts that the pipeline must maintain LR/SC reservation state across context switches and exceptions. This contradicts the RISC-V specification, which permits (and often recommends) clearing the reservation on traps and context switches."
|
||
],
|
||
"required_fixes": [
|
||
"Correct the interconnect utilization formula to accurately reflect the invalidation rate and capacity.",
|
||
"Clarify that failed SCs do not generate invalidations; only successful SCs and stores cause coherence invalidations.",
|
||
"Revise the reservation state statement to indicate that the reservation can be cleared on traps/context switches, and that the pipeline must handle such invalidation accordingly."
|
||
]
|
||
}
|
||
```
|