Patents by Inventor Dominic Hugo Symes

Dominic Hugo Symes 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: 7219214
    Abstract: A data processing apparatus and method are provided for moving data between registers and memory. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements. A processor is operable to perform in parallel a data processing operation on multiple data elements occupying different lanes of parallel processing in at least one of the registers. Access logic is provided which is responsive to a single access instruction to move a plurality of data elements between a chosen one of the lanes in specified registers and a structure within memory having a structure format, the structure format having a plurality of components.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: May 15, 2007
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Dominic Hugo Symes, Andrew Christopher Rose, David Raymond Lutz, Christopher Neal Hinds
  • Patent number: 7219215
    Abstract: A data processing apparatus and method are provided for moving data between registers and memory. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements. A processor is operable to perform in parallel a data processing operation on multiple data elements accessed in at least one of the registers. Access logic is operable in response to a single access instruction to move a plurality of data elements between specified registers and a continuous block of memory in which data elements are stored as an array of structures having a structure format, the structure format having a plurality of components. The single access instruction identifies the number of components in the structure format, and the access logic is further operable to rearrange the plurality of data elements as they are moved such that each specified register stores data elements of one component whilst in memory the data elements are stored as the array of structures.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: May 15, 2007
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Dominic Hugo Symes, Andrew Christopher Rose, David Raymond Lutz, Christopher Neal Hinds
  • Patent number: 7210023
    Abstract: The present invention provides a data processing apparatus and method for performing aligned access operations. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements, and a processor operable to perform a data processing operation on one or more data elements accessed in at least one of the registers. Further, access logic is provided which is operable in response to an access instruction to perform an access operation in order to move a number of data elements between specified registers and a portion of a memory, the portion having a start address specified by the access instruction. Further, the access instruction has an alignment specifier associated therewith which is settable either to a first value or one of a plurality of second values.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: April 24, 2007
    Assignee: ARM Limited
    Inventors: Andrew Christopher Rose, Simon Andrew Ford, Dominic Hugo Symes, David James Seal
  • Patent number: 7145480
    Abstract: A data processing apparatus and method are provided for performing in parallel a data processing operation on data elements. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements, and processing logic operable to perform data processing operations on data elements. A decoder is operable to decode a data processing instruction, the data processing instruction identifying a lane size and a data element size, the lane size being a multiple of the data element size. Further, the decoder is operable to control the processing logic to define based on the lane size a number of lanes of parallel processing in at least one of the registers, and the processing logic is operable to perform in parallel a data processing operation on the data elements within each lane of parallel processing. This provides significantly improved flexibility in the performance of SIMD operations.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: December 5, 2006
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Dominic Hugo Symes
  • Patent number: 6999985
    Abstract: A data processing system is provided with an instruction (ADD8TO16) that unpacks non-adjacent portions of a data word using sign or zero extension and combines this with a single-instruction-multiple-data type arithmetic operation, such as an add, performed in response to the same instruction. The instruction is well suited to use within systems having a data path (2) including a shifting circuit (6) upstream of an arithmetic circuit (8).
    Type: Grant
    Filed: August 30, 2001
    Date of Patent: February 14, 2006
    Assignee: Arm Limited
    Inventors: Dominic Hugo Symes, David James Seal
  • Patent number: 6958718
    Abstract: A table lookup extension instruction is provided in which index values stored within an index register D2 are used to select data elements stored within one or more table registers D0, D1 for storage into corresponding positions within a result register D3. Out-of-range index values result in the corresponding locations within the result register being left unchanged U. In this way, an offset can be applied to index values held and then those index values reused with the table registers D0, D1 being reloaded with a different portion of a table so as to give the effect of a larger table than can be directly supported by the number of table registers available.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: October 25, 2005
    Assignee: ARM Limited
    Inventors: Dominic Hugo Symes, Simon Ford, Andrew Christopher Rose
  • Patent number: 6831952
    Abstract: A technique for decoding an encoded data stream representing an original sequence of data bits, each data bit comprising a plurality of codes, each code being dependent on a current data bit and a first predetermined number of preceding data bits in the original sequence. Scores are provided indicating the likelihood that a corresponding state represents the first predetermined number of preceding data bits. The scores are arranged in an initial ordering. A first plurality of score bit slices are stored to collectively represent the initially ordered scores, each score bit slice containing a predetermined bit from each of the scores. The scores are then reordered and a second plurality of score bit slices are stored to collectively represent the reordered scores. By this approach, all the scores are updated simultaneously.
    Type: Grant
    Filed: March 7, 2001
    Date of Patent: December 14, 2004
    Assignee: Arm Limited
    Inventors: Dominic Hugo Symes, Hedley James Francis
  • Publication number: 20040190634
    Abstract: A method, computer program product and data processing apparatus for filtering data, in particular for use in deblocking filters. The method comprising applying a plurality of m filter coefficients which each have a value which is a negative power of two and which sum to one, to a plurality of m input data items to produce a filtered output data item, by performing a sequence of averaging calculations comprising averaging input data items to which a smallest filter coefficient is to be applied to produce first averaged data and averaging the first averaged data with other averaged input data or with input data items to which larger filter coefficients are to be applied the plurality of m filter coefficients being applied to the plurality of m input data items via a sequence of averaging calculations such that a data width of any calculated data does not exceed that of the input data being averaged.
    Type: Application
    Filed: January 27, 2004
    Publication date: September 30, 2004
    Applicant: ARM LIMITED
    Inventors: Paul Matthew Carpenter, Dominic Hugo Symes
  • Publication number: 20040153593
    Abstract: In a data processing system using multiple operating systems, an interrupt which itself may be interrupted by a subsequent interrupt which will be serviced in a different operating system, guards itself against being overlooked when that subsequent interrupt has been handled by starting a stub interrupt handling routine in that other operating system before executing the main handling routine in the originating operating system. Thus, the stub interrupt handling routine will be recognised in the other operating system irrespective of other interrupt events which may occur and accordingly the interrupted interrupt handling may be restarted.
    Type: Application
    Filed: November 17, 2003
    Publication date: August 5, 2004
    Applicant: ARM LIMITED
    Inventors: Simon Charles Watt, Christopher Bentley Dornan, Luc Orion, Nicolas Chaussade, Lionel Belnet, Stephane Eric Sebastien Brochier, Michael Robert Nonweiler, Dominic Hugo Symes
  • Publication number: 20040153762
    Abstract: State data from a circuit 2 is saved to a memory 14 via a system bus 4, 6, 8, 10 under control of a state saving controller 16. The state data may be captured within scan chains 12 provided for production test within the circuit with these scan chains supplying respective bits to the multi-bit state saving data words that are stored to the memory via the system bus.
    Type: Application
    Filed: October 24, 2003
    Publication date: August 5, 2004
    Applicant: ARM LIMITED
    Inventors: David Walter Flynn, Dominic Hugo Symes
  • Publication number: 20040153807
    Abstract: In a system supporting more than one operating system, a data processing thread executing on a first operating system may be subject to an interrupt which triggers interrupt handling on a second operating system. When that interrupt handling is completed on the second operating system, the first operating system is resumed using a return interrupt. The return interrupt specifies the data processing thread which is active on the second operating system such that an appropriate task switch or resumption may be made on the first operating system. The technique is particularly well suited to systems utilising a secure operating system and a non-secure operating system executing on the same hardware.
    Type: Application
    Filed: November 17, 2003
    Publication date: August 5, 2004
    Applicant: ARM LIMITED
    Inventors: Simon Charles Watt, Christopher Bentley Dornan, Luc Orion, Nicolas Chaussade, Lionel Belnet, Stephane Eric Brochier, David Hennah Mansell, Dominic Hugo Symes
  • Publication number: 20040105298
    Abstract: The present invention provides a data processing apparatus and method for managing processor configuration data. The data processing apparatus comprises a processor operable in a plurality of modes and a plurality of domains, said plurality of domains comprising a secure domain and a non-secure domain, said plurality of modes including at least one non-secure mode being a mode in the non-secure domain, at least one secure mode being a mode in the secure domain, and a monitor mode. The processor is operable such that when executing a program in a secure mode the program has access to secure data which is not accessible when said processor is operating in a non-secure mode.
    Type: Application
    Filed: November 17, 2003
    Publication date: June 3, 2004
    Applicant: ARM Limited
    Inventor: Dominic Hugo Symes
  • Patent number: 6687771
    Abstract: An input data word contains multiple abutting input data values An. The input data word is split into two intermediate data words into which respective high order portions and low order portions of the data values are written spaced apart by vacant portions. Each intermediate data word may then be subject to one or more data processing operations with bits of the results extending into the vacant portions without corrupting adjacent data values. Finally, the intermediate data words may be recombined to produce result data values.
    Type: Grant
    Filed: January 26, 2001
    Date of Patent: February 3, 2004
    Assignee: ARM Limited
    Inventor: Dominic Hugo Symes
  • Patent number: 6598061
    Abstract: The present invention provides a system, method and computer program for performing a modular multiplication a*b*2−N modulo n, where a, b and n are N-bit integers. The system comprises a multiplier for multiplying a Y-bit number by a Z-bit number, and partitioning logic for partitioning the integer a into a plurality of first sections, each first section being of a size which is a multiple of Y, and for partitioning the integer b into a plurality of second sections, each second section being of a size which is a multiple of Z. A multiplication unit is then provided to apply operations to control the multiplier to perform a sequence of multiplications to multiply one of said first sections by one of said second sections in order to generate a number of output operands for use in subsequent operations performed by the multiplication unit.
    Type: Grant
    Filed: June 15, 2000
    Date of Patent: July 22, 2003
    Assignee: Arm Limited
    Inventors: Dominic Hugo Symes, David James Seal
  • Patent number: 6584532
    Abstract: A data processing system 2 for identifying the highest priority source signal from a plurality of signals each controlling the setting of a bit of a status word held within a status register 10 using programmable mask words. The mask words are used in a branch search strategy to successively narrow the possibilities for the highest priority bit at each search level until a single bit within the status word is identified corresponding to the highest priority interrupt signal. The programmable masks may be programmed for a particular configuration of the priorities of the respective bits within the status word. The branch search strategy provides a reduced maximum interrupt latency and improved predictability in the interrupt latency.
    Type: Grant
    Filed: May 17, 2000
    Date of Patent: June 24, 2003
    Assignee: Arm Limited
    Inventors: Hedley James Francis, Dominic Hugo Symes
  • Patent number: 6504495
    Abstract: A clipping and quantization technique is described for producing clipped numbers in a range of 0 to N−1 (from unclipped numbers in a range of −0.5N to (1.5N−1)), where N is 2m and m is the bit length of the desired clipped and quantized number. The most significant bit of the unclipped data value indicates whether an overflow of the permitted range has occurred and that clipping is required. The next most significant bit (m−1th) indicates which saturated value should be adopted. These properties of the unclipped data value may be exploited to generate the desired clipped and quantized numbers using logical left shifting and conditionally executed saturating instructions executing upon a general purpose processor 24. The shifting operations performed to achieve saturation operation may simultaneously yield quantization.
    Type: Grant
    Filed: February 17, 1999
    Date of Patent: January 7, 2003
    Assignee: Arm Limited
    Inventors: Dominic Hugo Symes, Wilco Dijkstra
  • Publication number: 20020065860
    Abstract: The present invention relates to a data processing apparatus and method for saturating data values. The data processing apparatus comprises a data processing unit for executing instructions, the data processing unit being responsive to a saturation instruction to apply a saturation operation to a data word Rm comprising a plurality of data values. The saturation operation yields a value given by: determining from data provided within a field of the saturation instruction a bit position to which saturation is to take place, and performing in parallel an independent saturation operation on each of the data values to saturate each of the data values to the determined bit position to form a result data word Rd comprising a plurality of saturated data values. This techniques provides a particularly efficient and flexible technique for saturating multiple data values.
    Type: Application
    Filed: September 20, 2001
    Publication date: May 30, 2002
    Inventors: Richard Roy Grisenthwaite, Dominic Hugo Symes, David James Seal
  • Publication number: 20020040427
    Abstract: A data processing system is provided with an instruction (PKH) that combines a packing operation of respective portions of input operand data words (Rn, Rm) into an output data word (Rd) together with the ability to select one of the portions to be combined from a variable position (k) within its respective input operand data word in a manner that allows additional processing to be carried out together with the packing operation. The instruction conveniently combines either the top or bottom half of one of the input operand data words with a half data word portion selected from a variable position within the other input operand data word.
    Type: Application
    Filed: September 24, 2001
    Publication date: April 4, 2002
    Inventor: Dominic Hugo Symes
  • Publication number: 20020040378
    Abstract: A data processing system is provided with an instruction (ADD8TO16) that unpacks non-adjacent portions of a data word using sign or zero extension and combines this with a single-instruction-multiple-data type arithmetic operation, such as an add, performed in response to the same instruction. The instruction is well suited to use within systems having a data path (2) including a shifting circuit (6) upstream of an arithmetic circuit (8).
    Type: Application
    Filed: August 30, 2001
    Publication date: April 4, 2002
    Inventors: Dominic Hugo Symes, David James Seal
  • Publication number: 20020002671
    Abstract: An input data word contains multiple abutting input data values An. The input data word is split into two intermediate data words into which respective high order portions and low order portions of the data values are written spaced apart by vacant portions. Each intermediate data word may then be subject to one or more data processing operations with bits of the results extending into the vacant portions without corrupting adjacent data values. Finally, the intermediate data words may be recombined to produce result data values.
    Type: Application
    Filed: January 26, 2001
    Publication date: January 3, 2002
    Inventor: Dominic Hugo Symes