CPUs and architecture

What is the main purpose of register renaming in out-of-order CPUs?

  1. ATo reduce the number of registers and make the circuit smaller
  2. BTo reassign physical registers without changing the register names used by the program, removing false dependences (WAR and WAW)
  3. 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.
Practice this topic Back to topic

More CPUs and architecture questions

  1. In AI accelerators and similar, which architecture arranges many multiply-accumulate units in a grid and computes matrix products by passing data from one unit to the next?
  2. Which model plots whether a program's performance is limited by compute throughput or memory bandwidth, using arithmetic intensity (operations per byte) on the horizontal axis?
  3. What is the main purpose of pipelining in a CPU?
  4. What is the main purpose of cache memory?
  5. Which is a characteristic of a von Neumann computer?