Patents by Inventor Sean M. Reynolds

Sean M. Reynolds has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11468168
    Abstract: Systems, apparatuses, and methods for efficient handling of subroutine epilogues. When an indirect control transfer instruction corresponding to a procedure return for a subroutine is identified, the return address and a signature are retrieved from one or more of a return address stack and the memory stack. An authenticator generates a signature based on at least a portion of the retrieved return address. While the signature is being generated, instruction processing speculatively continues. No instructions are permitted to commit yet. The generated signature is later compared to a copy of the signature generated earlier during the corresponding procedure call. A mismatch causes an exception.
    Type: Grant
    Filed: April 11, 2017
    Date of Patent: October 11, 2022
    Assignee: Apple Inc.
    Inventors: Conrado Blasco, Ian D. Kountanis, Douglas C. Holman, Sean M. Reynolds, Richard F. Russo
  • Patent number: 11036514
    Abstract: A method and apparatus for performing an indexed data dependency instruction wakeup is disclosed. A scheduler may issue one or more instruction operations from a number of entries therein, including a first instruction operation. In a second entry, a comparison operation may be performed between a dependency index and an index of the first instruction operation. A match between the index of the first instruction and the dependency index in the second entry indicates a dependency of the corresponding instruction on the first instruction, and further indicates that the first instruction operation has issued. The dependency may be determined based solely on the match between the dependency index and the index of the first instruction. Responsive to determining that the first instruction operation has issued in the second entry, an indication that a corresponding second instruction operation is ready to issue may be provided.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: June 15, 2021
    Assignee: Apple Inc.
    Inventors: Sean M. Reynolds, Gokul V. Ganesan
  • Patent number: 10983799
    Abstract: Techniques are disclosed relating to selection circuitry configured to select instruction operations to issue to one or more execution circuits of a processor. In some embodiments, an apparatus includes a plurality of execution circuits configured to perform one or more instruction operations. The apparatus may further include a plurality of instruction queues configured to store information indicative of the one or more instruction operations. In some embodiments, the apparatus may include a selection circuit configured to select a first plurality of instruction operations from a first instruction queue. The selection circuit may be configured to select a first instruction operation from the first plurality of instruction operations to issue to a first execution circuits.
    Type: Grant
    Filed: December 19, 2017
    Date of Patent: April 20, 2021
    Assignee: Apple Inc.
    Inventors: Sean M. Reynolds, Gokul V. Ganesan
  • Patent number: 10628164
    Abstract: A system and method for efficiently handling speculative execution. A load store unit (LSU) of a processor stores a commit candidate pointer, which points to a given store instruction buffered in the store queue. The given store instruction is an oldest store instruction not currently permitted to commit to the data cache. The LSU receives a first pointer from the mapping unit, which points to an oldest instruction of non-dispatched branches and unresolved system instructions. The LSU receives a second pointer from the execution unit, which points to an oldest unresolved, issued branch instruction. When the LSU determines the commit candidate pointer is older than each of the first pointer and the second pointer, the commit candidate pointer is updated to point to an oldest store instruction younger than the given store instruction stored in the store queue. The given store instruction is permitted to commit to the data cache.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: April 21, 2020
    Assignee: Apple Inc.
    Inventors: Kulin N. Kothari, Mridul Agarwal, Aditya Kesiraju, Deepankar Duggal, Sean M. Reynolds
  • Patent number: 10514925
    Abstract: Systems, apparatuses, and methods for managing dependencies between instruction operations when speculatively issuing load instruction operations. A processor may maintain dependency vectors for sources of instruction operations dispatched to the scheduler. The dependency vector may include a column for each cycle of the load recovery window and a row for each load execution pipeline. When a load speculatively issues, any instruction operation which is dependent on the load may have a bit set in the earliest bit position of its dependency vector to indicate the dependency. The bit may shift in the dependency vector toward the cancel bit position during each clock cycle as the load executes. If the load does not produce its data at the expected latency, an instruction operation may be canceled if there is a bit in the cancel bit position of the dependency vector row corresponding to the execution pipeline of the load.
    Type: Grant
    Filed: January 28, 2016
    Date of Patent: December 24, 2019
    Assignee: Apple Inc.
    Inventor: Sean M. Reynolds
  • Patent number: 10452434
    Abstract: Systems, apparatuses, and methods for efficiently scheduling processor instructions for execution. The reservation station in a processor stores instructions in each of a primary buffer and a secondary buffer. Control logic selects a first number of instructions with ready source operands in the primary buffer and a second number of instructions with ready source operands in the secondary buffer. If a third number of instructions to issue from the reservation station is greater than the first number of instructions, then the reservation station issues one or more instructions of the second number of instructions from the secondary buffer to the one or more execution units. Control logic selects a fourth number of instructions in the secondary buffer to transfer to the primary buffer, and cancels the transfer of a given instruction in response to determining the given instruction has issued to the one or more execution units.
    Type: Grant
    Filed: September 11, 2017
    Date of Patent: October 22, 2019
    Assignee: Apple Inc.
    Inventors: Conrado Blasco, Sean M. Reynolds
  • Patent number: 10133571
    Abstract: A load-store unit having one or more banked queues is disclosed. In one embodiment, a load-store unit includes at least one queue that is subdivided into multiple banks. Although divided into multiple banks, the queue logically appears to software as a single queue. A first bank of the queue includes a first plurality of entries, with the second bank of the queue having a second plurality of entries, wherein each of the entries is arranged to store memory instructions. Each of the banks is associated with corresponding logic circuitry that controls one or more pointers for that bank. The pointer information may be exchanged between the logic circuits associated with the banks. Based on the pointer information that is exchanged, each bank may output (e.g., for retirement) one entry per cycle.
    Type: Grant
    Filed: June 2, 2016
    Date of Patent: November 20, 2018
    Assignee: Apple Inc.
    Inventors: Aditya Kesiraju, Mridul Agarwal, Pradeep Kanapathipillai, Sean M. Reynolds