Patents by Inventor David Kravitz

David Kravitz 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: 12554504
    Abstract: Apparatus and methods for dependency tracking, chaining, and/or fusing for vector instructions. A system, processor, or integrated circuit includes a renamer to generate a valid bit mask for each micro-operation decoded from a first vector instruction, where the valid bit mask indicates what portion of a mask register to write and generate a dependency bit mask for each micro-operation decoded from a second vector instruction, where the dependency bit mask is based on a relationship between the first vector instruction and the second vector instruction, and an issue queue configured to issue for execution each micro-operation from the second vector instruction when an associated dependency bit mask is cleared based on execution of appropriate micro-operations from the first vector instruction.
    Type: Grant
    Filed: April 26, 2023
    Date of Patent: February 17, 2026
    Assignee: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz
  • Patent number: 12530197
    Abstract: Apparatus and methods for cracking and processing vector instructions in a vector pipeline after decoding of a single or a first micro-operation in a main or primary pipeline are described. An integrated circuit includes a primary pipeline to decode a micro-operation from an instruction, create a reorder buffer entry in a reorder buffer for the micro-operation, responsive to a determination that the instruction is a vector instruction, send the micro-operation to a vector pipeline, and responsive to a determination that the instruction is a multiple register vector instruction, signal a vector pipeline to decode a remaining micro-operations from the instruction, and the vector pipeline to process the micro-operation, and process the remaining micro-operations when the instruction is the multiple register vector instruction.
    Type: Grant
    Filed: March 8, 2023
    Date of Patent: January 20, 2026
    Assignee: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz
  • Patent number: 12493465
    Abstract: Systems and methods are disclosed for transferring data between a memory system and a vector register file. For example, a system may include a vector pipeline including a vector physical register file; a load store unit; one or more pipeline stages configured to decode a vector memory instruction to obtain a macro-operation and dispatch the macro-operation to both the load store unit and the vector pipeline, and a baler circuitry, including a buffer with entries. The vector pipeline is configured to crack the macro-operation into multiple micro-operations. The baler circuitry is configured to implement the multiple micro-operations to transfer data between one or more selected entries of the buffer and respective registers of the vector physical register file. The load store unit is configured to implement the macro-operation to transfer data between one or more addresses in a memory system and the one or more selected entries of the buffer.
    Type: Grant
    Filed: November 30, 2023
    Date of Patent: December 9, 2025
    Assignee: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz, Alexandre Solomatnikov
  • Publication number: 20250278271
    Abstract: Systems and methods are disclosed for transferring an operand between a vector pipeline and a scalar pipeline. For example, some methods may include transferring an operand from a scalar pipeline to a scalar-to-vector buffer responsive to the scalar pipeline executing a first micro-op, wherein the scalar-to-vector buffer includes an entry having a width equal to a width of a scalar register of the scalar pipeline and a data store configured to store an indication mapping the entry to the first micro-op; updating the data store to include the indication mapping the entry to the first micro-op; identifying, by the vector pipeline in response to execution of a second micro-op and in dependence on the indication mapping the entry to the first micro-op, the entry storing the operand; and transferring the operand from the entry in the scalar-to-vector buffer to the vector pipeline responsive to the vector pipeline executing the second micro-op.
    Type: Application
    Filed: May 23, 2025
    Publication date: September 4, 2025
    Applicant: SiFive, Inc.
    Inventors: David Kravitz, Andrew Hanselman, Bradley Gene Burgess
  • Publication number: 20250251939
    Abstract: Apparatus and methods which bundle micro-operations with respect to a vector instruction, dynamically allocate register blocks for a vector instruction, and track the registers using valid bits. A method includes decoding, by a decoder, a vector instruction having a length multiplier of at least two into a number of micro-operations less than the length multiplier, allocating, by an issue queue, an issue queue entry to each of the number of micro-operations and executing, by the issue queue with execution units, each of the number of micro-operations a number of times from the issue queue entry to collectively match the length multiplier.
    Type: Application
    Filed: February 3, 2025
    Publication date: August 7, 2025
    Applicant: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz, Alexandre Solomatnikov
  • Patent number: 12373210
    Abstract: Systems and methods are disclosed for transferring an operand between a vector pipeline and a scalar pipeline. For example, some methods may include transferring an operand from a scalar pipeline to a scalar-to-vector buffer responsive to the scalar pipeline executing a first micro-op, wherein the scalar-to-vector buffer includes an entry having a width equal to a width of a scalar register of the scalar pipeline and a data store configured to store an indication mapping the entry to the first micro-op; updating the data store to include the indication mapping the entry to the first micro-op; identifying, by the vector pipeline in response to execution of a second micro-op and in dependence on the indication mapping the entry to the first micro-op, the entry storing the operand; and transferring the operand from the entry in the scalar-to-vector buffer to the vector pipeline responsive to the vector pipeline executing the second micro-op.
    Type: Grant
    Filed: November 30, 2023
    Date of Patent: July 29, 2025
    Assignee: SiFive, Inc.
    Inventors: David Kravitz, Andrew Hanselman, Bradley Gene Burgess
  • Publication number: 20250181355
    Abstract: Apparatus and methods for dependency tracking, chaining, and/or fusing for vector instructions. A system, processor, or integrated circuit includes a renamer to generate a valid bit mask for each micro-operation decoded from a first vector instruction, where the valid bit mask indicates what portion of a mask register to write and generate a dependency bit mask for each micro-operation decoded from a second vector instruction, where the dependency bit mask is based on a relationship between the first vector instruction and the second vector instruction, and an issue queue configured to issue for execution each micro-operation from the second vector instruction when an associated dependency bit mask is cleared based on execution of appropriate micro-operations from the first vector instruction.
    Type: Application
    Filed: January 31, 2025
    Publication date: June 5, 2025
    Applicant: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz
  • Patent number: 12310356
    Abstract: An organ container, which is for storing an organ or tissue and is able to be inserted into an apparatus for at least one of perfusion and transport of the organ or tissue, includes a basin configured to hold the organ or tissue and a perfusate bath. The organ container also includes tubing that (i) is connectable to a source of oxygen, (ii) includes a plurality of holes by which the oxygen may exit the tubing, and (iii) is located within the basin so as to be submerged within the perfusate bath present during the perfusion or transport of the organ or tissue.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: May 27, 2025
    Assignee: LIFELINE SCIENTIFIC, INC.
    Inventors: Peter De Muylder, David Kravitz, Christopher P Steinman, David Pettinato, Bernard Theunis
  • Patent number: 12293192
    Abstract: Apparatus and methods which bundle micro-operations with respect to a vector instruction, dynamically allocate register blocks for a vector instruction, and track the registers using valid bits. A method includes decoding, by a decoder, a vector instruction having a length multiplier of at least two into a number of micro-operations less than the length multiplier, allocating, by an issue queue, an issue queue entry to each of the number of micro-operations and executing, by the issue queue with execution units, each of the number of micro-operations a number of times from the issue queue entry to collectively match the length multiplier.
    Type: Grant
    Filed: April 28, 2023
    Date of Patent: May 6, 2025
    Assignee: SiFive, Inc.
    Inventors: Bradley Gene Burgess, David Kravitz, Alexandre Solomatnikov
  • Patent number: 12271737
    Abstract: An instruction execution circuit operable to reduce two or more micro-operations into one by producing multiple permutation and merge results in one execution cycle. The execution circuit includes a permutation and merge switching fabric and a bank of multiplexers. For a fetched instruction, a decoder decodes an opcode to generate a set of control indications used to control the multiplexers to select bytes from the respective inputs that are destined for each of the multiple results. In this manner, multiple permutation results can be output from the execution circuits in one micro-operation.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: April 8, 2025
    Assignee: Marvell Asia Pte, Ltd.
    Inventors: David Kravitz, David A. Carlson
  • Publication number: 20240362025
    Abstract: Apparatus and methods which bundle micro-operations with respect to a vector instruction, dynamically allocate register blocks for a vector instruction, and track the registers using valid bits. A method includes decoding, by a decoder, a vector instruction having a length multiplier of at least two into a number of micro-operations less than the length multiplier, allocating, by an issue queue, an issue queue entry to each of the number of micro-operations and executing, by the issue queue with execution units, each of the number of micro-operations a number of times from the issue queue entry to collectively match the length multiplier.
    Type: Application
    Filed: April 28, 2023
    Publication date: October 31, 2024
    Inventors: Bradley Gene Burgess, David Kravitz, Alexandre Solomatnikov
  • Publication number: 20240362026
    Abstract: Apparatus and methods for dependency tracking, chaining, and/or fusing for vector instructions. A system, processor, or integrated circuit includes a renamer to generate a valid bit mask for each micro-operation decoded from a first vector instruction, where the valid bit mask indicates what portion of a mask register to write and generate a dependency bit mask for each micro-operation decoded from a second vector instruction, where the dependency bit mask is based on a relationship between the first vector instruction and the second vector instruction, and an issue queue configured to issue for execution each micro-operation from the second vector instruction when an associated dependency bit mask is cleared based on execution of appropriate micro-operations from the first vector instruction.
    Type: Application
    Filed: April 26, 2023
    Publication date: October 31, 2024
    Inventors: Bradley Gene Burgess, David Kravitz
  • Publication number: 20240303082
    Abstract: Apparatus and methods for cracking and processing vector instructions in a vector pipeline after decoding of a single or a first micro-operation in a main or primary pipeline are described. An integrated circuit includes a primary pipeline to decode a micro-operation from an instruction, create a reorder buffer entry in a reorder buffer for the micro-operation, responsive to a determination that the instruction is a vector instruction, send the micro-operation to a vector pipeline, and responsive to a determination that the instruction is a multiple register vector instruction, signal a vector pipeline to decode a remaining micro-operations from the instruction, and the vector pipeline to process the micro-operation, and process the remaining micro-operations when the instruction is the multiple register vector instruction.
    Type: Application
    Filed: March 8, 2023
    Publication date: September 12, 2024
    Inventors: Bradley Gene Burgess, David Kravitz
  • Patent number: 12070028
    Abstract: An apparatus for perfusing an organ or tissue includes a perfusion circuit for perfusing the organ or tissue; a controller configured to control the apparatus; and a detector configured to detect an optional component of the apparatus, and provide a signal to the controller indicative of the presence of the optional component, wherein the controller is configured to control the perfusion circuit in a first mode when the optional component is detected and to control the perfusion circuit in a second mode when the optional component is not detected.
    Type: Grant
    Filed: February 21, 2020
    Date of Patent: August 27, 2024
    Assignee: LIFELINE SCIENTIFIC, INC.
    Inventors: David Kravitz, Christopher P. Steinman, Jeffrey S. Louis, Matthew Copithorne, Brian Otts, Peter Demuylder
  • Publication number: 20240184576
    Abstract: Systems and methods are disclosed for transferring data between a memory system and a vector register file. For example, a system may include a vector pipeline including a vector physical register file; a load store unit; one or more pipeline stages configured to decode a vector memory instruction to obtain a macro-operation and dispatch the macro-operation to both the load store unit and the vector pipeline, and a baler circuitry, including a buffer with entries. The vector pipeline is configured to crack the macro-operation into multiple micro-operations. The baler circuitry is configured to implement the multiple micro-operations to transfer data between one or more selected entries of the buffer and respective registers of the vector physical register file. The load store unit is configured to implement the macro-operation to transfer data between one or more addresses in a memory system and the one or more selected entries of the buffer.
    Type: Application
    Filed: November 30, 2023
    Publication date: June 6, 2024
    Inventors: Bradley Gene Burgess, David Kravitz, Alexandre Solomatnikov
  • Publication number: 20240184575
    Abstract: Systems and methods are disclosed for transferring an operand between a vector pipeline and a scalar pipeline. For example, some methods may include transferring an operand from a scalar pipeline to a scalar-to-vector buffer responsive to the scalar pipeline executing a first micro-op, wherein the scalar-to-vector buffer includes an entry having a width equal to a width of a scalar register of the scalar pipeline and a data store configured to store an indication mapping the entry to the first micro-op; updating the data store to include the indication mapping the entry to the first micro-op; identifying, by the vector pipeline in response to execution of a second micro-op and in dependence on the indication mapping the entry to the first micro-op, the entry storing the operand; and transferring the operand from the entry in the scalar-to-vector buffer to the vector pipeline responsive to the vector pipeline executing the second micro-op.
    Type: Application
    Filed: November 30, 2023
    Publication date: June 6, 2024
    Inventors: David Kravitz, Andrew Hanselman, Bradley Gene Burgess
  • Patent number: 11947964
    Abstract: Examples of a carry chain for performing an operation on operands each including elements of a selectable size is provided. Advantageously, the carry chain adapts to elements of different sizes. The carry chain determines a mask based on a selected size of an element. The carry chain selects, based on the mask, whether to carry a partial result of an operation performed on corresponding first portions of a first operand and a second operand into a next operation. The next operation is performed on corresponding second portions of the first operand and the second operand, and, based on the selection, the partial result of the operation. The carry chain stores, in a memory, a result formed from outputs of the operation and the next operation.
    Type: Grant
    Filed: October 25, 2022
    Date of Patent: April 2, 2024
    Assignee: Marvell Asia Pte, Ltd.
    Inventor: David Kravitz
  • Patent number: 11766038
    Abstract: An apparatus for perfusing an organ or tissue includes a perfusion circuit for perfusing the organ or tissue; an oxygenator for oxygenating perfusate that circulates through the perfusion circuit; and an oxygen supply device such as an oxygen concentrator or an oxygen generator configured to supply oxygen to the oxygenator. A method of perfusing an organ or tissue includes producing oxygen from a device such as an oxygen concentrator and an oxygen generator; supplying the produced oxygen, preferably as the oxygen is produced, to a perfusate to oxygenate the perfusate; and perfusing the organ or tissue with the oxygenated perfusate. The produced oxygen preferably has a concentration greater than the oxygen concentration in air.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: September 26, 2023
    Assignee: LIFELINE SCIENTIFIC, INC.
    Inventors: Christopher P. Steinman, David Kravitz, Aaron R. Ferber, Ross Lockwood, Rodney H. Monson, Evan D. Shapiro
  • Patent number: 11709674
    Abstract: A method of implementing a processor architecture and corresponding system includes operands of a first size and a datapath of a second size. The second size is different from the first size. Given a first array of registers and a second array of registers, each register of the first and second arrays being of the second size, selecting a first register and corresponding second register from the first array and the second array, respectively, to perform operations of the first size. This allows a user, who is interfacing with the hardware processor through software, to provide data of the datapath bit-width instead of the register bit-width. Advantageously, the user is agnostic to the size of the registers.
    Type: Grant
    Filed: October 16, 2020
    Date of Patent: July 25, 2023
    Assignee: Marvell Asia Pte, Ltd.
    Inventors: David Kravitz, Manan Salvi, David A. Carlson
  • Publication number: 20230047935
    Abstract: Examples of a carry chain for performing an operation on operands each including elements of a selectable size is provided. Advantageously, the carry chain adapts to elements of different sizes. The carry chain determines a mask based on a selected size of an element. The carry chain selects, based on the mask, whether to carry a partial result of an operation performed on corresponding first portions of a first operand and a second operand into a next operation. The next operation is performed on corresponding second portions of the first operand and the second operand, and, based on the selection, the partial result of the operation. The carry chain stores, in a memory, a result formed from outputs of the operation and the next operation.
    Type: Application
    Filed: October 25, 2022
    Publication date: February 16, 2023
    Inventor: David KRAVITZ