Intel 210200-002 Baby Furniture User Manual


 
APPENDIX
The next method
of
measuring performance was to
count the number
of
lines
of
code in each program.
These figures (in Table
6)
demonstrate the power
of
the
instruction set
and
the ease with which the programmer
can implement the task using that processor. This has
been defined as
"ease
of
use,"
and
is
becoming increas-
ingly important. Both the cost
of
programmer time and
the amount
of
software in a typical application are
rapidly increasing. This means that a processor which
can accomplish more with fewer lines
of
code can
greatly reduce a product's development time and cost.
Table 7
is
titled "Bytes
of
Code."
It
shows the number
of
bytes
of
object code required
to
encode each pro-
gram. This coding efficiency
is
directly translatable into
system memory requirements, and therefore, into
system cost. Consequently, coding efficiency
is
very im-
portant in cost sensitive applications which have a large
amount
of
software such as a sophisticated operating
system or many user programs.
Tables 2 through 7 contain the results
of
the four cate-
gories
of
performance measurements. The actual times
and numbers are given for each program along with the
Relative
Performance which
is
the Z80 time or number
divided by the
iAPX
88
time
or
number.
For
each Table
the Average Relative
Performance was calculated by
adding the Relative
Performance figures
and
dividing
by the number
of
programs (10). An
"Adjusted
Average" Relative Performance was also calculated.
This average
is
calculated without using the highest and
lowest Relative
Performance figures from
that
table.
This method makes sure that the average is not greatly
affected by one figure which may differ widely from the
others, such as the Computer Graphics Relative Execu-
tion Time in Table 2.
PROGRAM DESCRIPTIONS
The ten benchmark programs were chosen to demon-
strate the capabilities
cif
the iAPX 88/10 and the Z80 in
the areas
of
Data Manipulation, Computation, and
Processor Control. All iAPX
88
code has been as-
sembled and run.
1. Computer Graphics
The Computer Graphics program scales the X and Y
pairs that make up a graphics display. The 16-bit X and
Y pairs are offset by constant values
(XO
and
YO),
then
multiplied by a fractional scale factor
to
obtain the
scaled
XY
pairs. There are 16,384 pairs. This program
demonstrates computational capability.
2. 16-Bit Multiply
The 16-Bit Multiply program reads two l6-bit numbers
from memory, multiplies them and returns the 32-bit
product and the two multiplicands to memory.
It
demonstrates computational capability.
4
3. Vector Add
The 16-Bit Vector Add performs an element-by-element
add
of
two twenty element vectors. Vector add demon-
strates computation and string processing capabilities.
4. Block Move
The Block Move program reads the block length,
source, and destination from memory. The block length
was chosen to be 126 bytes. The data
is
moved from the
source to the destination using repeated moves. Block
Move demonstrates manipulation
of
string data.
5. Block Translate
The Block Translate program translates a memory
block containing EBCDIC characters to ASCII and
stores the ASCII characters in another memory block.
The translation
is
done using an EBCDIC to ASCII
translation table, and the block length
is
125
bytes. This
demonstrates string
data
manipulation and the use
of
a
lookup table.
6. Character Search
The Character Search program searches a table
of
known length for a specific character.
If
that character
is
found, its address
is
returned.
If
it
is
not found, zero
is
returned. This program demonstrates data com-
parison and auto increment addressing.
7. Word Shift
The Word Shift program reads a 16-bit word from
memory, and shifts it N places to the right. (N
is
chosen
to
be five.) Zeros rotate in
on
the left. The result
is
stored in memory. This demonstrates manipulation
of
16-bit data.
8. Reentrant Call
The Reentrant Call program passes three parameters to
the called procedure.
One
is
pushed from a general
register, the other two are pushed from memory. The
procedure
is
called, the state
of
the processor
is
pushed
onto the stack, and local storage
is
set up. The pro-
cedure body adds the three parameters and places the
result in local storage. The procedure
is
then exited and
the state
of
the processor
is
restored.
This program demonstrates the processors call and reen-
trant procedures and its ability
to
pass variables to a
called procedure. Support
of
these features
is
essential
for procedure oriented structured programming.
9. Bubble Sort
The Bubble Sort program sorts a one dimensional array
of
sixteen bit integer elements into numerically ascend-
ing order using the exchange (bubble) sort algorithm.
This program was measured for a ten element array in
which the integers are initially in descending order. Bub-
ble Sort demonstrates indexed addressing and
data
handling.
AFN·01664A