Browse Prior Art Database

Program Event Monitoring Instruction

IP.com Disclosure Number: IPCOM000084308D
Original Publication Date: 1975-Oct-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 3 page(s) / 44K

Publishing Venue

IBM

Related People

Frye, HE: AUTHOR [+2]

Abstract

The addition of certain special hardware and the Program Event Monitoring (PEM) instruction to a general purpose computing system, enhances the ability to debug and trace the execution of programs running on that computer. An efficient monitor program, capable of monitoring the execution of all machine instructions and observing events including successful branching, can be written using the PEM instruction.

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

Page 1 of 3

Program Event Monitoring Instruction

The addition of certain special hardware and the Program Event Monitoring (PEM) instruction to a general purpose computing system, enhances the ability to debug and trace the execution of programs running on that computer. An efficient monitor program, capable of monitoring the execution of all machine instructions and observing events including successful branching, can be written using the PEM instruction.

Two related problems must be solved to permit a computer program to efficiently monitor another computer program. The first relates to additional overhead relative to normal instruction processing introduced by monitoring. The second relates to not modifying the program being monitored. The PEM instruction aided by special hardware degrades performance to a lesser degree than other prior art software approaches and is convenient to use, because it requires no special hooks or code modification. Functional Description.

The PEM instruction format is shown in Fig. 1. Execution proceeds as follows, using the PEM table (Fig. 2) at the main storage location designated by operand 2:
1. B2 is stored into bytes 0-3 of the table.
2. B2 is loaded from bytes 4-7 of the table.
3. The instruction at the main storage address in bytes 8-11

of the table is executed.
4. The address in bytes 8-11 of the table is updated to the

address of the next instruction to be executed in the

program being monitored.
5. B2 is stored into bytes 4-7 of the table.
6. B2 is loaded from bytes 0-3 of the table.
7. If the instruction executed resulted in a successful

branch in the program being monitored, then branch to

the address in bytes 12-15 of the table; else, execute

the next sequential instruction.

PEM Implementation.

Fig. 3 shows a basic computer system capable of manipulating data under microcode control. The portions which represent a standard computer arrangement include main storage 1 containing a series of instructions and operands accessible through storage data register 2. The system also includes special registers 3 and local storage 4 accessible to microcode. Also included are instruction address register 5 and adder 6.

Hardware/microcode modifications to support the PEM instruction are PEM latch 7, branch latch 8 and processor r...