Browse Prior Art Database

Internal Processor State Performance Monitoring

IP.com Disclosure Number: IPCOM000107931D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 1 page(s) / 62K

Publishing Venue

IBM

Related People

Bahr, JE: AUTHOR [+3]

Abstract

Disclosed is a method for accumulating time and event counts associated with software states using a combination of hardware counters and microcoded state detection and counter accumulation. The collected data is available to programs running on the machine being evaluated.

This text was extracted from an ASCII text file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 71% of the total text.

Internal

Processor

State

Performance Monitoring

      Disclosed is a method for accumulating time and event counts
associated with software states using a combination of hardware
counters and microcoded state detection and counter accumulation.
The collected data is available to programs running on the machine
being evaluated.

      A hybrid microcode/hardware implementation divides the
processor time into useful and interesting states and accumulates
information associated with those states.  The occurrence of a new
state is detected by microcode via events such as the occurrence of
an interrupt or task switch, the instruction stream branching to a
new address range, a change in the privilege mode of the current
task, or the path selected by a complex microcoded function.  The
microcode watches for and measures all states continuously, no
sampling or multiplexing is involved.  Hardware counters are used to
measure the duration of a state in terms of processor cycles and the
number of instructions executed. When microcode detects the
occurrence of a state change, the hardware counters are read and
reset and the values added to the accumulated counts in main storage
for the previous state.  An occurrence count for the state is also
incremented.

      Microcode divides the processor time into various run, wait,
and overhead states.  Several run states are measured, one each for
kernel, system, and user code.  Different wait states are measured
depending on...