february 1972 master copyl j.itojtol . · pdf filefebruary 1972 master copyl j.itojtol remove....

27
" MEASUREMENT MINIFLOW Abstract CGTM NO. 132 Leonard Shustek February 1972 MASTER COPYl J.ItOJtOL REMOVE. This document describes a set of alternate mini- flow systems which may be used on the IC-7000 to supply various performance-measurement and de- bugging features. Contents I. General Description II. Operating Instructions III. Outline of Internal Operation IV. Tape Formats Appendix A: Control Card Format Appendix B: Examples Appendix C: The "Last Branch" Miniflow

Upload: lytram

Post on 19-Mar-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

"

MEASUREMENT MINIFLOW

Abstract

CGTM NO. 132

Leonard Shustek

February 1972

MASTER COPYl J.ItOJtOL REMOVE.

This document describes a set of alternate mini­

flow systems which may be used on the IC-7000 to

supply various performance-measurement and de­

bugging features.

Contents

I. General Description

II. Operating Instructions

III. Outline of Internal Operation

IV. Tape Formats

Appendix A: Control Card Format

Appendix B: Examples

Appendix C: The "Last Branch" Miniflow

Page 2: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

. .-.,.

I • GENERAL DF5CRIPl'ION

One of the important advantages of microprogrammable computers is the

ability to insert routines into the microprogram which monitor the progress

of target-level systems. Traditionally, such monitoring was done by using

an interpreter written in the target-level, with a typical decrease in exe­

cution speed of several dozen times. Less extensive monitoring can be done

by inserting small routines into the program being studied, but making such

modifications to a complex system is often a very difficult and time-consuming

process. The system described here is indicative of the manner in which

microprogramming can be used to overcome the disadvantages of both methods.

Four alternate miniflow systems are provided, each of which is de­

signed to measure some aspect of the operation of the IC-7000. Each system

was produced by modifying Version 4.A of Standard's miniflow and is, as far

as possible, functionally equivalent to the original. Any program written

for Version 4.A should, subject to the minor restrictions given in Section II,

perform identically under any of the five systems.

Each miniflow system produces a tape which is later processed to obtain

an easily-understood analysis of the information which was gathered. The

function of each syste~ is as follows:

1. IOPTR - the tape produced contains a trace of the activities

of the rOPe All successful branch instructions are recorded,

as well as r/o and CPU interrupts. Each r/o instruction (DAS

or NDS) is recorded along with the device address. For DAS

instructions issued to disk devices, the channel command chain

is examined in an attempt to extract the cylinder number to

which the arm is seeking.

2. CPUTR - the tape produced contains a trace of the activities

of the CPU. All successful branch instructions are r~corded,

with information concerning the relocation of the addresses.

Each change of the program-segment relocation register is re­

corded.

3. roPOp - the tape produced contains information about the fre-

quency-of-use of the various rop directiv~s. A record con­taining the use counters is produced every time some constant

number (currently 250,000) of directives have been executed •

- 1 -

Page 3: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

4. CPUOP - the tape produced contains information about the

frequency-of-use of the various CPU instructions in a

manner analogous to IOPOP.

There are two stand-alone programs for processing the tapes produced:

1. HIST - this program reads either of the trace tapes and can

produce several types of printed output under the direction

of a control card. Examples of each are given in Appendix B.

a) A sequential listing of all the events recorded, or

of only events of a specific type (e.g. only I/O in­

structions). The listing may be restricted to a small

segment of the tape by specifying a range of event

numbers, or by requesting that only the last few hun­

dred events be listed. The latter is extremely useful

in debugging programs which terminate in strange locations

because of "wild" branches. (A miniflow system is avail­

able which displays the location of the last successful

branch instruction but does not create a trace tape; see

Appendix C.)

b) A histogram of memory location versus the number of times

the instruction at that location was executed. The mem­

ory area considered and the number of locations per channel

of the graph may be varied. In this way, a broad or de­

tailed "picture" of the execution can be produced.

c) A histogram of the distances jumped by successful branch

instructions. Forward (positive) or backward (negative)

jump distances are accumulated separately, but jumps to

the next sequential instruction (distance = +1) are not

recorded. Distances outside a predetermined range

(currently -200 to +200) are included in the counter for

the appropriate endpoint.

d) A histogram of the number of instructions executed be­

tween successful branch instructions. Numbers larger

than a predetermined constant (currently 100) are in­cluded in the counter for that constant, but sequences

of successive non-branch instructions are rarely very

long.

e) A histogram of cylinder use on each disk.

f) A histogram of seek distance on each disk.

- 2 -

Page 4: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

All histograms can optionally be plotted in a logarithmic scale

to improve displays which are dominated by large peaks.

In the case of the CPU, all output is normally based on absolute

memory addresses. In order to account for dynamic relocation, a specific

program segment may be identified (by size), so that only when relocation

is on and the proper segment size is in the relocation register will

information be tabulated. In this way, program segments can be "followed"

through memory even if relocated. The resulting histogram will be tabu­

lated according to the relative addresses in this program segment.

2. OPDIST - this program reads either of the opcode-usage tapes

and produces linear or logarithmic histograms, with mnemonics,

of instruction use. SUb-total graphs (for each 250,000 in­

structions) may be printed or supressed, as desired.

Shannon's information measure, I, applied to opcode usage is

printed.

N

I = -L p. 10g2Pi 1=1 1

where pi, i=l, ..• ,N, is the probability of the ith opcode

being used.

The opcodes are also sorted by frequency of use, and a table

of cumulative percent of instructions executed is printed.

- 3 -

Page 5: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

II. OPERATING mSTRUCTIONS

The following restrictions must be observed by programs being measured:

1. Tape unit 1 must not be used.

2. A certain amount of main memory is allocated for buffers and

must not be used by the program. The amount varies as shown,

but it is always taken from the highest available locations.

System

IOPI'R

CPUTR

IOPOP

CPUOP

Memory Used (Words)

409610

409610

25610

206410

Memory Used (256-word Blocks)

2°8

2°8

1

The lOP "TMEM" directive will always indicate the amount of

main storage that may safely be used by the program.

3. The ascii "pseudo-printer" translation routines were removed

from the lOP to provide room for the measurement routines.

Any output directed to that device (321) will cause the word

"ASCII" to be printed on the BCD printer (320).

II.l Using the CPU Trace Miniflow

1. Load the miniflow labelled "CPUTR"

2. Ready a blank tape (remember the ring!) on drive #1.

3. Load the program or system to be traced. If it's the time­

sharing system, make sure the CORMAP is altered so that it

will not use the top 4K (N.B. At this time, our versions of

TSS automatically adjust themselves via TMEM).

4. Push down lOP sense switch A. The operator interrupt button

now serves to alternately turn tracing on and off. When

tracing is on the "Xfer trap" light on the main console will

be lit. When tracing is turned off, the current buffer(s)

are dumped and an end-of-file mark is written on the tape.

("Reset" also turns tracing off, but without dumping the

buffers or writing an EOF mark, thus making the tape not

suitable for the HIST program).

With lOP sense switch A up, the operator interrupt button

is transmitted to the target-level program as usual.

- 4 -

Page 6: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

II.2 Using the lOP Trace Minif10w

Follow the procedure given in II.l, except:

1. Use the miniflow labelled "IOPl'R"

2. The "Xfer trap" light does not indicate whether tracing is

on or off.

II.3 Using the lOP Opcode-distribution Miniflow

1. Load the miniflow labelled "IOPOP".

2. Ready a blank tape on drive #1.

3. Load the program as system to be measured. If its the

time-sharing system, make sure the CORMAP is altered so that

the top 256 words will not be used. (See note II.l.3 above).

4. To start the counting, push down the "TRACE" sw1tch on the

lOP maintenance panel.

5. To end the counting and dump the buffers, lift the "TRACE"

switch, push down sense switch "A", and press the operator

interrupt button on the main console.

II.4 Usins the CPU Opcode-d1str1bution M1n1flow

1. Load the miniflow labelled "CPUOP".

2. Ready a blank tape on drive #1.

3. Load the program as system to be measured. If it~ the time­

sharing system, make sure the CORMAP is altered so that the

top 2064 words will not be used. (See note II.l.3 above).

4. Push down lOP sense switch A. The operator interrupt button

will now alternately turn the counting on and off. When

opcodes are being counted, the second light from the bottom,

on the extreme right of the main console, will be lit. When

the counting 1s turned off, the last buffer will be written,

followed by an EOF mark. Note: Because of the method used to gather the statistics

(see III.5), the MANUAL switch cannot be used to stop the

CPU. Halt instructions (HPR,HTR) and the address stop mechanism are not affected.

- 5 -

J

Page 7: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

ll·5 Using the Trace-tape Analysis Program

1. Load any 4.A-compatible miaiflow (i.e. 3.1, 4.A, CPUTR,

lOPl'R, CPUOP or lOPOP).

2. Prepare (a) control card(s) in the format described in

Appendix A and place in the card reader. (If loading

from cards, the control cards should be placed directly

behind the object deck).

3. Ready the trace tape on drive #2.

4. Ready the printer.

5 . Load the program "HIST".

6. lOP sense switch C can be used to terminate HIST as if

an end-of-file had been read.

II.6 Using the Qpcode-usage Analysis Program

1. Load any 4.A-compatible miniflow (i.e. 3.1, 4.A, CPUTR,

lOPTR, CPUOP, or IOPOP).

2. Ready the opcode-distribution tape on drive #2.

3. Ready the printer.

4. Set the [0P sense switch as follows:

A: up (off) for linear histograms

down (on) for logarithmic histograms

B: up (off) to produce sub-total and final

histograms

down (on) to produce only the final histogram

6. Load the program "OPDIST". It will determine from the size

of the records on tape whether the counts are for lOP

directives or CPU instructions. The sense switch settings

may be changed at any time.

7. lOP sense switch C can be used to terminate OPDIST as if

an end-of-file had been read.

- 6 -

Page 8: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

III. OUTLmE OF mTERNAL OPERATION

1. Writing to Tape from Miniflow

The method used to create the output tape is substantially the

same in all four systems. Although initiating a tape operation from

miniflow is only slightly more complicated than dOing the equivalent

at the target level, many difficulties arise in allowing the target

level program to simultaneously access the other devices which share

the same channel. Since all the unit record equipment and all the

tape drives on the IC-7000 are connected to a single channel, denying

its use to the target-level program was clearly an unacceptable alternative.

Using the standard lOP directives, the target-level programmer

may, at any time, read the various channel registers into the general

registers to determine device and/or channel status. Since any I/O

initiated by miniflow for the measurement functions will change the

contents of those registers, it is necessary to save their original

contents before the I/O is begun. The registers which are saved are:

Command register ( 14)

Channel status (20)

Controller select (50)

Controller status (54)

If the target-level program requests the contents of any of these

channel-zero registers after an I/O operation on the measurement tape,

it will be given the value as saved before the operation was begun.

In that way, it will correctly receive the status of its own previously

initiated operation. Whenever a non-measurement I/O operation is begun,

the target-level program has reset the channel registers, and any re­

quest for them will be satisfied by the actual hardware registers un­

til the next I/O to the measurement tape. The single exception to

this mechanism is bit 0 of the channel status register, which reflects the position of the lOP sense switch. Since it may change without re­

gard to r/o operations, the target-level program is always given the

current value of that bit.

The target-level program should never be aware that the channel

is being used surreptitiously unless it is dependent upon the timing of

I/O operations. If a measurement I/O operation is in progress and the

program inquires about channel activity (using the "BCB" directive),

- 7 -

Page 9: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

it will be told that there is none. If, when it attempts to initiate

an I/O operation (using "nAS" or "NIS" directives) the channel is in

use, execution will, as usual, be delayed until it is free.

Each measurement system uses two main-storage buffers so that

execution can continue while previously-gathered information is being

written to tape. When a buffer becomes full, the lOP attempts to

schedule the tape write operation and switch to the other buffer.

The following four cases arise:

1. The channel is free: the channel registers are saved,

unless the last operation was also for the measurement

system. The I/O is initiated, and execution continues

using the other buffer.

2. The channel is in use by the measurement system: this

can occur when information is being accumulated faster

than it can be written to tape. There is no alternative

but to delay execution until the previous record has been

written; then, do as in case 1.

3. The channel is in use by the target-level program, but

the other buffer is already empty: in this case, a

flag is set to indicate that there is a full buffer

pending, and execution continues using the empty buffer.

When the channel-end interrupt is received, indicating

that the target-level operation has completed, the channel

registers are saved and the operation is (asynchronously)

initiated from the interrupt routine.

4. The channel is in use by the target-level program, and

the other buffer is also full: this occurs when the

target-level program has used the channel for so long

that both buffers are full. Execution must be delayed

until the channel-end interrupt has been processed; then

the Older of the two buffers is completely written out,

and execution resumes after initiating output of the

younger buffer.

No error-recovery procedures are initiated for tape controller

or channel errors. A count is maintained in lOP control storage to

indicate if such errors have occurred; there is also a count of the

- 8 -

Page 10: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

number of times execution was delayed because the channel was not available.

2. The CPU Trace Miniflow (CPUTR~

Trace entries are accumulated in the main storage buffer by a

routine in the CPU control memory which is executed during the evalu­

ation of the relevant instructions and traps. When the buffer has been

filled, the CPU sets an lOP interrupt (request code #6) and HANGS level

4. The lOP schedules the output as described above and releases the

CPU as soon as the other buffer is known to be free.

MBny of the target-level CPU transfers are normally emulated

completely in the wired-in-sequence without causing any micro­

instructions to be executed. In order to force entry into the routine

which records successful transfers, the "transfer trap mode" flip-flop

is turned on when tracing is in effect; this causes an exit from step

YA5 of the wired-in-sequence to miniflow.

In order to reduce the volume of information written to the tape,

successive identical branches are counted rather than individually re­

corded. Note that both the "from" and "to" addresses must be identical,

since it is possible for either address to remain constant for a series

of transfers while the other address, and consequently the sequence of

instructions executed, varies.

3. The lOP Trace Miniflow (IOPTR)

Buffer entries are made by the emulation routines as necessary.

As in the CPU, successive identical transfers are counted rather than

individually recorded. For target-level I/O operations (DAS and NDS)

the device address is obtained from bits 21-35 (or 3-17 if 21-35 are

zero) of the controller order pointed to by the first word of the

directive. If the operation is a DAS to channel 2, the channel com­

mand chain pointed to by the second word of the directive is examined

to determine the seek address. If the first command is a CTL whose

function code is SEEK or SEEK CYLINDER, the following command is assumed

to point to the cylinder address. The address is interpreted in either

four-byte or five-byte mode as indicated by the first bit of the func­

tion code. If the first command is a CTL whose function code is SET

- 9 -

Page 11: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

FILE MASK, the third command is examined as above. If any of the con­

ditions are not met, no seek address is recorded. Although it is

possible for seeks to be embedded in artibrarily complex data-dependent

command chains, the procedure described is sufficient for most reason­

able disk operations.

4. The lOP Opcode-usage Miniflow (IOPOP)

The rop "trace" feature clearly makes gathering statistics about

opcode usage an almost trivial task. When the "trace" switch on the

maintenance panel is on, the hardware traps to a miniflow routine be­

fore emulating every target-level directive. That routine simply in­

crements the counter corresponding to the directive to be executed, and

requests a new buffer every 250,000 times. The counters of the new

buffer are not cleared; doing so would cause an unnecessary delay since

the offline analysis program can easily reconstruct the true counts

(See Section IV.2).

5· The CPU Opcode-usage Miniflow (CPUOP)

The absence of a trace feature forced the CPU implementation to

be slightly more involved than that of the rOPe In order to cause the

counting routine to be entered between the emulation of target-level

instructions, a level-four trap request is set (using the MISC SRT

microinstruction), but postponed until an instruction has been emulated

(using the MISC POST microinstruction). When the trap occurs, the

scheduler enters level four at group 33. The instruction is counted,

other simultaneous level-four requests are processed (rop requests,

target-level trap requests, etc.), and another such trap is set and

postponed to allow another instruction to be emulated. Two problems

arise with this technique:

1. Level-four HALTs (HTR, HPR) are not obeyed since the

pending trap causes an immediate restart. For this reason,

a general indicator flip-flop is used to indicate to the trap

routine that level four has been halted and no more traps

should be requested. The indicator is reset and traps are

restarted at all places in the miniflow where level four is

released. This same problem causes the console MANUAL switch

- 10 -

Page 12: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

. ~.

to be ignored, but since it cannot be directly tested by mini­

flow, the pending trap cannot be prevented from immediately

restarting the machine.

2. There is no way to determine if group 33 has been

entered to emulate X33X instructions (RSPT, STPT, etc.)

rather than in response to the trap request. To resolve the

ambiguity, the counting routine sets a general indicator when­

ever it counts a group 33 instruction as the next to be emu­

lated. The trap routine, finding the indicator on, resets it

and executes the instruction rather than counting and setting

another trap request.

Note that if the mechanism for requesting and postponing traps

did not exist, it would be necessary to either simUlate the wired-in­

sequence by microcode or to require such emulation routine to do its

awn counting; both alternatives would probably exceed the available

CPU control storage •

- 11 -

Page 13: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

. ..-....

IV. TAPE FORMATS

IV .1 FORMAT OF THE CPU AND lOP TRACE TAPES

Trace tapes may have one or more files, each of which consists of a

series of 2048-word records followed by an end-of-file mark.

Trace entries are one or two words long. The presence of the second

word is indicated by bit 0 of the first word being on. Two word trace entries

never span two separate tape records; therefore, the last word will be unused

in some records.

The last valid trace entry in the record preceeding the end-of-file

mark is followed by a word of all ones.

TRACE ENTRIES

1. Transfer rY-- 17 18 19

~~dd~ _-+I_R~I_, ___ -~o~a~d-_~~ •• .35.

. ,I

o 17 18 35 count time

"T" is on if the second word is present.

"Fromaddr": the address +1 of the transfer instruction.

"toaddr" : the address of the instruction transferred to.

"count": one less than the number of times the branch

was executed. If the second word is not present,

the branch was executed once.

"time" : the time-of-day that the first branch was executed.

CPU addresses may be relative to the program segment register;

if "R" is on, addresses beginning with the "toaddr" should be relocated.

Note that the "toaddr" may be equal to the "fromaddr" of the next

transfer trace entry if a trap occurred immediately after a transfer

was executed.

2. Relocation register load (CPU only)

o 1 17 18 20 21 35 ~~, -'---"--1- - 1 ; 1 Baar III j base L_____ __ .. _.-L. ______ . __ . ___ . __

o 9 10 17 18 35 ./

size time

- 12 -

Page 14: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

This word can be recognized by the ones in bits 18-20 of the

first word.

addr:

base:

size:

time:

3. I/O

the address +1 of the LDMS instruction that loaded

the relocation registers.

the program base register, shifted right 8 bits

(i.e. the block address).

the size -1 of the program segment in 256-word blocks.

the time-of-day.

0 I 8 11 18 3~ 11111111 I device J~ addr 1 I

! I

0 1 8 ,~--

l1.1.§. 35 : 1111111- T-·-- I ; or I I .0000000 I cyl time

This word can be recognized by the ones in bits 0-1 of the

first word.

device: the device addresses, as follows:

BCD tapes 201, 202,

Binary tapes 221, 222,

Card reader 301

Card punch 340

64-char. printers 320, 360

ASCII printers 321, 361

Console typewriter 302

PDP-8 read 200

PDP-8 write 600

Disks 060, 061, •••

addr: the address +2 of the DAS or Nll3 instruction.

cyl: if the instruction is a DAS to a disk, and the first

channel command (or second, if the first is SET FILE

time:

MASK) is a SEEK or SEEK cylinder, bits 8-17 will con­

tain the cylinder number and bits 0-1 will be ones.

Otherwise, bits 0-11 will be zero.

the time-of-day

- 13 -

Page 15: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

IV.2 Format of the lOP Opcode Usage Tapes

Tapes produced by the miniflow ("IOPOP") which gathers information

about the usage of rop directives consist of one or more 128-word records

followed by an end-of-file mark. Each word contains information about the

directive whose opcode (7 bits) is the offset of that word from the beginning

of the record. For example, the fourth word of each record describes the use

of the LDB directive, whose opcode is 00000112 (described as 0148 in Standard

documentation).

Since the counts were accumulated in two alternating buffers which were

not zeroed after outputting, the word corresponding to a given opcode is not

simply the number of times that directive was executed since the last record 18

was written. It is, rather, the sum modulo 2 of the total number of times

that directive was executed while the corresponding buffer was in use. The

true count, then, of the directives executed while record N was being pro­

duced is computed by subtracting, modulo 218

, the N-2nd record from the Nth.

Note that since less than 218 directives are executed for each record pro­

duced, each counter in the Nth record can have incremented through zero at

most once when compared with the corresponding counter in the N-2nd record.

IV.3 Format of the CPU Opcode Usage Tapes

Tapes produced by the miniflow ("CPUOP"), which gathers information

about the usage of CPU instructions, consist of one or more 1032-word records

followed by an end-of-file mark. The correspondence (in octal) between buffer

offset and opcode is as follows:

a) opcodes whose first three bits are zero (non-prefix opcodes

from 0000 to 0777) have offsets from 0 to 777.

b) opcodes whose first three bits are 1002 (non-prefix opcodes

from 4000 to 4777) have offsets from 1000 to 1777·

c) opcodes whose second and third bit'S are not zero (prefix

opcodes 1,2,3,5,6, and 7) have offsets of 2001, 2002, 2003,

2005, 2006, and 2007.

The counts are accumulated in two alternating buffers exactly as is done for

the lOP; the same method must, therefore, be used for reconstructing the true

instruction execution counts.

- 14 -

Page 16: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

APPENDIX A

~ONTROL CARD FORMAT FOR 'HIST' r--..

~.*.* ••• *.*.*.* •••••••• * •••••• *** ••• ** ••• * •• **.* ••• * •• * ••••••••••• * ••••••• * ••• * * ' * THIS PROGRAM WILL ACCEPT TRACE TAPES FROM THE CPU OR T~E lOP AND PRODUCE!

* * A) EXECUTION HISTOGRAMS * B) DISK SEeK HISTOGRAMS * C) CLOCKED LISTINGS OF ANV Of A NUMBER OF TYPES OF EVENTS * D) BRANCH-DISTANCE AND EXECUTICN~DISTANCE DISTRIBUTIONS

* ADDRESS QUESTIONS AND COMPLAINTS To: LENNV SHUSTEK, SLAt **.***** ••••••••••••• * ••••• * •• *** ••••••••• *.******.** •• **.** ••• ** •• *.**.**.****~ * *** *** **. * * * * * * * * * Fl

* .~

* * * F2

* ., * * * F3

* * * F4

* * :',t

* * F5

* * * * * * Fb

*

IF YOU DON'T HAVE THE PATIENCe TO READ THE FOLLOWING DESCRIPTION OF THE CONTROL CARD fORMAT, NOTE THAT AN 'L' IN CO~UMN 2 IS SUFFICIENT TO CAUSE AN EXECUTION HISTOO-AM TO BE GENERATED.

THE CONTROL CARDS ARE READ IN THE FOLLOWING FORTRAN~~IKE FORMAT:

READC5,l) ~l' F2, Fi, '4, F51 F61 LI U, NI 5, EI PSI%E, MIN 1 FORMATe Al, All All All Al, A1/06,06,16/16/16, 0&, 16)

END COL·) 1 2 3 4 5 6 12 18 24 30 36 42 48

SPECIFIES THE EVENT LISTING DESIRED: "E" FO~ ALL RECORDeD EVENTS "I" ~OR I/O EVENTS ONLY "R" FOR CHANGES IN CPU PROGRAM RELOCATION ONLY " " FOR NO EVENT LISTING .

SPECIFIES T~E EXECUTION HISTOGRAM DeSIRED: "L" FOR A LINEAR HISTOGRAM "G" FOR A LOGARITHMIC HISTOGRAM " " ~OR NO HI STDGRAH

SPECIFIES THE DISK SEEK HISTOGRAM DESIRED: (SAME CHOICES AS F2)

SPECIFIES THE TAPe FILE TO BE USEDI "B" MEANS REPEAT THE LAST FILE WITH THE NEW PARAMETERS ('BACKSPACE') "R" MEANS ReWIND THE TAPI TO POSITION IT TO THE FIRST FILE " " MEANS USE THE NEXT FILE

SPECIFIes WHETHER BRANCH~DISTANCE AND eXECUTION-DISTANCE DISTRIBUTIONS ARE TO BE PRINTED:

"L" FOR BOTH (LINEAR PLOT) "ctt FOR BOTH (LOGARITHMIC Pl.OT) " " FOR NEITHER

IS UNUSED. ANY SUGGESTIONS?

~L .. U SPECI~Y THE l.OWER AND UPPIR CORE BOUNDS FOR EXECUTION HISTOGRAMS. '. (IF OMITTED, 0 TO 77777 IS USEO.) ~

* N SPECIFIES THE NUMBER OF CHANNELS FOR EXECUTION HISTOGRAMS. IF OMITTED, * U-L IS USED. (REDUCED TO MAX. 8192 (20000 OCTAL') IF LARGE~)

*

Page 17: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

~( S,E SPECI~V THE STARTING AND ENDING EVENT NUMBERS FOR THE EVENT LISTING. * IF 5 IS OMITTED, THE LAST E EVENTS OF THE Type REQUeSTED WILL BE LISTED. * (MAX. 1000 DECIMAL) * IF E IS OMITTED, ALL EVENTS 0' THE TVPE REQUESTED WILL Be LISTED, * * PSIZE, IF NON-ZERO, INDICATES THAT INFORMATION FOR EXECUTION HISTOGRAMS, * EVENT LISTS, AND DISTANCE DISTRIBUTIONS SHOULD BE GATHERED ONLY IF * RELOCATION IS ON AND THE ,ROGRAM SEGMENT SIZE IS eQUAL TO "PSIZE" * 256-WORD BLOCKS. TH! RELATIVE (UNRELOCATED) ADDRESSES WILL BE USED * FOR THE GRAPHS, SO THAT THE MEASUREMENT WILL NOT 8& AFFECTED BY THE * PROGRAM HAVING BeEN MOVED IN CORE. * * MIN

* * * *

CONTROLS THE SUPpRESSION 0' HISTDGRAM LINES. LINES WITH 'MIN' OR MORE STARS ARI ALWAYS PRINTIO, IUT LINES WITH LESS THAN 'MIN' STARS ARE NOT PRINTED IF THEV aceUR IN GROUPS OF THREE OR MORE. SKIPPED LINES ARE CLEARLY INDIcATED. IF OHITTED, MINal IS USED,

*---------~--~---~~--------~--~~--~----------~-----~----~~---~-~~~p------------~ * * THE NUMBER BASE CONVENTIDN FaR BOTH INPUT AND OUTPUT IS AS FOLLOWSI * (1) CORE ADDRESSeS AND COR! SIZES ARE IN OCTAL * (2) ALL OTHER NUMBERS ARE IN DECIMAL * .~-~--~---~---~---.-~-~~~-~-~--~----~-~~-~~-------~-~---~.~~--------------------

* lOP SENSE SWITCH "e" CAN B! USED TO STOP THE TAPE AS IF AN END-Of"FI~E * HAD BEEN R!AD. * . ••• **.*** •••••••••••••••••••••••••••••••••••••••••••••• * ••••••• * ••••••••• * •• *.*~

.~.

Page 18: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

rn 7 o -~ ~

u C ...... o w

; u w X w

-o o o o o

o O~~~~N~~e~.~e~ON~~N~O~~~~~~OO&~~~N~.&~~~N~~~.O~~~~.~~~NOO o O~_N~ __ ~ __ ~~_~~. __ mNO~O~~~~_~N~~~~O~~~~~~~~m04~~~~~-~~~oo o ON~ONN.~~~~.~N~~~~-~ON~-~.O~~ON~~~~~-~N~~~N~~ONNNN~-~~~.O· o O_O __ ~_O ______ OO ___ OOOO~ONO~~N~N~~~~~---O~~~.~NNNO~~-O--0· o OOOOOOOOOOOCOOOOOOOOOCOOCOO~OOOOO.~~~---N~ONOOOOONn~OO000' o OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO~OOOOOOOOOOO000· ..

* * * * .. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

APPENDIX B: Examples

*** - ** * **** ****** *** ***********.****** *******************

* * * * * * * * * ** * * ** * * ** * * ** * * ** * * ** * * ** * ** ** * ** ** * ** ** * ** ** * ** ** * ** ** * ** ** * ** ** * ** ** .. ** ** * ** ** * ** ** * ** ** * ** ** * ** *** * ** **** * ** **** * ** **** * ~* **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** * * ** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** **** ** * *** ***** ** * *** ********* * *** ********* * *** ***~***** * *** ********* * *** ********* * *** ********* * *** ********* * *** ********* * *** *******.* • *** ********* * *** *********** *** *********** *** * *********** *** * ************ *** * *******-**** *** ** **~********** *** * ** * *******.****** *** • ** *********.****** *** * * *********************.*** * * ********~****************. • * ************************,* ** *** ****.************************ -************.********.************

• .. ... o ~NO~~N04~NO~~NO~~NO~~NO~.N04~N04.NO~~N04.N04~NO~.NO~~NO~~N

" O·~~~~~O--N~4~~~~~O-NN~~~~~~OC_N~~.~~~~O_~N~.~~~~~O_NN~.~~4~ o ~.~~~~~OOOOOOOOOOO---------_NNNNNNNNNNN~~~~~~~~~~~~.~ •••• ~~. G -·-----NNNNNNNNNNN~NN~NN~NNNNNN~~N~NNNNNNNNNNNNNNNNNNNNNNNNN • 0 OCOO~OOOOOOOOOOOOOOOO~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOonoo

n oooocaoeoeooooooooeooooooooo~ooocoooeoocooeooocoooooc~0000

• - -

Page 19: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

.... ~_o~om~~.~~~.OC •• ~N~.O •• NCCOONOO~O OcO • Z ~~~4~N~~O.~~~~~~~OO.~ •• OOO-OOOOO~O 000 -" :::> ~~_~N.~ ••• ~_.~U .. Cj.N~.OOO.O~OOO.O ONe N 0 OO~~~~N.~.O-~.~-OOO_OOOOOOO~OOOOOO 000 0 u o_~~_~~~~oo_~nOOOOONOO~OOOOOOOOOOQ coo -OOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 000 ~

0

* 0 • 0 ~ * 0

* 0

• 0

* * ..... * 41

• .... * CJ

* .... • * * * * * ... 1ft

'* 0

* 0

* 0 * 0

* 0 CIt * W * .. :r * C)

u * 4 :z * ec 4 * w « * > lID .. C .. ..... * ::) * IL * II) * II) * w * ~ u * u * ::) * en * • z ... w * au * ;s * ... * w * CD * * 0 * w * .... * :l * u * w * >C • .~ w * * en .. Z '* 0 •• ** .... ** u ** :> ** ot ** .... ** In ** Z ** ** •• ... ** Cl *** *** > *** 4 *** -J **** Q,. **it. en **** - **** 0 ****. ** ** .. u: • *** .. .. 4 **** ••• W ******. Z. ******* - * •• * ...... * -J ******* ******* ******* ******* ******* ******* .****.* **.**** *.*'**** *.*.*.* ******* ******* * - ******* * 0 ******. * 0 * ... ***** *' 0 ******* * 0 ******* * 0 **it**** * ******* ...

******. * au ***.**. * • .... ******** ... * - *****.** * .. "'- **.*.*.* * ..

,..~ .******** ** ** * ********* **** * * * •• ** •• ****** •• *.* *** ** *** * *. * ----------------------------------\It O-N~~~~~~~O~N~.Ift~~ •• O-N~~~~~~~O-N~ ~ 1ft .0 ~

oooooocOOO- _________ NNNNNNNNNNM~~~ -~ .... · en 0000000000000000000000000000000000 -000 · 7.. ooccoooeoooconoeoooooccoooocoeoooo -aDo · 0000000000000000000000000000000000 000 a ooooooooooooOOOOOOOOOOOOOOOO~OOOOO 000

• • • • • c ( ( \

Page 20: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

U.l U Z ~ .­U')

o :r u z <. a:: c:c

.... o

> <[

-' A­U')

-o o

.... 0 1'1\0 ct\C NO NO 00

o '* o .. o * • ... N b. •

* .. .. 00-.-. t:"P

''-' N-00

r.t 00 I t

.. . ... * .. ** ... * • *

• ... .* • * ** * ... ** ** *. ** * ... *. • '*'** • ***-*** ..... ..... '**

***** '***** * •• ** * ... *** ***** ***.ft. ***.* ***** ****. ... ***** • **.** * .. ******

• * * • ... ... * ... '* • • • .. '* * * * .. .. * .. .. ... * * .. .. ... ...****

'* '* * ... ... . *********

* ... .. • .. .. .. .. .. .. .. .. ... .J * .. ... ... ... .. .. .. ... ... .. ... ... • ... •• *

... .. .** *****

nN 00-0_ ON ON 00

* * * .. ... .. • ... • * * • * -------~---------------------------------------------~-----o~m~~~.""N-Oo-.~~~~""N-O-N"".~G~eO-O-N~~~~~e~O-N~.~~~_~O-N""~~

·N--.4-------0COoocccoeoooocoOOO-----_____ NNNNNNNNNN~~~~~~ ·OOOOOOOOCOOOOOOCOOOOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000 • C· ('". (,.. C· C,.; 0 <.. c. c. Cl ":.1 C'"; ~ 0 C· r (") 0 r. n (") ("" n c.." C 0 <, Co' :'1 c.' 0 C-, (:'.0000 C) (') C (') C', C) " 0 0 (.') () 00 C' '''' ~ C., 0 :-;

OOODOOOOOCOOoOOOOOnODOOOOOOnocooooOOOOOOOOOOOCOOOOOOOO00 .1 Jr., I I. I" 'I I.' I I 'ICUOOCCOO~OOCCOOCOOOOOOOOCCOOOOOG~O~

Page 21: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

.... 0'00-0 0-0 ON"O-O O~O 0"'0 0"'0 000 O,""O"'ONO 0"'0 0 Z "'0000 000 000000 0 .... 0 000 000 ONO 0"1 .... 1'110"'0 000 a ;:) OOvOO OCJO 000000 QUg 000 000 ct.·c.;, (,)000000 000 0 0 00000 000 000000 000 000 000 000 0000000 000 0 U 000'::)0 000 000000 000 000 oeo 000 0000000 000 0

00000 000 000000 000 000 000 000 0000000 000 0 .. I""*'

... * .. * it

* *' ... * * ... * * ... * ...

1ft ... .(J * 0 * 0 * 0 ... 0 *

* ... w ... u ... Z ... C ... ~ ... CIt ~ - ... Q ... ... "" ... C) * c( ... tIt. ... W ... > • c( ... ... ... ...

*' ... ... * ... * ... ..

.0 ... 0 * ... • *' ~ * * VI ... * - *

... -~ 0 * * *

... ... * * -' {to * w * * > ... ..

c( * * ~ * * .... ... * * * 0 * • • ... ... au * * :r: ... ... ... ... ... ... ... ... IL. ... ... * • 0 ... • ... •

* ... ... * >- * * ... * c( ... ... * '* ...

-' • • '* '* • 0.. * '* ... • '* VI ... * • • '* - oil- ... * * • 0 * • .. ... • ... ... ... • .. • ~ .. .. .. • ... • ~ ... ... • ... ... ... au ... .. • • • .. z * ... * • ... * - • .. * ... • .. ~ ... .. ... • ... • ... • • ... • •

* • ... ... * • it .. • ... ... • *' '* '* '* • • * * • • * • * • • * * * * * .. * '* * ... .. * ..... '* * .. • •• * • * ... * *** * ... ... * ••• • ... ... • • • .*. •

0 ... * • * *.* ... 0 * ... ... * *** t 0 * * * * ..... ... 0 • ... • * .'** • a ... • • • **. • ... • .. • .'*. '* • * * .. .'** ... w • • ... • ••• * .... * * • * •• * • - * • • • .*'* * IL. * • • ... ••• • ~. ... •• • * * •• * * ** * * *** • it ... ... ** * ... ... * * • •• .. • ------ -------

0"'1'11"'''' 0 .... '" 0#11\.0"""0- "'Nf'ft "'.0 ..... "'NC'\ 0 .... '" ",.o"""rO- .0 ...... N UI 00000 .- ........ -o#o#.""o#>#' • It\ '" 1ft • :t\ It\ In -..,.0 .., ·oeo .oooc., 0""'" -NNN -0 .... 00000 ·000 ·000000 -000 ·000 "'000 .............. . -....... -.... -- .... _- -N >- ..-:oooc -ceo ·0'00000 ·000 .00 Ci ·000 -000 ·c,oooooo -000 -0 u 00000 000 000000 000 000 000 000 0000000 000 0 - 00000 000 000000 000 ooC". ~oo 000 0000000 000 0

C • 0 • • • ~ • (: , .... 't.. C

Page 22: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

OP

INTR CPU ••• BRU ... LOB eTe BCI\ DAS NOS ~VUP MVDN LO"1 STM SULL SLUU 10C ••• LOT S~"T NGT SR~T AOT SL~T S8T SRUT ORT SLUT GAOX SRLT ANT ALLT INT LOR STI)~

GAOXX GAOXXX AOR ADS Sgq, GAO..,X ORR ORTS ST~JU

ST"I. ~NQ

ANTS "'TAS CRMS N:J"~ STN It. ... ISTN A04 AD~ SBA SIPJ ST'JU STLU STUL

LINEAR DISPLAY OF TOTALs INSTRUCTIONS EXECUTED, 000001247410

* *.** •••• ***.**** •• ** ••• * •• * •• * •••••••••••• * •• **.*.*** •• * ••••••• *** •• ** •••• * •••• *.* ••• *.* •••••••• *** ••• ** •••••••• ** •• •• ••• ** ••••••••••••••••••• • • • .. ..

, .•.•........ I· I I·

'" I· I. .. .. • * • •

rop Opcode Distribution

•••••••••••••••• * •••••••••••••••••••••••• * •••••• * •••••••••••• * •• •••• * ••••••••• • ,. ,.

I" I·.·. I I. I. I· I I·. I· I. .. .. .. •• • .* : ( , rc\

/

( (

COUNT

000000 000084 352334 003925 071ea71 000192 OOOlt2C oeoooe 001702 000000 001965 002043 ooot')OC' 000000 035068 0011t83 000000 000051 OMrHQ OCO'7~ 00093] 00031n 000085 OGO~OS 0110:) 11 O{)O';OO 000:;33 000(\00 000464 ooo~oo 193154 041725 0',)0')87 0~013S 0!')Q075 cnoc5~

010215 0:>0"00 OoeC04 000471 OOOC7b O;'lOOC~

003163 OOO~92 OOOeOb 0:)0407 000000 oryC i"!c, 5 OOOUOO 000("0" 0,::>1284 005701 000000 OO()492 OC4~C9 OOC2C~

Page 23: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

0" FFAM FFSf1 ANS E"A ST"T CAS flFOP ACL AD!) ADM SUI\ BLKM HPR STI!S IlS lor OSI O~I) t:lFT RoIS ONT CL~ CLS FA)(! zeT XEC LXA lAC SCAN U~PK AOOI •• LOQ FSXI STZ STO SLW STI STA ST~ STT STP SXA SCA XLC r l(ADI TRHt ISZT PAX PAC P)(A PCA "set •• NOP 'lZAT I.loS ,"IU

, , I·. ,. ,

~INEAR DISPLAV OF FILE 000001

1·*·······*···· I , 1····*············.···· f

I······················ , ,. , I , ....... . I ,. I , ,

,/

,.'- -- -_.- '-----.... ---.. ~ .. -

INSTRUCTIONS EXECUTED a 000000100000

CPU Opcode Distribution

r

, •••••••••••• * ••••••••••••••••• * •••••••••••••••••••••••••••••• * ••• * •••••• *.* •••• * ••••••• ~ •••••••••• * ••••• ** •••••••• **

COUNT

000000 000000 000182 0,)0"06 ooooon 002t,41 O~)OOOt)

oootoo 003154 ooonOo 003171 000000 000023 000(\00 000000 001177 O~OOOO 000032 OOO~OO Ol'o('oo 000000 O~7192 000196 0"0000 000323 000326 0013e6 Oi)37CS 000000 ono~o? 000277 Ofl0241 ouo'on 00533'-0~6697 001253 00022Q 000903 0·10~'27 000000 000000 l')olf.12 0'.)1415 Of)Of)OO O:)O(~O 1

,.. .

I I.·· , .. . , ......... . , •• * •••••••••••••••••••••• , I· I.· I·· , I··· .. ······· .. ···.·.···.·.· ..•...... , ••• ** ••••••••••••••••••••••••••••••••••••••••• I.········ . I·· I······· I. I I I··· ... ·····.• ,* ••••••••• I I-1* . , .........................• I.·· I~··.·.····· ... ·.·.·•· ,*. I-I.··. ,_.

\ ~_1{.:..)

( (,

o!,cnSl 0037A~ 000413 003042 O~o20" 0(10002 C0055~ on0171 0 ')0000 ooOr.:oo

Page 24: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

t- o 000-0 0.-0.00 0 .... 0 aGo 00"0 0.,-000 o~oo 0 z 0 Ocel~OO OOOONO 000 000 ONO OOOOcelO 0"''''0 0 ::Jo 0 ooooe oo.ouoo 000 ("'NO 000 00.0000 0000 0 0 0 00000 000000 000 0::'0 000 000000 0000 0 u 0 00000 000000 000 000 000 000000 cooo 0

0 00000 000000 000 000 000 000000 0000 0

... ... * .. ... * .. ... * * ... * .. .. * .. * ..0 ...

N .. • * 0 .. a -0 .. ..

* In .. :.: .. w .. w .. In * .. lL * 0 ..

* - * .. .... .. <f -, ..- .. 0 • t- * * .. ..

* .. • .. * * 0 ..

..0 • 0 .. * x ..

til * " • 0 .. ..

~ • w .. en .. :::> • .. ex: * w .. Q .. Z ... - .. .... .. >- .. u .. .. &L .. 0 .. • >- .. 4- .. -' • A .. .,. • - * 0 • .. at .. ct • W .. 7- * .. .... • ..

* * .,. .. • * ... *

** .. * .. it* .. .. .. * -* .. .. "* * if*

0 ** .. .. * * ** 0 ** * * .. * *. 0 ** .. .. .. .. ** 0 •• .. ... .. .. ** a ** • * • • ** ** * * * • ** w ** * * • • *. -' .* ... * .. * ** •• .. * * .. ** u.. -* .. - .. • .. ** ** .. - • - 'II' -. ** * * .. * * *-** * * * * * * ** ** - .. - * .. * .. ... * * ** ----- ------ ------ ----0 r--CDO'O-.. ~.It\..o""'CD O .... N "'''''. 0-'" "'.or-IOO"O '" "" • It\

N ..... 0 ·NNNI"'lt'\ .,...r-,...,...r-,... -co«.-co • 0" .,. 0' • t'\ ..... ff'I .~~ff'I~fC'I.:1' - C'O «J co CD -0 >- 0 -00000 -000000 ·000 -000 .......... - ...................... - s __ .... _

eN U 0 -c.o COO ·OC>OOOO -000 -C: 00 • 0 C- C -000000 -0000 -0

0 00000 000000 000 000 000 000000 0000 0 <0 00000 000000 000 000 oeo 000000 0000 0

Page 25: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

CPU Event Li st ,..,....

:VENT# T I ~1~

(}oq 136 BRA~CH FROM 002212 TO 002164 009137 8RANCH FRO~ 002111 TO ('02001 009138 O~le19 8RANCH FROM 0020i2 TO OC2026 0C"0024 TIMES OOQ139 8RANCH FROM 002030 TO 0020'3 "OQ140 BRA~~C 14 FRClM 002056 TO 002060 ~'oq 141 8RA""CH FRO~·1 002105 TO OC?026 ~lOQ 142 061A19 BRANC~ FRUM 0020)2 TO 002026 onOe64 T P'1E S 009143 BRANCH FROM 002030 TO 002033 009144 8RANC'" FROM 002056 TO 002060 OOQ145 8RANCH FROM 002074 TO 002136 J09146 BRANC~ FROM 002145 TO 002220 009147 8RA~~C H FROM 002221 TO 002243 009148 8~ANCH FROM 002251 TO ~O2222 009149 Ob1R19 t.OAO REL AT 002234 PRCceDURE- ~A5E 102000 SIZE O()O121 OOQ150 II.ItANC~ FROM 002242 TO 141013 o'7n13 009151 BRANCH FROM 141014 03701'+ TO 141021 0.7021 <'09152 BRANCH FROM 1410]2 0.37032 TO 14 1040 0"040 OOQ153 BRANCH FROM 141041 037041 TO 1021'1 OOOl!l 009154 SRAiJCH FRO~1 102111 000111 TO 107fl16 00"16 'J091~5 B.RAt-JCH FROM 1070)4 OO'O~4 TO OOOOOZ 00915b BRANCH FROM 000002 TO 00214' ')0'>157 BRANCH FROM 002750 TO 003046 ;')091'58 BRANCH FROM 003046 TO 003016

~nq159 BRANCH FROM 003032 TO CO~2'1 )091 ~O Qt182(j BRANCH FROM 003257 TO OC.~251 OOOt')05 TI~'ES

OOQ161 BRANCH F~O~ 003253 TO OO~2bO 009162 BRANCH rRP.M 003266 TO 003013 CiOl')16] 8AANC~ FRDM 003041 TO 003050 009164 BRANCH FR(I"1 0030,0 TO OOZ634 Q09165 BRANCH FRUM 0026Jb TO 002643 009166 BRANCH FRDM 00264 7 TO 002651 009167 BRANCH FROM 002656 TO 002712 0091bB BRANCH FRUM 002117 TO 002724 009169 BRANCH FRC~1 002734 TO 002742 009170 eRANC~ FROM 002144 TO 002001 009111 BRANCH fROM 002003 TO 002164 ('09172 BRA~CH FROM 002207 TO OOr-011 OOq11] 8RANCH FROM 000011 TO 002210 009174 BRANCH FR(1~ 002212 TO 002164 c\O~175 BRANCH FROM 002171 TO 002001 00917b 061825 8RANCH FROM 0020)2 TO 002026 000023 TIMES n09177 BRANCH FRt!M 002030 TO 0020~3 009178 8~ANCH FROM 002056 TO 002060 ")0917Q B~AqCH FJHJ~ 002105 TO 002026 :10?lAO 8RA~JCH FRC~1 OOZ030 TO c)OZ03~ OOQ181 BRANCH FROM 002056 TO 00Z060 0091R2 8RANCt-t FROM 002014 TO 002136 (J091C\3 BRAt'lCH FROM 002145 TO OOZ220 rj~qlR4 8RAf\JCf-4 FR[i~1 002221 TO 002243

1"""-) a 9 1 ~ 5 BRA "J C H F R C ~'1 C'02251 TO OOZZ22 i~)091 d6 J~lM25 1.0A~ lEL AT 002Z34 PRr."ceOURE ~ASE 102000 SIZE 000123 r'Off187 SRANCH FRt.M 002242 TO 107035 005035 n091Qa Of-lB25 8 RAr--IC H FROM 101045 005045 TO 101044 005044 0()0127 TIMES 0091A9 BRANCH rFtO~ 10704 7 005041 TO 102174 000174 ('Q91QO BRANCH FRQ~1 102174 0001'4 TO 107061 005f>61 0091'~ 1 8RA\ICt-f FRt-;~ 107127 005127 TO 107141 O~5141

Page 26: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

APPENDDC c: The "Last Branch" Miniflow

Prngrams being debugged 'of ten terminate because of an erroneous branch

to an unexpected location. An analysis of the error is difficult because the

location of the branch is seldom easily determined. This miniflow system,

labelled "LASTBR", records the locations of the last successful branches of

the rop and the CPU in easily-displayed control memory locations. No trace

tape is produced, no main memory locations are used, and it is functionally

equivalent to Version 4.A.

The locations (plus one) of the last two successful CPU branches

are in CPU control memory location 208 (word address) in the following

format: 3 17 21 35

1~~~ ___ 1

To display it,

1. Enable the CPU maintenance panel and push down the

"ABSOLUTE DISPLAY" switch.

2. Put 208 in the address switches on the main console.

3. Lift all the "Register Select" switches.

4. Push "DISPLAY".

For transfers executed indirectly with XEC, the address recorded is that

following the XEC. Traps are not recorded, because the instruction counter

is saved in the appropriate status word. The TRA or TRSM instruction

which is normally at the trap location is recorded by its address plus two

because it is EXECUTED with the instruction counter pointing to the next

location. (See Appendix C, p. 2 of the CPU Target System Manual.)

The location (plus one) of the last successful rop branch is in rop scratch memory location 138. To display it,

1. Enable the rop maintenance panel.

2. Turn the unlabelled (middle) rotary switch to "SM".

3· Put 138 in the "SCR MEM/GEN REG ADDR" switches.

Page 27: February 1972 MASTER COPYl J.ItOJtOL . · PDF fileFebruary 1972 MASTER COPYl J.ItOJtOL REMOVE. ... Control Card Format Appendix B: Examples ... (on) to produce only the final histogram

Traps are not recorded because the instruction counter is saved in register o. The BRU or LIP instruction which is normally at the trap location (138) is recorded as usual (i.e. by the address 148).

If either processor branches because of a command from the other

(LIOP from the CPU, or CPU/CPUW from the lOP), the last branch address

is set to 7777778• Both displays are dynamic, that is, they are continually updated

as programs are executed.