Register renaming is done in pipelined processors:
View worked solution
Answer: C
Register renaming is a hardware technique used in pipelined, out-of-order execution processors to eliminate false data dependencies, thereby resolving specific types of pipeline hazards.
Data hazards in pipelined processors are classified into three types:
- Read-After-Write (RAW): A true data dependency. The consumer instruction must wait for the producer instruction to write the data.
- Write-After-Read (WAR): An anti-dependency (false hazard). Occurs when an instruction needs to write to a register before a previous instruction has read its old value.
- Write-After-Write (WAW): An output dependency (false hazard). Occurs when two instructions write to the same register, and their write order must be preserved.
By mapping a limited set of architectural registers to a larger pool of physical registers, register renaming eliminates WAR and WAW hazards. This allows instructions to execute concurrently or out-of-order without stalling the pipeline.
Analysis of Options:
- Option A is incorrect: Register allocation at compile time is a software process to map program variables to architectural registers. Register renaming is a dynamic hardware mechanism and not an alternative to compile-time allocation.
- Option B is incorrect: Access to function parameters and local variables is managed by the compiler using stack frames and activation records.
- Option C is correct: Register renaming directly targets and resolves WAR and WAW hazards.
- Option D is incorrect: Address translation (virtual to physical memory) is handled by the Memory Management Unit (MMU) using page tables and TLBs.
Free practice · Your answers on this page are not saved.
