Patents by Inventor Jacob EAPEN

Jacob EAPEN 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: 11977884
    Abstract: A replicate elements instruction defining a plurality of variable length segments in a result vector controls processing circuitry (80) to generate a result vector in which, in each respective segment, a repeating value is repeated throughout that segment of the result vector, the repeating value comprising a data value or element index of a selected data element of a source vector. This instructions is useful for accelerating processing of data structures smaller than the vector length.
    Type: Grant
    Filed: November 10, 2017
    Date of Patent: May 7, 2024
    Assignee: Arm Limited
    Inventors: Jacob Eapen, Grigorios Magklis, Mbou Eyole
  • Patent number: 11947962
    Abstract: In response to a replicate partition instruction specifying partition information defining positions of a plurality of variable size partitions within a result vector, an instruction decoder (20) controls the processing circuitry (80) to generate a result vector in which each partition having more than one data element comprises data values or element indices of a sequence of data elements of a source vector starting or ending at a selected data element position. This instruction can be useful for accelerating processing of data structures smaller than the vector length.
    Type: Grant
    Filed: November 10, 2017
    Date of Patent: April 2, 2024
    Assignee: Arm Limited
    Inventors: Jacob Eapen, Grigorios Magklis, Mbou Eyole
  • Publication number: 20240028337
    Abstract: A masked-vector-comparison instruction specifies a source vector operand comprising a plurality of source data elements, a mask value, and a comparison target operand. In response to the masked-vector-comparison instruction, an instruction decoder 10 controls processing circuitry 16 to: for each active source data element of the source vector operand, determine whether the active source data element satisfies a comparison condition, based on a masked comparison between one or more compared bits of the active source data element and one or more compared bits of the comparison target operand, the mask value specifying a pattern of compared bits and non-compared bits within the comparison target operand and the active source data element; and generate a result value indicative of which of the source data elements of the source vector operand, if any, is an active source data element satisfying the comparison condition. This instruction is useful for variable length decoding operations.
    Type: Application
    Filed: August 17, 2021
    Publication date: January 25, 2024
    Inventors: Jacob EAPEN, Matthias Lothar BOETTCHER, Balaji VENU, François Christopher Jacques BOTMAN
  • Patent number: 11327752
    Abstract: A data processing apparatus, a method of operating a data processing apparatus, a non-transitory computer readable storage medium, and an instruction are provided. The instruction specifies a first source register, a second source register, and an index. In response to the instruction control signals are generated, causing processing circuitry to perform a data processing operation with respect to each data group in the first source register and the second source register to generate respective result data groups forming a result of the data processing operation. Each of the first source register and the second source register has a size which is an integer multiple at least twice a predefined size of the data group, and each data group comprises a plurality of data elements. The operands of the data processing operation for each data group are a selected data element identified in the data group of the first source register by the index and each data element in the data group of the second source register.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: May 10, 2022
    Assignee: ARM LIMITED
    Inventors: Grigorios Magklis, Nigel John Stephens, Jacob Eapen, Mbou Eyole, David Hennah Mansell
  • Publication number: 20220100673
    Abstract: There is provided an apparatus comprising input circuitry that receives requests comprising input addresses in an input domain. Output circuitry provides output addresses. The output addresses comprise secure physical addresses to secure storage circuitry and non-secure physical addresses to non-secure storage circuitry. Lookup circuitry stores a plurality of mappings comprising at least one mapping between the input addresses and the secure physical addresses, and at least one mapping between the input addresses and the non-secure physical addresses.
    Type: Application
    Filed: January 29, 2020
    Publication date: March 31, 2022
    Inventors: Simon John CRASKE, Jacob EAPEN
  • Patent number: 11132196
    Abstract: Address collisions are managed when performing vector operations. A register store stores vector operands. Execution circuitry performs memory access operations to move the vector operands between the register store and memory and data processing operations using the vector operands. The execution circuitry may iteratively execute a vector loop, where during each iteration the execution circuitry executes a sequence of instructions to implement the vector loop. The sequence includes a check instruction identifying a plurality of memory addresses. The execution circuitry responds to the check instruction to determine whether an address hazard condition exists among the plurality of memory addresses. For each iteration of the vector loop, the execution circuitry responds to the check instruction determining an absence of the hazard address condition to employ a default level of vectorization when executing the sequence of instructions to implement the vector loop.
    Type: Grant
    Filed: April 6, 2017
    Date of Patent: September 28, 2021
    Assignee: Arm Limited
    Inventors: Mbou Eyole, Jacob Eapen, Alejandro Martinez Vicente
  • Patent number: 11086715
    Abstract: An apparatus comprising data processing circuitry for processing data in one of a plurality of operating states, an instruction decoder for decoding instructions and error checking circuitry for performing error checking operations. In response to a touch instruction being decoded by the instruction decoder, error checking operation is performed on selected architectural state. The architectural state is architecturally inaccessible to the operating state. As a result of the touch instruction, the architectural state remains unchanged, at least when no error is detected.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: August 10, 2021
    Assignee: Arm Limited
    Inventors: Matthias Lothar Boettcher, François Christopher Jacques Botman, Jacob Eapen
  • Publication number: 20200233742
    Abstract: An apparatus comprising data processing circuitry for processing data in one of a plurality of operating states, an instruction decoder for decoding instructions and error checking circuitry for performing error checking operations. In response to a touch instruction being decoded by the instruction decoder, error checking operation is performed on selected architectural state. The architectural state is architecturally inaccessible to the operating state. As a result of the touch instruction, the architectural state remains unchanged, at least when no error is detected.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Matthias Lothar BOETTCHER, François Christopher Jacques BOTMAN, Jacob EAPEN
  • Patent number: 10678540
    Abstract: An apparatus and method are provided for efficiently performing arithmetic operations that include at least a multiplication operation. The apparatus comprises processing circuitry to perform data processing operations, and instruction decode circuitry responsive to program instructions to generate control signals to control the processing circuitry to perform the data processing operations. In response to an arithmetic operation with shift instruction specifying performance of an arithmetic operation comprising at least a multiplication operation, and having a field which provides a programmable shift indication, the instruction decode circuitry is configured to control the processing circuitry to perform the arithmetic operation during which an intermediate value is produced, and to select a target portion of the intermediate value based on an output window determined from the programmable shift indication.
    Type: Grant
    Filed: May 8, 2018
    Date of Patent: June 9, 2020
    Assignee: Arm Limited
    Inventors: Jacob Eapen, Mbou Eyole, Neil Burgess
  • Publication number: 20200097289
    Abstract: In response to a replicate partition instruction specifying partition information defining positions of a plurality of variable size partitions within a result vector, an instruction decoder (20) controls the processing circuitry (80) to generate a result vector in which each partition having more than one data element comprises data values or element indices of a sequence of data elements of a source vector starting or ending at a selected data element position. This instruction can be useful for accelerating processing of data structures smaller than the vector length.
    Type: Application
    Filed: November 10, 2017
    Publication date: March 26, 2020
    Inventors: Jacob EAPEN, Grigorios MAGKLIS, Mbou EYOLE
  • Publication number: 20190377573
    Abstract: A data processing apparatus, a method of operating a data processing apparatus, a non-transitory computer readable storage medium, and an instruction are provided. The instruction specifies a first source register, a second source register, and an index. In response to the instruction control signals are generated, causing processing circuitry to perform a data processing operation with respect to each data group in the first source register and the second source register to generate respective result data groups forming a result of the data processing operation. Each of the first source register and the second source register has a size which is an integer multiple at least twice a predefined size of the data group, and each data group comprises a plurality of data elements. The operands of the data processing operation for each data group are a selected data element identified in the data group of the first source register by the index and each data element in the data group of the second source register.
    Type: Application
    Filed: February 2, 2018
    Publication date: December 12, 2019
    Inventors: Grigorios MAGKLIS, Nigel John STEPHENS, Jacob EAPEN, Mbou EYOLE, David Hennah MANSELL
  • Publication number: 20190347099
    Abstract: An apparatus and method are provided for efficiently performing arithmetic operations that include at least a multiplication operation. The apparatus comprises processing circuitry to perform data processing operations, and instruction decode circuitry responsive to program instructions to generate control signals to control the processing circuitry to perform the data processing operations. In response to an arithmetic operation with shift instruction specifying performance of an arithmetic operation comprising at least a multiplication operation, and having a field which provides a programmable shift indication, the instruction decode circuitry is configured to control the processing circuitry to perform the arithmetic operation during which an intermediate value is produced, and to select a target portion of the intermediate value based on an output window determined from the programmable shift indication.
    Type: Application
    Filed: May 8, 2018
    Publication date: November 14, 2019
    Inventors: Jacob EAPEN, Mbou EYOLE, Neil BURGESS
  • Publication number: 20190303155
    Abstract: A replicate elements instruction defining a plurality of variable length segments in a result vector controls processing circuitry (80) to generate a result vector in which, in each respective segment, a repeating value is repeated throughout that segment of the result vector, the repeating value comprising a data value or element index of a selected data element of a source vector. This instructions is useful for accelerating processing of data structures smaller than the vector length.
    Type: Application
    Filed: November 10, 2017
    Publication date: October 3, 2019
    Inventors: Jacob EAPEN, Grigorios MAGKLIS, Mbou EYOLE
  • Publication number: 20190114172
    Abstract: An apparatus and method are provided for managing address collisions when performing vector operations. The apparatus has a register store for storing vector operands, each vector operand comprising a plurality of elements, and execution circuitry for executing instructions in order to perform operations specified by the instructions. The execution circuitry has access circuitry for performing memory access operations in order to move the vector operands between the register store and memory, and processing circuitry for performing data processing operations using the vector operands. The execution circuitry may be arranged to iteratively execute a vector loop, where during each iteration the execution circuitry executes a sequence of instructions to implement the vector loop.
    Type: Application
    Filed: April 6, 2017
    Publication date: April 18, 2019
    Inventors: Mbou EYOLE, Jacob EAPEN, Alejandro MARTINEZ VICENTE
  • Publication number: 20180210733
    Abstract: An apparatus and a method are provided for performing a splice operation, the apparatus having a set of vector registers and one or more control registers. Processing circuitry is arranged to execute a sequence of instructions including a splice instruction that identifies at least a first vector register and at least one control register. The first vector register stores a first vector of data elements having a vector length, and the at least one control register stores control data identifying one or more data elements occupying sequential data element positions within the first vector of data elements.
    Type: Application
    Filed: June 15, 2016
    Publication date: July 26, 2018
    Applicant: ARM LIMITED
    Inventors: Nigel John STEPHENS, Jacob EAPEN, Mbou EYOLE
  • Patent number: 9965275
    Abstract: An apparatus comprises processing circuitry to generate a result vector including at least one N-bit data element in response to an element size increasing instruction identifying at least a first input vector including M-bit data elements, where N>M. First and second forms of the element size increasing instruction are provided for generating the result vector using first and second subsets of data elements of the first input vector respectively. Positions of the first and second subsets of data elements in the first input vector are interleaved.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: May 8, 2018
    Assignee: ARM Limited
    Inventors: Jacob Eapen, Mbou Eyole, Simon Hosie
  • Publication number: 20170031682
    Abstract: An apparatus comprises processing circuitry to generate a result vector including at least one N-bit data element in response to an element size increasing instruction identifying at least a first input vector including M-bit data elements, where N>M. First and second forms of the element size increasing instruction are provided for generating the result vector using first and second subsets of data elements of the first input vector respectively. Positions of the first and second subsets of data elements in the first input vector are interleaved.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventors: Jacob EAPEN, Mbou EYOLE, Simon HOSIE