Merged Register File (MRF)

Merged Register File (MRF)

A method of Register Renaming .

  • When writing to an logical register:
    • select free physical register and update the mapping
  • When reading from an logical register:
    • replace logical register with the physical register from the mapping
  • When to free a physical register?
    1. it was written, and no further instruction will read it (impossible to know)
    2. The next instruction that writes to the logical register commits

Architecture #

  • Called merged register file since it contains speculative results as well as certain ones.
  • Free physical registers are managed in a Free List
  • The Register map table stores for each logical register the latest physical register

Renaming #

Input registers
looked up in the Register map table
Output registers
replaced with a fresh physical register and add mapping in the register map table

If no free physical register is available for the result, stall the instruction

Calendar October 22, 2023