Interface to a memory system for a processor having a replay system
AssigneeIntel Corporation
InventorsAmit A. Merchant, Darrell D. Boggs, David J. Sager
Life of this patent
Estimating the term…
Abstract
A processor includes a memory execution unit for executing load and store instructions and a replay system for replaying instructions which have not executed properly. The memory execution unit including an invalid store flag that is set for a store instruction if the replay system detects that the store instruction has not executed properly and is cleared if the store instruction has executed properly. If an invalid store flag is set for a store instruction, the replay system replays load instructions which are programmatically younger than the invalid store instruction until the store instruction executes properly.
Claims21
A processor comprising:
- a replay system for determining which instructions have not executed properly and replaying those instructions which have not executed properly;
- a memory execution unit coupled to the replay system for executing load and store instructions, the memory execution unit including an invalid store flag that is set for a store instruction if the replay system detects that the store instruction has not executed properly and is cleared if the store instruction has executed properly;
- and
- wherein if an invalid store flag is set for a store instruction, the replay system replays load instructions which are programmatically younger than the invalid store instruction so long as the invalid store flag is set.
A processor comprising:
- a replay system for determining which instructions have not executed properly and replaying instructions which have not executed properly;
- a memory execution unit coupled to the replay system for executing load and store instructions, the memory execution unit including;
- a store buffer including one or more entries for storing information related to store instructions, each entry in the store buffer including an invalid store flag that is set for a store instruction if the replay system detects that the store instruction has not executed properly and is cleared if the store instruction has executed properly;
- and
- an external replay signal that is generated from the memory execution unit to the replay system if an invalid store flag is set for a store instruction in the store buffer, the external replay signal being generated for each load instruction that is programmatically younger than the invalid store instruction to allow the replay system to replay the younger load instructions.
A processor comprising:
- a replay system for determining which instructions have not executed properly and replaying instructions which have not executed properly;
- and
- a memory execution unit coupled to the replay system for executing load and store instructions, the memory execution unit including;
- a bus queue for issuing and tracking memory requests to an external bus, the bus queue being notified by the replay system if a store instruction executes improperly, the bus queue inhibiting memory requests to the external bus for load instructions that are programmatically younger than the store instruction that executed improperly until the store instruction executes properly.
A method of processing instructions comprising:
- detecting that a store instruction has executed improperly;
- replaying the store instruction;
- and
- replaying subsequently received load instructions which are programmatically younger than the store instruction until the store instruction has executed properly.
A method of processing instructions comprising:
- detecting that a store instruction has executed improperly because of invalid data;
- replaying the store instruction;
- and
- replaying subsequently received load instructions which are programmatically younger than the store instruction and have an address that matches an address of the store instruction.
A method of processing instructions comprising:
- detecting that a store instruction has executed improperly;
- replaying the store instruction;
- and
- inhibiting memory accesses to an external bus for load instructions that are programmatically younger than the store instruction until the store instruction has executed properly.
A method of processing instructions comprising:
- executing a store instruction;
- detecting that the store instruction has not executed properly;
- setting an invalid store flag for the store instruction;
- routing the store instruction back to an execution unit for replay;
- executing a programmatically younger load instruction;
- detecting that the store instruction executed improperly based on the invalid store flag;
- routing the load instruction back to the execution unit for replay;
- and
- clearing the invalid store flag only after the store instruction has executed properly.
A method of processing instructions comprising:
- executing a store instruction at a memory execution unit;
- detecting at a replay system that the store instruction has not executed properly;
- setting an invalid store flag for the store instruction in a memory execution unit;
- replaying the store instruction;
- executing a load instruction at the memory execution unit that is younger than the store instruction;
- the memory execution unit generating an external replay signal to the replay system based on set invalid store flag;
- and
- the replay system replaying the load instruction in response to the external replay signal from the memory execution unit.
A processor comprising:
- a replay system for determining which instructions have not executed properly and replaying those instructions which have not executed properly;
- a memory execution unit coupled to the replay system for executing load and store instructions, the memory execution unit including an invalid address flag that is set for a store instruction if the replay system detects that the store instruction has not executed properly due to an invalid address;
- wherein if an invalid address flag is set for a store instruction, the replay system replays load instructions having an address matching the address of the invalid store instruction and which are programmatically younger than the invalid store instruction.
A processor comprising:
- a replay system for determining which instructions have not executed properly and replaying those instructions which have not executed properly;
- a memory execution unit coupled to the replay system for executing load and store instructions, the memory execution unit including an invalid address flag indicating if a store instruction has not executed properly due to an invalid address;
- wherein if an invalid address flag is set for a store instruction, the replay system replays load instructions having an address matching the address of the invalid store instruction and which are programmatically younger than the invalid store instruction.
Dependencies are inferred from the claim text.