Browse Prior Art Database

Instruction Trace Format for the Graphics Floating Point Engine Timer Input Data Set

IP.com Disclosure Number: IPCOM000106712D
Original Publication Date: 1993-Dec-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 4 page(s) / 100K

Publishing Venue

IBM

Related People

Baur, MA: AUTHOR [+3]

Abstract

TIMERs are trace driven models; their input is a collection of executed instructions. This means that if in the compiled program there is a loop, the instruction stream accepted by the TIMER has the instructions that are part of the loop, repeated as many times as the loop was executed. This conveys the idea of resolved instruction stream.

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

Instruction Trace Format for the Graphics Floating Point Engine Timer Input Data Set

      TIMERs are trace driven models;  their input is a collection of
executed instructions.  This means that if in the compiled program
there is a loop, the instruction stream accepted by the TIMER has the
instructions that are part of the loop, repeated as many times as the
loop was executed.  This conveys the idea of resolved instruction
stream.

      The resolution of such a compiled program is accomplished by a
software emulator.  This emulator executes the object code, resolves
any data dependencies for loop resolution, and delivers an
instruction stream comprised of executed instructions, including
branches.  This trace also includes those instructions that were
fetched by the  hardware, but not executed because of the final
resolution of a branch.  These instructions are called ghost
instructions:  they are a real part of the processing of the
pipeline, but do not participate in the final computation of the
program.

      Disclosed is an instruction trace format that is precise and
concise, and contains all the information needed by the TIMER to
perform an accurate modelling of the CPU pipeline.

      The solution adopted provides the  TIMER with a reduced format
of required information.  Furthermore, it is flexible to allow future
enhancements needed by future modelling needs.

      The collection of executed instructions, also called
instruction trace, carries every instruction executed by the CPU.  It
has both path resulting form a conditional branch:  sequential path
and target path, or real path and not taken path.  In addition to
this basic information, the instruction trace has to hold information
determining the number of cycles the processing of each of these
instructions would take.  Depending on the data to be handled by some
instructions or the instruction interaction with other stages in the
pipeline, an instruction may take more than one cycle to execute.
This information has to be included in the trace and will allow more
accuracy for the TIMER.

      The data set accepted by the GFPE TIMER is a character data set
holding one executed instruction per line.  Each line is divided in 4
fields separated by a blank character.  Each of these fields carries
the following information:

FIELD 1:

      This field starts at the line leftmost character position and
is 8 characters long.  It contains the instruction address location
in hexadecimal.  If this is a ghost instruction, then this field will
show the hexadecimal value of 'FFFFFFFF'.

FIELD 2:

      This field is 8 characters long and contains the instruction
binary code in hexadecimal.

FIELD 3:

      This optional field is from 1 to 8 characters long, and holds a
diversity of information depending on the instruction...