Patents by Inventor Albin Pierrick TONNERRE

Albin Pierrick TONNERRE 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: 11231932
    Abstract: An apparatus and method are provided for handling prediction information. The apparatus has processing circuitry for performing data processing operations in response to instructions, the processing circuitry comprising transactional memory support circuitry to support execution of a transaction comprising a sequence of instructions. Prediction circuitry is used to generate predictions in relation to instruction flow changing instructions, and prediction storage is provided to store a plurality of items of prediction information that are referenced by the prediction circuitry when generating the predictions. The items of prediction information maintained by the prediction storage change based on the instructions being executed by the processing circuitry. A recovery storage is activated by the transactional memory support circuitry at a transaction start point to store a restore pointer identifying a chosen location in the prediction storage.
    Type: Grant
    Filed: March 5, 2019
    Date of Patent: January 25, 2022
    Assignee: Arm Limited
    Inventors: Guillaume Bolbenes, Albin Pierrick Tonnerre, Houdhaifa Bouzguarrou
  • Patent number: 11221951
    Abstract: A tag check performed for a memory access operation comprises determining whether an address tag associated with a target address of the access corresponds to a guard tag stored in the memory system associated with a memory system location to be accessed. A given tag check architecturally required for a tag-checked load operation can be skipped when a number of tag-check-skip conditions are satisfied, including at least: that there is an older tag-checked store operation awaiting a pending tag check, for which a guard tag checked in the pending tag check is associated with a same block of one or more memory system locations as a guard tag to be checked in the given tag check; and that the address tag for the tag-checked load operation is the same as the address tag for the older tag-checked store operation.
    Type: Grant
    Filed: September 22, 2020
    Date of Patent: January 11, 2022
    Assignee: Arm Limited
    Inventors: Abhishek Raja, Kias Magnus Bruce, Albin Pierrick Tonnerre
  • Patent number: 11157277
    Abstract: Data processing apparatus comprises a processing element configured to access an architectural register representing a given system register; mapping circuitry to map the architectural register representing the given system register to a physical register selected from a set of physical registers; a register bank having a set of two or more respective banked versions of the given system register, in which a respective one of the banked versions of the system register is associated with each of a plurality of current operating states of the processing element; in which, when the processing element changes operating state from a first operating state associated with a first one of the banked versions of the system register to a second operating state associated with a second, different, one of the banked versions of the system register, the processing element is configured to store the current contents of the architectural register representing the given system register to the first one of the banked versions o
    Type: Grant
    Filed: September 5, 2019
    Date of Patent: October 26, 2021
    Assignee: Arm Limited
    Inventors: Cedric Denis Robert Airaud, Albin Pierrick Tonnerre, Luca Nassi, Remi Marius Teyssier
  • Publication number: 20210311742
    Abstract: An apparatus and method are provided for processing instructions. The apparatus has execution circuitry for executing instructions, where each instruction requires an associated operation to be performed using one or more source operand values in order to produce a result value. Issue circuitry is used to maintain a record of pending instructions awaiting execution by the execution circuitry, and prediction circuitry is used to produce a predicted source operand value for a chosen pending instruction. Optimisation circuitry is then arranged to detect an optimisation condition for the chosen pending instruction when the predicted source operand value is such that, having regard to the associated operation for the chosen pending instruction, the result value is known without performing the associated operation.
    Type: Application
    Filed: July 17, 2019
    Publication date: October 7, 2021
    Inventors: Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Ian Michael CAULFIELD, Albin Pierrick TONNERRE
  • Patent number: 11132202
    Abstract: An apparatus comprises execution circuitry to perform operations on source data values and to generate result data values; issue circuitry comprising one or more issue queues identifying pending operations awaiting performance by the execution circuitry, and selection circuitry to select pending operations to issue to the execution circuitry; data value cache storage comprising first and second cache regions; and cache control circuitry to control the storing to the first cache region of result data values generated by the execution circuitry and the eviction of stored result data values from the first cache region in response to newly generated result data values being stored in the first cache region; the cache control circuitry being configured to store to the second cache region result data values required as source data values for one or more oldest pending operations identified by the one or more issue queues and to inhibit eviction of a given result data value stored in the second cache region until in
    Type: Grant
    Filed: September 24, 2019
    Date of Patent: September 28, 2021
    Assignee: Arm Limited
    Inventors: Luca Nassi, Rémi Marius Teyssier, Cédric Denis Robert Airaud, Albin Pierrick Tonnerre, Francois Donati, Christophe Carbonne, Damian Maiorano
  • Patent number: 11126714
    Abstract: A data processing apparatus comprises branch prediction circuitry adapted to store at least one branch prediction state entry in relation to a stream of instructions, input circuitry to receive at least one input to generate a new branch prediction state entry, wherein the at least one input comprises a plurality of bits; and coding circuitry adapted to perform an encoding operation to encode at least some of the plurality of bits based on a value associated with a current execution environment in which the stream of instructions is being executed. This guards against potential attacks which exploit the ability for branch prediction entries trained by one execution environment to be used by another execution environment as a basis for branch predictions.
    Type: Grant
    Filed: October 2, 2018
    Date of Patent: September 21, 2021
    Assignee: Arm Limited
    Inventors: Alastair David Reid, Dominic Phillip Mulligan, Milosch Meriac, Matthias Lothar Boettcher, Nathan Yong Seng Chong, Ian Michael Caulfield, Peter Richard Greenhalgh, Frederic Claude Marie Piry, Albin Pierrick Tonnerre, Thomas Christopher Grocutt, Yasuo Ishii
  • Patent number: 10977044
    Abstract: An apparatus comprising processing circuitry is provided, the processing circuitry comprising execution circuitry, commit circuitry, issue circuitry comprising an issue queue and selection circuitry, and a branch predictor. The processing circuitry is configured to identify a speculation barrier instruction in the commit queue. While an entry in the commit queue identifies a speculation barrier instruction, when a branch instruction that follows the speculation barrier instruction in the program order is selected for issue, the processing circuitry performs a first execution of the instruction, inhibiting updating of branch prediction data items associated with the branch instruction and inhibiting the selection circuitry from invalidating the associated issue queue entry.
    Type: Grant
    Filed: September 5, 2019
    Date of Patent: April 13, 2021
    Assignee: Arm Limited
    Inventors: Remi Marius Teyssier, Luca Nassi, Albin Pierrick Tonnerre, François Donati
  • Publication number: 20210042227
    Abstract: Coherency control circuitry (10) supports processing of a safe-speculative-read transaction received from a requesting master device (4). The safe-speculative-read transaction is of a type requesting that target data is returned to a requesting cache (11) of the requesting master device (4) while prohibiting any change in coherency state associated with the target data in other caches (12) in response to the safe-speculative-read transaction. In response, at least when the target data is cached in a second cache associated with a second master device, at least one of the coherency control circuitry (10) and the second cache (12) is configured to return a safe-speculative-read response while maintaining the target data in the same coherency state within the second cache. This helps to mitigate against speculative side-channel attacks.
    Type: Application
    Filed: March 12, 2019
    Publication date: February 11, 2021
    Inventors: Andreas Lars SANDBERG, Stephan DIESTELHORST, Nikos NIKOLERIS, Ian Michael CAULFIELD, Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE
  • Publication number: 20210026635
    Abstract: An apparatus and method are provided for controlling allocation of instructions into an instruction cache storage. The apparatus comprises processing circuitry to execute instructions, fetch circuitry to fetch instructions from memory for execution by the processing circuitry, and an instruction cache storage to store instructions fetched from the memory by the fetch circuitry. Cache control circuitry is responsive to the fetch circuitry fetching a target instruction from a memory address determined as a target address of an instruction flow changing instruction, at least when the memory address is within a specific address range, to prevent allocation of the fetched target instruction into the instruction cache storage unless the fetched target instruction is at least one specific type of instruction. It has been found that such an approach can inhibit the performance of speculation-based caching timing side-channel attacks.
    Type: Application
    Filed: March 20, 2019
    Publication date: January 28, 2021
    Inventors: Frederic Claude Marie PIRY, Peter Richard GREENHALGH, Ian Michael CAULFIELD, Albin Pierrick TONNERRE
  • Publication number: 20210026641
    Abstract: An apparatus and method of operating a data processing apparatus are disclosed. The apparatus comprises data processing circuitry to perform data processing operations in response to a sequence of instructions, wherein the data processing circuitry is capable of performing speculative execution of at least some of the sequence of instructions. A cache structure comprising entries stores temporary copies of data items which are subjected to the data processing operations and speculative execution tracking circuitry monitors correctness of the speculative execution and responsive to indication of incorrect speculative execution to cause entries in the cache structure allocated by the incorrect speculative execution to be evicted from the cache structure.
    Type: Application
    Filed: March 21, 2019
    Publication date: January 28, 2021
    Inventors: Ian Michael CAULFIELD, Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE
  • Publication number: 20210019148
    Abstract: Examples of the present disclosure relate to an apparatus comprising execution circuitry to execute instructions defining data processing operations on data items. The apparatus comprises cache storage to store temporary copies of the data items. The apparatus comprises prefetching circuitry to a) predict that a data item will be subject to the data processing operations by the execution circuitry by determining that the data item is consistent with an extrapolation of previous data item retrieval by the execution circuitry, and identifying that at least one control flow element of the instructions indicates that the data item will be subject to the data processing operations by the execution circuitry; and b) prefetch the data item into the cache storage.
    Type: Application
    Filed: March 14, 2019
    Publication date: January 21, 2021
    Inventors: Ian Michael CAULFIELD, Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE
  • Publication number: 20200410088
    Abstract: An apparatus (2) has processing circuitry to process micro-operations, the processing circuitry supporting speculative processing of read micro-operations for reading data from a memory system. A cache (6, 8) is provided to cache the micro-operations or instructions decoded to generate the micro-operations. Profiling circuitry (40) annotates at least one cached micro-operation or instruction with annotation information depending on analysis of whether a read micro-operation satisfies a speculative side-channel condition indicative of a risk of information leakage if the read micro-operation is processed speculatively. The processing circuitry (12, 14) determines whether to trigger a speculative side-channel mitigation measure depending on the annotation information stored in the cache (6, 8).
    Type: Application
    Filed: March 12, 2019
    Publication date: December 31, 2020
    Inventors: Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Ian Michael CAULFIELD, Albin Pierrick TONNERRE
  • Publication number: 20200410110
    Abstract: An apparatus comprises processing circuitry 14 to perform data processing in response to instructions, the processing circuitry supporting speculative processing of read operations for reading data from a memory system 20, 22; and control circuitry 12, 14, 20 to identify whether a sequence of instructions to be processed by the processing circuitry includes a speculative side-channel hint instruction indicative of whether there is a risk of information leakage if at least one subsequent read operation is processed speculatively, and to determine whether to trigger a speculative side-channel mitigation measure depending on whether the instructions include the speculative side-channel hint instruction. This can help to reduce the performance impact of measures taken to protect against speculative side-channel attacks.
    Type: Application
    Filed: March 12, 2019
    Publication date: December 31, 2020
    Inventors: Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Ian Michael CAULFIELD, Albin Pierrick TONNERRE
  • Patent number: 10831499
    Abstract: An apparatus and method are provided for performing branch prediction. The apparatus has processing circuitry for executing instructions, and branch prediction circuitry for making branch outcome predictions in respect of branch instructions. The branch prediction circuitry includes loop prediction circuitry having a plurality of entries, where each entry is used to maintain branch outcome prediction information for a loop controlling branch instruction that controls repeated execution of a loop comprising a number of instructions. The branch prediction circuitry is arranged to analyse blocks of instructions and to produce a prediction result for each block that is dependent on branch outcome predictions made for any branch instructions appearing in the associated block. A prediction queue then stores the prediction results produced by the branch prediction circuitry in order to determine the instructions to be executed by the processing circuitry.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: November 10, 2020
    Assignee: ARM LIMITED
    Inventors: Houdhaifa Bouzguarrou, Guillaume Bolbenes, Frederic Claude Marie Piry, Albin Pierrick Tonnerre
  • Publication number: 20200285476
    Abstract: An apparatus and method are provided for handling prediction information. The apparatus has processing circuitry for performing data processing operations in response to instructions, the processing circuitry comprising transactional memory support circuitry to support execution of a transaction comprising a sequence of instructions. Prediction circuitry is used to generate predictions in relation to instruction flow changing instructions, and prediction storage is provided to store a plurality of items of prediction information that are referenced by the prediction circuitry when generating the predictions. The items of prediction information maintained by the prediction storage change based on the instructions being executed by the processing circuitry. A recovery storage is activated by the transactional memory support circuitry at a transaction start point to store a restore pointer identifying a chosen location in the prediction storage.
    Type: Application
    Filed: March 5, 2019
    Publication date: September 10, 2020
    Inventors: Guillaume BOLBENES, Albin Pierrick TONNERRE, Houdhaifa BOUZGUARROU
  • Patent number: 10635445
    Abstract: An apparatus and method of operating an apparatus are disclosed. The apparatus has a program counter permitted range storage element defining a permitted range of program counter values for the sequence of instructions it executes. Branch prediction circuitry predicts target instruction addresses for branch instructions. In response to a program counter modifying event, a program counter speculative range storage element is updated corresponding to each speculatively executed instruction after a branch instruction. Program counter permitted range verification circuitry is responsive to resolution of a modification of the program counter permitted range indication resulting from the program counter modifying event to determine whether the speculatively executed program counter range satisfies the permitted range of program counter values. A branch mis-prediction mechanism may support the response of the apparatus if the permitted range of program counter values is violated.
    Type: Grant
    Filed: May 29, 2018
    Date of Patent: April 28, 2020
    Assignee: Arm Limited
    Inventors: Rémi Marius Teyssier, Albin Pierrick Tonnerre, Cédric Denis Robert Airaud, Luca Nassi, Guillaume Bolbenes, Francois Donati, Lee Evan Eisen, Pasquale Ranone
  • Publication number: 20200117463
    Abstract: An apparatus comprises execution circuitry to perform operations on source data values and to generate result data values; issue circuitry comprising one or more issue queues identifying pending operations awaiting performance by the execution circuitry, and selection circuitry to select pending operations to issue to the execution circuitry; data value cache storage comprising first and second cache regions; and cache control circuitry to control the storing to the first cache region of result data values generated by the execution circuitry and the eviction of stored result data values from the first cache region in response to newly generated result data values being stored in the first cache region; the cache control circuitry being configured to store to the second cache region result data values required as source data values for one or more oldest pending operations identified by the one or more issue queues and to inhibit eviction of a given result data value stored in the second cache region until in
    Type: Application
    Filed: September 24, 2019
    Publication date: April 16, 2020
    Inventors: Luca NASSI, Rémi Marius TEYSSIER, Cédric Denis Robert AIRAUD, Albin Pierrick TONNERRE, Francois DONATI, Christophe CARBONNE, Damian MAIORANO
  • Publication number: 20200117464
    Abstract: An apparatus comprising processing circuitry is provided, the processing circuitry comprising execution circuitry, commit circuitry, issue circuitry comprising an issue queue and selection circuitry, and a branch predictor. The processing circuitry is configured to identify a speculation barrier instruction in the commit queue. While an entry in the commit queue identifies a speculation barrier instruction, when a branch instruction that follows the speculation barrier instruction in the program order is selected for issue, the processing circuitry performs a first execution of the instruction, inhibiting updating of branch prediction data items associated with the branch instruction and inhibiting the selection circuitry from invalidating the associated issue queue entry.
    Type: Application
    Filed: September 5, 2019
    Publication date: April 16, 2020
    Inventors: Remi Marius TEYSSIER, Luca NASSI, Albin Pierrick TONNERRE, François DONATI
  • Publication number: 20200110613
    Abstract: Data processing apparatus comprises a processing element configured to access an architectural register representing a given system register; mapping circuitry to map the architectural register representing the given system register to a physical register selected from a set of physical registers; a register bank having a set of two or more respective banked versions of the given system register, in which a respective one of the banked versions of the system register is associated with each of a plurality of current operating states of the processing element; in which, when the processing element changes operating state from a first operating state associated with a first one of the banked versions of the system register to a second operating state associated with a second, different, one of the banked versions of the system register, the processing element is configured to store the current contents of the architectural register representing the given system register to the first one of the banked versions o
    Type: Application
    Filed: September 5, 2019
    Publication date: April 9, 2020
    Inventors: Cedric Denis Robert AIRAUD, Albin Pierrick TONNERRE, Luca NASSI, Remi Marius TEYSSIER
  • Publication number: 20200065111
    Abstract: An apparatus and method are provided for performing branch prediction. The apparatus has processing circuitry for executing instructions, and branch prediction circuitry for making branch outcome predictions in respect of branch instructions. The branch prediction circuitry includes loop prediction circuitry having a plurality of entries, where each entry is used to maintain branch outcome prediction information for a loop controlling branch instruction that controls repeated execution of a loop comprising a number of instructions. The branch prediction circuitry is arranged to analyse blocks of instructions and to produce a prediction result for each block that is dependent on branch outcome predictions made for any branch instructions appearing in the associated block. A prediction queue then stores the prediction results produced by the branch prediction circuitry in order to determine the instructions to be executed by the processing circuitry.
    Type: Application
    Filed: August 21, 2018
    Publication date: February 27, 2020
    Inventors: Houdhaifa BOUZGUARROU, Guillaume BOLBENES, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE