Non-intrusive application code profiling method and apparatus
AssigneeAnalog Devices, Inc.
InventorsRussell L. Rivin, Lori A. Bellavance
Life of this patent
Estimating the term…
Abstract
System and method for monitoring a processor when it executes software code for a computer program. A register collects information regarding instructions executed by the processor, from the program counter; and a sampler, operatively connected to the register, asynchronously from the operation of the processor, samples contents of the register. The sampler may provide the samples to a host computer via a shift register in a JTAG port, and the host computer may provide a statistical record of the instructions executed by the processor.
Claims28
A system for monitoring a processor when it executes software code for a computer program, comprising:
- a register, operatively connected to the processor, that collects information regarding instructions executed by the processor;
- and
- a sampler, operatively connected to the register, that asynchronously from the operation of the processor, samples contents of the register.
A system for monitoring a processor when it executes software code for a computer program, comprising:
- a register, operatively connected to the processor, that collects information regarding instructions executed by the processor;
- a sampler, operatively connected to the register, that asynchronously from the operation of the processor, samples contents of the register;
- and
- a host computer that issues commands to initiate operation of the sampler to sample the contents of the register.
A system for monitoring a processor when it executes software code for a computer program, the processor being clocked by a first clock and including a program counter also clocked by said first clock, comprising:
- a register operatively connected to the program counter and clocked by the first clock and receiving the contents of the program counter synchronously with the first clock except when disabled;
- and
- a latch operatively connected to the register to sample the register contents in response to a second clock which is independent of the first clock.
A method for monitoring a processor when it executes software code for a computer program, comprising:
- in a register operatively connected to the processor, collecting information regarding instructions executed by the processor;
- and
- asynchronously from the operation of the processor, sampling contents of the register.
A method for monitoring a processor when it executes software code for a computer program, comprising:
- collecting, in a register operatively connected to the processor, information regarding instructions executed by the processor;
- sampling, asynchronously from the operation of the processor, the contents of the register;
- and
- operating a host computer to issue commands to initiate operation of the sampler to sample the contents of the register.
A method for monitoring a processor when it executes software code for a computer program, the processor being clocked by a first clock and including a program counter also clocked by said first clock, comprising:
- capturing the instruction contents of the program counter in a register, noninvasively, synchronously with the first clock, except not capturing the instruction contents for instructions which will not be executed;
- and
- sampling the register contents in response to a second clock which is independent of the first clock.
A method for monitoring a processor having a program counter, when it executes software code for a computer program, comprising:
- non-invasively collecting information regarding instructions executed by the processor, from the program counter;
- and
- asynchronously from the operation of the processor, sampling the collected information.
Dependencies are inferred from the claim text.