Patents by Inventor Simon John Craske

Simon John Craske 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: 20170031685
    Abstract: An apparatus comprises processing circuitry for processing program instructions according to a predetermined architecture defining a number of architectural registers accessible in response to the program instructions. A set of hardware registers is provided in hardware. A storage capacity of the set of hardware registers is insufficient for storing all the data associated with the architectural registers of the pre-determined architecture. Control circuitry is responsive to the program instructions to transfer data between the hardware registers and at least one register emulating memory location in memory for storing data corresponding to the architectural registers of the architecture.
    Type: Application
    Filed: July 29, 2016
    Publication date: February 2, 2017
    Inventor: Simon John CRASKE
  • Patent number: 9547596
    Abstract: A data processing apparatus forms a portion of a coherent cache system and has a master device for performing data processing operations including a wait for event operation causing the master device to enter a power saving mode. A cache stores data values for access by the master device when performing the data processing operations. Coherency handling circuitry is responsive to a coherency request from another portion of the coherent cache system, to detect whether a data value identified by the coherency request is present in the cache, and if so, to cause a coherency action to be taken in respect of that data value stored in the cache. Wake event circuitry issues a wake event to the master device if the coherency action is taken, and the master device exits the power saving mode.
    Type: Grant
    Filed: December 24, 2009
    Date of Patent: January 17, 2017
    Assignee: ARM Limited
    Inventor: Simon John Craske
  • Publication number: 20160371501
    Abstract: A data processing apparatus comprises a processing element having associated memory storage and one or more registers, the processing element being configured to perform processing activities in two or more security modes so as to inhibit a processing activity performed in one of the security modes from accessing at least some information associated with a processing activity performed in another of the security modes; in which the processing element is configured, in response to a function call causing a branch from a processing activity in a first security mode to a processing activity in a second security mode, to store the contents of one or more of the registers in the memory storage and, in response to a branch return to the first security mode, to retrieve the register contents from the memory storage; and trace apparatus configured to generate items of trace data indicative of processing activities of the processing element; in which the trace apparatus is configured to detect a branch return operatio
    Type: Application
    Filed: June 22, 2016
    Publication date: December 22, 2016
    Inventors: John Michael HORLEY, Michael John WILLIAMS, Simon John CRASKE, Uma Maheswari RAMALINGAM
  • Publication number: 20160357561
    Abstract: A processing pipeline may have first and second execution circuits having different performance or energy consumption characteristics. Instruction supply circuitry may support different instruction supply schemes with different energy consumption or performance characteristics. This can allow a further trade-off between performance and energy efficiency. Architectural state storage can be shared between the execute units to reduce the overhead of switching between the units. In a parallel execution mode, groups of instructions can be executed on both execute units in parallel.
    Type: Application
    Filed: April 13, 2016
    Publication date: December 8, 2016
    Inventors: Peter Richard GREENHALGH, Simon John CRASKE, Ian Michael CAULFIELD, Max John BATLEY, Allan John SKILLMAN, Antony John PENTON
  • Publication number: 20160357554
    Abstract: An apparatus comprises a processing pipeline comprising out-of-order execution circuitry and second execution circuitry. Control circuitry monitors at least one reordering metric indicative of an extent to which instructions are executed out of order by the out-of-order execution circuitry, and controls whether instructions are executed using the out-of-order execution circuitry or the second execution circuitry based on the reordering metric. A speculation metric indicative of a fraction of executed instructions that are flushed due to a mis-speculation can also be used to determine whether to execute instructions on first or second execution circuitry having different performance or energy consumption characteristics.
    Type: Application
    Filed: June 5, 2015
    Publication date: December 8, 2016
    Inventors: Ian Michael CAULFIELD, Peter Richard GREENHALGH, Simon John CRASKE, Max John BATLEY, Allan John SKILLMAN, Antony John PENTON
  • Publication number: 20160357565
    Abstract: Apparatus for processing data 2 is provided with fetch circuitry 16 for fetching program instructions for execution from one or more active threads of instructions having respective program counter values. Pipeline circuitry 22, 24 has a first operating mode and a second operating mode. Mode switching circuitry 30 switches the pipeline circuitry 22, 24, between the first operating mode and the second operating mode in dependence upon a number of active threads of program instructions having program instructions available to be executed. The first operating mode has a lower average energy consumption per instruction executed than the second operating mode and the second operating mode has a higher average rate of instruction execution for a single thread than the first operating mode. The first operating mode may utilise a barrel processing pipeline 22 to perform interleaved multiple thread processing.
    Type: Application
    Filed: April 20, 2016
    Publication date: December 8, 2016
    Inventors: Peter Richard GREENHALGH, Simon John CRASKE, Ian Michael CAULFIELD, Max John BATLEY, Allan John SKILLMAN, Antony John PENTON
  • Patent number: 9501667
    Abstract: A data processing apparatus supports operation in both a secure domain and a less secure domain. The secure domain has access to data that is not accessible when operating the less secure domain. Prediction circuitry generates a domain prediction indicating whether a given processing action (such as a memory access) is to be performed in association with the secure domain or with the less secure domain. In this way, an appropriate set of memory permission data for controlling access by different privilege levels in the domains may be selected and applied by an appropriate memory protection unit. If the domain prediction is incorrect, then the processing is stalled and the given processing action retried.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: November 22, 2016
    Assignee: ARM Limited
    Inventors: Simon John Craske, Thomas Christopher Grocutt
  • Publication number: 20160292021
    Abstract: In an apparatus performing multi-threaded data processing event handling circuitry receives event information from the data processing circuitry indicative of an event which has occurred during the data processing operations. Visibility configuration storage holds a set of visibility configuration values, each visibility configuration value associated with a thread of the multiple threads and the event handling circuitry adapts its use of the event information to restrict visibility of the event information for software of threads other than the thread which generated the event information when a visibility configuration value for the thread which generated the event information has a predetermined value. This allows multi-threaded event monitoring to be supported, whilst protecting event information from a particular thread for which it is desired to limit its visibility to software of other threads.
    Type: Application
    Filed: March 10, 2016
    Publication date: October 6, 2016
    Inventors: Michael John WILLIAMS, Simon John CRASKE
  • Patent number: 9430421
    Abstract: An interrupt controller includes a priority level arbitrator (8) including multiple stages. The stages include at least one stage comprising a plurality of interrupt selectors formed of a multiplexer (14) for selecting between a pair of potentially concurrently asserted interrupt signals in dependence upon selection data. The selection data is determined in advance by a priority level comparator (12) using priority level data associated with the respective interrupt signals.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: August 30, 2016
    Assignee: ARM Limited
    Inventors: Simon John Craske, Michael Alexander Kennedy, Andrew John Turner, Richard Anthony Lane
  • Publication number: 20160239405
    Abstract: A data processing apparatus is provided comprising data processing circuitry and debug circuitry. The debug circuitry controls operation of the processing circuitry when operating in a debug mode. The data processing circuitry determines upon entry into a debug mode a current operating state of the data processing apparatus. The data processing circuitry allocates one of a plurality of instruction sets to be used as a debug instruction set depending upon the determined current operating state.
    Type: Application
    Filed: April 28, 2016
    Publication date: August 18, 2016
    Inventors: Michael John WILLIAMS, Richard Roy GRISENTHWAITE, Simon John CRASKE
  • Publication number: 20160210465
    Abstract: A data processing apparatus (2) has processing circuitry (4) for executing first software (12) at a first privilege level EL1 and second software (10) at a second privilege level EL2 higher than the first privilege level. Attributes may be set by the first and second software (10, 12) to indicate whether execution of the data access instruction can be interrupted. For a predetermined type of data access instruction for which the second attribute set by the second software (10) specifies that the instruction can be interrupted, the instruction may be set as interruptable even if the first attribute set by the first software (12) specifies that the execution of the instruction cannot be interrupted.
    Type: Application
    Filed: July 15, 2014
    Publication date: July 21, 2016
    Inventors: Simon John CRASKE, Antony John PENTON
  • Publication number: 20160202977
    Abstract: The execution of time intensive instructions can lead to critical events being responded to late or not being responded to at all. An information processing apparatus comprises processing circuitry (60) for executing instructions comprising one or more time intensive instructions and exception generating circuitry (100) for generating at least one exception for the processing circuitry. The processing circuitry maintains a control value (20) for indicating whether or not the time intensive instructions can be executed. When a time intensive instruction is encountered, if the control value indicates that time intensive instructions cannot be executed then a first exception triggers the processing circuitry to suppress execution of the time intensive instruction. Alternatively, if the control value indicates that time intensive instructions can be executed, then the time intensive instruction is executed.
    Type: Application
    Filed: July 7, 2014
    Publication date: July 14, 2016
    Inventors: Simon John CRASKE, Antony John PENTON
  • Patent number: 9383999
    Abstract: An instruction decoder (14) is responsive to a conditional compare instruction to generate control signals for controlling processing circuitry (4) to perform a conditional compare operation. The conditional compare operation comprises: (i) if a current condition state of the processing circuitry (4) passes a test condition, then performing a compare operation on a first operand and a second operand and setting the current condition state to a result condition state generated during the compare operation; and (ii) if the current condition state fails the test condition, then setting the current condition state to a fail condition state specified by the conditional compare instruction. The conditional compare instruction can be used to represent chained sequences of comparison operations where each individual comparison operation may test a different kind of relation between a pair of operands.
    Type: Grant
    Filed: April 12, 2011
    Date of Patent: July 5, 2016
    Assignee: ARM Limited
    Inventors: David James Seal, Simon John Craske
  • Publication number: 20160154586
    Abstract: Memory management is provided within a data processing system 2 which includes a memory protection unit 8 and defines memory regions within the memory address space which extend between base addresses and limit addresses and have respective attributes associated therewith. When a hit occurs within a memory region which is a valid hit, then block data is generated comprising a mask value and a TAG value (derived from the original query address) which may then be used to identify subsequent hits within at least a portion of that region using a bitwise AND. In another embodiment a micro-translation lookaside buffer is reused by the memory protection unit to store page data identifying pages which fall validly within memory regions and may be used to return attribute data for those pages upon subsequent accesses rather than performing the comparison with the base address and the limit addresses.
    Type: Application
    Filed: October 29, 2015
    Publication date: June 2, 2016
    Inventor: Simon John CRASKE
  • Publication number: 20160154654
    Abstract: Apparatus for data processing and a method of data processing are provided. Data processing operations are performed in response to data processing instructions. An error exception condition is set if a data processing operation has not been successful. It is determined if an error memory barrier condition exists and an error memory barrier procedure is performed in dependence on whether the error memory barrier condition exists. The error memory barrier procedure comprises, if the error exception condition is set and if an error mask condition is set: setting a deferred error exception condition and clearing the error exception condition.
    Type: Application
    Filed: November 25, 2015
    Publication date: June 2, 2016
    Inventors: Michael John WILLIAMS, Richard Roy GRISENTHWAITE, Simon John CRASKE
  • Patent number: 9355014
    Abstract: A data processing apparatus is provided comprising data processing circuitry and debug circuitry. The debug circuitry controls operation of the processing circuitry when operating in a debug mode. The data processing circuitry determines upon entry into a debug mode a current operating state of the data processing apparatus. The data processing circuitry allocates one of a plurality of instruction sets to be used as a debug instruction set depending upon the determined current operating state.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: May 31, 2016
    Assignee: ARM Limited
    Inventors: Michael John Williams, Richard Roy Grisenthwaite, Simon John Craske
  • Publication number: 20160139922
    Abstract: Apparatus for data processing and a method of data processing are provided, according to which the processing circuitry of the apparatus can access a memory system and execute data processing instructions in one context of multiple contexts which it supports. When the processing circuitry executes a barrier instruction, the resulting access ordering constraint may be limited to being enforced for accesses which have been initiated by the processing circuitry when operating in an identified context, which may for example be the context in which the barrier instruction has been executed. This provides a separation between the operation of the processing circuitry in its multiple possible contexts and in particular avoids delays in the completion of the access ordering constraint, for example relating to accesses to high latency regions of memory, from affecting the timing sensitivities of other contexts.
    Type: Application
    Filed: November 3, 2015
    Publication date: May 19, 2016
    Inventors: Simon John CRASKE, Alexander Alfred Hornung, Max John BATLEY, Kauser Yakub JOHAR
  • Publication number: 20160070630
    Abstract: A data processing apparatus has a debug state in which processing circuitry 105 executes instructions received from the debug interface 115. Control changing circuitry 135 prohibits the execution of instructions in a predefined privilege mode when in the debug state if a control parameter has a predefined value. In response to a first exception being signalled while in the debug state, where the first exception is intended to be handled at the predefined privilege mode, and further in response to the control parameter having the predefined value, signalling circuitry 115 signals a second exception to be handled at a different privilege mode from the predefined privilege mode and sets information identifying a type of the first exception. Consequently, without having to enter the prohibited (predefined) privilege mode, the debugger 110 can be made aware of the first exception that would ordinarily be handled at the predefined, i.e. prohibited privilege mode.
    Type: Application
    Filed: August 12, 2015
    Publication date: March 10, 2016
    Inventors: Michael John WILLIAMS, Simon John CRASKE
  • Publication number: 20160063242
    Abstract: A data processing apparatus includes processing circuitry and a data store including a plurality of regions including a secure region and a less secure region. The secure region is configured to store sensitive data accessible by the circuitry when operating in a secure domain and not accessible by the circuitry when operating in a less secure domain. The data store includes a plurality of stacks with a secure stack in the secure region. Stack access circuitry is configured to store predetermined processing state to the secure stack. The processing circuitry further comprises fault checking circuitry configured to identify a first fault condition if the data stored in the predetermined relative location is the first value. This provides protection against attacks from the less secure domain, for example performing a function call return from an exception, or an exception return from a function call.
    Type: Application
    Filed: November 9, 2015
    Publication date: March 3, 2016
    Inventors: Thomas Christopher GROCUTT, Richard Roy GRISENTHWAITE, Simon John CRASKE
  • Publication number: 20160048423
    Abstract: Transmission control checking circuitry adds control check data to a transaction response which is received at a transaction master and compared with expected data at the transaction master. The expected data having control check data may be a unique transaction identifier. The transaction master generated the unique transaction identifier when it generated the transaction request and will check that the transaction responses include that unique transaction identifier. In this way, errors in the control of transmission of transactions (e.g., misrouting) may be detected.
    Type: Application
    Filed: July 8, 2015
    Publication date: February 18, 2016
    Inventors: Michael WILLIAMS, Simon John CRASKE, Loïc PIERRON