Register Renaming: Register renaming is a term applied to a technique used in some 586 class CPUs (but not the Pentium) and most later CPUs to enhance performance. These CPUs enhance performance by executing future instructions speculatively at the same time they execute the current instruction. The speculative results are used if intervening instructions don't change the operands and discarded if the operands change. But, registers can have only one value. If the current value of EAX is 2 and one speculative thread wants to set it to 6 while another needs the current value, speculative execution will be constrained. To allow speculative execution without register usage conflicts, speculative execution is done on registers from a pool of working registers that can be used as any general register. This "Register Renaming" allows different register contents to coexist in different speculative threads.

Return To Index Copyright 1994-2008 by Donald Kenney.