Patents by Inventor Giacomo GABRIELLI

Giacomo GABRIELLI 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: 11966739
    Abstract: There is provided an apparatus, method and medium for data processing. The apparatus comprises a register file comprising a plurality of data registers, and frontend circuitry responsive to an issued instruction, to control processing circuitry to perform a processing operation to process an input data item to generate an output data item. The processing circuitry is responsive to a first encoding of the issued instruction specifying a data register, to read the input data item from the data register, and/or write the output data item to the data register. The processing circuitry is responsive to a second encoding of the issued instruction specifying a buffer-region of the register file for storing a queue of data items, to perform the processing operation and to perform a dequeue operation to dequeue the input data item from the queue, and/or perform an enqueue operation to enqueue the output data item to the queue.
    Type: Grant
    Filed: September 9, 2022
    Date of Patent: April 23, 2024
    Assignee: Arm Limited
    Inventors: Matthew James Walker, Mbou Eyole, Giacomo Gabrielli, Balaji Venu
  • Publication number: 20240086201
    Abstract: One or more triggered-instruction processing elements are provided, a given triggered-instruction processing element comprising execution circuitry to execute processing operations in response to instructions according to a triggered instruction architecture. Input channel processing circuitry receives a given tagged data item (comprising a data value and a tag value) for a given input channel, and in response controls enqueuing of the data value of the given tagged data item to a selected buffer structure selected from among at least two buffer structures mapped onto register storage accessible to one or more of the triggered-instruction processing elements in response to a computation instruction for controlling performance of a computation operation. The selected buffer structure is selected based at least on the tag value, so data values of tagged data items specifying different tag values for the given input channel are allocatable to different buffer structures.
    Type: Application
    Filed: September 9, 2022
    Publication date: March 14, 2024
    Inventors: Matthew James WALKER, Mbou EYOLE, Giacomo GABRIELLI, Balaji VENU
  • Publication number: 20240086202
    Abstract: An apparatus, method and computer program, the apparatus comprising processing circuitry to execute instructions, issue circuitry to issue the instructions for execution by the processing circuitry, and candidate instruction storage circuitry to store a plurality of condition-dependent instructions, each specifying at least one condition. The issue circuitry is configured to issue a given condition-dependent instruction in response to a determination or a prediction of the at least one condition specified by the given condition-dependent instruction being met, and when the given condition-dependent instruction is a sequence-start instruction, the issue circuitry is responsive to the determination or prediction to issue a sequence of instructions comprising the sequence-start instruction and at least one subsequent instruction.
    Type: Application
    Filed: September 12, 2022
    Publication date: March 14, 2024
    Inventors: Matthew James WALKER, Mbou EYOLE, Giacomo GABRIELLI, Balaji VENU, Wei WANG
  • Publication number: 20240086196
    Abstract: There is provided an apparatus, method and medium for data processing. The apparatus comprises a register file comprising a plurality of data registers, and frontend circuitry responsive to an issued instruction, to control processing circuitry to perform a processing operation to process an input data item to generate an output data item. The processing circuitry is responsive to a first encoding of the issued instruction specifying a data register, to read the input data item from the data register, and/or write the output data item to the data register. The processing circuitry is responsive to a second encoding of the issued instruction specifying a buffer-region of the register file for storing a queue of data items, to perform the processing operation and to perform a dequeue operation to dequeue the input data item from the queue, and/or perform an enqueue operation to enqueue the output data item to the queue.
    Type: Application
    Filed: September 9, 2022
    Publication date: March 14, 2024
    Inventors: Matthew James WALKER, Mbou EYOLE, Giacomo GABRIELLI, Balaji VENU
  • Patent number: 11797415
    Abstract: An apparatus and method are provided for monitoring events in a data processing system. The apparatus has first event monitoring circuitry for monitoring occurrences of a first event within a data processing system, and for asserting a first signal to indicate every m-th occurrence of the first event, where m is an integer of 1 or more. In addition second event monitoring circuitry is used to monitor occurrences of a second event within the data processing system, and to assert a second signal to indicate every n-th occurrence of the second event, where n is an integer of 1 or more. History maintenance circuitry then maintains event history information which is updated in dependence on the asserted first and second signals.
    Type: Grant
    Filed: August 30, 2019
    Date of Patent: October 24, 2023
    Assignee: Arm Limited
    Inventors: Timothy Hayes, Giacomo Gabrielli, Matthew James Horsnell
  • Publication number: 20230325194
    Abstract: A data processing apparatus and a method for processing data are disclosed. The data processing apparatus comprises: multithreaded processing circuitry to perform processing operations of a plurality of micro-threads, each micro-thread operating in a corresponding execution context defining an architectural state. Thread control circuitry collects runtime data indicative of a performance metric relating to the processing operations. Decoder circuitry is responsive to a detach instruction in a first micro-thread of instructions executed in a first execution context defining a first architectural state, the detach instruction specifying an address, to provide detach control signals to the thread control circuitry.
    Type: Application
    Filed: August 26, 2021
    Publication date: October 12, 2023
    Inventors: Syed Ali Mustafa ZAIDI, Giacomo GABRIELLI
  • Publication number: 20220236990
    Abstract: An apparatus and method are provided for speculatively vectorising program code. The apparatus includes processing circuitry for executing program code, the program code including an identified code region comprising at least a plurality of speculative vector memory access instructions. Execution of each speculative vector memory access instruction is employed to perform speculative vectorisation of a series of scalar memory access operations using a plurality of lanes of processing. Tracking storage is used to maintain, for each speculative vector memory access instruction, tracking information providing an indication of a memory address being accessed within each lane. Checking circuitry then references the tracking information during execution of the identified code region by the processing circuitry, in order to detect any inter lane memory hazard resulting from the execution of the plurality of speculative vector memory access instructions.
    Type: Application
    Filed: March 25, 2020
    Publication date: July 28, 2022
    Inventors: Peng SUN, Timothy Martin JONES, Giacomo GABRIELLI
  • Publication number: 20220050909
    Abstract: A data processing apparatus is provided which controls the use of data in respect of a further operation. The data processing apparatus identifies whether data is trusted or untrusted by identifying whether or not the data was determined by a speculatively executed resolve-pending operation. A permission control unit is also provided to control how the data can be used in respect of a further operation according to a security policy while the speculatively executed operation is still resolve-pending.
    Type: Application
    Filed: October 25, 2019
    Publication date: February 17, 2022
    Inventors: Alastair David REID, Albin Pierrick TONNERRE, Frederic Claude Marie PIRY, Peter Richard GREENHALGH, Ian Michael CAULFIELD, Timothy HAYES, Giacomo GABRIELLI
  • Publication number: 20210342248
    Abstract: An apparatus and method are provided for monitoring events in a data processing system. The apparatus has first event monitoring circuitry for monitoring occurrences of a first event within a data processing system, and for asserting a first signal to indicate every m-th occurrence of the first event, where m is an integer of 1 or more. In addition second event monitoring circuitry is used to monitor occurrences of a second event within the data processing system, and to assert a second signal to indicate every n-th occurrence of the second event, where n is an integer of 1 or more. History maintenance circuitry then maintains event history information which is updated in dependence on the asserted first and second signals.
    Type: Application
    Filed: August 30, 2019
    Publication date: November 4, 2021
    Inventors: Timothy HAYES, Giacomo GABRIELLI, Matthew James HORSNELL
  • Patent number: 11086626
    Abstract: Circuitry comprises decode circuitry to decode program instructions including producer instructions and consumer instructions, a consumer instruction requiring, as an input operand, a result generated by execution of a producer instruction; and execution circuitry to execute the program instructions; in which: the decode circuitry is configured to control operation of the execution circuitry in response to hint data associated with a given producer instruction and indicating, for the given producer instruction, a number of consumer instructions which require, as an input operand, a result generated by the given producer instruction.
    Type: Grant
    Filed: October 24, 2019
    Date of Patent: August 10, 2021
    Assignee: Arm Limited
    Inventors: Roko Grubisic, Giacomo Gabrielli, Matthew James Horsnell, Syed Ali Mustafa Zaidi
  • Publication number: 20210124585
    Abstract: Circuitry comprises decode circuitry to decode program instructions including producer instructions and consumer instructions, a consumer instruction requiring, as an input operand, a result generated by execution of a producer instruction; and execution circuitry to execute the program instructions; in which: the decode circuitry is configured to control operation of the execution circuitry in response to hint data associated with a given producer instruction and indicating, for the given producer instruction, a number of consumer instructions which require, as an input operand, a result generated by the given producer instruction.
    Type: Application
    Filed: October 24, 2019
    Publication date: April 29, 2021
    Inventors: Roko GRUBISIC, Giacomo GABRIELLI, Matthew James HORSNELL, Syed Ali Mustafa ZAIDI
  • Patent number: 10866805
    Abstract: An apparatus comprises processing circuitry to perform data processing and instruction decoding circuitry to decode instructions to control the processing circuitry to perform the data processing. The instruction decoding circuitry is responsive to a speculation barrier instruction to control the processing circuitry to prevent a subsequent operation, appearing in program order after the speculation barrier instruction, that has an address dependency on an earlier instruction preceding the speculation barrier instruction in the program order, from speculatively influencing allocations of entries in a cache. This provides protection against speculative cache-timing side-channel attacks.
    Type: Grant
    Filed: December 4, 2018
    Date of Patent: December 15, 2020
    Assignee: Arm Limited
    Inventors: Richard Roy Grisenthwaite, Giacomo Gabrielli, Matthew James Horsnell
  • Patent number: 10776124
    Abstract: Processing circuitry supports a first type of vector arithmetic instruction specifying at least a first input vector. When at least one exceptional condition is detected for an arithmetic operation performed for a first active data element of the first input vector in a predetermined sequence, the processing circuitry performs at least one response action. When the at least one exceptional condition is detected for a given active data element other than the first active data element in the predetermined sequence, the processing circuitry suppresses the at least one response action and stores elements identifying information identifying which data element is the given active data element which triggered the exceptional condition. This can be useful for reducing the amount of hardware resource for tracking the occurrence of the exceptional conditions and/or supporting speculative execution of vector instructions.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: September 15, 2020
    Assignee: ARM Limited
    Inventors: Giacomo Gabrielli, Nigel John Stephens
  • Patent number: 10514919
    Abstract: A data processing apparatus has processing circuitry for processing vector operands from a vector register store in response to vector micro-operations, some of which have control information identifying which data elements of the vector operands are selected for processing. Control circuitry detects vector micro-operations for which the control information specifies that a portion of the vector operand to be processed has no selected elements. If this is the case, then the control circuitry controls the processing circuitry to process a lower latency replacement micro-operation instead of the original micro-operation. This provides better performance than if a branch instruction is used to bypass the micro-operation if there are no selected elements.
    Type: Grant
    Filed: January 21, 2015
    Date of Patent: December 24, 2019
    Assignee: ARM Limited
    Inventors: Matthias Boettcher, Mbou Eyole-Monono, Giacomo Gabrielli
  • Publication number: 20190205140
    Abstract: An apparatus comprises processing circuitry to perform data processing and instruction decoding circuitry to decode instructions to control the processing circuitry to perform the data processing. The instruction decoding circuitry is responsive to a speculation barrier instruction to control the processing circuitry to prevent a subsequent operation, appearing in program order after the speculation barrier instruction, that has an address dependency on an earlier instruction preceding the speculation barrier instruction in the program order, from speculatively influencing allocations of entries in a cache. This provides protection against speculative cache-timing side-channel attacks.
    Type: Application
    Filed: December 4, 2018
    Publication date: July 4, 2019
    Inventors: Richard Roy GRISENTHWAITE, Giacomo GABRIELLI, Matthew James HORSNELL
  • Publication number: 20180293078
    Abstract: Processing circuitry supports a first type of vector arithmetic instruction specifying at least a first input vector. When at least one exceptional condition is detected for an arithmetic operation performed for a first active data element of the first input vector in a predetermined sequence, the processing circuitry performs at least one response action. When the at least one exceptional condition is detected for a given active data element other than the first active data element in the predetermined sequence, the processing circuitry suppresses the at least one response action and stores elements identifying information identifying which data element is the given active data element which triggered the exceptional condition. This can be useful for reducing the amount of hardware resource for tracking the occurrence of the exceptional conditions and/or supporting speculative execution of vector instructions.
    Type: Application
    Filed: September 14, 2016
    Publication date: October 11, 2018
    Inventors: Giacomo GABRIELLI, Nigel John STEPHENS
  • Patent number: 10001994
    Abstract: A vector scan operation is performed to generate M data elements of a result vector, where each result data element corresponds to a combination of an additional data element S with at least some of the data elements of a source vector operand V. The vector scan operation is performed using a plurality of steps, each step comprising one or more combination operations for combining data elements. At least one of the steps includes two or more combination operations performed in parallel. At least two of the steps comprise a combination operation for combining a data element with the additional data element S. This approach enables the vector scan operation to be performed in fewer steps in the case where fewer than M data elements are active, so that the vector scan operation can be performed more quickly.
    Type: Grant
    Filed: January 21, 2015
    Date of Patent: June 19, 2018
    Assignee: ARM Limited
    Inventors: Matthias Boettcher, Giacomo Gabrielli, Mbou Eyole-Monono
  • Patent number: 9557995
    Abstract: A data processing apparatus and method are provided for performing segmented operations. The data processing apparatus comprises a vector register store for storing vector operands, and vector processing circuitry providing N lanes of parallel processing, and arranged to perform a segmented operation on up to N data elements provided by a specified vector operand, each data element being allocated to one of the N lanes. The up to N data elements forms a plurality of segments, and performance of the segmented operation comprises performing a separate operation on the data elements of each segment, the separate operation involving interaction between the lanes containing the data elements of the associated segment.
    Type: Grant
    Filed: February 7, 2014
    Date of Patent: January 31, 2017
    Assignee: ARM Limited
    Inventors: Mbou Eyole-Monono, Alastair David Reid, Matthias Lothar Böttcher, Giacomo Gabrielli
  • Patent number: 9355061
    Abstract: A data processing apparatus and method are provided for executing a vector scan instruction. The data processing apparatus comprises a vector register store configured to store vector operands, and processing circuitry configured to perform operations on vector operands retrieved from said vector register store. Further, control circuitry is configured to control the processing circuitry to perform the operations required by one or more instructions, said one or more instructions including a vector scan instruction specifying a vector operand comprising N vector elements and defining a scan operation to be performed on a sequence of vector elements within the vector operand.
    Type: Grant
    Filed: January 28, 2014
    Date of Patent: May 31, 2016
    Assignee: ARM Limited
    Inventors: Matthias Lothar Boettcher, Mbou Eyole-Monono, Giacomo Gabrielli
  • Publication number: 20150254076
    Abstract: A vector scan operation is performed to generate M data elements of a result vector, where each result data element corresponds to a combination of an additional data element with at least some of the data elements of a source vector operand V. The vector scan operation is performed using a plurality of steps, each step comprising one or more combination operations for combining data elements. At least one of the steps includes two or more combination operations performed in parallel. At least two of the steps comprise a combination operation for combining a data element with the additional data element S. This approach enables the vector scan operation to be performed in fewer steps in the case where fewer than M data elements are active, so that the vector scan operation can be performed more quickly.
    Type: Application
    Filed: January 21, 2015
    Publication date: September 10, 2015
    Inventors: Matthias BOETTCHER, Giacomo GABRIELLI, Mbou EYOLE-MONONO