Browse Prior Art Database

Modified Unconditional Branch Instructions to Aid in Measuring Time for Program Execution

IP.com Disclosure Number: IPCOM000082023D
Original Publication Date: 1974-Sep-01
Included in the Prior Art Database: 2005-Feb-28
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Ross, HN: AUTHOR [+2]

Abstract

One of the most difficult problems in measuring the performance of computers with complex programs, is to measure the time of execution between two or more specific points in the program. Both internal (program) and external (hardware measurement) information is required for identical execution intervals. Many prior methods involve a considerable amount of overhead and performance degradation while the measurement is being made.

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

Page 1 of 1

Modified Unconditional Branch Instructions to Aid in Measuring Time for Program Execution

One of the most difficult problems in measuring the performance of computers with complex programs, is to measure the time of execution between two or more specific points in the program. Both internal (program) and external (hardware measurement) information is required for identical execution intervals. Many prior methods involve a considerable amount of overhead and performance degradation while the measurement is being made.

Program modules conventionally begin with an unconditional branch around the module name and end with a return branch as follows: Machine Code Instruction (assembler language). 47F 0F00E br 14 (15) 08 N A M length code E - - o o module name, and filler 90 ----- next instruction Return LA --- (optional) LM
--- restore registers 07FE BR O (14).

Most points in a program which are of interest to begin or end a measurement interval correspond to the entry point or end point of a module.

A way to measure time between any particular entry and particular return would be to implement two new instructions, which would perform the functions of unconditional branch and emit the mask bits to an external interface (similar to Write Direct (WRD) operation).

A person who wanted to measure one or more execution paths could modify any BC(F) or BCR(F) instruction to the corresponding new instruction in the same space, placing in the Mask field four bits of identifying i...