A system and method for performing register renaming of source registers in a
processor
having a variable advance instruction window for storing a group of instructions
to be executed by the processor, wherein a new instruction is added to the variable
advance instruction window when a location becomes available. A tag is assigned
to each instruction in the variable advance instruction window. The tag of each
instruction to leave the window is assigned to the next new instruction to be added
to it. The results of instructions executed by the processor are stored in a temp
buffer according to their corresponding tags to avoid output and anti-dependencies.
The temp buffer therefore permits the processor to execute instructions out of
order and in parallel. Data dependency checks for input dependencies are performed
only for each new instruction added to the variable advance instruction window
and register renaming is performed to avoid input dependencies.