Patent ID: 7337305

Claim:
A method for processing a plurality of swap requests comprising: receiving a first swap request in a pipeline in a first clock cycle, wherein the first swap request requests swapping active contents of a active register window with a first contents from a first register; executing the first swap request including: executing a first save operation in the first clock cycle, wherein the active contents of the active register window is saved to a corresponding register; and executing a first restore operation in a second clock cycle, wherein the second clock cycle immediately follows the first clock cycle, wherein the first contents of the first register are restored to the active register window; receiving a second swap request in the pipeline in the second clock cycle, wherein the second swap request requests swapping the first contents in the active register window with a second contents from a second register; determining if the first register is a same register as the second register; and executing the second swap request if the first swap request and the second swap request do not swap the same register, wherein executing the second swap request includes: executing a second save operation in the second clock cycle, wherein the first contents of the active register window is saved to first register at substantially simultaneously with the executing the first restore operation; and executing a second restore operation in a third clock cycle, wherein the third clock cycle immediately follows the second clock cycle, wherein the second contents of the second register are restored to the active register window, wherein the first swap request and the second swap request have a constant latency.