Claims Analysis
Total Claims: 4
Claim 1
Independent Claim
321 words
A method of executing a program in a processor; said program comprising instructions in sequential program order with each of said instructions logically previous to all subsequent instructions; the instructions comprising source operand specifiers and destination operand specifiers; said source operand specifiers specifying source locations for reading source operands; and said destination operand specifiers specifying destination locations for writing results of the instruction; said processor including at least one execution unit for instruction execution; said method comprising the steps of: obtaining the instructions in said sequential program order; for each of the instructions dynamically, at run-time, determining an execution-point defining when said instruction execution is to begin, such that: all logically previous writes to said source locations will be accomplished before the instruction execution reads said source locations; all logically previous reads of said destination locations will be accomplished before the instruction execution causes said destination locations to be overwritten; and all logically previous writes to the destination locations will be accomplished before the instruction execution causes the destination locations to be overwritten; and beginning use of said execution unit by the instruction only when said execution-point has been reached; whereby the processor, when appropriate, executes the instructions in an order that differs from the sequential program order; program execution results are identical to said program execution results obtained by executing the instructions, one at a time, in the sequential program order; each of the instructions is executed as early as possible with foreknowledge of when all logically previous writes of the source locations and all logically previous reads and writes of the destination locations will be completed, instead of waiting until after said logically previous reads and writes have been completed before beginning execution; and the execution unit is utilized by the instruction only during the instruction's active execution, thus maximizing the execution unit availabilty for other instructions, rather than monopolizing the execution unit while waiting for execution to begin.
Claim 2
Independent Claim
321 words
A method of executing a program in a processor; said program comprising instructions in sequential program order with each of said instructions logically previous to all subsequent instructions; the instructions comprising source operand specifiers and destination operand specifiers; said source operand specifiers specifying source locations for reading source operands; and said destination operand specifiers specifying destination locations for writing results of the instruction; said processor including at least one execution unit for instruction execution; said method comprising the steps of: obtaining the instructions in said sequential program order; for each of the instructions dynamically, at run-time, determining an execution-point defining when said instruction execution is to begin, such that: all logically previous writes to said source locations will be accomplished before the instruction execution reads said source locations; all logically previous reads of said destination locations will be accomplished before the instruction execution causes said destination locations to be overwritten; and all logically previous writes to the destination locations will be accomplished before the instruction execution causes the destination locations to be overwritten; and beginning use of said execution unit by the instruction only when said execution-point has been reached; whereby the processor, when appropriate, executes the instructions in an order that differs from the sequential program order; program execution results are identical to said program execution results obtained by executing the instructions, one at a time, in the sequential program order; each of the instructions is executed as early as possible with foreknowledge of when all logically previous writes of the source locations and all logically previous reads and writes of the destination locations will be completed, instead of waiting until after said logically previous reads and writes have been completed before beginning execution; and the execution unit is utilized by the instruction only during the instruction's active execution, thus maximizing the execution unit availabilty for other instructions, rather than monopolizing the execution unit while waiting for execution to begin.
Claim 3
Dependent Claim
315 words
A processor for executing a program; said program comprising instructions in sequential program order with each of said instructions logically previous to all subsequent instructions; the instructions comprising source operand specifiers and destination operand specifiers; said source operand specifiers specifying source locations for reading source operands; and said destination operand specifiers specifying destination locations for writing results of the instruction; said processor including at least one execution unit for instruction execution; the processor further: obtaining the instructions in said sequential program order; for each of the instructions dynamically, at run-time, determining an execution-point defining when said instruction execution is to begin, such that: all logically previous writes to said source locations will be accomplished before the instruction execution reads said source locations; all logically previous reads of said destination locations will be accomplished before the instruction execution causes said destination locations to be overwritten; and all logically previous writes to the destination locations will be accomplished before the instruction execution causes the destination locations to be overwritten; and beginning use of said execution unit by the instruction only when said execution-point has been reached; whereby the processor, when appropriate, executes the instructions in an order that differs from the sequential program order; program execution results are identical to said program execution results obtained by executing the instructions, one at a time, in the sequential program order; each of the instructions is executed as early as possible with foreknowledge of when all logically previous writes of the source locations and all logically previous reads and writes of the destination locations will be completed, instead of waiting until after said logically previous reads and writes have been completed before beginning execution; and the execution unit is utilized by the instruction only during the instruction's active execution, thus maximizing the execution unit availabilty for other instructions, rather than monopolizing the execution unit while waiting for execution to begin.
Claim 4
Dependent Claim
315 words
A processor for executing a program; said program comprising instructions in sequential program order with each of said instructions logically previous to all subsequent instructions; the instructions comprising source operand specifiers and destination operand specifiers; said source operand specifiers specifying source locations for reading source operands; and said destination operand specifiers specifying destination locations for writing results of the instruction; said processor including at least one execution unit for instruction execution; the processor further: obtaining the instructions in said sequential program order; for each of the instructions dynamically, at run-time, determining an execution-point defining when said instruction execution is to begin, such that: all logically previous writes to said source locations will be accomplished before the instruction execution reads said source locations; all logically previous reads of said destination locations will be accomplished before the instruction execution causes said destination locations to be overwritten; and all logically previous writes to the destination locations will be accomplished before the instruction execution causes the destination locations to be overwritten; and beginning use of said execution unit by the instruction only when said execution-point has been reached; whereby the processor, when appropriate, executes the instructions in an order that differs from the sequential program order; program execution results are identical to said program execution results obtained by executing the instructions, one at a time, in the sequential program order; each of the instructions is executed as early as possible with foreknowledge of when all logically previous writes of the source locations and all logically previous reads and writes of the destination locations will be completed, instead of waiting until after said logically previous reads and writes have been completed before beginning execution; and the execution unit is utilized by the instruction only during the instruction's active execution, thus maximizing the execution unit availabilty for other instructions, rather than monopolizing the execution unit while waiting for execution to begin.