×

Software compiler generated threaded environment

  • US 9,218,186 B2
  • Filed: 09/01/2011
  • Issued: 12/22/2015
  • Est. Priority Date: 09/01/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-implemented method for creating a threaded package of computer executable instructions from software compiler generated code, comprising:

  • allocating, through a computer processor, the computer executable instructions into a plurality of stacks;

    differentiating between different types of computer executable instructions for each computer executable instruction allocated to each stack of the plurality of stacks, wherein the differentiating comprises interpreting each computer executable instruction at a software compiler to differentiate between at least two different types of computer executable instructions, the at least two different types of computer executable instructions comprising a memory operation and a computation operation, wherein the memory operation comprises a transfer of information from a remote memory to a localized cache of a target processor, and wherein the computation operation is a computer executable instruction involving computation on information within the localized cache of the target processor;

    creating, by the software compiler, switch points for each stack of the plurality of stacks based upon the differentiating;

    inserting, by the software compiler, the created switch points directly after any computer executable instructions that were determined to be associated with a memory access by the differentiating within each stack of the plurality of stacks; and

    executing the plurality of stacks of computer executable instructions after inserting the switch points, wherein the execution comprises;

    based on execution of a first computer executable instruction in a first stack of the plurality of stacks, initiating a transfer of information from the remote memory to the localized cache or register of the target processor;

    switching from the first stack to a second stack of the plurality of stacks based on a first switch point that is located directly after the first computer executable instruction in the first stack;

    initiating execution of a second computer executable instruction in the second stack while processing the transfer of information from the remote memory to the localized cache associated with the first computer executable instruction in the first stack;

    switching from the second stack to the first stack based on a second switch point that is located in the second stack after the second computer executable instruction; and

    after switching from the second stack to the first stack, performing a third computer executable instruction in the first stack comprising the computation operation using the information in the localized cache that was transferred by the first computer executable instruction.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×