Nova Patents
EP0465765A2

Instruction sampling instrumentation.

Abstract

A system and method for instrumenting the execution of instructions in an out-of-sequence execution machine. Instructions tagged with a preselected instruction identification number (IID) are identified. When an instruction having the preselected IID is encountered, information associated with that instruction is saved as the out-of-sequence execution proceeds. If the instruction completes, the information is stored as a single instrumentation entry in a memory array. If the instruction does not complete, the information is disposed of. The process id repeated for each instruction having the preselected IID until the memory array is full. The storage of instruction information in the memory can be further conditioned on the occurrence of a cache miss or other system conditions.

EP0465765A2, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 1 March 2011, 15.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 5 independent, 4 dependent

  1. 1
    An apparatus for monitoring execution of instructions in an out-of-sequence execution machine, comprising:a memory;first detecting means for detecting processing by said machine, of an instruction having a preselected instruction identification number;temporary storage means for capturing data associated with the processing of said instruction, said temporary storage means being in communication with and responsive to said first detecting means;second detecting means for detecting completion of execution of said instruction;and trigger means, in communication with said temporary storage means and said memory, for causing said data captured in said temporary storage means to be stored in said memory responsive to completion of execution of said instruction, said trigger means comprising second detecting means for detecting the completion of execution of said instruction.
  2. 2
    The apparatus of Claim 1, where said trigger means further comprises:third detecting means for detecting an occurrence of a preselected system event in said machine, and logic means, responsive to said means for detecting, for causing said data to be stored in said memory only when said third detecting means detects occurrence of said preselected system event.
  3. 3
    The apparatus of Claim 1 wherein said memory comprises two independently addressable sections, and further comprising:a command decoder;first address generator means for generating a write address for said memory;and, second address generator means for generating a read address for said memory in response to a decoded command when said memory is not write enabled;and multiplexer means, responsive to said decoded command, for reading a selected portion of a data entry at said read address responsive;said multiplexer means being in communication with said memory and said command decoder;said first and second address generator means being in communication with said memory through a common data path;said second address generator means being in communication with said command decoder.
  4. 4
    An apparatus for monitoring execution of instructions in an out-of-sequence execution central processor, comprising:a memory;a plurality of registers disposed to receive machine signals from the central processor, each of said registers being clocked by a validity signal indicating that said machine signals received by said register have occurred during the processing of an instruction having a preselected instruction identity number;sampling pulse trigger logic disposed to receive a completion signal from the central processor indicating the said central processor has completed execution of said instruction said sampling pulse trigger logic comprising, (a) means for receiving data indicating an occurrence of a plurality of events in said central processor;(b) means for selecting any of said events;(c) means for generating a sampling pulse when said completion signal has been received and said selected event has occurred;a memory address generator means in communication with said memory and said sampling pulse trigger logic, for causing said contents of said registers to be written to said memory responsive to a sampling pulse from said sampling pulse trigger logic.
  5. 5
    A method for monitoring execution of instructions in an out-of-sequence execution machine of the type that tags each instruction in an execution pipeline with a sequentially assigned instruction identification number, comprising the steps of:(a) detecting processing by said machine, of an instruction tagged with a preselected one of said instruction identification numbers;(b) capturing data associated with the processing of said instruction detected in step (b);(c) detecting completion of execution of said instruction detected in step (b);(d) storing said data captured in step (b) in a table, on condition that said completion of execution is detected by step (c).
  6. 6
    The method of Claim 5 further comprising the step of:(e) detecting an occurrence of a preselected event in said machine, wherein said storing of step (d) is further conditioned on the occurrence of said preselected event detected by step (e).
  7. 7
    A method for monitoring execution of instructions in an out-of-sequence execution machine of the type in which each instruction in an execution pipeline is tagged with a sequentially assigned instruction identification number, comprising the steps of:(a) detecting processing by said machine, of an instruction tagged with a preselected one of said instruction identification numbers;(b) capturing data associated with the processing of said instruction detected in step (b);(c) detecting completion of execution of said instruction detected in step (a);(d) discarding said data captured in step (b) if completion of execution of said instruction is not detected in step (c);(e) storing said data captured in step (c) in a table, on condition that said completion of execution is detected by step (c).
  8. 8
    The method of Claim 7 further comprising the step of:(f) detecting an occurrence of a preselected system condition in said machine, wherein said storing of step (e) is further conditioned on the occurrence of said preselected system event detected by step (f).
  9. 9
    An apparatus for monitoring execution of instructions in an out-of-sequence execution central processor, disposed within a computer system comprising:a memory;a plurality of registers disposed to receive machine signals from the central processor, each of said registers being clocked by a validity signal indicating that said machine signals received by said register have occurred during the processing of an instruction having a preselected instruction identity number;sampling pulse trigger logic in communication with said central processor and disposed to receive a completion signal from the central processor indicating the said central processor has completed execution of said instruction said sampling pulse trigger logic comprising, (a) a plurality of logic gates, each receiving at a first input, a signal indicating an occurrence of one of a plurality of system events in said central processor, each of said logic gates being further disposed to receive at a second input a signal indicating an occurrence a system condition in said central processor;(b) a first multiplexer, said first multiplexer being disposed to receive an output from each of said logic gates and each of signals indicating said occurrence of said one of plurality of system events;(c) a control register, disposed in communication with said multiplexer so as to provide output select control data to said multiplexer;(d) a binary counter disposed to receive an output of said multiplexer;(e) a threshold register disposed to receive a preselected value from said computer system;(f) a comparator disposed to receive an output of said binary counter at a first input and an output of said threshold register at a second input;(g) a first AND gate disposed to receive said completion signal and said signal indicating said occurrence of said system condition;(h) a second multiplexer disposed to receive an output of said first AND gate and said completion signal, said multiplexer including output select control inputs, said output select control inputs being in communication with said control register;(i) a second AND gate disposed to receive an output of said comparator and an output of said second multiplexer;(j) a third and gate disposed to receive an output of said second AND gate and an enable signal from said computer system;a memory address generator means in communication with said memory and said sampling pulse trigger logic, for causing said contents of said registers to be written to said memory responsive to a sampling pulse from said sampling pulse trigger logic.