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

  • Patent number: 10552156
    Abstract: Processing circuitry for performing data processing operations includes issue control circuitry to control issue of the processing operations. Validity marking circuitry marks when input operands are valid and available within an issue queue, and is responsive to a first input operand of the plurality of input operands having a predetermined value to mark a second input operand of the plurality of input operands as meeting its validity condition (i.e. it is possible to determine from the first input operand that the result of the processing operation concerned will be independent of the value of the second input operand and accordingly there is no need to wait for it to actually be available). In order to resolve ordering constraint problems which may be associated with the use of the early valid marking technique separate ordering valid flags may be provided and monitored in respect of at least order-constrained processing operations.
    Type: Grant
    Filed: April 26, 2017
    Date of Patent: February 4, 2020
    Assignee: ARM Limited
    Inventor: Simon John Craske
  • Patent number: 10503932
    Abstract: A data processing apparatus is provided which uses flag circuitry (174) to set an access tracking flag (SFPA) to a first value when the processing circuitry (154) enters a secure mode in association with a function call and to switch the access tracking flag to a second value upon detection of a first access of at least one type to predetermined state data, such as floating point register data, by processing circuitry operating in the secure mode in association with that function call. This access tracking flag may then be used in association with a lazy-protection program instruction (VLSTM) and a lazy-load program instruction (VLLDM) to control whether or not push operations of the state data and restore operations of the state data are performed in order to prevent access in the non-secure mode to that state data.
    Type: Grant
    Filed: May 26, 2016
    Date of Patent: December 10, 2019
    Assignee: ARM Limited
    Inventors: Thomas Christopher Grocutt, Simon John Craske
  • Patent number: 10503512
    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: Grant
    Filed: November 3, 2015
    Date of Patent: December 10, 2019
    Assignee: ARM Limited
    Inventors: Simon John Craske, Alexander Alfred Hornung, Max John Batley, Kauser Yakub Johar
  • Publication number: 20190286831
    Abstract: A data processing apparatus has processing circuitry for executing first software at a first privilege level and second software at a second privilege level higher than the first privilege level. Attributes may be set by the first and second software 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 specifies that the instruction can be interrupted, the instruction may be set as interruptable even if the first attribute set by the first software specifies that the execution of the instruction cannot be interrupted.
    Type: Application
    Filed: June 6, 2019
    Publication date: September 19, 2019
    Inventors: Simon John Craske, Antony John Penton
  • Patent number: 10409721
    Abstract: Comparator circuitry comprises carry-save-addition (CSA) circuitry to generate a set of partial sum bits and a set of carry bits in respect of corresponding bit positions in a first input value, a second input value, a carry-in value associated with the first and second input values, and a third input value, the CSA circuitry comprising inverter circuitry to provide a relative inversion between the third input value and the group consisting of the first and second input values; and combiner circuitry to combine the set of partial sum bits, the set of carry bits offset by a predetermined number of bits in a more significant bit direction, the carry-in value and 1, to generate at least a carry output bit; in which the carry output bit is indicative of whether the third input value is greater than the sum of the first and second input values.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: September 10, 2019
    Assignee: ARM LIMITED
    Inventor: Simon John Craske
  • Patent number: 10402203
    Abstract: An apparatus comprises prediction circuitry (40, 100, 80) for determining, based on current prediction policy information (43, 82, 104), a predicted behavior to be used for processing instructions. The current prediction policy information is updated based on an outcome of processing of instructions. A storage structure (50) stores at least one entry identifying previous prediction policy information (60) for a corresponding block of instructions. In response to an instruction from a block having a corresponding entry in the storage structure (50) which identifies the previous prediction policy information (60), the current prediction policy information (43, 82, 104) can be reset based on the previous prediction policy information 60 identified in the corresponding entry of the storage structure (50).
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: September 3, 2019
    Assignee: ARM Limited
    Inventors: Max John Batley, Simon John Craske, Ian Michael Caulfield, Peter Richard Greenhalgh, Allan John Skillman, Antony John Penton
  • Patent number: 10394641
    Abstract: An apparatus and method are described for handling memory access operations, and in particular for handling faults occurring during the processing of such memory access operations. The apparatus has processing circuitry for executing program instructions that include memory access instructions, and a memory interface for coupling the processing circuitry to a memory system. The processing circuitry is switchable between a synchronous fault handling mode and an asynchronous fault handling mode. When in the synchronous fault handling mode the processing circuitry applies a constraint on execution of the program instructions such that a fault resulting from a memory access operation processed by the memory system will be received by the memory interface before the processing circuitry has allowed program execution to proceed beyond a recovery point for the memory access instruction associated with the memory access operation.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: August 27, 2019
    Assignee: ARM Limited
    Inventor: Simon John Craske
  • Patent number: 10379989
    Abstract: A processing circuit is responsive to at least one conditional instruction to perform a conditional operation in dependence on a current value of a subset of at least one condition flag. A trace circuit is provided for generating trace data elements indicative of operations performed by the processing circuit. When the processing circuit 4 processes at least one selected instruction, then the trace circuit generates a trace data element including a traced condition value indicating at least the subset of condition flags required to determine the outcome of the conditional instruction. A corresponding diagnostic apparatus uses the traced condition value to determine a processing outcome of the at least one conditional instruction.
    Type: Grant
    Filed: August 16, 2013
    Date of Patent: August 13, 2019
    Assignee: ARM Limited
    Inventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson
  • Patent number: 10354092
    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: Grant
    Filed: July 15, 2014
    Date of Patent: July 16, 2019
    Assignee: ARM Limited
    Inventors: Simon John Craske, Antony John Penton
  • Patent number: 10318407
    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: April 28, 2016
    Date of Patent: June 11, 2019
    Assignee: ARM Limited
    Inventors: Michael John Williams, Richard Roy Grisenthwaite, Simon John Craske
  • Publication number: 20190095209
    Abstract: A data processing system provides a loop-end instruction for use at the end of a program loop body specifying an address of a beginning instruction of said program loop body. Loop control circuitry (1000) serves to control repeated execution of the program loop body upon second and subsequent passes through the program loop body using loop control data provided by the loop-end instruction without requiring the loop-end instruction to be explicitly executed upon each pass.
    Type: Application
    Filed: March 21, 2017
    Publication date: March 28, 2019
    Inventors: Alasdair GRANT, Thomas Christopher GROCUTT, Simon John CRASKE
  • Publication number: 20190079770
    Abstract: A data processing system provides a branch forward instruction (BF) which has programmable parameters specifying a branch target address to be branched to and a branch point identifying a program instruction following the branch forward instruction which, when reached, is followed by a branch to the branch target address.
    Type: Application
    Filed: March 21, 2017
    Publication date: March 14, 2019
    Inventors: Thomas Christopher GROCUTT, Richard Roy GRISENTHWAITE, Simon John CRASKE, François Christopher Jacques BOTMAN, Bradley John SMITH
  • Publication number: 20190057092
    Abstract: An apparatus comprises: selection circuitry to select the two most preferred items from a set of items having ranking information indicative of an order of preference for the set of items. The selection circuitry comprises at least one selection node circuit, each selection node circuit to receive as inputs an indication of a first pair of items and a second pair of items among the set of items, and comprises first selection circuitry and second selection circuitry. The first selection circuitry to first selection circuitry to select as a first selected item a most preferred one of: a most preferred ranked item of the first pair, and a least preferred item of the second pair. The second selection circuitry to select as a second selected item a most preferred one of: a least preferred item of the first pair, and a most preferred item of the second pair.
    Type: Application
    Filed: August 16, 2017
    Publication date: February 21, 2019
    Inventor: Simon John CRASKE
  • Publication number: 20180373898
    Abstract: A data processing apparatus is provided which uses flag circuitry (174) to set an access tracking flag (SFPA) to a first value when the processing circuitry (154) enters a secure mode in association with a function call and to switch the access tracking flag to a second value upon detection of a first access of at least one type to predetermined state data, such as floating point register data, by processing circuitry operating in the secure mode in association with that function call. This access tracking flag may then be used in association with a lazy-protection program instruction (VLSTM) and a lazy-load program instruction (VLLDM) to control whether or not push operations of the state data and restore operations of the state data are performed in order to prevent access in the non-secure mode to that state data.
    Type: Application
    Filed: May 26, 2016
    Publication date: December 27, 2018
    Inventors: Thomas Christopher GROCUTT, Simon John CRASKE
  • Publication number: 20180373630
    Abstract: An apparatus (2) has first processing circuitry (6) and second processing circuitry (4). The second processing circuitry 4 has at least one hardware mechanism (10), (30) providing a greater level of fault protection or fault detection than is provided for the first processing circuitry (6). Coherency control circuitry (45, 80, 82) controls access to data from at least part of a shared address space by the first and second processing circuitry (6, 4) according to an asymmetric coherency protocol in which a local-only update of data in a local cache (8) of the first processing circuitry (6) is restricted in comparison to a local-only update of data in a local cache (8) of the second processing circuitry (4).
    Type: Application
    Filed: September 14, 2016
    Publication date: December 27, 2018
    Inventors: Antony John PENTON, Simon John CRASKE
  • Patent number: 10140476
    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: Grant
    Filed: June 22, 2016
    Date of Patent: November 27, 2018
    Assignee: ARM Limited
    Inventors: John Michael Horley, Michael John Williams, Simon John Craske, Uma Maheswari Ramalingam
  • Publication number: 20180314527
    Abstract: Processing circuitry 2 for performing data processing operations includes issue control circuitry to control issue of the processing operations. Validity marking circuitry 22 marks when input operands are valid and available within an issue queue 8, 10, 12. The validity marking circuitry is responsive to a first input operand of the plurality of input operands having a predetermined value to mark a second input operand of the plurality of input operands as meeting its validity condition (i.e. it is possible to determine from the first input operand that the result of the processing operation concerned will be independent of the value of the second input operand and accordingly there is no need to wait for it to actually be available).
    Type: Application
    Filed: April 26, 2017
    Publication date: November 1, 2018
    Inventor: Simon John CRASKE
  • Patent number: 10102160
    Abstract: A data processing system includes an interrupt controller having a priority level arbitrator and trigger circuitry. The priority level arbitrator and the trigger circuitry operate in parallel to process interrupt signals received by an interrupt signal receiver. The trigger circuitry generates a trigger signal initiating interrupt processing before the priority level arbitrator has completed its arbitration determination at an arbitration-completed time. If the interrupt processing triggered by the trigger signal was inappropriate, then is terminated once the result of the arbitration is known after the arbitration-completed time.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: October 16, 2018
    Assignee: ARM LIMITED
    Inventors: Michael Kennedy, Simon John Craske, Andrew Turner, Richard Anthony Lane
  • Publication number: 20180293122
    Abstract: An apparatus and method are described for handling memory access operations, and in particular for handling faults occurring during the processing of such memory access operations. The apparatus has processing circuitry for executing program instructions that include memory access instructions, and a memory interface for coupling the processing circuitry to a memory system. The processing circuitry is switchable between a synchronous fault handling mode and an asynchronous fault handling mode. When in the synchronous fault handling mode the processing circuitry applies a constraint on execution of the program instructions such that a fault resulting from a memory access operation processed by the memory system will be received by the memory interface before the processing circuitry has allowed program execution to proceed beyond a recovery point for the memory access instruction associated with the memory access operation.
    Type: Application
    Filed: April 10, 2017
    Publication date: October 11, 2018
    Inventor: Simon John Craske
  • Patent number: 10073620
    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: Grant
    Filed: October 29, 2015
    Date of Patent: September 11, 2018
    Assignee: ARM Limited
    Inventor: Simon John Craske