Patent ID: 8601241

Claim:
A method of retrieving data for use when executing a process thread, the method comprising: populating a processor core having General Purpose Register (GPR) switching logic embodied therein with a main set of General Purpose Registers (GPRs) and a clone set of GPRs, wherein the GPR switching logic provides a point of connection between the main set of GPRs, the clone set of GPRs, and one or more execution units (EUs); creating a set of helper thread binaries from a set of main thread binaries; executing the set of main thread binaries using the main set of GPRs; the GPR switching logic detecting the main thread binaries entering in to a wait state; in response to the set of main thread binaries entering the wait state, the GPR switching logic: stopping the executing of the main set of GPRs; checking a plurality of values of the clone set of GPRs for a match to a plurality of values of the main set of GPRs; and in response to detecting the match, executing a next operation in the set of helper thread binaries, wherein the next operation follows an operation that caused the wait state in the set of main thread binaries, wherein the set of helper thread binaries do not modify the content of memory, the main set of GPRs, and input/output (I/O) registers, and wherein the set of helper thread binaries only utilizes the clone set of GPRs via the GPR switching logic; populating a local cache with data generated by executing the set of helper thread binaries; and in response to the set of main thread binaries exiting from the wait state, utilizing the data within the local cache when continuing execution of the set of main thread binaries.