CPUs and architecture
What is the main purpose of register renaming in out-of-order CPUs?
- ATo reduce the number of registers and make the circuit smaller
- BTo reassign physical registers without changing the register names used by the program, removing false dependences (WAR and WAW)
- CTo encrypt register values
Show answer and explanation
Answer: B. To reassign physical registers without changing the register names used by the program, removing false dependences (WAR and WAW)
The instruction set has a limited number of registers, so register names get reused, creating dependences unrelated to the actual flow of data (anti-dependences, WAR, and output dependences, WAW). Register renaming removes them by dynamically assigning a larger pool of physical registers, increasing the instructions that can execute in parallel.
- A. In fact, more physical registers are provided than the instruction set defines.
- B. Correct. It removes false dependences.
- C. It has nothing to do with encryption.