Patents by Inventor Grigorios Magklis

Grigorios Magklis 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: 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
  • Patent number: 11775297
    Abstract: In a system providing transactional memory support, a transaction nesting depth testing instruction is provided for triggering processing circuitry 4 to set at least one status value to one of a plurality of states depending on a transaction nesting depth indicative of a number of executed transaction start instructions of a given thread for which the corresponding transaction remains unaborted and uncommitted, the plurality of states including a first state selected when the transaction nesting depth is 1 and at least one further state selected when the transaction nesting depth is greater than or less than 1. The supported ISA enables the setting of the at least one status value and a conditional branch conditional on the at least one status value being in the first state to be performed in response to a single transaction nesting depth testing instruction and a single conditional branch instruction.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: October 3, 2023
    Assignee: Arm Limited
    Inventors: Grigorios Magklis, Matthew James Horsnell, Stephan Diestelhorst
  • Patent number: 11663034
    Abstract: A data processing apparatus has processing circuitry with transactional memory support circuitry to support execution of a transaction using transactional memory. In response to an exception mask updating instruction which updates exception mask information to enable at least one subset of exceptions which was disabled at the start of processing of a transaction, the processing circuitry permits un-aborted processing of one or more subsequent instruction of the transaction that follow the exception mask update instruction.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: May 30, 2023
    Assignee: Arm Limited
    Inventors: Matthew James Horsnell, Grigorios Magklis, Richard Roy Grisenthwaite, Stephan Diestelhorst
  • Patent number: 11615032
    Abstract: A data processing system (2) including one or more transaction buffers (16, 18, 20) storing address translation data executes translation buffer invalidation instructions TLBI within respective address translation contexts VMID, ASID, X. Translation buffer invalidation signals generated as a consequence of execution of the translation buffer invalidation instructions are broadcast to respective translation buffers and include signals which specify the address translation context of the translation buffer invalidation instruction that was executed. This address translation context specified within the translation buffer invalidation signals is used to gate whether or not those translation buffer invalidation signals when received by translation buffers which are potential targets for the invalidation are or are not flushed.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: March 28, 2023
    Assignee: Arm Limited
    Inventors: Matthew James Horsnell, Grigorios Magklis, Richard Roy Grisenthwaite
  • Patent number: 11579873
    Abstract: An apparatus is described with support for transactional memory and load/store-exclusive instructions using an exclusive monitor indication to track exclusive access to a given address. In response to a predetermined type of load instruction specifying a load target address, which is executed within a given transaction, any exclusive monitor indication previously set for the load target address is cleared. In response to a load-exclusive instruction, an abort is triggered for a transaction for which the given address is specified as one of its working set of addresses. This helps to maintain mutual exclusion between transactional and non-transactional threads even if there is load speculation in the non-transactional thread.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: February 14, 2023
    Assignee: Arm Limited
    Inventors: Matthew James Horsnell, Grigorios Magklis, Richard Roy Grisenthwaite, Nathan Yong Seng Chong
  • Patent number: 11513796
    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 a set of N accumulation registers. In response to the instruction control signals are generated, causing processing circuitry to extract N data elements from content of the first source register, perform a multiplication of each of the N data elements by content of the second source register, and apply a result of each multiplication to content of a respective target register of the set of N accumulation registers. As a result plural (N) multiplications are performed in a manner that effectively provides a multiplier N times the register width, but without requiring the register file to be made N times larger.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: November 29, 2022
    Assignee: Arm Limited
    Inventors: David Hennah Mansell, Grigorios Magklis
  • Patent number: 11481290
    Abstract: An apparatus and a method of operating a data processing apparatus, and simulators thereof, are disclosed. Data processing circuitry performs data processing operations in response to instructions, where some sets of instructions may be defined as a transaction which are to be performed atomically with respect to other operations performed by the data processing circuitry. When a synchronous exception occurs during a transaction the transaction is aborted and an exception counter is incremented. When the counter reaches a threshold value a transaction failure signal is generated, allowing, if appropriate a response to this number of exceptions causing transaction aborts to be carried out.
    Type: Grant
    Filed: April 8, 2019
    Date of Patent: October 25, 2022
    Assignee: Arm Limited
    Inventors: Matthew James Horsnell, Grigorios Magklis, Stephan Diestelhorst
  • Patent number: 11422808
    Abstract: An apparatus comprising: processing circuitry to process threads of data processing; and transactional memory support circuitry to support execution of a transaction within a thread processed by the processing circuitry. In response to a transactional compare-and-discard instruction executed within a given transaction, specifying a target address and a compare value, the processing circuitry loads a target data value from a memory location corresponding to the target address; sets at least one condition status indication depending on a result of comparing the target data value and the compare value; and discards the target data value without adding the target address to a working set of addresses tracked for the given transaction. This is useful for enabling thread level speculation to be implemented on a transactional memory architecture.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: August 23, 2022
    Assignee: Arm Limited
    Inventors: Matthew James Horsnell, Grigorios Magklis, Stephan Diestelhorst
  • Patent number: 11422807
    Abstract: An apparatus and method of operating an apparatus are provided. The apparatus is responsive to a bit-testing instruction which specifies a source vector register and an index to perform a bit-testing procedure on plural elements stored in the source vector register to generate plural result bits. The bit-testing procedure comprises, for each processed element of the plural elements, setting a respective result bit of the plural result bits in dependence on a value of a tested bit at a bit position in the processed element of the source vector register indicated by the index. This bit-testing instruction thus enables increased performance of program code which is required to perform multiple bit tests and can be suitably formulated into a vectorised form.
    Type: Grant
    Filed: June 27, 2018
    Date of Patent: August 23, 2022
    Assignee: ARM LIMITED
    Inventors: Grigorios Magklis, Nigel John Stephens
  • 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
  • Patent number: 11314514
    Abstract: A data processing system 2 supporting vector processing operations uses scaling vector length querying instructions. The scaling vector length querying instructions return a result which is dependent upon a number of elements in a vector for a variable vector element size specified by the instruction and multiplied by a scaling value specified by the instruction. The scaling vector length querying instructions may be in the form of count instructions, increment instructions or decrement instructions. The instructions may include a pattern constraint applying a constraint, such as modulo(M) or power of 2 to the partial result value representing the number of vector elements provided for the register element size specified for the instruction.
    Type: Grant
    Filed: June 23, 2016
    Date of Patent: April 26, 2022
    Assignee: Arm Limited
    Inventors: Nigel John Stephens, Grigorios Magklis, Alejandro Martinez Vicente, Nathanael Premillieu
  • Publication number: 20210342152
    Abstract: An apparatus is described with support for transactional memory and load/store-exclusive instructions using an exclusive monitor indication to track exclusive access to a given address. In response to a predetermined type of load instruction specifying a load target address, which is executed within a given transaction, any exclusive monitor indication previously set for the load target address is cleared. In response to a load-exclusive instruction, an abort is triggered for a transaction for which the given address is specified as one of its working set of addresses. This helps to maintain mutual exclusion between transactional and non-transactional threads even if there is load speculation in the non-transactional thread.
    Type: Application
    Filed: May 9, 2019
    Publication date: November 4, 2021
    Inventors: Matthew James HORSNELL, Grigorios MAGKLIS, Richard Roy GRISENTHWAITE, Nathan Yong Seng CHONG
  • Patent number: 11106465
    Abstract: Vector add-with-carry instructions are described which use some elements of a destination vector register, or corresponding fields of a predicate register, to provide the carry information corresponding to results of an add-with-carry operation. This is useful for accelerating computations involving multiplications of long integer values.
    Type: Grant
    Filed: November 15, 2018
    Date of Patent: August 31, 2021
    Assignee: Arm Limited
    Inventors: Mbou Eyole, Nigel John Stephens, Neil Burgess, Grigorios Magklis
  • Publication number: 20210141643
    Abstract: An apparatus comprising: processing circuitry to process threads of data processing; and transactional memory support circuitry to support execution of a transaction within a thread processed by the processing circuitry. In response to a transactional compare-and-discard instruction executed within a given transaction, specifying a target address and a compare value, the processing circuitry loads a target data value from a memory location corresponding to the target address; sets at least one condition status indication depending on a result of comparing the target data value and the compare value; and discards the target data value without adding the target address to a working set of addresses tracked for the given transaction. This is useful for enabling thread level speculation to be implemented on a transactional memory architecture.
    Type: Application
    Filed: May 9, 2019
    Publication date: May 13, 2021
    Inventors: Matthew James HORSNELL, Grigorios MAGKLIS, Stephan DIESTELHORST
  • Publication number: 20210103503
    Abstract: An apparatus and a method of operating a data processing apparatus, and simulators thereof, are disclosed. Data processing circuitry performs data processing operations in response to instructions, where some sets of instructions may be defined as a transaction which are to be performed atomically with respect to other operations performed by the data processing circuitry. When a synchronous exception occurs during a transaction the transaction is aborted and an exception counter is incremented. When the counter reaches a threshold value a transaction failure signal is generated, allowing, if appropriate a response to this number of exceptions causing transaction aborts to be carried out.
    Type: Application
    Filed: April 8, 2019
    Publication date: April 8, 2021
    Inventors: Matthew James HORSNELL, Grigorios MAGKLIS, Stephan DIESTELHORST
  • Patent number: 10824350
    Abstract: A data processing apparatus and method serve to manage access permission checking in respect of contingent memory access operations (the access permission failure of which does not alter program flow) in dependence of a contingent-access permission checking disable flag. If the contingent access disable flag has a first value, then this disables memory permission circuitry e.g. a walk state machine 22, from performing a check as to whether or not the memory access circuitry is permitted to perform a requested memory access. Non-contingent memory accesses are able to utilise the memory permission circuitry irrespective of the value of the contingent-access permission checking disable flag.
    Type: Grant
    Filed: May 18, 2017
    Date of Patent: November 3, 2020
    Assignee: ARM Limited
    Inventors: Nigel John Stephens, Grigorios Magklis
  • Publication number: 20200319885
    Abstract: Vector add-with-carry instructions are described which use some elements of a destination vector register, or corresponding fields of a predicate register, to provide the carry information corresponding to results of an add-with-carry operation. This is useful for accelerating computations involving multiplications of long integer values.
    Type: Application
    Filed: November 15, 2018
    Publication date: October 8, 2020
    Inventors: Mbou EYOLE, Nigel John STEPHENS, Neil BURGESS, Grigorios MAGKLIS
  • Publication number: 20200278882
    Abstract: A data processing apparatus has processing circuitry with transactional memory support circuitry to support execution of a transaction using transactional memory. In response to an exception mask updating instruction which updates exception mask information to enable at least one subset of exceptions which was disabled at the start of processing of a transaction, the processing circuitry permits un-aborted processing of one or more subsequent instruction of the transaction that follow the exception mask update instruction.
    Type: Application
    Filed: August 21, 2018
    Publication date: September 3, 2020
    Inventors: Matthew James HORSNELL, Grigorios MAGKLIS, Richard Roy GRISENTHWAITE, Stephan DIESTELHORST
  • Publication number: 20200257551
    Abstract: In a system providing transactional memory support, a transaction nesting depth testing instruction is provided for triggering processing circuitry to set at least one status value to one of a plurality of states depending on a transaction nesting depth indicative of a number of executed transaction start instructions of a given thread for which the corresponding transaction remains unaborted and uncommitted, the plurality of states including a first state selected when the transaction nesting depth is and at least one further state selected when the transaction nesting depth is greater than or less than. The ISA supported enables the setting of the at least one status value and a conditional branch conditional on the at least one status value being in the first state to be performed in response to a single transaction nesting depth testing instruction and a single conditional branch instruction.
    Type: Application
    Filed: August 21, 2018
    Publication date: August 13, 2020
    Inventors: Grigorios MAGKLIS, Matthew James HORSNELL, Stephan DIESTELHORST
  • Publication number: 20200225953
    Abstract: An apparatus and method of operating an apparatus are provided. The apparatus is responsive to a bit-testing instruction which specifies a source vector register and an index to perform a bit-testing procedure on plural elements stored in the source vector register to generate plural result bits. The bit-testing procedure comprises, for each processed element of the plural elements, setting a respective result bit of the plural result bits in dependence on a value of a tested bit at a bit position in the processed element of the source vector register indicated by the index. This bit-testing instruction thus enables increased performance of program code which is required to perform multiple bit tests and can be suitably formulated into a vectorised form.
    Type: Application
    Filed: June 27, 2018
    Publication date: July 16, 2020
    Inventors: Grigorios MAGKLIS, Nigel John STEPHENS