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: 11977884Abstract: 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: GrantFiled: November 10, 2017Date of Patent: May 7, 2024Assignee: Arm LimitedInventors: Jacob Eapen, Grigorios Magklis, Mbou Eyole
-
Patent number: 11947962Abstract: 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: GrantFiled: November 10, 2017Date of Patent: April 2, 2024Assignee: Arm LimitedInventors: Jacob Eapen, Grigorios Magklis, Mbou Eyole
-
Publication number: 20240028337Abstract: 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: ApplicationFiled: August 17, 2021Publication date: January 25, 2024Inventors: Jacob EAPEN, Matthias Lothar BOETTCHER, Balaji VENU, François Christopher Jacques BOTMAN
-
Patent number: 11327752Abstract: 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: GrantFiled: February 2, 2018Date of Patent: May 10, 2022Assignee: ARM LIMITEDInventors: Grigorios Magklis, Nigel John Stephens, Jacob Eapen, Mbou Eyole, David Hennah Mansell
-
Publication number: 20220100673Abstract: 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: ApplicationFiled: January 29, 2020Publication date: March 31, 2022Inventors: Simon John CRASKE, Jacob EAPEN
-
Patent number: 11132196Abstract: 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: GrantFiled: April 6, 2017Date of Patent: September 28, 2021Assignee: Arm LimitedInventors: Mbou Eyole, Jacob Eapen, Alejandro Martinez Vicente
-
Patent number: 11086715Abstract: 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: GrantFiled: January 18, 2019Date of Patent: August 10, 2021Assignee: Arm LimitedInventors: Matthias Lothar Boettcher, François Christopher Jacques Botman, Jacob Eapen
-
Publication number: 20200233742Abstract: 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: ApplicationFiled: January 18, 2019Publication date: July 23, 2020Inventors: Matthias Lothar BOETTCHER, François Christopher Jacques BOTMAN, Jacob EAPEN
-
Patent number: 10678540Abstract: 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: GrantFiled: May 8, 2018Date of Patent: June 9, 2020Assignee: Arm LimitedInventors: Jacob Eapen, Mbou Eyole, Neil Burgess
-
Publication number: 20200097289Abstract: 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: ApplicationFiled: November 10, 2017Publication date: March 26, 2020Inventors: Jacob EAPEN, Grigorios MAGKLIS, Mbou EYOLE
-
Publication number: 20190377573Abstract: 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: ApplicationFiled: February 2, 2018Publication date: December 12, 2019Inventors: Grigorios MAGKLIS, Nigel John STEPHENS, Jacob EAPEN, Mbou EYOLE, David Hennah MANSELL
-
Publication number: 20190347099Abstract: 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: ApplicationFiled: May 8, 2018Publication date: November 14, 2019Inventors: Jacob EAPEN, Mbou EYOLE, Neil BURGESS
-
Publication number: 20190303155Abstract: 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: ApplicationFiled: November 10, 2017Publication date: October 3, 2019Inventors: Jacob EAPEN, Grigorios MAGKLIS, Mbou EYOLE
-
Publication number: 20190114172Abstract: 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: ApplicationFiled: April 6, 2017Publication date: April 18, 2019Inventors: Mbou EYOLE, Jacob EAPEN, Alejandro MARTINEZ VICENTE
-
Publication number: 20180210733Abstract: 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: ApplicationFiled: June 15, 2016Publication date: July 26, 2018Applicant: ARM LIMITEDInventors: Nigel John STEPHENS, Jacob EAPEN, Mbou EYOLE
-
Patent number: 9965275Abstract: 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: GrantFiled: July 31, 2015Date of Patent: May 8, 2018Assignee: ARM LimitedInventors: Jacob Eapen, Mbou Eyole, Simon Hosie
-
Publication number: 20170031682Abstract: 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: ApplicationFiled: July 31, 2015Publication date: February 2, 2017Inventors: Jacob EAPEN, Mbou EYOLE, Simon HOSIE