Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Microcode-Driven Analysis of Processor Resources

IP.com Disclosure Number: IPCOM000034444D
Original Publication Date: 1989-Feb-01
Included in the Prior Art Database: 2005-Jan-27
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Prill, RG: AUTHOR

Abstract

A technique is described whereby computer-monitoring functions, such as instruction counting, storage activity, etc., are off-loaded into processor microcode so that monitoring can be accomplished quickly and transparently. The concept implements custom microcode so that parameters being monitored are stored in a separate section of memory. This enables analysis of system operation to be performed without affecting normal system operation. In the analysis of computer system operation, it is often desirable to be able to monitor the various functions of the system quickly and not disturb the normal operations of the system. For example, the counting of the number of instructions run between specific address segments of memory, or execution analysis of instructions in the implementation of cache memory.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Microcode-Driven Analysis of Processor Resources

A technique is described whereby computer-monitoring functions, such as instruction counting, storage activity, etc., are off-loaded into processor microcode so that monitoring can be accomplished quickly and transparently. The concept implements custom microcode so that parameters being monitored are stored in a separate section of memory. This enables analysis of system operation to be performed without affecting normal system operation. In the analysis of computer system operation, it is often desirable to be able to monitor the various functions of the system quickly and not disturb the normal operations of the system. For example, the counting of the number of instructions run between specific address segments of memory, or execution analysis of instructions in the implementation of cache memory. Computer processors generally have the ability to cause an interrupt after each instruction. A software service routine will, if required, perform service functions, such as implementing appropriate software for debugging and/or processor measurement. However, there are some major drawbacks in this process, since many of the analysis problems being performed by the software service routines involve interaction with the interrupts. Many system parameters must not be changed during certain critical events. As a result, interrupts must not be disabled. On some processors, the tracing interrupt is disabled preventing certain sections of the code from being traced. On other processors, the disabling of interrupts does not disable the tracing function, but the occurrence of any interrupt will actually disable the tracing function. For example, the tracing function could be used to solve the problem of counting the number of times instructions are executed in a given program.

Trace interrupts are enabled and a trace vector program looks at the instruction being executed and tallies up a count. However, the interrupting can cause the count to be wrong. This is because, if the tracing function is disabled by the interrupt disable function, then instructions will be missed. Also, on those processors that automatically disable tracing when an interrupt is taken, the interrupt handlers will miss being counted. Often major software changes will have to be made to each interrupt handler to account for the possib...