Patents by Inventor François DONATI
François DONATI 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: 11132202Abstract: 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 inType: GrantFiled: September 24, 2019Date of Patent: September 28, 2021Assignee: Arm LimitedInventors: Luca Nassi, Rémi Marius Teyssier, Cédric Denis Robert Airaud, Albin Pierrick Tonnerre, Francois Donati, Christophe Carbonne, Damian Maiorano
-
Patent number: 11036511Abstract: An apparatus has a processing pipeline, and first and second register files. A temporary-register-using instruction is supported which controls the pipeline to perform an operation using a temporary variable derived from an operand stored in the first register file. In response to the instruction, when a predetermined condition is not satisfied, the pipeline processes at least one register move micro-operation to transfer data from the at least one source register of the first register file to at least one newly allocated temporary register of the second register file. When the condition is satisfied, the operation can be performed using a temporary variable already stored in the temporary register of the second register file used by an earlier temporary-register-using instruction specifying the same source register for determining the temporary variable, in the absence of an intervening instruction for rewriting the source register.Type: GrantFiled: July 29, 2019Date of Patent: June 15, 2021Assignee: Arm LimitedInventors: Xiaoyang Shen, Damien Robin Martin, Cédric Denis Robert Airaud, Luca Nassi, François Donati
-
Patent number: 10977044Abstract: 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: GrantFiled: September 5, 2019Date of Patent: April 13, 2021Assignee: Arm LimitedInventors: Remi Marius Teyssier, Luca Nassi, Albin Pierrick Tonnerre, François Donati
-
Patent number: 10915327Abstract: Aspects of the present disclosure relate to an apparatus comprising a plurality of clusters, each cluster having a plurality of execution units to execute instructions. The apparatus comprises dispatch circuitry to determine, for each instruction to be executed, a chosen cluster from amongst the plurality of clusters to which to dispatch that instruction for execution. This determination is performed by selecting between a default dispatch policy wherein said chosen cluster is a cluster to which an earlier instruction to generate at least one source operand of said instruction was dispatched for execution, and an alternative dispatch policy for selecting said chosen cluster. Said selecting is based on a selection parameter. The dispatch circuitry is further configured to dispatch said instruction to the chosen cluster for execution.Type: GrantFiled: December 14, 2018Date of Patent: February 9, 2021Assignee: Arm LimitedInventors: Luca Nassi, Remi Marius Teyssier, François Donati, Damian Maiorano
-
Publication number: 20200192674Abstract: Aspects of the present disclosure relate to an apparatus comprising a plurality of clusters, each cluster having a plurality of execution units to execute instructions. The apparatus comprises dispatch circuitry to determine, for each instruction to be executed, a chosen cluster from amongst the plurality of clusters to which to dispatch that instruction for execution. This determination is performed by selecting between a default dispatch policy wherein said chosen cluster is a cluster to which an earlier instruction to generate at least one source operand of said instruction was dispatched for execution, and an alternative dispatch policy for selecting said chosen cluster. Said selecting is based on a selection parameter. The dispatch circuitry is further configured to dispatch said instruction to the chosen cluster for execution.Type: ApplicationFiled: December 14, 2018Publication date: June 18, 2020Inventors: Luca NASSI, Remi Marius TEYSSIER, François DONATI, Damian MAIORANO
-
Patent number: 10635445Abstract: 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: GrantFiled: May 29, 2018Date of Patent: April 28, 2020Assignee: Arm LimitedInventors: 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: 20200117463Abstract: 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 inType: ApplicationFiled: September 24, 2019Publication date: April 16, 2020Inventors: Luca NASSI, Rémi Marius TEYSSIER, Cédric Denis Robert AIRAUD, Albin Pierrick TONNERRE, Francois DONATI, Christophe CARBONNE, Damian MAIORANO
-
Publication number: 20200117464Abstract: 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: ApplicationFiled: September 5, 2019Publication date: April 16, 2020Inventors: Remi Marius TEYSSIER, Luca NASSI, Albin Pierrick TONNERRE, François DONATI
-
Publication number: 20200065109Abstract: An apparatus has a processing pipeline, and first and second register files. A temporary-register-using instruction is supported which controls the pipeline to perform an operation using a temporary variable derived from an operand stored in the first register file. In response to the instruction, when a predetermined condition is not satisfied, the pipeline processes at least one register move micro-operation to transfer data from the at least one source register of the first register file to at least one newly allocated temporary register of the second register file. When the condition is satisfied, the operation can be performed using a temporary variable already stored in the temporary register of the second register file used by an earlier temporary-register-using instruction specifying the same source register for determining the temporary variable, in the absence of an intervening instruction for rewriting the source register.Type: ApplicationFiled: July 29, 2019Publication date: February 27, 2020Inventors: Xiaoyang SHEN, Damien Robin MARTIN, Cédric Denis Robert AIRAUD, Luca NASSI, François DONATI
-
Publication number: 20190370001Abstract: 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: ApplicationFiled: May 29, 2018Publication date: December 5, 2019Inventors: Rémi Marius TEYSSIER, Albin Pierrick TONNERRE, Cédric Denis Robert AIRAUD, Luca NASSI, Guillaume BOLBENES, Francois DONATI, Lee Evan EISEN, Pasquale RANONE
-
Patent number: 7236832Abstract: A neuromuscular monitoring system comprises at least one neurostimulator to apply muscle-activating stimulation signals to a patient's body via at least one electrode, and at least one pressure waveform sensor to detect pressure waveform signals produced by a patient's muscle in response to the applied stimulation signals. The detected pressure waveform signals are processed and data related to these detected pressure waveform signals are displayed. A method for neuromuscular monitoring using pressure waveform sensors is also described.Type: GrantFiled: December 8, 2003Date of Patent: June 26, 2007Assignees: Val-Chum, Societe en Commandite, Universite Montreal, Corporation l'Ecole Polytechnique de MontrealInventors: Thomas Hemmerling, Pierre A. Mathieu, Francois Donati, Guillaume Trager, Robert Guardo, Denis Babin, Chang Bou-Phon
-
Publication number: 20040254617Abstract: A neuromuscular monitoring system comprises at least one neurostimulator to apply muscle-activating stimulation signals to a patient's body via at least one electrode, and at least one pressure waveform sensor to detect pressure waveform signals produced by a patient's muscle in response to the applied stimulation signals. The detected pressure waveform signals are processed and data related to these detected pressure waveform signals are displayed. A method for neuromuscular monitoring using pressure waveform sensors is also described.Type: ApplicationFiled: December 8, 2003Publication date: December 16, 2004Inventors: Thomas Hemmerling, Pierre A. Mathieu, Francois Donati, Guillaume Trager, Robert Guardo, Denis Babin, Chang Bou-Phon