Patents by Inventor Christopher Neal Hinds

Christopher Neal Hinds 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).

  • Publication number: 20030033506
    Abstract: The present invention provides a system and method for locking source registers in a data processing apparatus. The data processing apparatus comprises a processing unit having a pipeline for executing a sequence of instructions, and a set of source registers for storing source data required by the processing unit when executing instructions in the sequence. A locking mechanism is then used to lock source registers dependent on configurable criteria, the configurable criteria being chosen to ensure that source registers still required for completing execution of an instruction in the pipeline are locked to prevent predetermined types of access by a subsequent instruction, the subsequent instruction only being able to enter the pipeline if the source registers relevant to that instruction can be accessed as required by the instruction. In accordance with the present invention, the processing unit has a first and second mode of operation.
    Type: Application
    Filed: May 21, 2001
    Publication date: February 13, 2003
    Inventors: Christopher Neal Hinds, Morgan Lee Reece
  • Patent number: 6360189
    Abstract: A data processing apparatus and method is provided for performing a multiply-accumulate operation A+(B*C) in response to a single instruction identifying said multiply-accumulate operation. The data processing operation comprises a multiplier for multiplying values B and C to generate an unrounded multiplication result, the multiplier further being arranged to generate first data required for rounding determination, and an adder for adding the unrounded multiplication result to a value A to generate an unrounded multiply-accumulate result, the adder further being arranged to generate second data required for rounding determination. Determination logic is then provided for using the first and second data to determine one or more rounding values required to produce a final multiply-accumulate result equivalent to the execution of a separate multiply instruction incorporating rounding, followed by a separate add instruction incorporating rounding.
    Type: Grant
    Filed: August 31, 1998
    Date of Patent: March 19, 2002
    Assignee: ARM Limited
    Inventors: Christopher Neal Hinds, David Vivian Jaggar, David Terrence Matheny
  • Patent number: 6332186
    Abstract: A floating point unit 26 is provided with a register bank 38 comprising 32 registers that may be used as either vector registers V or scalar registers S. Data values are transferred between memory 30 and the registers within the register bank 38 using contiguous block memory access instructions. Vector processing instructions specify a sequence of processing operations to be performed upon data values within a sequence of registers. The register address is incremented between each operation by an amount controlled by a stride value. Accordingly, the register address can be incremented by values such as 0, 1, 2 or 4 between each iteration. This provides a mechanism for retaining block memory access instructions to contiguous memory addresses whilst supporting vector matrix and/or complex operations in which the data values needed for each iteration are not adjacent to one another in the memory 30.
    Type: Grant
    Filed: August 28, 1998
    Date of Patent: December 18, 2001
    Assignee: ARM Limited
    Inventors: Matthew Paul Elwood, Christopher Neal Hinds
  • Patent number: 6282634
    Abstract: A floating point unit is provided with a register bank comprising 32 registers that may be used as either vector registers of scalar registers. A data processing instruction includes at least one register specifying field pointing to a register containing a data value to be used in that operation. An increase in the instruction bit space available to encode more opcodes or to allow for more registers is provided by encoding whether a register is to be treated as a vector or a scalar within the register field itself. Further, the register field for one register of the instruction may encode whether another register is a vector or a scalar. The registers can be initially accessed using the values within the register fields of the instruction independently of the opcode allowing for easier decode.
    Type: Grant
    Filed: May 27, 1998
    Date of Patent: August 28, 2001
    Assignee: ARM Limited
    Inventors: Christopher Neal Hinds, David Vivian Jaggar, David Terrence Matheny, David James Seal
  • Patent number: 6216222
    Abstract: A data processing apparatus and method is provided, the apparatus comprising an execution unit having a plurality of pipelined stages for executing instructions, such that a maximum of ‘n’ instructions can be being executed simultaneously within the execution unit. Further, a set of at least ‘n’ logical exception registers are provided, each exception register being capable of storing a number of exception attributes associated with an instruction for which an exception has been detected during execution by the execution unit. In the event of an exception being detected during execution of a first instruction, the execution unit is arranged to: (i) store in a first of said exception registers said exception attributes associated with said first instruction; and (ii) to continue executing any remaining instructions already in the pipelined stages at the time the exception was detected.
    Type: Grant
    Filed: May 14, 1998
    Date of Patent: April 10, 2001
    Assignee: Arm Limited
    Inventors: Christopher Neal Hinds, David Vivian Jaggar, David Terrence Matheny, Matthew Paul Elwood
  • Patent number: 6189094
    Abstract: A floating point unit having a register bank containing a plurality of registers supports vector operations that execute a specified operation a plurality of times upon a sequence of data values form different registers. The register bank is divided into subsets and with the sequence of registers used in a vector operation wrapping within a subset. The subsets comprise disjoint, contiguous ranges of register numbers. The wrapping within ranges allows compact code and efficient to be provided for performing DSP operations, such as FIR filtering and matrix transformations.
    Type: Grant
    Filed: May 27, 1998
    Date of Patent: February 13, 2001
    Assignee: Arm Limited
    Inventors: Christopher Neal Hinds, David Vivian Jaggar, David Terrence Matheny, David James Seal