Patents by Inventor Stuart Biles

Stuart 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).

  • Publication number: 20080091884
    Abstract: A data processing apparatus and method are provided for handling write access requests to shared memory. The data processing apparatus has a plurality of processing units for performing data processing operations requiring access to data in shared memory, with each processing unit having a cache associated therewith for storing a subset of the data for access by that processing unit. Cache coherency logic is provided that employs a cache coherency protocol to ensure data accessed by each processing unit is up-to-date. Each processing unit will issue a write access request when outputting a data value for storing in the shared memory, and when the write access request is of a type requiring both the associated cache and the shared memory to be updated, a coherency operation is initiated within the cache coherency logic.
    Type: Application
    Filed: October 10, 2007
    Publication date: April 17, 2008
    Applicant: ARM Limited
    Inventors: Frederic Piry, Philippe Raphalen, Norbert Lataille, Stuart Biles, Richard Grisenthwaite
  • Publication number: 20080071953
    Abstract: A data processing apparatus and method for generating access requests is provided. A bus master is provided which can operate either in a secure domain or a non-secure domain of the data processing apparatus, according to a signal received from external to the bus master. The signal is generated to be fixed during normal operation of the bus master. Control logic is provided which, when the bus master device is operating in a secure domain, is operable to generate a domain specifying signal associated with an access request generated by the bus master core indicating either secure or non-secure access, in dependence on either a default memory map or securely defined memory region descriptors. Thus, the bus master operating in a secure domain can generate both secure and non-secure accesses, without itself being able to switch between secure and non-secure operation.
    Type: Application
    Filed: September 13, 2007
    Publication date: March 20, 2008
    Applicant: ARM Limited
    Inventors: Daniel Kershaw, Stuart Biles
  • Publication number: 20070239969
    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: Application
    Filed: June 5, 2007
    Publication date: October 11, 2007
    Applicants: ARM Limited, University of Michigan
    Inventors: Stuart Biles, Krisztian Flautner, Scott Mahlke, Nathan Clark
  • Publication number: 20060095720
    Abstract: There is provided an information processor for executing a program comprising a plurality of separate program instructions: processing logic operable to individually execute said separate program instructions of said program; an operand store operable to store operand values; and an accelerator having an array comprising a plurality of functional units, said accelerator being operable to execute a combined operation corresponding to a computational subgraph of said separate program instructions by configuring individual ones of said plurality of functional units to perform particular processing operations associated with one or more processing stages of said combined operation; wherein said accelerator executes said combined operation in dependence upon operand mapping data providing a mapping between operands of said combined operation and storage locations within said operand store and in dependence upon separately specified configuration data providing a mapping between said plurality of functional units a
    Type: Application
    Filed: January 28, 2005
    Publication date: May 4, 2006
    Applicant: ARM LIMITED
    Inventors: Stuart Biles, Krisztian Flautner, Scott Mahlke, Nathan Clark
  • Publication number: 20060095722
    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: Application
    Filed: January 31, 2005
    Publication date: May 4, 2006
    Applicants: ARM LIMITED, University of Michigan
    Inventors: Stuart Biles, Krisztian Flautner, Scott Mahlke, Nathan Clark
  • Publication number: 20060095721
    Abstract: An accelerator 120 is tightly coupled to the normal execution unit 110. The operand store, which could be a register file 130, a stack based operand store or other operand store is shared by the execution unit and the accelerator unit. Operands may also be accessed as immediate values within the instructions themselves. The sequences of individual program instructions corresponding to computational subgraphs remain within a program but can be recognized by the accelerator as suitable for acceleration and when encountered are executed by the accelerator instead of by the normal execution unit. Within such tightly coupled arrangement problems can arise due to a lack of register resources within the system. The present technique provides that at least some intermediate operand values which are generated within the accelerator, but are determined not to be referenced outside of the computational subgraph concerned, are not written to the operand store.
    Type: Application
    Filed: January 31, 2005
    Publication date: May 4, 2006
    Applicants: ARM Limited, University of Michigan
    Inventors: Stuart Biles, Krisztian Flautner, Scott Mahlke, Nathan Clark
  • Publication number: 20050283593
    Abstract: A branch prediction mechanism within a pipelined processing apparatus uses a history value HV which records preceding branch outcomes in either a first mode or a second mode. In the first mode respective bits within the history value represent a mixture of branch taken and branch not taken outcomes. In the second mode a count value within the history value indicates a count of a contiguous sequence of branch taken outcomes.
    Type: Application
    Filed: June 18, 2004
    Publication date: December 22, 2005
    Inventors: Vladimir Vasekin, Andrew Rose, Stuart Biles
  • Publication number: 20050071722
    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: Application
    Filed: August 6, 2004
    Publication date: March 31, 2005
    Applicant: ARM Limited
    Inventor: Stuart Biles
  • Publication number: 20050066131
    Abstract: An apparatus and method for loading data values from a memory system are provided. The data processing apparatus comprises a data processing unit operable to execute instructions, and a register file having a plurality of registers operable to store data values accessible by the data processing unit when executing the instructions. Further, a holding register is provided which does not form one of a working set of registers of the register file, and is operable to temporarily store a data value, the holding register having a data portion for storing the data value, and an identifier portion operable to store identifier data associated with the data value.
    Type: Application
    Filed: September 24, 2003
    Publication date: March 24, 2005
    Applicant: ARM LIMITED
    Inventors: Stuart Biles, Christopher Dornan, Vladimir Vasekin, Andrew Rose
  • Publication number: 20050005072
    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: Application
    Filed: March 1, 2004
    Publication date: January 6, 2005
    Applicant: ARM Limited
    Inventors: Julie-Anne Pruvost, Norbert Lataille, Stuart Biles
  • Patent number: 5881263
    Abstract: The present invention provides a data processing apparatus comprising: a plurality of registers for storing data items to be processed; a processor for processing instructions to be applied to data items stored in said plurality of registers; and register remapping logic for converting a logical register reference within a preselected set of instructions to a physical register reference identifying the register containing the data item required for processing by the processor.By this approach, a remapping instruction need only be executed once in order for the remapping to be applied to a desired number of instructions. This is in contrast to prior art techniques, where subsequent to a remapping instruction being executed, the remapping is applied to all subsequent instructions, ie. a desired number of instructions cannot be selected.The invention is particularly advantageously employed in apparatus arranged to repeat an instruction loop, the instruction loop including said preselected set of instructions.
    Type: Grant
    Filed: October 8, 1996
    Date of Patent: March 9, 1999
    Assignee: Arm Limited
    Inventors: Richard York, Hedley James Frances, Dominic Symes, Stuart Biles