Patents by Inventor Rangeen Basu Roy Chowdhury

Rangeen Basu Roy Chowdhury 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: 12169718
    Abstract: An apparatus comprises decoder circuitry to decode an instruction that includes an opcode to indicate a protected load operation, a source field for source memory address information, and a destination field to identify a destination register. The apparatus also comprises memory to store an allocate load-protect (LP) data structure with an entry for the identified destination register. The entry comprises an IP field and a status field. The apparatus also comprises load elision circuitry to (a) use the allocate LP data structure to determine whether the identified destination register has active status for the IP; (b) in response to determining that the identified destination register has active status for the IP, cause the instruction to be elided; and (c) in response to determining that the identified destination register does not have active status for the IP, cause the instruction to be executed. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 25, 2021
    Date of Patent: December 17, 2024
    Assignee: Intel Corporation
    Inventors: Vineeth Thamarassery Mekkat, Sebastian Christoph Albert Winkel, Rangeen Basu Roy Chowdhury
  • Publication number: 20240111539
    Abstract: Techniques and mechanisms for a processor to determine an operational mode based on metadata for a page table. In an embodiment, an instruction fetch unit of the processor detects a pointer to a next instruction, in a sequence of instructions, which is to be prepared for execution with a core of the processor. Based on the pointer, a page table is identified as including an entry which indicates a location of the instruction. The page table includes, or otherwise corresponds to, metadata which comprises an identifier of an operational mode of the processor. Based on the metadata, the processor is transitioned to the operational mode in preparation for an execution of the instruction. In another embodiment, the operational mode is one of multiple operational modes which each correspond to a different instruction set architecture.
    Type: Application
    Filed: September 30, 2022
    Publication date: April 4, 2024
    Applicant: Intel Corporation
    Inventors: Jason Agron, Andreas Kleen, Rangeen Basu Roy Chowdhury
  • Publication number: 20230315473
    Abstract: Embodiments of apparatuses and methods for variable-length instruction steering to instruction decode clusters are disclosed. In an embodiment, an apparatus includes a decode cluster and chunk steering circuitry. The decode cluster includes multiple instruction decoders. The chunk steering circuitry is to break a sequence of instruction bytes into a plurality of chunks, create a slice from a one or more of the plurality of chunks based on one or more indications of a number of instructions in each of the one or more of the plurality of chunks, wherein the slice has a variable size and includes a plurality of instructions, and steer the slice to the decode cluster.
    Type: Application
    Filed: April 2, 2022
    Publication date: October 5, 2023
    Applicant: Intel Corporation
    Inventors: Muhammad Azeem, Rangeen Basu Roy Chowdhury, Xiang Zou, Malihe Ahmadi, Joju Joseph Zajo, Ariel Sabba, Ammon Christiansen, Polychronis Xekalakis, Eliyah Kilada
  • Publication number: 20230315501
    Abstract: Systems, methods, and devices for original code emulation for performance monitoring is provided. A system may memory to store instructions. A processor may implement an instruction converter in hardware or software to convert the instructions to translated code. Specifically, the instruction converter receives the instructions and translates the stored instructions into the translated code that includes one or more indexed instructions. The one or more indexed instructions include a field indicating a number of branches in the stored instructions that are taken in the translated code.
    Type: Application
    Filed: April 1, 2022
    Publication date: October 5, 2023
    Inventors: Sebastian Winkel, Rangeen Basu Roy Chowdhury, Matthew C. Merten, Jason M. Agron, Tyler N. Sondag, Gregory A. Woods
  • Publication number: 20230315467
    Abstract: First and second instruction storage are coupled with a fetch unit including sets of fetch circuitry each spanning a plurality of pipeline stages. A first set of fetch circuitry is to initiates a fetch operation for a block of instructions, and has an indication to read the block of instructions from the second instruction storage. The first set retains the fetch operation for the block of instructions at a pipeline stage of the plurality, for one or more cycles, until a hazard corresponding to the pipeline stage of the first set of fetch circuitry has been removed. The first set stores the block of instructions from the second instruction storage to the first instruction storage, during the one or more cycles. The first set reads the block of instructions from the first instruction storage, for the fetch operation, once the hazard has been removed.
    Type: Application
    Filed: April 2, 2022
    Publication date: October 5, 2023
    Inventors: Eliyah Kilada, Ammon Christiansen, Ariel Fabien Sabba, Christopher Celio, Ankur Groen, Muhammad Faisal Azeem, Malihe Ahmadi, Rangeen Basu Roy Chowdhury
  • Publication number: 20230315466
    Abstract: At least one instruction storage coupled with a fetch unit including sets of fetch circuitry each having a same plurality of pipeline stages. The sets of fetch circuitry perform fetch operations to fetch blocks of instructions from the at least one instruction storage. Stall circuitry, in response to an indication of a hazard for a given pipeline stage of a first set of fetch circuitry, retains a fetch operation for a first block of instructions at the given pipeline stage, and zero or more fetch operations for zero or more corresponding blocks of instructions at zero or more preceding pipeline stages of the first set of fetch circuitry, until the hazard has been removed. The stall circuitry advances a fetch operation for a second block of instructions from the given pipeline stage of a second set of fetch circuitry, during an initial cycle of the one or more cycles.
    Type: Application
    Filed: April 2, 2022
    Publication date: October 5, 2023
    Inventors: Eliyah Kilada, Ammon Christiansen, Ariel Fabien Sabba, Christopher Celio, Ankur Groen, Muhammad Faisal Azeem, Malihe Ahmadi, Rangeen Basu Roy Chowdhury
  • Publication number: 20220413870
    Abstract: An apparatus comprises decoder circuitry to decode an instruction that includes an opcode to indicate a protected load operation, a source field for source memory address information, and a destination field to identify a destination register. The apparatus also comprises memory to store an allocate load-protect (LP) data structure with an entry for the identified destination register. The entry comprises an IP field and a status field. The apparatus also comprises load elision circuitry to (a) use the allocate LP data structure to determine whether the identified destination register has active status for the IP; (b) in response to determining that the identified destination register has active status for the IP, cause the instruction to be elided; and (c) in response to determining that the identified destination register does not have active status for the IP, cause the instruction to be executed. Other embodiments are described and claimed.
    Type: Application
    Filed: June 25, 2021
    Publication date: December 29, 2022
    Inventors: Vineeth Thamarassery Mekkat, Sebastian Christoph Albert Winkel, Rangeen Basu Roy Chowdhury
  • Patent number: 11372775
    Abstract: A processor comprising an instruction execution circuit to execute a second code stored at a second address of a memory, wherein the second code is translated from a first code stored at a first address of the memory and a translation table (TT) controller coupled to a translation table to store a TT entry comprising a mapping between the first address and the second address and an attribute field comprising an attribute value associated with execution of the second code, wherein the TT controller is to monitor execution of the second code by the instruction execution circuit and update, based on a performance metric of the execution, the attribute value of the TT entry.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: June 28, 2022
    Assignee: Intel Corporation
    Inventors: Girish Venkatasubramanian, Jason M. Agron, Cristiano Pereira, Rangeen Basu Roy Chowdhury
  • Patent number: 11048318
    Abstract: A system on a chip is described that comprises a processor and a set of memory components that store instructions, which when executed by the processor cause the system on a chip to: generate, by a set of data collectors of a telemetry subsystem, a set of streams of telemetry metadata describing operation of the processor, forward one or more streams of telemetry metadata from the set of streams of telemetry metadata to a set of machine learning-driven adaptation decision models, receive, from the set of machine learning-driven adaptation decision models, a set of configuration parameters for controlling operation of the processor based on the one or more streams of telemetry metadata, and modify operation of the processor based on the set of configuration parameters.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: June 29, 2021
    Assignee: Intel Corporation
    Inventors: Julien Sebot, Rangeen Basu Roy Chowdhury, Rustam Miftakhutdinov, Stephen J. Tarsa, Gautham N. Chinya, Eric Donkoh
  • Publication number: 20200183482
    Abstract: A system on a chip is described that comprises a processor and a set of memory components that store instructions, which when executed by the processor cause the system on a chip to: generate, by a set of data collectors of a telemetry subsystem, a set of streams of telemetry metadata describing operation of the processor, forward one or more streams of telemetry metadata from the set of streams of telemetry metadata to a set of machine learning-driven adaptation decision models, receive, from the set of machine learning-driven adaptation decision models, a set of configuration parameters for controlling operation of the processor based on the one or more streams of telemetry metadata, and modify operation of the processor based on the set of configuration parameters.
    Type: Application
    Filed: March 29, 2019
    Publication date: June 11, 2020
    Applicant: Intel Corporation
    Inventors: Julien Sebot, Rangeen Basu Roy Chowdhury, Rustam Miftakhutdinov, Stephen J. Tarsa, Gautham N. Chinya, Eric Donkoh
  • Publication number: 20200174944
    Abstract: A processor comprising an instruction execution circuit to execute a second code stored at a second address of a memory, wherein the second code is translated from a first code stored at a first address of the memory and a translation table (TT) controller coupled to a translation table to store a TT entry comprising a mapping between the first address and the second address and an attribute field comprising an attribute value associated with execution of the second code, wherein the TT controller is to monitor execution of the second code by the instruction execution circuit and update, based on a performance metric of the execution, the attribute value of the TT entry.
    Type: Application
    Filed: January 30, 2020
    Publication date: June 4, 2020
    Inventors: Girish Venkatasubramanian, Jason M. Agron, Cristiano Pereira, Rangeen Basu Roy Chowdhury
  • Patent number: 10437590
    Abstract: Embodiments of apparatuses, methods, and systems for inter-cluster communication of live-in register values are described. In an embodiment, a processor includes a plurality of execution clusters. The processor also includes a cache memory in which to store a value to be produced by a first execution cluster of the plurality of execution clusters and consumed by a second execution cluster of the plurality of execution clusters. The cache memory is separate from a system memory hierarchy and a register set of the processor.
    Type: Grant
    Filed: September 28, 2017
    Date of Patent: October 8, 2019
    Assignee: Intel Corporation
    Inventors: Sofia Pediaditaki, Ethan Schuchman, Rangeen Basu Roy Chowdhury, Manjunath Shevgoor
  • Publication number: 20190188154
    Abstract: A processor includes a first translation lookaside buffer (TLB), a second TLB, and a TLB control mechanism. The TLB control mechanism is to store a TLB-miss count (TMC) for a page. The TMC indicates a number of TLB misses of the first TLB for the page. The TLB control mechanism is further to determine that the TMC is greater than a threshold count and store a translation of the page in the second TLB responsive to a determination that the TMC is greater than the threshold count.
    Type: Application
    Filed: December 15, 2017
    Publication date: June 20, 2019
    Inventors: Rangeen Basu Roy Chowdhury, Hussein Elnawawy, Amro Awad
  • Publication number: 20190179766
    Abstract: A processor comprising an instruction execution circuit to execute a translated code generated based on a received code and a translation table (TT) controller circuit coupled to a translation table comprising a plurality of address mappings, wherein the TT controller circuit is to identify a trigger event associated with a physical memory page, determine, based on an identifier of the physical memory page, an entry in a manifest table, the entry comprising an address mapping between a first memory address within an address range comprising the physical memory page and a second memory address, and store the address mapping to the translation table.
    Type: Application
    Filed: December 12, 2017
    Publication date: June 13, 2019
    Inventors: Girish Venkatasubramanian, Jason M. Agron, Cristiano Pereira, Glenn Hinton, Sebastian Winkel, Rangeen Basu Roy Chowdhury
  • Publication number: 20190163642
    Abstract: A processor comprising an instruction execution circuit to execute a second code stored at a second address of a memory, wherein the second code is translated from a first code stored at a first address of the memory and a translation table (TT) controller coupled to a translation table to store a TT entry comprising a mapping between the first address and the second address and an attribute field comprising an attribute value associated with execution of the second code, wherein the TT controller is to monitor execution of the second code by the instruction execution circuit and update, based on a performance metric of the execution, the attribute value of the TT entry.
    Type: Application
    Filed: November 27, 2017
    Publication date: May 30, 2019
    Inventors: Girish Venkatasubramanian, Jason M. Agron, Cristiano Pereira, Rangeen Basu Roy Chowdhury
  • Publication number: 20190095203
    Abstract: Embodiments of apparatuses, methods, and systems for inter-cluster communication of live-in register values are described. In an embodiment, a processor includes a plurality of execution clusters. The processor also includes a cache memory in which to store a value to be produced by a first execution cluster of the plurality of execution clusters and consumed by a second execution cluster of the plurality of execution clusters. The cache memory is separate from a system memory hierarchy and a register set of the processor.
    Type: Application
    Filed: September 28, 2017
    Publication date: March 28, 2019
    Inventors: Sofia Pediaditaki, Ethan Schuchman, Rangeen Basu Roy Chowdhury, Manjunath Shevgoor