Skip to content
Official PYQ · 2012

GATE CS 2012 Q20 — Instruction Pipelining

Explain with AI

Register renaming is done in pipelined processors:

Choose one option
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:

  1. Read-After-Write (RAW): A true data dependency. The consumer instruction must wait for the producer instruction to write the data.
  2. 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.
  3. 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.

Published
Report a correction
Keep exploringMore Instruction Pipelining questions