Patents by Inventor Stuart David Biles

Stuart David Biles 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: 7343482
    Abstract: There is provided an apparatus for processing data under control of a program having program instructions and subgraph suggestion information identifying respective sequences of program instructions corresponding to computational subgraphs identified within said program, said apparatus comprising: a memory operable to store a program formed of separate program instructions; processing logic operable to execute respective separate program instructions from said program; and accelerator logic operable in response to reaching an execution point within said program associated with a subgraph suggestion to execute a sequence of program instructions corresponding to said subgraph suggestion as an accelerated operation instead of executing said sequence of program instructions as respective separate program instructions with said processing logic.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: March 11, 2008
    Assignees: ARM Limited, University of Michigan
    Inventors: Stuart David Biles, Krisztian Flautner, Scott Mahlke, Nathan Clark
  • Publication number: 20080040546
    Abstract: A data processing apparatus and method are provided for performing a cache lookup in an energy efficient manner. The data processing apparatus has at least one processing unit for performing operations and a cache having a plurality of cache lines for storing data values for access by that at least one processing unit when performing those operations. The at least one processing unit provides a plurality of sources from which access requests are issued to the cache, and each access request, in addition to specifying an address, further includes a source identifier indicating the source of the access request. A storage element is provided for storing for each source an indication as to whether the last access request from that source resulted in a hit in the cache, and cache line identification logic determines, for each access request, whether that access request is seeking to access the same cache line as the last access request issued by that source.
    Type: Application
    Filed: August 14, 2006
    Publication date: February 14, 2008
    Applicant: ARM Limited.
    Inventors: Vladimir Vasekin, Stuart David Biles
  • Publication number: 20080040592
    Abstract: A data processing system includes an instruction fetching circuit 2, an instruction queue 4 and further processing circuits 6. A branch target cache, which maybe a branch target address cache 8, a branch target instruction cache 10 or both, is used to store branch target addresses or blocks of instructions starting at the branch target respectively. A control circuit 12 is responsive to the contents of the instruction queue 4 when a branch instruction is encountered to determine whether or not storage resources within the branch target cache 8, 10 should be allocated to that branch instruction. Storage resources within the branch target cache 8, 10 will be allocated when the number of program instructions within the instruction queue is below a threshold number and/or the estimated execution time of the program instructions is below a threshold time.
    Type: Application
    Filed: August 10, 2006
    Publication date: February 14, 2008
    Applicant: ARM LIMITED
    Inventors: Vladimir Vasekin, Stuart David Biles, Andrew Christopher Rose, Wilco Dijkstra
  • Publication number: 20070288735
    Abstract: A branch prediction mechanism 16, 18 within a multithreaded processor having hardware scheduling logic 6, 8, 10, 12 uses a shared global history table 18 which is indexed by respective branch history registers 20, 22 for each program thread. Different mappings are used between preceding branch behaviour and the prediction value stored within respective branch history registers 20, 22. These different mappings may be provided by inverters placed into the shift in paths for the branch history registers 20, 22 or by adders 40, 42 or in some other way. The different mappings help to equalise the probability of use of the particular storage locations within the global history table 18 such that the plurality of program threads are not competing excessively for the same storage locations corresponding to the more commonly occurring patterns of preceding branch behaviour.
    Type: Application
    Filed: June 9, 2006
    Publication date: December 13, 2007
    Applicant: ARM Limited
    Inventors: Vladimir Vasekin, Stuart David Biles, Yuri Levdik, Andrei Kapustin
  • Patent number: 7269759
    Abstract: The present invention provides a data processing apparatus and method for handling corrupted data values. The method comprises the steps of: a) accessing a data value in a memory within a data processing apparatus; b) initiating processing of the data value within the data processing apparatus; c) whilst at least one of the steps a) and b) are being performed, determining whether the data value accessed is corrupted; and d) when it is determined that the data value is corrupted, disabling an interface used to propagate data values between the data processing apparatus and a device coupled to the data processing apparatus to prevent propagation of a corrupted data value to the device. When a data value is accessed, the data processing apparatus can begin processing of that data value and, hence, the performance of the data processing apparatus is not reduced.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: September 11, 2007
    Assignee: ARM Limited
    Inventor: Stuart David Biles
  • Publication number: 20070143515
    Abstract: An interrupt controller 2 is provided with priority registers 6 storing priority values P0-P9 used to determine prioritisation between received interrupt signals I0-I9. A priority value accessing circuit 10 provides multiple mappings to the priority values stored in dependence upon the priority value manager 16, 18, seeking to make an access. In this way, a first priority value manager 18, such as a secure operating system, can be given exclusive access to the highest priority values whilst a second priority value manager 16, such as a non-secure operating system, can be given access to a range of priority values as stored which are of a lower priority and yet as written or read by the non-secure operating system appear to the non-secure operating system to have a different, such as higher, priority level.
    Type: Application
    Filed: November 22, 2006
    Publication date: June 21, 2007
    Applicant: ARM Limited
    Inventors: Daniel Kershaw, Richard Roy Grisenthwaite, Stuart David Biles, David Hennah Mansell
  • Patent number: 7162590
    Abstract: Within a coherent multi-processing system multiple processor cores 4, 6 are coupled via respective memory buses to a memory access control unit 16. The memory buses are formed of a uni-processing portion containing signals specifying a memory access request in accordance with a uni-processing protocol. This uni-processing bus is augmented by a multi-processing bus containing signals giving additional information concerning memory access requests which may be used by the memory access control unit to service those requests and manage coherency within the system.
    Type: Grant
    Filed: March 1, 2004
    Date of Patent: January 9, 2007
    Assignee: ARM Limited
    Inventors: Julie-Anne Francoise Marie Pruvost, Norbert Bernard Eugene Lataille, Stuart David Biles
  • Publication number: 20040225838
    Abstract: The present invention relates to a data processing apparatus and method for accessing items of architectural state. The data processing apparatus comprises a plurality of registers operable to store items of architectural state, and a plurality of functional units, each functional unit being operable to perform a processing operation with reference to one or more of those items of architectural state. At least one of the functional units has a register cache associated therewith having one or more cache entries, each cache entry being operable to store a copy of one of the items of architectural state, and a register identifier identifying the register containing that item of architectural state. Control logic is operable to determine a subset of the items of architectural state to be copied in the register cache in dependence on the processing operation of the functional unit with which the register cache is associated. This assists in alleviating demands on access ports associated with the registers.
    Type: Application
    Filed: May 9, 2003
    Publication date: November 11, 2004
    Inventor: Stuart David Biles
  • Publication number: 20040210749
    Abstract: The present invention relates to a branch prediction logic and method for generating a branch bias providing a prediction as to whether execution of a branch instruction will result in a branch being taken or not taken. The branch prediction logic comprises a first branch bias storage operable to store for each of a plurality of first address portions a corresponding first branch bias value, the first branch bias storage being operable upon receipt of a first address portion of the branch instruction's address to output the corresponding first branch bias value from the first branch bias storage. The history storage is also provided for storing history data identifying an outcome for a number of preceding branch instructions.
    Type: Application
    Filed: April 15, 2003
    Publication date: October 21, 2004
    Inventor: Stuart David Biles