Replay reduction by wakeup suppression using early miss indication
AssigneeAdvanced Micro Devices, Inc.
InventorsGanesh Venkataramanan, Mike Butler, Krishnan V. Ramani
Life of this patent
Estimating the term…
Abstract
A method for reducing a number of operations replayed in a processor includes decoding an operation to determine a memory address and a command in the operation. If data is not in a way predictor based on the memory address, a suppress wakeup signal is sent to an operation scheduler, and the operation scheduler suppresses waking up other operations that are dependent on the data.
Claims6
A method for reducing a number of operations replayed in a processor, the processor including an operation scheduler, the method comprising:
- decoding an operation to determine a memory address and a command in the operation;
- scheduling, by the operation scheduler, the decoded operation for execution, the operation including retrieving data from a portion of memory;
- determining whether the portion of memory includes the data to be retrieved based on the memory address;
- when the portion of memory is determined to include the data to be retrieved or when the portion of memory is predicted to include the data to be retrieved within a predetermined number of cycles:
- (i) sending a wakeup signal to the operation scheduler to schedule each operation, dependent on the data and not previously executed, for execution;
- and
- (ii) scheduling each operation, dependent on the data and not previously executed, for execution responsive to the wakeup signal;
- and
- when the portion of memory is determined to not include the data or when the portion of memory is predicted to not include the data within the predetermined number of cycles:
- (i) sending a suppress wakeup signal to the operation scheduler to prevent each operation dependent on the data and not previously executed from being scheduled for execution;
- and
- (ii) preventing each operation dependent on the data and not previously executed from being scheduled for execution responsive to the suppress wakeup signal.
A non-transitory computer-readable storage medium storing a set of instructions for execution by a general purpose computer to reduce a number of operations replayed in a processor, the instructions comprising:
- decoding an operation to determine a memory address and a command in the operation;
- scheduling, by the operation scheduler, the decoded operation for execution, the operation including retrieving data from a portion of memory;
- determining whether the portion of memory includes the data to be retrieved based on the memory address;
- when the portion of memory is determined to include the data to be retrieved or when the portion of memory is predicted to include the data to be retrieved within a predetermined number of cycles:
- (i) sending a wakeup signal to the operation scheduler to schedule each operation, dependent on the data and not previously executed, for execution;
- and
- (ii) scheduling each operation, dependent on the data and not previously executed, for execution responsive to the wakeup signal;
- and
- when the portion of memory is determined to not include the data or when the portion of memory is predicted to not include the data within the predetermined number of cycles:
- (i) sending a suppress wakeup signal to the operation scheduler to prevent each operation dependent on the data and not previously executed from being scheduled for execution;
- and
- (ii) preventing each operation dependent on the data and not previously executed from being scheduled for execution responsive to the suppress wakeup signal.
A processing device comprising:
- memory;
- and
- a processor, including an operation scheduler, the processor configured to:
- decode an operation to determine a memory address and a command in the operation;
- schedule, by the operation scheduler, the operation including retrieving data from a portion of memory;
- receive, by the operation scheduler, a suppress wakeup signal when the portion of memory is determined to not include the data to be retrieved or when the portion of memory is predicted to not include the data to be retrieved within a predetermined number of cycles;
- schedule each operation, which has not previously been executed and is dependent on the data for execution, when a wakeup signal is received, the wakeup signal being generated when the portion of memory is determined to include the data to be retrieved or when the portion of memory is predicted to include the data to be retrieved within the predetermined number of cycles;
- and
- prevent each operation, which has not previously been executed and is dependent on the data, from being scheduled for execution when the suppress wakeup signal is received.
Dependencies are inferred from the claim text.