Which of the following statements are NOT true in a pipelined processor? I.…
2025
Which of the following statements are NOT true in a pipelined processor?
I. Bypassing can handle all RAW hazards.
II. Register renaming can eliminate all register-carried WAR hazards.
III. Control hazard penalties can be eliminated by dynamic branch prediction.
Answer: B. I and III only — CONCEPTPipeline-hazard remedies address different constraints. Forwarding resolves a RAW dependency only when the producer value is available in time;…
- A.
I and II only
- B.
I and III only
- C.
II and III only
- D.
All of these
Attempted by 124 students.
Show answer & explanation
Correct answer: B
CONCEPT
Pipeline-hazard remedies address different constraints. Forwarding resolves a RAW dependency only when the producer value is available in time; register renaming removes name dependences such as WAR; branch prediction speculates on control flow but must recover from a wrong prediction.
APPLICATION
Statement I: A load-use pair can need a stall because the loaded value becomes available after the immediately following consumer needs its execute-stage input. Therefore, bypassing does not handle every RAW hazard.
Statement II: Assigning a new physical destination to a later write prevents it from overwriting the architectural name before an earlier read. Thus register renaming can eliminate register-carried WAR hazards.
Statement III: Dynamic prediction reduces average control stalls, but a misprediction still flushes younger speculative instructions and redirects fetch. Therefore, it cannot eliminate every control-hazard penalty.
CROSS-CHECK / CONTRAST
I and II only combines one unsupported universal claim with one valid renaming claim.
II and III only combines the valid renaming claim with an unsupported prediction claim.
All of these would require the renaming claim to be false, although renaming removes the relevant name dependence.
Result: Statements I and III are NOT true, so the answer is I and III only.