Patents by Inventor Norbert Bernard Eugene Lataille

Norbert Bernard Eugene Lataille 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: 8769251
    Abstract: A data processing apparatus and method are provided for converting data values from a first endian format to a second endian format. Swizzle circuitry is provided for receiving a block of data containing at least one data value, and for converting each data value from the first endian format to the second endian format. The swizzle circuitry comprises first swizzle circuitry for performing a re-ordering operation on the block of data assuming the at least one data value contained therein is of a first size, in order to produce re-ordered data. Second swizzle circuitry is provided which is responsive to an indication that the at least one data value is of a size different to the first size to perform an additional re-ordering operation on the re-ordered data having regard to the size of the at least one data value in order to convert each data value to the second endian format.
    Type: Grant
    Filed: December 13, 2006
    Date of Patent: July 1, 2014
    Assignee: ARM Limited
    Inventors: Philippe Luc, Norbert Bernard Eugéne Lataille, Florent Begon, Nicolas Chaussade
  • Patent number: 8271730
    Abstract: A plurality of processing units for performing data processing operations require access to data in shared memory. Each has an associated cache storing a subset of the data for access by that processing unit. A cache coherency protocol ensures data accessed by each unit is up-to-date. Each unit issues a write access request when outputting a data value for storing in shared memory. When the write access request requires both the associated cache and the shared memory to be updated, a coherency operation is initiated within the cache coherency logic. The coherency operation is performed for all of the caches including the cache associated with the processing unit that issued the write access request in order to ensure that the data in those caches is kept coherent.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: September 18, 2012
    Assignee: ARM Limited
    Inventors: Frederic Claude Marie Piry, Philippe Jean-Pierre Raphalen, Norbert Bernard Eugéne Lataille, Stuart David Biles, Richard Roy Grisenthwaite
  • Patent number: 7925868
    Abstract: Within a data processing system including a register renaming mechanism, register renaming for some conditional instructions which are predicted as not-executed is suppressed. The conditional instructions which are subject to such suppression of renaming may not be all conditional instructions, but may be those which are known to consume a particularly large number of physical registers if they are subject to renaming A conditional load multiple instruction in which multiple registers are loaded with new data values taken from memory in response to a single instruction is an example where the present technique may be used, particularly when one of the registers loaded is the program counter and accordingly the instruction is a conditional branch.
    Type: Grant
    Filed: January 24, 2007
    Date of Patent: April 12, 2011
    Assignee: ARM Limited
    Inventors: Norbert Bernard Eugéne Lataille, Florent Begon, Cédric Denis Robert Airaud, Mélanie Vincent
  • Patent number: 7856532
    Abstract: Cache logic is provided for use in a data processing apparatus, the cache logic having a cache storage comprising a plurality of cache lines for storing data values. Control logic is arranged, in response to an access request issued by a device of the data processing apparatus identifying a memory address of the data value to be accessed, to cause a lookup operation to be performed to determine whether the data value for that memory address is stored within the cache storage. The control logic is further operable if the data value is not stored in the cache storage to perform a linefill process, the linefill process comprising performing an eviction to evict to memory of the data processing apparatus current content of a selected cache line, keeping the current content valid in the selected cache line whilst the eviction is taking place, and storing from the memory into the selected cache line new content including the data value the subject of the access request.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: December 21, 2010
    Assignee: ARM Limited
    Inventors: Norbert Bernard Eugene Lataille, Cedric Denis Robert Airaud, Philippe Jean-Pierre Raphalen
  • Patent number: 7844800
    Abstract: A processor 2 utilising register renaming executes program instructions requiring a large number of architectural register specifiers to be renamed by dividing the renaming tasks into an initial set and a remaining set. The initial set are performed first and the results passed via a main channel 32 for further processing. The remaining set are performed in sequence with the results being passed via a background channel 34 for further processing. This technique is particularly useful for performing renaming operations for load/store multiple LDM instructions.
    Type: Grant
    Filed: August 21, 2007
    Date of Patent: November 30, 2010
    Assignee: ARM Limited
    Inventors: Melanie Emanuelle Lucie Vincent, Florent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille
  • Patent number: 7809930
    Abstract: A register renaming unit has mapping control circuitry which serves to suppress unnecessary mapping operations in dependence upon a detected current state of the data processing system. One example of circumstances which can be detected from the current state and in which mapping can be suppressed and the existing mapping reused are that in respect of the existing physically mapped register there are no pending writes, no pending reads and no pending requirement for that physically mapped register to be preserved as a recovery register. Another example of a current state in which a mapping can be reused is adjacent program instructions having mutually exclusive condition codes and sharing a destination register such that only one of those adjacent instructions will ever be executed.
    Type: Grant
    Filed: January 24, 2007
    Date of Patent: October 5, 2010
    Assignee: ARM Limited
    Inventors: Frederic Claude Marie Piry, Norbert Bernard Eugene Lataille
  • Patent number: 7698537
    Abstract: A data processing apparatus processes a stream of instructions from an instruction set. The instruction set includes exception instructions and non-exception instructions. Exception instructions may cause a break in an instruction flow, and non-exception instructions execute in a statically determinable way. At least two processing blocks process instructions from the stream of instructions. A first processing block has a set of physical registers associated with it for storing data values being processed by the first processing block. Renaming circuitry associated with the first processing block maps architectural registers specified in instructions to be processed by the first processing block to physical registers within the set of physical registers. A second processing block has a set of physical registers associated with it for storing data values being processed by the second processing block. The second processing block and registers do not support renaming.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: April 13, 2010
    Assignee: ARM Limited
    Inventors: Cédric Denis Robert Airaud, Melanie Emanuelle Lucie Vincent, Luc Orion, Norbert Bernard Eugene Lataille
  • Patent number: 7650483
    Abstract: A data processing apparatus and method are provided for handling execution of instructions within a data processing apparatus having a plurality of processing units. Each processing unit is operable to execute a sequence of instructions so as to perform associated operations, and at least a subset of the processing units form a cluster. Instruction forwarding logic is provided which for at least one instruction executed by at least one of the processing units in the cluster causes that instruction to be executed by each of the other processing units in the cluster, for example by causing that instruction to be inserted into the sequences of instructions executed by each of the other processing units in the cluster.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: January 19, 2010
    Assignee: ARM Limited
    Inventors: Elodie Charra, Frederic Claude Marie Piry, Richard Roy Grisenthwaite, Mélanie Emanuelle Lucie Vincent, Norbert Bernard Eugéne Lataille, Jocelyn Francois Orion Jaubert, Stuart David Biles
  • Patent number: 7624253
    Abstract: A data processing apparatus 2 supports out-of-order processing register renaming using a renaming stage 8. A set of physical registers 16 is mapped to architectural registers. Available-register identifying logic 26 is used to identify which physical registers 16 are available for use by the renaming stage 8. The available-register identifying logic 26 includes an instruction FIFO 28 storing register mapping data for unresolved instructions and indicating physical registers 16 storing data values which may be required in association with those unresolved speculative instructions. The speculative instructions may be predicted branch instructions, load/store instructions, conditional instructions or other types of instruction.
    Type: Grant
    Filed: October 25, 2006
    Date of Patent: November 24, 2009
    Assignee: ARM Limited
    Inventors: Florent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille, Melanie Vincent
  • Patent number: 7590826
    Abstract: A data processing system 2 utilizes a register renaming mechanism 10, 26 to rename architectural register specifiers to physical register specifiers to facilitate out-of-order processing. The register renaming mechanism 10, 26 includes a renaming recovery unit 26 which enables recovery from incorrectly executed speculative instructions by restoring the register mapping to the state prior to those incorrect instructions with the physical registers restored to containing the data values which were current at the time prior to that incorrect instruction. In the case of load instructions, these are treated as speculative but the data value returned in response to the load instruction and stored within a physical register is released for use as soon as it is returned and prior to a determination result being available as to whether or not that data value is corrupt.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: September 15, 2009
    Assignee: ARM Limited
    Inventors: Florent Begon, Philippe Jean-Pierre Raphalen, Norbert Bernard Eugene Lataille, Frederic Claude Marie Piry
  • Publication number: 20080177984
    Abstract: Within a data processing system 2 including a register renaming mechanism 8, 22, register renaming for some conditional instructions which are predicted as not-executed is suppressed. The conditional instructions which are subject to such suppression of renaming may not be all conditional instructions, but may be those which are known to consume a particularly large number of physical registers 24 if they are subject to renaming A conditional load multiple instruction in which multiple registers are loaded with new data values taken from memory in response to signal instruction is an example where the present technique may be used, particularly when one of the registers loaded is the program counter and accordingly the instruction is a conditional branch.
    Type: Application
    Filed: January 24, 2007
    Publication date: July 24, 2008
    Applicant: ARM Limited
    Inventors: Norbert Bernard Eugene Lataille, Florent Begon, Cedric Denis Robert Airaud, Melanie Vincent
  • Publication number: 20080177983
    Abstract: A register renaming unit 8 has mapping control circuitry 24 which serves to suppress unnecessary mapping operations in dependence upon a detected current state of the data processing system 2. One example of circumstances which can be detected from the current state and in which mapping can be suppressed and the existing mapping reused are that in respect of the existing physically mapped register there are no pending writes, no pending reads and no pending requirement for that physically mapped register to be preserved as a recovery register. Another example of a current state in which a mapping can be reused is adjacent program instructions having mutually exclusive condition codes and sharing a destination register such that only one of those adjacent instructions will every be executed.
    Type: Application
    Filed: January 24, 2007
    Publication date: July 24, 2008
    Applicant: ARM Limited
    Inventors: Frederic Claude Marie Piry, Norbert Bernard Eugene Lataille
  • Publication number: 20080155238
    Abstract: A data processing apparatus operable to process a stream of instructions from an instruction set, said instruction set comprising exception instructions and non-exception instructions, exception instructions being instructions that may cause a break in an instruction flow and non-exception instructions being instructions that execute in a statically determinable way, said data processing apparatus comprising: at least two processing blocks for processing instructions from said stream of instructions; a first processing block having a set of physical registers associated with it for storing data values being processed by said first processing block, renaming circuitry associated with said first processing block for mapping architectural registers specified in instructions to be processed by said first processing block to physical registers within said set of physical registers; a second processing block having a set of physical registers associated with it for storing data values being processed by said second
    Type: Application
    Filed: December 20, 2006
    Publication date: June 26, 2008
    Applicant: ARM Limited
    Inventors: Cedric Denis Robert Airaud, Melanie Emanuelle Lucie Vincent, Luc Orion, Norbert Bernard Eugene Lataille
  • Publication number: 20080148022
    Abstract: The present application discloses register renaming circuitry for mapping registers from an architectural set of registers to registers within a physical set of registers, said architectural set of registers being registers specified by instructions within an instruction set and said physical set of registers being registers within a processor for processing instructions of said instruction set, said instruction set comprising exception instructions and non-exception instructions, exception instructions being instructions that may generate an exception and non-exception instructions being instructions that execute in a statically determinable way, said register renaming circuitry comprising: a first data store for storing a future renaming table, said future renaming table comprising renaming values for mapping registers from said architectural set of registers to registers in said physical set of registers for instructions that are to be executed or are currently being executed by said processor; a second da
    Type: Application
    Filed: December 13, 2006
    Publication date: June 19, 2008
    Applicant: ARM Limited
    Inventors: Frederic Claude Marie Piry, Melanie Emanuelle Lucie Vincent, Florent Begon, Gilles Eric Grandou, Norbert Bernard Eugene Lataille
  • Publication number: 20080148029
    Abstract: A data processing apparatus and method are provided for converting data values from a first endian format to a second endian format. Swizzle circuitry is provided within the data processing apparatus for receiving a block of data containing at least one data value, and for converting each data value in the block from the first endian format to the second endian format. The swizzle circuitry comprises first swizzle circuitry for performing a re-ordering operation on the block of data assuming the at least one data value contained therein is of a first predetermined size, in order to produce re-ordered data. Further, second swizzle circuitry is provided which is responsive to an indication that the at least one data value is of a size different to the first predetermined size to perform an additional re-ordering operation on the re-ordered data having regard to the size of the at least one data value in order to convert each data value to the second endian format.
    Type: Application
    Filed: December 13, 2006
    Publication date: June 19, 2008
    Applicant: ARM Limited
    Inventors: Philippe Luc, Norbert Bernard Eugene Lataille, Florent Begon, Nicolas Chaussade
  • Publication number: 20080114966
    Abstract: A data processing apparatus 2 supports out-of-order processing register renaming using a renaming stage 8. A set of physical registers 16 is mapped to architectural registers. Available-register identifying logic 26 is used to identify which physical registers 16 are available for use by the renaming stage 8. The available-register identifying logic 26 includes an instruction FIFO 28 storing register mapping data for unresolved instructions and indicating physical registers 16 storing data values which may be required in association with those unresolved speculative instructions. The speculative instructions may be predicted branch instructions, load/store instructions, conditional instructions or other types of instruction.
    Type: Application
    Filed: October 25, 2006
    Publication date: May 15, 2008
    Applicant: ARM Limited
    Inventors: Florent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille, Melanie Vincent
  • Publication number: 20080109614
    Abstract: A data processing system 2 utilises a register renaming mechanism 10, 26 to rename architectural register specifiers to physical register specifiers to facilitate out-of-order processing. The register renaming mechanism 10, 26 includes a renaming recovery unit 26 which enables recovery from incorrectly executed speculative instructions by restoring the register mapping to the state prior to those incorrect instructions with the physical registers restored to containing the data values which were current at the time prior to that incorrect instruction. In the case of load instructions, these are treated as speculative but the data value returned in response to the load instruction and stored within a physical register is released for use as soon as it is returned and prior to a determination result being available as to whether or not that data value is corrupt.
    Type: Application
    Filed: November 6, 2006
    Publication date: May 8, 2008
    Applicant: ARM Limited
    Inventors: Florent Begon, Philippe Jean-Pierre Raphalen, Norbert Bernard Eugene Lataille, Frederic Claude Marie Piry
  • Publication number: 20080109606
    Abstract: Cache logic is provided for use in a data processing apparatus, the cache logic having a cache storage comprising a plurality of cache lines for storing data values. Control logic is arranged, in response to an access request issued by a device of the data processing apparatus identifying a memory address of the data value to be accessed, to cause a lookup operation to be performed to determine whether the data value for that memory address is stored within the cache storage. The control logic is further operable if the data value is not stored in the cache storage to perform a linefill process, the linefill process comprising performing an eviction to evict to memory of the data processing apparatus current content of a selected cache line, keeping the current content valid in the selected cache line whilst the eviction is taking place, and storing from the memory into the selected cache line new content including the data value the subject of the access request.
    Type: Application
    Filed: November 3, 2006
    Publication date: May 8, 2008
    Inventors: Norbert Bernard Eugene Lataille, Cedric Denis Robert Airaud, Philippe Jean-Pierre Raphalen
  • Publication number: 20080109639
    Abstract: A data processing apparatus and method are provided for handling execution of instructions within a data processing apparatus having a plurality of processing units. Each processing unit is operable to execute a sequence of instructions so as to perform associated operations, and at least a subset of the processing units form a cluster. Instruction forwarding logic is provided which for at least one instruction executed by at least one of the processing units in the cluster causes that instruction to be executed by each of the other processing units in the cluster, for example by causing that instruction to be inserted into the sequences of instructions executed by each of the other processing units in the cluster.
    Type: Application
    Filed: November 3, 2006
    Publication date: May 8, 2008
    Applicant: ARM Limited
    Inventors: Elodie Charra, Frederic Claude Marie Piry, Richard Roy Grisenthwaite, Melanie Emanuelle Lucie Vincent, Norbert Bernard Eugene Lataille, Jocelyn Francois Orion Jaubert, Stuart David Biles
  • Publication number: 20080082792
    Abstract: A processor 2 utilising register renaming executes program instructions requiring a large number of architectural register specifiers to be renamed by dividing the renaming tasks into an initial set and a remaining set. The initial set are performed first and the results passed via a main channel 32 for further processing. The remaining set are performed in sequence with the results being passed via a background channel 34 for further processing. This technique is particularly useful for performing renaming operations for load/store multiple LDM instructions.
    Type: Application
    Filed: August 21, 2007
    Publication date: April 3, 2008
    Inventors: Melanie Emanuelle Lucie Vincent, Forent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille