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: 11561882Abstract: 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: GrantFiled: August 9, 2017Date of Patent: January 24, 2023Assignee: Arm LimitedInventors: François Christopher Jacques Botman, Thomas Christopher Grocutt, John Michael Horley, Michael John Williams, Michael John Gibbs
-
Patent number: 11068270Abstract: 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: GrantFiled: September 13, 2016Date of Patent: July 20, 2021Assignee: ARM LIMITEDInventors: Michael John Gibbs, John Michael Horley
-
Patent number: 11048609Abstract: 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: GrantFiled: December 10, 2018Date of Patent: June 29, 2021Assignee: Arm LimitedInventor: Michael John Gibbs
-
Publication number: 20200264963Abstract: 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: ApplicationFiled: December 10, 2018Publication date: August 20, 2020Inventor: Michael John GIBBS
-
Patent number: 10540309Abstract: 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: GrantFiled: April 5, 2017Date of Patent: January 21, 2020Assignee: ARM LimitedInventor: Michael John Gibbs
-
Publication number: 20190370149Abstract: 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: ApplicationFiled: August 9, 2017Publication date: December 5, 2019Inventors: François Christopher Jacques BOTMAN, Thomas Christopher GROCUTT, John Michael HORLEY, Michael John WILLIAMS, Michael John GIBBS
-
Patent number: 10379989Abstract: 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: GrantFiled: August 16, 2013Date of Patent: August 13, 2019Assignee: ARM LimitedInventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson
-
Publication number: 20190179642Abstract: 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: ApplicationFiled: September 13, 2016Publication date: June 13, 2019Inventors: Michael John GIBBS, John Michael HORLEY
-
Publication number: 20170308491Abstract: 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: ApplicationFiled: April 5, 2017Publication date: October 26, 2017Inventor: Michael John GIBBS
-
Patent number: 9378113Abstract: 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: GrantFiled: December 12, 2013Date of Patent: June 28, 2016Assignee: ARM LimitedInventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
-
Patent number: 9348688Abstract: 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: GrantFiled: February 20, 2014Date of Patent: May 24, 2016Assignee: ARM LimitedInventors: John Michael Horley, Paul Anthony Gilkerson, Michael John Gibbs
-
Patent number: 8874975Abstract: 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: GrantFiled: October 13, 2011Date of Patent: October 28, 2014Assignee: ARM LimitedInventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
-
Publication number: 20140229771Abstract: 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: ApplicationFiled: February 20, 2014Publication date: August 14, 2014Applicant: ARM LIMITEDInventors: John Michael HORLEY, Paul Anthony GILKERSON, Michael John GIBBS
-
Publication number: 20140101491Abstract: 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: ApplicationFiled: December 12, 2013Publication date: April 10, 2014Applicant: ARM LimitedInventors: Paul Anthony GILKERSON, John Michael HORLEY, Michael John GIBBS
-
Publication number: 20130339686Abstract: 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: ApplicationFiled: August 16, 2013Publication date: December 19, 2013Applicant: ARM LimitedInventors: John Michael HORLEY, Simon John CRASKE, Michael John GIBBS, Paul Anthony GILKERSON
-
Patent number: 8533685Abstract: 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: GrantFiled: October 26, 2011Date of Patent: September 10, 2013Assignee: ARM LimitedInventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson
-
Publication number: 20120185734Abstract: 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: ApplicationFiled: October 13, 2011Publication date: July 19, 2012Applicant: ARM LimitedInventors: Paul Anthony Gilkerson, John Michael Horley, Michael John Gibbs
-
Publication number: 20120185676Abstract: 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: ApplicationFiled: October 26, 2011Publication date: July 19, 2012Applicant: ARM LIMITEDInventors: John Michael Horley, Simon John Craske, Michael John Gibbs, Paul Anthony Gilkerson