Patents by Inventor Michael John Gibbs

Michael John Gibbs 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: 11561882
    Abstract: An apparatus and method are provided for generating and processing a trace stream indicative of instruction execution by processing circuitry. An apparatus has an input interface for receiving instruction execution information from the processing circuitry indicative of a sequence of instructions executed by the processing circuitry, and trace generation circuitry for generating from the instruction execution information a trace stream comprising a plurality of trace elements indicative of execution by the processing circuitry of instruction flow changing instructions within the sequence.
    Type: Grant
    Filed: August 9, 2017
    Date of Patent: January 24, 2023
    Assignee: Arm Limited
    Inventors: François Christopher Jacques Botman, Thomas Christopher Grocutt, John Michael Horley, Michael John Williams, Michael John Gibbs
  • Patent number: 11068270
    Abstract: An apparatus has an input interface for receiving instruction execution information from processing circuitry, and trace generation circuitry for generating from the instruction execution information a trace stream. The instruction sequence from the processing circuitry includes at least one branch-future instruction that effectively turns an instruction identified by the branch-future instruction into a branch, and in particular causes the processing circuitry to branch to a target address identified by the branch-future instruction when that identified instruction is encountered within the instruction sequence.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: July 20, 2021
    Assignee: ARM LIMITED
    Inventors: Michael John Gibbs, John Michael Horley
  • Patent number: 11048609
    Abstract: A trace module has monitoring circuitry for monitoring processing of instructions by processing circuitry, and trace output circuitry for outputting a sequence of elements indicative of outcomes of the processing of instructions by the processing circuitry. The trace module supports output of a commit window move element indicating that a commit window, representing a portion of the trace stream comprising at least one speculative element representing at least one speculatively executed instruction, should move while the oldest remaining speculative element of the trace stream remains uncommitted. This can be useful for tracing of transactional memory functionality within program code.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: June 29, 2021
    Assignee: Arm Limited
    Inventor: Michael John Gibbs
  • Publication number: 20200264963
    Abstract: A trace module has monitoring circuitry for monitoring processing of instructions by processing circuitry, and trace output circuitry for outputting a sequence of elements indicative of outcomes of the processing of instructions by the processing circuitry. The trace module supports output of a commit window move element indicating that a commit window, representing a portion of the trace stream comprising at least one speculative element representing at least one speculatively executed instruction, should move while the oldest remaining speculative element of the trace stream remains uncommitted. This can be useful for tracing of transactional memory functionality within program code.
    Type: Application
    Filed: December 10, 2018
    Publication date: August 20, 2020
    Inventor: Michael John GIBBS
  • Patent number: 10540309
    Abstract: An apparatus for combining trace data from a plurality of trace sources has an input interface to receive the trace data, and an output interface to output a trace stream. A network of interconnected funnel elements combines the trace data to produce the trace stream. Each funnel element has an output port and a plurality of input ports arranged to receive trace data either from one of the trace sources, or from an output port of another funnel element in the network, and associated control circuitry to control connection of the input ports to the output port. The control circuitry determines control data indicative of a number of trace sources whose trace data is to be routed through each of the input ports of said funnel element, and controls the timing allocation of the associated funnel element's output port to each input port in dependence on the control data.
    Type: Grant
    Filed: April 5, 2017
    Date of Patent: January 21, 2020
    Assignee: ARM Limited
    Inventor: Michael John Gibbs
  • Publication number: 20190370149
    Abstract: An apparatus and method are provided for generating and processing a trace stream indicative of instruction execution by processing circuitry. An apparatus has an input interface for receiving instruction execution information from the processing circuitry indicative of a sequence of instructions executed by the processing circuitry, and trace generation circuitry for generating from the instruction execution information a trace stream comprising a plurality of trace elements indicative of execution by the processing circuitry of instruction flow changing instructions within the sequence.
    Type: Application
    Filed: August 9, 2017
    Publication date: December 5, 2019
    Inventors: François Christopher Jacques BOTMAN, Thomas Christopher GROCUTT, John Michael HORLEY, Michael John WILLIAMS, Michael John GIBBS
  • 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
  • Publication number: 20190179642
    Abstract: An apparatus and method are provided for generating and processing a trace stream indicative of instruction execution by processing circuitry. An apparatus has an input interface for receiving instruction execution information from processing circuitry indicative of a sequence of instructions executed by the processing circuitry, and trace generation circuitry for generating from the instruction execution information a trace stream comprising a plurality of trace elements indicative of execution by the processing circuitry of predetermined instructions within the sequence. The instruction sequence includes at least one branch-future instruction that effectively turns an instruction identified by the branch-future instruction into a branch, and in particular causes the processing circuitry to branch to a target address identified by the branch-future instruction when that identified instruction is encountered within the instruction sequence.
    Type: Application
    Filed: September 13, 2016
    Publication date: June 13, 2019
    Inventors: Michael John GIBBS, John Michael HORLEY
  • Publication number: 20170308491
    Abstract: An apparatus and method are provided for combining trace data from a plurality of trace sources. The apparatus has an input interface to receive trace data from the plurality of trace sources, and an output interface from which to issue a trace stream incorporating the trace data from each of those trace sources. A network of interconnected funnel elements is used to combine the trace data received at the input interface from the plurality of trace sources in order to produce the trace stream. Each funnel element has a plurality of input ports and an output port, and has associated control circuitry to control connection of the input ports to the output port. Each input port is arranged to receive either trace data from one of the trace sources, or trace data output from an output port of another funnel element in the network.
    Type: Application
    Filed: April 5, 2017
    Publication date: October 26, 2017
    Inventor: Michael John GIBBS
  • Patent number: 9378113
    Abstract: A trace unit, diagnostic apparatus and data processing apparatus are provided for tracing of conditional instructions. The data processing apparatus generates instruction observed indicators indicating execution of conditional instructions and result output indicators indicating output by the data processing apparatus of results of executing respective conditional instructions. The instruction observed indicators and result output indicators are received by a trace unit that is configured to output conditional instruction trace data items and independently output conditional result trace data items enabling separate trace analysis of conditional instructions and corresponding conditional results by a diagnostic apparatus. The instruction observed indicator is received at the trace unit in a first processing cycle of the data processing apparatus while result output indicator is received at in a second different processing cycle.
    Type: Grant
    Filed: December 12, 2013
    Date of Patent: June 28, 2016
    Assignee: ARM Limited
    Inventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
  • Patent number: 9348688
    Abstract: A data processing apparatus is provided with trace circuitry for generating a plurality of trace streams including an instruction trace stream 10 and a data trace stream 12. The instruction elements within the instruction trace stream and the data elements within the data trace stream are marked with key values KV such that a match may be made between data elements and corresponding instruction elements. When predetermined conditions are met, synchronization markers 66 are inserted in both the instruction trace stream 10 and the data trace stream 12 in order to permit a precise correlation to be made between the instruction elements and the data elements when the data is subsequently analyzed.
    Type: Grant
    Filed: February 20, 2014
    Date of Patent: May 24, 2016
    Assignee: ARM Limited
    Inventors: John Michael Horley, Paul Anthony Gilkerson, Michael John Gibbs
  • Patent number: 8874975
    Abstract: A trace unit, diagnostic apparatus and data processing apparatus are provided for tracing of conditional instructions. The data processing apparatus generates instruction observed indicators indicating execution of conditional instructions and result output indicators indicating output by the data processing apparatus of results of executing respective conditional instructions. The instruction observed indicators and result output indicators are received by a trace unit that is configured to output conditional instruction trace data items and independently output conditional result trace data items enabling separate trace analysis of conditional instructions and corresponding conditional results by a diagnostic apparatus. The instruction observed indicator is received at the trace unit in a first processing cycle of the data processing apparatus while result output indicator is received at in a second different processing cycle.
    Type: Grant
    Filed: October 13, 2011
    Date of Patent: October 28, 2014
    Assignee: ARM Limited
    Inventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
  • Publication number: 20140229771
    Abstract: A data processing apparatus is provided with trace circuitry for generating a plurality of trace streams including an instruction trace stream 10 and a data trace stream 12. The instruction elements within the instruction trace stream and the data elements within the data trace stream are marked with key values KV such that a match may be made between data elements and corresponding instruction elements. When predetermined conditions are met, synchronisation markers 66 are inserted in both the instruction trace stream 10 and the data trace stream 12 in order to permit a precise correlation to be made between the instruction elements and the data elements when the data is subsequently analysed.
    Type: Application
    Filed: February 20, 2014
    Publication date: August 14, 2014
    Applicant: ARM LIMITED
    Inventors: John Michael HORLEY, Paul Anthony GILKERSON, Michael John GIBBS
  • Publication number: 20140101491
    Abstract: A trace unit, diagnostic apparatus and data processing apparatus are provided for tracing of conditional instructions. The data processing apparatus generates instruction observed indicators indicating execution of conditional instructions and result output indicators indicating output by the data processing apparatus of results of executing respective conditional instructions. The instruction observed indicators and result output indicators are received by a trace unit that is configured to output conditional instruction trace data items and independently output conditional result trace data items enabling separate trace analysis of conditional instructions and corresponding conditional results by a diagnostic apparatus. The instruction observed indicator is received at the trace unit in a first processing cycle of the data processing apparatus whilst result output indicator is received at in a second different processing cycle.
    Type: Application
    Filed: December 12, 2013
    Publication date: April 10, 2014
    Applicant: ARM Limited
    Inventors: Paul Anthony GILKERSON, John Michael HORLEY, Michael John GIBBS
  • Publication number: 20130339686
    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: Application
    Filed: August 16, 2013
    Publication date: December 19, 2013
    Applicant: ARM Limited
    Inventors: John Michael HORLEY, Simon John CRASKE, Michael John GIBBS, Paul Anthony GILKERSON
  • Patent number: 8533685
    Abstract: A processing circuit 4 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 22. A trace circuit 6 is provided for generating trace data elements indicative of operations performed by the processing circuit 4. When the processing circuit 4 processes at least one selected instruction, then the trace circuit 6 generates a trace data element including a traced condition value indicating at least the subset of condition flags 22 required to determine the outcome of the conditional instruction. A corresponding diagnostic apparatus 12 uses the traced condition value to determine a processing outcome of the at least one conditional instruction.
    Type: Grant
    Filed: October 26, 2011
    Date of Patent: September 10, 2013
    Assignee: ARM Limited
    Inventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson
  • Publication number: 20120185734
    Abstract: A trace unit, diagnostic apparatus and data processing apparatus are provided for tracing of conditional instructions. The data processing apparatus generates instruction observed indicators indicating execution of conditional instructions and result output indicators indicating output by the data processing apparatus of results of executing respective conditional instructions. The instruction observed indicators and result output indicators are received by a trace unit that is configured to output conditional instruction trace data items and independently output conditional result trace data items enabling separate trace analysis of conditional instructions and corresponding conditional results by a diagnostic apparatus. The instruction observed indicator is received at the trace unit in a first processing cycle of the data processing apparatus whilst result output indicator is received at in a second different processing cycle.
    Type: Application
    Filed: October 13, 2011
    Publication date: July 19, 2012
    Applicant: ARM Limited
    Inventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
  • Publication number: 20120185676
    Abstract: A processing circuit 4 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 22. A trace circuit 6 is provided for generating trace data elements indicative of operations performed by the processing circuit 4. When the processing circuit 4 processes at least one selected instruction, then the trace circuit 6 generates a trace data element including a traced condition value indicating at least the subset of condition flags 22 required to determine the outcome of the conditional instruction. A corresponding diagnostic apparatus 12 uses the traced condition value to determine a processing outcome of the at least one conditional instruction.
    Type: Application
    Filed: October 26, 2011
    Publication date: July 19, 2012
    Applicant: ARM LIMITED
    Inventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson