Patents by Inventor Simon Andrew Ford

Simon Andrew Ford 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: 7747667
    Abstract: A data processing apparatus and method generate an initial estimate of a result value that would be produced by performing a reciprocal operation on an input value. The input value and the result value are either fixed point values or floating point values. The data processing apparatus comprises processing logic for executing instructions to perform data processing operations on data, and a lookup table referenced by the processing logic during generation of the initial estimate of the result value. The processing logic is responsive to an estimate instruction to reference the lookup table to generate, dependent on a modified input value that is within a predetermined range of values, a table output value. For a particular modified input value, the same table output value is generated irrespective of whether the input value is a fixed point value or a floating point value. The initial estimate of the result value is then derivable from the table output value.
    Type: Grant
    Filed: February 16, 2005
    Date of Patent: June 29, 2010
    Assignee: ARM Limited
    Inventors: David Raymond Lutz, Christopher Neal Hinds, Dominic Hugo Symes, Simon Andrew Ford
  • Publication number: 20100106944
    Abstract: A data processing apparatus and method are provided for performing rearrangement operations. The data processing apparatus has a register data store with a plurality of registers, each register storing a plurality of data elements. Processing circuitry is responsive to control signals to perform processing operations on the data elements.
    Type: Application
    Filed: October 14, 2009
    Publication date: April 29, 2010
    Applicant: ARM Limited
    Inventors: Dominic Hugo Symes, Simon Andrew Ford
  • Publication number: 20100088524
    Abstract: A non-volatile mass storage device is provided comprising memory circuitry accessible to a host data processing device via a communication link. The non-volatile mass storage device comprises processing circuitry for locally accessing the memory circuitry of the file system and is capable of triggering generation of a file for storage on the memory circuitry by connection of the non-volatile mass storage device to the host data processing device. The generated file comprises information dependent upon a state of the non-volatile mass storage device. A corresponding method of operating a non-volatile mass storage device is provided and a computer program is provided for obtaining the information dependent upon the state of the non-volatile mass storage device, for locally accessing the memory circuitry and for generating the file for storage on the memory circuitry.
    Type: Application
    Filed: October 7, 2008
    Publication date: April 8, 2010
    Applicant: ARM LIMITED
    Inventors: Simon Andrew Ford, Christopher James Styles
  • Patent number: 7689811
    Abstract: A data processing apparatus (2) comprising: a register data store operable to store data elements; an instruction decoder (14, 16) operable to decode an instruction with generated constant, said instruction having a data value associated therewith; a data processor (18) operable to perform data processing operations within parallel processing lanes on at least one source operand in response to a data processing instruction decoded by said instruction decoder (16); and said data processor being operable in response to said decoded instruction with generated constant and associated data value to expand at least a data portion (1210) of said associated data value, said expansion being performed in response to said instruction with generated constant and depending on a selected function, to generate a constant (1240), said generated constant (1240) forming one of said at least one source operands.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: March 30, 2010
    Assignee: ARM Limited
    Inventors: Wilco Dijkstra, Simon Andrew Ford, David James Seal
  • Publication number: 20100045682
    Abstract: The present invention provides an improved technique for communicating between a central processing unit and a graphics processing unit of a data processing apparatus. Shared memory is provided which is accessible by the central processing unit and the graphics processing unit, and via which data structures are shareable between the central processing unit and the graphics processing unit. A bus is also provided via which the central processing unit, graphics processing unit and shared memory communicate. In accordance with a first mechanism of controlling the graphics processing unit, the central processing unit routes control signals via the bus. However, in addition, an interface is provided between the central processing unit and the graphics processing unit, and in accordance with an additional mechanism for controlling the graphics processing unit, the central processing unit provides control signals over the interface.
    Type: Application
    Filed: August 11, 2009
    Publication date: February 25, 2010
    Applicant: ARM LIMITED
    Inventors: Simon Andrew Ford, Sean Tristram Ellis, Edward Charles Plowman
  • Patent number: 7647368
    Abstract: Data processing apparatus and method perform data processing operations on floating point data elements. The data processing apparatus has processing logic for performing data processing operations on the floating point data elements, and decode logic operable to decode a data processing instruction in order to determine a corresponding data processing operation to be performed by the processing logic. The data processing instruction has an m-bit immediate value encoded therein. Further, constant generation logic is provided to perform a logical operation on the m-bit immediate value in order to generate an n-bit floating point constant for use as at least one input floating point data element for the processing logic when performing the corresponding data processing operation. The values “n” and “m” are integers, and n is greater than m. This approach provides a particularly efficient technique for generating floating point constants.
    Type: Grant
    Filed: September 1, 2004
    Date of Patent: January 12, 2010
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, David James Seal, Wilco Dijkstra
  • Patent number: 7647480
    Abstract: A data processing apparatus and method of handling conditional instructions in such a data processing apparatus are provided. The data processing apparatus has a pipelined processing unit for executing instructions including at least one conditional instruction from a set of conditional instructions, and a register file having a plurality of registers operable to store data values for access by the pipelined processing unit when executing the instructions. A register specified by an instruction may be either a source register holding a source data value for that instruction or a destination register into which is stored a result data value generated by execution of that instruction. The register file has a predetermined number of read ports via which data values can be read from registers of the register file.
    Type: Grant
    Filed: July 27, 2004
    Date of Patent: January 12, 2010
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Andrew Christopher Rose
  • Publication number: 20090254767
    Abstract: A data processing apparatus and methods are disclosed. The data processing apparatus comprises: data processing elements operable to process data; an energy management unit operable to generate energy management information indicative of an energy state of at least one of the data processing elements when processing said data; and logic operable to receive said energy management information and to generate energy management information items associating said energy state with the processing of said data. The information items can provide visibility of how the Energy State of the data processing elements vary in response to the processing of data. Providing this visibility of the Energy State can advantageously enable more detailed the energy management to be performed and the Energy State of the data processing elements to be optimized.
    Type: Application
    Filed: December 6, 2005
    Publication date: October 8, 2009
    Applicant: ARM LIMITED
    Inventors: Simon Andrew Ford, Daryl Wayne Bradley, George James Milnb, John Michael Horley
  • Patent number: 7574314
    Abstract: A circuit for a data processing apparatus and a method for detecting spurious signals is disclosed, the circuit comprising a data input operable to receive digital signal values, spurious signal detection logic operable to monitor a digital signal value within the circuit, and to determine at least one of: a safe time window during which it is expected that the digital signal values input into the circuit may cause data transitions in the monitored digital signal value and a transition time window in which it is expected a data transition will occur; and in response to detecting either a data transition in the monitored digital signal value outside of the at least one safe time window or no data transition in the transition window, the spurious signal detection logic is operable to output a detection signal.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: August 11, 2009
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, David Michael Bull, Alastair David Reid
  • Publication number: 20090043993
    Abstract: An integrated circuit, and method of reviewing values of one or more signals occurring within that integrated circuit, are provided. The integrated circuit comprises processing logic for executing a program, and monitoring logic for reviewing values of one or more signals occurring within the integrated circuit as a result of execution of the program. The monitoring logic stores configuration data, which can be software programmed in relation to the signals to be monitored. Further, the monitoring logic makes use of a Bloom filter which, for a value to be reviewed, performs a hash operation on that value in order to reference the configuration data to determine whether that value is either definitely not a value within the range or is potentially a value within the range of values. If the value is determined to be within the set of values, then a trigger signal is generated which can be used to trigger a further monitoring process.
    Type: Application
    Filed: March 3, 2006
    Publication date: February 12, 2009
    Inventors: Simon Andrew Ford, Alastair Reid
  • Publication number: 20090044086
    Abstract: A data processing apparatus is provided comprising processing circuitry for performing data processing operations, a set associative storage device for storing data values for access by the processing circuitry when performing data processing operations, error detection circuitry for performing, for each access to the storage device, an error detection operation on the data value accessed, and maintenance circuitry associated with the storage device for performing one or more maintenance operations.
    Type: Application
    Filed: August 1, 2008
    Publication date: February 12, 2009
    Applicant: ARM LIMITED
    Inventors: Simon John Craske, Andrew Christopher Rose, Paul Stanley Hughes, Antony John Penton, Richard York, Simon Andrew Ford, Stuart David Biles, Alex James Waugh
  • Publication number: 20090031082
    Abstract: A data processing apparatus is provided having processing logic for performing a sequence of operations, and a cache having a plurality of segments for storing data values for access by the processing logic. The processing logic is arranged, when access to a data value is required, to issue an access request specifying an address in memory associated with that data value, and the cache is responsive to the address to perform a lookup procedure during which it is determined whether the data value is stored in the cache. Indication logic is provided which, in response to an address portion of the address, provides for each of at least a subject of the segments an indication as to whether the data value is stored in that segment. The indication logic has guardian storage for storing guarding data, and hash logic for performing a hash operation on the address portion in order to reference the guarding data to determine each indication.
    Type: Application
    Filed: March 6, 2006
    Publication date: January 29, 2009
    Inventors: Simon Andrew Ford, Mrinmoy Ghosh, Emre Ozer, Stuart David Biles
  • Publication number: 20080215768
    Abstract: A computer implemented tool is provided for assisting in the mapping of a computer program to a data processing apparatus 2 wherein multiple physical instances of a logical variable in the computer program are required. A computer program 60 is provided as the input to the tool which analyses the data flow of the program and identifies multiple physical instance requirement for logical variables. The tool adds mapping support commands, such as instantiation commands, DMA move commands and the like as necessary to support the mapping of the computer program to a data processing apparatus 2.
    Type: Application
    Filed: October 23, 2007
    Publication date: September 4, 2008
    Inventors: Alastair David Reid, Edmund Grimley-Evans, Simon Andrew Ford
  • Publication number: 20080209133
    Abstract: A data processing apparatus and method are provided for managing cache coherency. The data processing apparatus comprises a plurality of processing units, each having a cache associated therewith, and each cache having indication circuitry containing segment filtering data. The indication circuitry is responsive to an address portion of an address specified by an access request from an associated processing unit to reference the segment filtering data in order to provide, for each of at least a subset of the segments of the associated cache, an indication as to whether the data is either definitely not stored in that segment or is potentially stored in that segment. Further, in accordance with the present invention, cache coherency circuitry is provided which employs a cache coherency protocol to ensure data accessed by each processing unit is up-to-date.
    Type: Application
    Filed: February 22, 2007
    Publication date: August 28, 2008
    Applicant: ARM Limited
    Inventors: Emre Ozer, Stuart David Biles, Simon Andrew Ford
  • Publication number: 20080195856
    Abstract: A programmer 10 for a target device 16 is provided with a mass storage interface 12 for connecting to a host 2 so as to appear as a mass storage device to the host 2. A target programmer 18 is responsive to an image transferred from the host 2 to the programmer 10 to apply that image to the target device 16.
    Type: Application
    Filed: July 2, 2007
    Publication date: August 14, 2008
    Inventors: Simon Andrew Ford, Christopher James Styles
  • Publication number: 20080189086
    Abstract: A system and method are provided for modelling a hardware component of a data processing apparatus in order to generate an output identifying a value of an observable property of the hardware component. The system comprises a component model for modelling aspects of the hardware component, and feature extraction logic for extending the component model to cause the component model when executing to output one or more features identifying execution behaviour of the component model. A statistical model is then arranged to receive the one or more features output by the component model, and to generate the output dependent on said one or more features.
    Type: Application
    Filed: January 14, 2008
    Publication date: August 7, 2008
    Applicant: ARM Limited
    Inventors: Simon Andrew Ford, Paul Halliday Peeling
  • Publication number: 20080133897
    Abstract: A diagnostic method is described for generating diagnostic data relating to processing of an instruction stream, wherein said instruction stream has been compiled from a source instruction stream to include multiple threads, said method comprising the steps of: (i) initiating a diagnostic procedure in which at least a portion of said instruction stream is executed; (ii) controlling a scheduling order for executing instructions within said at least a portion of said instruction stream to cause execution of a sequence of thread portions, said sequence being determined in response to one or more rules, at least one of said rules defining an order of execution of said thread portions to follow an order of said source instruction stream. In this way, the diagnostic method can generate a debug view of a parallelised program which is the same as, or at least similar to, a debug view which would be provided when debugging the original non-parallelised program.
    Type: Application
    Filed: October 9, 2007
    Publication date: June 5, 2008
    Applicant: ARM Limited
    Inventors: Alastair David Reid, Simon Andrew Ford, Katherine Elizabeth Kneebone
  • Publication number: 20080098208
    Abstract: A method is disclosed for transforming a portion of a computer program comprising a list of sequential instructions comprising control code and data processing code and a program separation indicator indicating a point where said sequential instructions may be divided to form separate sections that are capable of being separately executed and that each comprise different data processing code.
    Type: Application
    Filed: September 11, 2007
    Publication date: April 24, 2008
    Applicants: ARM Limited
    Inventors: Alastair David Reid, Simon Andrew Ford, Yuan Lin
  • Publication number: 20080098207
    Abstract: A diagnostic method for outputting diagnostic data relating to processing of instruction streams stemming from a computer program, at least some of said instructions streams comprising multiple threads is disclosed. The method comprises the steps of: (i) receiving diagnostic data; (ii) reordering said received diagnostic data in dependence upon reordering data, said reordering data comprising data relating to said computer program; and (iii) outputting said reordered diagnostic data. In general, the instructions streams are processed by a plurality of processing units arranged to process at least some of said instructions in parallel, said diagnostic data being received from said plurality of processing units.
    Type: Application
    Filed: September 11, 2007
    Publication date: April 24, 2008
    Inventors: Alastair David Reid, Simon Andrew Ford, Katherine Elizabeth Kneebone
  • Publication number: 20080097713
    Abstract: A circuit for a data processing apparatus is disclosed, said circuit comprising a data input operable to receive digital signal values, said circuit comprising: spurious signal detection logic operable to monitor a digital signal value within said circuit, and determine at least one of: a safe time window during which it is expected that said digital signal values input into said circuit may cause data transitions in said monitored digital signal value and a transition time window in which it is expected a data transition will occur; and in response to detecting either a data transition in said monitored digital signal value outside of said at least one safe time window or no data transition in said transition window, said spurious signal detection logic is operable to output a detection signal.
    Type: Application
    Filed: September 17, 2007
    Publication date: April 24, 2008
    Applicant: ARM Limited
    Inventors: Simon Andrew Ford, David Michael Bull, Alastair David Reid