Patents by Inventor Richard Grisenthwaite

Richard Grisenthwaite 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: 20070266374
    Abstract: A data processor 2 has privilege levels associated with it including a user level and a privileged level. The processor 2 also has multiple stack memories which can be used including one or more process stacks, a main stack and a deep stack. The stack memory to be used is de-coupled from the privilege level. An activation level state variable tracking the number of pending exceptions is held by the processor and used to modify which stack memory stores pending state values when an exception occurs. If the system is at a base level of activation, corresponding to currently no pending exceptions, then when an exception occurs the current state data is saved on the process stack with the main stack being available for the exception handling code. Particular exceptions can be flagged as requiring use of a deep stack rather than either the process stack or the main stack.
    Type: Application
    Filed: May 11, 2006
    Publication date: November 15, 2007
    Applicant: ARM Limited
    Inventors: Richard Grisenthwaite, Paul Kimelman, David Seal, David Rusling
  • Publication number: 20070170269
    Abstract: Within an integrated circuit 2 independently controllable domains 4, 6, 8, 10, 12, 14 may be unable to complete pending transactions taking place between domains. Each domain is provided with a state machine 20, 22 which is responsive to the state of the state machine within the other domain and when this indicates that the other domain is not communicating triggers modified behaviour. This can provide that the predetermined transaction protocol is not broken and/or complete a partially completed transaction when the domain concerned has recovered from an error or other event which disrupted the communication.
    Type: Application
    Filed: January 4, 2007
    Publication date: July 26, 2007
    Applicant: ARM LIMITED
    Inventors: Sheldon Woodhouse, Richard Grisenthwaite, Daryl Bradley, Edmond Ashfield
  • Publication number: 20070079070
    Abstract: A cache controller and a method is provided. The cache controller comprises: request reception logic operable to receive a write request from a data processing apparatus to write a data item to memory; and cache access logic operable to determine whether a caching policy associated with the write request is write allocate, whether the write request would cause a cache miss to occur, whether the write request is one of a number of write requests which together would cause greater than a predetermined number of sequential data items to be allocated in the cache and, if so, the cache access logic is further operable to override the caching policy associated with the write request to non-write allocate.
    Type: Application
    Filed: September 30, 2005
    Publication date: April 5, 2007
    Applicant: ARM Limited
    Inventors: Frederic Piry, Philippe Raphalen, Richard Grisenthwaite
  • Publication number: 20070033318
    Abstract: A virtually indexed and physically tagged memory is described having a cache way size which can exceed the minimum page table size such that aliased virtual addresses VA within the cache way 12 can be mapped to the same physical address PA. Aliasing management logic 10 permits multiple copies of the data from the same physical address to be stored at different virtual indexes within the cache within given or different cache ways.
    Type: Application
    Filed: August 5, 2005
    Publication date: February 8, 2007
    Applicant: ARM Limited
    Inventors: David Gilday, Richard Grisenthwaite
  • Publication number: 20070005938
    Abstract: A data processing apparatus, comprising: a processor for executing instructions; a prefetch unit for prefetching instructions from a memory prior to sending those instructions to said processor for execution; branch prediction logic; and a branch target cache for storing predetermined information about branch operations executed by said processor, said predetermined information including, identification of an instruction specifying a branch operation, a target address for said branch operation and a prediction as to whether said branch is taken or not; wherein said prefetch unit is operable prior to fetching an instruction from said memory, to access said branch target cache and to determine if there is predetermined information corresponding to said instruction stored within said branch target cache and if there is to retrieve said predetermined information; said branch prediction logic being operable in response to said retrieved predetermined information to predict whether said instruction specifies a bran
    Type: Application
    Filed: June 30, 2005
    Publication date: January 4, 2007
    Applicant: ARM Limited
    Inventors: Gilles Grandou, Phillipe Raphalen, Richard Grisenthwaite
  • Publication number: 20060224861
    Abstract: A data processing system is operable in a first state to use a first instruction set having a first instruction set encoding. The data processing system is also operable in a second state to use a second instruction set having a second instruction encoding. Conditional branch instructions provided within the two different instruction sets are arranged to use the same instruction encoding.
    Type: Application
    Filed: April 1, 2005
    Publication date: October 5, 2006
    Applicant: ARM Limited
    Inventors: Matthew Elwood, David Butcher, Richard Grisenthwaite
  • Publication number: 20060224866
    Abstract: Following execution of a subroutine, a return instruction is executed having an address as an input operand thereto. This input operand is compared with one or more predetermined values to detect a match and the return instruction response is selected in dependence upon whether or not a match is detected. Thus, the return address value can be used to invoke differing return instruction responses, such as an exception return response or a procedure return response. The one or more predetermined addresses may be conveniently allocated to the highest memory addresses within the memory map.
    Type: Application
    Filed: March 30, 2005
    Publication date: October 5, 2006
    Applicant: ARM Limited
    Inventors: Richard Grisenthwaite, Paul Kimelman, David Seal
  • Publication number: 20060149911
    Abstract: A data processor (100) has a memory operable to store data values; a memory protection unit (130) operable to associate memory attributes with portions of said memory and to identify a plurality of memory regions corresponding to respective address ranges of said memory. The memory protection unit is operable to associate with at least one of the plurality of memory regions (150) a respective memory region specifier comprising an attributes field (230) for defining a set of memory attributes associated with said memory region and a sub-region field (240) for holding a sub-region membership value. The sub-region membership value specifies, for each of a plurality of sub-regions of the memory region, whether respective sub-regions (160-1 to 160-8) are member sub-regions or non-member sub-regions such that said memory attributes are applied to said member sub-regions but are not applied to said non-member sub-regions.
    Type: Application
    Filed: January 4, 2005
    Publication date: July 6, 2006
    Applicant: ARM Limited
    Inventors: Paul Kimelman, Richard Grisenthwaite, David Seal
  • Publication number: 20060049264
    Abstract: Within an integrated circuit 2 independently controllable domains 4, 6, 8, 10, 12, 14 may be unable to complete pending transactions taking place between domains. Each domain is provided with a transaction level state machine 20, 22 which is responsive to the state of the state machine within the other domain and when this indicates that the other domain is not capable of communicating triggers default behaviour ensuring that the predetermined transaction protocol is not broken.
    Type: Application
    Filed: January 31, 2005
    Publication date: March 9, 2006
    Applicant: ARM LIMITED
    Inventors: Daryl Bradley, Richard Grisenthwaite, Sheldon Woodhouse
  • Publication number: 20050273543
    Abstract: A data processing system is provided with a bus having separate write channels W and read channels R via which bus transactions are made. Bus transaction buffers 34 are provided within the bus structure to buffer write requests, particularly so as to alleviate problems associated with relatively slow bus slaves. The bus transaction buffers 34 are responsive to the memory addresses associated with write requests and read requests which pass through them to identify those to the same memory address, or memory addresses within a predetermined range, so as to either ensure a strict correct ordering of those transactions, read to follow write, or to satisfy a read following a write with a buffered write data value and then flushing the read request such that it does not reach its final destination.
    Type: Application
    Filed: June 8, 2004
    Publication date: December 8, 2005
    Applicant: ARM LIMITED
    Inventors: Peter Middleton, David Gwilt, Ian Devereux, Bruce Mathewson, Antony Harris, Richard Grisenthwaite
  • Publication number: 20050268106
    Abstract: The present invention provides a data processing apparatus and method of controlling access to a shared resource. The data processing apparatus has a plurality of processors operable to perform respective data processing operations requiring access to the shared resource, and a path is provided interconnecting the plurality of processors. An access control mechanism is operable to control access to the shared resource by the plurality of processors, each processor being operable to enter a power saving mode if access to the shared resource is required but the access control mechanism is preventing access to the shared resource by that processor. Further, each processor is operable, when that processor has access to the shared resource, to issue a notification on the path when access to the shared resource is no longer required by that processor. A processor in the power saving mode is arranged, upon receipt of that notification, to exit the power saving mode and to seek access to the shared resource.
    Type: Application
    Filed: January 28, 2005
    Publication date: December 1, 2005
    Applicant: ARM LIMITED
    Inventors: David Mansell, Richard Grisenthwaite, Harry Thomas Fearnhamm, Jeremy Davies
  • Publication number: 20050268001
    Abstract: A data processing apparatus and method are provided for managing polling loops. The data processing apparatus comprises a main processing unit and a subsidiary processing unit operable to perform a task on behalf of the main processing unit. The subsidiary processing unit is operable to set a completion field when the task has been completed and the main processing unit is operable to poll the completion field in order to determine whether the task has been completed. If on polling the completion field a threshold number of times the main processing unit determines that the task has not been completed, the main processing unit is operable to enter a power saving mode. The subsidiary processing unit is operable, when the task has been completed, to cause a notification to be issued on a path interconnecting the main processing unit and the subsidiary processing unit. The main processing unit is arranged, upon receipt of the notification to exit the power saving mode.
    Type: Application
    Filed: January 11, 2005
    Publication date: December 1, 2005
    Applicant: ARM LIMITED
    Inventors: Paul Kimelman, Richard Grisenthwaite
  • Publication number: 20050246585
    Abstract: A data processing system 2 is described having a central processing unit 4 and a diagnostic mechanism 10. The central processing unit 4 is switchable into a power-down mode from which it may resume into a normal operation mode. When the central processing unit 4 resumes into the normal operation mode, execution of program instructions is inhibited by the diagnostic mechanism 10 to allow the diagnostic mechanism to be appropriately programmed such that the immediate power-up code and operations can be properly diagnosed. The requirement to prevent program instruction execution on power-up is programmed by writing to a latch 16 within the diagnostic mechanism 10 prior to the power-down. The prevention of program execution may be achieved, for example, by generation of a halt request or by extending the time period for which the central processing unit 4 is held in reset following power-up.
    Type: Application
    Filed: March 22, 2005
    Publication date: November 3, 2005
    Applicant: ARM Limited
    Inventors: Conrado Blasco Allue, Paul Kimelman, Andrew Swaine, Richard Grisenthwaite
  • Publication number: 20050228929
    Abstract: A bridge circuit and method of transferring data is disclosed. The bridge circuit comprises a first interface circuit operable to receive data from a data source at a first data rate; a second interface circuit operable to transmit said data to a data receiver at a second data rate; a data coupling circuit comprising: a synchronous coupling circuit operable to pass said data synchronously between said first interface circuit and said second interface circuit; and an asynchronous coupling circuit operable to pass said data asynchronously between said first interface circuit and said second interface circuit. The bridge circuit further comprises control logic responsive to a synchronous transfer request signal indicating that either said first data rate is an integer multiple of said second data rate or said second data rate is an integer multiple of said first data rate to cause data to be passed by said synchronous coupling circuit once any data within said asynchronous coupling circuit has been emptied.
    Type: Application
    Filed: April 2, 2004
    Publication date: October 13, 2005
    Applicant: ARM LIMITED
    Inventors: Antony Penton, Richard Grisenthwaite
  • Publication number: 20050223130
    Abstract: A data processor core 10 comprising a memory access interface portion 30 operable to perform data transfer operations between an external data source and at least one memory associated with said data processor core and a data processing portion 12 operable to perform further data processing operations in response to receipt of said processor clock signal CLK. The two portions of the core being operable to be independently enabled such that one portion may be active while the other is inactive.
    Type: Application
    Filed: April 2, 2004
    Publication date: October 6, 2005
    Applicant: ARM LIMITED
    Inventors: Tan Tran, Richard Grisenthwaite, Gerard Williams
  • Publication number: 20050210333
    Abstract: A system-on-chip integrated circuit 2 is provided with multiple data processing circuits 4, 6, 8 each with an associated diagnostic interface circuit 16, 18, 20 connected via a diagnostic transaction bus 14 to a diagnostic transaction master circuit 12. The diagnostic master transaction circuit 12 issues diagnostic transaction requests to the diagnostic interface circuits 16, 18, 20. If the associated data processing circuits 4, 6, 8 are powered-down, or otherwise non responsive, then the diagnostic interface circuit 16, 18, 20 returns a diagnostic bus transaction error signal to the diagnostic transaction master circuit 12. A sticky-bit latch 30 within each diagnostic interface circuit 16, 18, 20 serves to record a power-down event and force generation of the diagnostic bus transaction error signal until that sticky bit is cleared by the diagnostic mechanisms.
    Type: Application
    Filed: March 16, 2004
    Publication date: September 22, 2005
    Applicant: ARM LIMITED
    Inventors: Conrado Allue, Paul Kimelman, Andrew Swaine, Richard Grisenthwaite
  • Publication number: 20050210328
    Abstract: A data processing system 2 is described having a central processing unit 4 and a diagnostic mechanism 10. The central processing unit 4 is switchable into a power-down mode from which it may resume into a normal operation mode. When the central processing unit 4 resumes into the normal operation mode, execution of program instructions is inhibited by the diagnostic mechanism 10 to allow the diagnostic mechanism to be appropriately programmed such that the immediate power-up code and operations can be properly diagnosed. The requirement to prevent program instruction execution on power-up is programmed by writing to a latch 16 within the diagnostic mechanism 10 prior to the power-down. The prevention of program execution may be achieved, for example, by generation of a halt request or by extending the time period for which the central processing unit 4 is held in reset following power-up.
    Type: Application
    Filed: March 16, 2004
    Publication date: September 22, 2005
    Applicant: ARM LIMITED
    Inventors: Conrado Allue, Paul Kimelman, Andrew Swaine, Richard Grisenthwaite
  • Publication number: 20050177667
    Abstract: A data processing system 2 having a nested interrupt controller 24 supports nested active interrupts. The priority levels associated with different interrupts are alterable (possibly programmable) whilst the system is running. In order to prevent problems associated with priority inversions within nested interrupts, the nested interrupt controller when considering whether a pending interrupt should pre-empt existing active interrupts, compares the priority of the pending interrupt with the highest priority of any of the currently active interrupts that are nested together.
    Type: Application
    Filed: February 11, 2004
    Publication date: August 11, 2005
    Applicant: ARM LIMITED
    Inventors: Paul Kimelman, Ian Field, Richard Grisenthwaite
  • Patent number: 5978908
    Abstract: A computer instruction supply system has store and fetch circuitry for obtaining a sequence of instructions, test circuitry for locating the first instruction in the sequence to be enabled, and for testing separately successive instructions in the sequence to locate any branch instruction which is predicted to be taken and control circuitry to disregard target addresses of branch instructions in the sequence prior to the first instruction to be executed.
    Type: Grant
    Filed: October 23, 1996
    Date of Patent: November 2, 1999
    Assignee: SGS-Thomson Microelectronics Ltd.
    Inventors: Peter Cumming, Richard Grisenthwaite