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: 7747667Abstract: 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: GrantFiled: February 16, 2005Date of Patent: June 29, 2010Assignee: ARM LimitedInventors: David Raymond Lutz, Christopher Neal Hinds, Dominic Hugo Symes, Simon Andrew Ford
-
Publication number: 20100106944Abstract: 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: ApplicationFiled: October 14, 2009Publication date: April 29, 2010Applicant: ARM LimitedInventors: Dominic Hugo Symes, Simon Andrew Ford
-
Publication number: 20100088524Abstract: 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: ApplicationFiled: October 7, 2008Publication date: April 8, 2010Applicant: ARM LIMITEDInventors: Simon Andrew Ford, Christopher James Styles
-
Patent number: 7689811Abstract: 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: GrantFiled: July 13, 2004Date of Patent: March 30, 2010Assignee: ARM LimitedInventors: Wilco Dijkstra, Simon Andrew Ford, David James Seal
-
Publication number: 20100045682Abstract: 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: ApplicationFiled: August 11, 2009Publication date: February 25, 2010Applicant: ARM LIMITEDInventors: Simon Andrew Ford, Sean Tristram Ellis, Edward Charles Plowman
-
Patent number: 7647368Abstract: 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: GrantFiled: September 1, 2004Date of Patent: January 12, 2010Assignee: ARM LimitedInventors: Simon Andrew Ford, David James Seal, Wilco Dijkstra
-
Patent number: 7647480Abstract: 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: GrantFiled: July 27, 2004Date of Patent: January 12, 2010Assignee: ARM LimitedInventors: Simon Andrew Ford, Andrew Christopher Rose
-
Publication number: 20090254767Abstract: 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: ApplicationFiled: December 6, 2005Publication date: October 8, 2009Applicant: ARM LIMITEDInventors: Simon Andrew Ford, Daryl Wayne Bradley, George James Milnb, John Michael Horley
-
Patent number: 7574314Abstract: 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: GrantFiled: September 17, 2007Date of Patent: August 11, 2009Assignee: ARM LimitedInventors: Simon Andrew Ford, David Michael Bull, Alastair David Reid
-
Publication number: 20090043993Abstract: 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: ApplicationFiled: March 3, 2006Publication date: February 12, 2009Inventors: Simon Andrew Ford, Alastair Reid
-
Publication number: 20090044086Abstract: 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: ApplicationFiled: August 1, 2008Publication date: February 12, 2009Applicant: ARM LIMITEDInventors: 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: 20090031082Abstract: 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: ApplicationFiled: March 6, 2006Publication date: January 29, 2009Inventors: Simon Andrew Ford, Mrinmoy Ghosh, Emre Ozer, Stuart David Biles
-
Publication number: 20080215768Abstract: 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: ApplicationFiled: October 23, 2007Publication date: September 4, 2008Inventors: Alastair David Reid, Edmund Grimley-Evans, Simon Andrew Ford
-
Publication number: 20080209133Abstract: 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: ApplicationFiled: February 22, 2007Publication date: August 28, 2008Applicant: ARM LimitedInventors: Emre Ozer, Stuart David Biles, Simon Andrew Ford
-
Publication number: 20080195856Abstract: 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: ApplicationFiled: July 2, 2007Publication date: August 14, 2008Inventors: Simon Andrew Ford, Christopher James Styles
-
Publication number: 20080189086Abstract: 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: ApplicationFiled: January 14, 2008Publication date: August 7, 2008Applicant: ARM LimitedInventors: Simon Andrew Ford, Paul Halliday Peeling
-
Publication number: 20080133897Abstract: 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: ApplicationFiled: October 9, 2007Publication date: June 5, 2008Applicant: ARM LimitedInventors: Alastair David Reid, Simon Andrew Ford, Katherine Elizabeth Kneebone
-
Publication number: 20080098208Abstract: 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: ApplicationFiled: September 11, 2007Publication date: April 24, 2008Applicants: ARM LimitedInventors: Alastair David Reid, Simon Andrew Ford, Yuan Lin
-
Publication number: 20080098207Abstract: 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: ApplicationFiled: September 11, 2007Publication date: April 24, 2008Inventors: Alastair David Reid, Simon Andrew Ford, Katherine Elizabeth Kneebone
-
Publication number: 20080097713Abstract: 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: ApplicationFiled: September 17, 2007Publication date: April 24, 2008Applicant: ARM LimitedInventors: Simon Andrew Ford, David Michael Bull, Alastair David Reid