Patents by Inventor Luca Scalabrino

Luca Scalabrino 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: 11593111
    Abstract: An apparatus and method are provided for inhibiting instruction manipulation. The apparatus has execution circuitry for performing data processing operations in response to a sequence of instructions from an instruction set, and decoder circuitry for decoding each instruction in the sequence in order to generate control signals for the execution circuitry. Each instruction comprises a plurality of instruction bits, and the decoder circuitry is arranged to perform a decode operation on each instruction to determine from the value of each instruction bit, and knowledge of the instruction set, the control signals to be issued to the execution circuitry in response to that instruction. An input path to the decoder circuitry comprises a set of wires over which the instruction bits of each instruction are provided.
    Type: Grant
    Filed: January 27, 2020
    Date of Patent: February 28, 2023
    Assignee: Arm Limited
    Inventors: Frederic Jean Denis Arsanto, Carlo Dario Fanara, Luca Scalabrino, Jean Sébastien Leroy
  • Patent number: 11449642
    Abstract: An electronic circuit includes a plurality of processing elements, a register bank, and a control circuit. The processing elements consume power by processing a plurality of operands to generate a plurality of result values. The register bank has a plurality of registers. The control circuit is configured to determine one or more unused processing elements among the processing elements by snooping one or more incoming operands and an instruction type, control routing of one or more random operands from the register bank to the unused processing elements, and control routing of a random result value generated by one of the unused processing elements into a trash register of the registers. The power consumed by the unused processing elements in the generation of the random result value and a write of the random result value into the trash register temporally blurs a total power consumed by the electronic circuit.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: September 20, 2022
    Assignee: Arm Limited
    Inventors: Carlo Dario Fanara, Frederic Jean Denis Arsanto, Luca Scalabrino
  • Publication number: 20220075901
    Abstract: An electronic circuit includes a plurality of processing elements, a register bank, and a control circuit. The processing elements consume power by processing a plurality of operands to generate a plurality of result values. The register bank has a plurality of registers. The control circuit is configured to determine one or more unused processing elements among the processing elements by snooping one or more incoming operands and an instruction type, control routing of one or more random operands from the register bank to the unused processing elements, and control routing of a random result value generated by one of the unused processing elements into a trash register of the registers. The power consumed by the unused processing elements in the generation of the random result value and a write of the random result value into the trash register temporally blurs a total power consumed by the electronic circuit.
    Type: Application
    Filed: September 4, 2020
    Publication date: March 10, 2022
    Applicant: Arm Limited
    Inventors: Carlo Dario Fanara, Frederic Jean Denis Arsanto, Luca Scalabrino
  • Publication number: 20210232396
    Abstract: An apparatus and method are provided for inhibiting instruction manipulation. The apparatus has execution circuitry for performing data processing operations in response to a sequence of instructions from an instruction set, and decoder circuitry for decoding each instruction in the sequence in order to generate control signals for the execution circuitry. Each instruction comprises a plurality of instruction bits, and the decoder circuitry is arranged to perform a decode operation on each instruction to determine from the value of each instruction bit, and knowledge of the instruction set, the control signals to be issued to the execution circuitry in response to that instruction. An input path to the decoder circuitry comprises a set of wires over which the instruction bits of each instruction are provided.
    Type: Application
    Filed: January 27, 2020
    Publication date: July 29, 2021
    Inventors: Frederic Jean Denis ARSANTO, Carlo Dario FANARA, Luca SCALABRINO, Jean Sébastien LEROY
  • Patent number: 10789169
    Abstract: An apparatus and method are provided for controlling use of a register cache. The apparatus has execution circuitry for executing instructions to process data values, and a register file comprising a plurality of registers in which to store the data values for access by the execution circuitry. A register cache is also provided that has a plurality of entries and is arranged to cache a subset of the data values for access by the execution circuitry. Each entry is arranged to cache a data value and an indication of the register associated with that cached data value. Prefetch circuitry then performs prefetch operations to prefetch data values from the register file into the register cache. Timing indication storage is used to store, for each data value to be generated as a result of instructions being executed within the execution circuitry, a register identifier for that data value, and timing information indicating when that data value will be generated by the execution circuitry.
    Type: Grant
    Filed: June 26, 2018
    Date of Patent: September 29, 2020
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Frederic Jean Denis Arsanto, Claire Aupetit
  • Patent number: 10732980
    Abstract: An apparatus and method are provided for controlling use of a register cache. The apparatus has decode circuitry for decoding instructions retrieved from memory, execution circuitry to execute the decoded instructions in order to perform operations on data values, and a register file having a plurality of registers for storing the data values to be operated on by the execution circuitry. Further, a register cache is provided that comprises a plurality of entries, and is arranged to cache a subset of the data values. Each entry is arranged to cache a data value and an indication of the register associated with that cached data value. Prefetch circuitry is then used to prefetch data values from the register file into the register cache. Further, operand analysis circuitry derives source operand information for an instruction fetched from memory, at least prior to the decode circuitry completing decoding of that instruction.
    Type: Grant
    Filed: June 26, 2018
    Date of Patent: August 4, 2020
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Frederic Jean Denis Arsanto, Claire Aupetit
  • Patent number: 10545764
    Abstract: A data processing apparatus comprises register rename circuitry for mapping architectural register specifiers specified by instructions to physical registers to be accessed in response to the instructions. Available register control circuitry controls which physical registers are available for mapping to an architectural register specifier by the register rename circuitry. For at least one group of two or more physical registers, the available register control circuitry controls availability of the registers based on a group tracking indication indicative of whether there is at least one pending access to any of the physical registers in the group.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: January 28, 2020
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Frederic Jean Denis Arsanto, Thomas Gilles Tarridec, Cedric Denis Robert Airaud
  • Patent number: 10198267
    Abstract: An apparatus has register rename circuitry to map architectural register specifiers specified by instructions to physical register specifiers identifying physical registers. A restoration table identifies at least one restoration mapping between an architectural register specifier and a previously mapped physical register specifier. Register reserving circuitry indicates one or more reserved register specifiers. In response to detecting that a speculative instruction corresponding to a restoration mapping has been committed when that instruction or an older instruction still could potentially read a register, the register reserving circuitry indicates the physical register specifier of that restoration mapping as reserved.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: February 5, 2019
    Assignee: ARM Limited
    Inventors: Cedric Denis Robert Airaud, Luca Scalabrino, Frederic Jean Denis Arsanto, Thomas Gilles Tarridec
  • Publication number: 20190012267
    Abstract: An apparatus and method are provided for controlling use of a register cache. The apparatus has execution circuitry for executing instructions to process data values, and a register file comprising a plurality of registers in which to store the data values for access by the execution circuitry. A register cache is also provided that has a plurality of entries and is arranged to cache a subset of the data values for access by the execution circuitry. Each entry is arranged to cache a data value and an indication of the register associated with that cached data value. Prefetch circuitry then performs prefetch operations to prefetch data values from the register file into the register cache. Timing indication storage is used to store, for each data value to be generated as a result of instructions being executed within the execution circuitry, a register identifier for that data value, and timing information indicating when that data value will be generated by the execution circuitry.
    Type: Application
    Filed: June 26, 2018
    Publication date: January 10, 2019
    Inventors: Luca SCALABRINO, Frederic Jean Denis ARSANTO, Claire AUPETIT
  • Publication number: 20190012177
    Abstract: An apparatus and method are provided for controlling use of a register cache. The apparatus has decode circuitry for decoding instructions retrieved from memory, execution circuitry to execute the decoded instructions in order to perform operations on data values, and a register file having a plurality of registers for storing the data values to be operated on by the execution circuitry. Further, a register cache is provided that comprises a plurality of entries, and is arranged to cache a subset of the data values. Each entry is arranged to cache a data value and an indication of the register associated with that cached data value. Prefetch circuitry is then used to prefetch data values from the register file into the register cache. Further, operand analysis circuitry derives source operand information for an instruction fetched from memory, at least prior to the decode circuitry completing decoding of that instruction.
    Type: Application
    Filed: June 26, 2018
    Publication date: January 10, 2019
    Inventors: Luca SCALABRINO, Frederic Jean Denis ARSANTO, Claire AUPETIT
  • Patent number: 10042640
    Abstract: A data processing system 2 includes multiple out-of-order issue queues 8, 10. A master serialization instruction MSI received by a first issue queue 8 is detected by slave generation circuitry 24 which generates a slave serialization instruction SSI added to a second issue queue 10. The master serialization instruction MSI manages serialization relative to the instructions within the first issue queue 8. The slave serialization instruction SSI manages serialization relative to the instructions within the second issue queue 10. The master serialization instruction MSI and the slave serialization instruction SSI are removed when both have met their serialization conditions and are respectively the oldest instructions within their issue queues.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: August 7, 2018
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Frederic Jean Denis Arsanto, Thomas Gilles Tarridec, Cedric Denis Robert Airaud
  • Publication number: 20160350114
    Abstract: An apparatus has register rename circuitry to map architectural register specifiers specified by instructions to physical register specifiers identifying physical registers. A restoration table identifies at least one restoration mapping between an architectural register specifier and a previously mapped physical register specifier. Register reserving circuitry indicates one or more reserved register specifiers. In response to detecting that a speculative instruction corresponding to a restoration mapping has been committed when that instruction or an older instruction still could potentially read a register, the register reserving circuitry indicates the physical register specifier of that restoration mapping as reserved.
    Type: Application
    Filed: April 1, 2016
    Publication date: December 1, 2016
    Inventors: Cedric Denis Robert Airaud, Luca Scalabrino, Frederic Jean Denis Arsanto, Thomas Gilles Tarridec
  • Publication number: 20160350115
    Abstract: An apparatus has decoding circuitry to decode instructions to generate micro-operations, and register rename circuitry to map architectural register specifiers specified by the instructions to physical registers to be accessed in response to the micro-operations. In response to an instruction specifying a selected architectural register specifier as both a source register and a destination register, for which the decoding circuitry is to generate two or more micro-operations, the register rename circuitry stores an indication of a physical register previously mapped to said selected architectural register specifier.
    Type: Application
    Filed: April 6, 2016
    Publication date: December 1, 2016
    Inventors: Albin Pierrick TONNERRE, Luca SCALABRINO, Adam Raymond DULEY
  • Publication number: 20160335088
    Abstract: A data processing apparatus comprises register rename circuitry for mapping architectural register specifiers specified by instructions to physical registers to be accessed in response to the instructions. Available register control circuitry controls which physical registers are available for mapping to an architectural register specifier by the register rename circuitry. For at least one group of two or more physical registers, the available register control circuitry controls availability of the registers based on a group tracking indication indicative of whether there is at least one pending access to any of the physical registers in the group.
    Type: Application
    Filed: March 28, 2016
    Publication date: November 17, 2016
    Inventors: Luca SCALABRINO, Frederic Jean Denis ARSANTO, Thomas Gilles TARRIDEC, Cedric Denis Robert AIRAUD
  • Publication number: 20160335085
    Abstract: A data processing system 2 includes multiple out-of-order issue queues 8, 10. A master serialisation instruction MSI received by a first issue queue 8 is detected by slave generation circuitry 24 which generates a slave serialisation instruction SSI added to a second issue queue 10. The master serialisation instruction MSI manages serialisation relative to the instructions within the first issue queue 8. The slave serialisation instruction SSI manages serialisation relative to the instructions within the second issue queue 10. The master serialisation instruction MSI and the slave serialisation instruction SSI are removed when both have met their serialisation conditions and are respectively the oldest instructions within their issue queues.
    Type: Application
    Filed: March 22, 2016
    Publication date: November 17, 2016
    Inventors: Luca SCALABRINO, Frederic Jean Denis ARSANTO, Thomas Gilles TARRIDEC, Cedric Denis Robert AIRAUD
  • Patent number: 9424045
    Abstract: An apparatus and method includes execution circuitry including a wide operand execution unit configured to allow up to N bits of operand data to be processed during execution of a single instruction. Decoder circuitry decodes and generates, for each instruction, at least one control data block identifying an operation to be performed by the execution circuitry and at least two re-combineable control data blocks for the instruction. Issue queue control circuitry then allocates a slot in the issue queue for each of the at least two data blocks and up to M bits of associated operand data, and marks those allocated slots to identify that they contain re-combineable control data blocks. The issue queue control circuitry issues the combined block to said wide operand execution unit along with the operand data contained in each of the allocated slots for said at least two control data blocks.
    Type: Grant
    Filed: January 29, 2013
    Date of Patent: August 23, 2016
    Assignee: ARM Limited
    Inventors: Cedric Denis Robert Airaud, Luca Scalabrino, Frederic Jean Denis Arsanto, Guillaume Schon, Frederic Claude Marie Piry, Albin Pierick Tonnerre
  • Patent number: 9400655
    Abstract: Register renaming circuitry for a processing apparatus configured to process a stream of instructions from an instruction set specifying registers from an architectural set of registers. The apparatus including a physical set of registers configured to store data values being processed by the processing apparatus. Register renaming circuitry is configured to receive a stream of operations from an instruction decoder and to map registers that are to be written to by the stream of operations to physical registers within the physical set of registers that are currently available. The register renaming circuitry comprises register release circuitry configured to release the physical registers that have been mapped to the registers when a first set of conditions have been met, and to release the physical registers that have been mapped to the additional registers when a second set of conditions have been met.
    Type: Grant
    Filed: March 20, 2013
    Date of Patent: July 26, 2016
    Assignee: ARM Limited
    Inventors: Guillaume Schon, Cedric Denis Robert Airaud, Frederic Jean Denis Arsanto, Luca Scalabrino
  • Patent number: 9361111
    Abstract: First processing circuitry processes at least part of a stream of program instructions. The first processing circuitry has registers for storing data and register renaming circuitry for mapping architectural register specifiers to physical register specifiers. A renaming data store stores renaming entries for identifying a register mapping between the architectural and physical register specifiers. At least some renaming entries have a count value indicating a number of speculation points occurring between generation of a previous count value and generation of the count value. The speculation points may for example be branch operation or load/store operations.
    Type: Grant
    Filed: January 9, 2013
    Date of Patent: June 7, 2016
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Melanie Emanuelle Lucie Teyssier, Cedric Denis Robert Airaud, Guillaume Schon
  • Patent number: 9311088
    Abstract: An apparatus and method are provided for performing register renaming. Available register identifying circuitry is provided to identify which physical registers form a pool of physical registers available to be mapped by register renaming circuitry to an architectural register specified by an instruction to be executed. Configuration data whose value is modified during operation of the processing circuitry is stored such that, when the configuration data has a first value, the configuration data identifies at least one architectural register of the architectural register set which does not require mapping to a physical register by the register renaming circuitry. The register identifying circuitry is arranged to reference the modified data value, such that when the configuration data has the first value, the number of physical registers in the pool is increased due to the reduction in the number of architectural registers which require mapping to physical registers.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: April 12, 2016
    Assignee: ARM Limited
    Inventors: Frederic Claude Marie Piry, Louis-Marie Vincent Mouton, Luca Scalabrino, Richard Roy Grisenthwaite, David Hennah Mansell
  • Patent number: 9311087
    Abstract: A data processing apparatus 2 supports speculative execution and the use of sticky bits. A different version of a sticky bit is associated with each segment of the speculative program flow. The segments of the program flow are separated by speculation nodes corresponding to program instructions which may be followed by a plurality of different alternative program instruction serving as the next program instruction. When a speculation node is resolved, then the segments separated by that speculation node are merged and the sticky bit values for those two segments are merged.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: April 12, 2016
    Assignee: ARM Limited
    Inventors: Luca Scalabrino, Cédric Denis Robert Airaud, Guillaume Schon, Frederic Jean Denis Arsanto