Virtual address based memory reordering
AssigneeNVIDIA Corporation
InventorsGuillermo J. Rozas, Bharath Krishnan, James Van Zoeren
Life of this patent
Estimating the term…
Abstract
A method for detecting an instruction ordering violation in a CPU. The method includes receiving a reordered stream of instructions and detecting whether an ordering violation has occurred by using virtual addresses. The method further includes transferring results of the reordered stream of instructions from a load store buffer into a cache and detecting whether an ordering violation has occurred by using physical addresses. Subsequently, a recovery is initiated upon detection of an ordering violation.
Claims20
A method for detecting an instruction ordering violation in a CPU, comprising:
- receiving a reordered stream of instructions;
- detecting whether an ordering violation has occurred by using virtual addresses;
- transferring results of the reordered stream of instructions from a load store buffer into a cache;
- detecting whether an ordering violation has occurred by using physical addresses;
- and
- initiating a recovery upon detection of an ordering violation.
A CPU having a memory reordering unit for implementing a method for detecting an instruction ordering violation, the method comprising:
- receiving a reordered stream of instructions;
- detecting whether an ordering violation has occurred by using virtual addresses;
- transferring results of the reordered stream of instructions from a load store buffer into a cache;
- detecting whether an ordering violation has occurred by using physical addresses;
- and
- initiating a recovery upon detection of an ordering violation.
A computer system, comprising:
- a computer system having a CPU including a memory reordering unit for implementing a method for detecting an instruction ordering violation, the method comprising:
- receiving a reordered stream of instructions;
- detecting whether an ordering violation has occurred by using virtual addresses;
- transferring results of the reordered stream of instructions from a load store buffer into a cache;
- detecting whether an ordering violation has occurred by using physical addresses;
- and
- initiating a recovery upon detection of an ordering violation.
Dependencies are inferred from the claim text.