Patents by Inventor Michael Estlick

Michael Estlick 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).

  • Publication number: 20260086963
    Abstract: A disclosed method for integer-to-floating-point data transfers includes intercepting, by a scheduler of a register file, a unit of register data from an external computing resource. The method also includes sorting, by the scheduler, the unit of register data into a first-in, first-out queue. Additionally, the method includes selecting, by the scheduler, a port of the register file based on a review of existing data pipelines to the register file. Furthermore, the method includes injecting, by the scheduler, the unit of register data into a data pipeline of the selected port, wherein the unit of register data is held in the first-in, first-out queue until previous register data is processed. Various other methods, devices, and systems are also disclosed.
    Type: Application
    Filed: September 25, 2024
    Publication date: March 26, 2026
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Erik Swanson, Vincent Chuan-Ming Wang, Eric Dixon, Michael Estlick
  • Publication number: 20250390304
    Abstract: A method for executing an instruction by an arithmetic logic unit pipeline can include performing, by permutation circuitry, a permutation in response to an instruction that includes an arithmetic operation. The method can also include performing, by an arithmetic logic unit, the arithmetic operation in response to the instruction. Various other methods and systems are also disclosed.
    Type: Application
    Filed: June 25, 2024
    Publication date: December 25, 2025
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Yasuko Eckert, Travis Boraten, Michael Estlick, Heather Lynn Hanson, Gabriel H. Loh
  • Publication number: 20250306939
    Abstract: An integrated circuit that performs computations according to an out-of-order execution scheduling scheme can include a first computing region and a second computing region. Such an integrated circuit can also include (i) a first retirement register that stores results of computations performed by the first computing region, and (ii) a second retirement register, physically disposed in proximity to the second computing region, that stores results of computations performed by the second computing region. Various other apparatuses, systems, and methods are also disclosed.
    Type: Application
    Filed: March 28, 2024
    Publication date: October 2, 2025
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Erik Swanson, Michael Estlick, Eric Dixon
  • Publication number: 20250306999
    Abstract: A disclosed system includes a physical processor with a scheduler circuit. The scheduler circuit can be configured to: (1) pre-pick, from a set of delayed broadcast scheduler entries, a pre-picked set of scheduler entries that have each met a threshold cycle time, (2) pick for execution, from a set of ready scheduler entries, a picked ready scheduler entry that has met a source dependence cycle time, the set of ready scheduler entries including (A) a set of scheduler entries that have each met the source dependence cycle time, and (B) the pre-picked set of scheduler entries, and (3) delay a broadcast of a scheduler update to the set of delayed broadcast scheduler entries.
    Type: Application
    Filed: March 30, 2024
    Publication date: October 2, 2025
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael Estlick, Erik Swanson, Eric Dixon
  • Patent number: 12333309
    Abstract: A coprocessor such as a floating-point unit includes a pipeline that is partitioned into a first portion and a second portion. A controller is configured to provide control signals to the first portion and the second portion of the pipeline. A first physical distance traversed by control signals propagating from the controller to the first portion of the pipeline is shorter than a second physical distance traversed by control signals propagating from the controller to the second portion of the pipeline. A scheduler is configured to cause a physical register file to provide a first subset of bits of an instruction to the first portion at a first time. The physical register file provides a second subset of the bits of the instruction to the second portion at a second time subsequent to the first time.
    Type: Grant
    Filed: June 16, 2023
    Date of Patent: June 17, 2025
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jay Fleischman, Michael Estlick, Michael Christopher Sedmak, Erik Swanson, Sneha V. Desai
  • Patent number: 12299445
    Abstract: An approach is provided for implementing register based single instruction, multiple data (SIMD) lookup table operations. According to the approach, an instruction set architecture (ISA) can support one or more SIMD instructions that enable vectors or multiple values in source data registers to be processed in parallel using a lookup table or truth table stored in one or more function registers. The SIMD instructions can be flexibly configured to support functions with inputs and outputs of various sizes and data formats. Various approaches are also described for supporting very large lookup tables that span multiple registers.
    Type: Grant
    Filed: June 6, 2022
    Date of Patent: May 13, 2025
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gabriel H. Loh, Yasuko Eckert, Bradford Beckmann, Michael Estlick, Jay Fleischman
  • Patent number: 12229563
    Abstract: The disclosed system may include a processor configured to detect that a data unit size for an instruction is smaller than a register. The processor may allocate a first portion of the register to the instruction in a manner that leaves a second portion of the register available for allocating to an additional instruction. The processor may also track the register as a split register. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: June 30, 2022
    Date of Patent: February 18, 2025
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Sree Harsha Kosuru, Eric Dixon, Erik Swanson, Michael Estlick, Patrick Michael Lowry
  • Patent number: 12223324
    Abstract: A data processing system includes a vector data processing unit that includes a shared scheduler queue configured to store in a same queue, at least one entry that includes at least a mask type instruction and another entry that includes at least a vector type instruction. Shared pipeline control logic controls a vector data path or a mask data path, based a type of instruction picked from the same queue. In some examples, at least one mask type instruction and the at least one vector type instruction each include a source operand having a corresponding shared source register bit field that indexes into both a mask register file and a vector register file. The shared pipeline control logic uses a mask register file or a vector register file depending on whether bits of the shared source register bit field identify a mask source register or a vector source register.
    Type: Grant
    Filed: September 30, 2022
    Date of Patent: February 11, 2025
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael Estlick, Eric Dixon, Theodore Carlson, Erik D. Swanson
  • Patent number: 12204935
    Abstract: Methods, systems, and apparatuses provide support for allowing thread forward progress in a processing system and that improves quality of service. One system includes a processor; a bus coupled to the processor; a memory coupled to the processor via the bus; and a floating point unit coupled to the processor via the bus, wherein floating point unit comprises hardware control logic operative to: store for each thread, by a scheduler of the floating point unit, a counter; increase, by the scheduler, a value of the counter for each thread corresponding to a thread when at least one source ready operation exist for the thread; compare, by the scheduler, the value of the counter to a predetermined threshold; and make other threads ineligible to be picked by the scheduler when the counter is greater than or equal to the predetermined threshold.
    Type: Grant
    Filed: July 30, 2021
    Date of Patent: January 21, 2025
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael Estlick, Erik Swanson, Eric Dixon
  • Patent number: 12118411
    Abstract: A processor includes a plurality of execution pipes and a distributed scheduler coupled to the plurality of execution pipes. The distributed scheduler includes a first queue to buffer instruction operations from a front end of an instruction pipeline of the processor and a plurality of second queues, wherein each second queue is to buffer instruction operations allocated from the first queue for a corresponding separate subset of execution pipes of the plurality of execution pipes. The distributed scheduler further includes a queue controller to select an allocation mode from a plurality of allocation modes based on whether at least one indicator of an imbalance at the distributed scheduler is detected, and further to control the distributed scheduler to allocate instruction operations from the first queue among the plurality of second queues in accordance with the selected allocation mode.
    Type: Grant
    Filed: September 11, 2019
    Date of Patent: October 15, 2024
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Sneha V. Desai, Michael Estlick, Erik Swanson, Anilkumar Ranganagoudra
  • Publication number: 20240319964
    Abstract: A processor includes one or more processor cores configured to perform accumulate top (ACCT) and accumulate bottom (ACCB) instructions. To perform such instructions, at least one processor core of the processor includes an ACCT data path that adds a first portion of a block of data to a first lane of a set of lanes of a top accumulator and adds a carry-out bit to a second lane of the set of lanes of the top accumulator. Further, the at least one processor core includes an ACCB data path that adds a second portion of the block of data to a first lane of a set of lanes of a bottom accumulator and adds a carry-out bit to a second lane of the set of lanes of the bottom accumulator.
    Type: Application
    Filed: March 24, 2023
    Publication date: September 26, 2024
    Inventors: Onur Kayiran, Lee Evan Eisen, Michael Estlick, Jay Fleischman, Matthew R. Poremba, Gabriel H. Loh
  • Patent number: 11960897
    Abstract: In some implementations, a processor includes a plurality of parallel instruction pipes, a register file includes at least one shared read port configured to be shared across multiple pipes of the plurality of parallel instruction pipes. Control logic controls multiple parallel instruction pipes to read from the at least one shared read port. In certain examples, the at least one shared register file read port is coupled as a single read port for one of the parallel instruction pipes and as a shared register file read port for a plurality of other parallel instruction pipes.
    Type: Grant
    Filed: July 30, 2021
    Date of Patent: April 16, 2024
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael Estlick, Erik Swanson, Eric Dixon, Todd Baumgartner
  • Publication number: 20240111526
    Abstract: A data processing system includes a vector data processing unit that includes a shared scheduler queue configured to store in a same queue, at least one entry that includes at least a mask type instruction and another entry that includes at least a vector type instruction. Shared pipeline control logic controls a vector data path or a mask data path, based a type of instruction picked from the same queue. In some examples, at least one mask type instruction and the at least one vector type instruction each include a source operand having a corresponding shared source register bit field that indexes into both a mask register file and a vector register file. The shared pipeline control logic uses a mask register file or a vector register file depending on whether bits of the shared source register bit field identify a mask source register or a vector source register.
    Type: Application
    Filed: September 30, 2022
    Publication date: April 4, 2024
    Inventors: MICHAEL ESTLICK, ERIC DIXON, THEODORE CARLSON, ERIK D. SWANSON
  • Publication number: 20240111489
    Abstract: A processing unit includes a plurality of adders and a plurality of carry bit generation circuits. The plurality of adders add first and second X bit binary portion values of a first Y bit binary value and a second Y bit binary value. Y is a multiple of X. The plurality of adders further generate first carry bits. The plurality of carry bit generation circuits is coupled to the plurality of adders, respectively, and receive the first carry bits. The plurality of carry bit generation circuits generate second carry bits based on the first carry bits. The plurality of adders use the second carry bits to add the first and second X bit binary portions of the first and second Y bit binary values, respectively.
    Type: Application
    Filed: September 29, 2022
    Publication date: April 4, 2024
    Inventors: Onur Kayiran, Michael Estlick, Masab Ahmad, Gabriel H. Loh
  • Publication number: 20240111529
    Abstract: An integrated circuit includes a vector data processing unit that employs a cross-lane shuffle unit including multiplexing logic that programmably shuffles packed source lane values, each corresponding to one of a plurality of vector lanes, to different output vector result lane positions over multiple cycles. In certain implementations, in a first cycle, control logic in the cross-shuffle unit controls the multiplexing logic to select source lane values to be placed in a first group of output vector result lane positions for a vector result register; and in at least a second cycle, the same multiplexing logic is reused to select source lane values to be placed in a second group of output vector result lane positions for the vector result register wherein at least one of the selected source lane values is moved to a different result lane position. Associated methods are also presented.
    Type: Application
    Filed: September 30, 2022
    Publication date: April 4, 2024
    Inventors: ERIC DIXON, MICHAEL ESTLICK, ERIK D. SWANSON
  • Publication number: 20240095180
    Abstract: The disclosed computer-implemented method for interpolating register-based lookup tables can include identifying, within a set of registers, a lookup table that has been encoded for storage within the set of registers. The method can also include receiving a request to look up a value in the lookup table and responding to the request by interpolating, from the encoded lookup table stored in the set of registers, a representation of the requested value. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Application
    Filed: December 23, 2022
    Publication date: March 21, 2024
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Gabriel H. Loh, Michael Estlick, Jay Fleischman, Michael J. Schulte, Bradford Beckmann, Yasuko Eckert
  • Patent number: 11907070
    Abstract: An integrated circuit includes one or more processing units that execute instructions that employ a register file, control logic creates a pre-startup register free list, prior to normal operation of at least one of the processing units, that includes a list of registers devoid of defective registers. In some implementations, no column and row repair information is provided to register file repair logic. In certain examples, the register file is configured as a repair-less register file. During normal operation of the one or more processing units, the integrated circuit employs the pre-startup register free list to select registers in a register file for the executing instructions. Associated methods are also presented.
    Type: Grant
    Filed: July 30, 2021
    Date of Patent: February 20, 2024
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Eric Busta, Michael L. Golden, Sean M. O′Mullan, James Wingfield, Keith A. Kasprak, Russell Schreiber, Michael Estlick
  • Publication number: 20240045694
    Abstract: A coprocessor such as a floating-point unit includes a pipeline that is partitioned into a first portion and a second portion. A controller is configured to provide control signals to the first portion and the second portion of the pipeline. A first physical distance traversed by control signals propagating from the controller to the first portion of the pipeline is shorter than a second physical distance traversed by control signals propagating from the controller to the second portion of the pipeline. A scheduler is configured to cause a physical register file to provide a first subset of bits of an instruction to the first portion at a first time. The physical register file provides a second subset of the bits of the instruction to the second portion at a second time subsequent to the first time.
    Type: Application
    Filed: June 16, 2023
    Publication date: February 8, 2024
    Inventors: Jay FLEISCHMAN, Michael ESTLICK, Michael Christopher SEDMAK, Erik SWANSON, Sneha V. DESAI
  • Publication number: 20240004664
    Abstract: The disclosed system may include a processor configured to detect that a data unit size for an instruction is smaller than a register. The processor may allocate a first portion of the register to the instruction in a manner that leaves a second portion of the register available for allocating to an additional instruction. The processor may also track the register as a split register. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Application
    Filed: June 30, 2022
    Publication date: January 4, 2024
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Sree Harsha Kosuru, Eric Dixon, Erik Swanson, Michael Estlick, Patrick Michael Lowry
  • Patent number: 11847463
    Abstract: A processor includes a load/store unit and an execution pipeline to execute an instruction that represents a single-instruction-multiple-data (SIMD) operation, and which references a memory block storing operand data for one or more lanes of a plurality of lanes and a mask vector indicating which lanes of a plurality of lanes are enabled and which are disabled for the operation. The execution pipeline executes an instruction in a first execution mode unless a memory fault is generated during execution of the instruction in the first execution mode. In response to the memory fault, the execution pipeline re-executes the instruction in a second execution mode. In the first execution mode, a single load operation is attempted to access the memory block via the load/store unit. In the second execution mode, a separate load operation is performed by the load/store unit for each enabled lane of the plurality of lanes prior to executing the SIMD operation.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: December 19, 2023
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kai Troester, Scott Thomas Bingham, John M. King, Michael Estlick, Erik Swanson, Robert Weidner